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

View File

@ -18,7 +18,7 @@ test $TEST_TYPE $FILE || {
# GNU gettext automake support doesn't get along with git. # GNU gettext automake support doesn't get along with git.
# https://bugzilla.gnome.org/show_bug.cgi?id=661128 # 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` GTKDOCIZE=`which gtkdocize`
if test -z $GTKDOCIZE; then if test -z $GTKDOCIZE; then

View File

@ -1,9 +1,10 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="UserMacros"> <PropertyGroup Label="UserMacros">
<VSVer>10</VSVer> <GlibEtcInstallRoot>..\..\..\..\vs10\$(Platform)</GlibEtcInstallRoot>
<GlibEtcInstallRoot>$(SolutionDir)\..\..\..\..\vs$(VSVer)\$(Platform)</GlibEtcInstallRoot> <GlibMkEnumsPath>..\..\..\vs10\$(Platform)</GlibMkEnumsPath>
<ApiVersion>1.0</ApiVersion> <GlibGenMarshalPath>..\..\vs10\$(Platform)</GlibGenMarshalPath>
<ClutterApiVersion>1.0</ClutterApiVersion>
<CopyDir>$(GlibEtcInstallRoot)</CopyDir> <CopyDir>$(GlibEtcInstallRoot)</CopyDir>
<DefDir>$(SolutionDir)$(Configuration)\$(PlatformName)\obj\$(ProjectName)\</DefDir> <DefDir>$(SolutionDir)$(Configuration)\$(PlatformName)\obj\$(ProjectName)\</DefDir>
<BaseWinBuildDef>_WIN32_WINNT=0x0500</BaseWinBuildDef> <BaseWinBuildDef>_WIN32_WINNT=0x0500</BaseWinBuildDef>
@ -14,38 +15,50 @@
<ClutterBuildDefines>$(BaseBuildDef);G_LOG_DOMAIN="Clutter";CLUTTER_LOCALEDIR="../share/locale";CLUTTER_SYSCONFDIR="../etc"</ClutterBuildDefines> <ClutterBuildDefines>$(BaseBuildDef);G_LOG_DOMAIN="Clutter";CLUTTER_LOCALEDIR="../share/locale";CLUTTER_SYSCONFDIR="../etc"</ClutterBuildDefines>
<ClutterDisableDeprecationWarnings>CLUTTER_DISABLE_DEPRECATION_WARNINGS;GLIB_DISABLE_DEPRECATION_WARNINGS</ClutterDisableDeprecationWarnings> <ClutterDisableDeprecationWarnings>CLUTTER_DISABLE_DEPRECATION_WARNINGS;GLIB_DISABLE_DEPRECATION_WARNINGS</ClutterDisableDeprecationWarnings>
<CallyTestDefs>$(BaseWinBuildDef);PREFIXDIR="/some/dummy/dir";$(ClutterDisableDeprecationWarnings)</CallyTestDefs> <CallyTestDefs>$(BaseWinBuildDef);PREFIXDIR="/some/dummy/dir";$(ClutterDisableDeprecationWarnings)</CallyTestDefs>
<TestProgDef>$(BaseBuildDef);TESTS_DATADIR="../share/clutter-$(ApiVersion)/data"</TestProgDef> <TestProgDef>$(BaseBuildDef);TESTS_DATADIR="../share/clutter-$(ClutterApiVersion)/data"</TestProgDef>
<TestPerfProgDef>$(BaseBuildDef);TESTS_DATA_DIR="../share/clutter-$(ApiVersion)/data";$(ClutterDisableDeprecationWarnings)</TestPerfProgDef> <TestPerfProgDef>$(BaseBuildDef);TESTS_DATA_DIR="../share/clutter-$(ClutterApiVersion)/data";$(ClutterDisableDeprecationWarnings)</TestPerfProgDef>
<DoConfigs> <PreBuildWin>
if exist ..\..\..\clutter\config.h goto DONE_CONFIG_H if exist ..\..\..\clutter\config.h goto DONE_CONFIG_H
copy ..\..\..\clutter\config.h.win32 ..\..\..\clutter\config.h copy ..\..\..\clutter\config.h.win32 ..\..\..\clutter\config.h
:DONE_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\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.bld.win32.win32
copy ..\..\..\clutter\clutter-config.h.win32 ..\..\..\clutter\clutter-config.h copy ..\..\..\clutter\clutter-config.h.win32 ..\..\..\clutter\clutter-config.h
:DONE_CLUTTER_CONFIG_H :DONE_CLUTTER_CONFIG_H
</DoConfigs> </PreBuildWin>
<GenMarshalSrc> <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 if exist ..\..\..\clutter\clutter-marshal.h goto DONE_CLUTTER_MARSHAL_H
cd ..\..\..\clutter 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 :DONE_CLUTTER_MARSHAL_H
@ -56,25 +69,26 @@ cd ..\..\..\clutter
echo #include "clutter-marshal.h" &gt; clutter-marshal.c 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 :DONE_CLUTTER_MARSHAL_C
</GenMarshalSrc>
<GenEnumsSrc>
cd .. cd ..
call gen-enums.bat $(GlibEtcInstallRoot)
cd .\vs$(VSVer)
</GenEnumsSrc>
gen-enums.bat $(GlibMkEnumsPath)
cd .\vs10
</PreBuildCmd2>
<ClutterDoInstall> <ClutterDoInstall>
mkdir $(CopyDir) mkdir $(CopyDir)
mkdir $(CopyDir)\bin mkdir $(CopyDir)\bin
mkdir $(CopyDir)\share\clutter-$(ApiVersion)\data mkdir $(CopyDir)\share\clutter-$(ClutterApiVersion)\data
copy $(SolutionDir)$(Configuration)\$(Platform)\bin\*.dll $(CopyDir)\bin 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 ..\*.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 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\clutter.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\gdk
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-util.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\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
</ClutterDoInstall> </ClutterDoInstall>
<ClutterDoInstallGDK> <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> </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> <GenerateClutterDef>
echo EXPORTS &gt; $(DefDir)\clutter.def echo EXPORTS &gt; $(DefDir)\clutter.def
@ -397,11 +410,11 @@ copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)
</GenerateClutterGDKDef> </GenerateClutterGDKDef>
<ClutterLibtoolCompatibleDllPrefix>lib</ClutterLibtoolCompatibleDllPrefix> <ClutterLibtoolCompatibleDllPrefix>lib</ClutterLibtoolCompatibleDllPrefix>
<ClutterLibtoolCompatibleDllSuffix>-$(ApiVersion)-0</ClutterLibtoolCompatibleDllSuffix> <ClutterLibtoolCompatibleDllSuffix>-$(ClutterApiVersion)-0</ClutterLibtoolCompatibleDllSuffix>
<ClutterSeparateVSDllPrefix /> <ClutterSeparateVS10DllPrefix />
<ClutterSeparateVSDllSuffix>-1-vs$(VSVer)</ClutterSeparateVSDllSuffix> <ClutterSeparateVS10DllSuffix>-1-vs10</ClutterSeparateVS10DllSuffix>
<ClutterDllPrefix>$(ClutterSeparateVSDllPrefix)</ClutterDllPrefix> <ClutterDllPrefix>$(ClutterSeparateVS10DllPrefix)</ClutterDllPrefix>
<ClutterDllSuffix>$(ClutterSeparateVSDllSuffix)</ClutterDllSuffix> <ClutterDllSuffix>$(ClutterSeparateVS10DllSuffix)</ClutterDllSuffix>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<_PropertySheetDisplayName>clutterprops</_PropertySheetDisplayName> <_PropertySheetDisplayName>clutterprops</_PropertySheetDisplayName>
@ -421,9 +434,6 @@ copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
<BuildMacro Include="VSVer">
<Value>$(VSVer)</Value>
</BuildMacro>
<BuildMacro Include="GlibEtcInstallRoot"> <BuildMacro Include="GlibEtcInstallRoot">
<Value>$(GlibEtcInstallRoot)</Value> <Value>$(GlibEtcInstallRoot)</Value>
</BuildMacro> </BuildMacro>
@ -433,8 +443,14 @@ copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)
<BuildMacro Include="DefDir"> <BuildMacro Include="DefDir">
<Value>$(DefDir)</Value> <Value>$(DefDir)</Value>
</BuildMacro> </BuildMacro>
<BuildMacro Include="ApiVersion"> <BuildMacro Include="GlibMkEnumsPath">
<Value>$(ApiVersion)</Value> <Value>$(GlibMkEnumsPath)</Value>
</BuildMacro>
<BuildMacro Include="GlibGenMarshalPath">
<Value>$(GlibGenMarshalPath)</Value>
</BuildMacro>
<BuildMacro Include="ClutterApiVersion">
<Value>$(ClutterApiVersion)</Value>
</BuildMacro> </BuildMacro>
<BuildMacro Include="BaseWinBuildDef"> <BuildMacro Include="BaseWinBuildDef">
<Value>$(BaseWinBuildDef)</Value> <Value>$(BaseWinBuildDef)</Value>
@ -466,14 +482,14 @@ copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)
<BuildMacro Include="TestPerfProgDef"> <BuildMacro Include="TestPerfProgDef">
<Value>$(TestPerfProgDef)</Value> <Value>$(TestPerfProgDef)</Value>
</BuildMacro> </BuildMacro>
<BuildMacro Include="DoConfigs"> <BuildMacro Include="PreBuildGDK">
<Value>$(DoConfigs)</Value> <Value>$(PreBuildGDK)</Value>
</BuildMacro> </BuildMacro>
<BuildMacro Include="GenMarshalSrc"> <BuildMacro Include="PreBuildWin">
<Value>$(GenMarshalSrc)</Value> <Value>$(PreBuildWin)</Value>
</BuildMacro> </BuildMacro>
<BuildMacro Include="GenEnumsSrc"> <BuildMacro Include="PreBuildCmd2">
<Value>$(GenEnumsSrc)</Value> <Value>$(PreBuildCmd2)</Value>
</BuildMacro> </BuildMacro>
<BuildMacro Include="ClutterDoInstall"> <BuildMacro Include="ClutterDoInstall">
<Value>$(ClutterDoInstall)</Value> <Value>$(ClutterDoInstall)</Value>
@ -499,11 +515,11 @@ copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)
<BuildMacro Include="ClutterLibtoolCompatibleDllSuffix"> <BuildMacro Include="ClutterLibtoolCompatibleDllSuffix">
<Value>$(ClutterLibtoolCompatibleDllSuffix)</Value> <Value>$(ClutterLibtoolCompatibleDllSuffix)</Value>
</BuildMacro> </BuildMacro>
<BuildMacro Include="ClutterSeparateVSDllPrefix"> <BuildMacro Include="ClutterSeparateVS10DllPrefix">
<Value>$(ClutterSeparateVSDllPrefix)</Value> <Value>$(ClutterSeparateVS10DllPrefix)</Value>
</BuildMacro> </BuildMacro>
<BuildMacro Include="ClutterSeparateVSDllSuffix"> <BuildMacro Include="ClutterSeparateVS10DllSuffix">
<Value>$(ClutterSeparateVSDllSuffix)</Value> <Value>$(ClutterSeparateVS10DllSuffix)</Value>
</BuildMacro> </BuildMacro>
<BuildMacro Include="ClutterDllPrefix"> <BuildMacro Include="ClutterDllPrefix">
<Value>$(ClutterDllPrefix)</Value> <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|Win32.Build.0 = Release|Win32
{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Release|x64.ActiveCfg = Release|x64 {75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Release|x64.ActiveCfg = Release|x64
{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Release|x64.Build.0 = 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.ActiveCfg = Debug_GDK|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|Win32.Build.0 = Debug|Win32 {35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|Win32.Build.0 = Debug_GDK|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|x64.ActiveCfg = Debug|x64 {35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|x64.ActiveCfg = Debug_GDK|x64
{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|x64.Build.0 = Debug|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.ActiveCfg = Debug|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug|Win32.Build.0 = 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.ActiveCfg = Debug|x64
{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug|x64.Build.0 = 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.ActiveCfg = Release_GDK|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|Win32.Build.0 = Release|Win32 {35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|Win32.Build.0 = Release_GDK|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|x64.ActiveCfg = Release|x64 {35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|x64.ActiveCfg = Release_GDK|x64
{35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|x64.Build.0 = Release|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.ActiveCfg = Release|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Release|Win32.Build.0 = Release|Win32 {35B2A4AC-7235-4FC7-995D-469D59195041}.Release|Win32.Build.0 = Release|Win32
{35B2A4AC-7235-4FC7-995D-469D59195041}.Release|x64.ActiveCfg = Release|x64 {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\gdk\clutter-stage-gdk.c"><Filter>Sources</Filter></ClCompile>
<ClCompile Include="..\..\..\clutter\cogl\clutter-stage-cogl.c"><Filter>Sources</Filter></ClCompile> <ClCompile Include="..\..\..\clutter\cogl\clutter-stage-cogl.c"><Filter>Sources</Filter></ClCompile>
</ItemGroup> </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> <ItemGroup>
<ResourceCompile Include="..\..\..\clutter\win32\resources.rc"> <ResourceCompile Include="..\..\..\clutter\win32\resources.rc">
<Filter>Resource Files</Filter> <Filter>Resource Files</Filter>

View File

@ -126,7 +126,7 @@
</PropertyGroup> </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<PreBuildEvent> <PreBuildEvent>
<Command>$(DoConfigs)</Command> <Command>$(PreBuildWin)$(PreBuildCmd2)</Command>
</PreBuildEvent> </PreBuildEvent>
<ClCompile> <ClCompile>
<Optimization>Disabled</Optimization> <Optimization>Disabled</Optimization>
@ -140,11 +140,14 @@
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat> <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile> </ClCompile>
<PreLinkEvent>
<Command>$(GenerateClutterDef)</Command>
</PreLinkEvent>
<Link> <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> <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> <OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile> <ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary> <ImportLibrary>$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem> <SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine> <TargetMachine>MachineX86</TargetMachine>
@ -152,7 +155,7 @@
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">
<PreBuildEvent> <PreBuildEvent>
<Command>$(DoConfigs)</Command> <Command>$(PreBuildGDK)$(PreBuildCmd2)</Command>
</PreBuildEvent> </PreBuildEvent>
<ClCompile> <ClCompile>
<Optimization>Disabled</Optimization> <Optimization>Disabled</Optimization>
@ -166,11 +169,14 @@
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat> <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile> </ClCompile>
<PreLinkEvent>
<Command>$(GenerateClutterGDKDef)</Command>
</PreLinkEvent>
<Link> <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> <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> <OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile> <ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary> <ImportLibrary>$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem> <SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine> <TargetMachine>MachineX86</TargetMachine>
@ -178,7 +184,7 @@
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<PreBuildEvent> <PreBuildEvent>
<Command>$(DoConfigs)</Command> <Command>$(PreBuildWin)$(PreBuildCmd2)</Command>
</PreBuildEvent> </PreBuildEvent>
<ClCompile> <ClCompile>
<Optimization>Disabled</Optimization> <Optimization>Disabled</Optimization>
@ -192,11 +198,14 @@
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile> </ClCompile>
<PreLinkEvent>
<Command>$(GenerateClutterDef)</Command>
</PreLinkEvent>
<Link> <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> <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> <OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile> <ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary> <ImportLibrary>$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem> <SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine> <TargetMachine>MachineX64</TargetMachine>
@ -204,7 +213,7 @@
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">
<PreBuildEvent> <PreBuildEvent>
<Command>$(DoConfigs)</Command> <Command>$(PreBuildGDK)$(PreBuildCmd2)</Command>
</PreBuildEvent> </PreBuildEvent>
<ClCompile> <ClCompile>
<Optimization>Disabled</Optimization> <Optimization>Disabled</Optimization>
@ -218,11 +227,14 @@
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile> </ClCompile>
<PreLinkEvent>
<Command>$(GenerateClutterGDKDef)</Command>
</PreLinkEvent>
<Link> <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> <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> <OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile> <ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary> <ImportLibrary>$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem> <SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine> <TargetMachine>MachineX64</TargetMachine>
@ -230,7 +242,7 @@
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<PreBuildEvent> <PreBuildEvent>
<Command>$(DoConfigs)</Command> <Command>$(PreBuildWin)$(PreBuildCmd2)</Command>
</PreBuildEvent> </PreBuildEvent>
<ClCompile> <ClCompile>
<Optimization>MaxSpeed</Optimization> <Optimization>MaxSpeed</Optimization>
@ -244,11 +256,14 @@
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile> </ClCompile>
<PreLinkEvent>
<Command>$(GenerateClutterDef)</Command>
</PreLinkEvent>
<Link> <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> <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> <OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile> <ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary> <ImportLibrary>$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem> <SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences> <OptimizeReferences>true</OptimizeReferences>
@ -258,7 +273,7 @@
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">
<PreBuildEvent> <PreBuildEvent>
<Command>$(DoConfigs)</Command> <Command>$(PreBuildGDK)$(PreBuildCmd2)</Command>
</PreBuildEvent> </PreBuildEvent>
<ClCompile> <ClCompile>
<Optimization>MaxSpeed</Optimization> <Optimization>MaxSpeed</Optimization>
@ -272,11 +287,14 @@
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile> </ClCompile>
<PreLinkEvent>
<Command>$(GenerateClutterGDKDef)</Command>
</PreLinkEvent>
<Link> <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> <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> <OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile> <ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary> <ImportLibrary>$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem> <SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences> <OptimizeReferences>true</OptimizeReferences>
@ -286,7 +304,7 @@
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<PreBuildEvent> <PreBuildEvent>
<Command>$(DoConfigs)</Command> <Command>$(PreBuildWin)$(PreBuildCmd2)</Command>
</PreBuildEvent> </PreBuildEvent>
<ClCompile> <ClCompile>
<AdditionalIncludeDirectories>..\..\..\clutter;..\..\..\clutter\win32;..\..\..\clutter\deprecated;..\..\..\clutter\cally;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>..\..\..\clutter;..\..\..\clutter\win32;..\..\..\clutter\deprecated;..\..\..\clutter\cally;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@ -297,11 +315,14 @@
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile> </ClCompile>
<PreLinkEvent>
<Command>$(GenerateClutterDef)</Command>
</PreLinkEvent>
<Link> <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> <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> <OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile> <ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary> <ImportLibrary>$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem> <SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences> <OptimizeReferences>true</OptimizeReferences>
@ -311,7 +332,7 @@
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">
<PreBuildEvent> <PreBuildEvent>
<Command>$(DoConfigs)</Command> <Command>$(PreBuildGDK)$(PreBuildCmd2)</Command>
</PreBuildEvent> </PreBuildEvent>
<ClCompile> <ClCompile>
<AdditionalIncludeDirectories>..\..\..\clutter;..\..\..\clutter\win32;..\..\..\clutter\deprecated;..\..\..\clutter\cally;$(GlibEtcInstallRoot)\include\gtk-3.0;$(GlibEtcInstallRoot)\include\gdk-pixbuf-2.0;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <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> <WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile> </ClCompile>
<PreLinkEvent>
<Command>$(GenerateClutterGDKDef)</Command>
</PreLinkEvent>
<Link> <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> <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> <OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile> <ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary> <ImportLibrary>$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem> <SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences> <OptimizeReferences>true</OptimizeReferences>
@ -373,86 +397,6 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile> </ClCompile>
</ItemGroup> </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> <ItemGroup>
<ResourceCompile Include="..\..\..\clutter\win32\resources.rc" /> <ResourceCompile Include="..\..\..\clutter\win32\resources.rc" />
</ItemGroup> </ItemGroup>

View File

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

View File

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

View File

@ -27,7 +27,7 @@
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
CommandLine="$(DoConfigs)" CommandLine="$(PreBuildWin)$(PreBuildCmd2)"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
@ -51,7 +51,7 @@
OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll" OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
LinkIncremental="2" LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\clutter.def" ModuleDefinitionFile="$(IntDir)\clutter.def"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib" ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
GenerateDebugInformation="true" GenerateDebugInformation="true"
SubSystem="2" SubSystem="2"
TargetMachine="1" TargetMachine="1"
@ -66,7 +66,7 @@
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
CommandLine="$(DoConfigs)" CommandLine="$(PreBuildGDK)$(PreBuildCmd2)"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
@ -90,7 +90,7 @@
OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll" OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
LinkIncremental="2" LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\clutter.def" ModuleDefinitionFile="$(IntDir)\clutter.def"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib" ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
GenerateDebugInformation="true" GenerateDebugInformation="true"
SubSystem="2" SubSystem="2"
TargetMachine="1" TargetMachine="1"
@ -104,7 +104,7 @@
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
CommandLine="$(DoConfigs)" CommandLine="$(PreBuildWin)$(PreBuildCmd2)"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
@ -128,7 +128,7 @@
OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll" OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
LinkIncremental="2" LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\clutter.def" ModuleDefinitionFile="$(IntDir)\clutter.def"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib" ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
GenerateDebugInformation="true" GenerateDebugInformation="true"
SubSystem="2" SubSystem="2"
TargetMachine="17" TargetMachine="17"
@ -143,7 +143,7 @@
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
CommandLine="$(DoConfigs)" CommandLine="$(PreBuildGDK)$(PreBuildCmd2)"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
@ -167,7 +167,7 @@
OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll" OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
LinkIncremental="2" LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\clutter.def" ModuleDefinitionFile="$(IntDir)\clutter.def"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib" ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
GenerateDebugInformation="true" GenerateDebugInformation="true"
SubSystem="2" SubSystem="2"
TargetMachine="17" TargetMachine="17"
@ -182,7 +182,7 @@
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
CommandLine="$(DoConfigs)" CommandLine="$(PreBuildWin)$(PreBuildCmd2)"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
@ -206,7 +206,7 @@
OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll" OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
LinkIncremental="1" LinkIncremental="1"
ModuleDefinitionFile="$(IntDir)\clutter.def" ModuleDefinitionFile="$(IntDir)\clutter.def"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib" ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
GenerateDebugInformation="true" GenerateDebugInformation="true"
SubSystem="2" SubSystem="2"
OptimizeReferences="2" OptimizeReferences="2"
@ -224,7 +224,7 @@
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
CommandLine="$(DoConfigs)" CommandLine="$(PreBuildGDK)$(PreBuildCmd2)"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
@ -248,7 +248,7 @@
OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll" OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
LinkIncremental="1" LinkIncremental="1"
ModuleDefinitionFile="$(IntDir)\clutter.def" ModuleDefinitionFile="$(IntDir)\clutter.def"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib" ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
GenerateDebugInformation="true" GenerateDebugInformation="true"
SubSystem="2" SubSystem="2"
OptimizeReferences="2" OptimizeReferences="2"
@ -264,7 +264,7 @@
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
CommandLine="$(DoConfigs)" CommandLine="$(PreBuildWin)$(PreBuildCmd2)"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
@ -285,7 +285,7 @@
OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll" OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
LinkIncremental="2" LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\clutter.def" ModuleDefinitionFile="$(IntDir)\clutter.def"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib" ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
GenerateDebugInformation="true" GenerateDebugInformation="true"
SubSystem="2" SubSystem="2"
OptimizeReferences="2" OptimizeReferences="2"
@ -302,7 +302,7 @@
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
CommandLine="$(DoConfigs)" CommandLine="$(PreBuildGDK)$(PreBuildCmd2)"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
@ -323,7 +323,7 @@
OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll" OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
LinkIncremental="2" LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\clutter.def" ModuleDefinitionFile="$(IntDir)\clutter.def"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib" ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
GenerateDebugInformation="true" GenerateDebugInformation="true"
SubSystem="2" SubSystem="2"
OptimizeReferences="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" 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}" 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" /> <File RelativePath="..\..\..\clutter\win32\resources.rc" />
</Filter> </Filter>
</Files> </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" AdditionalDependencies="cogl-pango-1.0.lib cogl-1.0.lib glib-2.0.lib gobject-2.0.lib"
AdditionalLibraryDirectories="$(GlibEtcInstallRoot)\lib" AdditionalLibraryDirectories="$(GlibEtcInstallRoot)\lib"
/> />
<UserMacro
Name="VSVer"
Value="9"
/>
<UserMacro <UserMacro
Name="GlibEtcInstallRoot" Name="GlibEtcInstallRoot"
Value="$(SolutionDir)\..\..\..\..\vs$(VSVer)\$(PlatformName)" Value="..\..\..\..\vs9\$(PlatformName)"
/> />
<UserMacro <UserMacro
Name="CopyDir" Name="CopyDir"
@ -34,7 +30,15 @@
Value="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\$(ProjectName)" Value="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\$(ProjectName)"
/> />
<UserMacro <UserMacro
Name="ApiVersion" Name="GlibMkEnumsPath"
Value="..\..\..\vs9\$(PlatformName)"
/>
<UserMacro
Name="GlibGenMarshalPath"
Value="..\..\vs9\$(PlatformName)"
/>
<UserMacro
Name="ClutterApiVersion"
Value="1.0" Value="1.0"
/> />
<UserMacro <UserMacro
@ -71,60 +75,57 @@
/> />
<UserMacro <UserMacro
Name="TestProgDef" Name="TestProgDef"
Value="$(BaseBuildDef);TESTS_DATADIR=\&quot;../share/clutter-$(ApiVersion)/data\&quot;" Value="$(BaseBuildDef);TESTS_DATADIR=\&quot;../share/clutter-$(ClutterApiVersion)/data\&quot;"
/> />
<UserMacro <UserMacro
Name="TestPerfProgDef" 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 <UserMacro
Name="DoConfigs" Name="PreBuildWin"
Value=" Value="
if exist ..\..\..\clutter\config.h goto DONE_CONFIG_H&#x0D;&#x0A; if exist ..\..\..\clutter\config.h goto DONE_CONFIG_H&#x0D;&#x0A;
copy ..\..\..\clutter\config.h.win32 ..\..\..\clutter\config.h&#x0D;&#x0A; copy ..\..\..\clutter\config.h.win32 ..\..\..\clutter\config.h&#x0D;&#x0A;
:DONE_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\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.bld.win32.win32&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-config.h.win32 ..\..\..\clutter\clutter-config.h&#x0D;&#x0A; copy ..\..\..\clutter\clutter-config.h.win32 ..\..\..\clutter\clutter-config.h&#x0D;&#x0A;
:DONE_CLUTTER_CONFIG_H&#x0D;&#x0A; :DONE_CLUTTER_CONFIG_H&#x0D;&#x0A;
" "
/> />
<UserMacro <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=" Value="
if exist ..\..\..\clutter\clutter-marshal.h goto DONE_CLUTTER_MARSHAL_H&#x0D;&#x0A; if exist ..\..\..\clutter\clutter-marshal.h goto DONE_CLUTTER_MARSHAL_H&#x0D;&#x0A;
cd ..\..\..\clutter&#x0D;&#x0A; cd ..\..\..\clutter&#x0D;&#x0A;
$(GlibEtcInstallRoot)\bin\glib-genmarshal --prefix=_clutter_marshal --header clutter-marshal.list &gt; clutter-marshal.h&#x0D;&#x0A; $(GlibGenMarshalPath)\bin\glib-genmarshal --prefix=_clutter_marshal --header clutter-marshal.list &gt; clutter-marshal.h&#x0D;&#x0A;
cd ..\build\win32\vs$(VSVer)&#x0D;&#x0A; cd ..\build\win32\vs9&#x0D;&#x0A;
:DONE_CLUTTER_MARSHAL_H&#x0D;&#x0A; :DONE_CLUTTER_MARSHAL_H&#x0D;&#x0A;
if exist ..\..\..\clutter\clutter-marshal.c goto DONE_CLUTTER_MARSHAL_C&#x0D;&#x0A; if exist ..\..\..\clutter\clutter-marshal.c goto DONE_CLUTTER_MARSHAL_C&#x0D;&#x0A;
cd ..\..\..\clutter&#x0D;&#x0A; cd ..\..\..\clutter&#x0D;&#x0A;
echo #include &quot;clutter-marshal.h&quot; &gt; clutter-marshal.c&#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; $(GlibGenMarshalPath)\bin\glib-genmarshal --prefix=_clutter_marshal --body clutter-marshal.list &gt;&gt; clutter-marshal.c&#x0D;&#x0A;
cd ..\build\win32\vs$(VSVer)&#x0D;&#x0A; cd ..\build\win32\vs9&#x0D;&#x0A;
:DONE_CLUTTER_MARSHAL_C&#x0D;&#x0A; :DONE_CLUTTER_MARSHAL_C&#x0D;&#x0A;
"
/>
<UserMacro
Name="GenEnumsSrc"
Value="
cd ..&#x0D;&#x0A; cd ..&#x0D;&#x0A;
call gen-enums.bat $(GlibEtcInstallRoot)&#x0D;&#x0A; gen-enums.bat $(GlibMkEnumsPath)&#x0D;&#x0A;
cd .\vs$(VSVer)&#x0D;&#x0A; cd .\vs9&#x0D;&#x0A;
" "
/> />
<UserMacro <UserMacro
@ -132,173 +133,181 @@ cd .\vs$(VSVer)&#x0D;&#x0A;
Value=" Value="
mkdir $(CopyDir)&#x0D;&#x0A; mkdir $(CopyDir)&#x0D;&#x0A;
mkdir $(CopyDir)\bin&#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\*.dll $(CopyDir)\bin&#x0D;&#x0A;
copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\*.exe $(CopyDir)\bin&#x0D;&#x0A; copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\*.exe $(CopyDir)\bin&#x0D;&#x0A;
copy ..\*.bat $(CopyDir)\bin&#x0D;&#x0A; copy ..\*.bat $(CopyDir)\bin&#x0D;&#x0A;
copy ..\..\..\tests\data\*.png $(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-$(ApiVersion)\data&#x0D;&#x0A; copy ..\..\..\tests\data\clutter-1.0.suppressions $(CopyDir)\share\clutter-$(ClutterApiVersion)\data&#x0D;&#x0A;
copy ..\..\..\tests\data\*.json $(CopyDir)\share\clutter-$(ApiVersion)\data&#x0D;&#x0A; copy ..\..\..\tests\data\*.json $(CopyDir)\share\clutter-$(ClutterApiVersion)\data&#x0D;&#x0A;
mkdir $(CopyDir)\lib&#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\clutter.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\gdk&#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; mkdir $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\cally\cally-actor.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\clutter.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A; copy ..\..\..\clutter\cally\cally-clone.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A; copy ..\..\..\clutter\cally\cally-factory.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-actor-meta.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A; copy ..\..\..\clutter\cally\cally-group.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-actor.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A; copy ..\..\..\clutter\cally\cally.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-align-constraint.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A; copy ..\..\..\clutter\cally\cally-main.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-animatable.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A; copy ..\..\..\clutter\cally\cally-rectangle.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-backend.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A; copy ..\..\..\clutter\cally\cally-root.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-bind-constraint.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A; copy ..\..\..\clutter\cally\cally-stage.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-binding-pool.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A; copy ..\..\..\clutter\cally\cally-text.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-bin-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A; copy ..\..\..\clutter\cally\cally-texture.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
copy ..\..\..\clutter\clutter-blur-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A; copy ..\..\..\clutter\cally\cally-util.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#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;
" "
/> />
<UserMacro <UserMacro
Name="ClutterDoInstallGDK" Name="ClutterDoInstallGDK"
Value=" 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 <UserMacro
@ -321,24 +330,24 @@ copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)
/> />
<UserMacro <UserMacro
Name="ClutterLibtoolCompatibleDllSuffix" Name="ClutterLibtoolCompatibleDllSuffix"
Value="-$(ApiVersion)-0" Value="-$(ClutterApiVersion)-0"
/> />
<UserMacro <UserMacro
Name="ClutterSeparateVSDllPrefix" Name="ClutterSeparateVS9DllPrefix"
Value="" Value=""
/> />
<UserMacro <UserMacro
Name="ClutterSeparateVSDllSuffix" Name="ClutterSeparateVS9DllSuffix"
Value="-1-vs$(VSVer)" Value="-1-vs9"
/> />
<!-- Change these two to GlibLibtoolCompatibleDllPrefix and <!-- Change these two to GlibLibtoolCompatibleDllPrefix and
GlibLibtoolCompatibleDllSuffix if that is what you want --> GlibLibtoolCompatibleDllSuffix if that is what you want -->
<UserMacro <UserMacro
Name="ClutterDllPrefix" Name="ClutterDllPrefix"
Value="$(ClutterSeparateVSDllPrefix)" Value="$(ClutterSeparateVS9DllPrefix)"
/> />
<UserMacro <UserMacro
Name="ClutterDllSuffix" Name="ClutterDllSuffix"
Value="$(ClutterSeparateVSDllSuffix)" Value="$(ClutterSeparateVS9DllSuffix)"
/> />
</VisualStudioPropertySheet> </VisualStudioPropertySheet>

View File

@ -27,7 +27,19 @@
> >
<Tool <Tool
Name="VCPostBuildEventTool" 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>
<Configuration <Configuration
@ -40,7 +52,20 @@
> >
<Tool <Tool
Name="VCPreBuildEventTool" 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>
<Configuration <Configuration
@ -53,7 +78,20 @@
> >
<Tool <Tool
Name="VCPostBuildEventTool" 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>
<Configuration <Configuration
@ -67,7 +105,21 @@
> >
<Tool <Tool
Name="VCPreBuildEventTool" 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> </Configuration>
</Configurations> </Configurations>

View File

@ -7,15 +7,14 @@
<name>Clutter</name> <name>Clutter</name>
<shortname>clutter</shortname> <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> <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> <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" /> <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" /> <download-page rdf:resource="http://download.gnome.org/sources/clutter" />
<mailing-list rdf:resource="mailto:clutter-devel-list@clutter-project.org" /> <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-flow-layout.h \
$(srcdir)/clutter-gesture-action.h \ $(srcdir)/clutter-gesture-action.h \
$(srcdir)/clutter-grid-layout.h \ $(srcdir)/clutter-grid-layout.h \
$(srcdir)/clutter-group.h \
$(srcdir)/clutter-image.h \ $(srcdir)/clutter-image.h \
$(srcdir)/clutter-input-device.h \ $(srcdir)/clutter-input-device.h \
$(srcdir)/clutter-interval.h \ $(srcdir)/clutter-interval.h \
@ -118,6 +119,7 @@ source_h = \
$(srcdir)/clutter-stage-manager.h \ $(srcdir)/clutter-stage-manager.h \
$(srcdir)/clutter-table-layout.h \ $(srcdir)/clutter-table-layout.h \
$(srcdir)/clutter-tap-action.h \ $(srcdir)/clutter-tap-action.h \
$(srcdir)/clutter-texture.h \
$(srcdir)/clutter-text.h \ $(srcdir)/clutter-text.h \
$(srcdir)/clutter-text-buffer.h \ $(srcdir)/clutter-text-buffer.h \
$(srcdir)/clutter-timeline.h \ $(srcdir)/clutter-timeline.h \
@ -252,18 +254,79 @@ source_c_priv = \
# deprecated installed headers # deprecated installed headers
deprecated_h = \ 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) $(NULL)
# deprecated source code # deprecated source code
deprecated_c = \ 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) $(NULL)
# deprecated private headers; these should not be installed # deprecated private headers; these should not be installed
deprecated_h_priv = \ deprecated_h_priv = \
$(srcdir)/deprecated/clutter-timeout-interval.h \
$(NULL) $(NULL)
# deprecated private source code; these should not be introspected # deprecated private source code; these should not be introspected
deprecated_c_priv = \ deprecated_c_priv = \
$(srcdir)/deprecated/clutter-timeout-interval.c \
$(NULL) $(NULL)
# built sources # built sources
@ -297,6 +360,13 @@ EXTRA_DIST += clutter-keysyms-update.pl
pc_files += clutter-$(CLUTTER_API_VERSION).pc 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 # backends source listings
# #
# backend_source_c := source code # backend_source_c := source code
@ -319,10 +389,12 @@ x11_source_c = \
$(srcdir)/x11/clutter-input-device-core-x11.c \ $(srcdir)/x11/clutter-input-device-core-x11.c \
$(srcdir)/x11/clutter-keymap-x11.c \ $(srcdir)/x11/clutter-keymap-x11.c \
$(srcdir)/x11/clutter-stage-x11.c \ $(srcdir)/x11/clutter-stage-x11.c \
$(srcdir)/x11/clutter-x11-texture-pixmap.c \
$(NULL) $(NULL)
x11_source_h = \ x11_source_h = \
$(srcdir)/x11/clutter-x11.h \ $(srcdir)/x11/clutter-x11.h \
$(srcdir)/x11/clutter-x11-texture-pixmap.h \
$(NULL) $(NULL)
x11_source_h_priv = \ 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 pc_files += clutter-cogl-$(CLUTTER_API_VERSION).pc
endif 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 backend rules
gdk_source_c = \ gdk_source_c = \
$(srcdir)/gdk/clutter-backend-gdk.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) $(QUIET_GEN)cp -f $< $(@F)
pc_files += clutter-cex100-$(CLUTTER_API_VERSION).pc pc_files += clutter-cex100-$(CLUTTER_API_VERSION).pc
compat_libs += \
libclutter-cex100-$(CLUTTER_API_VERSION).so \
$(NULL)
endif # SUPPORT_CEX100 endif # SUPPORT_CEX100
# EGL backend rules # EGL backend rules
@ -649,11 +750,14 @@ cally_sources_h = \
$(srcdir)/cally/cally-actor.h \ $(srcdir)/cally/cally-actor.h \
$(srcdir)/cally/cally-clone.h \ $(srcdir)/cally/cally-clone.h \
$(srcdir)/cally/cally-factory.h \ $(srcdir)/cally/cally-factory.h \
$(srcdir)/cally/cally-group.h \
$(srcdir)/cally/cally.h \ $(srcdir)/cally/cally.h \
$(srcdir)/cally/cally-main.h \ $(srcdir)/cally/cally-main.h \
$(srcdir)/cally/cally-rectangle.h \
$(srcdir)/cally/cally-root.h \ $(srcdir)/cally/cally-root.h \
$(srcdir)/cally/cally-stage.h \ $(srcdir)/cally/cally-stage.h \
$(srcdir)/cally/cally-text.h \ $(srcdir)/cally/cally-text.h \
$(srcdir)/cally/cally-texture.h \
$(srcdir)/cally/cally-util.h \ $(srcdir)/cally/cally-util.h \
$(NULL) $(NULL)
@ -661,9 +765,12 @@ cally_sources_c = \
$(srcdir)/cally/cally-actor.c \ $(srcdir)/cally/cally-actor.c \
$(srcdir)/cally/cally.c \ $(srcdir)/cally/cally.c \
$(srcdir)/cally/cally-clone.c \ $(srcdir)/cally/cally-clone.c \
$(srcdir)/cally/cally-group.c \
$(srcdir)/cally/cally-rectangle.c \
$(srcdir)/cally/cally-root.c \ $(srcdir)/cally/cally-root.c \
$(srcdir)/cally/cally-stage.c \ $(srcdir)/cally/cally-stage.c \
$(srcdir)/cally/cally-text.c \ $(srcdir)/cally/cally-text.c \
$(srcdir)/cally/cally-texture.c \
$(srcdir)/cally/cally-util.c \ $(srcdir)/cally/cally-util.c \
$(NULL) $(NULL)
@ -829,6 +936,24 @@ EXTRA_DIST += \
# Let the VS9/VS10 Project files be cleared out before they are re-expanded... # 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 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 # gobject-introspection rules
-include $(INTROSPECTION_MAKEFILE) -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 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 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. * Lesser General Public License for more details.
* *
* You should have received a copy of the GNU Lesser General Public * 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. * Lesser General Public License for more details.
* *
* You should have received a copy of the GNU Lesser General Public * 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__ #ifndef _CALLY_FACTORY_H__

View File

@ -18,7 +18,9 @@
* Lesser General Public License for more details. * Lesser General Public License for more details.
* *
* You should have received a copy of the GNU Lesser General Public * 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. * Lesser General Public License for more details.
* *
* You should have received a copy of the GNU Lesser General Public * 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. * Lesser General Public License for more details.
* *
* You should have received a copy of the GNU Lesser General Public * 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. * Lesser General Public License for more details.
* *
* You should have received a copy of the GNU Lesser General Public * 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, G_DEFINE_TYPE_WITH_CODE (CallyStage,
cally_stage, cally_stage,
CALLY_TYPE_ACTOR, CALLY_TYPE_GROUP,
G_IMPLEMENT_INTERFACE (ATK_TYPE_WINDOW, G_IMPLEMENT_INTERFACE (ATK_TYPE_WINDOW,
cally_stage_window_interface_init)); cally_stage_window_interface_init));

View File

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

View File

@ -23,7 +23,9 @@
* Lesser General Public License for more details. * Lesser General Public License for more details.
* *
* You should have received a copy of the GNU Lesser General Public * 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. * Lesser General Public License for more details.
* *
* You should have received a copy of the GNU Lesser General Public * 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. * Lesser General Public License for more details.
* *
* You should have received a copy of the GNU Lesser General Public * 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. * Lesser General Public License for more details.
* *
* You should have received a copy of the GNU Lesser General Public * 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.h"
#include "cally-actor.h" #include "cally-actor.h"
#include "cally-group.h"
#include "cally-stage.h" #include "cally-stage.h"
#include "cally-text.h" #include "cally-text.h"
#include "cally-texture.h"
#include "cally-rectangle.h"
#include "cally-clone.h" #include "cally-clone.h"
#include "cally-factory.h" #include "cally-factory.h"
@ -52,8 +57,11 @@ static int cally_initialized = FALSE;
/* factories initialization*/ /* factories initialization*/
CALLY_ACCESSIBLE_FACTORY (CALLY_TYPE_ACTOR, cally_actor, cally_actor_new) 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_STAGE, cally_stage, cally_stage_new)
CALLY_ACCESSIBLE_FACTORY (CALLY_TYPE_TEXT, cally_text, cally_text_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) CALLY_ACCESSIBLE_FACTORY (CALLY_TYPE_CLONE, cally_clone, cally_clone_new)
/** /**
@ -76,8 +84,11 @@ cally_accessibility_init (void)
/* setting the factories */ /* setting the factories */
CALLY_ACTOR_SET_FACTORY (CLUTTER_TYPE_ACTOR, cally_actor); 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_STAGE, cally_stage);
CALLY_ACTOR_SET_FACTORY (CLUTTER_TYPE_TEXT, cally_text); 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); CALLY_ACTOR_SET_FACTORY (CLUTTER_TYPE_CLONE, cally_clone);
/* Initialize the CallyUtility class */ /* Initialize the CallyUtility class */

View File

@ -10,4 +10,4 @@ Description: Clutter Accessibility Implementation Library
Version: @VERSION@ Version: @VERSION@
Libs: -L${libdir} -lclutter-${apiversion} Libs: -L${libdir} -lclutter-${apiversion}
Cflags: -I${includedir}/clutter-${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> * <note>This function has to be called before clutter_init()</note>
* *
* * Since: 1.6
*/ */
void void
clutter_cex100_set_plane (gdl_plane_id_t plane) 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> * <note>This function has to be called before clutter_init()</note>
* *
* * Since: 1.6
*/ */
void void
clutter_cex100_set_buffering_mode (ClutterCex100BufferingMode mode) 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 * Return value: the EGL display used by Clutter, or 0
* *
* * Since: 1.10
*/ */
EGLDisplay EGLDisplay
clutter_cex100_get_egl_display (void) clutter_cex100_get_egl_display (void)

View File

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

View File

@ -29,7 +29,7 @@
* Return value: (transfer full): the newly allocated #ClutterActorBox. * Return value: (transfer full): the newly allocated #ClutterActorBox.
* Use clutter_actor_box_free() to free the resources * Use clutter_actor_box_free() to free the resources
* *
* * Since: 1.0
*/ */
ClutterActorBox * ClutterActorBox *
clutter_actor_box_new (gfloat x_1, 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. * Return value: (transfer full): the newly allocated #ClutterActorBox.
* Use clutter_actor_box_free() to free its resources * Use clutter_actor_box_free() to free its resources
* *
* * Since: 1.12
*/ */
ClutterActorBox * ClutterActorBox *
clutter_actor_box_alloc (void) clutter_actor_box_alloc (void)
@ -70,7 +70,7 @@ clutter_actor_box_alloc (void)
* *
* Return value: (transfer none): the initialized #ClutterActorBox * Return value: (transfer none): the initialized #ClutterActorBox
* *
* * Since: 1.10
*/ */
ClutterActorBox * ClutterActorBox *
clutter_actor_box_init (ClutterActorBox *box, clutter_actor_box_init (ClutterActorBox *box,
@ -99,7 +99,7 @@ clutter_actor_box_init (ClutterActorBox *box,
* *
* Initializes @box with the given origin and size. * Initializes @box with the given origin and size.
* *
* * Since: 1.10
*/ */
void void
clutter_actor_box_init_rect (ClutterActorBox *box, 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 * Return value: a newly allocated copy of #ClutterActorBox. Use
* clutter_actor_box_free() to free the allocated resources * clutter_actor_box_free() to free the allocated resources
* *
* * Since: 1.0
*/ */
ClutterActorBox * ClutterActorBox *
clutter_actor_box_copy (const ClutterActorBox *box) 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() * Frees a #ClutterActorBox allocated using clutter_actor_box_new()
* or clutter_actor_box_copy() * or clutter_actor_box_copy()
* *
* * Since: 1.0
*/ */
void void
clutter_actor_box_free (ClutterActorBox *box) 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 * Return value: %TRUE if the passed #ClutterActorBox are equal
* *
* * Since: 1.0
*/ */
gboolean gboolean
clutter_actor_box_equal (const ClutterActorBox *box_a, 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 * Return value: the X coordinate of the origin
* *
* * Since: 1.0
*/ */
gfloat gfloat
clutter_actor_box_get_x (const ClutterActorBox *box) 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 * Return value: the Y coordinate of the origin
* *
* * Since: 1.0
*/ */
gfloat gfloat
clutter_actor_box_get_y (const ClutterActorBox *box) 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 * Return value: the width of the box
* *
* * Since: 1.0
*/ */
gfloat gfloat
clutter_actor_box_get_width (const ClutterActorBox *box) 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 * Return value: the height of the box
* *
* * Since: 1.0
*/ */
gfloat gfloat
clutter_actor_box_get_height (const ClutterActorBox *box) 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 * Retrieves the origin of @box
* *
* * Since: 1.0
*/ */
void void
clutter_actor_box_get_origin (const ClutterActorBox *box, 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 * Retrieves the size of @box
* *
* * Since: 1.0
*/ */
void void
clutter_actor_box_get_size (const ClutterActorBox *box, 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 * Return value: the area of a #ClutterActorBox, in pixels
* *
* * Since: 1.0
*/ */
gfloat gfloat
clutter_actor_box_get_area (const ClutterActorBox *box) 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 * Return value: %TRUE if the point is contained by the #ClutterActorBox
* *
* * Since: 1.0
*/ */
gboolean gboolean
clutter_actor_box_contains (const ClutterActorBox *box, 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 * Calculates the bounding box represented by the four vertices; for details
* of the vertex array see clutter_actor_get_abs_allocation_vertices(). * of the vertex array see clutter_actor_get_abs_allocation_vertices().
* *
* * Since: 1.0
*/ */
void void
clutter_actor_box_from_vertices (ClutterActorBox *box, 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 * Interpolates between @initial and @final #ClutterActorBox<!-- -->es
* using @progress * using @progress
* *
* * Since: 1.2
*/ */
void void
clutter_actor_box_interpolate (const ClutterActorBox *initial, 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 * Clamps the components of @box to the nearest integer
* *
* * Since: 1.2
*/ */
void void
clutter_actor_box_clamp_to_pixel (ClutterActorBox *box) 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. * Unions the two boxes @a and @b and stores the result in @result.
* *
* * Since: 1.4
*/ */
void void
clutter_actor_box_union (const ClutterActorBox *a, 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. * Changes the origin of @box, maintaining the size of the #ClutterActorBox.
* *
* * Since: 1.6
*/ */
void void
clutter_actor_box_set_origin (ClutterActorBox *box, 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. * Sets the size of @box, maintaining the origin of the #ClutterActorBox.
* *
* * Since: 1.6
*/ */
void void
clutter_actor_box_set_size (ClutterActorBox *box, 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 * The #ClutterActor attached to the #ClutterActorMeta instance
* *
* * Since: 1.4
*/ */
obj_props[PROP_ACTOR] = obj_props[PROP_ACTOR] =
g_param_spec_object ("actor", g_param_spec_object ("actor",
@ -200,7 +200,7 @@ clutter_actor_meta_class_init (ClutterActorMetaClass *klass)
* *
* The unique name to access the #ClutterActorMeta * The unique name to access the #ClutterActorMeta
* *
* * Since: 1.4
*/ */
obj_props[PROP_NAME] = obj_props[PROP_NAME] =
g_param_spec_string ("name", g_param_spec_string ("name",
@ -214,7 +214,7 @@ clutter_actor_meta_class_init (ClutterActorMetaClass *klass)
* *
* Whether or not the #ClutterActorMeta is enabled * Whether or not the #ClutterActorMeta is enabled
* *
* * Since: 1.4
*/ */
obj_props[PROP_ENABLED] = obj_props[PROP_ENABLED] =
g_param_spec_boolean ("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 * The name can be used to identify the #ClutterActorMeta instance
* *
* * Since: 1.4
*/ */
void void
clutter_actor_meta_set_name (ClutterActorMeta *meta, 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 * by the #ClutterActorMeta instance and it should not be modified
* or freed * or freed
* *
* * Since: 1.4
*/ */
const gchar * const gchar *
clutter_actor_meta_get_name (ClutterActorMeta *meta) 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 * Sets whether @meta should be enabled or not
* *
* * Since: 1.4
*/ */
void void
clutter_actor_meta_set_enabled (ClutterActorMeta *meta, 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 * Return value: %TRUE if the #ClutterActorMeta instance is enabled
* *
* * Since: 1.4
*/ */
gboolean gboolean
clutter_actor_meta_get_enabled (ClutterActorMeta *meta) 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 * Sets or unsets a back pointer to the #ClutterActor that owns
* the @meta * the @meta
* *
* * Since: 1.4
*/ */
void void
_clutter_actor_meta_set_actor (ClutterActorMeta *meta, _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 * Return value: (transfer none): a pointer to a #ClutterActor or %NULL
* *
* * Since: 1.4
*/ */
ClutterActor * ClutterActor *
clutter_actor_meta_get_actor (ClutterActorMeta *meta) clutter_actor_meta_get_actor (ClutterActorMeta *meta)

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -269,7 +269,7 @@ struct _ClutterActorClass
/*< private >*/ /*< private >*/
/* padding for future expansion */ /* 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 * The contents of the <structname>ClutterActorIter</structname> structure
* are private and should only be accessed using the provided API. * are private and should only be accessed using the provided API.
* *
* * Since: 1.10
*/ */
struct _ClutterActorIter struct _ClutterActorIter
{ {
@ -311,7 +311,7 @@ void clutter_actor_unmap
void clutter_actor_paint (ClutterActor *self); void clutter_actor_paint (ClutterActor *self);
void clutter_actor_continue_paint (ClutterActor *self); void clutter_actor_continue_paint (ClutterActor *self);
void clutter_actor_queue_redraw (ClutterActor *self); void clutter_actor_queue_redraw (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_queue_redraw_with_clip (ClutterActor *self, void clutter_actor_queue_redraw_with_clip (ClutterActor *self,
const cairo_rectangle_int_t *clip); const cairo_rectangle_int_t *clip);
void clutter_actor_queue_relayout (ClutterActor *self); void clutter_actor_queue_relayout (ClutterActor *self);
@ -397,63 +397,63 @@ void clutter_actor_set_x
gfloat x); gfloat x);
void clutter_actor_set_y (ClutterActor *self, void clutter_actor_set_y (ClutterActor *self,
gfloat y); gfloat y);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_set_z_position (ClutterActor *self, void clutter_actor_set_z_position (ClutterActor *self,
gfloat z_position); gfloat z_position);
CLUTTER_AVAILABLE_IN_1_12
gfloat clutter_actor_get_z_position (ClutterActor *self); gfloat clutter_actor_get_z_position (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_layout_manager (ClutterActor *self, void clutter_actor_set_layout_manager (ClutterActor *self,
ClutterLayoutManager *manager); ClutterLayoutManager *manager);
CLUTTER_AVAILABLE_IN_1_10
ClutterLayoutManager * clutter_actor_get_layout_manager (ClutterActor *self); ClutterLayoutManager * clutter_actor_get_layout_manager (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_x_align (ClutterActor *self, void clutter_actor_set_x_align (ClutterActor *self,
ClutterActorAlign x_align); ClutterActorAlign x_align);
CLUTTER_AVAILABLE_IN_1_10
ClutterActorAlign clutter_actor_get_x_align (ClutterActor *self); ClutterActorAlign clutter_actor_get_x_align (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_y_align (ClutterActor *self, void clutter_actor_set_y_align (ClutterActor *self,
ClutterActorAlign y_align); ClutterActorAlign y_align);
CLUTTER_AVAILABLE_IN_1_10
ClutterActorAlign clutter_actor_get_y_align (ClutterActor *self); ClutterActorAlign clutter_actor_get_y_align (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_margin_top (ClutterActor *self, void clutter_actor_set_margin_top (ClutterActor *self,
gfloat margin); gfloat margin);
CLUTTER_AVAILABLE_IN_1_10
gfloat clutter_actor_get_margin_top (ClutterActor *self); gfloat clutter_actor_get_margin_top (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_margin_bottom (ClutterActor *self, void clutter_actor_set_margin_bottom (ClutterActor *self,
gfloat margin); gfloat margin);
CLUTTER_AVAILABLE_IN_1_10
gfloat clutter_actor_get_margin_bottom (ClutterActor *self); gfloat clutter_actor_get_margin_bottom (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_margin_left (ClutterActor *self, void clutter_actor_set_margin_left (ClutterActor *self,
gfloat margin); gfloat margin);
CLUTTER_AVAILABLE_IN_1_10
gfloat clutter_actor_get_margin_left (ClutterActor *self); gfloat clutter_actor_get_margin_left (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_margin_right (ClutterActor *self, void clutter_actor_set_margin_right (ClutterActor *self,
gfloat margin); gfloat margin);
CLUTTER_AVAILABLE_IN_1_10
gfloat clutter_actor_get_margin_right (ClutterActor *self); gfloat clutter_actor_get_margin_right (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_margin (ClutterActor *self, void clutter_actor_set_margin (ClutterActor *self,
const ClutterMargin *margin); const ClutterMargin *margin);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_get_margin (ClutterActor *self, void clutter_actor_get_margin (ClutterActor *self,
ClutterMargin *margin); ClutterMargin *margin);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_set_x_expand (ClutterActor *self, void clutter_actor_set_x_expand (ClutterActor *self,
gboolean expand); gboolean expand);
CLUTTER_AVAILABLE_IN_1_12
gboolean clutter_actor_get_x_expand (ClutterActor *self); gboolean clutter_actor_get_x_expand (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_set_y_expand (ClutterActor *self, void clutter_actor_set_y_expand (ClutterActor *self,
gboolean expand); gboolean expand);
CLUTTER_AVAILABLE_IN_1_12
gboolean clutter_actor_get_y_expand (ClutterActor *self); gboolean clutter_actor_get_y_expand (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_12
gboolean clutter_actor_needs_expand (ClutterActor *self, gboolean clutter_actor_needs_expand (ClutterActor *self,
ClutterOrientation orientation); ClutterOrientation orientation);
@ -488,42 +488,42 @@ gboolean clutter_actor_get_paint_box
gboolean clutter_actor_has_overlaps (ClutterActor *self); gboolean clutter_actor_has_overlaps (ClutterActor *self);
/* Content */ /* Content */
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_content (ClutterActor *self, void clutter_actor_set_content (ClutterActor *self,
ClutterContent *content); ClutterContent *content);
CLUTTER_AVAILABLE_IN_1_10
ClutterContent * clutter_actor_get_content (ClutterActor *self); ClutterContent * clutter_actor_get_content (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_content_gravity (ClutterActor *self, void clutter_actor_set_content_gravity (ClutterActor *self,
ClutterContentGravity gravity); ClutterContentGravity gravity);
CLUTTER_AVAILABLE_IN_1_10
ClutterContentGravity clutter_actor_get_content_gravity (ClutterActor *self); ClutterContentGravity clutter_actor_get_content_gravity (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_content_scaling_filters (ClutterActor *self, void clutter_actor_set_content_scaling_filters (ClutterActor *self,
ClutterScalingFilter min_filter, ClutterScalingFilter min_filter,
ClutterScalingFilter mag_filter); ClutterScalingFilter mag_filter);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_get_content_scaling_filters (ClutterActor *self, void clutter_actor_get_content_scaling_filters (ClutterActor *self,
ClutterScalingFilter *min_filter, ClutterScalingFilter *min_filter,
ClutterScalingFilter *mag_filter); ClutterScalingFilter *mag_filter);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_set_content_repeat (ClutterActor *self, void clutter_actor_set_content_repeat (ClutterActor *self,
ClutterContentRepeat repeat); ClutterContentRepeat repeat);
CLUTTER_AVAILABLE_IN_1_12
ClutterContentRepeat clutter_actor_get_content_repeat (ClutterActor *self); ClutterContentRepeat clutter_actor_get_content_repeat (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_get_content_box (ClutterActor *self, void clutter_actor_get_content_box (ClutterActor *self,
ClutterActorBox *box); ClutterActorBox *box);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_background_color (ClutterActor *self, void clutter_actor_set_background_color (ClutterActor *self,
const ClutterColor *color); const ClutterColor *color);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_get_background_color (ClutterActor *self, void clutter_actor_get_background_color (ClutterActor *self,
ClutterColor *color); ClutterColor *color);
const ClutterPaintVolume * clutter_actor_get_paint_volume (ClutterActor *self); const ClutterPaintVolume * clutter_actor_get_paint_volume (ClutterActor *self);
const ClutterPaintVolume * clutter_actor_get_transformed_paint_volume (ClutterActor *self, const ClutterPaintVolume * clutter_actor_get_transformed_paint_volume (ClutterActor *self,
ClutterActor *relative_to_ancestor); ClutterActor *relative_to_ancestor);
CLUTTER_AVAILABLE_IN_1_10
const ClutterPaintVolume * clutter_actor_get_default_paint_volume (ClutterActor *self); const ClutterPaintVolume * clutter_actor_get_default_paint_volume (ClutterActor *self);
/* Events */ /* Events */
@ -547,100 +547,100 @@ void clutter_actor_set_text_direction
ClutterTextDirection clutter_actor_get_text_direction (ClutterActor *self); ClutterTextDirection clutter_actor_get_text_direction (ClutterActor *self);
/* Actor hierarchy */ /* Actor hierarchy */
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_add_child (ClutterActor *self, void clutter_actor_add_child (ClutterActor *self,
ClutterActor *child); ClutterActor *child);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_insert_child_at_index (ClutterActor *self, void clutter_actor_insert_child_at_index (ClutterActor *self,
ClutterActor *child, ClutterActor *child,
gint index_); gint index_);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_insert_child_above (ClutterActor *self, void clutter_actor_insert_child_above (ClutterActor *self,
ClutterActor *child, ClutterActor *child,
ClutterActor *sibling); ClutterActor *sibling);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_insert_child_below (ClutterActor *self, void clutter_actor_insert_child_below (ClutterActor *self,
ClutterActor *child, ClutterActor *child,
ClutterActor *sibling); ClutterActor *sibling);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_replace_child (ClutterActor *self, void clutter_actor_replace_child (ClutterActor *self,
ClutterActor *old_child, ClutterActor *old_child,
ClutterActor *new_child); ClutterActor *new_child);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_remove_child (ClutterActor *self, void clutter_actor_remove_child (ClutterActor *self,
ClutterActor *child); ClutterActor *child);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_remove_all_children (ClutterActor *self); void clutter_actor_remove_all_children (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_destroy_all_children (ClutterActor *self); void clutter_actor_destroy_all_children (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
GList * clutter_actor_get_children (ClutterActor *self); GList * clutter_actor_get_children (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
gint clutter_actor_get_n_children (ClutterActor *self); gint clutter_actor_get_n_children (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
ClutterActor * clutter_actor_get_child_at_index (ClutterActor *self, ClutterActor * clutter_actor_get_child_at_index (ClutterActor *self,
gint index_); gint index_);
CLUTTER_AVAILABLE_IN_1_10
ClutterActor * clutter_actor_get_previous_sibling (ClutterActor *self); ClutterActor * clutter_actor_get_previous_sibling (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
ClutterActor * clutter_actor_get_next_sibling (ClutterActor *self); ClutterActor * clutter_actor_get_next_sibling (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
ClutterActor * clutter_actor_get_first_child (ClutterActor *self); 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_last_child (ClutterActor *self);
ClutterActor * clutter_actor_get_parent (ClutterActor *self); ClutterActor * clutter_actor_get_parent (ClutterActor *self);
gboolean clutter_actor_contains (ClutterActor *self, gboolean clutter_actor_contains (ClutterActor *self,
ClutterActor *descendant); ClutterActor *descendant);
ClutterActor* clutter_actor_get_stage (ClutterActor *actor); ClutterActor* clutter_actor_get_stage (ClutterActor *actor);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_child_below_sibling (ClutterActor *self, void clutter_actor_set_child_below_sibling (ClutterActor *self,
ClutterActor *child, ClutterActor *child,
ClutterActor *sibling); ClutterActor *sibling);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_child_above_sibling (ClutterActor *self, void clutter_actor_set_child_above_sibling (ClutterActor *self,
ClutterActor *child, ClutterActor *child,
ClutterActor *sibling); ClutterActor *sibling);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_child_at_index (ClutterActor *self, void clutter_actor_set_child_at_index (ClutterActor *self,
ClutterActor *child, ClutterActor *child,
gint index_); gint index_);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_iter_init (ClutterActorIter *iter, void clutter_actor_iter_init (ClutterActorIter *iter,
ClutterActor *root); ClutterActor *root);
CLUTTER_AVAILABLE_IN_1_10
gboolean clutter_actor_iter_next (ClutterActorIter *iter, gboolean clutter_actor_iter_next (ClutterActorIter *iter,
ClutterActor **child); ClutterActor **child);
CLUTTER_AVAILABLE_IN_1_10
gboolean clutter_actor_iter_prev (ClutterActorIter *iter, gboolean clutter_actor_iter_prev (ClutterActorIter *iter,
ClutterActor **child); ClutterActor **child);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_iter_remove (ClutterActorIter *iter); void clutter_actor_iter_remove (ClutterActorIter *iter);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_iter_destroy (ClutterActorIter *iter); void clutter_actor_iter_destroy (ClutterActorIter *iter);
CLUTTER_AVAILABLE_IN_1_12
gboolean clutter_actor_iter_is_valid (const ClutterActorIter *iter); gboolean clutter_actor_iter_is_valid (const ClutterActorIter *iter);
/* Transformations */ /* Transformations */
gboolean clutter_actor_is_rotated (ClutterActor *self); gboolean clutter_actor_is_rotated (ClutterActor *self);
gboolean clutter_actor_is_scaled (ClutterActor *self); gboolean clutter_actor_is_scaled (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_set_pivot_point (ClutterActor *self, void clutter_actor_set_pivot_point (ClutterActor *self,
gfloat pivot_x, gfloat pivot_x,
gfloat pivot_y); gfloat pivot_y);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_get_pivot_point (ClutterActor *self, void clutter_actor_get_pivot_point (ClutterActor *self,
gfloat *pivot_x, gfloat *pivot_x,
gfloat *pivot_y); gfloat *pivot_y);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_set_pivot_point_z (ClutterActor *self, void clutter_actor_set_pivot_point_z (ClutterActor *self,
gfloat pivot_z); gfloat pivot_z);
CLUTTER_AVAILABLE_IN_1_12
gfloat clutter_actor_get_pivot_point_z (ClutterActor *self); gfloat clutter_actor_get_pivot_point_z (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_set_rotation_angle (ClutterActor *self, void clutter_actor_set_rotation_angle (ClutterActor *self,
ClutterRotateAxis axis, ClutterRotateAxis axis,
gdouble angle); gdouble angle);
CLUTTER_AVAILABLE_IN_1_12
gdouble clutter_actor_get_rotation_angle (ClutterActor *self, gdouble clutter_actor_get_rotation_angle (ClutterActor *self,
ClutterRotateAxis axis); ClutterRotateAxis axis);
void clutter_actor_set_scale (ClutterActor *self, void clutter_actor_set_scale (ClutterActor *self,
@ -649,31 +649,31 @@ void clutter_actor_set_scale
void clutter_actor_get_scale (ClutterActor *self, void clutter_actor_get_scale (ClutterActor *self,
gdouble *scale_x, gdouble *scale_x,
gdouble *scale_y); gdouble *scale_y);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_set_scale_z (ClutterActor *self, void clutter_actor_set_scale_z (ClutterActor *self,
gdouble scale_z); gdouble scale_z);
CLUTTER_AVAILABLE_IN_1_12
gdouble clutter_actor_get_scale_z (ClutterActor *self); gdouble clutter_actor_get_scale_z (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_set_translation (ClutterActor *self, void clutter_actor_set_translation (ClutterActor *self,
gfloat translate_x, gfloat translate_x,
gfloat translate_y, gfloat translate_y,
gfloat translate_z); gfloat translate_z);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_get_translation (ClutterActor *self, void clutter_actor_get_translation (ClutterActor *self,
gfloat *translate_x, gfloat *translate_x,
gfloat *translate_y, gfloat *translate_y,
gfloat *translate_z); gfloat *translate_z);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_set_transform (ClutterActor *self, void clutter_actor_set_transform (ClutterActor *self,
const ClutterMatrix *transform); const ClutterMatrix *transform);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_get_transform (ClutterActor *self, void clutter_actor_get_transform (ClutterActor *self,
ClutterMatrix *transform); ClutterMatrix *transform);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_set_child_transform (ClutterActor *self, void clutter_actor_set_child_transform (ClutterActor *self,
const ClutterMatrix *transform); const ClutterMatrix *transform);
CLUTTER_AVAILABLE_IN_1_12
void clutter_actor_get_child_transform (ClutterActor *self, void clutter_actor_get_child_transform (ClutterActor *self,
ClutterMatrix *transform); ClutterMatrix *transform);
void clutter_actor_get_transformed_position (ClutterActor *self, void clutter_actor_get_transformed_position (ClutterActor *self,
@ -698,45 +698,38 @@ void clutter_actor_apply_relative_transform_to_point
ClutterVertex *vertex); ClutterVertex *vertex);
/* Implicit animations */ /* Implicit animations */
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_save_easing_state (ClutterActor *self); void clutter_actor_save_easing_state (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_restore_easing_state (ClutterActor *self); void clutter_actor_restore_easing_state (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_easing_mode (ClutterActor *self, void clutter_actor_set_easing_mode (ClutterActor *self,
ClutterAnimationMode mode); ClutterAnimationMode mode);
CLUTTER_AVAILABLE_IN_1_10
ClutterAnimationMode clutter_actor_get_easing_mode (ClutterActor *self); ClutterAnimationMode clutter_actor_get_easing_mode (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_easing_duration (ClutterActor *self, void clutter_actor_set_easing_duration (ClutterActor *self,
guint msecs); guint msecs);
CLUTTER_AVAILABLE_IN_1_10
guint clutter_actor_get_easing_duration (ClutterActor *self); guint clutter_actor_get_easing_duration (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_set_easing_delay (ClutterActor *self, void clutter_actor_set_easing_delay (ClutterActor *self,
guint msecs); guint msecs);
CLUTTER_AVAILABLE_IN_1_10
guint clutter_actor_get_easing_delay (ClutterActor *self); guint clutter_actor_get_easing_delay (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_10
ClutterTransition * clutter_actor_get_transition (ClutterActor *self, ClutterTransition * clutter_actor_get_transition (ClutterActor *self,
const char *name); const char *name);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_add_transition (ClutterActor *self, void clutter_actor_add_transition (ClutterActor *self,
const char *name, const char *name,
ClutterTransition *transition); ClutterTransition *transition);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_remove_transition (ClutterActor *self, void clutter_actor_remove_transition (ClutterActor *self,
const char *name); const char *name);
CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_remove_all_transitions (ClutterActor *self); 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 G_END_DECLS
#endif /* __CLUTTER_ACTOR_H__ */ #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 * The #ClutterActor must not be a child or a grandchild of the actor
* using the constraint. * using the constraint.
* *
* * Since: 1.4
*/ */
obj_props[PROP_SOURCE] = obj_props[PROP_SOURCE] =
g_param_spec_object ("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 * The axis to be used to compute the alignment
* *
* * Since: 1.4
*/ */
obj_props[PROP_ALIGN_AXIS] = obj_props[PROP_ALIGN_AXIS] =
g_param_spec_enum ("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 * 1.0 means right; with a value of %CLUTTER_ALIGN_Y_AXIS, 0.0 means top
* and 1.0 means bottom. * and 1.0 means bottom.
* *
* * Since: 1.4
*/ */
obj_props[PROP_FACTOR] = obj_props[PROP_FACTOR] =
g_param_spec_float ("factor", g_param_spec_float ("factor",
@ -344,7 +344,7 @@ clutter_align_constraint_init (ClutterAlignConstraint *self)
* *
* Return value: the newly created #ClutterAlignConstraint * Return value: the newly created #ClutterAlignConstraint
* *
* * Since: 1.4
*/ */
ClutterConstraint * ClutterConstraint *
clutter_align_constraint_new (ClutterActor *source, clutter_align_constraint_new (ClutterActor *source,
@ -367,7 +367,7 @@ clutter_align_constraint_new (ClutterActor *source,
* *
* Sets the source of the alignment constraint * Sets the source of the alignment constraint
* *
* * Since: 1.4
*/ */
void void
clutter_align_constraint_set_source (ClutterAlignConstraint *align, 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 * Return value: (transfer none): the #ClutterActor used as the source
* of the alignment * of the alignment
* *
* * Since: 1.4
*/ */
ClutterActor * ClutterActor *
clutter_align_constraint_get_source (ClutterAlignConstraint *align) 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 * Sets the axis to which the alignment refers to
* *
* * Since: 1.4
*/ */
void void
clutter_align_constraint_set_align_axis (ClutterAlignConstraint *align, 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 * Return value: the alignment axis
* *
* * Since: 1.4
*/ */
ClutterAlignAxis ClutterAlignAxis
clutter_align_constraint_get_align_axis (ClutterAlignConstraint *align) 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 * %CLUTTER_ALIGN_Y_AXIS). A value of 0.5 aligns in the middle in either
* cases * cases
* *
* * Since: 1.4
*/ */
void void
clutter_align_constraint_set_factor (ClutterAlignConstraint *align, clutter_align_constraint_set_factor (ClutterAlignConstraint *align,
@ -531,7 +531,7 @@ clutter_align_constraint_set_factor (ClutterAlignConstraint *align,
* *
* Return value: the alignment factor * Return value: the alignment factor
* *
* * Since: 1.4
*/ */
gfloat gfloat
clutter_align_constraint_get_factor (ClutterAlignConstraint *align) clutter_align_constraint_get_factor (ClutterAlignConstraint *align)

View File

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

View File

@ -49,11 +49,16 @@
#include "config.h" #include "config.h"
#endif #endif
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
#include "clutter-animatable.h" #include "clutter-animatable.h"
#include "clutter-interval.h" #include "clutter-interval.h"
#include "clutter-debug.h" #include "clutter-debug.h"
#include "clutter-private.h" #include "clutter-private.h"
#include "deprecated/clutter-animatable.h"
#include "deprecated/clutter-animation.h"
typedef ClutterAnimatableIface ClutterAnimatableInterface; typedef ClutterAnimatableIface ClutterAnimatableInterface;
G_DEFINE_INTERFACE (ClutterAnimatable, clutter_animatable, G_TYPE_OBJECT); 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: * clutter_animatable_find_property:
* @animatable: a #ClutterAnimatable * @animatable: a #ClutterAnimatable
@ -72,7 +151,7 @@ clutter_animatable_default_init (ClutterAnimatableInterface *iface)
* Return value: (transfer none): The #GParamSpec for the given property * Return value: (transfer none): The #GParamSpec for the given property
* or %NULL * or %NULL
* *
* * Since: 1.4
*/ */
GParamSpec * GParamSpec *
clutter_animatable_find_property (ClutterAnimatable *animatable, 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 * Retrieves the current state of @property_name and sets @value with it
* *
* * Since: 1.4
*/ */
void void
clutter_animatable_get_initial_state (ClutterAnimatable *animatable, 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 * Sets the current state of @property_name to @value
* *
* * Since: 1.4
*/ */
void void
clutter_animatable_set_final_state (ClutterAnimatable *animatable, 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 * This function should be used for every property animation
* involving #ClutterAnimatable<!-- -->s. * involving #ClutterAnimatable<!-- -->s.
* *
* This function replaces clutter_animatable_animate_property().
*
* Return value: %TRUE if the interpolation was successful, * Return value: %TRUE if the interpolation was successful,
* and %FALSE otherwise * and %FALSE otherwise
* *
* * Since: 1.8
*/ */
gboolean gboolean
clutter_animatable_interpolate_value (ClutterAnimatable *animatable, 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 * #ClutterAnimatable is an opaque structure whose members cannot be directly
* accessed * accessed
* *
* * Since: 1.0
*/ */
/** /**
* ClutterAnimatableIface: * 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 * @find_property: virtual function for retrieving the #GParamSpec of
* an animatable property * an animatable property
* @get_initial_state: virtual function for retrieving the initial * @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 * Base interface for #GObject<!-- -->s that can be animated by a
* a #ClutterAnimation. * a #ClutterAnimation.
* *
* * Since: 1.0
*/ */
struct _ClutterAnimatableIface struct _ClutterAnimatableIface
{ {
@ -71,6 +73,13 @@ struct _ClutterAnimatableIface
GTypeInterface parent_iface; GTypeInterface parent_iface;
/*< public >*/ /*< 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, GParamSpec *(* find_property) (ClutterAnimatable *animatable,
const gchar *property_name); const gchar *property_name);
void (* get_initial_state) (ClutterAnimatable *animatable, void (* get_initial_state) (ClutterAnimatable *animatable,

View File

@ -55,6 +55,9 @@
#include "clutter-stage-window.h" #include "clutter-stage-window.h"
#include "clutter-version.h" #include "clutter-version.h"
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
#include "deprecated/clutter-backend.h"
#ifdef HAVE_CLUTTER_WAYLAND_COMPOSITOR #ifdef HAVE_CLUTTER_WAYLAND_COMPOSITOR
#include "wayland/clutter-wayland-compositor.h" #include "wayland/clutter-wayland-compositor.h"
#endif /* HAVE_CLUTTER_WAYLAND_COMPOSITOR */ #endif /* HAVE_CLUTTER_WAYLAND_COMPOSITOR */
@ -101,6 +104,8 @@ struct _ClutterBackendPrivate
{ {
cairo_font_options_t *font_options; cairo_font_options_t *font_options;
gchar *font_name;
gfloat units_per_em; gfloat units_per_em;
gint32 units_serial; gint32 units_serial;
@ -150,6 +155,7 @@ clutter_backend_finalize (GObject *gobject)
g_source_destroy (backend->cogl_source); g_source_destroy (backend->cogl_source);
g_free (backend->priv->font_name);
clutter_backend_set_font_options (backend, NULL); clutter_backend_set_font_options (backend, NULL);
G_OBJECT_CLASS (clutter_backend_parent_class)->finalize (gobject); 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 * The ::resolution-changed signal is emitted each time the font
* resolutions has been changed through #ClutterSettings. * resolutions has been changed through #ClutterSettings.
* *
* * Since: 1.0
*/ */
backend_signals[RESOLUTION_CHANGED] = backend_signals[RESOLUTION_CHANGED] =
g_signal_new (I_("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 * The ::font-changed signal is emitted each time the font options
* have been changed through #ClutterSettings. * have been changed through #ClutterSettings.
* *
* * Since: 1.0
*/ */
backend_signals[FONT_CHANGED] = backend_signals[FONT_CHANGED] =
g_signal_new (I_("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 * The ::settings-changed signal is emitted each time the #ClutterSettings
* properties have been changed. * properties have been changed.
* *
* * Since: 1.4
*/ */
backend_signals[SETTINGS_CHANGED] = backend_signals[SETTINGS_CHANGED] =
g_signal_new (I_("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 * not ref or unref the returned object. Applications should rarely
* need to use this. * need to use this.
* *
* * Since: 0.4
*/ */
ClutterBackend * ClutterBackend *
clutter_get_default_backend (void) clutter_get_default_backend (void)
@ -939,6 +945,129 @@ clutter_get_default_backend (void)
return clutter_context->backend; 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: * clutter_backend_get_resolution:
* @backend: a #ClutterBackend * @backend: a #ClutterBackend
@ -957,7 +1086,7 @@ clutter_get_default_backend (void)
* Return value: the current resolution, or -1 if no resolution * Return value: the current resolution, or -1 if no resolution
* has been set. * has been set.
* *
* * Since: 0.4
*/ */
gdouble gdouble
clutter_backend_get_resolution (ClutterBackend *backend) 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 * This function is intended for actors creating a Pango layout
* using the PangoCairo API. * using the PangoCairo API.
* *
* * Since: 0.8
*/ */
void void
clutter_backend_set_font_options (ClutterBackend *backend, 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 * The returned #cairo_font_options_t is owned by the backend and should
* not be modified or freed * not be modified or freed
* *
* * Since: 0.8
*/ */
const cairo_font_options_t * const cairo_font_options_t *
clutter_backend_get_font_options (ClutterBackend *backend) clutter_backend_get_font_options (ClutterBackend *backend)
@ -1055,6 +1184,64 @@ clutter_backend_get_font_options (ClutterBackend *backend)
return priv->font_options; 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 gint32
_clutter_backend_get_units_serial (ClutterBackend *backend) _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. * Return value: The #CoglContext associated with @backend.
* *
* * Since: 1.8
* Stability: unstable * Stability: unstable
*/ */
CoglContext * CoglContext *
@ -1131,7 +1318,7 @@ clutter_backend_get_cogl_context (ClutterBackend *backend)
* This informs Clutter of your compositor side Wayland display * This informs Clutter of your compositor side Wayland display
* object. This must be called before calling clutter_init(). * object. This must be called before calling clutter_init().
* *
* * Since: 1.8
* Stability: unstable * Stability: unstable
*/ */
void void

View File

@ -50,7 +50,7 @@ G_BEGIN_DECLS
* <structname>ClutterBackend</structname> is an opaque structure whose * <structname>ClutterBackend</structname> is an opaque structure whose
* members cannot be directly accessed. * members cannot be directly accessed.
* *
* * Since: 0.4
*/ */
typedef struct _ClutterBackend ClutterBackend; typedef struct _ClutterBackend ClutterBackend;
typedef struct _ClutterBackendClass ClutterBackendClass; 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 * ClutterVertices
*/ */
@ -65,7 +173,7 @@
* Return value: (transfer full): the newly allocated #ClutterVertex. * Return value: (transfer full): the newly allocated #ClutterVertex.
* Use clutter_vertex_free() to free the resources * Use clutter_vertex_free() to free the resources
* *
* * Since: 1.0
*/ */
ClutterVertex * ClutterVertex *
clutter_vertex_new (gfloat x, clutter_vertex_new (gfloat x,
@ -83,7 +191,7 @@ clutter_vertex_new (gfloat x,
* Return value: (transfer full): the newly allocated #ClutterVertex. * Return value: (transfer full): the newly allocated #ClutterVertex.
* Use clutter_vertex_free() to free its resources * Use clutter_vertex_free() to free its resources
* *
* * Since: 1.12
*/ */
ClutterVertex * ClutterVertex *
clutter_vertex_alloc (void) clutter_vertex_alloc (void)
@ -102,7 +210,7 @@ clutter_vertex_alloc (void)
* *
* Return value: (transfer none): the initialized #ClutterVertex * Return value: (transfer none): the initialized #ClutterVertex
* *
* * Since: 1.10
*/ */
ClutterVertex * ClutterVertex *
clutter_vertex_init (ClutterVertex *vertex, clutter_vertex_init (ClutterVertex *vertex,
@ -128,7 +236,7 @@ clutter_vertex_init (ClutterVertex *vertex,
* Return value: (transfer full): a newly allocated copy of #ClutterVertex. * Return value: (transfer full): a newly allocated copy of #ClutterVertex.
* Use clutter_vertex_free() to free the allocated resources * Use clutter_vertex_free() to free the allocated resources
* *
* * Since: 1.0
*/ */
ClutterVertex * ClutterVertex *
clutter_vertex_copy (const ClutterVertex *vertex) 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 * Frees a #ClutterVertex allocated using clutter_vertex_alloc() or
* clutter_vertex_copy(). * clutter_vertex_copy().
* *
* * Since: 1.0
*/ */
void void
clutter_vertex_free (ClutterVertex *vertex) clutter_vertex_free (ClutterVertex *vertex)
@ -164,7 +272,7 @@ clutter_vertex_free (ClutterVertex *vertex)
* *
* Return value: %TRUE if the passed #ClutterVertex are equal * Return value: %TRUE if the passed #ClutterVertex are equal
* *
* * Since: 1.0
*/ */
gboolean gboolean
clutter_vertex_equal (const ClutterVertex *vertex_a, 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 * clutter_margin_free() to free the resources associated with it when
* done. * done.
* *
* * Since: 1.10
*/ */
ClutterMargin * ClutterMargin *
clutter_margin_new (void) clutter_margin_new (void)
@ -245,7 +353,7 @@ clutter_margin_new (void)
* *
* Return value: (transfer full): a copy of the #ClutterMargin. * Return value: (transfer full): a copy of the #ClutterMargin.
* *
* * Since: 1.10
*/ */
ClutterMargin * ClutterMargin *
clutter_margin_copy (const ClutterMargin *margin_) 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 * Frees the resources allocated by clutter_margin_new() and
* clutter_margin_copy(). * clutter_margin_copy().
* *
* * Since: 1.10
*/ */
void void
clutter_margin_free (ClutterMargin *margin_) 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 * Return value: a point centered in (0, 0); the returned #ClutterPoint
* is owned by Clutter and it should not be modified or freed. * is owned by Clutter and it should not be modified or freed.
* *
* * Since: 1.12
*/ */
const ClutterPoint * const ClutterPoint *
clutter_point_zero (void) clutter_point_zero (void)
@ -310,7 +418,7 @@ clutter_point_zero (void)
* Return value: (transfer full): the newly allocated #ClutterPoint. * Return value: (transfer full): the newly allocated #ClutterPoint.
* Use clutter_point_free() to free its resources. * Use clutter_point_free() to free its resources.
* *
* * Since: 1.12
*/ */
ClutterPoint * ClutterPoint *
clutter_point_alloc (void) clutter_point_alloc (void)
@ -328,7 +436,7 @@ clutter_point_alloc (void)
* *
* Return value: (transfer none): the initialized #ClutterPoint * Return value: (transfer none): the initialized #ClutterPoint
* *
* * Since: 1.12
*/ */
ClutterPoint * ClutterPoint *
clutter_point_init (ClutterPoint *point, clutter_point_init (ClutterPoint *point,
@ -352,7 +460,7 @@ clutter_point_init (ClutterPoint *point,
* Return value: (transfer full): a newly allocated #ClutterPoint. * Return value: (transfer full): a newly allocated #ClutterPoint.
* Use clutter_point_free() to free its resources. * Use clutter_point_free() to free its resources.
* *
* * Since: 1.12
*/ */
ClutterPoint * ClutterPoint *
clutter_point_copy (const ClutterPoint *point) clutter_point_copy (const ClutterPoint *point)
@ -366,7 +474,7 @@ clutter_point_copy (const ClutterPoint *point)
* *
* Frees the resources allocated for @point. * Frees the resources allocated for @point.
* *
* * Since: 1.12
*/ */
void void
clutter_point_free (ClutterPoint *point) clutter_point_free (ClutterPoint *point)
@ -384,7 +492,7 @@ clutter_point_free (ClutterPoint *point)
* *
* Return value: %TRUE if the #ClutterPoints are equal * Return value: %TRUE if the #ClutterPoints are equal
* *
* * Since: 1.12
*/ */
gboolean gboolean
clutter_point_equals (const ClutterPoint *a, clutter_point_equals (const ClutterPoint *a,
@ -413,7 +521,7 @@ clutter_point_equals (const ClutterPoint *a,
* *
* Return value: the distance between the points. * Return value: the distance between the points.
* *
* * Since: 1.12
*/ */
float float
clutter_point_distance (const ClutterPoint *a, 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. * Return value: (transfer full): the newly allocated #ClutterSize.
* Use clutter_size_free() to free its resources. * Use clutter_size_free() to free its resources.
* *
* * Since: 1.12
*/ */
ClutterSize * ClutterSize *
clutter_size_alloc (void) clutter_size_alloc (void)
@ -496,7 +604,7 @@ clutter_size_alloc (void)
* *
* Return value: (transfer none): the initialized #ClutterSize * Return value: (transfer none): the initialized #ClutterSize
* *
* * Since: 1.12
*/ */
ClutterSize * ClutterSize *
clutter_size_init (ClutterSize *size, clutter_size_init (ClutterSize *size,
@ -520,7 +628,7 @@ clutter_size_init (ClutterSize *size,
* Return value: (transfer full): the newly allocated #ClutterSize. * Return value: (transfer full): the newly allocated #ClutterSize.
* Use clutter_size_free() to free its resources. * Use clutter_size_free() to free its resources.
* *
* * Since: 1.12
*/ */
ClutterSize * ClutterSize *
clutter_size_copy (const ClutterSize *size) clutter_size_copy (const ClutterSize *size)
@ -534,7 +642,7 @@ clutter_size_copy (const ClutterSize *size)
* *
* Frees the resources allocated for @size. * Frees the resources allocated for @size.
* *
* * Since: 1.12
*/ */
void void
clutter_size_free (ClutterSize *size) clutter_size_free (ClutterSize *size)
@ -552,7 +660,7 @@ clutter_size_free (ClutterSize *size)
* *
* Return value: %TRUE if the two #ClutterSize are equal * Return value: %TRUE if the two #ClutterSize are equal
* *
* * Since: 1.12
*/ */
gboolean gboolean
clutter_size_equals (const ClutterSize *a, 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 * The returned #ClutterRect is owned by Clutter and it should not
* be modified or freed. * be modified or freed.
* *
* * Since: 1.12
*/ */
const ClutterRect * const ClutterRect *
clutter_rect_zero (void) clutter_rect_zero (void)
@ -667,7 +775,7 @@ clutter_rect_zero (void)
* Return value: (transfer full): the newly allocated #ClutterRect. * Return value: (transfer full): the newly allocated #ClutterRect.
* Use clutter_rect_free() to free its resources * Use clutter_rect_free() to free its resources
* *
* * Since: 1.12
*/ */
ClutterRect * ClutterRect *
clutter_rect_alloc (void) clutter_rect_alloc (void)
@ -687,7 +795,7 @@ clutter_rect_alloc (void)
* *
* Return value: (transfer none): the updated rectangle * Return value: (transfer none): the updated rectangle
* *
* * Since: 1.12
*/ */
ClutterRect * ClutterRect *
clutter_rect_init (ClutterRect *rect, clutter_rect_init (ClutterRect *rect,
@ -716,7 +824,7 @@ clutter_rect_init (ClutterRect *rect,
* Return value: (transfer full): the newly allocate copy of @rect. * Return value: (transfer full): the newly allocate copy of @rect.
* Use clutter_rect_free() to free the associated resources * Use clutter_rect_free() to free the associated resources
* *
* * Since: 1.12
*/ */
ClutterRect * ClutterRect *
clutter_rect_copy (const ClutterRect *rect) clutter_rect_copy (const ClutterRect *rect)
@ -740,7 +848,7 @@ clutter_rect_copy (const ClutterRect *rect)
* *
* Frees the resources allocated by @rect. * Frees the resources allocated by @rect.
* *
* * Since: 1.12
*/ */
void void
clutter_rect_free (ClutterRect *rect) 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. * Return value: %TRUE if the rectangles match in origin and size.
* *
* * Since: 1.12
*/ */
gboolean gboolean
clutter_rect_equals (ClutterRect *a, 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 * This function is useful to ensure that a rectangle has positive width
* and height; it will modify the passed @rect and normalize its size. * and height; it will modify the passed @rect and normalize its size.
* *
* * Since: 1.12
*/ */
ClutterRect * ClutterRect *
clutter_rect_normalize (ClutterRect *rect) clutter_rect_normalize (ClutterRect *rect)
@ -814,7 +922,7 @@ clutter_rect_normalize (ClutterRect *rect)
* Retrieves the center of @rect, after normalizing the rectangle, * Retrieves the center of @rect, after normalizing the rectangle,
* and updates @center with the correct coordinates. * and updates @center with the correct coordinates.
* *
* * Since: 1.12
*/ */
void void
clutter_rect_get_center (ClutterRect *rect, 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. * Return value: %TRUE if the @point is contained by @rect.
* *
* * Since: 1.12
*/ */
gboolean gboolean
clutter_rect_contains_point (ClutterRect *rect, 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. * Return value: %TRUE if the first rectangle contains the second.
* *
* * Since: 1.12
*/ */
gboolean gboolean
clutter_rect_contains_rect (ClutterRect *a, 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 * This function will normalize both @a and @b prior to computing their
* union. * union.
* *
* * Since: 1.12
*/ */
void void
clutter_rect_union (ClutterRect *a, 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 * Return value: %TRUE if the intersection of @a and @b is not empty
* *
* * Since: 1.12
*/ */
gboolean gboolean
clutter_rect_intersection (ClutterRect *a, 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 * Offsets the origin of @rect by the given values, after normalizing
* the rectangle. * the rectangle.
* *
* * Since: 1.12
*/ */
void void
clutter_rect_offset (ClutterRect *rect, 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 * If the resulting rectangle has a negative width or height, the size is
* set to 0. * set to 0.
* *
* * Since: 1.12
*/ */
void void
clutter_rect_inset (ClutterRect *rect, clutter_rect_inset (ClutterRect *rect,
@ -1049,7 +1157,7 @@ clutter_rect_inset (ClutterRect *rect,
* updated to the smallest rectangle capable of fully containing the * updated to the smallest rectangle capable of fully containing the
* original, fractional rectangle. * original, fractional rectangle.
* *
* * Since: 1.12
*/ */
void void
clutter_rect_clamp_to_pixel (ClutterRect *rect) 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 * Return value: the X coordinate of the origin of the rectangle
* *
* * Since: 1.12
*/ */
float float
clutter_rect_get_x (ClutterRect *rect) 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 * Return value: the Y coordinate of the origin of the rectangle
* *
* * Since: 1.12
*/ */
float float
clutter_rect_get_y (ClutterRect *rect) clutter_rect_get_y (ClutterRect *rect)
@ -1113,7 +1221,7 @@ clutter_rect_get_y (ClutterRect *rect)
* *
* Return value: the width of the rectangle * Return value: the width of the rectangle
* *
* * Since: 1.12
*/ */
float float
clutter_rect_get_width (ClutterRect *rect) clutter_rect_get_width (ClutterRect *rect)
@ -1133,7 +1241,7 @@ clutter_rect_get_width (ClutterRect *rect)
* *
* Return value: the height of the rectangle * Return value: the height of the rectangle
* *
* * Since: 1.12
*/ */
float float
clutter_rect_get_height (ClutterRect *rect) clutter_rect_get_height (ClutterRect *rect)
@ -1177,7 +1285,7 @@ clutter_rect_progress (const GValue *a,
* *
* It is identicaly to #CoglMatrix. * It is identicaly to #CoglMatrix.
* *
* * Since: 1.12
*/ */
static gpointer static gpointer
@ -1271,7 +1379,7 @@ G_DEFINE_BOXED_TYPE_WITH_CODE (ClutterMatrix, clutter_matrix,
* *
* Return value: (transfer full): the newly allocated #ClutterMatrix * Return value: (transfer full): the newly allocated #ClutterMatrix
* *
* * Since: 1.12
*/ */
ClutterMatrix * ClutterMatrix *
clutter_matrix_alloc (void) clutter_matrix_alloc (void)
@ -1285,7 +1393,7 @@ clutter_matrix_alloc (void)
* *
* Frees the memory allocated by clutter_matrix_alloc(). * Frees the memory allocated by clutter_matrix_alloc().
* *
* * Since: 1.12
*/ */
void void
clutter_matrix_free (ClutterMatrix *matrix) clutter_matrix_free (ClutterMatrix *matrix)
@ -1308,7 +1416,7 @@ clutter_matrix_free (ClutterMatrix *matrix)
* *
* Return value: (transfer none): the initialized #ClutterMatrix * Return value: (transfer none): the initialized #ClutterMatrix
* *
* * Since: 1.12
*/ */
ClutterMatrix * ClutterMatrix *
clutter_matrix_init_identity (ClutterMatrix *matrix) clutter_matrix_init_identity (ClutterMatrix *matrix)
@ -1329,7 +1437,7 @@ clutter_matrix_init_identity (ClutterMatrix *matrix)
* *
* Return value: (transfer none): the initialzed #ClutterMatrix * Return value: (transfer none): the initialzed #ClutterMatrix
* *
* * Since: 1.12
*/ */
ClutterMatrix * ClutterMatrix *
clutter_matrix_init_from_array (ClutterMatrix *matrix, 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 * Return value: (transfer none): the initialized #ClutterMatrix
* *
* * Since: 1.12
*/ */
ClutterMatrix * ClutterMatrix *
clutter_matrix_init_from_matrix (ClutterMatrix *a, clutter_matrix_init_from_matrix (ClutterMatrix *a,

View File

@ -6,7 +6,6 @@
* Authored By Tomas Frydrych <tf@openedhand.com> * Authored By Tomas Frydrych <tf@openedhand.com>
* *
* Copyright (C) 2007 OpenedHand * 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 * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public * 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/>. * License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include <string.h>
#include <math.h>
#include <glib.h> #include <glib.h>
#include <string.h>
#include "clutter-bezier.h" #include "clutter-bezier.h"
#include "clutter-debug.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) * * (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_Q 18
#define CBZ_T_STEP (1.0 / CBZ_T_SAMPLES) #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 * This is a private type representing a single cubic bezier
*/ */
struct _ClutterBezier struct _ClutterBezier
{ {
/* bezier coefficients */ /*
gfloat ax; * bezier coefficients -- these are calculated using multiplication and
gfloat bx; * addition from integer input, so these are also integers
gfloat cx; */
gfloat dx; gint ax;
gint bx;
gint cx;
gint dx;
gfloat ay; gint ay;
gfloat by; gint by;
gfloat cy; gint cy;
gfloat dy; gint dy;
/* length of the bezier */ /* 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 * ClutterBezier *
_clutter_bezier_new (void) _clutter_bezier_new (void)
{ {
return g_slice_new0 (ClutterBezier); return g_slice_new0 (ClutterBezier);
} }
/*
* _clutter_bezier_free:
* @b: The bezier to free
*
* Free the object
*/
void void
_clutter_bezier_free (ClutterBezier * b) _clutter_bezier_free (ClutterBezier * b)
{ {
if (G_LIKELY (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 * ClutterBezier *
_clutter_bezier_clone_and_move (const ClutterBezier *b, _clutter_bezier_clone_and_move (const ClutterBezier *b, gint x, gint y)
gfloat x,
gfloat y)
{ {
ClutterBezier * b2 = _clutter_bezier_new (); ClutterBezier * b2 = _clutter_bezier_new ();
memcpy (b2, b, sizeof (ClutterBezier)); memcpy (b2, b, sizeof (ClutterBezier));
@ -131,124 +122,294 @@ _clutter_bezier_clone_and_move (const ClutterBezier *b,
return b2; return b2;
} }
#ifdef CBZ_L2T_INTERPOLATION
/* /*
* _clutter_bezier_advance: * L is relative advance along the bezier curve from interval <0,1>
* @b: A #ClutterBezier */
* @L: A relative length static _FixedT
* @knot: The point whith the calculated position _clutter_bezier_L2t (const ClutterBezier *b, _FixedT L)
* {
* Advances along the bezier @b to relative length @L and returns the coordinances _FixedT t = CBZ_T_MUL (b->La, CBZ_T_POW3(L))
* in @knot + 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
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;
}
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;
}
/*
* Advances along the bezier to relative length L and returns the coordinances
* in knot
*/ */
void void
_clutter_bezier_advance (const ClutterBezier *b, _clutter_bezier_advance (const ClutterBezier *b, gint L, ClutterKnot * knot)
gfloat L,
ClutterPoint *knot)
{ {
gfloat t; #ifdef CBZ_L2T_INTERPOLATION
t = L; _FixedT t = clutter_bezier_L2t (b, L);
#else
_FixedT t = L;
#endif
knot->x = _clutter_bezier_t2x (b, t); knot->x = _clutter_bezier_t2x (b, t);
knot->y = _clutter_bezier_t2y (b, t); knot->y = _clutter_bezier_t2y (b, t);
CLUTTER_NOTE (MISC, CLUTTER_NOTE (MISC, "advancing to relative pt %f: t %f, {%d,%d}",
"advancing to relative point {%d,%d} by moving a distance equals to: %f, with t: %f", (double) L / (double) CBZ_T_ONE,
knot->x, knot->y, L, t); (double) t / (double) CBZ_T_ONE,
knot->x, knot->y);
} }
/*
* _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.
*/
void void
_clutter_bezier_init (ClutterBezier *b, _clutter_bezier_init (ClutterBezier *b,
gfloat x_0, gint x_0, gint y_0,
gfloat y_0, gint x_1, gint y_1,
gfloat x_1, gint x_2, gint y_2,
gfloat y_1, gint x_3, gint y_3)
gfloat x_2,
gfloat y_2,
gfloat x_3,
gfloat y_3)
{ {
gfloat t; _FixedT t;
gint i; int i;
int xp = x_0;
int yp = y_0;
_FixedT length [CBZ_T_SAMPLES + 1];
gfloat xp; #ifdef CBZ_L2T_INTERPOLATION
gfloat yp; int j, k;
_FixedT L;
_FixedT t_equalized [CBZ_T_SAMPLES + 1];
#endif
CLUTTER_NOTE (MISC, #if 0
"Initializing bezier at {{%f,%f},{%f,%f},{%f,%f},{%f,%f}}", g_debug ("Initializing bezier at {{%d,%d},{%d,%d},{%d,%d},{%d,%d}}",
x_0, y_0, x_1, y_1, x_2, y_2, x_3, y_3); x0, y0, x1, y1, x2, y2, x3, y3);
#endif
b->ax = x_0; b->dx = x_0;
b->ay = y_0; b->dy = 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;
CLUTTER_NOTE (MISC, b->cx = 3 * (x_1 - x_0);
"Coefficients {{%f,%f},{%f,%f},{%f,%f},{%f,%f}}", b->cy = 3 * (y_1 - y_0);
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); 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;
xp = b->ax;
yp = b->ay;
for (t = CBZ_T_STEP, i = 1; i <= CBZ_T_SAMPLES; ++i, t += CBZ_T_STEP) for (t = CBZ_T_STEP, i = 1; i <= CBZ_T_SAMPLES; ++i, t += CBZ_T_STEP)
{ {
gfloat x = _clutter_bezier_t2x (b, t); int x = _clutter_bezier_t2x (b, t);
gfloat y = _clutter_bezier_t2y (b, t); int y = _clutter_bezier_t2y (b, t);
b->length += sqrtf ((y - yp)*(y - yp) + (x - xp)*(x - xp)); guint l = cogl_sqrti ((y - yp)*(y - yp) + (x - xp)*(x - xp));
l += length[i-1];
length[i] = l;
xp = x; xp = x;
yp = y; 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;
} }
/* /*
* _clutter_bezier_adjust: * Now generate a L -> t table such that the L will equidistant
* @b: A #ClutterBezier object * over <0,1>
* @knot: The new position of the control point */
@ @indx: The index of the control point you want to move. 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
* *
* Moves a control point at index @indx to location represented by @knot * 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
}
/*
* Moves a control point at indx to location represented by knot
*/ */
void void
_clutter_bezier_adjust (ClutterBezier *b, _clutter_bezier_adjust (ClutterBezier * b, ClutterKnot * knot, guint indx)
ClutterPoint *knot,
guint indx)
{ {
gfloat x[4], y[4]; guint x[4], y[4];
g_assert (indx < 4); g_assert (indx < 4);
x[0] = b->ax; x[0] = b->dx;
y[0] = b->ay; y[0] = b->dy;
x[1] = b->bx; x[1] = b->cx / 3 + x[0];
y[1] = b->by; y[1] = b->cy / 3 + y[0];
x[2] = b->cx; x[2] = b->bx / 3 + b->cx + x[1];
y[2] = b->cy; y[2] = b->by / 3 + b->cy + y[1];
x[3] = b->dx; x[3] = b->ax + x[0] + b->cx + b->bx;
y[3] = b->dy; y[3] = b->ay + y[0] + b->cy + b->by;
x[indx] = knot->x; x[indx] = knot->x;
y[indx] = knot->y; 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_init (b, x[0], y[0], x[1], y[1], x[2], y[2], x[3], y[3]);
} }
/* guint
* _clutter_bezier_get_length:
* @b: A #ClutterBezier
*
* Return value: Returns the length of the bezier
*/
gfloat
_clutter_bezier_get_length (const ClutterBezier *b) _clutter_bezier_get_length (const ClutterBezier *b)
{ {
return b->length; return b->length;

View File

@ -6,7 +6,6 @@
* Authored By Tomas Frydrych <tf@openedhand.com> * Authored By Tomas Frydrych <tf@openedhand.com>
* *
* Copyright (C) 2006, 2007 OpenedHand * 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 * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public * modify it under the terms of the GNU Lesser General Public
@ -30,6 +29,11 @@
G_BEGIN_DECLS 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; typedef struct _ClutterBezier ClutterBezier;
ClutterBezier *_clutter_bezier_new (); ClutterBezier *_clutter_bezier_new ();
@ -37,28 +41,24 @@ 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, ClutterBezier *_clutter_bezier_clone_and_move (const ClutterBezier *b,
gfloat x, gint x,
gfloat y); gint y);
void _clutter_bezier_advance (const ClutterBezier *b, void _clutter_bezier_advance (const ClutterBezier *b,
gfloat L, gint L,
ClutterPoint *knot); ClutterKnot *knot);
void _clutter_bezier_init (ClutterBezier *b, void _clutter_bezier_init (ClutterBezier *b,
gfloat x_0, gint x_0, gint y_0,
gfloat y_0, gint x_1, gint y_1,
gfloat x_1, gint x_2, gint y_2,
gfloat y_1, gint x_3, gint y_3);
gfloat x_2,
gfloat y_2,
gfloat x_3,
gfloat y_3);
void _clutter_bezier_adjust (ClutterBezier *b, void _clutter_bezier_adjust (ClutterBezier *b,
ClutterPoint *knot, ClutterKnot *knot,
guint indx); guint indx);
gfloat _clutter_bezier_get_length (const ClutterBezier *b); guint _clutter_bezier_get_length (const ClutterBezier *b);
G_END_DECLS G_END_DECLS

View File

@ -67,25 +67,245 @@
#include <math.h> #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-actor-private.h"
#include "clutter-animatable.h" #include "clutter-animatable.h"
#include "clutter-bin-layout.h"
#include "clutter-child-meta.h" #include "clutter-child-meta.h"
#include "clutter-debug.h" #include "clutter-debug.h"
#include "clutter-enum-types.h" #include "clutter-enum-types.h"
#include "clutter-layout-meta.h" #include "clutter-layout-meta.h"
#include "clutter-private.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)) #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; typedef struct _ClutterLayoutMetaClass ClutterBinLayerClass;
struct _ClutterBinLayoutPrivate struct _ClutterBinLayoutPrivate
{ {
ClutterBinAlignment x_align;
ClutterBinAlignment y_align;
ClutterContainer *container; 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 static void
clutter_bin_layout_get_preferred_width (ClutterLayoutManager *manager, 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; *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 static void
clutter_bin_layout_allocate (ClutterLayoutManager *manager, clutter_bin_layout_allocate (ClutterLayoutManager *manager,
ClutterContainer *container, ClutterContainer *container,
@ -180,13 +444,21 @@ clutter_bin_layout_allocate (ClutterLayoutManager *manager,
clutter_actor_iter_init (&iter, actor); clutter_actor_iter_init (&iter, actor);
while (clutter_actor_iter_next (&iter, &child)) while (clutter_actor_iter_next (&iter, &child))
{ {
ClutterLayoutMeta *meta;
ClutterBinLayer *layer;
ClutterActorBox child_alloc = { 0, }; 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; float fixed_x, fixed_y;
if (!CLUTTER_ACTOR_IS_VISIBLE (child)) if (!CLUTTER_ACTOR_IS_VISIBLE (child))
continue; continue;
meta = clutter_layout_manager_get_child_meta (manager,
container,
child);
layer = CLUTTER_BIN_LAYER (meta);
fixed_x = fixed_y = 0.f; fixed_x = fixed_y = 0.f;
g_object_get (child, g_object_get (child,
"fixed-position-set", &is_fixed_position_set, "fixed-position-set", &is_fixed_position_set,
@ -194,22 +466,104 @@ clutter_bin_layout_allocate (ClutterLayoutManager *manager,
"fixed-y", &fixed_y, "fixed-y", &fixed_y,
NULL); 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)
{ {
if (is_fixed_position_set)
child_alloc.x1 = fixed_x; child_alloc.x1 = fixed_x;
child_alloc.y1 = fixed_y; else
child_alloc.x1 = clutter_actor_get_x (child);
} }
else else
{
child_alloc.x1 = allocation_x; child_alloc.x1 = allocation_x;
child_alloc.y1 = allocation_y;
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.x2 = available_w;
child_alloc.y2 = available_h; 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 static void
@ -226,17 +580,114 @@ clutter_bin_layout_set_container (ClutterLayoutManager *manager,
parent_class->set_container (manager, container); 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 static void
clutter_bin_layout_class_init (ClutterBinLayoutClass *klass) clutter_bin_layout_class_init (ClutterBinLayoutClass *klass)
{ {
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
ClutterLayoutManagerClass *layout_class = ClutterLayoutManagerClass *layout_class =
CLUTTER_LAYOUT_MANAGER_CLASS (klass); CLUTTER_LAYOUT_MANAGER_CLASS (klass);
g_type_class_add_private (klass, sizeof (ClutterBinLayoutPrivate)); 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_width = clutter_bin_layout_get_preferred_width;
layout_class->get_preferred_height = clutter_bin_layout_get_preferred_height; layout_class->get_preferred_height = clutter_bin_layout_get_preferred_height;
layout_class->allocate = clutter_bin_layout_allocate; 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; layout_class->set_container = clutter_bin_layout_set_container;
} }
@ -244,17 +695,214 @@ static void
clutter_bin_layout_init (ClutterBinLayout *self) clutter_bin_layout_init (ClutterBinLayout *self)
{ {
self->priv = CLUTTER_BIN_LAYOUT_GET_PRIVATE (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: * 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 * Creates a new #ClutterBinLayout layout manager
* *
* Return value: the newly created layout manager * Return value: the newly created layout manager
*
* Since: 1.2
*/ */
ClutterLayoutManager * 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 * The #ClutterBinLayout structure contains only private data
* and should be accessed using the provided API * and should be accessed using the provided API
* *
* * Since: 1.2
*/ */
struct _ClutterBinLayout struct _ClutterBinLayout
{ {
@ -66,7 +66,7 @@ struct _ClutterBinLayout
* The #ClutterBinLayoutClass structure contains only private * The #ClutterBinLayoutClass structure contains only private
* data and should be accessed using the provided API * data and should be accessed using the provided API
* *
* * Since: 1.2
*/ */
struct _ClutterBinLayoutClass struct _ClutterBinLayoutClass
{ {
@ -76,7 +76,8 @@ struct _ClutterBinLayoutClass
GType clutter_bin_layout_get_type (void) G_GNUC_CONST; 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 G_END_DECLS

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -43,7 +43,7 @@ G_BEGIN_DECLS
* <structname>ClutterBlurEffect</structname> is an opaque structure * <structname>ClutterBlurEffect</structname> is an opaque structure
* whose members cannot be accessed directly * whose members cannot be accessed directly
* *
* * Since: 1.4
*/ */
typedef struct _ClutterBlurEffect ClutterBlurEffect; typedef struct _ClutterBlurEffect ClutterBlurEffect;
typedef struct _ClutterBlurEffectClass ClutterBlurEffectClass; 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 * The #ClutterBoxLayout structure contains only private data
* and should be accessed using the provided API * and should be accessed using the provided API
* *
* * Since: 1.2
*/ */
struct _ClutterBoxLayout struct _ClutterBoxLayout
{ {
@ -69,7 +69,7 @@ struct _ClutterBoxLayout
* The #ClutterBoxLayoutClass structure contains only private * The #ClutterBoxLayoutClass structure contains only private
* data and should be accessed using the provided API * data and should be accessed using the provided API
* *
* * Since: 1.2
*/ */
struct _ClutterBoxLayoutClass struct _ClutterBoxLayoutClass
{ {
@ -81,10 +81,10 @@ GType clutter_box_layout_get_type (void) G_GNUC_CONST;
ClutterLayoutManager * clutter_box_layout_new (void); ClutterLayoutManager * clutter_box_layout_new (void);
CLUTTER_AVAILABLE_IN_1_12
void clutter_box_layout_set_orientation (ClutterBoxLayout *layout, void clutter_box_layout_set_orientation (ClutterBoxLayout *layout,
ClutterOrientation orientation); ClutterOrientation orientation);
CLUTTER_AVAILABLE_IN_1_12
ClutterOrientation clutter_box_layout_get_orientation (ClutterBoxLayout *layout); ClutterOrientation clutter_box_layout_get_orientation (ClutterBoxLayout *layout);
void clutter_box_layout_set_spacing (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 pack_start);
gboolean clutter_box_layout_get_pack_start (ClutterBoxLayout *layout); 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 G_END_DECLS
#endif /* __CLUTTER_BOX_LAYOUT_H__ */ #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 * in brightness, and values larger than 127 indicate an increase in
* brightness. * brightness.
* *
* * Since: 1.10
*/ */
obj_props[PROP_BRIGHTNESS] = obj_props[PROP_BRIGHTNESS] =
clutter_param_spec_color ("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 * in contrast, and values larger than 127 indicate an increase in
* contrast. * contrast.
* *
* * Since: 1.10
*/ */
obj_props[PROP_CONTRAST] = obj_props[PROP_CONTRAST] =
clutter_param_spec_color ("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 * #ClutterBrightnessContrastEffect or %NULL. Use g_object_unref() when
* done. * done.
* *
* * Since: 1.10
*/ */
ClutterEffect * ClutterEffect *
clutter_brightness_contrast_effect_new (void) 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 * values below 0.0 mean a decrease in brightness, and values above indicate
* an increase. * an increase.
* *
* * Since: 1.10
*/ */
void void
clutter_brightness_contrast_effect_set_brightness_full (ClutterBrightnessContrastEffect *effect, 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. * Retrieves the change in brightness used by @effect.
* *
* * Since: 1.10
*/ */
void void
clutter_brightness_contrast_effect_get_brightness (ClutterBrightnessContrastEffect *effect, 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 * a value below 0.0 indicates a decrease in brightness; and a value
* above 0.0 indicates an increase of brightness. * above 0.0 indicates an increase of brightness.
* *
* * Since: 1.10
*/ */
void void
clutter_brightness_contrast_effect_set_brightness (ClutterBrightnessContrastEffect *effect, 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 * values below 0.0 mean a decrease in contrast, and values above indicate
* an increase. * an increase.
* *
* * Since: 1.10
*/ */
void void
clutter_brightness_contrast_effect_set_contrast_full (ClutterBrightnessContrastEffect *effect, 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. * Retrieves the contrast value used by @effect.
* *
* * Since: 1.10
*/ */
void void
clutter_brightness_contrast_effect_get_contrast (ClutterBrightnessContrastEffect *effect, 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 * a value below 0.0 indicates a decrease in contrast; and a value above
* 0.0 indicates an increase. * 0.0 indicates an increase.
* *
* * Since: 1.10
*/ */
void void
clutter_brightness_contrast_effect_set_contrast (ClutterBrightnessContrastEffect *effect, clutter_brightness_contrast_effect_set_contrast (ClutterBrightnessContrastEffect *effect,

View File

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

View File

@ -50,7 +50,7 @@
* color->alpha / 255.0); * color->alpha / 255.0);
* ]| * ]|
* *
* * Since: 1.0
*/ */
void void
clutter_cairo_set_source_color (cairo_t *cr, 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. * Utility function to clear a Cairo context.
* *
* * Since: 1.12
*/ */
void void
clutter_cairo_clear (cairo_t *cr) 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 * and to a Cairo image surface using %CAIRO_FORMAT_ARGB32 and
* %CAIRO_FORMAT_RGB24 as #cairo_format_t. * %CAIRO_FORMAT_RGB24 as #cairo_format_t.
* *
* * Since: 1.8
*/ */
/* Cairo stores the data in native byte order as ARGB but Cogl's pixel /* 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 width;
int height; int height;
CoglTexture *texture;
gboolean dirty;
CoglBitmap *buffer; CoglBitmap *buffer;
}; };
@ -140,8 +137,6 @@ clutter_canvas_finalize (GObject *gobject)
priv->buffer = NULL; priv->buffer = NULL;
} }
g_clear_pointer (&priv->texture, cogl_object_unref);
G_OBJECT_CLASS (clutter_canvas_parent_class)->finalize (gobject); G_OBJECT_CLASS (clutter_canvas_parent_class)->finalize (gobject);
} }
@ -213,7 +208,7 @@ clutter_canvas_class_init (ClutterCanvasClass *klass)
* *
* The width of the canvas. * The width of the canvas.
* *
* * Since: 1.10
*/ */
obj_props[PROP_WIDTH] = obj_props[PROP_WIDTH] =
g_param_spec_int ("width", g_param_spec_int ("width",
@ -229,7 +224,7 @@ clutter_canvas_class_init (ClutterCanvasClass *klass)
* *
* The height of the canvas. * The height of the canvas.
* *
* * Since: 1.10
*/ */
obj_props[PROP_HEIGHT] = obj_props[PROP_HEIGHT] =
g_param_spec_int ("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 * Return value: %TRUE if the signal emission should stop, and
* %FALSE otherwise * %FALSE otherwise
* *
* * Since: 1.10
*/ */
canvas_signals[DRAW] = canvas_signals[DRAW] =
g_signal_new (I_("draw"), g_signal_new (I_("draw"),
@ -294,26 +289,21 @@ clutter_canvas_paint_content (ClutterContent *content,
ClutterPaintNode *root) ClutterPaintNode *root)
{ {
ClutterCanvas *self = CLUTTER_CANVAS (content); ClutterCanvas *self = CLUTTER_CANVAS (content);
ClutterCanvasPrivate *priv = self->priv;
ClutterPaintNode *node; ClutterPaintNode *node;
CoglTexture *texture;
ClutterActorBox box; ClutterActorBox box;
ClutterColor color; ClutterColor color;
guint8 paint_opacity; guint8 paint_opacity;
ClutterScalingFilter min_f, mag_f; ClutterScalingFilter min_f, mag_f;
ClutterContentRepeat repeat; ClutterContentRepeat repeat;
if (priv->buffer == NULL) if (self->priv->buffer == NULL)
return; return;
if (priv->texture && priv->dirty) texture = cogl_texture_new_from_bitmap (self->priv->buffer,
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, COGL_TEXTURE_NO_SLICING,
CLUTTER_CAIRO_FORMAT_ARGB32); CLUTTER_CAIRO_FORMAT_ARGB32);
if (texture == NULL)
if (priv->texture == NULL)
return; return;
clutter_actor_get_content_box (actor, &box); clutter_actor_get_content_box (actor, &box);
@ -326,7 +316,8 @@ clutter_canvas_paint_content (ClutterContent *content,
color.blue = paint_opacity; color.blue = paint_opacity;
color.alpha = 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"); 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; float t_w = 1.f, t_h = 1.f;
if ((repeat & CLUTTER_REPEAT_X_AXIS) != FALSE) 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) 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, clutter_paint_node_add_texture_rectangle (node, &box,
0.f, 0.f, 0.f, 0.f,
@ -349,8 +340,6 @@ clutter_canvas_paint_content (ClutterContent *content,
clutter_paint_node_add_child (root, node); clutter_paint_node_add_child (root, node);
clutter_paint_node_unref (node); clutter_paint_node_unref (node);
priv->dirty = FALSE;
} }
static void static void
@ -366,8 +355,6 @@ clutter_canvas_emit_draw (ClutterCanvas *self)
g_assert (priv->width > 0 && priv->width > 0); g_assert (priv->width > 0 && priv->width > 0);
priv->dirty = TRUE;
if (priv->buffer == NULL) if (priv->buffer == NULL)
{ {
CoglContext *ctx; CoglContext *ctx;
@ -499,7 +486,7 @@ clutter_content_iface_init (ClutterContentIface *iface)
* Return value: (transfer full): The newly allocated instance of * Return value: (transfer full): The newly allocated instance of
* #ClutterCanvas. Use g_object_unref() when done. * #ClutterCanvas. Use g_object_unref() when done.
* *
* * Since: 1.10
*/ */
ClutterContent * ClutterContent *
clutter_canvas_new (void) clutter_canvas_new (void)
@ -517,7 +504,7 @@ clutter_canvas_new (void)
* *
* This function will cause the @canvas to be invalidated. * This function will cause the @canvas to be invalidated.
* *
* * Since: 1.10
*/ */
void void
clutter_canvas_set_size (ClutterCanvas *canvas, 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 * private data and should only be accessed using the provided
* API. * API.
* *
* * Since: 1.10
*/ */
struct _ClutterCanvas struct _ClutterCanvas
{ {
@ -68,7 +68,7 @@ struct _ClutterCanvas
* The <structname>ClutterCanvasClass</structname> structure contains * The <structname>ClutterCanvasClass</structname> structure contains
* private data. * private data.
* *
* * Since: 1.10
*/ */
struct _ClutterCanvasClass struct _ClutterCanvasClass
{ {
@ -85,12 +85,12 @@ struct _ClutterCanvasClass
gpointer _padding[16]; gpointer _padding[16];
}; };
CLUTTER_AVAILABLE_IN_1_10
GType clutter_canvas_get_type (void) G_GNUC_CONST; GType clutter_canvas_get_type (void) G_GNUC_CONST;
CLUTTER_AVAILABLE_IN_1_10
ClutterContent * clutter_canvas_new (void); ClutterContent * clutter_canvas_new (void);
CLUTTER_AVAILABLE_IN_1_10
void clutter_canvas_set_size (ClutterCanvas *canvas, void clutter_canvas_set_size (ClutterCanvas *canvas,
int width, int width,
int height); int height);

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -49,7 +49,7 @@ typedef struct _ClutterClonePrivate ClutterClonePrivate;
* The #ClutterClone structure contains only private data * The #ClutterClone structure contains only private data
* and should be accessed using the provided API * and should be accessed using the provided API
* *
* * Since: 1.0
*/ */
struct _ClutterClone struct _ClutterClone
{ {
@ -64,7 +64,7 @@ struct _ClutterClone
* *
* The #ClutterCloneClass structure contains only private data * The #ClutterCloneClass structure contains only private data
* *
* * Since: 1.0
*/ */
struct _ClutterCloneClass 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 * Return value: a pointer to a static color; the returned pointer
* is owned by Clutter and it should never be modified or freed * is owned by Clutter and it should never be modified or freed
* *
* * Since: 1.6
*/ */
const ClutterColor * const ClutterColor *
clutter_color_get_static (ClutterStaticColor color) clutter_color_get_static (ClutterStaticColor color)
@ -669,7 +669,7 @@ parse_hsla (ClutterColor *color,
* *
* Return value: %TRUE if parsing succeeded, and %FALSE otherwise * Return value: %TRUE if parsing succeeded, and %FALSE otherwise
* *
* * Since: 1.0
*/ */
gboolean gboolean
clutter_color_from_string (ClutterColor *color, 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 * Return value: (transfer full): a newly-allocated text string
* *
* * Since: 0.2
*/ */
gchar * gchar *
clutter_color_to_string (const ClutterColor *color) 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. * Return value: %TRUE if the two colors are the same.
* *
* * Since: 0.2
*/ */
gboolean gboolean
clutter_color_equal (gconstpointer v1, clutter_color_equal (gconstpointer v1,
@ -863,7 +863,7 @@ clutter_color_equal (gconstpointer v1,
* *
* Return value: a hash value corresponding to the color * Return value: a hash value corresponding to the color
* *
* * Since: 1.0
*/ */
guint guint
clutter_color_hash (gconstpointer v) clutter_color_hash (gconstpointer v)
@ -881,7 +881,7 @@ clutter_color_hash (gconstpointer v)
* Interpolates between @initial and @final #ClutterColor<!-- -->s * Interpolates between @initial and @final #ClutterColor<!-- -->s
* using @progress * using @progress
* *
* * Since: 1.6
*/ */
void void
clutter_color_interpolate (const ClutterColor *initial, 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. * Return value: (transfer full): an allocated copy of @color.
* *
* * Since: 0.2
*/ */
ClutterColor * ClutterColor *
clutter_color_copy (const ClutterColor *color) 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(). * Frees a color structure created with clutter_color_copy().
* *
* * Since: 0.2
*/ */
void void
clutter_color_free (ClutterColor *color) clutter_color_free (ClutterColor *color)
@ -968,7 +968,7 @@ clutter_color_free (ClutterColor *color)
* Return value: (transfer full): the newly allocated color. * Return value: (transfer full): the newly allocated color.
* Use clutter_color_free() when done * Use clutter_color_free() when done
* *
* * Since: 0.8.4
*/ */
ClutterColor * ClutterColor *
clutter_color_new (guint8 red, clutter_color_new (guint8 red,
@ -991,7 +991,7 @@ clutter_color_new (guint8 red,
* Return value: (transfer full): the newly allocated #ClutterColor; use * Return value: (transfer full): the newly allocated #ClutterColor; use
* clutter_color_free() to free its resources * clutter_color_free() to free its resources
* *
* * Since: 1.12
*/ */
ClutterColor * ClutterColor *
clutter_color_alloc (void) clutter_color_alloc (void)
@ -1011,7 +1011,7 @@ clutter_color_alloc (void)
* *
* Return value: (transfer none): the initialized #ClutterColor * Return value: (transfer none): the initialized #ClutterColor
* *
* * Since: 1.12
*/ */
ClutterColor * ClutterColor *
clutter_color_init (ClutterColor *color, clutter_color_init (ClutterColor *color,
@ -1078,7 +1078,7 @@ G_DEFINE_BOXED_TYPE_WITH_CODE (ClutterColor, clutter_color,
* *
* Sets @value to @color. * Sets @value to @color.
* *
* * Since: 0.8.4
*/ */
void void
clutter_value_set_color (GValue *value, 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 * Return value: (transfer none): the color inside the passed #GValue
* *
* * Since: 0.8.4
*/ */
const ClutterColor * const ClutterColor *
clutter_value_get_color (const GValue *value) clutter_value_get_color (const GValue *value)
@ -1192,7 +1192,7 @@ clutter_param_color_get_type (void)
* *
* Return value: the newly created #GParamSpec * Return value: the newly created #GParamSpec
* *
* * Since: 0.8.4
*/ */
GParamSpec * GParamSpec *
clutter_param_spec_color (const gchar *name, 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. * 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) } #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<!-- -->. * Evaluates to %TRUE if @x holds a #ClutterColor<!-- -->.
* *
* * Since: 1.0
*/ */
#define CLUTTER_VALUE_HOLDS_COLOR(x) (G_VALUE_HOLDS ((x), CLUTTER_TYPE_COLOR)) #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 #GParamSpec subclass for defining properties holding
* a #ClutterColor. * a #ClutterColor.
* *
* * Since: 1.0
*/ */
struct _ClutterParamSpecColor struct _ClutterParamSpecColor
{ {

View File

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

View File

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

View File

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

View File

@ -34,14 +34,34 @@
#include <glib-object.h> #include <glib-object.h>
#include <gobject/gvaluecollector.h> #include <gobject/gvaluecollector.h>
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
#include "deprecated/clutter-container.h"
#include "clutter-actor-private.h" #include "clutter-actor-private.h"
#include "clutter-child-meta.h" #include "clutter-child-meta.h"
#include "clutter-container.h"
#include "clutter-debug.h" #include "clutter-debug.h"
#include "clutter-enum-types.h"
#include "clutter-main.h" #include "clutter-main.h"
#include "clutter-marshal.h" #include "clutter-marshal.h"
#include "clutter-private.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 * SECTION:clutter-container
@ -51,6 +71,13 @@
* it provides some common API for notifying when a child actor is added * it provides some common API for notifying when a child actor is added
* or removed, as well as the infrastructure for accessing child properties * or removed, as well as the infrastructure for accessing child properties
* through #ClutterChildMeta. * 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 enum
@ -77,7 +104,77 @@ static void child_notify (ClutterContainer *container,
typedef ClutterContainerIface ClutterContainerInterface; 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 static void
clutter_container_default_init (ClutterContainerInterface *iface) clutter_container_default_init (ClutterContainerInterface *iface)
@ -85,7 +182,7 @@ clutter_container_default_init (ClutterContainerInterface *iface)
GType iface_type = G_TYPE_FROM_INTERFACE (iface); GType iface_type = G_TYPE_FROM_INTERFACE (iface);
quark_child_meta = quark_child_meta =
g_quark_from_static_string ("-clutter-container-child-data"); g_quark_from_static_string ("clutter-container-child-data");
/** /**
* ClutterContainer::actor-added: * ClutterContainer::actor-added:
@ -95,7 +192,7 @@ clutter_container_default_init (ClutterContainerInterface *iface)
* The ::actor-added signal is emitted each time an actor * The ::actor-added signal is emitted each time an actor
* has been added to @container. * has been added to @container.
* *
* * Since: 0.4
*/ */
container_signals[ACTOR_ADDED] = container_signals[ACTOR_ADDED] =
g_signal_new (I_("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 * The ::actor-removed signal is emitted each time an actor
* is removed from @container. * is removed from @container.
* *
* * Since: 0.4
*/ */
container_signals[ACTOR_REMOVED] = container_signals[ACTOR_REMOVED] =
g_signal_new (I_("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 * being set through the clutter_container_child_set() and
* clutter_container_child_set_property() calls. * clutter_container_child_set_property() calls.
* *
* * Since: 0.8
*/ */
container_signals[CHILD_NOTIFY] = container_signals[CHILD_NOTIFY] =
g_signal_new (I_("child-notify"), g_signal_new (I_("child-notify"),
@ -148,6 +245,13 @@ clutter_container_default_init (ClutterContainerInterface *iface)
G_TYPE_NONE, 2, G_TYPE_NONE, 2,
CLUTTER_TYPE_ACTOR, G_TYPE_PARAM); 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->child_meta_type = G_TYPE_INVALID;
iface->create_child_meta = create_child_meta; iface->create_child_meta = create_child_meta;
iface->destroy_child_meta = destroy_child_meta; iface->destroy_child_meta = destroy_child_meta;
@ -155,6 +259,651 @@ clutter_container_default_init (ClutterContainerInterface *iface)
iface->child_notify = child_notify; 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 * static ClutterChildMeta *
get_child_meta (ClutterContainer *container, get_child_meta (ClutterContainer *container,
ClutterActor *actor) ClutterActor *actor)
@ -223,7 +972,7 @@ destroy_child_meta (ClutterContainer *container,
* of @container or %NULL if the specifiec actor does not exist or the * of @container or %NULL if the specifiec actor does not exist or the
* container is not configured to provide #ClutterChildMeta<!-- -->s * container is not configured to provide #ClutterChildMeta<!-- -->s
* *
* * Since: 0.8
*/ */
ClutterChildMeta * ClutterChildMeta *
clutter_container_get_child_meta (ClutterContainer *container, clutter_container_get_child_meta (ClutterContainer *container,
@ -255,7 +1004,7 @@ clutter_container_get_child_meta (ClutterContainer *container,
* *
* Applications should not call this function. * Applications should not call this function.
* *
* * Since: 1.2
*/ */
void void
clutter_container_create_child_meta (ClutterContainer *container, clutter_container_create_child_meta (ClutterContainer *container,
@ -291,7 +1040,7 @@ clutter_container_create_child_meta (ClutterContainer *container,
* *
* Applications should not call this function. * Applications should not call this function.
* *
* * Since: 1.2
*/ */
void void
clutter_container_destroy_child_meta (ClutterContainer *container, 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 * Return value: (transfer none): The #GParamSpec for the property or %NULL
* if no such property exist. * if no such property exist.
* *
* * Since: 0.8
*/ */
GParamSpec * GParamSpec *
clutter_container_class_find_child_property (GObjectClass *klass, 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 * Return value: (array length=n_properties) (transfer full): an array
* of #GParamSpec<!-- -->s which should be freed after use. * of #GParamSpec<!-- -->s which should be freed after use.
* *
* * Since: 0.8
*/ */
GParamSpec ** GParamSpec **
clutter_container_class_list_child_properties (GObjectClass *klass, 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. * Sets a container-specific property on a child of @container.
* *
* * Since: 0.8
*/ */
void void
clutter_container_child_set_property (ClutterContainer *container, 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. * Sets container specific properties on the child of a container.
* *
* * Since: 0.8
*/ */
void void
clutter_container_child_set (ClutterContainer *container, 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 * language bindings, clutter_container_child_set() is much more convenient
* for C programming. * for C programming.
* *
* * Since: 0.8
*/ */
void void
clutter_container_child_get_property (ClutterContainer *container, 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 * responsible for freeing the memory in the appropriate manner for the type, for
* instance by calling g_free() or g_object_unref(). * instance by calling g_free() or g_object_unref().
* *
* * Since: 0.8
*/ */
void void
clutter_container_child_get (ClutterContainer *container, clutter_container_child_get (ClutterContainer *container,
@ -690,7 +1439,7 @@ clutter_container_child_get (ClutterContainer *container,
* of #ClutterContainer. The default implementation will emit the * of #ClutterContainer. The default implementation will emit the
* #ClutterContainer::child-notify signal. * #ClutterContainer::child-notify signal.
* *
* * Since: 1.6
*/ */
void void
clutter_container_child_notify (ClutterContainer *container, 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 * #ClutterContainer is an opaque structure whose members cannot be directly
* accessed * accessed
* *
* * Since: 0.4
*/ */
/** /**
* ClutterContainerIface: * 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 * @child_meta_type: The GType used for storing auxiliary information about
* each of the containers children. * each of the containers children.
* @create_child_meta: virtual function that gets called for each added * @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 must be provided by any implementation; the other
* virtual functions are optional. * virtual functions are optional.
* *
* * Since: 0.4
*/ */
struct _ClutterContainerIface struct _ClutterContainerIface
{ {
@ -81,6 +100,27 @@ struct _ClutterContainerIface
GTypeInterface g_iface; GTypeInterface g_iface;
/*< public >*/ /*< 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 */ /* ClutterChildMeta management */
GType child_meta_type; GType child_meta_type;
void (* create_child_meta) (ClutterContainer *container, void (* create_child_meta) (ClutterContainer *container,
@ -103,6 +143,9 @@ struct _ClutterContainerIface
GType clutter_container_get_type (void) G_GNUC_CONST; GType clutter_container_get_type (void) G_GNUC_CONST;
ClutterActor *clutter_container_find_child_by_name (ClutterContainer *container,
const gchar *child_name);
GParamSpec * clutter_container_class_find_child_property (GObjectClass *klass, GParamSpec * clutter_container_class_find_child_property (GObjectClass *klass,
const gchar *property_name); const gchar *property_name);
GParamSpec ** clutter_container_class_list_child_properties (GObjectClass *klass, GParamSpec ** clutter_container_class_list_child_properties (GObjectClass *klass,

View File

@ -119,7 +119,7 @@ clutter_content_default_init (ClutterContentInterface *iface)
* This signal is emitted each time a #ClutterContent implementation is * This signal is emitted each time a #ClutterContent implementation is
* assigned to a #ClutterActor. * assigned to a #ClutterActor.
* *
* * Since: 1.10
*/ */
content_signals[ATTACHED] = content_signals[ATTACHED] =
g_signal_new (I_("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 * This signal is emitted each time a #ClutterContent implementation is
* removed from a #ClutterActor. * removed from a #ClutterActor.
* *
* * Since: 1.10
*/ */
content_signals[DETACHED] = content_signals[DETACHED] =
g_signal_new (I_("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 * they change the way a the content should be painted regardless of the
* actor state. * actor state.
* *
* * Since: 1.10
*/ */
void void
clutter_content_invalidate (ClutterContent *content) 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 * Return value: %TRUE if the content has a preferred size, and %FALSE
* otherwise * otherwise
* *
* * Since: 1.10
*/ */
gboolean gboolean
clutter_content_get_preferred_size (ClutterContent *content, 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 * The <structname>ClutterContent</structname> structure is an opaque type
* whose members cannot be acccessed directly. * whose members cannot be acccessed directly.
* *
* * Since: 1.10
*/ */
/** /**
@ -65,7 +65,7 @@ typedef struct _ClutterContentIface ClutterContentIface;
* The <structname>ClutterContentIface</structname> structure contains only * The <structname>ClutterContentIface</structname> structure contains only
* private data. * private data.
* *
* * Since: 1.10
*/ */
struct _ClutterContentIface struct _ClutterContentIface
{ {
@ -88,14 +88,14 @@ struct _ClutterContentIface
void (* invalidate) (ClutterContent *content); void (* invalidate) (ClutterContent *content);
}; };
CLUTTER_AVAILABLE_IN_1_10
GType clutter_content_get_type (void) G_GNUC_CONST; GType clutter_content_get_type (void) G_GNUC_CONST;
CLUTTER_AVAILABLE_IN_1_10
gboolean clutter_content_get_preferred_size (ClutterContent *content, gboolean clutter_content_get_preferred_size (ClutterContent *content,
gfloat *width, gfloat *width,
gfloat *height); gfloat *height);
CLUTTER_AVAILABLE_IN_1_10
void clutter_content_invalidate (ClutterContent *content); void clutter_content_invalidate (ClutterContent *content);
G_END_DECLS 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 * The number of horizontal tiles. The bigger the number, the
* smaller the tiles * smaller the tiles
* *
* * Since: 1.4
*/ */
obj_props[PROP_X_TILES] = obj_props[PROP_X_TILES] =
g_param_spec_uint ("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 * The number of vertical tiles. The bigger the number, the
* smaller the tiles * smaller the tiles
* *
* * Since: 1.4
*/ */
obj_props[PROP_Y_TILES] = obj_props[PROP_Y_TILES] =
g_param_spec_uint ("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 * By default, no material will be used
* *
* * Since: 1.4
*/ */
obj_props[PROP_BACK_MATERIAL] = obj_props[PROP_BACK_MATERIAL] =
g_param_spec_boxed ("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 * The #ClutterDeformEffect will take a reference on the material's
* handle * handle
* *
* * Since: 1.4
*/ */
void void
clutter_deform_effect_set_back_material (ClutterDeformEffect *effect, 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 * The returned material is owned by the #ClutterDeformEffect and it
* should not be freed directly * should not be freed directly
* *
* * Since: 1.4
*/ */
CoglHandle CoglHandle
clutter_deform_effect_get_back_material (ClutterDeformEffect *effect) 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 * More tiles allow a finer grained deformation at the expenses
* of computation * of computation
* *
* * Since: 1.4
*/ */
void void
clutter_deform_effect_set_n_tiles (ClutterDeformEffect *effect, 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 * Retrieves the number of horizontal and vertical tiles used to sub-divide
* the actor's geometry during the effect * the actor's geometry during the effect
* *
* * Since: 1.4
*/ */
void void
clutter_deform_effect_get_n_tiles (ClutterDeformEffect *effect, 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 * Invalidates the @effect<!-- -->'s vertices and, if it is associated
* to an actor, it will queue a redraw * to an actor, it will queue a redraw
* *
* * Since: 1.4
*/ */
void void
clutter_deform_effect_invalidate (ClutterDeformEffect *effect) clutter_deform_effect_invalidate (ClutterDeformEffect *effect)

View File

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

View File

@ -3,6 +3,41 @@
#define __CLUTTER_DEPRECATED_H_INSIDE__ #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__ #undef __CLUTTER_DEPRECATED_H_INSIDE__
#endif /* __CLUTTER_DEPRECATED_H__ */ #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 * The desaturation factor, between 0.0 (no desaturation) and 1.0 (full
* desaturation). * desaturation).
* *
* * Since: 1.4
*/ */
obj_props[PROP_FACTOR] = obj_props[PROP_FACTOR] =
g_param_spec_double ("factor", g_param_spec_double ("factor",
@ -323,7 +323,7 @@ clutter_desaturate_effect_init (ClutterDesaturateEffect *self)
* *
* Return value: the newly created #ClutterDesaturateEffect or %NULL * Return value: the newly created #ClutterDesaturateEffect or %NULL
* *
* * Since: 1.4
*/ */
ClutterEffect * ClutterEffect *
clutter_desaturate_effect_new (gdouble factor) 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" * Sets the desaturation factor for @effect, with 0.0 being "do not desaturate"
* and 1.0 being "fully desaturate" * and 1.0 being "fully desaturate"
* *
* * Since: 1.4
*/ */
void void
clutter_desaturate_effect_set_factor (ClutterDesaturateEffect *effect, clutter_desaturate_effect_set_factor (ClutterDesaturateEffect *effect,
@ -371,7 +371,7 @@ clutter_desaturate_effect_set_factor (ClutterDesaturateEffect *effect,
* *
* Return value: the desaturation factor * Return value: the desaturation factor
* *
* * Since: 1.4
*/ */
gdouble gdouble
clutter_desaturate_effect_get_factor (ClutterDesaturateEffect *effect) clutter_desaturate_effect_get_factor (ClutterDesaturateEffect *effect)

View File

@ -43,7 +43,7 @@ G_BEGIN_DECLS
* <structname>ClutterDesaturateEffect</structname> is an opaque structure * <structname>ClutterDesaturateEffect</structname> is an opaque structure
* whose members cannot be directly accessed * whose members cannot be directly accessed
* *
* * Since: 1.4
*/ */
typedef struct _ClutterDesaturateEffect ClutterDesaturateEffect; typedef struct _ClutterDesaturateEffect ClutterDesaturateEffect;
typedef struct _ClutterDesaturateEffectClass ClutterDesaturateEffectClass; 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 * The ::device-added signal is emitted each time a device has been
* added to the #ClutterDeviceManager * added to the #ClutterDeviceManager
* *
* * Since: 1.2
*/ */
manager_signals[DEVICE_ADDED] = manager_signals[DEVICE_ADDED] =
g_signal_new (I_("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 * The ::device-removed signal is emitted each time a device has been
* removed from the #ClutterDeviceManager * removed from the #ClutterDeviceManager
* *
* * Since: 1.2
*/ */
manager_signals[DEVICE_REMOVED] = manager_signals[DEVICE_REMOVED] =
g_signal_new (I_("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 * The returned instance is owned by Clutter and it should not be
* modified or freed * modified or freed
* *
* * Since: 1.2
*/ */
ClutterDeviceManager * ClutterDeviceManager *
clutter_device_manager_get_default (void) clutter_device_manager_get_default (void)
@ -215,7 +215,7 @@ clutter_device_manager_get_default (void)
* a newly allocated list of #ClutterInputDevice objects. Use * a newly allocated list of #ClutterInputDevice objects. Use
* g_slist_free() to deallocate it when done * g_slist_free() to deallocate it when done
* *
* * Since: 1.2
*/ */
GSList * GSList *
clutter_device_manager_list_devices (ClutterDeviceManager *device_manager) 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 * returned list is owned by the #ClutterDeviceManager and should never
* be modified or freed * be modified or freed
* *
* * Since: 1.2
*/ */
const GSList * const GSList *
clutter_device_manager_peek_devices (ClutterDeviceManager *device_manager) 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 * returned device is owned by the #ClutterDeviceManager and should
* never be modified or freed * never be modified or freed
* *
* * Since: 1.2
*/ */
ClutterInputDevice * ClutterInputDevice *
clutter_device_manager_get_device (ClutterDeviceManager *device_manager, 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 * returned device is owned by the #ClutterDeviceManager and should
* not be modified or freed * not be modified or freed
* *
* * Since: 1.2
*/ */
ClutterInputDevice * ClutterInputDevice *
clutter_device_manager_get_core_device (ClutterDeviceManager *device_manager, 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 * The #ClutterDeviceManager structure contains only private data
* *
* * Since: 1.2
*/ */
struct _ClutterDeviceManager struct _ClutterDeviceManager
{ {
@ -64,7 +64,7 @@ struct _ClutterDeviceManager
* *
* The #ClutterDeviceManagerClass structure contains only private data * The #ClutterDeviceManagerClass structure contains only private data
* *
* * Since: 1.2
*/ */
struct _ClutterDeviceManagerClass struct _ClutterDeviceManagerClass
{ {

View File

@ -657,8 +657,6 @@ clutter_drag_action_dispose (GObject *gobject)
/* if we're being disposed while a capture is still present, we /* if we're being disposed while a capture is still present, we
* need to reset the state we are currently holding * need to reset the state we are currently holding
*/ */
if (priv->stage != NULL)
{
if (priv->last_motion_device != NULL) if (priv->last_motion_device != NULL)
{ {
_clutter_stage_remove_pointer_drag_actor (priv->stage, _clutter_stage_remove_pointer_drag_actor (priv->stage,
@ -678,18 +676,12 @@ clutter_drag_action_dispose (GObject *gobject)
clutter_stage_set_motion_events_enabled (priv->stage, clutter_stage_set_motion_events_enabled (priv->stage,
priv->motion_events_enabled); priv->motion_events_enabled);
if (priv->stage != NULL)
g_signal_handler_disconnect (priv->stage, priv->capture_id); g_signal_handler_disconnect (priv->stage, priv->capture_id);
priv->capture_id = 0; priv->capture_id = 0;
priv->stage = NULL; priv->stage = NULL;
} }
}
else
{
priv->last_motion_device = NULL;
priv->sequence = NULL;
priv->capture_id = 0;
}
if (priv->button_press_id != 0) 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 * When read, this property will always return a valid drag
* threshold, either as set or the default one. * threshold, either as set or the default one.
* *
* * Since: 1.4
*/ */
drag_props[PROP_X_DRAG_THRESHOLD] = drag_props[PROP_X_DRAG_THRESHOLD] =
g_param_spec_int ("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 * When read, this property will always return a valid drag
* threshold, either as set or the default one. * threshold, either as set or the default one.
* *
* * Since: 1.4
*/ */
drag_props[PROP_Y_DRAG_THRESHOLD] = drag_props[PROP_Y_DRAG_THRESHOLD] =
g_param_spec_int ("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 * Setting this property has no effect on the #ClutterActor argument
* passed to the #ClutterDragAction signals * passed to the #ClutterDragAction signals
* *
* * Since: 1.4
*/ */
drag_props[PROP_DRAG_HANDLE] = drag_props[PROP_DRAG_HANDLE] =
g_param_spec_object ("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 * Constraints the dragging action to the specified axis
* *
* * Since: 1.4
*/ */
drag_props[PROP_DRAG_AXIS] = drag_props[PROP_DRAG_AXIS] =
g_param_spec_enum ("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 * actor position) to the specified #ClutterRect, in parent's
* coordinates. * coordinates.
* *
* * Since: 1.12
*/ */
drag_props[PROP_DRAG_AREA] = drag_props[PROP_DRAG_AREA] =
g_param_spec_boxed ("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. * Whether the #ClutterDragAction:drag-area property has been set.
* *
* * Since: 1.12
*/ */
drag_props[PROP_DRAG_AREA_SET] = drag_props[PROP_DRAG_AREA_SET] =
g_param_spec_boolean ("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:x-drag-threshold and
* #ClutterDragAction:y-drag-threshold properties * #ClutterDragAction:y-drag-threshold properties
* *
* * Since: 1.4
*/ */
drag_signals[DRAG_BEGIN] = drag_signals[DRAG_BEGIN] =
g_signal_new (I_("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 * Return value: %TRUE if the drag should continue, and %FALSE
* if it should be stopped. * if it should be stopped.
* *
* * Since: 1.12
*/ */
drag_signals[DRAG_PROGRESS] = drag_signals[DRAG_PROGRESS] =
g_signal_new (I_("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 * #ClutterDragAction::drag-progress signal and return %FALSE from the
* handler. * handler.
* *
* * Since: 1.4
*/ */
drag_signals[DRAG_MOTION] = drag_signals[DRAG_MOTION] =
g_signal_new (I_("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 * This signal is emitted if and only if the #ClutterDragAction::drag-begin
* signal has been emitted first * signal has been emitted first
* *
* * Since: 1.4
*/ */
drag_signals[DRAG_END] = drag_signals[DRAG_END] =
g_signal_new (I_("drag-end"), g_signal_new (I_("drag-end"),
@ -1010,7 +1002,7 @@ clutter_drag_action_init (ClutterDragAction *self)
* *
* Return value: the newly created #ClutterDragAction * Return value: the newly created #ClutterDragAction
* *
* * Since: 1.4
*/ */
ClutterAction * ClutterAction *
clutter_drag_action_new (void) clutter_drag_action_new (void)
@ -1033,7 +1025,7 @@ clutter_drag_action_new (void)
* drag threshold stored in the #ClutterSettings:dnd-drag-threshold * drag threshold stored in the #ClutterSettings:dnd-drag-threshold
* property of #ClutterSettings will be used. * property of #ClutterSettings will be used.
* *
* * Since: 1.4
*/ */
void void
clutter_drag_action_set_drag_threshold (ClutterDragAction *action, 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 * this function will return the default drag threshold value as stored
* by the #ClutterSettings:dnd-drag-threshold property of #ClutterSettings. * by the #ClutterSettings:dnd-drag-threshold property of #ClutterSettings.
* *
* * Since: 1.4
*/ */
void void
clutter_drag_action_get_drag_threshold (ClutterDragAction *action, 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. * Sets the actor to be used as the drag handle.
* *
* * Since: 1.4
*/ */
void void
clutter_drag_action_set_drag_handle (ClutterDragAction *action, clutter_drag_action_set_drag_handle (ClutterDragAction *action,
@ -1147,19 +1139,16 @@ clutter_drag_action_set_drag_handle (ClutterDragAction *action,
priv->drag_handle = handle; priv->drag_handle = handle;
if (priv->drag_handle != NULL)
{
priv->transformed_press_x = priv->press_x; priv->transformed_press_x = priv->press_x;
priv->transformed_press_y = priv->press_y; priv->transformed_press_y = priv->press_y;
clutter_actor_transform_stage_point (priv->drag_handle, priv->press_x, clutter_actor_transform_stage_point (handle, priv->press_x, priv->press_y,
priv->press_y,
&priv->transformed_press_x, &priv->transformed_press_x,
&priv->transformed_press_y); &priv->transformed_press_y);
if (priv->drag_handle != NULL)
g_signal_connect (priv->drag_handle, "destroy", g_signal_connect (priv->drag_handle, "destroy",
G_CALLBACK (on_drag_handle_destroy), G_CALLBACK (on_drag_handle_destroy),
action); action);
}
g_object_notify_by_pspec (G_OBJECT (action), drag_props[PROP_DRAG_HANDLE]); 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 * Return value: (transfer none): a #ClutterActor, used as the drag
* handle, or %NULL if none was set * handle, or %NULL if none was set
* *
* * Since: 1.4
*/ */
ClutterActor * ClutterActor *
clutter_drag_action_get_drag_handle (ClutterDragAction *action) 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 * Restricts the dragging action to a specific axis
* *
* * Since: 1.4
*/ */
void void
clutter_drag_action_set_drag_axis (ClutterDragAction *action, 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 * Return value: the axis constraint
* *
* * Since: 1.4
*/ */
ClutterDragAxis ClutterDragAxis
clutter_drag_action_get_drag_axis (ClutterDragAction *action) 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 * Retrieves the coordinates, in stage space, of the press event
* that started the dragging * that started the dragging
* *
* * Since: 1.4
*/ */
void void
clutter_drag_action_get_press_coords (ClutterDragAction *action, 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 * Retrieves the coordinates, in stage space, of the latest motion
* event during the dragging * event during the dragging
* *
* * Since: 1.4
*/ */
void void
clutter_drag_action_get_motion_coords (ClutterDragAction *action, 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 * The <structname>ClutterDragAction</structname> structure contains only
* private data and should be accessed using the provided API * private data and should be accessed using the provided API
* *
* * Since: 1.4
*/ */
struct _ClutterDragAction struct _ClutterDragAction
{ {
@ -71,7 +71,7 @@ struct _ClutterDragAction
* The <structname>ClutterDragActionClass</structname> structure contains * The <structname>ClutterDragActionClass</structname> structure contains
* only private data * only private data
* *
* * Since: 1.4
*/ */
struct _ClutterDragActionClass struct _ClutterDragActionClass
{ {
@ -129,11 +129,11 @@ void clutter_drag_action_get_motion_coords (ClutterDragAction *actio
gfloat *motion_x, gfloat *motion_x,
gfloat *motion_y); gfloat *motion_y);
CLUTTER_AVAILABLE_IN_1_12
gboolean clutter_drag_action_get_drag_area (ClutterDragAction *action, gboolean clutter_drag_action_get_drag_area (ClutterDragAction *action,
ClutterRect *drag_area); ClutterRect *drag_area);
CLUTTER_AVAILABLE_IN_1_12
void clutter_drag_action_set_drag_area (ClutterDragAction *action, void clutter_drag_action_set_drag_area (ClutterDragAction *action,
const ClutterRect *drag_area); 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 * Return value: %TRUE if the drop is accepted, and %FALSE otherwise
* *
* * Since: 1.8
*/ */
drop_signals[CAN_DROP] = drop_signals[CAN_DROP] =
g_signal_new (I_("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 * The ::over-in signal is emitted when the dragged actor crosses
* into @actor. * into @actor.
* *
* * Since: 1.8
*/ */
drop_signals[OVER_IN] = drop_signals[OVER_IN] =
g_signal_new (I_("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 * The ::over-out signal is emitted when the dragged actor crosses
* outside @actor. * outside @actor.
* *
* * Since: 1.8
*/ */
drop_signals[OVER_OUT] = drop_signals[OVER_OUT] =
g_signal_new (I_("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 * on @actor. This signal is only emitted if at least an handler of
* #ClutterDropAction::can-drop returns %TRUE. * #ClutterDropAction::can-drop returns %TRUE.
* *
* * Since: 1.8
*/ */
drop_signals[DROP] = drop_signals[DROP] =
g_signal_new (I_("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 * After the ::drop-cancel signal is fired the active drag is
* terminated. * terminated.
* *
* * Since: 1.12
*/ */
drop_signals[DROP_CANCEL] = drop_signals[DROP_CANCEL] =
g_signal_new (I_("drop-cancel"), g_signal_new (I_("drop-cancel"),
@ -531,7 +531,7 @@ clutter_drop_action_init (ClutterDropAction *self)
* *
* Return value: the newly created #ClutterDropAction * Return value: the newly created #ClutterDropAction
* *
* * Since: 1.8
*/ */
ClutterAction * ClutterAction *
clutter_drop_action_new (void) clutter_drop_action_new (void)

View File

@ -50,7 +50,7 @@ typedef struct _ClutterDropActionClass ClutterDropActionClass;
* The <structname>ClutterDropAction</structname> structure contains only * The <structname>ClutterDropAction</structname> structure contains only
* private data and should be accessed using the provided API. * private data and should be accessed using the provided API.
* *
* * Since: 1.8
*/ */
struct _ClutterDropAction struct _ClutterDropAction
{ {
@ -70,7 +70,7 @@ struct _ClutterDropAction
* The <structname>ClutterDropActionClass</structname> structure contains * The <structname>ClutterDropActionClass</structname> structure contains
* only private data. * only private data.
* *
* * Since: 1.8
*/ */
struct _ClutterDropActionClass 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 * will instead be called with the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY
* flag set. * flag set.
* *
* * Since: 1.8
*/ */
void void
clutter_effect_queue_repaint (ClutterEffect *effect) 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 * The #ClutterEffect structure contains only private data and should
* be accessed using the provided API * be accessed using the provided API
* *
* * Since: 1.4
*/ */
struct _ClutterEffect struct _ClutterEffect
{ {
@ -66,7 +66,7 @@ struct _ClutterEffect
* *
* The #ClutterEffectClass structure contains only private data * The #ClutterEffectClass structure contains only private data
* *
* * Since: 1.4
*/ */
struct _ClutterEffectClass struct _ClutterEffectClass
{ {

View File

@ -30,6 +30,38 @@
G_BEGIN_DECLS 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: * ClutterRotateAxis:
* @CLUTTER_X_AXIS: Rotate around the X axis * @CLUTTER_X_AXIS: Rotate around the X axis
@ -37,6 +69,8 @@ G_BEGIN_DECLS
* @CLUTTER_Z_AXIS: Rotate around the Z axis * @CLUTTER_Z_AXIS: Rotate around the Z axis
* *
* Axis of a rotation. * Axis of a rotation.
*
* Since: 0.4
*/ */
typedef enum { /*< prefix=CLUTTER >*/ typedef enum { /*< prefix=CLUTTER >*/
CLUTTER_X_AXIS, CLUTTER_X_AXIS,
@ -44,12 +78,28 @@ typedef enum { /*< prefix=CLUTTER >*/
CLUTTER_Z_AXIS CLUTTER_Z_AXIS
} ClutterRotateAxis; } 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: * ClutterRequestMode:
* @CLUTTER_REQUEST_HEIGHT_FOR_WIDTH: Height for width requests * @CLUTTER_REQUEST_HEIGHT_FOR_WIDTH: Height for width requests
* @CLUTTER_REQUEST_WIDTH_FOR_HEIGHT: Width for height requests * @CLUTTER_REQUEST_WIDTH_FOR_HEIGHT: Width for height requests
* *
* Specifies the type of requests for a #ClutterActor. * Specifies the type of requests for a #ClutterActor.
*
* Since: 0.8
*/ */
typedef enum { /*< prefix=CLUTTER_REQUEST >*/ typedef enum { /*< prefix=CLUTTER_REQUEST >*/
CLUTTER_REQUEST_HEIGHT_FOR_WIDTH, CLUTTER_REQUEST_HEIGHT_FOR_WIDTH,
@ -111,31 +161,37 @@ typedef enum { /*< prefix=CLUTTER_REQUEST >*/
* @CLUTTER_EASE_IN_OUT_BOUNCE: exponentially decaying parabolic (bounce) * @CLUTTER_EASE_IN_OUT_BOUNCE: exponentially decaying parabolic (bounce)
* tweening, with bounce on both ends * tweening, with bounce on both ends
* @CLUTTER_STEPS: parametrized step function; see clutter_timeline_set_step_progress() * @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 * @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 * @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 * @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 * @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 * @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 * @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 * @CLUTTER_EASE_IN_OUT: equivalent to %CLUTTER_CUBIC_BEZIER with control points
* in (0.42, 0) and (0.58, 1.0). * in (0.42, 0) and (0.58, 1.0). (Since 1.12)
* @CLUTTER_ANIMATION_LAST: last animation mode, used as a guard when enumerating * @CLUTTER_ANIMATION_LAST: last animation mode, used as a guard for
* registered global alpha functions
* *
* The animation modes used by #ClutterTimeline. * The animation modes used by #ClutterAlpha and #ClutterAnimation. This
* * enumeration can be expanded in later versions of Clutter.
* This enumeration can be expanded in later versions of Clutter.
* *
* <figure id="easing-modes"> * <figure id="easing-modes">
* <title>Easing modes provided by Clutter</title> * <title>Easing modes provided by Clutter</title>
* <graphic fileref="easing-modes.png" format="PNG"/> * <graphic fileref="easing-modes.png" format="PNG"/>
* </figure> * </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 { typedef enum {
CLUTTER_CUSTOM_MODE = 0, CLUTTER_CUSTOM_MODE = 0,
@ -205,10 +261,25 @@ typedef enum {
CLUTTER_EASE_OUT, CLUTTER_EASE_OUT,
CLUTTER_EASE_IN_OUT, CLUTTER_EASE_IN_OUT,
/* guard */ /* guard, before registered alpha functions */
CLUTTER_ANIMATION_LAST CLUTTER_ANIMATION_LAST
} ClutterAnimationMode; } 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: * ClutterTextDirection:
* @CLUTTER_TEXT_DIRECTION_DEFAULT: Use the default setting, as returned * @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 * @CLUTTER_TEXT_DIRECTION_RTL: Use right-to-left text direction
* *
* The text direction to be used by #ClutterActor<!-- -->s * The text direction to be used by #ClutterActor<!-- -->s
*
* Since: 1.2
*/ */
typedef enum { typedef enum {
CLUTTER_TEXT_DIRECTION_DEFAULT, CLUTTER_TEXT_DIRECTION_DEFAULT,
@ -231,7 +304,7 @@ typedef enum {
* *
* The type of GLSL shader program * The type of GLSL shader program
* *
* * Since: 1.4
*/ */
typedef enum { typedef enum {
CLUTTER_VERTEX_SHADER, CLUTTER_VERTEX_SHADER,
@ -266,7 +339,7 @@ typedef enum {
* should preserve and ignore them. You can use %CLUTTER_MODIFIER_MASK to * should preserve and ignore them. You can use %CLUTTER_MODIFIER_MASK to
* remove all reserved values. * remove all reserved values.
* *
* * Since: 0.4
*/ */
typedef enum { typedef enum {
CLUTTER_SHIFT_MASK = 1 << 0, CLUTTER_SHIFT_MASK = 1 << 0,
@ -347,7 +420,7 @@ typedef enum { /*< prefix=CLUTTER_ACTOR >*/
* *
* Possible flags to pass to clutter_actor_set_offscreen_redirect(). * Possible flags to pass to clutter_actor_set_offscreen_redirect().
* *
* * Since: 1.8
*/ */
typedef enum { /*< prefix=CLUTTER_OFFSCREEN_REDIRECT >*/ typedef enum { /*< prefix=CLUTTER_OFFSCREEN_REDIRECT >*/
CLUTTER_OFFSCREEN_REDIRECT_AUTOMATIC_FOR_OPACITY = 1<<0, 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 * Flags passed to the #ClutterActorClass.allocate() virtual function
* and to the clutter_actor_allocate() function. * and to the clutter_actor_allocate() function.
* *
* * Since: 1.0
*/ */
typedef enum { typedef enum {
CLUTTER_ALLOCATION_NONE = 0, CLUTTER_ALLOCATION_NONE = 0,
@ -388,7 +461,7 @@ typedef enum {
* Specifies the axis on which #ClutterAlignConstraint should maintain * Specifies the axis on which #ClutterAlignConstraint should maintain
* the alignment. * the alignment.
* *
* * Since: 1.4
*/ */
typedef enum { /*< prefix=CLUTTER_ALIGN >*/ typedef enum { /*< prefix=CLUTTER_ALIGN >*/
CLUTTER_ALIGN_X_AXIS, CLUTTER_ALIGN_X_AXIS,
@ -396,6 +469,48 @@ typedef enum { /*< prefix=CLUTTER_ALIGN >*/
CLUTTER_ALIGN_BOTH CLUTTER_ALIGN_BOTH
} ClutterAlignAxis; } 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: * ClutterBindCoordinate:
* @CLUTTER_BIND_X: Bind the X coordinate * @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 * Specifies which property should be used in a binding
* *
* * Since: 1.4
*/ */
typedef enum { /*< prefix=CLUTTER_BIND >*/ typedef enum { /*< prefix=CLUTTER_BIND >*/
CLUTTER_BIND_X, CLUTTER_BIND_X,
@ -436,6 +551,24 @@ typedef enum { /*< prefix=CLUTTER_EFFECT_PAINT >*/
CLUTTER_EFFECT_PAINT_ACTOR_DIRTY = (1 << 0) CLUTTER_EFFECT_PAINT_ACTOR_DIRTY = (1 << 0)
} ClutterEffectPaintFlags; } 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: * ClutterLongPressState:
* @CLUTTER_LONG_PRESS_QUERY: Queries the action whether it supports * @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. * The states for the #ClutterClickAction::long-press signal.
* *
* * Since: 1.8
*/ */
typedef enum { /*< prefix=CLUTTER_LONG_PRESS >*/ typedef enum { /*< prefix=CLUTTER_LONG_PRESS >*/
CLUTTER_LONG_PRESS_QUERY, CLUTTER_LONG_PRESS_QUERY,
@ -503,7 +636,7 @@ typedef enum { /*< prefix=CLUTTER_LONG_PRESS >*/
* *
* Named colors, for accessing global colors defined by Clutter * Named colors, for accessing global colors defined by Clutter
* *
* * Since: 1.6
*/ */
typedef enum { /*< prefix=CLUTTER_COLOR >*/ typedef enum { /*< prefix=CLUTTER_COLOR >*/
/* CGA/EGA-like palette */ /* CGA/EGA-like palette */
@ -567,7 +700,7 @@ typedef enum { /*< prefix=CLUTTER_COLOR >*/
* The axis of the constraint that should be applied on the * The axis of the constraint that should be applied on the
* dragging action * dragging action
* *
* * Since: 1.4
*/ */
typedef enum { /*< prefix=CLUTTER_DRAG >*/ typedef enum { /*< prefix=CLUTTER_DRAG >*/
CLUTTER_DRAG_AXIS_NONE = 0, CLUTTER_DRAG_AXIS_NONE = 0,
@ -583,7 +716,7 @@ typedef enum { /*< prefix=CLUTTER_DRAG >*/
* *
* Flags for the #ClutterEvent * Flags for the #ClutterEvent
* *
* * Since: 0.6
*/ */
typedef enum { /*< flags prefix=CLUTTER_EVENT >*/ typedef enum { /*< flags prefix=CLUTTER_EVENT >*/
CLUTTER_EVENT_NONE = 0, CLUTTER_EVENT_NONE = 0,
@ -618,7 +751,7 @@ typedef enum { /*< flags prefix=CLUTTER_EVENT >*/
* *
* Types of events. * Types of events.
* *
* * Since: 0.4
*/ */
typedef enum { /*< prefix=CLUTTER >*/ typedef enum { /*< prefix=CLUTTER >*/
CLUTTER_NOTHING = 0, CLUTTER_NOTHING = 0,
@ -655,7 +788,7 @@ typedef enum { /*< prefix=CLUTTER >*/
* The %CLUTTER_SCROLL_SMOOTH value implies that the #ClutterScrollEvent * The %CLUTTER_SCROLL_SMOOTH value implies that the #ClutterScrollEvent
* has precise scrolling delta information. * has precise scrolling delta information.
* *
* * Since: 0.4
*/ */
typedef enum { /*< prefix=CLUTTER_SCROLL >*/ typedef enum { /*< prefix=CLUTTER_SCROLL >*/
CLUTTER_SCROLL_UP, CLUTTER_SCROLL_UP,
@ -673,7 +806,7 @@ typedef enum { /*< prefix=CLUTTER_SCROLL >*/
* *
* Stage state masks, used by the #ClutterEvent of type %CLUTTER_STAGE_STATE. * Stage state masks, used by the #ClutterEvent of type %CLUTTER_STAGE_STATE.
* *
* * Since: 0.4
*/ */
typedef enum { typedef enum {
CLUTTER_STAGE_STATE_FULLSCREEN = (1 << 1), CLUTTER_STAGE_STATE_FULLSCREEN = (1 << 1),
@ -698,7 +831,7 @@ typedef enum {
* Runtime flags indicating specific features available via Clutter window * Runtime flags indicating specific features available via Clutter window
* sysytem and graphics backend. * sysytem and graphics backend.
* *
* * Since: 0.4
*/ */
typedef enum typedef enum
{ {
@ -725,7 +858,7 @@ typedef enum
* The direction of the arrangement of the children inside * The direction of the arrangement of the children inside
* a #ClutterFlowLayout * a #ClutterFlowLayout
* *
* * Since: 1.2
*/ */
typedef enum { /*< prefix=CLUTTER_FLOW >*/ typedef enum { /*< prefix=CLUTTER_FLOW >*/
CLUTTER_FLOW_HORIZONTAL, CLUTTER_FLOW_HORIZONTAL,
@ -751,7 +884,7 @@ typedef enum { /*< prefix=CLUTTER_FLOW >*/
* The #ClutterInputDeviceType enumeration can be extended at later * The #ClutterInputDeviceType enumeration can be extended at later
* date; not every platform supports every input device type. * date; not every platform supports every input device type.
* *
* * Since: 1.0
*/ */
typedef enum { typedef enum {
CLUTTER_POINTER_DEVICE, CLUTTER_POINTER_DEVICE,
@ -778,7 +911,7 @@ typedef enum {
* *
* The mode for input devices available. * The mode for input devices available.
* *
* * Since: 1.6
*/ */
typedef enum { typedef enum {
CLUTTER_INPUT_MODE_MASTER, CLUTTER_INPUT_MODE_MASTER,
@ -801,7 +934,7 @@ typedef enum {
* *
* The type of axes Clutter recognizes on a #ClutterInputDevice * The type of axes Clutter recognizes on a #ClutterInputDevice
* *
* * Since: 1.6
*/ */
typedef enum { typedef enum {
CLUTTER_INPUT_AXIS_IGNORE, CLUTTER_INPUT_AXIS_IGNORE,
@ -826,7 +959,7 @@ typedef enum {
* *
* The edge to snap * The edge to snap
* *
* * Since: 1.6
*/ */
typedef enum { typedef enum {
CLUTTER_SNAP_EDGE_TOP, CLUTTER_SNAP_EDGE_TOP,
@ -843,7 +976,7 @@ typedef enum {
* *
* Controls the paint cycle of the scene graph when in pick mode * Controls the paint cycle of the scene graph when in pick mode
* *
* * Since: 1.0
*/ */
typedef enum { typedef enum {
CLUTTER_PICK_NONE = 0, CLUTTER_PICK_NONE = 0,
@ -860,7 +993,7 @@ typedef enum {
* *
* The main direction of the swipe gesture * The main direction of the swipe gesture
* *
* * Since: 1.8
*/ */
typedef enum { /*< prefix=CLUTTER_SWIPE_DIRECTION >*/ typedef enum { /*< prefix=CLUTTER_SWIPE_DIRECTION >*/
CLUTTER_SWIPE_DIRECTION_UP = 1 << 0, 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 * The axis of the constraint that should be applied on the
* panning action * panning action
*
* Since: 1.12
*/ */
typedef enum { /*< prefix=CLUTTER_PAN >*/ typedef enum { /*< prefix=CLUTTER_PAN >*/
CLUTTER_PAN_AXIS_NONE = 0, CLUTTER_PAN_AXIS_NONE = 0,
@ -885,12 +1020,74 @@ typedef enum { /*< prefix=CLUTTER_PAN >*/
CLUTTER_PAN_Y_AXIS CLUTTER_PAN_Y_AXIS
} ClutterPanAxis; } 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: * ClutterTimelineDirection:
* @CLUTTER_TIMELINE_FORWARD: forward direction for a timeline * @CLUTTER_TIMELINE_FORWARD: forward direction for a timeline
* @CLUTTER_TIMELINE_BACKWARD: backward direction for a timeline * @CLUTTER_TIMELINE_BACKWARD: backward direction for a timeline
* *
* The direction of a #ClutterTimeline * The direction of a #ClutterTimeline
*
* Since: 0.6
*/ */
typedef enum { typedef enum {
CLUTTER_TIMELINE_FORWARD, CLUTTER_TIMELINE_FORWARD,
@ -908,6 +1105,8 @@ typedef enum {
* The type of unit in which a value is expressed * The type of unit in which a value is expressed
* *
* This enumeration might be expanded at later date * This enumeration might be expanded at later date
*
* Since: 1.0
*/ */
typedef enum { /*< prefix=CLUTTER_UNIT >*/ typedef enum { /*< prefix=CLUTTER_UNIT >*/
CLUTTER_UNIT_PIXEL, CLUTTER_UNIT_PIXEL,
@ -936,6 +1135,8 @@ typedef enum { /*< prefix=CLUTTER_UNIT >*/
* coordinates relative to the last node. * coordinates relative to the last node.
* *
* Types of nodes in a #ClutterPath. * Types of nodes in a #ClutterPath.
*
* Since: 1.0
*/ */
typedef enum { typedef enum {
CLUTTER_PATH_MOVE_TO = 0, CLUTTER_PATH_MOVE_TO = 0,
@ -966,7 +1167,7 @@ typedef enum {
* bigger than its natural size; for example, when the #ClutterActor:x-expand * bigger than its natural size; for example, when the #ClutterActor:x-expand
* or the #ClutterActor:y-expand properties of #ClutterActor are set to %TRUE. * or the #ClutterActor:y-expand properties of #ClutterActor are set to %TRUE.
* *
* * Since: 1.10
*/ */
typedef enum { typedef enum {
CLUTTER_ACTOR_ALIGN_FILL, CLUTTER_ACTOR_ALIGN_FILL,
@ -986,7 +1187,7 @@ typedef enum {
* *
* Flags to pass to clutter_threads_add_repaint_func_full(). * Flags to pass to clutter_threads_add_repaint_func_full().
* *
* * Since: 1.10
*/ */
typedef enum { typedef enum {
CLUTTER_REPAINT_FLAGS_PRE_PAINT = 1 << 0, CLUTTER_REPAINT_FLAGS_PRE_PAINT = 1 << 0,
@ -1011,7 +1212,7 @@ typedef enum {
* *
* Controls the alignment of the #ClutterContent inside a #ClutterActor. * Controls the alignment of the #ClutterContent inside a #ClutterActor.
* *
* * Since: 1.10
*/ */
typedef enum { typedef enum {
CLUTTER_CONTENT_GRAVITY_TOP_LEFT, CLUTTER_CONTENT_GRAVITY_TOP_LEFT,
@ -1041,7 +1242,7 @@ typedef enum {
* The scaling filters to be used with the #ClutterActor:minification-filter * The scaling filters to be used with the #ClutterActor:minification-filter
* and #ClutterActor:magnification-filter properties. * and #ClutterActor:magnification-filter properties.
* *
* * Since: 1.10
*/ */
typedef enum { typedef enum {
CLUTTER_SCALING_FILTER_LINEAR, CLUTTER_SCALING_FILTER_LINEAR,
@ -1056,7 +1257,7 @@ typedef enum {
* *
* Represents the orientation of actors or layout managers. * Represents the orientation of actors or layout managers.
* *
* * Since: 1.12
*/ */
typedef enum { typedef enum {
CLUTTER_ORIENTATION_HORIZONTAL, CLUTTER_ORIENTATION_HORIZONTAL,
@ -1072,7 +1273,7 @@ typedef enum {
* *
* Scroll modes. * Scroll modes.
* *
* * Since: 1.12
*/ */
typedef enum { /*< prefix=CLUTTER_SCROLL >*/ typedef enum { /*< prefix=CLUTTER_SCROLL >*/
CLUTTER_SCROLL_NONE = 0, CLUTTER_SCROLL_NONE = 0,
@ -1092,7 +1293,7 @@ typedef enum { /*< prefix=CLUTTER_SCROLL >*/
* *
* Grid position modes. * Grid position modes.
* *
* * Since: 1.12
*/ */
typedef enum { typedef enum {
CLUTTER_GRID_POSITION_LEFT, CLUTTER_GRID_POSITION_LEFT,
@ -1110,7 +1311,7 @@ typedef enum {
* *
* Content repeat modes. * Content repeat modes.
* *
* * Since: 1.12
*/ */
typedef enum { typedef enum {
CLUTTER_REPEAT_NONE = 0, CLUTTER_REPEAT_NONE = 0,
@ -1132,7 +1333,7 @@ typedef enum {
* *
* See clutter_timeline_set_step_progress(). * See clutter_timeline_set_step_progress().
* *
* * Since: 1.12
*/ */
typedef enum { typedef enum {
CLUTTER_STEP_MODE_START, CLUTTER_STEP_MODE_START,
@ -1148,7 +1349,7 @@ typedef enum {
* The axis of the constraint that should be applied by the * The axis of the constraint that should be applied by the
* zooming action. * zooming action.
* *
* * Since: 1.12
*/ */
typedef enum { /*< prefix=CLUTTER_ZOOM >*/ typedef enum { /*< prefix=CLUTTER_ZOOM >*/
CLUTTER_ZOOM_X_AXIS, CLUTTER_ZOOM_X_AXIS,

View File

@ -82,7 +82,7 @@ is_event_allocated (const ClutterEvent *event)
* *
* Return value: a pointer to platform-specific data * Return value: a pointer to platform-specific data
* *
* * Since: 1.4
*/ */
gpointer gpointer
_clutter_event_get_platform_data (const ClutterEvent *event) _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 * Sets the pointer to platform-specific data inside an event
* *
* * Since: 1.4
*/ */
void void
_clutter_event_set_platform_data (ClutterEvent *event, _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 * Return value: the time of the event, or %CLUTTER_CURRENT_TIME
* *
* * Since: 0.4
*/ */
guint32 guint32
clutter_event_get_time (const ClutterEvent *event) clutter_event_get_time (const ClutterEvent *event)
@ -163,7 +163,7 @@ clutter_event_get_time (const ClutterEvent *event)
* *
* Sets the time of the event. * Sets the time of the event.
* *
* * Since: 1.8
*/ */
void void
clutter_event_set_time (ClutterEvent *event, clutter_event_set_time (ClutterEvent *event,
@ -182,7 +182,7 @@ clutter_event_set_time (ClutterEvent *event,
* *
* Return value: the modifier state parameter, or 0 * Return value: the modifier state parameter, or 0
* *
* * Since: 0.4
*/ */
ClutterModifierType ClutterModifierType
clutter_event_get_state (const ClutterEvent *event) 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. * Sets the modifier state of the event.
* *
* * Since: 1.8
*/ */
void void
clutter_event_set_state (ClutterEvent *event, 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. * Retrieves the coordinates of @event and puts them into @x and @y.
* *
* * Since: 0.4
*/ */
void void
clutter_event_get_coords (const ClutterEvent *event, 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. * Retrieves the event coordinates as a #ClutterPoint.
* *
* * Since: 1.12
*/ */
void void
clutter_event_get_position (const ClutterEvent *event, clutter_event_get_position (const ClutterEvent *event,
@ -358,7 +358,7 @@ clutter_event_get_position (const ClutterEvent *event,
* *
* Sets the coordinates of the @event. * Sets the coordinates of the @event.
* *
* * Since: 1.8
*/ */
void void
clutter_event_set_coords (ClutterEvent *event, clutter_event_set_coords (ClutterEvent *event,
@ -420,7 +420,7 @@ clutter_event_set_coords (ClutterEvent *event,
* *
* Return value: (transfer none): a #ClutterActor * Return value: (transfer none): a #ClutterActor
* *
* * Since: 0.6
*/ */
ClutterActor * ClutterActor *
clutter_event_get_source (const ClutterEvent *event) clutter_event_get_source (const ClutterEvent *event)
@ -437,7 +437,7 @@ clutter_event_get_source (const ClutterEvent *event)
* *
* Sets the source #ClutterActor of @event. * Sets the source #ClutterActor of @event.
* *
* * Since: 1.8
*/ */
void void
clutter_event_set_source (ClutterEvent *event, clutter_event_set_source (ClutterEvent *event,
@ -458,7 +458,7 @@ clutter_event_set_source (ClutterEvent *event,
* *
* Return value: (transfer none): a #ClutterStage * Return value: (transfer none): a #ClutterStage
* *
* * Since: 0.8
*/ */
ClutterStage * ClutterStage *
clutter_event_get_stage (const ClutterEvent *event) 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. * Sets the source #ClutterStage of the event.
* *
* * Since: 1.8
*/ */
void void
clutter_event_set_stage (ClutterEvent *event, clutter_event_set_stage (ClutterEvent *event,
@ -498,7 +498,7 @@ clutter_event_set_stage (ClutterEvent *event,
* *
* Return value: the event flags * Return value: the event flags
* *
* * Since: 1.0
*/ */
ClutterEventFlags ClutterEventFlags
clutter_event_get_flags (const ClutterEvent *event) clutter_event_get_flags (const ClutterEvent *event)
@ -515,7 +515,7 @@ clutter_event_get_flags (const ClutterEvent *event)
* *
* Sets the #ClutterEventFlags of @event * Sets the #ClutterEventFlags of @event
* *
* * Since: 1.8
*/ */
void void
clutter_event_set_flags (ClutterEvent *event, 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 * Return value: (transfer none): the related #ClutterActor, or %NULL
* *
* * Since: 1.0
*/ */
ClutterActor * ClutterActor *
clutter_event_get_related (const ClutterEvent *event) 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 * Sets the related actor of a crossing event
* *
* * Since: 1.8
*/ */
void void
clutter_event_set_related (ClutterEvent *event, clutter_event_set_related (ClutterEvent *event,
@ -583,7 +583,7 @@ clutter_event_set_related (ClutterEvent *event,
* *
* Sets the precise scrolling information of @event. * Sets the precise scrolling information of @event.
* *
* * Since: 1.10
*/ */
void void
clutter_event_set_scroll_delta (ClutterEvent *event, 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 * The @event has to have a #ClutterScrollEvent.direction value
* of %CLUTTER_SCROLL_SMOOTH. * of %CLUTTER_SCROLL_SMOOTH.
* *
* * Since: 1.10
*/ */
void void
clutter_event_get_scroll_delta (const ClutterEvent *event, 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 * Return value: the scrolling direction
* *
* * Since: 1.0
*/ */
ClutterScrollDirection ClutterScrollDirection
clutter_event_get_scroll_direction (const ClutterEvent *event) 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 * Sets the direction of the scrolling of @event
* *
* * Since: 1.8
*/ */
void void
clutter_event_set_scroll_direction (ClutterEvent *event, clutter_event_set_scroll_direction (ClutterEvent *event,
@ -688,7 +688,7 @@ clutter_event_set_scroll_direction (ClutterEvent *event,
* *
* Return value: the button number * Return value: the button number
* *
* * Since: 1.0
*/ */
guint32 guint32
clutter_event_get_button (const ClutterEvent *event) clutter_event_get_button (const ClutterEvent *event)
@ -708,7 +708,7 @@ clutter_event_get_button (const ClutterEvent *event)
* *
* Sets the button number of @event * Sets the button number of @event
* *
* * Since: 1.8
*/ */
void void
clutter_event_set_button (ClutterEvent *event, clutter_event_set_button (ClutterEvent *event,
@ -730,7 +730,7 @@ clutter_event_set_button (ClutterEvent *event,
* *
* Return value: the click count * Return value: the click count
* *
* * Since: 1.0
*/ */
guint32 guint32
clutter_event_get_click_count (const ClutterEvent *event) 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 * Return value: the key symbol representing the key
* *
* * Since: 1.0
*/ */
guint guint
clutter_event_get_key_symbol (const ClutterEvent *event) 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. * Sets the key symbol of @event.
* *
* * Since: 1.8
*/ */
void void
clutter_event_set_key_symbol (ClutterEvent *event, 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 * Return value: The keycode representing the key
* *
* * Since: 1.0
*/ */
guint16 guint16
clutter_event_get_key_code (const ClutterEvent *event) 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. * Sets the keycode of the @event.
* *
* * Since: 1.8
*/ */
void void
clutter_event_set_key_code (ClutterEvent *event, 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. * Sets the Unicode value of @event.
* *
* * Since: 1.8
*/ */
void void
clutter_event_set_key_unicode (ClutterEvent *event, 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 * Return value: (transfer none): the event sequence, or %NULL
* *
* * Since: 1.10
*/ */
ClutterEventSequence * ClutterEventSequence *
clutter_event_get_event_sequence (const ClutterEvent *event) 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 * Return value: the #ClutterInputDeviceType for the device, if
* any is set * any is set
* *
* * Since: 1.0
*/ */
ClutterInputDeviceType ClutterInputDeviceType
clutter_event_get_device_type (const ClutterEvent *event) 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. * Sets the device for @event.
* *
* * Since: 1.6
*/ */
void void
clutter_event_set_device (ClutterEvent *event, clutter_event_set_device (ClutterEvent *event,
@ -1015,8 +1015,6 @@ clutter_event_set_device (ClutterEvent *event,
* @event: a #ClutterEvent * @event: a #ClutterEvent
* *
* Retrieves the #ClutterInputDevice for the event. * 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 * The #ClutterInputDevice structure is completely opaque and should
* be cast to the platform-specific implementation. * 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 * returned device is owned by the #ClutterEvent and it should not
* be unreferenced * be unreferenced
* *
* * Since: 1.0
*/ */
ClutterInputDevice * ClutterInputDevice *
clutter_event_get_device (const ClutterEvent *event) 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 * Return value: A #ClutterEvent or NULL if queue empty
* *
* * Since: 0.4
*/ */
ClutterEvent * ClutterEvent *
clutter_event_get (void) clutter_event_get (void)
@ -1269,7 +1267,7 @@ clutter_event_get (void)
* *
* Return value: (transfer none): A #ClutterEvent or NULL if queue empty. * Return value: (transfer none): A #ClutterEvent or NULL if queue empty.
* *
* * Since: 0.4
*/ */
ClutterEvent * ClutterEvent *
clutter_event_peek (void) 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 * its ancestors. If the source is not set it will be generated by picking
* or use the actor that currently has keyboard focus * or use the actor that currently has keyboard focus
* *
* * Since: 0.6
*/ */
void void
clutter_event_put (const ClutterEvent *event) 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. * Return value: TRUE if there are pending events, FALSE otherwise.
* *
* * Since: 0.4
*/ */
gboolean gboolean
clutter_events_pending (void) clutter_events_pending (void)
@ -1366,7 +1364,7 @@ clutter_events_pending (void)
* *
* Return value: the event timestamp, or %CLUTTER_CURRENT_TIME * Return value: the event timestamp, or %CLUTTER_CURRENT_TIME
* *
* * Since: 1.0
*/ */
guint32 guint32
clutter_get_current_event_time (void) 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 * Return value: (transfer none): The current ClutterEvent, or %NULL if none
* *
* * Since: 1.2
*/ */
const ClutterEvent * const ClutterEvent *
clutter_get_current_event (void) clutter_get_current_event (void)
@ -1418,7 +1416,7 @@ clutter_get_current_event (void)
* Return value: (transfer none): a pointer to a #ClutterInputDevice * Return value: (transfer none): a pointer to a #ClutterInputDevice
* or %NULL * or %NULL
* *
* * Since: 1.6
*/ */
ClutterInputDevice * ClutterInputDevice *
clutter_event_get_source_device (const ClutterEvent *event) 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(). * The #ClutterEvent must have been created using clutter_event_new().
* *
* * Since: 1.8
*/ */
void void
clutter_event_set_source_device (ClutterEvent *event, 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 * Return value: (transfer none): an array of axis values
* *
* * Since: 1.6
*/ */
gdouble * gdouble *
clutter_event_get_axes (const ClutterEvent *event, 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 * Return value: the distance between two #ClutterEvent
* *
* * Since: 1.12
*/ */
float float
clutter_event_get_distance (const ClutterEvent *source, 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 * Return value: the angle between two #ClutterEvent
* *
* * Since: 1.12
*/ */
double double
clutter_event_get_angle (const ClutterEvent *source, 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 * Return value: %TRUE if the event has the Shift modifier mask set
* *
* * Since: 1.12
*/ */
gboolean gboolean
clutter_event_has_shift_modifier (const ClutterEvent *event) 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 * Return value: %TRUE if the event has the Control modifier mask set
* *
* * Since: 1.12
*/ */
gboolean gboolean
clutter_event_has_control_modifier (const ClutterEvent *event) 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 * Return value: %TRUE if the event is pointer emulated
* *
* * Since: 1.12
*/ */
gboolean gboolean
clutter_event_is_pointer_emulated (const ClutterEvent *event) clutter_event_is_pointer_emulated (const ClutterEvent *event)

View File

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

View File

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

View File

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

View File

@ -73,10 +73,12 @@
#include <math.h> #include <math.h>
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
#include "deprecated/clutter-container.h"
#include "clutter-actor.h" #include "clutter-actor.h"
#include "clutter-animatable.h" #include "clutter-animatable.h"
#include "clutter-child-meta.h" #include "clutter-child-meta.h"
#include "clutter-container.h"
#include "clutter-debug.h" #include "clutter-debug.h"
#include "clutter-enum-types.h" #include "clutter-enum-types.h"
#include "clutter-flow-layout.h" #include "clutter-flow-layout.h"
@ -111,7 +113,6 @@ struct _ClutterFlowLayoutPrivate
guint line_count; guint line_count;
guint is_homogeneous : 1; guint is_homogeneous : 1;
guint snap_to_grid : 1;
}; };
enum enum
@ -130,8 +131,6 @@ enum
PROP_MIN_ROW_HEGHT, PROP_MIN_ROW_HEGHT,
PROP_MAX_ROW_HEIGHT, PROP_MAX_ROW_HEIGHT,
PROP_SNAP_TO_GRID,
N_PROPERTIES N_PROPERTIES
}; };
@ -259,12 +258,7 @@ clutter_flow_layout_get_preferred_width (ClutterLayoutManager *manager,
if (priv->orientation == CLUTTER_FLOW_VERTICAL && for_height > 0) if (priv->orientation == CLUTTER_FLOW_VERTICAL && for_height > 0)
{ {
clutter_actor_get_preferred_height (child, -1, if (line_item_count == n_rows)
&child_min,
&child_natural);
if ((priv->snap_to_grid && line_item_count == n_rows) ||
(!priv->snap_to_grid && item_y + child_natural > for_height))
{ {
total_min_width += line_min_width; total_min_width += line_min_width;
total_natural_width += line_natural_width; total_natural_width += line_natural_width;
@ -281,17 +275,9 @@ clutter_flow_layout_get_preferred_width (ClutterLayoutManager *manager,
item_y = 0; item_y = 0;
} }
if (priv->snap_to_grid)
{
new_y = ((line_item_count + 1) * (for_height + priv->row_spacing)) new_y = ((line_item_count + 1) * (for_height + priv->row_spacing))
/ n_rows; / n_rows;
item_height = new_y - item_y - priv->row_spacing; item_height = new_y - item_y - priv->row_spacing;
}
else
{
new_y = item_y + child_natural + priv->row_spacing;
item_height = child_natural;
}
clutter_actor_get_preferred_width (child, item_height, clutter_actor_get_preferred_width (child, item_height,
&child_min, &child_min,
@ -450,12 +436,7 @@ clutter_flow_layout_get_preferred_height (ClutterLayoutManager *manager,
if (priv->orientation == CLUTTER_FLOW_HORIZONTAL && for_width > 0) if (priv->orientation == CLUTTER_FLOW_HORIZONTAL && for_width > 0)
{ {
clutter_actor_get_preferred_width (child, -1, if (line_item_count == n_columns)
&child_min,
&child_natural);
if ((priv->snap_to_grid && line_item_count == n_columns) ||
(!priv->snap_to_grid && item_x + child_natural > for_width))
{ {
total_min_height += line_min_height; total_min_height += line_min_height;
total_natural_height += line_natural_height; total_natural_height += line_natural_height;
@ -472,17 +453,9 @@ clutter_flow_layout_get_preferred_height (ClutterLayoutManager *manager,
item_x = 0; item_x = 0;
} }
if (priv->snap_to_grid)
{
new_x = ((line_item_count + 1) * (for_width + priv->col_spacing)) new_x = ((line_item_count + 1) * (for_width + priv->col_spacing))
/ n_columns; / n_columns;
item_width = new_x - item_x - priv->col_spacing; item_width = new_x - item_x - priv->col_spacing;
}
else
{
new_x = item_x + child_natural + priv->col_spacing;
item_width = child_natural;
}
clutter_actor_get_preferred_height (child, item_width, clutter_actor_get_preferred_height (child, item_width,
&child_min, &child_min,
@ -633,24 +606,15 @@ clutter_flow_layout_allocate (ClutterLayoutManager *manager,
ClutterActorBox child_alloc; ClutterActorBox child_alloc;
gfloat item_width, item_height; gfloat item_width, item_height;
gfloat new_x, new_y; gfloat new_x, new_y;
gfloat child_min, child_natural;
if (!CLUTTER_ACTOR_IS_VISIBLE (child)) if (!CLUTTER_ACTOR_IS_VISIBLE (child))
continue; continue;
new_x = new_y = 0; 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->orientation == CLUTTER_FLOW_HORIZONTAL)
{ {
if ((priv->snap_to_grid && if (line_item_count == items_per_line && line_item_count > 0)
line_item_count == items_per_line && line_item_count > 0) ||
(!priv->snap_to_grid && item_x + item_width > avail_width))
{ {
item_y += g_array_index (priv->line_natural, item_y += g_array_index (priv->line_natural,
gfloat, gfloat,
@ -665,27 +629,31 @@ clutter_flow_layout_allocate (ClutterLayoutManager *manager,
item_x = x_off; item_x = x_off;
} }
if (priv->snap_to_grid)
{
new_x = x_off + ((line_item_count + 1) * (avail_width + priv->col_spacing)) new_x = x_off + ((line_item_count + 1) * (avail_width + priv->col_spacing))
/ items_per_line; / items_per_line;
item_width = new_x - item_x - priv->col_spacing; item_width = new_x - item_x - priv->col_spacing;
}
else
{
new_x = item_x + item_width + priv->col_spacing;
}
item_height = g_array_index (priv->line_natural, item_height = g_array_index (priv->line_natural,
gfloat, gfloat,
line_index); 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 else
{ {
if ((priv->snap_to_grid && if (line_item_count == items_per_line && line_item_count > 0)
line_item_count == items_per_line && line_item_count > 0) ||
(!priv->snap_to_grid && item_y + item_height > avail_height))
{ {
item_x += g_array_index (priv->line_natural, item_x += g_array_index (priv->line_natural,
gfloat, gfloat,
@ -700,41 +668,28 @@ clutter_flow_layout_allocate (ClutterLayoutManager *manager,
item_y = y_off; item_y = y_off;
} }
if (priv->snap_to_grid)
{
new_y = y_off + ((line_item_count + 1) * (avail_height + priv->row_spacing)) new_y = y_off + ((line_item_count + 1) * (avail_height + priv->row_spacing))
/ items_per_line; / items_per_line;
item_height = new_y - item_y - priv->row_spacing; item_height = new_y - item_y - priv->row_spacing;
}
else
{
new_y = item_y + item_height + priv->row_spacing;
}
item_width = g_array_index (priv->line_natural, item_width = g_array_index (priv->line_natural,
gfloat, gfloat,
line_index); line_index);
}
if (!priv->is_homogeneous && if (!priv->is_homogeneous)
!clutter_actor_needs_expand (child,
CLUTTER_ORIENTATION_HORIZONTAL))
{ {
gfloat child_min, child_natural;
clutter_actor_get_preferred_width (child, item_height, clutter_actor_get_preferred_width (child, item_height,
&child_min, &child_min,
&child_natural); &child_natural);
item_width = MIN (item_width, child_natural); item_width = MIN (item_width, child_natural);
}
if (!priv->is_homogeneous &&
!clutter_actor_needs_expand (child,
CLUTTER_ORIENTATION_VERTICAL))
{
clutter_actor_get_preferred_height (child, item_width, clutter_actor_get_preferred_height (child, item_width,
&child_min, &child_min,
&child_natural); &child_natural);
item_height = MIN (item_height, child_natural); item_height = MIN (item_height, child_natural);
} }
}
CLUTTER_NOTE (LAYOUT, CLUTTER_NOTE (LAYOUT,
"flow[line:%d, item:%d/%d] =" "flow[line:%d, item:%d/%d] ="
@ -834,11 +789,6 @@ clutter_flow_layout_set_property (GObject *gobject,
g_value_get_float (value)); g_value_get_float (value));
break; break;
case PROP_SNAP_TO_GRID:
clutter_flow_layout_set_snap_to_grid (self,
g_value_get_boolean (value));
break;
default: default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
break; break;
@ -887,10 +837,6 @@ clutter_flow_layout_get_property (GObject *gobject,
g_value_set_float (value, priv->max_row_height); g_value_set_float (value, priv->max_row_height);
break; break;
case PROP_SNAP_TO_GRID:
g_value_set_boolean (value, priv->snap_to_grid);
break;
default: default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
break; break;
@ -937,7 +883,7 @@ clutter_flow_layout_class_init (ClutterFlowLayoutClass *klass)
* *
* This property also controls the overflowing directions * This property also controls the overflowing directions
* *
* * Since: 1.2
*/ */
flow_properties[PROP_ORIENTATION] = flow_properties[PROP_ORIENTATION] =
g_param_spec_enum ("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 * Whether each child inside the #ClutterFlowLayout should receive
* the same allocation * the same allocation
* *
* * Since: 1.2
*/ */
flow_properties[PROP_HOMOGENEOUS] = flow_properties[PROP_HOMOGENEOUS] =
g_param_spec_boolean ("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 * property is honoured by horizontal non-overflowing layouts
* and by vertical overflowing layouts * and by vertical overflowing layouts
* *
* * Since: 1.2
*/ */
flow_properties[PROP_COLUMN_SPACING] = flow_properties[PROP_COLUMN_SPACING] =
g_param_spec_float ("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 * property is honoured by vertical non-overflowing layouts and
* by horizontal overflowing layouts * by horizontal overflowing layouts
* *
* * Since: 1.2
*/ */
flow_properties[PROP_ROW_SPACING] = flow_properties[PROP_ROW_SPACING] =
g_param_spec_float ("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 * Minimum width for each column in the layout, in pixels
* *
* * Since: 1.2
*/ */
flow_properties[PROP_MIN_COLUMN_WIDTH] = flow_properties[PROP_MIN_COLUMN_WIDTH] =
g_param_spec_float ("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 * Maximum width for each column in the layout, in pixels. If
* set to -1 the width will be the maximum child width * set to -1 the width will be the maximum child width
* *
* * Since: 1.2
*/ */
flow_properties[PROP_MAX_COLUMN_WIDTH] = flow_properties[PROP_MAX_COLUMN_WIDTH] =
g_param_spec_float ("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 * Minimum height for each row in the layout, in pixels
* *
* * Since: 1.2
*/ */
flow_properties[PROP_MIN_ROW_HEGHT] = flow_properties[PROP_MIN_ROW_HEGHT] =
g_param_spec_float ("min-row-height", 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 * Maximum height for each row in the layout, in pixels. If
* set to -1 the width will be the maximum child height * set to -1 the width will be the maximum child height
* *
* * Since: 1.2
*/ */
flow_properties[PROP_MAX_ROW_HEIGHT] = flow_properties[PROP_MAX_ROW_HEIGHT] =
g_param_spec_float ("max-row-height", g_param_spec_float ("max-row-height",
@ -1058,21 +1004,6 @@ clutter_flow_layout_class_init (ClutterFlowLayoutClass *klass)
-1.0, -1.0,
CLUTTER_PARAM_READWRITE); 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->finalize = clutter_flow_layout_finalize;
gobject_class->set_property = clutter_flow_layout_set_property; gobject_class->set_property = clutter_flow_layout_set_property;
gobject_class->get_property = clutter_flow_layout_get_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_min = NULL;
priv->line_natural = 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 * Return value: the newly created #ClutterFlowLayout
* *
* * Since: 1.2
*/ */
ClutterLayoutManager * ClutterLayoutManager *
clutter_flow_layout_new (ClutterFlowOrientation orientation) clutter_flow_layout_new (ClutterFlowOrientation orientation)
@ -1130,7 +1060,7 @@ clutter_flow_layout_new (ClutterFlowOrientation orientation)
* the children: either horizontally or vertically. The * the children: either horizontally or vertically. The
* orientation also controls the direction of the overflowing * orientation also controls the direction of the overflowing
* *
* * Since: 1.2
*/ */
void void
clutter_flow_layout_set_orientation (ClutterFlowLayout *layout, 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 * Return value: the orientation of the #ClutterFlowLayout
* *
* * Since: 1.2
*/ */
ClutterFlowOrientation ClutterFlowOrientation
clutter_flow_layout_get_orientation (ClutterFlowLayout *layout) 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 * Sets whether the @layout should allocate the same space for
* each child * each child
* *
* * Since: 1.2
*/ */
void void
clutter_flow_layout_set_homogeneous (ClutterFlowLayout *layout, 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 * Return value: %TRUE if the #ClutterFlowLayout is homogeneous
* *
* * Since: 1.2
*/ */
gboolean gboolean
clutter_flow_layout_get_homogeneous (ClutterFlowLayout *layout) 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 * Sets the space between columns, in pixels
* *
* * Since: 1.2
*/ */
void void
clutter_flow_layout_set_column_spacing (ClutterFlowLayout *layout, 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, * Return value: the spacing between columns of the #ClutterFlowLayout,
* in pixels * in pixels
* *
* * Since: 1.2
*/ */
gfloat gfloat
clutter_flow_layout_get_column_spacing (ClutterFlowLayout *layout) 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 * Sets the spacing between rows, in pixels
* *
* * Since: 1.2
*/ */
void void
clutter_flow_layout_set_row_spacing (ClutterFlowLayout *layout, 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, * Return value: the spacing between rows of the #ClutterFlowLayout,
* in pixels * in pixels
* *
* * Since: 1.2
*/ */
gfloat gfloat
clutter_flow_layout_get_row_spacing (ClutterFlowLayout *layout) 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 * Sets the minimum and maximum widths that a column can have
* *
* * Since: 1.2
*/ */
void void
clutter_flow_layout_set_column_width (ClutterFlowLayout *layout, 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 * Retrieves the minimum and maximum column widths
* *
* * Since: 1.2
*/ */
void void
clutter_flow_layout_get_column_width (ClutterFlowLayout *layout, 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 * Sets the minimum and maximum heights that a row can have
* *
* * Since: 1.2
*/ */
void void
clutter_flow_layout_set_row_height (ClutterFlowLayout *layout, 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 * Retrieves the minimum and maximum row heights
* *
* * Since: 1.2
*/ */
void void
clutter_flow_layout_get_row_height (ClutterFlowLayout *layout, clutter_flow_layout_get_row_height (ClutterFlowLayout *layout,
@ -1504,51 +1434,3 @@ clutter_flow_layout_get_row_height (ClutterFlowLayout *layout,
if (max_height) if (max_height)
*max_height = layout->priv->max_row_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 * The #ClutterFlowLayout structure contains only private data
* and should be accessed using the provided API * and should be accessed using the provided API
* *
* * Since: 1.2
*/ */
struct _ClutterFlowLayout struct _ClutterFlowLayout
{ {
@ -66,7 +66,7 @@ struct _ClutterFlowLayout
* The #ClutterFlowLayoutClass structure contains only private data * The #ClutterFlowLayoutClass structure contains only private data
* and should be accessed using the provided API * and should be accessed using the provided API
* *
* * Since: 1.2
*/ */
struct _ClutterFlowLayoutClass struct _ClutterFlowLayoutClass
{ {
@ -104,9 +104,6 @@ void clutter_flow_layout_set_row_height (ClutterFlowLayout
void clutter_flow_layout_get_row_height (ClutterFlowLayout *layout, void clutter_flow_layout_get_row_height (ClutterFlowLayout *layout,
gfloat *min_height, gfloat *min_height,
gfloat *max_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 G_END_DECLS

View File

@ -35,11 +35,13 @@ G_BEGIN_DECLS
* it needs to wait until the drag threshold has been exceeded before * it needs to wait until the drag threshold has been exceeded before
* considering that the gesture has begun; * considering that the gesture has begun;
* @CLUTTER_GESTURE_TRIGGER_BEFORE: Tell #ClutterGestureAction that * @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. * once the drag exceed the configured threshold.
* *
* Enum passed to the _clutter_gesture_action_set_threshold_trigger_edge() * Enum passed to the _clutter_gesture_action_set_threshold_trigger_edge()
* function. * function.
*
* Since: 1.14
*/ */
typedef enum typedef enum
{ {

View File

@ -79,6 +79,8 @@
* gesture is cancelled, in which case the "cancel" gesture will be used * gesture is cancelled, in which case the "cancel" gesture will be used
* instead.</para> * instead.</para>
* </refsect2> * </refsect2>
*
* Since: 1.8
*/ */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
@ -126,15 +128,6 @@ struct _ClutterGestureActionPrivate
guint in_gesture : 1; guint in_gesture : 1;
}; };
enum
{
PROP_0,
PROP_N_TOUCH_POINTS,
PROP_LAST
};
enum enum
{ {
GESTURE_BEGIN, GESTURE_BEGIN,
@ -145,7 +138,6 @@ enum
LAST_SIGNAL LAST_SIGNAL
}; };
static GParamSpec *gesture_props[PROP_LAST];
static guint gesture_signals[LAST_SIGNAL] = { 0, }; static guint gesture_signals[LAST_SIGNAL] = { 0, };
G_DEFINE_TYPE (ClutterGestureAction, clutter_gesture_action, CLUTTER_TYPE_ACTION); 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); 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 static gint
gesture_get_threshold (void) gesture_get_threshold (ClutterGestureAction *action)
{ {
gint threshold; gint threshold;
ClutterSettings *settings = clutter_settings_get_default (); ClutterSettings *settings = clutter_settings_get_default ();
@ -270,20 +222,6 @@ gesture_get_threshold (void)
return threshold; 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 static void
gesture_point_unset (GesturePoint *point) gesture_point_unset (GesturePoint *point)
{ {
@ -352,6 +290,8 @@ stage_captured_event_cb (ClutterActor *stage,
gint position, drag_threshold; gint position, drag_threshold;
gboolean return_value; gboolean return_value;
GesturePoint *point; GesturePoint *point;
gfloat motion_x, motion_y;
gint64 time;
if ((point = gesture_find_point (action, event, &position)) == NULL) if ((point = gesture_find_point (action, event, &position)) == NULL)
return CLUTTER_EVENT_PROPAGATE; return CLUTTER_EVENT_PROPAGATE;
@ -377,31 +317,39 @@ stage_captured_event_cb (ClutterActor *stage,
/* Follow same code path as a touch event update */ /* Follow same code path as a touch event update */
case CLUTTER_TOUCH_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->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 /* Wait until the drag threshold has been exceeded
* before starting _TRIGGER_EDGE_AFTER gestures. */ * before starting _TRIGGER_EDGE_AFTER gestures. */
if (priv->edge == CLUTTER_GESTURE_TRIGGER_EDGE_AFTER && if (priv->edge == CLUTTER_GESTURE_TRIGGER_EDGE_AFTER &&
gesture_point_pass_threshold (point, event)) (fabsf (point->press_y - motion_y) < drag_threshold) &&
{ (fabsf (point->press_x - motion_x) < drag_threshold))
gesture_update_motion_point (point, event);
return CLUTTER_EVENT_PROPAGATE; return CLUTTER_EVENT_PROPAGATE;
}
if (!begin_gesture(action, actor)) 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, g_signal_emit (action, gesture_signals[GESTURE_PROGRESS], 0, actor,
&return_value); &return_value);
@ -413,10 +361,9 @@ stage_captured_event_cb (ClutterActor *stage,
/* Check if a _TRIGGER_EDGE_BEFORE gesture needs to be cancelled because /* Check if a _TRIGGER_EDGE_BEFORE gesture needs to be cancelled because
* the drag threshold has been exceeded. */ * the drag threshold has been exceeded. */
drag_threshold = gesture_get_threshold ();
if (priv->edge == CLUTTER_GESTURE_TRIGGER_EDGE_BEFORE && if (priv->edge == CLUTTER_GESTURE_TRIGGER_EDGE_BEFORE &&
((fabsf (point->press_y - point->last_motion_y) > drag_threshold) || ((fabsf (point->press_y - motion_y) > drag_threshold) ||
(fabsf (point->press_x - point->last_motion_x) > drag_threshold))) (fabsf (point->press_x - motion_x) > drag_threshold)))
{ {
cancel_gesture (action); cancel_gesture (action);
return CLUTTER_EVENT_PROPAGATE; return CLUTTER_EVENT_PROPAGATE;
@ -426,11 +373,20 @@ stage_captured_event_cb (ClutterActor *stage,
case CLUTTER_BUTTON_RELEASE: case CLUTTER_BUTTON_RELEASE:
case CLUTTER_TOUCH_END: 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 && if (priv->in_gesture &&
((priv->points->len - 1) < priv->requested_nb_points)) ((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; priv->in_gesture = FALSE;
g_signal_emit (action, gesture_signals[GESTURE_END], 0, actor); g_signal_emit (action, gesture_signals[GESTURE_END], 0, actor);
} }
@ -441,8 +397,6 @@ stage_captured_event_cb (ClutterActor *stage,
case CLUTTER_TOUCH_CANCEL: case CLUTTER_TOUCH_CANCEL:
{ {
gesture_update_release_point (point, event);
if (priv->in_gesture) if (priv->in_gesture)
{ {
priv->in_gesture = FALSE; priv->in_gesture = FALSE;
@ -494,8 +448,7 @@ actor_captured_event_cb (ClutterActor *actor,
/* Start the gesture immediately if the gesture has no /* Start the gesture immediately if the gesture has no
* _TRIGGER_EDGE_AFTER drag threshold. */ * _TRIGGER_EDGE_AFTER drag threshold. */
if ((priv->points->len < priv->requested_nb_points) && if (priv->edge != CLUTTER_GESTURE_TRIGGER_EDGE_AFTER)
(priv->edge != CLUTTER_GESTURE_TRIGGER_EDGE_AFTER))
begin_gesture (action, actor); begin_gesture (action, actor);
return CLUTTER_EVENT_PROPAGATE; return CLUTTER_EVENT_PROPAGATE;
@ -556,6 +509,8 @@ default_event_handler (ClutterGestureAction *action,
* *
* This function can be called by #ClutterGestureAction subclasses that needs * This function can be called by #ClutterGestureAction subclasses that needs
* to change the %CLUTTER_GESTURE_TRIGGER_EDGE_AFTER default. * to change the %CLUTTER_GESTURE_TRIGGER_EDGE_AFTER default.
*
* Since: 1.14
*/ */
void void
_clutter_gesture_action_set_threshold_trigger_edge (ClutterGestureAction *action, _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; 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 static void
clutter_gesture_action_class_init (ClutterGestureActionClass *klass) clutter_gesture_action_class_init (ClutterGestureActionClass *klass)
{ {
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
ClutterActorMetaClass *meta_class = CLUTTER_ACTOR_META_CLASS (klass); ClutterActorMetaClass *meta_class = CLUTTER_ACTOR_META_CLASS (klass);
g_type_class_add_private (klass, sizeof (ClutterGestureActionPrivate)); 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; meta_class->set_actor = clutter_gesture_action_set_actor;
klass->gesture_begin = default_event_handler; klass->gesture_begin = default_event_handler;
klass->gesture_progress = default_event_handler; klass->gesture_progress = default_event_handler;
klass->gesture_prepare = 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: * ClutterGestureAction::gesture-begin:
* @action: the #ClutterGestureAction that emitted the signal * @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 * Return value: %TRUE if the gesture should start, and %FALSE if
* the gesture should be ignored. * the gesture should be ignored.
* *
* * Since: 1.8
*/ */
gesture_signals[GESTURE_BEGIN] = gesture_signals[GESTURE_BEGIN] =
g_signal_new (I_("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 * Return value: %TRUE if the gesture should continue, and %FALSE if
* the gesture should be cancelled. * the gesture should be cancelled.
* *
* * Since: 1.8
*/ */
gesture_signals[GESTURE_PROGRESS] = gesture_signals[GESTURE_PROGRESS] =
g_signal_new (I_("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 * This signal is emitted if and only if the #ClutterGestureAction::gesture-begin
* signal has been emitted first. * signal has been emitted first.
* *
* * Since: 1.8
*/ */
gesture_signals[GESTURE_END] = gesture_signals[GESTURE_END] =
g_signal_new (I_("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 * This signal is emitted if and only if the #ClutterGestureAction::gesture-begin
* signal has been emitted first. * signal has been emitted first.
* *
* * Since: 1.8
*/ */
gesture_signals[GESTURE_CANCEL] = gesture_signals[GESTURE_CANCEL] =
g_signal_new (I_("gesture-cancel"), g_signal_new (I_("gesture-cancel"),
@ -763,7 +645,7 @@ clutter_gesture_action_init (ClutterGestureAction *self)
* *
* Return value: the newly created #ClutterGestureAction * Return value: the newly created #ClutterGestureAction
* *
* * Since: 1.8
*/ */
ClutterAction * ClutterAction *
clutter_gesture_action_new (void) clutter_gesture_action_new (void)
@ -784,7 +666,7 @@ clutter_gesture_action_new (void)
* Retrieves the coordinates, in stage space, of the press event * Retrieves the coordinates, in stage space, of the press event
* that started the dragging for a specific touch point. * that started the dragging for a specific touch point.
* *
* * Since: 1.8
*/ */
void void
clutter_gesture_action_get_press_coords (ClutterGestureAction *action, 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 * Retrieves the coordinates, in stage space, of the latest motion
* event during the dragging. * event during the dragging.
* *
* * Since: 1.8
*/ */
void void
clutter_gesture_action_get_motion_coords (ClutterGestureAction *action, clutter_gesture_action_get_motion_coords (ClutterGestureAction *action,
@ -855,6 +737,8 @@ clutter_gesture_action_get_motion_coords (ClutterGestureAction *action,
* during the dragging. * during the dragging.
* *
* Return value: the distance since last motion event * Return value: the distance since last motion event
*
* Since: 1.12
*/ */
gfloat gfloat
clutter_gesture_action_get_motion_delta (ClutterGestureAction *action, 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 * Retrieves the coordinates, in stage space, where the touch point was
* last released. * last released.
* *
* * Since: 1.8
*/ */
void void
clutter_gesture_action_get_release_coords (ClutterGestureAction *action, 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 * Retrieves the velocity, in stage pixels per millisecond, of the
* latest motion event during the dragging. * latest motion event during the dragging.
*
* Since: 1.12
*/ */
gfloat gfloat
clutter_gesture_action_get_velocity (ClutterGestureAction *action, 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. * Return value: the number of points to trigger the gesture.
* *
* * Since: 1.12
*/ */
gint gint
clutter_gesture_action_get_n_touch_points (ClutterGestureAction *action) 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. * Sets the number of points needed to trigger the gesture.
* *
* * Since: 1.12
*/ */
void void
clutter_gesture_action_set_n_touch_points (ClutterGestureAction *action, 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; priv = action->priv;
if (priv->requested_nb_points == nb_points)
return;
priv->requested_nb_points = nb_points; priv->requested_nb_points = nb_points;
if (priv->in_gesture) 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)); clutter_actor_meta_get_actor (CLUTTER_ACTOR_META (action));
gint i, drag_threshold; gint i, drag_threshold;
drag_threshold = gesture_get_threshold (); drag_threshold = gesture_get_threshold (action);
for (i = 0; i < priv->points->len; i++) 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. * Retrieves the number of points currently active.
* *
* Return value: the number of points currently active. * Return value: the number of points currently active.
*
* Since: 1.12
*/ */
guint guint
clutter_gesture_action_get_n_current_points (ClutterGestureAction *action) 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. * Retrieves the #ClutterEventSequence of a touch point.
* *
* Return value: (transfer none): the #ClutterEventSequence of a touch point. * Return value: (transfer none): the #ClutterEventSequence of a touch point.
*
* Since: 1.12
*/ */
ClutterEventSequence * ClutterEventSequence *
clutter_gesture_action_get_sequence (ClutterGestureAction *action, 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. * Retrieves the #ClutterInputDevice of a touch point.
* *
* Return value: (transfer none): the #ClutterInputDevice of a touch point. * Return value: (transfer none): the #ClutterInputDevice of a touch point.
*
* Since: 1.12
*/ */
ClutterInputDevice * ClutterInputDevice *
clutter_gesture_action_get_device (ClutterGestureAction *action, 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. * clutter_event_copy() if you need to store the reference somewhere.
* *
* Return value: (transfer none): the last #ClutterEvent for a touch point. * Return value: (transfer none): the last #ClutterEvent for a touch point.
*
* Since: 1.14
*/ */
const ClutterEvent * const ClutterEvent *
clutter_gesture_action_get_last_event (ClutterGestureAction *action, clutter_gesture_action_get_last_event (ClutterGestureAction *action,
@ -1120,6 +1008,8 @@ clutter_gesture_action_get_last_event (ClutterGestureAction *action,
* @action: a #ClutterGestureAction * @action: a #ClutterGestureAction
* *
* Cancel a #ClutterGestureAction before it begins * Cancel a #ClutterGestureAction before it begins
*
* Since: 1.12
*/ */
void void
clutter_gesture_action_cancel (ClutterGestureAction *action) clutter_gesture_action_cancel (ClutterGestureAction *action)

View File

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

View File

@ -509,7 +509,7 @@ compute_request_for_child (ClutterGridRequest *request,
} }
else else
{ {
if (orientation == CLUTTER_ORIENTATION_HORIZONTAL) if (orientation == CLUTTER_ORIENTATION_VERTICAL)
clutter_actor_get_preferred_width (child, -1, minimum, natural); clutter_actor_get_preferred_width (child, -1, minimum, natural);
else else
clutter_actor_get_preferred_height (child, -1, minimum, natural); 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 * The orientation of the layout, either horizontal or vertical
* *
* * Since: 1.12
*/ */
obj_props[PROP_ORIENTATION] = obj_props[PROP_ORIENTATION] =
g_param_spec_enum ("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 * The amount of space in pixels between two consecutive rows
* *
* * Since: 1.12
*/ */
obj_props[PROP_ROW_SPACING] = obj_props[PROP_ROW_SPACING] =
g_param_spec_uint ("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 * The amount of space in pixels between two consecutive columns
* *
* * Since: 1.12
*/ */
obj_props[PROP_COLUMN_SPACING] = obj_props[PROP_COLUMN_SPACING] =
g_param_spec_uint ("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 * Whether all rows of the layout should have the same height
* *
* * Since: 1.12
*/ */
obj_props[PROP_ROW_HOMOGENEOUS] = obj_props[PROP_ROW_HOMOGENEOUS] =
g_param_spec_boolean ("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 * Whether all columns of the layout should have the same width
* *
* * Since: 1.12
*/ */
obj_props[PROP_COLUMN_HOMOGENEOUS] = obj_props[PROP_COLUMN_HOMOGENEOUS] =
g_param_spec_boolean ("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 * number of 'cells' that @child will occupy is determined by
* @width and @height. * @width and @height.
* *
* * Since: 1.12
*/ */
void void
clutter_grid_layout_attach (ClutterGridLayout *layout, 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 * Attaching widgets labeled [1], [2], [3] with @sibling == %NULL and
* @side == %CLUTTER_GRID_POSITION_LEFT yields a layout of [3][2][1]. * @side == %CLUTTER_GRID_POSITION_LEFT yields a layout of [3][2][1].
* *
* * Since: 1.12
*/ */
void void
clutter_grid_layout_attach_next_to (ClutterGridLayout *layout, 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 * Sets the orientation of the @layout
* *
* * Since: 1.12
*/ */
void void
clutter_grid_layout_set_orientation (ClutterGridLayout *layout, 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 * Returns: (transfer none): the child at the given position, or %NULL
* *
* * Since: 1.12
*/ */
ClutterActor * ClutterActor *
clutter_grid_layout_get_child_at (ClutterGridLayout *layout, 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 * are moved one row down. Children which span across this
* position are grown to span the new row. * position are grown to span the new row.
* *
* * Since: 1.12
*/ */
void void
clutter_grid_layout_insert_row (ClutterGridLayout *layout, 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 * are moved one column to the right. Children which span across this
* position are grown to span the new column. * position are grown to span the new column.
* *
* * Since: 1.12
*/ */
void void
clutter_grid_layout_insert_column (ClutterGridLayout *layout, 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, * %CLUTTER_GRID_POSITION_LEFT of %CLUTTER_GRID_POSITION_RIGHT,
* a column is inserted. * a column is inserted.
* *
* * Since: 1.12
*/ */
void void
clutter_grid_layout_insert_next_to (ClutterGridLayout *layout, 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 * Return value: the orientation of the layout
* *
* * Since: 1.12
*/ */
ClutterOrientation ClutterOrientation
clutter_grid_layout_get_orientation (ClutterGridLayout *layout) 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 * Sets the spacing between rows of @layout
* *
* * Since: 1.12
*/ */
void void
clutter_grid_layout_set_row_spacing (ClutterGridLayout *layout, 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 * Return value: the spacing between rows of @layout
* *
* * Since: 1.12
*/ */
guint guint
clutter_grid_layout_get_row_spacing (ClutterGridLayout *layout) 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 * Sets the spacing between columns of @layout
* *
* * Since: 1.12
*/ */
void void
clutter_grid_layout_set_column_spacing (ClutterGridLayout *layout, 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 * Return value: the spacing between coluns of @layout
* *
* * Since: 1.12
*/ */
guint guint
clutter_grid_layout_get_column_spacing (ClutterGridLayout *layout) 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. * Sets whether all columns of @layout will have the same width.
* *
* * Since: 1.12
*/ */
void void
clutter_grid_layout_set_column_homogeneous (ClutterGridLayout *layout, 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. * Sets whether all rows of @layout will have the same height.
* *
* * Since: 1.12
*/ */
void void
clutter_grid_layout_set_row_homogeneous (ClutterGridLayout *layout, 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. * Returns: whether all rows of @layout have the same height.
* *
* * Since: 1.12
*/ */
gboolean gboolean
clutter_grid_layout_get_row_homogeneous (ClutterGridLayout *layout) 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 * The #ClutterGridLayout structure contains only private data
* and should be accessed using the provided API * and should be accessed using the provided API
* *
* * Since: 1.12
*/ */
struct _ClutterGridLayout struct _ClutterGridLayout
{ {
@ -70,7 +70,7 @@ struct _ClutterGridLayout
* The #ClutterGridLayoutClass structure contains only private * The #ClutterGridLayoutClass structure contains only private
* data and should be accessed using the provided API * data and should be accessed using the provided API
* *
* * Since: 1.12
*/ */
struct _ClutterGridLayoutClass struct _ClutterGridLayoutClass
{ {
@ -80,13 +80,13 @@ struct _ClutterGridLayoutClass
gpointer _padding[8]; gpointer _padding[8];
}; };
CLUTTER_AVAILABLE_IN_1_12
GType clutter_grid_layout_get_type (void) G_GNUC_CONST; GType clutter_grid_layout_get_type (void) G_GNUC_CONST;
CLUTTER_AVAILABLE_IN_1_12
ClutterLayoutManager * clutter_grid_layout_new (void); ClutterLayoutManager * clutter_grid_layout_new (void);
CLUTTER_AVAILABLE_IN_1_12
void clutter_grid_layout_attach (ClutterGridLayout *layout, void clutter_grid_layout_attach (ClutterGridLayout *layout,
ClutterActor *child, ClutterActor *child,
gint left, gint left,
@ -94,7 +94,7 @@ void clutter_grid_layout_attach (ClutterGrid
gint width, gint width,
gint height); gint height);
CLUTTER_AVAILABLE_IN_1_12
void clutter_grid_layout_attach_next_to (ClutterGridLayout *layout, void clutter_grid_layout_attach_next_to (ClutterGridLayout *layout,
ClutterActor *child, ClutterActor *child,
ClutterActor *sibling, ClutterActor *sibling,
@ -102,58 +102,58 @@ void clutter_grid_layout_attach_next_to (ClutterGrid
gint width, gint width,
gint height); gint height);
CLUTTER_AVAILABLE_IN_1_12
ClutterActor * clutter_grid_layout_get_child_at (ClutterGridLayout *layout, ClutterActor * clutter_grid_layout_get_child_at (ClutterGridLayout *layout,
gint left, gint left,
gint top); gint top);
CLUTTER_AVAILABLE_IN_1_12
void clutter_grid_layout_insert_row (ClutterGridLayout *layout, void clutter_grid_layout_insert_row (ClutterGridLayout *layout,
gint position); gint position);
CLUTTER_AVAILABLE_IN_1_12
void clutter_grid_layout_insert_column (ClutterGridLayout *layout, void clutter_grid_layout_insert_column (ClutterGridLayout *layout,
gint position); gint position);
CLUTTER_AVAILABLE_IN_1_12
void clutter_grid_layout_insert_next_to (ClutterGridLayout *layout, void clutter_grid_layout_insert_next_to (ClutterGridLayout *layout,
ClutterActor *sibling, ClutterActor *sibling,
ClutterGridPosition side); ClutterGridPosition side);
CLUTTER_AVAILABLE_IN_1_12
void clutter_grid_layout_set_orientation (ClutterGridLayout *layout, void clutter_grid_layout_set_orientation (ClutterGridLayout *layout,
ClutterOrientation orientation); ClutterOrientation orientation);
CLUTTER_AVAILABLE_IN_1_12
ClutterOrientation clutter_grid_layout_get_orientation (ClutterGridLayout *layout); ClutterOrientation clutter_grid_layout_get_orientation (ClutterGridLayout *layout);
CLUTTER_AVAILABLE_IN_1_12
void clutter_grid_layout_set_column_spacing (ClutterGridLayout *layout, void clutter_grid_layout_set_column_spacing (ClutterGridLayout *layout,
guint spacing); guint spacing);
CLUTTER_AVAILABLE_IN_1_12
guint clutter_grid_layout_get_column_spacing (ClutterGridLayout *layout); guint clutter_grid_layout_get_column_spacing (ClutterGridLayout *layout);
CLUTTER_AVAILABLE_IN_1_12
void clutter_grid_layout_set_row_spacing (ClutterGridLayout *layout, void clutter_grid_layout_set_row_spacing (ClutterGridLayout *layout,
guint spacing); guint spacing);
CLUTTER_AVAILABLE_IN_1_12
guint clutter_grid_layout_get_row_spacing (ClutterGridLayout *layout); guint clutter_grid_layout_get_row_spacing (ClutterGridLayout *layout);
CLUTTER_AVAILABLE_IN_1_12
void clutter_grid_layout_set_column_homogeneous (ClutterGridLayout *layout, void clutter_grid_layout_set_column_homogeneous (ClutterGridLayout *layout,
gboolean homogeneous); gboolean homogeneous);
CLUTTER_AVAILABLE_IN_1_12
gboolean clutter_grid_layout_get_column_homogeneous (ClutterGridLayout *layout); gboolean clutter_grid_layout_get_column_homogeneous (ClutterGridLayout *layout);
CLUTTER_AVAILABLE_IN_1_12
void clutter_grid_layout_set_row_homogeneous (ClutterGridLayout *layout, void clutter_grid_layout_set_row_homogeneous (ClutterGridLayout *layout,
gboolean homogeneous); gboolean homogeneous);
CLUTTER_AVAILABLE_IN_1_12
gboolean clutter_grid_layout_get_row_homogeneous (ClutterGridLayout *layout); gboolean clutter_grid_layout_get_row_homogeneous (ClutterGridLayout *layout);
G_END_DECLS G_END_DECLS

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