WARNING: Massive revert commit

Revert all the work that happened on the master branch.

Sadly, this is the only way to merge the current development branch back
into master.

It is now abundantly clear that I merged the 1.99 branch far too soon,
and that Clutter 2.0 won't happen any time soon, if at all.

Since having the development happen on a separate branch throws a lot of
people into confusion, let's undo the clutter-1.99 → master merge, and
move back the development of Clutter to the master branch.

In order to do so, we need to do some surgery to the Git repository.

First, we do a massive revert in a single commit of all that happened
since the switch to 1.99 and the API version bump done with the
89a2862b057423c3c1fc666e6fa776ccacf377dd commit. The history is too long
to be reverted commit by commit without being extremely messy.
This commit is contained in:
Emmanuele Bassi 2015-01-03 20:34:20 +00:00
parent c3c89332f6
commit 77ec8774a0
348 changed files with 59887 additions and 34751 deletions

34
.gitignore vendored
View File

@ -41,30 +41,30 @@ depcomp
/doc/cookbook/*.stamp
/doc/cookbook/clutter-cookbook.xml
/doc/cookbook/clutter-cookbook.html
doc/reference/clutter/clutter2-*.txt
!/doc/reference/clutter/clutter2-sections.txt
doc/reference/clutter/clutter-*.txt
!/doc/reference/clutter/clutter-sections.txt
doc/reference/clutter/html
doc/reference/clutter/tmpl
doc/reference/clutter/xml
doc/reference/clutter/clutter2.args
doc/reference/clutter/clutter2.hierarchy
doc/reference/clutter/clutter2.interfaces
doc/reference/clutter/clutter2.prerequisites
doc/reference/clutter/clutter2.signals
doc/reference/clutter/clutter2-docs.xml
doc/reference/clutter/clutter.args
doc/reference/clutter/clutter.hierarchy
doc/reference/clutter/clutter.interfaces
doc/reference/clutter/clutter.prerequisites
doc/reference/clutter/clutter.signals
doc/reference/clutter/clutter-docs.xml
doc/reference/clutter/*.stamp
doc/reference/clutter/*.bak
doc/reference/cally/cally2-*.txt
!/doc/reference/cally/cally2-sections.txt
doc/reference/cally/cally-*.txt
!/doc/reference/cally/cally-sections.txt
doc/reference/cally/html
doc/reference/cally/tmpl
doc/reference/cally/xml
doc/reference/cally/cally2.args
doc/reference/cally/cally2.hierarchy
doc/reference/cally/cally2.interfaces
doc/reference/cally/cally2.prerequisites
doc/reference/cally/cally2.signals
doc/reference/cally/cally2-docs.xml
doc/reference/cally/cally.args
doc/reference/cally/cally.hierarchy
doc/reference/cally/cally.interfaces
doc/reference/cally/cally.prerequisites
doc/reference/cally/cally.signals
doc/reference/cally/cally-docs.xml
doc/reference/cally/*.stamp
doc/reference/cally/*.bak
gtk-doc.make
@ -79,7 +79,7 @@ TAGS
/tests/conform/test-launcher.sh
/tests/interactive/wrapper.sh
/po/POTFILES
/po/clutter-2.0.pot
/po/clutter-1.0.pot
/po/*.gmo
/po/Makefile.in.in
/po/Makevars.template

View File

@ -18,7 +18,7 @@ test $TEST_TYPE $FILE || {
# GNU gettext automake support doesn't get along with git.
# https://bugzilla.gnome.org/show_bug.cgi?id=661128
touch -t 200001010000 po/clutter-2.0.pot
touch -t 200001010000 po/clutter-1.0.pot
GTKDOCIZE=`which gtkdocize`
if test -z $GTKDOCIZE; then

View File

@ -1,9 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="UserMacros">
<VSVer>10</VSVer>
<GlibEtcInstallRoot>$(SolutionDir)\..\..\..\..\vs$(VSVer)\$(Platform)</GlibEtcInstallRoot>
<ApiVersion>1.0</ApiVersion>
<GlibEtcInstallRoot>..\..\..\..\vs10\$(Platform)</GlibEtcInstallRoot>
<GlibMkEnumsPath>..\..\..\vs10\$(Platform)</GlibMkEnumsPath>
<GlibGenMarshalPath>..\..\vs10\$(Platform)</GlibGenMarshalPath>
<ClutterApiVersion>1.0</ClutterApiVersion>
<CopyDir>$(GlibEtcInstallRoot)</CopyDir>
<DefDir>$(SolutionDir)$(Configuration)\$(PlatformName)\obj\$(ProjectName)\</DefDir>
<BaseWinBuildDef>_WIN32_WINNT=0x0500</BaseWinBuildDef>
@ -14,38 +15,50 @@
<ClutterBuildDefines>$(BaseBuildDef);G_LOG_DOMAIN="Clutter";CLUTTER_LOCALEDIR="../share/locale";CLUTTER_SYSCONFDIR="../etc"</ClutterBuildDefines>
<ClutterDisableDeprecationWarnings>CLUTTER_DISABLE_DEPRECATION_WARNINGS;GLIB_DISABLE_DEPRECATION_WARNINGS</ClutterDisableDeprecationWarnings>
<CallyTestDefs>$(BaseWinBuildDef);PREFIXDIR="/some/dummy/dir";$(ClutterDisableDeprecationWarnings)</CallyTestDefs>
<TestProgDef>$(BaseBuildDef);TESTS_DATADIR="../share/clutter-$(ApiVersion)/data"</TestProgDef>
<TestPerfProgDef>$(BaseBuildDef);TESTS_DATA_DIR="../share/clutter-$(ApiVersion)/data";$(ClutterDisableDeprecationWarnings)</TestPerfProgDef>
<DoConfigs>
<TestProgDef>$(BaseBuildDef);TESTS_DATADIR="../share/clutter-$(ClutterApiVersion)/data"</TestProgDef>
<TestPerfProgDef>$(BaseBuildDef);TESTS_DATA_DIR="../share/clutter-$(ClutterApiVersion)/data";$(ClutterDisableDeprecationWarnings)</TestPerfProgDef>
<PreBuildWin>
if exist ..\..\..\clutter\config.h goto DONE_CONFIG_H
copy ..\..\..\clutter\config.h.win32 ..\..\..\clutter\config.h
:DONE_CONFIG_H
if "$(Configuration)" == "Release" goto DO_CLUTTER_CONFIG_WIN32
if "$(Configuration)" == "Debug" goto DO_CLUTTER_CONFIG_WIN32
if exist ..\..\..\clutter\clutter.bld.GDK.win32 goto DONE_CLUTTER_CONFIG_H
if exist clutter.bld.*.win32 del clutter.bld.*.win32
copy ..\..\..\clutter\clutter-config.h.win32_GDK clutter.bld.GDK.win32
copy ..\..\..\clutter\clutter-config.h.win32_GDK ..\..\..\clutter\clutter-config.h
goto DONE_CLUTTER_CONFIG_H
:DO_CLUTTER_CONFIG_WIN32
if exist ..\..\..\clutter\clutter.bld.win32.win32 goto DONE_CLUTTER_CONFIG_H
if exist clutter.bld.*.win32 del clutter.bld.*.win32
del clutter.bld.*.win32
copy ..\..\..\clutter\clutter-config.h.win32 clutter.bld.win32.win32
copy ..\..\..\clutter\clutter-config.h.win32 ..\..\..\clutter\clutter-config.h
:DONE_CLUTTER_CONFIG_H
</DoConfigs>
<GenMarshalSrc>
</PreBuildWin>
<PreBuildGDK>
if exist ..\..\..\clutter\config.h goto DONE_CONFIG_H
copy ..\..\..\clutter\config.h.win32 ..\..\..\clutter\config.h
:DONE_CONFIG_H
if exist ..\..\..\clutter\clutter.bld.GDK.win32 goto DONE_CLUTTER_CONFIG_H
del clutter.bld.*.win32
copy ..\..\..\clutter\clutter-config.h.win32_GDK clutter.bld.GDK.win32
copy ..\..\..\clutter\clutter-config.h.win32_GDK ..\..\..\clutter\clutter-config.h
:DONE_CLUTTER_CONFIG_H
</PreBuildGDK>
<PreBuildCmd2>
if exist ..\..\..\clutter\clutter-marshal.h goto DONE_CLUTTER_MARSHAL_H
cd ..\..\..\clutter
$(GlibEtcInstallRoot)\bin\glib-genmarshal --prefix=_clutter_marshal --header clutter-marshal.list &gt; clutter-marshal.h
$(GlibGenMarshalPath)\bin\glib-genmarshal --prefix=_clutter_marshal --header clutter-marshal.list &gt; clutter-marshal.h
cd ..\build\win32\vs$(VSVer)
cd ..\build\win32\vs10
:DONE_CLUTTER_MARSHAL_H
@ -56,25 +69,26 @@ cd ..\..\..\clutter
echo #include "clutter-marshal.h" &gt; clutter-marshal.c
$(GlibEtcInstallRoot)\bin\glib-genmarshal --prefix=_clutter_marshal --body clutter-marshal.list &gt;&gt; clutter-marshal.c
$(GlibGenMarshalPath)\bin\glib-genmarshal --prefix=_clutter_marshal --body clutter-marshal.list &gt;&gt; clutter-marshal.c
cd ..\build\win32\vs$(VSVer)
cd ..\build\win32\vs10
:DONE_CLUTTER_MARSHAL_C
</GenMarshalSrc>
<GenEnumsSrc>
cd ..
call gen-enums.bat $(GlibEtcInstallRoot)
cd .\vs$(VSVer)
</GenEnumsSrc>
gen-enums.bat $(GlibMkEnumsPath)
cd .\vs10
</PreBuildCmd2>
<ClutterDoInstall>
mkdir $(CopyDir)
mkdir $(CopyDir)\bin
mkdir $(CopyDir)\share\clutter-$(ApiVersion)\data
mkdir $(CopyDir)\share\clutter-$(ClutterApiVersion)\data
copy $(SolutionDir)$(Configuration)\$(Platform)\bin\*.dll $(CopyDir)\bin
@ -83,307 +97,306 @@ copy $(SolutionDir)$(Configuration)\$(Platform)\bin\*.exe $(CopyDir)\bin
copy ..\*.bat $(CopyDir)\bin
copy ..\..\..\tests\data\*.png $(CopyDir)\share\clutter-$(ApiVersion)\data
copy ..\..\..\tests\data\*.png $(CopyDir)\share\clutter-$(ClutterApiVersion)\data
copy ..\..\..\tests\data\clutter-1.0.suppressions $(CopyDir)\share\clutter-$(ApiVersion)\data
copy ..\..\..\tests\data\clutter-1.0.suppressions $(CopyDir)\share\clutter-$(ClutterApiVersion)\data
copy ..\..\..\tests\data\*.json $(CopyDir)\share\clutter-$(ApiVersion)\data
copy ..\..\..\tests\data\*.json $(CopyDir)\share\clutter-$(ClutterApiVersion)\data
mkdir $(CopyDir)\lib
copy $(SolutionDir)$(Configuration)\$(Platform)\bin\*-$(ApiVersion).lib $(CopyDir)\lib
copy $(SolutionDir)$(Configuration)\$(Platform)\bin\*-$(ClutterApiVersion).lib $(CopyDir)\lib
mkdir $(CopyDir)\include\clutter-$(ApiVersion)\clutter\win32
mkdir $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\win32
if exist clutter.bld.win32.win32 goto DO_INSTALL_COMMON_HEADERS
mkdir $(CopyDir)\include\clutter-$(ApiVersion)\clutter\gdk
copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\gdk
copy ..\..\..\clutter\clutter.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-action.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
:DO_INSTALL_COMMON_HEADERS
copy ..\..\..\clutter\clutter-actor-meta.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-actor.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-align-constraint.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-actor-meta.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-alpha.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-actor.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-animatable.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-align-constraint.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-animation.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-animatable.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-animator.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-backend.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-backend.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-bind-constraint.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-bind-constraint.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-binding-pool.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-binding-pool.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-bin-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-bin-layout.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-blur-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-blur-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-box-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-box-layout.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-brightness-contrast-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-brightness-contrast-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-cairo.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-cairo-texture.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-canvas.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-canvas.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-child-meta.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-child-meta.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-click-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-click-action.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-clone.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-clone.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-cogl-compat.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-cogl-compat.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-color-static.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-color-static.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-color.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-color.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-colorize-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-colorize-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-config.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-config.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-constraint.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-constraint.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-content.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-content.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-container.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-container.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-deform-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-deform-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-deprecated.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-deprecated.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-desaturate-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-desaturate-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-device-manager.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-device-manager.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-drag-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-drag-action.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-drop-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-drop-action.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-enums.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-enums.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-enum-types.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-enum-types.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-event.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-event.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-feature.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-feature.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-fixed-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-fixed-layout.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-flow-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-flow-layout.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-gesture-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-gesture-action.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-grid-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-group.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-group.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-image.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-image.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-input-device.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-input-device.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-interval.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-interval.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-keysyms.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-keyframe-transition.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-layout-manager.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-keysyms.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-layout-meta.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-layout-manager.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-list-model.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-layout-meta.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-macros.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-list-model.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-main.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-macros.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-marshal.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-main.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-media.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-marshal.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-model.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-model.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-offscreen-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-offscreen-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-page-turn-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-page-turn-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-paint-node.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-paint-node.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-paint-nodes.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-paint-nodes.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-path-constraint.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-pan-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-path.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-path-constraint.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-property-transition.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-path.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-script.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-property-transition.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-scriptable.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-rotate-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-settings.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-script.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-shader-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-scriptable.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-shader-types.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-scroll-actor.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-snap-constraint.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-settings.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-stage.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-shader-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-stage-manager.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-shader-types.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-stage-window.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-snap-constraint.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-state.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-stage.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-swipe-action.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-stage-manager.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-table-layout.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-stage-window.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-texture.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-swipe-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-text.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-table-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-text-buffer.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-tap-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-timeline.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-texture.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-transition.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-text.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-types.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-text-buffer.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-units.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-timeline.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-version.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\clutter-transition.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\win32\clutter-win32.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\win32
copy ..\..\..\clutter\clutter-transition-group.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\clutter-types.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
mkdir $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\clutter-units.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\deprecated\clutter-actor.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\clutter-version.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\deprecated\clutter-animatable.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\clutter-zoom-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
copy ..\..\..\clutter\deprecated\clutter-animation.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\win32\clutter-win32.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\win32
copy ..\..\..\clutter\deprecated\clutter-backend.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-behaviour.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
mkdir $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-behaviour-depth.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-actor.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-behaviour-ellipse.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-alpha.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-behaviour-opacity.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-animatable.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-behaviour-path.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-animation.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-behaviour-rotate.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-animator.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-behaviour-scale.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-backend.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-box.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-behaviour.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-cairo-texture.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-behaviour-depth.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-container.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-behaviour-ellipse.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-fixed.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-behaviour-opacity.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-frame-source.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-behaviour-path.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-group.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-behaviour-rotate.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-keysyms.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-behaviour-scale.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-main.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-bin-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-rectangle.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-box.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-score.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-cairo-texture.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-shader.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-container.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-stage.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-fixed.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-stage-manager.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-frame-source.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-texture.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-group.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-timeline.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-input-device.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-timeout-pool.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-keysyms.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-util.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-main.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\deprecated\clutter-media.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
mkdir $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
copy ..\..\..\clutter\deprecated\clutter-rectangle.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\cally\cally-actor.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
copy ..\..\..\clutter\deprecated\clutter-score.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\cally\cally-clone.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
copy ..\..\..\clutter\deprecated\clutter-shader.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\cally\cally-factory.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
copy ..\..\..\clutter\deprecated\clutter-stage.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\cally\cally-group.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
copy ..\..\..\clutter\deprecated\clutter-stage-manager.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\cally\cally.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
copy ..\..\..\clutter\deprecated\clutter-state.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\cally\cally-main.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
copy ..\..\..\clutter\deprecated\clutter-texture.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\cally\cally-rectangle.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
copy ..\..\..\clutter\deprecated\clutter-timeline.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\cally\cally-root.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
copy ..\..\..\clutter\deprecated\clutter-timeout-pool.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\cally\cally-stage.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
copy ..\..\..\clutter\deprecated\clutter-util.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
copy ..\..\..\clutter\cally\cally-text.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
copy ..\..\..\clutter\cally\cally-texture.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
mkdir $(CopyDir)\include\clutter-$(ApiVersion)\cally
copy ..\..\..\clutter\cally\cally-actor.h $(CopyDir)\include\clutter-$(ApiVersion)\cally
copy ..\..\..\clutter\cally\cally-clone.h $(CopyDir)\include\clutter-$(ApiVersion)\cally
copy ..\..\..\clutter\cally\cally-factory.h $(CopyDir)\include\clutter-$(ApiVersion)\cally
copy ..\..\..\clutter\cally\cally-group.h $(CopyDir)\include\clutter-$(ApiVersion)\cally
copy ..\..\..\clutter\cally\cally.h $(CopyDir)\include\clutter-$(ApiVersion)\cally
copy ..\..\..\clutter\cally\cally-main.h $(CopyDir)\include\clutter-$(ApiVersion)\cally
copy ..\..\..\clutter\cally\cally-rectangle.h $(CopyDir)\include\clutter-$(ApiVersion)\cally
copy ..\..\..\clutter\cally\cally-root.h $(CopyDir)\include\clutter-$(ApiVersion)\cally
copy ..\..\..\clutter\cally\cally-stage.h $(CopyDir)\include\clutter-$(ApiVersion)\cally
copy ..\..\..\clutter\cally\cally-text.h $(CopyDir)\include\clutter-$(ApiVersion)\cally
copy ..\..\..\clutter\cally\cally-texture.h $(CopyDir)\include\clutter-$(ApiVersion)\cally
copy ..\..\..\clutter\cally\cally-util.h $(CopyDir)\include\clutter-$(ApiVersion)\cally
copy ..\..\..\clutter\cally\cally-util.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
</ClutterDoInstall>
<ClutterDoInstallGDK>
mkdir $(CopyDir)\include\clutter-$(ApiVersion)\clutter\gdk
mkdir $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\gdk
copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\gdk
copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\gdk
</ClutterDoInstallGDK>
<ClutterDoInstallReleaseBin>
mkdir $(CopyDir)\bin
copy $(SolutionDir)Release\$(Platform)\bin\*.dll $(CopyDir)\bin
copy $(SolutionDir)Release\$(Platform)\bin\*.exe $(CopyDir)\bin
mkdir $(CopyDir)\lib
copy $(SolutionDir)Release\$(Platform)\bin\*-$(ClutterApiVersion).lib $(CopyDir)\lib
</ClutterDoInstallReleaseBin>
<ClutterDoInstallDebugBin>
mkdir $(CopyDir)\bin
copy $(SolutionDir)Debug\$(Platform)\bin\*.dll $(CopyDir)\bin
copy $(SolutionDir)Debug\$(Platform)\bin\*.exe $(CopyDir)\bin
mkdir $(CopyDir)\lib
copy $(SolutionDir)Debug\$(Platform)\bin\*-$(ClutterApiVersion).lib $(CopyDir)\lib
</ClutterDoInstallDebugBin>
<GenerateClutterDef>
echo EXPORTS &gt; $(DefDir)\clutter.def
@ -397,11 +410,11 @@ copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)
</GenerateClutterGDKDef>
<ClutterLibtoolCompatibleDllPrefix>lib</ClutterLibtoolCompatibleDllPrefix>
<ClutterLibtoolCompatibleDllSuffix>-$(ApiVersion)-0</ClutterLibtoolCompatibleDllSuffix>
<ClutterSeparateVSDllPrefix />
<ClutterSeparateVSDllSuffix>-1-vs$(VSVer)</ClutterSeparateVSDllSuffix>
<ClutterDllPrefix>$(ClutterSeparateVSDllPrefix)</ClutterDllPrefix>
<ClutterDllSuffix>$(ClutterSeparateVSDllSuffix)</ClutterDllSuffix>
<ClutterLibtoolCompatibleDllSuffix>-$(ClutterApiVersion)-0</ClutterLibtoolCompatibleDllSuffix>
<ClutterSeparateVS10DllPrefix />
<ClutterSeparateVS10DllSuffix>-1-vs10</ClutterSeparateVS10DllSuffix>
<ClutterDllPrefix>$(ClutterSeparateVS10DllPrefix)</ClutterDllPrefix>
<ClutterDllSuffix>$(ClutterSeparateVS10DllSuffix)</ClutterDllSuffix>
</PropertyGroup>
<PropertyGroup>
<_PropertySheetDisplayName>clutterprops</_PropertySheetDisplayName>
@ -421,9 +434,6 @@ copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<BuildMacro Include="VSVer">
<Value>$(VSVer)</Value>
</BuildMacro>
<BuildMacro Include="GlibEtcInstallRoot">
<Value>$(GlibEtcInstallRoot)</Value>
</BuildMacro>
@ -433,8 +443,14 @@ copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)
<BuildMacro Include="DefDir">
<Value>$(DefDir)</Value>
</BuildMacro>
<BuildMacro Include="ApiVersion">
<Value>$(ApiVersion)</Value>
<BuildMacro Include="GlibMkEnumsPath">
<Value>$(GlibMkEnumsPath)</Value>
</BuildMacro>
<BuildMacro Include="GlibGenMarshalPath">
<Value>$(GlibGenMarshalPath)</Value>
</BuildMacro>
<BuildMacro Include="ClutterApiVersion">
<Value>$(ClutterApiVersion)</Value>
</BuildMacro>
<BuildMacro Include="BaseWinBuildDef">
<Value>$(BaseWinBuildDef)</Value>
@ -466,14 +482,14 @@ copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)
<BuildMacro Include="TestPerfProgDef">
<Value>$(TestPerfProgDef)</Value>
</BuildMacro>
<BuildMacro Include="DoConfigs">
<Value>$(DoConfigs)</Value>
<BuildMacro Include="PreBuildGDK">
<Value>$(PreBuildGDK)</Value>
</BuildMacro>
<BuildMacro Include="GenMarshalSrc">
<Value>$(GenMarshalSrc)</Value>
<BuildMacro Include="PreBuildWin">
<Value>$(PreBuildWin)</Value>
</BuildMacro>
<BuildMacro Include="GenEnumsSrc">
<Value>$(GenEnumsSrc)</Value>
<BuildMacro Include="PreBuildCmd2">
<Value>$(PreBuildCmd2)</Value>
</BuildMacro>
<BuildMacro Include="ClutterDoInstall">
<Value>$(ClutterDoInstall)</Value>
@ -499,11 +515,11 @@ copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)
<BuildMacro Include="ClutterLibtoolCompatibleDllSuffix">
<Value>$(ClutterLibtoolCompatibleDllSuffix)</Value>
</BuildMacro>
<BuildMacro Include="ClutterSeparateVSDllPrefix">
<Value>$(ClutterSeparateVSDllPrefix)</Value>
<BuildMacro Include="ClutterSeparateVS10DllPrefix">
<Value>$(ClutterSeparateVS10DllPrefix)</Value>
</BuildMacro>
<BuildMacro Include="ClutterSeparateVSDllSuffix">
<Value>$(ClutterSeparateVSDllSuffix)</Value>
<BuildMacro Include="ClutterSeparateVS10DllSuffix">
<Value>$(ClutterSeparateVS10DllSuffix)</Value>
</BuildMacro>
<BuildMacro Include="ClutterDllPrefix">
<Value>$(ClutterDllPrefix)</Value>

View File

@ -375,18 +375,18 @@ Global
{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Release|Win32.Build.0 = Release|Win32
{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Release|x64.ActiveCfg = Release|x64
{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Release|x64.Build.0 = Release|x64
{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|Win32.Build.0 = Debug|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|x64.ActiveCfg = Debug|x64
{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|x64.Build.0 = Debug|x64
{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|Win32.ActiveCfg = Debug_GDK|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|Win32.Build.0 = Debug_GDK|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|x64.ActiveCfg = Debug_GDK|x64
{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|x64.Build.0 = Debug_GDK|x64
{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug|Win32.ActiveCfg = Debug|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug|Win32.Build.0 = Debug|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug|x64.ActiveCfg = Debug|x64
{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug|x64.Build.0 = Debug|x64
{35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|Win32.ActiveCfg = Release|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|Win32.Build.0 = Release|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|x64.ActiveCfg = Release|x64
{35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|x64.Build.0 = Release|x64
{35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|Win32.ActiveCfg = Release_GDK|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|Win32.Build.0 = Release_GDK|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|x64.ActiveCfg = Release_GDK|x64
{35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|x64.Build.0 = Release_GDK|x64
{35B2A4AC-7235-4FC7-995D-469D59195041}.Release|Win32.ActiveCfg = Release|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Release|Win32.Build.0 = Release|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Release|x64.ActiveCfg = Release|x64

View File

@ -23,11 +23,6 @@
<ClCompile Include="..\..\..\clutter\gdk\clutter-stage-gdk.c"><Filter>Sources</Filter></ClCompile>
<ClCompile Include="..\..\..\clutter\cogl\clutter-stage-cogl.c"><Filter>Sources</Filter></ClCompile>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="..\..\..\clutter\clutter-marshal.list"><Filter>Resource Files</Filter></CustomBuild>
<CustomBuild Include="..\..\..\clutter\clutter-enum-types.h.in"><Filter>Resource Files</Filter></CustomBuild>
<CustomBuild Include="..\..\..\clutter\clutter.symbols"><Filter>Resource Files</Filter></CustomBuild>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\clutter\win32\resources.rc">
<Filter>Resource Files</Filter>

View File

@ -126,7 +126,7 @@
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<PreBuildEvent>
<Command>$(DoConfigs)</Command>
<Command>$(PreBuildWin)$(PreBuildCmd2)</Command>
</PreBuildEvent>
<ClCompile>
<Optimization>Disabled</Optimization>
@ -140,11 +140,14 @@
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<PreLinkEvent>
<Command>$(GenerateClutterDef)</Command>
</PreLinkEvent>
<Link>
<AdditionalDependencies>opengl32.lib;winmm.lib;intl.lib;json-glib-1.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo-gobject.lib;cairo.lib;atk-1.0.lib;gmodule-2.0.lib;gio-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
@ -152,7 +155,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">
<PreBuildEvent>
<Command>$(DoConfigs)</Command>
<Command>$(PreBuildGDK)$(PreBuildCmd2)</Command>
</PreBuildEvent>
<ClCompile>
<Optimization>Disabled</Optimization>
@ -166,11 +169,14 @@
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<PreLinkEvent>
<Command>$(GenerateClutterGDKDef)</Command>
</PreLinkEvent>
<Link>
<AdditionalDependencies>opengl32.lib;winmm.lib;intl.lib;json-glib-1.0.lib;gdk-3.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo-gobject.lib;cairo.lib;atk-1.0.lib;gmodule-2.0.lib;gio-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
@ -178,7 +184,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<PreBuildEvent>
<Command>$(DoConfigs)</Command>
<Command>$(PreBuildWin)$(PreBuildCmd2)</Command>
</PreBuildEvent>
<ClCompile>
<Optimization>Disabled</Optimization>
@ -192,11 +198,14 @@
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<PreLinkEvent>
<Command>$(GenerateClutterDef)</Command>
</PreLinkEvent>
<Link>
<AdditionalDependencies>opengl32.lib;winmm.lib;intl.lib;json-glib-1.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo-gobject.lib;cairo.lib;atk-1.0.lib;gmodule-2.0.lib;gio-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
@ -204,7 +213,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">
<PreBuildEvent>
<Command>$(DoConfigs)</Command>
<Command>$(PreBuildGDK)$(PreBuildCmd2)</Command>
</PreBuildEvent>
<ClCompile>
<Optimization>Disabled</Optimization>
@ -218,11 +227,14 @@
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<PreLinkEvent>
<Command>$(GenerateClutterGDKDef)</Command>
</PreLinkEvent>
<Link>
<AdditionalDependencies>opengl32.lib;winmm.lib;intl.lib;json-glib-1.0.lib;gdk-3.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo-gobject.lib;cairo.lib;atk-1.0.lib;gmodule-2.0.lib;gio-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
@ -230,7 +242,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<PreBuildEvent>
<Command>$(DoConfigs)</Command>
<Command>$(PreBuildWin)$(PreBuildCmd2)</Command>
</PreBuildEvent>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
@ -244,11 +256,14 @@
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<PreLinkEvent>
<Command>$(GenerateClutterDef)</Command>
</PreLinkEvent>
<Link>
<AdditionalDependencies>opengl32.lib;winmm.lib;intl.lib;json-glib-1.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo-gobject.lib;cairo.lib;atk-1.0.lib;gmodule-2.0.lib;gio-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
@ -258,7 +273,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">
<PreBuildEvent>
<Command>$(DoConfigs)</Command>
<Command>$(PreBuildGDK)$(PreBuildCmd2)</Command>
</PreBuildEvent>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
@ -272,11 +287,14 @@
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<PreLinkEvent>
<Command>$(GenerateClutterGDKDef)</Command>
</PreLinkEvent>
<Link>
<AdditionalDependencies>opengl32.lib;winmm.lib;intl.lib;json-glib-1.0.lib;gdk-3.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo-gobject.lib;cairo.lib;atk-1.0.lib;gmodule-2.0.lib;gio-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
@ -286,7 +304,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<PreBuildEvent>
<Command>$(DoConfigs)</Command>
<Command>$(PreBuildWin)$(PreBuildCmd2)</Command>
</PreBuildEvent>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\clutter;..\..\..\clutter\win32;..\..\..\clutter\deprecated;..\..\..\clutter\cally;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@ -297,11 +315,14 @@
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<PreLinkEvent>
<Command>$(GenerateClutterDef)</Command>
</PreLinkEvent>
<Link>
<AdditionalDependencies>opengl32.lib;winmm.lib;intl.lib;json-glib-1.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo-gobject.lib;cairo.lib;atk-1.0.lib;gmodule-2.0.lib;gio-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
@ -311,7 +332,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">
<PreBuildEvent>
<Command>$(DoConfigs)</Command>
<Command>$(PreBuildGDK)$(PreBuildCmd2)</Command>
</PreBuildEvent>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\clutter;..\..\..\clutter\win32;..\..\..\clutter\deprecated;..\..\..\clutter\cally;$(GlibEtcInstallRoot)\include\gtk-3.0;$(GlibEtcInstallRoot)\include\gdk-pixbuf-2.0;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@ -322,11 +343,14 @@
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<PreLinkEvent>
<Command>$(GenerateClutterGDKDef)</Command>
</PreLinkEvent>
<Link>
<AdditionalDependencies>opengl32.lib;winmm.lib;intl.lib;json-glib-1.0.lib;gdk-3.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo-gobject.lib;cairo.lib;atk-1.0.lib;gmodule-2.0.lib;gio-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
@ -373,86 +397,6 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="..\..\..\clutter\clutter-marshal.list">
<Message Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">Generating Marshalling Sources...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">$(GenMarshalSrc)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating Marshalling Sources...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GenMarshalSrc)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">Generating Marshalling Sources...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">$(GenMarshalSrc)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generating Marshalling Sources...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GenMarshalSrc)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">Generating Marshalling Sources...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">$(GenMarshalSrc)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generating Marshalling Sources...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GenMarshalSrc)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">Generating Marshalling Sources...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">$(GenMarshalSrc)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating Marshalling Sources...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GenMarshalSrc)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\..\clutter\clutter-enum-types.h.in">
<Message Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">Generating Enumeration Sources...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">$(GenEnumsSrc)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating Enumeration Sources...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GenEnumsSrc)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">Generating Enumeration Sources...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">$(GenEnumsSrc)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generating Enumeration Sources...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GenEnumsSrc)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">Generating Enumeration Sources...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">$(GenEnumsSrc)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generating Enumeration Sources...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GenEnumsSrc)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">Generating Enumeration Sources...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">$(GenEnumsSrc)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating Enumeration Sources...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GenEnumsSrc)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\..\clutter\clutter.symbols">
<Message Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">Generating clutter.def...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">$(GenerateClutterGDKDef)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">$(IntDir)clutter.def;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating clutter.def...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GenerateClutterDef)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)clutter.def;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">Generating clutter.def...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">$(GenerateClutterGDKDef)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">$(IntDir)clutter.def;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generating clutter.def...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GenerateClutterDef)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)clutter.def;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">Generating clutter.def...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">$(GenerateClutterGDKDef)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">$(IntDir)clutter.def;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generating clutter.def...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GenerateClutterDef)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)clutter.def;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">Generating clutter.def...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">$(GenerateClutterGDKDef)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">$(IntDir)clutter.def;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating clutter.def...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GenerateClutterDef)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)clutter.def;%(Outputs)</Outputs>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\clutter\win32\resources.rc" />
</ItemGroup>

View File

@ -5,18 +5,34 @@
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug_GDK|Win32">
<Configuration>Debug_GDK</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug_GDK|x64">
<Configuration>Debug_GDK</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release_GDK|Win32">
<Configuration>Release_GDK</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release_GDK|x64">
<Configuration>Release_GDK</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{35B2A4AC-7235-4FC7-995D-469D59195041}</ProjectGuid>
@ -28,19 +44,37 @@
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
@ -48,45 +82,87 @@
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="clutter.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="clutter.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="clutter.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="clutter.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="clutter.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="clutter.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="clutter.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="clutter.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GlibEtcInstallRoot)\</OutDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">$(GlibEtcInstallRoot)\</OutDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GlibEtcInstallRoot)\</OutDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">$(GlibEtcInstallRoot)\</OutDir>
<ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
<ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'" />
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GlibEtcInstallRoot)\</OutDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">$(GlibEtcInstallRoot)\</OutDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GlibEtcInstallRoot)\</OutDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">$(GlibEtcInstallRoot)\</OutDir>
<ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
<ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'" />
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<PostBuildEvent>
<Command>$(ClutterDoInstall)</Command>
<Command>$(ClutterDoInstallDebugBin) $(ClutterDoInstall)</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">
<PostBuildEvent>
<Command>$(ClutterDoInstallDebugBin) $(ClutterDoInstall) $(ClutterDoInstallGDK)</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<PreBuildEvent>
<Command>$(ClutterDoInstall)</Command>
<Command>$(ClutterDoInstallDebugBin) $(ClutterDoInstall)</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">
<PreBuildEvent>
<Command>$(ClutterDoInstallDebugBin) $(ClutterDoInstall) $(ClutterDoInstallGDK)</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<PostBuildEvent>
<Command>$(ClutterDoInstall)</Command>
<Command>$(ClutterDoInstallReleaseBin) $(ClutterDoInstall)</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">
<PostBuildEvent>
<Command>$(ClutterDoInstallReleaseBin) $(ClutterDoInstall) $(ClutterDoInstallGDK)</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<PreBuildEvent>
<Command>$(ClutterDoInstall)</Command>
<Command>$(ClutterDoInstallReleaseBin) $(ClutterDoInstall)</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">
<PreBuildEvent>
<Command>$(ClutterDoInstallReleaseBin) $(ClutterDoInstall) $(ClutterDoInstallGDK)</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>

View File

@ -462,14 +462,14 @@ Global
{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug|x64.Build.0 = Debug|x64
{35B2A4AC-7235-4FC7-995D-469D59195041}.Release|x64.ActiveCfg = Release|x64
{35B2A4AC-7235-4FC7-995D-469D59195041}.Release|x64.Build.0 = Release|x64
{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|Win32.Build.0 = Debug|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|Win32.ActiveCfg = Release|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|Win32.Build.0 = Release|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|x64.ActiveCfg = Debug|x64
{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|x64.Build.0 = Debug|x64
{35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|x64.ActiveCfg = Release|x64
{35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|x64.Build.0 = Release|x64
{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|Win32.ActiveCfg = Debug_GDK|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|Win32.Build.0 = Debug_GDK|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|Win32.ActiveCfg = Release_GDK|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|Win32.Build.0 = Release_GDK|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|x64.ActiveCfg = Debug_GDK|x64
{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|x64.Build.0 = Debug_GDK|x64
{35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|x64.ActiveCfg = Release_GDK|x64
{35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|x64.Build.0 = Release_GDK|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@ -27,7 +27,7 @@
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="$(DoConfigs)"
CommandLine="$(PreBuildWin)$(PreBuildCmd2)"
/>
<Tool
Name="VCCLCompilerTool"
@ -51,7 +51,7 @@
OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\clutter.def"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
GenerateDebugInformation="true"
SubSystem="2"
TargetMachine="1"
@ -66,7 +66,7 @@
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="$(DoConfigs)"
CommandLine="$(PreBuildGDK)$(PreBuildCmd2)"
/>
<Tool
Name="VCCLCompilerTool"
@ -90,7 +90,7 @@
OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\clutter.def"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
GenerateDebugInformation="true"
SubSystem="2"
TargetMachine="1"
@ -104,7 +104,7 @@
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="$(DoConfigs)"
CommandLine="$(PreBuildWin)$(PreBuildCmd2)"
/>
<Tool
Name="VCCLCompilerTool"
@ -128,7 +128,7 @@
OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\clutter.def"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
GenerateDebugInformation="true"
SubSystem="2"
TargetMachine="17"
@ -143,7 +143,7 @@
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="$(DoConfigs)"
CommandLine="$(PreBuildGDK)$(PreBuildCmd2)"
/>
<Tool
Name="VCCLCompilerTool"
@ -167,7 +167,7 @@
OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\clutter.def"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
GenerateDebugInformation="true"
SubSystem="2"
TargetMachine="17"
@ -182,7 +182,7 @@
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="$(DoConfigs)"
CommandLine="$(PreBuildWin)$(PreBuildCmd2)"
/>
<Tool
Name="VCCLCompilerTool"
@ -206,7 +206,7 @@
OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
LinkIncremental="1"
ModuleDefinitionFile="$(IntDir)\clutter.def"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
@ -224,7 +224,7 @@
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="$(DoConfigs)"
CommandLine="$(PreBuildGDK)$(PreBuildCmd2)"
/>
<Tool
Name="VCCLCompilerTool"
@ -248,7 +248,7 @@
OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
LinkIncremental="1"
ModuleDefinitionFile="$(IntDir)\clutter.def"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
@ -264,7 +264,7 @@
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="$(DoConfigs)"
CommandLine="$(PreBuildWin)$(PreBuildCmd2)"
/>
<Tool
Name="VCCLCompilerTool"
@ -285,7 +285,7 @@
OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\clutter.def"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
@ -302,7 +302,7 @@
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="$(DoConfigs)"
CommandLine="$(PreBuildGDK)$(PreBuildCmd2)"
/>
<Tool
Name="VCCLCompilerTool"
@ -323,7 +323,7 @@
OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\clutter.def"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
@ -386,204 +386,6 @@
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
<File RelativePath="..\..\..\clutter\clutter-enum-types.h.in">
<FileConfiguration Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating Enumeration Sources..."
CommandLine="$(GenEnumsSrc)"
Outputs="..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c"
/>
</FileConfiguration>
<FileConfiguration Name="Debug_GDK|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating Enumeration Sources..."
CommandLine="$(GenEnumsSrc)"
Outputs="..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c"
/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating Enumeration Sources..."
CommandLine="$(GenEnumsSrc)"
Outputs="..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c"
/>
</FileConfiguration>
<FileConfiguration Name="Release_GDK|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating Enumeration Sources..."
CommandLine="$(GenEnumsSrc)"
Outputs="..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c"
/>
</FileConfiguration>
<FileConfiguration Name="Debug|x64">
<Tool
Name="VCCustomBuildTool"
Description="Generating Enumeration Sources..."
CommandLine="$(GenEnumsSrc)"
Outputs="..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c"
/>
</FileConfiguration>
<FileConfiguration Name="Debug_GDK|x64">
<Tool
Name="VCCustomBuildTool"
Description="Generating Enumeration Sources..."
CommandLine="$(GenEnumsSrc)"
Outputs="..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c"
/>
</FileConfiguration>
<FileConfiguration Name="Release|x64">
<Tool
Name="VCCustomBuildTool"
Description="Generating Enumeration Sources..."
CommandLine="$(GenEnumsSrc)"
Outputs="..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c"
/>
</FileConfiguration>
<FileConfiguration Name="Release_GDK|x64">
<Tool
Name="VCCustomBuildTool"
Description="Generating Enumeration Sources..."
CommandLine="$(GenEnumsSrc)"
Outputs="..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c"
/>
</FileConfiguration>
</File>
<File RelativePath="..\..\..\clutter\clutter-marshal.list">
<FileConfiguration Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating Marshalling Sources..."
CommandLine="$(GenMarshalSrc)"
Outputs="..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c"
/>
</FileConfiguration>
<FileConfiguration Name="Debug_GDK|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating Marshalling Sources..."
CommandLine="$(GenMarshalSrc)"
Outputs="..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c"
/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating Marshalling Sources..."
CommandLine="$(GenMarshalSrc)"
Outputs="..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c"
/>
</FileConfiguration>
<FileConfiguration Name="Release_GDK|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating Marshalling Sources..."
CommandLine="$(GenMarshalSrc)"
Outputs="..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c"
/>
</FileConfiguration>
<FileConfiguration Name="Debug|x64">
<Tool
Name="VCCustomBuildTool"
Description="Generating Marshalling Sources..."
CommandLine="$(GenMarshalSrc)"
Outputs="..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c"
/>
</FileConfiguration>
<FileConfiguration Name="Debug_GDK|x64">
<Tool
Name="VCCustomBuildTool"
Description="Generating Marshalling Sources..."
CommandLine="$(GenMarshalSrc)"
Outputs="..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c"
/>
</FileConfiguration>
<FileConfiguration Name="Release|x64">
<Tool
Name="VCCustomBuildTool"
Description="Generating Marshalling Sources..."
CommandLine="$(GenMarshalSrc)"
Outputs="..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c"
/>
</FileConfiguration>
<FileConfiguration Name="Release_GDK|x64">
<Tool
Name="VCCustomBuildTool"
Description="Generating Marshalling Sources..."
CommandLine="$(GenMarshalSrc)"
Outputs="..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c"
/>
</FileConfiguration>
</File>
<File RelativePath="..\..\..\clutter\clutter.symbols">
<FileConfiguration Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating clutter.def..."
CommandLine="$(GenerateClutterDef)"
Outputs="$(IntDir)\clutter.def"
/>
</FileConfiguration>
<FileConfiguration Name="Debug_GDK|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating clutter.def..."
CommandLine="$(GenerateClutterGDKDef)"
Outputs="$(IntDir)\clutter.def"
/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating clutter.def..."
CommandLine="$(GenerateClutterDef)"
Outputs="$(IntDir)\clutter.def"
/>
</FileConfiguration>
<FileConfiguration Name="Release_GDK|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating clutter.def..."
CommandLine="$(GenerateClutterGDKDef)"
Outputs="$(IntDir)\clutter.def"
/>
</FileConfiguration>
<FileConfiguration Name="Debug|x64">
<Tool
Name="VCCustomBuildTool"
Description="Generating clutter.def..."
CommandLine="$(GenerateClutterDef)"
Outputs="$(IntDir)\clutter.def"
/>
</FileConfiguration>
<FileConfiguration Name="Debug_GDK|x64">
<Tool
Name="VCCustomBuildTool"
Description="Generating clutter.def..."
CommandLine="$(GenerateClutterGDKDef)"
Outputs="$(IntDir)\clutter.def"
/>
</FileConfiguration>
<FileConfiguration Name="Release|x64">
<Tool
Name="VCCustomBuildTool"
Description="Generating clutter.def..."
CommandLine="$(GenerateClutterDef)"
Outputs="$(IntDir)\clutter.def"
/>
</FileConfiguration>
<FileConfiguration Name="Release_GDK|x64">
<Tool
Name="VCCustomBuildTool"
Description="Generating clutter.def..."
CommandLine="$(GenerateClutterGDKDef)"
Outputs="$(IntDir)\clutter.def"
/>
</FileConfiguration>
</File>
<File RelativePath="..\..\..\clutter\win32\resources.rc" />
</Filter>
</Files>

View File

@ -17,13 +17,9 @@
AdditionalDependencies="cogl-pango-1.0.lib cogl-1.0.lib glib-2.0.lib gobject-2.0.lib"
AdditionalLibraryDirectories="$(GlibEtcInstallRoot)\lib"
/>
<UserMacro
Name="VSVer"
Value="9"
/>
<UserMacro
Name="GlibEtcInstallRoot"
Value="$(SolutionDir)\..\..\..\..\vs$(VSVer)\$(PlatformName)"
Value="..\..\..\..\vs9\$(PlatformName)"
/>
<UserMacro
Name="CopyDir"
@ -34,7 +30,15 @@
Value="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\$(ProjectName)"
/>
<UserMacro
Name="ApiVersion"
Name="GlibMkEnumsPath"
Value="..\..\..\vs9\$(PlatformName)"
/>
<UserMacro
Name="GlibGenMarshalPath"
Value="..\..\vs9\$(PlatformName)"
/>
<UserMacro
Name="ClutterApiVersion"
Value="1.0"
/>
<UserMacro
@ -71,60 +75,57 @@
/>
<UserMacro
Name="TestProgDef"
Value="$(BaseBuildDef);TESTS_DATADIR=\&quot;../share/clutter-$(ApiVersion)/data\&quot;"
Value="$(BaseBuildDef);TESTS_DATADIR=\&quot;../share/clutter-$(ClutterApiVersion)/data\&quot;"
/>
<UserMacro
Name="TestPerfProgDef"
Value="$(BaseBuildDef);TESTS_DATA_DIR=\&quot;../share/clutter-$(ApiVersion)/data\&quot;;$(ClutterDisableDeprecationWarnings)"
Value="$(BaseBuildDef);TESTS_DATA_DIR=\&quot;../share/clutter-$(ClutterApiVersion)/data\&quot;;$(ClutterDisableDeprecationWarnings)"
/>
<UserMacro
Name="DoConfigs"
Name="PreBuildWin"
Value="
if exist ..\..\..\clutter\config.h goto DONE_CONFIG_H&#x0D;&#x0A;
copy ..\..\..\clutter\config.h.win32 ..\..\..\clutter\config.h&#x0D;&#x0A;
:DONE_CONFIG_H&#x0D;&#x0A;
if &quot;$(ConfigurationName)&quot; == &quot;Release&quot; goto DO_CLUTTER_CONFIG_WIN32&#x0D;&#x0A;
if &quot;$(ConfigurationName)&quot; == &quot;Debug&quot; goto DO_CLUTTER_CONFIG_WIN32&#x0D;&#x0A;
if exist ..\..\..\clutter\clutter.bld.GDK.win32 goto DONE_CLUTTER_CONFIG_H&#x0D;&#x0A;
if exist clutter.bld.*.win32 del clutter.bld.*.win32&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-config.h.win32_GDK clutter.bld.GDK.win32&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-config.h.win32_GDK ..\..\..\clutter\clutter-config.h&#x0D;&#x0A;
goto DONE_CLUTTER_CONFIG_H&#x0D;&#x0A;
:DO_CLUTTER_CONFIG_WIN32&#x0D;&#x0A;
if exist ..\..\..\clutter\clutter.bld.win32.win32 goto DONE_CLUTTER_CONFIG_H&#x0D;&#x0A;
if exist clutter.bld.*.win32 del clutter.bld.*.win32&#x0D;&#x0A;
del clutter.bld.*.win32&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-config.h.win32 clutter.bld.win32.win32&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-config.h.win32 ..\..\..\clutter\clutter-config.h&#x0D;&#x0A;
:DONE_CLUTTER_CONFIG_H&#x0D;&#x0A;
"
/>
<UserMacro
Name="GenMarshalSrc"
Name="PreBuildGDK"
Value="
if exist ..\..\..\clutter\config.h goto DONE_CONFIG_H&#x0D;&#x0A;
copy ..\..\..\clutter\config.h.win32 ..\..\..\clutter\config.h&#x0D;&#x0A;
:DONE_CONFIG_H&#x0D;&#x0A;
if exist ..\..\..\clutter\clutter.bld.GDK.win32 goto DONE_CLUTTER_CONFIG_H&#x0D;&#x0A;
del clutter.bld.*.win32&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-config.h.win32_GDK clutter.bld.GDK.win32&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-config.h.win32_GDK ..\..\..\clutter\clutter-config.h&#x0D;&#x0A;
:DONE_CLUTTER_CONFIG_H&#x0D;&#x0A;
"
/>
<UserMacro
Name="PreBuildCmd2"
Value="
if exist ..\..\..\clutter\clutter-marshal.h goto DONE_CLUTTER_MARSHAL_H&#x0D;&#x0A;
cd ..\..\..\clutter&#x0D;&#x0A;
$(GlibEtcInstallRoot)\bin\glib-genmarshal --prefix=_clutter_marshal --header clutter-marshal.list &gt; clutter-marshal.h&#x0D;&#x0A;
cd ..\build\win32\vs$(VSVer)&#x0D;&#x0A;
$(GlibGenMarshalPath)\bin\glib-genmarshal --prefix=_clutter_marshal --header clutter-marshal.list &gt; clutter-marshal.h&#x0D;&#x0A;
cd ..\build\win32\vs9&#x0D;&#x0A;
:DONE_CLUTTER_MARSHAL_H&#x0D;&#x0A;
if exist ..\..\..\clutter\clutter-marshal.c goto DONE_CLUTTER_MARSHAL_C&#x0D;&#x0A;
cd ..\..\..\clutter&#x0D;&#x0A;
echo #include &quot;clutter-marshal.h&quot; &gt; clutter-marshal.c&#x0D;&#x0A;
$(GlibEtcInstallRoot)\bin\glib-genmarshal --prefix=_clutter_marshal --body clutter-marshal.list &gt;&gt; clutter-marshal.c&#x0D;&#x0A;
cd ..\build\win32\vs$(VSVer)&#x0D;&#x0A;
$(GlibGenMarshalPath)\bin\glib-genmarshal --prefix=_clutter_marshal --body clutter-marshal.list &gt;&gt; clutter-marshal.c&#x0D;&#x0A;
cd ..\build\win32\vs9&#x0D;&#x0A;
:DONE_CLUTTER_MARSHAL_C&#x0D;&#x0A;
"
/>
<UserMacro
Name="GenEnumsSrc"
Value="
cd ..&#x0D;&#x0A;
call gen-enums.bat $(GlibEtcInstallRoot)&#x0D;&#x0A;
cd .\vs$(VSVer)&#x0D;&#x0A;
gen-enums.bat $(GlibMkEnumsPath)&#x0D;&#x0A;
cd .\vs9&#x0D;&#x0A;
"
/>
<UserMacro
@ -132,173 +133,181 @@ cd .\vs$(VSVer)&#x0D;&#x0A;
Value="
mkdir $(CopyDir)&#x0D;&#x0A;
mkdir $(CopyDir)\bin&#x0D;&#x0A;
mkdir $(CopyDir)\share\clutter-$(ApiVersion)\data&#x0D;&#x0A;
mkdir $(CopyDir)\share\clutter-$(ClutterApiVersion)\data&#x0D;&#x0A;
copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\*.dll $(CopyDir)\bin&#x0D;&#x0A;
copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\*.exe $(CopyDir)\bin&#x0D;&#x0A;
copy ..\*.bat $(CopyDir)\bin&#x0D;&#x0A;
copy ..\..\..\tests\data\*.png $(CopyDir)\share\clutter-$(ApiVersion)\data&#x0D;&#x0A;
copy ..\..\..\tests\data\clutter-1.0.suppressions $(CopyDir)\share\clutter-$(ApiVersion)\data&#x0D;&#x0A;
copy ..\..\..\tests\data\*.json $(CopyDir)\share\clutter-$(ApiVersion)\data&#x0D;&#x0A;
copy ..\..\..\tests\data\*.png $(CopyDir)\share\clutter-$(ClutterApiVersion)\data&#x0D;&#x0A;
copy ..\..\..\tests\data\clutter-1.0.suppressions $(CopyDir)\share\clutter-$(ClutterApiVersion)\data&#x0D;&#x0A;
copy ..\..\..\tests\data\*.json $(CopyDir)\share\clutter-$(ClutterApiVersion)\data&#x0D;&#x0A;
mkdir $(CopyDir)\lib&#x0D;&#x0A;
copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\*-$(ApiVersion).lib $(CopyDir)\lib&#x0D;&#x0A;
copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\*-$(ClutterApiVersion).lib $(CopyDir)\lib&#x0D;&#x0A;
if exist clutter.bld.win32.win32 goto DO_INSTALL_COMMON_HEADERS&#x0D;&#x0A;
mkdir $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\win32&#x0D;&#x0A;
mkdir $(CopyDir)\include\clutter-$(ApiVersion)\clutter\gdk&#x0D;&#x0A;
copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\gdk&#x0D;&#x0A;
copy ..\..\..\clutter\clutter.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-action.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-actor-meta.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-actor.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-align-constraint.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-alpha.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-animatable.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-animation.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-animator.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-backend.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-bind-constraint.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-binding-pool.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-bin-layout.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-blur-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-box-layout.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-brightness-contrast-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-cairo-texture.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-canvas.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-child-meta.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-click-action.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-clone.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-cogl-compat.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-color-static.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-color.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-colorize-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-config.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-constraint.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-content.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-container.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-deform-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-deprecated.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-desaturate-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-device-manager.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-drag-action.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-drop-action.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-enums.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-enum-types.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-event.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-feature.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-fixed-layout.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-flow-layout.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-gesture-action.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-group.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-image.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-input-device.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-interval.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-layout-manager.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-layout-meta.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-list-model.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-keysyms.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-macros.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-main.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-marshal.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-media.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-model.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-offscreen-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-page-turn-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-paint-node.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-paint-nodes.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-path-constraint.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-path.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-property-transition.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-script.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-scriptable.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-settings.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-shader-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-shader-types.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-snap-constraint.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-stage.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-stage-manager.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-stage-window.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-state.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-swipe-action.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-table-layout.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-texture.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-text.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-text-buffer.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-timeline.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-transition.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-types.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-units.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-version.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\win32\clutter-win32.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\win32&#x0D;&#x0A;
:DO_INSTALL_COMMON_HEADERS&#x0D;&#x0A;
mkdir $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-actor.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-animatable.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-animation.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-backend.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-behaviour.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-behaviour-depth.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-behaviour-ellipse.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-behaviour-opacity.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-behaviour-path.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-behaviour-rotate.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-behaviour-scale.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-box.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-cairo-texture.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-container.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-group.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-fixed.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-frame-source.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-keysyms.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-main.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-rectangle.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-score.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-shader.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-stage.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-stage-manager.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-texture.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-timeline.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-timeout-pool.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-util.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
mkdir $(CopyDir)\include\clutter-$(ApiVersion)\clutter\win32&#x0D;&#x0A;
copy ..\..\..\clutter\clutter.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-actor-meta.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-actor.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-align-constraint.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-animatable.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-backend.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-bind-constraint.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-binding-pool.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-bin-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-blur-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-box-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-brightness-contrast-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-cairo.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-canvas.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-child-meta.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-click-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-clone.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-cogl-compat.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-color-static.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-color.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-colorize-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-config.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-constraint.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-content.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-container.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-deform-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-deprecated.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-desaturate-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-device-manager.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-drag-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-drop-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-enums.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-enum-types.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-event.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-feature.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-fixed-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-flow-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-gesture-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-grid-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-group.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-image.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-input-device.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-interval.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-layout-manager.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-layout-meta.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-list-model.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-keyframe-transition.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-keysyms.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-macros.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-main.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-marshal.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-model.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-offscreen-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-page-turn-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-paint-node.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-paint-nodes.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-pan-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-path-constraint.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-path.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-property-transition.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-rotate-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-script.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-scriptable.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-scroll-actor.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-settings.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-shader-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-shader-types.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-snap-constraint.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-stage.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-stage-manager.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-stage-window.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-swipe-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-table-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-tap-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-texture.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-text.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-text-buffer.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-timeline.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-transition.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-transition-group.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-types.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-units.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-version.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-zoom-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\win32\clutter-win32.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\win32&#x0D;&#x0A;
mkdir $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-actor.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-alpha.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-animatable.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-animation.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-animator.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-backend.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-behaviour.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-behaviour-depth.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-behaviour-ellipse.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-behaviour-opacity.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-behaviour-path.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-behaviour-rotate.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-behaviour-scale.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-bin-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-box.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-cairo-texture.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-container.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-fixed.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-frame-source.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-group.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-input-device.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-keysyms.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-main.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-media.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-rectangle.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-score.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-shader.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-stage.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-stage-manager.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-state.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-texture.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-timeline.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-timeout-pool.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
copy ..\..\..\clutter\deprecated\clutter-util.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
mkdir $(CopyDir)\include\clutter-$(ApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\cally\cally-actor.h $(CopyDir)\include\clutter-$(ApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\cally\cally-clone.h $(CopyDir)\include\clutter-$(ApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\cally\cally-factory.h $(CopyDir)\include\clutter-$(ApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\cally\cally-group.h $(CopyDir)\include\clutter-$(ApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\cally\cally.h $(CopyDir)\include\clutter-$(ApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\cally\cally-main.h $(CopyDir)\include\clutter-$(ApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\cally\cally-rectangle.h $(CopyDir)\include\clutter-$(ApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\cally\cally-root.h $(CopyDir)\include\clutter-$(ApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\cally\cally-stage.h $(CopyDir)\include\clutter-$(ApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\cally\cally-text.h $(CopyDir)\include\clutter-$(ApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\cally\cally-texture.h $(CopyDir)\include\clutter-$(ApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\cally\cally-util.h $(CopyDir)\include\clutter-$(ApiVersion)\cally&#x0D;&#x0A;
mkdir $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\cally\cally-actor.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\cally\cally-clone.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\cally\cally-factory.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\cally\cally-group.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\cally\cally.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\cally\cally-main.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\cally\cally-rectangle.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\cally\cally-root.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\cally\cally-stage.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\cally\cally-text.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\cally\cally-texture.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\cally\cally-util.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
"
/>
<UserMacro
Name="ClutterDoInstallGDK"
Value="
mkdir $(CopyDir)\include\clutter-$(ApiVersion)\clutter\gdk&#x0D;&#x0A;
mkdir $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\gdk&#x0D;&#x0A;
copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\gdk&#x0D;&#x0A;
copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\gdk&#x0D;&#x0A;
"
/>
<UserMacro
Name="ClutterDoInstallReleaseBin"
Value="
mkdir $(CopyDir)\bin&#x0D;&#x0A;
copy $(SolutionDir)Release\$(PlatformName)\bin\*.dll $(CopyDir)\bin&#x0D;&#x0A;
copy $(SolutionDir)Release\$(PlatformName)\bin\*.exe $(CopyDir)\bin&#x0D;&#x0A;
mkdir $(CopyDir)\lib&#x0D;&#x0A;
copy $(SolutionDir)Release\$(PlatformName)\bin\*-$(ClutterApiVersion).lib $(CopyDir)\lib&#x0D;&#x0A;
"
/>
<UserMacro
Name="ClutterDoInstallDebugBin"
Value="
mkdir $(CopyDir)\bin&#x0D;&#x0A;
copy $(SolutionDir)Debug\$(PlatformName)\bin\*.dll $(CopyDir)\bin&#x0D;&#x0A;
copy $(SolutionDir)Debug\$(PlatformName)\bin\*.exe $(CopyDir)\bin&#x0D;&#x0A;
mkdir $(CopyDir)\lib&#x0D;&#x0A;
copy $(SolutionDir)Debug\$(PlatformName)\bin\*-$(ClutterApiVersion).lib $(CopyDir)\lib&#x0D;&#x0A;
"
/>
<UserMacro
@ -321,24 +330,24 @@ copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)
/>
<UserMacro
Name="ClutterLibtoolCompatibleDllSuffix"
Value="-$(ApiVersion)-0"
Value="-$(ClutterApiVersion)-0"
/>
<UserMacro
Name="ClutterSeparateVSDllPrefix"
Name="ClutterSeparateVS9DllPrefix"
Value=""
/>
<UserMacro
Name="ClutterSeparateVSDllSuffix"
Value="-1-vs$(VSVer)"
Name="ClutterSeparateVS9DllSuffix"
Value="-1-vs9"
/>
<!-- Change these two to GlibLibtoolCompatibleDllPrefix and
GlibLibtoolCompatibleDllSuffix if that is what you want -->
<UserMacro
Name="ClutterDllPrefix"
Value="$(ClutterSeparateVSDllPrefix)"
Value="$(ClutterSeparateVS9DllPrefix)"
/>
<UserMacro
Name="ClutterDllSuffix"
Value="$(ClutterSeparateVSDllSuffix)"
Value="$(ClutterSeparateVS9DllSuffix)"
/>
</VisualStudioPropertySheet>

View File

@ -27,7 +27,19 @@
>
<Tool
Name="VCPostBuildEventTool"
CommandLine="$(ClutterDoInstall)"
CommandLine="$(ClutterDoInstallDebugBin) $(ClutterDoInstall)"
/>
</Configuration>
<Configuration
Name="Debug_GDK|Win32"
InheritedPropertySheets=".\clutter.vsprops"
OutputDirectory="$(GlibEtcInstallRoot)"
ConfigurationType="10"
CharacterSet="2"
>
<Tool
Name="VCPostBuildEventTool"
CommandLine="$(ClutterDoInstallDebugBin) $(ClutterDoInstall) $(ClutterDoInstallGDK)"
/>
</Configuration>
<Configuration
@ -40,7 +52,20 @@
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="$(ClutterDoInstall)"
CommandLine="$(ClutterDoInstallDebugBin) $(ClutterDoInstall)"
/>
</Configuration>
<Configuration
Name="Debug_GDK|x64"
InheritedPropertySheets=".\clutter.vsprops"
OutputDirectory="$(GlibEtcInstallRoot)"
ConfigurationType="10"
CharacterSet="2"
DeleteExtensionsOnClean=""
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="$(ClutterDoInstallDebugBin) $(ClutterDoInstall) $(ClutterDoInstallGDK)"
/>
</Configuration>
<Configuration
@ -53,7 +78,20 @@
>
<Tool
Name="VCPostBuildEventTool"
CommandLine="$(ClutterDoInstall)"
CommandLine="$(ClutterDoInstallReleaseBin) $(ClutterDoInstall)"
/>
</Configuration>
<Configuration
Name="Release_GDK|Win32"
InheritedPropertySheets=".\clutter.vsprops"
OutputDirectory="$(GlibEtcInstallRoot)"
ConfigurationType="10"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPostBuildEventTool"
CommandLine="$(ClutterDoInstallReleaseBin) $(ClutterDoInstall) $(ClutterDoInstallGDK)"
/>
</Configuration>
<Configuration
@ -67,7 +105,21 @@
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="$(ClutterDoInstall)"
CommandLine="$(ClutterDoInstallReleaseBin) $(ClutterDoInstall)"
/>
</Configuration>
<Configuration
Name="Release_GDK|x64"
InheritedPropertySheets=".\clutter.vsprops"
OutputDirectory="$(GlibEtcInstallRoot)"
ConfigurationType="10"
CharacterSet="2"
WholeProgramOptimization="1"
DeleteExtensionsOnClean=""
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="$(ClutterDoInstallReleaseBin) $(ClutterDoInstall) $(ClutterDoInstallGDK)"
/>
</Configuration>
</Configurations>

View File

@ -7,15 +7,14 @@
<name>Clutter</name>
<shortname>clutter</shortname>
<category rdf:resource="http://api.gnome.org/doap-extensions#core" />
<shortdesc xml:lang="en">A toolkit for creating fast, portable, compelling dynamic UIs</shortdesc>
<description xml:lang="en">Clutter is an open source software library for creating fast, portable, compelling and dynamic graphical user interfaces. Clutter uses OpenGL (and optionally OpenGL|ES for use on Mobile and embedded platforms) for rendering, but with an API which hides the underlying GL complexity from the developer. The Clutter API is intended to be easy to use, efficient and flexible.</description>
<homepage rdf:resource="https://wiki.gnome.org/Projects/Clutter" />
<homepage rdf:resource="http://www.clutter-project.org" />
<license rdf:resource="http://usefulinc.com/doap/licenses/lgpl" />
<bug-database rdf:resource="https://bugzilla.gnome.org/enter_bug.cgi?product=clutter"/>
<bug-database rdf:resource="http://bugzilla.gnome.org/enter_bug.cgi?product=clutter"/>
<download-page rdf:resource="http://download.gnome.org/sources/clutter" />
<mailing-list rdf:resource="mailto:clutter-devel-list@clutter-project.org" />

View File

@ -86,6 +86,7 @@ source_h = \
$(srcdir)/clutter-flow-layout.h \
$(srcdir)/clutter-gesture-action.h \
$(srcdir)/clutter-grid-layout.h \
$(srcdir)/clutter-group.h \
$(srcdir)/clutter-image.h \
$(srcdir)/clutter-input-device.h \
$(srcdir)/clutter-interval.h \
@ -118,6 +119,7 @@ source_h = \
$(srcdir)/clutter-stage-manager.h \
$(srcdir)/clutter-table-layout.h \
$(srcdir)/clutter-tap-action.h \
$(srcdir)/clutter-texture.h \
$(srcdir)/clutter-text.h \
$(srcdir)/clutter-text-buffer.h \
$(srcdir)/clutter-timeline.h \
@ -252,18 +254,79 @@ source_c_priv = \
# deprecated installed headers
deprecated_h = \
$(srcdir)/deprecated/clutter-actor.h \
$(srcdir)/deprecated/clutter-alpha.h \
$(srcdir)/deprecated/clutter-animatable.h \
$(srcdir)/deprecated/clutter-animation.h \
$(srcdir)/deprecated/clutter-animator.h \
$(srcdir)/deprecated/clutter-backend.h \
$(srcdir)/deprecated/clutter-behaviour.h \
$(srcdir)/deprecated/clutter-behaviour-depth.h \
$(srcdir)/deprecated/clutter-behaviour-ellipse.h \
$(srcdir)/deprecated/clutter-behaviour-opacity.h \
$(srcdir)/deprecated/clutter-behaviour-path.h \
$(srcdir)/deprecated/clutter-behaviour-rotate.h \
$(srcdir)/deprecated/clutter-behaviour-scale.h \
$(srcdir)/deprecated/clutter-bin-layout.h \
$(srcdir)/deprecated/clutter-box.h \
$(srcdir)/deprecated/clutter-cairo-texture.h \
$(srcdir)/deprecated/clutter-container.h \
$(srcdir)/deprecated/clutter-fixed.h \
$(srcdir)/deprecated/clutter-frame-source.h \
$(srcdir)/deprecated/clutter-group.h \
$(srcdir)/deprecated/clutter-input-device.h \
$(srcdir)/deprecated/clutter-keysyms.h \
$(srcdir)/deprecated/clutter-main.h \
$(srcdir)/deprecated/clutter-media.h \
$(srcdir)/deprecated/clutter-rectangle.h \
$(srcdir)/deprecated/clutter-score.h \
$(srcdir)/deprecated/clutter-shader.h \
$(srcdir)/deprecated/clutter-stage-manager.h \
$(srcdir)/deprecated/clutter-stage.h \
$(srcdir)/deprecated/clutter-state.h \
$(srcdir)/deprecated/clutter-texture.h \
$(srcdir)/deprecated/clutter-timeline.h \
$(srcdir)/deprecated/clutter-timeout-pool.h \
$(srcdir)/deprecated/clutter-util.h \
$(NULL)
# deprecated source code
deprecated_c = \
$(srcdir)/deprecated/clutter-actor-deprecated.c \
$(srcdir)/deprecated/clutter-alpha.c \
$(srcdir)/deprecated/clutter-animation.c \
$(srcdir)/deprecated/clutter-animator.c \
$(srcdir)/deprecated/clutter-behaviour.c \
$(srcdir)/deprecated/clutter-behaviour-depth.c \
$(srcdir)/deprecated/clutter-behaviour-ellipse.c \
$(srcdir)/deprecated/clutter-behaviour-opacity.c \
$(srcdir)/deprecated/clutter-behaviour-path.c \
$(srcdir)/deprecated/clutter-behaviour-rotate.c \
$(srcdir)/deprecated/clutter-behaviour-scale.c \
$(srcdir)/deprecated/clutter-box.c \
$(srcdir)/deprecated/clutter-cairo-texture.c \
$(srcdir)/deprecated/clutter-fixed.c \
$(srcdir)/deprecated/clutter-frame-source.c \
$(srcdir)/deprecated/clutter-group.c \
$(srcdir)/deprecated/clutter-input-device-deprecated.c \
$(srcdir)/deprecated/clutter-layout-manager-deprecated.c \
$(srcdir)/deprecated/clutter-media.c \
$(srcdir)/deprecated/clutter-rectangle.c \
$(srcdir)/deprecated/clutter-score.c \
$(srcdir)/deprecated/clutter-shader.c \
$(srcdir)/deprecated/clutter-state.c \
$(srcdir)/deprecated/clutter-texture.c \
$(srcdir)/deprecated/clutter-timeout-pool.c \
$(NULL)
# deprecated private headers; these should not be installed
deprecated_h_priv = \
$(srcdir)/deprecated/clutter-timeout-interval.h \
$(NULL)
# deprecated private source code; these should not be introspected
deprecated_c_priv = \
$(srcdir)/deprecated/clutter-timeout-interval.c \
$(NULL)
# built sources
@ -297,6 +360,13 @@ EXTRA_DIST += clutter-keysyms-update.pl
pc_files += clutter-$(CLUTTER_API_VERSION).pc
# in order to be compatible with Clutter < 1.10, when we shipped a single
# shared library whose name was determined by the single backend it
# supported, we need to install symbolic links so that existing applications
# using Clutter won't break in the Brave New World of multi-backend support
# in the same shared object.
compat_libs =
# backends source listings
#
# backend_source_c := source code
@ -319,10 +389,12 @@ x11_source_c = \
$(srcdir)/x11/clutter-input-device-core-x11.c \
$(srcdir)/x11/clutter-keymap-x11.c \
$(srcdir)/x11/clutter-stage-x11.c \
$(srcdir)/x11/clutter-x11-texture-pixmap.c \
$(NULL)
x11_source_h = \
$(srcdir)/x11/clutter-x11.h \
$(srcdir)/x11/clutter-x11-texture-pixmap.h \
$(NULL)
x11_source_h_priv = \
@ -397,6 +469,31 @@ clutter-cogl-$(CLUTTER_API_VERSION).pc: clutter-$(CLUTTER_API_VERSION).pc
pc_files += clutter-cogl-$(CLUTTER_API_VERSION).pc
endif
# For compatibility with the old GLX backend
#
# Note: there wasn't actually anything GLX specific so we can add
# the compatibility if clutter supports x11
glx_source_c = $(srcdir)/x11/clutter-glx-texture-pixmap.c
glx_source_h = $(srcdir)/x11/clutter-glx-texture-pixmap.h \
$(srcdir)/x11/clutter-glx.h
if SUPPORT_X11
backend_source_h += $(glx_source_h)
backend_source_c += $(glx_source_c)
clutterglx_includedir = $(clutter_includedir)/glx
clutterglx_include_HEADERS = $(glx_source_h)
clutter-glx-$(CLUTTER_API_VERSION).pc: clutter-$(CLUTTER_API_VERSION).pc
$(QUIET_GEN)cp -f $< $(@F)
pc_files += clutter-glx-$(CLUTTER_API_VERSION).pc
compat_libs += \
libclutter-glx-$(CLUTTER_API_VERSION).so \
$(NULL)
endif
# GDK backend rules
gdk_source_c = \
$(srcdir)/gdk/clutter-backend-gdk.c \
@ -535,6 +632,10 @@ clutter-cex100-$(CLUTTER_API_VERSION).pc: clutter-$(CLUTTER_API_VERSION).pc
$(QUIET_GEN)cp -f $< $(@F)
pc_files += clutter-cex100-$(CLUTTER_API_VERSION).pc
compat_libs += \
libclutter-cex100-$(CLUTTER_API_VERSION).so \
$(NULL)
endif # SUPPORT_CEX100
# EGL backend rules
@ -649,11 +750,14 @@ cally_sources_h = \
$(srcdir)/cally/cally-actor.h \
$(srcdir)/cally/cally-clone.h \
$(srcdir)/cally/cally-factory.h \
$(srcdir)/cally/cally-group.h \
$(srcdir)/cally/cally.h \
$(srcdir)/cally/cally-main.h \
$(srcdir)/cally/cally-rectangle.h \
$(srcdir)/cally/cally-root.h \
$(srcdir)/cally/cally-stage.h \
$(srcdir)/cally/cally-text.h \
$(srcdir)/cally/cally-texture.h \
$(srcdir)/cally/cally-util.h \
$(NULL)
@ -661,9 +765,12 @@ cally_sources_c = \
$(srcdir)/cally/cally-actor.c \
$(srcdir)/cally/cally.c \
$(srcdir)/cally/cally-clone.c \
$(srcdir)/cally/cally-group.c \
$(srcdir)/cally/cally-rectangle.c \
$(srcdir)/cally/cally-root.c \
$(srcdir)/cally/cally-stage.c \
$(srcdir)/cally/cally-text.c \
$(srcdir)/cally/cally-texture.c \
$(srcdir)/cally/cally-util.c \
$(NULL)
@ -829,6 +936,24 @@ EXTRA_DIST += \
# Let the VS9/VS10 Project files be cleared out before they are re-expanded...
DISTCLEANFILES += ../build/win32/vs9/clutter.vcproj ../build/win32/vs10/clutter.vcxproj ../build/win32/vs10/clutter.vcxproj.filters ../build/win32/gen-enums.bat
install-exec-local:
test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
for lib in `echo $(compat_libs)`; do \
(cd $(DESTDIR)$(libdir) && \
rm -f $$lib.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION); \
) ; \
(cd $(DESTDIR)$(libdir) && \
{ ln -s -f libclutter-$(CLUTTER_API_VERSION).so.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION) $$lib.0 || \
{ rm -f $$lib.0 && ln -s libclutter-1.0.so.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION) $$lib.0; }; \
} \
) ; \
(cd $(DESTDIR)$(libdir) && \
{ ln -s -f libclutter-$(CLUTTER_API_VERSION).so.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION) $$lib || \
{ rm -f $$lib && ln -s libclutter-1.0.so.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION) $$lib; }; \
} \
) ; \
done
# gobject-introspection rules
-include $(INTROSPECTION_MAKEFILE)

View File

@ -26,5 +26,5 @@ fi
cpp -P ${cppargs} ${srcdir:-.}/clutter.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' -e 's/ PRIVATE//' -e 's/ DATA//' | sort > expected-abi
nm -D -g --defined-only .libs/libclutter-2.0.so | cut -d ' ' -f 3 | egrep -v '^(__bss_start|_edata|_end)' | sort > actual-abi
nm -D -g --defined-only .libs/libclutter-1.0.so | cut -d ' ' -f 3 | egrep -v '^(__bss_start|_edata|_end)' | sort > actual-abi
diff -u expected-abi actual-abi && rm -f expected-abi actual-abi

View File

@ -15,7 +15,9 @@
* 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, see <http://www.gnu.org/licenses/>.
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/**

View File

@ -18,7 +18,9 @@
* 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, see <http://www.gnu.org/licenses/>.
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef _CALLY_FACTORY_H__

View File

@ -18,7 +18,9 @@
* 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, see <http://www.gnu.org/licenses/>.
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/**

View File

@ -15,7 +15,9 @@
* 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, see <http://www.gnu.org/licenses/>.
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/**

View File

@ -15,7 +15,9 @@
* 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, see <http://www.gnu.org/licenses/>.
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/**

View File

@ -15,7 +15,9 @@
* 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, see <http://www.gnu.org/licenses/>.
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/**
@ -53,7 +55,7 @@ static void cally_stage_deactivate_cb (ClutterStage *stage,
G_DEFINE_TYPE_WITH_CODE (CallyStage,
cally_stage,
CALLY_TYPE_ACTOR,
CALLY_TYPE_GROUP,
G_IMPLEMENT_INTERFACE (ATK_TYPE_WINDOW,
cally_stage_window_interface_init));

View File

@ -52,7 +52,7 @@ typedef struct _CallyStagePrivate CallyStagePrivate;
struct _CallyStage
{
/*< private >*/
CallyActor parent;
CallyGroup parent;
CallyStagePrivate *priv;
};
@ -68,7 +68,7 @@ struct _CallyStage
struct _CallyStageClass
{
/*< private >*/
CallyActorClass parent_class;
CallyGroupClass parent_class;
/* padding for future expansion */
gpointer _padding_dummy[16];

View File

@ -23,7 +23,9 @@
* 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, see <http://www.gnu.org/licenses/>.
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/**

View File

@ -15,7 +15,9 @@
* 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, see <http://www.gnu.org/licenses/>.
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/**

View File

@ -18,7 +18,9 @@
* 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, see <http://www.gnu.org/licenses/>.
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/**

View File

@ -15,7 +15,9 @@
* 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, see <http://www.gnu.org/licenses/>.
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/**
@ -36,8 +38,11 @@
#include "cally.h"
#include "cally-actor.h"
#include "cally-group.h"
#include "cally-stage.h"
#include "cally-text.h"
#include "cally-texture.h"
#include "cally-rectangle.h"
#include "cally-clone.h"
#include "cally-factory.h"
@ -52,8 +57,11 @@ static int cally_initialized = FALSE;
/* factories initialization*/
CALLY_ACCESSIBLE_FACTORY (CALLY_TYPE_ACTOR, cally_actor, cally_actor_new)
CALLY_ACCESSIBLE_FACTORY (CALLY_TYPE_GROUP, cally_group, cally_group_new)
CALLY_ACCESSIBLE_FACTORY (CALLY_TYPE_STAGE, cally_stage, cally_stage_new)
CALLY_ACCESSIBLE_FACTORY (CALLY_TYPE_TEXT, cally_text, cally_text_new)
CALLY_ACCESSIBLE_FACTORY (CALLY_TYPE_TEXTURE, cally_texture, cally_texture_new)
CALLY_ACCESSIBLE_FACTORY (CALLY_TYPE_RECTANGLE, cally_rectangle, cally_rectangle_new)
CALLY_ACCESSIBLE_FACTORY (CALLY_TYPE_CLONE, cally_clone, cally_clone_new)
/**
@ -76,8 +84,11 @@ cally_accessibility_init (void)
/* setting the factories */
CALLY_ACTOR_SET_FACTORY (CLUTTER_TYPE_ACTOR, cally_actor);
CALLY_ACTOR_SET_FACTORY (CLUTTER_TYPE_GROUP, cally_group);
CALLY_ACTOR_SET_FACTORY (CLUTTER_TYPE_STAGE, cally_stage);
CALLY_ACTOR_SET_FACTORY (CLUTTER_TYPE_TEXT, cally_text);
CALLY_ACTOR_SET_FACTORY (CLUTTER_TYPE_TEXTURE, cally_texture);
CALLY_ACTOR_SET_FACTORY (CLUTTER_TYPE_RECTANGLE, cally_rectangle);
CALLY_ACTOR_SET_FACTORY (CLUTTER_TYPE_CLONE, cally_clone);
/* Initialize the CallyUtility class */

View File

@ -10,4 +10,4 @@ Description: Clutter Accessibility Implementation Library
Version: @VERSION@
Libs: -L${libdir} -lclutter-${apiversion}
Cflags: -I${includedir}/clutter-${apiversion}
Requires: atk clutter-${apiversion}
Requires: atk clutter-1.0

View File

@ -144,7 +144,7 @@ clutter_backend_cex100_init (ClutterBackendCex100 *backend_cex100)
*
* <note>This function has to be called before clutter_init()</note>
*
*
* Since: 1.6
*/
void
clutter_cex100_set_plane (gdl_plane_id_t plane)
@ -166,7 +166,7 @@ clutter_cex100_set_plane (gdl_plane_id_t plane)
*
* <note>This function has to be called before clutter_init()</note>
*
*
* Since: 1.6
*/
void
clutter_cex100_set_buffering_mode (ClutterCex100BufferingMode mode)
@ -185,7 +185,7 @@ clutter_cex100_set_buffering_mode (ClutterCex100BufferingMode mode)
*
* Return value: the EGL display used by Clutter, or 0
*
*
* Since: 1.10
*/
EGLDisplay
clutter_cex100_get_egl_display (void)

View File

@ -48,7 +48,7 @@ typedef struct _ClutterActionClass ClutterActionClass;
* The <structname>ClutterAction</structname> structure contains only
* private data and should be accessed using the provided API
*
*
* Since: 1.4
*/
struct _ClutterAction
{
@ -62,7 +62,7 @@ struct _ClutterAction
* The <structname>ClutterActionClass</structname> structure contains
* only private data
*
*
* Since: 1.4
*/
struct _ClutterActionClass
{

View File

@ -29,7 +29,7 @@
* Return value: (transfer full): the newly allocated #ClutterActorBox.
* Use clutter_actor_box_free() to free the resources
*
*
* Since: 1.0
*/
ClutterActorBox *
clutter_actor_box_new (gfloat x_1,
@ -50,7 +50,7 @@ clutter_actor_box_new (gfloat x_1,
* Return value: (transfer full): the newly allocated #ClutterActorBox.
* Use clutter_actor_box_free() to free its resources
*
*
* Since: 1.12
*/
ClutterActorBox *
clutter_actor_box_alloc (void)
@ -70,7 +70,7 @@ clutter_actor_box_alloc (void)
*
* Return value: (transfer none): the initialized #ClutterActorBox
*
*
* Since: 1.10
*/
ClutterActorBox *
clutter_actor_box_init (ClutterActorBox *box,
@ -99,7 +99,7 @@ clutter_actor_box_init (ClutterActorBox *box,
*
* Initializes @box with the given origin and size.
*
*
* Since: 1.10
*/
void
clutter_actor_box_init_rect (ClutterActorBox *box,
@ -125,7 +125,7 @@ clutter_actor_box_init_rect (ClutterActorBox *box,
* Return value: a newly allocated copy of #ClutterActorBox. Use
* clutter_actor_box_free() to free the allocated resources
*
*
* Since: 1.0
*/
ClutterActorBox *
clutter_actor_box_copy (const ClutterActorBox *box)
@ -143,7 +143,7 @@ clutter_actor_box_copy (const ClutterActorBox *box)
* Frees a #ClutterActorBox allocated using clutter_actor_box_new()
* or clutter_actor_box_copy()
*
*
* Since: 1.0
*/
void
clutter_actor_box_free (ClutterActorBox *box)
@ -161,7 +161,7 @@ clutter_actor_box_free (ClutterActorBox *box)
*
* Return value: %TRUE if the passed #ClutterActorBox are equal
*
*
* Since: 1.0
*/
gboolean
clutter_actor_box_equal (const ClutterActorBox *box_a,
@ -184,7 +184,7 @@ clutter_actor_box_equal (const ClutterActorBox *box_a,
*
* Return value: the X coordinate of the origin
*
*
* Since: 1.0
*/
gfloat
clutter_actor_box_get_x (const ClutterActorBox *box)
@ -202,7 +202,7 @@ clutter_actor_box_get_x (const ClutterActorBox *box)
*
* Return value: the Y coordinate of the origin
*
*
* Since: 1.0
*/
gfloat
clutter_actor_box_get_y (const ClutterActorBox *box)
@ -220,7 +220,7 @@ clutter_actor_box_get_y (const ClutterActorBox *box)
*
* Return value: the width of the box
*
*
* Since: 1.0
*/
gfloat
clutter_actor_box_get_width (const ClutterActorBox *box)
@ -238,7 +238,7 @@ clutter_actor_box_get_width (const ClutterActorBox *box)
*
* Return value: the height of the box
*
*
* Since: 1.0
*/
gfloat
clutter_actor_box_get_height (const ClutterActorBox *box)
@ -256,7 +256,7 @@ clutter_actor_box_get_height (const ClutterActorBox *box)
*
* Retrieves the origin of @box
*
*
* Since: 1.0
*/
void
clutter_actor_box_get_origin (const ClutterActorBox *box,
@ -280,7 +280,7 @@ clutter_actor_box_get_origin (const ClutterActorBox *box,
*
* Retrieves the size of @box
*
*
* Since: 1.0
*/
void
clutter_actor_box_get_size (const ClutterActorBox *box,
@ -304,7 +304,7 @@ clutter_actor_box_get_size (const ClutterActorBox *box,
*
* Return value: the area of a #ClutterActorBox, in pixels
*
*
* Since: 1.0
*/
gfloat
clutter_actor_box_get_area (const ClutterActorBox *box)
@ -325,7 +325,7 @@ clutter_actor_box_get_area (const ClutterActorBox *box)
*
* Return value: %TRUE if the point is contained by the #ClutterActorBox
*
*
* Since: 1.0
*/
gboolean
clutter_actor_box_contains (const ClutterActorBox *box,
@ -346,7 +346,7 @@ clutter_actor_box_contains (const ClutterActorBox *box,
* Calculates the bounding box represented by the four vertices; for details
* of the vertex array see clutter_actor_get_abs_allocation_vertices().
*
*
* Since: 1.0
*/
void
clutter_actor_box_from_vertices (ClutterActorBox *box,
@ -416,7 +416,7 @@ clutter_actor_box_from_vertices (ClutterActorBox *box,
* Interpolates between @initial and @final #ClutterActorBox<!-- -->es
* using @progress
*
*
* Since: 1.2
*/
void
clutter_actor_box_interpolate (const ClutterActorBox *initial,
@ -440,7 +440,7 @@ clutter_actor_box_interpolate (const ClutterActorBox *initial,
*
* Clamps the components of @box to the nearest integer
*
*
* Since: 1.2
*/
void
clutter_actor_box_clamp_to_pixel (ClutterActorBox *box)
@ -462,7 +462,7 @@ clutter_actor_box_clamp_to_pixel (ClutterActorBox *box)
*
* Unions the two boxes @a and @b and stores the result in @result.
*
*
* Since: 1.4
*/
void
clutter_actor_box_union (const ClutterActorBox *a,
@ -506,7 +506,7 @@ clutter_actor_box_progress (const GValue *a,
*
* Changes the origin of @box, maintaining the size of the #ClutterActorBox.
*
*
* Since: 1.6
*/
void
clutter_actor_box_set_origin (ClutterActorBox *box,
@ -531,7 +531,7 @@ clutter_actor_box_set_origin (ClutterActorBox *box,
*
* Sets the size of @box, maintaining the origin of the #ClutterActorBox.
*
*
* Since: 1.6
*/
void
clutter_actor_box_set_size (ClutterActorBox *box,

View File

@ -186,7 +186,7 @@ clutter_actor_meta_class_init (ClutterActorMetaClass *klass)
*
* The #ClutterActor attached to the #ClutterActorMeta instance
*
*
* Since: 1.4
*/
obj_props[PROP_ACTOR] =
g_param_spec_object ("actor",
@ -200,7 +200,7 @@ clutter_actor_meta_class_init (ClutterActorMetaClass *klass)
*
* The unique name to access the #ClutterActorMeta
*
*
* Since: 1.4
*/
obj_props[PROP_NAME] =
g_param_spec_string ("name",
@ -214,7 +214,7 @@ clutter_actor_meta_class_init (ClutterActorMetaClass *klass)
*
* Whether or not the #ClutterActorMeta is enabled
*
*
* Since: 1.4
*/
obj_props[PROP_ENABLED] =
g_param_spec_boolean ("enabled",
@ -252,7 +252,7 @@ clutter_actor_meta_init (ClutterActorMeta *self)
*
* The name can be used to identify the #ClutterActorMeta instance
*
*
* Since: 1.4
*/
void
clutter_actor_meta_set_name (ClutterActorMeta *meta,
@ -280,7 +280,7 @@ clutter_actor_meta_set_name (ClutterActorMeta *meta,
* by the #ClutterActorMeta instance and it should not be modified
* or freed
*
*
* Since: 1.4
*/
const gchar *
clutter_actor_meta_get_name (ClutterActorMeta *meta)
@ -297,7 +297,7 @@ clutter_actor_meta_get_name (ClutterActorMeta *meta)
*
* Sets whether @meta should be enabled or not
*
*
* Since: 1.4
*/
void
clutter_actor_meta_set_enabled (ClutterActorMeta *meta,
@ -323,7 +323,7 @@ clutter_actor_meta_set_enabled (ClutterActorMeta *meta,
*
* Return value: %TRUE if the #ClutterActorMeta instance is enabled
*
*
* Since: 1.4
*/
gboolean
clutter_actor_meta_get_enabled (ClutterActorMeta *meta)
@ -341,7 +341,7 @@ clutter_actor_meta_get_enabled (ClutterActorMeta *meta)
* Sets or unsets a back pointer to the #ClutterActor that owns
* the @meta
*
*
* Since: 1.4
*/
void
_clutter_actor_meta_set_actor (ClutterActorMeta *meta,
@ -361,7 +361,7 @@ _clutter_actor_meta_set_actor (ClutterActorMeta *meta,
*
* Return value: (transfer none): a pointer to a #ClutterActor or %NULL
*
*
* Since: 1.4
*/
ClutterActor *
clutter_actor_meta_get_actor (ClutterActorMeta *meta)

View File

@ -49,7 +49,7 @@ typedef struct _ClutterActorMetaClass ClutterActorMetaClass;
* The <structname>ClutterActorMeta</structname> structure contains only
* private data and should be accessed using the provided API
*
*
* Since: 1.4
*/
struct _ClutterActorMeta
{
@ -67,7 +67,7 @@ struct _ClutterActorMeta
* The <structname>ClutterActorMetaClass</structname> structure contains
* only private data
*
*
* Since: 1.4
*/
struct _ClutterActorMetaClass
{

View File

@ -36,7 +36,7 @@ G_BEGIN_DECLS
* Flags passed to the clutter_actor_queue_redraw_with_clip ()
* function
*
*
* Since: 1.6
*/
typedef enum
{
@ -183,13 +183,22 @@ struct _ClutterTransformInfo
{
/* rotation (angle and center) */
gdouble rx_angle;
AnchorCoord rx_center;
gdouble ry_angle;
AnchorCoord ry_center;
gdouble rz_angle;
AnchorCoord rz_center;
/* scaling */
gdouble scale_x;
gdouble scale_y;
gdouble scale_z;
AnchorCoord scale_center;
/* anchor point */
AnchorCoord anchor;
/* translation */
ClutterVertex translation;
@ -309,7 +318,6 @@ void _clutter_actor_detach_clone
ClutterActor *clone);
void _clutter_actor_queue_redraw_on_clones (ClutterActor *actor);
void _clutter_actor_queue_relayout_on_clones (ClutterActor *actor);
void _clutter_actor_queue_only_relayout (ClutterActor *actor);
G_END_DECLS

File diff suppressed because it is too large Load Diff

View File

@ -269,7 +269,7 @@ struct _ClutterActorClass
/*< private >*/
/* padding for future expansion */
gpointer _padding_dummy[32];
gpointer _padding_dummy[26];
};
/**
@ -281,7 +281,7 @@ struct _ClutterActorClass
* The contents of the <structname>ClutterActorIter</structname> structure
* are private and should only be accessed using the provided API.
*
*
* Since: 1.10
*/
struct _ClutterActorIter
{
@ -311,7 +311,7 @@ void clutter_actor_unmap
void clutter_actor_paint (ClutterActor *self);
void clutter_actor_continue_paint (ClutterActor *self);
void clutter_actor_queue_redraw (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_queue_redraw_with_clip (ClutterActor *self,
const cairo_rectangle_int_t *clip);
void clutter_actor_queue_relayout (ClutterActor *self);
@ -397,63 +397,63 @@ void clutter_actor_set_x
gfloat x);
void clutter_actor_set_y (ClutterActor *self,
gfloat y);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_set_z_position (ClutterActor *self,
gfloat z_position);
CLUTTER_AVAILABLE_IN_1_12
gfloat clutter_actor_get_z_position (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_layout_manager (ClutterActor *self,
ClutterLayoutManager *manager);
CLUTTER_AVAILABLE_IN_1_10
ClutterLayoutManager * clutter_actor_get_layout_manager (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_x_align (ClutterActor *self,
ClutterActorAlign x_align);
CLUTTER_AVAILABLE_IN_1_10
ClutterActorAlign clutter_actor_get_x_align (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_y_align (ClutterActor *self,
ClutterActorAlign y_align);
CLUTTER_AVAILABLE_IN_1_10
ClutterActorAlign clutter_actor_get_y_align (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_margin_top (ClutterActor *self,
gfloat margin);
CLUTTER_AVAILABLE_IN_1_10
gfloat clutter_actor_get_margin_top (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_margin_bottom (ClutterActor *self,
gfloat margin);
CLUTTER_AVAILABLE_IN_1_10
gfloat clutter_actor_get_margin_bottom (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_margin_left (ClutterActor *self,
gfloat margin);
CLUTTER_AVAILABLE_IN_1_10
gfloat clutter_actor_get_margin_left (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_margin_right (ClutterActor *self,
gfloat margin);
CLUTTER_AVAILABLE_IN_1_10
gfloat clutter_actor_get_margin_right (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_margin (ClutterActor *self,
const ClutterMargin *margin);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_get_margin (ClutterActor *self,
ClutterMargin *margin);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_set_x_expand (ClutterActor *self,
gboolean expand);
CLUTTER_AVAILABLE_IN_1_12
gboolean clutter_actor_get_x_expand (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_set_y_expand (ClutterActor *self,
gboolean expand);
CLUTTER_AVAILABLE_IN_1_12
gboolean clutter_actor_get_y_expand (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_12
gboolean clutter_actor_needs_expand (ClutterActor *self,
ClutterOrientation orientation);
@ -488,42 +488,42 @@ gboolean clutter_actor_get_paint_box
gboolean clutter_actor_has_overlaps (ClutterActor *self);
/* Content */
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_content (ClutterActor *self,
ClutterContent *content);
CLUTTER_AVAILABLE_IN_1_10
ClutterContent * clutter_actor_get_content (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_content_gravity (ClutterActor *self,
ClutterContentGravity gravity);
CLUTTER_AVAILABLE_IN_1_10
ClutterContentGravity clutter_actor_get_content_gravity (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_content_scaling_filters (ClutterActor *self,
ClutterScalingFilter min_filter,
ClutterScalingFilter mag_filter);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_get_content_scaling_filters (ClutterActor *self,
ClutterScalingFilter *min_filter,
ClutterScalingFilter *mag_filter);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_set_content_repeat (ClutterActor *self,
ClutterContentRepeat repeat);
CLUTTER_AVAILABLE_IN_1_12
ClutterContentRepeat clutter_actor_get_content_repeat (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_get_content_box (ClutterActor *self,
ClutterActorBox *box);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_background_color (ClutterActor *self,
const ClutterColor *color);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_get_background_color (ClutterActor *self,
ClutterColor *color);
const ClutterPaintVolume * clutter_actor_get_paint_volume (ClutterActor *self);
const ClutterPaintVolume * clutter_actor_get_transformed_paint_volume (ClutterActor *self,
ClutterActor *relative_to_ancestor);
CLUTTER_AVAILABLE_IN_1_10
const ClutterPaintVolume * clutter_actor_get_default_paint_volume (ClutterActor *self);
/* Events */
@ -547,100 +547,100 @@ void clutter_actor_set_text_direction
ClutterTextDirection clutter_actor_get_text_direction (ClutterActor *self);
/* Actor hierarchy */
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_add_child (ClutterActor *self,
ClutterActor *child);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_insert_child_at_index (ClutterActor *self,
ClutterActor *child,
gint index_);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_insert_child_above (ClutterActor *self,
ClutterActor *child,
ClutterActor *sibling);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_insert_child_below (ClutterActor *self,
ClutterActor *child,
ClutterActor *sibling);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_replace_child (ClutterActor *self,
ClutterActor *old_child,
ClutterActor *new_child);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_remove_child (ClutterActor *self,
ClutterActor *child);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_remove_all_children (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_destroy_all_children (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
GList * clutter_actor_get_children (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
gint clutter_actor_get_n_children (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
ClutterActor * clutter_actor_get_child_at_index (ClutterActor *self,
gint index_);
CLUTTER_AVAILABLE_IN_1_10
ClutterActor * clutter_actor_get_previous_sibling (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
ClutterActor * clutter_actor_get_next_sibling (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
ClutterActor * clutter_actor_get_first_child (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
ClutterActor * clutter_actor_get_last_child (ClutterActor *self);
ClutterActor * clutter_actor_get_parent (ClutterActor *self);
gboolean clutter_actor_contains (ClutterActor *self,
ClutterActor *descendant);
ClutterActor* clutter_actor_get_stage (ClutterActor *actor);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_child_below_sibling (ClutterActor *self,
ClutterActor *child,
ClutterActor *sibling);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_child_above_sibling (ClutterActor *self,
ClutterActor *child,
ClutterActor *sibling);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_child_at_index (ClutterActor *self,
ClutterActor *child,
gint index_);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_iter_init (ClutterActorIter *iter,
ClutterActor *root);
CLUTTER_AVAILABLE_IN_1_10
gboolean clutter_actor_iter_next (ClutterActorIter *iter,
ClutterActor **child);
CLUTTER_AVAILABLE_IN_1_10
gboolean clutter_actor_iter_prev (ClutterActorIter *iter,
ClutterActor **child);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_iter_remove (ClutterActorIter *iter);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_iter_destroy (ClutterActorIter *iter);
CLUTTER_AVAILABLE_IN_1_12
gboolean clutter_actor_iter_is_valid (const ClutterActorIter *iter);
/* Transformations */
gboolean clutter_actor_is_rotated (ClutterActor *self);
gboolean clutter_actor_is_scaled (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_set_pivot_point (ClutterActor *self,
gfloat pivot_x,
gfloat pivot_y);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_get_pivot_point (ClutterActor *self,
gfloat *pivot_x,
gfloat *pivot_y);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_set_pivot_point_z (ClutterActor *self,
gfloat pivot_z);
CLUTTER_AVAILABLE_IN_1_12
gfloat clutter_actor_get_pivot_point_z (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_set_rotation_angle (ClutterActor *self,
ClutterRotateAxis axis,
gdouble angle);
CLUTTER_AVAILABLE_IN_1_12
gdouble clutter_actor_get_rotation_angle (ClutterActor *self,
ClutterRotateAxis axis);
void clutter_actor_set_scale (ClutterActor *self,
@ -649,31 +649,31 @@ void clutter_actor_set_scale
void clutter_actor_get_scale (ClutterActor *self,
gdouble *scale_x,
gdouble *scale_y);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_set_scale_z (ClutterActor *self,
gdouble scale_z);
CLUTTER_AVAILABLE_IN_1_12
gdouble clutter_actor_get_scale_z (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_set_translation (ClutterActor *self,
gfloat translate_x,
gfloat translate_y,
gfloat translate_z);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_get_translation (ClutterActor *self,
gfloat *translate_x,
gfloat *translate_y,
gfloat *translate_z);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_set_transform (ClutterActor *self,
const ClutterMatrix *transform);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_get_transform (ClutterActor *self,
ClutterMatrix *transform);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_set_child_transform (ClutterActor *self,
const ClutterMatrix *transform);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_get_child_transform (ClutterActor *self,
ClutterMatrix *transform);
void clutter_actor_get_transformed_position (ClutterActor *self,
@ -698,45 +698,38 @@ void clutter_actor_apply_relative_transform_to_point
ClutterVertex *vertex);
/* Implicit animations */
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_save_easing_state (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_restore_easing_state (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_easing_mode (ClutterActor *self,
ClutterAnimationMode mode);
CLUTTER_AVAILABLE_IN_1_10
ClutterAnimationMode clutter_actor_get_easing_mode (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_easing_duration (ClutterActor *self,
guint msecs);
CLUTTER_AVAILABLE_IN_1_10
guint clutter_actor_get_easing_duration (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_easing_delay (ClutterActor *self,
guint msecs);
CLUTTER_AVAILABLE_IN_1_10
guint clutter_actor_get_easing_delay (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
ClutterTransition * clutter_actor_get_transition (ClutterActor *self,
const char *name);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_add_transition (ClutterActor *self,
const char *name,
ClutterTransition *transition);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_remove_transition (ClutterActor *self,
const char *name);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_remove_all_transitions (ClutterActor *self);
/* Experimental API */
#ifdef CLUTTER_ENABLE_EXPERIMENTAL_API
CLUTTER_AVAILABLE_IN_1_16
gboolean clutter_actor_has_mapped_clones (ClutterActor *self);
#endif
G_END_DECLS
#endif /* __CLUTTER_ACTOR_H__ */

View File

@ -272,7 +272,7 @@ clutter_align_constraint_class_init (ClutterAlignConstraintClass *klass)
* The #ClutterActor must not be a child or a grandchild of the actor
* using the constraint.
*
*
* Since: 1.4
*/
obj_props[PROP_SOURCE] =
g_param_spec_object ("source",
@ -286,7 +286,7 @@ clutter_align_constraint_class_init (ClutterAlignConstraintClass *klass)
*
* The axis to be used to compute the alignment
*
*
* Since: 1.4
*/
obj_props[PROP_ALIGN_AXIS] =
g_param_spec_enum ("align-axis",
@ -306,7 +306,7 @@ clutter_align_constraint_class_init (ClutterAlignConstraintClass *klass)
* 1.0 means right; with a value of %CLUTTER_ALIGN_Y_AXIS, 0.0 means top
* and 1.0 means bottom.
*
*
* Since: 1.4
*/
obj_props[PROP_FACTOR] =
g_param_spec_float ("factor",
@ -344,7 +344,7 @@ clutter_align_constraint_init (ClutterAlignConstraint *self)
*
* Return value: the newly created #ClutterAlignConstraint
*
*
* Since: 1.4
*/
ClutterConstraint *
clutter_align_constraint_new (ClutterActor *source,
@ -367,7 +367,7 @@ clutter_align_constraint_new (ClutterActor *source,
*
* Sets the source of the alignment constraint
*
*
* Since: 1.4
*/
void
clutter_align_constraint_set_source (ClutterAlignConstraint *align,
@ -435,7 +435,7 @@ clutter_align_constraint_set_source (ClutterAlignConstraint *align,
* Return value: (transfer none): the #ClutterActor used as the source
* of the alignment
*
*
* Since: 1.4
*/
ClutterActor *
clutter_align_constraint_get_source (ClutterAlignConstraint *align)
@ -452,7 +452,7 @@ clutter_align_constraint_get_source (ClutterAlignConstraint *align)
*
* Sets the axis to which the alignment refers to
*
*
* Since: 1.4
*/
void
clutter_align_constraint_set_align_axis (ClutterAlignConstraint *align,
@ -479,7 +479,7 @@ clutter_align_constraint_set_align_axis (ClutterAlignConstraint *align,
*
* Return value: the alignment axis
*
*
* Since: 1.4
*/
ClutterAlignAxis
clutter_align_constraint_get_align_axis (ClutterAlignConstraint *align)
@ -507,7 +507,7 @@ clutter_align_constraint_get_align_axis (ClutterAlignConstraint *align)
* %CLUTTER_ALIGN_Y_AXIS). A value of 0.5 aligns in the middle in either
* cases
*
*
* Since: 1.4
*/
void
clutter_align_constraint_set_factor (ClutterAlignConstraint *align,
@ -531,7 +531,7 @@ clutter_align_constraint_set_factor (ClutterAlignConstraint *align,
*
* Return value: the alignment factor
*
*
* Since: 1.4
*/
gfloat
clutter_align_constraint_get_factor (ClutterAlignConstraint *align)

View File

@ -43,7 +43,7 @@ G_BEGIN_DECLS
* <structname>ClutterAlignConstraint</structname> is an opaque structure
* whose members cannot be directly accesses
*
*
* Since: 1.4
*/
typedef struct _ClutterAlignConstraint ClutterAlignConstraint;
typedef struct _ClutterAlignConstraintClass ClutterAlignConstraintClass;

View File

@ -49,11 +49,16 @@
#include "config.h"
#endif
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
#include "clutter-animatable.h"
#include "clutter-interval.h"
#include "clutter-debug.h"
#include "clutter-private.h"
#include "deprecated/clutter-animatable.h"
#include "deprecated/clutter-animation.h"
typedef ClutterAnimatableIface ClutterAnimatableInterface;
G_DEFINE_INTERFACE (ClutterAnimatable, clutter_animatable, G_TYPE_OBJECT);
@ -62,6 +67,80 @@ clutter_animatable_default_init (ClutterAnimatableInterface *iface)
{
}
/**
* clutter_animatable_animate_property:
* @animatable: a #ClutterAnimatable
* @animation: a #ClutterAnimation
* @property_name: the name of the animated property
* @initial_value: the initial value of the animation interval
* @final_value: the final value of the animation interval
* @progress: the progress factor
* @value: return location for the animation value
*
* Calls the animate_property() virtual function for @animatable.
*
* The @initial_value and @final_value #GValue<!-- -->s must contain
* the same type; @value must have been initialized to the same
* type of @initial_value and @final_value.
*
* All implementation of the #ClutterAnimatable interface must
* implement this function.
*
* Return value: %TRUE if the value has been validated and can
* be applied to the #ClutterAnimatable, and %FALSE otherwise
*
* Since: 1.0
*
* Deprecated: 1.8: Use clutter_animatable_interpolate_value()
* instead
*/
gboolean
clutter_animatable_animate_property (ClutterAnimatable *animatable,
ClutterAnimation *animation,
const gchar *property_name,
const GValue *initial_value,
const GValue *final_value,
gdouble progress,
GValue *value)
{
ClutterAnimatableIface *iface;
gboolean res;
g_return_val_if_fail (CLUTTER_IS_ANIMATABLE (animatable), FALSE);
g_return_val_if_fail (CLUTTER_IS_ANIMATION (animation), FALSE);
g_return_val_if_fail (property_name != NULL, FALSE);
g_return_val_if_fail (initial_value != NULL && final_value != NULL, FALSE);
g_return_val_if_fail (G_VALUE_TYPE (initial_value) != G_TYPE_INVALID, FALSE);
g_return_val_if_fail (G_VALUE_TYPE (final_value) != G_TYPE_INVALID, FALSE);
g_return_val_if_fail (value != NULL, FALSE);
g_return_val_if_fail (G_VALUE_TYPE (value) == G_VALUE_TYPE (initial_value) &&
G_VALUE_TYPE (value) == G_VALUE_TYPE (final_value),
FALSE);
iface = CLUTTER_ANIMATABLE_GET_IFACE (animatable);
if (iface->animate_property == NULL)
{
ClutterInterval *interval;
interval = clutter_animation_get_interval (animation, property_name);
if (interval == NULL)
return FALSE;
res = clutter_animatable_interpolate_value (animatable, property_name,
interval,
progress,
value);
}
else
res = iface->animate_property (animatable, animation,
property_name,
initial_value, final_value,
progress,
value);
return res;
}
/**
* clutter_animatable_find_property:
* @animatable: a #ClutterAnimatable
@ -72,7 +151,7 @@ clutter_animatable_default_init (ClutterAnimatableInterface *iface)
* Return value: (transfer none): The #GParamSpec for the given property
* or %NULL
*
*
* Since: 1.4
*/
GParamSpec *
clutter_animatable_find_property (ClutterAnimatable *animatable,
@ -101,7 +180,7 @@ clutter_animatable_find_property (ClutterAnimatable *animatable,
*
* Retrieves the current state of @property_name and sets @value with it
*
*
* Since: 1.4
*/
void
clutter_animatable_get_initial_state (ClutterAnimatable *animatable,
@ -130,7 +209,7 @@ clutter_animatable_get_initial_state (ClutterAnimatable *animatable,
*
* Sets the current state of @property_name to @value
*
*
* Since: 1.4
*/
void
clutter_animatable_set_final_state (ClutterAnimatable *animatable,
@ -169,10 +248,12 @@ clutter_animatable_set_final_state (ClutterAnimatable *animatable,
* This function should be used for every property animation
* involving #ClutterAnimatable<!-- -->s.
*
* This function replaces clutter_animatable_animate_property().
*
* Return value: %TRUE if the interpolation was successful,
* and %FALSE otherwise
*
*
* Since: 1.8
*/
gboolean
clutter_animatable_interpolate_value (ClutterAnimatable *animatable,

View File

@ -46,11 +46,13 @@ typedef struct _ClutterAnimatableIface ClutterAnimatableIface;
* #ClutterAnimatable is an opaque structure whose members cannot be directly
* accessed
*
*
* Since: 1.0
*/
/**
* ClutterAnimatableIface:
* @animate_property: virtual function for custom interpolation of a
* property. This virtual function is deprecated
* @find_property: virtual function for retrieving the #GParamSpec of
* an animatable property
* @get_initial_state: virtual function for retrieving the initial
@ -63,7 +65,7 @@ typedef struct _ClutterAnimatableIface ClutterAnimatableIface;
* Base interface for #GObject<!-- -->s that can be animated by a
* a #ClutterAnimation.
*
*
* Since: 1.0
*/
struct _ClutterAnimatableIface
{
@ -71,6 +73,13 @@ struct _ClutterAnimatableIface
GTypeInterface parent_iface;
/*< public >*/
gboolean (* animate_property) (ClutterAnimatable *animatable,
ClutterAnimation *animation,
const gchar *property_name,
const GValue *initial_value,
const GValue *final_value,
gdouble progress,
GValue *value);
GParamSpec *(* find_property) (ClutterAnimatable *animatable,
const gchar *property_name);
void (* get_initial_state) (ClutterAnimatable *animatable,

View File

@ -55,6 +55,9 @@
#include "clutter-stage-window.h"
#include "clutter-version.h"
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
#include "deprecated/clutter-backend.h"
#ifdef HAVE_CLUTTER_WAYLAND_COMPOSITOR
#include "wayland/clutter-wayland-compositor.h"
#endif /* HAVE_CLUTTER_WAYLAND_COMPOSITOR */
@ -101,6 +104,8 @@ struct _ClutterBackendPrivate
{
cairo_font_options_t *font_options;
gchar *font_name;
gfloat units_per_em;
gint32 units_serial;
@ -150,6 +155,7 @@ clutter_backend_finalize (GObject *gobject)
g_source_destroy (backend->cogl_source);
g_free (backend->priv->font_name);
clutter_backend_set_font_options (backend, NULL);
G_OBJECT_CLASS (clutter_backend_parent_class)->finalize (gobject);
@ -596,7 +602,7 @@ clutter_backend_class_init (ClutterBackendClass *klass)
* The ::resolution-changed signal is emitted each time the font
* resolutions has been changed through #ClutterSettings.
*
*
* Since: 1.0
*/
backend_signals[RESOLUTION_CHANGED] =
g_signal_new (I_("resolution-changed"),
@ -614,7 +620,7 @@ clutter_backend_class_init (ClutterBackendClass *klass)
* The ::font-changed signal is emitted each time the font options
* have been changed through #ClutterSettings.
*
*
* Since: 1.0
*/
backend_signals[FONT_CHANGED] =
g_signal_new (I_("font-changed"),
@ -632,7 +638,7 @@ clutter_backend_class_init (ClutterBackendClass *klass)
* The ::settings-changed signal is emitted each time the #ClutterSettings
* properties have been changed.
*
*
* Since: 1.4
*/
backend_signals[SETTINGS_CHANGED] =
g_signal_new (I_("settings-changed"),
@ -927,7 +933,7 @@ _clutter_backend_free_event_data (ClutterBackend *backend,
* not ref or unref the returned object. Applications should rarely
* need to use this.
*
*
* Since: 0.4
*/
ClutterBackend *
clutter_get_default_backend (void)
@ -939,6 +945,129 @@ clutter_get_default_backend (void)
return clutter_context->backend;
}
/**
* clutter_backend_set_double_click_time:
* @backend: a #ClutterBackend
* @msec: milliseconds between two button press events
*
* Sets the maximum time between two button press events, used to
* verify whether it's a double click event or not.
*
* Since: 0.4
*
* Deprecated: 1.4: Use #ClutterSettings:double-click-time instead
*/
void
clutter_backend_set_double_click_time (ClutterBackend *backend,
guint msec)
{
ClutterSettings *settings = clutter_settings_get_default ();
g_object_set (settings, "double-click-time", msec, NULL);
}
/**
* clutter_backend_get_double_click_time:
* @backend: a #ClutterBackend
*
* Gets the maximum time between two button press events, as set
* by clutter_backend_set_double_click_time().
*
* Return value: a time in milliseconds
*
* Since: 0.4
*
* Deprecated: 1.4: Use #ClutterSettings:double-click-time instead
*/
guint
clutter_backend_get_double_click_time (ClutterBackend *backend)
{
ClutterSettings *settings = clutter_settings_get_default ();
gint retval;
g_object_get (settings, "double-click-time", &retval, NULL);
return retval;
}
/**
* clutter_backend_set_double_click_distance:
* @backend: a #ClutterBackend
* @distance: a distance, in pixels
*
* Sets the maximum distance used to verify a double click event.
*
* Since: 0.4
*
* Deprecated: 1.4: Use #ClutterSettings:double-click-distance instead
*/
void
clutter_backend_set_double_click_distance (ClutterBackend *backend,
guint distance)
{
ClutterSettings *settings = clutter_settings_get_default ();
g_object_set (settings, "double-click-distance", distance, NULL);
}
/**
* clutter_backend_get_double_click_distance:
* @backend: a #ClutterBackend
*
* Retrieves the distance used to verify a double click event
*
* Return value: a distance, in pixels.
*
* Since: 0.4
*
* Deprecated: 1.4: Use #ClutterSettings:double-click-distance instead
*/
guint
clutter_backend_get_double_click_distance (ClutterBackend *backend)
{
ClutterSettings *settings = clutter_settings_get_default ();
gint retval;
g_object_get (settings, "double-click-distance", &retval, NULL);
return retval;
}
/**
* clutter_backend_set_resolution:
* @backend: a #ClutterBackend
* @dpi: the resolution in "dots per inch" (Physical inches aren't
* actually involved; the terminology is conventional).
*
* Sets the resolution for font handling on the screen. This is a
* scale factor between points specified in a #PangoFontDescription
* and cairo units. The default value is 96, meaning that a 10 point
* font will be 13 units high. (10 * 96. / 72. = 13.3).
*
* Applications should never need to call this function.
*
* Since: 0.4
*
* Deprecated: 1.4: Use #ClutterSettings:font-dpi instead
*/
void
clutter_backend_set_resolution (ClutterBackend *backend,
gdouble dpi)
{
ClutterSettings *settings;
gint resolution;
g_return_if_fail (CLUTTER_IS_BACKEND (backend));
if (dpi < 0)
resolution = -1;
else
resolution = dpi * 1024;
settings = clutter_settings_get_default ();
g_object_set (settings, "font-dpi", resolution, NULL);
}
/**
* clutter_backend_get_resolution:
* @backend: a #ClutterBackend
@ -957,7 +1086,7 @@ clutter_get_default_backend (void)
* Return value: the current resolution, or -1 if no resolution
* has been set.
*
*
* Since: 0.4
*/
gdouble
clutter_backend_get_resolution (ClutterBackend *backend)
@ -991,7 +1120,7 @@ clutter_backend_get_resolution (ClutterBackend *backend)
* This function is intended for actors creating a Pango layout
* using the PangoCairo API.
*
*
* Since: 0.8
*/
void
clutter_backend_set_font_options (ClutterBackend *backend,
@ -1027,7 +1156,7 @@ clutter_backend_set_font_options (ClutterBackend *backend,
* The returned #cairo_font_options_t is owned by the backend and should
* not be modified or freed
*
*
* Since: 0.8
*/
const cairo_font_options_t *
clutter_backend_get_font_options (ClutterBackend *backend)
@ -1055,6 +1184,64 @@ clutter_backend_get_font_options (ClutterBackend *backend)
return priv->font_options;
}
/**
* clutter_backend_set_font_name:
* @backend: a #ClutterBackend
* @font_name: the name of the font
*
* Sets the default font to be used by Clutter. The @font_name string
* must either be %NULL, which means that the font name from the
* default #ClutterBackend will be used; or be something that can
* be parsed by the pango_font_description_from_string() function.
*
* Since: 1.0
*
* Deprecated: 1.4: Use #ClutterSettings:font-name instead
*/
void
clutter_backend_set_font_name (ClutterBackend *backend,
const gchar *font_name)
{
ClutterSettings *settings = clutter_settings_get_default ();
g_object_set (settings, "font-name", font_name, NULL);
}
/**
* clutter_backend_get_font_name:
* @backend: a #ClutterBackend
*
* Retrieves the default font name as set by
* clutter_backend_set_font_name().
*
* Return value: the font name for the backend. The returned string is
* owned by the #ClutterBackend and should never be modified or freed
*
* Since: 1.0
*
* Deprecated: 1.4: Use #ClutterSettings:font-name instead
*/
const gchar *
clutter_backend_get_font_name (ClutterBackend *backend)
{
ClutterBackendPrivate *priv;
ClutterSettings *settings;
g_return_val_if_fail (CLUTTER_IS_BACKEND (backend), NULL);
priv = backend->priv;
settings = clutter_settings_get_default ();
/* XXX yuck. but we return a const pointer, so we need to
* store it in the backend
*/
g_free (priv->font_name);
g_object_get (settings, "font-name", &priv->font_name, NULL);
return priv->font_name;
}
gint32
_clutter_backend_get_units_serial (ClutterBackend *backend)
{
@ -1114,7 +1301,7 @@ _clutter_backend_remove_event_translator (ClutterBackend *backend,
*
* Return value: The #CoglContext associated with @backend.
*
*
* Since: 1.8
* Stability: unstable
*/
CoglContext *
@ -1131,7 +1318,7 @@ clutter_backend_get_cogl_context (ClutterBackend *backend)
* This informs Clutter of your compositor side Wayland display
* object. This must be called before calling clutter_init().
*
*
* Since: 1.8
* Stability: unstable
*/
void

View File

@ -50,7 +50,7 @@ G_BEGIN_DECLS
* <structname>ClutterBackend</structname> is an opaque structure whose
* members cannot be directly accessed.
*
*
* Since: 0.4
*/
typedef struct _ClutterBackend ClutterBackend;
typedef struct _ClutterBackendClass ClutterBackendClass;

View File

@ -43,6 +43,114 @@
/*
* ClutterGeometry
*/
static ClutterGeometry*
clutter_geometry_copy (const ClutterGeometry *geometry)
{
return g_slice_dup (ClutterGeometry, geometry);
}
static void
clutter_geometry_free (ClutterGeometry *geometry)
{
if (G_LIKELY (geometry != NULL))
g_slice_free (ClutterGeometry, geometry);
}
/**
* clutter_geometry_union:
* @geometry_a: a #ClutterGeometry
* @geometry_b: another #ClutterGeometry
* @result: (out): location to store the result
*
* Find the union of two rectangles represented as #ClutterGeometry.
*
* Since: 1.4
*
* Deprecated: 1.16: Use #ClutterRect and clutter_rect_union()
*/
void
clutter_geometry_union (const ClutterGeometry *geometry_a,
const ClutterGeometry *geometry_b,
ClutterGeometry *result)
{
/* We don't try to handle rectangles that can't be represented
* as a signed integer box */
gint x_1 = MIN (geometry_a->x, geometry_b->x);
gint y_1 = MIN (geometry_a->y, geometry_b->y);
gint x_2 = MAX (geometry_a->x + (gint)geometry_a->width,
geometry_b->x + (gint)geometry_b->width);
gint y_2 = MAX (geometry_a->y + (gint)geometry_a->height,
geometry_b->y + (gint)geometry_b->height);
result->x = x_1;
result->y = y_1;
result->width = x_2 - x_1;
result->height = y_2 - y_1;
}
/**
* clutter_geometry_intersects:
* @geometry0: The first geometry to test
* @geometry1: The second geometry to test
*
* Determines if @geometry0 and geometry1 intersect returning %TRUE if
* they do else %FALSE.
*
* Return value: %TRUE of @geometry0 and geometry1 intersect else
* %FALSE.
*
* Since: 1.4
*
* Deprecated: 1.16: Use #ClutterRect and clutter_rect_intersection()
*/
gboolean
clutter_geometry_intersects (const ClutterGeometry *geometry0,
const ClutterGeometry *geometry1)
{
if (geometry1->x >= (geometry0->x + (gint)geometry0->width) ||
geometry1->y >= (geometry0->y + (gint)geometry0->height) ||
(geometry1->x + (gint)geometry1->width) <= geometry0->x ||
(geometry1->y + (gint)geometry1->height) <= geometry0->y)
return FALSE;
else
return TRUE;
}
static gboolean
clutter_geometry_progress (const GValue *a,
const GValue *b,
gdouble progress,
GValue *retval)
{
const ClutterGeometry *a_geom = g_value_get_boxed (a);
const ClutterGeometry *b_geom = g_value_get_boxed (b);
ClutterGeometry res = { 0, };
gint a_width = a_geom->width;
gint b_width = b_geom->width;
gint a_height = a_geom->height;
gint b_height = b_geom->height;
res.x = a_geom->x + (b_geom->x - a_geom->x) * progress;
res.y = a_geom->y + (b_geom->y - a_geom->y) * progress;
res.width = a_width + (b_width - a_width) * progress;
res.height = a_height + (b_height - a_height) * progress;
g_value_set_boxed (retval, &res);
return TRUE;
}
G_DEFINE_BOXED_TYPE_WITH_CODE (ClutterGeometry, clutter_geometry,
clutter_geometry_copy,
clutter_geometry_free,
CLUTTER_REGISTER_INTERVAL_PROGRESS (clutter_geometry_progress));
/*
* ClutterVertices
*/
@ -65,7 +173,7 @@
* Return value: (transfer full): the newly allocated #ClutterVertex.
* Use clutter_vertex_free() to free the resources
*
*
* Since: 1.0
*/
ClutterVertex *
clutter_vertex_new (gfloat x,
@ -83,7 +191,7 @@ clutter_vertex_new (gfloat x,
* Return value: (transfer full): the newly allocated #ClutterVertex.
* Use clutter_vertex_free() to free its resources
*
*
* Since: 1.12
*/
ClutterVertex *
clutter_vertex_alloc (void)
@ -102,7 +210,7 @@ clutter_vertex_alloc (void)
*
* Return value: (transfer none): the initialized #ClutterVertex
*
*
* Since: 1.10
*/
ClutterVertex *
clutter_vertex_init (ClutterVertex *vertex,
@ -128,7 +236,7 @@ clutter_vertex_init (ClutterVertex *vertex,
* Return value: (transfer full): a newly allocated copy of #ClutterVertex.
* Use clutter_vertex_free() to free the allocated resources
*
*
* Since: 1.0
*/
ClutterVertex *
clutter_vertex_copy (const ClutterVertex *vertex)
@ -146,7 +254,7 @@ clutter_vertex_copy (const ClutterVertex *vertex)
* Frees a #ClutterVertex allocated using clutter_vertex_alloc() or
* clutter_vertex_copy().
*
*
* Since: 1.0
*/
void
clutter_vertex_free (ClutterVertex *vertex)
@ -164,7 +272,7 @@ clutter_vertex_free (ClutterVertex *vertex)
*
* Return value: %TRUE if the passed #ClutterVertex are equal
*
*
* Since: 1.0
*/
gboolean
clutter_vertex_equal (const ClutterVertex *vertex_a,
@ -228,7 +336,7 @@ G_DEFINE_BOXED_TYPE_WITH_CODE (ClutterVertex, clutter_vertex,
* clutter_margin_free() to free the resources associated with it when
* done.
*
*
* Since: 1.10
*/
ClutterMargin *
clutter_margin_new (void)
@ -245,7 +353,7 @@ clutter_margin_new (void)
*
* Return value: (transfer full): a copy of the #ClutterMargin.
*
*
* Since: 1.10
*/
ClutterMargin *
clutter_margin_copy (const ClutterMargin *margin_)
@ -263,7 +371,7 @@ clutter_margin_copy (const ClutterMargin *margin_)
* Frees the resources allocated by clutter_margin_new() and
* clutter_margin_copy().
*
*
* Since: 1.10
*/
void
clutter_margin_free (ClutterMargin *margin_)
@ -294,7 +402,7 @@ static const ClutterPoint _clutter_point_zero = CLUTTER_POINT_INIT_ZERO;
* Return value: a point centered in (0, 0); the returned #ClutterPoint
* is owned by Clutter and it should not be modified or freed.
*
*
* Since: 1.12
*/
const ClutterPoint *
clutter_point_zero (void)
@ -310,7 +418,7 @@ clutter_point_zero (void)
* Return value: (transfer full): the newly allocated #ClutterPoint.
* Use clutter_point_free() to free its resources.
*
*
* Since: 1.12
*/
ClutterPoint *
clutter_point_alloc (void)
@ -328,7 +436,7 @@ clutter_point_alloc (void)
*
* Return value: (transfer none): the initialized #ClutterPoint
*
*
* Since: 1.12
*/
ClutterPoint *
clutter_point_init (ClutterPoint *point,
@ -352,7 +460,7 @@ clutter_point_init (ClutterPoint *point,
* Return value: (transfer full): a newly allocated #ClutterPoint.
* Use clutter_point_free() to free its resources.
*
*
* Since: 1.12
*/
ClutterPoint *
clutter_point_copy (const ClutterPoint *point)
@ -366,7 +474,7 @@ clutter_point_copy (const ClutterPoint *point)
*
* Frees the resources allocated for @point.
*
*
* Since: 1.12
*/
void
clutter_point_free (ClutterPoint *point)
@ -384,7 +492,7 @@ clutter_point_free (ClutterPoint *point)
*
* Return value: %TRUE if the #ClutterPoints are equal
*
*
* Since: 1.12
*/
gboolean
clutter_point_equals (const ClutterPoint *a,
@ -413,7 +521,7 @@ clutter_point_equals (const ClutterPoint *a,
*
* Return value: the distance between the points.
*
*
* Since: 1.12
*/
float
clutter_point_distance (const ClutterPoint *a,
@ -478,7 +586,7 @@ G_DEFINE_BOXED_TYPE_WITH_CODE (ClutterPoint, clutter_point,
* Return value: (transfer full): the newly allocated #ClutterSize.
* Use clutter_size_free() to free its resources.
*
*
* Since: 1.12
*/
ClutterSize *
clutter_size_alloc (void)
@ -496,7 +604,7 @@ clutter_size_alloc (void)
*
* Return value: (transfer none): the initialized #ClutterSize
*
*
* Since: 1.12
*/
ClutterSize *
clutter_size_init (ClutterSize *size,
@ -520,7 +628,7 @@ clutter_size_init (ClutterSize *size,
* Return value: (transfer full): the newly allocated #ClutterSize.
* Use clutter_size_free() to free its resources.
*
*
* Since: 1.12
*/
ClutterSize *
clutter_size_copy (const ClutterSize *size)
@ -534,7 +642,7 @@ clutter_size_copy (const ClutterSize *size)
*
* Frees the resources allocated for @size.
*
*
* Since: 1.12
*/
void
clutter_size_free (ClutterSize *size)
@ -552,7 +660,7 @@ clutter_size_free (ClutterSize *size)
*
* Return value: %TRUE if the two #ClutterSize are equal
*
*
* Since: 1.12
*/
gboolean
clutter_size_equals (const ClutterSize *a,
@ -644,7 +752,7 @@ clutter_rect_normalize_internal (ClutterRect *rect)
* The returned #ClutterRect is owned by Clutter and it should not
* be modified or freed.
*
*
* Since: 1.12
*/
const ClutterRect *
clutter_rect_zero (void)
@ -667,7 +775,7 @@ clutter_rect_zero (void)
* Return value: (transfer full): the newly allocated #ClutterRect.
* Use clutter_rect_free() to free its resources
*
*
* Since: 1.12
*/
ClutterRect *
clutter_rect_alloc (void)
@ -687,7 +795,7 @@ clutter_rect_alloc (void)
*
* Return value: (transfer none): the updated rectangle
*
*
* Since: 1.12
*/
ClutterRect *
clutter_rect_init (ClutterRect *rect,
@ -716,7 +824,7 @@ clutter_rect_init (ClutterRect *rect,
* Return value: (transfer full): the newly allocate copy of @rect.
* Use clutter_rect_free() to free the associated resources
*
*
* Since: 1.12
*/
ClutterRect *
clutter_rect_copy (const ClutterRect *rect)
@ -740,7 +848,7 @@ clutter_rect_copy (const ClutterRect *rect)
*
* Frees the resources allocated by @rect.
*
*
* Since: 1.12
*/
void
clutter_rect_free (ClutterRect *rect)
@ -761,7 +869,7 @@ clutter_rect_free (ClutterRect *rect)
*
* Return value: %TRUE if the rectangles match in origin and size.
*
*
* Since: 1.12
*/
gboolean
clutter_rect_equals (ClutterRect *a,
@ -794,7 +902,7 @@ clutter_rect_equals (ClutterRect *a,
* This function is useful to ensure that a rectangle has positive width
* and height; it will modify the passed @rect and normalize its size.
*
*
* Since: 1.12
*/
ClutterRect *
clutter_rect_normalize (ClutterRect *rect)
@ -814,7 +922,7 @@ clutter_rect_normalize (ClutterRect *rect)
* Retrieves the center of @rect, after normalizing the rectangle,
* and updates @center with the correct coordinates.
*
*
* Since: 1.12
*/
void
clutter_rect_get_center (ClutterRect *rect,
@ -839,7 +947,7 @@ clutter_rect_get_center (ClutterRect *rect,
*
* Return value: %TRUE if the @point is contained by @rect.
*
*
* Since: 1.12
*/
gboolean
clutter_rect_contains_point (ClutterRect *rect,
@ -868,7 +976,7 @@ clutter_rect_contains_point (ClutterRect *rect,
*
* Return value: %TRUE if the first rectangle contains the second.
*
*
* Since: 1.12
*/
gboolean
clutter_rect_contains_rect (ClutterRect *a,
@ -896,7 +1004,7 @@ clutter_rect_contains_rect (ClutterRect *a,
* This function will normalize both @a and @b prior to computing their
* union.
*
*
* Since: 1.12
*/
void
clutter_rect_union (ClutterRect *a,
@ -934,7 +1042,7 @@ clutter_rect_union (ClutterRect *a,
*
* Return value: %TRUE if the intersection of @a and @b is not empty
*
*
* Since: 1.12
*/
gboolean
clutter_rect_intersection (ClutterRect *a,
@ -977,7 +1085,7 @@ clutter_rect_intersection (ClutterRect *a,
* Offsets the origin of @rect by the given values, after normalizing
* the rectangle.
*
*
* Since: 1.12
*/
void
clutter_rect_offset (ClutterRect *rect,
@ -1009,7 +1117,7 @@ clutter_rect_offset (ClutterRect *rect,
* If the resulting rectangle has a negative width or height, the size is
* set to 0.
*
*
* Since: 1.12
*/
void
clutter_rect_inset (ClutterRect *rect,
@ -1049,7 +1157,7 @@ clutter_rect_inset (ClutterRect *rect,
* updated to the smallest rectangle capable of fully containing the
* original, fractional rectangle.
*
*
* Since: 1.12
*/
void
clutter_rect_clamp_to_pixel (ClutterRect *rect)
@ -1073,7 +1181,7 @@ clutter_rect_clamp_to_pixel (ClutterRect *rect)
*
* Return value: the X coordinate of the origin of the rectangle
*
*
* Since: 1.12
*/
float
clutter_rect_get_x (ClutterRect *rect)
@ -1093,7 +1201,7 @@ clutter_rect_get_x (ClutterRect *rect)
*
* Return value: the Y coordinate of the origin of the rectangle
*
*
* Since: 1.12
*/
float
clutter_rect_get_y (ClutterRect *rect)
@ -1113,7 +1221,7 @@ clutter_rect_get_y (ClutterRect *rect)
*
* Return value: the width of the rectangle
*
*
* Since: 1.12
*/
float
clutter_rect_get_width (ClutterRect *rect)
@ -1133,7 +1241,7 @@ clutter_rect_get_width (ClutterRect *rect)
*
* Return value: the height of the rectangle
*
*
* Since: 1.12
*/
float
clutter_rect_get_height (ClutterRect *rect)
@ -1177,7 +1285,7 @@ clutter_rect_progress (const GValue *a,
*
* It is identicaly to #CoglMatrix.
*
*
* Since: 1.12
*/
static gpointer
@ -1271,7 +1379,7 @@ G_DEFINE_BOXED_TYPE_WITH_CODE (ClutterMatrix, clutter_matrix,
*
* Return value: (transfer full): the newly allocated #ClutterMatrix
*
*
* Since: 1.12
*/
ClutterMatrix *
clutter_matrix_alloc (void)
@ -1285,7 +1393,7 @@ clutter_matrix_alloc (void)
*
* Frees the memory allocated by clutter_matrix_alloc().
*
*
* Since: 1.12
*/
void
clutter_matrix_free (ClutterMatrix *matrix)
@ -1308,7 +1416,7 @@ clutter_matrix_free (ClutterMatrix *matrix)
*
* Return value: (transfer none): the initialized #ClutterMatrix
*
*
* Since: 1.12
*/
ClutterMatrix *
clutter_matrix_init_identity (ClutterMatrix *matrix)
@ -1329,7 +1437,7 @@ clutter_matrix_init_identity (ClutterMatrix *matrix)
*
* Return value: (transfer none): the initialzed #ClutterMatrix
*
*
* Since: 1.12
*/
ClutterMatrix *
clutter_matrix_init_from_array (ClutterMatrix *matrix,
@ -1350,7 +1458,7 @@ clutter_matrix_init_from_array (ClutterMatrix *matrix,
*
* Return value: (transfer none): the initialized #ClutterMatrix
*
*
* Since: 1.12
*/
ClutterMatrix *
clutter_matrix_init_from_matrix (ClutterMatrix *a,

View File

@ -6,7 +6,6 @@
* Authored By Tomas Frydrych <tf@openedhand.com>
*
* Copyright (C) 2007 OpenedHand
* Copyright (C) 2013 Erick Pérez Castellanos <erick.red@gmail.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@ -22,105 +21,97 @@
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
#include <string.h>
#include <math.h>
#include <glib.h>
#include <string.h>
#include "clutter-bezier.h"
#include "clutter-debug.h"
/*
* We have some experimental code here to allow for constant velocity
* movement of actors along the bezier path, this macro enables it.
*/
#undef CBZ_L2T_INTERPOLATION
/****************************************************************************
* ClutterBezier -- representation of a cubic bezier curve *
* ClutterBezier -- represenation of a cubic bezier curve *
* (private; a building block for the public bspline object) *
****************************************************************************/
/*
* Constants for sampling of the bezier. Float point.
* The t parameter of the bezier is from interval <0,1>, so we can use
* 14.18 format and special multiplication functions that preserve
* more of the least significant bits but would overflow if the value
* is > 1
*/
#define CBZ_T_SAMPLES 128.0
#define CBZ_T_STEP (1.0 / CBZ_T_SAMPLES)
#define CBZ_T_Q 18
#define CBZ_T_ONE (1 << CBZ_T_Q)
#define CBZ_T_MUL(x,y) ((((x) >> 3) * ((y) >> 3)) >> 12)
#define CBZ_T_POW2(x) CBZ_T_MUL (x, x)
#define CBZ_T_POW3(x) CBZ_T_MUL (CBZ_T_POW2 (x), x)
#define CBZ_T_DIV(x,y) ((((x) << 9)/(y)) << 9)
/*
* Constants for sampling of the bezier
*/
#define CBZ_T_SAMPLES 128
#define CBZ_T_STEP (CBZ_T_ONE / CBZ_T_SAMPLES)
#define CBZ_L_STEP (CBZ_T_ONE / CBZ_T_SAMPLES)
typedef gint32 _FixedT;
/*
* This is a private type representing a single cubic bezier
*/
struct _ClutterBezier
{
/* bezier coefficients */
gfloat ax;
gfloat bx;
gfloat cx;
gfloat dx;
gfloat ay;
gfloat by;
gfloat cy;
gfloat dy;
/*
* bezier coefficients -- these are calculated using multiplication and
* addition from integer input, so these are also integers
*/
gint ax;
gint bx;
gint cx;
gint dx;
gint ay;
gint by;
gint cy;
gint dy;
/* length of the bezier */
gfloat length;
guint length;
#ifdef CBZ_L2T_INTERPOLATION
/*
* coefficients for the L -> t bezier; these are calculated from fixed
* point input, and more specifically numbers that have been normalised
* to fit <0,1>, so these are also fixed point, and we can used the
* _FixedT type here.
*/
_FixedT La;
_FixedT Lb;
_FixedT Lc;
/* _FixedT Ld; == 0 */
#endif
};
static gfloat
_clutter_bezier_t2x (const ClutterBezier *b,
gfloat t)
{
return b->ax * (1 - t) * (1 - t) * (1 - t) +
b->bx * (1 - t) * (1 - t) * t +
b->cx * (1 - t) * t * t +
b->dx * t * t * t;
}
static gfloat
_clutter_bezier_t2y (const ClutterBezier *b,
gfloat t)
{
return b->ay * (1 - t) * (1 - t) * (1 - t) +
b->by * (1 - t) * (1 - t) * t +
b->cy * (1 - t) * t * t +
b->dy * t * t * t;
}
/*
* _clutter_bezier_new:
*
* Allocate the bezier
*
* Return value: The new bezier object.
*/
ClutterBezier *
_clutter_bezier_new (void)
{
return g_slice_new0 (ClutterBezier);
}
/*
* _clutter_bezier_free:
* @b: The bezier to free
*
* Free the object
*/
void
_clutter_bezier_free (ClutterBezier *b)
_clutter_bezier_free (ClutterBezier * b)
{
if (G_LIKELY (b))
g_slice_free (ClutterBezier, b);
{
g_slice_free (ClutterBezier, b);
}
}
/*
* _clutter_bezier_clone_and_move:
* @b: A #ClutterBezier for cloning
* @x: The x coordinates of the new end of the bezier
* @y: The y coordinates of the new end of the bezier
*
* Clone the bezier and move th end-point, leaving both control
* points in place.
*
* Return value: The new bezier object.
*/
ClutterBezier *
_clutter_bezier_clone_and_move (const ClutterBezier *b,
gfloat x,
gfloat y)
_clutter_bezier_clone_and_move (const ClutterBezier *b, gint x, gint y)
{
ClutterBezier * b2 = _clutter_bezier_new ();
memcpy (b2, b, sizeof (ClutterBezier));
@ -131,124 +122,294 @@ _clutter_bezier_clone_and_move (const ClutterBezier *b,
return b2;
}
#ifdef CBZ_L2T_INTERPOLATION
/*
* _clutter_bezier_advance:
* @b: A #ClutterBezier
* @L: A relative length
* @knot: The point whith the calculated position
*
* Advances along the bezier @b to relative length @L and returns the coordinances
* in @knot
* L is relative advance along the bezier curve from interval <0,1>
*/
void
_clutter_bezier_advance (const ClutterBezier *b,
gfloat L,
ClutterPoint *knot)
static _FixedT
_clutter_bezier_L2t (const ClutterBezier *b, _FixedT L)
{
gfloat t;
t = L;
_FixedT t = CBZ_T_MUL (b->La, CBZ_T_POW3(L))
+ CBZ_T_MUL (b->Lb, CBZ_T_POW2(L))
+ CBZ_T_MUL (b->Lc, L);
if (t > CBZ_T_ONE)
t = CBZ_T_ONE;
else if (t < 0)
t = 0;
return t;
}
#endif
knot->x = _clutter_bezier_t2x (b, t);
knot->y = _clutter_bezier_t2y (b, t);
static gint
_clutter_bezier_t2x (const ClutterBezier * b, _FixedT t)
{
/*
* NB -- the int coefficients can be at most 8192 for the multiplication
* to work in this fashion due to the limits of the 14.18 fixed.
*/
return ((b->ax*CBZ_T_POW3(t) + b->bx*CBZ_T_POW2(t) + b->cx*t) >> CBZ_T_Q)
+ b->dx;
}
CLUTTER_NOTE (MISC,
"advancing to relative point {%d,%d} by moving a distance equals to: %f, with t: %f",
knot->x, knot->y, L, t);
static gint
_clutter_bezier_t2y (const ClutterBezier * b, _FixedT t)
{
/*
* NB -- the int coefficients can be at most 8192 for the multiplication
* to work in this fashion due to the limits of the 14.18 fixed.
*/
return ((b->ay*CBZ_T_POW3(t) + b->by*CBZ_T_POW2(t) + b->cy*t) >> CBZ_T_Q)
+ b->dy;
}
/*
* _clutter_bezier_init:
* @b: A #ClutterBezier
* @x_0: x coordinates of the start point of the cubic bezier
* @y_0: y coordinates of the start point of the cubic bezier
* @x_1: x coordinates of the first control point
* @y_1: y coordinates of the first control point
* @x_2: x coordinates of the second control point
* @y_2: y coordinates of the second control point
* @x_3: x coordinates of the end point of the cubic bezier
* @y_3: y coordinates of the end point of the cubic bezier
*
* Initialize the data of the bezier object @b.
* Advances along the bezier to relative length L and returns the coordinances
* in knot
*/
void
_clutter_bezier_init (ClutterBezier *b,
gfloat x_0,
gfloat y_0,
gfloat x_1,
gfloat y_1,
gfloat x_2,
gfloat y_2,
gfloat x_3,
gfloat y_3)
_clutter_bezier_advance (const ClutterBezier *b, gint L, ClutterKnot * knot)
{
gfloat t;
gint i;
#ifdef CBZ_L2T_INTERPOLATION
_FixedT t = clutter_bezier_L2t (b, L);
#else
_FixedT t = L;
#endif
knot->x = _clutter_bezier_t2x (b, t);
knot->y = _clutter_bezier_t2y (b, t);
CLUTTER_NOTE (MISC, "advancing to relative pt %f: t %f, {%d,%d}",
(double) L / (double) CBZ_T_ONE,
(double) t / (double) CBZ_T_ONE,
knot->x, knot->y);
}
gfloat xp;
gfloat yp;
void
_clutter_bezier_init (ClutterBezier *b,
gint x_0, gint y_0,
gint x_1, gint y_1,
gint x_2, gint y_2,
gint x_3, gint y_3)
{
_FixedT t;
int i;
int xp = x_0;
int yp = y_0;
_FixedT length [CBZ_T_SAMPLES + 1];
CLUTTER_NOTE (MISC,
"Initializing bezier at {{%f,%f},{%f,%f},{%f,%f},{%f,%f}}",
x_0, y_0, x_1, y_1, x_2, y_2, x_3, y_3);
#ifdef CBZ_L2T_INTERPOLATION
int j, k;
_FixedT L;
_FixedT t_equalized [CBZ_T_SAMPLES + 1];
#endif
b->ax = x_0;
b->ay = y_0;
b->bx = 3 * x_1;
b->by = 3 * y_1;
b->cx = 3 * x_2;
b->cy = 3 * y_2;
b->dx = x_3;
b->dy = y_3;
b->length = 0.0;
#if 0
g_debug ("Initializing bezier at {{%d,%d},{%d,%d},{%d,%d},{%d,%d}}",
x0, y0, x1, y1, x2, y2, x3, y3);
#endif
b->dx = x_0;
b->dy = y_0;
CLUTTER_NOTE (MISC,
"Coefficients {{%f,%f},{%f,%f},{%f,%f},{%f,%f}}",
b->ax, b->ay, b->bx, b->by, b->cx, b->cy, b->dx, b->dy);
b->cx = 3 * (x_1 - x_0);
b->cy = 3 * (y_1 - y_0);
xp = b->ax;
yp = b->ay;
b->bx = 3 * (x_2 - x_1) - b->cx;
b->by = 3 * (y_2 - y_1) - b->cy;
b->ax = x_3 - 3 * x_2 + 3 * x_1 - x_0;
b->ay = y_3 - 3 * y_2 + 3 * y_1 - y_0;
#if 0
g_debug ("Cooeficients {{%d,%d},{%d,%d},{%d,%d},{%d,%d}}",
b->ax, b->ay, b->bx, b->by, b->cx, b->cy, b->dx, b->dy);
#endif
/*
* Because of the way we do the multiplication in bezeir_t2x,y
* these coefficients need to be at most 0x1fff; this should be the case,
* I think, but have added this warning to catch any problems -- if it
* triggers, we need to change those two functions a bit.
*/
if (b->ax > 0x1fff || b->bx > 0x1fff || b->cx > 0x1fff)
g_warning ("Calculated coefficents will result in multiplication "
"overflow in clutter_bezier_t2x and clutter_bezier_t2y.");
/*
* Sample the bezier with CBZ_T_SAMPLES and calculate length at
* each point.
*
* We are working with integers here, so we use the fast sqrti function.
*/
length[0] = 0;
for (t = CBZ_T_STEP, i = 1; i <= CBZ_T_SAMPLES; ++i, t += CBZ_T_STEP)
{
gfloat x = _clutter_bezier_t2x (b, t);
gfloat y = _clutter_bezier_t2y (b, t);
int x = _clutter_bezier_t2x (b, t);
int y = _clutter_bezier_t2y (b, t);
guint l = cogl_sqrti ((y - yp)*(y - yp) + (x - xp)*(x - xp));
b->length += sqrtf ((y - yp)*(y - yp) + (x - xp)*(x - xp));
l += length[i-1];
length[i] = l;
xp = x;
yp = y;
}
CLUTTER_NOTE (MISC, "length %f", b->length);
b->length = length[CBZ_T_SAMPLES];
#if 0
g_debug ("length %d", b->length);
#endif
#ifdef CBZ_L2T_INTERPOLATION
/*
* Now normalize the length values, converting them into _FixedT
*/
for (i = 0; i <= CBZ_T_SAMPLES; ++i)
{
length[i] = (length[i] << CBZ_T_Q) / b->length;
}
/*
* Now generate a L -> t table such that the L will equidistant
* over <0,1>
*/
t_equalized[0] = 0;
for (i = 1, j = 1, L = CBZ_L_STEP; i < CBZ_T_SAMPLES; ++i, L += CBZ_L_STEP)
{
_FixedT l1, l2;
_FixedT d1, d2, d;
_FixedT t1, t2;
/* find the band for our L */
for (k = j; k < CBZ_T_SAMPLES; ++k)
{
if (L < length[k])
break;
}
/*
* Now we know that L is from (length[k-1],length[k]>
* We remember k-1 in order not to have to iterate over the
* whole length array in the next iteration of the main loop
*/
j = k - 1;
/*
* Now interpolate equlised t as a weighted average
*/
l1 = length[k-1];
l2 = length[k];
d1 = l2 - L;
d2 = L - l1;
d = l2 - l1;
t1 = (k - 1) * CBZ_T_STEP;
t2 = k * CBZ_T_STEP;
t_equalized[i] = (t1*d1 + t2*d2)/d;
if (t_equalized[i] < t_equalized[i-1])
g_debug ("wrong t: L %f, l1 %f, l2 %f, t1 %f, t2 %f",
(double) (L)/(double)CBZ_T_ONE,
(double) (l1)/(double)CBZ_T_ONE,
(double) (l2)/(double)CBZ_T_ONE,
(double) (t1)/(double)CBZ_T_ONE,
(double) (t2)/(double)CBZ_T_ONE);
}
t_equalized[CBZ_T_SAMPLES] = CBZ_T_ONE;
/* We now fit a bezier -- at this stage, do a single fit through our values
* at 0, 1/3, 2/3 and 1
*
* FIXME -- do we need to use a better fitting approach to choose the best
* beziere. The actual curve we acquire this way is not too bad shapwise,
* but (probably due to rounding errors) the resulting curve no longer
* satisfies the necessary condition that for L2 > L1, t2 > t1, which
* causes oscilation.
*/
#if 0
/*
* These are the control points we use to calculate the curve coefficients
* for bezier t(L); these are not needed directly, but are implied in the
* calculations below.
*
* (p0 is 0,0, and p3 is 1,1)
*/
p1 = (18 * t_equalized[CBZ_T_SAMPLES/3] -
9 * t_equalized[2*CBZ_T_SAMPLES/3] +
2 << CBZ_T_Q) / 6;
p2 = (18 * t_equalized[2*CBZ_T_SAMPLES/3] -
9 * t_equalized[CBZ_T_SAMPLES/3] -
(5 << CBZ_T_Q)) / 6;
#endif
b->Lc = (18 * t_equalized[CBZ_T_SAMPLES/3] -
9 * t_equalized[2*CBZ_T_SAMPLES/3] +
(2 << CBZ_T_Q)) >> 1;
b->Lb = (36 * t_equalized[2*CBZ_T_SAMPLES/3] -
45 * t_equalized[CBZ_T_SAMPLES/3] -
(9 << CBZ_T_Q)) >> 1;
b->La = ((27 * (t_equalized[CBZ_T_SAMPLES/3] -
t_equalized[2*CBZ_T_SAMPLES/3]) +
(7 << CBZ_T_Q)) >> 1) + CBZ_T_ONE;
g_debug ("t(1/3) %f, t(2/3) %f",
(double)t_equalized[CBZ_T_SAMPLES/3]/(double)CBZ_T_ONE,
(double)t_equalized[2*CBZ_T_SAMPLES/3]/(double)CBZ_T_ONE);
g_debug ("L -> t coefficients: %f, %f, %f",
(double)b->La/(double)CBZ_T_ONE,
(double)b->Lb/(double)CBZ_T_ONE,
(double)b->Lc/(double)CBZ_T_ONE);
/*
* For debugging, you can load these values into a spreadsheet and graph
* them to see how well the approximation matches the data
*/
for (i = 0; i < CBZ_T_SAMPLES; ++i)
{
g_print ("%f, %f, %f\n",
(double)(i*CBZ_T_STEP)/(double)CBZ_T_ONE,
(double)(t_equalized[i])/(double)CBZ_T_ONE,
(double)(clutter_bezier_L2t(b,i*CBZ_T_STEP))/(double)CBZ_T_ONE);
}
#endif
}
/*
* _clutter_bezier_adjust:
* @b: A #ClutterBezier object
* @knot: The new position of the control point
@ @indx: The index of the control point you want to move.
*
* Moves a control point at index @indx to location represented by @knot
* Moves a control point at indx to location represented by knot
*/
void
_clutter_bezier_adjust (ClutterBezier *b,
ClutterPoint *knot,
guint indx)
_clutter_bezier_adjust (ClutterBezier * b, ClutterKnot * knot, guint indx)
{
gfloat x[4], y[4];
guint x[4], y[4];
g_assert (indx < 4);
x[0] = b->dx;
y[0] = b->dy;
x[0] = b->ax;
y[0] = b->ay;
x[1] = b->cx / 3 + x[0];
y[1] = b->cy / 3 + y[0];
x[1] = b->bx;
y[1] = b->by;
x[2] = b->bx / 3 + b->cx + x[1];
y[2] = b->by / 3 + b->cy + y[1];
x[2] = b->cx;
y[2] = b->cy;
x[3] = b->dx;
y[3] = b->dy;
x[3] = b->ax + x[0] + b->cx + b->bx;
y[3] = b->ay + y[0] + b->cy + b->by;
x[indx] = knot->x;
y[indx] = knot->y;
@ -256,13 +417,7 @@ _clutter_bezier_adjust (ClutterBezier *b,
_clutter_bezier_init (b, x[0], y[0], x[1], y[1], x[2], y[2], x[3], y[3]);
}
/*
* _clutter_bezier_get_length:
* @b: A #ClutterBezier
*
* Return value: Returns the length of the bezier
*/
gfloat
guint
_clutter_bezier_get_length (const ClutterBezier *b)
{
return b->length;

View File

@ -6,7 +6,6 @@
* Authored By Tomas Frydrych <tf@openedhand.com>
*
* Copyright (C) 2006, 2007 OpenedHand
* Copyright (C) 2013 Erick Pérez Castellanos <erick.red@gmail.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@ -30,35 +29,36 @@
G_BEGIN_DECLS
/* This is used in _clutter_bezier_advance to represent the full
length of the bezier curve. Anything less than that represents a
fraction of the length */
#define CLUTTER_BEZIER_MAX_LENGTH (1 << 18)
typedef struct _ClutterBezier ClutterBezier;
ClutterBezier *_clutter_bezier_new ();
ClutterBezier *_clutter_bezier_new ();
void _clutter_bezier_free (ClutterBezier *b);
void _clutter_bezier_free (ClutterBezier * b);
ClutterBezier *_clutter_bezier_clone_and_move (const ClutterBezier *b,
gfloat x,
gfloat y);
gint x,
gint y);
void _clutter_bezier_advance (const ClutterBezier *b,
gfloat L,
ClutterPoint *knot);
void _clutter_bezier_advance (const ClutterBezier *b,
gint L,
ClutterKnot *knot);
void _clutter_bezier_init (ClutterBezier *b,
gfloat x_0,
gfloat y_0,
gfloat x_1,
gfloat y_1,
gfloat x_2,
gfloat y_2,
gfloat x_3,
gfloat y_3);
void _clutter_bezier_init (ClutterBezier *b,
gint x_0, gint y_0,
gint x_1, gint y_1,
gint x_2, gint y_2,
gint x_3, gint y_3);
void _clutter_bezier_adjust (ClutterBezier *b,
ClutterPoint *knot,
guint indx);
void _clutter_bezier_adjust (ClutterBezier *b,
ClutterKnot *knot,
guint indx);
gfloat _clutter_bezier_get_length (const ClutterBezier *b);
guint _clutter_bezier_get_length (const ClutterBezier *b);
G_END_DECLS

View File

@ -67,25 +67,245 @@
#include <math.h>
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
#include "deprecated/clutter-container.h"
#include "deprecated/clutter-bin-layout.h"
#include "clutter-actor-private.h"
#include "clutter-animatable.h"
#include "clutter-bin-layout.h"
#include "clutter-child-meta.h"
#include "clutter-debug.h"
#include "clutter-enum-types.h"
#include "clutter-layout-meta.h"
#include "clutter-private.h"
#define CLUTTER_TYPE_BIN_LAYER (clutter_bin_layer_get_type ())
#define CLUTTER_BIN_LAYER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_BIN_LAYER, ClutterBinLayer))
#define CLUTTER_IS_BIN_LAYER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_BIN_LAYER))
#define CLUTTER_BIN_LAYOUT_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), CLUTTER_TYPE_BIN_LAYOUT, ClutterBinLayoutPrivate))
typedef struct _ClutterBinLayer ClutterBinLayer;
typedef struct _ClutterLayoutMetaClass ClutterBinLayerClass;
struct _ClutterBinLayoutPrivate
{
ClutterBinAlignment x_align;
ClutterBinAlignment y_align;
ClutterContainer *container;
};
G_DEFINE_TYPE (ClutterBinLayout, clutter_bin_layout, CLUTTER_TYPE_LAYOUT_MANAGER)
struct _ClutterBinLayer
{
ClutterLayoutMeta parent_instance;
ClutterBinAlignment x_align;
ClutterBinAlignment y_align;
};
enum
{
PROP_LAYER_0,
PROP_LAYER_X_ALIGN,
PROP_LAYER_Y_ALIGN,
PROP_LAYER_LAST
};
enum
{
PROP_0,
PROP_X_ALIGN,
PROP_Y_ALIGN,
PROP_LAST
};
static GParamSpec *layer_props[PROP_LAYER_LAST] = { NULL, };
static GParamSpec *bin_props[PROP_LAST] = { NULL, };
GType clutter_bin_layer_get_type (void);
G_DEFINE_TYPE (ClutterBinLayer,
clutter_bin_layer,
CLUTTER_TYPE_LAYOUT_META);
G_DEFINE_TYPE (ClutterBinLayout,
clutter_bin_layout,
CLUTTER_TYPE_LAYOUT_MANAGER);
/*
* ClutterBinLayer
*/
static void
set_layer_x_align (ClutterBinLayer *self,
ClutterBinAlignment alignment)
{
ClutterLayoutManager *manager;
ClutterLayoutMeta *meta;
if (self->x_align == alignment)
return;
self->x_align = alignment;
meta = CLUTTER_LAYOUT_META (self);
manager = clutter_layout_meta_get_manager (meta);
clutter_layout_manager_layout_changed (manager);
g_object_notify_by_pspec (G_OBJECT (self), layer_props[PROP_LAYER_X_ALIGN]);
}
static void
set_layer_y_align (ClutterBinLayer *self,
ClutterBinAlignment alignment)
{
ClutterLayoutManager *manager;
ClutterLayoutMeta *meta;
if (self->y_align == alignment)
return;
self->y_align = alignment;
meta = CLUTTER_LAYOUT_META (self);
manager = clutter_layout_meta_get_manager (meta);
clutter_layout_manager_layout_changed (manager);
g_object_notify_by_pspec (G_OBJECT (self), layer_props[PROP_LAYER_Y_ALIGN]);
}
static void
clutter_bin_layer_set_property (GObject *gobject,
guint prop_id,
const GValue *value,
GParamSpec *pspec)
{
ClutterBinLayer *layer = CLUTTER_BIN_LAYER (gobject);
switch (prop_id)
{
case PROP_LAYER_X_ALIGN:
set_layer_x_align (layer, g_value_get_enum (value));
break;
case PROP_LAYER_Y_ALIGN:
set_layer_y_align (layer, g_value_get_enum (value));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
break;
}
}
static void
clutter_bin_layer_get_property (GObject *gobject,
guint prop_id,
GValue *value,
GParamSpec *pspec)
{
ClutterBinLayer *layer = CLUTTER_BIN_LAYER (gobject);
switch (prop_id)
{
case PROP_LAYER_X_ALIGN:
g_value_set_enum (value, layer->x_align);
break;
case PROP_LAYER_Y_ALIGN:
g_value_set_enum (value, layer->y_align);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
break;
}
}
static void
clutter_bin_layer_class_init (ClutterBinLayerClass *klass)
{
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
gobject_class->set_property = clutter_bin_layer_set_property;
gobject_class->get_property = clutter_bin_layer_get_property;
layer_props[PROP_LAYER_X_ALIGN] =
g_param_spec_enum ("x-align",
P_("Horizontal Alignment"),
P_("Horizontal alignment for the actor "
"inside the layout manager"),
CLUTTER_TYPE_BIN_ALIGNMENT,
CLUTTER_BIN_ALIGNMENT_CENTER,
CLUTTER_PARAM_READWRITE);
layer_props[PROP_LAYER_Y_ALIGN] =
g_param_spec_enum ("y-align",
P_("Vertical Alignment"),
P_("Vertical alignment for the actor "
"inside the layout manager"),
CLUTTER_TYPE_BIN_ALIGNMENT,
CLUTTER_BIN_ALIGNMENT_CENTER,
CLUTTER_PARAM_READWRITE);
g_object_class_install_properties (gobject_class,
PROP_LAYER_LAST,
layer_props);
}
static void
clutter_bin_layer_init (ClutterBinLayer *layer)
{
layer->x_align = CLUTTER_BIN_ALIGNMENT_CENTER;
layer->y_align = CLUTTER_BIN_ALIGNMENT_CENTER;
}
/*
* ClutterBinLayout
*/
static void
set_x_align (ClutterBinLayout *self,
ClutterBinAlignment alignment)
{
ClutterBinLayoutPrivate *priv = self->priv;
if (priv->x_align != alignment)
{
ClutterLayoutManager *manager;
priv->x_align = alignment;
manager = CLUTTER_LAYOUT_MANAGER (self);
clutter_layout_manager_layout_changed (manager);
g_object_notify_by_pspec (G_OBJECT (self), bin_props[PROP_X_ALIGN]);
}
}
static void
set_y_align (ClutterBinLayout *self,
ClutterBinAlignment alignment)
{
ClutterBinLayoutPrivate *priv = self->priv;
if (priv->y_align != alignment)
{
ClutterLayoutManager *manager;
priv->y_align = alignment;
manager = CLUTTER_LAYOUT_MANAGER (self);
clutter_layout_manager_layout_changed (manager);
g_object_notify_by_pspec (G_OBJECT (self), bin_props[PROP_Y_ALIGN]);
}
}
static void
clutter_bin_layout_get_preferred_width (ClutterLayoutManager *manager,
@ -161,6 +381,50 @@ clutter_bin_layout_get_preferred_height (ClutterLayoutManager *manager,
*nat_height_p = nat_height;
}
static gdouble
get_bin_alignment_factor (ClutterBinAlignment alignment,
ClutterTextDirection text_dir)
{
switch (alignment)
{
case CLUTTER_BIN_ALIGNMENT_CENTER:
return 0.5;
case CLUTTER_BIN_ALIGNMENT_START:
return text_dir == CLUTTER_TEXT_DIRECTION_LTR ? 0.0 : 1.0;
case CLUTTER_BIN_ALIGNMENT_END:
return text_dir == CLUTTER_TEXT_DIRECTION_LTR ? 1.0 : 0.0;
case CLUTTER_BIN_ALIGNMENT_FIXED:
case CLUTTER_BIN_ALIGNMENT_FILL:
return 0.0;
}
return 0.0;
}
static gdouble
get_actor_align_factor (ClutterActorAlign alignment)
{
switch (alignment)
{
case CLUTTER_ACTOR_ALIGN_CENTER:
return 0.5;
case CLUTTER_ACTOR_ALIGN_START:
return 0.0;
case CLUTTER_ACTOR_ALIGN_END:
return 1.0;
case CLUTTER_ACTOR_ALIGN_FILL:
return 0.0;
}
return 0.0;
}
static void
clutter_bin_layout_allocate (ClutterLayoutManager *manager,
ClutterContainer *container,
@ -180,13 +444,21 @@ clutter_bin_layout_allocate (ClutterLayoutManager *manager,
clutter_actor_iter_init (&iter, actor);
while (clutter_actor_iter_next (&iter, &child))
{
ClutterLayoutMeta *meta;
ClutterBinLayer *layer;
ClutterActorBox child_alloc = { 0, };
gboolean is_fixed_position_set;
gdouble x_align, y_align;
gboolean x_fill, y_fill, is_fixed_position_set;
float fixed_x, fixed_y;
if (!CLUTTER_ACTOR_IS_VISIBLE (child))
continue;
meta = clutter_layout_manager_get_child_meta (manager,
container,
child);
layer = CLUTTER_BIN_LAYER (meta);
fixed_x = fixed_y = 0.f;
g_object_get (child,
"fixed-position-set", &is_fixed_position_set,
@ -194,24 +466,106 @@ clutter_bin_layout_allocate (ClutterLayoutManager *manager,
"fixed-y", &fixed_y,
NULL);
if (is_fixed_position_set)
/* XXX:2.0 - remove the FIXED alignment, and just use the fixed position
* of the actor if one is set
*/
if (is_fixed_position_set ||
layer->x_align == CLUTTER_BIN_ALIGNMENT_FIXED)
{
child_alloc.x1 = fixed_x;
child_alloc.y1 = fixed_y;
if (is_fixed_position_set)
child_alloc.x1 = fixed_x;
else
child_alloc.x1 = clutter_actor_get_x (child);
}
else
{
child_alloc.x1 = allocation_x;
child_alloc.y1 = allocation_y;
}
child_alloc.x1 = allocation_x;
if (is_fixed_position_set ||
layer->y_align == CLUTTER_BIN_ALIGNMENT_FIXED)
{
if (is_fixed_position_set)
child_alloc.y1 = fixed_y;
else
child_alloc.y1 = clutter_actor_get_y (child);
}
else
child_alloc.y1 = allocation_y;
child_alloc.x2 = available_w;
child_alloc.y2 = available_h;
clutter_actor_allocate (child, &child_alloc, flags);
if (clutter_actor_needs_expand (child, CLUTTER_ORIENTATION_HORIZONTAL))
{
ClutterActorAlign align;
align = clutter_actor_get_x_align (child);
x_fill = align == CLUTTER_ACTOR_ALIGN_FILL;
x_align = get_actor_align_factor (align);
}
else
{
ClutterTextDirection text_dir;
x_fill = (layer->x_align == CLUTTER_BIN_ALIGNMENT_FILL);
text_dir = clutter_actor_get_text_direction (child);
if (!is_fixed_position_set)
x_align = get_bin_alignment_factor (layer->x_align, text_dir);
else
x_align = 0.0;
}
if (clutter_actor_needs_expand (child, CLUTTER_ORIENTATION_VERTICAL))
{
ClutterActorAlign align;
align = clutter_actor_get_y_align (child);
y_fill = align == CLUTTER_ACTOR_ALIGN_FILL;
y_align = get_actor_align_factor (align);
}
else
{
y_fill = (layer->y_align == CLUTTER_BIN_ALIGNMENT_FILL);
if (!is_fixed_position_set)
y_align = get_bin_alignment_factor (layer->y_align,
CLUTTER_TEXT_DIRECTION_LTR);
else
y_align = 0.0;
}
clutter_actor_allocate_align_fill (child, &child_alloc,
x_align, y_align,
x_fill, y_fill,
flags);
}
}
static GType
clutter_bin_layout_get_child_meta_type (ClutterLayoutManager *manager)
{
return CLUTTER_TYPE_BIN_LAYER;
}
static ClutterLayoutMeta *
clutter_bin_layout_create_child_meta (ClutterLayoutManager *manager,
ClutterContainer *container,
ClutterActor *actor)
{
ClutterBinLayoutPrivate *priv;
priv = CLUTTER_BIN_LAYOUT (manager)->priv;
return g_object_new (CLUTTER_TYPE_BIN_LAYER,
"container", container,
"actor", actor,
"manager", manager,
"x-align", priv->x_align,
"y_align", priv->y_align,
NULL);
}
static void
clutter_bin_layout_set_container (ClutterLayoutManager *manager,
ClutterContainer *container)
@ -226,17 +580,114 @@ clutter_bin_layout_set_container (ClutterLayoutManager *manager,
parent_class->set_container (manager, container);
}
static void
clutter_bin_layout_set_property (GObject *gobject,
guint prop_id,
const GValue *value,
GParamSpec *pspec)
{
ClutterBinLayout *layout = CLUTTER_BIN_LAYOUT (gobject);
switch (prop_id)
{
case PROP_X_ALIGN:
set_x_align (layout, g_value_get_enum (value));
break;
case PROP_Y_ALIGN:
set_y_align (layout, g_value_get_enum (value));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
break;
}
}
static void
clutter_bin_layout_get_property (GObject *gobject,
guint prop_id,
GValue *value,
GParamSpec *pspec)
{
ClutterBinLayoutPrivate *priv;
priv = CLUTTER_BIN_LAYOUT (gobject)->priv;
switch (prop_id)
{
case PROP_X_ALIGN:
g_value_set_enum (value, priv->x_align);
break;
case PROP_Y_ALIGN:
g_value_set_enum (value, priv->y_align);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
break;
}
}
static void
clutter_bin_layout_class_init (ClutterBinLayoutClass *klass)
{
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
ClutterLayoutManagerClass *layout_class =
CLUTTER_LAYOUT_MANAGER_CLASS (klass);
g_type_class_add_private (klass, sizeof (ClutterBinLayoutPrivate));
/**
* ClutterBinLayout:x-align:
*
* The default horizontal alignment policy for actors managed
* by the #ClutterBinLayout
*
* Since: 1.2
*
* Deprecated: 1.12: Use the #ClutterActor:x-expand and the
* #ClutterActor:x-align properties on #ClutterActor instead.
*/
bin_props[PROP_X_ALIGN] =
g_param_spec_enum ("x-align",
P_("Horizontal Alignment"),
P_("Default horizontal alignment for the actors "
"inside the layout manager"),
CLUTTER_TYPE_BIN_ALIGNMENT,
CLUTTER_BIN_ALIGNMENT_CENTER,
CLUTTER_PARAM_READWRITE);
/**
* ClutterBinLayout:y-align:
*
* The default vertical alignment policy for actors managed
* by the #ClutterBinLayout
*
* Since: 1.2
*
* Deprecated: 1.12: Use the #ClutterActor:y-expand and the
* #ClutterActor:y-align properties on #ClutterActor instead.
*/
bin_props[PROP_Y_ALIGN] =
g_param_spec_enum ("y-align",
P_("Vertical Alignment"),
P_("Default vertical alignment for the actors "
"inside the layout manager"),
CLUTTER_TYPE_BIN_ALIGNMENT,
CLUTTER_BIN_ALIGNMENT_CENTER,
CLUTTER_PARAM_READWRITE);
gobject_class->set_property = clutter_bin_layout_set_property;
gobject_class->get_property = clutter_bin_layout_get_property;
g_object_class_install_properties (gobject_class, PROP_LAST, bin_props);
layout_class->get_preferred_width = clutter_bin_layout_get_preferred_width;
layout_class->get_preferred_height = clutter_bin_layout_get_preferred_height;
layout_class->allocate = clutter_bin_layout_allocate;
layout_class->create_child_meta = clutter_bin_layout_create_child_meta;
layout_class->get_child_meta_type = clutter_bin_layout_get_child_meta_type;
layout_class->set_container = clutter_bin_layout_set_container;
}
@ -244,17 +695,214 @@ static void
clutter_bin_layout_init (ClutterBinLayout *self)
{
self->priv = CLUTTER_BIN_LAYOUT_GET_PRIVATE (self);
self->priv->x_align = CLUTTER_BIN_ALIGNMENT_CENTER;
self->priv->y_align = CLUTTER_BIN_ALIGNMENT_CENTER;
}
/**
* clutter_bin_layout_new:
* @x_align: the default alignment policy to be used on the
* horizontal axis
* @y_align: the default alignment policy to be used on the
* vertical axis
*
* Creates a new #ClutterBinLayout layout manager
*
* Return value: the newly created layout manager
*
* Since: 1.2
*/
ClutterLayoutManager *
clutter_bin_layout_new (void)
clutter_bin_layout_new (ClutterBinAlignment x_align,
ClutterBinAlignment y_align)
{
return g_object_new (CLUTTER_TYPE_BIN_LAYOUT, NULL);
return g_object_new (CLUTTER_TYPE_BIN_LAYOUT,
"x-align", x_align,
"y-align", y_align,
NULL);
}
/**
* clutter_bin_layout_set_alignment:
* @self: a #ClutterBinLayout
* @child: (allow-none): a child of @container
* @x_align: the horizontal alignment policy to be used for the @child
* inside @container
* @y_align: the vertical aligment policy to be used on the @child
* inside @container
*
* Sets the horizontal and vertical alignment policies to be applied
* to a @child of @self
*
* If @child is %NULL then the @x_align and @y_align values will
* be set as the default alignment policies
*
* Since: 1.2
*
* Deprecated: 1.12: Use the #ClutterActor:x-align and
* #ClutterActor:y-align properties of #ClutterActor instead.
*/
void
clutter_bin_layout_set_alignment (ClutterBinLayout *self,
ClutterActor *child,
ClutterBinAlignment x_align,
ClutterBinAlignment y_align)
{
ClutterBinLayoutPrivate *priv;
ClutterLayoutManager *manager;
ClutterLayoutMeta *meta;
g_return_if_fail (CLUTTER_IS_BIN_LAYOUT (self));
g_return_if_fail (child == NULL || CLUTTER_IS_ACTOR (child));
priv = self->priv;
if (priv->container == NULL)
{
if (child == NULL)
{
set_x_align (self, x_align);
set_y_align (self, y_align);
}
else
g_warning ("The layout of type '%s' must be associated to "
"a ClutterContainer before setting the alignment "
"on its children",
G_OBJECT_TYPE_NAME (self));
return;
}
manager = CLUTTER_LAYOUT_MANAGER (self);
meta = clutter_layout_manager_get_child_meta (manager,
priv->container,
child);
g_assert (CLUTTER_IS_BIN_LAYER (meta));
set_layer_x_align (CLUTTER_BIN_LAYER (meta), x_align);
set_layer_y_align (CLUTTER_BIN_LAYER (meta), y_align);
}
/**
* clutter_bin_layout_get_alignment:
* @self: a #ClutterBinLayout
* @child: (allow-none): a child of @container
* @x_align: (out) (allow-none): return location for the horizontal
* alignment policy
* @y_align: (out) (allow-none): return location for the vertical
* alignment policy
*
* Retrieves the horizontal and vertical alignment policies for
* a child of @self
*
* If @child is %NULL the default alignment policies will be returned
* instead
*
* Since: 1.2
*
* Deprecated: 1.12: Use the #ClutterActor:x-align and the
* #ClutterActor:y-align properties of #ClutterActor instead.
*/
void
clutter_bin_layout_get_alignment (ClutterBinLayout *self,
ClutterActor *child,
ClutterBinAlignment *x_align,
ClutterBinAlignment *y_align)
{
ClutterBinLayoutPrivate *priv;
ClutterLayoutManager *manager;
ClutterLayoutMeta *meta;
ClutterBinLayer *layer;
g_return_if_fail (CLUTTER_IS_BIN_LAYOUT (self));
priv = self->priv;
if (priv->container == NULL)
{
if (child == NULL)
{
if (x_align)
*x_align = priv->x_align;
if (y_align)
*y_align = priv->y_align;
}
else
g_warning ("The layout of type '%s' must be associated to "
"a ClutterContainer before getting the alignment "
"of its children",
G_OBJECT_TYPE_NAME (self));
return;
}
manager = CLUTTER_LAYOUT_MANAGER (self);
meta = clutter_layout_manager_get_child_meta (manager,
priv->container,
child);
g_assert (CLUTTER_IS_BIN_LAYER (meta));
layer = CLUTTER_BIN_LAYER (meta);
if (x_align)
*x_align = layer->x_align;
if (y_align)
*y_align = layer->y_align;
}
/**
* clutter_bin_layout_add:
* @self: a #ClutterBinLayout
* @child: a #ClutterActor
* @x_align: horizontal alignment policy for @child
* @y_align: vertical alignment policy for @child
*
* Adds a #ClutterActor to the container using @self and
* sets the alignment policies for it
*
* This function is equivalent to clutter_container_add_actor()
* and clutter_layout_manager_child_set_property() but it does not
* require a pointer to the #ClutterContainer associated to the
* #ClutterBinLayout
*
* Since: 1.2
*
* Deprecated: 1.12: Use clutter_actor_add_child() instead.
*/
void
clutter_bin_layout_add (ClutterBinLayout *self,
ClutterActor *child,
ClutterBinAlignment x_align,
ClutterBinAlignment y_align)
{
ClutterBinLayoutPrivate *priv;
ClutterLayoutManager *manager;
ClutterLayoutMeta *meta;
g_return_if_fail (CLUTTER_IS_BIN_LAYOUT (self));
g_return_if_fail (CLUTTER_IS_ACTOR (child));
priv = self->priv;
if (priv->container == NULL)
{
g_warning ("The layout of type '%s' must be associated to "
"a ClutterContainer before adding children",
G_OBJECT_TYPE_NAME (self));
return;
}
clutter_container_add_actor (priv->container, child);
manager = CLUTTER_LAYOUT_MANAGER (self);
meta = clutter_layout_manager_get_child_meta (manager,
priv->container,
child);
g_assert (CLUTTER_IS_BIN_LAYER (meta));
set_layer_x_align (CLUTTER_BIN_LAYER (meta), x_align);
set_layer_y_align (CLUTTER_BIN_LAYER (meta), y_align);
}

View File

@ -50,7 +50,7 @@ typedef struct _ClutterBinLayoutClass ClutterBinLayoutClass;
* The #ClutterBinLayout structure contains only private data
* and should be accessed using the provided API
*
*
* Since: 1.2
*/
struct _ClutterBinLayout
{
@ -66,7 +66,7 @@ struct _ClutterBinLayout
* The #ClutterBinLayoutClass structure contains only private
* data and should be accessed using the provided API
*
*
* Since: 1.2
*/
struct _ClutterBinLayoutClass
{
@ -76,7 +76,8 @@ struct _ClutterBinLayoutClass
GType clutter_bin_layout_get_type (void) G_GNUC_CONST;
ClutterLayoutManager * clutter_bin_layout_new (void);
ClutterLayoutManager *clutter_bin_layout_new (ClutterBinAlignment x_align,
ClutterBinAlignment y_align);
G_END_DECLS

View File

@ -151,7 +151,7 @@ source_queue_relayout (ClutterActor *source,
ClutterBindConstraint *bind)
{
if (bind->actor != NULL)
_clutter_actor_queue_only_relayout (bind->actor);
clutter_actor_queue_relayout (bind->actor);
}
static void
@ -351,7 +351,7 @@ clutter_bind_constraint_class_init (ClutterBindConstraintClass *klass)
* The #ClutterActor must not be contained inside the actor associated
* to the constraint.
*
*
* Since: 1.4
*/
obj_props[PROP_SOURCE] =
g_param_spec_object ("source",
@ -365,7 +365,7 @@ clutter_bind_constraint_class_init (ClutterBindConstraintClass *klass)
*
* The coordinate to be bound
*
*
* Since: 1.4
*/
obj_props[PROP_COORDINATE] =
g_param_spec_enum ("coordinate",
@ -380,7 +380,7 @@ clutter_bind_constraint_class_init (ClutterBindConstraintClass *klass)
*
* The offset, in pixels, to be applied to the binding
*
*
* Since: 1.4
*/
obj_props[PROP_OFFSET] =
g_param_spec_float ("offset",
@ -416,7 +416,7 @@ clutter_bind_constraint_init (ClutterBindConstraint *self)
*
* Return value: the newly created #ClutterBindConstraint
*
*
* Since: 1.4
*/
ClutterConstraint *
clutter_bind_constraint_new (ClutterActor *source,
@ -439,7 +439,7 @@ clutter_bind_constraint_new (ClutterActor *source,
*
* Sets the source #ClutterActor for the constraint
*
*
* Since: 1.4
*/
void
clutter_bind_constraint_set_source (ClutterBindConstraint *constraint,
@ -506,7 +506,7 @@ clutter_bind_constraint_set_source (ClutterBindConstraint *constraint,
*
* Return value: (transfer none): a pointer to the source actor
*
*
* Since: 1.4
*/
ClutterActor *
clutter_bind_constraint_get_source (ClutterBindConstraint *constraint)
@ -523,7 +523,7 @@ clutter_bind_constraint_get_source (ClutterBindConstraint *constraint)
*
* Sets the coordinate to bind in the constraint
*
*
* Since: 1.4
*/
void
clutter_bind_constraint_set_coordinate (ClutterBindConstraint *constraint,
@ -550,7 +550,7 @@ clutter_bind_constraint_set_coordinate (ClutterBindConstraint *constraint,
*
* Return value: the bound coordinate
*
*
* Since: 1.4
*/
ClutterBindCoordinate
clutter_bind_constraint_get_coordinate (ClutterBindConstraint *constraint)
@ -568,7 +568,7 @@ clutter_bind_constraint_get_coordinate (ClutterBindConstraint *constraint)
*
* Sets the offset to be applied to the constraint
*
*
* Since: 1.4
*/
void
clutter_bind_constraint_set_offset (ClutterBindConstraint *constraint,
@ -595,7 +595,7 @@ clutter_bind_constraint_set_offset (ClutterBindConstraint *constraint,
*
* Return value: the offset, in pixels
*
*
* Since: 1.4
*/
gfloat
clutter_bind_constraint_get_offset (ClutterBindConstraint *bind)

View File

@ -43,7 +43,7 @@ G_BEGIN_DECLS
* <structname>ClutterBindConstraint</structname> is an opaque structure
* whose members cannot be directly accessed
*
*
* Since: 1.4
*/
typedef struct _ClutterBindConstraint ClutterBindConstraint;
typedef struct _ClutterBindConstraintClass ClutterBindConstraintClass;

View File

@ -312,7 +312,7 @@ clutter_binding_pool_class_init (ClutterBindingPoolClass *klass)
*
* The unique name of the #ClutterBindingPool.
*
*
* Since: 1.0
*/
obj_props[PROP_NAME] =
g_param_spec_string ("name",
@ -350,7 +350,7 @@ clutter_binding_pool_init (ClutterBindingPool *pool)
* Return value: the newly created binding pool with the given
* name. Use g_object_unref() when done.
*
*
* Since: 1.0
*/
ClutterBindingPool *
clutter_binding_pool_new (const gchar *name)
@ -394,7 +394,7 @@ clutter_binding_pool_new (const gchar *name)
* The returned #ClutterBindingPool is owned by Clutter and should not
* be freed directly
*
*
* Since: 1.0
*/
ClutterBindingPool *
clutter_binding_pool_get_for_class (gpointer klass)
@ -426,7 +426,7 @@ clutter_binding_pool_get_for_class (gpointer klass)
*
* Return value: (transfer none): a pointer to the #ClutterBindingPool, or %NULL
*
*
* Since: 1.0
*/
ClutterBindingPool *
clutter_binding_pool_find (const gchar *name)
@ -470,7 +470,7 @@ clutter_binding_pool_find (const gchar *name)
* Actions can be blocked with clutter_binding_pool_block_action()
* and then unblocked using clutter_binding_pool_unblock_action().
*
*
* Since: 1.0
*/
void
clutter_binding_pool_install_action (ClutterBindingPool *pool,
@ -540,7 +540,7 @@ clutter_binding_pool_install_action (ClutterBindingPool *pool,
* Actions can be blocked with clutter_binding_pool_block_action()
* and then unblocked using clutter_binding_pool_unblock_action().
*
*
* Since: 1.0
*/
void
clutter_binding_pool_install_closure (ClutterBindingPool *pool,
@ -603,7 +603,7 @@ clutter_binding_pool_install_closure (ClutterBindingPool *pool,
* Actions can be blocked with clutter_binding_pool_block_action()
* and then unblocked using clutter_binding_pool_unblock_action().
*
*
* Since: 1.0
*/
void
clutter_binding_pool_override_action (ClutterBindingPool *pool,
@ -667,7 +667,7 @@ clutter_binding_pool_override_action (ClutterBindingPool *pool,
* Actions can be blocked with clutter_binding_pool_block_action()
* and then unblocked using clutter_binding_pool_unblock_action().
*
*
* Since: 1.0
*/
void
clutter_binding_pool_override_closure (ClutterBindingPool *pool,
@ -722,7 +722,7 @@ clutter_binding_pool_override_closure (ClutterBindingPool *pool,
* returned string is owned by the binding pool and should never
* be modified or freed
*
*
* Since: 1.0
*/
const gchar *
clutter_binding_pool_find_action (ClutterBindingPool *pool,
@ -750,7 +750,7 @@ clutter_binding_pool_find_action (ClutterBindingPool *pool,
* Removes the action matching the given @key_val, @modifiers pair,
* if any exists.
*
*
* Since: 1.0
*/
void
clutter_binding_pool_remove_action (ClutterBindingPool *pool,
@ -854,7 +854,7 @@ clutter_binding_entry_invoke (ClutterBindingEntry *entry,
*
* Return value: %TRUE if an action was found and was activated
*
*
* Since: 1.0
*/
gboolean
clutter_binding_pool_activate (ClutterBindingPool *pool,
@ -887,7 +887,7 @@ clutter_binding_pool_activate (ClutterBindingPool *pool,
*
* Blocks all the actions with name @action_name inside @pool.
*
*
* Since: 1.0
*/
void
clutter_binding_pool_block_action (ClutterBindingPool *pool,
@ -918,7 +918,7 @@ clutter_binding_pool_block_action (ClutterBindingPool *pool,
* be invoked in case clutter_binding_pool_activate() was called on
* an action previously blocked with clutter_binding_pool_block_action().
*
*
* Since: 1.0
*/
void
clutter_binding_pool_unblock_action (ClutterBindingPool *pool,

View File

@ -43,7 +43,7 @@ G_BEGIN_DECLS
* Container of key bindings. The #ClutterBindingPool struct is
* private.
*
*
* Since: 1.0
*/
typedef struct _ClutterBindingPool ClutterBindingPool;
typedef struct _ClutterBindingPoolClass ClutterBindingPoolClass;
@ -63,7 +63,7 @@ typedef struct _ClutterBindingPoolClass ClutterBindingPoolClass;
* Return value: the function should return %TRUE if the key
* binding has been handled, and return %FALSE otherwise
*
*
* Since: 1.0
*/
typedef gboolean (* ClutterBindingActionFunc) (GObject *gobject,
const gchar *action_name,

View File

@ -269,7 +269,7 @@ clutter_blur_effect_init (ClutterBlurEffect *self)
*
* Return value: the newly created #ClutterBlurEffect or %NULL
*
*
* Since: 1.4
*/
ClutterEffect *
clutter_blur_effect_new (void)

View File

@ -43,7 +43,7 @@ G_BEGIN_DECLS
* <structname>ClutterBlurEffect</structname> is an opaque structure
* whose members cannot be accessed directly
*
*
* Since: 1.4
*/
typedef struct _ClutterBlurEffect ClutterBlurEffect;
typedef struct _ClutterBlurEffectClass ClutterBlurEffectClass;

File diff suppressed because it is too large Load Diff

View File

@ -53,7 +53,7 @@ typedef struct _ClutterBoxLayoutClass ClutterBoxLayoutClass;
* The #ClutterBoxLayout structure contains only private data
* and should be accessed using the provided API
*
*
* Since: 1.2
*/
struct _ClutterBoxLayout
{
@ -69,7 +69,7 @@ struct _ClutterBoxLayout
* The #ClutterBoxLayoutClass structure contains only private
* data and should be accessed using the provided API
*
*
* Since: 1.2
*/
struct _ClutterBoxLayoutClass
{
@ -81,10 +81,10 @@ GType clutter_box_layout_get_type (void) G_GNUC_CONST;
ClutterLayoutManager * clutter_box_layout_new (void);
CLUTTER_AVAILABLE_IN_1_12
void clutter_box_layout_set_orientation (ClutterBoxLayout *layout,
ClutterOrientation orientation);
CLUTTER_AVAILABLE_IN_1_12
ClutterOrientation clutter_box_layout_get_orientation (ClutterBoxLayout *layout);
void clutter_box_layout_set_spacing (ClutterBoxLayout *layout,
@ -97,6 +97,63 @@ void clutter_box_layout_set_pack_start (ClutterBoxLayou
gboolean pack_start);
gboolean clutter_box_layout_get_pack_start (ClutterBoxLayout *layout);
CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_box_layout_set_orientation)
void clutter_box_layout_set_vertical (ClutterBoxLayout *layout,
gboolean vertical);
CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_box_layout_get_orientation)
gboolean clutter_box_layout_get_vertical (ClutterBoxLayout *layout);
void clutter_box_layout_pack (ClutterBoxLayout *layout,
ClutterActor *actor,
gboolean expand,
gboolean x_fill,
gboolean y_fill,
ClutterBoxAlignment x_align,
ClutterBoxAlignment y_align);
CLUTTER_DEPRECATED_IN_1_12
void clutter_box_layout_set_alignment (ClutterBoxLayout *layout,
ClutterActor *actor,
ClutterBoxAlignment x_align,
ClutterBoxAlignment y_align);
CLUTTER_DEPRECATED_IN_1_12
void clutter_box_layout_get_alignment (ClutterBoxLayout *layout,
ClutterActor *actor,
ClutterBoxAlignment *x_align,
ClutterBoxAlignment *y_align);
CLUTTER_DEPRECATED_IN_1_12
void clutter_box_layout_set_fill (ClutterBoxLayout *layout,
ClutterActor *actor,
gboolean x_fill,
gboolean y_fill);
CLUTTER_DEPRECATED_IN_1_12
void clutter_box_layout_get_fill (ClutterBoxLayout *layout,
ClutterActor *actor,
gboolean *x_fill,
gboolean *y_fill);
CLUTTER_DEPRECATED_IN_1_12
void clutter_box_layout_set_expand (ClutterBoxLayout *layout,
ClutterActor *actor,
gboolean expand);
CLUTTER_DEPRECATED_IN_1_12
gboolean clutter_box_layout_get_expand (ClutterBoxLayout *layout,
ClutterActor *actor);
CLUTTER_DEPRECATED_IN_1_12
void clutter_box_layout_set_use_animations (ClutterBoxLayout *layout,
gboolean animate);
CLUTTER_DEPRECATED_IN_1_12
gboolean clutter_box_layout_get_use_animations (ClutterBoxLayout *layout);
CLUTTER_DEPRECATED_IN_1_12
void clutter_box_layout_set_easing_mode (ClutterBoxLayout *layout,
gulong mode);
CLUTTER_DEPRECATED_IN_1_12
gulong clutter_box_layout_get_easing_mode (ClutterBoxLayout *layout);
CLUTTER_DEPRECATED_IN_1_12
void clutter_box_layout_set_easing_duration (ClutterBoxLayout *layout,
guint msecs);
CLUTTER_DEPRECATED_IN_1_12
guint clutter_box_layout_get_easing_duration (ClutterBoxLayout *layout);
G_END_DECLS
#endif /* __CLUTTER_BOX_LAYOUT_H__ */

View File

@ -314,7 +314,7 @@ clutter_brightness_contrast_effect_class_init (ClutterBrightnessContrastEffectCl
* in brightness, and values larger than 127 indicate an increase in
* brightness.
*
*
* Since: 1.10
*/
obj_props[PROP_BRIGHTNESS] =
clutter_param_spec_color ("brightness",
@ -334,7 +334,7 @@ clutter_brightness_contrast_effect_class_init (ClutterBrightnessContrastEffectCl
* in contrast, and values larger than 127 indicate an increase in
* contrast.
*
*
* Since: 1.10
*/
obj_props[PROP_CONTRAST] =
clutter_param_spec_color ("contrast",
@ -468,7 +468,7 @@ clutter_brightness_contrast_effect_init (ClutterBrightnessContrastEffect *self)
* #ClutterBrightnessContrastEffect or %NULL. Use g_object_unref() when
* done.
*
*
* Since: 1.10
*/
ClutterEffect *
clutter_brightness_contrast_effect_new (void)
@ -487,7 +487,7 @@ clutter_brightness_contrast_effect_new (void)
* values below 0.0 mean a decrease in brightness, and values above indicate
* an increase.
*
*
* Since: 1.10
*/
void
clutter_brightness_contrast_effect_set_brightness_full (ClutterBrightnessContrastEffect *effect,
@ -525,7 +525,7 @@ clutter_brightness_contrast_effect_set_brightness_full (ClutterBrightnessContras
*
* Retrieves the change in brightness used by @effect.
*
*
* Since: 1.10
*/
void
clutter_brightness_contrast_effect_get_brightness (ClutterBrightnessContrastEffect *effect,
@ -554,7 +554,7 @@ clutter_brightness_contrast_effect_get_brightness (ClutterBrightnessContrastEffe
* a value below 0.0 indicates a decrease in brightness; and a value
* above 0.0 indicates an increase of brightness.
*
*
* Since: 1.10
*/
void
clutter_brightness_contrast_effect_set_brightness (ClutterBrightnessContrastEffect *effect,
@ -577,7 +577,7 @@ clutter_brightness_contrast_effect_set_brightness (ClutterBrightnessContrastEffe
* values below 0.0 mean a decrease in contrast, and values above indicate
* an increase.
*
*
* Since: 1.10
*/
void
clutter_brightness_contrast_effect_set_contrast_full (ClutterBrightnessContrastEffect *effect,
@ -615,7 +615,7 @@ clutter_brightness_contrast_effect_set_contrast_full (ClutterBrightnessContrastE
*
* Retrieves the contrast value used by @effect.
*
*
* Since: 1.10
*/
void
clutter_brightness_contrast_effect_get_contrast (ClutterBrightnessContrastEffect *effect,
@ -644,7 +644,7 @@ clutter_brightness_contrast_effect_get_contrast (ClutterBrightnessContrastEffect
* a value below 0.0 indicates a decrease in contrast; and a value above
* 0.0 indicates an increase.
*
*
* Since: 1.10
*/
void
clutter_brightness_contrast_effect_set_contrast (ClutterBrightnessContrastEffect *effect,

View File

@ -44,7 +44,7 @@ G_BEGIN_DECLS
* <structname>ClutterBrightnessContrastEffect</structname> is an opaque structure
* whose members cannot be directly accessed
*
*
* Since: 1.10
*/
typedef struct _ClutterBrightnessContrastEffect ClutterBrightnessContrastEffect;
typedef struct _ClutterBrightnessContrastEffectClass ClutterBrightnessContrastEffectClass;

View File

@ -50,7 +50,7 @@
* color->alpha / 255.0);
* ]|
*
*
* Since: 1.0
*/
void
clutter_cairo_set_source_color (cairo_t *cr,
@ -78,7 +78,7 @@ clutter_cairo_set_source_color (cairo_t *cr,
*
* Utility function to clear a Cairo context.
*
*
* Since: 1.12
*/
void
clutter_cairo_clear (cairo_t *cr)

View File

@ -37,7 +37,7 @@ G_BEGIN_DECLS
* and to a Cairo image surface using %CAIRO_FORMAT_ARGB32 and
* %CAIRO_FORMAT_RGB24 as #cairo_format_t.
*
*
* Since: 1.8
*/
/* Cairo stores the data in native byte order as ARGB but Cogl's pixel

View File

@ -74,9 +74,6 @@ struct _ClutterCanvasPrivate
int width;
int height;
CoglTexture *texture;
gboolean dirty;
CoglBitmap *buffer;
};
@ -140,8 +137,6 @@ clutter_canvas_finalize (GObject *gobject)
priv->buffer = NULL;
}
g_clear_pointer (&priv->texture, cogl_object_unref);
G_OBJECT_CLASS (clutter_canvas_parent_class)->finalize (gobject);
}
@ -213,7 +208,7 @@ clutter_canvas_class_init (ClutterCanvasClass *klass)
*
* The width of the canvas.
*
*
* Since: 1.10
*/
obj_props[PROP_WIDTH] =
g_param_spec_int ("width",
@ -229,7 +224,7 @@ clutter_canvas_class_init (ClutterCanvasClass *klass)
*
* The height of the canvas.
*
*
* Since: 1.10
*/
obj_props[PROP_HEIGHT] =
g_param_spec_int ("height",
@ -257,7 +252,7 @@ clutter_canvas_class_init (ClutterCanvasClass *klass)
* Return value: %TRUE if the signal emission should stop, and
* %FALSE otherwise
*
*
* Since: 1.10
*/
canvas_signals[DRAW] =
g_signal_new (I_("draw"),
@ -294,26 +289,21 @@ clutter_canvas_paint_content (ClutterContent *content,
ClutterPaintNode *root)
{
ClutterCanvas *self = CLUTTER_CANVAS (content);
ClutterCanvasPrivate *priv = self->priv;
ClutterPaintNode *node;
CoglTexture *texture;
ClutterActorBox box;
ClutterColor color;
guint8 paint_opacity;
ClutterScalingFilter min_f, mag_f;
ClutterContentRepeat repeat;
if (priv->buffer == NULL)
if (self->priv->buffer == NULL)
return;
if (priv->texture && priv->dirty)
g_clear_pointer (&priv->texture, cogl_object_unref);
if (!priv->texture)
priv->texture = cogl_texture_new_from_bitmap (self->priv->buffer,
COGL_TEXTURE_NO_SLICING,
CLUTTER_CAIRO_FORMAT_ARGB32);
if (priv->texture == NULL)
texture = cogl_texture_new_from_bitmap (self->priv->buffer,
COGL_TEXTURE_NO_SLICING,
CLUTTER_CAIRO_FORMAT_ARGB32);
if (texture == NULL)
return;
clutter_actor_get_content_box (actor, &box);
@ -326,7 +316,8 @@ clutter_canvas_paint_content (ClutterContent *content,
color.blue = paint_opacity;
color.alpha = paint_opacity;
node = clutter_texture_node_new (priv->texture, &color, min_f, mag_f);
node = clutter_texture_node_new (texture, &color, min_f, mag_f);
cogl_object_unref (texture);
clutter_paint_node_set_name (node, "Canvas");
@ -337,10 +328,10 @@ clutter_canvas_paint_content (ClutterContent *content,
float t_w = 1.f, t_h = 1.f;
if ((repeat & CLUTTER_REPEAT_X_AXIS) != FALSE)
t_w = (box.x2 - box.x1) / cogl_texture_get_width (priv->texture);
t_w = (box.x2 - box.x1) / cogl_texture_get_width (texture);
if ((repeat & CLUTTER_REPEAT_Y_AXIS) != FALSE)
t_h = (box.y2 - box.y1) / cogl_texture_get_height (priv->texture);
t_h = (box.y2 - box.y1) / cogl_texture_get_height (texture);
clutter_paint_node_add_texture_rectangle (node, &box,
0.f, 0.f,
@ -349,8 +340,6 @@ clutter_canvas_paint_content (ClutterContent *content,
clutter_paint_node_add_child (root, node);
clutter_paint_node_unref (node);
priv->dirty = FALSE;
}
static void
@ -366,8 +355,6 @@ clutter_canvas_emit_draw (ClutterCanvas *self)
g_assert (priv->width > 0 && priv->width > 0);
priv->dirty = TRUE;
if (priv->buffer == NULL)
{
CoglContext *ctx;
@ -499,7 +486,7 @@ clutter_content_iface_init (ClutterContentIface *iface)
* Return value: (transfer full): The newly allocated instance of
* #ClutterCanvas. Use g_object_unref() when done.
*
*
* Since: 1.10
*/
ClutterContent *
clutter_canvas_new (void)
@ -517,7 +504,7 @@ clutter_canvas_new (void)
*
* This function will cause the @canvas to be invalidated.
*
*
* Since: 1.10
*/
void
clutter_canvas_set_size (ClutterCanvas *canvas,

View File

@ -51,7 +51,7 @@ typedef struct _ClutterCanvasClass ClutterCanvasClass;
* private data and should only be accessed using the provided
* API.
*
*
* Since: 1.10
*/
struct _ClutterCanvas
{
@ -68,7 +68,7 @@ struct _ClutterCanvas
* The <structname>ClutterCanvasClass</structname> structure contains
* private data.
*
*
* Since: 1.10
*/
struct _ClutterCanvasClass
{
@ -85,12 +85,12 @@ struct _ClutterCanvasClass
gpointer _padding[16];
};
CLUTTER_AVAILABLE_IN_1_10
GType clutter_canvas_get_type (void) G_GNUC_CONST;
CLUTTER_AVAILABLE_IN_1_10
ClutterContent * clutter_canvas_new (void);
CLUTTER_AVAILABLE_IN_1_10
void clutter_canvas_set_size (ClutterCanvas *canvas,
int width,
int height);

View File

@ -120,7 +120,7 @@ clutter_child_meta_class_init (ClutterChildMetaClass *klass)
*
* The #ClutterContainer that created this #ClutterChildMeta.
*
*
* Since: 0.8
*/
obj_props[PROP_CONTAINER] =
g_param_spec_object ("container",
@ -135,7 +135,7 @@ clutter_child_meta_class_init (ClutterChildMetaClass *klass)
*
* The #ClutterActor being wrapped by this #ClutterChildMeta
*
*
* Since: 0.8
*/
obj_props[PROP_ACTOR] =
g_param_spec_object ("actor",
@ -163,7 +163,7 @@ clutter_child_meta_init (ClutterChildMeta *self)
*
* Return value: (transfer none): a #ClutterContainer
*
*
* Since: 0.8
*/
ClutterContainer *
clutter_child_meta_get_container (ClutterChildMeta *data)
@ -181,7 +181,7 @@ clutter_child_meta_get_container (ClutterChildMeta *data)
*
* Return value: (transfer none): a #ClutterActor
*
*
* Since: 0.8
*/
ClutterActor *
clutter_child_meta_get_actor (ClutterChildMeta *data)

View File

@ -85,7 +85,7 @@ typedef struct _ClutterChildMetaClass ClutterChildMetaClass;
* <function>destroy_child_meta</function>,
* and <function>get_child_meta</function>.
*
*
* Since: 0.8
*/
struct _ClutterChildMeta
{
@ -102,7 +102,7 @@ struct _ClutterChildMeta
*
* The #ClutterChildMetaClass contains only private data
*
*
* Since: 0.8
*/
struct _ClutterChildMetaClass
{

View File

@ -552,7 +552,7 @@ clutter_click_action_class_init (ClutterClickActionClass *klass)
*
* Whether the clickable actor should be in "pressed" state
*
*
* Since: 1.4
*/
obj_props[PROP_PRESSED] =
g_param_spec_boolean ("pressed",
@ -566,7 +566,7 @@ clutter_click_action_class_init (ClutterClickActionClass *klass)
*
* Whether the clickable actor has the pointer grabbed
*
*
* Since: 1.4
*/
obj_props[PROP_HELD] =
g_param_spec_boolean ("held",
@ -584,7 +584,7 @@ clutter_click_action_class_init (ClutterClickActionClass *klass)
* A value of -1 will make the #ClutterClickAction use the value of
* the #ClutterSettings:long-press-duration property.
*
*
* Since: 1.8
*/
obj_props[PROP_LONG_PRESS_DURATION] =
g_param_spec_int ("long-press-duration",
@ -603,7 +603,7 @@ clutter_click_action_class_init (ClutterClickActionClass *klass)
* A value of -1 will make the #ClutterClickAction use the value of
* the #ClutterSettings:dnd-drag-threshold property.
*
*
* Since: 1.8
*/
obj_props[PROP_LONG_PRESS_THRESHOLD] =
g_param_spec_int ("long-press-threshold",
@ -626,7 +626,7 @@ clutter_click_action_class_init (ClutterClickActionClass *klass)
* a #ClutterClickAction has been applied should respond to a
* pointer button press and release events
*
*
* Since: 1.4
*/
click_signals[CLICKED] =
g_signal_new (I_("clicked"),
@ -663,7 +663,7 @@ clutter_click_action_class_init (ClutterClickActionClass *klass)
* Return value: Only the %CLUTTER_LONG_PRESS_QUERY state uses the
* returned value of the handler; other states will ignore it
*
*
* Since: 1.8
*/
click_signals[LONG_PRESS] =
g_signal_new (I_("long-press"),
@ -694,7 +694,7 @@ clutter_click_action_init (ClutterClickAction *self)
*
* Return value: the newly created #ClutterClickAction
*
*
* Since: 1.4
*/
ClutterAction *
clutter_click_action_new (void)
@ -715,7 +715,7 @@ clutter_click_action_new (void)
* This function is useful to break a grab, for instance after a certain
* amount of time has passed.
*
*
* Since: 1.4
*/
void
clutter_click_action_release (ClutterClickAction *action)
@ -749,7 +749,7 @@ clutter_click_action_release (ClutterClickAction *action)
*
* Return value: the button value
*
*
* Since: 1.4
*/
guint
clutter_click_action_get_button (ClutterClickAction *action)
@ -767,7 +767,7 @@ clutter_click_action_get_button (ClutterClickAction *action)
*
* Return value: the modifier state parameter, or 0
*
*
* Since: 1.6
*/
ClutterModifierType
clutter_click_action_get_state (ClutterClickAction *action)
@ -785,7 +785,7 @@ clutter_click_action_get_state (ClutterClickAction *action)
*
* Retrieves the screen coordinates of the button press.
*
*
* Since: 1.8
*/
void
clutter_click_action_get_coords (ClutterClickAction *action,

View File

@ -54,7 +54,7 @@ typedef struct _ClutterClickActionClass ClutterClickActionClass;
* The <structname>ClutterClickAction</structname> structure contains
* only private data and should be accessed using the provided API
*
*
* Since: 1.4
*/
struct _ClutterClickAction
{
@ -72,7 +72,7 @@ struct _ClutterClickAction
* The <structname>ClutterClickActionClass</structname> structure
* contains only private data
*
*
* Since: 1.4
*/
struct _ClutterClickActionClass
{

View File

@ -338,7 +338,7 @@ clutter_clone_class_init (ClutterCloneClass *klass)
*
* This property specifies the source actor being cloned.
*
*
* Since: 1.0
*/
obj_props[PROP_SOURCE] =
g_param_spec_object ("source",
@ -369,7 +369,7 @@ clutter_clone_init (ClutterClone *self)
*
* Return value: the newly created #ClutterClone
*
*
* Since: 1.0
*/
ClutterActor *
clutter_clone_new (ClutterActor *source)
@ -411,7 +411,7 @@ clutter_clone_set_source_internal (ClutterClone *self,
*
* Sets @source as the source actor to be cloned by @self.
*
*
* Since: 1.0
*/
void
clutter_clone_set_source (ClutterClone *self,
@ -432,7 +432,7 @@ clutter_clone_set_source (ClutterClone *self,
*
* Return value: (transfer none): the actor source for the clone
*
*
* Since: 1.0
*/
ClutterActor *
clutter_clone_get_source (ClutterClone *self)

View File

@ -49,7 +49,7 @@ typedef struct _ClutterClonePrivate ClutterClonePrivate;
* The #ClutterClone structure contains only private data
* and should be accessed using the provided API
*
*
* Since: 1.0
*/
struct _ClutterClone
{
@ -64,7 +64,7 @@ struct _ClutterClone
*
* The #ClutterCloneClass structure contains only private data
*
*
* Since: 1.0
*/
struct _ClutterCloneClass
{

View File

@ -113,7 +113,7 @@ static const ClutterColor const static_colors[] = {
* Return value: a pointer to a static color; the returned pointer
* is owned by Clutter and it should never be modified or freed
*
*
* Since: 1.6
*/
const ClutterColor *
clutter_color_get_static (ClutterStaticColor color)
@ -669,7 +669,7 @@ parse_hsla (ClutterColor *color,
*
* Return value: %TRUE if parsing succeeded, and %FALSE otherwise
*
*
* Since: 1.0
*/
gboolean
clutter_color_from_string (ClutterColor *color,
@ -803,7 +803,7 @@ clutter_color_from_string (ClutterColor *color,
*
* Return value: (transfer full): a newly-allocated text string
*
*
* Since: 0.2
*/
gchar *
clutter_color_to_string (const ClutterColor *color)
@ -829,7 +829,7 @@ clutter_color_to_string (const ClutterColor *color)
*
* Return value: %TRUE if the two colors are the same.
*
*
* Since: 0.2
*/
gboolean
clutter_color_equal (gconstpointer v1,
@ -863,7 +863,7 @@ clutter_color_equal (gconstpointer v1,
*
* Return value: a hash value corresponding to the color
*
*
* Since: 1.0
*/
guint
clutter_color_hash (gconstpointer v)
@ -881,7 +881,7 @@ clutter_color_hash (gconstpointer v)
* Interpolates between @initial and @final #ClutterColor<!-- -->s
* using @progress
*
*
* Since: 1.6
*/
void
clutter_color_interpolate (const ClutterColor *initial,
@ -924,7 +924,7 @@ clutter_color_progress (const GValue *a,
*
* Return value: (transfer full): an allocated copy of @color.
*
*
* Since: 0.2
*/
ClutterColor *
clutter_color_copy (const ClutterColor *color)
@ -941,7 +941,7 @@ clutter_color_copy (const ClutterColor *color)
*
* Frees a color structure created with clutter_color_copy().
*
*
* Since: 0.2
*/
void
clutter_color_free (ClutterColor *color)
@ -968,7 +968,7 @@ clutter_color_free (ClutterColor *color)
* Return value: (transfer full): the newly allocated color.
* Use clutter_color_free() when done
*
*
* Since: 0.8.4
*/
ClutterColor *
clutter_color_new (guint8 red,
@ -991,7 +991,7 @@ clutter_color_new (guint8 red,
* Return value: (transfer full): the newly allocated #ClutterColor; use
* clutter_color_free() to free its resources
*
*
* Since: 1.12
*/
ClutterColor *
clutter_color_alloc (void)
@ -1011,7 +1011,7 @@ clutter_color_alloc (void)
*
* Return value: (transfer none): the initialized #ClutterColor
*
*
* Since: 1.12
*/
ClutterColor *
clutter_color_init (ClutterColor *color,
@ -1078,7 +1078,7 @@ G_DEFINE_BOXED_TYPE_WITH_CODE (ClutterColor, clutter_color,
*
* Sets @value to @color.
*
*
* Since: 0.8.4
*/
void
clutter_value_set_color (GValue *value,
@ -1097,7 +1097,7 @@ clutter_value_set_color (GValue *value,
*
* Return value: (transfer none): the color inside the passed #GValue
*
*
* Since: 0.8.4
*/
const ClutterColor *
clutter_value_get_color (const GValue *value)
@ -1192,7 +1192,7 @@ clutter_param_color_get_type (void)
*
* Return value: the newly created #GParamSpec
*
*
* Since: 0.8.4
*/
GParamSpec *
clutter_param_spec_color (const gchar *name,

View File

@ -64,7 +64,7 @@ struct _ClutterColor
*
* A macro that initializes a #ClutterColor, to be used when declaring it.
*
*
* Since: 1.12
*/
#define CLUTTER_COLOR_INIT(r,g,b,a) { (r), (g), (b), (a) }
@ -133,7 +133,7 @@ void clutter_color_interpolate (const ClutterColor *initial,
*
* Evaluates to %TRUE if @x holds a #ClutterColor<!-- -->.
*
*
* Since: 1.0
*/
#define CLUTTER_VALUE_HOLDS_COLOR(x) (G_VALUE_HOLDS ((x), CLUTTER_TYPE_COLOR))
@ -146,7 +146,7 @@ typedef struct _ClutterParamSpecColor ClutterParamSpecColor;
* A #GParamSpec subclass for defining properties holding
* a #ClutterColor.
*
*
* Since: 1.0
*/
struct _ClutterParamSpecColor
{

View File

@ -244,7 +244,7 @@ clutter_colorize_effect_class_init (ClutterColorizeEffectClass *klass)
*
* The tint to apply to the actor
*
*
* Since: 1.4
*/
obj_props[PROP_TINT] =
clutter_param_spec_color ("tint",
@ -318,7 +318,7 @@ clutter_colorize_effect_init (ClutterColorizeEffect *self)
*
* Return value: the newly created #ClutterColorizeEffect or %NULL
*
*
* Since: 1.4
*/
ClutterEffect *
clutter_colorize_effect_new (const ClutterColor *tint)
@ -335,7 +335,7 @@ clutter_colorize_effect_new (const ClutterColor *tint)
*
* Sets the tint to be used when colorizing
*
*
* Since: 1.4
*/
void
clutter_colorize_effect_set_tint (ClutterColorizeEffect *effect,
@ -359,7 +359,7 @@ clutter_colorize_effect_set_tint (ClutterColorizeEffect *effect,
*
* Retrieves the tint used by @effect
*
*
* Since: 1.4
*/
void
clutter_colorize_effect_get_tint (ClutterColorizeEffect *effect,

View File

@ -44,7 +44,7 @@ G_BEGIN_DECLS
* <structname>ClutterColorizeEffect</structname> is an opaque structure
* whose members cannot be directly accessed
*
*
* Since: 1.4
*/
typedef struct _ClutterColorizeEffect ClutterColorizeEffect;
typedef struct _ClutterColorizeEffectClass ClutterColorizeEffectClass;

View File

@ -48,7 +48,7 @@ typedef struct _ClutterConstraintClass ClutterConstraintClass;
* The <structname>ClutterConstraint</structname> structure contains only
* private data and should be accessed using the provided API
*
*
* Since: 1.4
*/
struct _ClutterConstraint
{
@ -62,7 +62,7 @@ struct _ClutterConstraint
* The <structname>ClutterConstraintClass</structname> structure contains
* only private data
*
*
* Since: 1.4
*/
struct _ClutterConstraintClass
{

View File

@ -34,14 +34,34 @@
#include <glib-object.h>
#include <gobject/gvaluecollector.h>
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
#include "deprecated/clutter-container.h"
#include "clutter-actor-private.h"
#include "clutter-child-meta.h"
#include "clutter-container.h"
#include "clutter-debug.h"
#include "clutter-enum-types.h"
#include "clutter-main.h"
#include "clutter-marshal.h"
#include "clutter-private.h"
#include "clutter-enum-types.h"
#define CLUTTER_CONTAINER_WARN_NOT_IMPLEMENTED(container,vfunc) \
G_STMT_START { \
g_warning ("Container of type '%s' does not implement " \
"the required ClutterContainer::%s virtual " \
"function.", \
G_OBJECT_TYPE_NAME ((container)), \
(vfunc)); \
} G_STMT_END
#define CLUTTER_CONTAINER_NOTE_NOT_IMPLEMENTED(container,vfunc) \
G_STMT_START { \
CLUTTER_NOTE (ACTOR, "Container of type '%s' does not " \
"implement the ClutterContainer::%s " \
"virtual function.", \
G_OBJECT_TYPE_NAME ((container)), \
(vfunc)); \
} G_STMT_END
/**
* SECTION:clutter-container
@ -51,6 +71,13 @@
* it provides some common API for notifying when a child actor is added
* or removed, as well as the infrastructure for accessing child properties
* through #ClutterChildMeta.
*
* Until Clutter 1.10, the #ClutterContainer interface was also the public
* API for implementing container actors; this part of the interface has
* been deprecated: #ClutterContainer has a default implementation which
* defers to #ClutterActor the child addition and removal, as well as the
* iteration. See the documentation of #ClutterContainerIface for the list
* of virtual functions that should be overridden.
*/
enum
@ -77,7 +104,77 @@ static void child_notify (ClutterContainer *container,
typedef ClutterContainerIface ClutterContainerInterface;
G_DEFINE_INTERFACE (ClutterContainer, clutter_container, G_TYPE_OBJECT)
G_DEFINE_INTERFACE (ClutterContainer, clutter_container, G_TYPE_OBJECT);
static void
container_real_add (ClutterContainer *container,
ClutterActor *actor)
{
clutter_actor_add_child (CLUTTER_ACTOR (container), actor);
}
static void
container_real_remove (ClutterContainer *container,
ClutterActor *actor)
{
clutter_actor_remove_child (CLUTTER_ACTOR (container), actor);
}
typedef struct {
ClutterCallback callback;
gpointer data;
} ForeachClosure;
static gboolean
foreach_cb (ClutterActor *actor,
gpointer data)
{
ForeachClosure *clos = data;
clos->callback (actor, clos->data);
return TRUE;
}
static void
container_real_foreach (ClutterContainer *container,
ClutterCallback callback,
gpointer user_data)
{
ForeachClosure clos;
clos.callback = callback;
clos.data = user_data;
_clutter_actor_foreach_child (CLUTTER_ACTOR (container),
foreach_cb,
&clos);
}
static void
container_real_raise (ClutterContainer *container,
ClutterActor *child,
ClutterActor *sibling)
{
ClutterActor *self = CLUTTER_ACTOR (container);
clutter_actor_set_child_above_sibling (self, child, sibling);
}
static void
container_real_lower (ClutterContainer *container,
ClutterActor *child,
ClutterActor *sibling)
{
ClutterActor *self = CLUTTER_ACTOR (container);
clutter_actor_set_child_below_sibling (self, child, sibling);
}
static void
container_real_sort_depth_order (ClutterContainer *container)
{
}
static void
clutter_container_default_init (ClutterContainerInterface *iface)
@ -85,7 +182,7 @@ clutter_container_default_init (ClutterContainerInterface *iface)
GType iface_type = G_TYPE_FROM_INTERFACE (iface);
quark_child_meta =
g_quark_from_static_string ("-clutter-container-child-data");
g_quark_from_static_string ("clutter-container-child-data");
/**
* ClutterContainer::actor-added:
@ -95,7 +192,7 @@ clutter_container_default_init (ClutterContainerInterface *iface)
* The ::actor-added signal is emitted each time an actor
* has been added to @container.
*
*
* Since: 0.4
*/
container_signals[ACTOR_ADDED] =
g_signal_new (I_("actor-added"),
@ -114,7 +211,7 @@ clutter_container_default_init (ClutterContainerInterface *iface)
* The ::actor-removed signal is emitted each time an actor
* is removed from @container.
*
*
* Since: 0.4
*/
container_signals[ACTOR_REMOVED] =
g_signal_new (I_("actor-removed"),
@ -136,7 +233,7 @@ clutter_container_default_init (ClutterContainerInterface *iface)
* being set through the clutter_container_child_set() and
* clutter_container_child_set_property() calls.
*
*
* Since: 0.8
*/
container_signals[CHILD_NOTIFY] =
g_signal_new (I_("child-notify"),
@ -148,6 +245,13 @@ clutter_container_default_init (ClutterContainerInterface *iface)
G_TYPE_NONE, 2,
CLUTTER_TYPE_ACTOR, G_TYPE_PARAM);
iface->add = container_real_add;
iface->remove = container_real_remove;
iface->foreach = container_real_foreach;
iface->raise = container_real_raise;
iface->lower = container_real_lower;
iface->sort_depth_order = container_real_sort_depth_order;
iface->child_meta_type = G_TYPE_INVALID;
iface->create_child_meta = create_child_meta;
iface->destroy_child_meta = destroy_child_meta;
@ -155,6 +259,651 @@ clutter_container_default_init (ClutterContainerInterface *iface)
iface->child_notify = child_notify;
}
static inline void
container_add_actor (ClutterContainer *container,
ClutterActor *actor)
{
ClutterActor *parent;
parent = clutter_actor_get_parent (actor);
if (G_UNLIKELY (parent != NULL))
{
g_warning ("Attempting to add actor of type '%s' to a "
"container of type '%s', but the actor has "
"already a parent of type '%s'.",
g_type_name (G_OBJECT_TYPE (actor)),
g_type_name (G_OBJECT_TYPE (container)),
g_type_name (G_OBJECT_TYPE (parent)));
return;
}
clutter_container_create_child_meta (container, actor);
#ifdef CLUTTER_ENABLE_DEBUG
if (G_UNLIKELY (_clutter_diagnostic_enabled ()))
{
ClutterContainerIface *iface = CLUTTER_CONTAINER_GET_IFACE (container);
if (iface->add != container_real_add)
_clutter_diagnostic_message ("The ClutterContainer::add() virtual "
"function has been deprecated and it "
"should not be overridden by newly "
"written code");
}
#endif /* CLUTTER_ENABLE_DEBUG */
CLUTTER_CONTAINER_GET_IFACE (container)->add (container, actor);
}
static inline void
container_remove_actor (ClutterContainer *container,
ClutterActor *actor)
{
ClutterActor *parent;
parent = clutter_actor_get_parent (actor);
if (parent != CLUTTER_ACTOR (container))
{
g_warning ("Attempting to remove actor of type '%s' from "
"group of class '%s', but the container is not "
"the actor's parent.",
g_type_name (G_OBJECT_TYPE (actor)),
g_type_name (G_OBJECT_TYPE (container)));
return;
}
clutter_container_destroy_child_meta (container, actor);
#ifdef CLUTTER_ENABLE_DEBUG
if (G_UNLIKELY (_clutter_diagnostic_enabled ()))
{
ClutterContainerIface *iface = CLUTTER_CONTAINER_GET_IFACE (container);
if (iface->remove != container_real_remove)
_clutter_diagnostic_message ("The ClutterContainer::remove() virtual "
"function has been deprecated and it "
"should not be overridden by newly "
"written code");
}
#endif /* CLUTTER_ENABLE_DEBUG */
CLUTTER_CONTAINER_GET_IFACE (container)->remove (container, actor);
}
static inline void
container_add_valist (ClutterContainer *container,
ClutterActor *first_actor,
va_list args)
{
ClutterActor *actor = first_actor;
while (actor != NULL)
{
container_add_actor (container, actor);
actor = va_arg (args, ClutterActor *);
}
}
static inline void
container_remove_valist (ClutterContainer *container,
ClutterActor *first_actor,
va_list args)
{
ClutterActor *actor = first_actor;
while (actor != NULL)
{
container_remove_actor (container, actor);
actor = va_arg (args, ClutterActor *);
}
}
/**
* clutter_container_add: (skip)
* @container: a #ClutterContainer
* @first_actor: the first #ClutterActor to add
* @...: %NULL terminated list of actors to add
*
* Adds a list of #ClutterActor<!-- -->s to @container. Each time and
* actor is added, the "actor-added" signal is emitted. Each actor should
* be parented to @container, which takes a reference on the actor. You
* cannot add a #ClutterActor to more than one #ClutterContainer.
*
* This function will call #ClutterContainerIface.add(), which is a
* deprecated virtual function. The default implementation will
* call clutter_actor_add_child().
*
* Since: 0.4
*
* Deprecated: 1.10: Use clutter_actor_add_child() instead.
*/
void
clutter_container_add (ClutterContainer *container,
ClutterActor *first_actor,
...)
{
va_list args;
g_return_if_fail (CLUTTER_IS_CONTAINER (container));
g_return_if_fail (CLUTTER_IS_ACTOR (first_actor));
va_start (args, first_actor);
container_add_valist (container, first_actor, args);
va_end (args);
}
/**
* clutter_container_add_actor:
* @container: a #ClutterContainer
* @actor: the first #ClutterActor to add
*
* Adds a #ClutterActor to @container. This function will emit the
* "actor-added" signal. The actor should be parented to
* @container. You cannot add a #ClutterActor to more than one
* #ClutterContainer.
*
* This function will call #ClutterContainerIface.add(), which is a
* deprecated virtual function. The default implementation will
* call clutter_actor_add_child().
*
* Virtual: add
*
* Since: 0.4
*
* Deprecated: 1.10: Use clutter_actor_add_child() instead.
*/
void
clutter_container_add_actor (ClutterContainer *container,
ClutterActor *actor)
{
g_return_if_fail (CLUTTER_IS_CONTAINER (container));
g_return_if_fail (CLUTTER_IS_ACTOR (actor));
container_add_actor (container, actor);
}
/**
* clutter_container_add_valist: (skip)
* @container: a #ClutterContainer
* @first_actor: the first #ClutterActor to add
* @var_args: list of actors to add, followed by %NULL
*
* Alternative va_list version of clutter_container_add().
*
* This function will call #ClutterContainerIface.add(), which is a
* deprecated virtual function. The default implementation will
* call clutter_actor_add_child().
*
* Since: 0.4
*
* Deprecated: 1.10: Use clutter_actor_add_child() instead.
*/
void
clutter_container_add_valist (ClutterContainer *container,
ClutterActor *first_actor,
va_list var_args)
{
g_return_if_fail (CLUTTER_IS_CONTAINER (container));
g_return_if_fail (CLUTTER_IS_ACTOR (first_actor));
container_add_valist (container, first_actor, var_args);
}
/**
* clutter_container_remove: (skip)
* @container: a #ClutterContainer
* @first_actor: first #ClutterActor to remove
* @...: a %NULL-terminated list of actors to remove
*
* Removes a %NULL terminated list of #ClutterActor<!-- -->s from
* @container. Each actor should be unparented, so if you want to keep it
* around you must hold a reference to it yourself, using g_object_ref().
* Each time an actor is removed, the "actor-removed" signal is
* emitted by @container.
*
* This function will call #ClutterContainerIface.remove(), which is a
* deprecated virtual function. The default implementation will call
* clutter_actor_remove_child().
*
* Since: 0.4
*
* Deprecated: 1.10: Use clutter_actor_remove_child() instead.
*/
void
clutter_container_remove (ClutterContainer *container,
ClutterActor *first_actor,
...)
{
va_list var_args;
g_return_if_fail (CLUTTER_IS_CONTAINER (container));
g_return_if_fail (CLUTTER_IS_ACTOR (first_actor));
va_start (var_args, first_actor);
container_remove_valist (container, first_actor, var_args);
va_end (var_args);
}
/**
* clutter_container_remove_actor:
* @container: a #ClutterContainer
* @actor: a #ClutterActor
*
* Removes @actor from @container. The actor should be unparented, so
* if you want to keep it around you must hold a reference to it
* yourself, using g_object_ref(). When the actor has been removed,
* the "actor-removed" signal is emitted by @container.
*
* This function will call #ClutterContainerIface.remove(), which is a
* deprecated virtual function. The default implementation will call
* clutter_actor_remove_child().
*
* Virtual: remove
*
* Since: 0.4
*
* Deprecated: 1.10: Use clutter_actor_remove_child() instead.
*/
void
clutter_container_remove_actor (ClutterContainer *container,
ClutterActor *actor)
{
g_return_if_fail (CLUTTER_IS_CONTAINER (container));
g_return_if_fail (CLUTTER_IS_ACTOR (actor));
container_remove_actor (container, actor);
}
/**
* clutter_container_remove_valist: (skip)
* @container: a #ClutterContainer
* @first_actor: the first #ClutterActor to add
* @var_args: list of actors to remove, followed by %NULL
*
* Alternative va_list version of clutter_container_remove().
*
* This function will call #ClutterContainerIface.remove(), which is a
* deprecated virtual function. The default implementation will call
* clutter_actor_remove_child().
*
* Since: 0.4
*
* Deprecated: 1.10: Use clutter_actor_remove_child() instead.
*/
void
clutter_container_remove_valist (ClutterContainer *container,
ClutterActor *first_actor,
va_list var_args)
{
g_return_if_fail (CLUTTER_IS_CONTAINER (container));
g_return_if_fail (CLUTTER_IS_ACTOR (first_actor));
container_remove_valist (container, first_actor, var_args);
}
static void
get_children_cb (ClutterActor *child,
gpointer data)
{
GList **children = data;
*children = g_list_prepend (*children, child);
}
/**
* clutter_container_get_children:
* @container: a #ClutterContainer
*
* Retrieves all the children of @container.
*
* Return value: (element-type Clutter.Actor) (transfer container): a list
* of #ClutterActor<!-- -->s. Use g_list_free() on the returned
* list when done.
*
* Since: 0.4
*
* Deprecated: 1.10: Use clutter_actor_get_children() instead.
*/
GList *
clutter_container_get_children (ClutterContainer *container)
{
GList *retval;
g_return_val_if_fail (CLUTTER_IS_CONTAINER (container), NULL);
retval = NULL;
clutter_container_foreach (container, get_children_cb, &retval);
return g_list_reverse (retval);
}
/**
* clutter_container_foreach:
* @container: a #ClutterContainer
* @callback: (scope call): a function to be called for each child
* @user_data: data to be passed to the function, or %NULL
*
* Calls @callback for each child of @container that was added
* by the application (with clutter_container_add_actor()). Does
* not iterate over "internal" children that are part of the
* container's own implementation, if any.
*
* This function calls the #ClutterContainerIface.foreach()
* virtual function, which has been deprecated.
*
* Since: 0.4
*
* Deprecated: 1.10: Use clutter_actor_get_first_child() or
* clutter_actor_get_last_child() to retrieve the beginning of
* the list of children, and clutter_actor_get_next_sibling()
* and clutter_actor_get_previous_sibling() to iterate over it;
* alternatively, use the #ClutterActorIter API.
*/
void
clutter_container_foreach (ClutterContainer *container,
ClutterCallback callback,
gpointer user_data)
{
g_return_if_fail (CLUTTER_IS_CONTAINER (container));
g_return_if_fail (callback != NULL);
#ifdef CLUTTER_ENABLE_DEBUG
if (G_UNLIKELY (_clutter_diagnostic_enabled ()))
{
ClutterContainerIface *iface = CLUTTER_CONTAINER_GET_IFACE (container);
if (iface->foreach != container_real_foreach)
_clutter_diagnostic_message ("The ClutterContainer::foreach() "
"virtual function has been deprecated "
"and it should not be overridden by "
"newly written code");
}
#endif /* CLUTTER_ENABLE_DEBUG */
CLUTTER_CONTAINER_GET_IFACE (container)->foreach (container,
callback,
user_data);
}
/**
* clutter_container_foreach_with_internals:
* @container: a #ClutterContainer
* @callback: (scope call): a function to be called for each child
* @user_data: data to be passed to the function, or %NULL
*
* Calls @callback for each child of @container, including "internal"
* children built in to the container itself that were never added
* by the application.
*
* This function calls the #ClutterContainerIface.foreach_with_internals()
* virtual function, which has been deprecated.
*
* Since: 1.0
*
* Deprecated: 1.10: See clutter_container_foreach().
*/
void
clutter_container_foreach_with_internals (ClutterContainer *container,
ClutterCallback callback,
gpointer user_data)
{
ClutterContainerIface *iface;
g_return_if_fail (CLUTTER_IS_CONTAINER (container));
g_return_if_fail (callback != NULL);
iface = CLUTTER_CONTAINER_GET_IFACE (container);
#ifdef CLUTTER_ENABLE_DEBUG
if (G_UNLIKELY (_clutter_diagnostic_enabled ()))
{
if (iface->foreach_with_internals != NULL)
_clutter_diagnostic_message ("The ClutterContainer::foreach_with_internals() "
"virtual function has been deprecated "
"and it should not be overridden by "
"newly written code");
}
#endif /* CLUTTER_ENABLE_DEBUG */
if (iface->foreach_with_internals != NULL)
iface->foreach_with_internals (container, callback, user_data);
else
iface->foreach (container, callback, user_data);
}
/**
* clutter_container_raise_child:
* @container: a #ClutterContainer
* @actor: the actor to raise
* @sibling: (allow-none): the sibling to raise to, or %NULL to raise
* to the top
*
* Raises @actor to @sibling level, in the depth ordering.
*
* This function calls the #ClutterContainerIface.raise() virtual function,
* which has been deprecated. The default implementation will call
* clutter_actor_set_child_above_sibling().
*
* Virtual: raise
*
* Since: 0.6
*
* Deprecated: 1.10: Use clutter_actor_set_child_above_sibling() instead.
*/
void
clutter_container_raise_child (ClutterContainer *container,
ClutterActor *actor,
ClutterActor *sibling)
{
ClutterContainerIface *iface;
ClutterActor *self;
g_return_if_fail (CLUTTER_IS_CONTAINER (container));
g_return_if_fail (CLUTTER_IS_ACTOR (actor));
g_return_if_fail (sibling == NULL || CLUTTER_IS_ACTOR (sibling));
if (actor == sibling)
return;
self = CLUTTER_ACTOR (container);
if (clutter_actor_get_parent (actor) != self)
{
g_warning ("Actor of type '%s' is not a child of the container "
"of type '%s'",
g_type_name (G_OBJECT_TYPE (actor)),
g_type_name (G_OBJECT_TYPE (container)));
return;
}
if (sibling != NULL &&
clutter_actor_get_parent (sibling) != self)
{
g_warning ("Actor of type '%s' is not a child of the container "
"of type '%s'",
g_type_name (G_OBJECT_TYPE (sibling)),
g_type_name (G_OBJECT_TYPE (container)));
return;
}
iface = CLUTTER_CONTAINER_GET_IFACE (container);
#ifdef CLUTTER_ENABLE_DEBUG
if (G_UNLIKELY (_clutter_diagnostic_enabled ()))
{
if (iface->raise != container_real_raise)
_clutter_diagnostic_message ("The ClutterContainer::raise() "
"virtual function has been deprecated "
"and it should not be overridden by "
"newly written code");
}
#endif /* CLUTTER_ENABLE_DEBUG */
iface->raise (container, actor, sibling);
}
/**
* clutter_container_lower_child:
* @container: a #ClutterContainer
* @actor: the actor to raise
* @sibling: (allow-none): the sibling to lower to, or %NULL to lower
* to the bottom
*
* Lowers @actor to @sibling level, in the depth ordering.
*
* This function calls the #ClutterContainerIface.lower() virtual function,
* which has been deprecated. The default implementation will call
* clutter_actor_set_child_below_sibling().
*
* Virtual: lower
*
* Since: 0.6
*
* Deprecated: 1.10: Use clutter_actor_set_child_below_sibling() instead.
*/
void
clutter_container_lower_child (ClutterContainer *container,
ClutterActor *actor,
ClutterActor *sibling)
{
ClutterContainerIface *iface;
ClutterActor *self;
g_return_if_fail (CLUTTER_IS_CONTAINER (container));
g_return_if_fail (CLUTTER_IS_ACTOR (actor));
g_return_if_fail (sibling == NULL || CLUTTER_IS_ACTOR (sibling));
if (actor == sibling)
return;
self = CLUTTER_ACTOR (container);
if (clutter_actor_get_parent (actor) != self)
{
g_warning ("Actor of type '%s' is not a child of the container "
"of type '%s'",
g_type_name (G_OBJECT_TYPE (actor)),
g_type_name (G_OBJECT_TYPE (container)));
return;
}
if (sibling != NULL&&
clutter_actor_get_parent (sibling) != self)
{
g_warning ("Actor of type '%s' is not a child of the container "
"of type '%s'",
g_type_name (G_OBJECT_TYPE (sibling)),
g_type_name (G_OBJECT_TYPE (container)));
return;
}
iface = CLUTTER_CONTAINER_GET_IFACE (container);
#ifdef CLUTTER_ENABLE_DEBUG
if (G_UNLIKELY (_clutter_diagnostic_enabled ()))
{
if (iface->lower != container_real_lower)
_clutter_diagnostic_message ("The ClutterContainer::lower() "
"virtual function has been deprecated "
"and it should not be overridden by "
"newly written code");
}
#endif /* CLUTTER_ENABLE_DEBUG */
iface->lower (container, actor, sibling);
}
/**
* clutter_container_sort_depth_order:
* @container: a #ClutterContainer
*
* Sorts a container's children using their depth. This function should not
* be normally used by applications.
*
* Since: 0.6
*
* Deprecated: 1.10: The #ClutterContainerIface.sort_depth_order() virtual
* function should not be used any more; the default implementation in
* #ClutterContainer does not do anything.
*/
void
clutter_container_sort_depth_order (ClutterContainer *container)
{
ClutterContainerIface *iface;
g_return_if_fail (CLUTTER_IS_CONTAINER (container));
iface = CLUTTER_CONTAINER_GET_IFACE (container);
#ifdef CLUTTER_ENABLE_DEBUG
if (G_UNLIKELY (_clutter_diagnostic_enabled ()))
{
if (iface->sort_depth_order != container_real_sort_depth_order)
_clutter_diagnostic_message ("The ClutterContainer::sort_depth_order() "
"virtual function has been deprecated "
"and it should not be overridden by "
"newly written code");
}
#endif /* CLUTTER_ENABLE_DEBUG */
iface->sort_depth_order (container);
}
/**
* clutter_container_find_child_by_name:
* @container: a #ClutterContainer
* @child_name: the name of the requested child.
*
* Finds a child actor of a container by its name. Search recurses
* into any child container.
*
* Return value: (transfer none): The child actor with the requested name,
* or %NULL if no actor with that name was found.
*
* Since: 0.6
*/
ClutterActor *
clutter_container_find_child_by_name (ClutterContainer *container,
const gchar *child_name)
{
GList *children;
GList *iter;
ClutterActor *actor = NULL;
g_return_val_if_fail (CLUTTER_IS_CONTAINER (container), NULL);
g_return_val_if_fail (child_name != NULL, NULL);
children = clutter_container_get_children (container);
for (iter = children; iter; iter = g_list_next (iter))
{
ClutterActor *a;
const gchar *iter_name;
a = CLUTTER_ACTOR (iter->data);
iter_name = clutter_actor_get_name (a);
if (iter_name && !strcmp (iter_name, child_name))
{
actor = a;
break;
}
if (CLUTTER_IS_CONTAINER (a))
{
ClutterContainer *c = CLUTTER_CONTAINER (a);
actor = clutter_container_find_child_by_name (c, child_name);
if (actor)
break;
}
}
g_list_free (children);
return actor;
}
static ClutterChildMeta *
get_child_meta (ClutterContainer *container,
ClutterActor *actor)
@ -223,7 +972,7 @@ destroy_child_meta (ClutterContainer *container,
* of @container or %NULL if the specifiec actor does not exist or the
* container is not configured to provide #ClutterChildMeta<!-- -->s
*
*
* Since: 0.8
*/
ClutterChildMeta *
clutter_container_get_child_meta (ClutterContainer *container,
@ -255,7 +1004,7 @@ clutter_container_get_child_meta (ClutterContainer *container,
*
* Applications should not call this function.
*
*
* Since: 1.2
*/
void
clutter_container_create_child_meta (ClutterContainer *container,
@ -291,7 +1040,7 @@ clutter_container_create_child_meta (ClutterContainer *container,
*
* Applications should not call this function.
*
*
* Since: 1.2
*/
void
clutter_container_destroy_child_meta (ClutterContainer *container,
@ -321,7 +1070,7 @@ clutter_container_destroy_child_meta (ClutterContainer *container,
* Return value: (transfer none): The #GParamSpec for the property or %NULL
* if no such property exist.
*
*
* Since: 0.8
*/
GParamSpec *
clutter_container_class_find_child_property (GObjectClass *klass,
@ -360,7 +1109,7 @@ clutter_container_class_find_child_property (GObjectClass *klass,
* Return value: (array length=n_properties) (transfer full): an array
* of #GParamSpec<!-- -->s which should be freed after use.
*
*
* Since: 0.8
*/
GParamSpec **
clutter_container_class_list_child_properties (GObjectClass *klass,
@ -422,7 +1171,7 @@ container_set_child_property (ClutterContainer *container,
*
* Sets a container-specific property on a child of @container.
*
*
* Since: 0.8
*/
void
clutter_container_child_set_property (ClutterContainer *container,
@ -470,7 +1219,7 @@ clutter_container_child_set_property (ClutterContainer *container,
*
* Sets container specific properties on the child of a container.
*
*
* Since: 0.8
*/
void
clutter_container_child_set (ClutterContainer *container,
@ -565,7 +1314,7 @@ container_get_child_property (ClutterContainer *container,
* language bindings, clutter_container_child_set() is much more convenient
* for C programming.
*
*
* Since: 0.8
*/
void
clutter_container_child_get_property (ClutterContainer *container,
@ -618,7 +1367,7 @@ clutter_container_child_get_property (ClutterContainer *container,
* responsible for freeing the memory in the appropriate manner for the type, for
* instance by calling g_free() or g_object_unref().
*
*
* Since: 0.8
*/
void
clutter_container_child_get (ClutterContainer *container,
@ -690,7 +1439,7 @@ clutter_container_child_get (ClutterContainer *container,
* of #ClutterContainer. The default implementation will emit the
* #ClutterContainer::child-notify signal.
*
*
* Since: 1.6
*/
void
clutter_container_child_notify (ClutterContainer *container,

View File

@ -50,11 +50,30 @@ typedef struct _ClutterContainerIface ClutterContainerIface;
* #ClutterContainer is an opaque structure whose members cannot be directly
* accessed
*
*
* Since: 0.4
*/
/**
* ClutterContainerIface:
* @add: virtual function for adding an actor to the container. This virtual
* function is deprecated, and it should not be overridden.
* @remove: virtual function for removing an actor from the container. This
* virtual function is deprecated, and it should not be overridden.
* @foreach: virtual function for iterating over the container's children.
* This virtual function is deprecated, and it should not be overridden.
* @foreach_with_internals: virtual functions for iterating over the
* container's children, both added using the #ClutterContainer API
* and internal children. The implementation of this virtual function
* is required only if the #ClutterContainer implementation has
* internal children. This virtual function is deprecated, and it should
* not be overridden.
* @raise: virtual function for raising a child. This virtual function is
* deprecated and it should not be overridden.
* @lower: virtual function for lowering a child. This virtual function is
* deprecated and it should not be overridden.
* @sort_depth_order: virtual function for sorting the children of a
* container depending on their depth. This virtual function is deprecated
* and it should not be overridden.
* @child_meta_type: The GType used for storing auxiliary information about
* each of the containers children.
* @create_child_meta: virtual function that gets called for each added
@ -73,7 +92,7 @@ typedef struct _ClutterContainerIface ClutterContainerIface;
* virtual functions must be provided by any implementation; the other
* virtual functions are optional.
*
*
* Since: 0.4
*/
struct _ClutterContainerIface
{
@ -81,6 +100,27 @@ struct _ClutterContainerIface
GTypeInterface g_iface;
/*< public >*/
void (* add) (ClutterContainer *container,
ClutterActor *actor);
void (* remove) (ClutterContainer *container,
ClutterActor *actor);
void (* foreach) (ClutterContainer *container,
ClutterCallback callback,
gpointer user_data);
void (* foreach_with_internals) (ClutterContainer *container,
ClutterCallback callback,
gpointer user_data);
/* child stacking */
void (* raise) (ClutterContainer *container,
ClutterActor *actor,
ClutterActor *sibling);
void (* lower) (ClutterContainer *container,
ClutterActor *actor,
ClutterActor *sibling);
void (* sort_depth_order) (ClutterContainer *container);
/* ClutterChildMeta management */
GType child_meta_type;
void (* create_child_meta) (ClutterContainer *container,
@ -101,40 +141,43 @@ struct _ClutterContainerIface
GParamSpec *pspec);
};
GType clutter_container_get_type (void) G_GNUC_CONST;
GType clutter_container_get_type (void) G_GNUC_CONST;
GParamSpec * clutter_container_class_find_child_property (GObjectClass *klass,
const gchar *property_name);
GParamSpec ** clutter_container_class_list_child_properties (GObjectClass *klass,
guint *n_properties);
ClutterActor *clutter_container_find_child_by_name (ClutterContainer *container,
const gchar *child_name);
void clutter_container_create_child_meta (ClutterContainer *container,
ClutterActor *actor);
void clutter_container_destroy_child_meta (ClutterContainer *container,
ClutterActor *actor);
ClutterChildMeta * clutter_container_get_child_meta (ClutterContainer *container,
ClutterActor *actor);
GParamSpec * clutter_container_class_find_child_property (GObjectClass *klass,
const gchar *property_name);
GParamSpec ** clutter_container_class_list_child_properties (GObjectClass *klass,
guint *n_properties);
void clutter_container_child_set_property (ClutterContainer *container,
ClutterActor *child,
const gchar * property,
const GValue *value);
void clutter_container_child_get_property (ClutterContainer *container,
ClutterActor *child,
const gchar *property,
GValue *value);
void clutter_container_child_set (ClutterContainer *container,
ClutterActor *actor,
const gchar *first_prop,
...) G_GNUC_NULL_TERMINATED;
void clutter_container_child_get (ClutterContainer *container,
ClutterActor *actor,
const gchar *first_prop,
...) G_GNUC_NULL_TERMINATED;
void clutter_container_create_child_meta (ClutterContainer *container,
ClutterActor *actor);
void clutter_container_destroy_child_meta (ClutterContainer *container,
ClutterActor *actor);
ClutterChildMeta *clutter_container_get_child_meta (ClutterContainer *container,
ClutterActor *actor);
void clutter_container_child_notify (ClutterContainer *container,
ClutterActor *child,
GParamSpec *pspec);
void clutter_container_child_set_property (ClutterContainer *container,
ClutterActor *child,
const gchar * property,
const GValue *value);
void clutter_container_child_get_property (ClutterContainer *container,
ClutterActor *child,
const gchar *property,
GValue *value);
void clutter_container_child_set (ClutterContainer *container,
ClutterActor *actor,
const gchar *first_prop,
...) G_GNUC_NULL_TERMINATED;
void clutter_container_child_get (ClutterContainer *container,
ClutterActor *actor,
const gchar *first_prop,
...) G_GNUC_NULL_TERMINATED;
void clutter_container_child_notify (ClutterContainer *container,
ClutterActor *child,
GParamSpec *pspec);
G_END_DECLS

View File

@ -119,7 +119,7 @@ clutter_content_default_init (ClutterContentInterface *iface)
* This signal is emitted each time a #ClutterContent implementation is
* assigned to a #ClutterActor.
*
*
* Since: 1.10
*/
content_signals[ATTACHED] =
g_signal_new (I_("attached"),
@ -139,7 +139,7 @@ clutter_content_default_init (ClutterContentInterface *iface)
* This signal is emitted each time a #ClutterContent implementation is
* removed from a #ClutterActor.
*
*
* Since: 1.10
*/
content_signals[DETACHED] =
g_signal_new (I_("detached"),
@ -162,7 +162,7 @@ clutter_content_default_init (ClutterContentInterface *iface)
* they change the way a the content should be painted regardless of the
* actor state.
*
*
* Since: 1.10
*/
void
clutter_content_invalidate (ClutterContent *content)
@ -290,7 +290,7 @@ _clutter_content_paint_content (ClutterContent *content,
* Return value: %TRUE if the content has a preferred size, and %FALSE
* otherwise
*
*
* Since: 1.10
*/
gboolean
clutter_content_get_preferred_size (ClutterContent *content,

View File

@ -46,7 +46,7 @@ typedef struct _ClutterContentIface ClutterContentIface;
* The <structname>ClutterContent</structname> structure is an opaque type
* whose members cannot be acccessed directly.
*
*
* Since: 1.10
*/
/**
@ -65,7 +65,7 @@ typedef struct _ClutterContentIface ClutterContentIface;
* The <structname>ClutterContentIface</structname> structure contains only
* private data.
*
*
* Since: 1.10
*/
struct _ClutterContentIface
{
@ -88,14 +88,14 @@ struct _ClutterContentIface
void (* invalidate) (ClutterContent *content);
};
CLUTTER_AVAILABLE_IN_1_10
GType clutter_content_get_type (void) G_GNUC_CONST;
CLUTTER_AVAILABLE_IN_1_10
gboolean clutter_content_get_preferred_size (ClutterContent *content,
gfloat *width,
gfloat *height);
CLUTTER_AVAILABLE_IN_1_10
void clutter_content_invalidate (ClutterContent *content);
G_END_DECLS

View File

@ -587,7 +587,7 @@ clutter_deform_effect_class_init (ClutterDeformEffectClass *klass)
* The number of horizontal tiles. The bigger the number, the
* smaller the tiles
*
*
* Since: 1.4
*/
obj_props[PROP_X_TILES] =
g_param_spec_uint ("x-tiles",
@ -603,7 +603,7 @@ clutter_deform_effect_class_init (ClutterDeformEffectClass *klass)
* The number of vertical tiles. The bigger the number, the
* smaller the tiles
*
*
* Since: 1.4
*/
obj_props[PROP_Y_TILES] =
g_param_spec_uint ("y-tiles",
@ -621,7 +621,7 @@ clutter_deform_effect_class_init (ClutterDeformEffectClass *klass)
*
* By default, no material will be used
*
*
* Since: 1.4
*/
obj_props[PROP_BACK_MATERIAL] =
g_param_spec_boxed ("back-material",
@ -665,7 +665,7 @@ clutter_deform_effect_init (ClutterDeformEffect *self)
* The #ClutterDeformEffect will take a reference on the material's
* handle
*
*
* Since: 1.4
*/
void
clutter_deform_effect_set_back_material (ClutterDeformEffect *effect,
@ -698,7 +698,7 @@ clutter_deform_effect_set_back_material (ClutterDeformEffect *effect,
* The returned material is owned by the #ClutterDeformEffect and it
* should not be freed directly
*
*
* Since: 1.4
*/
CoglHandle
clutter_deform_effect_get_back_material (ClutterDeformEffect *effect)
@ -720,7 +720,7 @@ clutter_deform_effect_get_back_material (ClutterDeformEffect *effect)
* More tiles allow a finer grained deformation at the expenses
* of computation
*
*
* Since: 1.4
*/
void
clutter_deform_effect_set_n_tiles (ClutterDeformEffect *effect,
@ -775,7 +775,7 @@ clutter_deform_effect_set_n_tiles (ClutterDeformEffect *effect,
* Retrieves the number of horizontal and vertical tiles used to sub-divide
* the actor's geometry during the effect
*
*
* Since: 1.4
*/
void
clutter_deform_effect_get_n_tiles (ClutterDeformEffect *effect,
@ -798,7 +798,7 @@ clutter_deform_effect_get_n_tiles (ClutterDeformEffect *effect,
* Invalidates the @effect<!-- -->'s vertices and, if it is associated
* to an actor, it will queue a redraw
*
*
* Since: 1.4
*/
void
clutter_deform_effect_invalidate (ClutterDeformEffect *effect)

View File

@ -51,7 +51,7 @@ typedef struct _ClutterDeformEffectClass ClutterDeformEffectClass;
* The <structname>ClutterDeformEffect</structname> structure contains
* only private data and should be accessed using the provided API
*
*
* Since: 1.4
*/
struct _ClutterDeformEffect
{
@ -69,7 +69,7 @@ struct _ClutterDeformEffect
* The <structname>ClutterDeformEffectClass</structname> structure contains
* only private data
*
*
* Since: 1.4
*/
struct _ClutterDeformEffectClass
{

View File

@ -3,6 +3,41 @@
#define __CLUTTER_DEPRECATED_H_INSIDE__
#include "deprecated/clutter-actor.h"
#include "deprecated/clutter-alpha.h"
#include "deprecated/clutter-animatable.h"
#include "deprecated/clutter-animation.h"
#include "deprecated/clutter-animator.h"
#include "deprecated/clutter-backend.h"
#include "deprecated/clutter-behaviour.h"
#include "deprecated/clutter-behaviour-depth.h"
#include "deprecated/clutter-behaviour-ellipse.h"
#include "deprecated/clutter-behaviour-opacity.h"
#include "deprecated/clutter-behaviour-path.h"
#include "deprecated/clutter-behaviour-rotate.h"
#include "deprecated/clutter-behaviour-scale.h"
#include "deprecated/clutter-bin-layout.h"
#include "deprecated/clutter-box.h"
#include "deprecated/clutter-cairo-texture.h"
#include "deprecated/clutter-container.h"
#include "deprecated/clutter-fixed.h"
#include "deprecated/clutter-frame-source.h"
#include "deprecated/clutter-group.h"
#include "deprecated/clutter-input-device.h"
#include "deprecated/clutter-keysyms.h"
#include "deprecated/clutter-main.h"
#include "deprecated/clutter-media.h"
#include "deprecated/clutter-rectangle.h"
#include "deprecated/clutter-score.h"
#include "deprecated/clutter-shader.h"
#include "deprecated/clutter-stage-manager.h"
#include "deprecated/clutter-stage.h"
#include "deprecated/clutter-state.h"
#include "deprecated/clutter-texture.h"
#include "deprecated/clutter-timeline.h"
#include "deprecated/clutter-timeout-pool.h"
#include "deprecated/clutter-util.h"
#undef __CLUTTER_DEPRECATED_H_INSIDE__
#endif /* __CLUTTER_DEPRECATED_H__ */

View File

@ -263,7 +263,7 @@ clutter_desaturate_effect_class_init (ClutterDesaturateEffectClass *klass)
* The desaturation factor, between 0.0 (no desaturation) and 1.0 (full
* desaturation).
*
*
* Since: 1.4
*/
obj_props[PROP_FACTOR] =
g_param_spec_double ("factor",
@ -323,7 +323,7 @@ clutter_desaturate_effect_init (ClutterDesaturateEffect *self)
*
* Return value: the newly created #ClutterDesaturateEffect or %NULL
*
*
* Since: 1.4
*/
ClutterEffect *
clutter_desaturate_effect_new (gdouble factor)
@ -343,7 +343,7 @@ clutter_desaturate_effect_new (gdouble factor)
* Sets the desaturation factor for @effect, with 0.0 being "do not desaturate"
* and 1.0 being "fully desaturate"
*
*
* Since: 1.4
*/
void
clutter_desaturate_effect_set_factor (ClutterDesaturateEffect *effect,
@ -371,7 +371,7 @@ clutter_desaturate_effect_set_factor (ClutterDesaturateEffect *effect,
*
* Return value: the desaturation factor
*
*
* Since: 1.4
*/
gdouble
clutter_desaturate_effect_get_factor (ClutterDesaturateEffect *effect)

View File

@ -43,7 +43,7 @@ G_BEGIN_DECLS
* <structname>ClutterDesaturateEffect</structname> is an opaque structure
* whose members cannot be directly accessed
*
*
* Since: 1.4
*/
typedef struct _ClutterDesaturateEffect ClutterDesaturateEffect;
typedef struct _ClutterDesaturateEffectClass ClutterDesaturateEffectClass;

View File

@ -147,7 +147,7 @@ clutter_device_manager_class_init (ClutterDeviceManagerClass *klass)
* The ::device-added signal is emitted each time a device has been
* added to the #ClutterDeviceManager
*
*
* Since: 1.2
*/
manager_signals[DEVICE_ADDED] =
g_signal_new (I_("device-added"),
@ -167,7 +167,7 @@ clutter_device_manager_class_init (ClutterDeviceManagerClass *klass)
* The ::device-removed signal is emitted each time a device has been
* removed from the #ClutterDeviceManager
*
*
* Since: 1.2
*/
manager_signals[DEVICE_REMOVED] =
g_signal_new (I_("device-removed"),
@ -195,7 +195,7 @@ clutter_device_manager_init (ClutterDeviceManager *self)
* The returned instance is owned by Clutter and it should not be
* modified or freed
*
*
* Since: 1.2
*/
ClutterDeviceManager *
clutter_device_manager_get_default (void)
@ -215,7 +215,7 @@ clutter_device_manager_get_default (void)
* a newly allocated list of #ClutterInputDevice objects. Use
* g_slist_free() to deallocate it when done
*
*
* Since: 1.2
*/
GSList *
clutter_device_manager_list_devices (ClutterDeviceManager *device_manager)
@ -240,7 +240,7 @@ clutter_device_manager_list_devices (ClutterDeviceManager *device_manager)
* returned list is owned by the #ClutterDeviceManager and should never
* be modified or freed
*
*
* Since: 1.2
*/
const GSList *
clutter_device_manager_peek_devices (ClutterDeviceManager *device_manager)
@ -264,7 +264,7 @@ clutter_device_manager_peek_devices (ClutterDeviceManager *device_manager)
* returned device is owned by the #ClutterDeviceManager and should
* never be modified or freed
*
*
* Since: 1.2
*/
ClutterInputDevice *
clutter_device_manager_get_device (ClutterDeviceManager *device_manager,
@ -292,7 +292,7 @@ clutter_device_manager_get_device (ClutterDeviceManager *device_manager,
* returned device is owned by the #ClutterDeviceManager and should
* not be modified or freed
*
*
* Since: 1.2
*/
ClutterInputDevice *
clutter_device_manager_get_core_device (ClutterDeviceManager *device_manager,

View File

@ -49,7 +49,7 @@ typedef struct _ClutterDeviceManagerClass ClutterDeviceManagerClass;
*
* The #ClutterDeviceManager structure contains only private data
*
*
* Since: 1.2
*/
struct _ClutterDeviceManager
{
@ -64,7 +64,7 @@ struct _ClutterDeviceManager
*
* The #ClutterDeviceManagerClass structure contains only private data
*
*
* Since: 1.2
*/
struct _ClutterDeviceManagerClass
{

View File

@ -657,38 +657,30 @@ clutter_drag_action_dispose (GObject *gobject)
/* if we're being disposed while a capture is still present, we
* need to reset the state we are currently holding
*/
if (priv->stage != NULL)
{
if (priv->last_motion_device != NULL)
{
_clutter_stage_remove_pointer_drag_actor (priv->stage,
priv->last_motion_device);
priv->last_motion_device = NULL;
}
if (priv->sequence != NULL)
{
_clutter_stage_remove_touch_drag_actor (priv->stage,
priv->sequence);
priv->sequence = NULL;
}
if (priv->capture_id != 0)
{
clutter_stage_set_motion_events_enabled (priv->stage,
priv->motion_events_enabled);
g_signal_handler_disconnect (priv->stage, priv->capture_id);
priv->capture_id = 0;
priv->stage = NULL;
}
}
else
if (priv->last_motion_device != NULL)
{
_clutter_stage_remove_pointer_drag_actor (priv->stage,
priv->last_motion_device);
priv->last_motion_device = NULL;
}
if (priv->sequence != NULL)
{
_clutter_stage_remove_touch_drag_actor (priv->stage,
priv->sequence);
priv->sequence = NULL;
}
if (priv->capture_id != 0)
{
clutter_stage_set_motion_events_enabled (priv->stage,
priv->motion_events_enabled);
if (priv->stage != NULL)
g_signal_handler_disconnect (priv->stage, priv->capture_id);
priv->capture_id = 0;
priv->stage = NULL;
}
if (priv->button_press_id != 0)
@ -743,7 +735,7 @@ clutter_drag_action_class_init (ClutterDragActionClass *klass)
* When read, this property will always return a valid drag
* threshold, either as set or the default one.
*
*
* Since: 1.4
*/
drag_props[PROP_X_DRAG_THRESHOLD] =
g_param_spec_int ("x-drag-threshold",
@ -771,7 +763,7 @@ clutter_drag_action_class_init (ClutterDragActionClass *klass)
* When read, this property will always return a valid drag
* threshold, either as set or the default one.
*
*
* Since: 1.4
*/
drag_props[PROP_Y_DRAG_THRESHOLD] =
g_param_spec_int ("y-drag-threshold",
@ -793,7 +785,7 @@ clutter_drag_action_class_init (ClutterDragActionClass *klass)
* Setting this property has no effect on the #ClutterActor argument
* passed to the #ClutterDragAction signals
*
*
* Since: 1.4
*/
drag_props[PROP_DRAG_HANDLE] =
g_param_spec_object ("drag-handle",
@ -807,7 +799,7 @@ clutter_drag_action_class_init (ClutterDragActionClass *klass)
*
* Constraints the dragging action to the specified axis
*
*
* Since: 1.4
*/
drag_props[PROP_DRAG_AXIS] =
g_param_spec_enum ("drag-axis",
@ -824,7 +816,7 @@ clutter_drag_action_class_init (ClutterDragActionClass *klass)
* actor position) to the specified #ClutterRect, in parent's
* coordinates.
*
*
* Since: 1.12
*/
drag_props[PROP_DRAG_AREA] =
g_param_spec_boxed ("drag-area",
@ -838,7 +830,7 @@ clutter_drag_action_class_init (ClutterDragActionClass *klass)
*
* Whether the #ClutterDragAction:drag-area property has been set.
*
*
* Since: 1.12
*/
drag_props[PROP_DRAG_AREA_SET] =
g_param_spec_boolean ("drag-area-set",
@ -870,7 +862,7 @@ clutter_drag_action_class_init (ClutterDragActionClass *klass)
* #ClutterDragAction:x-drag-threshold and
* #ClutterDragAction:y-drag-threshold properties
*
*
* Since: 1.4
*/
drag_signals[DRAG_BEGIN] =
g_signal_new (I_("drag-begin"),
@ -911,7 +903,7 @@ clutter_drag_action_class_init (ClutterDragActionClass *klass)
* Return value: %TRUE if the drag should continue, and %FALSE
* if it should be stopped.
*
*
* Since: 1.12
*/
drag_signals[DRAG_PROGRESS] =
g_signal_new (I_("drag-progress"),
@ -952,7 +944,7 @@ clutter_drag_action_class_init (ClutterDragActionClass *klass)
* #ClutterDragAction::drag-progress signal and return %FALSE from the
* handler.
*
*
* Since: 1.4
*/
drag_signals[DRAG_MOTION] =
g_signal_new (I_("drag-motion"),
@ -980,7 +972,7 @@ clutter_drag_action_class_init (ClutterDragActionClass *klass)
* This signal is emitted if and only if the #ClutterDragAction::drag-begin
* signal has been emitted first
*
*
* Since: 1.4
*/
drag_signals[DRAG_END] =
g_signal_new (I_("drag-end"),
@ -1010,7 +1002,7 @@ clutter_drag_action_init (ClutterDragAction *self)
*
* Return value: the newly created #ClutterDragAction
*
*
* Since: 1.4
*/
ClutterAction *
clutter_drag_action_new (void)
@ -1033,7 +1025,7 @@ clutter_drag_action_new (void)
* drag threshold stored in the #ClutterSettings:dnd-drag-threshold
* property of #ClutterSettings will be used.
*
*
* Since: 1.4
*/
void
clutter_drag_action_set_drag_threshold (ClutterDragAction *action,
@ -1082,7 +1074,7 @@ clutter_drag_action_set_drag_threshold (ClutterDragAction *action,
* this function will return the default drag threshold value as stored
* by the #ClutterSettings:dnd-drag-threshold property of #ClutterSettings.
*
*
* Since: 1.4
*/
void
clutter_drag_action_get_drag_threshold (ClutterDragAction *action,
@ -1124,7 +1116,7 @@ on_drag_handle_destroy (ClutterActor *handle,
*
* Sets the actor to be used as the drag handle.
*
*
* Since: 1.4
*/
void
clutter_drag_action_set_drag_handle (ClutterDragAction *action,
@ -1147,19 +1139,16 @@ clutter_drag_action_set_drag_handle (ClutterDragAction *action,
priv->drag_handle = handle;
if (priv->drag_handle != NULL)
{
priv->transformed_press_x = priv->press_x;
priv->transformed_press_y = priv->press_y;
clutter_actor_transform_stage_point (priv->drag_handle, priv->press_x,
priv->press_y,
&priv->transformed_press_x,
&priv->transformed_press_y);
priv->transformed_press_x = priv->press_x;
priv->transformed_press_y = priv->press_y;
clutter_actor_transform_stage_point (handle, priv->press_x, priv->press_y,
&priv->transformed_press_x,
&priv->transformed_press_y);
g_signal_connect (priv->drag_handle, "destroy",
G_CALLBACK (on_drag_handle_destroy),
action);
}
if (priv->drag_handle != NULL)
g_signal_connect (priv->drag_handle, "destroy",
G_CALLBACK (on_drag_handle_destroy),
action);
g_object_notify_by_pspec (G_OBJECT (action), drag_props[PROP_DRAG_HANDLE]);
}
@ -1173,7 +1162,7 @@ clutter_drag_action_set_drag_handle (ClutterDragAction *action,
* Return value: (transfer none): a #ClutterActor, used as the drag
* handle, or %NULL if none was set
*
*
* Since: 1.4
*/
ClutterActor *
clutter_drag_action_get_drag_handle (ClutterDragAction *action)
@ -1190,7 +1179,7 @@ clutter_drag_action_get_drag_handle (ClutterDragAction *action)
*
* Restricts the dragging action to a specific axis
*
*
* Since: 1.4
*/
void
clutter_drag_action_set_drag_axis (ClutterDragAction *action,
@ -1220,7 +1209,7 @@ clutter_drag_action_set_drag_axis (ClutterDragAction *action,
*
* Return value: the axis constraint
*
*
* Since: 1.4
*/
ClutterDragAxis
clutter_drag_action_get_drag_axis (ClutterDragAction *action)
@ -1240,7 +1229,7 @@ clutter_drag_action_get_drag_axis (ClutterDragAction *action)
* Retrieves the coordinates, in stage space, of the press event
* that started the dragging
*
*
* Since: 1.4
*/
void
clutter_drag_action_get_press_coords (ClutterDragAction *action,
@ -1267,7 +1256,7 @@ clutter_drag_action_get_press_coords (ClutterDragAction *action,
* Retrieves the coordinates, in stage space, of the latest motion
* event during the dragging
*
*
* Since: 1.4
*/
void
clutter_drag_action_get_motion_coords (ClutterDragAction *action,

View File

@ -51,7 +51,7 @@ typedef struct _ClutterDragActionClass ClutterDragActionClass;
* The <structname>ClutterDragAction</structname> structure contains only
* private data and should be accessed using the provided API
*
*
* Since: 1.4
*/
struct _ClutterDragAction
{
@ -71,7 +71,7 @@ struct _ClutterDragAction
* The <structname>ClutterDragActionClass</structname> structure contains
* only private data
*
*
* Since: 1.4
*/
struct _ClutterDragActionClass
{
@ -129,11 +129,11 @@ void clutter_drag_action_get_motion_coords (ClutterDragAction *actio
gfloat *motion_x,
gfloat *motion_y);
CLUTTER_AVAILABLE_IN_1_12
gboolean clutter_drag_action_get_drag_area (ClutterDragAction *action,
ClutterRect *drag_area);
CLUTTER_AVAILABLE_IN_1_12
void clutter_drag_action_set_drag_area (ClutterDragAction *action,
const ClutterRect *drag_area);

View File

@ -407,7 +407,7 @@ clutter_drop_action_class_init (ClutterDropActionClass *klass)
*
* Return value: %TRUE if the drop is accepted, and %FALSE otherwise
*
*
* Since: 1.8
*/
drop_signals[CAN_DROP] =
g_signal_new (I_("can-drop"),
@ -429,7 +429,7 @@ clutter_drop_action_class_init (ClutterDropActionClass *klass)
* The ::over-in signal is emitted when the dragged actor crosses
* into @actor.
*
*
* Since: 1.8
*/
drop_signals[OVER_IN] =
g_signal_new (I_("over-in"),
@ -449,7 +449,7 @@ clutter_drop_action_class_init (ClutterDropActionClass *klass)
* The ::over-out signal is emitted when the dragged actor crosses
* outside @actor.
*
*
* Since: 1.8
*/
drop_signals[OVER_OUT] =
g_signal_new (I_("over-out"),
@ -472,7 +472,7 @@ clutter_drop_action_class_init (ClutterDropActionClass *klass)
* on @actor. This signal is only emitted if at least an handler of
* #ClutterDropAction::can-drop returns %TRUE.
*
*
* Since: 1.8
*/
drop_signals[DROP] =
g_signal_new (I_("drop"),
@ -500,7 +500,7 @@ clutter_drop_action_class_init (ClutterDropActionClass *klass)
* After the ::drop-cancel signal is fired the active drag is
* terminated.
*
*
* Since: 1.12
*/
drop_signals[DROP_CANCEL] =
g_signal_new (I_("drop-cancel"),
@ -531,7 +531,7 @@ clutter_drop_action_init (ClutterDropAction *self)
*
* Return value: the newly created #ClutterDropAction
*
*
* Since: 1.8
*/
ClutterAction *
clutter_drop_action_new (void)

View File

@ -50,7 +50,7 @@ typedef struct _ClutterDropActionClass ClutterDropActionClass;
* The <structname>ClutterDropAction</structname> structure contains only
* private data and should be accessed using the provided API.
*
*
* Since: 1.8
*/
struct _ClutterDropAction
{
@ -70,7 +70,7 @@ struct _ClutterDropAction
* The <structname>ClutterDropActionClass</structname> structure contains
* only private data.
*
*
* Since: 1.8
*/
struct _ClutterDropActionClass
{

View File

@ -380,7 +380,7 @@ _clutter_effect_get_paint_volume (ClutterEffect *effect,
* will instead be called with the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY
* flag set.
*
*
* Since: 1.8
*/
void
clutter_effect_queue_repaint (ClutterEffect *effect)

View File

@ -48,7 +48,7 @@ typedef struct _ClutterEffectClass ClutterEffectClass;
* The #ClutterEffect structure contains only private data and should
* be accessed using the provided API
*
*
* Since: 1.4
*/
struct _ClutterEffect
{
@ -66,7 +66,7 @@ struct _ClutterEffect
*
* The #ClutterEffectClass structure contains only private data
*
*
* Since: 1.4
*/
struct _ClutterEffectClass
{

View File

@ -30,6 +30,38 @@
G_BEGIN_DECLS
/**
* ClutterGravity:
* @CLUTTER_GRAVITY_NONE: Do not apply any gravity
* @CLUTTER_GRAVITY_NORTH: Scale from topmost downwards
* @CLUTTER_GRAVITY_NORTH_EAST: Scale from the top right corner
* @CLUTTER_GRAVITY_EAST: Scale from the right side
* @CLUTTER_GRAVITY_SOUTH_EAST: Scale from the bottom right corner
* @CLUTTER_GRAVITY_SOUTH: Scale from the bottom upwards
* @CLUTTER_GRAVITY_SOUTH_WEST: Scale from the bottom left corner
* @CLUTTER_GRAVITY_WEST: Scale from the left side
* @CLUTTER_GRAVITY_NORTH_WEST: Scale from the top left corner
* @CLUTTER_GRAVITY_CENTER: Scale from the center.
*
* Gravity of the scaling operations. When a gravity different than
* %CLUTTER_GRAVITY_NONE is used, an actor is scaled keeping the position
* of the specified portion at the same coordinates.
*
* Since: 0.2
*/
typedef enum { /*< prefix=CLUTTER_GRAVITY >*/
CLUTTER_GRAVITY_NONE = 0,
CLUTTER_GRAVITY_NORTH,
CLUTTER_GRAVITY_NORTH_EAST,
CLUTTER_GRAVITY_EAST,
CLUTTER_GRAVITY_SOUTH_EAST,
CLUTTER_GRAVITY_SOUTH,
CLUTTER_GRAVITY_SOUTH_WEST,
CLUTTER_GRAVITY_WEST,
CLUTTER_GRAVITY_NORTH_WEST,
CLUTTER_GRAVITY_CENTER
} ClutterGravity;
/**
* ClutterRotateAxis:
* @CLUTTER_X_AXIS: Rotate around the X axis
@ -37,6 +69,8 @@ G_BEGIN_DECLS
* @CLUTTER_Z_AXIS: Rotate around the Z axis
*
* Axis of a rotation.
*
* Since: 0.4
*/
typedef enum { /*< prefix=CLUTTER >*/
CLUTTER_X_AXIS,
@ -44,12 +78,28 @@ typedef enum { /*< prefix=CLUTTER >*/
CLUTTER_Z_AXIS
} ClutterRotateAxis;
/**
* ClutterRotateDirection:
* @CLUTTER_ROTATE_CW: Clockwise rotation
* @CLUTTER_ROTATE_CCW: Counter-clockwise rotation
*
* Direction of a rotation.
*
* Since: 0.4
*/
typedef enum { /*< prefix=CLUTTER_ROTATE >*/
CLUTTER_ROTATE_CW,
CLUTTER_ROTATE_CCW
} ClutterRotateDirection;
/**
* ClutterRequestMode:
* @CLUTTER_REQUEST_HEIGHT_FOR_WIDTH: Height for width requests
* @CLUTTER_REQUEST_WIDTH_FOR_HEIGHT: Width for height requests
*
* Specifies the type of requests for a #ClutterActor.
*
* Since: 0.8
*/
typedef enum { /*< prefix=CLUTTER_REQUEST >*/
CLUTTER_REQUEST_HEIGHT_FOR_WIDTH,
@ -111,31 +161,37 @@ typedef enum { /*< prefix=CLUTTER_REQUEST >*/
* @CLUTTER_EASE_IN_OUT_BOUNCE: exponentially decaying parabolic (bounce)
* tweening, with bounce on both ends
* @CLUTTER_STEPS: parametrized step function; see clutter_timeline_set_step_progress()
* for further details.
* for further details. (Since 1.12)
* @CLUTTER_STEP_START: equivalent to %CLUTTER_STEPS with a number of steps
* equal to 1, and a step mode of %CLUTTER_STEP_MODE_START.
* equal to 1, and a step mode of %CLUTTER_STEP_MODE_START. (Since 1.12)
* @CLUTTER_STEP_END: equivalent to %CLUTTER_STEPS with a number of steps
* equal to 1, and a step mode of %CLUTTER_STEP_MODE_END.
* equal to 1, and a step mode of %CLUTTER_STEP_MODE_END. (Since 1.12)
* @CLUTTER_CUBIC_BEZIER: cubic bezier between (0, 0) and (1, 1) with two
* control points; see clutter_timeline_set_cubic_bezier_progress().
* control points; see clutter_timeline_set_cubic_bezier_progress(). (Since 1.12)
* @CLUTTER_EASE: equivalent to %CLUTTER_CUBIC_BEZIER with control points
* in (0.25, 0.1) and (0.25, 1.0).
* in (0.25, 0.1) and (0.25, 1.0). (Since 1.12)
* @CLUTTER_EASE_IN: equivalent to %CLUTTER_CUBIC_BEZIER with control points
* in (0.42, 0) and (1.0, 1.0).
* in (0.42, 0) and (1.0, 1.0). (Since 1.12)
* @CLUTTER_EASE_OUT: equivalent to %CLUTTER_CUBIC_BEZIER with control points
* in (0, 0) and (0.58, 1.0).
* in (0, 0) and (0.58, 1.0). (Since 1.12)
* @CLUTTER_EASE_IN_OUT: equivalent to %CLUTTER_CUBIC_BEZIER with control points
* in (0.42, 0) and (0.58, 1.0).
* @CLUTTER_ANIMATION_LAST: last animation mode, used as a guard when enumerating
* in (0.42, 0) and (0.58, 1.0). (Since 1.12)
* @CLUTTER_ANIMATION_LAST: last animation mode, used as a guard for
* registered global alpha functions
*
* The animation modes used by #ClutterTimeline.
*
* This enumeration can be expanded in later versions of Clutter.
* The animation modes used by #ClutterAlpha and #ClutterAnimation. This
* enumeration can be expanded in later versions of Clutter.
*
* <figure id="easing-modes">
* <title>Easing modes provided by Clutter</title>
* <graphic fileref="easing-modes.png" format="PNG"/>
* </figure>
*
* Every global alpha function registered using clutter_alpha_register_func()
* or clutter_alpha_register_closure() will have a logical id greater than
* %CLUTTER_ANIMATION_LAST.
*
* Since: 1.0
*/
typedef enum {
CLUTTER_CUSTOM_MODE = 0,
@ -205,10 +261,25 @@ typedef enum {
CLUTTER_EASE_OUT,
CLUTTER_EASE_IN_OUT,
/* guard */
/* guard, before registered alpha functions */
CLUTTER_ANIMATION_LAST
} ClutterAnimationMode;
/**
* ClutterFontFlags:
* @CLUTTER_FONT_MIPMAPPING: Set to use mipmaps for the glyph cache textures.
* @CLUTTER_FONT_HINTING: Set to enable hinting on the glyphs.
*
* Runtime flags to change the font quality. To be used with
* clutter_set_font_flags().
*
* Since: 1.0
*/
typedef enum { /*< prefix=CLUTTER_FONT >*/
CLUTTER_FONT_MIPMAPPING = (1 << 0),
CLUTTER_FONT_HINTING = (1 << 1)
} ClutterFontFlags;
/**
* ClutterTextDirection:
* @CLUTTER_TEXT_DIRECTION_DEFAULT: Use the default setting, as returned
@ -217,6 +288,8 @@ typedef enum {
* @CLUTTER_TEXT_DIRECTION_RTL: Use right-to-left text direction
*
* The text direction to be used by #ClutterActor<!-- -->s
*
* Since: 1.2
*/
typedef enum {
CLUTTER_TEXT_DIRECTION_DEFAULT,
@ -231,7 +304,7 @@ typedef enum {
*
* The type of GLSL shader program
*
*
* Since: 1.4
*/
typedef enum {
CLUTTER_VERTEX_SHADER,
@ -266,7 +339,7 @@ typedef enum {
* should preserve and ignore them. You can use %CLUTTER_MODIFIER_MASK to
* remove all reserved values.
*
*
* Since: 0.4
*/
typedef enum {
CLUTTER_SHIFT_MASK = 1 << 0,
@ -347,7 +420,7 @@ typedef enum { /*< prefix=CLUTTER_ACTOR >*/
*
* Possible flags to pass to clutter_actor_set_offscreen_redirect().
*
*
* Since: 1.8
*/
typedef enum { /*< prefix=CLUTTER_OFFSCREEN_REDIRECT >*/
CLUTTER_OFFSCREEN_REDIRECT_AUTOMATIC_FOR_OPACITY = 1<<0,
@ -371,7 +444,7 @@ typedef enum { /*< prefix=CLUTTER_OFFSCREEN_REDIRECT >*/
* Flags passed to the #ClutterActorClass.allocate() virtual function
* and to the clutter_actor_allocate() function.
*
*
* Since: 1.0
*/
typedef enum {
CLUTTER_ALLOCATION_NONE = 0,
@ -388,7 +461,7 @@ typedef enum {
* Specifies the axis on which #ClutterAlignConstraint should maintain
* the alignment.
*
*
* Since: 1.4
*/
typedef enum { /*< prefix=CLUTTER_ALIGN >*/
CLUTTER_ALIGN_X_AXIS,
@ -396,6 +469,48 @@ typedef enum { /*< prefix=CLUTTER_ALIGN >*/
CLUTTER_ALIGN_BOTH
} ClutterAlignAxis;
/**
* ClutterInterpolation:
* @CLUTTER_INTERPOLATION_LINEAR: linear interpolation
* @CLUTTER_INTERPOLATION_CUBIC: cubic interpolation
*
* The mode of interpolation between key frames
*
* Since: 1.2
*/
typedef enum {
CLUTTER_INTERPOLATION_LINEAR,
CLUTTER_INTERPOLATION_CUBIC
} ClutterInterpolation;
/**
* ClutterBinAlignment:
* @CLUTTER_BIN_ALIGNMENT_FIXED: Fixed position alignment; the
* #ClutterBinLayout will honour the fixed position provided
* by the actors themselves when allocating them
* @CLUTTER_BIN_ALIGNMENT_FILL: Fill the allocation size
* @CLUTTER_BIN_ALIGNMENT_START: Position the actors at the top
* or left side of the container, depending on the axis
* @CLUTTER_BIN_ALIGNMENT_END: Position the actors at the bottom
* or right side of the container, depending on the axis
* @CLUTTER_BIN_ALIGNMENT_CENTER: Position the actors at the
* center of the container, depending on the axis
*
* The alignment policies available on each axis for #ClutterBinLayout
*
* Since: 1.2
*
* Deprecated: 1.12: Use #ClutterActorAlign and the #ClutterActor
* API instead
*/
typedef enum {
CLUTTER_BIN_ALIGNMENT_FIXED,
CLUTTER_BIN_ALIGNMENT_FILL,
CLUTTER_BIN_ALIGNMENT_START,
CLUTTER_BIN_ALIGNMENT_END,
CLUTTER_BIN_ALIGNMENT_CENTER
} ClutterBinAlignment;
/**
* ClutterBindCoordinate:
* @CLUTTER_BIND_X: Bind the X coordinate
@ -411,7 +526,7 @@ typedef enum { /*< prefix=CLUTTER_ALIGN >*/
*
* Specifies which property should be used in a binding
*
*
* Since: 1.4
*/
typedef enum { /*< prefix=CLUTTER_BIND >*/
CLUTTER_BIND_X,
@ -436,6 +551,24 @@ typedef enum { /*< prefix=CLUTTER_EFFECT_PAINT >*/
CLUTTER_EFFECT_PAINT_ACTOR_DIRTY = (1 << 0)
} ClutterEffectPaintFlags;
/**
* ClutterBoxAlignment:
* @CLUTTER_BOX_ALIGNMENT_START: Align the child to the top or to
* to the left, depending on the used axis
* @CLUTTER_BOX_ALIGNMENT_CENTER: Align the child to the center
* @CLUTTER_BOX_ALIGNMENT_END: Align the child to the bottom or to
* the right, depending on the used axis
*
* The alignment policies available on each axis of the #ClutterBoxLayout
*
* Since: 1.2
*/
typedef enum {
CLUTTER_BOX_ALIGNMENT_START,
CLUTTER_BOX_ALIGNMENT_END,
CLUTTER_BOX_ALIGNMENT_CENTER
} ClutterBoxAlignment;
/**
* ClutterLongPressState:
* @CLUTTER_LONG_PRESS_QUERY: Queries the action whether it supports
@ -445,7 +578,7 @@ typedef enum { /*< prefix=CLUTTER_EFFECT_PAINT >*/
*
* The states for the #ClutterClickAction::long-press signal.
*
*
* Since: 1.8
*/
typedef enum { /*< prefix=CLUTTER_LONG_PRESS >*/
CLUTTER_LONG_PRESS_QUERY,
@ -503,7 +636,7 @@ typedef enum { /*< prefix=CLUTTER_LONG_PRESS >*/
*
* Named colors, for accessing global colors defined by Clutter
*
*
* Since: 1.6
*/
typedef enum { /*< prefix=CLUTTER_COLOR >*/
/* CGA/EGA-like palette */
@ -567,7 +700,7 @@ typedef enum { /*< prefix=CLUTTER_COLOR >*/
* The axis of the constraint that should be applied on the
* dragging action
*
*
* Since: 1.4
*/
typedef enum { /*< prefix=CLUTTER_DRAG >*/
CLUTTER_DRAG_AXIS_NONE = 0,
@ -583,7 +716,7 @@ typedef enum { /*< prefix=CLUTTER_DRAG >*/
*
* Flags for the #ClutterEvent
*
*
* Since: 0.6
*/
typedef enum { /*< flags prefix=CLUTTER_EVENT >*/
CLUTTER_EVENT_NONE = 0,
@ -618,7 +751,7 @@ typedef enum { /*< flags prefix=CLUTTER_EVENT >*/
*
* Types of events.
*
*
* Since: 0.4
*/
typedef enum { /*< prefix=CLUTTER >*/
CLUTTER_NOTHING = 0,
@ -655,7 +788,7 @@ typedef enum { /*< prefix=CLUTTER >*/
* The %CLUTTER_SCROLL_SMOOTH value implies that the #ClutterScrollEvent
* has precise scrolling delta information.
*
*
* Since: 0.4
*/
typedef enum { /*< prefix=CLUTTER_SCROLL >*/
CLUTTER_SCROLL_UP,
@ -673,7 +806,7 @@ typedef enum { /*< prefix=CLUTTER_SCROLL >*/
*
* Stage state masks, used by the #ClutterEvent of type %CLUTTER_STAGE_STATE.
*
*
* Since: 0.4
*/
typedef enum {
CLUTTER_STAGE_STATE_FULLSCREEN = (1 << 1),
@ -698,7 +831,7 @@ typedef enum {
* Runtime flags indicating specific features available via Clutter window
* sysytem and graphics backend.
*
*
* Since: 0.4
*/
typedef enum
{
@ -725,7 +858,7 @@ typedef enum
* The direction of the arrangement of the children inside
* a #ClutterFlowLayout
*
*
* Since: 1.2
*/
typedef enum { /*< prefix=CLUTTER_FLOW >*/
CLUTTER_FLOW_HORIZONTAL,
@ -751,7 +884,7 @@ typedef enum { /*< prefix=CLUTTER_FLOW >*/
* The #ClutterInputDeviceType enumeration can be extended at later
* date; not every platform supports every input device type.
*
*
* Since: 1.0
*/
typedef enum {
CLUTTER_POINTER_DEVICE,
@ -778,7 +911,7 @@ typedef enum {
*
* The mode for input devices available.
*
*
* Since: 1.6
*/
typedef enum {
CLUTTER_INPUT_MODE_MASTER,
@ -801,7 +934,7 @@ typedef enum {
*
* The type of axes Clutter recognizes on a #ClutterInputDevice
*
*
* Since: 1.6
*/
typedef enum {
CLUTTER_INPUT_AXIS_IGNORE,
@ -826,7 +959,7 @@ typedef enum {
*
* The edge to snap
*
*
* Since: 1.6
*/
typedef enum {
CLUTTER_SNAP_EDGE_TOP,
@ -843,7 +976,7 @@ typedef enum {
*
* Controls the paint cycle of the scene graph when in pick mode
*
*
* Since: 1.0
*/
typedef enum {
CLUTTER_PICK_NONE = 0,
@ -860,7 +993,7 @@ typedef enum {
*
* The main direction of the swipe gesture
*
*
* Since: 1.8
*/
typedef enum { /*< prefix=CLUTTER_SWIPE_DIRECTION >*/
CLUTTER_SWIPE_DIRECTION_UP = 1 << 0,
@ -877,6 +1010,8 @@ typedef enum { /*< prefix=CLUTTER_SWIPE_DIRECTION >*/
*
* The axis of the constraint that should be applied on the
* panning action
*
* Since: 1.12
*/
typedef enum { /*< prefix=CLUTTER_PAN >*/
CLUTTER_PAN_AXIS_NONE = 0,
@ -885,12 +1020,74 @@ typedef enum { /*< prefix=CLUTTER_PAN >*/
CLUTTER_PAN_Y_AXIS
} ClutterPanAxis;
/**
* ClutterTableAlignment:
* @CLUTTER_TABLE_ALIGNMENT_START: Align the child to the top or to the
* left of a cell in the table, depending on the axis
* @CLUTTER_TABLE_ALIGNMENT_CENTER: Align the child to the center of
* a cell in the table
* @CLUTTER_TABLE_ALIGNMENT_END: Align the child to the bottom or to the
* right of a cell in the table, depending on the axis
*
* The alignment policies available on each axis of the #ClutterTableLayout
*
* Since: 1.4
*/
typedef enum {
CLUTTER_TABLE_ALIGNMENT_START,
CLUTTER_TABLE_ALIGNMENT_CENTER,
CLUTTER_TABLE_ALIGNMENT_END
} ClutterTableAlignment;
/**
* ClutterTextureFlags:
* @CLUTTER_TEXTURE_NONE: No flags
* @CLUTTER_TEXTURE_RGB_FLAG_BGR: FIXME
* @CLUTTER_TEXTURE_RGB_FLAG_PREMULT: FIXME
* @CLUTTER_TEXTURE_YUV_FLAG_YUV2: FIXME
*
* Flags for clutter_texture_set_from_rgb_data() and
* clutter_texture_set_from_yuv_data().
*
* Since: 0.4
*/
typedef enum { /*< prefix=CLUTTER_TEXTURE >*/
CLUTTER_TEXTURE_NONE = 0,
CLUTTER_TEXTURE_RGB_FLAG_BGR = 1 << 1,
CLUTTER_TEXTURE_RGB_FLAG_PREMULT = 1 << 2, /* FIXME: not handled */
CLUTTER_TEXTURE_YUV_FLAG_YUV2 = 1 << 3
/* FIXME: add compressed types ? */
} ClutterTextureFlags;
/**
* ClutterTextureQuality:
* @CLUTTER_TEXTURE_QUALITY_LOW: fastest rendering will use nearest neighbour
* interpolation when rendering. good setting.
* @CLUTTER_TEXTURE_QUALITY_MEDIUM: higher quality rendering without using
* extra resources.
* @CLUTTER_TEXTURE_QUALITY_HIGH: render the texture with the best quality
* available using extra memory.
*
* Enumaration controlling the texture quality.
*
* Since: 0.8
*/
typedef enum { /*< prefix=CLUTTER_TEXTURE_QUALITY >*/
CLUTTER_TEXTURE_QUALITY_LOW,
CLUTTER_TEXTURE_QUALITY_MEDIUM,
CLUTTER_TEXTURE_QUALITY_HIGH
} ClutterTextureQuality;
/**
* ClutterTimelineDirection:
* @CLUTTER_TIMELINE_FORWARD: forward direction for a timeline
* @CLUTTER_TIMELINE_BACKWARD: backward direction for a timeline
*
* The direction of a #ClutterTimeline
*
* Since: 0.6
*/
typedef enum {
CLUTTER_TIMELINE_FORWARD,
@ -908,6 +1105,8 @@ typedef enum {
* The type of unit in which a value is expressed
*
* This enumeration might be expanded at later date
*
* Since: 1.0
*/
typedef enum { /*< prefix=CLUTTER_UNIT >*/
CLUTTER_UNIT_PIXEL,
@ -936,6 +1135,8 @@ typedef enum { /*< prefix=CLUTTER_UNIT >*/
* coordinates relative to the last node.
*
* Types of nodes in a #ClutterPath.
*
* Since: 1.0
*/
typedef enum {
CLUTTER_PATH_MOVE_TO = 0,
@ -966,7 +1167,7 @@ typedef enum {
* bigger than its natural size; for example, when the #ClutterActor:x-expand
* or the #ClutterActor:y-expand properties of #ClutterActor are set to %TRUE.
*
*
* Since: 1.10
*/
typedef enum {
CLUTTER_ACTOR_ALIGN_FILL,
@ -986,7 +1187,7 @@ typedef enum {
*
* Flags to pass to clutter_threads_add_repaint_func_full().
*
*
* Since: 1.10
*/
typedef enum {
CLUTTER_REPAINT_FLAGS_PRE_PAINT = 1 << 0,
@ -1011,7 +1212,7 @@ typedef enum {
*
* Controls the alignment of the #ClutterContent inside a #ClutterActor.
*
*
* Since: 1.10
*/
typedef enum {
CLUTTER_CONTENT_GRAVITY_TOP_LEFT,
@ -1041,7 +1242,7 @@ typedef enum {
* The scaling filters to be used with the #ClutterActor:minification-filter
* and #ClutterActor:magnification-filter properties.
*
*
* Since: 1.10
*/
typedef enum {
CLUTTER_SCALING_FILTER_LINEAR,
@ -1056,7 +1257,7 @@ typedef enum {
*
* Represents the orientation of actors or layout managers.
*
*
* Since: 1.12
*/
typedef enum {
CLUTTER_ORIENTATION_HORIZONTAL,
@ -1072,7 +1273,7 @@ typedef enum {
*
* Scroll modes.
*
*
* Since: 1.12
*/
typedef enum { /*< prefix=CLUTTER_SCROLL >*/
CLUTTER_SCROLL_NONE = 0,
@ -1092,7 +1293,7 @@ typedef enum { /*< prefix=CLUTTER_SCROLL >*/
*
* Grid position modes.
*
*
* Since: 1.12
*/
typedef enum {
CLUTTER_GRID_POSITION_LEFT,
@ -1110,7 +1311,7 @@ typedef enum {
*
* Content repeat modes.
*
*
* Since: 1.12
*/
typedef enum {
CLUTTER_REPEAT_NONE = 0,
@ -1132,7 +1333,7 @@ typedef enum {
*
* See clutter_timeline_set_step_progress().
*
*
* Since: 1.12
*/
typedef enum {
CLUTTER_STEP_MODE_START,
@ -1148,7 +1349,7 @@ typedef enum {
* The axis of the constraint that should be applied by the
* zooming action.
*
*
* Since: 1.12
*/
typedef enum { /*< prefix=CLUTTER_ZOOM >*/
CLUTTER_ZOOM_X_AXIS,

View File

@ -82,7 +82,7 @@ is_event_allocated (const ClutterEvent *event)
*
* Return value: a pointer to platform-specific data
*
*
* Since: 1.4
*/
gpointer
_clutter_event_get_platform_data (const ClutterEvent *event)
@ -100,7 +100,7 @@ _clutter_event_get_platform_data (const ClutterEvent *event)
*
* Sets the pointer to platform-specific data inside an event
*
*
* Since: 1.4
*/
void
_clutter_event_set_platform_data (ClutterEvent *event,
@ -146,7 +146,7 @@ clutter_event_type (const ClutterEvent *event)
*
* Return value: the time of the event, or %CLUTTER_CURRENT_TIME
*
*
* Since: 0.4
*/
guint32
clutter_event_get_time (const ClutterEvent *event)
@ -163,7 +163,7 @@ clutter_event_get_time (const ClutterEvent *event)
*
* Sets the time of the event.
*
*
* Since: 1.8
*/
void
clutter_event_set_time (ClutterEvent *event,
@ -182,7 +182,7 @@ clutter_event_set_time (ClutterEvent *event,
*
* Return value: the modifier state parameter, or 0
*
*
* Since: 0.4
*/
ClutterModifierType
clutter_event_get_state (const ClutterEvent *event)
@ -225,7 +225,7 @@ clutter_event_get_state (const ClutterEvent *event)
*
* Sets the modifier state of the event.
*
*
* Since: 1.8
*/
void
clutter_event_set_state (ClutterEvent *event,
@ -273,7 +273,7 @@ clutter_event_set_state (ClutterEvent *event,
*
* Retrieves the coordinates of @event and puts them into @x and @y.
*
*
* Since: 0.4
*/
void
clutter_event_get_coords (const ClutterEvent *event,
@ -300,7 +300,7 @@ clutter_event_get_coords (const ClutterEvent *event,
*
* Retrieves the event coordinates as a #ClutterPoint.
*
*
* Since: 1.12
*/
void
clutter_event_get_position (const ClutterEvent *event,
@ -358,7 +358,7 @@ clutter_event_get_position (const ClutterEvent *event,
*
* Sets the coordinates of the @event.
*
*
* Since: 1.8
*/
void
clutter_event_set_coords (ClutterEvent *event,
@ -420,7 +420,7 @@ clutter_event_set_coords (ClutterEvent *event,
*
* Return value: (transfer none): a #ClutterActor
*
*
* Since: 0.6
*/
ClutterActor *
clutter_event_get_source (const ClutterEvent *event)
@ -437,7 +437,7 @@ clutter_event_get_source (const ClutterEvent *event)
*
* Sets the source #ClutterActor of @event.
*
*
* Since: 1.8
*/
void
clutter_event_set_source (ClutterEvent *event,
@ -458,7 +458,7 @@ clutter_event_set_source (ClutterEvent *event,
*
* Return value: (transfer none): a #ClutterStage
*
*
* Since: 0.8
*/
ClutterStage *
clutter_event_get_stage (const ClutterEvent *event)
@ -475,7 +475,7 @@ clutter_event_get_stage (const ClutterEvent *event)
*
* Sets the source #ClutterStage of the event.
*
*
* Since: 1.8
*/
void
clutter_event_set_stage (ClutterEvent *event,
@ -498,7 +498,7 @@ clutter_event_set_stage (ClutterEvent *event,
*
* Return value: the event flags
*
*
* Since: 1.0
*/
ClutterEventFlags
clutter_event_get_flags (const ClutterEvent *event)
@ -515,7 +515,7 @@ clutter_event_get_flags (const ClutterEvent *event)
*
* Sets the #ClutterEventFlags of @event
*
*
* Since: 1.8
*/
void
clutter_event_set_flags (ClutterEvent *event,
@ -539,7 +539,7 @@ clutter_event_set_flags (ClutterEvent *event,
*
* Return value: (transfer none): the related #ClutterActor, or %NULL
*
*
* Since: 1.0
*/
ClutterActor *
clutter_event_get_related (const ClutterEvent *event)
@ -558,7 +558,7 @@ clutter_event_get_related (const ClutterEvent *event)
*
* Sets the related actor of a crossing event
*
*
* Since: 1.8
*/
void
clutter_event_set_related (ClutterEvent *event,
@ -583,7 +583,7 @@ clutter_event_set_related (ClutterEvent *event,
*
* Sets the precise scrolling information of @event.
*
*
* Since: 1.10
*/
void
clutter_event_set_scroll_delta (ClutterEvent *event,
@ -613,7 +613,7 @@ clutter_event_set_scroll_delta (ClutterEvent *event,
* The @event has to have a #ClutterScrollEvent.direction value
* of %CLUTTER_SCROLL_SMOOTH.
*
*
* Since: 1.10
*/
void
clutter_event_get_scroll_delta (const ClutterEvent *event,
@ -649,7 +649,7 @@ clutter_event_get_scroll_delta (const ClutterEvent *event,
*
* Return value: the scrolling direction
*
*
* Since: 1.0
*/
ClutterScrollDirection
clutter_event_get_scroll_direction (const ClutterEvent *event)
@ -667,7 +667,7 @@ clutter_event_get_scroll_direction (const ClutterEvent *event)
*
* Sets the direction of the scrolling of @event
*
*
* Since: 1.8
*/
void
clutter_event_set_scroll_direction (ClutterEvent *event,
@ -688,7 +688,7 @@ clutter_event_set_scroll_direction (ClutterEvent *event,
*
* Return value: the button number
*
*
* Since: 1.0
*/
guint32
clutter_event_get_button (const ClutterEvent *event)
@ -708,7 +708,7 @@ clutter_event_get_button (const ClutterEvent *event)
*
* Sets the button number of @event
*
*
* Since: 1.8
*/
void
clutter_event_set_button (ClutterEvent *event,
@ -730,7 +730,7 @@ clutter_event_set_button (ClutterEvent *event,
*
* Return value: the click count
*
*
* Since: 1.0
*/
guint32
clutter_event_get_click_count (const ClutterEvent *event)
@ -753,7 +753,7 @@ clutter_event_get_click_count (const ClutterEvent *event)
*
* Return value: the key symbol representing the key
*
*
* Since: 1.0
*/
guint
clutter_event_get_key_symbol (const ClutterEvent *event)
@ -773,7 +773,7 @@ clutter_event_get_key_symbol (const ClutterEvent *event)
*
* Sets the key symbol of @event.
*
*
* Since: 1.8
*/
void
clutter_event_set_key_symbol (ClutterEvent *event,
@ -795,7 +795,7 @@ clutter_event_set_key_symbol (ClutterEvent *event,
*
* Return value: The keycode representing the key
*
*
* Since: 1.0
*/
guint16
clutter_event_get_key_code (const ClutterEvent *event)
@ -815,7 +815,7 @@ clutter_event_get_key_code (const ClutterEvent *event)
*
* Sets the keycode of the @event.
*
*
* Since: 1.8
*/
void
clutter_event_set_key_code (ClutterEvent *event,
@ -858,7 +858,7 @@ clutter_event_get_key_unicode (const ClutterEvent *event)
*
* Sets the Unicode value of @event.
*
*
* Since: 1.8
*/
void
clutter_event_set_key_unicode (ClutterEvent *event,
@ -881,7 +881,7 @@ clutter_event_set_key_unicode (ClutterEvent *event,
*
* Return value: (transfer none): the event sequence, or %NULL
*
*
* Since: 1.10
*/
ClutterEventSequence *
clutter_event_get_event_sequence (const ClutterEvent *event)
@ -929,7 +929,7 @@ clutter_event_get_device_id (const ClutterEvent *event)
* Return value: the #ClutterInputDeviceType for the device, if
* any is set
*
*
* Since: 1.0
*/
ClutterInputDeviceType
clutter_event_get_device_type (const ClutterEvent *event)
@ -952,7 +952,7 @@ clutter_event_get_device_type (const ClutterEvent *event)
*
* Sets the device for @event.
*
*
* Since: 1.6
*/
void
clutter_event_set_device (ClutterEvent *event,
@ -1015,8 +1015,6 @@ clutter_event_set_device (ClutterEvent *event,
* @event: a #ClutterEvent
*
* Retrieves the #ClutterInputDevice for the event.
* If you want the physical device the event originated from, use
* clutter_event_get_source_device().
*
* The #ClutterInputDevice structure is completely opaque and should
* be cast to the platform-specific implementation.
@ -1025,7 +1023,7 @@ clutter_event_set_device (ClutterEvent *event,
* returned device is owned by the #ClutterEvent and it should not
* be unreferenced
*
*
* Since: 1.0
*/
ClutterInputDevice *
clutter_event_get_device (const ClutterEvent *event)
@ -1245,7 +1243,7 @@ clutter_event_free (ClutterEvent *event)
*
* Return value: A #ClutterEvent or NULL if queue empty
*
*
* Since: 0.4
*/
ClutterEvent *
clutter_event_get (void)
@ -1269,7 +1267,7 @@ clutter_event_get (void)
*
* Return value: (transfer none): A #ClutterEvent or NULL if queue empty.
*
*
* Since: 0.4
*/
ClutterEvent *
clutter_event_peek (void)
@ -1328,7 +1326,7 @@ _clutter_event_push (const ClutterEvent *event,
* its ancestors. If the source is not set it will be generated by picking
* or use the actor that currently has keyboard focus
*
*
* Since: 0.6
*/
void
clutter_event_put (const ClutterEvent *event)
@ -1343,7 +1341,7 @@ clutter_event_put (const ClutterEvent *event)
*
* Return value: TRUE if there are pending events, FALSE otherwise.
*
*
* Since: 0.4
*/
gboolean
clutter_events_pending (void)
@ -1366,7 +1364,7 @@ clutter_events_pending (void)
*
* Return value: the event timestamp, or %CLUTTER_CURRENT_TIME
*
*
* Since: 1.0
*/
guint32
clutter_get_current_event_time (void)
@ -1392,7 +1390,7 @@ clutter_get_current_event_time (void)
*
* Return value: (transfer none): The current ClutterEvent, or %NULL if none
*
*
* Since: 1.2
*/
const ClutterEvent *
clutter_get_current_event (void)
@ -1418,7 +1416,7 @@ clutter_get_current_event (void)
* Return value: (transfer none): a pointer to a #ClutterInputDevice
* or %NULL
*
*
* Since: 1.6
*/
ClutterInputDevice *
clutter_event_get_source_device (const ClutterEvent *event)
@ -1445,7 +1443,7 @@ clutter_event_get_source_device (const ClutterEvent *event)
*
* The #ClutterEvent must have been created using clutter_event_new().
*
*
* Since: 1.8
*/
void
clutter_event_set_source_device (ClutterEvent *event,
@ -1472,7 +1470,7 @@ clutter_event_set_source_device (ClutterEvent *event,
*
* Return value: (transfer none): an array of axis values
*
*
* Since: 1.6
*/
gdouble *
clutter_event_get_axes (const ClutterEvent *event,
@ -1542,7 +1540,7 @@ clutter_event_get_axes (const ClutterEvent *event,
*
* Return value: the distance between two #ClutterEvent
*
*
* Since: 1.12
*/
float
clutter_event_get_distance (const ClutterEvent *source,
@ -1568,7 +1566,7 @@ clutter_event_get_distance (const ClutterEvent *source,
*
* Return value: the angle between two #ClutterEvent
*
*
* Since: 1.12
*/
double
clutter_event_get_angle (const ClutterEvent *source,
@ -1606,7 +1604,7 @@ clutter_event_get_angle (const ClutterEvent *source,
*
* Return value: %TRUE if the event has the Shift modifier mask set
*
*
* Since: 1.12
*/
gboolean
clutter_event_has_shift_modifier (const ClutterEvent *event)
@ -1622,7 +1620,7 @@ clutter_event_has_shift_modifier (const ClutterEvent *event)
*
* Return value: %TRUE if the event has the Control modifier mask set
*
*
* Since: 1.12
*/
gboolean
clutter_event_has_control_modifier (const ClutterEvent *event)
@ -1640,7 +1638,7 @@ clutter_event_has_control_modifier (const ClutterEvent *event)
*
* Return value: %TRUE if the event is pointer emulated
*
*
* Since: 1.12
*/
gboolean
clutter_event_is_pointer_emulated (const ClutterEvent *event)

View File

@ -40,7 +40,7 @@ G_BEGIN_DECLS
*
* Priority for event handling.
*
*
* Since: 0.4
*/
#define CLUTTER_PRIORITY_EVENTS (G_PRIORITY_DEFAULT)
@ -49,7 +49,7 @@ G_BEGIN_DECLS
*
* Default value for "now".
*
*
* Since: 0.4
*/
#define CLUTTER_CURRENT_TIME (0L)
@ -59,7 +59,7 @@ G_BEGIN_DECLS
* Continues the propagation of an event; this macro should be
* used in event-related signals.
*
*
* Since: 1.10
*/
#define CLUTTER_EVENT_PROPAGATE (FALSE)
@ -69,7 +69,7 @@ G_BEGIN_DECLS
* Stops the propagation of an event; this macro should be used
* in event-related signals.
*
*
* Since: 1.10
*/
#define CLUTTER_EVENT_STOP (TRUE)
@ -81,7 +81,7 @@ G_BEGIN_DECLS
* This is typically the left mouse button in a right-handed
* mouse configuration.
*
*
* Since: 1.10
*/
#define CLUTTER_BUTTON_PRIMARY (1)
@ -90,7 +90,7 @@ G_BEGIN_DECLS
*
* The middle button of a pointer device.
*
*
* Since: 1.10
*/
#define CLUTTER_BUTTON_MIDDLE (2)
@ -102,7 +102,7 @@ G_BEGIN_DECLS
* This is typically the right mouse button in a right-handed
* mouse configuration.
*
*
* Since: 1.10
*/
#define CLUTTER_BUTTON_SECONDARY (3)
@ -124,7 +124,7 @@ typedef struct _ClutterTouchEvent ClutterTouchEvent;
*
* Common members for a #ClutterEvent
*
*
* Since: 0.2
*/
struct _ClutterAnyEvent
{
@ -146,12 +146,11 @@ struct _ClutterAnyEvent
* @keyval: raw key value
* @hardware_keycode: raw hardware key value
* @unicode_value: Unicode representation
* @device: the device that originated the event. If you want the physical
* device the event originated from, use clutter_event_get_source_device()
* @device: reserved for future use
*
* Key event
*
*
* Since: 0.2
*/
struct _ClutterKeyEvent
{
@ -182,8 +181,7 @@ struct _ClutterKeyEvent
* @click_count: number of button presses within the default time
* and radius
* @axes: reserved for future use
* @device: the device that originated the event. If you want the physical
* device the event originated from, use clutter_event_get_source_device()
* @device: reserved for future use
*
* Button event.
*
@ -191,7 +189,7 @@ struct _ClutterKeyEvent
* event, and can be transformed into actor-relative coordinates by
* using clutter_actor_transform_stage_point().
*
*
* Since: 0.2
*/
struct _ClutterButtonEvent
{
@ -220,12 +218,11 @@ struct _ClutterButtonEvent
* @x: event X coordinate
* @y: event Y coordinate
* @related: actor related to the crossing
* @device: the device that originated the event. If you want the physical
* device the event originated from, use clutter_event_get_source_device()
* @device: reserved for future use
*
* Event for the movement of the pointer across different actors
*
*
* Since: 0.2
*/
struct _ClutterCrossingEvent
{
@ -252,12 +249,11 @@ struct _ClutterCrossingEvent
* @y: event Y coordinate
* @modifier_state: button modifiers
* @axes: reserved for future use
* @device: the device that originated the event. If you want the physical
* device the event originated from, use clutter_event_get_source_device()
* @device: reserved for future use
*
* Event for the pointer motion
*
*
* Since: 0.2
*/
struct _ClutterMotionEvent
{
@ -286,12 +282,11 @@ struct _ClutterMotionEvent
* @direction: direction of the scrolling
* @modifier_state: button modifiers
* @axes: reserved for future use
* @device: the device that originated the event. If you want the physical
* device the event originated from, use clutter_event_get_source_device()
* @device: reserved for future use
*
* Scroll wheel (or similar device) event
*
*
* Since: 0.2
*/
struct _ClutterScrollEvent
{
@ -321,7 +316,7 @@ struct _ClutterScrollEvent
*
* Event signalling a change in the #ClutterStage state.
*
*
* Since: 0.2
*/
struct _ClutterStageStateEvent
{
@ -349,8 +344,7 @@ struct _ClutterStageStateEvent
* of modifier keys (e.g. Control, Shift, and Alt) and the pointer
* buttons. See #ClutterModifierType
* @axes: reserved
* @device: the device that originated the event. If you want the physical
* device the event originated from, use clutter_event_get_source_device()
* @device: the device that originated the event
*
* Used for touch events.
*
@ -365,7 +359,7 @@ struct _ClutterStageStateEvent
* With multi-touch capable devices there can be multiple event sequence
* running at the same time.
*
*
* Since: 1.10
*/
struct _ClutterTouchEvent
{
@ -388,7 +382,7 @@ struct _ClutterTouchEvent
*
* Generic event wrapper.
*
*
* Since: 0.2
*/
union _ClutterEvent
{
@ -449,24 +443,24 @@ void clutter_event_set_coords (ClutterEvent
void clutter_event_get_coords (const ClutterEvent *event,
gfloat *x,
gfloat *y);
CLUTTER_AVAILABLE_IN_1_12
void clutter_event_get_position (const ClutterEvent *event,
ClutterPoint *position);
CLUTTER_AVAILABLE_IN_1_12
float clutter_event_get_distance (const ClutterEvent *source,
const ClutterEvent *target);
CLUTTER_AVAILABLE_IN_1_12
double clutter_event_get_angle (const ClutterEvent *source,
const ClutterEvent *target);
gdouble * clutter_event_get_axes (const ClutterEvent *event,
guint *n_axes);
CLUTTER_AVAILABLE_IN_1_12
gboolean clutter_event_has_shift_modifier (const ClutterEvent *event);
CLUTTER_AVAILABLE_IN_1_12
gboolean clutter_event_has_control_modifier (const ClutterEvent *event);
CLUTTER_AVAILABLE_IN_1_12
gboolean clutter_event_is_pointer_emulated (const ClutterEvent *event);
void clutter_event_set_key_symbol (ClutterEvent *event,
@ -491,20 +485,20 @@ ClutterActor * clutter_event_get_related (const ClutterEv
void clutter_event_set_scroll_direction (ClutterEvent *event,
ClutterScrollDirection direction);
ClutterScrollDirection clutter_event_get_scroll_direction (const ClutterEvent *event);
CLUTTER_AVAILABLE_IN_1_10
void clutter_event_set_scroll_delta (ClutterEvent *event,
gdouble dx,
gdouble dy);
CLUTTER_AVAILABLE_IN_1_10
void clutter_event_get_scroll_delta (const ClutterEvent *event,
gdouble *dx,
gdouble *dy);
CLUTTER_AVAILABLE_IN_1_10
ClutterEventSequence * clutter_event_get_event_sequence (const ClutterEvent *event);
guint32 clutter_keysym_to_unicode (guint keyval);
CLUTTER_AVAILABLE_IN_1_10
guint clutter_unicode_to_keysym (guint32 wc);
guint32 clutter_get_current_event_time (void);

View File

@ -126,7 +126,7 @@ _clutter_feature_init (GError **error)
*
* Return value: %TRUE if a feature is available
*
*
* Since: 0.1.1
*/
gboolean
clutter_feature_available (ClutterFeatureFlags feature)
@ -147,7 +147,7 @@ clutter_feature_available (ClutterFeatureFlags feature)
*
* Return value: a logical OR of all the supported features.
*
*
* Since: 0.1.1
*/
ClutterFeatureFlags
clutter_feature_get_all (void)

View File

@ -171,7 +171,7 @@ clutter_fixed_layout_init (ClutterFixedLayout *self)
*
* Return value: the newly created #ClutterFixedLayout
*
*
* Since: 1.2
*/
ClutterLayoutManager *
clutter_fixed_layout_new (void)

View File

@ -49,7 +49,7 @@ typedef struct _ClutterFixedLayoutClass ClutterFixedLayoutClass;
* The #ClutterFixedLayout structure contains only private data and
* it should be accessed using the provided API
*
*
* Since: 1.2
*/
struct _ClutterFixedLayout
{
@ -63,7 +63,7 @@ struct _ClutterFixedLayout
* The #ClutterFixedLayoutClass structure contains only private data
* and it should be accessed using the provided API
*
*
* Since: 1.2
*/
struct _ClutterFixedLayoutClass
{

View File

@ -73,10 +73,12 @@
#include <math.h>
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
#include "deprecated/clutter-container.h"
#include "clutter-actor.h"
#include "clutter-animatable.h"
#include "clutter-child-meta.h"
#include "clutter-container.h"
#include "clutter-debug.h"
#include "clutter-enum-types.h"
#include "clutter-flow-layout.h"
@ -111,7 +113,6 @@ struct _ClutterFlowLayoutPrivate
guint line_count;
guint is_homogeneous : 1;
guint snap_to_grid : 1;
};
enum
@ -130,8 +131,6 @@ enum
PROP_MIN_ROW_HEGHT,
PROP_MAX_ROW_HEIGHT,
PROP_SNAP_TO_GRID,
N_PROPERTIES
};
@ -259,12 +258,7 @@ clutter_flow_layout_get_preferred_width (ClutterLayoutManager *manager,
if (priv->orientation == CLUTTER_FLOW_VERTICAL && for_height > 0)
{
clutter_actor_get_preferred_height (child, -1,
&child_min,
&child_natural);
if ((priv->snap_to_grid && line_item_count == n_rows) ||
(!priv->snap_to_grid && item_y + child_natural > for_height))
if (line_item_count == n_rows)
{
total_min_width += line_min_width;
total_natural_width += line_natural_width;
@ -281,17 +275,9 @@ clutter_flow_layout_get_preferred_width (ClutterLayoutManager *manager,
item_y = 0;
}
if (priv->snap_to_grid)
{
new_y = ((line_item_count + 1) * (for_height + priv->row_spacing))
/ n_rows;
item_height = new_y - item_y - priv->row_spacing;
}
else
{
new_y = item_y + child_natural + priv->row_spacing;
item_height = child_natural;
}
new_y = ((line_item_count + 1) * (for_height + priv->row_spacing))
/ n_rows;
item_height = new_y - item_y - priv->row_spacing;
clutter_actor_get_preferred_width (child, item_height,
&child_min,
@ -450,12 +436,7 @@ clutter_flow_layout_get_preferred_height (ClutterLayoutManager *manager,
if (priv->orientation == CLUTTER_FLOW_HORIZONTAL && for_width > 0)
{
clutter_actor_get_preferred_width (child, -1,
&child_min,
&child_natural);
if ((priv->snap_to_grid && line_item_count == n_columns) ||
(!priv->snap_to_grid && item_x + child_natural > for_width))
if (line_item_count == n_columns)
{
total_min_height += line_min_height;
total_natural_height += line_natural_height;
@ -472,17 +453,9 @@ clutter_flow_layout_get_preferred_height (ClutterLayoutManager *manager,
item_x = 0;
}
if (priv->snap_to_grid)
{
new_x = ((line_item_count + 1) * (for_width + priv->col_spacing))
/ n_columns;
item_width = new_x - item_x - priv->col_spacing;
}
else
{
new_x = item_x + child_natural + priv->col_spacing;
item_width = child_natural;
}
new_x = ((line_item_count + 1) * (for_width + priv->col_spacing))
/ n_columns;
item_width = new_x - item_x - priv->col_spacing;
clutter_actor_get_preferred_height (child, item_width,
&child_min,
@ -633,24 +606,15 @@ clutter_flow_layout_allocate (ClutterLayoutManager *manager,
ClutterActorBox child_alloc;
gfloat item_width, item_height;
gfloat new_x, new_y;
gfloat child_min, child_natural;
if (!CLUTTER_ACTOR_IS_VISIBLE (child))
continue;
new_x = new_y = 0;
if (!priv->snap_to_grid)
clutter_actor_get_preferred_size (child,
NULL, NULL,
&item_width,
&item_height);
if (priv->orientation == CLUTTER_FLOW_HORIZONTAL)
{
if ((priv->snap_to_grid &&
line_item_count == items_per_line && line_item_count > 0) ||
(!priv->snap_to_grid && item_x + item_width > avail_width))
if (line_item_count == items_per_line && line_item_count > 0)
{
item_y += g_array_index (priv->line_natural,
gfloat,
@ -665,27 +629,31 @@ clutter_flow_layout_allocate (ClutterLayoutManager *manager,
item_x = x_off;
}
if (priv->snap_to_grid)
{
new_x = x_off + ((line_item_count + 1) * (avail_width + priv->col_spacing))
/ items_per_line;
item_width = new_x - item_x - priv->col_spacing;
}
else
{
new_x = item_x + item_width + priv->col_spacing;
}
new_x = x_off + ((line_item_count + 1) * (avail_width + priv->col_spacing))
/ items_per_line;
item_width = new_x - item_x - priv->col_spacing;
item_height = g_array_index (priv->line_natural,
gfloat,
line_index);
if (!priv->is_homogeneous)
{
gfloat child_min, child_natural;
clutter_actor_get_preferred_width (child, item_height,
&child_min,
&child_natural);
item_width = MIN (item_width, child_natural);
clutter_actor_get_preferred_height (child, item_width,
&child_min,
&child_natural);
item_height = MIN (item_height, child_natural);
}
}
else
{
if ((priv->snap_to_grid &&
line_item_count == items_per_line && line_item_count > 0) ||
(!priv->snap_to_grid && item_y + item_height > avail_height))
if (line_item_count == items_per_line && line_item_count > 0)
{
item_x += g_array_index (priv->line_natural,
gfloat,
@ -700,40 +668,27 @@ clutter_flow_layout_allocate (ClutterLayoutManager *manager,
item_y = y_off;
}
if (priv->snap_to_grid)
{
new_y = y_off + ((line_item_count + 1) * (avail_height + priv->row_spacing))
/ items_per_line;
item_height = new_y - item_y - priv->row_spacing;
}
else
{
new_y = item_y + item_height + priv->row_spacing;
}
new_y = y_off + ((line_item_count + 1) * (avail_height + priv->row_spacing))
/ items_per_line;
item_height = new_y - item_y - priv->row_spacing;
item_width = g_array_index (priv->line_natural,
gfloat,
line_index);
}
if (!priv->is_homogeneous &&
!clutter_actor_needs_expand (child,
CLUTTER_ORIENTATION_HORIZONTAL))
{
clutter_actor_get_preferred_width (child, item_height,
&child_min,
&child_natural);
item_width = MIN (item_width, child_natural);
}
if (!priv->is_homogeneous)
{
gfloat child_min, child_natural;
if (!priv->is_homogeneous &&
!clutter_actor_needs_expand (child,
CLUTTER_ORIENTATION_VERTICAL))
{
clutter_actor_get_preferred_height (child, item_width,
&child_min,
&child_natural);
item_height = MIN (item_height, child_natural);
clutter_actor_get_preferred_width (child, item_height,
&child_min,
&child_natural);
item_width = MIN (item_width, child_natural);
clutter_actor_get_preferred_height (child, item_width,
&child_min,
&child_natural);
item_height = MIN (item_height, child_natural);
}
}
CLUTTER_NOTE (LAYOUT,
@ -834,11 +789,6 @@ clutter_flow_layout_set_property (GObject *gobject,
g_value_get_float (value));
break;
case PROP_SNAP_TO_GRID:
clutter_flow_layout_set_snap_to_grid (self,
g_value_get_boolean (value));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
break;
@ -887,10 +837,6 @@ clutter_flow_layout_get_property (GObject *gobject,
g_value_set_float (value, priv->max_row_height);
break;
case PROP_SNAP_TO_GRID:
g_value_set_boolean (value, priv->snap_to_grid);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
break;
@ -937,7 +883,7 @@ clutter_flow_layout_class_init (ClutterFlowLayoutClass *klass)
*
* This property also controls the overflowing directions
*
*
* Since: 1.2
*/
flow_properties[PROP_ORIENTATION] =
g_param_spec_enum ("orientation",
@ -953,7 +899,7 @@ clutter_flow_layout_class_init (ClutterFlowLayoutClass *klass)
* Whether each child inside the #ClutterFlowLayout should receive
* the same allocation
*
*
* Since: 1.2
*/
flow_properties[PROP_HOMOGENEOUS] =
g_param_spec_boolean ("homogeneous",
@ -969,7 +915,7 @@ clutter_flow_layout_class_init (ClutterFlowLayoutClass *klass)
* property is honoured by horizontal non-overflowing layouts
* and by vertical overflowing layouts
*
*
* Since: 1.2
*/
flow_properties[PROP_COLUMN_SPACING] =
g_param_spec_float ("column-spacing",
@ -986,7 +932,7 @@ clutter_flow_layout_class_init (ClutterFlowLayoutClass *klass)
* property is honoured by vertical non-overflowing layouts and
* by horizontal overflowing layouts
*
*
* Since: 1.2
*/
flow_properties[PROP_ROW_SPACING] =
g_param_spec_float ("row-spacing",
@ -1001,7 +947,7 @@ clutter_flow_layout_class_init (ClutterFlowLayoutClass *klass)
*
* Minimum width for each column in the layout, in pixels
*
*
* Since: 1.2
*/
flow_properties[PROP_MIN_COLUMN_WIDTH] =
g_param_spec_float ("min-column-width",
@ -1017,7 +963,7 @@ clutter_flow_layout_class_init (ClutterFlowLayoutClass *klass)
* Maximum width for each column in the layout, in pixels. If
* set to -1 the width will be the maximum child width
*
*
* Since: 1.2
*/
flow_properties[PROP_MAX_COLUMN_WIDTH] =
g_param_spec_float ("max-column-width",
@ -1032,7 +978,7 @@ clutter_flow_layout_class_init (ClutterFlowLayoutClass *klass)
*
* Minimum height for each row in the layout, in pixels
*
*
* Since: 1.2
*/
flow_properties[PROP_MIN_ROW_HEGHT] =
g_param_spec_float ("min-row-height",
@ -1048,7 +994,7 @@ clutter_flow_layout_class_init (ClutterFlowLayoutClass *klass)
* Maximum height for each row in the layout, in pixels. If
* set to -1 the width will be the maximum child height
*
*
* Since: 1.2
*/
flow_properties[PROP_MAX_ROW_HEIGHT] =
g_param_spec_float ("max-row-height",
@ -1058,21 +1004,6 @@ clutter_flow_layout_class_init (ClutterFlowLayoutClass *klass)
-1.0,
CLUTTER_PARAM_READWRITE);
/**
* ClutterFlowLayout:snap-to-grid:
*
* Whether the #ClutterFlowLayout should arrange its children
* on a grid
*
* Since: 1.16
*/
flow_properties[PROP_SNAP_TO_GRID] =
g_param_spec_boolean ("snap-to-grid",
P_("Snap to grid"),
P_("Snap to grid"),
TRUE,
CLUTTER_PARAM_READWRITE);
gobject_class->finalize = clutter_flow_layout_finalize;
gobject_class->set_property = clutter_flow_layout_set_property;
gobject_class->get_property = clutter_flow_layout_get_property;
@ -1098,7 +1029,6 @@ clutter_flow_layout_init (ClutterFlowLayout *self)
priv->line_min = NULL;
priv->line_natural = NULL;
priv->snap_to_grid = TRUE;
}
/**
@ -1109,7 +1039,7 @@ clutter_flow_layout_init (ClutterFlowLayout *self)
*
* Return value: the newly created #ClutterFlowLayout
*
*
* Since: 1.2
*/
ClutterLayoutManager *
clutter_flow_layout_new (ClutterFlowOrientation orientation)
@ -1130,7 +1060,7 @@ clutter_flow_layout_new (ClutterFlowOrientation orientation)
* the children: either horizontally or vertically. The
* orientation also controls the direction of the overflowing
*
*
* Since: 1.2
*/
void
clutter_flow_layout_set_orientation (ClutterFlowLayout *layout,
@ -1178,7 +1108,7 @@ clutter_flow_layout_set_orientation (ClutterFlowLayout *layout,
*
* Return value: the orientation of the #ClutterFlowLayout
*
*
* Since: 1.2
*/
ClutterFlowOrientation
clutter_flow_layout_get_orientation (ClutterFlowLayout *layout)
@ -1197,7 +1127,7 @@ clutter_flow_layout_get_orientation (ClutterFlowLayout *layout)
* Sets whether the @layout should allocate the same space for
* each child
*
*
* Since: 1.2
*/
void
clutter_flow_layout_set_homogeneous (ClutterFlowLayout *layout,
@ -1231,7 +1161,7 @@ clutter_flow_layout_set_homogeneous (ClutterFlowLayout *layout,
*
* Return value: %TRUE if the #ClutterFlowLayout is homogeneous
*
*
* Since: 1.2
*/
gboolean
clutter_flow_layout_get_homogeneous (ClutterFlowLayout *layout)
@ -1248,7 +1178,7 @@ clutter_flow_layout_get_homogeneous (ClutterFlowLayout *layout)
*
* Sets the space between columns, in pixels
*
*
* Since: 1.2
*/
void
clutter_flow_layout_set_column_spacing (ClutterFlowLayout *layout,
@ -1283,7 +1213,7 @@ clutter_flow_layout_set_column_spacing (ClutterFlowLayout *layout,
* Return value: the spacing between columns of the #ClutterFlowLayout,
* in pixels
*
*
* Since: 1.2
*/
gfloat
clutter_flow_layout_get_column_spacing (ClutterFlowLayout *layout)
@ -1300,7 +1230,7 @@ clutter_flow_layout_get_column_spacing (ClutterFlowLayout *layout)
*
* Sets the spacing between rows, in pixels
*
*
* Since: 1.2
*/
void
clutter_flow_layout_set_row_spacing (ClutterFlowLayout *layout,
@ -1335,7 +1265,7 @@ clutter_flow_layout_set_row_spacing (ClutterFlowLayout *layout,
* Return value: the spacing between rows of the #ClutterFlowLayout,
* in pixels
*
*
* Since: 1.2
*/
gfloat
clutter_flow_layout_get_row_spacing (ClutterFlowLayout *layout)
@ -1353,7 +1283,7 @@ clutter_flow_layout_get_row_spacing (ClutterFlowLayout *layout)
*
* Sets the minimum and maximum widths that a column can have
*
*
* Since: 1.2
*/
void
clutter_flow_layout_set_column_width (ClutterFlowLayout *layout,
@ -1409,7 +1339,7 @@ clutter_flow_layout_set_column_width (ClutterFlowLayout *layout,
*
* Retrieves the minimum and maximum column widths
*
*
* Since: 1.2
*/
void
clutter_flow_layout_get_column_width (ClutterFlowLayout *layout,
@ -1433,7 +1363,7 @@ clutter_flow_layout_get_column_width (ClutterFlowLayout *layout,
*
* Sets the minimum and maximum heights that a row can have
*
*
* Since: 1.2
*/
void
clutter_flow_layout_set_row_height (ClutterFlowLayout *layout,
@ -1489,7 +1419,7 @@ clutter_flow_layout_set_row_height (ClutterFlowLayout *layout,
*
* Retrieves the minimum and maximum row heights
*
*
* Since: 1.2
*/
void
clutter_flow_layout_get_row_height (ClutterFlowLayout *layout,
@ -1504,51 +1434,3 @@ clutter_flow_layout_get_row_height (ClutterFlowLayout *layout,
if (max_height)
*max_height = layout->priv->max_row_height;
}
/**
* clutter_flow_layout_set_snap_to_grid:
* @layout: a #ClutterFlowLayout
* @snap_to_grid: %TRUE if @layout should place its children on a grid
*
* Whether the @layout should place its children on a grid.
*
* Since: 1.16
*/
void
clutter_flow_layout_set_snap_to_grid (ClutterFlowLayout *layout,
gboolean snap_to_grid)
{
ClutterFlowLayoutPrivate *priv;
g_return_if_fail (CLUTTER_IS_FLOW_LAYOUT (layout));
priv = layout->priv;
if (priv->snap_to_grid != snap_to_grid)
{
priv->snap_to_grid = snap_to_grid;
clutter_layout_manager_layout_changed (CLUTTER_LAYOUT_MANAGER (layout));
g_object_notify_by_pspec (G_OBJECT (layout),
flow_properties[PROP_SNAP_TO_GRID]);
}
}
/**
* clutter_flow_layout_get_snap_to_grid:
* @layout: a #ClutterFlowLayout
*
* Retrieves the value of #ClutterFlowLayout:snap-to-grid property
*
* Return value: %TRUE if the @layout is placing its children on a grid
*
* Since: 1.16
*/
gboolean
clutter_flow_layout_get_snap_to_grid (ClutterFlowLayout *layout)
{
g_return_val_if_fail (CLUTTER_IS_FLOW_LAYOUT (layout), FALSE);
return layout->priv->snap_to_grid;
}

View File

@ -50,7 +50,7 @@ typedef struct _ClutterFlowLayoutClass ClutterFlowLayoutClass;
* The #ClutterFlowLayout structure contains only private data
* and should be accessed using the provided API
*
*
* Since: 1.2
*/
struct _ClutterFlowLayout
{
@ -66,7 +66,7 @@ struct _ClutterFlowLayout
* The #ClutterFlowLayoutClass structure contains only private data
* and should be accessed using the provided API
*
*
* Since: 1.2
*/
struct _ClutterFlowLayoutClass
{
@ -104,9 +104,6 @@ void clutter_flow_layout_set_row_height (ClutterFlowLayout
void clutter_flow_layout_get_row_height (ClutterFlowLayout *layout,
gfloat *min_height,
gfloat *max_height);
void clutter_flow_layout_set_snap_to_grid (ClutterFlowLayout *layout,
gboolean snap_to_grid);
gboolean clutter_flow_layout_get_snap_to_grid (ClutterFlowLayout *layout);
G_END_DECLS

View File

@ -35,11 +35,13 @@ G_BEGIN_DECLS
* it needs to wait until the drag threshold has been exceeded before
* considering that the gesture has begun;
* @CLUTTER_GESTURE_TRIGGER_BEFORE: Tell #ClutterGestureAction that
* the gesture must begin immediately and that it must be cancelled
* the gesture must begin immegiately and that it must be cancelled
* once the drag exceed the configured threshold.
*
* Enum passed to the _clutter_gesture_action_set_threshold_trigger_edge()
* function.
*
* Since: 1.14
*/
typedef enum
{

View File

@ -79,6 +79,8 @@
* gesture is cancelled, in which case the "cancel" gesture will be used
* instead.</para>
* </refsect2>
*
* Since: 1.8
*/
#ifdef HAVE_CONFIG_H
@ -126,15 +128,6 @@ struct _ClutterGestureActionPrivate
guint in_gesture : 1;
};
enum
{
PROP_0,
PROP_N_TOUCH_POINTS,
PROP_LAST
};
enum
{
GESTURE_BEGIN,
@ -145,7 +138,6 @@ enum
LAST_SIGNAL
};
static GParamSpec *gesture_props[PROP_LAST];
static guint gesture_signals[LAST_SIGNAL] = { 0, };
G_DEFINE_TYPE (ClutterGestureAction, clutter_gesture_action, CLUTTER_TYPE_ACTION);
@ -221,48 +213,8 @@ gesture_unregister_point (ClutterGestureAction *action, gint position)
g_array_remove_index (priv->points, position);
}
static void
gesture_update_motion_point (GesturePoint *point,
ClutterEvent *event)
{
gfloat motion_x, motion_y;
gint64 _time;
clutter_event_get_coords (event, &motion_x, &motion_y);
clutter_event_free (point->last_event);
point->last_event = clutter_event_copy (event);
point->last_delta_x = motion_x - point->last_motion_x;
point->last_delta_y = motion_y - point->last_motion_y;
point->last_motion_x = motion_x;
point->last_motion_y = motion_y;
_time = clutter_event_get_time (event);
point->last_delta_time = _time - point->last_motion_time;
point->last_motion_time = _time;
}
static void
gesture_update_release_point (GesturePoint *point,
ClutterEvent *event)
{
gint64 _time;
clutter_event_get_coords (event, &point->release_x, &point->release_y);
clutter_event_free (point->last_event);
point->last_event = clutter_event_copy (event);
/* Treat the release event as the continuation of the last motion,
* in case the user keeps the pointer still for a while before
* releasing it. */
_time = clutter_event_get_time (event);
point->last_delta_time += _time - point->last_motion_time;
}
static gint
gesture_get_threshold (void)
gesture_get_threshold (ClutterGestureAction *action)
{
gint threshold;
ClutterSettings *settings = clutter_settings_get_default ();
@ -270,20 +222,6 @@ gesture_get_threshold (void)
return threshold;
}
static gboolean
gesture_point_pass_threshold (GesturePoint *point, ClutterEvent *event)
{
gint drag_threshold = gesture_get_threshold ();
gfloat motion_x, motion_y;
clutter_event_get_coords (event, &motion_x, &motion_y);
if ((fabsf (point->press_y - motion_y) < drag_threshold) &&
(fabsf (point->press_x - motion_x) < drag_threshold))
return TRUE;
return FALSE;
}
static void
gesture_point_unset (GesturePoint *point)
{
@ -352,6 +290,8 @@ stage_captured_event_cb (ClutterActor *stage,
gint position, drag_threshold;
gboolean return_value;
GesturePoint *point;
gfloat motion_x, motion_y;
gint64 time;
if ((point = gesture_find_point (action, event, &position)) == NULL)
return CLUTTER_EVENT_PROPAGATE;
@ -377,31 +317,39 @@ stage_captured_event_cb (ClutterActor *stage,
/* Follow same code path as a touch event update */
case CLUTTER_TOUCH_UPDATE:
clutter_event_get_coords (event,
&motion_x,
&motion_y);
if (priv->points->len < priv->requested_nb_points)
return CLUTTER_EVENT_PROPAGATE;
drag_threshold = gesture_get_threshold (action);
if (!priv->in_gesture)
{
if (priv->points->len < priv->requested_nb_points)
{
gesture_update_motion_point (point, event);
return CLUTTER_EVENT_PROPAGATE;
}
/* Wait until the drag threshold has been exceeded
* before starting _TRIGGER_EDGE_AFTER gestures. */
if (priv->edge == CLUTTER_GESTURE_TRIGGER_EDGE_AFTER &&
gesture_point_pass_threshold (point, event))
{
gesture_update_motion_point (point, event);
return CLUTTER_EVENT_PROPAGATE;
}
(fabsf (point->press_y - motion_y) < drag_threshold) &&
(fabsf (point->press_x - motion_x) < drag_threshold))
return CLUTTER_EVENT_PROPAGATE;
if (!begin_gesture(action, actor))
{
gesture_update_motion_point (point, event);
return CLUTTER_EVENT_PROPAGATE;
}
return CLUTTER_EVENT_PROPAGATE;
}
gesture_update_motion_point (point, event);
clutter_event_free (point->last_event);
point->last_event = clutter_event_copy (event);
point->last_delta_x = motion_x - point->last_motion_x;
point->last_delta_y = motion_y - point->last_motion_y;
point->last_motion_x = motion_x;
point->last_motion_y = motion_y;
time = clutter_event_get_time (event);
point->last_delta_time = time - point->last_motion_time;
point->last_motion_time = time;
g_signal_emit (action, gesture_signals[GESTURE_PROGRESS], 0, actor,
&return_value);
@ -413,10 +361,9 @@ stage_captured_event_cb (ClutterActor *stage,
/* Check if a _TRIGGER_EDGE_BEFORE gesture needs to be cancelled because
* the drag threshold has been exceeded. */
drag_threshold = gesture_get_threshold ();
if (priv->edge == CLUTTER_GESTURE_TRIGGER_EDGE_BEFORE &&
((fabsf (point->press_y - point->last_motion_y) > drag_threshold) ||
(fabsf (point->press_x - point->last_motion_x) > drag_threshold)))
((fabsf (point->press_y - motion_y) > drag_threshold) ||
(fabsf (point->press_x - motion_x) > drag_threshold)))
{
cancel_gesture (action);
return CLUTTER_EVENT_PROPAGATE;
@ -426,11 +373,20 @@ stage_captured_event_cb (ClutterActor *stage,
case CLUTTER_BUTTON_RELEASE:
case CLUTTER_TOUCH_END:
{
gesture_update_release_point (point, event);
clutter_event_get_coords (event, &point->release_x, &point->release_y);
clutter_event_free (point->last_event);
point->last_event = clutter_event_copy (event);
if (priv->in_gesture &&
((priv->points->len - 1) < priv->requested_nb_points))
{
/* Treat the release event as the continuation of the last motion,
* in case the user keeps the pointer still for a while before
* releasing it. */
time = clutter_event_get_time (event);
point->last_delta_time += time - point->last_motion_time;
priv->in_gesture = FALSE;
g_signal_emit (action, gesture_signals[GESTURE_END], 0, actor);
}
@ -441,8 +397,6 @@ stage_captured_event_cb (ClutterActor *stage,
case CLUTTER_TOUCH_CANCEL:
{
gesture_update_release_point (point, event);
if (priv->in_gesture)
{
priv->in_gesture = FALSE;
@ -494,8 +448,7 @@ actor_captured_event_cb (ClutterActor *actor,
/* Start the gesture immediately if the gesture has no
* _TRIGGER_EDGE_AFTER drag threshold. */
if ((priv->points->len < priv->requested_nb_points) &&
(priv->edge != CLUTTER_GESTURE_TRIGGER_EDGE_AFTER))
if (priv->edge != CLUTTER_GESTURE_TRIGGER_EDGE_AFTER)
begin_gesture (action, actor);
return CLUTTER_EVENT_PROPAGATE;
@ -556,6 +509,8 @@ default_event_handler (ClutterGestureAction *action,
*
* This function can be called by #ClutterGestureAction subclasses that needs
* to change the %CLUTTER_GESTURE_TRIGGER_EDGE_AFTER default.
*
* Since: 1.14
*/
void
_clutter_gesture_action_set_threshold_trigger_edge (ClutterGestureAction *action,
@ -564,92 +519,19 @@ _clutter_gesture_action_set_threshold_trigger_edge (ClutterGestureAction *a
action->priv->edge = edge;
}
static void
clutter_gesture_action_set_property (GObject *gobject,
guint prop_id,
const GValue *value,
GParamSpec *pspec)
{
ClutterGestureAction *self = CLUTTER_GESTURE_ACTION (gobject);
switch (prop_id)
{
case PROP_N_TOUCH_POINTS:
clutter_gesture_action_set_n_touch_points (self, g_value_get_int (value));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
break;
}
}
static void
clutter_gesture_action_get_property (GObject *gobject,
guint prop_id,
GValue *value,
GParamSpec *pspec)
{
ClutterGestureAction *self = CLUTTER_GESTURE_ACTION (gobject);
switch (prop_id)
{
case PROP_N_TOUCH_POINTS:
g_value_set_int (value, self->priv->requested_nb_points);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
break;
}
}
static void
clutter_gesture_action_finalize (GObject *gobject)
{
ClutterGestureActionPrivate *priv = CLUTTER_GESTURE_ACTION (gobject)->priv;
g_array_unref (priv->points);
G_OBJECT_CLASS (clutter_gesture_action_parent_class)->finalize (gobject);
}
static void
clutter_gesture_action_class_init (ClutterGestureActionClass *klass)
{
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
ClutterActorMetaClass *meta_class = CLUTTER_ACTOR_META_CLASS (klass);
g_type_class_add_private (klass, sizeof (ClutterGestureActionPrivate));
gobject_class->finalize = clutter_gesture_action_finalize;
gobject_class->set_property = clutter_gesture_action_set_property;
gobject_class->get_property = clutter_gesture_action_get_property;
meta_class->set_actor = clutter_gesture_action_set_actor;
klass->gesture_begin = default_event_handler;
klass->gesture_progress = default_event_handler;
klass->gesture_prepare = default_event_handler;
/**
* ClutterGestureAction:n-touch-points:
*
* Number of touch points to trigger a gesture action.
*
* Since: 1.16
*/
gesture_props[PROP_N_TOUCH_POINTS] =
g_param_spec_int ("n-touch-points",
P_("Number touch points"),
P_("Number of touch points"),
1, G_MAXINT, 1,
CLUTTER_PARAM_READWRITE);
g_object_class_install_properties (gobject_class,
PROP_LAST,
gesture_props);
/**
* ClutterGestureAction::gesture-begin:
* @action: the #ClutterGestureAction that emitted the signal
@ -661,7 +543,7 @@ clutter_gesture_action_class_init (ClutterGestureActionClass *klass)
* Return value: %TRUE if the gesture should start, and %FALSE if
* the gesture should be ignored.
*
*
* Since: 1.8
*/
gesture_signals[GESTURE_BEGIN] =
g_signal_new (I_("gesture-begin"),
@ -684,7 +566,7 @@ clutter_gesture_action_class_init (ClutterGestureActionClass *klass)
* Return value: %TRUE if the gesture should continue, and %FALSE if
* the gesture should be cancelled.
*
*
* Since: 1.8
*/
gesture_signals[GESTURE_PROGRESS] =
g_signal_new (I_("gesture-progress"),
@ -707,7 +589,7 @@ clutter_gesture_action_class_init (ClutterGestureActionClass *klass)
* This signal is emitted if and only if the #ClutterGestureAction::gesture-begin
* signal has been emitted first.
*
*
* Since: 1.8
*/
gesture_signals[GESTURE_END] =
g_signal_new (I_("gesture-end"),
@ -730,7 +612,7 @@ clutter_gesture_action_class_init (ClutterGestureActionClass *klass)
* This signal is emitted if and only if the #ClutterGestureAction::gesture-begin
* signal has been emitted first.
*
*
* Since: 1.8
*/
gesture_signals[GESTURE_CANCEL] =
g_signal_new (I_("gesture-cancel"),
@ -763,7 +645,7 @@ clutter_gesture_action_init (ClutterGestureAction *self)
*
* Return value: the newly created #ClutterGestureAction
*
*
* Since: 1.8
*/
ClutterAction *
clutter_gesture_action_new (void)
@ -784,7 +666,7 @@ clutter_gesture_action_new (void)
* Retrieves the coordinates, in stage space, of the press event
* that started the dragging for a specific touch point.
*
*
* Since: 1.8
*/
void
clutter_gesture_action_get_press_coords (ClutterGestureAction *action,
@ -819,7 +701,7 @@ clutter_gesture_action_get_press_coords (ClutterGestureAction *action,
* Retrieves the coordinates, in stage space, of the latest motion
* event during the dragging.
*
*
* Since: 1.8
*/
void
clutter_gesture_action_get_motion_coords (ClutterGestureAction *action,
@ -855,6 +737,8 @@ clutter_gesture_action_get_motion_coords (ClutterGestureAction *action,
* during the dragging.
*
* Return value: the distance since last motion event
*
* Since: 1.12
*/
gfloat
clutter_gesture_action_get_motion_delta (ClutterGestureAction *action,
@ -896,7 +780,7 @@ clutter_gesture_action_get_motion_delta (ClutterGestureAction *action,
* Retrieves the coordinates, in stage space, where the touch point was
* last released.
*
*
* Since: 1.8
*/
void
clutter_gesture_action_get_release_coords (ClutterGestureAction *action,
@ -930,6 +814,8 @@ clutter_gesture_action_get_release_coords (ClutterGestureAction *action,
*
* Retrieves the velocity, in stage pixels per millisecond, of the
* latest motion event during the dragging.
*
* Since: 1.12
*/
gfloat
clutter_gesture_action_get_velocity (ClutterGestureAction *action,
@ -968,7 +854,7 @@ clutter_gesture_action_get_velocity (ClutterGestureAction *action,
*
* Return value: the number of points to trigger the gesture.
*
*
* Since: 1.12
*/
gint
clutter_gesture_action_get_n_touch_points (ClutterGestureAction *action)
@ -985,7 +871,7 @@ clutter_gesture_action_get_n_touch_points (ClutterGestureAction *action)
*
* Sets the number of points needed to trigger the gesture.
*
*
* Since: 1.12
*/
void
clutter_gesture_action_set_n_touch_points (ClutterGestureAction *action,
@ -998,9 +884,6 @@ clutter_gesture_action_set_n_touch_points (ClutterGestureAction *action,
priv = action->priv;
if (priv->requested_nb_points == nb_points)
return;
priv->requested_nb_points = nb_points;
if (priv->in_gesture)
@ -1016,7 +899,7 @@ clutter_gesture_action_set_n_touch_points (ClutterGestureAction *action,
clutter_actor_meta_get_actor (CLUTTER_ACTOR_META (action));
gint i, drag_threshold;
drag_threshold = gesture_get_threshold ();
drag_threshold = gesture_get_threshold (action);
for (i = 0; i < priv->points->len; i++)
{
@ -1031,9 +914,6 @@ clutter_gesture_action_set_n_touch_points (ClutterGestureAction *action,
}
}
}
g_object_notify_by_pspec (G_OBJECT (action),
gesture_props[PROP_N_TOUCH_POINTS]);
}
/**
@ -1043,6 +923,8 @@ clutter_gesture_action_set_n_touch_points (ClutterGestureAction *action,
* Retrieves the number of points currently active.
*
* Return value: the number of points currently active.
*
* Since: 1.12
*/
guint
clutter_gesture_action_get_n_current_points (ClutterGestureAction *action)
@ -1060,6 +942,8 @@ clutter_gesture_action_get_n_current_points (ClutterGestureAction *action)
* Retrieves the #ClutterEventSequence of a touch point.
*
* Return value: (transfer none): the #ClutterEventSequence of a touch point.
*
* Since: 1.12
*/
ClutterEventSequence *
clutter_gesture_action_get_sequence (ClutterGestureAction *action,
@ -1080,6 +964,8 @@ clutter_gesture_action_get_sequence (ClutterGestureAction *action,
* Retrieves the #ClutterInputDevice of a touch point.
*
* Return value: (transfer none): the #ClutterInputDevice of a touch point.
*
* Since: 1.12
*/
ClutterInputDevice *
clutter_gesture_action_get_device (ClutterGestureAction *action,
@ -1100,6 +986,8 @@ clutter_gesture_action_get_device (ClutterGestureAction *action,
* clutter_event_copy() if you need to store the reference somewhere.
*
* Return value: (transfer none): the last #ClutterEvent for a touch point.
*
* Since: 1.14
*/
const ClutterEvent *
clutter_gesture_action_get_last_event (ClutterGestureAction *action,
@ -1120,6 +1008,8 @@ clutter_gesture_action_get_last_event (ClutterGestureAction *action,
* @action: a #ClutterGestureAction
*
* Cancel a #ClutterGestureAction before it begins
*
* Since: 1.12
*/
void
clutter_gesture_action_cancel (ClutterGestureAction *action)

View File

@ -51,7 +51,7 @@ typedef struct _ClutterGestureActionClass ClutterGestureActionClass;
* The <structname>ClutterGestureAction</structname> structure contains
* only private data and should be accessed using the provided API
*
*
* Since: 1.8
*/
struct _ClutterGestureAction
{
@ -73,7 +73,7 @@ struct _ClutterGestureAction
* The <structname>ClutterGestureClass</structname> structure contains only
* private data.
*
*
* Since: 1.8
*/
struct _ClutterGestureActionClass
{
@ -116,6 +116,7 @@ void clutter_gesture_action_get_motion_coords (ClutterGestu
guint point,
gfloat *motion_x,
gfloat *motion_y);
CLUTTER_AVAILABLE_IN_1_12
gfloat clutter_gesture_action_get_motion_delta (ClutterGestureAction *action,
guint point,
gfloat *delta_x,
@ -124,20 +125,28 @@ void clutter_gesture_action_get_release_coords (ClutterGestu
guint point,
gfloat *release_x,
gfloat *release_y);
CLUTTER_AVAILABLE_IN_1_12
gfloat clutter_gesture_action_get_velocity (ClutterGestureAction *action,
guint point,
gfloat *velocity_x,
gfloat *velocity_y);
CLUTTER_AVAILABLE_IN_1_12
guint clutter_gesture_action_get_n_current_points (ClutterGestureAction *action);
CLUTTER_AVAILABLE_IN_1_12
ClutterEventSequence * clutter_gesture_action_get_sequence (ClutterGestureAction *action,
guint point);
CLUTTER_AVAILABLE_IN_1_12
ClutterInputDevice * clutter_gesture_action_get_device (ClutterGestureAction *action,
guint point);
CLUTTER_AVAILABLE_IN_1_14
const ClutterEvent * clutter_gesture_action_get_last_event (ClutterGestureAction *action,
guint point);
CLUTTER_AVAILABLE_IN_1_12
void clutter_gesture_action_cancel (ClutterGestureAction *action);
G_END_DECLS

View File

@ -509,7 +509,7 @@ compute_request_for_child (ClutterGridRequest *request,
}
else
{
if (orientation == CLUTTER_ORIENTATION_HORIZONTAL)
if (orientation == CLUTTER_ORIENTATION_VERTICAL)
clutter_actor_get_preferred_width (child, -1, minimum, natural);
else
clutter_actor_get_preferred_height (child, -1, minimum, natural);
@ -1543,7 +1543,7 @@ clutter_grid_layout_class_init (ClutterGridLayoutClass *klass)
*
* The orientation of the layout, either horizontal or vertical
*
*
* Since: 1.12
*/
obj_props[PROP_ORIENTATION] =
g_param_spec_enum ("orientation",
@ -1558,7 +1558,7 @@ clutter_grid_layout_class_init (ClutterGridLayoutClass *klass)
*
* The amount of space in pixels between two consecutive rows
*
*
* Since: 1.12
*/
obj_props[PROP_ROW_SPACING] =
g_param_spec_uint ("row-spacing",
@ -1572,7 +1572,7 @@ clutter_grid_layout_class_init (ClutterGridLayoutClass *klass)
*
* The amount of space in pixels between two consecutive columns
*
*
* Since: 1.12
*/
obj_props[PROP_COLUMN_SPACING] =
g_param_spec_uint ("column-spacing",
@ -1587,7 +1587,7 @@ clutter_grid_layout_class_init (ClutterGridLayoutClass *klass)
*
* Whether all rows of the layout should have the same height
*
*
* Since: 1.12
*/
obj_props[PROP_ROW_HOMOGENEOUS] =
g_param_spec_boolean ("row-homogeneous",
@ -1601,7 +1601,7 @@ clutter_grid_layout_class_init (ClutterGridLayoutClass *klass)
*
* Whether all columns of the layout should have the same width
*
*
* Since: 1.12
*/
obj_props[PROP_COLUMN_HOMOGENEOUS] =
g_param_spec_boolean ("column-homogeneous",
@ -1657,7 +1657,7 @@ clutter_grid_layout_new (void)
* number of 'cells' that @child will occupy is determined by
* @width and @height.
*
*
* Since: 1.12
*/
void
clutter_grid_layout_attach (ClutterGridLayout *layout,
@ -1700,7 +1700,7 @@ clutter_grid_layout_attach (ClutterGridLayout *layout,
* Attaching widgets labeled [1], [2], [3] with @sibling == %NULL and
* @side == %CLUTTER_GRID_POSITION_LEFT yields a layout of [3][2][1].
*
*
* Since: 1.12
*/
void
clutter_grid_layout_attach_next_to (ClutterGridLayout *layout,
@ -1735,7 +1735,7 @@ clutter_grid_layout_attach_next_to (ClutterGridLayout *layout,
*
* Sets the orientation of the @layout
*
*
* Since: 1.12
*/
void
clutter_grid_layout_set_orientation (ClutterGridLayout *layout,
@ -1767,7 +1767,7 @@ clutter_grid_layout_set_orientation (ClutterGridLayout *layout,
*
* Returns: (transfer none): the child at the given position, or %NULL
*
*
* Since: 1.12
*/
ClutterActor *
clutter_grid_layout_get_child_at (ClutterGridLayout *layout,
@ -1812,7 +1812,7 @@ clutter_grid_layout_get_child_at (ClutterGridLayout *layout,
* are moved one row down. Children which span across this
* position are grown to span the new row.
*
*
* Since: 1.12
*/
void
clutter_grid_layout_insert_row (ClutterGridLayout *layout,
@ -1866,7 +1866,7 @@ clutter_grid_layout_insert_row (ClutterGridLayout *layout,
* are moved one column to the right. Children which span across this
* position are grown to span the new column.
*
*
* Since: 1.12
*/
void
clutter_grid_layout_insert_column (ClutterGridLayout *layout,
@ -1924,7 +1924,7 @@ clutter_grid_layout_insert_column (ClutterGridLayout *layout,
* %CLUTTER_GRID_POSITION_LEFT of %CLUTTER_GRID_POSITION_RIGHT,
* a column is inserted.
*
*
* Since: 1.12
*/
void
clutter_grid_layout_insert_next_to (ClutterGridLayout *layout,
@ -1971,7 +1971,7 @@ clutter_grid_layout_insert_next_to (ClutterGridLayout *layout,
*
* Return value: the orientation of the layout
*
*
* Since: 1.12
*/
ClutterOrientation
clutter_grid_layout_get_orientation (ClutterGridLayout *layout)
@ -1989,7 +1989,7 @@ clutter_grid_layout_get_orientation (ClutterGridLayout *layout)
*
* Sets the spacing between rows of @layout
*
*
* Since: 1.12
*/
void
clutter_grid_layout_set_row_spacing (ClutterGridLayout *layout,
@ -2019,7 +2019,7 @@ clutter_grid_layout_set_row_spacing (ClutterGridLayout *layout,
*
* Return value: the spacing between rows of @layout
*
*
* Since: 1.12
*/
guint
clutter_grid_layout_get_row_spacing (ClutterGridLayout *layout)
@ -2040,7 +2040,7 @@ clutter_grid_layout_get_row_spacing (ClutterGridLayout *layout)
*
* Sets the spacing between columns of @layout
*
*
* Since: 1.12
*/
void
clutter_grid_layout_set_column_spacing (ClutterGridLayout *layout,
@ -2070,7 +2070,7 @@ clutter_grid_layout_set_column_spacing (ClutterGridLayout *layout,
*
* Return value: the spacing between coluns of @layout
*
*
* Since: 1.12
*/
guint
clutter_grid_layout_get_column_spacing (ClutterGridLayout *layout)
@ -2091,7 +2091,7 @@ clutter_grid_layout_get_column_spacing (ClutterGridLayout *layout)
*
* Sets whether all columns of @layout will have the same width.
*
*
* Since: 1.12
*/
void
clutter_grid_layout_set_column_homogeneous (ClutterGridLayout *layout,
@ -2140,7 +2140,7 @@ clutter_grid_layout_get_column_homogeneous (ClutterGridLayout *layout)
*
* Sets whether all rows of @layout will have the same height.
*
*
* Since: 1.12
*/
void
clutter_grid_layout_set_row_homogeneous (ClutterGridLayout *layout,
@ -2170,7 +2170,7 @@ clutter_grid_layout_set_row_homogeneous (ClutterGridLayout *layout,
*
* Returns: whether all rows of @layout have the same height.
*
*
* Since: 1.12
*/
gboolean
clutter_grid_layout_get_row_homogeneous (ClutterGridLayout *layout)

View File

@ -54,7 +54,7 @@ typedef struct _ClutterGridLayoutClass ClutterGridLayoutClass;
* The #ClutterGridLayout structure contains only private data
* and should be accessed using the provided API
*
*
* Since: 1.12
*/
struct _ClutterGridLayout
{
@ -70,7 +70,7 @@ struct _ClutterGridLayout
* The #ClutterGridLayoutClass structure contains only private
* data and should be accessed using the provided API
*
*
* Since: 1.12
*/
struct _ClutterGridLayoutClass
{
@ -80,13 +80,13 @@ struct _ClutterGridLayoutClass
gpointer _padding[8];
};
CLUTTER_AVAILABLE_IN_1_12
GType clutter_grid_layout_get_type (void) G_GNUC_CONST;
CLUTTER_AVAILABLE_IN_1_12
ClutterLayoutManager * clutter_grid_layout_new (void);
CLUTTER_AVAILABLE_IN_1_12
void clutter_grid_layout_attach (ClutterGridLayout *layout,
ClutterActor *child,
gint left,
@ -94,7 +94,7 @@ void clutter_grid_layout_attach (ClutterGrid
gint width,
gint height);
CLUTTER_AVAILABLE_IN_1_12
void clutter_grid_layout_attach_next_to (ClutterGridLayout *layout,
ClutterActor *child,
ClutterActor *sibling,
@ -102,58 +102,58 @@ void clutter_grid_layout_attach_next_to (ClutterGrid
gint width,
gint height);
CLUTTER_AVAILABLE_IN_1_12
ClutterActor * clutter_grid_layout_get_child_at (ClutterGridLayout *layout,
gint left,
gint top);
CLUTTER_AVAILABLE_IN_1_12
void clutter_grid_layout_insert_row (ClutterGridLayout *layout,
gint position);
CLUTTER_AVAILABLE_IN_1_12
void clutter_grid_layout_insert_column (ClutterGridLayout *layout,
gint position);
CLUTTER_AVAILABLE_IN_1_12
void clutter_grid_layout_insert_next_to (ClutterGridLayout *layout,
ClutterActor *sibling,
ClutterGridPosition side);
CLUTTER_AVAILABLE_IN_1_12
void clutter_grid_layout_set_orientation (ClutterGridLayout *layout,
ClutterOrientation orientation);
CLUTTER_AVAILABLE_IN_1_12
ClutterOrientation clutter_grid_layout_get_orientation (ClutterGridLayout *layout);
CLUTTER_AVAILABLE_IN_1_12
void clutter_grid_layout_set_column_spacing (ClutterGridLayout *layout,
guint spacing);
CLUTTER_AVAILABLE_IN_1_12
guint clutter_grid_layout_get_column_spacing (ClutterGridLayout *layout);
CLUTTER_AVAILABLE_IN_1_12
void clutter_grid_layout_set_row_spacing (ClutterGridLayout *layout,
guint spacing);
CLUTTER_AVAILABLE_IN_1_12
guint clutter_grid_layout_get_row_spacing (ClutterGridLayout *layout);
CLUTTER_AVAILABLE_IN_1_12
void clutter_grid_layout_set_column_homogeneous (ClutterGridLayout *layout,
gboolean homogeneous);
CLUTTER_AVAILABLE_IN_1_12
gboolean clutter_grid_layout_get_column_homogeneous (ClutterGridLayout *layout);
CLUTTER_AVAILABLE_IN_1_12
void clutter_grid_layout_set_row_homogeneous (ClutterGridLayout *layout,
gboolean homogeneous);
CLUTTER_AVAILABLE_IN_1_12
gboolean clutter_grid_layout_get_row_homogeneous (ClutterGridLayout *layout);
G_END_DECLS

Some files were not shown because too many files have changed in this diff Show More