diff --git a/COPYING b/COPYING deleted file mode 100644 index 4362b4915..000000000 --- a/COPYING +++ /dev/null @@ -1,502 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! diff --git a/ChangeLog.pre-git-import b/ChangeLog.pre-git-import deleted file mode 100644 index 8a2962581..000000000 --- a/ChangeLog.pre-git-import +++ /dev/null @@ -1,15743 +0,0 @@ -# DO NOT MODIFY THIS FILE -# -# Clutter uses the Git commit log to generate the ChangeLog files when -# creating the tarball for releases and snapshots. This file is maintained -# only for historical reasons. - -2008-12-10 Neil Roberts - - * clutter/cogl/gl/cogl.c: - * clutter/cogl/gl/cogl-defines.h.in: - * clutter/cogl/gl/cogl-context.h: - * clutter/cogl/common/cogl-mesh.c: Rename the glBufferDataSub - function to glBufferSubData. When calling glXGetProcAddress with - the former Mesa returns a stub dispatch function which will - segfault if you try to use it. With NVIDIA it returns NULL so - _cogl_features_init decides the card doesn't have VBO support. - -2008-12-10 Neil Roberts - - Bug 1323 - ClutterBehaviorDepth conflicts with other behaviors - - * clutter/clutter-behaviour-ellipse.c (actor_apply_knot_foreach): - Don't set the depth if there is no x or y tilt. That way it can - still be used in conjunction with ClutterBehaviourDepth. Thanks to - Tonny Tzeng. - -2008-12-08 Emmanuele Bassi - - * clutter/clutter-binding-pool.h: Fix the ActivateFunc - documentation by adding a "return value" annotation. - -2008-12-08 Emmanuele Bassi - - * clutter/Makefile.am: - * clutter/clutter.h: Add ClutterBindingPool to the build. - - * clutter/clutter-binding-pool.c: - * clutter/clutter-binding-pool.h: Add ClutterBindingPool, a data - structure meant to hold (key symbol, modifiers) pairs and associate - them to a closure. The ClutterBindingPool can be used to install - key bindings for actors and then execute closures inside the - key-press-event signal handlers, removing the need for big - switch() or if() blocks for each key. - - * clutter/clutter-event.c: Consistently use "key symbol" instead - of "key value". - - * clutter/clutter-event.h: Add more modifier masks. - - * clutter/clutter-marshal.list: - - * tests/conform/Makefile.am: - * tests/conform/test-binding-pool.c: - * tests/conform/test-conform-main.c: Add ClutterBindingPool - conformance test. - - * tests/interactive/Makefile.am: - * tests/interactive/test-binding-pool.c: Add interactive test (and - example code) for the ClutterBindingPool usage. - -2008-12-08 Neil Roberts - - * clutter/clutter-main.c (_clutter_do_pick): Restore the GL_DITHER - state after reading the pixel value instead of before. Suggested - in bug 1328 thanks to Guy Zadickario. - -2008-12-05 Emmanuele Bassi - - Bug 1309 - clutter_timeline_new and clutter_timeline_set_speed - have two standard of the fps limitation - - * clutter/clutter-timeline.c: - (clutter_timeline_class_init): Set the maximum value of the - :fps property to be G_MAXUINT. (Zhang Wei) - -2008-12-05 Neil Roberts - - * clutter/clutter-entry.c: Fix the 'Since' annotation in the - gtk-doc. - -2008-12-05 Neil Roberts - - * clutter/clutter-timeline.c: - * clutter/clutter-texture.c: - * clutter/clutter-stage.c: - * clutter/clutter-label.c: - * clutter/clutter-behaviour-path.c: - * clutter/clutter-actor.c: Fix the 'Since' annotation in the - gtk-doc. - -2008-12-05 Neil Roberts - - Bug 1252 - Merge ClutterBehaviourPath and ClutterBehaviourBspline - - * clutter/clutter-path.h: - * clutter/clutter-path.c: Implementation of new ClutterPath object - to represent a path combining straight line and bezier curve - elements. - - * clutter/clutter.h: Include clutter-path.h and remove - clutter-behaviour-bspline.h - - * tests/interactive/test-threads.c (test_threads_main): - * tests/interactive/test-script.c: - * tests/interactive/test-behave.c (test_behave_main): Use new path - API - - * clutter/clutter-effect.c: Use the new ClutterBehaviourPath API. - - * clutter/clutter-bezier.h: - * clutter/clutter-bezier.c: Moved bezier curve handling code out - from clutter-behaviour-bspline.c to a separate file. - - * clutter/clutter-behaviour-path.h: - * clutter/clutter-behaviour-path.c: Reimplemented to work with a - ClutterPath - - * clutter/clutter-behaviour-bspline.h: - * clutter/clutter-behaviour-bspline.c: Removed - - * clutter/Makefile.am: Add clutter-path and clutter-bezier, remove - clutter-behaviour-bspline. - - * tests/conform/test-path.c: New automatic test for ClutterPath - consistency - - * tests/conform/test-conform-main.c (main): Add test_path - - * tests/conform/Makefile.am (test_conformance_SOURCES): Add - test-path.c - - * clutter/clutter-sections.txt: Add ClutterPath docs - - * clutter/clutter.types: - * clutter/clutter-docs.xml: - * doc/reference/clutter/clutter-animation-tutorial.xml: Remove - mention of ClutterBehaviourBspline - - * clutter/clutter-marshal.list: Add VOID:UINT - -2008-12-04 Neil Roberts - - Bug 1297 - Bring back support for GL_ARB_texture_rectangle - - * clutter/cogl/gl/cogl-texture.c (cogl_texture_new_from_foreign, - (_cogl_texture_quad_hw, cogl_texture_polygon), - (_cogl_texture_quad_sw): Support GL_ARB_texture_rectangle textures - - * clutter/glx/clutter-glx-texture-pixmap.c: Use rectangle textures - when NPOTs are not available or it is forced by the - CLUTTER_PIXMAP_TEXTURE_RECTANGLE environment variable. - - * clutter/cogl/gl/cogl.c (cogl_enable): Allow enabling - GL_TEXTURE_RECTANGLE_ARB. - -2008-12-04 Neil Roberts - - Bug 1172 - Disjoint paths and clip to path - - * clutter/cogl/cogl-path.h: - * clutter/cogl/common/cogl-primitives.c: - * clutter/cogl/common/cogl-primitives.h: - * clutter/cogl/gl/cogl-primitives.c: - * clutter/cogl/gles/cogl-primitives.c: Changed the semantics of - cogl_path_move_to. Previously this always started a new path but - now it instead starts a new disjoint sub path. The path isn't - cleared until you call either cogl_path_stroke, cogl_path_fill or - cogl_path_new. There are also cogl_path_stroke_preserve and - cogl_path_fill_preserve functions. - - * clutter/cogl/gl/cogl-context.c: - * clutter/cogl/gl/cogl-context.h: - * clutter/cogl/gles/cogl-context.c: - * clutter/cogl/gles/cogl-context.h: Convert the path nodes array - to a GArray. - - * clutter/cogl/gl/cogl-texture.c: - * clutter/cogl/gles/cogl-texture.c: Call cogl_clip_ensure - - * clutter/cogl/common/cogl-clip-stack.c: - * clutter/cogl/common/cogl-clip-stack.h: Simplified the clip - stack code quite a bit to make it more maintainable. Previously - whenever you added a new clip it would go through a separate route - to immediately intersect with the current clip and when you - removed it again it would immediately rebuild the entire clip. Now - when you add or remove a clip it doesn't do anything immediately - but just sets a dirty flag instead. - - * clutter/cogl/gl/cogl.c: - * clutter/cogl/gles/cogl.c: Taken away the code to intersect - stencil clips when there is exactly one stencil bit. It won't work - with path clips and I don't know of any platform that doesn't have - eight or zero stencil bits. It needs at least three bits to - intersect a path with an existing clip. cogl_features_init now - just decides you don't have a stencil buffer at all if you have - less than three bits. - - * clutter/cogl/cogl.h.in: New functions and documentation. - - * tests/interactive/test-clip.c: Replaced with a different test - that lets you add and remove clips. The three different mouse - buttons add clips in different shapes. This makes it easier to - test multiple levels of clipping. - - * tests/interactive/test-cogl-primitives.c: Use - cogl_path_stroke_preserve when using the same path again. - - * doc/reference/cogl/cogl-sections.txt: Document the new - functions. - -2008-12-03 Robert Bragg - - Bug 1303 - clutter_glx_texture_pixmap_using_extension doesn't check if - fallbacks are being used - - * glx/clutter-glx-texture-pixmap.c: - clutter_glx_texture_pixmap_using_extension now checks to see if - priv->use_fallback is TRUE not just that the tfp extension is - available. - -2008-12-01 Neil Roberts - - Bug 1305 - NPOT textures unaligned to a pixel sometimes have - border artifacts - - * clutter/cogl/gl/cogl-texture.c: Set the wrap mode of a texture - on demand - - Instead of setting the wrap mode once per texture at creation, it - is now changed whenever the texture is drawn. The previous value - is cached so that it isn't changed if the value is the same. - - This is used in _cogl_texture_quad_hw to only enable GL_REPEAT - mode when the coordinates are not in the range [0,1]. Otherwise it - can pull in pixels from the other edge when the texture is - rendered off-pixel. - -2008-11-28 Neil Roberts - - * tests/conform/test-backface-culling.c (TEXTURE_SIZE): Don't set - to a funny size on GLES because it will break cogl_texture_polygon - -2008-11-28 Neil Roberts - - * tests/conform/test-backface-culling.c: New test for backface - culling - - * tests/conform/test-conform-main.c (main): Add - /texture/test_backface_culing - - * tests/conform/Makefile.am (test_conformance_SOURCES): Add - test-backface-culling.c - -2008-11-28 Neil Roberts - - * tests/conform/test-mesh-mutability.c: - * tests/conform/test-mesh-interleved.c: - * tests/conform/test-mesh-contiguous.c: Remove the idle source - after the test is complete so that it won't interfere with other - tests. - -2008-11-26 Emmanuele Bassi - - * clutter/clutter-group.c: - (clutter_group_real_raise), (clutter_group_real_lower): Repaint - the Group on raise and lower. - -2008-11-26 Neil Roberts - - * clutter/cogl/gl/cogl-texture.c (cogl_texture_rectangle): Fixed - the test for whether to use hardware tiling. Previously it assumed - that texture coordinates are in increasing order but this is not - the case since bug 1057 was fixed. The texture coordinates are now - sorted later. It also allowed negative coordinates which doesn't - make sense if the texture has waste. - -2008-11-25 Emmanuele Bassi - - * configure.ac: Remove stray dependency on gdk-pixbuf-xlib; we - don't use the xlib specific API anymore. (thanks to Matthias - Clasen) - -2008-11-25 Neil Roberts - - Bug 1299 - clutter_score_remove will segmentation fault if - timelines are more than 52 and continue to remove them - - * clutter/clutter-score.c (traverse_children): Don't destroy the - entry in the handler for REMOVE_BY_ID. It will be removed again - anyway in the call to g_node_traverse. This was causing a - crash. Thanks to zhangwei for spotting. - -2008-11-24 Neil Roberts - - Add a wrapper library to help testing without NPOTs. - - * tests/tools/Makefile.am: Optionally build the - libdisable-npots.la library depending on whether libdl was - detected in the configure script. A helper script is also - generated to setup the LD_PRELOAD. - - * tests/conform/Makefile.am: There are now two versions of the - test-report and full-report rules. test-report-normal is the same - as before and test-report-disable-npots runs the tests with the - disable-npots wrapper script. The full-report rule runs both of - them and displays two separate HTML files. The test-report rule - just runs the normal version as before. - - * configure.ac: Add a test for libdl - - * tests/tools/disable-npots.sh.in: New file. Template for the - helper script - - * tests/tools/disable-npots.c: New file - -2008-11-24 Neil Roberts - - * clutter/cogl/gl/cogl-texture.c (cogl_texture_polygon): Fix the - equation for calculating texture coordinates when using sliced - textures. This became broken in revision 3520. - -2008-11-21 Neil Roberts - - Bug 1270 - Update to mingw-cross-compile.sh - - * build/mingw/mingw-cross-compile.sh: Update to download latest - binaries. Patch thanks to David Kedves. - -2008-11-21 Neil Roberts - - Bug 1271 - mingw compiling failed: undefined reference to - `_glDrawRangeElements@24' - - Resolve glDrawRangeElements with cogl_get_proc_address instead of - calling it directly because functions defined in GL > 1.1 are not - directly exported under Windows. - - * clutter/cogl/common/cogl-mesh.c: Use the function pointer from - the context - - * clutter/cogl/gl/cogl-context.c (cogl_create_context): Initialise - function pointer. - - * clutter/cogl/gl/cogl-context.h (CoglContext): Add a function - pointer - - * clutter/cogl/gl/cogl-defines.h.in: Add a typedef for the - function pointer. - - * clutter/cogl/gl/cogl.c (_cogl_features_init): Resolve - glDrawRangeElements - -2008-11-21 Neil Roberts - - * tests/interactive/Makefile.am: - * tests/conform/Makefile.am: Use $(EXEEXT) when specifying a - dependency on an executable otherwise there won't be a rule to - build it on Windows. - -2008-11-21 Neil Roberts - - Bug 1269 - mingw32 building failed at clutter-media.c - - * clutter/clutter-media.c: Rename the 'ERROR' signal enum to - 'ERROR_SIGNAL' otherwise it clashes with windgi.h. Thanks to David - Kedves - -2008-11-21 Neil Roberts - - * clutter/pango/cogl-pango.h: Include pango/pango.h to get - pango-renderer.h. In versions prior to 1.18.4 pangocairo.h does - not include pango-renderer.h - -2008-11-21 Neil Roberts - - Bug 1280 - clutter_score_append_at_marker lead to segmentation - fault in trunk and incorrect appearance in clutter-0.8 - - * clutter/clutter-score.c (start_children_entries): Check whether - the child timeline is actually attached at a marker before - comparing whether the marker's name matches the marker - reached. This fixes a crash that happens when a marker is reached - on a timeline that also has child timelines attached at the - end. Thanks to zhangwei for spotting. - -2008-11-20 Emmanuele Bassi - - * clutter/clutter-actor.c: - (clutter_actor_set_property): Add sanity checks for NULL - boxed values when setting the rotation center. - - * tests/interactive/test-animation.c: - (on_button_press): Add an example on how to use the rotation - properties to animate an actor. - -2008-11-18 Neil Roberts - - Fixed some trivial compiler warnings - - * tests/interactive/test-pixmap.c (create_pixmap): Use a format - string instead of passing the error message directly to g_error. - - * tests/interactive/test-easing.c (test_easing_main) - (on_button_press): - * tests/interactive/test-animation.c (on_button_press): Use - unsigned variables for the results from clutter_actor_get_size - otherwise it complains about the pointer signedness being - different. - - * clutter/clutter-script.c (clutter_script_add_search_paths): Use - G_GSIZE_FORMAT instead of %d for a gsize parameter otherwise it - gets upset on 64-bit. - -2008-11-18 Neil Roberts - - * tests/conform/test-timeline.c (test_timeline): Remove the delay - idle handler after the test is finished, otherwise it will - continue running during subsequent tests. This was breaking - test_timeline_interpolate. - -2008-11-18 Robert Bragg - - * clutter/cogl/common/cogl-mesh.c: - Re-works validate_custom_attribute_name() so it doesn't access an - un-initialised variable. - -2008-11-18 Robert Bragg - - A comparison of gl/cogl-texture.c and gles/cogl-texture.c, to reduce - differences and improve maintainability. - - * clutter/cogl/gl/cogl-context.h: - Adds a CoglTextureGLVertex typedef + texture_vertices and - texture_vertices_size members to CoglContext for using vertex arrays - like GLES does - - * clutter/cogl/gl/cogl-context.c: - Initializes texture_vertices + texture_vertices_size members - - * clutter/cogl/gl/cogl-internal.h: - Adds COGL_ENABLE_COLOR_ARRAY - - * clutter/cogl/gl/cogl.c: - Add COGL_ENABLE_COLOR_ARRAY support to cogl_enable - - * clutter/cogl/gles/cogl-context.h: - Change the CoglTextureGLVertex to use GLfloat for the position - and texture coord attributes and GLubyte for the color. - - * clutter/cogl/gles/cogl-texture-private.h: - Adds a wrap_mode member like GL has. - - * clutter/cogl/gl/cogl-texture.c - * clutter/cogl/gles/cogl-texture.c: - Improves the comparability of the files, such that the remaining - differences, better reflect the fundamental differences needed - between GL and GLES. Notably GL no longer uses glBegin/glEnd for - submitting vertices, it uses vertex arrays like GLES and this gives - a small but measurable fps improvement for test-text. - -2008-11-18 Robert Bragg - - * clutter/cogl/gl/cogl-internal.h - * clutter/cogl/gles/cogl-internal.h: - Removes semicolon after the GE() macro since that breaks using it as a - single statement. - -2008-11-18 Emmanuele Bassi - - * clutter/clutter.h: Add clutter-shader.h and - clutter-shader-types.h to the global include. - -2008-11-18 Emmanuele Bassi - - * clutter/cogl/cogl-shader.h: Add a function for setting an - integer uniform, similar to cogl_program_uniform_1f(). - - * clutter/cogl/gl/cogl-program.c: Implement the GL version - of cogl_program_uniform_1i(). - - * clutter/cogl/gles/cogl-program.c: Implement the GLES version - of cogl_program_uniform_1i(). - -2008-11-18 Emmanuele Bassi - - Bug 1049 - Clutter doesn't support most GLSL uniforms (patch - by Chris Lord and Neil Roberts) - - * README: Update release notes. - - * clutter/Makefile.am: - * clutter/clutter-shader-types.[ch]: Add GValue types for - shader values. - - * clutter/clutter-actor.[ch]: Update the shader API to use - the newly added GValue support for GLSL shader uniform - setters. - - * clutter/clutter-shader.[ch]: Add float and integer convenience - API for single value GLSL uniform setters. - - * clutter/cogl/cogl-shader.h: Add new uniform setters. - - * clutter/cogl/gl/cogl-context.c: - * clutter/cogl/gl/cogl-context.h: - * clutter/cogl/gl/cogl-defines.h.in: - * clutter/cogl/gl/cogl-program.c: - * clutter/cogl/gl/cogl.c: Update the GL implementation of COGL - to handle the GLSL uniform setters. - - * clutter/cogl/gles/cogl-gles2-wrapper.c: - * clutter/cogl/gles/cogl-gles2-wrapper.h: - * clutter/cogl/gles/cogl-internal.h: - * clutter/cogl/gles/cogl-program.c: Update the GLES 2.0 implementation - of COGL to handle the GLSL uniform setters. - - * doc/reference/clutter/clutter-sections.txt: - * doc/reference/cogl/cogl-sections.txt: Update the documentation. - - * tests/interactive/test-fbo.c: - * tests/interactive/test-shader.c: Update the shader tests. - -2008-11-18 Emmanuele Bassi - - * clutter/clutter-texture.c: - (clutter_texture_get_preferred_width): Fix the usage of the - fixed point division macro. - -2008-11-18 Emmanuele Bassi - - * tests/conform/test-conform-main.c (main): Do not run the - conformance test suite if we are on X11 but we do not have - a DISPLAY available. Some of the tests require a DISPLAY, - and everything passes through a clutter_init() call which will - fail anyway. If we are running make distcheck on an headless - box we might as well just skip the conformance test suite - without a meaningless error. - -2008-11-18 Emmanuele Bassi - - * tests/conform/test-mesh-contiguous.c: - * tests/conform/test-mesh-interleved.c: - * tests/conform/test-mesh-mutability.c: Remove the last bare - g_print() from the conformance test suite. - -2008-11-18 Emmanuele Bassi - - * clutter/clutter-alpha.h: - * clutter/clutter-alpha.c: - (clutter_alpha_set_mode): Use a lookup table to find the alpha - function given the animation mode. - - (clutter_exp_in_func), - (clutter_exp_out_func), - (clutter_exp_in_out_func): Add new exponential functions. - - * clutter/clutter-script.c: Update the lookup table with the - new animation modes; match "linear" to the ramp-inc alpha - function. - - * clutter/clutter-types.h: Add new AnimationMode values. - - * tests/interactive/test-easing.c: Update the easing functions - test. - -2008-11-18 Neil Roberts - - * tests/conform/test-pick.c (test_pick): The final result message - when --verbose is used was the wrong way around - -2008-11-18 Neil Roberts - - * tests/conform/test-conform-main.c (main): Fixed a typo in the - name of the path for test_realized. - -2008-11-17 Emmanuele Bassi - - Bug 1014 - Clutter Animation API Improvements - - * clutter/Makefile.am: - * clutter/clutter.h: Update the build - - * clutter/clutter-types.h: Add AnimationMode, an enumeration - for easing functions. - - * clutter/clutter-alpha.[ch]: Add the :mode property to - control the function bound to an Alpha instance using an - enumeration value. Also add six new alpha functions: - - - ease-in, ease-out, ease-in-out - - sine-in, sine-out, sine-in-out - - * clutter/clutter-deprecated.h: Deprecate the #defines for - the alpha functions. They will be replaced by entries in the - ClutterAnimationMode. - - * clutter/clutter-interval.[ch]: Add ClutterInterval, an - object for defining, validating and computing an interval - between two values. - - * clutter/clutter-animation.[ch]: Add ClutterAnimation, an - object responsible for animation the properties of a single - actor along an interval of values. ClutterAnimation memory - management is automatic. A simple wrapper method for - ClutterActor is provided: - - clutter_actor_animate() - - which will create, or update, an animation for the passed - actor. - - * clutter/clutter-debug.h: - * clutter/clutter-main.c: Add a new 'animation' debug note. - - * clutter/clutter-script.c: Clean up the alpha functions - whitelist, and add the new functions. - - * doc/reference/clutter/Makefile.am: - * doc/reference/clutter/clutter-sections.txt: Update the - API reference. - - * doc/reference/clutter/clutter-animation.xml: Renamed to - doc/reference/clutter/clutter-animation-tutorial.xml to - avoid clashes with the ClutterAnimation section. - - * doc/reference/clutter/clutter-docs.sgml: Renamed to - doc/reference/clutter/clutter-docs.xml, as it was an XML - file and not a SGML file. - - * tests/Makefile.am: - * tests/interactive/Makefile.am: - * tests/interactive/test-animation.c: - * tests/interactive/test-easing.c: Add two tests for the - new simple animation API and the easing functions. - - * tests/interactive/test-actors.c: - * tests/interactive/test-behave.c: - * tests/interactive/test-depth.c: - * tests/interactive/test-effects.c: - * tests/interactive/test-layout.c: - * tests/interactive/test-multistage.c: - * tests/interactive/test-paint-wrapper.c: - * tests/interactive/test-rotate.c: - * tests/interactive/test-scale.c: - * tests/interactive/test-texture-quality.c: - * tests/interactive/test-threads.c: - * tests/interactive/test-viewport.c: Update interactive tests - to the deprecations and new alpha API. - -2008-11-17 Emmanuele Bassi - - * clutter/clutter-entry.c: - * clutter/clutter-label.c: - * clutter/clutter-rectangle.c: - * clutter/clutter-script.c: - * clutter/clutter-stage.c: Use the ParamSpecColor and GValue - API for ClutterColor-based properties. - -2008-11-14 Robert Bragg - - * tests/interactive/Makefile.am - * tests/interactive/test-pixmap.c: - test-pixmap + test-devices accidentally got dropped from the makefiles - when changing the unit test layout; this puts them back. - -2008-11-14 Emmanuele Bassi - - Bug 1265 - ClutterScore doesn't emit 'started' signal (Bastian - Winkler) - - * clutter/clutter-score.c: Emit the ::started signal. - - * tests/interactive/test-score.c: Check the emission of the - Score signals. - -2008-11-13 Neil Roberts - - * clutter/cogl/gles/cogl-gles2-wrapper.h: - * clutter/cogl/gles/cogl-gles2-wrapper.c: - Initialise the 'tex' sampler uniform to 0. The GLSL spec - specifically says that you must initialize sampler uniforms. This - fixes texturing for GLES 2 when using the PowerVR simulator via - software Mesa. - -2008-11-13 Robert Bragg - - Gets the mesh API working with GLES2 - - * clutter/cogl/common/cogl-mesh.c: - Make sure we use the appropriate cogl_wrap_gl* funcs as appropriate - - * clutter/cogl/gles/cogl-gles2-wrapper.c - * clutter/cogl/gles/cogl-gles2-wrapper.h: - In our glColorPointer wrapper we needed to mark our color attribute - as normalized. - - * tests/conform/Makefile.am: - When creating unit test symlinks we use the -l gtester option to - list tests, but when using the PVR SDK the test binary also spews - out some extra info that caused lots of random symlinks to be - created. We now grep for lines starting with a '/' - - * tests/conform/test-mesh-contiguous.c - * tests/conform/test-mesh-mutability.c: - Use cogl_set_source_color instead of directly calling glColor4ub - -2008-11-13 Neil Roberts - - * clutter/clutter-actor.c (clutter_actor_get_paint_visibility): - Fix logic so that it won't return TRUE for a hidden stage. - -2008-11-13 Emmanuele Bassi - - * clutter/clutter-behaviour-ellipse.c: - (clutter_behaviour_ellipse_applied): Do not reset the depth - of the actors to which the Ellipse behaviour has been applied - to, unless the behaviour is going to update it because it has - a tilt on the X or Y axis. - -2008-11-13 Neil Roberts - - * clutter/clutter-actor.c (clutter_actor_get_reactive) - (clutter_actor_get_paint_visibility): Be sure to return exactly - TRUE or FALSE instead of zero or some non-zero value in these - functions that return a gboolean. Thanks to Kai Wei for spotting. - -2008-11-12 Emmanuele Bassi - - * tests/conform/Makefile.am: - * tests/conform/test-conform-main.c: - * tests/conform/test-paint-opacity.c: Add test unit for label, - rectangle and paint opacity. - -2008-11-12 Emmanuele Bassi - - * clutter/cogl/cogl-color.h: - * clutter/cogl/cogl-path.h: - * clutter/cogl/cogl-types.h: - * clutter/cogl/common/cogl-color.c: Deprecated cogl_color() - in favour of cogl_set_source_color() and friends; store the - CoglColor components as unsigned bytes instead of fixed point - normalized values; add functions for allocating, copying and - freeing CoglColor, for use of language bindings. - - * clutter/cogl/cogl.h.in: - * clutter/cogl/cogl-deprecated.h: Added cogl-deprecated.h, - an header file containing the deprecation symbols similar - to clutter-deprecated.h. - - * clutter/cogl/gl/Makefile.am: - * clutter/cogl/gl/cogl-texture.c: - * clutter/cogl/gl/cogl.c: - * clutter/cogl/gles/Makefile.am: - * clutter/cogl/gles/cogl-texture.c: - * clutter/cogl/gles/cogl.c: Update the GL and GLES implementations - of COGL after the CoglColor changes. - - * clutter/clutter-actor.c: - * clutter/clutter-clone-texture.c: - * clutter/clutter-entry.c: - * clutter/clutter-label.c: - * clutter/clutter-rectangle.c: - * clutter/clutter-texture.c: Do not use CoglColor whenever it - is possible, and use cogl_set_source_color4ub() instead. - - * clutter/pango/cogl-pango-render.c: Ditto as above. - - * doc/reference/clutter/subclassing-ClutterActor.xml: - * doc/reference/cogl/cogl-sections.txt: Update the documentation. - - * tests/interactive/test-cogl-offscreen.c: - * tests/interactive/test-cogl-primitives.c: - * tests/interactive/test-cogl-tex-convert.c: - * tests/interactive/test-cogl-tex-foreign.c: - * tests/interactive/test-cogl-tex-getset.c: - * tests/interactive/test-cogl-tex-polygon.c: - * tests/interactive/test-cogl-tex-tile.c: - * tests/interactive/test-paint-wrapper.c: Drop the usage of - CoglColor whenever it is possible. - -2008-11-12 Neil Roberts - - Bug 1057 - cogl_texture_rectangle doesn't support backward - coordinates - - * clutter/cogl/gl/cogl-texture.c: Instead of sorting the vertex - and texture coordinates passed to cogl_texture_rectangle, just - swap both sets whenever the texture coordinates are backward. - -2008-11-12 Neil Roberts - - * clutter/clutter-rectangle.c (clutter_rectangle_paint): Fixed so - that it doesn't use the alpha value from the border colour to draw - the rectangle - -2008-11-12 Neil Roberts - - * clutter/cogl/gles/Makefile.am (libclutterinclude_HEADERS): - * clutter/cogl/gl/Makefile.am (libclutterinclude_HEADERS): - * clutter/cogl/common/Makefile.am - (libclutter_cogl_common_la_SOURCES): Move cogl-mesh.h into the - headers for libclutter so that it will get installed. - -2008-11-12 Neil Roberts - - Fix warnings in mesh tests - - * tests/conform/test-mesh-mutability.c (on_paint): - * tests/conform/test-mesh-interleved.c (on_paint): - * tests/conform/test-mesh-contiguous.c (on_paint): Use g_usleep - instead of sleep - - * tests/conform/test-mesh-mutability.c (queue_redraw): - * tests/conform/test-mesh-interleved.c (queue_redraw): - * tests/conform/test-mesh-contiguous.c (queue_redraw): Added - missing return statement - - * clutter/cogl/cogl-mesh.h: Add a declaration for - cogl_mesh_submit - - * clutter/cogl/common/cogl-mesh.c (cogl_mesh_submit): Move the - documentation to cogl-mesh.h to match the rest of the functions - -2008-11-10 Robert Bragg - - Bug 1164 - Implements the proposed Mesh API - - * clutter/cogl/cogl-mesh.h - * clutter/cogl/cogl-types.h - * clutter/cogl/cogl.h.in - * clutter/cogl/common/Makefile.am - * clutter/cogl/common/cogl-mesh-private.h - * clutter/cogl/common/cogl-mesh.c - * clutter/cogl/gl/cogl-context.c - * clutter/cogl/gl/cogl-context.h - * clutter/cogl/gl/cogl-defines.h.in - * clutter/cogl/gl/cogl.c - * clutter/cogl/gles/cogl-context.c - * clutter/cogl/gles/cogl-context.h: - The Mesh API provides a means for submitting an extensible number of - per vertex attributes to OpenGL in a way that doesn't require format - conversions and so that the data can be mapped into the GPU (in vertex - buffer objects) for - hopefully - fast re-use. - - There are a number of things we can potentially use this API for, but - right now this just provides a foundation to build on. Please read - the extensive list of TODO items in cogl-mesh.c for examples. - - Please refer to the cogl-mesh section in the reference manual for - documentation of the API. - - * tests/conform/Makefile.am - * tests/conform/test-conform-main.c - * tests/conform/test-mesh-contiguous.c - * tests/conform/test-mesh-interleved.c - * tests/conform/test-mesh-mutability.c: - Privides basic coverage testing for the mesh API. - -2008-11-10 Robert Bragg - - Bug 1164 - Implements the proposed Mesh API - - * clutter/cogl/cogl-mesh.h - * clutter/cogl/cogl-types.h - * clutter/cogl/cogl.h.in - * clutter/cogl/common/Makefile.am - * clutter/cogl/common/cogl-mesh-private.h - * clutter/cogl/common/cogl-mesh.c - * clutter/cogl/gl/cogl-context.c - * clutter/cogl/gl/cogl-context.h - * clutter/cogl/gl/cogl-defines.h.in - * clutter/cogl/gl/cogl.c - * clutter/cogl/gles/cogl-context.c - * clutter/cogl/gles/cogl-context.h: - The Mesh API provides a means for submitting an extensible number of - per vertex attributes to OpenGL in a way that doesn't require format - conversions and so that the data can be mapped into the GPU (in vertex - buffer objects) for - hopefully - fast re-use. - - There are a number of things we can potentially use this API for, but - right now this just provides a foundation to build on. Please read - the extensive list of TODO items in cogl-mesh.c for examples. - - Please refer to the cogl-mesh section in the reference manual for - documentation of the API. - - * tests/conform/Makefile.am - * tests/conform/test-conform-main.c - * tests/conform/test-mesh-contiguous.c - * tests/conform/test-mesh-interleved.c - * tests/conform/test-mesh-mutability.c: - Privides basic coverage testing for the mesh API. - -2008-11-10 Robert Bragg - - * tests/conform/ADDING_NEW_TESTS - * tests/conform/test-conform-common.c - * tests/conform/test-pick.c: - Instead of using clutter_stage_new /clutter_actor_destroy as a way to - avoid cascading side effects between unit tests, due to left over - actors, we now destroy all children of the default stage between - tests instead. - - * tests/conform/wrapper.sh: - Adds a convenience note about how to run valgrind for an individual - unit test - -2008-11-10 Neil Roberts - - * tests/interactive/test-main.c (main): Allow more than two - arguments so that the remaining arguments can be passed to the - test. This is needed for test-behave for example which can take a - --path argument. - -2008-11-10 Emmanuele Bassi - - * clutter/clutter-texture.c: Remove an unused function. - -2008-11-10 Emmanuele Bassi - - * tests/conform/test-label-cache.c: - * tests/conform/test-pick.c: - * tests/conform/test-timeline.c: Show all the output messages only - if the test was done with the verbose flag turned on. - - * tests/interactive/test-main.c: Do not use the (gpointer*) cast, - but use a temporary gpointer instead. - -2008-11-10 Robert Bragg - - * tests/conform/Makefile.am: - * tests/conform/wrapper.sh: - * tests/conform/test-conform-main.c: - * tests/conform/test-timeline.c: - Adds Neil's updates to test-timeline.c so it now works with the new - unit testing infrastructure. - - Also some fixes to ensure wrappers get setup correctly for the - timeline tests. - - * tests/interactive/test-main.c: - cast the symbol return pointer as (gpointer *) to avoid warning - - * tests/conform/test-pick.c: - g_assert that the test passes, instead of using exit() - - * test/conform/ADDING_NEW_TESTS: - Fixes a silly typo - -2008-11-08 Emmanuele Bassi - - * tests/conform/Makefile.am: - * tests/conform/test-actor-invariants.c: - * tests/conform/test-conform-main.c: Move the actor invariants - unit to the conform section of the test suite. - - * tests/interactive/Makefile.am: - * tests/interactive/test-entry-auto.c: - * tests/interactive/test-invariants.c: Remove the entry-auto - and invariants test, since those two belong to the conform - section. - -2008-11-07 Robert Bragg - - Bug 1162 - Re-works the tests/ to use the glib-2.16 unit testing - framework - - * configure.ac: - * tests/*: - The tests have been reorganised into different categories: conformance, - interactive and micro benchmarks. - - conformance tests can be run as part of automated tests - - interactive tests are basically all the existing tests - - micro benchmarks focus on a single performance metric - - I converted the timeline tests to conformance tests and also added some - tests from Neil Roberts and Ebassi. - - Note: currently only the conformance tests use the glib test APIs, - though the micro benchmarks should too. - - The other change is to make the unit tests link into monolithic binaries - which makes the build time for unit tests considerably faster. To deal - with the extra complexity this adds to debugging individual tests I - have added some sugar to the makefiles so all the tests can be run - directly via a symlink and when an individual test is run this way, - then a note is printed to the terminal explaining exactly how that test - may be debugged using GDB. - - There is a convenience make rule: 'make test-report', that will run all - the conformance tests and hopefully even open the results in your web - browser. It skips some of the slower timeline tests, but you can run - those using 'make full-report' - -2008-11-07 Emmanuele Bassi - - * clutter/clutter-media.c: Improve documentation of the - ClutterMedia interface. - -2008-11-07 Matthew Allum - - Bug 1238 - [PATCH] Pack bitfields in ClutterTexturePrivate - - * clutter/clutter-texture.c: - - Using 'guint my_field : 1' for booleans to save space only - makes sense if you group all such fields together. Fix - grouping for ClutterTexturePrivate. Thanks to Owen Taylor for - patch. - -2008-11-07 Matthew Allum - - Bug 1237 - clutter_texture_set_filter_quality calls - clutter_texture_[un]realize - - * clutter/clutter-texture.c: (clutter_texture_set_filter_quality): - Call clutter_actor_[un]realize and keep visibility state - -2008-11-07 Matthew Allum - - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - * clutter/clutter-clone-texture.c: - * clutter/clutter-private.h: - * clutter/clutter-texture.c: - * clutter/x11/clutter-x11-texture-pixmap.c: - - Attempt to lower overhead of updating TFP's (particularly mipmaped). - Compresses mipmap updates only for visible TFPs. - Avoiding updates for non visible TFP's whilst keeping visible - clones working ok. - -2008-11-06 Neil Roberts - - Bug 1230 - Pick fails on low precision color buffers - - * clutter/clutter-main.c (_clutter_id_to_color): When using fuzzy - picking to pick a color for an actor, it would previously set the - fuzzy bit and then all but the most significant of the remaining - unused bits. This meant that for 16-bit displays it would end up - with a strange pattern for the unused bits like 1011 which could - cause it to round up. Now it just sets all but the most - significant of all of the unused bits giving a pattern like - 0111. Thanks to Guy Zadickario for the patch. - -2008-11-06 Neil Roberts - - * clutter/cogl/gles/cogl.c (cogl_perspective): - * clutter/cogl/common/cogl-fixed.c (cogl_fixed_sin) - (cogl_angle_sin, cogl_angle_tan, cogl_fixed_sqrt): Replaced uses - of 1 + ~x with just -x which is equivalent and easier to - understand. - -2008-11-06 Emmanuele Bassi - - Bug 1233 - CLUTTER_ALPHA_SINE_INC is broken in trunk - - * clutter/clutter-alpha.c: Fix a rollover in the sine functions. - -2008-11-05 Neil Roberts - - * clutter/clutter-color.c (clutter_color_new): Remove CLAMP macros - around the component parameters because they are guint8 anyway so - the CLAMP is redundant and it causes a warning. - -2008-11-04 Thomas Wood - - * clutter/clutter-color.c: Update ClutterColor documentation as - changes have been backported to 0.8.4. - -2008-11-04 Emmanuele Bassi - - * clutter/clutter-script.c: Document the "is-default" member of - a ClutterStage definition. - -2008-11-04 Neil Roberts - - * clutter/cogl/gl/cogl.c (cogl_perspective): Use the accurate - 64-bit multiplication macro instead of COGL_FIXED_FAST_DIV for - calculating xmax as was done previously. This fixes - test-perspective and other tests that had a gone a bit skewiff. - -2008-11-04 Neil Roberts - - Bug 1181 - In Score, timelines, appended at markers, are also - called on complete - - * clutter/clutter-score.c (start_children_entries): Use the name - of the marker to start as the data parameter and only start child - timelines that have the same marker name. Previously the - ClutterScore would just start all child entries when a marker was - reached or the timeline completed regardless of whether they were - added with a marker or not. Thanks to Mihail Naydenov for - reporting the bug. - -2008-11-03 Emmanuele Bassi - - * clutter/cogl/gl/Makefile.am: Whitespace fixes. - - * clutter/cogl/gles/Makefile.am: Put back a missing backslash - that broke the GLES build. - -2008-11-03 Emmanuele Bassi - - Bug 1231 - Build fails in gles flavour in revision 3442 - - * clutter/cogl/gles/cogl-context.h: Fix remaining use of - ClutterFixed over CoglFixed. (Michael Boccara) - -2008-11-03 Neil Roberts - - Bug 1207 - Timelines sometime miss markers - - * clutter/clutter-timeline.c (timeline_timeout_func): Move the - code for firing the new-frame and marker-reached signals into a - separate static function so that it can also be called when the - last frame is reached. Also fix an issue where the frame numbers - were changed in the wrong direction when detecting missed markers - in a reversed timeline. Based on a patch by Michael Boccara. - - * tests/test-timeline.c: Now tries to automatically verify whether - the test worked by keeping track of all the signal emissions. The - timelines are run a second time with an extra timeout that causes - delays to simulate skipped frames. - -2008-10-31 Emmanuele Bassi - - * clutter/pango/cogl-pango-fontmap.c: - * clutter/pango/cogl-pango-render.c: Whitespace fixes and code - duplication removal. Plus, start documenting the CoglPango API. - -2008-10-31 Matthew Allum - - * clutter/clutter-texture.c: (clutter_texture_set_filter_quality), - (clutter_texture_get_filter_quality): - Fix up some logic, typos. - - * clutter/glx/clutter-glx-texture-pixmap.c: - Improve support for mipmaped TFP textures. - -2008-10-31 Emmanuele Bassi - - Bug 1200 - Crash with invalid DISPLAY - - * clutter/clutter-main.c: Use the ClutterBackend wrapper API - instead of directly checking the class structure. - - * clutter/glx/clutter-backend-glx.c: Return the correct value - in case of failure. - - * clutter/x11/clutter-backend-x11.c: Bail out if XOpenDisplay() - failed. - -2008-10-30 Emmanuele Bassi - - * clutter/cogl/cogl-color.h: - * clutter/cogl/cogl-fixed.h: - * clutter/cogl/cogl-offscreen.h: - * clutter/cogl/cogl-path.h: - * clutter/cogl/cogl-shader.h: - * clutter/cogl/cogl-texture.h: - * clutter/cogl/cogl-types.h: Add copyright and licensing - notice to the newly added files. - -2008-10-30 Emmanuele Bassi - - Bug 1219 - Clean up cogl.h - - * clutter/cogl/cogl.h.in: - * clutter/cogl/cogl-offscreen.h: - * clutter/cogl/cogl-path.h: - * clutter/cogl/cogl-shader.h: - * clutter/cogl/cogl-texture.h: - * clutter/cogl/cogl-types.h: Split up the massive cogl.h file - into sub-header for each section of the API. - - * clutter/cogl/gl/*: - * clutter/cogl/gles/*: Update the GL and GLES implementations - of COGL to cope with the new header structure. - - * doc/reference/cogl/Makefile.am: Fix symbol retrieval. - -2008-10-30 Emmanuele Bassi - - Bug 1215 - Move the Pango renderer to the public API - - * clutter/pango/*: Rename PangoClutter -> CoglPango. - - * clutter/Makefile.am: - * clutter/clutter-backend.c: - * clutter/clutter-entry.c: - * clutter/clutter-label.c: - * clutter/clutter-main.[ch]: - * clutter/clutter-private.h: Update the users of the Pango - renderer API. - - * README: Update release notes. - -2008-10-30 Emmanuele Bassi - - Bug 1212 - Allow only a single include file for Clutter - - * clutter/*.h: Only allow including clutter.h in third - party code. - - * clutter/cogl/cogl-color.h: - * clutter/cogl/cogl-fixed.h: - * clutter/cogl/cogl.h.in: Only allow including cogl.h in - third party code. - - * clutter/cogl/common/Makefile.am: - * clutter/cogl/gl/Makefile.am: - * clutter/cogl/gles/Makefile.am: - * clutter/eglnative/Makefile.am: - * clutter/eglx/Makefile.am: - * clutter/fruity/Makefile.am: - * clutter/glx/Makefile.am: - * clutter/glx/clutter-glx.h: - * clutter/osx/Makefile.am: - * clutter/pango/Makefile.am: - * clutter/sdl/Makefile.am: - * clutter/win32/Makefile.am: - * clutter/x11/Makefile.am: Fix build environment. - - * clutter/x11/clutter-x11-texture-pixmap.h: - * clutter/x11/clutter-x11.h: Fix inclusion rules. - - * tests/test-pixmap.c: Fix inclusion of GdkPixbuf header. - - * README: Update release notes. - -2008-10-30 Emmanuele Bassi - - Bug 1211 - Drop ClutterFeatureFlags usage from COGL - - * clutter/cogl/cogl.h.in: - * clutter/cogl/gl/cogl.c: - * clutter/cogl/gles/cogl.c: Do not use ClutterFeatureFlags - when CoglFeatureFlags will do. This removes the last usage - of Clutter API inside COGL. - -2008-10-30 Emmanuele Bassi - - Bug 1210 - Add CoglColor API - - * clutter/cogl/cogl-color.h: - * clutter/cogl/cogl.h.in: - * clutter/cogl/common/Makefile.am: - * clutter/cogl/common/cogl-color.c: - * clutter/cogl/gl/Makefile.am: - * clutter/cogl/gl/cogl.c: - * clutter/cogl/gles/Makefile.am: - * clutter/cogl/gles/cogl-texture.c: - * clutter/cogl/gles/cogl.c: Add a new color-type, to be used by - COGL. CoglColor is optimized to allow the minimum amount of - conversions possible for both GL and GLES implementations. - - * clutter/clutter-actor.c: - * clutter/clutter-clone-texture.c: - * clutter/clutter-entry.c: - * clutter/clutter-main.c: - * clutter/clutter-rectangle.c: - * clutter/clutter-stage.c: - * clutter/clutter-texture.c: Use CoglColor when needed. - - * clutter/pango/pangoclutter-render.c: Use CoglColor when needed. - - * doc/reference/cogl/cogl-docs.sgml: - * doc/reference/cogl/cogl-sections.txt: Update the documentation. - - * tests/test-cogl-offscreen.c: - * tests/test-cogl-primitives.c: - * tests/test-cogl-tex-convert.c: - * tests/test-cogl-tex-foreign.c: - * tests/test-cogl-tex-getset.c: - * tests/test-cogl-tex-polygon.c: - * tests/test-cogl-tex-tile.c: - * tests/test-paint-wrapper.c: Update the tests. - - * README: Update release notes. - -2008-10-30 Emmanuele Bassi - - Bug 1209 - Move fixed point API in COGL - - * clutter/cogl/cogl-fixed.h: - * clutter/cogl/cogl.h.in: - * clutter/cogl/common/Makefile.am: - * clutter/cogl/common/cogl-fixed.c: Add fixed point API, modelled - after the ClutterFixed. The CoglFixed API supercedes the ClutterFixed - one and avoids the dependency of COGL on Clutter's own API. - - * clutter/cogl/common/cogl-clip-stack.c: - * clutter/cogl/common/cogl-primitives.c: - * clutter/cogl/common/cogl-primitives.h: Update internal usage of - ClutterFixed to CoglFixed. - - * clutter/cogl/gl/Makefile.am: - * clutter/cogl/gl/cogl-primitives.c: - * clutter/cogl/gl/cogl-texture.c: - * clutter/cogl/gl/cogl.c: Ditto, in the GL implementation of the - COGL API. - - * clutter/cogl/gles/Makefile.am: - * clutter/cogl/gles/cogl-fbo.c: - * clutter/cogl/gles/cogl-gles2-wrapper.c: - * clutter/cogl/gles/cogl-primitives.c: - * clutter/cogl/gles/cogl-texture.c: - * clutter/cogl/gles/cogl.c: Ditto, in the GLES implementation of - the COGL API. - - * clutter/pango/pangoclutter-glyph-cache.c: - * clutter/pango/pangoclutter-glyph-cache.h: Ditto, in the Pango - renderer glyphs cache. - - * clutter/clutter-fixed.c: - * clutter/clutter-fixed.h: ClutterFixed and related API becomes - a simple transition API for bindings and public Clutter API. - - * clutter/clutter-actor.c: - * clutter/clutter-alpha.c: - * clutter/clutter-backend.c: - * clutter/clutter-behaviour-depth.c: - * clutter/clutter-behaviour-ellipse.c: - * clutter/clutter-behaviour-path.c: - * clutter/clutter-behaviour-rotate.c: - * clutter/clutter-behaviour-scale.c: - * clutter/clutter-clone-texture.c: - * clutter/clutter-color.c: - * clutter/clutter-entry.c: - * clutter/clutter-stage.c: - * clutter/clutter-texture.c: - * clutter/clutter-timeline.c: - * clutter/clutter-units.h: Move from the internal usage of - ClutterFixed to CoglFixed. - - * doc/reference/clutter/clutter-sections.txt: - * doc/reference/cogl/cogl-docs.sgml: - * doc/reference/cogl/cogl-sections.txt: Update the documentation. - - * tests/test-cogl-tex-tile.c: - * tests/test-project.c: Fix tests after the API change - - * README: Add release notes. - -2008-10-29 Neil Roberts - - Bug 1074 - FBOs on GLES - - * clutter/cogl/gles/cogl-fbo.c: Copy the code from gl/cogl-fbo but - use the API calls directly instead of loading an extension because - it is part of the core in GLES 2. - - * clutter/cogl/gles/cogl.c (_cogl_features_init): Report - COGL_FEATURE_OFFSCREEN. - - * clutter/cogl/gles/cogl-fbo.h (CoglFbo): Add gl_stencil_handle. - - * clutter/cogl/gles/cogl-context.h (CoglContext): Add - viewport_store - - * tests/test-fbo.c (make_shader): Conditionally use the GLES 2 - names of the shader variables - -2008-10-29 Neil Roberts - - Bug 1206 - Picking disabled dithering - - * clutter/clutter-main.c (_clutter_do_pick): After picking is - finished, restore the state of glEnable (GL_DITHER). Otherwise it - will cause the scene to look different after the first pick on low - depth displays. (Thanks to Michael Boccara for the patch) - -2008-10-28 Thomas Wood - - * clutter/clutter-color.c (param_color_set_default): Set the no copy - flag when setting the default param spec value to prevent invalid - frees. - -2008-10-27 Neil Roberts - - Bug 1189 - Backface culling - - * clutter/cogl/gl/cogl-texture.c (cogl_texture_polygon) - (_cogl_texture_quad_sw, _cogl_texture_quad_hw): - * clutter/cogl/gles/cogl-texture.c (cogl_texture_polygon) - (_cogl_texture_quad_sw, _cogl_texture_quad_hw): Enable backface - culling in GL if it is requested. - - * clutter/cogl/gles/cogl-texture.c (_cogl_texture_quad_sw) - (_cogl_texture_quad_hw): - * clutter/cogl/gl/cogl-texture.c (_cogl_texture_quad_sw) - (_cogl_texture_quad_hw): Reorder the - vertices so that they are counter-clockwise. - - * clutter/cogl/gles/cogl-context.h (CoglContext): - * clutter/cogl/gl/cogl-context.h (CoglContext): Added a flag to - store whether backface culling is currently enabled. - - * clutter/cogl/gles/cogl.c (cogl_enable_backface_culling): - * clutter/cogl/gl/cogl.c (cogl_enable_backface_culling): New - function - - * doc/reference/cogl/cogl-sections.txt: Add - cogl_enable_backface_culling - -2008-10-27 Neil Roberts - - Bug 1196 - Texture border drawing problems - - * clutter/cogl/gl/cogl-texture.c (_cogl_texture_upload_subregion_to_gl) - (_cogl_texture_upload_to_gl): - - * clutter/cogl/gles/cogl-texture.c (_cogl_texture_upload_to_gl) - (_cogl_texture_upload_subregion_to_gl): - - When uploading data to a sliced texture, fill the waste pixels - with copies of the edge of the real texture data. Otherwise the - value of the waste pixels are undefined so it will show artifacts - when the texture is scaled with GL_LINEAR and the pixels are - blended in. - -2008-10-22 Thomas Wood - - * tests/test-actors.c: Don't adjust the radius based on the number of - actors - -2008-10-21 Emmanuele Bassi - - * clutter/clutter-color.[ch] (clutter_value_set_color): Constify - colors and values where needed. - -2008-10-21 Emmanuele Bassi - - Bug 1197 - Missing const for clutter_init_with_args * - - * clutter/clutter-main.[ch] (clutter_init_with_args): Constify - the string parameters. (Owen Taylor) - -2008-10-20 Emmanuele Bassi - - * configure.ac: Use gmodule-no-export-2.0, not gmodule-2.0, - to avoid breaking the symbol hiding. (thanks to Ross Burton - and Laurent Bigonville) - -2008-10-20 Neil Roberts - - Bug 1043 - COGL calls glTexSubImage2D() with out-of-bounds - values (SIGSEGV) - - * clutter/cogl/gl/cogl-texture.c - (_cogl_texture_upload_subregion_to_gl): When iterating over the - slices, discard ones that don't intersect immediatly otherwise it - will call glTexSubImage2D with a negative width/height and then - move the source position incorrectly. Thanks to Gwenole - Beauchesne. - -2008-10-20 Emmanuele Bassi - - * clutter/clutter-color.h: Declare clutter_color_new() in the - installed header. - -2008-10-20 Neil Roberts - - Bug 1195 - ClutterBehaviourBspline only works for very short paths - - * clutter/clutter-behaviour-bspline.c: Changed the CBZ_T_POW3 and - CBZ_T_MUL functions so that they preserve more of the least - significant bits. This fixes some of the jaggy behaviour with - longer paths. - -2008-10-17 Thomas Wood - - reviewed by: Emmanuele Bassi - - * clutter/clutter-color.[ch]: Add GParamSpec and GValue integration - for ClutterColor. With ClutterParamSpecColor it is possible to define - color properties; with the GValue integration it's possible to - automatically transform strings into colors and vice versa. - - (clutter_color_free): Allow NULL parameter to match other boxed - types destructors. - - (clutter_color_new): Add a constructor for the ClutterColor boxed - type, mostly for bindings. - -2008-10-17 Emmanuele Bassi - - * clutter/clutter-color.c (clutter_color_parse): Add checks - for the arguments, to avoid trying to parse NULL strings. - -2008-10-16 Emmanuele Bassi - - * clutter/clutter-container.[ch]: Add checks to the Container - interface invocation methods, to avoid crashing or corrupting - the stack when an actor does not implement every virtual - function of the Container interface vtable. GObject allows this - to happen so we must handle the case gracefully. This also means - that we can classify some virtual function as mandatory (as is - the case for ::add, ::remove and ::foreach) and some other - optional. - -2008-10-08 Emmanuele Bassi - - * tests/test-depth.c (raise_top), (main): Fix a shadowing - with raise() from signal.h. - -2008-10-01 Øyvind Kolås - - Bug 1108 - Enter/Leave events logics wrt. skipped motion events - - Handle dropped motion events when computing crossing events, - based on a patch from Gwenole Beauchesne. - - * clutter/clutter-main.c: (clutter_event_get_device): internal static - utility function. - (clutter_do_event): generate enter/leave events for all pointer - events. - (generate_enter_leave_events): modified enter/leave events generator - to work for all pointer event types. Enter/leave events are now - delivered before the motion/button event that caused the crossing to - happen. - * clutter/clutter-event.c: (clutter_event_copy), (clutter_event_free): - removed reference counting logic that is not needed when the crossing - events are directly delivered. - -2008-09-29 Emmanuele Bassi - - * configure.ac: Post branch bump to 0.9.0 - -2008-09-25 Emmanuele Bassi - - * configure.ac: Post release bump to 0.8.3 - -======== Release 0.8.2 ======================================================== - -2008-09-25 Emmanuele Bassi - - * configure.ac: - * README: - * NEWS: Release 0.8.2 - -2008-09-25 Emmanuele Bassi - - * clutter/clutter-event.h: Fix missing documentation. - -2008-09-24 Emmanuele Bassi - - Bug 1130 - CLUTTER_MOTION is not emitted when time goes backwards. - - * clutter/clutter-main.c (clutter_do_event): Check for time - rollbacks inside the motion event throttling. (Pierce Liu) - -2008-09-23 Emmanuele Bassi - - * clutter/clutter-timeout-pool.c: Reword previous commit. - -2008-09-23 Emmanuele Bassi - - * clutter/clutter-timeout-pool.c: - (clutter_timeout_pool_new): Fix previous commit: g_source_unref() - is not needed. (Thanks to Neil Roberts) - -2008-09-23 Emmanuele Bassi - - Bug 1154 - clutter_timeout_pool_new() documentation doesn't say - how to free - - * clutter/clutter-timeout-pool.c: Update the documentation to - note that you must use g_source_unref() to free the timeout - pool. (Murray Cumming) - -2008-09-23 Emmanuele Bassi - - Bug 1124 - Clutter causes an additional size request in each - allocation - - * clutter/clutter-actor.c: - (clutter_actor_store_old_geometry): Store the allocation instead - of causing a new size-request cycle. (Johan Bilien) - -2008-09-23 Emmanuele Bassi - - Bug 1125 - Save an extra pango_layout_get_size in many cases - - * clutter/clutter-label.c: - (clutter_label_create_layout_no_cache): Add a simple check - before calling pango_layout_get_size(). (Johan Bilien) - -2008-09-23 Emmanuele Bassi - - * clutter/clutter-alpha.c: - (clutter_alpha_get_alpha): Do not return the cached value but - just compute the current alpha value. The use case is pretty - much straightforward: stop a timeline, advance it, and retrieve - the alpha value before starting the timeline to adjust an - animation dependent on the alpha. Caching the alpha value is - not needed because the behaviours will always pass the alpha - value inside the ::alpha-notify virtual function anyway, so - there is no need for them to call clutter_alpha_get_alpha(). - - This change makes it also possible to reliably unit-test - ClutterAlpha. - - (timeline_new_frame_cb): Call clutter_alpha_get_alpha(). - -2008-09-23 Tomas Frydrych - - * clutter/clutter-main.c: - * clutter/clutter-main.h: - * clutter/clutter-private.h: - * clutter/x11/clutter-backend-x11.c: - (clutter_get_option_group_without_init): - Function to obtain clutter option group without opening display - (for use with foreign display and gtk_clutter_init). Bug 1033. - - Stripped trailing whitespace. - -2008-09-22 Neil Roberts - - Bug 856 - Teardown sequence is borked - - * clutter/clutter-main.c: Don't free the ClutterMainContext so - that the main loop can be restarted. - - * clutter/eglx/clutter-backend-egl.c: - * clutter/eglnative/clutter-backend-egl.c: Register an atexit - handler which disposes the backend object so that we are still - guaranteed to call eglTerminate on GLES. - -2008-09-22 Neil Roberts - - * tests/test-unproject.c (on_event): - * tests/test-project.c (on_event): Use a return value for the - 'event' signal handler, otherwise it might accidentally return - TRUE for unhandled events and you won't be able to close the - window. - -2008-09-19 Emmanuele Bassi - - Bug 1033 - Manually parsing command line options prevents - initializing clutter - - * clutter/clutter-main.c: - (post_parse_hook), (clutter_init_with_args), - (clutter_parse_args), (clutter_init): Move the initialization - of Clutter at the end of the post-parse hook of Clutter's - GOptionGroup. Clutter must be initialized at the end of the - argument parsing. - -2008-09-19 Emmanuele Bassi - - * clutter/clutter-main.c: Properly document the - clutter_get_option_group() function and the invariant that - after parsing Clutter's option group the library will be - initialized. (Thanks to Tomas Frydrych for pointing this - out) - -2008-09-19 Emmanuele Bassi - - * clutter/x11/clutter-backend-x11.c: Properly document the - usage of clutter_x11_set_display(). - - * clutter/x11/clutter-x11.h: clutter_x11_set_display() is - public API and should be declared in the header we install. - -2008-09-18 Neil Roberts - - Bug 1048 - SIGFPE in cogl_texture_set_region() with nvidia - - * clutter/cogl/gl/cogl-texture.c (cogl_texture_set_region): - * clutter/cogl/gles/cogl-texture.c (cogl_texture_set_region): - Don't attempt to upload any data if the width or height of the - subregion is zero. Thanks to Gwenole Beauchesne. - -2008-09-18 Neil Roberts - - Bug 1044 - cogl_get_viewport error - - * clutter/cogl/gles/cogl.c (cogl_get_viewport): Use glGetIntegerv - instead of glGetFixedv to read the viewport because the latter - converts incorrectly on some hardware. - -2008-09-18 Neil Roberts - - Bug 1080 - clutter_stage_read_pixels has upside-down y coordinate - - * clutter/clutter-stage.c (clutter_stage_read_pixels): Use - OpenGL's coordinate system for the arguments to glReadPixels (so - that y zero is the bottom of the window). Use clutter_redraw - instead of clutter_stage_paint to ensure the right GL context is - selected. Set some of the glPixelStore parameters that might have - been changed by Cogl. - - * tests/test-stage-read-pixels.c: Replace with a different test - that gets a sub-region of the stage around the cursor. - -2008-09-17 Neil Roberts - - Bug 1145 - Flicker on resize the window - - * clutter/glx/clutter-stage-glx.c (clutter_stage_glx_realize): - Don't set a backing pixel on the X window. Otherwise when the - window resizes it will flicker when X paints the background - immediatly before Clutter repaints the whole stage. - -2008-09-17 Neil Roberts - - * clutter/clutter-types.h: Swap left and right in the - documentation for ClutterGravity. - -2008-09-17 Neil Roberts - - Bug 1121 - Setting anchor point doesn't work if set too early - - * clutter/clutter-actor.c - (clutter_actor_set_anchor_point_from_gravity) - (clutter_actor_move_anchor_point_from_gravity): Add documentation - to make it clear that the anchor point won't move when the actor - is resized. - -2008-09-16 Neil Roberts - - Bug 1100 - WM_SIZE not handled correctly, user_resize and - window_style correction. - - * clutter/win32/clutter-stage-win32.c (get_window_style): Remove - the WS_MAXIMIZEBOX style if the stage isn't resizable. - (clutter_stage_win32_set_user_resize): Queue a redraw of the - window frame when the user_resize property is changed. - - * clutter/win32/clutter-event-win32.c (message_translate): Don't - update the size of the stage when handling WM_SIZE messages that - result from the stage being minimized. Thanks to Roman Yazmin. - -2008-09-16 Tomas Frydrych - - * clutter/glx/clutter-glx-texture-pixmap.c: - * clutter/x11/clutter-x11-texture-pixmap.c: - TFP resyncing on MapNotify/ConfigureNotify (bug 1020; patch by - Andy Wingo ). - -2008-09-15 Øyvind Kolås - - * clutter/clutter-main.c: amended typo in gtk-doc. - -2008-09-12 Neil Roberts - - Bug 1034 - Picking doesn't work on Eee PC - - * clutter/clutter-main.c (_clutter_id_to_color): When choosing a - pick color, set all but the most significant of the unused - bits. This should make make it more likely that the GL - implementation will round down to the right value. - - * tests/test-pick.c: Test case for picking. It creates 192 actors - at known positions and stores their gids. It then calls - clutter_stage_get_actor_at_pos with each position to check that - the right gid is returned. - - * tests/Makefile.am (noinst_PROGRAMS): Add test-pick - -2008-09-12 Neil Roberts - - Bug 1010 - ClutterLabel does not update the layout (again) - - * clutter/clutter-label.c: Bring back layout caching. This time it - will cache up to three different layouts. The width for which each - layout was generated is stored so that if the same width is - requested again it can use the cached version. If no cached - version is available it will try to replace the oldest - layout. 'Age' is determined by a counter which is incremented - every time a layout is created. The cache is cleared after any - property changes that might affect the layout. - (struct _ClutterLabelPrivate): Removed extents_width, - extents_height and context because they weren't used anywhere. - - * tests/test-label-cache.c: Add a test which checks whether the - label is using a different layout when properties are - changed. Also compares the extents of the label's layout with an - independent layout and fails if they aren't the same. - - * tests/Makefile.am (noinst_PROGRAMS): Add test-label-cache - -2008-09-10 Neil Roberts - - Bug 1137 - Setting the anchor point does not trigger a re-paint - - * clutter/clutter-actor.c (clutter_actor_set_property): When - changing the anchor point properties, use set_anchor_pointu - instead of changing the value directly so that a redraw will be - queued. - (clutter_actor_set_anchor_pointu): Queue a redraw when the anchor - point is changed. Thanks to Johan Bilien. - -2008-08-27 Emmanuele Bassi - - Bug 1082 - Texture bitmap is destroyed in wrong way - - * clutter/cogl/common/cogl-bitmap-pixbuf.c: - (_cogl_bitmap_from_file): Make a copy of the pixbuf data in - the internal image loader so that we can keep working under - the assumption that we are using the GLib memory allocation - and deallocation functions. - -2008-08-27 Emmanuele Bassi - - Bug 1099 - No ClutterScript API to get a list of IDs in a given file - - * clutter/clutter-script.[ch]: Add clutter_script_list_objects(), - a function for retrieving all the objects built by a ClutterScript - instance. (Based on a patch by Noah Gibbs) - -2008-08-26 Emmanuele Bassi - - Bug 1090 - Label somtimes returns natural_width < min_width - - * clutter/clutter-label.c: - (clutter_label_get_preferred_width): Check that the width of the - layout is always greater than 0. (Johan Bilien) - -2008-08-19 Neil Roberts - - Bug 1103 - Two typos in clutter documentation - - * doc/reference/clutter/subclassing-ClutterActor.xml: Update the - custom actor example since the Cogl API was changed to namespace - all of the path related functions in cogl_path_*. Thanks to Nati - Berkover. - - * clutter/clutter-score.c: Add missing parameter in example of - calling clutter_score_start(). - -2008-08-18 Neil Roberts - - Bug 1085 - Cursor is in wrong position on ClutterEntry if set - x-align property - - * clutter/clutter-entry.c (clutter_entry_paint): When calculating - the position to draw the cursor at, take into account the - alignment of the text. Queue a redraw when the x-align property is - changed. - -2008-08-07 Neil Roberts - - Bug 1091 - WM_MOUSEWHEEL (scroll-event) not handled correctlly - - * clutter/win32/clutter-event-win32.c (message_translate): The - coordinates in a WM_MOUSEWEEL message are given relative to the - screen so they need to be converted to client coordinates before - use. Thanks to Roman Yazmin. - -2008-08-06 Emmanuele Bassi - - * clutter/clutter-child-meta.c: - (clutter_child_meta_set_property), - (clutter_child_meta_class_init): Make the :container and - :actor properties of ChildMeta construct-only, to allow - bindings to actually use ChildMeta without abusing the API. - - * clutter/clutter-container.c (create_child_meta): Instead of - setting the members of the ChildMeta structure, use the - constructor properties. - -2008-08-04 Emmanuele Bassi - - * clutter/clutter-keysyms.h: Resync with keysymdef.h inside Xorg. - -2008-08-04 Emmanuele Bassi - - * clutter/clutter-script.c: - (clutter_script_default_connect): Improve wording and debug - messages in the default autoconnection for signal handlers. - -2008-08-04 Emmanuele Bassi - - * clutter/clutter-script-parser.c: - * clutter/clutter-script-private.h: Clean up the code; add a - conversion function for reading a ClutterColor out of a - JSON object or array definition. - - * clutter/clutter-script.c: Clean up the code; document properly - how we translate from type name to type function. - -2008-08-04 Emmanuele Bassi - - * clutter/clutter-main.c: Rework and improve the documentation - of the thread-safe timeout and idle source installer functions. - -2008-08-01 Neil Roberts - - Bug 945 - Clipping+fbo cloning bugs - - * clutter/cogl/gl/cogl.c: - * clutter/cogl/gles/cogl.c: - * clutter/cogl/cogl.h.in: Add cogl_clip_stack_save, - cogl_clip_stack_restore, cogl_viewport and cogl_frustum. - - * clutter/cogl/gl/cogl-fbo.h: - * clutter/cogl/gl/cogl-fbo.c: Try to attach a stencil buffer when - creating an FBO. - - * clutter/cogl/common/cogl-clip-stack.c: Add functions to save and - restore the whole state of the stack. - - * clutter/clutter-texture.c (clutter_texture_paint): When - rendering the FBO source, setup a temporary asymmetric perspective - projection matrix to render it as it would appear on screen. - - * clutter/clutter-private.h: - * clutter/clutter-actor.c - (_clutter_actor_apply_modelview_transform_recursive): No longer - static and exported in clutter-private.h - -2008-08-01 Neil Roberts - - Bug 1071 - clutter_timeline_get_duration doesn't always work - - * clutter/clutter-timeline.c: Calculate the 'duration' property - on-demand instead of storing it as a member variable. Notify - duration property changes whenever the fps or num_frames changes. - -2008-08-01 Neil Roberts - - Bug 1069 - Warnings with ClutterScore - - * clutter/clutter-score.c (clutter_score_is_playing): Check - whether priv->running_timelines is NULL before checking its - length. - (foreach_running_timeline): Remove the completed signal handler - when stopping the score. Otherwise the completed callback will get - called multiple times if the timeline is started later. - -2008-07-31 Neil Roberts - - Bug 1075 - Difficult to bind clutter_stage_new - - * clutter/clutter-stage.c (clutter_stage_dispose): Unrealize the - stage before removing the update idle handler. Otherwise - unrealizing causes another redraw to be queued and if the stage - object remains alive it will cause an assert and abort. - -2008-07-30 Neil Roberts - - * clutter/clutter-stage.c (clutter_stage_class_init): Added the - 'perspective' property. All of the machinery was there to - implement the property but somehow the call that actually installs - it was missing. - -2008-07-30 Emmanuele Bassi - - * clutter/clutter-fixed.h: - * clutter/clutter-units.h: Fix the upper and lower boundaries of - ClutterFixed and ClutterUnit types; G_MAXINT16 and G_MININT16 - were not enough to describe those values. - -2008-07-30 Ross Burton - - * clutter/clutter-main.c: - Destroy the debugging timer when the context is freed. - - * clutter/clutter-stage.c: - Free the stage title when the stage is finalized. - -2008-07-30 Neil Roberts - - * clutter/clutter-model.c (clutter_model_set_sorting_column): This - function is supposed to accept -1 to disable sorting. However it - checks for whether the column is >= the number of columns, but - clutter_model_get_n_columns() returns an unsigned int so the - column number also gets promoted to unsigned for the - comparison. Therefore -1 is always greater than the number of - columns so it wouldn't let you set it. - -2008-07-26 Neil Roberts - - * clutter/clutter-timeline.c (clutter_timeline_list_markers): When - requesting the list of markers it was returning the marker data as - a string instead of the name so it was copying garbage. - -2008-07-25 Neil Roberts - - * clutter/clutter-actor.c (clutter_actor_remove_clip) - (clutter_actor_set_clipu): Queue a redraw when the clip is - changed. - -2008-07-24 Neil Roberts - - * clutter/clutter-script.c: The example in the documentation - showed a color being specified as '0xff0000ff' but it should be - '#ff0000ff' - -2008-07-23 Emmanuele Bassi - - Bug 1062 - clutter_actor_query_coords() replacement in 0.8 - - * clutter/clutter-deprecated.h: Fix the deprecation warning - for clutter_actor_query_coords(). (Gwenole Beauchesne) - -2008-07-17 Emmanuele Bassi - - Bug 1047 - API documentation from release tarball is not - installed by "make install" - - * configure.ac: - * Makefile.am: Make the recursion into the documentation - directory depend on on whether we explicitly enable it or - if we are not inside an SVN checkout. - -2008-07-17 Neil Roberts - - * clutter/clutter-texture.c: - * clutter/clutter-rectangle.c: - * clutter/clutter-group.c: - * clutter/clutter-entry.c: - * clutter/clutter-clone-texture.c: Remove unnecessary calls to - cogl_{push,pop}_matrix. The matrix is preserved in - clutter_actor_paint whenever the actor's transformation is applied - so there should be no need to push the matrix in actor paint - implementations unless it does some additional transformations - itself. - -2008-07-16 Emmanuele Bassi - - * clutter.pc.in: Add a variable containing the COGL backend - inside the pkg-config file, for configure-time checks. - -2008-07-14 Neil Roberts - - * clutter/cogl/common/cogl-primitives.c (cogl_path_rel_curve_to): - Fixed a typo in the second parameter which meant the curve was - drawn incorrectly. - -2008-07-14 Emmanuele Bassi - - * clutter/clutter.h: Include missing installed files. - -2008-07-14 Tomas Frydrych - - * clutter/clutter-stage.c: - (clutter_stage_hide_cursor): - Fixed C&P bug that made it impossible to show cursor once hidden. - - Stripped trailing whitespace. - -2008-07-13 Matthew Allum - - * clutter/x11/clutter-x11-texture-pixmap.c: - Call XSync in unredirect X error trap (Thanks to Andy Wingo) - -2008-07-13 Neil Roberts - - * build/mingw/mingw-cross-compile.sh: Avoid using the --strip - option to tar because it isn't supported in the version shipped - with MSYS. - -2008-07-11 Tomas Frydrych - - * clutter/clutter-fixed.c: - Move G_IMPLEMENT_INLINES before all other #include statements (bug - #1038). - -2008-07-11 Tomas Frydrych - - * clutter/clutter-fixed.c: - Changed #define G_IMPLEMENTS_INLINES to G_IMPLEMENT_INLINES (bug - #1038). - -2008-07-10 Emmanuele Bassi - - * configure.ac: Post release bump to 0.3.1. - -======== Release 0.8.0 ======================================================== - -2008-07-10 Emmanuele Bassi - - * configure.ac: - * NEWS: Release 0.8.0. - -2008-07-10 Matthew Allum - - * clutter/cogl/gles/cogl-fbo.c: - * clutter/cogl/gles/cogl-texture.c: - Fix warnings with eglnative build - -2008-07-10 Matthew Allum - - * README: - Sync up/improve ready for 0.8 release. - - * AUTHORS: - Sync up to date - hope I havn't missed anyone.. - -2008-07-10 Matthew Allum - - * clutter/glx/clutter-glx-texture-pixmap.c: - Assume TFP npots sized textures are always supported if TFP ext is! - (Based on patch from James Ketrenos) - -2008-07-08 Matthew Allum - - Bug 1011 - Fix TFP fallback mechanism (take 2) - - * clutter/glx/clutter-glx-texture-pixmap.c: - * tests/test-pixmap.c: - Slightly modified patch from Gwenole Beauchesne applied - to better handle both falling back to non accelerated tfp - and improvements to the test case. - -2008-07-07 Matthew Allum - - Bug 1016 - Changing window-redirect-automatic property after - creating ClutterX11TexturePixmap doesn't work. - - * clutter/x11/clutter-x11-texture-pixmap.c: - (clutter_x11_texture_pixmap_set_window): - Sync up redirection prop correctly (Jason Tackaberry) - -2008-07-07 Matthew Allum - - Bug 1019 - clutter-frame-source.h not included by clutter.h - - * clutter/clutter.h: - Add missing header include. - -2008-07-05 Neil Roberts - - * clutter/clutter-actor.h: Remove redundant duplicate declaration - of clutter_actor_allocate_preferred_size - -2008-07-05 Emmanuele Bassi - - Bug 1033 - Manually parsing command line options prevents - initializing clutter (Armin Burgmeier) - - * clutter/clutter-main.c: - (post_parse_hook), (clutter_init_real): Set the is_initialized - flag inside the real initialization function. - -2008-07-04 Emmanuele Bassi - - * clutter/clutter-label.c: Properly document the behaviour - of the :alignment property. - -2008-07-04 Neil Roberts - - * build/mingw/mingw-cross-compile.sh: Default to the win32 flavour - instead of the SDL flavour - -2008-07-04 Neil Roberts - - Bug 1015 - Cloning unparented actors with FBOs doesn't work with - new layout code - - * clutter/clutter-texture.c (clutter_texture_new_from_actor): Now - parents the source actor if it doesn't already have a parent so - that it will get an allocation during layout. - - * tests/test-fbo.c: One of the tests tries to ensure that the - ClutterTexture clone keeps the source actor alive by derefing - it. However as actors have a floating reference then test-fbo - doesn't have its own reference once the source is parented so - unrefing just steals the parent's reference and causes - badness. The test now claims the floating reference before cloning - the source so that it can safely be unref'd later. - -2008-07-03 Emmanuele Bassi - - * clutter/x11/Makefile.am: Fix distchecking by adding the - generated enum types files to DISTCLEANFILES. - -2008-07-03 Tomas Frydrych - - * clutter/clutter-fixed.h: - * clutter/clutter-fixed.c - Fixed inlining of clutter_qmulx() and clutter_qdivx() (bug 1022). - -2008-07-03 Neil Roberts - - * clutter/clutter-shader.c (bind_glsl_shader): Fix a cut-and-paste - error which broke vertex shaders - -2008-07-03 Øyvind Kolås - - * clutter/cogl/common/cogl-bitmap-pixbuf.c: - (_cogl_bitmap_from_file): removed debug g_printf that announces each - successful image load done by the internal image backend. - -2008-07-02 Neil Roberts - - * clutter/clutter-actor.c - (clutter_actor_get_abs_allocation_vertices): The initialization of - the local stage pointer got moved away in revision 3081 so it was - crashing if the function is called before the layout is run. - -2008-07-02 Emmanuele Bassi - - * clutter/clutter-label.c: - (clutter_label_create_layout_no_cache), - (clutter_label_create_layout): Split the layout creation in two - functions: one creating the layout, the other creating the layout - and hitting the glyphs cache. The first one is for the offscren - operations - like requesting the preferred size; the second one - is for paint and allocation. - - (clutter_label_allocate): Try to aggressively cache the PangoLayout - between allocations - to avoid recreating it even when the label - just moved because of an animation. See bug #1010. - -2008-07-02 Øyvind Kolås - - * clutter/fruity/clutter-fruity.c: made the multi touch code more - robust. There are situations though where the device seems to stop - generating any touch events until all fingers have been lifted and - a new interaction session is started. - -2008-07-02 Neil Roberts - - * clutter/eglx/clutter-stage-egl.c (clutter_stage_egl_realize): - Use clutter_x11_has_event_retrieval() instead of - !backend_x11->no_xevent_retrieval to reflect the changes to the - GLX backend in revision 3078 - -2008-07-02 Emmanuele Bassi - - Bug 1010 - ClutterLabel does not update the layout (Lee Jusung) - - * clutter/clutter-actor.c: - (clutter_actor_queue_relayout): Remove some pointer dereferencing. - - * clutter/clutter-label.c: - (clutter_label_allocate): Revert the change of r2883 and remove the - layout width cache and force a recreation of the layout every time - we receive an allocation. - -2008-07-01 Neil Roberts - - * clutter/clutter-actor.c (clutter_actor_get_transformed_sizeu): - This is now do-what-I-mean like clutter_actor_get_size so that if - the allocation box is available it will use that, otherwise it - will use the preferred size. clutter_actor_transform_vertices has - been converted to clutter_actor_transform_and_project_box so that - it can be used by both functions. Based on a patch by Emmanuele - Bassi. - (clutter_actor_get_abs_allocation_vertices) - (clutter_actor_get_allocation_vertices): These two functions now - force a relayout if the allocation box is not available. - - * tests/test-fbo.c: Fixed the shader to use texture2D instead of - texture2DRect now that GL_EXT_texture_rectangle is no longer used. - -2008-07-01 Chris Lord - - * clutter/clutter-stage.c: - Add a note to the clutter_stage_read_pixels doc that the alpha channel - isn't guaranteed to contain sensible data - - * tests/test-stage-read-pixels.c: (update_snapshot): - Overwrite the alpha data when using clutter_stage_read_pixels; fixes - this test on non-nvidia drivers - -2008-07-01 Matthew Allum - - * clutter/glx/clutter-stage-glx.c: - * clutter/x11/clutter-backend-x11.c: - * clutter/x11/clutter-backend-x11.h: - * clutter/x11/clutter-event-x11.c: - * clutter/x11/clutter-x11.h: - * tests/test-devices.c: - Disable use of XInput and add an explicit clutter_x11_enable_xinput - to enable it. - Also fix up the x11 pre-init calls to not need g_type_init. - -2008-07-01 Øyvind Kolås - - Bug 1013 - Per device grabs are not obeyed in pointer device - propagation. - - * clutter/clutter-event.c: (clutter_event_get_device_id): swap - arguments of g_return_val_if_fail around. - * clutter/clutter-event.h: added *device field to crossing events as - well. - * clutter/clutter-main.c: (emit_pointer_event): added a device - argument and check for per device grabs if this device is passed. - (clutter_do_event): pass the device if present for all pointer event - emissions. - (generate_enter_leave_events): copy the device from the motion events - when generating enter/leave events. - -2008-07-01 Chris Lord - - * clutter/clutter-texture.c: - Correct documentation about accepted pixel formats - - * tests/test-stage-read-pixels.c: (main): - Don't try to free a ClutterTexture after main, fixes segfault on quit - -2008-07-01 Emmanuele Bassi - - * clutter/clutter-behaviour-bspline.h: - * clutter/clutter-behaviour.h: - * clutter/clutter-event.h: - * clutter/clutter-texture.h: Add missing documentation and - change the copyright and licensing notice to use the FSF - website instead of its address. (#512) - -2008-06-30 Matthew Allum - - Bug 1008 - tfp still a bit borked - - * clutter/x11/clutter-x11-texture-pixmap.c: - Fix from Andy Wingo for sync_window borkage - -2008-06-30 Neil Roberts - - Bug 985 - MSC math.h / M_PI issue - - * clutter/cogl/gl/cogl.c (set_clip_plane): - * clutter/clutter-alpha.c (sinc_func): Use G_PI instead of M_PI - because M_PI isn't defined in MSVC without a special - #define. Thanks to Haakon Sporsheim - -2008-06-30 Neil Roberts - - * clutter/win32/clutter-backend-win32.c (check_vblank_env): Use - g_ascii_strcasecmp instead of strcasecmp because strcasecmp isn't - available in MSVC. - -2008-06-30 Matthew Allum - - Bug 1007 - Fix TFP fallback mechanism - - * clutter/glx/clutter-glx-texture-pixmap.c: - * clutter/x11/clutter-x11-texture-pixmap.c: - Add some extra safety to glx pixmap creations and tidy up some notes. - Patch from Gwenole Beauchesne. - -2008-06-30 Neil Roberts - - * clutter/x11/clutter-event-x11.c: - * clutter/win32/clutter-event-win32.c: Use the HAVE_CONFIG_H guard - around #include "config.h" - -2008-06-30 Emmanuele Bassi - - * clutter/Makefile.am: - * clutter/eglx/Makefile.am: - * clutter/glx/Makefile.am: Build the X11 base backend before - the backends that depend on it. - -2008-06-30 Emmanuele Bassi - - Bug 1000 - clutter-x11 should define gtypes for its enumerations - - * clutter/x11/Makefile.am: - * clutter/x11/clutter-event-x11.c: - * clutter/x11/clutter-x11-enum-types.c.in: - * clutter/x11/clutter-x11-enum-types.h.in: - * clutter/x11/clutter-x11.h: Add the GTypes for the X11-specific - enumerations, so that they can be used by the bindings. (Andy - Wingo) - -2008-06-30 Chris Lord - - * tests/test-shader.c: - Fix edge-detect shader on ATI, thanks Gwenole Beauchesne - -2008-06-30 Matthew Allum - - Bug 997 - automatic updates not working for named TFP pixmaps, - at least in x11 - - * clutter/glx/clutter-glx-texture-pixmap.c: - * clutter/glx/clutter-glx-texture-pixmap.h: - * clutter/x11/clutter-backend-x11.c: - * clutter/x11/clutter-x11-texture-pixmap.c: - * clutter/x11/clutter-x11-texture-pixmap.h: - * clutter/x11/clutter-x11.h: - * configure.ac: - * tests/test-pixmap.c: - Rework Andy Wingos patch a little adding more safety for now also - handling redirect Windows (as well as pixmaps) - -2008-06-30 Emmanuele Bassi - - Bug 980 - cogl-bitmap-fallback.c compiler error/warning due to - cast issue (Haakon Sporsheim) - - * clutter/cogl/common/cogl-bitmap-fallback.c: - (_cogl_unpremult_alpha_last), - (_cogl_unpremult_alpha_first): Cast to avoid a compiler warning - with MSC. - -2008-06-30 Chris Lord - - * tests/test-shader.c: (main): - Add a new shader to test-shaders (Sobel operator edge-detect) - -2008-06-30 Øyvind Kolås - - Disable XInput handling for keyboard events, re-enabling key press and - release events when pointer is outside window as well as re-enabling - keyrepeat. - - * clutter/glx/clutter-stage-glx.c: (clutter_stage_glx_realize): select - for KeyPressMask and KeyReleaseMask even with XInput enabled. - * clutter/x11/clutter-backend-x11.c: (_clutter_x11_register_xinput): - Disabled the XInput keyboard code paths (comments and #if 0's) - * clutter/x11/clutter-event-x11.c: (event_translate): always handle - keyboard events without regard to XInput. - -2008-06-29 Matthew Allum - - * clutter/x11/clutter-event-x11.c: - ifdef convert_xdevicekey_to_xkey () with XINPUT check. - (fix via Andy Wingo) - -2008-06-29 Tommi Komulainen - - * clutter/osx/clutter-osx.h (_clutter_event_osx_put) - * clutter/osx/clutter-event-osx.c (clutter_event_osx_translate, - NSEvent:clutterStage:) - * clutter/osx/clutter-stage-osx.c (EVENT_HANDLER): Since events are - delivered to ClutterGLView, pass the associated ClutterStage directly - to event translation. Avoids relying on being embedded in - ClutterGLWindow, which makes it easier to implement clutter-gtk. - -2008-06-29 Tommi Komulainen - - * clutter/osx/clutter-event.osx.c (NSEvent:clutterKeyVal:): Add - comment, on OSX backend the Shift modifier is included in 'keyval' - making it identical to 'unicode_value' Instead of a or - 3 you'd get A and # - -2008-06-27 Matthew Allum - - * clutter/cogl/gl/cogl.c: - Temp workaround for 10.4 ATI card OSX folks, see #929 - (Tommi Komulainen) - - Bug 998 - clutter always captures X input events - - * clutter/eglx/clutter-stage-egl.c: - * clutter/glx/clutter-stage-glx.c: - When we disable X event retrival, dont still select for window - events. - -2008-06-27 Emmanuele Bassi - - * clutter/clutter-event.h: - * clutter/clutter-main.c: - * clutter/x11/clutter-backend-x11.c: Add further documentation, - and increase the coverage to 94%. - -2008-06-27 Emmanuele Bassi - - * configure.ac: Post release bump to 0.7.7. - -======== Release 0.7.6 ======================================================== - -2008-06-27 Emmanuele Bassi - - * configure.ac: - * NEWS: Release 0.7.6. - -2008-06-27 Neil Roberts - - Bug 993 - Underline colors are sometimes wrong - - * clutter/pango/pangoclutter-render.c: Fixed so that instead - of trying to set the color in prepare_run it uses draw_glyphs - to draw groups of glyphs and requests the color for each part - from Pango. - -2008-06-26 Emmanuele Bassi - - * clutter/clutter-actor.c: - (clutter_actor_set_min_width), - (clutter_actor_set_min_height), - (clutter_actor_set_natural_width), - (clutter_actor_set_natural_height): Ignore any override of the - minimum and natural size of the stage on backends that only - support static stages. - - * clutter/clutter-stage.c (clutter_stage_allocate): Use the - preferred size of the ClutterStage implementation instead of - the display size. - - * clutter/clutter-backend.[ch]: Remove get_display_size() and - clutter_backend_get_display_size(). - - * clutter/eglnative/clutter-backend-egl.c: - * clutter/fruity/clutter-backend-fruity.c: - * clutter/osx/clutter-backend-osx.c: - * clutter/sdl/clutter-backend-sdl.c: - * clutter/win32/clutter-backend-win32.c: - * clutter/x11/clutter-backend-x11.c: Remove get_display_size() - implementations. - -2008-06-26 Emmanuele Bassi - - * clutter/clutter-shader.c (bind_glsl_shader): Verify that the - vertex shader has been successfully compiled, like we do with - the fragment shader. - -2008-06-26 Emmanuele Bassi - - * clutter/osx/clutter-backend-osx.c: - (clutter_backend_osx_get_display_size): Fix the allocation pool - macro name. - -2008-06-26 Matthew Allum - - * clutter/glx/clutter-glx-texture-pixmap.c: - Move the gl extension probe into the regular object init() rather than - class_init. Should be a little safer. - -2008-06-26 Matthew Allum - - * tests/test-pixmap.c: (main): - Use strtol on arg as to take hex values. Tweak from James Ketrenos - -2008-06-25 Emmanuele Bassi - - * configure.ac: Post release bump to 0.7.5. - -======== Release 0.7.4 ======================================================== - -2008-06-25 Emmanuele Bassi - - * configure.ac: - * NEWS: Release 0.7.4. - -2008-06-25 Neil Roberts - - * clutter/win32/clutter-backend-win32.c - (clutter_backend_win32_get_display_size): Implement - get_display_size on the Win32 backend. - -2008-06-25 Emmanuele Bassi - - * clutter/clutter-main.h: Make the priority constants public. - - * clutter/clutter-stage.c: Use CLUTTER_PRIORITY_REDRAW. - - * clutter/clutter-timeline.c: Use CLUTTER_PRIORITY_TIMELINE. - -2008-06-25 Emmanuele Bassi - - * clutter/osx/clutter-backend-osx.c: - (clutter_backend_osx_get_display_size), - (clutter_backend_osx_class_init): Implement the get_display_size - function. - -2008-06-25 Emmanuele Bassi - - * clutter/clutter-actor.c: - (clutter_actor_set_min_width), - (clutter_actor_set_min_height), - (clutter_actor_set_natural_width), - (clutter_actor_set_natural_height): Add a comment explaining - the override in place for backends providing a fixed size - on a stage. - -2008-06-25 Emmanuele Bassi - - * clutter/clutter-actor.c: - (clutter_actor_set_min_width), - (clutter_actor_set_min_height), - (clutter_actor_set_natural_width), - (clutter_actor_set_natural_height): If setting the minimum - and natural width and height on a top-level actor, and on - a backend that provides only static stages, then override - the value and use the size of the display as returned by - the backend. - - * clutter/eglnative/clutter-stage-egl.c: - (clutter_stage_egl_realize): Remove the setting of the - minimum and natural width and height. - -2008-06-25 Emmanuele Bassi - - * clutter/clutter-stage.c: - (clutter_stage_allocate): Minor optimization. - - (clutter_stage_init): Do not set the minimum size of the - stage wrapper, and require that the backends set the size - themselves. - -2008-06-25 Emmanuele Bassi - - * clutter/eglnative/clutter-stage-egl.c: - (clutter_stage_egl_realize): Try to force the minimum and - natural size on realization. - -2008-06-25 Emmanuele Bassi - - * clutter/clutter-backend.c: - (clutter_backend_get_display_size): Provide a fallback for - backends not implementing get_display_size(). - - * clutter/clutter-stage.c: - (clutter_stage_allocate): Add debug messages. - - * clutter/sdl/clutter-backend-sdl.c: - (clutter_backend_sdl_get_display_size), - (clutter_backend_sdl_class_init): Implement get_display_size() - on the SDL backend. - -2008-06-25 Chris Lord - - * clutter/clutter-fixed.c: (clutter_sinx): - Fix clutter_sinx for angles > CFX_2PI - CFX_ONE. Also add note to - documentation about being able to use modulus with ClutterFixed - -2008-06-25 Emmanuele Bassi - - * clutter/clutter-backend.h: - * clutter/clutter-backend.c: - (clutter_backend_get_display_size): Add a function for getting the - display size out of the backend. - - * clutter/clutter-stage.c: - (clutter_stage_allocate): When allocating on a backend with a - static stage, we simply ignore the passed box and override it with - the size of the display. - - * clutter/eglnative/clutter-backend-egl.c: - (clutter_backend_egl_get_display_size), - (clutter_backend_egl_class_init): Implement get_display_size() by - returning the size of the EGL surface. - - * clutter/fruity/clutter-backend-fruity.c: - (clutter_backend_egl_get_display_size), - (clutter_backend_egl_class_init): Ditto as above. - - * clutter/x11/clutter-backend-x11.c: - (clutter_backend_x11_get_display_size), - (clutter_backend_x11_class_init): Implement get_display_size() by - returning the DisplayWidth and DisplayHeight of the current - screen. - -2008-06-25 Neil Roberts - - * clutter/win32/clutter-stage-win32.c - (clutter_stage_win32_realize): Use a more direct method to choose - the best pixel format instead of ChoosePixelFormat because - otherwise if the display's depth is 16 then it will prefer the - non-accelerated software implementation when the requested depth - is 24. - -2008-06-25 Emmanuele Bassi - - * clutter/clutter-stage.c (clutter_stage_allocate): Fix condition; - should always test before committing. - -2008-06-25 Matthew Allum - - * clutter/x11/clutter-backend-x11.c: (_clutter_x11_register_xinput) - Add extra safety and fallback if no useable pointing devices are - found. - -2008-06-25 Emmanuele Bassi - - * clutter/clutter-stage.c: - (clutter_stage_allocate): Check if the stage provided by the - backend is static (i.e. a framebuffer that cannot be resized) - and interrupt the allocation chain there. - - * clutter/eglnative/clutter-stage-egl.c: - (clutter_stage_egl_class_init): Remove the ::allocate empty - stub. - -2008-06-25 Matthew Allum - - * clutter/eglnative/clutter-stage-egl.c: - * clutter/eglx/clutter-stage-egl.c: - Disable passing of attribs to eglCreateContext() on GLES 1.1 h/w - -2008-06-25 Neil Roberts - - * clutter/clutter-actor.c (clutter_actor_paint): Guard against the - actor clip being enabled or disabled in an actor paint - method. Otherwise the clip stack can be become unbalanced. This - was happening in ClutterEntry until it was fixed in revision 2983. - -2008-06-24 Neil Roberts - - Bug 979 - Wrong call convension for SwapIntervalProc in win32 backend - - * clutter/win32/clutter-backend-win32.c: Use the correct calling - convention for SwapInterval. Thanks to Haakon Sporsheim. - -2008-06-24 Emmanuele Bassi - - Bug 989 - Add a search path for clutter script assets - - * clutter/clutter-script.h: - * clutter/clutter-script.c: - (clutter_script_finalize), - (clutter_script_add_search_paths), - (clutter_script_lookup_filename): Add the ability to define multiple - search paths inside ClutterScript and to look up a specific filename - inside those search paths. This is useful to define a set of - directories where the assets for a UI definition are and still - reference those assets by their name instead of the full path. (989, - based on a patch by Matthew Allum) - - * clutter/clutter-texture.c: - (clutter_texture_set_custom_property): Use the newly added - clutter_script_lookup_filename() function. - -2008-06-24 Neil Roberts - - * clutter/cogl/gles/cogl-gles2-wrapper.h: - * clutter/cogl/gles/cogl-gles2-wrapper.c: All of the settings and - uniforms are now proxied into COGL variables instead of setting - the GL uniforms directly. Just before glDrawArrays is executed a - shader is generated using the given settings to avoid using 'if' - statements. The shaders are cached. - - * clutter/cogl/gles/cogl-fixed-vertex-shader.glsl: - * clutter/cogl/gles/cogl-fixed-fragment-shader.glsl: The shaders - are now split into parts using comments instead of 'if' statements - so that the simplest shader can be generated on the fly. - - * clutter/cogl/gles/stringify.sh: Now splits up the shader sources - into separate C strings where deliminated by special comments. - - * clutter/cogl/gles/cogl-program.h: - * clutter/cogl/gles/cogl-program.c: A custom shader can no longer - be directly linked with the fixed-functionality replacement - because the replacement changes depending on the settings. Instead - the bound shader is linked with the appropriate replacement shader - just before glDrawArrays is executed. The custom uniform variables - must also be proxied through COGL variables because their location - can change when relinked. - -2008-06-24 Øyvind Kolås - - * clutter/fruity/clutter-fruity.c: removed dead code and unused - variables. - -2008-06-24 Øyvind Kolås - - * configure.ac: better alignment of list of enabled experimental - features. - -2008-06-24 Emmanuele Bassi - - * doc/clutter-actor-invariants.txt: Fix grammar and spelling, - document the ::parent-set signal emission. - -2008-06-24 Emmanuele Bassi - - * clutter/clutter-entry.c: - (clutter_entry_ensure_layout): Convert the invisible char - to UTF-8 to avoid Pango barfing on us. - -2008-06-24 Matthew Allum - - * clutter/eglnative/clutter-stage-egl.c: - Add an extra debug note. - * configure.ac: - Generate version.xml for COGL API docs - -2008-06-24 Chris Lord - - Bug 988 - cursor position wrong with multibyte invisible char - - * clutter/clutter-entry.c: (clutter_entry_ensure_cursor_position): - Fix cursor position calculation when using invisible text - -2008-06-23 Emmanuele Bassi - - * clutter/x11/clutter-event-x11.c (event_translate): Set the - event type explicitly in the union members as well for the - key events, like we do for all the other events. - -2008-06-23 Neil Roberts - - * clutter/clutter-entry.c (clutter_entry_paint): Set the clip - using COGL directly instead of setting the actor clip. Otherwise - the clip stack will be unbalanced after the first draw. This also - frees up the actor clip to be set by an application. - -2008-06-23 Matthew Allum - - * NEWS: - Add a quick note on fruity multiple deivce support. - * README: - Add multiple device support details and some tweaks on - Clutter requirements (i.e GdkPixbuf). - -2008-06-23 Matthew Allum - - Bug 987 - clutter-event.c c99 variable declaration - - * clutter/clutter-event.c: - Remove c99ism. - -2008-06-23 Emmanuele Bassi - - * configure.ac: Post release bump to 0.7.3. - -======== Release 0.7.2 ======================================================== - -2008-06-23 Emmanuele Bassi - - * configure.ac: - * NEWS: Release 0.7.2. - -2008-06-23 Emmanuele Bassi - - * clutter/clutter-texture.c: - (clutter_texture_get_preferred_width), - (clutter_texture_get_preferred_height), - (clutter_texture_set_property), - (clutter_texture_get_property), - (clutter_texture_class_init), - (clutter_texture_init): Add the new :keep-aspect-ratio property - to ClutterTexture; when set to TRUE the texture will return a - preferred width maintaining the aspect ratio with the given height - and a preferred height maintaining the aspect ratio with the - given width. This allows to set the width or the height and have - the texture automatically request the height or the width respectively - while maintaining the aspect ratio of the original image. - - * tests/test-script.json: Update to test the new :keep-aspect-ratio - property. - -2008-06-23 Neil Roberts - - Bug 918 - Group doesn't clip if it's children are clipped - - * clutter/cogl/common/cogl-clip-stack.h: - * clutter/cogl/common/cogl-clip-stack.c: Added functions to - maintain a stack of clipping rectangles. - - * clutter/cogl/gles/cogl.c: - * clutter/cogl/gl/cogl.c: The cogl_clip_set and unset functions - have moved into cogl-clip-stack.c which calls back to cogl.c to - set the actual rectangles. Multiple clip rectangles are combined - by merging the stencil buffers. - - * clutter/cogl/gles/cogl-primitives.c (_cogl_path_fill_nodes): - * clutter/cogl/gl/cogl-primitives.c (_cogl_path_fill_nodes): Merge - the stencil buffer with the contents of the clipping stack after - drawing the path. - - * clutter/cogl/gles/cogl-context.h (CoglContext): - * clutter/cogl/gl/cogl-context.h (CoglContext): Store the number - of available stencil bits. - - * clutter/cogl/common/Makefile.am - (libclutter_cogl_common_la_SOURCES): Added cogl-clip-stack.c - -2008-06-23 Robert Bragg - - * clutter/eglx/clutter-stage-egl.c: Makes sure the eglx backend - passes the EGL_OPENGL_ES2_BIT surface attrib when using - GLES2.0 under cogl - -2008-06-23 Chris Lord - - * clutter/x11/clutter-event-x11.c: (convert_xdevicekey_to_xkey), - (translate_key_event), (event_translate): - Change the xinput event handling to use translate_key (fixes modifier - handling with xinput key events) - -2008-06-23 Emmanuele Bassi - - Bug 982 - __COGL_GET_CONTEXT MS compiler issue (Haakon Sporsheim) - - * clutter/cogl/common/cogl-handle.h: - * clutter/cogl/common/cogl-primitives.c: Remove C99-isms. - - * clutter/cogl/gl/cogl-fbo.c: - * clutter/cogl/gl/cogl-primitives.c: - * clutter/cogl/gl/cogl-texture.c: - * clutter/cogl/gl/cogl.c: Ditto as above. - - * clutter/cogl/gles/cogl-fbo.c: - * clutter/cogl/gles/cogl-primitives.c: - * clutter/cogl/gles/cogl-texture.c: Ditto as above. - -2008-06-23 Emmanuele Bassi - - Bug 984 - pango_clutter_render_layout() declared void, but - returns (Haakon Sporsheim) - - * clutter/pango/pangoclutter-render.c: - (pango_clutter_render_layout): Do not use a return statement. - -2008-06-23 Emmanuele Bassi - - Bug 905 - Paint cursor directly (Xan López) - - * clutter/clutter-entry.c: - (clutter_entry_paint_cursor), - (clutter_entry_init), - (clutter_entry_set_color): Directly paint the cursor on the - entry instead of using an actor. - -2008-06-23 Emmanuele Bassi - - Bug 981 - clutter_stage_read_pixels temprow fix (Haakon Sporsheim) - - * clutter/clutter-stage.c (clutter_stage_read_pixels): Allocate - the temporary row data used to flip the buffer from glReadPixels() - in order to fix compilation under MSVC. Also validate the input - parameters to avoid random segfaults. - -2008-06-23 Matthew Allum - - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - * clutter/clutter-event.c: - * clutter/clutter-event.h: - * clutter/clutter-main.c: - * clutter/clutter-main.h: - * clutter/clutter-private.h: - * clutter/eglx/clutter-stage-egl.c: - * clutter/fruity/clutter-backend-fruity.c: - * clutter/fruity/clutter-backend-fruity.h: - * clutter/fruity/clutter-fruity.c: - * clutter/glx/clutter-stage-glx.c: - * clutter/x11/clutter-backend-x11.c: - * clutter/x11/clutter-backend-x11.h: - * clutter/x11/clutter-event-x11.c: - * clutter/x11/clutter-stage-x11.h: - * clutter/x11/clutter-x11.h: - * configure.ac: - * tests/Makefile.am: - * tests/test-devices.c: - Merge of 'xinput' branch giving initial basic support of - multiple input devices. - -2008-06-23 Matthew Allum - - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - * clutter/clutter-group.c: - Remove uneeded (at least for now) paint_area method (#970) - -2008-06-19 Emmanuele Bassi - - * clutter/clutter-script.c: Be more explicit about the fact that - the script id is not the name of an actor, and that it is retrieved - by using clutter_get_script_id(). - -2008-06-17 Emmanuele Bassi - - * clutter/clutter-actor.h: - * clutter/clutter-actor.c: - (clutter_actor_allocate_preferred_size): Add more documentation - and notes on where it's appropriate to call this function. - -2008-06-17 Chris Lord - - * clutter/clutter-texture.c: (clutter_texture_get_preferred_width), - (clutter_texture_get_preferred_height): - Maintain aspect ratio with natural width/height when for_width/height - are specified - -2008-06-17 Matthew Allum - - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - Clean up of parenting code (see #972) - Doc updates to section intro. - Add clutter_actor_allocate_preferred_size () utility call - - * clutter/clutter-group.c: (clutter_fixed_layout_allocate): - Use clutter_actor_allocate_preferred_size () - - * doc/clutter-actor-invariants.txt: - Add some more notes - -2008-06-17 Emmanuele Bassi - - * clutter/clutter-actor.c: - (clutter_actor_set_parent): Do not emit ::parent-set when - reparenting. - - (clutter_actor_unparent): Ditto, as above. - - (clutter_actor_reparent): Emit ::parent-set with the old - parent and set the IN_REPARENT flag unconditionally. - -2008-06-17 Emmanuele Bassi - - * doc/clutter-actor-invariants.txt: Document the flags, the - invariants, the state changes and the minimum requirements for - actor implementations. Needs to be tweaked and fleshed out - before 0.8.0, and we obviously need to enforce the invariants. - -2008-06-17 Emmanuele Bassi - - * clutter/clutter-actor.c: - (clutter_actor_set_parent): Document and maintain the invariant - that after setting a realized parent on an actor, the actor is - also going to be realized. - - (clutter_actor_unparent): Change the invariant that an unparented - actor is also unrealized: the paint is fast enough to avoid - unrealizing, since it also causes more problems that what it's - worth. - - * tests/test-invariants.c (test_show_on_set_parent): Update the - invariants test because we changed the invariants. - -2008-06-17 Jussi Kukkonen - - * clutter/clutter-score.c (clutter_score_append): - initialize "marker" string and "complete_id" signal id when creating a - ClutterScoreEntry. - -2008-06-16 Tomas Frydrych - - * clutter/clutter-actor.c: - (clutter_actor_move_anchor_point_from_gravity): - Fixed incorrect sign of position adjustment (revert of earlier - change). - -2008-06-16 Emmanuele Bassi - - * clutter/clutter-actor.c (clutter_actor_unparent): Reset the - :show-on-set-parent property to TRUE when unparenting. - - * tests/Makefile.am: Add test-invariant to the build. - - * tests/test-invariants.c: Test the invariants that we are going - to honour (and document, at some point). - -2008-06-16 Emmanuele Bassi - - * clutter/eglnative/clutter-stage-egl.c: Ignore any size allocation - we receive from the user. - - * clutter/fruity/clutter-stage-fruity.c: Ditto as above. - -2008-06-16 Tomas Frydrych - - * clutter/clutter-actor.c: - (clutter_actor_move_anchor_point): - (clutter_actor_move_anchor_pointu): - (clutter_actor_move_anchor_point_from_gravity): - Fixed incorrect sign of position adjustment. - Fixed replace call to _move_by with move_byu in - _move_anchor_pointu. - - Stripped trailing whitespace. - -2008-06-15 Emmanuele Bassi - - Bug #967 - Mismatch of Timeline::marker-reached signal signature - - * clutter/clutter-marshal.list: - * clutter/clutter-timeline.c: - (clutter_timeline_class_init): Fix the type of the frame_num - argument in the ::marker-reached signal creation to match the - signal class handler. (Armin Burgmeier) - -2008-06-14 Emmanuele Bassi - - * README: We depend on PangoCairo, now; also add all the missing - release notes entries and the missing backends configuration notes. - -2008-06-14 Matthew Allum - - * README: - Make needed GL version 1.4, note GLES2 support, add some notes - for COGL. - -2008-06-13 Emmanuele Bassi - - * configure.ac: Post release bump to 0.7.1. - -======== Release 0.7.0 ======================================================== - -2008-06-13 Emmanuele Bassi - - * README: - * NEWS: - * configure.ac: Release 0.7.0, "Booska". - -2008-06-13 Emmanuele Bassi - - * tests/test-cogl-offscreen.c: - * tests/test-cogl-primitives.c: - * tests/test-cogl-tex-convert.c: - * tests/test-cogl-tex-foreign.c: - * tests/test-cogl-tex-getset.c: - * tests/test-cogl-tex-tile.c: - * tests/test-layout.c: - * tests/test-pixmap.c: - * tests/test-texture-quality.c: Miscellaneous fixes for distcheck - to pass. - -2008-06-13 Emmanuele Bassi - - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - * tests/test-cogl-primitives.c: - * tests/test-events.c: - * tests/test-multistage.c: - * tests/test-textures.c: - * tests/test-timeline.c: Miscellaneous fixes for distcheck to - pass. - -2008-06-13 Emmanuele Bassi - - * clutter/clutter-texture.c: - (clutter_texture_unrealize), (clutter_texture_dispose): Add a - guard against reading back memory during the unrealization on - dispose. - -2008-06-13 Emmanuele Bassi - - Bug #953 - Actors are not hidden before unrealized or - disposed (Tommi Komulainen) - - * clutter/clutter-actor.c: - (clutter_actor_unrealize): Hide a visible actor when unrealizing - it. - - (clutter_actor_dispose): Make sure to unrealize an actor when - disposing it. - -2008-06-13 Emmanuele Bassi - - * clutter/clutter-actor.c: - (clutter_actor_dispose), (clutter_actor_destroy), - (clutter_actor_unparent): Clean up the actor's destruction - sequence, making sure that every operation is performed - under the CLUTTER_ACTOR_IN_DESTRUCTION internal flag. (thanks - to Tomas Frydrych, Neil Roberts and Matthew Allum) - -2008-06-13 Emmanuele Bassi - - Bug #960 - PangoContext creation code should not be duplicated - - * clutter/clutter-private.h: - * clutter/clutter-main.c: - (_clutter_context_create_pango_context): Abstract the creation - of the PangoContext inside its own function, to avoid code and - bugs duplication. (Tommi Komulainen) - - * clutter/clutter-entry.c (clutter_entry_init): Use the newly - added PangoContext creation function. - - * clutter/clutter-label.c (clutter_label_init): Ditto as above. - -2008-06-12 Emmanuele Bassi - - Bug #964 - "unrealized" signal of ClutterActor wrongly named - - * clutter/clutter-actor.c (clutter_actor_class_init): Fix typo - in the ::unrealize signal name. (Armin Burgmeier) - -2008-06-12 Emmanuele Bassi - - * doc/reference/cogl/Makefile.am: Ignore cogl/gl and cogl/gles - when building the documentation. - - * clutter/cogl/cogl.h.in: Add sections in the header file. - -2008-06-12 Emmanuele Bassi - - * clutter/clutter-actor.c: Add more clarifications on the - size and position accessors and the distinction between - transformed and untransformed actor box inside the actor's - description. - -2008-06-12 Emmanuele Bassi - - * clutter/clutter-actor.c: Clarify the documentation of the - accessors of the width and height. - -2008-06-12 Neil Roberts - - * clutter/win32/clutter-stage-win32.c: Updated to the new layout - API. All code to do with positioning the stage has been removed so - the window is left where Windows wants to put it and it can not be - moved with clutter_actor_set_position. - - * clutter/win32/clutter-stage-win32.h (ClutterStageWin32): Remove - win_xpos and win_ypos. - - * clutter/win32/clutter-event-win32.c (message_translate): Remove - the handler for WM_MOVE because the stage no longer cares where it - is positioned. - -2008-06-12 Emmanuele Bassi - - * clutter/clutter-actor.[ch]: Documentation fixes. - - * clutter/clutter-backend.c: Documentation fixes. - - * clutter/clutter-container.h: Documentation fixes. - - * clutter/clutter-fixed.c (clutter_qdivx): Fix the return - value to be after the description. - - * clutter/clutter-texture.[ch]: Documentation fixes. - - * clutter/clutter-timeline.c: Documentation fixes. - -2008-06-11 Emmanuele Bassi - - * tests/test-layout.c: Take into account the origin of the - parent, if it has changed, and queue a relayout if we are - using the transformed box when computing the layout. - -2008-06-11 Emmanuele Bassi - - * clutter/eglnative/clutter-stage-egl.c: Remove a duplicate - get_preferred_width() implementation. (thanks to Iain Holmes) - -2008-06-11 Neil Roberts - - * clutter/clutter-actor.c (clutter_actor_allocate): Fixed the - logic when detecting whether the actor has moved. - -2008-06-11 Iain Holmes - - * configure.ac: Detect the GL headers in flavour=fruity - - * clutter/fruity/clutter-stage-fruity.c: Update the Fruity backend to - use the new size negotiation API. - -2008-06-11 Emmanuele Bassi - - * clutter/clutter-label.c (clutter_label_allocate): Keep the - layout if the size of the allocation is the same as the last - allocation received by the label. - -2008-06-11 Emmanuele Bassi - - * clutter/clutter-actor.c: Notify :x, :y, :width and :height - properties using ClutterUnits, not pixels. - -2008-06-11 Emmanuele Bassi - - * clutter/eglnative/clutter-stage-egl.c: Update the EGL native - backend to use the new size negotiation API. - -2008-06-11 Emmanuele Bassi - - * clutter/sdl/clutter-stage-sdl.c: Update the SDL backend to - use the new size negotiation API. - -2008-06-11 Emmanuele Bassi - - Bug #961 - Fails to build on OSX - - * clutter/osx/clutter-stage-osx.c: Update the OSX backend to - use the new size negotiation API. - -2008-06-11 Emmanuele Bassi - - * autogen.sh: Force overwriting when glib-gettextize is - invoked by autogen.sh. - -2008-06-10 Neil Roberts - - * clutter/clutter-main.c: Include for setlocale() - -2008-06-10 Emmanuele Bassi - - * clutter/clutter-child-meta.c: Fix section name - - * clutter/clutter-container.c: - (clutter_container_child_set_property), - (clutter_container_child_get_property): Fix gtk-doc parameter - name. - - * clutter/clutter-container.h: Fix documentation of the - interface vfuncs. - - * clutter/clutter-event.h: Fix documentation. - - * clutter/clutter-feature.h: Fix documentation. - - * clutter/clutter-types.h: Add ClutterRequestMode. - - * clutter/x11/clutter-event-x11.c: Fix documentation. - - * tests/test-fullscreen.c: Verify that the stage size has been - changed by clutter_stage_fullscreen(). - -2008-06-10 Emmanuele Bassi - - Bug #815 - Split up request, allocation, and paint box - - * clutter/clutter-actor.[ch]: Rework the size allocation, - request and paint area. Now ::request_coords() is called - ::allocate(), and ::query_coords() has been split into - ::get_preferred_width() and ::get_preferred_height(). See - the documentation and the layout test on how to implement - a container and layout manager with the new API. (#915, - based on a patch by Havoc Pennington, Lucas Rocha and Johan - Bilien) - - * clutter/clutter-clone-texture.c: Port CloneTexture to - the new size negotiation API; it just means forwarding - the requests to the parent texture. - - * clutter/clutter-deprecated.h: Add deprecated and replaced - API. - - * clutter/clutter-entry.c: Port Entry to the new size - negotiation API. - - * clutter/clutter-group.c: Port Group to the new size - negotiation API; the semantics of the Group actor do not - change. - - * clutter/clutter-label.c: Port Label to the new size - negotiation API, and vastly simplify the code. - - * clutter/clutter-main.[ch]: Add API for executing a - relayout when needed. - - * clutter/clutter-private.h: Add new Stage private API. - - * clutter/clutter-rectangle.c: Update the get_abs_opacity() - call to get_paint_opacity(). - - * clutter/clutter-stage.c: - (clutter_stage_get_preferred_width), - (clutter_stage_get_preferred_height), - (clutter_stage_allocate), - (clutter_stage_class_init): Port Stage to the new size - negotiation API. - - * clutter/clutter-texture.c: Port Texture to the new size - negotiation API. - - * clutter/clutter-types.h: Add ClutterRequestMode enumeration. - - * clutter/x11/clutter-stage-x11.c: Port the X11 stage - implementation to the new size negotiation API. - - * tests/Makefile.am: Add the layout manager test case. - - * tests/test-opacity.c: Update. - - * tests/test-project.c: Update. - - * tests/test-layout.c: Test case for a layout manager implemented - using the new size negotiation API; the layout manager handles - both transformed and untransformed children. - -2008-06-10 Emmanuele Bassi - - * Makefile.am: Add the po/ directory to the build. - -2008-06-10 Emmanuele Bassi - - * autogen.sh: Check for, and run glib-gettextize. - - * configure.ac: Set up the localization support. - - * clutter/clutter-main.c: Do not define the GETTEXT_PACKAGE, - but use the one from the configure script. - - * po/POTFILES.in: Template for the translatable files. - -2008-06-10 Chris Lord - - * clutter/clutter-main.c: (pre_parse_hook): - Call setlocale on init - - * clutter/x11/clutter-event-x11.c: (translate_key_event): - Fix typo and use the same buffer size as xev - -2008-06-10 Øyvind Kolås - - * clutter/clutter-texture.c: improved documentation for - clutter_texture_set_filter_quality. - -2008-06-10 Chris Lord - - Bug #916 - ClutterKeyEvent:unicode_value is ignored - Bug #950 - AltGr not handled - - * clutter/osx/clutter-event-osx.c: (clutter_event_osx_translate): - * clutter/x11/clutter-event-x11.c: (translate_key_event): - * tests/test-events.c: (fill_keybuf), (input_cb): - Apply patch from Tommi Komulainen, fill the unicode_value attribute of - the ClutterKeyEvent struct. Also use XKeycodeToKeysym, as suggested in - bug #950, comment #2 - -2008-06-10 Matthew Allum - - * clutter/clutter-texture.c: - Minor reformatting cleanups. Emit filter-quality prop on change. - * clutter/glx/clutter-glx-texture-pixmap.c: - Support mipmaps via filter quality prop. - -2008-06-10 Chris Lord - - * tests/Makefile.am: - * tests/test-entry-auto.c: - Add automatic test for ClutterEntry, by Tommi Komulainen - -2008-06-10 Chris Lord - - * clutter/cogl/common/cogl-primitives.c: (_cogl_path_arc): - Draw as expected when end angle is lower than start angle (i.e. do not - swap the angles). This aligns with cairo behaviour. - -2008-06-10 Tommi Komulainen - - Bug#959 - Multiple minor improvements - - * configure.ac: pick up GDKPIXBUF_PREFIX from gdk-pixbuf-2.0 - module, not pango - - * clutter/clutter-keysyms-table.h: cosmetic fix for ifdef guard - name in the comment (leftover from earlier commit) - - * tests/test-textures.c: don't depend on GdkPixbuf as we're not - using any actual features from it, just plain pixel buffer - manipulation - - * clutter/clutter-timeline.c - * clutter/clutter-timeline.h (clutter_timeline_list_markers): Use - gsize* to return number of items, not guint* - * tests/test-paint-wrapper.c: use correct type (guint*) in call - to clutter_actor_get_size() - - * tests/test-depth.c (janus_group): properly take height2 into - account when calculating needed height for the rectangle - - * tests/test-cogl-tex-getset.c: use rowstride, not width*4, when - calculating pixel offsets - - * tests/test-cogl-tex-getset.c: Don't assume/force RGBA format, - also support ARGB format (needed with quartz imageloader.) - -2008-06-09 Tommi Komulainen - - * clutter/osx/clutter-backend-osx.c (clutter_backend_osx_post_parse): - Print GL_VENDOR, GL_RENDERER, GL_VERSION and GL_EXTENSIONS to aid - debugging. - -2008-06-09 Tommi Komulainen - - Bug #930 - add support for quartz imagebackend - - * clutter/cogl/common/cogl-bitmap-pixbuf.c - (_cogl_bitmap_from_file): When USE_QUARTZ is defined implement - using Core Graphics. - * configure.ac: support --with-imagebackend=quartz and print - which imagebackend is selected. Make quartz default on OSX - -2008-06-09 Øyvind Kolås - - * clutter/cogl/common/cogl-primitives.c: (cogl_path_rel_curve_to): - fixed naming of implementation of cogl_path_rel_curve_to (it was - called just cogl_rel_curve_to). - -2008-06-09 Emmanuele Bassi - - * configure.ac: Clean up a bit the X11 and X extensions - checks with PKG_CHECK_EXISTS(). Since we are filling up the - X11_CFLAGS and X11_LIBS variables ourselves there is no - point in polluting the Makefiles with unused variables. - - * clutter/Makefile.am: Remove the pkg-config variable - evaluation and use the values retrieved from the configure - script. - -2008-06-09 Chris Lord - - Bug #914 - ClutterEntry is confused about characters vs. bytes - - * clutter/clutter-entry.c: (clutter_entry_ensure_layout), - (clutter_entry_handle_key_event_internal), - (clutter_entry_set_text): - Fix mix-up of character and byte counts, handle unicode correctly. - Use clutter_key_event_unicode() instead of - clutter_keysym_to_unicode(). - - * clutter/clutter-event.c: (clutter_key_event_unicode): - Don't ignore ClutterKeyEvent.unicode_value - - * clutter/clutter-keysyms-table.h: - Rename header define so as not to conflict with clutter-keysyms.h - - Patch originally by Emmanuele Bassi, with input from Tommi Komulainen. - -2008-06-07 Øyvind Kolås - - * clutter/clutter-texture.c: made the filter-quality proeprty also - control the use of mipmapping. - * clutter/clutter-texture.h: added ClutterTextureQuality enum. - * tests/test-texture-quality.c: new test. - * tests/Makefile.am: added test-texture-quality - -2008-06-06 Emmanuele Bassi - - * clutter/clutter-texture.c: - (clutter_texture_class_init): Do not unrealize on hide(), and - do not realize() on show. By default, clutter_actor_show() will - realize ourselves, and we don't want to unrealize when hidden - to avoid paying the penalty of reading back the texture data - from the video memory. - - * tests/test-actors.c: Show all textures again when pressing - the 'r' key. - -2008-06-06 Neil Roberts - - * tests/test-shader.c: Use the special wrapper vars when building - for GLES 2 and automatically cycle the shaders because it's - difficult to right-click. - -2008-06-06 Neil Roberts - - * tests/test-shader.c: Fixed to use sampler2D instead of - sampler2DRect now that GL_TEXTURE_RECTANGLE support is disabled in - revision 2834. The ClutterTexture actor now has the - 'disable-slicing' property set. The distance in texture - coordinates between pixels is passed in as a uniform so that the - box-blur shader can still work. - -2008-06-06 Emmanuele Bassi - - Bug #952 - Fix test-textures in trunk - - * tests/test-textures.c: Use USE_GDKPIXBUF instead of - USE_PIXBUF. (#952, Gwenole Beauchesne) - -2008-06-06 Emmanuele Bassi - - Bug #951 - Fix clutter_entry_init() in trunk - - * clutter/clutter-entry.c (clutter_entry_init): Remove a - variable shadowing another one. (#951, Tommi Komulainen) - -2008-06-06 Emmanuele Bassi - - Bug #955 - ClutterLabel is missing fallback resolution handling - - * clutter/clutter-label.c (clutter_label_init): Handle - clutter_backend_get_resolution() return value -1 similar to - ClutterEntry (falling back to 96.0). (#955, Tommi Komulainen) - -2008-06-06 Neil Roberts - - * clutter/eglnative/clutter-stage-egl.c - (clutter_stage_egl_realize): Use ES 2 renderable type when - building for GLES 2. - - * clutter/eglnative/clutter-event-egl.c (get_backend_time): Added - a NULL for the microseconds parameter of g_timer_elapsed. - - * clutter/eglnative/clutter-stage-egl.h: - * clutter/eglnative/clutter-egl.h: - * clutter/eglnative/clutter-backend-egl.h: Include - clutter-egl-headers.h instead of including the GL headers directly - so it can include gl2.h when building for GLES 2. - - * clutter/eglnative/clutter-egl-headers.h: - * clutter/eglnative/Makefile.am (libclutter_eglnative_la_SOURCES): - Added clutter-egl-headers.h - - * clutter/cogl/gles/cogl-fixed-fragment-shader.glsl: GLES 2 - doesn't provide a default precision for floats in the fragment - shader and it will reject the shader if there isn't one. - -2008-06-06 Matthew Allum - - Bug #948 - Remove texture rectangle support - - * clutter/clutter-feature.c: - * clutter/clutter-feature.h: - * clutter/clutter-texture.c: - * clutter/cogl/gl/cogl.c: - * clutter/glx/clutter-glx-texture-pixmap.c: - Remove support for GL_TEXTURE_RECTANGLE_ARB (now using just regular - 2D textures, with optional npots extension). Simplifys code, + makes - mipmap & shader support much more sane. - -2008-06-06 Øyvind Kolås - - Bug #931 - suspicious size allocation for pixel data. - - * clutter/cogl/common/cogl-bitmap-pixbuf.c: - (_cogl_bitmap_from_file): allocate height×rowstride and not duplicate - gdkpixbuf's strange optimization saving some bytes at the end of the - pixbuf. - -2008-06-05 Tommi Komulainen - - Bug 913 - cogl fails to build on OSX - - * clutter/cogl/gl/cogl-fbo.c: define GL_READ_FRAMEBUFFER_EXT and - GL_DRAW_FRAMEBUFFER_EXT if not defined in the build system. The - #ifdef can fail if they're not #defines but variables or enums. - As the values are supposed to be industry standard even then - it shouldn't have ill effects. - -2008-06-05 Tommi Komulainen - - Bug #911 - OSX: add multistage support - - * clutter/osx/clutter-backend-osx.{c,h} - (clutter_backend_osx_init_stage, clutter_backend_osx_get_stage, - clutter_backend_osx_redraw, clutter_backend_osx_create_stage, - clutter_backend_osx_ensure_context, clutter_backend_osx_class_init, - clutter_backend_osx_dispose, ClutterGLView:drawRect:): - * clutter/osx/clutter-stage-osx.{c,h} (clutter_stage_osx_realize, - ClutterGLWindow:setFrameSize:): - Adapt to new multistage backend API. Don't keep a pointer to - default stage. Derive from ClutterActor instead of ClutterStage. - Implement ClutterStageWindow interface. Paint, resize and - otherwise manipulate the wrapper rather than self when necessary. - - (clutter_backend_post_parse): Create our singleton GL context - here. We could probably create the context when the default - stage is created, but I think this is more clean. - - * clutter/osx/clutter-event-osx.c (clutter_event_osx_translate) - * clutter/osx/clutter-stage-osx.c (clutter_stage_osx_state_update, - ClutterGLWindow:windowShouldClose:): - * clutter/osx/clutter-stage-osx.h: Export ClutterGLWindow interface - for clutter-event-osx.c to easily get the stage for NSWindow. - Fill in ClutterEventAny::stage on our events. - -2008-06-05 Tommi Komulainen - - Bug #910 - OSX: missing memory pool - - * clutter/osx/clutter-backend-osx.c (clutter_backend_osx_redraw): - Add missing memory pool wrapup. - -2008-06-05 Tommi Komulainen - - Bug #909 - OSX: missing NULL pointer handling - - * clutter/osx/clutter-stage-osx.c (ClutterGLWindow, - clutter_stage_osx_set_title): NSString:stringWithUTF8String: - does not accept NULL values, use empty string ("") instead. - Avoids potential crash. - -2008-06-05 Emmanuele Bassi - - * tests/Makefile.am: - * tests/test-paint-wrapper.c: Add a test case (merely, a copy - of test-actors.c) that verifies that handlers to the ::paint - signal are called in the right order. - -2008-06-05 Emmanuele Bassi - - Bug #840 - Implement prepare-paint and finish-paint signals. - - * clutter/clutter-actor.c: - (clutter_actor_class_init): Add the ::paint, ::realize and - ::unrealize signals to ClutterActor. It is possible to - override the paint, realization and unrealization of an - actor without subclassing it. The ::paint signal handlers - have the same limitations of a ClutterActor::paint implementation - inside a subclass. - - (clutter_actor_realize), - (clutter_actor_unrealize), - (clutter_actor_paint): Emit the signals instead of calling - the functions from the class vtable. - -2008-06-05 Emmanuele Bassi - - * ChangeLog-ivan: Remove the ChangeLog of the clutter-ivan - branch; the branch already contains it. - -2008-06-05 Matthew Allum - - * clutter/glx/clutter-glx-texture-pixmap.h: - Actually export clutter_glx_texture_pixmap_using_extension () - -2008-06-05 Chris Lord - - * clutter/clutter-entry.c: - Correct the documentation for clutter_entry_set_max_length, fixes bug - #915. - -2008-06-04 Robert Bragg - - * tests/test-clip.c: - Removes a spurious #include which may not - be found if using --with-imagebackend=internal - -2008-06-04 Robert Bragg - - * configure.ac: - Checks that for pangocairo >= 1.18, since - pangocairo-font.c uses pango_cairo_font_get_scaled_font which isn't - otherwise available. - -2008-06-03 Neil Roberts - - Applied patch from bug #947 - - * clutter/clutter-stage.c (clutter_stage_get_default): Don't grab - the floating reference when creating the default stage. The stage - manager will take a reference to it so it will behave as any other - stage. - (clutter_stage_new): Don't take the floating reference to the new - stage but let the stage manager keep it instead. - - * clutter/clutter-stage-manager.c - (_clutter_stage_manager_add_stage): Take a reference to the stage - when it is added to the list. - (_clutter_stage_manager_remove_stage): Unref the stage when it is - removed from the list. - (clutter_stage_manager_dispose): Keep track of the 'next' pointer - as a separate variable so we can cope when the stage being - destroyed removes itself from the list as the list is being - iterated. - - * clutter/clutter-actor.c (clutter_actor_destroy): Take a - reference at the beginning of the function even if there is no - parent container so that overall the reference count is not - changed when the actor is unref'd again at the bottom of the - function. Previously it would have a net effect of leaving the - reference count alone unless it is a top level actor in which case - it would unref it. - -2008-06-03 Matthew Allum - - * clutter/glx/clutter-glx-texture-pixmap.c: - Dont always fallback to x11 (slow) updates for a single - failed pixmap. - Minor cleanups. - * clutter/x11/clutter-x11-texture-pixmap.c: - Move shm allocation to only area updates. - -2008-06-03 Øyvind Kolås - - * clutter/clutter-container.c: (container_get_child_property): - s/g_object_set_property/g_object_get_property/ - -2008-06-02 Neil Roberts - - * clutter/pango/pangoclutter-glyph-cache.c - (pango_clutter_glyph_cache_set): When creating a new band, make - sure the texture is wide enough for the glyph, not just tall - enough. - -2008-06-02 Neil Roberts - - Applied 'final patch' from bug #874 - - * clutter/cogl/gles/cogl.c: - * clutter/cogl/gl/cogl.c: The clip planes are now set using the - inverse projection matrix as the modelview matrix so that they can - be specified in screen coordinates. - - * clutter/cogl/gles/cogl-context.h (CoglContext): - * clutter/cogl/gl/cogl-context.h (CoglContext): Added a member to - cache the inverse projection matrix - - * clutter/clutter-fixed.h: Added a constant for converting from - radians to degrees. - - * clutter/clutter-fixed.c (clutter_atani, clutter_atan2i): Added - fixed-point versions of atan and atan2. - - * tests/test-clip.c: Added a test for clipping with various - rotations and depths. - - * tests/Makefile.am (noinst_PROGRAMS): Added test-clip - -2008-06-02 Neil Roberts - - * clutter/cogl/gles/cogl-gles2-wrapper.h: The uniform numbers are - now stored in a separate struct so they can be stored for - application program objects as well. - - * clutter/cogl/gles/cogl.c: Moved stub shader functions into - separate files. - (_cogl_features_init): Report support for the shaders feature on - GLES 2 - - * clutter/cogl/gles/cogl-shader.h: - * clutter/cogl/gles/cogl-shader.c: - * clutter/cogl/gles/cogl-program.h: - * clutter/cogl/gles/cogl-program.c: Separate files to handle - shaders on programs on GLES. If version 1.1 is being used then the - stub functions which all fail are still used. - - * clutter/cogl/gles/cogl-gles2-wrapper.c - (cogl_gles2_wrapper_init, cogl_gles2_wrapper_bind_attributes), - (cogl_gles2_wrapper_get_uniforms): Move the uniforms and attribute - bindings into a separate function so they can be used to bind on - application shaders as well. - (cogl_gles2_wrapper_update_matrix): Now takes a parameter and is - no longer static so that it can be used to update all of the - matrices when a new shader is bound. - - * clutter/cogl/gles/cogl-defines.h.in: Use GL_COMPILE_STATUS for - CGL_OBJECT_COMPILE_STATUS if the latter isn't available (for - example on GLES 2). - - * clutter/cogl/gles/cogl-context.h (CoglContext): Added handle - arrays for programs and shaders. - - * clutter/cogl/gles/cogl-context.c (cogl_create_context) - (cogl_destroy_context): Initialize and destroy program and shader - handle array. - - * clutter/cogl/gles/Makefile.am (libclutter_cogl_la_SOURCES): Add - cogl-{shader,program}.{c,h} - -2008-06-02 Neil Roberts - - * clutter/cogl/gl/cogl-context.c (cogl_destroy_context): Fix - cut-and-paste error where the wrong arrays were being freed. - -2008-06-01 Emmanuele Bassi - - Merge from clutter-0-6: - - * clutter/clutter-model.c: - (clutter_model_iter_set_internal_valist): Add an internal function - wrapping ClutterModelIter::set_value that does not emit the - ::row-changed signal. Emitting this signal before the ::row-added - one is wrong: a row cannot change before being inserted. - - (clutter_model_append), (clutter_model_prepend), - (clutter_model_insert): Use the non-signal emitting variant of - clutter_model_iter_set_valist(). - - (clutter_model_iter_set_valist): Use the internal version and emit - the ::row-changed signal at the end. - -2008-05-31 Emmanuele Bassi - - Bug #943 - Signals are only emitted within a certain area of - the stage - - * clutter/clutter-main.c (clutter_do_event): Use the proper - API and not the macros for the default stage, in case we are - using a backend supporting multiple stages. (Julian Aron Prenner) - -2008-05-30 Emmanuele Bassi - - * clutter/pango/pangoclutter-fontmap.c: - * clutter/pango/pangoclutter-renderer.c: - * clutter/pango/pangoclutter.h - * clutter/pango/pangoclutter-private.h: Add a function retrieving - the font mipmapping setting. - -2008-05-29 Neil Roberts - - * clutter/cogl/gles/cogl-gles2-wrapper.h (CoglGles2Wrapper): Added - uniforms for alpha testing. - - * clutter/cogl/gles/cogl-gles2-wrapper.c - (cogl_gles2_wrapper_init): Get the uniforms for alpha testing - settings. - (cogl_wrap_glEnable, cogl_wrap_glDisable): Enable/disable alpha - testing. - (cogl_wrap_glAlphaFunc): Filled in the wrapper. - - * clutter/cogl/gles/cogl-fixed-fragment-shader.glsl: Added alpha - testing. - - * clutter/cogl/gles/cogl-gles2-wrapper.h: - * clutter/cogl/gles/cogl-gles2-wrapper.c - (cogl_wrap_glGetIntegerv): Added a wrapper for glGetIntegerv so - that it can report zero clip planes. - - * clutter/cogl/gles/cogl.c: - * clutter/cogl/gles/cogl-texture.c: Use the wrapped version of - glGetIntegerv - - * clutter/cogl/gles/cogl-primitives.c (_cogl_path_fill_nodes): Use - _cogl_features_available to check for the stencil buffer instead - of an #ifdef. The stencil buffer is available in the default - profile for the GLES 2 simulator. - -2008-05-29 Emmanuele Bassi - - * configure.ac: Check the --with switches as soon as we have them, - to avoid further checks that will fail anyway. - -2008-05-29 Emmanuele Bassi - - * README: Update the configure arguments list. - -2008-05-28 Neil Roberts - - * clutter/cogl/gles/cogl-gles2-wrapper.c - (cogl_gles2_wrapper_init): Get uniforms for fog parameters and - initialise them. - (cogl_wrap_glDrawArrays): Store the modelview matrix in a uniform - as well so that it can be used for fogging calculations. - (cogl_wrap_glEnable, cogl_wrap_glDisable): Enable/disable fogging. - (cogl_wrap_glFogx, cogl_wrap_glFogxv): Fill in wrapper to set - fogging parameters. - - * clutter/cogl/gles/cogl-fixed-vertex-shader.glsl: Calculate the - fog amount if fogging is enabled. - - * clutter/cogl/gles/cogl-fixed-fragment-shader.glsl: Mix with fog - color. - - * clutter/cogl/gles/cogl-gles2-wrapper.h (CoglGles2Wrapper): Add - uniforms for fogging. - -2008-05-28 Emmanuele Bassi - - * clutter/pango/pangoclutter-font.c: Remove unneeded file. - - * tests/Makefile.am: - * tests/test-random-text.c: Add a test for checking the - glyph cache. - -2008-05-28 Emmanuele Bassi - - Bug #919 - Replacement pango renderer (Neil Roberts) - - * clutter/clutter-backend.h: - * clutter/clutter-backend.c: - (clutter_backend_set_font_options), - (clutter_backend_get_font_options): Add the ability to set - the cairo_font_options_t* for the backend at construction - time, so that backend implementations can have their own - options. - - * clutter/clutter-color.c: Include pango/pango-attributes.h - for the pango_color_parse() function. - - * clutter/clutter-label.c: - (clutter_label_ensure_layout), - (clutter_label_init), (clutter_label_set_text), - (clutter_label_set_font_name), (clutter_label_set_ellipsize), - (clutter_label_set_use_markup): Ensure that the cache is - always primed when the Label changes; this makes sure that - the cache is rebuilt outside the paint run, which should - make the painting perform better especially on embedded - devices. - - * clutter/clutter-entry.c: - (clutter_entry_ensure_layout), - (clutter_entry_init), (clutter_entry_set_text), - (clutter_entry_set_font_name): Ditto as above. - - * clutter/clutter-private.h: - * clutter/clutter-main.[ch]: Create the font-map inside the - main context; add two new functions: - - clutter_clear_glyph_cache() - clutter_set_use_mipmapped_text() - - that control the glyphs cache. - - * clutter/pango/Makefile.am: - * clutter/pango/pangoclutter-fontmap.c: - * clutter/pango/pangoclutter-private.h: - * clutter/pango/pangoclutter-render.c: - * clutter/pango/pangoclutter.h: Rewrite the Pango renderer - using a PangoCairo context and saving the glyphs inside a - more efficient cache. - - * configure.ac: Depend on pangocairo instead of pangoft2. - -2008-05-28 Emmanuele Bassi - - Bug 882 - Allow child properties for containers implementing the - ClutterContainer interface (Øyvind Kolås) - - * clutter/clutter-child-meta.[ch]: Base class for the metadata - of a ClutterActor inside a ClutterContainer; the ChildMeta - object implements a wrapper for storing data that is attached - to a ClutterActor only when it's part of a ClutterContainer. - The ChildMeta object is used to store the child properties - accessible through the ClutterContainer API. - - * clutter/clutter-container.[ch]: Creates the ChildMeta for - each actor, in case the Container specifies the ChildMeta - type to use. - - * clutter/Makefile.am: Add clutter-child-meta.[ch] to the build. - - * clutter/clutter-marshal.list: Add the marshaller for the - ClutterContainer::child-notify signal. - - * clutter/clutter-types.h: Declare ClutterContainer and - ClutterChildMeta to avoid recursive inclusion. - -2008-05-28 Neil Roberts - - * clutter/cogl/gles/Makefile.am: Use old-style Makefile rules for - the stringify script so that automake won't complain. - -2008-05-28 Emmanuele Bassi - - * tests/test-script.c: - * tests/test-script.json: Test merging the same actor from two - different sources. - -2008-05-28 Emmanuele Bassi - - Fix merging of objects with the same id. - - * clutter/clutter-script.c: - (json_object_end): If there already is an ObjectInfo under the - parsed id, merge the construction with the currently stored - state. - - (parse_children), (parse_signals), - (parse_behaviours): Append the newly parsed children, signals - and behaviours, in case the ObjectInfo already has unresolved - items. - - (clutter_script_construct_object): Fix a typo in the type check. - - (clutter_script_init): Do not copy the key inside the hash - table holding the objects - we are already holding it inside - the value. - -2008-05-28 Neil Roberts - - * clutter/cogl/gles/cogl-gles2-wrapper.c (cogl_wrap_glGetFixedv): - Filled in the wrapper for glGetFixedv - -2008-05-28 Neil Roberts - - * clutter/cogl/gles/cogl-texture.c: Use the wrapper for - glTexParameteri. Call glGenerateMipmap after every change to the - texture image data. - - * clutter/cogl/gles/cogl-gles2-wrapper.h: - * clutter/cogl/gles/cogl-gles2-wrapper.c: Added a wrapper for - glTexParameteri so that it can ignore requests to set - GL_GENERATE_MIPMAP. Added a wrapper for glGenerateMipmap that does - nothing on GLES 1 - -2008-05-28 Emmanuele Bassi - - * clutter/clutter-script.c: - (clutter_script_construct_object): Mark top-level objects, - that is objects that don't have their ownership transferred - when building up a ClutterScript. - - (object_info_free): Merge a fix from the stable branch, but - do not check the type - check whether the object is a top - level (we still need the ClutterActor type check in order to - call clutter_actor_destroy()). - -2008-05-28 Emmanuele Bassi - - * clutter/clutter-rectangle.c: - (clutter_rectangle_paint): Remove commented out call to - cogl_enable(); the call is not needed and the comment is - in C99. - -2008-05-27 Neil Roberts - - * clutter/eglx/clutter-stage-egl.h: - * clutter/eglx/clutter-egl-headers.h: - * clutter/eglx/clutter-backend-egl.h: - * clutter/eglx/Makefile.am: Include the GLES and EGL headers via - clutter-egl-headers.h so that the right version can be used - depending on whether the GLES 2 wrapper is being used. - - * configure.ac: Added an automake conditional for whether the GLES - 2 wrapper should be used. - - * clutter/eglx/clutter-stage-egl.c (clutter_stage_egl_realize): - Remove the call to glGetIntegerv to get the max texture size. It - was being called before the GL context was bound so it didn't work - anyway and it was causing trouble for the GLES 2 simulator. - - * clutter/cogl/gles/stringify.sh: Shell script to convert the - shaders into a C string. - - * clutter/cogl/gles/cogl-gles2-wrapper.h: - * clutter/cogl/gles/cogl-gles2-wrapper.c: Wrappers for most of the - missing GL functions in GLES 2. - - * clutter/cogl/gles/cogl-fixed-fragment-shader.glsl: - * clutter/cogl/gles/cogl-fixed-vertex-shader.glsl: New shaders for - GLES 2 - - * clutter/cogl/gles/cogl-defines.h.in: Use the @CLUTTER_GL_HEADER@ - macro instead of always using the GLES 1 header. - - * clutter/cogl/gles/cogl-context.h (CoglContext): Include a field - for the state of the GLES 2 wrapper. - - * clutter/cogl/gles/cogl-texture.c: - * clutter/cogl/gles/cogl-primitives.c: - * clutter/cogl/gles/cogl.c: Use wrapped versions of the GL - functions where neccessary. - - * clutter/cogl/gles/Makefile.am: Add sources for the GLES 2 - wrapper and an extra build step to put the GLSL files into a C - string whenever the files change. - -2008-05-26 Matthew Allum - - * clutter/x11/clutter-stage-x11.c: (clutter_stage_x11_request_coords): - Dont allow the window to be resize to 0 dimentions. (fixes #933) - -2008-05-23 Emmanuele Bassi - - Bug #912 - Invalid use of int* as parameter for glGetIntegerv - - * clutter/cogl/gl/cogl.c (_cogl_features_init): Use GLint - instead of int. (#912, Tommi Komulainen) - -2008-05-23 Emmanuele Bassi - - Bug #928 - Reparenting a child that itself is a container - doesn't work - - * clutter/clutter-actor.c (clutter_actor_set_parent): Realize - an actor when setting its parent, if the parent is realized. - - * clutter/clutter-group.c: - (clutter_group_realize), (clutter_group_class_init): Add the - missing implementation of the ::realize() virtual function; this - makes sure that the children of a Group are realized if the Group - is realized. (#928) - -2008-05-21 Neil Roberts - - * clutter/cogl/gl/cogl.c (error_string): - * clutter/cogl/gles/cogl.c (error_string): Rename to - _cogl_error_string and remove the static scoping so that it can be - called in cogl-texture etc. - - * clutter/cogl/gl/cogl-texture.c (cogl_texture_new_from_foreign): - * clutter/cogl/gles/cogl-texture.c (cogl_texture_new_from_foreign): - GE(*) can't be used to wrap around calls that use the return - value. - - * clutter/cogl/gl/cogl-texture.c (_cogl_texture_quad_sw) - (_cogl_texture_quad_hw, cogl_texture_polygon): Remove GE(*) - wrapper around calls in the middle of a glBegin/glEnd pair which - otherwise always generate an error because glGetError can only be - called outside of the pair. - - * clutter/cogl/gl/cogl-internal.h: Include stdio.h when definig - COGL_DEBUG and declare a prototype for _cogl_error_string. - - * clutter/cogl/gles/cogl-internal.h: Match GE(*) macro to GL - version. - -2008-05-21 Ivan Leben - - * clutter/cogl/gles/cogl-texture.c: - (_cogl_texture_download_from_gl:) Only comment out the broken - check for framebuffer alpha bits, not the check for alpha in - texture format. - -2008-05-20 Øyvind Kolås - - Decouple actor opacity from fill opacity in ClutterRectangle (fixes - race when both are set from clutter script also makes it more - consistent with the behavior of other actors.) - - * clutter/clutter-rectangle.c: (clutter_rectangle_set_color): stop - setting the opacity of the actor from the specified color. - (clutter_rectangle_paint): combine the absolute opacity of the actor - with the alpha of the color when painting. - -2008-05-20 Ivan Leben - - * clutter/cogl/gles/cogl-texture.c: - (cogl_texture_download_from_gl:) Implemented a workaround - for missing alpha framebuffer channel. There are still - some issues with detecting whether alpha is present in the - framebuffer. See comments in code. Test-cogl-tex-getset now - successfully retrieves a RGBA texture image data. - -2008-05-19 Ivan Leben - - * clutter/cogl/gles/cogl-texture.c: - (cogl_texture_download_from_gl:) Store old blending factors - and restore them when done. The lack of ability to retrieve - the alpha channel now more noticable in test-cogl-tex-getset - since the edges of the hand are not antialiased. - - * clutter/cogl/gl(es)/cogl-internal.h: Declare - cogl_blend_func to avoid "implicit implementation" compile - warning. - -2008-05-19 Ivan Leben - - * clutter/cogl/gl(es)/cogl.c: New internal function - cogl_blend_func caches blending setup much like cogl_enable - does with the enable flags. This separates blending factors - setup from the enable/disable operation in preparation of - the texture image retrieval fix for alpha channel on GLES. - (cogl_enable:) Does not modify blending factors anymore. - - * clutter/cogl/gl(es)/cogl-context.h: CoglContext holds two - new variables to cache blending src and dst factors. - - * clutter/cogl/gl(es)/cogl-context.c: - (cogl_create_context:) Initialize blending factors. - - * clutter/cogl/gles/cogl-texture.c: - (cogl_texture_download_from_gl:) Set blending factors to - CGL_ONE, CGL_ZERO which fixes the slighlty improper behavior - where source colour was actually multiplied with its alpha - value in the result (not noticable on current tests). - -2008-05-19 Emmanuele Bassi - - * clutter/eglx/Makefile.am: Fix the INCLUDE directives to - properly include the X11 backend headers. - - * clutter/glx/Makefile.am: Add the libclutter-x11.la static - library to the LDADD directives. - -2008-05-19 Tomas Frydrych - - * clutter/x11/clutter-x11.h: - * clutter/glx/clutter-glx.h: - Include texture pixmap headers. - -2008-05-16 Neil Roberts - - * clutter/eglx/clutter-stage-egl.c (clutter_stage_egl_realize): - Fix name of parent class variable which otherwise breaks the - build. - -2008-05-16 Neil Roberts - - Use the Mesa headers instead of depending on GLee for Win32 - builds. - - * configure.ac: No longer check for GLee - - * clutter/cogl/gl/cogl-defines.h.in: Don't bother including GLee.h - - * build/mingw/mingw-cross-compile.sh: No longer downloads libGLee - but downloads the Mesa library instead and installs the headers - from that. Fixed the libpng version. - -2008-05-16 Tomas Frydrych - - * clutter/glx/Makefile.am: - * clutter/x11/Makefile.am: - Install glx and x11 specific includes into clutter/glx and - clutter/x11 so that header files that include glx/*.h or x11/*.h - when installed. - -2008-05-16 Neil Roberts - - * clutter/win32/clutter-event-win32.c (message_translate): Fix - signedness of old_xpos and old_ypos to get rid of compiler - warnings. - - * clutter/win32/clutter-backend-win32.c - (clutter_backend_win32_get_features): Cast the result of - glGetString to a signed char pointer to avoid compiler warnings. - -2008-05-15 Neil Roberts - - * clutter/win32/clutter-stage-win32.c: - * clutter/win32/clutter-backend-win32.c: Reflect changes to the - GLX/X11 backend in revisions 2708-2709 and 2713-2715 which - simplify the backend a little. - -2008-05-15 Emmanuele Bassi - - * clutter/x11/clutter-backend-x11.c: - * clutter/clutter-event.h: - * clutter/clutter-feature.h: - * clutter/clutter-fixed.c: - * clutter/clutter-model.h: Fix documentation. - - * clutter/eglnative/clutter-backend-egl.[ch]: - * clutter/eglnative/clutter-event-egl.c: Add the same solution - used for the SDL backend in order to get the time of an event. - This should fix the motion event throttling and the click count - on button press. (#906) - - * tests/test-pixmap.c (create_pixmap), (main): Fix preprocessor - directives. - -2008-05-14 Emmanuele Bassi - - * tests/test-threads.c: Add a "progress bar" actor and - make the test take less amount of time to complete. - -2008-05-14 Emmanuele Bassi - - * tests/test-events.c: Clean up a bit, and print out more - messages when pressing one of the rectangles. - - * tests/test-threads.c: Be more verbose in the console, and - apply another behaviour on the rectangle, to show that we - are not blocking. - -2008-05-14 Øyvind Kolås - - * clutter/cogl/gles/cogl.c: (_cogl_features_init): do not set - COGL_FEATURE_TEXTURE_READ_PIXELS, since it is not available. - -2008-05-14 Matthew Allum - - * clutter/clutter-actor.c: - * clutter/clutter-main.c: - * clutter/clutter-private.h: - Rejid Øyvind's previous commit a little moving more into - clutter-main.c and using ClutterContext. - Also Refactor clutter_init & clutter_init_with_args to share - same core init code. - -2008-05-13 Øyvind Kolås - - Made it possible to do picking when the colors stored in the - framebuffer are only approximately the correct value. - - * clutter/clutter-actor.c: - (init_bits): initialize constants about how many bits are - available/will be used for r,g,b components. - (_clutter_pix_to_id): now own function, compute an id from a - pixel into its own function (used from _clutter_do_pick). - (_clutter_id_to_col): now own function, computes the color to use for - a given id. - (clutter_actor_paint): use clutter_id_to_col. - * clutter/clutter-main.c: - (_clutter_do_pick): use _clutter_pix_to_id - (clutter_main): re-enable invocation of fruity app shell. - -2008-05-13 Emmanuele Bassi - - * clutter/fruity/clutter-stage-fruity.c: - (clutter_stage_egl_show), (clutter_stage_egl_hide): Don't chain - up and set flags, as it is not needed anymore. - - (clutter_stage_egl_realize): Set the REALIZED flag. - - * clutter/eglnative/clutter-stage-egl.c: - (clutter_stage_egl_show), (clutter_stage_egl_hide): Don't chain - up and set flags, as it is not needed anymore. - -2008-05-13 Emmanuele Bassi - - * clutter/glx/clutter-stage-glx.c: - (clutter_stage_glx_unrealize): Move the shaders release from here... - - * clutter/glx/clutter-backend-glx.c: - (clutter_backend_glx_dispose): ... to here. Shaders should be - released when the GL context is being destroyed, and that only - happens when the backend is being disposed, now that we support - multiple stages. - -2008-05-13 Emmanuele Bassi - - * clutter/clutter-backend.c: - (_clutter_backend_create_stage): Call _clutter_stage_set_window() - ourselves, thus removing yet another action that backends must - implement and might get wrong; also cuts a backend-agnostic piece - of code duplication. - - * clutter/eglnative/clutter-backend-egl.c: - (clutter_backend_egl_create_stage): Update the EGL native backend. - - * clutter/eglx/clutter-backend-egl.c: - (clutter_backend_egl_create_stage): Update the EGLX backend. - - * clutter/fruity/clutter-backend-fruity.c: - (clutter_backend_egl_create_stage): Update the fruity backend - - * clutter/glx/clutter-backend-glx.c: - (clutter_backend_glx_create_stage): Update the GLX backend. - - * clutter/sdl/clutter-backend-sdl.c: - (clutter_backend_sdl_create_stage): Update the SDL backend. - - * HACKING.backends: Update the ::create_stage() description. - -2008-05-13 Emmanuele Bassi - - * clutter/x11/clutter-event-x11.c (event_translate): Remove the - cheap Expose event compression, as it seems to play games when a - composite manager is running. It's also not really needed, as - the redraw queue will avoid redraws too close to each other - anyway. - - * clutter/x11/clutter-stage-x11.c: - (clutter_stage_x11_show), (clutter_stage_x11_hide): Do not chain - up just to set the flags. This fixes a critical warning coming - from ClutterActor::hide() default implementation. - -2008-05-13 Ivan Leben - - * clutter/cogl/gl/cogl-defines.h.in: - Fix GL function prototypes on OS X by #definining APIENTRY and - APIENTRYP if missing. - -2008-05-12 Ivan Leben - - * clutter/cogl/gl/cogl-defines.h.in: - Defined GL extension functions used by Cogl inside the COGL_ - namespace. - - * clutter/cogl/gl/cogl-context.h: - * clutter/cogl/gl/cogl.c: - Use COGL_ extension function prototypes instead of relying - on glext.h to define them. Should fix the mac compilability - bug, but haven't tested it yet. - -2008-05-12 Matthew Allum - - * clutter/x11/clutter-x11-texture-pixmap.c: - * configure.ac: - * tests/Makefile.am: - Remove the XComposite dep from Clutter itself, just use - in test-pixmap (if available) - -2008-05-12 Emmanuele Bassi - - Rework the stage wrapper/implementation relation: remove - duplicated code and all the bookkeeping from the backends into - ClutterStage whenever possible, to reduce the amount of work a - backend must do (and possibly get wrong). Thanks to Tommi - Komulainen. - - * clutter/clutter-main.c: - (clutter_init_with_args), (clutter_init): Realize the default - stage after creation. The default stage is special, because we - use it in the initialization sequence. This removes the burden - from the backends and reduces the things a backend can get - wrong. - - * clutter/clutter-stage.c: - (clutter_stage_show): Make sure to realize the implementation if - it hasn't been realized yet. - - (clutter_stage_realize): Set the REALIZED flag and call - clutter_stage_ensure_current() if the implementation was - successfully realized. - - (clutter_stage_unrealized): Call clutter_stage_ensure_current() - on unrealize. - - * clutter/glx/clutter-backend-glx.c: - (clutter_backend_glx_create_stage): Do not realize the stage anymore - when creating it, and let the normal realization sequence take - place. - - (clutter_backend_glx_ensure_context): Trap for X11 errors. - - * clutter/glx/clutter-stage-glx.c: - (clutter_stage_glx_realize): Chain up to the X11 implementation - so that we can set up the window state (title, cursor visibility) - when we actually have a X window. Also, do not call - clutter_stage_ensure_current(), and rely on the wrapper to do - it for us. This means we can drop setting the REALIZED flag on - the wrapper. - - (clutter_stage_glx_unrealize): Do not call - clutter_stage_ensure_current() ourselves, and rely on the wrapper - to do it for us. - - * clutter/x11/clutter-stage-x11.c: - (set_wm_title), (set_cursor_visible): Move the WM title and - cursor visibility code inside their own functions. - - (clutter_stage_x11_realize): Set the window title and whether the - cursor is visible or not after realizing the stage. - - (clutter_stage_x11_set_cursor_visible), - (clutter_stage_x11_set_title): Call set_wm_title() and - set_cursor_visible(). - - (clutter_stage_x11_finalize): Free the title string. - - * clutter/x11/clutter-stage-x11.h: Save more of the stage state, - so that we can set it even when the stage hasn't been realized - yet. - - * clutter/eglnative/clutter-backend-egl.c: - (clutter_backend_egl_create_stage): - * clutter/eglnative/clutter-stage-egl.c: - (clutter_stage_egl_unrealize), - (clutter_stage_egl_realize): Update the eglnative backend. - - * clutter/eglx/clutter-backend-egl.c: - (clutter_backend_egl_ensure_context), - (clutter_backend_egl_create_stage): - * clutter/eglx/clutter-stage-egl.c: - (clutter_stage_egl_unrealize), - (clutter_stage_egl_realize): Update the eglx backend. - - * clutter/sdl/clutter-backend-sdl.c: - (clutter_backend_sdl_create_stage): - * clutter/sdl/clutter-stage-sdl.c: - (clutter_stage_sdl_realize): Update the sdl backend. - - * clutter/fruity/clutter-backend-fruity.c: - (clutter_backend_fruity_create_stage): - * clutter/sdl/clutter-stage-fruity.c: - (clutter_stage_fruity_realize): Update the fruity backend. - - * tests/test-multistage.c (on_button_press): Bail out if - clutter_stage_new() returns NULL. - - * HACKING.backends: Update backend writing documentation. - -2008-05-12 Robert Bragg - - * clutter/clutter-timeline.c: - Adds clutter-timeline documentation RE: r2337, explaining - the current timeline semantics. - -2008-05-12 Emmanuele Bassi - - * HACKING.backends: Update documentation. - - * clutter/glx/clutter-stage-glx.c: - (clutter_stage_glx_realize): Avoid setting more flags than - necessary. - -2008-05-09 Neil Roberts - - * clutter/clutter-frame-source.c (clutter_frame_source_add) - (clutter_frame_source_add_full): Add gtk-doc and rename the - 'function' parameter to 'func'. - - * clutter/clutter-frame-source.h: Rename the 'function' parameters - to 'func'. - - * clutter/Makefile.am (source_h): Make clutter-frame-source.h a - public header. - - * clutter/clutter-main.c (clutter_threads_add_frame_source_full): - Improve gtk-doc - -2008-05-09 Emmanuele Bassi - - * clutter/clutter-script-private.h: Add a flag for the - default stage. - - * clutter/clutter-script.c: - (json_object_end): If the "type" member is "ClutterStage" - and we have a "is-default" member set to true then this - is the default stage. - - (clutter_script_construct_object): Special case the default - stage instead of each ClutterStage. - - (object_info_free): Ditto as above. - - * tests/test-script.json: Test the creation of a non-default - stage and the ::destroy handler to quit. - -2008-05-09 Emmanuele Bassi - - Bug #908 - Support transform from G_TYPE_INT to ClutterUnit - - * clutter/clutter-units.c: - (clutter_value_transform_int_unit), - (clutter_unit_get_type): Add GValue transformation function from - integer values to ClutterUnit. (#908) - - (param_unit_validate): Fix validation for ClutterParamSpecUnit; - this allows writable ClutterUnit properties. - - * clutter/clutter-fixed.c: - (clutter_value_transform_int_fixed), - (clutter_value_transform_double_fixed), - (clutter_value_transform_float_fixed): Add GValue transformation - functions from native types (int, double, float) to ClutterFixed. - - (clutter_fixed_get_type): Register the new transformation functions. - - (param_fixed_validate): Fix validation for ClutterParamSpecUnit; - this allows writable ClutterFixed properties. - -2008-05-07 Ivan Leben - - * clutter/cogl/cogl.h.in: - * clutter/cogl/gl(es)/cogl-texture.h: - * clutter/cogl/gl(es)/cogl-texture.c: - cogl_texture_new_* functions take a gboolean auto_mipmap argument. - If TRUE automatic mipmap generation is enabled during the process - of slice texture object creation. - (cogl_texture_new_from_foreign:) now allows mipmap min filter - flags. - - * clutter/clutter-texture.c: - * clutter/glx/clutter-glx-texture-pixmap.c: - * tests/test-cogl-offscreen.c: - * tests/test-cogl-tex-tile.c: - * tests/test-cogl-tex-convert.c: - * tests/test-cogl-tex-polygon.c: - * tests/test-cogl-tex-getset.c: - Pass FALSE for auto_mipmap to cogl_texture_new_*. - - * clutter/pango/pangoclutter-render.c: - (tc_get:) Pass TRUE to cogl_texture_new_with_size and use mipmap - min filter for nicer glyphs at small scales. As a result test-text - has gone all beautiful now. - -2008-05-07 Neil Roberts - - * clutter/clutter-frame-source.h: Added the missing G_BEGIN_DECLS - and G_END_DECLS - -2008-05-07 Emmanuele Bassi - - * clutter/sdl/clutter-backend-sdl.c: - (clutter_backend_sdl_dispose): Destroy the timer that we created... - (clutter_backend_sdl_init): ... here. - - * clutter/sdl/clutter-backend-sdl.h: Add a GTimer for time-based - operations, like the event time. - - * clutter/sdl/clutter-event-sdl.c: - (get_backend_time): Get the elapsed milliseconds for the SDL - backend. - - (_clutter_events_init): Start the timer provided by the backend... - (_clutter_events_uninit): ... and the stop it. - - (key_event_translate), (event_translate): Use the backend time - to fill out the time field of the event structures. This fixes - the motion notification throttling on the SDL backend. - -2008-05-06 Matthew Allum - - * clutter/glx/clutter-glx-texture-pixmap.c: - * clutter/x11/clutter-x11-texture-pixmap.c: - More cleanups, safety additions. - -2008-05-05 Øyvind Kolås - - * clutter/cogl/gl/cogl-primitives.c: - * clutter/cogl/gles/cogl-primitives.c: - * clutter/cogl/common/cogl-primitives.c: moved declaration of - gegl_rectangle and gegl_rectanglex here to satisfy linking - requirements when building the fruity backend. - -2008-05-05 Øyvind Kolås - - * clutter/cogl/cogl.h.in: api review touch ups. - * clutter/cogl/common/cogl-primitives.c: api review touch ups. - * clutter/cogl/gl/cogl-primitives.c: (cogl_path_fill), - (cogl_path_stroke): indentation. - * clutter/cogl/gles/cogl-primitives.c: - (_cogl_path_fill_nodes): free allocated resources. - - * tests/test-cogl-primitives.c: updated to new API, added rotation to - test to show that cogl renders paths correct under perspective - distortion. - -2008-05-02 Emmanuele Bassi - - Bug #900 - clutter_actor_lower() and friends do not queue redraw - - * clutter/clutter-actor.c: - (clutter_actor_raise), - (clutter_actor_lower): Queue a redraw after raising and lowering - and actor in the paint order stack. (#900) - -2008-05-01 Richard Purdie - - * configure.ac: - Set CLUTTER_COGL for fruity. - -2008-05-01 Emmanuele Bassi - - Build fixes for the SDL flavour. - - * clutter/sdl/clutter-backend-sdl.c: Remove an unused function. - - * clutter/sdl/clutter-event-sdl.c: - (clutter_event_dispatch): Properly cast the stage pointer. - - * clutter/sdl/clutter-stage-sdl.c: - (clutter_stage_window_iface_init): Remove the draw_to_pixbuf() - stub and assignment. - -2008-05-01 Richard Purdie - - * configure.ac: - Fix up fruity flavour configure option. - -2008-05-01 Øyvind Kolås - - * clutter/cogl/gles/cogl-primitives.c: (_cogl_path_fill_nodes): draw - the rasterized scanlines as an array of triangles. - -2008-05-01 Emmanuele Bassi - - * clutter/clutter-behaviour.c: - (clutter_behaviour_remove_all): Disconnect the ::destroy - handler when removing all actors, to match the behaviour - of clutter_behaviour_remove(). - -2008-05-01 Matthew Allum - - * clutter/glx/clutter-glx-texture-pixmap.c: - * tests/test-pixmap.c: - Fix up texture-pixmap, now works. - Thanks to Neil for spotting we were actually using - wrong texture type in fbconfig (COGL change). - -2008-04-30 Øyvind Kolås - - * clutter/cogl/gles/cogl-primitives.c: (_cogl_path_fill_nodes): - keep track of direction we are drawing in and make sure we leave - two intersection points when we have changed direction. - -2008-04-30 Øyvind Kolås - - * clutter/cogl/gles/cogl-primitives.c: (_cogl_path_fill_nodes): - scanline rasterizer fallback for GLES without working stencil - buffer (would benefit from optimization/smarter choice of - datastructures). - -2008-04-30 Emmanuele Bassi - - * clutter/clutter-effect.c: - (clutter_effect_closure_destroy): Do not remove the actor - from the behaviour; the behaviour is an internal detail of the - effect, and it will remove the actors anyway when finalized - when g_object_unref() is called. This should guard against - actors being destroyed while an effect is running. - -2008-04-30 Øyvind Kolås - - * clutter/cogl/common/Makefile.am: - * clutter/cogl/common/cogl-primitives.c: - * clutter/cogl/common/cogl-primitives.h: - * clutter/cogl/gl/Makefile.am: - * clutter/cogl/gl/cogl-primitives.c: - * clutter/cogl/gl/cogl-primitives.h: - * clutter/cogl/gles/Makefile.am: - * clutter/cogl/gles/cogl-primitives.c: - * clutter/cogl/gles/cogl-primitives.h: moved duplicated code to the - common directory. - -2008-04-30 Robert Bragg - - * clutter/clutter/x11/clutter-x11-texture-pixmap.c: - In _update_area_real with depth=16 we weren't setting up the alpha - channel. - -2008-04-29 Matthew Allum - - * clutter/glx/Makefile.am: - * clutter/x11/Makefile.am: - Revert header install locations (Mistake in previous commit, - fixes #898) - -2008-04-29 Neil Roberts - - * clutter/clutter-actor.c (clutter_actor_move_anchor_point): The - actor position was being moved in the wrong direction. Perhaps - this was a cut-and-paste bug from move_anchor_point_from_gravity - because in that function ax and ay represent the old anchor - position, but in this function they represent the new. - -2008-04-29 Matthew Allum - - * clutter/glx/Makefile.am: - * clutter/glx/clutter-glx-texture-pixmap.c: - * clutter/glx/clutter-glx-texture-pixmap.h: - * clutter/x11/Makefile.am: - * clutter/x11/clutter-x11-texture-pixmap.c: - * tests/test-pixmap.c: - Commit newer x11 texture pixmap stuff (optionally using SHM). - Also seemingly still broken overhauled glx-texture-pixmap - (code by Robert and myself) - - * configure.ac: - Minor formatting change. - -2008-04-29 Neil Roberts - - Removed COGLhandle and changed shader and program functions to be - wrapped in reference-counted CoglHandles instead. - - * clutter/cogl/gl/cogl-shader.c: - * clutter/cogl/gl/cogl-shader.h: - * clutter/cogl/gl/cogl-program.c: - * clutter/cogl/gl/cogl-program.h: - New files to hold the shader and program functions. - - * clutter/cogl/gl/cogl.c: Removed shader and program functions. - - * clutter/cogl/common/cogl-handle.h: New header to define - COGL_HANDLE_DEFINE which helps build functions to create - reference-counted handles. This reduces the amount of duplicated - code. - - * clutter/cogl/gl/cogl-texture.c: - * clutter/cogl/gles/cogl-texture.c: - * clutter/cogl/gl/cogl-fbo.c: Converted to use COGL_HANDLE_DEFINE - from cogl-handle.h to avoid duplicating some of the common code. - - * clutter/cogl/gles/cogl-defines.h.in: - * clutter/cogl/gl/cogl-defines.h.in: Removed COGLhandle - - * clutter/cogl/gl/cogl-context.h: Added handle arrays for programs - and shaders. - - * clutter/cogl/gl/cogl-context.c (cogl_create_context): Added - initialisers for shader_handles and program_handles. - (cogl_destroy_context): Added calls to g_array_free for all handle - arrays. - - * clutter/cogl/gl/Makefile.am (libclutter_cogl_la_SOURCES): Added - cogl-{program,shader}.{c,h} - - * clutter/cogl/common/Makefile.am - (libclutter_cogl_common_la_SOURCES): Added cogl-handle.h - - * clutter/cogl/gles/cogl.c: - * clutter/cogl/cogl.h.in: Programs and shaders are now wrapped in - CoglHandles instead of COGLhandles. cogl_program_destroy and - cogl_shader_destroy is now replaced with cogl_program_unref and - cogl_shader_unref. cogl_program_ref and cogl_shader_ref are also - added. - - * clutter/clutter-shader.c: Converted to use CoglHandles for the - programs and shaders instead of COGLhandles. - -2008-04-29 Øyvind Kolås - - * clutter/cogl/cogl.h.in: renaming of API's in cogl to make the - primitives and path API a bit smaller and more resembling cairo. - * clutter/cogl/gl/cogl-primitives.c: - * clutter/cogl/gles/cogl-primitives.c: - * clutter/cogl/gles/cogl.c: - - * clutter/clutter-actor.c: - * clutter/clutter-rectangle.c: - * tests/test-cogl-offscreen.c: - * tests/test-cogl-primitives.c: - * tests/test-cogl-tex-convert.c: - * tests/test-cogl-tex-foreign.c: - * tests/test-cogl-tex-getset.c: - * tests/test-cogl-tex-tile.c: updated according to changes in cogl. - -2008-04-29 Robert Bragg - - * clutter/x11/clutter-x11-texture-pixmap.c: - In clutter_x11_texture_pixmap_set_pixmap, dont assume that the actor - size should be changed to match the size of the pixmap. - -2008-04-29 Robert Bragg - - * clutter/cogl/gles/cogl-texture.c: - Replaces an malloc call with g_malloc. - -2008-04-29 Robert Bragg - - * clutter/configure.ac: - When looking for a GLES 1 library, also try the name "GLESv1_CM". - - This also reduces the xfixes version requirement to v3, since we dont - need support for Show/HideCursor. - -2008-04-28 Neil Roberts - - Fixed 'make dist' - - * clutter/cogl/Makefile.am (EXTRA_DIST): Distribute cogl.h.in - instead of cogl.h - (DIST_SUBDIRS): Added common folder - - * clutter/cogl/gl/Makefile.am (libclutter_cogl_la_SOURCES): Remove - cogl-defines.h and use the right location for cogl-defines.gl.h - (EXTRA_DIST): Distribute cogl-defines.h.in - - * clutter/cogl/gles/Makefile.am (libclutter_cogl_la_SOURCES): - Remove cogl-defines.h and use the right location for - cogl-defines.gles.h - (EXTRA_DIST): Distribute cogl-defines.h.in - - * clutter/Makefile.am (DIST_SUBDIRS): Add fruity - -2008-04-28 Neil Roberts - - * clutter/cogl/cogl.h.in (COGL_A_BIT): Added the missing comma - after COGL_PIXEL_FORMAT_G_8 - -2008-04-28 Emmanuele Bassi - - * autogen.sh: Do not just touch the gtk-doc.make file, if we - could not find gtkdocize, but echo an empty EXTRA_DIST into it - so that the automake won't complain later on. - -2008-04-28 Øyvind Kolås - - * clutter/cogl/cogl.h.in: reindented. - -2008-04-28 Emmanuele Bassi - - * clutter/clutter-actor.c: - (parse_rotation_array), - (clutter_actor_set_custom_property): Use the internal, unit based - rotation setter when parsing the rotation from a ClutterScript - file. - - (clutter_geometry_copy), - (clutter_vertex_copy), - (clutter_actor_box_copy): Use the more efficient g_slice_dup(). - - (clutter_actor_get_stage): Add documentation. - - * clutter/clutter-group.c: Documentation fix. - -2008-04-28 Øyvind Kolås - - * clutter/cogl/cogl.h.in: moved the documentation of the cogl - primitives to the main public header. - * clutter/cogl/gl/cogl-primitives.c: from here .. - * clutter/cogl/gles/cogl-primitives.c: .. _and_ here. - -2008-04-28 Øyvind Kolås - - * clutter/cogl/cogl.h.in: added documentation. - -2008-04-28 Emmanuele Bassi - - * clutter/clutter-units.c (param_unit_init): Use the right - macros to set the default minimum and maximum values. - - * clutter/clutter-fixed.c (param_fixed_init): Ditto as above. - -2008-04-28 Matthew Allum - - * autogen.sh: - Dont display 'make' if configure fails. - * configure.ac: - Add new --with-gles version option for eventual GLES2 support - Also minor tidyups. - -2008-04-28 Neil Roberts - - * tests/test-cogl-tex-polygon.c: Added buttons to toggle whether - slicing and linear filtering is enabled. By default slicing is - disabled to help test on GL ES. - -2008-04-28 Neil Roberts - - * tests/Makefile.am (INCLUDES): Added $(top_srcdir)/clutter to the - include path. Otherwise the tests will fail to build trying to - include "json/json-types.h" when building out-of-tree. - -2008-04-28 Emmanuele Bassi - - * clutter/eglnative/clutter-backend-egl.c: - (clutter_backend_egl_redraw): Whitespace fixes. - - * clutter/eglnative/clutter-stage-egl.c: - (clutter_stage_egl_hide): Indentation fixes. - - (clutter_stage_egl_realize): Use g_critical() to report failure, - unset the flags and bail out instead of continuing the realization - of the stage. - -2008-04-25 Neil Roberts - - Merged in the clutter-ivan branch which contained the new public - COGL API. - -2008-04-25 Emmanuele Bassi - - * clutter/sdl/clutter-stage-sdl.[ch]: Port the SDL stage to - the new stage implementation API. - - * clutter/sdl/clutter-backend-sdl.[ch]: Port the SDL backend - to the new backend API. - - * clutter/sdl/clutter-event-sdl.c: - (clutter_event_dispatch): Assign the default stage as the - origin of the event. - -2008-04-24 Emmanuele Bassi - - * configure.ac: Add the --with-json configure switch to - allow building Clutter with the external dependency on - the system JSON-GLib; the default is to use the internal - copy unless explicitly asked to check. - -2008-04-24 Emmanuele Bassi - - * Makefile.am: Add HACKING.backends to the EXTRA_DIST. - -2008-04-24 Emmanuele Bassi - - * HACKING.backends: Add documentation on how to write a - backend for Clutter. - -2008-04-24 Emmanuele Bassi - - * clutter/eglnative/clutter-backend-egl.c: - (clutter_backend_egl_create_stage): Fix checks using a - non assigned member of the ClutterBackendEGL structure. - -2008-04-23 Emmanuele Bassi - - * clutter/eglnative/clutter-backend-egl.[ch]: - * clutter/eglnative/clutter-stage-egl.[ch]: - * clutter/eglnative/clutter-event-egl.c: Port to the new stage - and backend APIs. *WARNING* untested and not compiled. - - * clutter/eglx/clutter-backend-egl.c: - (clutter_backend_egl_init): Set some defaults. - -2008-04-23 Emmanuele Bassi - - * tests/test-script.json: Remove the explicit "visible" - member to test that the visibility of actors is TRUE - by default. - -2008-04-23 Emmanuele Bassi - - * configure.ac: - * clutter/Makefile.am: Do not build the internal JSON-GLib - copy if there is a system installed one. - - * clutter/clutter-json.h: Remove. - - * clutter/clutter-json.h.in: Template for the clutter-json.h - header file, used to opaquely include the JSON-GLib types. - -2008-04-23 Emmanuele Bassi - - * clutter/clutter-actor.c: Document :show-on-set-parent and - the fact that calling clutter_actor_show() and hide() on an - unparented actor will change that property as well as a side - effect. - -2008-04-23 Emmanuele Bassi - - * clutter/clutter-actor.c (clutter_actor_set_property): Use the - internal setter for the rotation center. - -2008-04-23 Emmanuele Bassi - - * clutter/clutter-actor.[ch]: Add units based variant of the - rotation accessors. - -2008-04-23 Emmanuele Bassi - - Bug 892 - Incorrect results using rotation-[center|angle] properties - - * clutter/clutter-actor.c: - (clutter_actor_set_rotation_internal): Inline function for setting - the rotation using fixed point for the angle and units for the - center of rotation. - - (clutter_actor_set_property), - (clutter_actor_set_rotationx): Use the internal setter to avoid - loss of precision and too many conversions to and from units. - -2008-04-23 Emmanuele Bassi - - Bug 891 - assertion failed when test-behave exits - - * clutter/clutter-behaviour.c: - (remove_actor_on_destroy), - (clutter_behaviour_apply), - (clutter_behaviour_remove): Remove the actor if it gets - destroyed before the behaviour. - -2008-04-18 Emmanuele Bassi - - Bug #884 - Add clutter_alpha_set_closure - - * clutter/clutter-alpha.[ch]: Add clutter_alpha_set_closure(), - a GClosure variant of clutter_alpha_set_func(), and reimplement - the latter as a special case of the former. (#884, Xan López) - -2008-04-18 Neil Roberts - - * clutter/clutter-timeline.c (clutter_timeline_get_progressx): - Changed to use clutter_qdiv instead of CLUTTER_FIXED_DIV otherwise - it can't cope with timelines with more than 255 frames. - -2008-04-17 Emmanuele Bassi - - * clutter/clutter-frame-source.c: Small coding style fixes. - -2008-04-17 Neil Roberts - - Applied patch from bug #881 - - * clutter/clutter-frame-source.h: - * clutter/clutter-frame-source.c: - New files that contain a replacement for g_timeout that try to - cope with system delays. - - * clutter/Makefile.am: Added clutter-frame-source.{c,h} - - * clutter/clutter-timeline.c (timeout_add): Use a frame source - instead of a g_timeout. - - * clutter/clutter-main.c (clutter_threads_add_frame_source_full) - (clutter_threads_add_frame_source): New public functions to wrap a - frame source and grab the Clutter mutex. - - * clutter/clutter-timeout-pool.c: Now calculates the timeout - expiration times in the same way as a frame source does so that it - counts time in frame intervals instead of setting the next - expiration time as an offset from the current time. - -2008-04-17 Emmanuele Bassi - - * clutter/clutter-fixed.c: - (clutter_value_transform_fixed_int), - (clutter_value_transform_fixed_double), - (clutter_value_transform_fixed_float), - (clutter_fixed_get_type): Add GValue transformation functions - for ClutterFixed; copying a CLUTTER_TYPE_FIXED GValue into - a G_TYPE_FLOAT/G_TYPE_DOUBLE one will automatically transform - the fixed point representation into a floating point one. Also - add the G_TYPE_INT transformation function to do a plain - fixed->int copy. - - * clutter/clutter-units.c: - (clutter_value_transform_unit_int), - (clutter_unit_get_type): Add a unit->int transformation function. - -2008-04-17 Emmanuele Bassi - - * clutter/clutter-fixed.c (clutter_value_get_fixed): Fix typo - in the function name. - -2008-04-17 Emmanuele Bassi - - * clutter/clutter-units.c (clutter_value_get_unit): Fix typo - in the function name. - -2008-04-17 Emmanuele Bassi - - * HACKING: Amend coding style and tenets, as it is now possible - to install and use unit based properties in a safe way. - -2008-04-17 Emmanuele Bassi - - * clutter/clutter-units.h: - * clutter/clutter-fixed.h: Add boundaries for fixed point - and units values. - - * doc/reference/clutter-sections.txt: Update the documentation. - -2008-04-17 Emmanuele Bassi - - * autogen.sh: Try to continue even if we don't have gtk-doc - installed; this will obviously won't work if you don't pass - --disable-docs --disable-gtk-doc to autogen.sh as well. - -2008-04-17 Emmanuele Bassi - - * clutter/clutter-fixed.[ch]: Add a ClutterFixed fundamental - type, and wrappers for storing it into GValues; also add a - GParamSpec subclass for defining parameters holding - ClutterFixed values. This allows creating GObject properties - using fixed point values. - - * doc/reference/clutter-sections.txt: Document the newly - added API. - -2008-04-17 Emmanuele Bassi - - * clutter/Makefile.am: Add clutter-units.c - - * clutter/clutter-units.[ch]: Add a ClutterUnit fundamental - type, and wrappers for storing it into GValues; also add a - GParamSpec subclass for defining parameters holding ClutterUnit - values. This allows creating GObject properties using units. - - * doc/reference/clutter-sections.txt: Document the newly - added API. - -2008-04-15 Matthew Allum - - Work related to #873; - - * clutter/glx/clutter-backend-glx.c: - * clutter/glx/clutter-backend-glx.h: - * clutter/x11/clutter-x11-texture-pixmap.c: - * clutter/x11/clutter-x11-texture-pixmap.h: - General cleanup of texture pixmap code, adding; - - Pixmap dimentions and depth now auto probed, read only props. - - More X safety traps - - Add support for optionally tracking damage and automatically - updating texture. - - * clutter/glx/clutter-glx-texture-pixmap.c: - * clutter/glx/clutter-glx-texture-pixmap.h: - General cleanup and some safety additions. Needs more work so - 'proper' subclass - dependent on new COGL. - - * clutter/x11/clutter-backend-x11.c: (clutter_x11_remove_filter): - Invert g_return_if check. - - * configure.ac: - Pull in XComposite and XDamage (at least for now) - - * tests/Makefile.am: - * tests/test-pixmap.c: - Add a modified test from Johan for above. - -2008-04-15 Neil Roberts - - Added support for foreign windows to the Win32 backend. - - * clutter/win32/clutter-stage-win32.c - (clutter_stage_win32_request_coords): Don't resize foreign - windows. - (clutter_stage_win32_unrealize): Don't destroy foreign windows. - (clutter_stage_win32_init): Added initialiser for is_foreign_win. - (clutter_win32_get_stage_from_window): Resort to looking in the - stage list if the window isn't the right window class so that it - can still find stages with foreign windows. - (clutter_win32_set_stage_foreign): New public function to set a - foreign window for a stage. - - * clutter/win32/clutter-event-win32.c - (clutter_win32_disable_event_retrieval): New public function to - disable event retrieval. - (message_translate): Don't handle WM_SIZE or WM_MOVE for foreign - windows. - - * clutter/win32/clutter-backend-win32.h (struct - _ClutterBackendWin32): Added a flag to disable event retrieval - - * clutter/win32/clutter-backend-win32.c - (clutter_backend_win32_ensure_context): Update debug note to - include whether the stage is foreign or not. - -2008-04-15 Øyvind Kolås - - * clutter/clutter-actor.c: (clutter_actor_set_shader_param): queue a - redraw when a shader_param is set. Normalized some gtk-doc syntax in - some of the api documentation. - -2008-04-15 Øyvind Kolås - - * clutter/clutter-group.c: fixed typo in docs. - -2008-04-14 Matthew Allum - - * clutter/eglx/clutter-stage-egl.c: - Actually set wm protocols on eglx stage windows. Fixes issues with - cloising stages and cleanup. - -2008-04-14 Matthew Allum - - * clutter/cogl/gles/cogl.c: (cogl_color): - Disable use of color4ub, issues with latest MBX SDL (#857) - - * clutter/eglx/clutter-backend-egl.c: - * clutter/eglx/clutter-stage-egl.c: - * configure.ac: - Fixup for the eglx backend to work with new backend/multistage code. - Some issues remain in destroying stages. - -2008-04-14 Neil Roberts - - Bug #853 - - * clutter/clutter-timeline.c (clutter_timeline_get_progressx): Fix - arithmetic for calculating the reverse progress when the timeline - is backward. (Should subtract from one instead of taking the - reciprocal). - -2008-04-13 Neil Roberts - - Upgraded the Win32 backend to work with the multi-stage - subclassing code. - - * clutter/win32/clutter-stage-win32.h: - * clutter/win32/clutter-stage-win32.c: Now inherits from - ClutterGroup and implements ClutterStageWindow instead of - inheriting directly from ClutterStage. - - * clutter/win32/clutter-event-win32.c (message_translate): Now - takes an extra parameter to return whether DefWindowProc should be - called. This is needed to prevent the default WM_CLOSE handler - from destroying the window. - - * clutter/win32/clutter-backend-win32.c - (clutter_backend_win32_dispose): Destroy all of the stages using - g_slist_foreach as per bug #871. Now also destroys the GL context. - (clutter_backend_win32_get_features): Added assertions to ensure - there is a valid GL context. - (clutter_backend_win32_ensure_context): Accepts NULL stage. Gets - implementation pointer from the stage. - -2008-04-11 Emmanuele Bassi - - * clutter/clutter-container.c: - (clutter_container_get_type): Relax the precondition on the - implementations of ClutterContainer from ClutterActor to - GObject. - -2008-04-11 Emmanuele Bassi - - * README: Add a note about the Shader API changes. - - * clutter/clutter-deprecated.h: Add deprecation symbols. - - * clutter/clutter-shader.[ch]: Rename the :bound read-only - property to :compiled. Also rename clutter_shader_bind() - and clutter_shader_is_bound() to clutter_shader_compil() and - clutter_shader_is_compiled(), respectively. - - * clutter/glx/clutter-stage-glx.c: - (clutter_stage_glx_unrealize): Update after - clutter_shader_release_all() rename. - - * tests/test-shader.c (button_release_cb), (main): Update. - -2008-04-10 Emmanuele Bassi - - * clutter/eglx/clutter-backend-egl.c: - (clutter_backend_egl_ensure_context): Sync up with the GLX - backend. - - (clutter_backend_egl_create_stage): Dumb compilation fix. - - * clutter/glx/clutter-backend-glx.c: - (clutter_backend_glx_create_stage): Unref the stage if we are - erroring out. - -2008-04-10 Emmanuele Bassi - - * clutter/eglx/clutter-stage-egl.c: - (clutter_stage_egl_realize): Sync up with the GLX backend. - -2008-04-09 Emmanuele Bassi - - * clutter/Makefile.am: Update the regular expression to match - all the namespaces we actually use. Thanks to Neil Roberts for - spotting this. A make distclean is needed. - - * clutter/cogl/gl/Makefile.am: - * clutter/cogl/gles/Makefile.am: - * clutter/json/Makefile.am: - * clutter/pango/Makefile.am: Revert previous commit. - -2008-04-09 Emmanuele Bassi - - * clutter/cogl/Makefile.am: - * clutter/cogl/gl/Makefile.am: - * clutter/cogl/gles/Makefile.am: - * clutter/json/Makefile.am: - * clutter/pango/Makefile.am: Fix the visibility of all the - symbols, for the main library and the statically linked ones. - -2008-04-09 Emmanuele Bassi - - * autogen.sh: Clean up a bit - - * clutter/clutter-fixed.[ch]: - (clutter_double_to_fixed), - (clutter_double_to_int), - (clutter_double_to_uint): Make these functions public, as they - are expanded by their respective macros. This fixes the errors - from the linker trying to resolve their name. - -2008-04-09 Neil Roberts - - Applied patch from bug #871 - - * clutter/x11/clutter-backend-x11.c (clutter_backend_x11_dispose): - Call g_slist_foreach instead of iterating over the stage_manager - list manually when deleting stages. Otherwise the 'next' pointer - of the list node can get corrupted when the actor removes itself - from the list. - - * clutter/clutter-stage.c (clutter_stage_dispose): Call - clutter_actor_unrealize in the dispose handler. This fixes - problems where the dispose handler for the ClutterStageWrapper - can't deselect the GL context until the stage is unrealized. - -2008-04-04 Emmanuele Bassi - - * clutter/clutter-backend.c: Add more debug messages - - * clutter/clutter-stage.h: - * clutter/clutter-stage.c: - (clutter_stage_is_default): Add a function to check if the - stage is the default one. - - * clutter/glx/clutter-backend-glx.c: - * clutter/glx/clutter-stage-glx.c: - * clutter/x11/clutter-stage-x11.c: Keep the stage wrapper - and implementation flags in sync, to ensure that the GL - context is always set. - -2008-04-04 Neil Roberts - - * README: Fixed typo - -2008-04-04 Matthew Allum - - * README: - Add a note on new show-on-set-parent prop and stage subclassing. - -2008-04-04 Emmanuele Bassi - - Bug #864 - Allow instantiating and subclassing of ClutterStage - - * clutter/Makefile.am: Add clutter-stage-window.[ch] - - * clutter/clutter-stage-manager.c: - (_clutter_stage_manager_remove_stage): Do not warn if removing - a stage we don't manage, as we might be invoked multiple times - during a ClutterState dispose sequence. - - * clutter/clutter-actor.c: - * clutter/clutter-backend.[ch]: - * clutter/clutter-main.c: - * clutter/clutter-private.h: - * clutter/clutter-stage.[ch]: Make ClutterStage a proxy actor, - with a private actor implementing the ClutterStageWindow - interface for handling the per-backend realization, painting - and unrealization, plus all the windowing system abstraction. - - * clutter/x11/clutter-event-x11.c: - * clutter/x11/clutter-stage-x11.[ch]: Port the X11 backend - to the new backend and stage API and semantics. - - * clutter/glx/clutter-backend-glx.c: - * clutter/glx/clutter-stage-glx.c: Port the GLX backend to - the new backend and stage API and semantics. - - * clutter/eglx/clutter-backend-egl.[ch]: - * clutter/eglx/clutter-stage-egl.[ch]: Port the EGLX backend - to the new backend and stage API and semantics (untested). - - * tests/test-multistage.c (on_button_press): Rename - clutter_stage_create_new() to clutter_stage_new(). - -2008-04-04 Neil Roberts - - Applied patch from bug #810. - - * clutter/x11/clutter-event-x11.c (event_translate): Set a flag - when resizing the stage from a ConfigureNotify event. - - * clutter/x11/clutter-stage-x11.c - (clutter_stage_x11_request_coords): Don't try to resize the window - again if the flag is set. - (clutter_stage_x11_init): Added initialiser for the flag. - - * clutter/x11/clutter-stage-x11.h (struct _ClutterStageX11): Added - the flag. - -2008-04-04 Matthew Allum - - * clutter/clutter-actor.c: - Remove uneeded stage private member. - Add show-on-set-parent prop and make so by default Actors are - now automatically shown when reparented (#791) - - * clutter/eglx/clutter-backend-egl.c: - * clutter/cogl/gles/cogl.c: - A couple of minor comments. - - * clutter/eglnative/Makefile.am: - Add missing clutter-egl.h header (back port from trunk) - - * tests/test-actors.c: - Modify to take advantage of new show-on-set-parent functionality. - -2008-04-03 Emmanuele Bassi - - * clutter/Makefile.am: Only export symbols matching "^clutter.*", - to avoid exposing the library-private symbols starting with - an underscore. - -2008-04-03 Emmanuele Bassi - - * clutter/clutter-alpha.c: ClutterAlpha is an InitiallyUnowned - subclass. This should fix a lot of leakage. (#860, Neil Roberts) - -2008-04-03 Emmanuele Bassi - - * clutter/glx/clutter-backend-glx.c: - (clutter_backend_glx_get_features): Assert if we don't have a - GL context here or if it's not matched to a drawable. Asserting - might seem too drastic, but if we don't have a valid GL context - here then Clutter will segfault anyway, and I'll take an assert() - over a hard to read, deep in GLX guts backtrace any day (and - twice on a monday). - - * clutter/x11/clutter-backend-x11.c: - (clutter_backend_x11_get_features): No need for a variable here. - -2008-04-01 Matthew Allum - - * clutter/clutter-backend.c: - * clutter/glx/clutter-backend-glx.c: - * clutter/glx/clutter-stage-glx.c: - Allow NULL to be passed to _clutter_backend_ensure_context - which essentially clears GL context. This is hooked into stage - unrealisation. Isn't yet quite bulletproof. - Fixes issues with gtk-embed crasher (thanks to Neil). - -2008-04-1 Robert Bragg - - * clutter/glx/clutter-glx-texture-pixmap.c: - In clutter_glx_texture_pixmap_dispose; trap X errors around - glXDestroyGLXPixmap so we can't die due to BadDrawable errors. - -2008-03-31 Matthew Allum - - * README: - Add notes on new multistage feature. - - * clutter/clutter-stage-manager.c: - Dont ref contained stages. - - * clutter/clutter-stage.c: - Automatically remove stage from stage manager on finalisation. - Cleans up warnings when a stage is destroyed. - - * clutter/clutter-backend.h: - * clutter/glx/clutter-backend-glx.c: - Minor formatting cleanups. - - * clutter/glx/clutter-stage-glx.c: - * configure.ac: - * clutter/clutter-version.h.in: - Add a general CLUTTER_STAGE_TYPE define, should be useful for - evntual stage subclassing and creating with g_object_new() - -2008-03-30 Neil Roberts - - * clutter/win32/clutter-backend-win32.c - (clutter_backend_win32_init): Added a call to - timeBeginPeriod. Without this the frame rates are terrible because - the glib timeouts are not accurate enough. However this requires - Glib >= 2.16.0 to take any effect because of a change in the way - g_poll is implemented. See revision 6597 of glib. - (clutter_backend_win32_finalize): Added a call to timeEndPeriod. - - * configure.ac: Added -lwinmm to the library dependencies for the - Win32 backend. - -2008-03-30 Neil Roberts - - * clutter/win32/clutter-win32.h: - * clutter/win32/clutter-stage-win32.h: - * clutter/win32/clutter-stage-win32.c: - * clutter/win32/clutter-event-win32.c: - * clutter/win32/clutter-backend-win32.h: - * clutter/win32/clutter-backend-win32.c: - Upgraded for multi-stage support. - - * clutter/win32/clutter-stage-win32.c - (clutter_stage_win32_request_coords): Fixed so that it doesn't set - the position or size if it hasn't changed. This was causing - problems when the window was resized using the top left corner. In - that case the window receives resize and move messages separately - which caused the window to flash at a different size or position - while one message was handled before the other. - (clutter_stage_win32_realize): Added PFD_GENERIC_ACCELERATED to - the list of pixel format flags to force it to use hardware - acceleration. - -2008-03-28 Matthew Allum - - * clutter/Makefile.am: - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - * clutter/clutter-backend.c: - * clutter/clutter-backend.h: - * clutter/clutter-debug.h: - * clutter/clutter-event.c: - * clutter/clutter-event.h: - * clutter/clutter-feature.h: - * clutter/clutter-group.h: - * clutter/clutter-main.c: - * clutter/clutter-main.h: - * clutter/clutter-private.h: - * clutter/clutter-stage.c: - * clutter/clutter-stage.h: - * clutter/clutter-stage-manager.c - * clutter/clutter-stage-manager.h - * clutter/clutter-types.h: - * clutter/glx/clutter-backend-glx.c: - * clutter/glx/clutter-backend-glx.h: - * clutter/glx/clutter-stage-glx.c: - * clutter/glx/clutter-stage-glx.h: - * clutter/x11/clutter-backend-x11.c: - * clutter/x11/clutter-backend-x11.h: - * clutter/x11/clutter-event-x11.c: - * clutter/x11/clutter-stage-x11.c: - * clutter/x11/clutter-x11.h: - * tests/Makefile.am: - * tests/test-multistage.c: - Initial commit of multi stage support (mostly a merge from the - clutter-multistage branch). - Note, this commit will break all backends except glx. - -2008-03-26 Neil Roberts - - * clutter/win32/clutter-win32.h: Added gtk-doc documentation for - the Win32 backend section. - - * clutter/win32/clutter-stage-win32.c - (clutter_win32_get_stage_window): Fixed punctuation in the - documentation. - - * README: Added notes about the Win32 backend. - -2008-03-26 Neil Roberts - - * clutter/win32/clutter-event-win32.c (clutter_event_check): - Removed the pointless parameter in the call to check_msg_pending. - (check_msg_pending): Fixed to use PeekMessageW instead of - PeekMessage. - -2008-03-25 Neil Roberts - - Added a native Win32 WGL backend. - - * configure.ac: Added the 'win32' flavour. - - * clutter/cogl/gl/cogl.c (cogl_get_proc_address): Added an ifdef - to use wglGetProcAddress with the Win32 backend. - - * clutter/Makefile.am (DIST_SUBDIRS): Added the win32 directory. - - * clutter/win32/clutter-win32.pc.in: - * clutter/win32/clutter-win32.h: - * clutter/win32/clutter-stage-win32.h: - * clutter/win32/clutter-stage-win32.c: - * clutter/win32/clutter-event-win32.c: - * clutter/win32/clutter-backend-win32.h: - * clutter/win32/Makefile.am: - * clutter/win32/clutter-backend-win32.c: New files. - -2008-03-19 Emmanuele Bassi - - * clutter/clutter-model.[ch]: Add a ::copy() virtual function - for copying iterators. - - * clutter/clutter-list-model.c: - (clutter_list_model_iter_copy), - (clutter_list_model_iter_class_init): Implement the ::copy() - function inside the ListModel iterator subclass. - -2008-03-19 Emmanuele Bassi - - * clutter/clutter-group.c: - * clutter/clutter-texture.c: Use CLUTTER_ACTOR_IS_VISIBLE() - and not CLUTTER_ACTOR_IS_MAPPED(). - -2008-03-19 Emmanuele Bassi - - * clutter/clutter-score.[ch]: Small clean ups and refactoring. - Use gulong instead of guint, so we have a bigger id space for - the timelines inside a Score. - -2008-03-19 Chris Lord - - * clutter/clutter-actor.c: - (_clutter_actor_apply_modelview_transform), (clutter_actor_paint): - Apply clip inside paint function instead of transform function - -2008-03-18 Emmanuele Bassi - - * clutter/clutter-score.c: Update documentation. - -2008-03-18 Emmanuele Bassi - - * clutter/clutter-score.[ch]: Remove all the API changes, and - just add a clutter_score_append_at_marker(); the implementation - remains the same, but the marker must be explicitly created by - the developer. The ids are no longer used to create implicit - markers, so they can return to be unsigned integers. (#450) - - * clutter/clutter-timeline.[ch]: - (clutter_timeline_has_marker): Add a function to query a timeline - for a marker being set. - - * tests/test-score.c (main): Update with the API changes. - - * clutter.symbols: Update exported symbols. - -2008-03-18 Emmanuele Bassi - - * clutter/clutter-texture.c: Small clean ups in the coding style. - -2008-03-18 Emmanuele Bassi - - * clutter.symbols: Add new symbols - - * clutter/clutter-score.[ch]: Use the newly added marker API - on the timelines to implement attaching timelines at specific - points, using either milliseconds or frames. - - * tests/test-score.c (main): Test the new API. - -2008-03-18 Emmanuele Bassi - - * clutter/clutter-marshal.list: Add signature for the - ::marker-reached signal marshaller. - - * clutter/clutter-timeline.[ch]: Add timeline marker API; - using markers it is possible to add a unique identifier to - a particular frame of the timeline, and receive a signal - notification when reaching that particular marker while - playing the timeline. (#641) - - * tests/test-timeline.c: Update the test case to check for - the marker-reached signal emission. - - * clutter.symbols: Add new symbols. - -2008-03-10 Øyvind Kolås - - * tests/test-shader.c: improved readability of fragment shader - examples by factoring out common bits into FRAGMENT_SHADER_BEGIN and - FRAGMENT_SHADER_END macros. - -2008-03-09 Matthew Allum - - * clutter/clutter-id-pool.c: (clutter_id_pool_free): - Use g_slice_free not g_free. - * clutter/clutter-main.c: (_clutter_do_pick): - Dont 'over read' the framebuffer when picking (#839, Neil Roberts) - -2008-03-07 Øyvind Kolås - - Refactored the integer id->ClutterActor mapping code to be a self - contained data structure. - - * clutter/clutter-id-pool.[ch]: new files. - * clutter/Makefile.am: added clutter-id-pool.[ch] - * clutter/clutter-private.h: use a ClutterIDPool instead of GArray and - GSList to keep track of the reusable ids. - * clutter/clutter-actor.c: moved id pool logic away. - * clutter/clutter-main.c: simplified id pool creation/finalization. - -2008-03-07 Robert Bragg - - * clutter/clutter-timeline.c: - Timeline changes to fix the issues identified in bugzilla #439 - - Notably, this includes some tweaks to timeline semantics. - So e.g. for a - - 10 frame timeline here are some points about the new timeline code: - - - When you create a timeline it starts with current_frame_num == 0 - - - After starting a timeline, the first timeout is for - current_frame_num == 1 (Notably it isn't 0 since there is a delay - before the first timeout signals so re-asserting the starting point - would give a longer than average first frame.) - - - For a non looping timeline the last timeout would be for - current_frame_num == 10 - - - For a looping timeline the timeout for current_frame_num == - 10 would be followed by a timeout for current_frame_num == 1 - and frame 0 is considered == frame 10. - - - Asking for a timeline of N frames might better be described - as asking for a timeline of _length_ N. - - Warning: Although I tried to test things, I guess it's quite - likely that this breaks somthing depending on a specific quirk - of the previous timeline code. - -2008-03-06 Emmanuele Bassi - - * clutter/clutter-actor.c: - (clutter_actor_set_anchor_point_from_gravity): Fix a stupid - conversion from pixels to units that should I not have made. - -2008-03-06 Emmanuele Bassi - - * README: Update the release notes. - -2008-03-06 Gwenole Beauchesne - - Signed off by: Emmanuele Bassi - - * clutter/clutter-group.c (clutter_group_real_lower): Fix to - actually lower the actor under the 'above' actor. (#822) - -2008-03-06 Emmanuele Bassi - - * clutter/clutter-entry.h: - * clutter/clutter-entry.c: - (clutter_entry_handle_key_event_internal), - (clutter_entry_key_press), (clutter_entry_class_init), - (clutter_entry_handle_key_event): Provide a default class handler - for the key-press-event, so that giving key focus to an entry will - automatically make it work. This deprecates the - clutter_entry_handle_key_event() function. (#824) - - * tests/test-entry.c (main): Remove the handle_key_event() - machinery, and just give focus to the entry. - -2008-03-06 Chris Lord - - * clutter/clutter-model.c: (clutter_model_set_sorting_column): - Don't disable sorting on column 0 - -2008-03-06 Emmanuele Bassi - - Add support for the anchor point inside ClutterScript (#834, - David Stanczak) - - * clutter/clutter-actor.c: - (clutter_actor_set_property), - (clutter_actor_get_property), - (clutter_actor_class_init): Add the :anchor-x and :anchor-y - properties to the ClutterActor class. - - (clutter_actor_set_anchor_point), - (clutter_actor_set_anchor_pointu), - (clutter_actor_set_anchor_point_from_gravity): Reimplement - the pixel based and gravity based API using the units based - one. Emit the ::notify signal for the :anchor-x and :anchor-y - properties. - - (parse_units), - (clutter_actor_parse_custom_node): Parse the :anchor-x and - :anchor-y properties using the custom units format (mm, px, - pt and %). - - * tests/test-script.json: Test the newly added properties. - -2008-03-05 Emmanuele Bassi - - * configure.ac: Add "osx" the the AC_HELP_STRING of the flavour - selection. (#831, Peter Enzerink) - -2008-03-04 Emmanuele Bassi - - * clutter/clutter-main.c (clutter_do_event): Do not throttle the - motion events if the per-actor delivery has been disabled. - -2008-03-04 Øyvind Kolås - - * clutter/pango/pangoclutter-render.c: (draw_glyph): use g_slice_new0 - instead of g_slice_new when allocating the glyph_info, avoiding a - branch based on uninitialized memory. - -2008-03-03 Emmanuele Bassi - - * Makefile.am: Do not recurse into doc if we did not explicitly - enabled the documentation build; we just recurse into doc if we - are doing a dist or a distcheck. - -2008-02-29 Øyvind Kolås - - Reuse the numeric id's used for picking actors to avoid the potential - of overflowing the id numbers when continusly creating and destroying - actors on long running applications for 16bpp. - - * clutter/clutter-private.h: replaced hashtable with GArray and a - GSList for available slots in the array. - * clutter/clutter-actor.c: (create_actor_id): function to create an - actor->id mapping, (release_actor_id): function to mark an existing id - as available for reuse. - * clutter/clutter-main.c: (clutter_context_free): added utility - function for cleaning up the context, - (clutter_get_actor_by_gid): use the GArray for looking up actors. - -2008-02-26 Emmanuele Bassi - - * clutter/clutter-alpha.c: - (clutter_exp_inc_func), (clutter_exp_dec_func): Clamp the value - of the alpha function between [0, MAX_ALPHA]. (#800) - -2008-02-25 Emmanuele Bassi - - * clutter/clutter-main.c (emit_event): Fix the last commit - which inverted a condition. - -2008-02-25 Emmanuele Bassi - - * clutter/clutter-actor.c: Remove the usage of g_return_if_fail() - from static functions: either assert or use g_warning() to check - internal state, as g_return_if_fail() can be compiled out. - - * clutter/clutter-main.c: Ditto as above. - -2008-02-25 Tomas Frydrych - - * clutter/clutter-texture.c: - (texture_update_data): - Set alignment based on actual data rowstride, not the texture - width. - -2008-02-21 Tomas Frydrych - - * clutter/x11/clutter-backend-x11.h: - * clutter/x11/clutter-event-x11.c: - * clutter/x11/clutter-x11.h: - (clutter_x11_handle_event): - (clutter_x11_disable_event_retrieval): - Functions to allow to hook into external XEvent retrieval (for - example when using clutter with gtk); NB: this API is tentative. - -2008-02-21 Emmanuele Bassi - - * clutter/x11/clutter-event-x11.c (event_translate): Ignore - PropertyNotify events if they don't match our window. - - * clutter/x11/clutter-stage-x11.c: - (clutter_stage_x11_request_coords): Chain up to the parent's - request coords. - -2008-02-21 Emmanuele Bassi - - * clutter/x11/clutter-event-x11.c (event_translate): Ignore - ConfigureNotify events if we are painting on a foreign window. - - * clutter/x11/clutter-stage-x11.c: - (clutter_stage_x11_request_coords): Reliquish control of the - window size, if we are painting on a foreign window. This fixes - the GtkClutterEmbed widget. - -2008-02-20 Emmanuele Bassi - - * clutter/clutter-timeline.c (clutter_timeline_set_delay): Relax - the condition to allow 0 msecs of delay (meaning: no delay). - -2008-02-20 Tomas Frydrych - - * clutter/Makefile.am: - Added libclutter_ ... _la_DEPENDENCIES to fix dependency tracking. - -2008-02-20 Tomas Frydrych - - * clutter/x11/clutter-x11.h: - * clutter/x11/clutter-backend-x11.c: - (clutter_x11_set_display): - Function to set X display connection prior to calling - clutter_init(); stripped loads of trailing space. - -2008-02-20 Tomas Frydrych - - * clutter/clutter-marshal.list: - * clutter/glx/Makefile.am: - * clutter/glx/clutter-backend-glx.c: - * clutter/glx/clutter-backend-glx.h: - * clutter/glx/clutter-glx.h: - * clutter/x11/Makefile.am: - ClutterX11TexturePixmap and ClutterGLXTexturePixmap actors (#713; - patch by Johan Bilien). - -2008-02-20 Emmanuele Bassi - - * clutter/clutter-actor.h: - * clutter/clutter-actor.c: - (clutter_actor_get_abs_opacity): Add function that does what - get_opacity() does now... - - (clutter_actor_get_opacity): ... and make get_opacity() do what - it's supposed to be doing. The original get_opacity() returned - a composited value, and there's no way to actually extract the - real opacity value set with set_opacity(). - - * clutter/clutter-clone-texture.c: - * clutter/clutter-rectangle.c: - * clutter/clutter-texture.c: Update to use get_abs_opacity(). - - * clutter/clutter-entry.c: - * clutter/clutter-label.c: Ditto. Also, never change the stored - alpha value. (#804) - - * tests/Makefile.am: - * tests/test-opacity.c: Test suite for the get_opacity() and - get_abs_opacity() API, and correct opacity handling. - - * README: Add note about the change in get_opacity(). - -2008-02-19 Chris Lord - - * clutter/clutter-model.c: (clutter_model_resort): - Don't return when there's no sort function set, leave that to the - model sub-class - -2008-02-18 Emmanuele Bassi - - * configure.ac: - * README: Post stable release bump to 0.7.1 - -2008-02-18 Emmanuele Bassi - - * README: - * NEWS: Release 0.6.0 - -2008-02-18 Emmanuele Bassi - - * clutter/clutter-list-model.c: - (clutter_list_model_iter_set_value): Fix a typo in the conversion - code. - -2008-02-18 Chris Lord - - * README: - Fix spelling mistake and a typo - -2008-02-18 Emmanuele Bassi - - * clutter/clutter-actor.c: - (clutter_actor_get_box_from_vertices): Avoid a masking warning - caused by math.h utter braindamage. - -2008-02-18 Emmanuele Bassi - - * clutter/clutter-actor.c: Document the fact that ancestor can - be NULL in the relative transformation API, and what are the - effects. - -2008-02-15 Matthew Allum - - * clutter/pango/pangoclutter-render.c: (draw_glyph): - More safety checks (#796, Tero Saarni) - -2008-02-15 Chris Lord - - * clutter/clutter-entry.c: - * clutter/clutter-group.c: - * clutter/clutter-label.c: - * clutter/clutter-rectangle.c: - * clutter/clutter-texture.c: - More documentation fixes - -2008-02-15 Chris Lord - - * clutter/clutter-entry.c: (clutter_entry_class_init): - More documentation fixes - -2008-02-15 Chris Lord - - * clutter/clutter-label.c: (clutter_label_class_init): - More documentation fixes - -2008-02-15 Chris Lord - - * clutter/clutter-clone-texture.c: - * clutter/clutter-texture.c: (clutter_texture_class_init): - More documentation fixes - -2008-02-15 Chris Lord - - * clutter/clutter-actor.c: - * clutter/clutter-container.c: - * clutter/clutter-media.c: - * clutter/clutter-rectangle.c: - * clutter/clutter-stage.c: (clutter_stage_class_init): - * clutter/clutter-stage.h: - * clutter/clutter-texture.c: - * doc/reference/clutter-docs.sgml: - Fix more documentation - -2008-02-15 Emmanuele Bassi - - * clutter/clutter-actor.[ch]: - * clutter/clutter-types.h: - * doc/reference/clutter-docs.sgml: Fix a lot of documentation. - -2008-02-15 Matthew Allum - - * clutter/cogl/gles/cogl.c: (cogl_paint_init): - Remove depth test getting turned on by default (unlike GL backend) - -2008-02-15 Tomas Frydrych - - * configure.ac: - * clutter/clutter-version.h.in: - * build/msvc_2k5/clutter-version.h: - Removed unused --without-fpu configure option and CLUTTER_NO_FPU - macro - -2008-02-15 Tomas Frydrych - - * build/mingw/README: - * build/mingw/mingw-cross-compile.sh: - Script that automates cross compilation with mingw by Neil Roberts - - -2008-02-15 Emmanuele Bassi - - * clutter/clutter-actor.[ch]: Rename - clutter_actor_get_box_from_vertices() to - clutter_actor_box_get_from_vertices(). - - * clutter/clutter-group.c (clutter_group_query_coords): Fix the - query_coords() implementation. - -2008-02-15 Tomas Frydrych - - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - (clutter_group_query_coords): - Added function to translate vertex array to a bounding box. - - (clutter_actor_is_scaled): - (clutter_actor_is_rotated): - Fixed documentation. - -2008-02-15 Tomas Frydrych - - * clutter/clutter-group.c: (clutter_group_query_coords): - Disabled new code taking into account actor scale and rotation. - -2008-02-14 Tomas Frydrych - - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - (clutter_actor_is_scaled): - (clutter_actor_is_rotated): - Convenience functions to test whether actor is scaled or rotated. - - (clutter_actor_apply_relative_transform_to_point): - Removed unused variable. - - * clutter/clutter-group.c: - (clutter_group_query_coords): - Use clutter_actor_get_relative_vertices() to calculate bounding - boxes of children that are scaled or rotated. - -2008-02-14 Tomas Frydrych - - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - (clutter_actor_get_relative_vertices): - (clutter_actor_apply_relative_transform_to_point): - Functions to calculate actor vertices in the plane of a given - ancestor. - -2008-02-12 Chris Lord - - * clutter/clutter-texture.c: (texture_get_tile_pixbuf), - (clutter_texture_get_pixbuf): - Fix copying textures to pixbufs for tiled textures and correct #ifndef - typo - - * clutter/clutter-util.c: - Amend documentation - -2008-02-12 Matthew Allum - - * clutter/clutter-texture.c: (texture_get_tile_pixbuf): - ifdef out 'leaked' GL only API call. - -2008-02-12 Tomas Frydrych - - * clutter/clutter-texture.c (texture_update_data): - Fixed incorrect calculation of offset into texture data (needs to - use width of the texture, not of the updated area). - -2008-02-12 Tomas Frydrych - - * clutter/clutter-texture.c (texture_update_data): - Fixed incorrect aligment of texture data. - -2008-02-12 Tomas Frydrych - - * clutter/x11/clutter-event-x11.c (event_translate): - Ignore events not directed at the stage window once they have been - passed to the filter functions. - -2008-02-11 Matthew Allum - - * clutter/clutter-actor.c: - Minor documentation tweak to class description. - - * clutter/clutter-behaviour-scale.c: - 'Force' start + end vals of scale behaviour - (#779, Havoc Pennington) - -2008-02-11 Emmanuele Bassi - - * README: - * NEWS: Release 0.5.6 - - * configure.ac: Post release bump to 0.5.7. - - * clutter/clutter-behaviour-scale.c: - * tests/test-fbo.c: Fix compilation warnings. - -2008-02-11 Tomas Frydrych - - * clutter/clutter-actor.c (clutter_actor_transform_stage_point): - Moved part of the calculation to floating point to avoid overflow - of ClutterFixed range for large actors (bug 613). - -2008-02-10 Matthew Allum - - * clutter/osx/clutter-stage-osx.c - Fix up a couple of typos breaking build. - -2008-02-08 Emmanuele Bassi - - * clutter/clutter-actor.c: Add actor box diagram and notes. - -2008-02-08 Emmanuele Bassi - - * clutter/clutter-behaviour-path.c: Move the nice graph and - description from the Path behaviour... - - * clutter/clutter-behaviour.c: ... to the main Behaviour class. - -2008-02-08 Emmanuele Bassi - - * clutter/clutter-behaviour-path.c: Add a paragraph describing - the effects of different alpha functions on the path behaviour. - -2008-02-08 Emmanuele Bassi - - * clutter/clutter-actor.c: Reference the newly added event-flow.png - - * clutter/clutter-alpha.c: Ditto, with alpha-func.png - - * clutter/clutter-texture.c: Fix the XML. - -2008-02-08 Emmanuele Bassi - - * clutter/clutter-behaviour-path.c: Reference the newly - added image showing the effects of different alpha functions - on the same path behaviour. - - * configure.ac: Find out the prefix of some of the libraries - we depend upon, so that gtk-doc can fix the references for us. - -2008-02-08 Matthew Allum - - * clutter/clutter-texture.c: - Tidy up offscreen code, adding into realize/unrealize. - Add more safety code. - Improve documentation. - -2008-02-08 Emmanuele Bassi - - * clutter/clutter-script.c: - (resolve_alpha_func): Use a whitelist containing the alpha function - provided by Clutter, as a fallback in case g_module_open() does not - work. - - (clutter_script_parse_alpha): Add an explicit warning in case we - cannot find the alpha function used inside a UI definition. - -2008-02-07 Tomas Frydrych - - * clutter/clutter-group.c (clutter_group_query_coords): - Take into account the anchor point when calculating the box size. - -2008-02-07 Emmanuele Bassi - - * clutter/clutter-actor.c: Add a note on clutter_actor_set_size() - reguarding groups. - - * clutter/clutter-group.c: Clarify group sizing. - -2008-02-07 Øyvind Kolås - - * tests/test-shader.c: (button_release_cb): added simplified - implementation of a box-blur shader from Gwenole Beauchesne that - should work on GLSL implementing low-end IGPs not implementing - dynamic branching. The original code used crashed some of these - due to bugs in drivers or similar. Resolves bug #710. - -2008-02-07 Tomas Frydrych - - * tests/test-actors.c: - Reverted previous change. - -2008-02-07 Tomas Frydrych - - * clutter/clutter-actor.c: - (clutter_actor_set_property): - Fixed handling of PROP_ROTATE_CENTER_Y, ROTATE_CENTER_Z - - * tests/test-actors.c: - Adjusted to use anchor point for both group and hands. - -2008-02-07 Neil J. Patel - - * tests/test-actors.c: (frame_cb), (main): - Changed set_anchor to move_anchor. - Changed clutter_actor_rotate x & y values to 0,0. - Switched on scaling because it seems to work without drifting. - -2008-02-07 Emmanuele Bassi - - * clutter/clutter-script-parser.c: - (clutter_script_get_type_from_symbol), - (clutter_script_get_type_from_class): Use BIND_LAZY flag - when looking at the symbols, so we don't load them all up. - - * clutter/clutter-script.c (resolve_alpha_func): Ditto as above. - -2008-02-07 Øyvind Kolås - - * clutter/clutter-actor.c: - (_clutter_actor_apply_modelview_transform): perform translation as - well as anchor point adjustment based on self not being stage (and - not by self not being an orphan). - -2008-02-07 Matthew Allum - - * clutter/clutter-stage.c: - * clutter/clutter-stage.h: - * clutter/eglnative/clutter-stage-egl.c: - * clutter/eglx/clutter-stage-egl.c: - * clutter/osx/clutter-stage-osx.c: - * clutter/sdl/clutter-stage-sdl.c: - * clutter/x11/clutter-stage-x11.c: - Add at least somne basic offscreen handling into all backends. - Remove unused clutter_stage_set_offscreen vfunc. (#549) - - * clutter/clutter-texture.c: - Minor API doc tweak, noting rowstride source in set_area - -2008-02-07 Emmanuele Bassi - - * clutter/clutter-score.c (traverse_children): Actually implement - clutter_score_list_timelines(). - - * tests/test-score.c (main): Test clutter_score_list_timelines(). - -2008-02-07 Matthew Allum - - * clutter/pango/pangoclutter-render.c: - Warn if requested glyph is too big for underlying texture cache. - (see #666) - -2008-02-07 Matthew Allum - - * clutter/clutter-texture.c: (texture_upload_data): - Remove random appearing 'priv->filter_quality =1' (#643) - -2008-02-06 Matthew Allum - - * clutter/clutter-texture.c: - Minor clean up from last commit. - - * tests/test-fbo.c: - Small tweak (rotate offscreen, rather than resize) - -2008-02-06 Matthew Allum - - * clutter/clutter-texture.c: - Initial attempt at handling resizing/tranformed source textures. - - * clutter/pango/pangoclutter-render.c: (draw_glyph): - Guards against freetype returning NULL bitmaps and - thus causing device by zeros on NVIDIA drivers. (see ml) - -2008-02-05 Matthew Allum - - * clutter/clutter-actor.c: (clutter_actor_get_vertices): - Make sure GL related Matrices are initialised. Fixes #756 - - * clutter/clutter-texture.c: - Fix up code from Norways answer to Jean-Michel Basquiat. - (warning on tile_get_pixbuf) - -2008-02-05 Øyvind Kolås - - * clutter/clutter-texture.c: removed spurious left over debug printf. - -2008-02-05 Øyvind Kolås - - * clutter/clutter-texture.c: applied modified patch from Gwenole - Beuchesne adressing bug #635. Adressing a buffer overflow in - clutter_texture_get_pixbuf() when tiling is forced. - -2008-02-04 Emmanuele Bassi - - * clutter/clutter-shader.c (clutter_shader_constructor): Keep the - constructor line under the 80 columns using a variable. - -2008-02-04 Emmanuele Bassi - - * clutter/clutter-actor.c: - * clutter/clutter-shader.c: Small documentation and style fixes - - * tests/test-scale.c: Constify the gravities array. - -2008-02-04 Chris Lord - - * clutter/clutter-actor.c: (clutter_actor_transform_stage_point): - Check that x_out and y_out != NULL before setting their contents - -2008-02-04 Øyvind Kolås - - * clutter/clutter-timeline.c: (clutter_timeline_rewind): updated - documentation to take direction into account. - -2008-02-04 Øyvind Kolås - - * tests/test-fbo.c: (make_shader): - * tests/test-shader.c: (main): multiply the resulting gl_FragColor - with gl_Color before being done to take opacity into account in the - GLSL fragments. - -2008-02-04 Øyvind Kolås - - * clutter/clutter-actor.[ch]: added clutter_actor_get_shader and - renamed clutter_actor_apply_shader to be clutter_actor_set_shader. - Reindented/aligned header. - * clutter/clutter-texture.c: (clutter_texture_paint): temporarily - disable the shader on top of the clutter context's shader stack while - rendering into the FBO. - * tests/test-fbo.c: (main): s/apply_shader/set_shader/ - * tests/test-shader.c: (button_release_cb), (main): - s/apply_shader/set_shader/ - -2008-02-03 Matthew Allum - - * clutter/clutter-actor.c: (clutter_actor_set_rotationx): - Add notify signal for set_rotate - - * clutter/clutter-texture.c: - Add basic cleanup code for fbo's - - * tests/test-fbo.c: (main): - Minor notes. - - * clutter/osx/clutter-stage-osx.c: (clutter_stage_osx_realize): - Turn on vblanking. - -2008-02-03 Matthew Allum - - * clutter/clutter-shader.c: - Minor formatting cleanups to fit in 80 cols. - - * clutter/clutter-texture.c: - More safety checks, clean ups in clutter_texture_new_from_actor() - - * clutter/cogl/gl/cogl.c: - Always clear the FBO initially when rendering - - * tests/test-fbo.c: - Overhall the test as to be more useful (and show current issues) - -2008-02-02 Matthew Allum - - * clutter/clutter-timeline.c: - Document frame number limits in new-frame signal. - - * clutter/x11/clutter-event-x11.c: - Remove uneeded error trap (#751) - -2008-02-01 Matthew Allum - - * clutter/cogl/cogl.h: - * clutter/cogl/gl/cogl.c: (cogl_paint_init), (cogl_enable): - * clutter/cogl/gles/cogl.c: (cogl_enable): - - Disable the depth test and buffer as has some strange side - effects, mainly on x/y axis rotation with multiple layers at - same depth (eg rotating text on a bg has very strange - effect). Seems no clean 100% effective way to fix without other - odd issues.. So for now move to application to handle and add - cogl_enable_depth_test() as for custom actors (i.e groups) to - enable if need be. - -2008-02-01 Matthew Allum - - * clutter/clutter-texture.c: (clutter_texture_new_from_actor): - Fix typo breaking FBO rendering on anything other than a cloned - texture. - -2008-02-01 Matthew Allum - - * clutter/clutter-feature.h: - * clutter/clutter-texture.c: - * clutter/clutter-texture.h: - * clutter/cogl/cogl.h: - * clutter/cogl/gl/cogl.c: - * clutter/cogl/gles/cogl.c: - * tests/Makefile.am: - * tests/test.fbo.c: - Add initial support for FBO's in Clutter (OpenGL only so far). - See new clutter_texture_new_from_actor() - Initial implementation, needs work. - - * clutter/x11/clutter-stage-x11.c: - (clutter_stage_x11_set_cursor_visible): - Fall back to again not relying on xfixes to hide cursor. *sigh* - - * clutter/clutter-deprecated.h: - Add clutter_group_find_child_by_id - -2008-02-01 Øyvind Kolås - - * clutter/cogl/gles/cogl.c: (cogl_rectangle_internal): increase size - of GLfixed[] array to make contents fit. - -2008-02-01 Emmanuele Bassi - - * clutter/clutter-actor.h: Clean up a bit the flag-related macros. - -2008-02-01 Emmanuele Bassi - - * clutter/clutter-actor.c: - (clutter_actor_get_property): Use clutter_actor_get_reactive() - instead of the IS_REACTIVE() macro. - - (clutter_actor_set_reactive): Emit the notify signal for the - reactive property. - - * clutter/clutter-timeline.c: - (timeline_timeout_func), - (clutter_timeline_get_delta): Coding style fixes. - -2008-01-31 Rob Bradford - - * clutter/glx/clutter-stage-glx.c: - * clutter/glx/clutter-backend-glx.c: - * clutter/glx/clutter-backend-glx.h: - Fix formatting. - -2008-01-31 Emmanuele Bassi - - * clutter/clutter-timeline.c (clutter_timeline_skip): Don't - add the frames outside the direction check. (thanks to benoar - on clutter-list for spotting it) - -2007-01-31 Tomas Frydrych - - * clutter/clutter-actor.c: - (clutter_actor_transform_vertices): - Call clutter_actor_query_coords() instead of accessing the actor - box, so that actors that calculate their bounding box on the fly - (like ClutterGroup) work. - - * (_clutter_actor_apply_modelview_transform_recursive): - Made to work for parentless actors. - -2008-01-31 Øyvind Kolås - - * tests/test-depth.c: added a box of cloned hands to further expand - the scope of depth testing scenarios exercised by test-depth. - -2008-01-31 Øyvind Kolås - - * tests/test-depth.c: (timeline_completed): make use of - clutter_timeline_set_direction instead of static state. - (raise_top): made rectangle remain at fixed depth and raise - above each other. - (janus_group): added a rectangle with two faces, one red and - one green, that spins around. - -2008-01-31 Emmanuele Bassi - - * clutter/clutter-entry.h: - * clutter/clutter-entry.c: - (clutter_entry_set_cursor_position), - (clutter_entry_get_cursor_position): Rename [gs]et_position() - to [gs]set_cursor_position(), and avoid method name collisions - with bindings for high-level languages. - - * clutter/clutter-deprecated.h: Add replacement warnings for the - renamed methods. - -2008-01-31 Emmanuele Bassi - - * clutter/clutter-actor.c (clutter_actor_init): Explicitly - memset() to 0 the clip container, so if you get the clip without - having set it, you won't get garbage. - -2008-01-31 Rob Bradford - - * clutter/x11/clutter-backend-x11-private.h: - Add missing start to comment - - * clutter/x11/clutter-backend-x11.c: - * clutter/x11/clutter-event-x11.c: - * clutter/x11/clutter-stage-x11.c: - * clutter/x11/clutter-x11.h: - Remove tabs. - -2008-01-30 Emmanuele Bassi - - * README: Add the osx flavour, and mark it experimental, - along with the sdl backend. EGL-based backends should not be - considered experimental anymore, even though they might require - tweaking. - -2008-01-30 Emmanuele Bassi - - * HACKING: Expand the "document API" point, and the release - process. - - * README: Update the release notes regarding the scale behaviour, - now that the gravity has been removed. - -2007-01-30 Tomas Frydrych - - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - Added new clutter_actor_move_anchor_point_ API. - - * clutter/clutter-behaviour-scale.c: - * clutter/clutter-behaviour-scale.h: - * clutter/clutter-effect.c: - * clutter/clutter-effect.h: - * tests/test-actors.c: - * tests/test-effects.c: - * tests/test-scale.c: - Removed gravity from ClutterBehaviourScale. - -2008-01-27 Emmanuele Bassi - - * tests/test-depth.c (main): Use a group instead of pushing - the actors on the stage. - -2008-01-25 Emmanuele Bassi - - * clutter/clutter-group.c (sort_z_order): Invert condition to - return to the same as in revision 1976. - -2008-01-25 Emmanuele Bassi - - * clutter/clutter-label.c (clutter_label_query_coords): Check - if the layout logical rectangle size is bigger than the bounding - box; this usually means that the bounding box changed in one - point and the label private allocation needs to be - updated. (#724) - -2008-01-25 Emmanuele Bassi - - * clutter/x11/Makefile.am: Add the generated clutter-x11 pkg-config - file to CLEANFILES, to pass distcheck. - - * Makefile.am: - * clutter/Makefile.am: Tweak up the Makefiles. - - * README: - * NEWS: Release 0.5.4 - - * configure.ac: Post-release bump to 0.5.5 - -2008-01-25 Emmanuele Bassi - - * clutter/clutter-group.c: Use a shorter Z order sorting function, - avoiding the checks. - -2008-01-25 Øyvind Kolås - - * clutter/clutter-shader.c: added documentation strings for - ClutterShader. - -2008-01-23 Emmanuele Bassi - - * Makefile.am: Use variables, instead of substitutions. - - * clutter/clutter-private.h: - * clutter/clutter-main.h: Make clutter_do_event() public again, - as we need it in clutter-gtk. - - * configure.ac: - * clutter/x11/Makefile.am: - * clutter/x11/clutter-x11.pc.in: Add a clutter-x11 pkg-config - file for clutter-gtk, as it depends on the X11 backend API, as - implemented by the GLX and EGLX backends. - - * clutter/x11/clutter-event-x11.c (event_translate): Do not - propagate DestroyNotify events if the stage doesn't own the - window. - - * tests/test-scale.c (main): Set values different from the default. - -2008-01-21 Emmanuele Bassi - - * clutter/clutter-behaviour-scale.c: - (clutter_behaviour_scale_set_property), - (clutter_behaviour_scale_class_init): Fix stupid typo in the - y-scale-end property declaration. (#720) - -2008-01-21 Emmanuele Bassi - - * clutter/clutter-behaviour-depth.h: - * clutter/clutter-behaviour-depth.c: - (clutter_behaviour_depth_set_bounds), - (clutter_behaviour_depth_get_bounds): Add the depth-start and - depth-end accessors. - - * tests/test-depth.c (timeline_completed): Use set_bounds() - instead of g_object_set(). - - * clutter.symbols: Add clutter_behaviour_depth_set_bounds() - and clutter_behaviour_opacity_get_bounds() to the list of - public symbols. - -2008-01-21 Emmanuele Bassi - - * clutter/clutter-behaviour-scale.c: Use separate variables for - storing the scale boundaries; apparently, using arrays broke - the python bindings. (#720) - -2008-01-21 Matthew Allum - - * clutter/clutter-group.c: - Make sure unrealizing a group also unrealizes children. - - * clutter/glx/clutter-stage-glx.c: - Chain up to group unrealize to make sure textures get unrealized - when changing context (see #718) - - * clutter/clutter-texture.c: - Formatting cleanups - -2008-01-21 Øyvind Kolås - - * tests/test-shader.c: fix incompatible types in shader programs - - Apparently floats can't be multiplied or divided with ints without - explicit type casts. Use 2.0 or float(var) where appropriate. Patch - from Tommi Komulainen (#715). - -2008-01-19 Emmanuele Bassi - - * clutter/clutter-main.c (generate_enter_leave_events): Do not - take the explicit reference, and let clutter_event_copy() do it - for us. (#714, Neil Roberts) - -2008-01-19 Emmanuele Bassi - - * clutter/clutter-event.c (clutter_event_copy): Take an extra - reference on the related actor in ClutterEventCrossing that we - explicitly unref in clutter_event_free(). (#714, Neil Roberts) - -2008-01-18 Emmanuele Bassi - - * tests/test-actors.c (input_cb): Fix the callback signature; - hide the clicked actor only if it's a hand. - -2008-01-18 Emmanuele Bassi - - * clutter/clutter-main.c (clutter_do_event): Check the - return value of the ::event signal for the CLUTTER_DELETE - event type. - - * clutter/clutter-stage.c (clutter_stage_event): Emit the - ::event signal when receiving the CLUTTER_DELETE event; this - allows to intercept the user's closing of the stage window. - -2007-01-18 Tomas Frydrych - - * clutter/clutter-fixed.h: - Added missing proto for clutter_fixed_qdivx(). - -2007-01-18 Tomas Frydrych - - * clutter/clutter-fixed.h: - * clutter/clutter-fixed.c: - Added CLUTTER_QDIV() for 64-bit division (bug 564, patch by - Gwenole Beauchesne). - -2008-01-18 Emmanuele Bassi - - * clutter/clutter-event.h: Add a gunichar field for the Unicode - representation of the key. (#555) - -2008-01-18 Emmanuele Bassi - - * clutter/clutter-actor.h: - * clutter/clutter-script.h: - * clutter/clutter-stage.h: - * clutter/clutter-units.h: Documentation fixes and additions. - -2008-01-18 Emmanuele Bassi - - * clutter.symbols: Add ClutterBehaviourOpacity accessors. - - * clutter/clutter-behaviour-opacity.h: - * clutter/clutter-behaviour-opacity.c: - (clutter_behaviour_opacity_set_bounds), - (clutter_behaviour_opacity_get_bounds): Add accessors for the - opacity-start and opacity-end properties. - - * clutter/clutter-behaviour-scale.h: Fix the argument name to - avoid complaints by gtk-doc. - -2008-01-17 Emmanuele Bassi - - * clutter/clutter-behaviour-scale.c: - (clutter_behaviour_scale_set_gravity): Notify on the right property - name. - -2008-01-17 Emmanuele Bassi - - * clutter.symbols: Add new ClutterBehaviourScale setters. - - * clutter/clutter-behaviour-scale.[ch]: Split the scaling factors - on both axis. Add setters for all the behaviour properties. - - * clutter/clutter-effect.h: - * clutter/clutter-effect.c (clutter_effect_scale): Split the - final scale factor to match the ClutterBehaviourScale changes. (#709) - - * tests/test-actors.c: - * tests/test-effects.c: - * tests/test-rotate.c: - * tests/test-scale.c: Update after API change. - -2008-01-16 Emmanuele Bassi - - * clutter/cogl/cogl.h: Rename COGLhandleARB to COGLhandle. - - * clutter/cogl/gl/cogl-defines.h.in: - * clutter/cogl/gl/cogl.c: Update GL implementation of COGL. - - * clutter/cogl/gles/cogl-defines.h: - * clutter/cogl/gles/cogl.c: Update GLES implementation of COGL. - - * clutter/clutter-shader.c: Fix ClutterShader to use the new - COGLhandle type instead of COGLhandlerARB. - -2008-01-16 Emmanuele Bassi - - Define COGLhandleARB. (patch by Johan Bilien) - - * clutter/cogl/gles/cogl-defines.h: Define COGLhandleARB on - GLES as well (using GLuint) - - * clutter/cogl/gles/cogl.c: Use COGLhandleARB. - -2008-01-14 Tommi Komulainen - - reviewed by: Emmanuele Bassi - - * clutter/osx/clutter-event-osx.c (_clutter_event_osx_put): - Initialize ClutterEvent structure with zeroes (#672) - - The 'source' member was uninitialized and being referenced in - clutter_do_event leading to crash. - -2008-01-14 Emmanuele Bassi - - * tests/test-scale.c: Improve test case for scaling (#684, - Jaap A. Haitsma) - -2008-01-14 Emmanuele Bassi - - * clutter/clutter-timeline.c (timeline_timeout_func): Fix - check if the last frame was reached by skipping a frame (#654, - Johan Bilien) - -2008-01-14 Emmanuele Bassi - - * clutter/clutter-shader.c: Use correct format string for - gssize. (#695, Tommi Komulainen) - -2008-01-14 Emmanuele Bassi - - * clutter/cogl/gl/cogl.c (cogl_get_proc_address): Implement non-GLX - version using GModule and looking up the symbol from the running - process. It should work when linked to library providing the - requested function. (#696, Tommi Komulainen) - -2008-01-14 Emmanuele Bassi - - * configure.ac: Post-release bump to 0.5.3 - - * README: - * NEWS: Release 0.5.2 - -2008-01-14 Emmanuele Bassi - - * clutter.symbols: Add clutter_model_insertv() - - * clutter/clutter-model.[ch] (clutter_model_insertv): Add a vector - based insertion API, for language bindings - -2008-01-12 Emmanuele Bassi - - * clutter/clutter-effect.c (clutter_effect_rotate): Make the - rotate effect work on the passed axis, instead of hardcoding - the X axis. (#700, Neil Roberts) - -2008-01-10 Øyvind Kolås - - Added COGLhandleARB since the underlying type on OSX is void*, - patch from Tommi Komulainen , (#694) - - * clutter/cogl/gl/cogl-defines.h.in: Added COGLhandleARB typedef. - * clutter/cogl/cogl.h: - * clutter/cogl/gl/cogl.c: - * clutter/clutter-shader.c: Use COGLhandleARB instead of COGLint when - referring to program or shader handles. - -2008-01-09 Emmanuele Bassi - - * clutter/Makefile.am: - * clutter/clutter.h: - * clutter/clutter-list-model.[ch]: Complete the ClutterModelDefault - to ClutterListModel rename by renaming the source files - -2008-01-09 Emmanuele Bassi - - * clutter/clutter-model-default.[ch]: Rename ClutterModelDefault - into ClutterListModel, to make it clear that the default - ClutterModel implementation is list-based - - * tests/test-model.c: Update call - -2008-01-09 Emmanuele Bassi - - * clutter/clutter-model-default.c: - (clutter_model_default_new), - (clutter_model_default_newv): Move the constructors in the - right file - - * clutter/clutter-model-private.h: Add a private header for - the ClutterModel implementations - - * clutter/clutter-model.c: - (clutter_model_check_type), - (clutter_model_set_n_columns), - (clutter_model_set_column_type): Mark as private to Clutter, - not static to ClutterModel - - * clutter/Makefile.am: Add clutter-model-private.h - -2008-01-09 Emmanuele Bassi - - * clutter/clutter-label.c: - (clutter_label_ensure_layout): Fix the ClutterUnits to Pango - scale conversion. - -2008-01-08 Emmanuele Bassi - - * clutter/clutter-model.c: - (clutter_model_appendv), - (clutter_model_prependv): Fix the columns length pre-condition - -2008-01-07 Emmanuele Bassi - - * clutter/clutter-model-default.[ch]: Remove the ClutterModelDefault - iterator symbols from the public API; the iterator implementation - is a detail of the default ClutterModel class - - * clutter.symbols: Update - -2008-01-07 Emmanuele Bassi - - * clutter/clutter-model.h: - * clutter/clutter-model.c: - (clutter_model_appendv), - (clutter_model_prependv): Add vector based API for bindings. - - (clutter_model_get_column_name), - (clutter_model_get_column_type), - (clutter_model_set_sorting_column): Fix the check in the condition - on the column index. - - * tests/test-scale.c (on_timeline_completed), (main): Fix spelling - - * clutter.symbols: Update public symbols - -2008-01-04 Emmanuele Bassi - - * clutter.symbols: Add clutter_actor_move_byu() - - * clutter/clutter-actor.h: - * clutter/clutter-actor.c: - (clutter_actor_move_by), - (clutter_actor_move_byu): Add a units-based variant of the - clutter_actor_move_by() function - -2008-01-02 Johan Bilien - - reviewed by: Emmanuele Bassi - - * configure.ac: Use AC_DEFINE_UNQUOTED to expand the - variable. Fixes EGL backend build - -2008-01-02 Emmanuele Bassi - - * configure.ac: Post release bump to 0.5.1 - -2008-01-02 Emmanuele Bassi - - * README: - * NEWS: Release 0.5.0 - -2008-01-02 Emmanuele Bassi - - * clutter/clutter-model-default.c: - (clutter_model_default_get_iter_at_row), - (clutter_model_default_insert_row): Fix off-by-one errors - - (clutter_model_default_class_init): - (clutter_model_default_remove_row): Move the actual removal of the - row to... - - (clutter_model_default_row_removed): ... the signal class handler - of ::row-removed; this way, signal handlers connected to - ::row-removed will get a valid iterator, while signal handlers - connected to ::row-removed with the AFTER flag will get an updated - model - -2007-12-31 Tomas Frydrych - - * configure.ac: - * clutter/Makefile.am: - Added -no-undefined to libtool LDFLAGS for mingw/SDL backend, to - allow building of shared libraries for win32. - -2007-12-31 Tomas Frydrych - - * configure.ac: - * clutter.pc.in: - Added CLUTTER_REQUIRES automake var to allow deps in clutter.pc to - be backend-specific. - -2007-12-28 Emmanuele Bassi - - * clutter/clutter-texture.c: - (clutter_texture_unrealize): Do not read the pixels back if the - texture is being destroyed - -2007-12-28 Emmanuele Bassi - - * clutter/clutter-model.c: - (clutter_model_real_get_n_rows), (clutter_model_class_init), - (clutter_model_get_n_rows): Provide a default implementation of - the get_n_rows() method, so that subclasses do not strictly need - to override it - -2007-12-25 Emmanuele Bassi - - * clutter/clutter-actor.c: - (parse_rotation_array): Inline, and get the JsonArray as a parameter - - (parse_rotation): Update - - * clutter/clutter-script.c: - (warn_missing_attribute): Fix for emacs-style warnings - - (clutter_script_parse_node): Remove an ifdeffed out section - - (clutter_script_construct_parameters), - (clutter_script_construct_object): Rename get_parameters, so - it's obvious what it does - -2007-12-25 Emmanuele Bassi - - * tests/test-script.json: Fix the JSON syntax - -2007-12-25 Emmanuele Bassi - - * clutter/clutter-enum-types.c.in: Fix the template - -2007-12-24 Emmanuele Bassi - - * clutter/clutter-stage.c: - * clutter/clutter-stage.h: - * clutter/clutter-texture.c: Remove some of the remaining FIXMEs - in the API documentation - -2007-12-24 Emmanuele Bassi - - * clutter/clutter-color.c: - * clutter/clutter-event.c: - * clutter/clutter-stage.c: Intern more strings using the I_() macro - - * clutter/clutter-enum-types.c.in: Call g_intern_static_string() - in the enum types template - -2007-12-24 Emmanuele Bassi - - * clutter.symbols: Add clutter_actor_set_clipu() and - clutter_actor_get_clipu() - - * clutter/clutter-actor.h: - * clutter/clutter-actor.c: - (clutter_actor_set_clipu), (clutter_actor_get_clipu): Add the - new units-based versions of the clip accessors - - (clutter_actor_set_clip), (clutter_actor_get_clip): Reimplement - the pixels-based clip accessors as proxies for the units-based - ones - -2007-12-24 Emmanuele Bassi - - * clutter/cogl/cogl.h: Update cogl_clip_set() to accept the - clip components as ClutterFixed values - - * clutter/cogl/gl/cogl.c (cogl_clip_set): Update the GL implementation - of cogl_clip_set() - - * clutter/cogl/gles/cogl.c: - (cogl_rectangle_internal): Provide an internal, inlined rectangle - drawing function using fixed point values, to be shared by - cogl_clip_set() and cogl_rectangle() - - (cogl_clip_set), (cogl_rectangle): Update the GLES implementation - of cogl_clip_set() and cogl_rectangle() to use the new internal - rectangle drawing function - - * clutter/clutter-actor.c: Make the clip an array of ClutterUnit - values instead of pixel-based; this allows higher precision and - device independence - - (_clutter_actor_apply_modelview_transform): Pass the clip - components converting from units to fixed point values, using - the new cogl_clip_set() signature - - (clutter_actor_get_property), (clutter_actor_set_clip), - (clutter_actor_get_clip): Update the accessors of the clip - property - -2007-12-21 Emmanuele Bassi - - * clutter/clutter-actor.h: Remove the unused ::set_depth() and - ::get_depth() virtual functions. (#674, Murray Cumming) - -2007-12-21 Emmanuele Bassi - - * clutter/clutter-group.c: - * clutter/clutter-group.h: Add the clutter_group_add() convenience - function; it's now "undeprecated" and implemented as a macro - - * clutter/clutter-stage.h: Add clutter_stage_add() as a convenience - macro - - * clutter/cogl/cogl.h: Include just the needed headers instead - of the whole clutter.h; this avoids rebuild cogl when not needed - -2007-12-21 Emmanuele Bassi - - * Makefile.am: Move tests build before docs, to cut down the - distcheck failure discovery - - * clutter.symbols: Add clutter_texture_set_area_from_rgb_data() - - * clutter/clutter-actor.c: - * clutter/clutter-script.c: - * clutter/clutter-texture.c: - * clutter/json/json-generator.c: - * clutter/json/json-parser.c: Compilation fixes for passing distcheck - - * tests/test-grab.c: - * tests/test-score.c: - * tests/test-script.c: - * tests/test-shader.c: - * tests/test-unproject.c: Ditto as above - -2007-12-21 Emmanuele Bassi - - * clutter/clutter-label.c: - (clutter_label_ensure_layout): Avoid rounding errors in the layout - computing when switching between Clutter units and Pango units. - -2007-12-19 Øyvind Kolås - - * clutter/clutter-texture.[ch]: (bug #675) added - clutter_texture_set_area_from_rgb_data, sharing some of the - initialization infrastructure with clutter_texture_set_from_rgb_data. - -2007-12-20 Emmanuele Bassi - - * clutter/clutter-container.c: - (clutter_container_lower_child): Fix interface method call - to actually call ClutterContainer::lower. (#670, Gwenole - Beauchesne) - -2007-12-20 Emmanuele Bassi - - * clutter/clutter-label.c: - (clutter_label_query_coords): Return the bounding box set inside - request_coords(), if any; otherwise, return the natural allocation - of the label. (#678, reported by Gwenole Beauchesne) - - * tests/test-rotate.c: Align the label - -2007-12-19 Tomas Frydrych - - * clutter/Makefile.am: - * clutter/cogl/gl/cogl-defines.h.in: - * clutter/pango/pangoclutter-render.c: - * configure.ac: - Fixes to allow cross-compilation with mingw (patch by Neil - Roberts). - Removed trailing whitespace. - -2007-12-18 Øyvind Kolås - - * clutter/clutter-main.c: (generate_enter_leave_events): synthesize - enter event (without related) and corresponding leave event when the - actor the cursor is over has been destroyed. - * clutter/clutter-event.c: (clutter_event_free): only unref the - related_actor when it actually is set. - -2007-12-18 Emmanuele Bassi - - * clutter/clutter-main.c: - (unset_motion_last_actor), - (generate_enter_leave_events): Attach a callback to the destroy - signal on the last motion actor, so if it goes away while the - pointer is in the middle of it we can unset the pointer. - - * clutter/clutter-private.h: Store the last motion actor inside - the global context. - -2007-12-17 Emmanuele Bassi - - * clutter/clutter-actor.c: - (clutter_actor_should_pick_paint), - (clutter_actor_apply_transform_to_point): Fix the whitespace. - - (clutter_actor_set_rotation): Clarify that the coordinates of - the centre of rotation are relative to the anchor point or, - if not set, to the upper left corner of the bounding box. - -2007-12-17 Tomas Frydrych - - * clutter/clutter-behaviour-ellipse.c: - * clutter/clutter-behaviour-rotate.c: - Clamping of start and end angles to <0, 360). - -2007-12-17 Emmanuele Bassi - - * clutter/clutter-behaviour-path.c: Clarify the equivalence - between the upper and lower bounds of the ClutterAlpha and - the position in the path. (#634) - -2007-12-17 Emmanuele Bassi - - * clutter/clutter-texture.c: Mention the fact that a ClutterTexture - will scale its contents to fit inside the requested bounding - box. (#661) - -2007-12-17 Emmanuele Bassi - - * clutter/clutter-actor.c: Fix documentation for - the ::captured-event signal. (#673) - -2007-12-17 Emmanuele Bassi - - * clutter/clutter-actor.c: Clarify the set_clip() method - documentation, pointing out that the clip area origin is - always the top-left corner of an actor. - -2007-12-15 Emmanuele Bassi - - * clutter/clutter-actor.c: - * clutter/clutter-alpha.h: - * clutter/clutter-event.h: - * clutter/clutter-fixed.[ch]: - * clutter/clutter-model.h: - * clutter/clutter-shader.[ch]: - * clutter/clutter-stage.c: Documentation fixes. - -2007-12-15 Emmanuele Bassi - - * clutter/clutter-model-default.c: - (clutter_model_default_iter_next), - (clutter_model_default_iter_prev): Do not instantiate a new - iterator, and update the passed one instead, as we say we do - in the documentation. This avoid leaking tons of iterators. - - * clutter/clutter-model.[ch]: Update the documentation. - - * tests/test-model.c: Prettify some output. - -2007-12-14 Emmanuele Bassi - - * clutter/clutter-behaviour.c: - (clutter_knot_get_type): Use the I_() macro. - - * clutter/clutter-model.[ch]: Make ClutterModel and ClutterModelIter - abstract classes; also, provide more virtual functions inside the - ClutterModel vtable, to allow subclasses and language bindings to - override the entire ClutterModel using other/native data types - to store the rows. - - * clutter/clutter-model-default.[ch]: ClutterModelDefault is a - default implementation of ClutterModel and ClutterModelIter using - GSequence. - - * clutter/Makefile.am: - * clutter/clutter.h: Build glue for ClutterModelDefault. - - * tests/test-model.c: Update for constructor changes. - - * tests/test-shader.c: Fix a typo. - -2007-12-14 Matthew Allum - - * clutter/cogl/gl/cogl-defines.h.in: - * clutter/cogl/gles/cogl-defines.h: - Add CLUTTER_COGL_HAS_GL/GLES defines - -2007-12-11 Øyvind Kolås - - Refined the ClutterShader API based on a patch from Emmanuele Bassi. - - * clutter/clutter-actor.c: (clutter_actor_paint), - (clutter_actor_apply_shader): queue a redraw of actor when shader is - set. - * clutter/clutter-actor.h: indentation. - * clutter/clutter-shader.[ch]: made the fragment and vertex shader - sources properties. Report error through GError when binding shaders. - * tests/test-shader.c: modified to use newer API. - -2007-12-10 Emmanuele Bassi - - * clutter/clutter-model.c: - (clutter_model_get_sorting_column): Fix wrong type check. - -2007-12-10 Emmanuele Bassi - - * clutter/clutter-model.[ch]: Allow unsorting the model (passing - -1 as the sorting column) - - (clutter_model_iter_get_valist): Do not initialise twice che - return value. - -2007-12-10 Emmanuele Bassi - - * clutter/clutter-model.c (clutter_model_iter_get_value): Initialise - the passed GValue like the other getters do. - -2007-12-10 Emmanuele Bassi - - * clutter/clutter-model.h: - * clutter/clutter-model.c: - (clutter_model_append_value), - (clutter_model_prepend_value), - (clutter_model_insert_value): Add a _value() variant for the - insertion methods, for use of the language bindings. - - (clutter_model_append), - (clutter_model_prepend), - (clutter_model_insert): Do not return a boolean: insertion should - never fail unless for a programming error, in which case we have - plenty of warnings. - -2007-12-10 Emmanuele Bassi - - * clutter/clutter-behaviour-ellipse.c: - (clutter_behaviour_ellipse_get_angle_tilt), - (clutter_behaviour_ellipse_get_angle_tiltx), - (clutter_behaviour_ellipse_set_tilt): Fix a double conversion - that was messing up the returned results. (#665) - -2007-12-10 Emmanuele Bassi - - * clutter/clutter-actor.c: - (clutter_actor_set_property), - (clutter_actor_get_property), - (clutter_actor_class_init): Add the rotation-* properties, - controlling the rotation angle and center on each axis. (#614) - - (parse_rotation_array), (parse_rotation), - (clutter_actor_parse_custom_node), - (clutter_actor_set_custom_property), - (clutter_scriptable_iface_init): Add a new "rotation" custom - property for expressing the rotation along each axis in a - compact way: - - "rotation" : [ - { "x-axis" : [ , [ , ] ] }, - { "y-axis" : [ , [ , ] ] }, - { "z-axis" : [ , [ , ] ] } - ] - - (clutter_geometry_get_type),(clutter_vertex_get_type), - (clutter_actor_box_get_type): Use the I_() macro instead of - directly calling g_intern_static_string(). - - * clutter/clutter-entry.c (clutter_entry_request_coords): - * clutter/clutter-label.c (clutter_label_ensure_layout), - (clutter_label_request_coords): Use CLUTTER_UNITS_FROM_DEVICE() - instead of CLUTTER_UNITS_FROM_INT(), as "device" means "pixels". - - * clutter/clutter-private.h: Add the I_() macro for intern - static strings. - - * tests/test-script.json: Test the newly added "rotation" - custom property. - -2007-12-10 Tomas Frydrych - - * tests/Makefile.am: - Fixed a typo. - -2007-12-10 Tomas Frydrych - - * tests/test-viewport.c: - * tests/Makefile.am: - Added a simple viewport test. - -2007-12-10 Tomas Frydrych - - * clutter/clutter-actor.c: - (_clutter_actor_apply_modelview_transform): - Moved offset translation after rotation so that rotation coords - are also relative to the offset point. - -2007-12-09 Emmanuele Bassi - - * tests/test-events.c (input_cb): - * tests/test-text.c (main): Fix compiler errors. (#592, - Gwenole Beauchesne) - -2007-12-09 Emmanuele Bassi - - * clutter/clutter-actor.c: Document the values for full - transparency and full opacity in the set_opacity() - method. (#662) - - * clutter/clutter-behaviour-ellipse.c: Improve consistency - in the apidoc. - -2007-12-08 Emmanuele Bassi - - * configure.ac: Make libtool respect the -s switch of make - and be quiet. - -2007-12-07 Emmanuele Bassi - - * clutter/clutter-actor.h: - * clutter/clutter-actor.c: - (clutter_actor_get_sizeu), - (clutter_actor_get_positionu): Add unit-based accessors to - the size and position. - -2007-12-07 Tomas Frydrych - - * clutter/clutter-behaviour-ellipse.c: - (clutter_behaviour_ellipse_set_angle_start): - (clutter_behaviour_ellipse_set_angle_end): - (clutter_behaviour_ellipse_set_angle_tilt): - (clutter_behaviour_ellipse_set_tilt): - Removed strayed degree -> ClutterAngle conversions left over from - API changes. - - (clutter_behaviour_ellipse_set_angle_tiltx): - Removed stray printf. - -2007-12-07 Tomas Frydrych - - * clutter/clutter-behaviour-ellipse.c: - Fixed tilt setters and getters. - -2007-12-06 Tomas Frydrych - - * clutter/clutter-fixed.c: - * clutter/clutter-fixed.h: - (clutter_sqrti): - Added extra iteration to the Newton-Rapson algorithm for arguments - lesser than 342 to improve precission. - -2007-12-06 Emmanuele Bassi - - * clutter/clutter-main.c: - (clutter_set_motion_events_frequency): Never allow the motion - events devlivery frequency to exceed the default frame rate. - -2007-12-06 Emmanuele Bassi - - * clutter/json/json-parser.[ch]: Use gssize, size we allow -1 - as a length (meaning "use the whole string"). - - (json_parser_load_from_data): Use the passed length instead of - using strlen() all the time. - - * clutter/clutter-script.[ch]: Ditto as above. - -2007-12-06 Emmanuele Bassi - - * clutter/pango/pangoclutter-render.c: Hush a compiler warning - by removing a unused variable. - -2007-12-06 Emmanuele Bassi - - * clutter/clutter-label.c (clutter_label_ensure_layout): If the - label has a requested size, force it when ensuring the layout. - -2007-12-06 Emmanuele Bassi - - * tests/test-unproject.c: Fix type comparison. - - * tests/test-score.c: Save the returned ids. - -2007-12-05 Matthew Allum - - reviewed by: - - * clutter/pango/pangoclutter-render.c: (tc_get), (free_glyph_info), - (draw_glyph), (draw_trapezoid), (pango_clutter_render_layout), - (pango_clutter_render_layout_line), - (pango_clutter_render_clear_caches), (prepare_run), (draw_begin): - -2007-12-05 Emmanuele Bassi - - * clutter/clutter-score.h: Rearrange declarations. - - * clutter/clutter-score.c: More documentation in the long - description of the ClutterScore section. - - * clutter/clutter-debug.h: - * clutter/clutter-main.c: Add the CLUTTER_DEBUG_SHADER flag, - for debugging the shader calls. - - * clutter/clutter-feature.h: Fix the documentation of the - feature flags. - - * clutter/Makefile.am: Remove trailing whitespace. - -2007-12-05 Tomas Frydrych - - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - * tests/Makefile.am: - * tests/test-unproject: - (clutter_actor_transform_stage_point): - Added new function for translating stage coordinates into local - actor coordinates. - -2007-12-04 Emmanuele Bassi - - * clutter/clutter-score.c: Better document ClutterScore - and its API. - -2007-12-04 Emmanuele Bassi - - * clutter/clutter-score.[ch]: Reimplement ClutterScore using - a N-ary tree to store the timelines. Remove clutter_score_add(): - the same functionality can be achieved by passing a NULL - parent to clutter_score_append(). - - * tests/test-score.c: Update ClutterScore test unit, and add - debug printouts. - -2007-12-04 Øyvind Kolås - - * clutter/clutter-shader.c: (bind_glsl_shader): use gchar instead of - GLcharARB. - -2007-12-03 Øyvind Kolås - - * clutter/clutter-shader.[ch]: do not include GL.h. - -2007-12-03 Øyvind Kolås - - Support for shaders in clutter. At the moment limited to drivers - providing GLSL support. - - * clutter/cogl/cogl.h: added rather direct binding of needed for glsl - shaders. - * clutter/cogl/gl/cogl-defines.h.in: - * clutter/cogl/gl/cogl.c: - * clutter/cogl/gles/cogl-defines.h: added stubs. - * clutter/cogl/gles/cogl.c: added stubs. - - * clutter/glx/clutter-stage-glx.c: - (clutter_stage_glx_realize): unrelated memory management sanity fix. - (clutter_stage_glx_unrealize): unbind all shaders on stage unrealize. - - * clutter/Makefile.am: added clutter-shader.[ch] - * clutter/clutter-actor.[ch]: adding shader capability to - actors. - * clutter/clutter-feature.h: added CLUTTER_FEATURE_SHADERS_GLSL - * clutter/clutter-private.h: added stack of shaders to context. - * clutter/clutter-shader.[ch]: new. - - * tests/Makefile.am: added shader test. - * tests/test-shader.c: (frame_cb), (main): simple shader test, - cycle through the inline shader with right/left mouse buttons. - -2007-12-03 Øyvind Kolås - - * clutter/glx/clutter-stage-glx.c: for extra sanity, set - stage_x11->xvisinfo = NULL after XFree. Makes using the root window - as foreign window possible. - -2007-11-30 Øyvind Kolås - - * clutter/clutter-timeline.c: (clutter_timeline_get_delta): return the - number of milliseconds passed between new-frame events instead of - since new-frame events, thus making sure that the sum of _get_delta's - returned for all new-frame events is equal to total time elapsed. - -2007-11-30 Emmanuele Bassi - - * clutter/clutter-actor.c (parse_units), - (clutter_actor_parse_custom_node): Do not allow using percentages - of the stage on the stage itself, as it makes little to no - sense. - - * clutter/clutter-script.c: - (clutter_script_construct_object): Rearrange code. - - * tests/test-script.json: Do not set the size of the stage, to - test for the stage size percentage. - -2007-11-30 Emmanuele Bassi - - * clutter/clutter-model.h: Complete the documentation of - the ClutterModelClass structure members. - -2007-11-30 Emmanuele Bassi - - * clutter/clutter-timeline.h: - * clutter/clutter-timeline.c - (timeline_timeout_func), - (clutter_timeline_get_delta): Add a function for retrieving - the number of frames and the time (in milliseconds) elapsed - since the last timeline ::new-frame signal. This can be useful - for implementing a physics engine or just for knowing how if - and how many frames have been skipped. - -2007-11-30 Emmanuele Bassi - - * clutter/clutter-actor.c (parse_units), - (clutter_actor_parse_custom_node), - (clutter_scriptable_iface_init): Override the parsing code - for the x, y, width and height properties of ClutterActor, - to allow strings with modifiers when defining the position - and/or the dimensions of an actor. Bare integers are assumed - as pixels; floating point values in the [0, 1] interval are - assumed as percentages; strings can have these modifiers: - - - px - pixels - - mm - millimeters - - pt - points (at the current resolution) - - % - percentage of the stage - - * clutter/clutter-units.h: Fix the conversion macros - - * tests/test-script.json: Test the new values. - -2007-11-29 Emmanuele Bassi - - * clutter/clutter-model.[ch]: Slight API change in the constructor - functions for ClutterModel: clutter_model_new() now takes a list - of GType/string pairs for both the column type and the column name. - - (clutter_model_set_n_columns), - (clutter_model_set_names), - (clutter_model_set_types): Subclasses of ClutterModel will be able - to call clutter_model_set_types() and clutter_model_set_names() in - any order, provided that they don't call each function more than - once. - - * tests/test-model.c: Update the test case. - -2007-11-29 Tomas Frydrych - - * clutter/clutter-actor.h: - * clutter/clutter-actor.c: - Converted depth and rotation offsets to ClutterUnit. - - (clutter_actor_set_depthu): - (clutter_actor_get_depthu): - Additional ClutterUnit API. - - (_clutter_actor_apply_modelview_transform): - Use cogl_translatex() in place of cogl_translate(). - -2007-11-29 Emmanuele Bassi - - * *: Add svn:ignore property to every directory, so that - svn status starts being useful. - -2007-11-29 Matthew Allum - - * clutter/clutter-main.c: (generate_enter_leave_events): - Minor formatting tweak. - * configure.ac: - Typo fix from Damien Lespiau (via mailing list) - -2007-11-28 Emmanuele Bassi - - Add more introspection capabilities to the base model class - - * clutter/clutter-model.h: - * clutter/clutter-model.c: - (clutter_model_finalize): Do no leak the column types array. - - (clutter_model_get_n_columns): Function for getting the number - of columns inside a model. - - (clutter_model_set_names): Add API for setting the names of the - columns. - - (clutter_model_get_column_name), - (_model_get_column_type): Add API for getting each column's name, - and the default implementation for ClutterModel. - - (clutter_model_get_column_type), - (_model_get_iter_at_row): Add API for getting each column's type, - and the default implementation for ClutterModel. - - * clutter.symbols: Add ClutterModel and ClutterModelIter symbols, - and keep the symbols file sorted. - -2007-11-28 Tomas Frydrych - - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - (clutter_actor_set_positionu): - (clutter_actor_set_sizeu): - (clutter_actor_get_widthu): - (clutter_actor_get_heightu): - (clutter_actor_set_widthu): - (clutter_actor_set_heightu): - (clutter_actor_get_xu): - (clutter_actor_get_yu): - (clutter_actor_set_xu): - (clutter_actor_set_yu): - Expanded ClutterActor API with new ClutterUnit-base functions. - - * clutter/clutter-stage.c: - * clutter/clutter-stage.h: - (clutter_stage_get_resolution): - (clutter_stage_get_resolutionx): - New function to query stage resolution (floating and fixed point - versions). - - * clutter/clutter-units.h: - (CLUTTER_UNITS_FROM_STAGE_WIDTH_PERCENTAGE): - (CLUTTER_UNITS_FROM_STAGE_HEIGHT_PERCENTAGE): - (CLUTTER_UNITS_FROM_PARENT_WIDTH_PERCENTAGE): - (CLUTTER_UNITS_FROM_PARENT_HEIGHT_PERCENTAGE): - (CLUTTER_UNITS_FROM_MM): - (CLUTTER_UNITS_FROM_MMX): - (CLUTTER_UNITS_FROM_POINTS): - (CLUTTER_UNITS_FROM_POINTSX): - New macros for conversions to ClutterUnits. - - * clutter.symbols: - Added: - ClutterActor anchor_point functions, - clutter_stage_get_resolution functions. - - Removed: - clutter_actor_scale_with_gravity functions. - -2007-11-28 Emmanuele Bassi - - * clutter/clutter-actor.[ch]: Documentation fixes. - -2007-11-28 Emmanuele Bassi - - Remove the layout containers: they will be moved to a - high-level library. - - * clutter/clutter.h: - * clutter/Makefile.am: Remove layout and boxes from the - build. - - * clutter/clutter-layout.[ch]: Remove the ClutterLayout - interface. - - * clutter/clutter-box.[ch]: - * clutter/clutter-hbox.[ch]: - * clutter/clutter-vbox.[ch]: Remove ClutterBox and its - subclasses. - - * clutter/clutter-label.c: Remove ClutterLayout implementation - - * clutter/clutter-script-private.h: - * clutter/clutter-script-parser.c: - * clutter/clutter-script.c: - (clutter_script_parse_node): Remove special parsing for - ClutterMargin and ClutterPadding. - - * clutter/clutter-types.h: Remove ClutterPadding and ClutterMargin. - - * tests/Makefile.am: - * tests/test-boxes.c: Remove the boxes test case. - -2007-11-28 Tomas Frydrych - - * clutter/NEWS: - Started 0.6.0 section with comment on actor anchor point. - - * clutter/clutter/clutter-actor.c: - * clutter/clutter/clutter-actor.h: - * clutter/clutter/clutter-behaviour-scale.c: - * clutter/clutter/clutter-deprecated.h: - (clutter_actor_set_anchor_point): - (clutter_actor_set_anchor_pointu): - (clutter_actor_get_anchor_point): - (clutter_actor_get_anchor_pointu): - (clutter_actor_set_anchor_point_from_gravity): - New anchor point API deprecating old gravity scaling, added - comments on modelview matrix construction to ClutterActor - documentation. - - (clutter_actor_set_scale_with_gravity): - (clutter_actor_set_scale_with_gravityx): - Deprecated; use clutter_actor_set_anchor_point_from_gravity() instead. - -2007-11-28 Emmanuele Bassi - - * clutter/clutter-effect.[ch]: Add clutter_effect_template_construct() - function, for language bindings that need to set the alpha function - but cannot call the clutter_effect_template_new() ctor themselves. - -2007-11-27 Tomas Frydrych - - * clutter/clutter-behaviour-ellipse.c: - * clutter/clutter-behaviour-ellipse.h: - (clutter_behaviour_ellipse_get_angle_startx): - (clutter_behaviour_ellipse_set_angle_startx): - (clutter_behaviour_ellipse_get_angle_endx): - (clutter_behaviour_ellipse_set_angle_endx): - (clutter_behaviour_ellipse_get_angle_tiltx): - (clutter_behaviour_ellipse_set_angle_tiltx): - Changed to take and return angles in degrees represented as - ClutterFixed. - -2007-11-27 Emmanuele Bassi - - * clutter/clutter-actor.c (clutter_actor_destroy): Remove the - reference we hold on the actor, as it was preventing the finalization - of every child on the stage. - -2007-11-26 Emmanuele Bassi - - * clutter/x11/clutter-stage-x11.c: - (clutter_stage_x11_set_cursor_visible): Restore the XFixes usage, - as it now seems to be have been fixed. - -2007-11-26 Emmanuele Bassi - - * clutter/clutter-actor.c: - (clutter_actor_real_show), - (clutter_actor_real_hide): Do not set the MAPPED flag on the actor - if it is a top-level one (like ClutterStage); the backends are - responsible for setting that flag, as it might be the result of an - asynchronous operation (e.g. on X11). - - * clutter/eglnative/clutter-stage-egl.c: - (clutter_stage_egl_show), - (clutter_stage_egl_hide): Set/unset the CLUTTER_ACTOR_MAPPED flag - on show and hide respectively. - - * clutter/osx/clutter-stage-osx.c: - (clutter_stage_osx_show), - (clutter_stage_osx_hide): Ditto as above. - - * clutter/sdl/clutter-stage-sdl.c: - (clutter_stage_sdl_show), - (clutter_stage_sdl_hide): Ditto as above, plus chain up to the - parent class show/hide virtual functions. - - * clutter/x11/clutter-event-x11.c (event_translate): Use the MapNotify - and UnmapNotify events to call the X11 stage map/unmap functions. - - * clutter/x11/clutter-stage-x11.[ch]: - (clutter_stage_x11_set_fullscreen): Set the fullscreen_on_map flag - with the fullscreen value. - - (clutter_stage_x11_map), (clutter_stage_x11_unmap): Set the MAPPED - flag on the stage actor and redraw; also, if the fullscreen_on_map - flag was set, call clutter_stage_fullscreen() as well. (#648) - - * tests/Makefile.am: - * tests/test-fullscreen.c: Add a fullscreen test case for checking - whether fullscreen works on every backend/platform. - -2007-11-23 Emmanuele Bassi - - * clutter/clutter-actor.c: - (clutter_actor_real_request_coords), - (clutter_actor_request_coords), - (clutter_actor_class_init): Provide a default ::request_coords() - implementation in ClutterActor and use it to store the bounding - box passed to clutter_actor_request_coords(). This makes the code - more reliable and clean, and avoids a call to the subclass - request_coords() method if the bounding box did not change. Now, - every class overriding ClutterActor::request_coords() *must* chain - up to the parent class method or the bounding box will not be - saved inside the ClutterActor structure. - - * clutter/clutter-entry.c: - * clutter/clutter-group.c: - * clutter/clutter-hbox.c: - * clutter/clutter-label.c: - * clutter/clutter-texture.c: - * clutter/clutter-vbox.c: Chain up to the parent class - request_coords() method. - -2007-11-23 Emmanuele Bassi - - * clutter/clutter-event.h: Add more documentation. - -2007-11-23 Emmanuele Bassi - - * tests/test-event.c: Back out an accidental commit. - -2007-11-23 Emmanuele Bassi - - * clutter/clutter-actor.c: - * clutter/clutter-alpha.c: - * clutter/clutter-effect.c: - * clutter/clutter-event.c: - * clutter/clutter-event.h: - * clutter/clutter-group.h: - * clutter/clutter-model.c:, - * clutter/clutter-script.c: - * clutter/clutter-scriptable.h: - * clutter/clutter-stage.c: Documentation fixes. - - * clutter/clutter-score.c: Fix implementation. - -2007-11-23 Emmanuele Bassi - - * clutter/x11/clutter-stage-x11.c: Chain up the hide and show - to the parent's implementation. - -2007-11-23 Emmanuele Bassi - - * clutter/clutter-effect.[ch]: Update the effects API to remove - the start value for most of them. - - (clutter_effect_move): Make it a simple "move from current - position to new coordinates" effect. - - (clutter_effect_path): Rename from clutter_effect_move(). - - (clutter_effect_rotate): Sync up with the new actor rotation API. - - * tests/test-effects.c: Regression test for the effects. - - * tests/Makefile.am: Build glue for test-effects - - * tests/test-behave.c: Emulate a full ramp by using a looping - timeline changing its direction when reaching the last frame. - -2007-11-23 Emmanuele Bassi - - * clutter/clutter-actor.c (clutter_actor_destroy): Bail out - if clutter_actor_destroy() was called on the stage: the stage - is not for the user to destroy. - - * clutter/x11/clutter-backend-x11.c: - * clutter/eglnative/clutter-backend-egl.c: - * clutter/sdl/clutter-backend-sdl.c: - * clutter/osx/clutter-backend-osx.c: Unset the top-level private - flag on the stage when disposing it, so the backends can safely - call clutter_actor_destroy(). - - * clutter/clutter-private.h: Tweak the private flags accessors, - to avoid the typecheck. - -2007-11-22 Emmanuele Bassi - - * clutter/clutter-label.c (clutter_label_new_full): Set the - terminating NULL which was removed when applying patch for - fixing #606. (#645, Gwenole Beauchesne) - -2007-11-22 Øyvind Kolås - - * clutter/clutter-actor.c: mended a couple of typos in documentation. - -2007-11-21 Matthew Allum - - * clutter/cogl/gles/cogl.c: (cogl_fog_set): - Minor fixes for fog on GLES. - -2007-11-21 Emmanuele Bassi - - * clutter/cogl/cogl.h: Add cogl_fog_set() abstracting the - glFog() functions and enabling the GL_FOG flag. - - * clutter/cogl/gl/cogl.c: Add GL implementation of cogl_fog_set(). - - * clutter/cogl/gles/cogl.c: Add GL/ES implementation of - cogl_fog_set(). - - * clutter.symbols: Add new symbols. - - * clutter/clutter-stage.h: Add API to enable depth cueing on - the stage using a linear GL fog, and to set the parameters - for it (#637). - - * clutter/clutter-stage.c (clutter_stage_paint): Enable the - GL fog if the ClutterStage:use-fog property is true. - - * tests/test-depth.c: Test the new stage API. - -2007-11-20 Øyvind Kolås - - * clutter/clutter-main.c: (event_click_count_generate): generalized - click_count generation code. - * tests/test-events.c: (input_cb): extended test to report click_count - for release and scroll events as well as press events. - -2007-11-20 Øyvind Kolås - - * clutter/clutter-main.c: (clutter_do_event): avoid computing source - of events if it is already set (for synthetic events.) - * clutter/clutter-event.c: Add more information to the documentation - of clutter_event_put. - -2007-11-20 Emmanuele Bassi - - * README: Add diff example command lines for submitting patches. - -2007-11-20 Emmanuele Bassi - - * clutter/clutter-actor.c:: - * clutter/clutter-behaviour-opacity.c: - * clutter/clutter-clone-texture.c: - * clutter/clutter-effect.c: - * clutter/clutter-label.c: Remove the usage of G_PARAM_CONSTRUCT - without an override for the ::construct virtual function; using - G_PARAM_CONSTRUCT to set the default value of a property is not - the recommended approach; default values are set inside the - instance init function. - -2007-11-20 Emmanuele Bassi - - * clutter/clutter-texture.c (clutter_texture_init): Set filter-quality - value to 1, to fix the regression caused when applying the patch for - buf #616. - -2007-11-19 Emmanuele Bassi - - * clutter/clutter-label.[ch]: Fix ClutterLabel size allocation when - no bounding box has been provided, and store the box set by the - user so that it can be reused when recomputing the layout. (#600) - - (clutter_label_class_init), - (clutter_label_init): Set the :wrap property default to FALSE. - - * clutter/clutter-units.h: Add ClutterUnit-to-PangoUnit conversion - macro. - - * tests/test-rotate.c: Fix string. - -2007-11-19 Emmanuele Bassi - - * clutter/clutter-behaviour-bspline.c: - * clutter/clutter-behaviour-depth.c: - * clutter/clutter-behaviour-ellipse.c: - * clutter/clutter-behaviour-opacity.c: - * clutter/clutter-behaviour-path.c: - * clutter/clutter-behaviour-rotate.c: - * clutter/clutter-behaviour-scale.c: Fix gtk-doc short description. - -2007-11-19 Emmanuele Bassi - - * clutter.symbols: Update - - * clutter/clutter-actor.h: Rename the angle argument for - set_rotationx() to avoid gtk-doc complaining - - * clutter/clutter-main.h: - * clutter/clutter-main.c: - (clutter_set_motion_events_enabled): Rename for consistency - - (clutter_get_motion_events_frequency), - (clutter_set_motion_events_frequency): Add accessors for the default - motion events deliver frequency. - - (clutter_do_event): Throttle down motion events delivery using the - motion events frequency setting, to avoid excessive redraws. (#608) - - (clutter_context_get_default): Enable per-actor motion events, at - least for now. - - * tests/test-events.c (red_button_cb): - * tests/test-grab.c (green_press_cb): Update. - -2007-11-19 Emmanuele Bassi - - * clutter/clutter-timeline.c (timeline_timeout_func): Do not emit the - ::new-frame signal twice for the last frame. (#531) - -2007-11-19 Øyvind Kolås - - * clutter/clutter-actor.[ch]: (clutter_actor_set_rotationx), - (clutter_actor_set_rotation): swapped axis and angle around, - the new argument order is: (axis, angle, x, y, z). Also removed - deprecated rotation functions from header. - - Updated use of clutter_actor_set_rotation? in the following files: - - * clutter/clutter-behaviour-rotate.c: - * clutter/clutter-effect.c: - * tests/test-actors.c: - * tests/test-project.c: - -2007-11-19 Emmanuele Bassi - - * clutter/clutter-label.[ch]: Constify the color argument - for the ClutterLabel ctor. (#604) - -2007-11-18 Matthew Allum - - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - * clutter/clutter-group.c: - * clutter/clutter-main.c: - * clutter/clutter-stage.c: - * tests/test-events.c: - Parent Actors no longer need to be set reactive for reactive - children to get events. Also makes groups now pickable. - (#597, #423) - - * clutter/clutter-texture.c: - Handle case when 1x1 tiled texture is created, - falling 'back' to being non tiled. (#596) - - * clutter/eglx/clutter-backend-egl.c: - Call EglTerminate on backend shutdown. - -2007-11-18 Emmanuele Bassi - - * clutter.pc.in: Bump up glib-2.0 dependency. - -2007-11-18 Emmanuele Bassi - - * clutter/clutter-model.c: Add gtk-doc section for - ClutterModelIter - - * clutter/clutter-script.h: Fix argument name. - - * clutter/x11/clutter-x11.h: - * clutter/x11/clutter-event-x11.c: - * clutter/x11/clutter-backend-x11.c: Document functions and - types. - -2007-11-18 Emmanuele Bassi - - * clutter.symbols: Update exported symbols. - - * clutter/clutter-actor.[ch]: Remove clutter_actor_rotate_* - and clutter_actor_get_rx* and provide a simpler rotation API: - clutter_actor_set_rotation() and clutter_actor_get_rotation(). - - * clutter/clutter-deprecated.h: Deprecate the old rotation API. - - * clutter/clutter-behaviour-bspline.c: - * clutter/clutter-behaviour-rotate.c: - * clutter/clutter-effect.c: Update internal usage of the - rotation API. - - * tests/test-project.c: Ditto as above. - -2007-11-17 Emmanuele Bassi - - Optimise Atoms usage in the X11 and X11-based backends. - - * clutter/x11/clutter-backend-x11.c: - (clutter_backend_x11_post_parse): Call XInternAtoms() here and - get all the atoms from X in one call. - - * clutter/x11/clutter-backend-x11.h: Store all the atoms inside - the ClutterBackendX11 structure. - - * clutter/x11/clutter-event-x11.c: - (xembed_send_message), (xembed_set_info), - (_clutter_backend_x11_events_init), - (set_user_time), (handle_wm_protocols_event), - (handle_xembed_event), (event_translate): Do not cache atoms - or call XInternAtom() directly, and use the atoms off the X11 - backend structure instead. - - * clutter/x11/clutter-stage-x11.c: - (send_wmspec_change_state), (clutter_stage_x11_set_wm_protocols), - (clutter_stage_x11_set_fullscreen), - (clutter_stage_x11_set_title): Ditto as above. - - * clutter/x11/clutter-stage-x11.h: Update the set_wm_protocols() - method to take the X11 stage implementation. - - * clutter/glx/clutter-stage-glx.c: - (clutter_stage_glx_realize): Update for the set_wm_protocols() - change. - - * tests/test-project.c: (main): Test clutter_stage_set_title(). - -2007-11-17 Emmanuele Bassi - - * configure.ac: Depend on GLib >= 2.14 because of ClutterModel - usage of GSequence. - -2007-11-16 Øyvind Kolås - - * clutter/clutter-main.c: (emit_event): renamed from deliver_event, - (emit_pointer_event): utility function to emit pointer event signals - (which takes pointer grab into account). - (emit_keyboard_event): utility function to emit keyboard event signals - (which takes keyboard grab into account). - (clutter_do_event): use the above utility functions, also reindented - the source. - -2007-11-16 Øyvind Kolås - - * tests/test-grab.c: (main): fix use of clutter_actor_set_reactive - -2007-11-15 Øyvind Kolås - - * clutter/clutter-main.[ch]: added clutter_grab_keyboard, - clutter_ungrab_keyboard and clutter_get_keyboard_grab, in - clutter_do_event deliver keyboard related events only to the - actor with the keyboard grab if a grab exists. - * clutter/clutter-private.h: added keyboard_grab_actor to context. - * tests/test-grab.c: added testing for testing the keyboard grab. - -2007-11-15 Emmanuele Bassi - - * clutter/clutter-texture.c: - (clutter_texture_request_coords), (clutter_texture_class_init), - (clutter_texture_init): Unset :sync-size if explicitly setting - the texture size. (#616) - -2007-11-15 Emmanuele Bassi - - * clutter/clutter-actor.[ch]: Massive API clean-ups. Initial - fixes for bugs #614 and #628. - - * clutter/clutter-main.c: - * clutter/clutter-stage.c: Update internal usage of the actor - API. - - * tests/test-events.c: Update test suite. - -2007-11-15 Øyvind Kolås - - * clutter/clutter-main.c: (generate_enter_leave_events), - (clutter_do_event): moved the generation of enter/leave events - to a utility function. - -2007-11-15 Neil J. Patel - - * clutter/clutter-model.c: - Added some more examples to the documentation, plus explained how the - iters work internally. - -2007-11-15 Øyvind Kolås - - * clutter/clutter-main.[ch]: added clutter_grab_pointer, - clutter_ungrab_pointer and clutter_get_pointer_grab, in - clutter_do_event deliver pointer related events only to the - actor with the pointer grab if a grab exists. - * clutter/clutter-private.h: added pointer_grab_actor to context. - * tests/Makefile.am: - * tests/test-grab.c: added test for testing the pointer grab. - -2007-11-15 Emmanuele Bassi - - * clutter/clutter-timeline.[ch]: Add ClutterTimeline:direction - property, defining the direction (forward or backward) of the - timeline. - - * tests/test-timeline.c: Test the direction property. - - * clutter.symbols: Update exported symbols - -2007-11-15 Emmanuele Bassi - - * clutter/clutter-effect.h: - * clutter/clutter-effect.c: - (clutter_effect_template_new_for_duration): Add a simple constructor - for implicitly creating a ClutterTimeline with a given duration. - -2007-11-15 Emmanuele Bassi - - * clutter.symbols: Update with the new public symbols - - * clutter/clutter-script.h: - * clutter/clutter-script-private.h: - * clutter/clutter-script.c: - (parse_signals), (json_object_end), - (signal_info_free), (object_info_free): Parse the "signals" - member for GObjects. - - (clutter_script_connect_signals), - (clutter_script_connect_signals_full): Add new API for autoconnecting - signal handlers using the UI definition files. - - * tests/test-script.c: - * tests/test-script.json: Test signal autoconnection. - -2007-11-15 Matthew Allum - - * clutter/Makefile.am: - * clutter/eglx/Makefile.am: - * clutter/eglx/clutter-backend-egl.c: - * clutter/eglx/clutter-backend-egl.h: - * clutter/eglx/clutter-eglx.h: - * clutter/eglx/clutter-event-egl.c: - * clutter/eglx/clutter-stage-egl.c: - * clutter/eglx/clutter-stage-egl.h: - * clutter/glx/Makefile.am: - * clutter/glx/clutter-backend-glx.c: - * clutter/glx/clutter-backend-glx.h: - * clutter/glx/clutter-event-glx.c: - * clutter/glx/clutter-glx.h: - * clutter/glx/clutter-stage-glx.c: - * clutter/glx/clutter-stage-glx.h: - * clutter/x11/Makefile.am: - * clutter/x11/clutter-backend-x11-private.h: - * clutter/x11/clutter-backend-x11.c: - * clutter/x11/clutter-backend-x11.h: - * clutter/x11/clutter-event-x11.c: - * clutter/x11/clutter-stage-x11.c: - * clutter/x11/clutter-stage-x11.h: - * clutter/x11/clutter-x11.h: - Create a new X11 backend class of which EGL and GLX 'real' backends - then subclass. Effectively shares all X11 code between both backends - avoids code duplication and brings many missing features to EGL X - backend. Requires some cleanup and testing. (#518) - - * clutter/cogl/gles/cogl.c: (cogl_color): - Add define to use color4ub only if configure finds it. - If not fall back to old code. - - * configure.ac: - Drop support for vincent checks. - Drop sdles backend. - Specifically check for color4ub call. - -2007-11-15 Neil J. Patel - - * clutter/Makefile.am: - * clutter/clutter-model.c: - * clutter/clutter-model.h: - * clutter/clutter.h: - * tests/Makefile.am: - * tests/test-model.c: - Merged ClutterModel, which closes #443. - -2007-11-14 Emmanuele Bassi - - * clutter/clutter-clone-texture.c (set_parent_texture): Hide the - clone texture only if it was visible, and show it again if we - are adding a visible texture. - - * tests/test-script.json: Test the CloneTexture actor. - -2007-11-14 Emmanuele Bassi - - * clutter/clutter-actor.[ch]: Rename clutter_actor_get_id() to - clutter_actor_get_gid(). - - (clutter_actor_set_parent): Use GUINT_TO_POINTER(). - - * clutter/clutter-deprecated.h: Add a replacement warning for - clutter_actor_get_id(). - - * clutter/clutter-texture.c (texture_upload_data): Use - clutter_actor_get_gid(), and don't leak the filename string. - -2007-11-14 Emmanuele Bassi - - * clutter/clutter-scriptable.[ch]: Rename ::set_name and ::get_name - to ::set_id and ::get_id, to avoid potential confusion with the - ClutterActor:name property. - - * clutter/clutter-script.h: - * clutter/clutter-script.c (clutter_script_construct_object): Use - clutter_scriptable_set_id(). - - (clutter_get_script_id): Add a public function to retrieve the ID - used in the UI definition files from an object. - - * clutter/clutter-actor.c: Do not set the name of the actor with - the ID set in the UI definition files. - - * tests/test-script.c: Test clutter_get_script_id(). - - * clutter.symbols: Update with the new symbols. - -2007-11-14 Emmanuele Bassi - - * clutter/cutter-deprecated.h: Don't let everyone know from where - we have stolen^Wtaken inspiration for the deprecation warnings. - -2007-11-13 Øyvind Kolås - - * clutter/clutter-behaviour-bspline.[ch]: - Replaced clutter_behaviour_bspline_append with - clutter_behaviour_bspline_append_knots. Fixes bug #582. - * clutter/clutter-deprecated.h: added deprecation macro reflecting the - API change. - -2007-11-13 Øyvind Kolås - - * clutter/Makefile.am: - * clutter/clutter.h: include clutter-deprecated.h - * clutter/clutter-deprecated.h: added file containing macros that - provides more meaningful errors when compiling clutter using code that - uses deprecated functions. - -2007-11-13 Øyvind Kolås - - Renamed all properties of behaviours (and related - functions/variables/parameters) - to match the pattern something-start, something-end. Fixes bug #577. - - * clutter/clutter-behaviour-depth.c: - * clutter/clutter-behaviour-depth.h: - * clutter/clutter-behaviour-ellipse.c: - * clutter/clutter-behaviour-ellipse.h: - * clutter/clutter-behaviour-path.c: - * clutter/clutter-behaviour-rotate.c: - * clutter/clutter-behaviour-rotate.h: - * clutter/clutter-behaviour-scale.c: - * clutter/clutter-behaviour-scale.h: - * clutter/clutter-effect.c: - * clutter/clutter-effect.h: - * clutter/clutter-script.c: - * tests/test-depth.c: - * tests/test-script.c: - -2007-11-06 Øyvind Kolås - - * clutter/clutter-event.h: made ClutterEventAny have a source field, - rearanged other structs to have source in the same position. - * clutter/clutter-event.c: (clutter_event_get_source): modified to use - the any event. - (clutter_event_free): removed unused variable. - * clutter/clutter-main.c: (deliver_event), (clutter_do_event): reduced - amount of code. As well as deliver button-release events to the stage. - -2007-11-08 Rob Bradford - - * clutter/glx/clutter-glx.h: - Include needed for the definition of XVisualInfo. - -2007-11-08 Rob Bradford - - * clutter/cogl/gles/cogl.c: (cogl_color): - Switch over to using glColor4ub in the GLES backend. It's available in - the header file but missing in the reference manual. - -2007-11-07 Emmanuele Bassi - - * clutter/clutter-actor.[ch]: Fix the declaration of the - class handlers for the ::captured-event, ::enter-event and - ::leave-event signals; the function signatures were missing - the return value the signals marshallers were expecting, and - their names weren't respecting the convention for event-related - signals. - -2007-11-06 Tomas Frydrych - - * clutter/clutter-fixed.h: - Added CLUTTER_SQRTI_ARG_MAX, CLUTTER_SQRTI_5_PERCENT, - CLUTTER_SQRTI_10_PERCENT expressing clutter_sqrti limits. - Stripped trailing whitespace. - - * clutter/clutter-fixed.c: - (clutter_sqrti): - Updated documentation, stripped trailing whitespace. - - * clutter/clutter-behaviour-path.c: - (node_distance): - Use clib sqrt if clutter_sqrti() precission would be worse than - 10%. - Stripped trailing whitespace. - -2007-11-06 Emmanuele Bassi - - * clutter/clutter-layout.h: Add commodity macros to test for - a specific layout flag in one line. - -2007-11-06 Emmanuele Bassi - - * clutter/clutter-box.c (clutter_box_dispose): Call unparent() - on the children, instead of destroy(), to avoid a double free - and a crash when destroying a ClutterBox. - -2007-11-06 Emmanuele Bassi - - * clutter/clutter-label.c: Break the references in ::dispose, - and free the resources in ::finalize. - -2007-11-05 Øyvind Kolås - - * clutter/clutter-container.[ch]: removed find_child_by_id method - from interface (and all implementations of it) since this - functionality is now implemented using a global hash. - * clutter/clutter-box.c: - * clutter/clutter-group.c: - -2007-11-01 Emmanuele Bassi - - * clutter/clutter-script.c: Do not keep ownership of the - pixbufs we load. - -2007-10-31 Øyvind Kolås - - * clutter/clutter-main.c: (_clutter_do_pick): disable dithering - when painting in pick mode. - -2007-10-31 Matthew Allum - - * clutter/clutter-score.c: - Various minor improvements to ClutterScore. - -2007-10-30 Emmanuele Bassi - - * clutter/clutter-layout.c: Fix documentation, with regards to - the containers handling of the children implementing the - ClutterLayout interface. - -2007-10-29 Emmanuele Bassi - - * configure.ac: - * clutter/cogl/gl/cogl-defines.h.in: The OS X backend has a funny - OpenGL header location, so it basically did break every application - including clutter/cogl.h because the GL header inclusion depended - on symbols defined into Clutter's config.h. Now, we define the - GL header into the configure template and use it to create the - cogl-defines.h file cogl.h includes. - -2007-10-29 Emmanuele Bassi - - * clutter/json/json-parser.c: Enable parsing of negative numbers; - GScanner splits negative numbers into two tokens, so we need to - special case them. - -2007-10-29 Emmanuele Bassi - - * clutter/clutter-script.c: Add the :filename and :filename-set - properties, to retrieve the path of the currently parsed file (if - :filename-set is TRUE) from the ClutterScriptable implementations. - -2007-10-28 Matthew Allum - - * clutter/clutter-effect.c: - Small doc fix (#584) - -2007-10-27 Emmanuele Bassi - - * clutter/json/json-parser.c: - (json_scanner_msg_handler): Set the GError to be returned by - the parsing functions into the GScanner error message handler. - - (json_parser_object): Return the symbol token in case we have - a parse error after the member name. - - (json_parser_load_from_data): Propagate the error set in the - message handler, if any. - - * clutter/json/json-node.c (json_node_free): Unref the objects - only if are set, to avoid a couple of needless criticals we - get on error. - - * tests/test-script.json: More properties. - -2007-10-27 Emmanuele Bassi - - * clutter/clutter-script.[ch]: Slight API change in the - clutter_script_get_objects() function: now it takes - object name/object return location pairs and returns the - number of objects found and returned. - - * tests/test-script.c: Exercise the clutter_script_get_objects() - function. - -2007-10-27 Emmanuele Bassi - - * clutter/clutter-rectangle.c (clutter_rectangle_paint): Use - CGL_ENABLE_BLEND flag instead of CGL_BLEND value. (#580, - Gwenole Beauchesne) - -2007-10-27 Emmanuele Bassi - - * clutter/clutter-color.c (clutter_color_to_string): Update the - documentation for the format of the returned string, and remove - the note: now clutter_color_parse() can parse the string this - function returns. - -2007-10-27 Emmanuele Bassi - - * clutter/pango/pangoclutter-render.c: Last usage of guint - replaced with COGLuint. (Tommi Komulainen) - -2007-10-26 Matthew Allum - - * clutter/clutter-texture.c: - * clutter/cogl/cogl.h: - * clutter/cogl/gl/cogl-defines.h: - * clutter/cogl/gles/cogl-defines.h: - * clutter/cogl/gl/cogl.c: - * clutter/cogl/gles/cogl.c: - Switch from use of guint to COGLuint. Avoids problems when - guint != GLuint on some platforms, i.e OSX. - (Tommi Komulainen, #525, #523) - - * clutter/Makefile.am: - * clutter/osx/Makefile.am: - * clutter/osx/clutter-backend-osx.c: - * clutter/osx/clutter-backend-osx.h: - * clutter/osx/clutter-event-osx.c: - * clutter/osx/clutter-osx.h: - * clutter/osx/clutter-stage-osx.c: - * clutter/osx/clutter-stage-osx.h: - * configure.ac: - Add initial Cocoa/OSX Backend (by Tommi Komulainen, see #526) - -2007-10-26 Emmanuele Bassi - - * clutter/clutter-entry.c: Add a :x-align property for aligning - the text in the entry, in case the actor is wider than the - text it shows. - -2007-10-26 Emmanuele Bassi - - * clutter/clutter-main.c: Add a --clutter-default-fps run-time - switch and CLUTTER_DEFAULT_FPS environment variable support for - setting the default frame-rate at run-time. - -2007-10-26 Emmanuele Bassi - - * clutter/clutter-script.h: - * clutter/clutter-script.c: Add a ::get_type_from_name() virtual - function for bindings to override. The current implementation - calls g_type_from_name() and our lazy class resolver. - - * clutter.symbols: Update. - - * doc/reference/clutter-sections.txt: Update. - -2007-10-25 Emmanuele Bassi - - * clutter/clutter-behaviour-path.c: Reverse the list of - parsed knots, to preserve the real ordering after prepending - them (thanks to Øyvind for spotting this). - - * clutter/clutter-behaviour-bspline.c: Ditto as above. - -2007-10-25 Emmanuele Bassi - - * clutter/clutter-script-parser.c: Unset the GValue when - getting a ClutterUnit from a JSON node. - -2007-10-25 Emmanuele Bassi - - * clutter/clutter-behaviour-bspline.c: Implement the - ClutterScriptableIface to parse the custom "knots" property. - -2007-10-25 Emmanuele Bassi - - * tests/test-script.c: - * tests/test-script.json: Rejig the test case and add a - path behaviour to test the knot parsing code. - -2007-10-25 Emmanuele Bassi - - * clutter/cogl/cogl.h: Do not include . - -2007-10-25 Emmanuele Bassi - - * clutter/clutter-behaviour-path.c: Implement the - ClutterScriptableIface to parse the custom "knots" property. - -2007-10-25 Emmanuele Bassi - - * clutter/clutter-texture.c (clutter_texture_set_property): Do - not try to set NULL pixbufs. - -2007-10-25 Emmanuele Bassi - - * clutter/clutter-actor.c: Implement part of the ClutterScriptable - interface, using the ClutterActor API to set and get the name - of an actor. - - (clutter_geometry_copy), (clutter_geometry_free): Use - the slice allocator to avoid fragmentation when setting - properties and emitting signals (that is: when packing - boxed types into GValues). - - (clutter_actor_box_copy), (clutter_actor_box_free), - (clutter_vertex_copy), (clutter_vertex_free): Ditto. - - * clutter/clutter-actor.h: - * clutter/clutter-actor.c: - (clutter_actor_push_transform_child), - (clutter_actor_pop_transfomr_child): Simple wrappers around - COGL API, which avoid including clutter/cogl.h when writing - container actors outside Clutter. - -2007-10-25 Emmanuele Bassi - - * clutter/Makefile.am: - * clutter/clutter.h: - * clutter/clutter-scriptable.[ch]: Add the ClutterScriptable - interface; by implementing this interface, a class can - override the UI definition parsing and transform complex data - types into GObject properties, or allow custom properties. - - * clutter/clutter-script.c: - * clutter/clutter-script-parser.c: - * clutter/clutter-script-private.h: Rearrange the code and - use the ClutterScriptable interface to parse and build the - custom properties. This cleans up the code and also it makes - it more reliable (the complex type parsing is now done using - the target type and not just the name of the property). - -2007-10-25 Emmanuele Bassi - - * clutter/clutter-json.h: Header for including the JSON - parsing and data types. - - * clutter/json/json-types.h: Add JSON_NODE_VALUE_TYPE() macro. - - * clutter/json/Makefile.am: Install the JSON headers into a - private location. This might change in the future, and might - also cause collisions if you're using JSON-GLib and Clutter - at the same time, so be warned. - -2007-10-22 Emmanuele Bassi - - * clutter/clutter-label.c (clutter_label_request_coords): If - we get a size requisition, and we have ellipsization active, - check if we are getting less space than what the layout needs - and recompute the width. - -2007-10-22 Emmanuele Bassi - - * clutter/clutter-color.c (clutter_color_to_string): Change - the print format to "%02x%02x%02x%02x" because we use guint8 - for each component, not guint16. - -2007-10-19 Emmanuele Bassi - - * clutter/clutter-entry.c (clutter_entry_paint): Fixed off by - one error. (#566, Gwenole Beauchesne) - -2007-10-18 Øyvind Kolås - - * clutter/clutter-timeline.c: (clutter_timeline_set_duration): - rearranged arithemetic to allow specifying duration with sub second - precision (also enables durations smaller than one second). - -2007-10-18 Emmanuele Bassi - - * clutter/clutter-script-private.h: - * clutter/clutter-script.h: - * clutter/clutter-script.c: Allow id-less objects: as long - as they have a "type" member, a unique id will be provided. - - (json_object_end): Add merge id to the object information - structure. - - (apply_behaviours), (add_children): Keep the unresolved - objects around. - - (construct_stage), (clutter_script_construct_object): If an - object has unresolved children or behaviours try resolving - them when we ask for it. - - (json_parse_end), (clutter_script_ensure_objects): Ensure - that the objects are fully constructed as best as we can when - finished parsing. - - (object_info_free), (remove_by_merge_id): - (clutter_script_unmerge_objects): Remove objects under the - same merge id returned by the loading functions. (Fixes - bug #558) - - * test/test-script.c: - * test/test-script.json: Test unresolved merging and unmerging - in ClutterScript. - -2007-10-18 Matthew Allum - - * clutter/clutter-score.c: - * clutter/clutter-score.h: - * tests/test-score.c: - Implement more ClutterScore functionality. - -2007-10-17 Emmanuele Bassi - - * clutter/clutter-actor.c: - (clutter_actor_set_property), (clutter_actor_get_property), - (clutter_actor_class_init): Add the :reactive property, to - control reactiveness using the UI definition files. - - (clutter_actor_reparent): Do not assume the parent is a - ClutterContainer, and call the container API only if needed. - - (clutter_actor_destroy): Remove from the parent if needed, - just like the documentation says. - -2007-10-16 Øyvind Kolås - - * clutter/pango/pangoclutter-render.c: (tc_get): Provide for blank - rows/columns of pixels between adjecant glyphs in the texture cache to - avoid bilinear interpolation spillage at edges of glyphs. - -2007-10-16 Øyvind Kolås - - * clutter/clutter-main.c: (clutter_do_event): allow motion events - only delivered to stage to be caught in the capture phase as well - as the bubbling phase. - -2007-10-16 Emmanuele Bassi - - * clutter/json/json-object.c: Automatically transform every - delimiter into an underscore. - - * clutter/clutter-script.c: Implement the "parent_texture" - property translation for ClutterCloneTextures, using the - passed id of the parent texture. - -2007-10-16 Emmanuele Bassi - - * clutter/clutter-timeline.[ch]: Added ClutterTimeline:duration, - a property for setting the duration of a timeline in milliseconds. - The property comes with accessors and a new constructor. The - frame rate used is the default value. - - * clutter/clutter-private.h: - * clutter/clutter-main.[ch]: Add clutter_get_default_frame_rate() - and clutter_set_default_frame_rate(); these two functions control - the default frame rate to be used when creating timelines. Currently - is set to 60 frames-per-second. - -2007-10-16 Tomas Frydrych - - * build/msvc_2k5: - Added MSVC project files. - -2007-10-16 Emmanuele bassi - - * clutter/clutter-color.c: Copy the alpha when shading. - -2007-10-16 Tomas Frydrych - - * clutter.symbols: - Added a bunch of missing symbols. - - * clutter/clutter-script.c: - * json/json-node.c: - Use g_slice_new0 instead of g_slice_new to avoid passing - garbage to functions. - - * tests/test-threads.c: - Replaced non-portable sleep() with g_usleep(). - -2007-10-15 Tomas Frydrych - - * clutter/cogl/gl/cogl-defines.h: - * clutter/cogl/gl/cogl.c: - Fixup GL include for windows. - -2007-10-15 Matthew Allum - - * clutter/clutter-actor.c: - More events documentation. - - * clutter/clutter-event.c: - * clutter/clutter-event.h: - Add synthetic flag and make put_event use it - (via modded patch from pippin) - - * clutter/clutter-main.c: (clutter_do_event): - dont use put event anymore when pushing enter/leave events. - -2007-10-15 Emmanuele Bassi - - * clutter/pango/Makefile.am: Compile with the debug flags, if - set. - -2007-10-12 Emmanuele Bassi - - * clutter.symbols: Remove non-public symbols. - -2007-10-12 Tomas Frydrych - - * clutter.symbols: - A list of public symbols, one per line; semi-autogenerated, so - might not be complete -- PLEASE when adding new public APIs, add - the function name to this file. - -2007-10-12 Emmanuele Bassi - - * clutter/clutter-actor.c: Add a :depth property, so we can - set the initial depth of an actor inside the UI definition - files. - -2007-10-12 Tomas Frydrych - - * tests/test-actors.c: - When using MSVC, define _USE_MATH_DEFINES before including - math.h, otherwise constants like M_PI will not be defined. - -2007-10-12 Emmanuele Bassi - - * clutter/clutter-script.c (construct_timline), - (parse_member_to_property): Transfer ownership of the - implicit timelines to the behaviour, so that they get - unreferenced when the behaviour is destroyed. - - (parse_member_to_property): Reverse the list of children - and behaviours. - -2007-10-12 Tomas Frydrych - - Portability fixes: - - * clutter/clutter-private.h: - Bracket #include "unistd.h" with #ifdef HAVE_UNISTD_H - - * clutter/clutter-fixed.c: - Use "", not <> for inclusion of local files. - - (clutter_sqrtx): forward declare local variables. - - * clutter/clutter-debug.h: - Added non-gcc (c99) implementation of variadic debug macros for - when not compiling with gcc. - - * clutter/pango/pangoclutter-render.c: - Fixed some strange uses of CLUTTER_NOTE() + stripped trailing - whitespace. - -2007-10-12 Tomas Frydrych - - * clutter/clutter-actor.c: - * clutter/clutter-backend.c: - * clutter/clutter-behaviour-depth.c: - * clutter/clutter-box.c: - * clutter/clutter-clone-texture.c: - * clutter/clutter-container.c: - * clutter/clutter-entry.c: - * clutter/clutter-feature.c: - * clutter/clutter-fixed.c: - * clutter/clutter-group.c: - * clutter/clutter-hbox.c: - * clutter/clutter-label.c: - * clutter/clutter-layout.c: - * clutter/clutter-media.c: - * clutter/clutter-rectangle.c: - * clutter/clutter-score.c: - * clutter/clutter-script.c: - * clutter/clutter-stage.c: - * clutter/clutter-texture.c: - * clutter/clutter-timeline.c: - * clutter/clutter-timeout-pool.c: - * clutter/clutter-vbox.c: - * clutter/cogl/gl/cogl.c: - * clutter/cogl/gles/cogl.c: - * clutter/eglnative/clutter-backend-egl.c: - * clutter/eglnative/clutter-event-egl.c: - * clutter/eglnative/clutter-stage-egl.c: - * clutter/eglx/clutter-backend-egl.c: - * clutter/eglx/clutter-event-egl.c: - * clutter/eglx/clutter-stage-egl.c: - * clutter/glx/clutter-event-glx.c: - * clutter/json/json-array.c: - * clutter/json/json-generator.c: - * clutter/json/json-node.c: - * clutter/json/json-object.c: - * clutter/json/json-parser.c: - * clutter/sdl/clutter-backend-sdl.c: - * clutter/sdl/clutter-event-sdl.c: - * clutter/sdl/clutter-stage-sdl.c: - - Fixedup config.h inclusion (must always be bracketed with #ifdef - HAVE_CONFIG_H). - -2007-10-11 Tomas Frydrych - - * clutter/clutter-entry.c: - Avoid using C++ reserverd words to name variables. - -2007-10-11 Øyvind Kolås - - Improve the quality of text when the scale it is shown at screen is - smaller than the original, seems to work well down to about a scale - of 50%. - - * clutter/pango/pangoclutter-fontmap.c: - (pango_clutter_font_map_default_substitute): turn off hinting. - * clutter/pango/pangoclutter-render.c: request linear filtering - instead of nearest neighbour when scaling down. - * tests/test-text.c: replaced test with a a test that renders a sample - grid with various pixel sizes and scales for visual inspection of - text rendering quality. - -2007-10-10 Emmanuele Bassi - - * clutter/glx/clutter-backend-glx.c: Fix documentation of the - filter function API. - - * clutter/clutter-score.c: - * clutter/clutter-effect.c: - * clutter/clutter-actor.c: Documentation fixes. - - * clutter/clutter-actor.h: Automatically typecast to ClutterActor - when setting/checking flags. - -2007-10-10 Emmanuele Bassi - - * clutter/clutter-actor.c: Beautify the ClutterActor documentation. - -2007-10-10 Emmanuele Bassi - - * clutter/clutter-actor.c: Remove the ::event-after signal: - three event layers to connect to seems a bit overkill. - - (clutter_actor_event): Return FALSE, not TRUE by default, - as g_signal_emit() will change the return value if no - handlers are connected - - * clutter/clutter-stage.c: Emit ::notify when we change - the fullscreen property. - - * clutter/clutter-script.c: Add more documentation for the - definition format and keywords. - - (translate_property): Collapse the G_TYPE_ENUM and G_TYPE_FLAGS - cases into one, to simplify the code. - - * tests/test-script.c: Test enumeration conversion by using - a value different from the default. - -2007-10-10 Matthew Allum - - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - * clutter/clutter-event.c: - * clutter/clutter-main.c: - * tests/test-events.c: - Add basic W3 DOM event 'capture' like functionality. - -2007-10-10 Emmanuele Bassi - - * clutter/clutter-script-private.h: - * clutter/clutter-script.c: Parse flags like we parse enums. - -2007-10-10 Emmanuele Bassi - - * clutter/json/json-types.h: - * clutter/json/json-array.c: - * clutter/json/json-object.c: Resync with the upstream copy - of JSON-GLib; add json_object_remove_member() and - json_array_remove_element() and fix the g_hash_table_get_keys() - replacement for GLib 2.12. - - * clutter/clutter-script.c: Clean up the complex properties - parsing code. - -2007-10-10 Emmanuele Bassi - - * clutter/clutter-script.c (json_object_end): Add "type_func" - to the list of attributes we skip. - -2007-10-10 Emmanuele Bassi - - * clutter/json/json-parser.c: Use the commodity JsonNode API - and accept bare values as root nodes. - - * clutter/clutter-script-private.h: - * clutter/clutter-script.c: Unreference the created objects - only if they are top-levels, like ClutterBehaviour and - ClutterTimelines. Actors have floating references, so we - just transfer ownership to their containers, and the stage - is owned by the backend. Add the "type_func" key to the - object definition, so the user can supply its own GType - function if the class name doesn't follow the GObject rules. - Document the ClutterScript public API. - -2007-10-10 Matthew Allum - - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - Add missing enter/leave event signals - - * clutter/clutter-main.c: (clutter_do_event): - Set time in crossing events. - Protect against do_pick() failing. - -2007-10-09 Emmanuele Bassi - - * clutter/clutter-script.c (resolve_alpha_func): Fix the - ClutterAlphaFunc resolution function. - -2007-10-09 Emmanuele Bassi - - * tests/Makefile.am: - * tests/test-script.c: - * tests/test-script.json: Move part of the UI definition into - its own file and exercise clutter_script_load_from_file(). - -2007-10-09 Emmanuele Bassi - - * clutter/clutter-script.c (clutter_script_get_object): Construct - the requested object if it hasn't been already. This allows - referencing objects within the same snippet. - - * tests/test-script.c: Declare a timeline and use it inside - multiple behaviours; apply multiple behaviours to various - actors, then retrieve the timeline to start it when the test - runs. - -2007-10-09 Emmanuele Bassi - - * clutter/clutter-script-private.h: - * clutter/clutter-script.c: Allow applying behaviours directly - inside the UI definition data. - - * tests/test-script.c: Test the "behaviours" member. - -2007-10-09 Rob Bradford - - * clutter/eglnative/clutter-backend-egl.c: - (clutter_backend_egl_dispose): - Call eglTerminate() on the display when the backend is disposed of. - - * clutter/eglnative/clutter-stage-egl.c: - (clutter_stage_egl_realize): - Don't use the createNativeWindow() call, it's not generic EGL. - -2007-10-09 Emmanuele Bassi - - * clutter/clutter-script-private.h: - * clutter/clutter-script.h: - * clutter/clutter-script.c: Add licensing information to - the newly added files. - - * clutter/clutter-script.c: Support creating behaviours with - ClutterScript. ClutterAlpha objects are implicit, but - timelines can be both explicit objects using their id or - implicit objects. Make the property resolution and translation - more robust. Support the pixbuf property. - - * tests/test-script.c: Test the newly added features. - - * docs/reference/clutter-docs.sgml: - * docs/reference/clutter-sections.txt: Add ClutterScript. - -2007-10-09 Emmanuele Bassi - - * clutter/clutter-fixed.h: Add deprecation guards around - CLUTTER_FIXED_INT(). - -2007-10-08 Emmanuele Bassi - - * clutter/clutter-script.c: Parse ClutterMargin and ClutterPadding - properties from arrays or integers (assume pixels). - -2007-10-08 Emmanuele Bassi - - * clutter/clutter-script-private.h: - * clutter/clutter-script.c: Allow defining childrens for every - container actor inside the UI definition files. - -2007-10-08 Matthew Allum - - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - * clutter/clutter-private.h: - * clutter/clutter-main.c: - Add a hash to global clutter context mapping all parented actor - id's to actors. - Add clutter_get_actor_by_id() call. - Convert picking machinery to use above. - (performance/simpler composite actor creation) - - * clutter/clutter-stage.c: (clutter_stage_fullscreen), - (clutter_stage_unfullscreen), (clutter_stage_event): - Only set the fullscreen property on stage state fullscreen event(#545) - Experimental as could be painful to implement on non X backends. - -2007-10-08 Emmanuele Bassi - - * clutter/clutter-script.c (json_parse_end): - * clutter/json/json-object.c (json_object_get_members): Replace - the GLib 2.14 API with the equivalent code for GLib < 2.14. - - * configure.ac: Revert the dependency bump. - -2007-10-08 Emmanuele Bassi - - Initial implementation of the UI definition files. (#424) - - * clutter/json/Makefile.am: - * clutter/json/*.[ch]: In-tree copy of JSON-GLib, a GLib-based - JSON parser/generator library. We use it in-tree because we might - need to change the API. Ideally, we'd depend on it. - - * clutter/clutter.h: - * clutter/clutter-script-private.h: - * clutter/clutter-script.[ch]: ClutterScript, the scenegraph - generator class. It parses JSON streams in form of buffers and - files and builds the scene. - - * clutter/clutter-debug.h: - * clutter/clutter-main.c: Add a "script" debug flag - - * clutter/Makefile.am: Build glue. - - * tests/Makefile.am: - * tests/test-script.c: Add a test case for the ClutterScript. - - * configure.ac: Depend on GLib 2.14, so we can use the - g_hash_table_get_key() and g_hash_table_get_values() functions - for the time being; we can probably reimplement those, but we - are going to need 2.14 anyway if we are going to implement a - list model using GSequence. - -2007-10-08 Emmanuele Bassi - - * tests/test-behave.c: Use the right return type for the - event callbacks. - -2007-10-03 Matthew Allum - - * clutter/clutter-actor.c: - * clutter/clutter-event.c: - * clutter/clutter-event.h: - * clutter/clutter-main.c: - * clutter/clutter-private.h: - * clutter/eglnative/clutter-event-egl.c: - * clutter/eglx/clutter-event-egl.c: - * clutter/glx/clutter-event-glx.c: - * clutter/sdl/clutter-event-sdl.c: - Remove seperate double/triple click events and replace with - a click_count member. - Move calculating click counts from backend to do_event() - Initial implementation of ENTER/LEAVE events. - - * tests/test-events.c: - Add code to test above. - - * tests/test-behave.c: - Sync with newer API. - - * clutter/clutter-score.c: - Silence a warning. - -2007-10-01 Emmanuele Bassi - - * clutter/clutter-fixed.h: Add CLUTTER_FIXED_TO_INT() and - deprecate CLUTTER_FIXED_INT(), for symmetry with - CLUTTER_FIXED_FROM_INT(). - - * clutter/clutter-alpha.c: - * clutter/clutter-behaviour-depth.c: - * clutter/clutter-behaviour-ellipse.c: - * clutter/clutter-behaviour-path.c: - * clutter/clutter-fixed.h: Use CLUTTER_FIXED_TO_INT(). - -2007-10-01 Emmanuele Bassi - - * clutter/clutter-actor.c (clutter_actor_get_size): Implement - get_size() as a wrapper around clutter_actor_query_coords() - instead of calling g_object_get() twice. - - (clutter_actor_init): Initialise the box in one call. - -2007-10-01 Emmanuele Bassi - - * clutter/clutter-actor.[ch]: Remove the ::event-after signal - class handler, as it's not meant to be overridden by sub-classes. - - (clutter_actor_class_init): - Make every event-related signal return a boolean: return TRUE - in a signal handler to block the emission. The value is accumulated - automatically by the signal API. - - (clutter_actor_event): If ::event returns TRUE, skip to emitting - ::event-after. Return the value accumulated by the signal emission - chain. - - * clutter/clutter-private.h: Rename _clutter_boolean_accumlator(). - - * clutter/clutter-main.c (clutter_do_event): If clutter_actor_event() - returns TRUE then stop the event emission chain from child to parent. - - * clutter/clutter-stage.c (clutter_stage_event): Behave like - clutter_actor_event(). - - (clutter_stage_get_key_focus), - (clutter_stage_set_key_focus): Avoid a nasty circular reference - issue: if the actor passed to set_key_focus is NULL then the stage - has the key focus. - - * tests/test-events.c: Update the events test with the API - changes. - -2007-10-01 Tomas Frydrych - - * clutter/clutter-actor.c: - (clutter_actor_set_scale_with_gravityx): - Use CLUTTER_QMUL for better precission (#532, patch by Gwenole - Beauchesne). - - * clutter/clutter-color.c: - (clutter_color_to_hlsx): - Added missing CLUTTER_INT_TO_FIXED conversion (#544, patch by Neil - Roberts). - -2007-10-01 Neil J. Patel - - Patch by: Tommi Komulainen - - * clutter/clutter-entry.c: (clutter_entry_delete_text): - Fix characters vs. bytes inconsistency (#520). - -2007-09-30 Matthew Allum - - * clutter/clutter-event.h: - Removed unused POINTER_ENTER and POINTER_LEAVE states. (#546) - * clutter/clutter-stage.c: (clutter_stage_fullscreen), - (clutter_stage_unfullscreen): - Only Change fullscreen prop if the backend implements fullscreen - methods. (#545) - -2007-09-28 Øyvind Kolås - - * clutter/clutter-container.[ch]: added - clutter_container_find_child_by_name. - -2007-09-28 Øyvind Kolås - - * clutter/glx/clutter-stage-glx.c: (clutter_stage_glx_realize): - removed unused variable perspective. - * tests/test-events.c: (main): added CLUTTER_STAGE() cast. - * tests/test-threads.c: include unistd.h for sleep(). - -2007-09-28 Øyvind Kolås - - * clutter/clutter-label.c: (clutter_label_ensure_layout): avoid - calling pango_layout_set_text|markup before we've got any text. - -2007-09-27 Matthew Allum - - * tests/test-scale.c: - Fix out of about array addressing (#522, Tommi Komulainen) - -2007-09-27 Matthew Allum - - * clutter/clutter-clone-texture.c: - * clutter/clutter-rectangle.c: - Include "config.h" in all c files (#524, Tommi Komulainen) - -2007-09-27 Matthew Allum - - Merge from stable. - - * clutter/clutter-behaviour-path.c: (path_alpha_to_position) - Fix uninitialized variable (#480, Gwenole Beauchesne) - -2007-09-27 Matthew Allum - - * clutter/clutter-event.c: - * clutter/clutter-event.h: - * clutter/clutter-main.c: - Further event tweaks; - - Ref the event actor source - - Protect against off stage events (button releases) (#511) - - Move more into ClutterEventAny - - Add a click count to button event (as yet unused) - - Minor cleanups - - * clutter/clutter-actor.c: - Make scale x/y a property. - - * clutter/clutter-private.h: - Remove _clutter_actor_apply_modelview* - - * clutter/eglx/clutter-backend-egl.c: - Warning cleanup - - * clutter/eglx/clutter-stage-egl.c: - * clutter/glx/clutter-stage-glx.c: - * clutter/sdl/clutter-stage-sdl.c: - Avoid setting viewport directly, but set sync flag. - - * clutter/pango/pangoclutter-render.c: (draw_glyph): - Minor cleanups. - - * clutter/Makefile.am: - * tests/Makefile.am: - * tests/test-score.c - * clutter/clutter.h: - * clutter/clutter-score.h: - * clutter/clutter-score.c: - Add very initial (broken) ClutterScore implementation. - -2007-09-25 Ross Burton - - Merge from stable. - - * clutter/clutter-group.c: - Optimise sort_z_order. - -2007-09-17 Emmanuele Bassi - - Merge from stable - - * clutter/eglnative/clutter-event-egl.c: - Flag every device click after the first as motion events - instead of button presses. (#505, Shreyas Srinivasan) - -2007-09-10 Matthew Allum - - Port from stable branch. - - * clutter/eglnative/clutter-event-egl.c: (clutter_event_dispatch): - Only declare tsevent if we have tslib (#498, Robert Bragg) - -2007-09-06 Emmanuele Bassi - - * clutter/clutter-stage.c: Remove stray include - in ClutterStage: the code requesting it was moved in the backends. - -2007-08-31 Emmanuele Bassi - - * clutter/clutter-rectangle.c: Fix the border drawing: do not - overdraw the rectangle on the border and fix the check for - different border colour. (#488, Neil Roberts) - -2007-08-29 Matthew Allum - - * clutter/clutter-effect.c: (clutter_effect_template_set_property): - Add missing break statement. Whoops. - -2007-08-29 Matthew Allum - - * clutter/clutter-main.c: (_clutter_do_pick): - Call glFinish before reading pixels - * clutter/eglx/clutter-stage-egl.c: (clutter_stage_egl_realize): - Add missing read surface in making context current. - Above fixes via Kate Alhola. - - * clutter/glx/clutter-glx.h: - Add missing filter funcs so there actually exported - -2007-08-24 Matthew Allum - - * clutter/clutter-actor.c: - * clutter/clutter-event.h: - * clutter/clutter-main.c: - * clutter/clutter-stage.c: - * clutter/clutter-stage.h: - * clutter/glx/clutter-backend-glx.c: - * clutter/glx/clutter-backend-glx.h: - * clutter/glx/clutter-event-glx.c: - * clutter/glx/clutter-stage-glx.c: - * clutter/glx/clutter-stage-glx.h: - Add initial support for stage state events. - Fix fullscreening for an already mapped stage. - - * tests/test-events.c: - Print out info from the above. Blue button now toggles - fullscreen. - - * clutter/clutter-effect.c: - * clutter/clutter-effect.h: - Add a setting for templates to ref or clone underlying - timelines. (As to improve sync issues like those in foofone) - - * tests/test-timeline.c: - Also add completed signals. - - * clutter/cogl/gles/cogl.c: (cogl_texture_image_2d): - * configure.ac: - Forward port from stable branch. RGB Image fixes gles - and check for lower case libgles_cm. - -2007-08-24 Tomas Frydrych - - * clutter/clutter-actor.c: - (_clutter_actor_apply_modelview_transform): - - Fixed rotation around x axis (bug 486). - -2007-08-23 Emmanuele Bassi - - * clutter/clutter-private.h: - * clutter/clutter-event.c: Revert the event queue ordering - commit. - - * clutter/eglx/clutter-event-egl.c: - * clutter/glx/clutter-event-glx.c: - * clutter/sdl/clutter-event-sdl.c: Update backends. - -2007-08-22 Tomas Frydrych - - * clutter/clutter-behaviour-rotate.c: - * clutter/clutter-behaviour-ellipse.c: - - Fixed CCW rotation in rotate behaviour (bug 483); fixed overall - path length calculation for angles > 360 in rotate and ellipse. - -2007-08-22 Emmanuele Bassi - - * clutter/clutter-main.c (clutter_threads_dispatch_free): Remove - the main threads locking calls: the main loop might remove the - source while dispatching it, so whether or not we are already - holding the lock is unpredictable for the library. Leave a comment - with the relevant bug number in GNOME's Bugzilla and wait for a - fix in GLib. - -2007-08-21 Emmanuele Bassi - - * clutter/clutter-event.c: Correctly initialise the state - variables used to detect multiple clicks. - - (clutter_event_get_coords): Return the coordinates for - CLUTTER_3BUTTON_PRESS events. - - (clutter_events_pending): Check from the tail of the queue backward, - like we do in clutter_event_get() and clutter_event_peek(). - -2007-08-21 Emmanuele Bassi - - Preserve the ordering of the events in the queue when sythesising - new events in the event translation sequence. (#481) - - * clutter/clutter-event.c: - * clutter/clutter-private.h: Allow flagging new events on the - events queue without breaking ClutterEvent using a masked type. - - (clutter_event_get), (clutter_event_put), - (clutter_event_pending): Ignore events with the CLUTTER_EVENT_PENDING - flag set when walking the events queue. - - * clutter/eglx/clutter-event-egl.c: - * clutter/glx/clutter-event-glx.c: - * clutter/sdl/clutter-event-sdl.c: Push the new events straight - on the queue, with the CLUTTER_EVENT_PENDING flag set; remove the - flag if the event translation was succesful, or remove the event - altogether. - -2007-08-21 Emmanuele Bassi - - * clutter/clutter-stage.c: Add missing documentation for the - ClutterStage properties. - -2007-08-21 Tomas Frydrych - - * clutter/clutter-fixed.c: - (clutter_sqrti): - - Fixes for 64-bit platforms; use of SSE builtin when available - (bugs 478, 479, patches by Gwenole Beauchesne). - -2007-08-20 Emmanuele Bassi - - * clutter/Makefile.am: - * clutter/clutter-enum-types.h.in: - * clutter/clutter-enum-types.c.in: Use template files for - glib-mkenums; this makes the Makefile template a bit more - clean and the enum types generation more customisable (e.g. - when GLib 2.14 has been released, we can use g_once_init_enter() - and g_once_init_leave() to have thread-safe GType functions - for the enum types as well). - -2007-08-20 Emmanuele Bassi - - * clutter/clutter-version.h.in: Fix CLUTTER_CHECK_VERSION() - macro to accept micro versions. (#477, Neil Roberts) - -2007-08-19 Emmanuele Bassi - - Various timeline related changes. - - * clutter/clutter-timeout-pool.c: Use g_list_insert_sorted() to - fix a timeout pool reversal happening with our homegrown - sorted insertion function. (see #470) - - * tests/Makefile.am: - * tests/test-timeline.c: Add a ClutterTimeline test suite, for - finding regressions in the behaviour of the timelines. (#470, - Rob Bradford) - - * clutter/clutter-main.c (clutter_do_event): Use an EVENT note, - not a SCHEDULER one; SCHEDULER is for timelines and idle sources - only. - - * clutter/clutter-version.h.in: Protect the bare numbers of - the version components. - - * clutter/clutter-effect.c: Do not unref the ClutterAlpha, as - the ownership is already of the behaviour used by the effect - closure. - - * clutter/clutter-timeline.c: Emit the ::new-frame signal only - if the timeline is still active - - Always advance at least of one frame. (#471, Rob Bradford) - - Do not rewind the timeline if the user paused it in the ::new-frame - signal handler: either the user has already done it with - clutter_timeline_stop() or it's not what he's expecting if he - called clutter_timeline_pause(). (#372, Johan Bilien) - - If we skipped the last frame before emitting the ::complete - signal, emit ::new-frame with the last frame. - - Do not call clutter_timeline_stop() at the end of a non-looping - timeline, as it emits the ::pause signal as well. Also, rewind the - timeline *after* emitting ::complete, so that calling - clutter_timeline_get_current_frame() in a signal handler still - works. - -2007-08-19 Matthew Allum - - * clutter/eglx/clutter-event-egl.c: (clutter_event_dispatch): - Fix clutter_thread typo (Kate Alhola) - -2007-08-18 Emmanuele Bassi - - * clutter/clutter-effect.c: - * clutter/clutter-main.c: Update the Since: tag for the - backported API. - - * clutter/clutter-behaviour-rotate.c: Fix a typo in the get_center() - method. (#468, Neil Roberts) - - Freeze and thaw the notification queue when changing multiple - properties in the same method. Fix some coding style issues. - -2007-08-15 Emmanuele Bassi - - * clutter/clutter-actor.c: Add checks for the "reactive" flag - accessors. - -2007-08-15 Emmanuele Bassi - - * clutter/clutter-effect.[ch]: Add clutter_effect_depth(), a - simple wrapper around ClutterBehaviourDepth. (#464, Ali Sabil) - -2007-08-15 Emmanuele Bassi - - * clutter/clutter-alpha.c (clutter_smoothstep_inc): Use the - correct type for parameters, to avoid overflow (Ali Sabil). - - * clutter/clutter-behaviour-opacity.c: Use the right format - when printing the unsigned alpha value and opacity to the - debug output. - -2007-08-14 Emmanuele Bassi - - * clutter/clutter-container.[ch]: - * clutter/clutter-actor.c: - * clutter/clutter-group.c: Rename clutter_container_raise() to - clutter_container_raise_child(), and clutter_container_lower() - to clutter_container_lower_child() to avoid clashing with - ClutterActor raise() and lower() respectively. - -2007-08-13 Matthew Allum - - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - * clutter/clutter-event.c: - * clutter/clutter-event.h: - * clutter/clutter-main.c: - * clutter/clutter-main.h: - * clutter/clutter-private.h: - * clutter/clutter-stage.c: - * clutter/clutter-stage.h: - * clutter/clutter-types.h: - Initial implementation of actors emmitting event signals (423); - - Actors set_reactive() to receive mouse events. - (call clutter_enable_motion_events() for per action motion events) - - clutter_stage_set_key_focus () to direct key events. - - Events bubble up to parents (ending at stage) - (original source identified by clutter_event_get_source()) - TODO: - - enter/leave notifys for actors. - - stage specific events - fullscreen - - grabs - - * tests/test-events.c: - Extend a little to use new API - - * clutter/cogl/gl/cogl.c: - * clutter/glx/clutter-backend-glx.c: - Move get_proc_address into cogl and out of backend. - (shaders will need it) - - * clutter/clutter-group.c: (clutter_group_real_lower): - Fix a minor compile warning. - - * TODO: - Sync up. - -2007-08-13 Emmanuele Bassi - - * clutter/clutter-container.[ch]: Add find_child_by_id(), - raise(), lower() and sort_depth_order() virtual functions to - ClutterContainer. - - * clutter/clutter-group.[ch]: Deprecate the redundant calls - from ClutterGroup, and make ClutterGroup implement them as part - of the ClutterContainer interface implementation. - - * clutter/clutter-box.c: Implement the newly added ClutterContainer - methods; now clutter_stage_get_actor_at_pos() works with boxes - as well as groups. - - * clutter/clutter-stage.c: - * clutter/clutter-actor.c: Replace calls to ClutterGroup functions - with ClutterContainer ones. - -2007-08-12 Emmanuele Bassi - - * clutter/clutter-timeout-pool.c: Fix removing and adding timeouts - to the timeout pool during a dispatch of a timeout source already - inside the pool. (#456, based on a patch by Neil Roberts) - - (clutter_timeout_dispatch), (clutter_timeout_pool_dispatch): Hold - the main Clutter lock in the pool dispatch function, instead of - the per-timeout dispatch; this guarantees that the ref+unref of - the single timeouts are done under the main lock. - -2007-08-12 Matthew Allum - - * clutter/clutter-texture.c: (texture_upload_data): - Align texture data correctly for edge tiles. - (#422 - Neil Roberts) - -2007-08-11 Matthew Allum - - * clutter/clutter-texture.c: - Fix typo in clutter_texture_get_pixbuf (#458, Neil Roberts). - Use take_object when getting pixbuf prop to avoid ref leak. (Neil - Roberts) - -2007-08-09 Emmanuele Bassi - - * clutter/clutter-box.c: Rename a variable to fix a compiler - warning. - -2007-08-08 Emmanuele Bassi - - * clutter/clutter-behaviour-ellipse: - (clutter_behaviour_ellipse_get_tiltx): Remove useless - "Return" in the API documentation. - -2007-08-08 Emmanuele Bassi - - * clutter/clutter-timeout-pool.c: Fix sorting of the pool - when inserting and removing timeout sources. (#449, Neil - Roberts) - -2007-08-08 Emmanuele Bassi - - * clutter/clutter-main.c (clutter_get_timestamp): Remove - the microseconds remainder, which is mostly useless. (#447) - -2007-08-08 Emmanuele Bassi - - * clutter/clutter-main.c (clutter_get_timestamp): Return the - correct number of microseconds (#447, Neil Roberts) - -2007-08-08 Emmanuele Bassi - - Merge the clutter.git/threading branch. - - * clutter/clutter-main.c: - * clutter/clutter-main.h: - * clutter/clutter-private.h: Add threading locking and unlocking - functions, to mark a critical section and access the Clutter API - from differen threads. Add an initialisation function and a function - to override the default lock aquisition and release functions, for - bindings and application-specific locking handling. Add MT-safe - versions of g_idle_add() and g_timeout_add() which will call the - functions under the main Clutter lock and without races. The - Clutter thread-safe implementation is basically the same used by - GDK, so the same caveats apply. - - * clutter/clutter-actor.c: - * clutter/clutter-timeline.c: - * clutter/clutter-timeout-pool.c: Use the new threading API when - invoking idle and timeouts. - - * clutter/eglnative/clutter-event-egl.c: - * clutter/eglx/clutter-event-egl.c: - * clutter/glx/clutter-event-glx.c: - * clutter/sdl/clutter-event-sdl.c: Acquire and release the main - Clutter lock when preparing, checking and dispatching the events - on the queue in every backend. - - * tests/Makefile.am: - * tests/test-threads.c: Add a test case, showing how to use the - threading API and write thread-safe Clutter applications. - -2007-08-08 Emmanuele Bassi - - * configure.ac: Bump up to 0.5.0 and start the new development - branch. - -2007-08-07 Emmanuele Bassi - - * configure.ac: Bump up to 0.4.0. - -2007-08-07 Emmanuele Bassi - - * clutter/clutter-entry.c: - * clutter/clutter-fixed.c: - * clutter/pango/pangoclutter.h: Small fixes for passing the - distcheck phase with extra-strict compiler flags. - -2007-08-07 Emmanuele Bassi - - * clutter/clutter-actor.h: - * clutter/clutter-alpha.h: - * clutter/clutter-behaviour-ellipse.[ch]: - * clutter/clutter-behaviour-path.h: - * clutter/clutter-behaviour-rotate.c: - * clutter/clutter-behaviour.h: - * clutter/clutter-box.h: - * clutter/clutter-color.h: - * clutter/clutter-container.h: - * clutter/clutter-effect.h: - * clutter/clutter-entry.h: - * clutter/clutter-fixed.h: - * clutter/clutter-layout.h: - * clutter/clutter-main.h: - * clutter/clutter-stage.h: - * clutter/clutter-texture.h: - * clutter/clutter-units.h: - * clutter/clutter-version.h.in: - * clutter/glx/clutter-glx.h: Documentation additions and - various fixes. - -2007-08-07 Matthew Allum - - * clutter/clutter-behaviour-ellipse.c: - Add a documentation note regarding ellipse setting - the applied actors position. - -2007-08-07 Matthew Allum - - * NEWS: - * README: - More updates ready for 0.4.0 - -2007-08-07 Matthew Allum - - * clutter/clutter-fixed.c: - * clutter/clutter-fixed.h: - Add documentation. - - * clutter/cogl/gl/cogl.c: (cogl_perspective): - Remove CFX_* shortened macros - -2007-08-06 Emmanuele Bassi - - * clutter/clutter-main.[ch]: Remove clutter_threads_enter() - and clutter_threads_leave(); both are no-ops and they just - confuse things. The thread-awareness in Clutter is planned - for 0.4.1/0.5.0. - - * README: - * NEWS: Update. - -2007-08-06 Emmanuele Bassi - - * clutter/clutter-box.[ch]: Implement margin, color and default - padding for ClutterBox. Provide API to pack a child by specifying - every packing detail or just pack with the defaults. ClutterBox - works like the HTML boxing model, API-wise: a box with margins - and padding around each child. Needs work, still. - - * clutter/clutter-hbox.c: - * clutter/clutter-vbox.c: Update with the new API and new attributes. - - * clutter/clutter-types.h: Add ClutterMargin and ClutterPadding. - - * test/test-boxes.c: Exercise the new API. - -2007-08-06 Matthew Allum - - * clutter/clutter-texture.c: - Correct set pixbuf property as GDK_TYPE_PIXBUF - (fix via Neil Roberts) - -2007-08-06 Matthew Allum - - * clutter/clutter-behaviour-depth.c: - Modify to work like all other behvaiours in not forcing - increasing order in behaviour 'limits'. (#436) - Rename limit min/max props to start/end. - - * tests/test-depth.c: - Simplify test-case to work with above change and - without multiple ramps - - * clutter/clutter-behaviour-rotate.c: - Handle CW rotation when end > start and similar for CCW just - like ellipse behaviour. - -2007-08-05 Matthew Allum - - * README: - * clutter/clutter-actor.c: - Document show/hide_all behaviour correctly. - -2007-08-05 Emmanuele Bassi - - * clutter/clutter-behaviour-depth.c: Fix typo in the description. - -2007-08-04 Emmanuele Bassi - - * clutter/clutter-behaviour-depth.c: Clarify the depth behaviour - even more in the description used by the API reference. - -2007-08-04 Emmanuele Bassi - - * clutter/clutter-behaviour-depth.[ch]: Clarify that what drives - the movement along the Z axis is the ClutterAlpha object (we - don't have the luxury of a rollover like the opacity does); - so, if you want to go from 0 to -100 you have to use a - decreasing function, just as well if you want to go from 100 - to 0. Using a min-depth of 100 and a max-depth of 0 and an - increasing function is undefined behaviour. - - * tests/Makefile.am: - * tests/test-depth.c: Add a test case for the depth behaviour. - -2007-08-04 Emmanuele Bassi - - * clutter/clutter-actor.c (clutter_actor_set_opacity): Queue - a redraw when setting the opacity of an actor. - -2007-08-03 Emmanuele Bassi - - * clutter/clutter-behaviour-ellipse.c: - (clutter_behaviour_ellipse_get_angle_tilt): Avoid recursion - by fixing a typo. - - (clutter_behaviour_ellipse_get_angle_begin), - (clutter_behaviour_ellipse_get_angle_end): Correct the angles - here too. - -2007-08-03 Emmanuele Bassi - - * clutter/clutter-behaviour-ellipse.c: - (clutter_behaviour_ellipse_get_property): Do not forget to - correct the angles when returning them. - -2007-08-03 Tomas Frydrych - - * clutter/clutter-behaviour-ellipse.c: - * clutter/clutter-behaviour-ellipse.h: - (clutter_behaviour_ellipse_new): - (clutter_behaviour_ellipse_newx): - - Added direction parameter; made behaviour to respect direction - parameter; unclumped angle_begin and angle_end values. - -2007-08-02 Matthew Allum - - * NEWS: - * README: - Initial updating ready for release. - -2007-08-02 Emmanuele Bassi - - * clutter/eglnative/clutter-backend-egl.c: - * clutter/eglx/clutter-backend-egl.c: - * clutter/sdl/clutter-backend-sdl.c: Set the default resolution - as 96.0 dpi for every backend (we already were under this - assumption anyway, and this makes it easier to change this - setting per-backend). - - * clutter/pango/pangoclutter-fontmap.c: - * clutter/pango/pangoclutter.h: Allow setting the resolution - for the PangoClutterFontMap object and provide the implementation - for the PangoFcFontMap::get_resolution() virtual function. This - allows to set the resolution of the PangoContext when retrieving - it. - - * clutter/clutter-label.c (clutter_label_init): Set the - resolution of the font map with the one the backend gives us. - - * clutter/clutter-entry.c (clutter_entry_init): Ditto. - -2007-08-02 Emmanuele Bassi - - * clutter/clutter-color.c (clutter_color_subtract): Invert the - operands and match what the function says it does. (#435) - -2007-08-01 Matthew Allum - - * clutter/clutter-color.c: (clutter_color_from_pixel): - Fix typo in alpha channel extraction (#434) - -2007-08-01 Emmanuele Bassi - - * clutter/clutter-actor.[ch]: Add floating-point variant of the - clutter_actor_get_r[xyz]angx() functions. - -2007-07-31 Emmanuele Bassi - - * clutter/clutter-stage.[ch]: Fix clutter_stage_set_user_resizable() - name, and add a getter for the property. - - * clutter/glx/clutter-stage-glx.c: Use the accessor, not - g_object_get() to retrieve the value of the resizable property. - -2007-07-31 Emmanuele Bassi - - * clutter/clutter-backend.[ch]: Add clutter_backend_set_resolution() - and clutter_backend_get_resolution(); backends should use the former - to set the resolution of the display when initialising, while actors - should use the latter when sizing themselves depending on the - resolution or the font size. - - * clutter/glx/clutter-backend-glx.c: Set the resolution as 96 dpi - as a default and query the X server when opening the display. - - * clutter/clutter-entry.c: Drop the hardcoded dpi value and use - clutter_backend_get_resolution() to compute the default size. - -2007-07-31 Emmanuele Bassi - - * clutter/clutter-entry.c (clutter_entry_init): Set the default - size of the entry based on the size of the default font. (#414). - -2007-07-31 Emmanuele Bassi - - * clutter/sdl/clutter-backend-sdl.c: Fix a typo in - clutter_backend_sdl_get_features() (#426, Pan Bohui) - -2007-07-30 Matthew Allum - - * AUTHORS: - * HACKING: - * README: - Various updates and improvements. - - * configure.ac: - Remove --disable-fast-fp-conversions - -2007-07-30 Tomas Frydrych - - * clutter/clutter-behaviour-ellipse: - (clutter_behaviour_ellipse_advance): - - Fixed invalid assumption about z cooordiance in calculation of - tilt in y axis. - -2007-07-30 Tomas Frydrych - - * clutter/clutter-actor.c: - - Fixed incorrect order of modelview matrix stack in calculating - actor vertices. - -2007-07-30 Matthew Allum - - * clutter/clutter-backend.h: - Remove #if 0's old backend_api - (generating uneeded documentation) - -2007-07-30 Matthew Allum - - * clutter/clutter-texture.c: - Fix re-relisation for large tiled textures. - * tests/test-textures.c: (main): - Add a show/hide to trigger above (see #442) - -2007-07-29 Emmanuele Bassi - - * clutter/clutter-types.h: Document ClutterGravity enumeration - and remove the only incomplete symbol of the api reference. Now - we are up to 79% documented symbols. - -2007-07-29 Emmanuele Bassi - - * clutter/clutter-media.c: Document ClutterMedia signals; - replace the implementation of clutter_media_set_filename() with - something a wee bit more robust (and portable) than a sprintf(). - -2007-07-29 Emmanuele Bassi - - * clutter/clutter-behaviour-ellipse.c: Documentation - fixes; kill some indirections; freeze the notification - queue when (potentially) emitting multiple notify - signals. - - * clutter/clutter-alpha.h: Remove the unused macro - CLUTTER_TYPE_SMOOTHSTEP. - -2007-07-28 Emmanuele Bassi - - * clutter/clutter-actor.[ch]: Use GInitiallyUnowned - as the parent structure in the ClutterActor structure - definition; somehow, this has escaped everyone attention - in one year and a half. Luckily, GInitiallyUnowned is - as big as GObject. - - (clutter_actor_get_abs_position_units), - (clutter_actor_get_abs_position): Check parameters. - - * clutter/clutter-texture.h: Unmangle the flags enum - type declaration, so that dumb parsers like h2defs.py - are not fooled. - - * clutter/clutter-behaviour-ellipse.[ch]: - * clutter/clutter-effect.c: Fix some documentation - issues and make gtk-doc happy. - -2007-07-27 Tomas Frydrych - - * clutter/clutter-behaviour-ellipse.h: - * clutter/clutter-behaviour-ellipse.c: - * tests/test-behave.c: - (clutter_behaviour_ellipse_get_angle_tilt): - (clutter_behaviour_ellipse_set_angle_tilt): - - Pruned ClutterBehaviourEllipse api. - -2007-07-27 Tomas Frydrych - - * clutter/clutter-behaviour-ellipse.h: - * clutter/clutter-behaviour-ellipse.c: - (clutter_behaviour_ellipse_set_angle_tilt_x): - (clutter_behaviour_ellipse_set_angle_tilt_xx): - (clutter_behaviour_ellipse_get_angle_tilt_x): - (clutter_behaviour_ellipse_get_angle_tilt_xx): - (clutter_behaviour_ellipse_set_angle_tilt_y): - (clutter_behaviour_ellipse_set_angle_tilt_yx): - (clutter_behaviour_ellipse_get_angle_tilt_y): - (clutter_behaviour_ellipse_get_angle_tilt_yx): - (clutter_behaviour_ellipse_set_angle_tilt_z): - (clutter_behaviour_ellipse_set_angle_tilt_zx): - (clutter_behaviour_ellipse_get_angle_tilt_z): - (clutter_behaviour_ellipse_get_angle_tilt_zx): - (clutter_behaviour_ellipse_set_tilt): - (clutter_behaviour_ellipse_set_tiltx): - (clutter_behaviour_ellipse_get_tilt): - (clutter_behaviour_ellipse_get_tiltx): - - * tests/test-behave.c: - - Allow tilting ClutterBehaviourEllipse in all three axis; affects - any code using the previous tilt api. - -2007-07-26 Matthew Allum - - * clutter/clutter-feature.h: - Add new stage feature flags and document. - - * clutter/eglnative/clutter-backend-egl.c: - * clutter/eglx/clutter-backend-egl.c: - * clutter/sdl/clutter-backend-sdl.c: - Set new feature flags. - - * clutter/glx/clutter-backend-glx.c: - * clutter/glx/clutter-stage-glx.c: - * clutter/clutter-stage.c: - * clutter/clutter-stage.h: - Add a 'user_resizeable' setting to the backend and implement - for glx backend. - -2007-07-26 Emmanuele Bassi - - * clutter/clutter-behaviour-ellipse.c: - * clutter/clutter-behaviour.h: - * clutter/clutter-event.c: - * clutter/clutter-texture.h: - * clutter/clutter-types.h: Add missing documentation and fix - parameters names to make gtk-doc happy. - -2007-07-26 Tomas Frydrych - - * clutter/clutter-behaviour-ellipse.h: - * clutter/clutter-behaviour-ellipse.c: - * tests/test-behave.c: - - Removed tilt paramter from ClutterBehaviourEllipse constructors; - Made angles to be relative to 12 o'clock; - Added direction property; - -2007-07-26 Emmanuele Bassi - - * clutter/clutter-types.h: - * clutter/Makefile.am: Add a header for common types, to avoid - inclusion hell. - - * clutter/clutter-actor.h: - * clutter/clutter-behaviour.h: - * clutter/clutter-behaviour-rotate.h: - * clutter/clutter-behaviour-scale.h: Move some boxed types and som - enums to clutter-types.h. - -2007-07-26 Neil J. Patel - - * clutter/clutter-entry.c: (offset_to_bytes), - (clutter_entry_ensure_cursor_position), - (clutter_entry_new_with_text), (clutter_entry_new), - (clutter_entry_insert_unichar), (clutter_entry_delete_chars): - - Fixed utf8 support so it actually works now, for both - inserting and deleting chars. Fixed positioning of cursor for - utf8 chars. Both GString and Pnago need bytes (not - documented!) for string manipulation, so making sure all - values were bytes and not char positions fixed the issue. Set - a default size of 50x50 for the entry, otherwise no chars can - be seen if the size is not set after creation (which confuses - the developer). - -2007-07-26 Emmanuele Bassi - - * clutter/clutter-timeline.c: - Do not accept zero as a value for the num-frames and fps properties - in both the constructor and the setter functions. - -2007-07-26 Emmanuele Bassi - - * clutter/clutter-actor.[ch]: - * clutter/clutter-behaviour-bspline.c: - * clutter/clutter-behaviour.c: - * clutter/clutter-box.[ch]: - * clutter/clutter-clone-texture.c: - * clutter/clutter-entry.c: - * clutter/clutter-group.[ch]: - * clutter/clutter-texture.c: - * clutter/pango/pangoclutter-render.c: - * tests/test-actors.c: - * tests/test-behave.c: - * tests/test-entry.c: - * tests/test-events.c: - * tests/test-project.c: - * tests/test-rotate.c: - * tests/test-scale.c: - * tests/test-text.c: - * tests/test-textures.c: Miscellaneous compiler warning fixes. - -2007-07-26 Emmanuele Bassi - - * configure.ac: - * Makefile.am: Add a configure switch to enable strict - compiler flags, and turn it on when we are doing a distcheck. - -2007-07-25 Matthew Allum - - * Makefile.am: - * HACKING: - Add with initial notes on coding bits and bobs. - - * clutter/clutter-behaviour-scale.c: - Doc fixes. - - * clutter/clutter-event.c: (clutter_event_put): - Doc fixes. - - * clutter/glx/clutter-stage-glx.c: - Disable wm user resizing of stage (At least for now) - Doc fixes. - -2007-07-25 Tomas Frydrych - - * clutter/clutter-fixed.c: - - Fixed endianness issue in fast fp conversions. - -2007-07-25 Tomas Frydrych - - * configure.ac: - * clutter/clutter-fixed.c: - - Added --disable-fast-fp-conversion option. - -2007-07-25 Emmanuele Bassi - - * clutter/clutter-label.[ch]: Ouch, clutter_label_get_alignment() - returns a PangoAlignment, not a boolean. - -2007-07-25 Emmanuele Bassi - - * clutter/clutter-behaviour.h: - * clutter/clutter-behaviour.c: Rename clutter_behaviour_clear() - to clutter_behaviour_remove_all() to avoid method clashes in - bindings. - -2007-07-25 Tomas Frydrych - - * tests/test-rotate.c: - * tests/Makefile.am: - - Added test-rotate. - -2007-07-25 Emmanuele Bassi - - * clutter/clutter-behaviour-bspline.c: Kill off some deep pointer - indirections; use CLUTTER_NOTE() instead of ifdeffed out g_debug(); - add checks in every public entry point; move some initialisations - of private data structures out of the constructor and into the - init function, where they belong. - -2007-07-25 Matthew Allum - - * clutter/clutter-behaviour-rotate.c: - * clutter/clutter-behaviour-rotate.h: - Split 'center' prop into 3 seperate props for each axis. - Use clutter_behaviour_actors_foreach() rather than - clutter_behaviour_get_actors() to avoid copying list. - Call fixed point rotation funcs internally. - - * clutter/clutter-effect.c: - * clutter/clutter-effect.h: - Add new simple rotation based effect funcs. - -2007-07-25 Emmanuele Bassi - - * clutter/clutter.h: Include clutter-behaviour-depth.h - -2007-07-24 Emmanuele Bassi - - * clutter/clutter-behaviour-rotate.[ch]: Add a center property - for the center or rotation; implement the set_bounds() methods. - -2007-07-24 Emmanuele Bassi - - * clutter/eglx/clutter-backend-egl.c: - * clutter/eglnative/clutter-backend-egl.c: - * clutter/sdl/clutter-backend-sdl.c: Destroy the stage in every - backend. - -2007-07-24 Emmanuele Bassi - - * clutter/glx/clutter-backend-glx.c: Destroy the stage, don't - just unref it. - -2007-07-24 Emmanuele Bassi - - * clutter/clutter-main.c: Add debug markers. - -2007-07-24 Emmanuele Bassi - - * clutter/clutter-texture.[ch]: Add a ClutterTextureError - to be returned by the loader functions; use the GObject API - to allocate the private data structure instead of managing it - ourselves; add documentation. - -2007-07-24 Emmanuele Bassi - - * clutter/clutter-actor.c: - * clutter/clutter-box.h: - * clutter/clutter-stage.c: Documentation fixes. - -2007-07-24 Matthew Allum - - * clutter/cogl/gl/cogl-defines.h: - Add CGL_UNSIGNED_INT_8_8_8_8_REV (for big endian machines) - -2007-07-24 Matthew Allum - - * clutter/cogl/gl/cogl-defines.h: - Another GL_TEXTURE_RECTANGLE_ARB related fix (#404) - -2007-07-24 Matthew Allum - - * clutter/clutter-backend.c: - Minor build fixes (#413) - -2007-07-24 Emmanuele Bassi - - * clutter/clutter-effect.h: - * clutter/clutter-effect.c: Add a secondary constructor for - ClutterEffectTemplate, for use of the bindings. - -2007-07-24 Matthew Allum - - * clutter/cogl/gles/cogl.c: (cogl_get_bitmasks): - Fix typo calling glGetIntegerv rather than glGetInteger - -2007-07-24 Matthew Allum - - * clutter/cogl/gl/cogl.c: (cogl_get_features): - learn to use cpp properly. - -2007-07-24 Matthew Allum - - * clutter/clutter-media.c: (clutter_media_base_init): - Remove #if 0! signal - assume causing issues with binding generation. - (#407) - - * clutter/cogl/gl/cogl.c: - Check GL_TEXTURE_RECTANGLE_ARB and GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB - are defined in gl.h (#404) - -2007-07-24 Matthew Allum - - * clutter/glx/clutter-stage-glx.c: (clutter_stage_glx_realize): - Create stage window with correct depth/visual. Via patch from - Robert Bragg (#409). - -2007-07-23 Matthew Allum - - * clutter/clutter-texture.c: (texture_render_to_gl_quad), - (clutter_texture_paint): - Dont be over aggressive in throwing criticals for unrealized - textures. Doesn't make sense for sub classes. (#403) - -2007-07-22 Emmanuele Bassi - - Two small fixes for correctly debugging the deinitialisation - phase of the backend: - - * clutter/glx/clutter-backend-glx.c: Remove the event source - after we unref the main stage. - - * clutter/glx/clutter-stage-glx.c: Add a mark at the end of the - unrealize call (the perl bindings seem to crash before we reach - this point). - -2007-07-22 Emmanuele Bassi - - * clutter/clutter-behaviour-ellipse.c: Remove pointer indirections; - add sanity checks on the public entry points; make all the public - properties floating point (where needed) andconvert them to fixed - point internally. (Partial fix for #389) - -2007-07-22 Emmanuele Bassi - - * clutter/clutter-behaviour.[ch]: Rename ClutterBehaviour::apply - and ClutterBehaviour::remove to ClutterBehaviour::applied and - ClutterBehaviour::removed respectively, and emit them when the - behaviour has been applied (or does no longer apply) to an actor. - - (clutter_behaviour_dispose), (clutter_behaviour_finalize), - (clutter_behaviour_class_init): Move the actor removal to the - ::dispose virtual function, and remove the ::finalize one; - document the missing properties and signals. - - (clutter_behaviour_clear): Add function to clear a behaviour: - every actor will be unreffed and the ClutterBehaviour::removed - signal will be emitted. - -2007-07-21 Matthew Allum - - * clutter/clutter-event.c: - Correct clutter_event_get_state () return type. Fixes #398 - - * clutter/glx/clutter-stage-glx.c: - Disable use XFixes cursor visibility funcs. Appears to have issues - on feisty X Server at least. Fallback should work generally better. - - Fix non offscreen clutter_stage_snapshot to also rotate read pixel - data to correct orientation. - -2007-07-12 Matthew Allum - - * clutter/eglnative/clutter-event-egl.c: (clutter_event_dispatch): - Avoid sending too many events which are just pressure changes. - -2007-07-12 Matthew Allum - - * clutter/clutter-actor.c: (clutter_actor_paint): - * clutter/clutter-stage.c: (clutter_stage_get_actor_at_pos): - * clutter/cogl/cogl.h: - * clutter/cogl/gl/cogl.c: (cogl_get_viewport): - * clutter/cogl/gles/cogl.c: (cogl_get_viewport): - Hopefully fix clutter_actor_at_pos on !32bpp displays. - Based on patch from Pan Bohui, See; - http://bugzilla.openedhand.com/show_bug.cgi?id=390 - - * TODO: - More misc updates. - -2007-07-11 Emmanuele Bassi - - * clutter/clutter-behaviour-opacity.c: - Don't check direction in opacity. - -2007-07-11 Tomas Frydrych - - * clutter/clutter-fixed.h: - Fixed CLUTTER_ANGLE_ macros. - - * clutter/clutter-behaviour-ellipse.h: - * clutter/clutter-behaviour-ellipse.c: - Implemented "apply" signal closer to position actor on the start - of the elliptic path. - - (clutter_behaviour_ellipse_get_angle_begin): - (clutter_behaviour_ellipse_set_angle_begin): - (clutter_behaviour_ellipse_get_angle_end): - (clutter_behaviour_ellipse_set_angle_end): - (clutter_behaviour_ellipse_get_angle_tilt): - (clutter_behaviour_ellipse_set_angle_tilt): - Renamed with an x suffix; added versions for angles in degrees. - -2007-07-09 Matthew Allum - - * TODO: - Updates. - * clutter/clutter-stage.c: - * clutter/glx/clutter-stage-glx.c: - Fix cursor visibility property. - Force a repaint before mapping to attempt to avoid flicker. - -2007-07-09 Richard Purdie - - * clutter/eglnative/clutter-event-egl.c: - * configure.ac: - Add tslib support to eglnative backend. - -2007-07-09 Richard Purdie - - * clutter/eglnative/clutter-backend-egl.c: - Tweaks to the eglnative backend. - -2007-07-09 Richard Purdie - - * clutter/clutter-backend.c: - Make the backend add_option function optional. - -2007-07-09 Emmanuele Bassi - - * clutter/clutter-behaviour-depth.h: - * clutter/clutter-behaviour-depth.c: - * clutter/Makefile.am: Add ClutterBehaviourDepth, a simple - behaviour controlling the depth of a set of actors. - - * clutter/clutter-behaviour-opacity.c: Always make sure that - the opacity applied to the actors is a positive integer, even - in case where the start and end opacity are reversed; use the - correct cast macros for passing the opacity as a pointer. - -2007-07-06 ====================== 0.3.1 Release ======================== - -2007-07-06 Matthew Allum - - * NEWS: - * configure.ac: - Update for 0.3.1 - -2007-07-06 Matthew Allum - - * clutter/eglx/Makefile.am: - * clutter/eglx/clutter-egl.h: - * clutter/eglx/clutter-event-egl.c: - * clutter/eglx/clutter-stage-egl.c: - Rename clutter-egl.h -> clutter-eglx.h - - * NEWS: - * README: - Add info re EGL split. - -2007-07-06 Matthew Allum - - * clutter/Makefile.am: - * clutter/eglnative/Makefile.am: - * clutter/eglnative/clutter-backend-egl.c: - * clutter/eglnative/clutter-backend-egl.h: - * clutter/eglnative/clutter-egl.h: - * clutter/eglnative/clutter-event-egl.c: - * clutter/eglnative/clutter-stage-egl.c: - * clutter/eglnative/clutter-stage-egl.h: - * clutter/eglx/Makefile.am: - * clutter/eglx/clutter-backend-egl.c: - * clutter/eglx/clutter-egl.h: - * clutter/eglx/clutter-event-egl.c: - * clutter/eglx/clutter-stage-egl.c: - * configure.ac: - Add a new 'native' EGL backend for non X based EGL's - (i.e on framebuffer). - Rename old backend to 'eglx' and namespace public funcs with this. - - * clutter/pango/pangoclutter-private.h: - Add extra checks for expected defines. - -2007-07-06 Matthew Allum - - * NEWS: - * README: - Updates for upcoming 0.3.1 release. - * clutter/egl/Makefile.am: - * clutter/egl/clutter-backend-egl.c: - * clutter/egl/clutter-backend-egl.h: - * clutter/egl/clutter-egl.h: - * clutter/egl/clutter-event-egl.c: - * clutter/egl/clutter-stage-egl.c: - * clutter/egl/clutter-stage-egl.h: - * configure.ac: - Move egl -> eglx - -2007-07-06 Matthew Allum - - * clutter/clutter-box.c: (clutter_box_pick): - Call clutter_box_paint rather than actor paint method avoiding - infinte loop (Fixes test-boxes crasher). - - * clutter/glx/clutter-stage-glx.c: (clutter_stage_glx_unrealize): - Trap the X calls to avoid potential X errors. - -2007-07-06 Ross Burton - - * tests/Makefile.am: - Dist redhand.png. - -2007-07-05 Tomas Frydrych - - * cluter/clutter-group.c: - (clutter_group_query_coords:) - Reset box size to zero width and height to report correct size if - the contents of the group shrink. - -2007-07-05 Emmanuele Bassi - - * clutter/clutter-rectangle.c: Fix off-by-border-width bug - in the border creation of a ClutterRectangle. - -2007-07-05 Tomas Frydrych - - * clutter/clutter-fixed.h: - * clutter/clutter-fixed.c: - Added CLUTTER_FLOAT_TO_UINT macro; - (clutter_pow2x): - Fixed sign issue. - -2007-07-04 Emmanuele Bassi - - * clutter/*: Loads of fixes for the API reference. - -2007-07-04 Emmanuele Bassi - - Merge from clutter/work - - * clutter/clutter-alpha.[ch]: Fix the argument names for - the smoothstep alpha functions, for gtk-doc. - - * clutter/clutter-group.c (clutter_group_remove_all): Fix - the iteration on the children list. - -2007-07-04 Emmanuele Bassi - - * clutter/clutter-main.c (clutter_redraw): Move the stage - paint init call from the main redraw function... - - * clutter/clutter-stage.c (clutter_stage_paint): ... to the - ClutterActor::paint() overridden method in ClutterStage. - -2007-07-04 Emmanuele Bassi - - * clutter/clutter.h: - * clutter/Makefile.am: ClutterBackend is marked as public API, - so install the clutter-backend.h header and include it when - including clutter.h. - -2007-07-04 Emmanuele Bassi - - * clutter/clutter-entry.[ch]: Various fixes to ClutterEntry: - fix code style issues; add documentation for the various - properties; add ClutterEntry:entry-padding property, for controlling - the text padding (until we have style properties separated from - the object properties); notify property changes; free resources - in the ::finalize method; rename clutter_entry_add() to - clutter_entry_insert_unichar(), and clutter_entry_remove() to - clutter_entry_delete_chars() - for bindings and for matching the - insert_text() and delete_text() existing methods; add a getter - method for the max-length property. - -2007-07-04 Emmanuele Bassi - - * clutter/clutter-actor.[ch]: Use the right get_type() function - name for ClutterVertex, and add the CLUTTER_TYPE_VERTEX macro. - -2007-07-03 Ross Burton - - * configure.ac: - Check for XFixes 4 and above. - -2007-07-02 Tomas Frydrych - - * clutter/clutter-actor.h: - * clutter/clutter-actor.c: - * tests/test-project.c: - (clutter_actor_apply_transform_to_point): - Use ClutterVertex for input and output parameters. - -2007-07-01 Emmanuele Bassi - - Merge from clutter.git/work branch - - * clutter/clutter-effect.[ch]: Clean up ClutterEffect; use a - pointer to access the private data structure, instead of doing - a type check every time. Add description for the API reference. - - * docs/reference/clutter-sections.txt: - * clutter/*.[ch]: Add various documentation fixes. - - * clutter/clutter-entry.c: Remove a stray g_print() call. - -2007-06-29 Neil J. Patel - - * clutter/clutter-entry.c: (clutter_entry_handle_key_event), - (clutter_entry_add), (clutter_entry_remove): - Check if unichar == 0, and if so, return, as it will cause a delete in - the GString. - -2007-06-20 ============== 0.3 Release ==================================== - -2007-06-29 Matthew Allum - - * clutter/clutter-texture.c: (texture_upload_data): - Fix a SEGV for GL ES textures. - - * clutter/cogl/gles/cogl.c: (cogl_setup_viewport): - Tweak default z_camera for 60 degrees like GL. - - * clutter/egl/clutter-backend-egl.c:: - * clutter/egl/clutter-stage-egl.c: - Fix edpy usage (thanks to Kaj Gronholm). - -2007-06-29 Tomas Frydrych - - * clutter/clutter-group.c: - (clutter_group_query_coords): - Fixed box calculation. - -2007-06-28 Tomas Frydrych - - * clutter/clutter-group.c: - (clutter_group_raise): - (clutter_group_lower): - Fixed SIGSEGV when attempting to raise / lower an only child. - -2007-06-28 Matthew Allum - - * clutter/cogl/gl/cogl.c: (cogl_setup_viewport): - Improve fixed z_camera value for defualt perspective. - Appears pixel perfect on ATI and Intel at least - -2007-06-28 Tomas Frydrych - - * tests/test-perspective.c: - Moved red dots to be positioned 1px off each corner. - -2007-06-28 Matthew Allum - - * tests/Makefile.am: - * tests/test-perspective.c: - Add simple perspective test - -2007-06-27 Tomas Frydrych - - * clutter/clutter-actor.h: - * clutter/clutter-actor.c: - * tests/test-project.c: - Renamed clutter_actor_project_point() to - clutter_actor_apply_trasform_to_point() and - clutter_actor_project_vertices() to clutter_actor_get_vertices(). - -2007-06-27 Tomas Frydrych - - * clutter/clutter-actor.h: - * clutter/clutter-actor.c: - * tests/test-project.c: - (clutter_actor_project_point): - Separated input from output parameters. - -2007-06-27 Matthew Allum - - * Makefile.am: - Dont remove README on make clean - -2007-06-27 Tomas Frydrych - - * clutter/clutter-actor.c: - (_clutter_actor_apply_modelview_transform): - Fixed incorrect order of scaling an rotation that was causing - objects that were both rotated and scaled to change position. - -2007-06-27 Tomas Frydrych - - * clutter/clutter-actor.c: - (clutter_actor_scale_with_gravityx): - Made to work after changes to the behavivour of - clutter_actor_get_absolute_size() for rotated actors. - -2007-06-26 Tomas Frydrych - - * clutter/cogl/gl/cogl.c: - * clutter/cogl/gles/cogl.c: - (cogl_setup_viewport): - For default perspective angle of 60 degrees, use a hardcoded - z_camera constant that provides minimal artefacts when rendering - text; for other angles we calculate. - -2007-06-26 Tomas Frydrych - - * clutter/clutter-actor.h: - * clutter/clutter-actor.c: - Added fixed point version of clutter_actor_rotate_*() functions - and accessors for rotation angles. - -2007-06-25 Matthew Allum - - * README: - Update a little more. - * clutter/clutter-effect.c: - Add missing func documentation - * clutter/clutter-rectangle.c: - Fix border drawing. - -2007-06-25 Tomas Frydrych - - * clutter/clutter-fixed.h: - Fixed definition of clutter_cosx() macro. - - * clutter/clutter-stage.c: - * clutter/cogl/cogl.h: - * clutter/cogl/gl/cogl.c: - * clutter/cogl/gles/cogl.c: - Changed ClutterPerspective.fovy from ClutterAngle to degrees to - improve precission in Z-camera calculations. - -2007-06-22 Matthew Allum - - * README: - * README.in: - * autogen.sh: - * configure.ac: - Move back to regular README naming at least for now. - -2007-06-22 Matthew Allum - - * NEWS: - * README.in: - * TODO: - Update for 0.3 release. - - * clutter/clutter-actor.c: - Minor doc fixups - - * clutter/clutter-texture.c: - Various minor additions for handling non RGBA data. - Fix a typo breaking clutter_texture_get_pixbuf() on tiled textures. - - * tests/test-actors.c: - Disable scaling to avoid drifting (temporary till API is fixed) - -2007-06-21 Emmanuele Bassi - - * clutter/clutter-timeline.c: Allow disabling the timeline pool - by using the CLUTTER_TIMELINE environment variable set to - "no-pool". - -2007-06-19 Emmanuele Bassi - - * README.in: Update release notes. - -2007-06-19 Matthew Allum - - * clutter/clutter-main.c: (clutter_init_with_args), (clutter_init): - Safer checks for setting progname if NULL is passed in init. - -2007-06-19 Emmanuele Bassi - - * autogen.sh: autoreconf needs a README. - -2007-06-19 Matthew Allum - - * TODO: - Sync up a little. - * clutter/clutter-main.c: - Set a default window title based on g_prgname(). - - * clutter/clutter-stage.c: - * clutter/clutter-stage.h: - * clutter/egl/clutter-stage-egl.c: - * clutter/glx/clutter-stage-glx.c: - * clutter/sdl/clutter-stage-sdl.c: - Alter draw_to_pixbuf to return a pixbuf - - * configure.ac: - Only full in gdk-pixbuf-xlib as a GLX backend dep. - - * tests/test-entry.c: - Fix a couple of warnings. - -2007-06-19 Emmanuele Bassi - - * Makefile.am: Add README.in to the EXTRA_DIST. - -2007-06-19 Emmanuele Bassi - - * configure.ac: - * README.in: Use a template for the README file, so that - it gets the right version number. - -2007-06-19 Matthew Allum - - * clutter/clutter-stage.c: - * clutter/clutter-stage.h: - * clutter/glx/clutter-stage-glx.c: - * clutter/sdl/clutter-stage-sdl.c: - Add window title setting/getting functionality. - - * clutter/clutter-event.c: (clutter_key_event_unicode): - Remove uneeded convert case call. - - * clutter/cogl/gl/cogl.c: (cogl_rectangle) - Use parameters correctly for underlying GL rect call. - - * tests/test-entry.c: - Add a window title. - -2007-06-18 Matthew Allum - - * clutter/sdl/clutter-event-sdl.c: - Seemingly fix SDL Event source. - Add some very basic SDL keysym translation. - (Thanks to Thomas Van Machelen for initial translation code) - - * tests/test-events.c: - Dump some info on keysyms pressed. - -2007-06-16 Emmanuele Bassi - - * clutter/clutter-actor.h: - * clutter/clutter-stage.h: Add 32 padding slots; when we - reach 1.0 it'll be a long road until the following ABI - break. - - * tests/test-behave.c: Don't forget to include headers. - -2007-06-16 Emmanuele Bassi - - * clutter/clutter-container.h: - * clutter/clutter-layout.h: Interfaces are not checked - at compile-time, so there's not need to add padding to - avoid ABI breaks. - -2007-06-16 Emmanuele Bassi - - * configure.ac: Partially revert last commit, and fail - with AC_MSG_ERROR() instead of disabling the manual build - if no jw and xmlto were found. - -2007-06-16 Emmanuele Bassi - - * configure.ac: If the programs required to build the manual - are not found and --enable-manual was passed, then just print - a warning and disable the manual build instead of aborting the - configure. - - * doc/manual/Makefile.am: Use the full path gathered by the - configure script when invoking jw and xmlto. - -2007-06-16 Matthew Allum - - * clutter/clutter-actor.c: - Fix typo in x rotation transform (Thanks to Johan Billen #138) - - * configure.ac: - * doc/manual/Makefile.am: - Fix manual build and required program check. - - * tests/Makefile.am: - Another typo fix. - -2007-06-15 Tomas Frydrych - - * clutter/clutter-actor.c: - Added some comments; renamed MTX_GL_SCALE to MTX_GL_SCALE_X for - consistency; removed some debug output. - -2007-06-14 Tomas Frydrych - - * clutter/clutter-vbox.c: - * clutter/clutter-hbox.c: - (clutter_vbox_pack_child): - (clutter_hbox_pack_child): - Fixed child coords. - -2007-06-14 Emmanuele Bassi - - * clutter/clutter-box.[ch]: Base class for layout containers. - - * clutter/clutter-hbox.[ch]: Horizontal box actor. - - * clutter/clutter-vbox.[ch]: Vertical box actor. - - * clutter/clutter.h: - * clutter/Makefile.am: Build glue - - * tests/Makefile.am: - * tests/test-boxes.c: Test suite for ClutterBox API and - implementations. - -2007-06-14 Matthew Allum - - * clutter/cogl/gl/cogl.c: (cogl_check_extension): - Actually populate this func and remove the static alternate - named one. Means GLX actually checks for available extensions. - Other minor tidy ups. - - * clutter/glx/clutter-backend-glx.c: - * clutter/glx/clutter-backend-glx.h: - Add support for GLX_SGI_swap_control to do vblanking prefering - over glXGetVideoSyncSGI. Should fix issues on Intel chips with - very slow frame rates due to vblank problems. - Thanks to Michel Danzer for tips, see; - http://bugs.freedesktop.org/show_bug.cgi?id=10542 - - * test/test-actors.c: - Change FPS to 60. - -2007-06-14 Emmanuele Bassi - - * clutter/clutter-timeout-pool.c: Make ClutterTimeoutPool - more thread-safe, using a static lock. - - (clutter_timeout_pool_dispatch), (clutter_timeout_pool_remove): Fix - a race condition-turned-in-memory corruption bug, triggered by - removing a timeout from the pool while still spinning the pool - source. - -2007-06-14 Emmanuele Bassi - - * configure.ac: - * doc/manual/Makefile.am: Find xmlto and jw in the path and - use the symbolic names when building the manual. - -2007-06-14 Tomas Frydrych - - * clutter/clutter-actor.c: - (clutter_actor_get_abs_position): - (clutter_actor_get_abs_size): - Reimplement using clutter_actor_project_point() and - clutter_actor_project_vertices(). - - * tests/test-project.c: - Rename clutter_actor_allocate_coords -> clutter_actor_query_coords - -2007-06-14 Matthew Allum - - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - * clutter/clutter-group.c: - * clutter/clutter-label.c: - * clutter/egl/clutter-stage-egl.c: - * clutter/glx/clutter-stage-glx.c: - * clutter/sdl/clutter-stage-sdl.c: - Rename clutter_actor_allocate_coords -> clutter_actor_query_coords - - Change repaints to G_PRIORITY_DEFAULT + 10. - (timelines are G_PRIORITY_DEFAULT + 30, events G_PRIORITY_DEFAULT) - - * clutter/glx/clutter-event-glx.c: - Handle shift modifier in keycode -> keysym translation. - - * tests/test-actors.c: - Remove (broken) screen saver code. - Add scaling behaviour, clean code a little. - -2007-06-13 Tomas Frydrych - - * clutter/clutter-actor.c: - (clutter_actor_project_vertices): - (clutter_actor_project_proint): - Fixed translation of Y coords to match the windowing system. - - * clutter/egl/clutter-stage-egl.c: - * clutter/glx/clutter-stage-glx.c: - * clutter/sdl/clutter-stage-sdl.c: - (clutter_stage_*_request_size): - Initialize viewport when setting/resetting stage side. - - * tests/Makefile.am - * tests/test-project.c: - An interactive test of the projection stuff. - -2007-06-12 Tomas Frydrych - - * clutter/clutter-main.c: - (clutter_redraw): - Clear CLUTTER_ACTOR_SYNC_MATRICES flag after setting up viewport. - -2007-06-12 Matthew Allum - - * doc/manual/Makefile.am: - Fix typo in Makefile so PDF's actually get built. - - * doc/manual/clutter-manual.xml.in: - Add an FAQ section with initial entry. - -2007-06-12 Tomas Frydrych - - * clutter/clutter-fixed.h: - Added shorthand CFX_QMUL macro. - - * clutter/clutter-private.h: - * clutter/clutter-actor.h: - * clutter/clutter-actor.c: - Replaced ClutterVertices with ClutterVertex; - - (clutter_actor_get_transformed_vertices): - (clutter_actor_get_transformed_point): - Replaced with clutter_actor_projected_vertices and - clutter_actor_projected_point. - - (_clutter_actor_apply_modelview_transform): - (_clutter_actor_apply_modelview_transform_recursive): - Private functions to push actor modelview transforms on OpenGL - stack. - - * clutter/cogl/cogl.h: - * clutter/cogl/gl/cogl.c: - * clutter/cogl/gles/cogl.c: - (cogl_get_viewport): - (cogl_get_modelview_matrix): - (cogl_get_projection_matrix): - Functions to access OpenGL transforms. - -2007-06-12 Matthew Allum - - * clutter/clutter-alpha.c: - Remove stray g_debug. - - * clutter/clutter-behaviour-rotate.c: - Register private class member. - - * clutter/clutter-behaviour.c: - * clutter/clutter-behaviour.h: - Add applied and removed signals. - - * Makefile.am: - * configure.ac: - * examples/Makefile.am: - * examples/README: - * examples/behave.c: - * examples/slider.c: - * examples/super-oh.c: - * examples/test-entry.c: - * examples/test-text.c: - * examples/test.c: - * tests/Makefile.am: - Remove examples, moving applicable code into tests. - -2007-06-11 Tomas Frydrych - - * clutter/clutter-alpha.c: - (clutter_alpha_sine_inc): - (clutter_alpha_sine_dec): - (clutter_alpha_sine_half): - Fixed unsigned overflow. - -2007-06-11 Emmanuele Bassi - - * clutter/clutter-event.h: Add full modifier masks enums. - - * clutter/glx/clutter-event-glx.c: Copy the modifier masks from - the native X event structure. - - * clutter/clutter-event.c: Convert to upper case if the - shift or the lock masks are applied. - -2007-06-09 Emmanuele Bassi - - * clutter/clutter.h: - * clutter/clutter-timeout-pool.[ch]: Add a timeout pool source; - every timeout added to this pool will use a single slice of the - main loop. - - * clutter/clutter-timelince.c: Use a per-class timeout pool for - every timeline. - -2007-06-08 Matthew Allum - - * clutter/clutter-texture.c: (clutter_texture_get_pixbuf): - Remove stray printf. - -2007-06-08 Matthew Allum - - * clutter/clutter-actor.c: - * clutter/clutter-debug.h: - * clutter/clutter-main.c: - * clutter/clutter-main.h: - * clutter/clutter-private.h: - * clutter/clutter-timeline.c: - Add 'schedule' debug flag and new CLUTTER_TIMESTAMP macro. - - * clutter/clutter-texture.c: - * clutter/clutter-texture.h: - * clutter/cogl/cogl.h: - * clutter/cogl/gl/cogl-defines.h: - * clutter/cogl/gles/cogl-defines.h: - * clutter/cogl/gl/cogl.c: - * clutter/cogl/gles/cogl.c: - Add initial experiemental YUV texture support. - Move texture rect size checks into cogl. - Better handle moving texture data from video -> system memory - (if support available). - -2007-06-07 Neil J. Patel - - * clutter/clutter-entry.c: (clutter_entry_class_init), - (clutter_entry_handle_key_event): - * clutter/clutter-entry.h: - Added an 'activated' signal, which is emitted when the 'Enter' key is - pressed. - - * examples/test-entry.c: (on_entry_activated), (main): - Added a test handler for the activated signal. - -2007-06-07 Emmanuele Bassi - - * clutter/*: Move documentation from the templates into the - source code. - -2007-06-07 Emmanuele Bassi - - * clutter/clutter-container.[ch]: Add a generic actor container - interface, for actors to implement without subclassing ClutterGroup. - - * clutter/clutter-group.[ch]: Make ClutterGroup implement the - ClutterContainer interface, and deprecate the colliding methods. - - * clutter/clutter-layout.[ch]: Add extended layout interface. - Actors and containers requiring or honouring complex layout - management should implement this interface and provide at least - one of the available layout types: width for height, height for - width, natural size, iterative size request. - - * clutter/clutter-label.c: A ClutterLabel requires height for - width layout management, so it implements the ClutterLayout - interface. - - * clutter/Makefile.am: Add new files to the build. - - * tests/*.c: - * examples/*.c: Update tests and examples code to use the - new ClutterContainer API instead of ClutterGroup. - -2007-06-07 Emmanuele Bassi - - * clutter/clutter-timeline.[ch]: Add a "delay" property, which - delays the real start of the timeline by a number of milliseconds. - - (clutter_timeline_clone): Rename clutter_timeline_copy() to - clutter_timeline_clone(), for consistency. - -2007-06-01 Neil J. Patel - - * clutter/clutter-entry.c: (clutter_entry_set_property), - (clutter_entry_get_property), (clutter_entry_class_init), - (clutter_entry_init), (clutter_entry_set_text), - (clutter_entry_set_max_length): - * clutter/clutter-entry.h: - * examples/test-entry.c: (main): - Added a max-length property whihc limits the length of the text in the - entry. - -2007-06-01 Neil J. Patel - - * clutter/clutter-entry.c: (clutter_entry_ensure_cursor_position), - (clutter_entry_paint), (clutter_entry_init), - (clutter_entry_handle_key_event): - Clipping within the entry class to stop it over-slipping its - boundries. - Text will move within the clip region to keep the cursor always - visible. - Added some padding to the left and right to make sure cursor is - always show. - -2007-06-01 Tomas Frydrych - - * clutter/clutter-actor.c: - * clutter/clutter-stage.c: - * clutter/clutter-private.h: - Removed perspective matrix caching from ClutterStage. - -2007-06-01 Neil J. Patel - - * clutter/clutter-entry.c: (clutter_entry_set_property), - (clutter_entry_get_property), (clutter_entry_ensure_layout), - (clutter_entry_class_init), (clutter_entry_init), - (clutter_entry_set_visibility), (clutter_entry_get_visibility), - (clutter_entry_set_invisible_char), - (clutter_entry_get_invisible_char): - * clutter/clutter-entry.h: - Added text-visibility, which will allow you to show all entered text - as a nominated charaecter ('*' is default). - - * examples/test-entry.c: (main): - -2007-06-01 Neil J. Patel - - * clutter/clutter-entry.c: (clutter_entry_ensure_cursor_position), - (clutter_entry_clear_cursor_position), - (clutter_entry_paint_cursor), (clutter_entry_paint), - (clutter_entry_class_init), (clutter_entry_set_text), - (clutter_entry_set_position): - * clutter/clutter-entry.h: - Added a signla to track cursor movements. - Moved the sursor painting function so it can be subclassed. - -2007-06-01 Tomas Frydrych - - * clutter/clutter-actor.c: - (clutter_actor_get_transformed_point): - Make input again relative to the actor; feed depth into transform. - -2007-06-01 Neil J. Patel - - * clutter/clutter-entry.c: (clutter_entry_class_init), - (clutter_entry_set_text): - * clutter/clutter-entry.h: - * examples/test-entry.c: (on_entry_text_changed), (main): - Added a text-changed signal to the entry. - -2007-06-01 Neil J. Patel - - * clutter/clutter-effect.h: - Removed extra G_END_DECLS outside the #endif - - * clutter/clutter-entry.c: (clutter_entry_handle_key_event), - (clutter_entry_add): - * clutter/clutter-entry.h: - * examples/test-entry.c: (on_key_release_cb): - Added a function to deal with ClutterKeyEvents. Handles the majority - of entry-related keyboard keys. However modifiers still need to be - implemented. - -2007-06-01 Tomas Frydrych - - * clutter/clutter-actor.c: - (mtx_create): - Apply perspective transform before all other transforms. - -2007-06-01 Tomas Frydrych - - * clutter/clutter-stage.c: - (clutter_stage_init): - Call _clutter_stage_refresh_perspective_matrix to initialize the - matrix for default values. - -2007-06-01 Tomas Frydrych - - * clutter/clutter-fixed.h: - * clutter/clutter-behaviour-ellipse.h: - * clutter/clutter-behaviour-ellipse.c: - * clutter/clutter-behaviour-bspline.h: - * clutter/clutter-behaviour-bspline.c: - Documentation fixes. - -2007-05-31 Tomas Frydrych - - * clutter/clutter-stage.c: - * clutter/clutter-private.h: - (_clutter_stage_get_perspective_matrix): - New function. - - * clutter/clutter-actor.c: - (clutter_actor_get_tranformed_vertices): - (clutter_actor_get_tranformed_point): - Apply perspective matrix on the top of actor transform matrix. - -2007-05-31 Neil J Patel - - * clutter/Makefile.am: - * clutter/clutter-entry.c: (clutter_entry_set_property), - (clutter_entry_get_property), (clutter_entry_ensure_layout), - (clutter_entry_clear_layout), - (clutter_entry_ensure_cursor_position), (clutter_entry_paint), - (clutter_entry_request_coords), (clutter_entry_dispose), - (clutter_entry_finalize), (clutter_entry_class_init), - (clutter_entry_init), (clutter_entry_new_with_text), - (clutter_entry_new_full), (clutter_entry_new), - (clutter_entry_get_text), (clutter_entry_set_text), - (clutter_entry_get_font_name), (clutter_entry_set_font_name), - (clutter_entry_set_color), (clutter_entry_get_color), - (clutter_entry_get_layout), (clutter_entry_set_alignment), - (clutter_entry_get_alignment), (clutter_entry_set_position), - (clutter_entry_get_position), (clutter_entry_add), - (clutter_entry_remove), (clutter_entry_insert_text), - (clutter_entry_delete_text), (clutter_entry_set_visible_cursor), - (clutter_entry_get_visible_cursor): - * clutter/clutter-entry.h: - * clutter/clutter.h: - * examples/Makefile.am: - Initial import of ClutterEntry actor. - - * examples/test-entry.c: (on_key_release_cb), (main): - A basic test for ClutterEntry - -2007-05-31 Tomas Frydrych - - * clutter/clutter-actor.c: - (clutter_actor_get_transformed_point): - Fixed coordinance translation. - -2007-05-31 Matthew Allum - - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - Add clutter_actor_get_transformed_point() - - * clutter/clutter-main.c: - Plug in perspective setup to redraw - - * clutter/clutter-stage.c: - * clutter/clutter-stage.h: - Remove audience code for now. - -2007-05-31 Matthew Allum - - * clutter/egl/clutter-backend-egl.c: - * clutter/egl/clutter-backend-egl.h: - * clutter/egl/clutter-event-egl.c: - * clutter/egl/clutter-stage-egl.c: - * clutter/egl/clutter-stage-egl.h: - Rename Egl -> EGL - -2007-05-31 Matthew Allum - - * clutter/glx/clutter-backend-glx.c: - * clutter/glx/clutter-backend-glx.h: - * clutter/glx/clutter-event-glx.c: - * clutter/glx/clutter-glx.h: - * clutter/glx/clutter-stage-glx.c: - * clutter/glx/clutter-stage-glx.h: - Change type nameing from Glx -> GLX. - Add basic event filtering functionality - -2007-05-31 Tomas Frydrych - - * clutter/clutter-behaviour-ellipse.c: - Changed behaviour so that a beginning angle of 0 would correspond - to 12 o'clock. - -2007-05-31 Tomas Frydrych - - * clutter/clutter-fixed.h: - * clutter/clutter-fixed.c: - (_clutter_double_to_int): - Fixed return value to gint; added missing cast that broke negative - number conversions. - - (CLUTTER_ANGLE_FROM_DEGX): - Swapped division and multiplication around to avoid overflows. - - * clutter/clutter-behaviour-ellipse.c: - Fixed incorrectly set lower bounds for angle properties. - - * clutter/clutter-actor.h: - * clutter/clutter-actor.c: - Added ClutterVertices type. - (clutter_actor_get_transformed_vertices): - New function. - -2007-05-31 Matthew Allum - * TODO: - Sync up for whats left for 0.4 release (and 0.6 ideas) - -2007-05-31 Matthew Allum - - * clutter/clutter-behaviour-ellipse.c: - Remove uneeded knot signal - - * clutter/clutter-behaviour-path.c: - Fix so knot signal is emitted only when a knot is reached. - - * clutter/clutter-effect.c: - * clutter/clutter-effect.h: - Add a scale effect. - - * configure.ac: - * doc/manual/Makefile.am: - * doc/manual/clutter-manual.xml.in: - * doc/manual/manual.xsl: - * doc/manual/style.css: - Add various bits for application developers manual. - -2007-05-30 Tomas Frydrych - - * clutter/clutter-alpha.h: - * clutter/clutter-alpha.c: - Removed ClutterSmoothstep struct - (clutter_smoothstep_inc_func): - Renamed to clutter_smoothstep_func. - (clutter_smoothstep_added_func): - Added. - -2007-05-29 Tomas Frydrych - - * clutter/clutter-fixed.h: - (clutter_cosx): - (clutter_cosi): - Fixed wrong sign in cos -> sin tranformation. - - * clutter/clutter-behaviour-ellipse.c: - (clutter_behaviour_ellipse_advance): - Replaced coordinace calculation for tilted ellipse with a sane - algorithm. - - * examples/behave.c: - Added tilt parameter to the example ellptic path. - -2007-05-29 Tomas Frydrych - - * clutter/cogl/gles/cogl.c: - (cogl_setup_viewport): - Fixed z_camera calculation. - -2007-05-28 Matthew Allum - - * clutter/clutter-texture.c: (clutter_texture_unrealize): - Dont even try to move texture pixels from video -> system - ram on unrealisation for GL/ES - -2007-05-28 Matthew Allum - - * clutter/clutter-stage.c: (clutter_stage_get_actor_at_pos): - Fix for GL/ES. Barring texture reads this means all clutter - functionality now works on GL/ES! (no doubt with a few yet to - be discovered bugs) - -2007-05-28 Matthew Allum - - * clutter/clutter-backend.c: - * clutter/clutter-backend.h: - * clutter/glx/clutter-stage-glx.c: - * clutter/glx/clutter-backend-glx.c: - Fix up rendering pipeline removing clutter_backend_XXX_stage_paint - and adding clutter_backend_XXX_redraw instead. Duplicates less - code in backends, avoids clutter_actor_paint() getting called - before stage is set up (viewport wise) and unbreaks things like - picking. - - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - * clutter/clutter-main.c: - * clutter/clutter-private.h: - * clutter/clutter-stage.c: (clutter_stage_get_actor_at_pos): - Redo picking functionality a different way (via color indexing) - as to provide more flexibility, possibly speed and more likely - work with GL/ES (doesn't currently however - not sure why). - - * clutter/clutter-group.c: - Add groups own 'pick' method. - - * clutter/cogl/cogl.h: - * clutter/cogl/gl/cogl.c: - * clutter/cogl/gles/cogl.c: - Move clipping funtionality into cogl. - - * clutter/cogl/gles/cogl-defines.h: - Hack around missing BGR format in GL/ES. - - * clutter/egl/clutter-backend-egl.c: - * clutter/egl/clutter-backend-egl.h: - * clutter/egl/clutter-stage-egl.c: - * clutter/sdl/clutter-backend-sdl.c: - * clutter/sdl/clutter-backend-sdl.h: - * clutter/sdl/clutter-event-sdl.c: - * clutter/sdl/clutter-stage-sdl.c: - Update backends to newer API. - Add basic mouse event translation to SDL. - -2007-05-25 Matthew Allum - - * clutter/clutter-color.c: (clutter_color_parse): - Handle #rrggbbaa color setting strings (i.e with alpha). - Set alpha to 0xff if it is not specified. - - * clutter/clutter-stage.c: (clutter_stage_get_actor_at_pos) - Increase select buffer. - - * examples/super-oh.c: - Fix up use of clutter_group_show_all() - -2007-05-25 Tomas Frydrych - - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - Renamed clutter_actor_scalex() to clutter_actor_set_scale_with_gravityx - Added floating point version clutter_actor_set_scale_with_gravity. - - * clutter/clutter-units.h: - * clutter/clutter-actor.h: - typedef ClutterUnit - - * clutter/clutter-fixed.h: - * clutter/clutter-stage.c: - CLUTTER_ANGLE_FROM_DEG(), CLUTTER_ANGLE_FROM_DEGX() - renamed CLUTTER_DEGF_TO_CLUTTER_ANGLE to CLUTTER_ANGLE_FROM_DEGF - - * clutter/clutter-behaviour-ellipse.h: - * clutter/clutter-behaviour-ellipse.c: - * examples/behave.c: - (clutter_behaviour_ellipse_new): - Changed signature to take angles in degrees, and x,y offsets. - (clutter_behaviour_ellipse_newx): - Fixed version clutter_behaviour_ellipse_new. - (clutter_behaviour_ellipse_set_center): - (clutter_behaviour_ellipse_get_center): - Changed signature to take x,y coords instead of ClutterKnot. - - clutter/cogl/gl/cogl.c: - clutter/cogl/gles/cogl.c: - (cogl_setup_viewport): - Added z_camera calculation. - -2007-05-25 Matthew Allum - - * Makefile.am: - Install a default flavour .pc file. - - * clutter/clutter-actor.c: - Translate units correctly for translate() - - * clutter/clutter-feature.h: - Add new texture features. - - * clutter/clutter-fixed.h: - Add clutter angle conversion defines. - - * clutter/clutter-group.c: - Use cogl not GL. Dont recurse on show all. - - * clutter/clutter-private.h: - Remove sync_viewport. - - * clutter/clutter-rectangle.c: - Fix cogl typo. - - * clutter/clutter-stage.c: - * clutter/clutter-stage.h: - Add perspective settings. Remove viewport_sync. - Add audience stubs. Fix up actor_at_pos a little (still broken) - - * clutter/clutter-texture.h: - * clutter/clutter-texture.c: - Redo pixel uploading. Add initial (disabled) YUV support. - - * clutter/clutter-timeline.c: - Fire 'completed' signal when looping. - - * clutter/cogl/gl/cogl.c: - Move some backend checks here. - - * clutter/glx/clutter-backend-glx.c: - Actually check target display has GLX ext. - - * clutter/glx/clutter-stage-glx.c: - Handle offscreen failing more gracefully. - - * examples/Makefile.am: - Use AM_LDFLAGS. - - * clutter/clutter-main.c: - * clutter/clutter-feature.c: - * clutter/clutter-backend.c: - * clutter/clutter-alpha.c: - Fix a compile warnings. - - * tests/Makefile.am: - * tests/test-offscreen.c: - * tests/test-scale.c: - More tests. - -2007-05-23 Tomas Frydrych - - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - (clutter_actor_get_abs_size_units): - (clutter_actor_get_abs_position_units): - removed from public api - -2007-05-22 Tomas Frydrych - - * configure.ac: - * Makefile.am: - * clutter.pc.in: - * clutter/Makefile.am: - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - * clutter/clutter-group.c: - * clutter/clutter-label.c: - * clutter/clutter-real.h: - * clutter/clutter-units.h: - * clutter/clutter.h: - * clutter/egl/clutter-stage-egl.c: - * clutter/glx/clutter-stage-glx.c: - * clutter/sdl/clutter-stage-sdl.c: - * examples/Makefile.am: - * tests/Makefile.am: - Removed ClutterReal; added clutter-units. - -2007-05-18 Tomas Frydrych - - * configure.ac: - * Makefile.am: - * clutter.pc.in: - * clutter/Makefile.am: - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - * clutter/clutter-behaviour-scale.c: - * clutter/clutter-behaviour-scale.h: - * clutter/clutter-group.c: - * clutter/clutter-label.c: - * clutter/clutter-real.h: - * clutter/egl/clutter-stage-egl.c: - * clutter/glx/clutter-stage-glx.c: - * examples/Makefile.am: - * tests/Makefile.am: - ClutterReal type. - -2007-05-17 Emmanuele Bassi - - * clutter/clutter-main.c: Use clutter_base_init() inside the - initialisation process, instead of calling g_type_init() directly. - - * clutter/clutter-alpha.c: - * clutter/clutter-behaviour-bspline.c: - * clutter/clutter-behaviour-ellipse.c: Fix API documentation. - -2007-05-17 Matthew Allum - - * configure.ac: - Fix CLUTTER_NO_FPU typo. - -2007-05-17 Tomas Frydrych - - * clutter/clutter-alpha.h: - * clutter/clutter-alpha.c: - * doc/reference/clutter-sections.txt: - Added clutter_exp_inc_func() and clutter_exp_dec_func(). - -2007-05-16 Emmanuele Bassi - - * clutter/clutter-main.[ch]: Add clutter_base_init(), semi-private - function to initialise just the base Clutter functionalities; it's - only used by gtk-doc to introspect the classes. - - * clutter/clutter-feature.c: Do not access the private features - data structure unless it has been initialised. - -2007-05-16 Tomas Frydrych - - * clutter/clutter-alpha.h: - * clutter/clutter-alpha.c: - * doc/reference/clutter-sections.txt: - Added clutter_sine_half(). - -2007-05-16 Tomas Frydrych - - * clutter/clutter-alpha.h: - * clutter/clutter-alpha.c: - * doc/reference/clutter-sections.txt: - Fixed clutter_sine_inc(), added clutter_sine_dec(). - -2007-05-16 Tomas Frydrych - - * clutter/clutter-alpha.h: - * clutter/clutter-alpha.c: - * doc/reference/clutter-sections.txt: - * doc/rererence/clutter.types: - * doc/reference/tmpl/clutter-alpha.sgml: - clutter_smoothstep_func alpha function, - ClutterSmoothstep struct for smoothstep function data. - -2007-05-16 Matthew Allum - - * clutter/clutter-backend.c: - * clutter/clutter-backend.h: - * clutter/clutter-feature.c: - * clutter/clutter-feature.h: - * clutter/clutter-main.c: - * clutter/clutter-main.h: - * clutter/clutter-private.h: - * clutter/clutter-stage.c: - * clutter/cogl/cogl.h: - * clutter/cogl/gl/cogl.c: - * clutter/cogl/gles/cogl.c: - * clutter/glx/clutter-backend-glx.c: - * clutter/glx/clutter-backend-glx.h: - * clutter/glx/clutter-glx.h: - * clutter/glx/clutter-stage-glx.c: - * clutter/glx/clutter-stage-glx.h: - Rejig the features() foo, moving mostly into backends/cogl. - -2007-05-15 Tomas Frydrych - - * clutter/clutter-actor.c: - (clutter_actor_get_abs_position): - Removed unnecessary CFX_MUL(). - -2007-05-15 Tomas Frydrych - - * clutter/clutter-behaviour-ellipse.h: - * clutter/clutter-behaviour-ellipse.c: - (clutter_behaviour_ellipse_new): - Added a tilt parameter. - -2007-05-14 Matthew Allum - - * clutter/clutter-behaviour-path.c: - Fix bug where last knot position wouldn't get reached. - - * clutter/clutter-group.c: - Add some docs - - * clutter/clutter-timeline.h: - * clutter/clutter-timeline.c: - Add clutter_timeline_copy (needed for ClutterEffect) - - * clutter/clutter-version.h.in: - Export windowing system / GL backend etc defines. - - * clutter/Makefile.am: - * clutter/clutter-effect.c: - * clutter/clutter-effect.h: - * clutter/clutter.h: - - * clutter/glx/clutter-backend-glx.c: - Minor clean ups. - - * clutter/clutter-alpha.h: - Add a fixme. - - * configure.ac: - Add FPU define. - - * examples/Makefile.am: - * examples/slider.c: - Add Robs slider game. - -2007-05-10 Matthew Allum - - * clutter/egl/clutter-backend-egl.c: - * clutter/egl/clutter-event-egl.c: - * clutter/sdl/clutter-backend-sdl.c: - * clutter/sdl/clutter-event-sdl.c: - Fix SDL & EGL backends to work with newer backend code. - -2007-05-10 Tomas Frydrych - - * clutter/clutter-color.h: - * clutter/clutter-color.c: - Added clutter_color_to/from_hlsx() - (clutter_color_to/from_hls): - Clobber hue to 0 .. 250 - -2007-05-10 Matthew Allum - - * clutter/clutter-backend.c: - * clutter/clutter-backend.h: - * clutter/clutter-event.c: - * clutter/clutter-main.c: - * clutter/clutter-private.h: - * clutter/glx/clutter-backend-glx.c: - * clutter/glx/clutter-backend-glx.h: - * clutter/glx/clutter-event-glx.c: - Rejig backend event code as to simplify a little. - NOTE: This breaks non glx backends. - - * tests/Makefile.am: - * tests/test-events.c: - Add a very simple event test. - - * tests/test-textures.c: (main): - Add some more sizes to the test. - -2007-05-05 Matthew Allum - - * clutter/clutter-texture.c: - Fix typos with new cogl using texture code. Fixes tiled textures. - Add a check for max npots size. - - * configure.ac: - * Makefile.am: - * tests/Makefile.am: - * tests/test-textures.c: - Add a simple texture test. - -2007-05-02 Matthew Allum - - * clutter/Makefile.am: - * clutter/clutter-stage.c: - * clutter/sdl/Makefile.am: - * clutter/sdl/clutter-backend-sdl.c: - * clutter/sdl/clutter-backend-sdl.h: - * clutter/sdl/clutter-event-sdl.c: - * clutter/sdl/clutter-sdl.h: - * clutter/sdl/clutter-stage-sdl.c: - * clutter/sdl/clutter-stage-sdl.h: - * configure.ac: - Add a basic SDL based backend. Lacks real input event handling - (translation) as yet. - Also allows for clutter to be built against dgles. - -2007-05-02 Matthew Allum - - * clutter/clutter-actor.c: - * clutter/cogl/gles/cogl.c: - Fix rotation + other fixed point cleanups. - - * clutter/clutter-texture.h: - Sketch out an updated API. - -2007-05-01 Matthew Allum - - * clutter/clutter-rectangle.c: - Comment out color match check for now as appears to be causing - borders to always get pained. - - * clutter/clutter-texture.h: - Add some format defines (unused as yet) - - * clutter/cogl/gles/cogl.c: - * clutter/egl/clutter-stage-egl.c: - * configure.ac: - Various OpenGL ES backend related fixes and tweaks. - -2007-04-30 Tomas Frydrych - - * clutter/clutter-fixed.c (clutter_sini): - Fixed bug in reducing angle to 0-2pi. - - * clutter/clutter-behaviour-ellipse.h: - * clutter/clutter-behaviour-ellipse.c: - * clutter/clutter.h: - * clutter/Makefile.am: - * doc/clutter.types: - * doc/clutter-docs.sgml: - Added ClutterBehaviourEllipse for movement along - elliptic paths. - - * examples/bspline.c: - * examples/behave.c: - * examples/Makefile.am: - Added --path commandline option to behave to choose different - path types (poly, ellipse, bspline) and dropped bspline example. - -2007-04-28 Matthew Allum - - * clutter/Makefile.am: - * clutter/clutter-debug.h: - * clutter/clutter-fixed.h: - * clutter/clutter-main.c: - * clutter/cogl/gles/Makefile.am: - * clutter/cogl/gles/cogl-defines.h: - * clutter/cogl/gles/cogl.c: - * clutter/egl/clutter-backend-egl.c: - * clutter/egl/clutter-backend-egl.h: - * clutter/egl/clutter-stage-egl.c: - * configure.ac: - Populate most stubs for cogl GL/ES implementation. - (against vincent - see http://svn.o-hand.com/repos/misc/ogles) - Add various fixups to EGL backend. - Code builds and runs (on 16bpp) but yet displays much (is close!) - - * clutter/pango/pangoclutter-render.c: - comment out some rouge glBegin/end calls. - -2007-04-27 Matthew Allum - - * clutter/Makefile.am: - * clutter/clutter-actor.c: - * clutter/clutter-clone-texture.c: - * clutter/clutter-rectangle.c: - * clutter/clutter-stage.c: - * clutter/clutter-texture.c: - * clutter/cogl/cogl.h: - * clutter/cogl/gl/Makefile.am: - * clutter/cogl/gl/cogl-defines.h: - * clutter/cogl/gl/cogl.c: - * clutter/cogl/gles/Makefile.am: - * clutter/cogl/gles/cogl-defines.h: - * clutter/cogl/gles/cogl.c: - * clutter/glx/Makefile.am: - * clutter/glx/clutter-stage-glx.c: - * clutter/pango/Makefile.am: - * clutter/pango/pangoclutter-render.c: - * configure.ac: - Add initial 'cogl' implementation. 'cogl' is a simple abstration - layer over GL and GL/ES used by clutter internally. It should - eventually allow clutter applications to be run on both GL and GL/ES - with just a recompile as well as provide more debugging and potentially - profiling information for GL and GL/ES usage. - - This commit contains the initial GL implementation. - -2007-04-26 Emmanuele Bassi - - Merge from clutter-0-2 - - * clutter/clutter-label.c: Unbreak the "use-markup" property - by actually passing the markup to pango_layout_set_markup(). - -2007-04-25 Emmanuele Bassi - - Merge from clutter.git/master - - * clutter/glx/clutter-event-glx.c: - * clutter/glx/clutter-stage-glx.c: Implement the _NET_WM_PING - protocol handling on the main stage window. - - * clutter/clutter-stage.h: - * clutter/clutter-stage.c: - * clutter/clutter-main.c: Handle CLUTTER_DELETE events internally, - by calling clutter_main_quit(), and remove the ::delete-event - signal from ClutterStage; clean up the signal emission sequence - for the events: emit the ::event signal before emitting any signal - and the ::event-after signal after the signal has been emitted; move - the signal emission calls inside ClutterStage so we can call - g_signal_emit() instead of g_signal_emit_by_name(), thus sparing us - a lookup for each event. - - * examples/test.c: Remove ::delete-event signal handling. - -2007-04-19 Emmanuele Bassi - - Merge from clutter.git/master - - * clutter/clutter-backend.h: - * clutter/clutter-backend.c: Add API for getting screen/display - properties from the backend. - - * clutter/glx/clutter-backend-glx.c: - * clutter/glx/clutter-backend-egl.c: Retrieve screen/display - properties inside the backends init function. - - * clutter/glx/clutter-event-glx.c: Handle the WM_PROTOCOLS - ClientMessage events. - - * clutter/glx/clutter-stage-glx.c: Use XSetWMProtocols to enable - the WM_PROTOCOLS ClientMessage events on the stage window. - - * clutter/glx/clutter-glx.h: Return the Screen pointer and not - the screen number in clutter_glx_get_default_screen(). The screen - number is returned by clutter_backend_get_screen_number(), or - by calling XScreenNumberOfScreen on the returned pointer. - - * clutter/clutter-event.h: Add CLUTTER_DELETE to the event types. - - * clutter/clutter-main.c: Emit the ClutterStage::delete-event - when receiving a CLUTTER_DELETE event; if the signal handlers - return FALSE, call clutter_main_quit(). - - * clutter/clutter-marshal.list: - * clutter/clutter-stage.c: Use the right marshaller function - for the delete-event closure. - - * examples/test.c: Test the "delete-event" signal handler. - -2007-04-16 Emmanuele Bassi - - Merge from clutter.git/merge-from-stable - - * clutter/clutter-event.h: - * clutter/glx/clutter-event-glx.c: Add the XEMBED protocol support - in the GLX backend, for embedding the stage window into another - X window. This allows cross-toolkit inclusion and makes clutter-gtk - possible. - - * clutter/clutter-behaviour-scale.c: Implement every ClutterGravity - value inside the scale behaviour and make the actors anchor to a - gravity when scaling up and down. - - * clutter/clutter-texture.c: Revert to copying GdkPixbuf areas to - correctly implement the texture tiling. This fixes segmentation - faults occurring with cards with a small texture memory area. - - * clutter/clutter-actor.c: Call g_object_freeze_notify() (and take - a reference on the actor) inside clutter_actor_request_size() so - that the notifications get unqueued at the end of the size request. - -2007-04-16 Emmanuele Bassi - - Merge from clutter.git/work - - * clutter/clutter-behaviour-bspline.[ch]: Return a ClutterBehaviour - when splicing the b-spline; fix the header and the API documentation; - hush the compiler warnings; kill of some pointer indirections. - - * clutter/clutter-behaviour-rotate.[ch]: Add a rotate behaviour, - with user defined axis, direction and sweep angle. - - * clutter/clutter-behaviour.c (clutter_behaviour_is_applied): Add - a parameter ISA check and return FALSE if it fails. - -2007-04-12 Tomas Frydrych - - * clutter/clutter-behaviour.h: - * clutter/clutter-behaviour.c: - * clutter/clutter-behaviour-path.h: - * clutter/clutter-behaviour-path.c: - Moved declaration of ClutterKnot from clutter-behaviour path - into clutter-behaviour. - - * clutter/clutter-fixed.h - * clutter/clutter-fixed.c - Added myself as an author. - - * clutter/Makefile.am: - * clutter/clutter.h: - * clutter/clutter-behaviour-bspline.h: - * clutter/clutter-behaviour-bspline.c: - Added new bezier spline behaviour. - - * examples/bspline.c: - * examples/Makefile.am: - An example of using bspline path. - -2007-04-07 Matthew Allum - - * clutter/glx/clutter-backend-glx.c: - Fix version check. - -2007-03-29 Tomas Frydrych - - * clutter/clutter-stage.c: - (perspective): fixed degree -> rad conversion for fovy angle - (perspectivex): fixed degree -> rad conversion for fovy angle, - added code for gle glMultMatrixx(). - -2007-03-29 Tomas Frydrych - - * configure.ac: fixed typo - - * clutter/clutter-fixed.c: - * clutter/clutter-fixed.h: - (clutter_tani): fast implementation of tan() - (clutter_qmulx): improved-precission fixed point multiply - - * clutter/clutter-stage.c: - (perspectivex): fixed point implementaiton of perspective() - (_clutter_stage_sync_viewport): - (clutter_stage_get_actor_at_pos): - use perspectivex() instead of perspective() - -2007-03-27 Matthew Allum - - * clutter/cogl/Makefile.am: - * clutter/cogl/cogl.h: - * clutter/cogl/gles/Makefile.am: - * clutter/cogl/gles/cogl.c: - Begin poplulating cogl GLES code. - - * configure.ac: - * clutter/egl/clutter-event-egl.c: - * clutter/egl/clutter-stage-egl.c: - * clutter/egl/clutter-stage-egl.h: - * clutter/egl/clutter-backend-egl.c: - * clutter/egl/clutter-backend-egl.h: - * clutter/egl/clutter-egl.h: - Add initial EGL/X backend work mostly ported from backend branch. - Builds but untested as yet. - - * clutter/glx/clutter-stage-glx.c: - Only include XFixes Header if we have have it. - - * clutter/clutter-behaviour.c: (clutter_behaviour_apply): - * clutter/clutter-behaviour.h: - Add clutter_behaviour_is_applied() - -2007-03-27 Emmanuele Bassi - - * clutter/clutter-stage.h: Remove unused clutter_stage_flush() - declaration. - -2007-03-27 Emmanuele Bassi - - * clutter/glx/clutter-glx.h: - * clutter/glx/clutter-stage-glx.c: (Re-)Implement the foreign - window setting function for the stage in the GLX backend. - -2007-03-27 Emmanuele Bassi - - * clutter/clutter-stage.h: Declare the clutter_perspective_get_type() - function in the header. - -2007-03-27 Emmanuele Bassi - - * clutter/cogl/cogl.h: Add header and compiler guards. - -2007-03-27 Emmanuele Bassi - - * clutter/glx/clutter-stage-glx.c: Remove the check in the - paint chain up: we know for sure that the parent's paint - vfunc is present. - -2007-03-27 Matthew Allum - - * clutter/clutter-feature.c: - Rejig ifdef's a little. Make drm vblanking Linux only. - - * clutter/clutter-stage.c: - * clutter/clutter-stage.h: - Add a perspective boxed type. - - * clutter/glx/clutter-stage-glx.c: - Add some FIXMEs - - * clutter/Makefile.am: - * clutter/cogl/Makefile.am: - * clutter/cogl/cogl.h: - * clutter/cogl/gl/Makefile.am: - * clutter/cogl/gl/cogl.c: - * configure.ac: - Very initial work on 'cogl' GL/GLES abstraction/utility code. - -2007-03-26 Emmanuele Bassi - - * clutter/clutter-behaviour-scale.[ch]: Add API for getting - the scale bounds and the gravity from a scale behaviour instance. - -2007-03-26 Emmanuele Bassi - - * clutter/clutter-timeline.c: Fix last commit. - -2007-03-25 Emmanuele Bassi - - * clutter/clutter-timeline.c: Slightly lower the proiority - of the ClutterTimeline tick, so that events get a higher - priority in the main loop. - -2007-03-25 Emmanuele Bassi - - * clutter/clutter-event.[ch]: Remove the flags member from - the ClutterEvent structure; remove the ClutterEventFlags - enum. - -2007-03-25 Emmanuele Bassi - - * clutter/clutter-stage.h: Remove the ::get_actor_at_pos() - and ::flush() vfuncs. - - * clutter/glx/clutter-stage-glx.c: Remove the implementations - of those vfuncs from the backend specific code, as they are - pure GL calls. - - * clutter/clutter-stage.c: Add back the actor hit detection - code in the base stage class, along with the viewport - synchronisation function. - - * clutter/clutter-private.h: Declare the private function - _clutter_stage_sync_viewport(). - -2007-03-23 Emmanuele Bassi - - * clutter/clutter-backend.c: Clear the event queue when - disposing the backend object; remove the initialisation - of the backend structure members... - - * clutter/glx/clutter-backend-glx.c: ... and keep it here - in the backends where it belongs. - -2007-03-23 Emmanuele Bassi - - * clutter/clutter-private.h: - * clutter/clutter-backend.h: Move the backend functions - into the private header. - - * clutter/glx/clutter-stage-glx.c: - * clutter/glx/clutter-event-glx.c: - * clutter/clutter-main.c: - * clutter/clutter-stage.c: Update the calls to the private - backend functions. - - * clutter/clutter-backend.[ch]: Add an ::init_features - vfunc to ClutterBackend. - -2007-03-23 Emmanuele Bassi - - * clutter/glx/clutter-stage-glx.c: - Make sure the top-left corner of the box is our origin, - when returning the allocation. - - * clutter/clutter-stage.c: - * clutter/clutter-group.c: Add tracing for the paint - method. - -2007-03-23 Matthew Allum - - * clutter/glx/clutter-stage-glx.c: - (clutter_stage_glx_allocate_coords): - Make new stage return correct width & height. - -2007-03-23 Emmanuele Bassi - - Assorted build fixes to pass distcheck. - - * clutter/glx/Makefile.am: Install the clutter-glx.h header. - - * clutter/Makefile.am: Actually apply linker flags. - - * configure.ac: Use a more readable CLUTTER_API_VERSION instead - of CLUTTER_MAJORMINOR; require gobject-2.0 with glib-2.0 >= 2.10, - as we are using GObject and the slice allocator from glib 2.10. - - * clutter.pc.in: Add the apiversion variable. - -2007-03-23 Emmanuele Bassi - - * clutter/clutter-event.c: Pop and peek the event queue - from the tail - it's a queue, not a stack. - - * clutter/clutter-private.h: - * clutter/clutter-main.c: Add a boolean signal accumulator. - - * clutter/clutter-stage.[ch]: Add an event argument to - the 'delete-event' signal; rename the 'input-event' signal - to 'event'; add the static scope flag to all the stage - events. - - * examples/*.c: Update. - -2007-03-22 Emmanuele Bassi - - * clutter.pc.in: Require gobject-2.0 too. - - * ChangeLog: Fix the previous commit log. - -2007-03-22 Emmanuele Bassi - - * clutter/clutter-private.h: Remove inclusion of backend-specific - headers; update the main context object; add the declarations for - the event queue functions. - - * clutter/clutter-backend.[ch]: Add the abstract ClutterBackend - object, which holds backend-specific settings, the main stage, - and the event queue. Every backend must implement a subclass of - ClutterBackend and ClutterStage. - - * clutter/clutter-feature.c: Protect the GLX specific calls - behing #ifdef HAVE_CLUTTER_GLX. - - * clutter/clutter-actor.c: - * clutter/clutter-group.c: - * clutter/clutter-clone-texture.c: Include GL/gl.h - - * clutter/clutter-event.[ch]: Update public API and implement the - event queue private API; hold a reference on the event objects; - move out the keysym-to-unicode table; add the new event types. - - * clutter/clutter-color.h: Include clutter-fixed.h - - * clutter/clutter-main.c: Update API; get the main stage - from the backend object; process the event received from the - queue; lock/unlock the main mutex if we have one; move the - initialisation process sooner in the init sequence, in order to - have the backend object when we check for options; call the - backed vfuncs in the pre/post parse hooks. - - * clutter/clutter-stage.c: Make ClutterStage and abstract class, - implemented by the backends. - - * clutter/clutter/glx/clutter-glx.h: - * clutter/clutter/glx/clutter-backend-glx.[ch]: - * clutter/clutter/glx/clutter-event-glx.c: - * clutter/clutter/glx/clutter-stage-glx.[ch]: - * clutter/clutter/glx/Makefile.am: Add the GLX backend. - - * clutter/clutter/egl/clutter-backend-egl.[ch]: - * clutter/clutter/egl/clutter-event-egl.c: - * clutter/clutter/egl/clutter-stage-egl.[ch]: - * clutter/clutter/egl/Makefile.am: Add the stub for a EGL backend. - - * examples/*.c: Update for the new API. - - * configure.ac: Check for the XFixes X extension; add a configure - switch for choosing the backend; show the backend we are building - in the summary. - - * clutter.pc.in: Add the backend to the exported variables. - - * clutter/Makefile.am: Install the headers in the - clutter-$api_version/clutter directory, as usual; call the shared - object libclutter-$backend-$api_version; build glue for the - backend static library. - -2007-03-19 Matthew Allum - - * clutter/clutter-label.c: - Simple doc fix. - * clutter/clutter-texture.c: (clutter_texture_get_pixbuf): - Backport of fix to get_pixbuf on non alpha textures from 0_2 branch. - -2007-03-19 Emmanuele Bassi - - * clutter/clutter-texture.c: Clean up code; add checks - in public API. - -2007-02-18 Matthew Allum - - * clutter/clutter-actor.c: (clutter_actor_reparent): - Add a FIXME re calling clutter_group here. - * clutter/clutter-group.c: - Fix clutter_group_remove_all - -2007-02-15 Matthew Allum - - * clutter/clutter-group.h: - Add missing clutter_group_remove_all declaration. - -2007-02-14 Matthew Allum - - * clutter/Makefile.am: - * clutter/clutter-main.c: - * clutter/clutter-stage.c: - * clutter/clutter-version.h.in: - * configure.ac: - * examples/super-oh.c: - Add CLUTTER_FLAVOUR define. - -2007-02-13 Matthew Allum - - * examples/super-oh.c: (screensaver_setup): - Fix example to build with new glx api - -2007-02-07 Emmanuele Bassi - - * clutter/clutter-debug.h: Define the CLUTTER_MARK() - macro even when CLUTTER_ENABLE_DEBUG is not - defined. (#215) - -2007-01-30 Tomas Frydrych - - * clutter/clutter-alpha.c: - (sincx1024_func): - (clutter_sine_func): - (clutter_sine_inc_func): - fixed the fixed point math. - -2007-01-30 Emmanuele Bassi - - * clutter/clutter-alpha.h: - * clutter/clutter-alpha.c: Add the square waveform - function clutter_square_func() to the precooked - alpha functions. - -2007-01-23 Matthew Allum - - * Makefile.am: - * clutter.pc.in: - * clutter/Makefile.am: - * clutter/clutter-backend-glx.c: - * clutter/clutter-backend-glx.h: - * clutter/clutter-event.c: - * clutter/clutter-feature.c: - * clutter/clutter-group.c: - * clutter/clutter-main.c: - * clutter/clutter-main.h: - * clutter/clutter-private.h: - * clutter/clutter-stage-glx.c: - * clutter/clutter-stage-glx.h: - * clutter/clutter-stage.c: - * clutter/clutter-stage.h: - * clutter/clutter-util.c: - * clutter/clutter-util.h: - * clutter/pango/pangoclutter-render.c: - * configure.ac: - * examples/Makefile.am: - Initial work in supporting different GL backends (ie. GLX/EGL/DirectFB etc). - Currently just GLX supported and now mostly self contained. - - * TODO: - Add a note about caching glenables - -2007-01-23 Tomas Frydrych - - * clutter/clutter-fixed.c: - (_clutter_double_to_fixed): - (_clutter_double_to_int): - Fixed to avoid problems with punned pointers and gcc - optimatisation. - - * clutter/pango/pangoclutter-private.h: - Simplified PANGO_PIXELS_26_6 macro. - - * clutter/pango/pangoclutter-font.c: - (_pango_clutter_font_new): - Replace floating with fixed point math. - -2007-01-19 Tomas Frydrych - - * clutter/clutter-fixed.c: (clutter_sqrti): - Use union instead of casting int <-> float to get rid of - punned-pointer warning and avoid gcc optimatisation breaking - the function on arm. - -2007-01-19 Emmanuele Bassi - - Allow the ClutterGroup subclasses to override the add and - remove operations. - - * clutter/clutter-group.c: Move the add and remove code from - clutter_group_add() and clutter_group_remove() to the signal - class closures; make the "add" and "remove" signals as - RUN_FIRST. - -2007-01-19 Tomas Frydrych - - * clutter/clutter-fixed.h.: - * clutter/clutter-fixed.c: - Added fast double to int and double to fixed point conversion - routines; changed CLUTTER_FLOAT_TO_FIXED to use it. - Replaced clutter_sqrti with fixed point implementation of the QIII - algorithm. - - * clutter/clutter-behavior-path.c: use clutter_sqrti always - - * clutter/clutter-alpha.c: - (sinc_func): replaced double -> int cast with CLUTTER_FLOAT_TO_INT - -2007-01-18 Emmanuele Bassi - - * configure.ac: Post release bump to 0.3.0. - -2007-01-18 =============== 0.2 Release ================================ - -2007-01-18 Matthew Allum - - * clutter.doap: - Update for 0.2 release - -2007-01-18 Emmanuele Bassi - - * clutter/clutter-group.h: Add public functions - clutter_group_get_n_children() and clutter_group_get_nth_child(). - - * clutter/clutter-behaviour.h: - * clutter/clutter-behaviour.c: Fix header alignment; fix argument - name for apidoc. - -2007-01-18 Emmanuele Bassi - - * clutter/Makefile.am: Use the build dir when linking to the - internal pango clutter renderer. - -2007-01-18 Tomas Frydrych - - * clutter/clutter-fixed.h: fixed a typo in comment - -2007-01-18 Emmanuele Bassi - - * clutter/clutter-fixed.h: Remove some inline documentation to - make the header more readable. - - * clutter/clutter-behaviour.c: The actors are store inside a - GSList and not in a GList, so change the list operations to - use the right API. - -2007-01-18 Tomas Frydrych - - * clutter/clutter-color.c: - (clutter_color_darken): - (clutter_color_lighten): - Changed calls to clutter_color_shade calls to clutter_color_shadex - -2007-01-17 Matthew Allum - - * configure.ac: - Bump up version to 0.2.0 - -2007-01-17 Tomas Frydrych - * configure.ac: - * clutter/clutter-behavior-path.c: - Added --without-fpu option. - - * doc/refrence/tmpl/clutter-fixed.sgml: - * clutter/clutter-fixed.c: - * clutter/clutter-fixed.h: - Documentation for fixed point API. - - * AUTHORS: added self. - -2007-01-17 Emmanuele Bassi - - * clutter/clutter-feature.h: - * clutter/clutter-feature.c: Move the GL headers from the - header file to the body. - - * clutter/clutter-fixed.h: - * clutter/clutter-fixed.c: Fix apidoc. - - * clutter/clutter-color.h: - * clutter/clutter-color.c: Ditto. - -2007-01-17 Tomas Frydrych - - * clutter/clutter-fixed.h: - * clutter/clutter-fixed.c: - * clutter/clutter-alpha.c: - Renamed clutter_fixed_sin() to clutter_sinx() and - clutter_angle_sin() to clutter_sini(); added clutter_sqrtx() - and clutter_sqrti(); added missing copyright. - - * clutter/clutter-behavior.c: - replaced call to sqrt() with clutter_sqrti() - - * clutter/clutter-behavior-scale.c: - (clutter_behaviour_scale_alpha_notify): - Replaced floating point math with fixed point. - -2007-01-16 Emmanuele Bassi - - * clutter/clutter-feature.c: Use clutter_vblank_method() to - get the VBlank method name from the environment variable OR - the command line switch. - - (clutter_feature_do_init): Move the check on the features - state here, to avoid an expensive function call, and inline - the function. - - * clutter/clutter-fixed.c: Fix gtk-doc. - - * clutter/clutter-main.c: Add a --clutter-vblank command line - switch controlling the VBlank method to be used: it overrides - the CLUTTER_VBLANK environment variable. - - (pre_parse_hook), (clutter_init), - (clutter_init_with_args): Move thread initialisation before - type init, to avoid the warning that comes with newer GLib - versions. - - * clutter/clutter-group.h: - * clutter/clutter-group.c: Mark clutter_group_show_all() and - clutter_group_hide_all() as deprecated. - -2007-01-16 Matthew Allum - - * NEWS: - Minor tweaks - - * TODO: - Sync up, mainly with 0.3 todo items - - * clutter/clutter-behaviour.c: - * clutter/clutter-behaviour.h: - clutter_behaviour_get_n_actors() / clutter_behaviour_get_nth_actor() - Additions. - - * clutter/clutter-stage.c: (clutter_stage_realize): - Experimental (disabled) visual setting code. - - * clutter/clutter-feature.c: - Check for GL_EXT_texture_rectangle (#198 - Frederick Riss) - - * clutter/clutter-group.c: (clutter_group_allocate_coords): - Fix for group size allocation (#199 - Frederick Riss) - - * clutter/clutter-texture.c: (texture_upload_data): - Fix texture unpacking row length (#197 Frederick Riss) - - * examples/Makefile.am: - Fix LDADD in build (#196 - Frederick Riss) - -2007-01-16 Tomas Frydrych - - * clutter/clutter-fixed.h: - Added integer ClutterAngle type, protype of clutter_angle_sin, - convenience macros clutter_fixed_cos and clutter_angle_cos, plus - other convenience macros for commonly used constants and ops. - * clutter/clutter-fixed.c: - (clutter_fixed_sin): - Fixed to work for negative angles. - (clutter_angle_sin): - Fast fixed point sin function for ClutterAngle angles. - * clutter/clutter-alpha.c: - (clutter_sin_func, clutter_sin_inc_func): - Changed to use clutter_angle_sin function. - * clutter-behavior-path.c: - replaced floating point with fixed point operations - * clutter/clutter-color.c: - * clutter/clutter-color.h: - Added (clutter_color_shadex), replaced floating point operations - with fixed point - -2007-01-15 Tomas Frydrych - - * clutter/clutter-fixed.h: (CLUTTER_FIXED_TO_DOUBLE/FLOAT): - Fixed macro so it works for negative values. - * clutter/clutter-fixed.c: (clutter_fixed_sin): - Implemented fixed point sin function. - * clutter/clutter-alpha.c: (clutter_sin_func, clutter_sin_inc_func): - Pluged in fixed point sin function. - -2007-01-07 Matthew Allum - - * clutter/clutter-actor.c: (clutter_actor_allocate_coords): - Fix an amazingly not noticed until now typo. - Minor doc tweaks. - - * clutter/clutter-behaviour-opacity.c: - (clutter_behaviour_alpha_notify): - Take into account initial opacity value when calculating from alpha. - - * clutter/clutter-group.c: - Add new get_nth_child() and get_n_children() api calls. - -2007-01-04 Matthew Allum - - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - Add new set_width/height API calls. - Tweak scaling by reseting matrix. - Make set_opactiy() take parent opacity into account. - Fix clipping. - - * clutter/clutter-alpha.c: - Add more sine functionality. - - * clutter/clutter-behaviour-opacity.c: - Dont make a copy of all applied actors but use a foreach() - - * clutter/clutter-behaviour-scale.c: - Give correct limits to propertys. - Tweak gravity a little more. - Update docs. -: - * clutter/clutter-behaviour.c: (clutter_behaviour_remove): - Minor warning text change. - - * clutter/clutter-feature.c: (clutter_feature_wait_for_vblank): - Minor dri ioctl tweak. - - * clutter/clutter-label.c: - * clutter/clutter-label.h: - Add new label_full api call. - -2006-12-27 Emmanuele Bassi - - * clutter/clutter-stage.[ch]: - * clutter/clutter-event.[ch]: Revert changes; this is what - happens when you keep old tree around. - -2006-12-27 Emmanuele Bassi - - * clutter/clutter-color.h: - * clutter/clutter-color.c: Add clutter_color_to_string(), - which creates a hex-encoded color string from a ClutterColor. - -2006-12-20 Matthew Allum - - * NEWS: - Add some missing improvements. - -2006-12-17 Emmanuele Bassi - - * clutter/clutter-label.c: Remove some gtk-isms; always take - a reference before calling g_object_notify(), as the object - might get disposed while calling the closures inside the - notify queue; notify the changes of the ellipsize property. - -2006-12-14 Emmanuele Bassi - - * clutter/clutter-color.h: - * clutter/clutter-color.c: Expose clutter_color_copy() - and clutter_color_free() for the python bindings, so that - they can manager the conversion automatically; use the - slice allocator when copying/freeing a ClutterColor. - -2006-12-13 Emmanuele Bassi - - * clutter/clutter-color.h: - * clutter/clutter-color.c: Add clutter_color_equal(), - a function for comparing two colors. - - * clutter/clutter-rectangle.c: - (clutter_rectangle_set_color), - (clutter_rectangle_set_border_color): Unset the border if - the color of the rectangle and the color of the border are - the same. - -2006-12-13 Emmanuele Bassi - - * clutter/clutter-actor.c: - * clutter/clutter-clone-texture.c: - * clutter/clutter-event.h: - * clutter/clutter-stage.c: - * clutter/clutter-texture.c: - * clutter/clutter-timeline.c: Update the inline apidoc. - -2006-12-13 Matthew Allum - - * clutter/clutter-actor.c: (clutter_actor_class_init): - Allow actor x,y props to be negative. - -2006-12-12 Emmanuele Bassi - - Rework part of the show/hide machinery. Allow groups sub-classes - and composite actors to override show_all/hide_all in order to - decide which children they wish to show/hide. This means that - if an actor overrides the default show/hide virtual methods, it'll - have to chain up to the parent class show/hide. While we're at it, - provide the fully recursive clutter_actor_show_all() and - clutter_actor_hide_all() methods. - - * clutter/clutter-behaviour-path.c: Add apidoc for the ClutterKnot - functions; add pathological equality case for clutter_knot_equal(). - - * clutter/clutter-event.h: - * clutter/clutter-feature.h: - * clutter/clutter-behaviour.c: - * clutter/clutter-behaviour-scale.c:Fix parameters name so that - gtk-doc doesn't complain. - - * clutter/clutter-actor.c: - * clutter/clutter-event.c: Add apidoc - - * clutter/clutter-actor.h: - * clutter/clutter-actor.c: Add a clutter_actor_show_all() and a - clutter_actor_hide_all() functions; provide a mechanism for - groups and composited actors to programmatically select what to - show/hide when clutter_actor_show_all() and clutter_actor_hide_all() - are called. If you are overriding the ClutterActor::show or - the ClutterActor::hide virtual methods you should chain up with - the parent class. - - * clutter/clutter-group.c: Override show_all and hide_all and - recursively show/hide every child inside the group; - clutter_group_show_all() and clutter_group_hide_all() remain as non - recursive versions of clutter_actor_show_all() and - clutter_actor_hide_all() (maybe we should rename them in order - to avoid name clashes with the bindings). - - * clutter/clutter-stage.c: - * clutter/clutter-texture.c: Chain up with parent class show - and hide vfuncs. - - * clutter/clutter-clone-texture.h: - * clutter/clutter-clone-texture.c: Provide API for changing the - parent texture of a clone texture actor. - - * examples/behave.c: - * examples/super-oh.c: - * examples/test.c: Use clutter_actor_show_all() instead of - clutter_group_show_all(). - -2006-12-08 Matthew Allum - - * clutter.doap: - Put release date in correct format. - -2006-12-08 Emmanuele Bassi - - * clutter/clutter-behaviour.h: Add a function prototype - for the foreach function: we need something more specific - than GFunc; add clutter_behaviour_get_actors(), used to - get a list of the actors. - - * clutter/clutter-behaviour.c: Add debugging notes; add - a warning for behaviour implementations missing the - alpha_notify vfunc; add api documentation - - * clutter/clutter-behaviour-opacity.c: - * clutter/clutter-behaviour-path.c: - * clutter/clutter-behaviour-scale.c: Reimplement the - alpha_notify functions using the new foreach function - and, where possible, by directly iterating on the - actors: this shaves off the number of recalculations - of the property/alpha values, and the number of - functions. - -2006-12-05 Emmanuele Bassi - - * clutter/clutter-rectangle.c: Forgot to set the - pencil color. - -2006-12-05 Emmanuele Bassi - - * behave.c: Add test for clutter_color_parse(). - -2006-12-05 Emmanuele Bassi - - * clutter/clutter-event.c: Move the apidoc out. - -2006-12-05 Emmanuele Bassi - - * clutter/clutter-color.h: - * clutter/clutter-color.c: Add clutter_color_parse(), - which parses a string containing a color definition as - understood by XParseColor() (or pango_color_parse()). - -2006-12-04 Emmanuele Bassi - - Avoid clutter segfaulting when used without invoking - clutter_init(). This is needed when using api documentation - tools and every other tool relying on the GObject - introspection API (esp. on a headless box). see the - note in clutter/clutter-feature.c:clutter_feature_init - for a full explanation. - - * clutter/clutter-feature.c: Call clutter_feature_init() - when needed by one of the accessors of the features - structure. - - * clutter/clutter-main.c: - * clutter/clutter-private.h: Remove clutter_feature_init() - public declaration: the features support check is done the - first time a feature is needed. - - * clutter/clutter-main.c: Do not ever access the clutter - main context pointer directly; instead, obtain a pointer - to it via clutter_context_get_default(), which will always - return something valid. - -2006-12-04 Emmanuele Bassi - - * clutter/clutter-private.h: Add our own READABLE, - WRITABLE and READWRITE paramspec flags, declaring the - string components of the properties GParamSpec as static; - this should shave off some bytes in the memory footprint - and avoid relocations. - - * clutter/clutter-actor.c: - * clutter/clutter-behaviour.c: - * clutter/clutter-behaviour-opacity.c: - * clutter/clutter-behaviour-path.c: - * clutter/clutter-behavuour-scale.c: - * clutter/clutter-clone-texture.c: - * clutter/clutter-label.c: - * clutter/clutter-rectangle.c: - * clutter/clutter-stage.c: - * clutter/clutter-texture.c: - * clutter/clutter-timeline.c: Use the CLUTTER_PARAM_* - macros we just added. - - * clutter/clutter-behaviour-scale.c: Add properties for - the scale begin, scale end and gravity parameters. - - * clutter/clutter-behaviour-path.h: Mark the ClutterKnot - memory management functions as public (for the bindings), - since we use the slice allocator for copying knots around; - add a clutter_knot_equal() function. - - * clutter/clutter-behaviour-path.c: - (node_distance): Use clutter_knot_equal() as a fast path - to avoid the sqrt() in case the nodes we are using are - at the same position. - (path_total_length): Additional check on the existence - of the next node. - - * examples/behave.c: Do not leak the ClutterBehaviour - objects around. - -2006-12-03 Emmanuele Bassi - - * clutter/clutter-texture.h: Clean up. - - * clutter/clutter-texture.c: Typo fix in the name - of ClutterTextureTileDimension. - - * clutter/clutter-behaviour.c: Allow passing NULL - to clutter_behaviour_set_alpha() (as we pass NULL - in the finalize process). - -2006-12-02 Emmanuele Bassi - - * clutter/clutter-version.h.in: Fix a stupid logic - error in the CHECK_VERSION macro. - -2006-11-30 Matthew Allum - - * clutter.doap: - Updates - -2006-11-30 Emmanuele Bassi - - * clutter/clutter-stage.h: - * clutter/clutter-stage.c: - (clutter_stage_swap_buffers): Remove, as the same is done - via clutter_redraw() and clutter_actor_queue_redraw(). - - (clutter_stage_unrealize), (clutter_stage_init), - (clutter_stage_set_xwindow_foreign): Do not call - XDestroyWindow() on the stage Window if we are using a - foreign Window, as we don't control its lifetime. - -2006-11-30 Emmanuele Bassi - - * Makefile.am: Remove the gtk directory from the SUBDIRS. - - * clutter/clutter-stage.h: - * clutter/clutter-stage.c: Add clutter_stage_swap_buffers(), - which swaps the GL buffers. This fixes the redraw in the - GTK widget. - -2006-11-29 Emmanuele Bassi - - * clutter/clutter-stage.c: - (clutter_stage_set_xwindow_foreign): Add checks; - remove an indirection to the private data. - -2006-11-29 Emmanuele Bassi - - * gtk/* - * configure.ac: - * Makfile.am: Remove the GTK+ widget from the - main tree; now Clutter depends just on GLib, - XLibs, GdkPixbuf and OpenGL. - -2006-11-29 Matthew Allum - - * clutter/clutter-stage.c: (clutter_stage_realize): - Set colormap on stage window - should fix issues - with indirect rendering. - -2006-11-23 Matthew Allum - - * clutter/clutter-debug.h: - Fix small macro typo. - -2006-11-22 Matthew Allum - - * clutter/clutter-actor.c: - * clutter/clutter-alpha.c: - * clutter/clutter-behaviour-opacity.c: - * clutter/clutter-behaviour-scale.c: - * clutter/clutter-clone-texture.c: - * clutter/clutter-feature.c: - * clutter/clutter-label.c: - * clutter/clutter-main.c: - * clutter/clutter-stage.c: - * clutter/clutter-texture.c - * clutter/clutter-timeline.c: - * clutter/clutter-debug.h: - Make CLUTTER_NOTE() just take a string rather than a func. - Add more default context to output. - - * configure.ac: - Fix flag and add more help docs for --ebable-debug option. - -2006-11-21 Emmanuele Bassi - - * clutter/clutter-main.c: Add a --g-fatal-warnings switch - for abort()-ing on warnings and criticals. - -2006-11-21 Emmanuele Bassi - - * configure.ac: Enable debug messages also when - --enable-debug is set to "minimum". - - * clutter/Makefile.am: - * clutter/clutter-debug.h: Move all debugging macros inside - this private header; make all debug macros depend on the - CLUTTER_ENABLE_DEBUG compile time define, controlled by - the --enable-debug configure switch; add G_LOG_DOMAIN define. - - * clutter/clutter-main.c: Clean up the debug stuff; add - command line argument parsing using GOption; the debug - messages now are triggered like this: - - CLUTTER_DEBUG=section:section:... clutter-app - - or like this: - - clutter-app --clutter-debug=section:section:... - - where "section" is one of the sections listed in clutter-main.c, - or "all", for all sections; each section is bound to a flag, - which can be used to define a domain when adding a debug note - using the CLUTTER_NOTE() macro; the old CLUTTER_DBG() macro is - just a wrapper around that, under the CLUTTER_DEBUG_MISC domain; - CLUTTER_NOTE() is used like this: - - CLUTTER_NOTE (DOMAIN, log-function); - - where log function is g_printerr(), g_message(), g_warning(), - g_critical() or directly g_log() - for instance: - - CLUTTER_NOTE (PANGO, g_warning ("Cache miss: %d", glyph)); - - will print the warning only if the "pango" flag has been - set to the CLUTTER_DEBUG envvar or passed to the --clutter-debug - command line argument. - - similar to CLUTTER_SHOW_FPS, there's also the --clutter-show-fps - command line switch; also, the --display and --screen command - line switches have been added: the first overrides the DISPLAY - envvar and the second controls the X screen used by Clutter to - get the root window on the display. - - * clutter/clutter-main.h: - * clutter/clutter-main.c: Add extended support for GOption - in Clutter; use clutter_init_with_args() to let Clutter - parse your own command line arguments; use instead - clutter_get_option_group() to get the GOptionGroup used by - Clutter if you want to do the parsing yourself with - g_option_context_parse(). The init sequence has been verified, - updated and moved into common functions where possible. - - * clutter/pango/pangoclutter-render.c: - * clutter/*.c: Include "clutter-debug.h" where needed; use - CLUTTER_NOTE() instead of CLUTTER_DBG(). - - * examples/super-oh.c: Use the new clutter_init_with_args() - function, and add a --num-hands command line switch to - the SuperOH example code controlling the number of hands at - runtime. - -2006-11-21 Emmanuele Bassi - - * configure.ac: Rename G_ENABLE_DEBUG to CLUTTER_ENABLE_DEBUG. - -2006-11-20 Emmanuele Bassi - - * clutter/clutter-rectangle.h: - * clutter/clutter-rectangle.c: Add border to the ClutterRectangle - actor; add "border-width", "border-color" and "has-border" - properties, plus their accessors. The border generation code is - pretty lame, at the moment. - - * examples/behave.c: Add code to test the new rectangle properties. - -2006-11-20 Matthew Allum - - * clutter.doap: - Add an initial DOAP file to project - -2006-11-20 Emmanuele Bassi - - * clutter/Makefile.am: - * clutter/clutter.h: - * clutter/clutter-version.h.in: Auto-generated versioning macros. - - * clutter/clutter-actor.h: - * clutter/clutter-actor.c: Add a ClutterActor::parent-set signal, - for notificating changes of an actor's parent; add api-doc for - the actor's properties; add the ClutterActor "name" property; clean - up a bit some functions; emit the "parent-set" signal when setting - te parent and when unparenting; better warnings when lowering - and raising an actor. - - * configure.ac: - * clutter/Makefile.am: Add a --enable-debug configure option, - with three levels of debugging: no, minimum and yes; default - for development releases (odd minor version) is "yes"; update - the version m4 defines; update the libtool macros: now just - changed the clutter_interface_age when releasing will update - everything else. - -2006-11-17 Emmanuele Bassi - - * clutter/clutter-behaviour-path.h: - * clutter/clutter-behaviour-path.c: Add "since" strings; add - a "knot" property which can be used to append a knot to the path; - fix apidoc. - - * clutter/clutter-alpha.c: Add "since" strings. - - * clutter/clutter-feature.c: Add apidoc. - - * clutter/clutter-behaviour-opacity.c: Add the "opacity-start" - and "opacity-end" properties; rewrite constructor to use them. - -2006-11-17 Emmanuele Bassi - - * clutter/clutter-behaviour-path.h: - * clutter/clutter-behaviour-path.c: Add a "knot-reached" signal, - which is emitted when the path reaches a node in the nodes list; - flesh out the documentation a bit; sync the parameters names - so that gtk-doc doesn't complain about missing stuff. - - * clutter/clutter-behaviour.h: - * clutter/clutter-behaviour.c: Add the alpha value to the - ClutterBehaviour::alpha_notify vfunc, so you don't have to - get the value from the alpha inside the behaviour implementations; - add more documentation. - - * clutter/clutter-alpha.c: Flesh out the description. - - * clutter/clutter-actor.h: Update the header. - - * clutter/clutter-behaviour-opacity.c: - * clutter/clutter-behaviour-scale.c: Update docs. - -2006-11-17 Matthew Allum - - * clutter/clutter-alpha.c: - * clutter/clutter-behaviour-opacity.c: - More docs. - - * clutter/clutter-behaviour-path.h: - * clutter/clutter-behaviour-path.c: - More docs, add clutter_behaviour_path_insert_knot(), - clutter_behaviour_path_remove_knot() - - * clutter/clutter-behaviour-scale.h: - * clutter/clutter-behaviour-scale.c: - More docs, add clutter_behaviour_scale_newx() taking fixed values. - - * clutter/Makefile.am: - * clutter/pango/Makefile.am: - Fix linking warning. - -2006-11-15 Matthew Allum - - * clutter/clutter-actor.h: - * clutter/clutter-actor.c: - Add new API clutter_actor_move_by(), clutter_actor_get_size() - - * clutter/clutter-alpha.c: - * clutter/clutter-alpha.h: - Add clutter alpha sine func - - * clutter/clutter-behaviours.h: - * clutter/clutter-behaviours.c: - Add a basic scale behaviour (needs work) - - * examples/behave.c: (main): - More playing with new behaviour functionality - - * clutter/clutter-feature.c: - * clutter/clutter-feature.h: - * clutter/clutter-main.c: - Add new experimental sync to vblank code - Set env CLUTTER_VBLANK=none to disable. - -2006-11-16 Emmanuele Bassi - - * clutter/clutter-private.h: - * clutter/clutter-actor.c: Implement the defined - clutter_actor_reparent() method; call unrealize - when unparenting an actor. - -2006-11-15 Emmanuele Bassi - - * clutter/clutter-alpha.h: - * clutter/clutter-alpha.c: Add a data parameter to - the ClutterAlphaFunc; add a data+destroy parameter - to clutter_alpha_set_func() and to clutter_alpha_new(), - and turned the latter into clutter_alpha_new_full(); - add a simple, empty constructor clutter_alpha_new(). - - These changes makes writing bindings a tad more easy, - as bindings require passing their own functions in - order to call the real alpha function. - - * clutter/clutter-behaviour.h: Clean up the header. - - * clutter/clutter-behaviours.[ch]: - * clutter/clutter-behaviour-opacity.[ch]: - * clutter/clutter-behaviour-path.[ch]: - * clutter/clutter-behaviour-scale.[ch]: Split the - ClutterBehaviourPath, ClutterBehaviourOpacity and - ClutterBehaviourScale into their own files as they - have been growing a bit. Fix ClutterBehaviourPath - API. - - * clutter/clutter-media.h: Remove the commented - "metadata_available" signal: gtk-doc chokes up on that. - - * clutter/clutter-timeline.h: - * clutter/clutter-timeline.c: Remove the useless - ClutterTimelineAlphaFunc signature; add missing accessor - methods for the properties; clean up a bit. - - * clutter/clutter-util.h: - * clutter/clutter-util.c: Remove unneeded function - clutter_util_can_create_texture(). - - * clutter/clutter-feature.h: Sync the name of - clutter_feature_get_all() with the name declared - in clutter-feature.h. - - * clutter/Makefile.am: - * clutter/clutter.h: Update. - - * examples/behave.c: Update to the new ClutterAlpha - constructor. - - * examples/super-oh.c: Use the right pointer and avoid - the compiler making a fuss about it. - -2006-11-15 Matthew Allum - - * clutter/clutter-actor.h: - * clutter/clutter-actor.c: - Add new API clutter_actor_move_by(), clutter_actor_get_size() - - * clutter/clutter-alpha.c: - * clutter/clutter-alpha.h: - Add clutter alpha sine func - - * clutter/clutter-behaviours.h: - * clutter/clutter-behaviours.c: - Add a basic scale behaviour (needs work) - - * examples/behave.c: (main): - More playing with new behaviour functionality - - * clutter/clutter-feature.c: - * clutter/clutter-feature.h: - * clutter/clutter-main.c: - Add new experimental sync to vblank code - Set env CLUTTER_VBLANK=none to disable. - -2006-11-15 Emmanuele Bassi - - * clutter/clutter-alpha.h: - * clutter/clutter-alpha.c: ClutterAlpha is an initially - floating object, as it makes sense only when bound to - a ClutterBehaviour; add checks for public API. - - * clutter/clutter-behaviour.h: - * clutter/clutter-behaviour.c: Remove the ClutterBehaviour - constructor: ClutterBehaviour is an abstract class which - must be implemented by subclassing; add checks for public - API; unref the actors on finalize; sink the ClutterAlpha - object. - - * clutter/clutter-behaviours.h: ClutterKnot is a boxed - type: add the _get_type() function declaration and the - type macro. - -2006-10-23 Matthew Allum - - * clutter/clutter-alpha.h: - * clutter/clutter-behaviour.c: - * clutter/clutter-behaviour.h: - * clutter/clutter-behaviours.c: - * clutter/clutter-behaviours.h: - * examples/behave.c: - Behaviours now only 'driven' by ClutterAlpha, not any object/prop. - Add simple Clutter path behaviour. - -2006-10-03 Matthew Allum - - * configure.ac: - * clutter/Makefile.am: - * clutter/clutter-actor.c: - * clutter/clutter-label.c: - * clutter/clutter-label.h: - * clutter/pango/Makefile.am: - * clutter/pango/pangoclutter-font.c: - * clutter/pango/pangoclutter-fontmap.c: - * clutter/pango/pangoclutter-private.h: - * clutter/pango/pangoclutter-render.c: - * clutter/pango/pangoclutter.h: - Add initial rough new pango renderer and clutter-label. - - * examples/super-oh.c: - * examples/test.c: - Minor fixups - -2006-09-20 Matthew Allum - - * clutter/clutter-actor.c: (clutter_actor_paint): - * clutter/clutter-clone-texture.c: (clutter_clone_texture_paint): - * clutter/clutter-group.c: (clutter_group_paint): - * clutter/clutter-rectangle.c: (clutter_rectangle_paint): - * clutter/clutter-texture.c: (clutter_texture_paint): - Fix for #156. - clutter_actor_paint() now translates to actor position as - to not fix scaled groups positioning. Sub classes now paint - at 0,0. - -2006-09-19 Matthew Allum - - * clutter/clutter-actor.c: (redraw_update_idle), - (clutter_actor_queue_redraw): - * clutter/clutter-main.c: (clutter_redraw): - Remove now uneeded locks - ( new gst and texture code makes redundant ) - - * clutter/clutter-texture.c: - * clutter/clutter-texture.h: - Redo clutter texture as to not keep a reference - to underlying texture. - -2006-09-15 Matthew Allum - - More fixes from Bastien Nocera (#155): - - * clutter/clutter-main.c: (clutter_init): - * clutter/clutter-main.h: - Add an enum for clutter init to return an error code. - * configure.ac: - Dont check for XInitThreads, there is no need, its part of xlib. - -2006-09-14 Matthew Allum - - Various fixes from Bastien Nocera: - - * clutter/clutter-event.h: - * clutter/clutter-stage.c: (clutter_stage_unrealize), - (clutter_stage_realize), (clutter_stage_request_coords), - (clutter_stage_dispose), (clutter_stage_init): - * clutter/clutter-stage.h: - * gtk/gtk-clutter-test.c: (input_cb), (frame_cb), (main): - * gtk/gtk-clutter.c: (realize): - Misc fixes (#152) - - * clutter/clutter-group.c: (clutter_group_remove): - Remove uneeded ref count (#143) - - * examples/super-oh.c: (input_cb): - Handle key release rather than presses (#154) - - * configure.ac: - Add old style X libs check when x11.pc unavailable (#101) - -2006-09-01 Matthew Allum - - * clutter/Makefile.am: - * clutter/clutter-media.c: - * clutter/clutter-media.h: - * clutter/clutter.h: - Re-add clutter media. - -2006-08-31 Matthew Allum - - * clutter/clutter-actor.c: - * clutter/clutter-group.c: (clutter_group_paint), - (clutter_group_request_coords), (clutter_group_allocate_coords), - (clutter_group_add): - Fix some group sizing/positioning issues. - -2006-08-30 Jorn Baayen - - * clutter.pc.in: - - Remove gstreamer deps. - -2006-08-30 Jorn Baayen - - * README: - * clutter/Makefile.am: - * clutter/clutter-audio.c: - * clutter/clutter-audio.h: - * clutter/clutter-main.c: (clutter_init): - * clutter/clutter-media.c: - * clutter/clutter-media.h: - * clutter/clutter-video-texture.c: - * clutter/clutter-video-texture.h: - * clutter/clutter.h: - * configure.ac: - * examples/Makefile.am: - * examples/README: - * examples/video-cube.c: - * examples/video-player.c: - * gst/Makefile.am: - * gst/clutterimagesink.: - * gst/clutterimagesink.c: - * gst/clutterimagesink.h: - * gtk/Makefile.am: - - Remove gstreamer bits. There live in clutter-gst now. - -2006-08-30 Jorn Baayen - - * clutter/Makefile.am: - * clutter/clutter-audio.c: - * clutter/clutter-audio.h: - * clutter/clutter.h: - - Added ClutterAudio audio playback object. - -2006-08-29 Matthew Allum - - * clutter/clutter-fixed.h: - Add basic fixed point utility defines and type. - - * clutter/Makefile.am: - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - * clutter/clutter-group.c: - * clutter/clutter-stage.c: - * examples/super-oh.c: (main): - Add scale API and functionality. - Rework group sizing. Now group size requests have no effect - but can be scaled. - -2006-08-29 Jorn Baayen - - * clutter/clutter-behaviour.c: (_clutter_behaviour_finalize), - (_clutter_behaviour_set_property), - (_clutter_behaviour_get_property), (clutter_behaviour_class_init), - (clutter_behaviour_init), (clutter_behaviour_apply), - (clutter_behaviour_remove), (clutter_behaviour_remove_all), - (clutter_behaviour_actors_foreach): - * clutter/clutter-behaviour.h: - * clutter/clutter-behaviours.c: - (clutter_behaviour_property_change), - (clutter_behaviour_opacity_dispose), - (clutter_behaviour_opacity_finalize), - (clutter_behaviour_opacity_class_init), - (clutter_behaviour_opacity_init): - * clutter/clutter-behaviours.h: - * clutter/clutter-marshal.list: - * examples/behave.c: (main): - - Behaviours track generic GObject properties. - - * clutter/clutter-video-texture.h: - - Remove signal prototypes - they are already specified in - clutter-media.h. - -2006-08-28 Jorn Baayen - - * clutter/Makefile.am: - * clutter/clutter-alpha.c: - * clutter/clutter-alpha.h: - * clutter/clutter-behaviours.c: - (clutter_behaviour_opacity_dispose), - (clutter_behaviour_opacity_init), - (clutter_behaviour_opacity_frame_foreach), - (clutter_behaviour_opacity_frame): - * clutter/clutter-behaviours.h: - * clutter/clutter-timeline.c: (clutter_timeline_class_init): - * clutter/clutter-timeline.h: - * clutter/clutter.h: - * examples/behave.c: (main): - - Separate alpha calculation into its own class. - - * clutter/clutter-behaviour.c: (clutter_behaviour_set_timelime): - - Correct NULL check. - -2006-08-15 Matthew Allum - - * clutter/clutter-behaviour.h: - Behaviours shouldn't subclass timelines. - -2006-08-15 Matthew Allum - - * clutter/clutter-behaviour.c: - * clutter/clutter-behaviour.h: - * clutter/clutter-behaviours.c: - * clutter/clutter-timeline.c: - * clutter/clutter-timeline.h: - * clutter/clutter.h: - Make basic behaviour infrastructure actually work. - - * examples/Makefile.am: - * examples/behave.c: - Add a simple behaviour demo/test - - * clutter/clutter-media.c: (clutter_media_set_volume): - Actuall set volume rather than position.. (Fixes #141) - -2006-08-14 Matthew Allum - - * clutter/Makefile.am: - * clutter/clutter-behaviour.c: - * clutter/clutter-behaviour.h: - * clutter/clutter-behaviours.c: - * clutter/clutter-behaviours.h: - * clutter/clutter-timeline.c: - * clutter/clutter-timeline.h: - Add very initial new behaviour functionality. - - * clutter/clutter-stage.c: - * clutter/clutter-main.c: - * clutter/clutter-actor.c: - Improve clipping using stencil test rather than scissor check. - ( Should now handle rotated clips etc ). - - * clutter/clutter-group.c: (clutter_group_paint): - Fix typo on position check. - -2006-08-07 Matthew Allum - - * clutter/clutter-video-texture.c: (lay_pipeline): - Set quality of service prop on fakesink to TRUE. - -2006-08-07 Matthew Allum - - * clutter/clutter-actor.c: (clutter_actor_paint): - Remove relic from old stage behaviour - dont unref - it during a clip. - -2006-07-27 Emmanuele Bassi - - * clutter/clutter-feature.c: No need to call clutter_feature_init() - each time: it's private and should never be seen from the outside; - add a warning, just in case something screws up and calls it more - than once. - -2006-07-27 Emmanuele Bassi - - * clutter/clutter-private.h: Move clutter_feature_init() - declaration here: you shouldn't even need to initialise - features yourself. - - * clutter/clutter-feature.c: call clutter_feature_init() - each time you try to access the feature list; add a static - lock around the feature flags container; add api documentation. - - * clutter/clutter-feature.h: Add a type for the feature flags - to make bindings happy. - -2006-07-24 Matthew Allum - - * clutter/Makefile.am: - * clutter/clutter-feature.c: - * clutter/clutter-feature.h: - - Add new funcs for checking for available runtime GL - extensions. - - * clutter/clutter-clone-texture.c: - * clutter/clutter-texture.c: - - Add support for non power of two textures - if GL_TEXTURE_RECTANGLE_ARB extension available ( at runtime ). - Should lower texture memory needs a little. - -2006-07-17 Emmanuele Bassi - - * clutter/clutter-stage.c (clutter_stage_get_default): Fix - api documentation. - -2006-07-15 Emmanuele Bassi - - * clutter/clutter-main.c: - - (clutter_main): Destroy the main stage, instead of unreffing it. - - (clutter_init): Ref and sink the main stage, as it is a top - level actor. - - * clutter/clutter-stage.c (clutter_stage_unrealize): Access - the Window private member directly, instead of calling the - get_xwindow method. - - * examples/test.c (main): Quit on button press. - -2006-07-09 Emmanuele Bassi - - * clutter/clutter-event.h: Change the name of the - ClutterEvent union members to something a little shorter. - -2006-07-06 Emmanuele Bassi - - * configure.ac: Remove the python stuff, now that the bindings - are out of tree. - -2006-07-06 Emmanuele Bassi - - * configure.ac: Mark this as 0.1.1, and change the version info - of the library. - - * clutter/clutter-actor.c: - * clutter/clutter-group.c: Fix documentation. - -2006-07-06 Emmanuele Bassi - - * clutter/clutter-actor.h: - * clutter/clutter-actor.c: - - (clutter_actor_class_init), (clutter_actor_set_property), - (clutter_actor_get_property): Add the "clip" and "has-clip" - properties. - - (clutter_actor_set_clip), (clutter_actor_remove_clip): Emit - the notification for the changed properties. - - (clutter_actor_has_clip): Simple accessor to the "has-clip" - property. - -2006-07-06 Emmanuele Bassi - - Big rework of the actor management semantics: now ClutterActor - objects behave like GtkObjects - that is they have an initial - "floating" reference that gets "sunk" when they are added to - a ClutterGroup. This makes a group responsible of de-allocating - each actor inside it, so you just have to destroy the group to - get every child actor destroyed. Also, now you can do: - - clutter_group_add (group, clutter_video_texture_new ()); - - without having to care about reference counting and explicit - unreffing. - - * clutter/clutter-private.h: Add private flags setter and - getter macros. - - * clutter/clutter-actor.h: - * clutter/clutter-actor.c: Clean up; inherit from GInitiallyUnowned; - add a "visible" property; add the "destroy", "show" and "hide" - signals to ClutterActorClass. - - (clutter_actor_show), (clutter_actor_hide): Refactor a bit; emit - the "show" and "hide" signals. - - (clutter_actor_set_property), (clutter_actor_get_property), - (clutter_actor_class_init): Implement the "visible" property; add - signals. - - (clutter_actor_finalize): Do not leak the actor's name, if it is - set. - - (clutter_actor_dispose): Emit the "destroy" signal here. - - (clutter_actor_init): Sink the initial floating flag if needed. - - (clutter_actor_destroy): Add a function to explicitely destroy - a ClutterActor. - - (clutter_actor_set_parent), (clutter_actor_get_parent), - (clutter_actor_unparent): Make set_parent require a valid parent; - add unparent; check on get_parent; ref_sink the actor when - setting its parent and unref it when unsetting it. Probably we'll - need a function that does reparenting as unparent+set_parent in - a single shot. - - * clutter/clutter-group.h: - * clutter/clutter-group.c (clutter_group_dispose), - (clutter_group_finalize), (clutter_group_add), - (clutter_group_remove): Make the group destroy its children when - disposing it; clean up, and use the newly-available - clutter_actor_unparent(). - - * clutter/clutter-stage.h: - * clutter/clutter-stage.c (clutter_stage_init): ClutterStage is - a top-level actor; clean up. - - * clutter/clutter-video-texture.h: - * clutter/clutter-video-texture.c: Clean up. - - * examples/super-oh.c: - * examples/test.c: - * examples/video-player.c: - * examples/test-text.c: - * examples/video-cube.c: Remove the g_object_unref() call, as the - ClutterStage object is destroyed on clutter_main_quit(). - -2006-06-23 Matthew Allum - - * examples/super-oh.c: - Remove random stage unref fixing trails. Fixes #98 - -2006-06-23 Matthew Allum - - * examples/video-player.c: (size_change): - cast stage height to gint avoiding wierdness for when - video height greater than half display height. Fixed #99 - -2006-06-23 Matthew Allum - - * clutter/clutter-video-texture.c: (clutter_video_texture_new): - Small fix for video playback on Big Endian. See #97 - -2006-06-23 Iain Holmes - - * clutter/clutter-texture.h: Add space :) Sorry. - -2006-06-23 Iain Holmes - - * clutter/clutter-label.h: - * clutter/clutter-group.h: - * clutter/clutter-rectangle.h: - * clutter/clutter-video-texture.h: - * clutter/clutter-event.h: - * clutter/clutter-texture.h: Fix the header layout so that C# parser - can understand everything. - -2006-06-23 Ross Burton - - * configure.ac: - * Makefile.am: - Remove references to bindings/, it's moved. - -2006-06-23 Emmanuele Bassi - - * clutter/clutter-group.c - (clutter_group_get_children): Mention that you must free - the returned list otherwise you'll leak stuff all around. - -2006-06-23 Ross Burton - - * examples/super-oh.c: - Fix build with trails enabled. Still crashes. - -2006-06-23 Ross Burton - - * configure.ac: - Disable static libraries. - -2006-06-22 Matthew Allum - - * web/index.html: - Make OpeneHand link - -2006-06-22 Matthew Allum - - * web/index.html: - Add Pango ref, authors info. - -========== 2006-06-22 0.1 Release ===================== - -2006-06-22 Matthew Allum - - * configure.ac: - * web/index.html: - Correct Bugzilla link. Add debs link - Bump up version to 0.1 ! - -2006-06-22 Matthew Allum - - * NEWS: - Add an entry for 0.1 release - * web/index.html: - * web/style.css: - Add basic website. - -2006-06-22 Iain Holmes - - * clutter/clutter-main.c: Guess what...more docs - -2006-06-22 Iain Holmes - - * clutter/clutter-event.c: Add docs - -2006-06-22 Iain Holmes - - * clutter/clutter-media.c: Add docs - -2006-06-22 Iain Holmes - - * clutter/clutter-texture.c: Fix typos. - - * clutter/clutter-timeline.c: Fix typos. - -2006-06-22 Iain Holmes - - * clutter/clutter-video-texture.c: Docs. - -2006-06-22 Iain Holmes - - * clutter/clutter-group.c: More typo fixes - - * clutter/clutter-event.c: Documentation - -2006-06-22 Emmanuele Bassi - - * clutter/clutter-timeline.h: - * clutter/clutter-timeline.c: Add a "started" and a "paused" - signals; add more sanity checks on the public functions. - - (clutter_timeline_get_loop): Add a getter function for the - loop property. - - * clutter/clutter-marshal.list: Add marshallers. - - * clutter/clutter-timeline.h: - * clutter/clutter-actor.h: Add padding for future expansion - without breaking ABI. - -2006-06-22 Iain Holmes - - * clutter/clutter-actor.c: Fix some typos in the docs. - -2006-06-22 Iain Holmes - - * clutter/clutter-util.c: And more - -2006-06-22 Ross Burton - - * clutter/clutter-label.c: - * clutter/clutter-video-texture.c: - * clutter/clutter-texture.c: - * clutter/clutter-timeline.c: - * clutter/clutter-group.c: - Fix gtk-doc problems. - -2006-06-22 Iain Holmes - - * clutter/clutter-main.c: More documentation - -2006-06-22 Matthew Allum - - * clutter/clutter-main.h: - Remove bogus xvisual call. - -2006-06-22 Matthew Allum - - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - Remove mirroring related calls ( unimplemented ) - * gtk/gtk-clutter-test.c: 0 -> NULL - -2006-06-22 Iain Holmes - - * clutter/clutter-actor.c: - * clutter/clutter-stage.c: - * gtk/gtk-clutter.c: More docs - -2006-06-22 Iain Holmes - - * clutter/clutter-actor.c: Added some more docs. - -2006-06-22 Matthew Allum - - * clutter/clutter-actor.c: - * clutter/clutter-clone-texture.c: - * clutter/clutter-color.c: - * clutter/clutter-event.c: - * clutter/clutter-group.c: - * clutter/clutter-label.c: - * clutter/clutter-main.c: - * clutter/clutter-media.c: - * clutter/clutter-rectangle.c: - * clutter/clutter-stage.c: - * clutter/clutter-texture.c: - * clutter/clutter-timeline.c: - * clutter/clutter-util.c: - * clutter/clutter-video-texture.c: - * configure.ac: - Documentation updates - add section headers. - -2006-06-22 Iain Holmes - - * gtk/gtk-clutter-test.c (main): Don't show the stage. - -2006-06-22 Iain Holmes - - * gtk/gtk-clutter.[ch]: Rewrite to use - clutter_stage_set_xwindow_foreign rather than GtkSocket. - - * gtk/gtk-clutter-test.c: Add fading!1!!!!11! OMGWTFBBQ!!! - -2006-06-21 Emmanuele Bassi - - * examples/video-cube.c (main): Quit on key press. - -2006-06-21 Emmanuele Bassi - - * clutter/Makefile.am: Re-fix distcheck after last commit. - -2006-06-21 Matthew Allum - - * clutter/Makefile.am: - Make sure clutter.h included. - * clutter/clutter-stage.c: (clutter_stage_realize), - (clutter_stage_get_actor_at_pos): - Select for motion events on X window. - Return highest rather than lowest found actor for actor_at_pos. - * examples/Makefile.am: - Remove test-text, remane test video. - * examples/README: - Add info about the included examples. - * examples/test-video.c: - * examples/video-player.c: - Redo test-video a little nicer and rename. - * examples/video-cube.c: - Fix so it at least 'works' again. - * examples/test.c: - Clean up a little. - -2006-06-21 Ross Burton - - * Makefile.am: - * gtk/Makefile.am: - Add gtk widget to distcheck and fix. - -2006-06-21 Emmanuele Bassi - - * clutter/Makefile.am: - * bindings/python/Makefile.am: - * Makefile.am: Fix distcheck - -2006-06-21 Ross Burton - - * clutter/Makefile.am: - * examples/Makefile.am: - Fix dist. - -2006-06-20 Matthew Allum - - * TODO: - Update. - * clutter/clutter-group.c: - Attempt better group sizing code. - * clutter/clutter-label.c: - Minor tweaks. - * clutter/clutter-texture.c: - More debug info, make sure texture is realised for base_size() - * clutter/clutter-video-texture.c: - Seeking fixes - * examples/test.c: (main): - Populate with more randomness. - -2006-06-15 Matthew Allum - - * clutter/clutter-stage.c: - * clutter/clutter-stage.h: - Add clutter_stage_set_xwindow_foreign() call - * clutter/clutter-util.c: - * clutter/clutter-util.h: - Add some X error traps - * examples/super-oh.c: - Toy with us of new clutter_stage_set_xwindow_foreign() for - optional screensaver functionality. - -2006-06-14 Matthew Allum - - * configure.ac: - Add checks for GL/gl.h and GL/glx.h - -2006-06-14 Matthew Allum - - * AUTHORS: - * README: - * TODO: - Update all. - -2006-06-13 Matthew Allum - - * clutter/clutter-video-texture.c: - Add missing license. - -2006-06-13 Matthew Allum - - * clutter/Makefile.am: - * clutter/clutter-actor.c: - * clutter/clutter-actor.h: - * clutter/clutter-clone-texture.c: - * clutter/clutter-clone-texture.h: - * clutter/clutter-element.c: - * clutter/clutter-element.h: - * clutter/clutter-group.c: - * clutter/clutter-group.h: - * clutter/clutter-label.c: - * clutter/clutter-label.h: - * clutter/clutter-main.c: - * clutter/clutter-main.h: - * clutter/clutter-rectangle.c: - * clutter/clutter-rectangle.h: - * clutter/clutter-stage.c: - * clutter/clutter-stage.h: - * clutter/clutter-texture.c: - * clutter/clutter-texture.h: - * clutter/clutter-video-texture.c: - * clutter/clutter-video-texture.h: - * clutter/clutter.h: - * examples/super-oh.c: - * examples/test-text.c: - * examples/test-video.c: - * examples/test.c: - * examples/video-cube.c: - * gtk/gtk-clutter-test.c: - * gtk/gtk-clutter.c: - * gtk/gtk-clutter.h: - Element to Actor Renaming. - -2006-06-12 Matthew Allum - - * clutter/Makefile.am: - * clutter/clutter-media.c: - * clutter/clutter-media.h: - * clutter/clutter-video-texture.c: - * clutter/clutter-video-texture.h: - * clutter/clutter.h: - * examples/test-video.c: (main): - * examples/video-cube.c: (main): - Add new 'media' interface. - Drop Totem based video playback code replace with newly - rewritten supper Jorn based code. Clutter is now fully LGPL. - - * clutter/clutter-texture.c: (tile_dimension): - Remove uneeded overlap code. - -2006-06-08 Iain Holmes - - * clutter/clutter-texture.c: - Opps, undo change I didn't mean to commit - -2006-06-08 Iain Holmes - - * configure.ac: - Add gdk-pixbuf-xlib cflags/libs to clutter libs - Build the gtk-clutter.pc file. - - * clutter.pc.in: - Add the gdk-pixbuf-xlib depends. - - * gtk/gtk-clutter.pc.in: - pkg-config stuff for gtk-clutter - - * gtk/Makefile.am: - Install gtk-clutter.pc - -2006-06-08 Matthew Allum - - * clutter/clutter-main.c: - * clutter/clutter-private.h: - * clutter/clutter-stage.c: - Rework and fix offscreen rendering, also rejig GLX - context handling, moving mostly into stage. - Require at least OpenGL 1.2 ( CLAMP_TO_EDGE ) - - * clutter/clutter-texture.c: - Explicity set props on _init() as to avoid nasty can_create - bug failing miserably in certain situations. - Switch to CLAMP_TO_EDGE for textures to avoid tile seams. - Add some more GL error checks. - - * clutter/clutter-label.c: - Extra debug info - - * configure.ac: - Require gdk-pixbuf-xlib-2.0 - -2006-06-06 Matthew Allum - - * configure.ac: - Use pkg-config to check for X. Really Check for GL libs. - Make gtk binding optional. Cleanup a little. - - * Makefile.am: - * gtk/Makefile.am: - Make gtk binding optional - - * clutter/clutter-element.c: - Cleanup a little, notify on size change. - - * clutter/clutter-texture.c: - Lots of cleanups. Add waste prop. Add filter quality prop. - - * clutter/clutter-clone-texture.c: - Make object construction simpler to work better with bindings. - - * clutter/clutter-stage.c: - * clutter/clutter-timeline.c: - Minor reformating, cleanups. - - * examples/test-text.c: (main): - Random experimentation - -2006-06-06 Iain Holmes - - * gtk/gtk-clutter.c (size_request): Take the size of the widget from - the ClutterStage. - (gtk_clutter_class_init): Hook up size-request - -2006-06-06 Iain Holmes - - * gtk/: Add a gtk widget for clutter. - - * configure.ac: Add GTK checks - - * Makefile.am: Go into gtk/ - -2006-06-05 Matthew Allum - - * clutter/clutter-group.c: (clutter_group_remove): - Fix parent check. - -2006-06-05 Matthew Allum - - * clutter/clutter-event.h: - Remove send_event field. Clutter shouldn't need it. - - * clutter/clutter-main.c: (clutter_dispatch_x_event): - Dont malloc a new clutter event for each xevent. - - * clutter/clutter-stage.h: - * clutter/clutter-stage.c: (clutter_stage_class_init), - (clutter_stage_get_default): - Dont ref stage from clutter_stage_get_default. - - * examples/super-oh.c: (main): - Remove some now uneeded debug g_prints - -2006-06-05 Emmanuele Bassi - - * clutter-color.h: - * clutter-color.c: Reimplement ClutterColor as a boxed type; - add convenience API for color handling, like: add, subtract, - shade, HSL color-space conversion, packing and unpacking. - - * clutter-private.h: Update ClutterMainContext, and export the - main context pointer here. - - * clutter-rectangle.h: - * clutter-rectangle.c: Update the color-related code; make - clutter_rectangle_new() and empty constructor and provide - clutter_rectangle_new_with_color(); provide color setter - and getter API. - - * clutter-label.h: - * clutter-label.c: Rename the "font" property to "font-name"; - update the color-related code to the new ClutterColor object; - rename clutter_label_new() to clutter_label_new_with_text(), - and add setters and getters for the properties. - - * clutter-marshal.list: Add VOID:OBJECT and VOID:BOXED marshallers - generators. - - * clutter-stage.h: - * clutter-stage.c: Rework the API: provide a default constructor - for a singleton object, named clutter_stage_get_default(), which - supercedes the clutter_stage() function in clutter-main; provide - new events: button-press-event, button-release-event, - key-press-event and key-release-event; update the color-related - code; - - (clutter_stage_snapshot): Allow negative width and height when - taking a snapshot (meaning: use full width/height). - - (clutter_stage_get_element_at_pos): Rename clutter_stage_pick(). - - * clutter-element.c (clutter_element_paint): Clean up the - stage and color related code. - - * clutter-event.h: - * clutter-event.c: Add generic ClutterAnyEvent type; add - clutter_event_new(), clutter_event_copy() and clutter_event_free(); - make ClutterEvent a boxed type. - - * clutter-main.h: - * clutter-main.c: Remove clutter_stage(); add clutter_main_quit(), - for cleanly quitting from clutter_main(); add multiple mainloops - support; allocate the ClutterCntx instead of adding it to the - stack; re-work the ClutterEvent dispatching. - - * clutter-group.c (clutter_group_add), (clutter_group_remove): Keep - a reference on the element when added to a ClutterGroup. - - * examples/rects.py - * examples/test.c: - * examples/test-text.c: - * examples/video-cube.c: - * examples/super-oh.c: - * examples/test-video.c: Update. - -2006-06-04 Matthew Allum - - * clutter/clutter-element.c: - * clutter/clutter-group.c: - * clutter/clutter-group.h: - Work more on depth ( Z ) setting with sorting. - - * clutter/clutter-main.c: (clutter_redraw): - Experiment with glXWaitVideoSyncSGI. Currently disabled. - -2006-06-02 Matthew Allum - - * clutter/clutter-element.h: - Add missing _depth() declarations - - * clutter/clutter-main.c: - * clutter/clutter-main.h: - * clutter/clutter-private.h: - * clutter/clutter-stage.c: - * clutter/clutter-stage.h: - Rejig GL setup as for stage to support an offscreen property. - Offscreen support is however a little borked. - -2006-06-01 Matthew Allum - - * clutter/clutter-element.c: - Fix a snafu in clutter_element_raise () - - * clutter/clutter-timeline.c: - * clutter/clutter-timeline.h: - Add new clutter_timeline_is_playing() method - -2006-05-29 Matthew Allum - - * clutter/clutter-color.c: (clutter_color_set): - Fix bit shifts in clutter color setters. - -2006-05-29 Matthew Allum - - * clutter/clutter-element.c: - * clutter/clutter-element.h: - Add initial new element depth() getter and setter. - - * clutter/clutter-group.c: - * clutter/clutter-group.h: - Add 2 new methods for listing a groups children externally. - -2006-05-27 Emmanuele Bassi - - * clutter/clutter-clone-texture.c (set_parent_texture), - (clutter_clone_texture_set_property), - (clutter_clone_texture_get_property), - (clutter_clone_texture_class_init), - (clutter_clone_texture_new): Add a "parent-texture" - constructor-only property to simplify the constructor code. - - * clutter/clutter-rectangle.c (clutter_rectangle_new): - * clutter/clutter-timeline.c (clutter_timeline_new): Simplify - the constructor code. - - * examples/rect.py: Use the new method names for clutter.main() - and clutter.stage(). - -2006-05-26 Emmanuele Bassi - - * clutter/clutter-element.c: Fix gtk-doc annotations for public - functions; add sanity checks for public API; factor out some - pointer dereferences. - -2006-05-26 Emmanuele Bassi - - Big entry, small changes. - - * clutter/clutter-rectangle.c: - * clutter/clutter-clone-texture.c: - * clutter/clutter-group.c: - * clutter/clutter-element.c: - * clutter/clutter-label.c: Use the GObject built-in definition - of a private data structure; it removes the need for managing - the allocation/de-allocation of a private structure ourselves. - - * clutter/clutter-group.h: - * clutter/clutter-label.h: Add padding, for adding signals and - other class-wide definitions without breaking ABI. - - * clutter/clutter-element.h: - * clutter/clutter-element.c (clutter_element_box_get_type), - (clutter_element_box_copy): Make ClutterElementBox a GBoxed - type; clean up declarations of the enums and flags. - - * clutter/clutter-group.h: - * clutter/clutter-group.c (clutter_group_add_many_valist), - (clutter_group_add_many): Add a _valist version of - clutter_group_add_many() function, and re-implement the latter - as a proxy for the former; language bindings do not cope - well with variable argument functions. - - * clutter/clutter-video-texture.h: - * clutter/clutter-video-texture.c: Use the right prefix for - the error and for the ratio enumerations. - - * clutter/*.c: - * clutter/*.h: - * clutter/Makefile.am: Use the include path - for parallel installations. - - * clutter/Makefile.am: - * clutter/clutter-enum-types.h: - * clutter/clutter-enum-types.c: Register the enumeration types - inside the GObject type system in order to use them as properties - and bindings automagically pick them up. - - * bindings/python/ChangeLog: Add a changelog for the bindings... - - * doc/reference/ChangeLog: ... and a changelog for the reference. - - * examples/test.c: - * examples/video-cube.c: - * examples/test-video.c: Use the header. - -2006-05-25 Matthew Allum - - * clutter/clutter-clone-texture.c: - (clone_texture_render_to_gl_quad): - Remove uneeded bogus warning. Fix a typo causing large - texture to get incorrectly rendered. - * clutter/clutter-texture.c: (init_tiles), - (texture_render_to_gl_quad), (clutter_texture_sync_pixbuf), - (clutter_texture_realize): - Add some new debug info. - * clutter/clutter-video-texture.c: (fakesink_handoff_cb): - Set the pixbuf from GST_BUFFER_DATA() a little safer. - -2006-05-25 Matthew Allum - - * clutter.pc.in: - Fix prefix snafu via Ross. - -2006-05-24 Matthew Allum - - * clutter/clutter-element.c: (clutter_element_paint), - (clutter_element_class_init): - * clutter/clutter-label.c: (clutter_label_make_pixbuf): - * clutter/clutter-main.c: (clutter_main): - * clutter/clutter-stage.c: (sync_fullscreen), (sync_gl_viewport): - * clutter/clutter-stage.h: - Various minor tweaks / fixes needed by o.p.t - * clutter/clutter-texture.c: (texture_render_to_gl_quad), - (clutter_texture_sync_pixbuf), (clutter_texture_set_property), - (clutter_texture_get_property), (clutter_texture_class_init): - Experiment adding currently borked repreating textures, - * clutter/clutter-timeline.c: (timeline_timeout_func), - (clutter_timeline_skip): - Fix timeline callback frame counting. - * examples/test-video.c: (main): - Experiment with repeated textures. - -2006-05-23 Matthew Allum - - * clutter/clutter-clone-texture.h: - Fix Include. - * clutter/clutter-element.c: (clutter_element_set_parent): - Only unref if parent non NULL - * clutter/clutter-label.c: (clutter_label_class_init), - (clutter_label_set_text), (clutter_label_set_font): - * clutter/clutter-stage.h: - Add some utility defines - * clutter/clutter-texture.c: (init_tiles): - * clutter/clutter-timeline.c: (clutter_timeline_class_init), - (timeline_timeout_func), (clutter_timeline_get_current_frame): - * clutter/clutter-timeline.h: - Add a 'completed' signal - Dont free priv when g_type_class_private used. - * clutter/clutter.h: - Add missing clutter-rectangle.h - * examples/Makefile.am: - * examples/super-oh.c: (main): - * examples/test.c: - * examples/video-cube.c: - Fix includes - -2006-05-22 Matthew Allum - - * clutter/clutter-element.c: - * clutter/clutter-element.h: - * clutter/clutter-event.c: - * clutter/clutter-group.c: (clutter_group_remove_all): - * clutter/clutter-group.h: - * clutter/clutter-main.c: (translate_button_event), - (translate_motion_event): - Improve mouse event handling. - Add code to map arbituary ( i.e cursor ) position to - a clutter element using OpenGL 'picking'. - * clutter/clutter-texture.c: - * clutter/clutter-clone-texture.c: - re-realize parent texture if it gets hidden. - * clutter/clutter-stage.c: - * clutter/clutter-stage.h: - Make sure stage sets gl viewport up even if just default size. - (clutter_texture_hide), (clutter_texture_paint): - * doc/reference/Makefile.am: - * examples/super-oh.c: (input_cb), (frame_cb), (main): - Add test for mouse events, click to remove. - -2006-05-21 Matthew Allum - - * clutter/clutter-element.c: - * clutter/clutter-element.h: - Add new core sizing methods and more documentation. - * clutter/clutter-group.c: - * clutter/clutter-group.h: - Use the sizing bits and documentation. - * clutter/clutter-main.c: - * clutter/clutter-event.h: - Add FPS display when CLUTTER_SHOW_FPS env var set. - Add initial support for mouse events. - * clutter/clutter-stage.c: - Add 'snapshot' method. - * clutter/clutter-texture.c: (clutter_texture_new_from_pixbuf): - * clutter/clutter-texture.h: - Documentation. - * clutter/clutter-timeline.c: - Add support for changing FPS setting on the fly. Document. - * examples/super-oh.c: (frame_cb), (main): - Add an optional motion trails effect. - -2006-05-17 Matthew Allum - - * README: - Add a tiny bit of info - * TODO: - Sync up a little - * clutter/clutter-clone-texture.c: - (clone_texture_render_to_gl_quad): - * clutter/clutter-element.c: (clutter_element_show), - (clutter_element_realize), (clutter_element_unrealize), - (clutter_element_paint), (clutter_element_set_id), - (clutter_element_get_id): - * clutter/clutter-element.h: - Rename REALISE() to REALIZE() - - * clutter/clutter-texture.c: (texture_render_to_gl_quad), - (clutter_texture_sync_pixbuf), (clutter_texture_set_pixbuf): - * clutter/clutter-video-texture.c: (query_timeout), - (got_video_size), (caps_set), (parse_stream_info), - (handle_element_message), (bus_message_cb), - (poll_for_state_change_full), (clutter_video_texture_get_property), - (clutter_video_texture_class_init), (clutter_video_texture_init), - (clutter_video_texture_open), (clutter_video_texture_seek_time), - (stop_play_pipeline): - * clutter/clutter-video-texture.h: - Move over using fakesink and handoff instead of custom element - Support 3 channel pixbufs as textures and thus increase efficiency - of video texture ( also avoids byte swapping. ) - Clean up video texture code somemore. - Add some metadata support. - - * Makefile.am: - * configure.ac: - Disable old custom clutter gst element from build. - - * examples/test-video.c: (foo), (size_change), (tick), (main): - * examples/video-cube.c: (clutter_video_texture_cube_paint): - Sink with new API. Pause on key press. - -2006-05-13 Matthew Allum - - * clutter/clutter-element.c: (redraw_update_idle), - (clutter_element_show), (clutter_element_hide), - (clutter_element_realize), (clutter_element_unrealize), - (clutter_element_class_init), (clutter_element_init), - (clutter_element_queue_redraw), (clutter_element_set_geometry), - (clutter_element_get_geometry), (clutter_element_get_coords), - (clutter_element_set_position), (clutter_element_set_size), - (clutter_element_get_abs_position), (clutter_element_get_width), - (clutter_element_get_height), (clutter_element_get_x), - (clutter_element_get_y), (clutter_element_set_opacity): - * clutter/clutter-texture.c: (clutter_texture_get_base_size), - (clutter_texture_bind_tile), (clutter_texture_get_n_tiles), - (clutter_texture_get_x_tile_detail), - (clutter_texture_get_y_tile_detail): - * doc/reference/Makefile.am: - * doc/reference/clutter.types: - Documentation updates. - -2006-05-13 Matthew Allum - - * clutter.pc.in: - Add @MAJORMINOR@ to installed dirs. - * clutter/clutter-main.c: (clutter_xscreen), (clutter_init): - * clutter/clutter-main.h: - * clutter/clutter-private.h: - Quick fix for debug statements so now only appear - if CLUTTER_DBBUG env var set. - -2006-05-12 Matthew Allum - - * configure.ac: - * Makefile.am: - * clutter/Makefile.am: - * bindings/python/Makefile.am: - * examples/Makefile.am: - * gst/Makefile.am: - Clean up autofoo a bit fixing versioning. - * bootstrap-autotools.sh: - * clutter-1.0.pc.in: - Rename. - -2006-05-12 Matthew Allum - - * bindings/python/Makefile.am: - * bindings/python/clutter.override: - * clutter/Makefile.am: - * clutter/clutter-bin.c: - * clutter/clutter-bin.h: - * clutter/clutter-element.c: (clutter_element_dispose), - (clutter_element_raise), (clutter_element_lower): - * clutter/clutter-group.c: - * clutter/clutter-group.h: - * clutter/clutter-main.c: (clutter_threads_leave): - * clutter/clutter-main.h: - * clutter/clutter-stage.c: (clutter_stage_class_init): - * clutter/clutter-stage.h: - * clutter/clutter.h: - * examples/super-oh.c: (frame_cb), (main): - * examples/test-text.c: (main): - * examples/test-video.c: (main): - * examples/test.c: (main): - * examples/video-cube.c: (main): - Rename clutter-bin to clutter-group - -2006-05-11 Matthew Allum - - * clutter/clutter-clone-texture.c: - (clone_texture_render_to_gl_quad), (clutter_clone_texture_paint), - (clutter_clone_texture_class_init), (clutter_clone_texture_new): - Fix cloning. - * clutter/clutter-element.c: (clutter_element_rotate_z), - (clutter_element_rotate_x), (clutter_element_rotate_y): - Minor tweaks - * examples/Makefile.am: - * examples/super-oh.c: - Add a new demo - unsing rotations and clones. - -2006-05-11 Matthew Allum - - * bindings/python/Makefile.am: - * bindings/python/clutter-base-types.defs: - * bindings/python/clutter-base.defs: - * bindings/python/clutter.override: - Python goodiness from ebassi. - - Element geometry handled nicely. - - get_coords(), get_abs_position() added. - - * clutter/clutter-element.c: (clutter_element_rotate_x), - (clutter_element_rotate_y), (clutter_element_mirror), - * clutter/clutter-element.h: - Add initial rotation API. Make Geometry boxed ( ebassi ) - - * clutter/clutter-stage.c: (sync_gl_viewport): - Set depth in main world transform. - - * clutter/clutter-timeline.h: - Add missing new() api call. - - * examples/test.c: (timeout_text_cb), (frame_cb), (main): - Tou with some rotation - -2006-05-11 Matthew Allum - - reviewed by: - - * bindings/python/Makefile.am: - * bindings/python/clutter-base-types.defs: - * bindings/python/clutter-base.defs: - * bindings/python/clutter.override: - * clutter/clutter-bin.c: (clutter_bin_paint): - * clutter/clutter-element.c: (clutter_element_paint), - (clutter_element_get_height), (clutter_element_get_x), - (clutter_element_get_y), (clutter_element_set_opacity), - (clutter_element_get_opacity), (clutter_element_set_id), - (clutter_element_get_id), (clutter_element_rotate_x), - (clutter_element_rotate_y), (clutter_element_mirror), - (clutter_element_set_clip), (clutter_element_remove_clip), - (clutter_element_set_parent), (clutter_element_get_parent), - (clutter_element_raise), (clutter_element_lower), - (clutter_element_raise_top), (clutter_element_lower_bottom): - * clutter/clutter-element.h: - * clutter/clutter-main.c: (clutter_redraw): - * clutter/clutter-stage.c: (sync_gl_viewport): - * clutter/clutter-timeline.h: - * examples/test.c: (timeout_text_cb), (frame_cb), (main): - -2006-05-09 Matthew Allum - - * COPYING: - * clutter/clutter-bin.c: - * clutter/clutter-bin.h: - * clutter/clutter-clone-texture.c: - * clutter/clutter-clone-texture.h: - * clutter/clutter-color.c: - * clutter/clutter-color.h: - * clutter/clutter-element.c: - * clutter/clutter-element.h: - * clutter/clutter-event.c: - * clutter/clutter-event.h: - * clutter/clutter-keysyms.h: - * clutter/clutter-label.c: - * clutter/clutter-label.h: - * clutter/clutter-main.c: - * clutter/clutter-main.h: - * clutter/clutter-private.h: - * clutter/clutter-rectangle.c: - * clutter/clutter-rectangle.h: - * clutter/clutter-stage.c: - * clutter/clutter-stage.h: - * clutter/clutter-texture.c: - * clutter/clutter-texture.h: - * clutter/clutter-timeline.c: - * clutter/clutter-timeline.h: - * clutter/clutter-util.c: - * clutter/clutter-util.h: - Add license info. - -2006-05-08 Matthew Allum - - * clutter/Makefile.am: - * clutter/clutter-event.c: - * clutter/clutter-event.h: - * clutter/clutter-keysyms.h: - * clutter/clutter-main.c: (clutter_dispatch_x_event): - * clutter/clutter-stage.c: (clutter_stage_class_init): - * clutter/clutter-stage.h: - * clutter/clutter.h: - * bindings/python/Makefile.am: - * bindings/python/clutter.override: - Add basic input event handling. Keys only atm. - -2006-05-08 Matthew Allum - - * TODO: - Sync a little. - * bindings/python/Makefile.am: - * bindings/python/clutter.override: - Fix up so pixbufs now work ( thanks ebassi! ) - Add some missing newer headers. - * clutter/clutter-main.h: - Remove unused clutter_queue_redraw(); - -2006-05-07 Matthew Allum - - * clutter/clutter-element.c: (clutter_element_class_init), - (clutter_element_init), (clutter_element_queue_redraw), - (clutter_element_set_geometry), (clutter_element_get_geometry), - (clutter_element_get_coords), (clutter_element_set_position), - (clutter_element_set_size), (clutter_element_get_abs_position), - (clutter_element_get_width), (clutter_element_get_height), - (clutter_element_get_x), (clutter_element_get_y), - (clutter_element_set_opacity): - * clutter/clutter-main.c: (clutter_dispatch_x_event): - * clutter/clutter-main.h: - * clutter/clutter-private.h: - * clutter/clutter-stage.c: (clutter_stage_set_color): - * clutter/clutter-texture.c: (clutter_texture_set_pixbuf): - Rename clutter_queue_redraw -> clutter_element_queue_redraw - - * clutter/clutter-label.c: (clutter_label_make_pixbuf), - (clutter_label_set_property), (clutter_label_set_text_extents): - * clutter/clutter-label.h: - Fixes to extents - - * examples/Makefile.am: - * examples/test-text.c: - Add sime test text example. - -2006-05-07 Matthew Allum - - * clutter/clutter-label.c: (clutter_label_make_pixbuf), - (clutter_label_get_property), (clutter_label_dispose), - (clutter_label_class_init), (clutter_label_init), - (clutter_label_new_with_text), (clutter_label_new), - (clutter_label_set_text), (clutter_label_set_font), - (clutter_label_set_text_extents), (clutter_label_set_fg_color): - * examples/test.c: (main): - Slight efficiency improvements. Add initial extents API. - -2006-05-07 Matthew Allum - - * TODO: - resync. - * clutter/Makefile.am: - * clutter/clutter-clone-texture.c: - * clutter/clutter-clone-texture.h: - Add new texture clone element. - * clutter/clutter-color.c: - * clutter/clutter-color.h: - Add simple color API. - * clutter/clutter-util.c: - * clutter/clutter-util.h: - Move shared texture funcs into shared util code. - * clutter/clutter-texture.c: (can_create), (tile_dimension), - (init_tiles), (texture_render_to_gl_quad), - (clutter_texture_unrealize), (clutter_texture_sync_pixbuf), - (clutter_texture_realize), (clutter_texture_show), - (clutter_texture_hide), (clutter_texture_paint), - (clutter_texture_finalize), (clutter_texture_set_property), - (clutter_texture_get_property), (clutter_texture_class_init), - (clutter_texture_init), (clutter_texture_set_pixbuf), - (clutter_texture_new_from_pixbuf), (clutter_texture_get_base_size), - (clutter_texture_bind_tile): - Changes for clones to work. - * clutter/clutter-element.c: (clutter_element_paint), - (clutter_element_set_property), (clutter_element_get_property), - (clutter_element_set_position), (clutter_element_set_size), - (clutter_element_get_abs_position), (clutter_element_get_width), - (clutter_element_get_height), (clutter_element_get_x), - (clutter_element_get_y), (clutter_element_set_opacity), - (clutter_element_get_opacity), (clutter_element_set_id), - (clutter_element_get_id), (clutter_element_set_clip): - * clutter/clutter-element.h: - Add clipping and other tweaks. - * clutter/clutter-stage.c: (sync_gl_viewport), - (clutter_stage_paint), (clutter_stage_init): - Add psuedo 3D desktop like GL setup. - * clutter/clutter-label.c: (clutter_label_make_pixbuf): - * clutter/clutter-label.h: - * clutter/clutter-main.c: (clutter_redraw): - * clutter/clutter-main.h: - * clutter/clutter-private.h: - * clutter/clutter-rectangle.c: (clutter_rectangle_paint): - * clutter/clutter-stage.h: - * clutter/clutter-texture.h: - * clutter/clutter-timeline.c: (clutter_timeline_class_init): - * clutter/clutter-video-texture.c: - * clutter/clutter.h: - * examples/test-video.c: (foo), (size_change), (tick), (main): - * examples/test.c: (main): - * examples/video-cube.c: (clutter_video_texture_cube_paint), - (clutter_video_texture_cube_class_init), - (clutter_video_texture_cube_init): - Various minor tweaks for API changes, new features etc. - -2006-05-03 Matthew Allum - - * clutter/clutter-bin.c: (clutter_bin_paint): - * clutter/clutter-bin.h: - * clutter/clutter-element.c: (clutter_element_unrealize), - (clutter_element_paint), (clutter_element_set_property), - (clutter_element_get_property), (clutter_element_dispose), - (clutter_element_finalize), (clutter_element_class_init), - (clutter_element_init), (clutter_element_queue_redraw), - (clutter_element_set_geometry), (clutter_element_get_geometry), - (clutter_element_get_coords), (clutter_element_set_position), - (clutter_element_set_size), (clutter_element_get_abs_position), - (clutter_element_set_opacity), (clutter_element_get_opacity), - (clutter_element_set_clip), (clutter_element_remove_clip), - (clutter_element_set_parent), (clutter_element_get_parent), - (clutter_element_raise), (clutter_element_lower), - (clutter_element_raise_top), (clutter_element_lower_bottom): - * clutter/clutter-element.h: - * clutter/clutter-label.c: (clutter_label_set_fg_color): - * clutter/clutter-rectangle.c: (clutter_rectangle_paint), - (clutter_rectangle_set_property), (clutter_rectangle_init): - * clutter/clutter-stage.c: (sync_xwindow_size): - * clutter/clutter-texture.c: (clutter_texture_paint), - (clutter_texture_set_pixbuf): - Clean up ClutterElement, removing globals, improving sizing - and initial clipping code. - - * clutter/clutter.h: - * clutter/clutter-timeline.c: (clutter_timeline_class_init), - (timeline_timeout_func), (clutter_timeline_start), - (clutter_timeline_pause), (clutter_timeline_rewind), - (clutter_timeline_skip), (clutter_timeline_advance), - (clutter_timeline_get_current_frame), (clutter_timeline_new): - * clutter/clutter-timeline.h: - Various fixes to timelines. Implement frame skipping. - - * examples/test.c: (timeout_text_cb), (main): - Update to use timeline. - -2006-05-02 Matthew Allum - - * TODO: - Update - * clutter/clutter-element.h: - * clutter/clutter-rectangle.h: - Minor formatting cleanups - -2006-05-02 Matthew Allum - - * clutter/Makefile.am: - * clutter/clutter-timeline.c: - * clutter/clutter-timeline.h: - Add initial timeline implementation - -2006-05-02 Matthew Allum - - * bindings/python/Makefile.am: - * bindings/python/cluttermodule.c: (initclutter): - Fix python build with new -1.0 naming. Use of GdkPixbufs - still causing crashes. - -2006-04-30 Matthew Allum - - * clutter/clutter-main.c: (events_init), (redraw_update_idle), - (clutter_queue_redraw), (clutter_redraw): - Fix repaint queueing, using idle handler now. - Clean up some minor compiler warnings. - * clutter/clutter-main.h: - * clutter/clutter-texture.c: (clutter_texture_unrealize), - (clutter_texture_set_pixbuf): - Rename gl_lock/unlock to threads_enter/leaver - -2006-04-30 Matthew Allum - - * Makefile.am: - * clutter-1.0.pc.in: - * clutter/Makefile.am: - * clutter/clutter-bin.h: - * clutter/clutter-label.h: - * clutter/clutter-rectangle.h: - * clutter/clutter-stage.h: - * clutter/clutter-texture.h: - * clutter/clutter-video-texture.h: - * clutter/clutter.h: - * configure.ac: - * examples/Makefile.am: - Add .pc file, tag -1.0 onto lib, includes dir naming. - -2006-04-29 Matthew Allum - - * clutter/clutter-main.c: (clutter_dispatch_x_event), - (clutter_queue_redraw), (clutter_redraw): - Simplify paint event queueing. Does not actually queue - anymore (broken), needs wrong to reduce high number of - uneeded paints. - - * clutter/clutter-texture.c: (clutter_texture_set_pixbuf): - Remove visible check which broke paints of resized texture pixmaps. - -2006-04-19 Matthew Allum - - * clutter/clutter-bin.c: (clutter_bin_paint), (clutter_bin_add): - * clutter/clutter-element.c: (clutter_element_paint): - * clutter/clutter-element.h: - * clutter/clutter-label.c: (clutter_label_set_property), - (clutter_label_get_property), (clutter_label_class_init): - * clutter/clutter-marshal.list: - * clutter/clutter-rectangle.c: (clutter_rectangle_set_property), - (clutter_rectangle_get_property), (clutter_rectangle_class_init): - * clutter/clutter-stage.c: (clutter_stage_dispose), - (clutter_stage_get_property), (clutter_stage_class_init): - * clutter/clutter-texture.c: (clutter_texture_realize), - (clutter_texture_class_init), (clutter_texture_set_pixbuf): - * clutter/clutter-texture.h: - More object cleanups. Add signal to texture size changes. - Fix color props. Adjust element realise flags workings ( broken ). - * examples/test-video.c: (main): - Broken due to realize flag changes. - -2006-04-18 Matthew Allum - - * clutter/clutter-bin.c: (clutter_bin_get_property), - (clutter_bin_finalize), (clutter_bin_class_init), - (clutter_bin_new), (clutter_bin_show_all), (clutter_bin_hide_all), - (clutter_bin_add): - * clutter/clutter-bin.h: - * clutter/clutter-element.c: (clutter_element_get_property), - (clutter_element_finalize), (clutter_element_class_init), - (clutter_element_set_parent), (clutter_element_get_parent), - (clutter_element_raise), (clutter_element_lower): - * clutter/clutter-element.h: - * clutter/clutter-label.c: (clutter_label_make_pixbuf), - (clutter_label_get_property), (clutter_label_dispose), - (clutter_label_finalize), (clutter_label_class_init), - (clutter_label_init), (clutter_label_new_with_text), - (clutter_label_new), (clutter_label_set_text), - (clutter_label_set_font), (clutter_label_set_fg_color): - * clutter/clutter-label.h: - * clutter/clutter-rectangle.c: (clutter_rectangle_paint), - (clutter_rectangle_set_property), (clutter_rectangle_get_property), - (clutter_rectangle_finalize), (clutter_rectangle_dispose), - (clutter_rectangle_class_init), (clutter_rectangle_init), - (clutter_rectangle_new): - * clutter/clutter-texture.c: (clutter_texture_paint), - (clutter_texture_dispose), (clutter_texture_finalize), - (clutter_texture_set_property), (clutter_texture_get_property), - (clutter_texture_class_init), (clutter_texture_init), - (clutter_texture_set_pixbuf), (clutter_texture_new_from_pixbuf): - Various GObject usages cleanups, adding properties and - finalize/dispose functions properly. - -2006-04-18 Matthew Allum - - * bindings/python/Makefile.am: - * bindings/python/clutter.override: - * bindings/python/cluttermodule.c: (initclutter): - * clutter/clutter-label.h: - * clutter/clutter-rectangle.h: - * clutter/clutter-video-texture.h: - More fixups to now less broken python bindings - * examples/rects.py: - A simple python script using bindings - -2006-04-18 Matthew Allum - - * clutter/clutter-marshal.list: - Add missing. - -2006-04-17 Matthew Allum - - * Makefile.am: - * bindings/Makefile.am: - * bindings/python/Makefile.am: - * bindings/python/clutter.override: - * bindings/python/cluttermodule.c: - * configure.ac: - First shot at some python bindings ( broken atm ) - * clutter/clutter-bin.h: - * clutter/clutter-element.h: - * clutter/clutter-stage.h: - * clutter/clutter-texture.h: - * clutter/clutter.h: - Rejig headers a little so h2def.py happier - -2006-04-17 Matthew Allum - - * TODO: - * doc/clutter.types: - * doc/reference/Makefile.am: - Move gtk-doc gubbins to doc/reference - -2006-04-16 Matthew Allum - - * TODO: - More updates - - * clutter/clutter-bin.c: (clutter_bin_paint): - Add translate call - - * clutter/clutter-texture.c: (clutter_texture_dispose), - (clutter_texture_class_init), (clutter_texture_set_pixbuf): - Fixup object finalization a little. - - * bootstrap-autotools.sh: - * configure.ac: - * doc/Makefile.am: - * doc/clutter.types: - Add gtk-doc infrastructure - -2006-04-15 Matthew Allum - - * TODO: - More ideas. - - * clutter/Makefile.am: - * clutter/clutter-rectangle.c: (clutter_rectangle_new): - Sync passed color alpha chan to element opacity, - - * clutter/clutter-video-texture.c: - (clutter_video_texture_error_quark), (signal_eos_delayed), - (query_timeout), (got_video_size), (caps_set), (parse_stream_info), - (handle_element_message) - * clutter/clutter-video-texture.h: - Port more of bacon video widget API. - - * examples/test-video.c: (foo), (tick), (main): - Add a simple overlay displaying playback time. - -2006-04-15 Matthew Allum - - * clutter/clutter-element.c: - * clutter/clutter-label.c: (clutter_label_init), - (clutter_label_new_with_text): - * clutter/clutter-label.h: - * clutter/clutter-main.c: (clutter_redraw), (clutter_gl_unlock): - * clutter/clutter-main.h: - * clutter/clutter-rectangle.c: (clutter_rectangle_init), - (clutter_rectangle_new): - * clutter/clutter-rectangle.h: - * clutter/clutter-texture.c: (clutter_texture_class_init), - (clutter_texture_set_pixbuf), (clutter_texture_new_from_pixbuf): - * clutter/clutter-texture.h: - * clutter/clutter-video-texture.c: (clutter_video_texture_init): - * clutter/clutter-video-texture.h: - * examples/test-video.c: (main): - * examples/test.c: (main): - * examples/video-cube.c: (clutter_video_texture_cube_init), (main): - Make xxx_new() return there type as ClutterElement* - -2006-04-15 Matthew Allum - - * TODO: - Update - * clutter/clutter-main.c: - * clutter/clutter-stage.c: - * clutter/clutter-texture.c: - * clutter/clutter-texture.h: - * gst/clutterimagesink.c: (gst_clutterimagesink_clutterimage_put), - (gst_clutterimagesink_context_get): - Various experiments with textures and 3D views. - - * clutter/clutter-video-texture.c: - (clutter_video_texture_class_init), (clutter_video_texture_init): - * examples/Makefile.am: - * examples/test-video.c: (main): - * examples/video-cube.c: - Add video-cube example - -2006-04-13 Matthew Allum - - * TODO: - Update - - * clutter/clutter-bin.c: - * clutter/clutter-bin.h: - New container element - - * clutter/clutter-stage.c: - * clutter/clutter-stage.h: - Make stage a proper element - - * clutter/Makefile.am: - * clutter/clutter.h: - * clutter/clutter-element.c: (clutter_element_show), - (clutter_element_set_opacity): - * clutter/clutter-element.h: - * clutter/clutter-label.c: (clutter_label_make_pixbuf), - (clutter_label_set_text), (clutter_label_set_font): - * clutter/clutter-private.h: - Various tweaks new api calls. - - * clutter/clutter-main.c: (events_init): - * clutter/clutter-main.h: - Make ClutterContex Private to main - - * clutter/clutter-texture.c: - * clutter/clutter-texture.h: - * clutter/clutter-video-texture.c: - (clutter_video_texture_finalize): - Fix video crash - - * examples/test-video.c: (main): - * examples/test.c: (main): - Fix for API changes. - -2006-04-11 Matthew Allum - - * TODO: - Add - * clutter/clutter-video-texture.c: - (clutter_video_texture_finalize): - * clutter/clutter-video-texture.h: - Remove bogus pixbuf attribute - -2006-04-10 Matthew Allum - - * clutter/clutter-main.c: (clutter_dispatch_x_event), - (clutter_queue_redraw), (clutter_main), (clutter_set_stage_params), - (clutter_init): - * clutter/clutter-main.h: - * clutter/clutter-private.h: - Make Stage non fullscreen ( for now ). Change event loop to - work better with video. - - * clutter/Makefile.am: - * clutter/clutter-label.c: (clutter_label_make_pixbuf), - (clutter_label_class_init), (clutter_label_new_with_text), - (clutter_label_set_text), (clutter_label_set_font): - * clutter/clutter-texture.c: (texture_render_to_gl_quad), - (clutter_texture_unrealize), (clutter_texture_sync_pixbuf), - (clutter_texture_realize), (clutter_texture_show), - (clutter_texture_hide), (clutter_texture_paint), - (clutter_texture_finalize), (clutter_texture_set_property), - (clutter_texture_get_property), (clutter_texture_class_init), - (clutter_texture_init), (clutter_texture_get_pixbuf), - (clutter_texture_set_pixbuf), (clutter_texture_new_from_pixbuf): - * clutter/clutter-texture.h: - * clutter/clutter.h: - Fix leakage. Improve performance. Add support for non tiled - textures. - - * examples/Makefile.am: - * examples/test.c: (timeout_text_cb), (main): - Experiments - - * examples/test-video.c: - * configure.ac: - * gst/Makefile.am: - * gst/clutterimagesink.c: - * gst/clutterimagesink.h: - * clutter/clutter-video-texture.c: - * clutter/clutter-video-texture.h: - Add initial support for video textures with gst-0.10 - - * gst/cltrimagesink.c: - * gst/cltrimagesink.h: - Remove old gst-0.8 sink - -2006-04-05 Matthew Allum - - * clutter/Makefile.am: - * clutter/clutter-element.c: (clutter_element_show), - (clutter_element_hide), (clutter_element_realize), - (clutter_element_unrealize), (clutter_element_paint), - (clutter_element_finalize), (clutter_element_class_init), - (clutter_element_init), (clutter_element_new): - * clutter/clutter-element.h: - * clutter/clutter.h: - * clutter/clutter-main.c: (clutter_dispatch_x_event), - (events_init), (clutter_redraw), (clutter_main), (clutter_init), - (clutter_show_stage): - * clutter/clutter-main.h: - Various minor tweaks. - - * clutter/clutter-private.h: - * clutter/clutter-texture.c: (can_create), (init_tiles), - (clutter_texture_unrealize), (clutter_texture_realize), - (clutter_texture_finalize), (clutter_texture_class_init), - (clutter_texture_init): - * clutter/clutter-texture.h: - Much improve texture class. - - * clutter/clutter-label.c: - * clutter/clutter-label.h: - Add new text rendering class - - * clutter/clutter-rectangle.c: - * clutter/clutter-rectangle.h: - Add basic rectangle drawing class - - * examples/test.c: - Add text rendering and animation to test. - -2006-04-04 Matthew Allum - - * clutter/Makefile.am: - * clutter/clutter-element.c: (clutter_element_realize): - * clutter/clutter-element.h: - * clutter/clutter-image.c: - * clutter/clutter-image.h: - * clutter/clutter-main.c: (clutter_dispatch_x_event), - (clutter_main), (clutter_set_stage_params), (clutter_init): - * clutter/clutter-texture.c: (next_p2), (can_create), - (tile_dimension), (init_tiles), (texture_render_to_gl_quad), - (clutter_texture_unrealize), (clutter_texture_realize), - (clutter_texture_get_pixbuf), (clutter_texture_paint), - (clutter_texture_finalize), (clutter_texture_class_init): - * clutter/clutter-texture.h: - * clutter/clutter.h: - * configure.ac: - * examples/test.c: - Implement basic tiled texture painting. - -2006-04-03 Matthew Allum - - reviewed by: - - * clutter/Makefile.am: - * clutter/clutter-element.c: - * clutter/clutter-element.h: - * clutter/clutter-image.c: - * clutter/clutter-image.h: - * clutter/clutter-main.c: (events_init), (stage_realize), - (clutter_queue_redraw), (clutter_redraw), (clutter_add_to_stage), - (clutter_remove_from_stage), (clutter_main), - (clutter_set_stage_params), (clutter_init): - * clutter/clutter-main.h: - * clutter/clutter-private.h: - * clutter/clutter.h: - * examples/test.c: - -2006-04-02 Matthew Allum - - * clutter/Makefile.am: - * clutter/cltr-animator.c: - * clutter/cltr-animator.h: - * clutter/cltr-button.c: - * clutter/cltr-button.h: - * clutter/cltr-core.c: - * clutter/cltr-core.h: - * clutter/cltr-events.c: - * clutter/cltr-events.h: - * clutter/cltr-glu.c: - * clutter/cltr-glu.h: - * clutter/cltr-label.c: - * clutter/cltr-label.h: - * clutter/cltr-list.c: - * clutter/cltr-list.h: - * clutter/cltr-overlay.c: - * clutter/cltr-overlay.h: - * clutter/cltr-photo-grid.c: - * clutter/cltr-photo-grid.h: - * clutter/cltr-private.h: - * clutter/cltr-scratch.c: - * clutter/cltr-scratch.h: - * clutter/cltr-texture.c: - * clutter/cltr-texture.h: - * clutter/cltr-video.c: - * clutter/cltr-video.h: - * clutter/cltr-widget.c: - * clutter/cltr-widget.h: - * clutter/cltr-window.c: - * clutter/cltr-window.h: - * clutter/cltr.h: - * clutter/clutter-main.c: - * clutter/clutter-main.h: - * clutter/clutter-private.h: - * clutter/clutter.h: - * clutter/fonts.c: - * clutter/fonts.h: - * clutter/pixbuf.c: - * clutter/pixbuf.h: - * clutter/util.c: - * clutter/util.h: - * configure.ac: - * examples/Makefile.am: - * examples/photos.c: - * examples/player.c: - * examples/scratch.c: - * examples/select.c: - * examples/test.c: - Remove old cltr files replacing with beginnings of - rejigged 'clutter' ones. - -2005-05-27 mallum,,, - - * clutter/cltr-animator.c: (cltr_animator_zoom_new), - (cltr_animator_move_new), (cltr_animator_fullzoom_new), - (cltr_animator_new), (cltr_animator_set_args), - (cltr_animator_wrapped_zoom_paint), (cltr_animator_reset), - (cltr_animator_timeout_cb), (cltr_animator_run): - * clutter/cltr-animator.h: - * clutter/cltr-button.c: (cltr_button_set_label), - (cltr_button_paint): - * clutter/cltr-label.c: (cltr_label_new), (cltr_label_set_text), - (cltr_label_get_text), (cltr_label_show), - (cltr_label_handle_xevent), (cltr_label_paint): - * clutter/cltr-label.h: - * clutter/cltr-list.c: (cltr_list_paint): - * clutter/cltr-widget.c: - * examples/select.c: (usage), (video_ctrl_hide), - (video_ctrl_stop_cb), (video_ctrl_play_cb), - (video_ctrl_seek_begin_cb), (init_video_ctrl), (show_video_ctrl), - (populate), (cell_to_item), (zoom_video_out), (init_show_controls), - (handle_xevent), (zoom_out_complete), (zoom_in_complete): - More select hacking ... - -2005-05-23 mallum,,, - - * clutter/cltr-button.c: (cltr_button_new_with_label), - (cltr_button_handle_xevent), (cltr_button_paint): - * clutter/cltr-button.h: - * clutter/cltr-events.c: (cltr_main_loop): - * clutter/cltr-list.c: (cltr_list_cell_new), - (cltr_list_append_cell), (cltr_list_update_layout), - (cltr_list_paint): - * clutter/cltr-list.h: - * clutter/cltr-overlay.c: (cltr_overlay_paint): - * clutter/cltr-private.h: - * clutter/cltr-widget.c: (cltr_widget_show), - (cltr_widget_show_all), (cltr_widget_add_child): - * clutter/cltr-widget.h: - * clutter/cltr-window.c: (cltr_window_show), (cltr_window_paint), - (cltr_window_handle_xevent), (cltr_window_post_paint), - (cltr_window_set_paint_funcs), (cltr_window_xwin), - (cltr_window_hide_cursor), (cltr_window_set_fullscreen): - * clutter/cltr-window.h: - * examples/select.c: (usage), (init_video_ctrl), (show_video_ctrl), - (populate), (cell_to_item), (handle_xevent), (zoom_out_complete), - (zoom_in_complete), (cell_activated), (main): - Much Select hacking - -2005-05-17 mallum,,, - - * clutter/cltr-video.c: (cltr_video_get_pixbuf): - * gst/cltrimagesink.c: (gst_cltrimagesink_change_state), - (gst_cltrimagesink_chain): - Fix thread related segv's on grabbing video image. - Also pop any unplayed data from sink on stop - -2005-05-16 mallum,,, - - * clutter/cltr-animator.c: (cltr_animator_zoom_new), - (cltr_animator_fullzoom_new), (cltr_animator_new), - (cltr_animator_set_args), (cltr_animator_wrapped_paint): - * clutter/cltr-animator.h: - * clutter/cltr-list.c: (cltr_list_cell_new), - (cltr_list_get_active_cell_co_ords), (cltr_list_show), - (cltr_list_on_activate_cell), (cltr_list_update_layout), - (cltr_list_paint): - * clutter/cltr-list.h: - * clutter/cltr-texture.c: (cltr_texture_realize), - (cltr_texture_unref), (cltr_texture_sync_pixbuf), - (cltr_texture_force_rgb_data): - * clutter/cltr-video.c: (got_stream_length), (got_time_tick), - (got_state_change), (parse_stream_info), (cb_iterate), - (cltr_video_play), (cltr_video_set_volume), - (cltr_video_get_volume), (cltr_video_get_pixbuf), - (cltr_video_idler), (cltr_video_set_source), - (cltr_video_handle_xevent), (cltr_video_paint): - * clutter/cltr-video.h: - * clutter/cltr-widget.c: - * clutter/pixbuf.c: (pixbuf_write_png), (load_png_file), - (pixbuf_copy), (pixbuf_fill_rect), (pixbuf_scale_down), - (pixbuf_clone): - * examples/select.c: (usage), (populate), (cell_to_item), - (handle_xevent), (zoom_out_complete), (zoom_in_complete), - (cell_activated), (main): - * gst/cltrimagesink.c: (gst_cltrimagesink_getcaps), - (gst_cltrimagesink_chain): - Far too much hacking. Fix many endian image issues. - Greatly improve select demo - -2005-05-16 mallum,,, - - * clutter/Makefile.am: - * clutter/cltr-animator.c: - * clutter/cltr-animator.h: - * clutter/cltr-list.c: (distfunc), (cltr_list_new), - (cltr_list_get_active_cell_co_ords), (cltr_list_show), - (cltr_list_on_activate_cell), (cltr_list_handle_xevent), - (cltr_list_animate), (cltr_list_timeout_cb), - (cltr_list_update_layout), (cltr_list_paint): - * clutter/cltr-list.h: - * clutter/cltr-private.h: - * clutter/cltr.h: - * clutter/pixbuf.c: (load_png_file): - * examples/player.c: - * examples/select.c: (usage), (populate), (cell_activated), (main): - Work on animator zooming. Also build up select.c much - -2005-05-14 mallum,,, - - * clutter/cltr-animator.c: - Add initial outline - * clutter/cltr-button.c: (cltr_button_new_with_pixbuf), - (cltr_button_handle_xkeyevent), (cltr_button_handle_xevent), - (cltr_button_paint): - various tweaks/experimentation - * clutter/cltr-core.c: (cltr_init), (cltr_display_height): - * clutter/cltr-glu.c: (cltr_glu_set_color): - * clutter/cltr-glu.h: - Add unfilled rect call. - * clutter/cltr-label.c: (cltr_label_new), (cltr_label_paint): - * clutter/cltr-list.c: (distfunc), (cltr_list_cell_new), - (cltr_list_show), (cltr_list_animate), (cltr_list_paint): - update list a little. - * clutter/cltr-overlay.c: (cltr_overlay_handle_xevent), - (cltr_overlay_paint): - * clutter/cltr-private.h: - * clutter/cltr-texture.c: (cltr_texture_realize): - * clutter/cltr-video.c: (cltr_video_paint): - * clutter/cltr.h: - * clutter/fonts.c: (draw_layout_on_pixbuf): - Fix font alpha blending - * examples/Makefile.am: - * examples/player.c: (main): - * examples/scratch.c: (main): - tweaks. - * examples/select.c: - new example - -2005-05-11 mallum,,, - - * clutter/cltr-video.c: (got_buffering), (cltr_video_new), - (cltr_video_play), (cltr_video_idler): - * examples/photos.c: (main): - * examples/player.c: (handle_xevent), (main): - * gst/cltrimagesink.c: (gst_cltrimagesink_chain): - Fix Gl thread related crash on video playback - Make examples less bound to my laptop ;) - -2005-05-06 mallum,,, - - * clutter/cltr-button.c: (cltr_button_new_with_label): - * clutter/cltr-overlay.c: - * clutter/cltr-photo-grid.c: (cltr_photo_grid_cell_new), - (cltr_photo_grid_paint), (cltr_photo_grid_new): - * clutter/cltr-video.c: (cltr_video_print_tag), (got_buffering), - (got_error), (caps_set), (parse_stream_info), (cb_iterate), - (cltr_video_new), (cltr_video_play), (cltr_video_seek), - (cltr_video_seek_time), (cltr_video_stop), (cltr_video_close), - (cltr_video_pause), (cltr_video_can_set_volume), - (cltr_video_set_volume), (cltr_video_get_volume), - (cltr_video_idler), (cltr_video_set_source), (cltr_video_show), - (cltr_video_hide), (cltr_video_handle_xevent), (cltr_video_paint): - * clutter/cltr-video.h: - * clutter/cltr-widget.h: - * clutter/cltr-window.c: (cltr_window_show), (cltr_window_paint), - (cltr_window_handle_xevent), (cltr_window_set_fullscreen), - (cltr_window_focus_widget): - * clutter/cltr-window.h: - * clutter/cltr.h: - * clutter/fonts.c: (get_layout_bitmap), (font_draw), - (font_get_pixel_size): - * configure.ac: - * examples/photos.c: (photo_grid_populate): - * examples/player.c: (handle_xevent), (main): - * examples/scratch.c: (main): - Lots more tweaks, mainly updating video widget. - -2005-04-29 mallum,,, - - * clutter/cltr-button.c: (cltr_button_new), - (cltr_button_on_activate), (cltr_button_new_with_label), - (cltr_button_show): - * clutter/cltr-button.h: - * clutter/cltr-label.c: (cltr_label_new), (cltr_label_paint): - * clutter/cltr-private.h: - * clutter/cltr-video.c: (cltr_video_play): - * clutter/cltr-widget.c: (cltr_widget_new), (cltr_widget_abs_x), - (cltr_widget_abs_y), (cltr_widget_abs_x2), (cltr_widget_abs_y2), - (cltr_widget_width), (cltr_widget_height), (cltr_widget_show), - (cltr_widget_focus), (cltr_widget_unfocus), - (cltr_widget_set_focus_next), (cltr_widget_get_focus_next), - (cltr_widget_show_all): - * clutter/cltr-widget.h: - * clutter/cltr-window.c: (cltr_window_new), - (cltr_window_focus_widget): - * clutter/cltr.h: - * clutter/fonts.c: (draw_layout_on_pixbuf), (font_get_pixel_size): - * examples/scratch.c: (main): - Hack buttons some more - -2005-04-27 mallum,,, - - * clutter/Makefile.am: - * clutter/cltr-button.c: (cltr_button_new): - * clutter/cltr-label.c: - * clutter/cltr-label.h: - * clutter/cltr-photo-grid.c: (cltr_photo_grid_paint): - * clutter/cltr-texture.c: (cltr_texture_realize), - (cltr_texture_new), (cltr_texture_unref), - (cltr_texture_no_tile_new): - * clutter/cltr-texture.h: - * clutter/cltr-video.c: (cltr_video_got_time_tick), (caps_set), - (cltr_video_new), (cltr_video_idler), (cltr_video_set_source), - (cltr_video_play), (cltr_video_pause), (cltr_video_show), - (cltr_video_hide), (cltr_video_handle_xevent), (cltr_video_paint): - * clutter/cltr.h: - * clutter/fonts.c: (font_new), (draw_layout_on_pixbuf), - (font_draw): - * clutter/fonts.h: - * clutter/pixbuf.c: (pixbuf_set_pixel), (pixbuf_get_pixel): - * examples/photos.c: (photo_grid_populate), (main): - * examples/player.c: (main): - Improve video widget, use playbin rather than gst_play - Lots of misc tweaks. - -2005-04-26 mallum,,, - - * clutter/Makefile.am: - * clutter/cltr-core.c: (cltr_init): - * clutter/cltr-events.c: (cltr_events_init), (cltr_main_loop): - * clutter/cltr-photo-grid.c: - * clutter/cltr-private.h: - * clutter/cltr-scratch.c: (cltr_scratch_handle_xevent), - (cltr_scratch_paint): - * clutter/cltr-texture.c: (cltr_texture_render_to_gl_quad), - (init_tiles), (cltr_texture_unrealize), (cltr_texture_realize), - (cltr_texture_new), (cltr_texture_no_tile_new), - (cltr_texture_get_pixbuf): - * clutter/cltr-texture.h: - * clutter/cltr-video.c: - * clutter/cltr-video.h: - * clutter/cltr-widget.c: (cltr_widget_queue_paint): - * clutter/cltr.h: - * examples/Makefile.am: - * examples/player.c: - * gst/cltrimagesink.c: (gst_cltrimagesink_fixate), - (gst_cltrimagesink_getcaps), (gst_cltrimagesink_sink_link), - (gst_cltrimagesink_change_state), (gst_cltrimagesink_chain), - (gst_cltrimagesink_set_property), (gst_cltrimagesink_get_property), - (gst_cltrimagesink_finalize), (gst_cltrimagesink_class_init): - * gst/cltrimagesink.h: - Initial go at very hacky gst video widget - -2005-04-22 mallum,,, - - * clutter/Makefile.am: - * clutter/cltr-button.c: - * clutter/cltr-button.h: - * clutter/cltr-core.c: (cltr_init): - * clutter/cltr-overlay.c: - * clutter/cltr-overlay.h: - * clutter/cltr-photo-grid.c: (cltr_photo_grid_handle_xevent), - (cltr_photo_grid_cell_new), (ctrl_photo_grid_get_zoomed_coords), - (cell_is_offscreen), (cltr_photo_grid_idle_cb), - (cltr_photo_grid_navigate), (cltr_photo_grid_activate_cell), - (cltr_photo_grid_populate), (cltr_photo_grid_update_visual_state), - (cltr_photo_grid_paint), (cltr_photo_grid_show), - (cltr_photo_grid_set_fps), (cltr_photo_grid_get_fps), - (cltr_photo_grid_set_anim_steps), (cltr_photo_grid_get_anim_steps), - (cltr_photo_grid_new): - Fix up grid so external prog can load images. - * clutter/cltr-photo-grid.h: - * clutter/cltr-texture.c: (cltr_texture_realize), - (cltr_texture_new): - * clutter/cltr-texture.h: - * clutter/cltr-window.c: (cltr_window_set_fullscreen): - * clutter/cltr.h: - * clutter/pixbuf.c: (pixbuf_scale_down), (ConvolveImage), - (GaussianBlurImage): - * clutter/pixbuf.h: - New experimental Methods - * configure.ac: - * examples/Makefile.am: - * examples/photos.c: - * examples/player.c: - Add new examples - * gst/Makefile.am: - * gst/cltrimagesink.c: - * gst/cltrimagesink.h: - Add initial crusty ( broken ) gst stuff - -2005-04-13 mallum,,, - - * bootstrap-autotools.sh: - * clutter/Makefile.am: - * clutter/cltr.c: - * configure.ac: - * examples/Makefile.am: - * examples/scratch.c: - Initial autotooling of everything. - -2005-04-07 mallum,,, - - * Makefile: - * cltr-events.c: (cltr_main_loop): - * cltr-list.c: - * cltr-list.h: - Add list widget - * cltr-photo-grid.c: (cltr_photo_grid_cell_new), - (cltr_photo_grid_append_cell), (ctrl_photo_grid_cell_to_coords), - (ctrl_photo_grid_get_zoomed_coords), (cltr_photo_grid_idle_cb), - (cltr_photo_grid_navigate), (cltr_photo_grid_activate_cell), - (cltr_photo_grid_update_visual_state), (cltr_photo_grid_paint), - (cltr_photo_grid_show), (cltr_photo_grid_new): - * cltr-texture.c: - * cltr-widget.c: - * cltr-window.c: (cltr_window_new), (cltr_window_show), - (cltr_window_handle_xevent): - * cltr-window.h: - * cltr.c: (main): - * cltr.h: - * pixbuf.c: (pixbuf_copy): - * pixbuf.h: - Cleanups - -2005-04-03 mallum,,, - - * Makefile: - * cltr-core.c: - * cltr-core.h: - * cltr-events.c: - * cltr-events.h: - * cltr-photo-grid.c: (cltr_photo_grid_handle_xkeyevent), - (cltr_photo_grid_handle_xevent), (cltr_photo_grid_cell_new), - (cltr_photo_grid_append_cell), (ctrl_photo_grid_cell_to_coords), - (ctrl_photo_grid_get_zoomed_coords), (cell_is_offscreen), - (cltr_photo_grid_idle_cb), (cltr_photo_grid_navigate), - (cltr_photo_grid_activate_cell), (cltr_photo_grid_populate), - (cltr_photo_grid_paint), (cltr_photo_grid_show), - (cltr_photo_grid_new): - * cltr-photo-grid.h: - * cltr-private.h: - * cltr-texture.c: - * cltr-texture.h: - * cltr-widget.c: - * cltr-widget.h: - * cltr-window.c: - * cltr-window.h: - * cltr.c: - * cltr.h: - Add very basic initial toolkit infrastructure - -2005-03-31 mallum,,, - - * cltr-photo-grid.c: (cltr_photo_grid_append_cell), - (ctrl_photo_grid_cell_to_coords), - (ctrl_photo_grid_get_zoomed_coords), (cell_is_offscreen), - (cltr_photo_grid_idle_cb), (cltr_photo_grid_navigate), - (cltr_photo_grid_activate_cell), (cltr_photo_grid_populate), - (cltr_photo_grid_redraw), (cltr_photo_grid_new): - * cltr-photo-grid.h: - * cltr-texture.c: (cltr_texture_render_to_gl_quad), (init_tiles), - (cltr_texture_realize): - * cltr-texture.h: - * cltr.c: (main): - Implemented scrolling. Very rough around the edges, needs tidying. - -2005-03-30 mallum,,, - - * Makefile: - * cltr-photo-grid.c: (cltr_photo_grid_redraw), - (cltr_photo_grid_new): - * cltr-tex.c: - * cltr-tex.h: - * cltr-texture.c: (cltr_texture_new): - More renaming - -2005-03-30 mallum,,, - - * cltr-photo-grid.c: (cltr_photo_grid_populate), - (cltr_photo_grid_redraw), (cltr_photo_grid_new): - * cltr-photo-grid.h: - * cltr-tex.c: (next_p2), (cltr_texture_render_to_gl_quad), - (tile_dimension), (init_tiles), (cltr_texture_new): - * cltr-tex.h: - * cltr.h: - Rename CltrImage -> CltrTexture - -2005-03-30 mallum,,, - - * Makefile: - * cltr-photo-grid.c: (cltr_photo_grid_populate), - (cltr_photo_grid_redraw): - * cltr-photo-grid.h: - * cltr-tex.c: - * cltr-tex.h: - * cltr.c: (main): - * cltr.h: - * pixbuf.c: (pixbuf_unref), (pixbuf_copy): - * pixbuf.h: - Add intial new texture tiling code. - -2005-03-27 mallum,,, - - * Makefile: - * cltr-photo-grid.c: (cltr_photo_grid_cell_new), - (ctrl_photo_grid_get_zoomed_coords), (cltr_photo_grid_navigate), - (cltr_photo_grid_activate_cell), (cltr_photo_grid_populate), - (cltr_photo_grid_redraw), (cltr_photo_grid_new): - * cltr-photo-grid.h: - * cltr.c: (cltr_dispatch_x_event), (cltr_init), (test_idle_cb), - (main): - * cltr.h: - Add a very hacky threaded image loader. - Make event handling a little more efficient, though still hacky - * pixbuf.c: (pixel_set_vals), pixbuf.h: - Add copy func ( unused as yet ) - -2005-03-25 mallum,,, - - * cltr-photo-grid.c: (cltr_photo_grid_cell_new), - (ctrl_photo_grid_get_zoomed_coords), (cltr_photo_grid_redraw), - (cltr_photo_grid_new): - * cltr-photo-grid.h: - * cltr.c: (cltr_window_new), (idle_cb), (main): - Use GL matrices in a saner way. - Add random rotation to picts - Random minor tweaks - -2005-03-24 mallum,,, - - * Makefile: - * cltr-photo-grid.c: - * cltr-photo-grid.h: - * cltr.c: (cltr_window_new), (cltr_main_loop): - * cltr.h: - Split up cltr.c a bit. start refactoring a bit. - -2005-03-23 mallum,,, - - * cltr.c: (cltr_photo_grid_populate), (cltr_photo_grid_redraw), - (cltr_photo_grid_new), (main): - * cltr.h: - Various minor tweaks - * pixbuf.c: (pixbuf_set_pixel), (pixbuf_get_pixel): - Fix RGBA ordering in set/get pixel - -2005-03-23 mallum,,, - - * cltr.c: (ctrl_photo_grid_get_trans_coords), - Fix grid co-ords -> translation vals converter - (cltr_photo_grid_navigate), (cltr_photo_grid_redraw), - (cltr_photo_grid_new), (idle_cb): - Fix moving between pictures when zoomed - -2005-03-23 mallum,,, - - * cltr.c: (cltr_dispatch_x_event), (cltr_window_new), - (cltr_main_loop), (cltr_photo_grid_navigate), - (cltr_photo_grid_activate_cell), (cltr_photo_grid_populate), - (cltr_photo_grid_redraw), (cltr_photo_grid_new), (idle_cb), (main): - * cltr.h: - Lots, make the grid roughly work. - - * fonts.c: (get_layout_bitmap), (font_draw): - remove debug printfs - -2005-03-22 mallum,,, - - * cltr.c: (x_event_prepare), (x_event_check), (x_event_dispatch), - (cltr_dispatch_x_event), (cltr_init), (cltr_window_new), - (cltr_photo_grid_append_cell), (cltr_photo_grid_populate), - (cltr_photo_grid_redraw), (cltr_photo_grid_new), - (idle_cb), (main): - * cltr.h: - Add glib event loop diff --git a/Makefile.am b/Makefile.am index 8e9d8e21b..5faf106df 100644 --- a/Makefile.am +++ b/Makefile.am @@ -13,12 +13,6 @@ DIST_SUBDIRS = clutter tests examples doc po build # source for m4 macros ACLOCAL_AMFLAGS = -I build/autotools ${ACLOCAL_FLAGS} -EXTRA_DIST = \ - ChangeLog.pre-git-import \ - README.in \ - README \ - $(NULL) - CLEANFILES = $(pcfiles) DISTCLEANFILES = diff --git a/NEWS b/NEWS deleted file mode 100644 index 7f681a9aa..000000000 --- a/NEWS +++ /dev/null @@ -1,5442 +0,0 @@ -Clutter 1.26.0 2016-03-21 -=============================================================================== - - • List of changes since Clutter 1.25.6 - - - Avoid spamming accessibility state changes in clones - Clones of unmapped actors will cause a temporary mapping of their source, - which will result in spurious accessibility events. - - - Ignore GDK deprecation compiler warnings - - - Resync build configuration for Windows - - - Translation updates - Serbian, Swedish, Catalan, Occitan, Greek, Latvian, Russian, Danish - - • List of bugs fixed since Clutter 1.25.6 - - #756371 - Accessible event spam in Overview - -Many thanks to: - - Jordi Mas, Anders Jonsson, Ask Hjorth Larsen, Chun-wei Fan, Cédric Valmary, - Efstathios Iosifidis, Rūdolfs Mazurs, Stas Solovey, Марко Костић, - Мирослав Николић - -Clutter 1.25.6 2016-02-18 -=============================================================================== - - • List of changes since Clutter 1.25.4 - - - Enable swap throttling for fullscreen windows with GDK - Avoids performance penalties with the GDK backend on constrained devices - running full screen Clutter and Clutter-GTK applications. - - - Add platform-specific data for the libinput input backend - This allows implementing high level functionality when writing Wayland - compositors based on Clutter. - - - Translation updates - Hungarian, Bulgarian, Polish, Slovak, French, Chinese (Taiwan), Galician, - Italian - - • List of bugs fixed since Clutter 1.25.4 - - #752752 - Patches needed for relative pointer and pointer confinement - in mutter -  #755849 - evdev: Recycle device ids after devices are removed - -Many thanks to: - - Jonas Ådahl, Alexander Shopov, Alexandre Franke, Chao-Hsiung Liao, - Dušan Kazik, Fran Dieguez, Gábor Kelemen, Milo Casagrande, Piotr Drąg - -Clutter 1.25.4 2016-01-21 -=============================================================================== - - • List of changes since Clutter 1.25.2 - - - Add more scrolling information inside ClutterScrollEvent - This allows to receive the type of device that generate the scroll event, - as well as the notification that a scroll motion finished; we can use this - information to implement kinetic scrolling. Currently, only libinput - provides us with these fields. - - - Translation updates - Spanish, Lithuanian, Czech, German, Hebrew, Brazilian Portuguese - - • List of bugs fixed since Clutter 1.25.2 - - #757026 - Add scroll source / axis stop information to scroll events - -Many thanks to: - - Aurimas Černius, Carlos Garnacho, Daniel Mustieles, Marek Černocký, - Mario Blättermann, Rafael Fontenelle, Yosef Or Boczko - -Clutter 1.25.2 2015-12-17 -=============================================================================== - - • List of changes since Clutter 1.24 - - - Set event code on button and key events in the evdev input backend - This allows users of the evdev input backend to retrieve the event - code without doing ad hoc calculations based on event-specific fields. - - - Take scaling factor into account on Wayland with GDK - This brings the Wayland support inside the GDK backend on par to the X11 - side. - - - Decouple selectability from editability in ClutterText - It's possible to create selectable ClutterText actors without enabling - editability; this may cause unexpected cursors to appear in reactive - label-like actors using non-editable ClutterText, so feedback from users - is appreciated. - - - Allow overriding the Cogl driver used by Clutter - On systems with multiple OpenGL and OpenGL ES implementations available, - it should be possible to explicitly set the Cogl driver (OpenGL 3.2 core - profile context; OpenGL legacy context; OpenGL ES 2.0 context) used by - Clutter when creating its drawing context. It's also possible to define - a list of drivers to try sequentially until one succeeds. - - - Rework the windowing system backend selection - The windowing system backend initialization has been reworked to allow - setting the default windowing system backend using the configuration - file under $XDG_CONFIG_DIRS/clutter-1.0/settings.ini. The selection of - the backend also supports the ability to specify a list of backends to - try sequentially until one succeeds, for systems with multiple windowing - systems available. - - - Documentation fixes - - - Translation updates - Portuguese, Slovenian - - • List of bugs fixed since Clutter 1.24 - - #758238 - [evdev] Add evdev-specific API to get event codes from - ClutterEvents - #755245 - only shows a 4th of the screen under wayland - #757470 - Allow selectability without editability - #752752 - Patches needed for relative pointer and pointer confinement - in mutter - #759074 - Port cairo test to ClutterCanvas - #759191 - should use pkg-config for GL - #742678 - gl: Prefer gl3 over the gl driver - -Many thanks to: - - Carlos Garnacho, Lionel Landwerlin, Jonas Ådahl, Pedro Albuquerque, - Matej Urbančič - -Clutter 1.24.2 2015-10-12 -=============================================================================== - - • List of changes since Clutter 1.24.0 - - - Emulate discrete scrolling on evdev - - - Improve animation smoothness under the GDK backend - - - Updated translations - Russian, Latvian, Danish, Swedish, Brazilian Portuguese, Serbian, - Serbian Latin, Ukrainian, Hindi, Kannada, Finnish, Portuguese. - - • List of bugs fixed since Clutter 1.24.0 - - #755357 - timeline: Minor fixes for debuggability with - ClutterMasterClockGdk - #745517 - gnome-shell crashed with SIGABRT in g_assertion_message() - #756284 - Unable to use two finger scroll on Wayland - -Many thanks to: - - Philip Withnall, Owen W. Taylor, Piotr Drąg, Милош Поповић, Anders Jonsson, - Ask Hjorth Larsen, Carlos Garnacho, Jiri Grönroos, Lionel Landwerlin, - Pedro Albuquerque, Rafael Fontenelle, Rūdolfs Mazurs, Stas Solovey - -Clutter 1.24.0 2015-09-15 -=============================================================================== - - • List of changes since Clutter 1.23.6 - - - Fix ClutterGridLayout's preferred size computation - The preferred height of the ClutterGridLayout is correctly taking into - account the height and span of each cell. - - - Improve embeddability of Clutter in foreign toolkits - Embedding Clutter inside other toolkits, like GTK+, on Wayland and X11 - has been fixed. - - - Updated translations - French, Portuguese, Spanish, Galician, Chinese (Taiwan), Polish, - Indonesian, Greek, Slovak, Hebrew, Hungarian, Lithuanian, Italian, - Slovenian, German, Czech. - - • List of bugs fixed since Clutter 1.23.6 - - #755014 - Fix Clutter-Gtk on x11 - #754993 - notify Cogl immediately of a foreign window resize in GDK/X11 - backend - #754938 - Setup sync_to_vblank before ClutterStage creation - #754890 - Fix Mesa warning when unrealizing/rerealizing foreign stage - windows - #754889 - Fix compositor synchronization in GDK backend - #754766 - "actor: Clean up transform_stage_point()" broke HiDPI mutter - #754697 - Use a wayland subsurface when dealing with foreign windows - on GDK/wayland - #754671 - Improve dealing with foreign stages on GDK - #754134 - A few gdk backend fixes - -Many thanks to: - - Lionel Landwerlin, Dušan Kazik, Alexandre Franke, Andika Triwidada, - Aurimas Černius, Balázs Úr, Bernd Homuth, Chao-Hsiung Liao, - Daniel Mustieles, Fran Dieguez, Jonas Ådahl, Marek Černocký, - Matej Urbančič, Milo Casagrande, Pedro Albuquerque, Piotr Drąg, - Tom Tryfonidis, Yosef Or Boczko - -Clutter 1.23.6 2015-08-21 -=============================================================================== - - • List of changes since Clutter 1.23.4 - - - Require Cogl 1.21.2 - - - Prefer the OpenGL 3.x Cogl driver - The GL3 driver drops legacy API, and should bring a slight performance - improvement, as well as lower memory overhead. If GL3 is not supported, - Clutter falls back to the older GL driver transparently. - - - Updated translations - Catalan, Indonesian, Portuguese, Lithuanian, Spanish, French, Galician - - • List of bugs fixed since Clutter 1.23.4 - - #742678 - gl: Prefer gl3 over the gl driver - #746279 - Typo (textues) in translatable string - #753895 - Incorrect plural form of child - -Many thanks to: - - Adel Gadllah, Alexandre Franke, Anders Jonsson, Andika Triwidada, - Aurimas Černius, Carlos Garnacho, Daniel Mustieles, Fran Dieguez, - Jordi Mas, Pedro Albuquerque, Sebastian Rasmussen - -Clutter 1.23.4 2015-07-22 -=============================================================================== - - • List of changes since Clutter 1.23.2 - - - Add functions for binding a GListModel to a ClutterActor - The bind_model() and bind_model_with_propertis() methods on ClutterActor - allow binding objects inside a GListModel implementation to children or - an actor. - - - Add event types for touchpad gestures - Currently, the libinput input backend is the only one that will generate - the touchpad events for swipe and pinch/zoom/rotate, but support for other - backends is planned in the future. - - - Documentation fixes - - • List of bugs fixed since Clutter 1.23.2 - - #752272 - _CLUTTER_DEPRECATED_MACRO_FOR is not defined when not compiling - with gcc - #752056 - Check for NULL pointer for pspec returned by - g_object_class_find_property, before dereferencing - #752104 - Automatic wayland detect support causes error when wayland is - not installed - #751472 - Don't create libinput properties - -Many thanks to: - - Carlos Garnacho, Ting-Wei Lan, Kalev Lember, Nitin Sharma, - Pedro Albuquerque, Peter Hutterer, Stefan Sauer - -Clutter 1.23.2 2015-06-18 -=============================================================================== - - • List of changes since Clutter 1.22 - - - Add accessor functions for ClutterActor state - Currently, actor state is accessible only via GObject properties and via - pre-processor macros; the former are not very friendly for C developers, - while the latter are not usable from language bindings. New functions have - been added to fill in the gap; the macros have a "soft" deprecation, since - compiler warnings cannot be used to detect their use. - - - Merge the Cally API reference into Clutter's - The Cally API is part of the Clutter shared library; it makes sense to - have the API references merged. - - - Improve visual handling with the GDK backend running on X11 - Cogl has its own visual, based on its preferred GLXFBConfig; this means - that Clutter should use and expose the correct GdkVisual instance when - creating the GdkWindow used for drawing the contents of the stage. - - - Improve input device handling in the GDK backend - Properly detect touchpad devices; translate touch events. - - • List of bugs fixed since Clutter 1.22 - - #707982 - Add PanAxis mode that automatically pins scroll based on initial - movement - #750496 - Touch events not correctly propagated through gdk backend - #747489 - No access to the Visual used to build the CoglOnscreen - #747951 - Tablet calibration targets do not respond to clicks - #749739 - prepare ClutterSwipeAction for multi-finger swipes - #749482 - x11: Fix touchpad detection - #749256 - clutter-backend-gdk: Only set setting on successful - gdk_screen_get_setting call - #747436 - Clutter should use the same heuristics as gtk+ to determine - touchpads - -Many thanks to: - - Carlos Garnacho, Dima Ryazanov, Gustavo Noronha Silva, Jasper St. Pierre, - Marek Černocký, Matthieu Bouron, Rui Matos - -Clutter 1.22.0 2015-03-23 -=============================================================================== - - • List of changes since Clutter 1.21.8 - - - Improve pointer tracking in the evdev input backend - Do not use the events after the queue processing, to avoid dropping events - due to compression. - - - Fix handling of multiple stages with the GDK backend - A regression introduced when the GDK backend implemented its own master - clock using GdkFrameClock prevented applications with multiple stages to - be updated properly. - - - Updated translations - Kazakh, Aragonese, Indonesian, Danish, Turkish. - - • List of bugs fixed since Clutter 1.21.8 - - #746575 - cally-actor: Don't assume X11 backend is used when supported - #746328 - evdev: Keep track of the pointer coordinate ourself - -Many thanks to: - - Muhammet Kara, Andika Triwidada, Ask H. Larsen, Baurzhan Muftakhidinov, - Daniel Martinez, Florian Müllner, Jonas Ådahl - -Clutter 1.21.8 2015-03-15 -=============================================================================== - - • List of changes since Clutter 1.21.6 - - - Documentation updates - The messages for most of the deprecated API list the intended replacement - classes or approaches to be used when porting code. - - - Update the MSVC build files - - - Improve damage tracking on ClutterStage - This should improve performance, especially when paired with the - buffer_age extension. - - - Updated translations - Greek, Polish, Ukrainian, Italian, Slovak, Latvian, Bosnian. - - • List of bugs fixed since Clutter 1.21.6 - - #745512 - Improve damage tracking and use swap_buffers_with_damage - -Many thanks to: - - Chun-wei Fan, Chris Wilson, Daniel Korostil, Dušan Kazik, Milo Casagrande, - Piotr Drąg, Rūdolfs Mazurs, Samir Ribic, Tom Tryfonidis. - -Clutter 1.21.6 2015-03-03 -=============================================================================== - - • List of changes since Clutter 1.21.4 - - - Support quad-buffer stereo displays on X11/GLX - This allows using Clutter to draw on GLX framebuffers with the stereo - bit set. - - - Add a Mir windowing system backend - This allows using Clutter applications natively on systems using the - Mir display server. - - - Depend on Cogl ≥ 1.19 and Cairo ≥ 1.12 - Cogl 1.19 is needed for the newly added Mir windowing system backend, - as well as the quad-buffer stereo display on X11. Cairo 1.12 is needed - for dropping the ad hoc check for the device scale parameter used with - ClutterStage implementations as well as the ClutterCanvas content. - - - Improvements in the evdev input backend - - - Use the GdkFrameClock to drive the ClutterMasterClock - When using the GDK backend, we want the ClutterMasterClock to be driven - by the GdkFrameClock, as the latter is automatically frame limited by - the compositor, which gives better results for client applications. - - - Updated translations - Spanish, Hebrew, Hungarian, Czech, Basque, Russian, Slovenian, Galician, - Chinese (Taiwan), French, Brazilian Portuguese, Lithuanian, Serbian. - - • List of bugs fixed since Clutter 1.21.4 - - #743355 - gdk: report an error when initialization fails - #743615 - evdev: Ignore non seat wide button or key events - #744058 - gdk: Disable cogl wayland event dispatching if requested - #743865 - MetaSurfaceActorWayland: unset the surface when it goes away - #744604 - stage: Process state update event immediately - #744668 - GDK: integrate the MasterClock mechanism with GdkFrameClock - #732706 - Allow setting up quad-buffer stereo output - -Many thanks to: - - Lionel Landwerlin, Jonas Ådahl, Alexandre Franke, Aurimas Černius, - Balázs Úr, Chao-Hsiung Liao, Daniel Mustieles, Fran Dieguez, - Giovanni Campagna, Inaki Larranaga Murgoitio, Jasper St. Pierre, - Marco Trevisan (Treviño), Marek Černocký, Matej Urbančič, Owen W. Taylor, - Rafael Ferreira, Rui Matos, Yosef Or Boczko, Yuri Myasoedov, - Мирослав Николић - -Clutter 1.21.4 2015-01-22 -=============================================================================== - - • List of changes since Clutter 1.21.2 - - - Use the GDK backend by default when possible - Instead of using the X11 or the Wayland backend by default, Clutter now - uses the GDK backend for both input and output. This improves the - integration with the windowing system. Backends can still be selected - programmatically, or via environment variables. On Windows and MacOS, we - still prefer the native backend, if available, because of asymmetries in - the GDK API. - - - Use libinput 0.8 - For the evdev input backend, the dependency for libinput has been bumped - to the newly released 0.8, which improves wheel and scroll events. - - - Allow access to vendor and product ID for input devices - - - Allow ClutterConstraint implementations to change the preferred size - ClutterConstraint classes can now update an actor's preferred size, - along with its allocation; this means that querying the preferred size - of actors using constraints will take constraints into consideration, and - improves the integration of constraints inside the layout system. - - - Improve the GDK backend - Properly support high DPI displays, as well as Wayland. - - - Updated translations - Czech, Basque, Spanish, Hungarian. - - • List of bugs fixed since Clutter 1.21.2 - - #730815 - Mouse events limited to upper left rectangle - #740759 - Add getters for input device vendor/product IDs - #734587 - Position gdk backend before x11/wayland/egl ones - #742829 - Update to new libinput API for pointer_axis events - -Many thanks to: - - Jonas Danielsson, Carlos Garnacho, Peter Hutterer, Marek Černocký, - Inaki Larranaga Murgoitio, Daniel Mustieles, Balázs Úr. - -Clutter 1.21.2 2014-12-15 -=============================================================================== - - • List of changes since Clutter 1.20.0 - - - Improve input device handling - Both on the evdev input backend, and the XInput2 backend for X11. - - - Allow content implementations to drive actors preferred size - If a ClutterActor is only used to paint a ClutterContent implementation, - it should be possible to allow the actor to have the same preferred size - of its content. We use a ClutterRequestMode to specify this behaviour. - - - Documentation fixes - - • List of bugs fixed since Clutter 1.20.0 - - #738520 - evdev: Flush event queue before removing device(s) - #739050 - Fix some weird graphical glitches in RTL - #741350 - Improve touchpad detection on libinput - #740997 - Easing modes are not used when computing the value of a - KeyframeTransition - #676326 - actor: Add a :request-content-size property - #711182 - Incorrect drawing behaviour with clutter content centered - #709252 - ensure that all deprecated symbols are correctly annotated for - gtk-doc - #669743 - ObjectInfo property is_actor not correctly set when updating - existing actor using ClutterScriptParser - #719962 - clutter/osx: add clutter_osx_disable_event_retrieval - #681300 - Miss CLUTTER_INPUT_BACKEND description in doc - #729462 - DeviceManagerXi2: Update cached core pointer in getter if NULL - -Many thanks to: - - Carlos Garnacho, Jasper St. Pierre, Jonas Ådahl, Rico Tzschichholz, - Samuel Degrande, Sjoerd Simons, cee1. - -Clutter 1.20.0 2014-09-22 -=============================================================================== - - • List of changes since Clutter 1.19.10 - - - Translations updated - Greek - - • List of bugs fixed since Clutter 1.19.10 - - - #736826 - clutter_text_set_font_name invalid example using "pt" - -Clutter 1.19.10 2014-09-17 -=============================================================================== - - • List of changes since Clutter 1.19.8 - - - Honour the desktop window scaling factor in the GDK backend - The GDK backend will become the default backend in the next cycle, so we - need to improve its functionality out of the box. - - - Ensure accessibility support is correctly initialized - We need to make sure that the accessibility implementation that Clutter - relies on is initialized the way we expect it to. - - - Improve default paint volume computation - We should reduce the cases that lead to an invalid paint volume. - - - Improve input handling on Wayland and X11 - - - Translations updates - Hebrew - - • List of bugs fixed since Clutter 1.19.8 - - #736682 - clutter-actor: Don't ask children that have no allocation for - a paint volume - #736413 - USB mouse doesn't register slow movements to the right or down - in Gnome on Wayland - #734480 - Handle CLUTTER_SCALE envvar - #734115 - Deprecated property crashes /actor/transforms/anchor-point - #735388 - xi2 device manager gets a "0" client pointer if queried very - early in app lifetime - #735244 - shell forgets the DPI of screen sometimes - -Many thanks to: - - Bastien Nocera, Adel Gadllah, Alejandro Piñeiro, Carlos Garnacho, Jonas - Ådahl, Yosef Or Boczko - -Clutter 1.19.8 2014-08-21 -=============================================================================== - - • List of changes since Clutter 1.19.6 - - - Improve the GDK backend - The GDK backend is now reporting touch events, as well as supporting - foreign Wayland surfaces for the Stage window. The goal is to make the - GDK backend the preferred one in the next development cycle. - - - Fix drawing transparent Canvas content inside transparent actors - - - Translation updates - German, Assamese - - • List of bugs fixed since Clutter 1.19.6 - - #733202 - evdev: Add API to set the xkb layout index - #734934 - Add touch event translation code to GDK backend - #734935 - Add support for wayland foreign windows in GDK backend - #734761 - Memory leak in implicit transition - -Many thanks to: - - Lionel Landwerlin Christian Kirbach, Rui Matos, Tom Beckmann, ngoswami, - Sunjin Yang - -Clutter 1.19.6 2014-07-24 -=============================================================================== - - • List of changes since Clutter 1.19.4 - - - Add a signal for the end of the frame on ClutterStage - The ::after-paint signal is useful to execute custom code after all the - painting on a specific ClutterStage has been performend, but before the - frame contents have been presented on the screen. - - - Improvements in the reliability of the evdev input backend - - - Improvements in the GestureAction implementation - - • List of bugs fixed since Clutter 1.19.4 - - #732342 - ClutterStage: Add an ::after-paint signal - #732907 - Allow for calling clutter_gesture_action_cancel() within the - ::gesture-end handler - #733062 - Evdev: set button state in input devices - #733300 - ClutterAnimation: fix memory leak - #733561 - Make a GType for ClutterEventSequence - #733562 - evdev: update xkb_state when resuming input - #733560 - Touch events trigger enter events on press, but no leave events - on release - -Many thanks to: - - Carlos Garnacho, Giovanni Campagna, Owen W. Taylor - -Clutter 1.19.4 2014-06-25 -=============================================================================== - - • List of changes since Clutter 1.19.2 - - - Depend on libinput 0.4 - The evdev input backend now depends on libinput 0.4.0. - - • List of bugs fixed since Clutter 1.19.2 - - #731268 - Events being clamped to the pre-fullscreen window size when - stage goes fullscreen - #731178 - evdev: Used floating point instead of fixed point numbers - #731254 - evdev: Follow libinput enum rename - #731536 - evdev: Add clutter_evdev_warp_pointer - #732234 - Touch events may leave a stage-less device, or happen on one - #732235 - clutter gesture actions may mistakenly handle enter/leave events - -Many thanks to: - - Jonas Ådahl, Chun-wei Fan, Gustavo Noronha Silva, Jasper St. Pierre, - Carlos Garnacho. - -Clutter 1.19.2 2014-05-28 -=============================================================================== - - • List of changes since Clutter 1.18 - - - Improve event handling on evdev input backend - Clutter now allows writing applications and compositors that can respond - to eventts from touch devices, as well as reporting correct smooth - scrolling deltas. - - • List of bugs fixed since Clutter 1.18 - - #723560 - wayland: Generate better smooth scroll deltas - #730577 - Do not compress touch events so eagerly - #728968 - evdev: Implement touch support - #728967 - evdev: Add libinput-specific helpers - #730215 - Add a way to pause the ClutterMasterClock - -Many thanks to: - - Carlos Garnacho, Jasper St. Pierre, Jonas Ådahl. - -Clutter 1.18.2 2014-04-14 -=============================================================================== - - • List of changes since Clutter 1.18.0 - - - Fix the list of dependencies - Clutter 1.18 depends on Cogl 1.17.5 when building the EGL/KMS backend. - - - Fixes for the Visual Studio build files - Use the new symbol visibility annotations when building with MSVC. - - - Fix event handling on Windows - An optimization led to a crash on the Windows backend when delivering - events without an associated ClutterStage. - - - Ensure that set_child_above/below work on the Stage - ClutterStage should respect the paint order when using the Actor API. - - - Skip conformance test suite on X11 when DISPLAY is unset - Instead of bailing out when initializing the test suite we should just - tell the test suite API to skip the units. This allows the TAP driver - to catch the skipped tests and avoid warnings. - - - Translation updates - Danish, French, Indonesian, Greek. - - • List of bugs fixed since Clutter 1.18.0 - - #728177 - Cannot collect coverage with lcov 1.10 - #727020 - wayland: Add missing CLUTTER_AVAILABLE annotations - #711645 - clutter_actor_set_child_above_sibling() not working in - ClutterStage - #726762 - Fix Import of Clutter Version Constants - #726703 - build error: undefined reference to - `cogl_kms_renderer_set_kms_fd' - -Many thanks to: - - Chun-wei Fan, Adel Gadllah, Andika Triwidada, Ask H. Larsen, David Warman, - Emilio Pozuelo Monfort, Vadim Rutkovsky, maria thukididu, teuf. - -Clutter 1.18.0 2014-03-18 -=============================================================================== - - • List of changes since Clutter 1.17.6 - - - Update build environment for Visual Studio - - - Improve the API for implementing Wayland compositors - Allow integrating with logind and KMS; provide clipped redraws on both - Wayland clients, and direct KMS. - - - Port the documentation to MarkDown - - - Use symbol annotations to ensure the public ABI - - - Translations updates - Korean, Traditional Chinese (Hong Kong and Taiwan), Chinese, Portuguese, - Latvian, Russian, French. - - • List of bugs fixed since Clutter 1.17.6 - - #725716 - Fix build of clutter-test-utils.c on Windows - #725873 - Fix the Win32 backend for newer Visual Studio Versions - #725722 - Grid layout actor width/height swapped - #726199 - evdev changes needed for logind integration work - #726341 - eglnative: Add clutter-stage-window implementation - #726315 - clutter-stage-wayland: Enable clipped redraws - #726313 - stage-cogl: Fix feature check in clutter_stage_cogl_redraw - #726198 - egl: Add a way to set the KMS FD - #708781 - wayland: Keep track of button modifier state - #711857 - Avoid needless event copies when queueing from a backend - to a stage - -Many thanks to: - - Jasper St. Pierre, Chun-wei Fan, Adel Gadllah, Bastian Winkler, Changwoo Ryu, - Chao-Hsiung Liao, Duarte Loreto, Jonas Ådahl, Rui Matos, Rūdolfs Mazurs, - Wylmer Wang, Yuri Myasoedov, teuf. - -Clutter 1.17.6 2014-03-03 -=============================================================================== - - • List of changes since Clutter 1.17.4 - - - Use libinput instead of libevdev - The evdev input backend is now based on libinput instead of directly - using the evdev API; this allows for shared input behaviour with - different toolkits. - - - Improvements in the X11 input handling - Remove the chance of input devices going out of sync; avoid excessive - round trips when asking for the client pointer; retrieve the text - direction for the current keymap. - - - Improve RTL handling in ClutterText - Try to use the correct text direction based on the contents, keymap, - and actor's direction instead of just the latter. - - - Translation updates - Brazilian Portuguese, Lithuanian, Czech, Hungarian, Serbian, Polish, - Galician. - - • List of bugs fixed - - # - #724788 - stage-cogl: Fix buffer_age code path - #724971 - Avoid stale ClutterInputDevice pointers in the device list - #720566 - [RFC] evdev: Port evdev input backend to libinput - #725102 - Patches to rework the evdev backend's keymap handling - #725103 - evdev: Set the initial core pointer coordinates to a sane value - #705779 - The text in the search-entry isn't aligned to right in RTL text - #725561 - DeviceManagerXi2: Cache the client pointer - -Many thanks to: - - Rui Matos, Adel Gadllah, Jasper St. Pierre, Aurimas Černius, Balázs Úr, - Carlos Garnacho, Fran Diéguez, Jonas Ådahl, Marek Černocký, Piotr Drąg, - Rafael Ferreira, Мирослав Николић. - -Clutter 1.17.4 2014-02-19 -=============================================================================== - - • List of changes since Clutter 1.17.2 - - - Add per-gesture thresholds - It is possible to give horizontal and vertical thresholds to each - ClutterGestureAction instance; if unset, the default is to use the - dnd threshold from ClutterSettings. - - - Allow negative factors in ClutterActor scale properties - The functions already accepted these values, but the properties did not. - - - Depend on Cogl 1.17.3 - - - Translation updates - Spanish, Hebrew, Czech, Brazilian Portuguese, Traditional Chinese (Hong - Kong and Taiwan), Serbian, Galician, Indonesian, Italian, Aragonese, - Norwegian bokmål, Ukranian. - - • List of bugs fixed since Clutter 1.17.2 - - #711540 - Fix bad logic in checks - #662818 - Fix documentation of 'hsla()' parsing - #710232 - Mention that ClutterTransition is abstract in the documentation - #706311 - Extend :scale-[xyz] factors in the negative range - #724242 - Add per-action thresholds - -Many thanks to: - - Bastien Nocera, Daniel Mustieles, Kjartan Maraas, Milo Casagrande, Adel - Gadllah, Andika Triwidada, Chao-Hsiung Liao, Daniel Korostil, Fran Diéguez, - Jorge Pérez Pérez, Marek Černocký, Rafael Ferreira, Yosef Or Boczko, - Мирослав Николић - - -Clutter 1.17.2 2014-01-22 -=============================================================================== - - • List of changes since Clutter 1.16.0 - - - Allow ClutterScript definitions for Interval and Transition classes - ClutterInterval instances can be defined, and used, in ClutterScript - UI definition files. - - - Add generic API for event filtering - Event filtering is meant to be used to intercept events before they - reach the scene graph. - - - Deprecated ClutterTableLayout - The Table layout manager is fully superceded by ClutterGridLayout, which - supports dynamic grid layouts, RTL flipping, expansion and alignment of - children using the ClutterActor flags, and implicit animations using the - actor's easing state. - - - Allow GestureAction subclasses to change the trigger edge - GestureAction can emit the ::gesture-begin signal depending on the - value of the :threshold-trigger-edge property. Using this property it - is possible to specify whether the gesture begins after a certain - threshold is passed; before a certain threshold is passed; or - immediately. - - - Use the window scaling factor when creating Cairo surfaces - ClutterCanvas will use the window scaling factor setting when creating - Cairo surfaces; it is also possible to set the scaling factor on a - per-instance basis, for future compatibility. - - - Detect window scaling factor automatically on X11 - Use the XSETTING exposed by the environment to change the window - scaling factor. - - - Support ClutterStage cursor visibility in the Wayland backend - It is possible to show and hide the cursor on the Stage on Wayland. - - - Translations updates - Czech, Greek, Hebrew, Chinese simplified, Brazilian Portuguese, - Galician, Italian, Spanish. - - • List of bugs fixed since Clutter 1.16.0 - - 705915 - Support high dpi displays - 722322 - check coordinate validity in do_pick() - 722220 - Incorrect string reported in accessible text-changed events - when text is removed - 722188 - atk_text_get_n_selections() should return 0 when no text is - selected - 710229 - Restore initial ClutterGestureAction behavior - 710227 - ClutterGestureAction memory corruption - 719901 - ClutterStageCogl: Ignore a clip the size of the stage - 719900 - ClutterStageCogl: Clip in the right coordinate system - 719747 - ClutterStage: Don't add empty actors to the stage clip - 719716 - Make test-clip friendly for people with only one mouse button - 719563 - input-device: Guard against double free - 719368 - Don't queue redraws when reallocating actor that haven't moved - 719367 - Bind constraints: Don't force redraws on source relayout - 712816 - device-manager-evdev: Stop using deprecated libevdev API - 712812 - Crash and memory leak fixes for device removals - 712563 - Fixes for cogl journal usage when picking - 707560 - Event filter - 712322 - input-device-xi2: Calculate the correct state for button events - 707071 - Remove use of XFixes for showing/hiding the cursor - 709762 - ClutterDragAction can mix pointer and touch events - 709590 - wayland: Implement support for 'cursor-visible' stage property - -Many thanks to: - - Jasper St. Pierre, Rui Matos, Owen W. Taylor, Alejandro Piñeiro, Lionel - Landwerlin, Bastian Winkler, Neil Roberts, Rafael Ferreira, Chun-wei Fan, - Daniel Mustieles, Dimitris Spingos, Enrico Nicoletto, Florian Müllner, Fran - Diéguez, Jonas Ådahl, Marek Černocký, Milo Casagrande, Piotr Drąg, Robert - Bragg, Sphinx Jiang, Yosef Or Boczko - -Clutter 1.16.0 2013-09-23 -=============================================================================== - - • List of changes since Clutter 1.15.96 - - - Fix a division by zero in the X11 backend - - - Translation updates - Portuguese, Danish - - • List of bugs fixed since Clutter 1.15.96 - - #707033 - Hidden division by zero in examples/basic-actor.c - -Many thanks to: - - Duarte Loreto, Kenneth Nielsen. - -Clutter 1.15.96 2013-09-20 -=============================================================================== - - • List of changes since Clutter 1.15.94 - - - Fix a crasher bug happening on X11 - Some events coming from the system would result in a segmentation fault. - - • List of bugs fixed since Clutter 1.15.94 - - #708439 - clutter-xi2: don't access the stage if we don't have one - -Clutter 1.15.94 2013-09-19 -=============================================================================== - - • List of changes since Clutter 1.15.92 - - - Improve the evdev input backend - The evdev input backend is used when writing applications and compositors - that directly drive the frame buffer on Linux. By ensuring that the evdev - input backend works correctly it is possible to manage input sources like - pointers, keyboards, and touch devices using the raw evdev device nodes. - Clutter now depends on libevdev in order to poll the evdev interfaces. - - - Allow scaling windowing surfaces - The main part of the work to support high resolution displays is to make - sure that windowing surfaces can be created with a scaling factor, while - trasparently handling the new size from an application's perspective. The - scaling factor is currently set manually, but it in the near future it will - be automatically set by the environment. - - - Translation updates - Serbian, Aragonese, Russian, Latvian, Belarusian, Assamese, Indonesian, - German, Hebrew. - - • List of bugs fixed since Clutter 1.15.92 - - #706652 - evdev: add callback to constrain the pointer position - #706543 - evdev: use monotonic times for the events - #706494 - an assortment of wayland and evdev related changes - #707377 - wayland: Check for NULL surface on pointer leave events - #707808 - box-layout: Fix floating point truncation when calculating a - child's size - #707774 - ClutterClickAction can trigger a crash if disposes at - inappropriate time - #707869 - Add API to restrict the windowing backend to load - #708079 - Clutter clutter-1.16 branch fails to commit after commit - da3e6988 - #708383 - ClutterEvent: preserve extended state across - clutter_event_copy() - -Many thanks to: - - Giovanni Campagna, Emmanuele Bassi, Lionel Landwerlin, Andika Triwidada, - Chun-wei Fan, Florian Müllner, Ihar Hrachyshka, Jasper St. Pierre, Jorge - Pérez Pérez, Nilamdyuti Goswami, Rob Bradford, Rūdolfs Mazurs, Yuri - Myasoedov, Мирослав Николић. - -Clutter 1.15.92 2013-09-02 -=============================================================================== - - • List of changes since Clutter 1.15.90 - - - Fix regression in BoxLayout for RTL text direction - - - Update Visual Studio build files - - - Translation updates - Polish, French, Slovak, Lithuanian, Catalan - - • List of bugs fixed since Clutter 1.15.90 - - #706450 - box-layout: Fix RTL layout swapping with non-zero container - offsets - -Many thanks to: - - Chun-wei Fan, Jasper St. Pierre, Alexandre Franke, Aurimas Černius, Gil - Forcada, Ján Kyselica, Piotr Drąg - -Clutter 1.15.90 2013-08-19 -=============================================================================== - - • List of changes since Clutter 1.15.2 - - - Update the Wayland backend - Use the new 1.2 behaviour and API, and improve the coverage of windowing - system features, alongside a slew of bugs. - - - Drop support for XInput 1.x - The XInput 1.x extension was never really used after the introduction of - the 2.x version. - - - Fix event and device handling when using evdev - - - Allow using ClutterContent on a ClutterStage - - - Fixes for the Windows backend - The build script has also been updated with the required dependencies. - - - Documentation fixes - - - Translations updated - - • List of bugs fixed since Clutter 1.15.2 - - #703809 - Some LayoutManager fixes - #704625 - Cannot assign a ClutterContent to a stage - #698836 - Add interactive test for ClutterZoomAction/ClutterRotateAction - #705739 - Crash when removing a ClutterActor from a scene at the end of - an animation - #705710 - evdev: fix X11 to evdev keycode translation - #704269 - evdev: add a way for applications to tweak how devices are - opened - #704457 - Setting the size of the stage causes it to not be shown on - wayland - #699578 - Implement foreign surface support for stages - #704279 - wayland: Add API for disabling the event dispatching - #703336 - clutter-actor: Make clutter_actor_has_mapped_clones public - #701356 - Update the windows backend to work with latest Cogl - #703969 - Select for events with XIAllMasterDevices under XI2 - #703878 - wayland: Don't pass the shell and compositor down to Cogl - #703608 - Update ClutterWaylandSurface to use a resource instead of - wl_buffer - #703877 - Bump the required Cogl version to 1.15.1 - -Many thanks to: - - Giovanni Campagna, Neil Roberts, Florian Müllner, Jasper St. Pierre, Rob - Bradford, Matej Urbančič, Adel Gadllah, Chao-Hsiung Liao, Chris Cummins, - Chun-wei Fan, Lionel Landwerlin, Rafael Ferreira - -Clutter 1.15.2 2013-07-10 -=============================================================================== - - • List of changes since Clutter 1.14 - - - Improve state tracking and short circuiting - ClutterActor now tracks clones and unmapped actors more aggressively, to - reduce the amount of work necessary when updating the scene graph. - - - Wayland backend improvements and updates - - - Documentation updates - Clean up the API reference for readability, and improve the comments in - the inlined example code. Also, include the cookbook in the distribution - tarball. - - - Allow installation of conformance tests - Clutter now allows installing its conformance tests into a well-known - location; this allows running the conformance test suite against an - installed version of Clutter. - - - Add ClutterFlowLayout:snap-to-grid - ClutterFlowLayout users can now ask the layout manager to not align the - actors to a grid. - - - Improve gesture recognizers - - - Deprecations - ClutterText::cursor-event has been replaced by ClutterText::cursor-changed; - ClutterGeometry has been deprecated; ClutterActor::realize and ::unrealize, - along with their virtual functions, have been deprecated. - - • List of bugs fixed since Clutter 1.14 - - #682789 - Deprecate ClutterGeometry (and remove it for 2.0) - #698668 - A few improvements to ClutterGestureAction - #698669 - Fix "trigger edge after" behavior with more than 1 touch point - #698671 - Refactor event handling code in ClutterGestureAction - #698674 - Improve ClutterZoomAction behavior - #698783 - Add a paint callback for ClutterStage - #698766 - Implicit transitions queued on invisible actors should be ignored - #648873 - Feature request: ClutterFlowLayout not aligning on a grid - #699675 - Offscreen effects allocating too much memory - #692706 - Frequent crash in cally_stage_notify_key_focus_cb - #701974 - x11: trap errors when calling XIQueryDevice - #696813 - clutter_actor_set_child_above/below_sibling leaking a reference - on the actor - #701208 - deform-effect: correctly set the cull-face mode of the back - pipeline - #700980 - Tap action now longer works - #702016 - ClutterText reset font when dpi changes and font was set using - a pango description - #702610 - text: relayout on cursor visibility change - #702941 - Install conformance tests - RH#975171 - gnome-shell: screen magnifier can cause crash with Cogl error - #702202 - conform tests hang on wayland - #703188 - Stage doesn't appear when running under Wayland - #703476 - tests/actor-offscreen-redirect: Fix race condition - #703566 - Need to be able to share Wayland display between GTK and Clutter - #697285 - Inconsistent setting of the time member on the events - #703882 - Prevent buffer/text/max-length properties notification in the - allocation cycle - -Many thanks to: - - Lionel Landwerlin, Chris Cummins, Matthias Clasen, Rob Bradford, Alejandro - Piñeiro, Jasper St. Pierre, Bastian Winkler, Colin Walters, Craig R. Hughes, - Daniel Mustieles, Marek Černocký, Adel Gadllah, Ask H. Larsen, Bastien - Nocera, Cosimo Cecchi, Dimitris Spingos, Duarte Loreto, Emanuele Aina, Fran - Diéguez, Gil Forcada, Matej Urbančič, Milo Casagrande, Neil Roberts, Rui - Matos, Samuel Degrande, Sebastian Keller, Sjoerd Simons. - -Clutter 1.13.2 2012-12-18 -=============================================================================== - - • List of changes since Clutter 1.12 - - - Add ClutterTapAction, a gesture recogniser for single touch taps. - - - Add ClutterSwipeAction::swipe - This new signal has a boolean return value, and brings the SwipeAction in - line with the rest of the GestureAction sub-classes. The ::swept signal - has also been deprecated. - - - Enable XInput 2.x support by default - Instead of using Xlib core events. The clutter_x11_enable_xinput() function - now does not do anything; it's possible to disable XInput support by using - the CLUTTER_DISABLE_XINPUT environment variable. - - - Documentation fixes - - • List of bugs fixed since 1.12 - - #679439 - Single-threaded clutter programs fail on platforms which don't - permit unlocking an already unlocked mutex - #685589 - Off-stage touch events are not delivered - #685554 - Assertion failure when trying to cancel an already started gesture - #685028 - Let users and subclasses set a custom threshold on GestureAction - #685221 - Points get stuck in th tracking array when returning FALSE from - ::gesture-progress - #683948 - Add TapAction as subclass of GestureAction to deprecate - ClickAction - #685737 - Export the last event for each touch point on GestureAction - #686776 - Shouldn't annotate constructor of GInitiallyUnowned subclasses - #689073 - Fix clutter_actor_allocate_align_fill() with actors exactly - between 2 pixels - #685186 - tests: Print touch sequences in test-events - #689258 - xi2: Reset the correct scroll axes on DeviceChanged - #689061 - Some fixes and API additions for ClutterPanAction - #689316 - Strange issues with margins - #689399 - text: Prevent a relayout if font descriptions or attrs are equal - #689496 - Fixes for Coverity - #690214 - clutter_actor_apply_transform() fails to rollback the pivot - translation if an explicit transform has been set - #673838 - Enable XInput support by default - #686692 - Clutter 1.12.2 compilation fails in evdev backend - #685982 - ClutterActor::transitions-completed isn't called for implicit - transitions - #688457 - clutter_get_current_event() returns NULL on TOUCH_BEGIN - #689392 - swipe-action: Introduce new ::swipe signal - -Many thanks to: - - Emanuele Aina, Jasper St. Pierre, Emmanuele Bassi, Daniel Stone, Chun-wei - Fan, Rob Bradford, Tomeu Vizoso, Wolfgang Stöggl, Alejandro Piñeiro, - Christian Kirbach, Guillaume Desmottes, Lionel Landwerlin, Marek Černocký, - Milo Casagrande, Nishio Futoshi, OKANO Takayoshi, Piotr Drąg, Rūdolfs Mazurs, - Tristan Van Berkom. - -Clutter 1.12.0 2012-09-24 -=============================================================================== - - • List of changes since Clutter 1.11.16 - - - Fix the device tracking for core X11 pointers - If a master input device can emit both touch and pointer events we end up - in an inconsistent state; we should account for this case when tracking - the stage that contains the events of each input device. - - - Respect text direction in BinLayout - The text direction of the children of an actor using the BinLayout layout - manager should be taken into account, both when using the Actor's align - flags and when using the legacy BinAlignment flags. - - - Translations updates - Hindi, Telugu, Catalan, Malayalam, Japanese, Bulgarian, Kannada. - - • List of bugs fixed since Clutter 1.11.16 - - #684214 - messageTray: Fix summary position in RTL locales - #684552 - Track coordinates and device ids in test-events - #684530 - Print device number in debug messages from input-device - #684509 - Mouse events lost after touch event from virtual core pointer - -Many thanks to: - - Emanuele Aina, Emmanuele Bassi, Alexander Shopov, Ani Peter, - Carles Ferrando, Chandan Kumar, Gil Forcada, Krishnababu Krothapalli, - Nishio Futoshi, Shankar Prasad. - -Clutter 1.11.16 2012-09-17 -=============================================================================== - - • List of changes since Clutter 1.11.14 - - - Fixes for gesture-based actions - Ensure that the ClutterPanAction::pan-stopped signal is emitted before - the ClutterGestureAction::gesture-begin signal, in case a new gesture - starts; this requires adding a new state to ClutterGestureAction, the - gesture-prepare state. - - - Ensure modified Enter keys do not end up in the Text buffer - For single-line ClutterText actors. - - - Add touch event support to ClutterClickAction - - - Updated translations - British English, Indonesian, Traditional Chinese (Hong Kong and Taiwan), - French, Serbian, Russian, German, Slovenian, Brazilian Portuguese, Greek, - Portuguese, Belarusian, Assamese, Danish. - - • List of bugs fixed since Clutter 1.11.14 - - #683301 - stage: Normalize key focus setting - #683430 - CLUTTER_GESTURE_ACTION_GET_CLASS() calls - G_TYPE_INSTANCE_GET_PRIVATE() instead of - G_TYPE_INSTANCE_GET_CLASS() - #683431 - PanAction::pan-stopped sometimes is emitted before - ::gesture-begin - #683471 - All gestures get cancelled after missing a button release event - #682161 - ClutterImage overflows beyond its actor's allocation - #623344 - Search incorrectly handles input - #683869 - test-events does not track touch events - #683870 - test-events only reports up/down scrolls - #683936 - ClickAction doesn't support touch events - #683937 - Wrong format identifiers in debug messages in - clutter_stage_allocate() - -Many thanks to: - - Emanuele Aina, Emmanuele Bassi, Alexandre Franke, Ask H. Larsen, Bruce Cowan, - Chao-Hsiung Liao, Christian Kirbach, Debarshi Ray, Dirgita, Duarte Loreto, - Enrico Nicoletto, Ihar Hrachyshka, Jasper St. Pierre, Martin Srebotnjak, - Matej Urbančič, Nilamdyuti Goswami, Rui Matos, Tom Tryfonidis, Yuri Myasoedov, - Мирослав Николић. - -Clutter 1.11.14 2012-09-03 -=============================================================================== - - • List of changes since Clutter 1.11.12 - - - Fixes for the touch sequence handling - The stage associated with an input device is now set when a touch sequence - begins, and cleared when the last touch sequence ends. - - - Add interpolation for matrices - Using the CSS3 Transforms specification for decomposing matrices and - interpolating the resulting transformations. This allows animating - properties like ClutterActor:transform and ClutterActor:child-transform. - - - Add ClutterPanAction - The PanAction is a gesture recogniser that allows panning children of - a "scrollable" viewport. - - - Add more accessors to GestureAction for its subclasses - GestureAction now allows retrieving the velocity and delta of pointer, - as well as the event sequences and devices involved in the gesture. This - allows writing more complex gesture recognisers. It is also possible, now, - to ask a GestureAction to cancel the current gesture programmatically, - e.g. from a timer. - - - Fix ClutterTableLayout.pack() with negative row/column - Using a negative number to appen an actor into a TableLayout was causing - additional rows and columns to be appended, due to an off by one error. - - - Fix press coordinates when using ClutterDragAction with a drag handle - The transformation of the coordinates is now done using the drag actor, - as it was supposed to be. - - - Documentation and annotation fixes - - - Deprecate the ClutterActor::pick signal - Similarly to the ClutterActor::paint signal, it's now discouraged to - connect to the ClutterActor::pick signal; connecting to the pick signal - will raise a warning when using the CLUTTER_ENABLE_DIAGNOSTIC environment - variable. - - - Updated translations - Lithuanian, Indonesian, Traditional Chinese (Hong Kong and Taiwan), - Polish, Spanish, Assamese, Greek, Spanish, Polish, Galician, - Belarusian. - - • List of bugs fixed since Clutter 1.11.12 - - #682795 - Annotation problem for clutter_actor_iter_next() and - clutter_actor_iter_prev() - #682754 - ClutterRotateAction wrong marshaller usage - #681746 - Drag handle misplacemente in examples/drag-action - #679990 - clutter_table_layout_pack increments column/row count by two - #681648 - add Pan action - #683219 - Build failure with old (?) XI2 - #683066 - brightness-contrast-effect: Don't actually run if it will have - no effect - #683090 - gesture-action: Add API for cancelling a gesture - #683126 - Remove tracking of input devices and sequences from the stage - #682362 - Multi touch events skipped - #683113 - Bug in ClutterGestureAction documentation - #680255 - The middle and right mouse buttons are swapped when using the - evdev backend - -Many thanks to: - - Emanuele Aina Piotr Drąg, Lionel Landwerlin, Aurimas Černius, - Daniel Mustieles, Jasper St. Pierre, Neil Roberts, Nilamdyuti Goswami, - Tomeu Vizoso, Andika Triwidada, Andre Kuehne, Chao-Hsiung Liao, Chun-wei Fan, - Fran Diéguez, Ihar Hrachyshka, Tom Tryfonidis. - - -Clutter 1.11.12 2012-08-20 -=============================================================================== - - • List of changes since Clutter 1.11.10 - - - ClutterBinLayout honours the fixed-position of actors - The ClutterBinLayout now checks if the :fixed-position-set property of a - ClutterActor is set, and will use the fixed position when computing the - allocation, without requiring an explicit CLUTTER_BIN_ALIGNMENT_FIXED - alignment policy. - - - Soft-deprecation of ClutterGeometry - The ClutterGeometry boxed type is a bad rectangle type, with known issues - when used for unioning and intersecting; Clutter uses the type in signals - and properties, so we cannot fully deprecate it. The documentation has - been amended, and API using ClutterGeometry has been deprecated where it - makes sense. - - - Deprecate the ClutterActor::paint signal - The class handler for ClutterActor::paint is still available, but - connecting to the ::paint signal directly is strongly discouraged, and - will emit warnings if the CLUTTER_ENABLE_DIAGNOSTIC environment variable - is set. Notifications of a full paint for the Stage should happen only - through the repaint functions. - - - Ensure we associate input devices to the stage on touch events - Like we do for crossing events for pointer devices, beginning and ending - a touch sequence should associate the input device to the stage. - - - Allow constraining a DragAction to an area - Similarly to how we allow constraining the dragging to an axis, we can - also constrain the dragging to a specific area, expressed in - parent-relative coordinates. - - - Do not handle events on ClutterText if :selectable is FALSE - If the ClutterText:selectable property is FALSE we should only reposition - the cursor, and avoid the whole drag-to-select event handling. - - - Add ClutterActor:child-transform - The :child-transform property allows applying an initial transformation - to the children of an actor, but not to the actor itself. - - - Fix height-for-width policy in ClutterBinLayout - - - Add ClutterZoomAction - An action that implements the pinch gesture to scale an actor up or - down through two touch points. - - - Documentation fixes - - - Translations update - Assamese, Indonesian, Ukranian, Traditional Chinese translation (Hong - Kong and Taiwan), Spanish, Galician, Serbian. - - • List of bugs fixed since Clutter 1.11.10 - - [bugzilla.gnome.org] - #681584 - clutter touch events tests slows down a lot after some use - #681074 - Call clutter_input_device_update_from_event from - clutter_x11_handle_event - #681168 - ClutterDragAction: allow constraining the movement of the - dragged actor - #682070 - clutter-text: Make sure to paint the background of a text actor - #682265 - ClutterBinLayout not honoring ClutterActor position set through - clutter_actor_set_position - #679483 - ClutterBoxLayout does not do height-for-width properly - #678427 - Zoom action - #681814 - ClutterDragAction causes crashes when drag actor is destroyed - at drag-end time - -Many thanks to: - - Nilamdyuti Goswami, Daniel Mustieles, Fran Diéguez, Chao-Hsiung Liao, - Daniel Korostil, Dirgita, Duarte Loreto, Giovanni Campagna, - Jasper St. Pierre, Lionel Landwerlin, Sjoerd Simons, Tristan Van Berkom, - Мирослав Николић. - -Clutter 1.11.10 2012-08-07 -=============================================================================== - - • List of changes since Clutter 1.11.8 - - - Add support for multiple touch points in GestureAction - GestureAction subclasses can now define the number of touch points they - require in order to start recognising a gesture. - - - Add a RotateAction - A GestureAction subclass that requires two touch points to rotate the - actor to which it has been applied. - - - Generate crossing events for touch devices - - - Respect ClutterStage.set_motion_events_enabled() for touch events - - - Fix a regression in discrete scroll events emission - When using XInput 2, the scroll events generated through buttons (e.g. - mouse wheel) should only be emitted on ButtonPress, to match the semantics - of the X11 core device handling. - - - Add progress functions defined in CSS3-Transitions - The CSS3 Transitions specification defines various timing functions: - - steps cubic-bezier - step-start ease - step-end ease-in - ease-out - ease-in-out - - These are now available to be used with ClutterTimeline. - - - Add ClutterActor::transition-stopped - The ::transition-stopped signal is emitted each time a Transition - associated to an actor is stopped (using the same sematincs as the - ClutterTimeline::stopped signal); it is also a detailed signal, so that - it's possible to connect a handler for a specific Transition name. - - - Add ClutterActor.transform - The :transform property allows overriding all the decomposed - transformations of an actor, like scale and rotate; the transformation - is applied relative to the actor's allocated origin and pivot point. - - - Documentation and build fixes - - - Translations update - Traditional Chinese (Hong Kong and Taiwan), Spanish, Galician, - Serbian, Greek. - - • List of bugs fixed since Clutter 1.11.8 - - [bugzilla.gnome.org] - #678586 - Modifiy ClutterGestureAction to support multi touch and multiple - points - #680088 - Duplicate mouse wheel scroll events with xinput enabled - #678587 - Add ClutterRotationAction - #679797 - Missing enter/leave events generation for touch events - #680174 - Add clutter_event_is_pointer_emulated() to distinguish emulated - scroll events - #680751 - clutter_stage_set_motion_events_enabled() is not honoured with - CLUTTER_TOUCH_UPDATE events - #680752 - Touch cancel events are not processed by Clutter - -Many thanks to: - - Lionel Landwerlin, Chao-Hsiung Liao, Tom Tryfonidis, Мирослав Николић, - Daniel Mustieles, Emanuele Aina, Fran Diéguez, Piotr Drąg. - -Clutter 1.11.8 2012-07-16 -=============================================================================== - - • List of changes since Clutter 1.11.6 - - - Bump the dependency of ATK - Use the newly released 2.5.3 to rely on the generci event listeners - that have been added to ATK; this avoids reimplementing our own. - - - Ensure validity of iterators - Even when they are copied. - - - Rounding error fixes for allocations - Constraints and other code adjusting the allocation of an actor should - round the origin and size of the ClutterActorBox in a consistent way. - - - Updates for the VisualStudio build files - - - Add ClutterDragAction::drag-progress - The ::drag-progress signal allows controlling the emission of the - ::drag-motion signal. Overriding the default behaviour of a DragAction - is now possible without calling g_signal_stop_emission_by_name(). - - - Add ClutterActor:pivot-point - The pivot point of ClutterActor provides a center, in normalized - coordinate space, for the transformations of an actor (scaling, rotation, - translation). - - - Deprecations - ClutterText:position has been deprecated by ClutterText:cursor-position, - for consistency with other ClutterText properties, as well as to avoid - shadowing the ClutterActor:position property. ClutterActor:depth has - been deprecated by ClutterActor:z-position. ClutterTexture has been - deprecated in favour of ClutterImage. ClutterActor:anchor-[xy] and the - transformation centers for rotation and scaling have been deprecated - in favour of the ClutterActor:pivot-point. The clutter_threads_enter() - and clutter_threads_leave() functions have been deprecated. - - - Removal of the experimental ClutterLayoutManager easing state API - The easing state API for ClutterLayoutManager was added in 1.11.2, but - with the introduction of a default easing state for ClutterActor it is - now redundant and not necessary; to animate the allocation of an actor - during layout it's simply necessary to set its easing state. All layout - managers provided by Clutter have been updated. - - • List of bugs fixed since Clutter 1.11.6 - - [bugzilla.gnome.org] - #679451 - Add ::drag-progress signal - #679457 - Add :cursor-position and deprecate :position - #679465 - Add :z-position and deprecate :depth - #677853 - Use a single transformation center for rotation and scaling - -Many thanks to: - - Chun-wei Fan, Alejandro Piñeiro, Alexander Shopov, Andika Triwidada, - Chao-Hsiung Liao, Daniel Mustieles, Fran Diéguez, Ihar Hrachyshka, - Kjartan Maraas, Piotr Drąg, Sasi Bhushan Boddepalli. - -Clutter 1.11.6 2012-06-23 -=============================================================================== - - • List of changes since Clutter 1.11.4 - - - Accessibility fixes - Clean up key listeners; implement AtkText missing methods for getting text - before and after a given offset. - - - Ensure that ClutterBinLayout honours the fixed positioning - - - Improvements in GridLayout - - - Improve debugging messages - We now print out the name, type, and pointer address of each actor when - emitting debugging messages; also, all messages within one second are - grouped together and show the delta instead of a full timestamp, to - improve readability. - - - Add ClutterActor:content-repeat - The content-repeat property can be used by a ClutterContent implementation - to control the repeating of the content's data or pattern. ClutterImage - and ClutterCanvas honour this property. - - - Explicit animation API improvements - ClutterTransition will now ask the ClutterAnimatable associated to it - for its initial or final state, in case either is missing; also, the - interpolated value will be coerced to the correct property type instead - of generating a warning. - - - Switch to lcov for test coverage - - - Remove an extra reference on ClutterStage - The reference added during dispose introduced a leak in case a stage was - destroyed. - - - Improve touch event support - New API to install a grab on a specific event sequence of an input device; - ClutterText now responds to touch events; ClutterDragAction and - ClutterDropAction also use touch events as well as pointer events. The - conformance and interactive test suites now have units for checking touch - event handling. - - • List of bugs fixed since Clutter 1.11.4 - - #677659 - add user_data parameter to ClutterBindingActionFunc - #677778 - Assorted introspection fixes from Vala - #677921 - tests: link test-conformance against libm - #675183 - Duplicate accessible key events - #678391 - tests: no return in non-void function - #678423 - 1.10.8 needs fix on osx ... clutter_x11_enable_xinput not - available - #678439 - crash in event translation - #678264 - actor: Make margin properties animatable - #677221 - Orca does not present run dialog text - #678047 - Add touch events vfunc on ClutterActor - #678049 - Add touch events support to Drag & Drop actions - #678279 - Add grab API on touch sequences - #678278 - Add touch events support to ClutterText - -Many thanks to: - - Alejandro Piñeiro, Alexander Larsson, Lionel Landwerlin, Bastian Winkler, - Tomeu Vizoso, Evan Nemerson, Andy Wingo, Daniel Mustieles, Danielle Madeley, - Dimitris Spingos, Fran Diéguez, Frédéric Péters, Ihar Hrachyshka, - Jasper St. Pierre, Matthias Clasen, Sasi Bhushan Boddepalli, Tom Tryfonidis - -Clutter 1.11.4 2012-06-05 -=============================================================================== - - • List of changes since Clutter 1.11.2 - - - Multi-touch support fixes - The clutter_event_copy() code was copying the wrong axis data; the correct - touch device was not used when translating axis data from XInput2 to the - ClutterInputDevice; touch events were not delivered to the correct actors. - - - Add ClutterDropAction::drop-cancel signal - The ::drop-cancel does what it says on the tin: it allows handling a - cancelled drop action, instead of relying on the drag end signal on - the ClutterDragAction. - - - Add examples in the repository - Clutter has been using some interactive tests as examples of idiomatic - usage, both as standalone code and for inclusion inside the API reference - documentation; this is sub-optimal, as the interactive tests are meant to - exercise the API and its behaviour, not as an example of how to write - proper Clutter code. For this reason, we now have an examples/ directory - that contains example code that can be used to learn Clutter. - - - Allow disabling the tests and examples when building Clutter - This should help cross-compilation and testing. - - - Fix the preferred size to always include the actor's margin - - - Fix picking of the ClutterScrollActor - - - Add implicit animations for the color properties of ClutterText - Changing any color-related properties of a ClutterText actor will result - in a transition, if the easing state has a non-zero duration. - - - Layout managers should respect the child expand and align properties - ClutterBinLayout, ClutterBoxLayout, and ClutterTableLayout should use the - ClutterActor [xy]-expand and [xy]-align properties, and deprecate their - own. - - - Make all layout managers respect the child easing state when allocating - ClutterLayoutManager also has properties that can be set to control all - the children's default easing state. - - - Add ClutterTimeline::stopped signal - The ::stopped signal is emitted either when a Timeline reaches full - completion, including eventual repeats; or when the Timeline has been - stopped through clutter_timeline_stop(). A boolean argument passed to - the signal handlers should be used to distinguish the two cases. - - - Add ClutterGridLayout - This layout manager implements the same layout policy of GtkGrid. - - - Fixes for ClutterKeyframeTransition - - - Documentation fixes - - - Fixes for building Clutter with Visual Studio - Including the GDK backend. - - - Fixes for the Mac backend - Chain up to get a Cogl context after creating a GL context; this seems - to be enough to make the interactive tests run. - - • List of bugs fixed since Clutter 1.11.2 - - [bugzilla.gnome.org] - #675336 - ClutterDropAction needs a ::drop-cancel signal - #675371 - Asserts when getting touch events - #676088 - Fixing picking in scroll-actor "breaks" gnome-control-center - #676032 - keyframe-transition: Documentation fixes - #676031 - keyframe-transition: Create a new interval if necessary - #676158 - table-layout: Remove unused animation helpers - #676334 - scroll-actor: Fix ->transition not being reset - #675890 - Passing NULL buffer to clutter_text_set_text() will not reset - the buffer and segfault - #676367 - actor: Add a custom scriptable "margin" property - #676068 - Setting size on ClutterFlowLayout container crashes - #676963 - text: Enable implicit color animations - #675396 - Possible bug in _clutter_paint_volume_axis_align - #674365 - Race during parallel build in tests/interactive/ - #676827 - layout-manager: Add a new animation API - #677085 - examples: Allow optional animations in flow-layout - #677086 - box-layout: Remove unused BoxChild members - #677098 - Ensure we stop transitions on remove_child() - #676854 - timeline: Add a new "finished" signal - #677039 - Wrong allocation for WIDTH_FOR_HEIGHT actors - #675998 - Example 4.2 mixes up height and width - #677384 - doc: Add ClutterLayoutManagerPrivate to doc sections - #677284 - table-layout: Honor actors expand and alignment settings - #677283 - box-layout: Honor actor expand and alignment - #677372 - Add ClutterGridLayout - #677390 - events: Deliver touch events to actors - -Many thanks to: - - Bastian Winkler, Chun-wei Fan, Bastien Nocera, Daniel Mustieles, Fran - Diéguez, Tomeu Vizoso, Tristan Van Berkom, Alexander Larsson, Alexandre - Franke, Bruno Brouard, Debarshi Ray, Dominique Bureau, Emanuele Aina, Matej - Urbančič, Mike Ruprecht, Piotr Drąg - -Clutter 1.11.2 2012-04-30 -=============================================================================== - - • List of changes since Clutter 1.10 - - - Add ClutterScrollActor - An actor that can display a portion of its children, as well as - transitioning between visible regions. - - - Make clutter_actor_allocate() respect the easing state of the actor - This allows animating allocations in layout managers. - - - Add automatic expansion flags for ClutterActor - Actors can be marked to by allocated extra space by their parent, or - by the layout manager used by their parent; the expansion flags are also - recursive, so they can be set on a leaf node of the actor tree, and - propagate further up automatically. - - - Add ClutterTransitionGroup and ClutterKeyframeTransition - Two ClutterTransition implementation that allow creating complex - transitions. - - - Provide more C convenience API to ClutterTransition - Instead of dealing with ClutterInterval instances, it's possible to - define the starting and final values of a transition. - - - Provide base geometric types: point, size, rectangle - Along with commodity API. - - - New round of deprecations - ClutterMedia, ClutterCairoTexture, clutter_actor_animate(), - ClutterAnimation, ClutterAnimator, ClutterState, ClutterLayoutManager's - animation API. - - - Return a valid default PaintVolume in more cases - For actors not overriding paint() or get_paint_volume() we can already - infer enough information on the area thatis going to be painted, and return - a valid paint volume. We specifically ignore any painting going on inside - a ClutterActor::paint signal handler, as that is considered legacy and on - its way to deprecation. People overriding the paint sequence of an actor - from within a paint signal handler, and painting outside the allocation, - are evil anyway. - - - Depend on Pango 1.30 - - - Report distance as an axis on X11 with XInput 2 support enabled - Proximity information with XInput 2+ is reported as axis data on devices - with valuator classes. - - - Documentation fixes - - • List of bugs fixed since Clutter 1.10 - - #674510 - Changing a hidden child's position with new API shows the - actor - #672994 - Orca sometimes presents previously-entered text in GNOME - Shell Alt+F2 dialog - #652521 - get_length fails in Clutter.Path when length is greater - than 46340 - #673644 - Scroll not working in document overview - -Many thanks to: - - Jasper St. Pierre, Neil Roberts, Robert Bragg, Cosimo Cecchi, Rob Bradford, - Jonh Wendell, Piotr Drąg, Rico Tzschichholz, Alejandro Piñeiro, - Carles Ferrando, Christian Kirbach, Daniel Korostil, Daniel Mustieles, - Daniel Nylander, Fran Diéguez, Ihar Hrachyshka, Jordi Serratosa, - Kenneth Nielsen, Owen W. Taylor, Peter Hutterer, Rajesh Ranjan, - Rudolfs Mazurs, Stefano Facchini, Tristan Van Berkom, Viktor Nyberg, - Yuri Myasoedov, kkrothap@redhat.com. - -Clutter 1.9.16 2012-03-19 -=============================================================================== - - • Clutter 1.10.0, release-candidate 1 - - • List of changes since Clutter 1.9.14 - - - Support implicit animatable properties - Various properties of ClutterActor can now be implicitly animated when - using the public setters, instead of going through the animation API; - this is an opt-in mechanism for the 1.x API series. - - - Introduce paint nodes - ClutterPaintNode is an element of the render tree; it is used to store - the pipeline state and the geometry to be drawn. Actors have the ability - to be painted using the paint nodes by overriding the paint_node() virtual - function instead of the paint() virtual function. For the 1.x API series - the render tree will be consumed per-actor, but the plan is to build a - full tree as the authoritative source for the 2.x API series. - - - Support Content delegates - ClutterContent is an interface that allows creating classes that will - painted in place of an actor's paint() virtual function. Clutter provides - two content types: Canvas, a Cairo-based immediate canvas for drawing the - contents of an actor; and Image, a content that will paint image data. - - - ClutterText improvements - The caret of editable text actors is now centered, and the background - color will be respected when painting the actor. - - - Support for the XInput 2.2 extension - Clutter will now relay touch events coming from the X server, as well - as precise scrolling delta, for devices with those two capabilities. - The support is still experimental, and limited to the X11 platform for - the time being. - - - Translation updates - Slovenian, Assamese, Bulgarian, Spanish, Galician, Belarusian, Traditional - Chinese (Hong Kong and Taiwan), British English, Hebrew, Polish, Catalan, - Khmer, Russian, Finnish, Odia, Brazilian Portuguese, Danish, Lithuanian, - Portuguese, Czech, Swedish, French. - - • List of bugs fixes since Clutter 1.9.14 - - [bugzilla.gnome.org] - #655491 - Text cursor/caret theming - #668801 - [NSApp finishLaunching]; missing in OSX backend - #656156 - Add lightness, brightness, and contrast effects - #671736 - Provide translations for "default:LTR" for RTL locales - #671779 - gdk: add new device types (GDK_SOURCE_TOUCHSCREEN, - GDK_SOURCE_TOUCHPAD) - #672316 - Flickering/redraw issues in multi stage - -Many thanks to: - - Piotr Drąg, Chun-wei Fan, Daniel Mustieles, Fran Diéguez, Matej Urbančič, - Nilamdyuti Goswami, Alexander Shopov, Bruce Cowan, Florian Müllner, - Gil Forcada, Ihar Hrachyshka, Stefano Facchini, Мирослав Николић, - Adam Matoušek, Antonio Fernandes C. Neto, Aurimas Černius, Bruno Brouard, - Carles Ferrando, Chao-Hsiung Liao, Daniel Nylander, Duarte Loreto, - Jasper St. Pierre, Joseph Scheuhammer, Kenneth Nielsen, Khoem Sokhem, - Lionel Landwerlin, ManojKumar Giri, Marek Černocký, Timo Jyrinki, - Tristan Van Berkom, Yuri Myasoedov - -Clutter 1.9.14 2012-03-05 -=============================================================================== - - • List of changes since Clutter 1.9.12 - - - Support custom versioning boundaries for the API - Now that GLib provides macros for changing the minimum required and - maximum allowed version of a library, Clutter can respect the - boundaries expressed using CLUTTER_VERSION_MIN_REQUIRED and - CLUTTER_VERSION_MAX_ALLOWED. - - - Add version information to deprecations - - - Move all deprecated symbols to separate header files - - - Documentation and annotation fixes. - - - Accessibility fixes in Cally - Do not use ClutterActor:name as the accessible name, and do not - provide the extents of an accessible object if the actor to which - it refers is not on screen. - - - Updates to the Wayland compositor and client support - Clutter now allows being used for creating hybrid Wayland/X11 - compositors, working with KMS and evdev directly. - - - Translation updates: Bulgarian, Ukranian, Galician, Uyghur, Belarusian, - Brazilian Portuguese, Telugu, Slovenian, Assamese, Serbian. - - • List of bug fixes since Clutter 1.9.12 - - [bugzilla.gnome.org] - #670680 - "make check" assumes gdk backend will be built - -Many thanks to: - - Robert Bragg, Neil Roberts, Alejandro Piñeiro, Chun-wei Fan, - Alexander Shopov, Daniel Korostil, Daniel Mustieles, Fran Diéguez, - Gheyret Kenji, Giovanni Campagna, Ihar Hrachyshka, Jonh Wendell, - Krishnababu Krothapalli, Matej Urbančič, Nilamdyuti Goswami, - Мирослав Николић - -Clutter 1.9.12 2012-02-23 -=============================================================================== - - • List of changes since Clutter 1.9.10 - - - Add ClutterTimeline:repeat-count and deprecate :loop - The :repeat-count property supercedes the :loop property, and it - provides a way to specify the number of repeats that a timeline - should perform - with the option of specifying an "infinity" value. - - - Add a progress mode for ClutterTimeline - This begins the "soft deprecation" of ClutterAlpha. Instead of - requiring a full object to compute an easing function out of a - linear progress coming from ClutterTimeline, we should have this - functionality on ClutterTimeline itself. Since ClutterAlpha is - still exposed in API that we cannot deprecate (such as virtual - functions) we cannot deprecate it fully, and we'll have to wait - until the 2.0 API bump to get rid of it. - - - Fix ClutterBoxLayout allocation - Since the update of the box layout algorithm there have been a - bunch of regressions; now the layout works as intended. - - - Improve the performance of the shader-based effect in Clutter - The effects shipped with Clutter now use the CoglSnippet API - internally, which allows efficient generation of the shader code; - they also ensure that the shader is generated once per class, and - shared across instances. These changes should improve performance - when using effects provided by Clutter. - - - Update the internal usage of Cogl API - Clutter should strive to use the Cogl 2.0 API internally and not - mix the 1.0 and 2.0 API. - - - Allow accessing Wayland input devices - This is a change that allows Clutter-based toolkits to interact - with Wayland in a meaningful way for operations like resize and - move. - - - Add a convenience CLUTTER_BIND_ALL enumeration - This allows binding both position and size of an actor when using - a ClutterBindConstraint. - - - Cally updates - Use the newly added API to reimplement focus tracking. - - - Visual Studio project updates - - - Add clutter_text_coords_to_position() - This method roundtrips the position_to_coords() one, and allows - retrieving the index of the character at the given actor-relative - coordinates. - - - Documentation updates. - - - Introspection annotation fixes. - - • List of bugs fixed since Clutter 1.9.10 - - [bugzilla.gnome.org] - #669730 - actor: Fix and improve add_child_at_index() - #669291 - box layout bug when callin the clutter_actor_hide() function - #667540 - Desynchronized size between ClutterStageCogl and ClutterStageX11 - #670433 - clutter-drop-action: annotation fixes for some signals - #670402 - CRITICAL warning when ClutterDragAction has threshold > 0 - - [bugzilla.clutter-project.org] - #2515 - Setting a non-default stage fullscreen before showing it doesn't work - - -Clutter 1.9.10 2012-02-06 -=============================================================================== - - • List of changes since Clutter 1.9.8 - - - Provide symbolic names for pointer buttons - The primary, middle, and secondary pointer buttons now have simple and - easy to remember constants that can be used in place of the "magic" - numbers. - - - Add ClutterActorIter - A simple API, using a stack allocated opaque structure, for safely and - efficiently traverse the children of a ClutterActor. - - - Fix regression introduced by the default FixedLayout layout manager - Existing ClutterActor subclasses using their own layout management should - now work exactly like in Clutter 1.8. - - - Documentation fixes - Including introspection annotations fixes. - - - Updates to the Wayland backend - The Wayland client backend is now up to date with the 0.85 release of - the Wayland protocol. - - • Bugs fixed since Clutter 1.9.8 - - [bugzilla.gnome.org] - #668692 - Add symbolic names for left, right and middle buttons - #668669 - Add iterator API for ClutterActor - #667840 - Add annotations from Vala bindings - #669360 - clutter-backend-eglnative.h missing in disted tarball - #668951 - Fix warnings when weak_unreffing a finalized object - -Many thanks to: - - Rob Bradford, Tristan Van Berkom, Chao-Hsiung Liao, Evan Nemerson, - Kerrick Staley, Matej Urbančič - -Clutter 1.9.8 2012-01-24 -=============================================================================== - - • List of changes since Clutter 1.9.6 - - - Fix regressions in users of deprecated API - Also, allow to mix the new Actor API with the old Container API without - breaking. - - - Add GResource support in ClutterScript - GResource is a new infrastructure in GIO that allows to compile resources - like UI builder files and image data into a shared library or an - executable. A newly added method to ClutterScript makes it possible to - load a UI definition from a resource, like it's done for files and - data. - - - Update the Wayland client backend - The SHM transport API has changed upstream, and the Clutter backend has - been updated to reflect it. - -Many thanks to: - - Rob Bradford, Fran Diéguez - -Clutter 1.9.6 2012-01-19 -=============================================================================== - - • List of changes since Clutter 1.9.4 - - - Deprecate clutter_actor_show_all() and clutter_actor_hide_all() - The latter never did make a lot of sense: hiding the parent will - effectively hide the children as well; the former was there only for - convenience, but Actors are visible by default. - - - Gracefully handle existing code - The changes in ClutterActor introduced regressions in existing code - because of the new functionaly that was introduced to replace deprecated - classes like Box and Group. These regressions have hopefully been fixed; - Clutter 1.9.6 has been tested with a project as complex as the GNOME - Shell. - - - Fix build with binutils-gold - The private dependencies were not used when building Clutter, and this - made the Gold linker angry. - - - Allow tracking of an actor's first and last child - ClutterActor has two new properties, :first-child and :last-child; these - are read-only properties that can be used by toolkits based on Clutter - to track the first and last child whenever they change. - - - Bump the Cogl dependency - The 1.9.4 release depended on Cogl ≥ 1.9.4, but the minimum required - version was not bumped along with the changes. - - • List of bugs fixed since Clutter 1.9.4 - - [bugzilla.gnome.org] - #668137 - FTBFS: pangoft2 check seems to be broken - -Clutter 1.9.4 2012-01-17 -=============================================================================== - - • List of changes since Clutter 1.9.2 - - - New scene graph API in ClutterActor - ClutterActor now provides the API for adding, removing, and iterating - over the list of children; this deprecates most of the ClutterContainer - API. ClutterActor implements ClutterContainer as well, which means that - all actors can be containers. - - - Layout management updates - ClutterActor now have an horizontal and vertical alignment properties - that will be used when added to a parent; a margin has also been added - to the ClutterActor class. Both margin and alignment will be automatically - managed during the allocation, so they will work out of the box. It is - also possible to set a ClutterLayoutManager delegate object on any - ClutterActor instance: the LayoutManager will take care of the layout - policy for the children of an actor. - - - Add ClutterTextBuffer - The ClutterTextBuffer class provides a storage for the contents of - a ClutterText actor; the same instance can be shared across different - actors as well. The main use for ClutterTextBuffer is implementing - secure memory storage for the contents of a ClutterText in password - mode. - - - Deprecations - ClutterGroup, ClutterBox, and ClutterRectangle have been deprecated; their - functionality is now available directly in ClutterActor. The old child - actor management API in ClutterActor and ClutterContainer has been - deprecated as well. Other deprecations include the ClutterStage - fog-related properties and API; the ClutterContainer.sort_depth_order(), - raise(), and lower() virtual functions; the internal child push and - pop methods on ClutterActor. - - - ClutterTimeline can parse markers from ClutterScript - Markers can now be defined inside ClutterScript, and a ClutterTimeline - will be able to automatically add them from a UI definition. - - - Add a diagnostic mode - Similar to the GLib diagnostic mode, Clutter now supports an environment - variable that will print out diagnostic messages for deprecations and - warnings that can only be detected at run-time. - - - Wayland backend updates - The wayland backend now tracks the latest API changes in the client API, - and Clutter now provides a Wayland surface actor that allows to write - Wayland compositors, similarly to the X11TexturePixmap actor for the - X11 backend. - - • List of bugs fixed since Clutter 1.9.2 - - [bugzilla.gnome.org] - #665040 - The offscreen effect always recreates the texture if - create_texture() is overridden to change the size - #665052 - The internal effects should queue a repaint on the effect not - on the actor when a property changes - #664996 - clutter_state_set_key (allow-none) - #664336 - path: Fix introspection annotations - #664252 - in case GLSL shader fails to compile clutter-shader-effect.c - should print out position in source code - #664582 - lookingGlass: Fix global key press handler - #660997 - Make _clutter_actor_queue_redraw_with_clip or an equivalent - public - -Many thanks to: - - Chun-wei Fan, Robert Bragg, Rob Bradford, Neil Roberts, Bastian Winkler, - Fran Diéguez, Jasper St. Pierre, Matej Urbančič, Piotr Drąg, - Alexander Shopov, Bastien Nocera, Daniel Mustieles, Jeremy Moles, - Jovan Naumovski, Kjartan Maraas, Lucian Adrian Grijincu, Manuel Osdoba, - Ryan Lortie - -Clutter 1.9.2 2011-11-22 -=============================================================================== - - • List of changes since Clutter 1.8 - - - Multi-backend build, and run-time backend selection - Clutter can be built with support for multiple backends in the same - shared library; the backend singleton is determined at run-time, - either with the default backend for the platform, or using the value - of the CLUTTER_BACKEND environment variable. - - - GDK windowing system backend - A new backend has been added, which uses the GDK API for creating the - drawing surface, as well as receiving the windowing system and input - events. - - - Show a hint when ClutterText is in password mode - If the password-hint-time ClutterSettings property is set to a non - zero value, the last character entered inside a ClutterText actor when - in password mode will be shown in plain for the duration of the timeout, - before being replaced by the glyph chosen as the password character. - - - Improve Windows build support - Clutter now provides project files to build the library using Visual - Studio 9 and Visual Studio 10. Also, the scripts to build Clutter using - MinGW have been improved. - - - Remove the requirement for using clutter_threads_init() - Threads are initialized by default (depending on the platform), so there - is no need to call clutter_threads_init(). - - - Deprecate the default ClutterStage - The semantics of the default Stage were not obvious, and had the tendency - to confuse the user. - - - Move the deprecated headers into their own directory - This should help developers identify the deprecated API. - - - Change deprecation policy - Deprecated functions are now marked using compiler annotations, instead - of being forcibly disabled through pre-processor directives from the - headers. Deprecations will cause compiler warnings, and thus are enabled - by default. If you're building your project with compiler flags that - consider every warning a fatal error, you can use the symbol - CLUTTER_DISABLE_DEPRECATION_WARNINGS to disable the deprecation warnings. - - - Translation updates - Portuguese, Assamese, Punjabi, Tamil, Oriya, Telugu, French, German, - Danish, Traditional Chinese (Hong Kong and Taiwan), Catalan, Esperanto, - Lithuanian, Galician, Norwegian bokmål, Slovenian, Hebrew, Bulgarian. - - • List of bugs fixed since Clutter 1.8 - - 652588 - add support for password hint in ClutterText - 659625 - mingw32: Update the build script to compile 1.8.0 - 659601 - offscreen effects on children of containers also with an - offscreen effect get a wrong viewport - 659928 - Two strings are not marked as translatable - 659893 - clutter-main: Reword translator comment for default:LTR - 656663 - Remove internal usage of ClutterGeometry in StageWindow - 660354 - Add paint-deform-tiles option to CLUTTER_DEBUG - 660471 - ClutterActor: Add clutter_actor_has_effects - 660512 - ClutterShaderEffect recompiles the shader for every instance - 660623 - clutter-actor-meta: Fix _clutter_meta_group_has_metas_no_internal - 660985 - memory leak in clutter_box_layout.c - 661015 - Add clutter_unicode_to_keyval function - 660786 - Deprecate clutter_[sg]et_font_flags() - 661887 - auto-resize of ClutterCairoTexture does not work correctly - 657434 - Add a GDK backend to Clutter - 663332 - orca reads my password in gnome-shell policykit dialogs - 663594 - Minor whitespace parsing bug in clutter_color_from_string - 663733 - clutter-stage-x11: Make sure to set geometry x and y - 651718 - Make tests work on platforms supporting only a single stage - 663999 - The removal of per-backend CLUTTER_VBLANK envvar had unwanted - cruft in the Win32 backend - 663720 - DeformEffect: Avoid redrawing actors on vertices invalidation - 663636 - Use newer Cogl API in ClutterDeformEffect - -Special thanks to - - Chun-wei Fan, for building, testing, and keeping up to date the Visual - Studio project files. - -Many thanks to: - - Neil Roberts, Rico Tzschichholz, Robert Bragg, Adel Gadllah, - Lionel Landwerlin, Alexandre Franke, Colin Walters, Daniel Mustieles, - Giovanni Campagna, Piotr Drąg, krishnababu k, A S Alam, Alexander Shopov, - Algimantas Margevičius, Ask H. Larsen, Bruno Brouard, Carles Ferrando, - Chao-Hsiung Liao, Craig R. Hughes, Damien Lespiau, Duarte Loreto, - Florian Müllner, Fran Dieguez, Fran Diéguez, Håkon Løvdal, I Felix, - Jasper St. Pierre, Jorge González, Joseph Scheuhammer, Kjartan Maraas, - Kristjan SCHMIDT, Manoj Kumar Giri, Marc-André Lureau, Mario Blättermann, - Matej Urbančič, Matthias Clasen, Nilamdyuti Goswami, Sunjin Yang, - Tomeu Vizoso, Yaron Shahrabani, Zan Dobersek, Мирослав Николић. - -Clutter 1.7.90 2011-09-12 -=============================================================================== - - • List of changes since Clutter 1.7.14 - - - Make sure that setting :use-markup does not depend on the order - Setting the :use-markup property should yield the same results regardless - of whether the :text property is also set before or after. This applies to - ClutterText defined using ClutterScript as well. - - - Protect against multiple unrealize call on ClutterStage - This should fix a segmentation fault in clutter-gtk when unrealize() is - called multiple times on an already unrealized stage. - - - Fortify ATK event listener - Make sure that we subscribe only to the events we want to, and avoid - warnings caused by AT-SPI, as well as a leak. - - - Documentation fixes - - - Translation updates - Indonesian, British English, Brazilian Portuguese, Oriya, Polish, - Latvian, Hindi, Danish, Chinese (Simplified), Lithuanian, Turkish, - Russian, Spanish, Asturian. - - • List of bugs fixed since Clutter 1.7.14 - - [bugzilla.gnome.org] - - #651940 - "use-markup" is ignored when set after "text" - #658721 - cally: Fix up event listener registration minimally - - [bugzilla.clutter-project.org] - - #2629 - ClutterText thinks priv->text can be NULL, but it can't - -Many thanks to: - - Muhammet Kara, Andika Triwidada, Manoj Kumar Giri, Piotr Drąg, - Aurimas Černius, Bruce Cowan, Edvaldo de Souza Cruz, Jorge González, - Kenneth Nielsen, Matthias Clasen, Neil Roberts, Og B. Maciel, - Rajesh Ranjan, Ray Wang, Rudolfs Mazurs, Xandru Armesto, Yuri Myasoedov - -Clutter 1.7.14 2011-09-05 -=============================================================================== - - • List of changes since Clutter 1.7.12 - - - Use newer version of ATK - Cally now depends on the latest version of ATK, to reduce the amount of - ad hoc code needed and to use newer features that simplify the - implementation of accessible objects in Clutter. - - - Allow using Layout Managers with generic containers - Layout managers should not assume that they are allocating the whole - area available from the Actor using them; this allows actors that - support concepts like padding or margin to use a LayoutManager internally - for its children. - - - Cookbook updates - Add a recipe on how to bind a ClutterState to the signals of objects - defined in ClutterScript. We also install the cookbook examples inside - the $datadir/clutter-1.0/cookbook/examples directory. - - - Improve examples in the API reference - Some of the interactive test suite units are actually good examples of - how to use the Clutter API; we can use the XInclude tags to include the - source code inside the API reference. - - - Ensure thread safety of the repaint functions add/removal - Fix a long standing issue where adding or removing repaint functions - was not acquiring a lock; now it's safe to manipulate the repaint - functions list from different threads. - - - Make the ClutterText:line-wrap property work again - In 1.2 the :line-wrap property was broken, and ClutterText would paint - a PangoLayout wrapping until it fit the height of the allocation - regardless of whether the :line-wrap property was set to FALSE or - TRUE. Now we clip the PangoLayout before rendering it, if the :line-wrap - property is set to FALSE and there is no ellipsization policy set. - - - Disable redirection to offscreen buffer by default - Whenever a ClutterActor with children was not fully opaque, the actor - was redirected to an FBO, to perform correct opacity computations. - Sadly, this can lead to 3x slowdowns, given the amount of framebuffer - objects created and the state changes that have to be performed. We - decided to turn off this feature by default, to avoid the performance - hit. It is still possible to enable this feature on a per-actor basis, - though, and will work to reduce the hit in future versions of Cogl, - Clutter and the drivers. - - • List of bugs fixed since Clutter 1.7.12 - - [bugzilla.gnome.org] - - #657681 - Crash when destroying an actor while dragging it - - [bugzilla.clutter-project.org] - - #2339 - ClutterText in 1.4 line-wraps even if line-wrap is disabled - -Many thanks to: - - Alejandro Piñeiro, Shankar Prasad, Chao-Hsiung Liao, Dan Winship, - Daniel Mustieles, Daniel Nylander, Fran Dieguez, Marek Černocký, - Robert Bragg - -Clutter 1.7.12 2011-08-29 -=============================================================================== - - • List of changes since Clutter 1.7.10 - - - Reload the font caches on X11 when the user installs a new font - Whenever the user installs a new font inside one of the directories that - ware being watched by a session daemon, or changes the fontconfig - configuration, the toolkits using FontConfig (either directly or indirectly - e.g. through Pango, like Clutter) should listen to the Fontconfig/Timestamp - XSETTINGS key and release all the font configuration caches. This allows - selecting the newly installed fonts without requiring the user to restart - the application. - - - Allow using "font-description" as a ClutterScript alias for "font-name" - ClutterText:font-description allows passing a PangoFontDescription - directly to a ClutterText; when defining a ClutterText instance inside a - ClutterScript file, :font-description should be an alias for :font-name, - which takes a string and converts it to a PangoFontDescription. - - - Make sure that LayoutManager subclasses take the allocation origin - into account when allocating the children - A LayoutManager should be resilient against allocations with an origin - not positioned at (0, 0); this allows actors using a layout manager - instance to munge the box and implement things like margin and padding - without the layout manager having knowledge of those concepts. - - - Build fixes - Always link against libm when building Clutter (and its tests); don't - rely on libraries lower on the stack to do so. - - - Documentation fixes - - • List of bugs fixed since Clutter 1.7.10 - - [bugzilla.gnome.org] - - #657529 - Build failure - -Many thanks to: - - Robert Bragg, Daniel Mustieles, Fran Dieguez, Kjartan Maraas - -Clutter 1.7.10 2011-08-15 -=============================================================================== - - • List of changes since Clutter 1.7.8 - - - Do not update the last paint volume when picking - Last minute fix for an issue that was most prominently manifesting itself - when using GNOME Shell with Clutter 1.7; this should resolve the issue - that dragging icons from the dash left around some stale pixels. - - - Fix building the tests - The performance and micro-benchmark tests did not pick up changes in - local dependencies, e.g. under a JHBuild root. - - • List of bugs fixed since Clutter 1.7.8 - - [bugzilla.gnome.org] - - #656588 - Outdated FSF Address in code files - -Many thanks to: - - Alejandro Piñeiro, Robert Bragg - -Clutter 1.7.8 2011-08-15 -=============================================================================== - - • List of changes since Clutter 1.7.6 - - - Various fixes in Cally - Make sure to use Clutter's API and remove old workarounds that were put - into place when Cally was a separate project and targeting pre-1.0 API - versions of Clutter. - - - Add ClutterCairoTexture:auto-resize - This property makes it easier to create 2D canvas surfaces by tracking - the actor's allocation in a backward compatible way. - - - Add ClutterAnimatable.interpolate_value() - This new virtual function deprecates the animate_property() virtual of the - Animatable interface, which was sub-optimal in different ways. - - - Allow using Animatable implementations with ClutterState - Thanks to the new interpolate_value() virtual it is now possible to use - the Animatable interface with ClutterState; this allows animating - action, constraint and effect properties using the same "@" syntax also - used by ClutterAnimation and clutter_actor_animate(). - - - Improve ClutterModel's implementation - Avoid a bunch of needless checks, and make sure that the ::row-changed - signal is emitted in all cases when a row has been changed through the - ClutterModelIter API. The conformance test unit for ClutterModel has - also been improved to avoid future regressions. - - - Improve ClutterStage behaviour on OS X - Make sure that the fullscreen, multi-screen and key focusing are - well-behaved on OS X, by implementing the correct delegate methods. - - • List of bugs fixed since Clutter 1.7.6 - - [bugzilla.gnome.org] - - #655387 - Missing GObject introspection annotations - #655306 - Added windowDidChangeScreen delegate to fix pick errors when - window moved to different screen - #655311 - Prevent hiding of unrelated application windows when stage returns - from fullscreen - #655307 - Fix resource leak on subsequent calls to clutter_stage_osx_realize - #648633 - gnome-shell notification pop-ups do not emit - object:state-changed:showing - -Many thanks to: - - Kirk A. Baker, Neil Roberts, Alejandro Piñeiro, Alejo Pacin, - Daniel Mustieles, Evan Nemerson, Marek Černocký, Philippe Normand, - Robert Bragg - - -Clutter 1.7.6 2011-07-26 -=============================================================================== - - • List of changes since Clutter 1.7.4 - - - Accessibility fixes in Cally - Fix the implementation of the AtkText interface for ClutterText. - - - Depend on the new Cogl windowing system API. - - - Add functions for retrieving the clip boundaries on the Stage - The clutter_stage_get_redraw_clip_bounds() function is useful for - window managers (like Mutter) that need to retrieve the clipped - region used on the Stage. - - - Auto-detect the default flavour when building - The default flavour used when building should be set depending - on the platform. - - - Mark the OSX backend as non-experimental - The OSX backend is being developed, and maintained, so it should - not be considered experimental. - - - Make sure that Gestures are cancelled when missing release events - - - Correct the rounding for paint volumes - Try to provide stable results against potential floating point rounding - margins when projecting 3D paint volumes into screen bounding boxes; - this should avoid re-creating FBOs and always correctly handle clipped - redraws. - - - Do not clobber XI2 events data - This allows to play along with other toolkits using XI2. - - - Fix ClutterSnapConstraint's right edge snapping - - - Deprecations - ClutterScore, clutter_texture_new_from_actor(), - clutter_cairo_texture_create*() - - • List of bugs fixed since Clutter 1.7.4 - - [bugzilla.gnome.org] - - #653959 - clutter-actor: Don't apply shaders during picking - #654361 - uprof: Rename timers to remove the EGL specific bits - #654363 - uprof: Add the units in the name of the "Per Frame" - timer attribute - #654103 - Fixed typo - #654656 - Improve XGenericEventCookie allocation wrt other toolkits - #654024 - snap-constraint: Fix allocation for CLUTTER_SNAP_EDGE_RIGHT - #654066 - ClutterTimeline new-frame signal not working correctly on - some platforms - #654718 - clutter-1.6.16 compile issues - #654726 - text: Fix the default value of "editable" - #654727 - alpha: Don't use the GClosure to compute the alpha when - possible - #655342 - memory leak in clutter_bin_layout_get_preferred_width/height - - [bugzilla.clutter-project.org] - - #1733 - AtkText implementation on CallyText is not complete - #2421 - Way to get current repaint bounds - -Many thanks to: - - Robert Bragg, Philippe Normand, Neil Roberts, Damien Lespiau, Tomeu Vizoso, - Gil Forcada, Alejandro Piñeiro, Bastian Winkler, Carlos Garnacho, - Christian Kirbach, Daniel Mustieles, Dinh Bowman, Kjartan Maraas, - Marek Černocký, Mario Blättermann, Matej Urbančič, Piotr Drąg - -Clutter 1.7.4 2011-07-04 -=============================================================================== - - • List of changes since Clutter 1.7.2 - - - Unify the GLX and EGL backends to be a single code base - The GLX and EGL backends shared most of their code, and with the split - out Cogl, we can unify the code base into a single backend. The API as - well as the ABI are preserved. - - - Restore a wider range of Z values for actors - The computation for the near and far planes given the perspective - transformation used to set up the viewport was broken in 1.7.2, and - the distance from the focal point was greatly reduced. This has now - been fixed. - - - Bump up the dependency of Cogl - New windowing system API in Cogl required bumping the minimum version - to the latest development snapshot, 1.7.2. - - - Add ClutterDropAction - The ClutterDropAction is an action for allowing ClutterActors to react - when an actor being dragged through ClutterDragAction crosses, or is - dropped over, them. - - - Add a performance test suite - This suite is an addition to our conformance and interactive test - suites; the infrastructure can be used by buildbots and report tools - to track performance regressions across various commits. - - - Documentation and annotation fixes - - - Build fixes - - • List of bug fixes since Clutter 1.7.2 - - [bugzilla.gnome.org] - - #650329 - ClutterModifierType: Port fix from GDK to clutter's GDK copy - #652566 - Clutter-CRITICAL **: _clutter_stage_get_window: assertion - `CLUTTER_IS_STAGE (stage)' failed - #651784 - transition=spin / transition=spin-text is broken in pinpoint - with Clutter master - #652842 - Add a Drop action - #653066 - ClutterDragAction does not support multiple pointers - #653307 - Change the signature of ClutterTexture::load-finished to give - a GError, instead of a gpointer - #653607 - Arrays not annotated as such for introspection bindings - #651079 - ClutterText "blinks" when deleting text after going out of - bounds - #650675 - clutter-media: mention the asynchronous behavior of - set_playing() - - [buzgilla.clutter-project.org] - - #2625 - The furthest visible z value is really low - -Many thanks to: - - Robert Bragg, Neil Roberts, Peter Ward, Colin Walters, Daniel Mustieles, - Jasper St. Pierre, Samuel Degrande, Øyvind Kolås - -Clutter 1.7.2 2011-06-13 -=============================================================================== - - • List of changes since Clutter 1.6.0 - - - Cogl moved out of tree - The Clutter OpenGL abstraction library has been moved to a separate - repository and can be used as a stand-alone shared library. Clutter - has been modified to depend on Cogl's experimental API. - - - Correctly composite non fully opaque children - Non fully opauqe actors with non fully opaque children will automatically - redirect children paint operations to offscreen buffers, which allow - correct composition taking into account the overall opacity of the scene's - sub-graph. The same mechanism can be used to create a paint cache, and - paint that cache when the actor or its children do not change, instead of - painting the whole sub-graph again. - - - Allow connecting signals to ClutterState states in ClutterScript - When defining a scene using ClutterScript it's possible to directly - connect a state inside a ClutterState object (both defined in - ClutterScript or in code) to an object's signal, without using an - explicit signal handler in the code. - - - Long-press handling in ClutterClickAction - ClutterClickAction will detect a long-press gesture and emit signals - to query, activation and cancellation. - - - Added ClutterGestureAction and ClutterSwipeAction - ClutterGestureAction is a generic "pointer gesture" action; it doesn't - provide an implementation: it's up to the developer to add the gesture - recognition code. ClutterSwipeAction is a GestureAction sub-class that - implement the "swipe" gesture. The GestureAction API is already future - proof for multi-device/multi-touch, even though the multi-touch isn't - currently implemented. - - - Allow Effects to influence picking - Effects that change the geometry of a ClutterActor should also be - allowed to change the picking code to make sure that event handling - keeps working. ClutterEffect has a new pick() virtual function for - these cases. - - • List of bugs fixes since Clutter 1.6.0 - - [bugzilla.clutter-project.org] - #2257 - clutter fails to link on OS X (10.6) - #2447 - atkevents example crashes is the accessibility is disabled - #2482 - Cally should avoid to provide a default name and description - #2484 - It would be nice to have the old cally Changelog - #2553 - new ClutterText API to access the Pango layout offsets - #2555 - Per-framebuffer journal causes corruptions - #2562 - Crash upon running Clutter-based programs - #2585 - add ClutterAction for slide gestures - #2588 - Assertion failure in _cogl_pipeline_set_layer_texture_target - #2595 - clutter-text: Add a selected-text-color - #2597 - CallyStage doesn't have a proper parent - #2599 - The paint volume for ClutterText is wrong - #2602 - Expose events ignored when doing clipped redraws - #2610 - Add recipe about implementing a ClutterEffect - #2619 - Removes the addition of the .exe extension to unit-test scripts, - on win32. - #2620 - _cogl_offscreen_new_to_texture_full() leaks reference when failing - #2621 - Clutter segfaults if you queue a redraw of an unmapped actor inside - the notify::mapped callback - #2631 - [PATCH] Enable evdev ClutterInputDevice objects on creation, as the - other backends do - #2632 - [PATCH] GL_IMG_TEXTURE_NPOT enables non-power-of-two features - #2633 - Make the pick id pool a per-Stage resource - #2640 - [patch] allow single-bit imprecision in some conformance tests - #2644 - Quartz backend: "Bare" modifier keypresses not generating events - #2652 - clutter_actor_queue_redraw() on destroyed stage - #2655 - segfault when disposing a slave device without a master - #2656 - Clutter can crash when destroying a stage from an event - #2667 - git head won't build under Win32 - - [bugzilla.gnome.org] - #650665 - CallyActor shouldn't add by default "press", "release" - and "click" - #647875 - Use Cairo to dump the pick buffers - #647876 - Make the pick if pool a per-Stage resource - #650487 - Sync allocation in ClutterBoxLayout with the one in GtkBox - #650597 - clutter-id-pool: fix warning on bad pick - #650650 - clutter-offscreen-effect: use target size when setting up - the viewport - #651700 - Give a chance to effects for running when picking - #652129 - Use "const" instead of G_CONST_RETURN - -Many thanks to: - - Neil Roberts, Robert Bragg, nobled, Daniel Mustieles, Elliot Smith, - Matej Urbančič, Alejandro Piñeiro, Chris Lord, Marek Černocký, - Tomeu Vizoso, Jasper St. Pierre, James Athey, Piotr Drąg, Øyvind Kolås, - Adam Jackson, Andrej Žnidaršič, Kjartan Maraas, Adel Gadllah, - Alexandre Franke, Christian Kirbach, Craig R. Hughes, Dan Winship, - Dioselin, Kristjan SCHMIDT, Mario Blättermann, Miguel Bouzada, Peter Ward, - Philippe Normand, Samuel Degrande, Viatcheslav Gachkaylo - -Clutter 1.6.6 2011-02-21 -=============================================================================== - - • List of changes since Clutter 1.6.4 - - » Add four mechanisms for migrating textures inside a Cogl atlas; it - is possible to change the default by using the environment variable - COGL_ATLAS_DEFAULT_BLIT_MODE. - - » Use the offscreen buffer size to compute the vertices of - ClutterDeformEffect. - - » Make the FPS counter displayed using CLUTTER_SHOW_FPS per-stage. - - » Documentation fixes. - - » Annotation fixes for introspection. - - • List of bugs fixes since Clutter 1.6.4 - - #2538 - crash in gnome-shell - #2558 - backend-glx: Remove redundant glFlush() - #2561 - Updates to COGL sources regarding non-standard code usage - #2571 - DeformEffect should use the FBO size - -Many thanks to: - - Neil Roberts - -Clutter 1.6.4 2011-02-14 -=============================================================================== - - • List of changes since Clutter 1.6.2 - - » Fix handling of opacity in ClutterOffscreenEffect. - - » Fix partially off-stage actors in ClutterOffscreenEffect. - - » Add a recipe in the Cookbook for animating an actor on a path. - - » Refresh key mapping when notified by X11. - - » Clean up the ClutterStageWindow redraw implementations. - - » Update the Wayland backend to match upstream API changes: - • allow using shared buffers if DRM fails; - • improve checks for the required extensions. - - » Documentation fixes. - - » Introspection annotations fixes. - - » Fix setting the matrix for a pipeline layer. - - » Fix flushing the framebuffer when switching to it. - - » Make sure to call glFlush when blitting a stage region to the - front buffer, to avoid the driver batching the command for an - undefined amount of time. - - » Fix the windowing system defines for non-X11 platforms. - - » Fix the location of the shared objects in the Cally pkg-config - file. - - • List of bugs fixed since Clutter 1.6.2 - - #1024 - test-multistage.c assertion failure - #1025 - test-paint-wrapper.c assertion failure - #1028 - test-random-text.c hangs with spinning beach ball - #1029 - test-cogl-primitives.c hangs with spinning beach ball - #1358 - scroll events not handled - #2373 - OSX Backend fix - #2525 - [PATCH] x11: Handle key map changes - #2541 - ClutterOffscreenEffect with multiply the actor's opacity - #2546 - [PATCH, git branch] update wayland backend - #2549 - Fix lib locations in *.pc.in - #2550 - offscreen effects are always clipped to stage boundaries - #2551 - Slight drawing lag with larger windows on Intel x3100 (i965) - #2554 - Add recipe per animating an actor on a curved path - #2555 - Per-framebuffer journal causes corruptions - #2558 - backend-glx: Remove redundant glFlush() - #2559 - x11: segfault on closing non-default stage window - -Many thanks to: - - nobled, Chris Lord, Neil Roberts, Robert Bragg, Adel Gadllah, Elliot Smith - -Clutter 1.6.2 2011-02-07 -=============================================================================== - - • List of changes since Clutter 1.6.0 - - » Fix building the Clutter Cookbook from the released tarballs. - - » Set the input device field in ClutterEvent even when they - have been allocated by Clutter. - - » Fix the color comparison when setting the layer combine constant. - - » Fix memory corruption when removing the last reference on a - Cogl vertex buffer object. - - » Fixes for the OSX backend. - - • List of bugs fixed since Clutter 1.6.0 - - #2540 - coobook examples do not build from tarball - #2544 - Using vertex buffers causes memory corruption when you unref - the CoglHandle - #2545 - Broken event handling in OS X backend - #2549 - Fix lib locations in *.pc.in - -Many thanks to: - - Neil Roberts, Viatcheslav Gachkaylo - -Clutter 1.6.0 2011-01-31 -=============================================================================== - - • List of changes since Clutter 1.5.14 - - » Remove more private symbols from the X11 backend. - - » Add CLUTTER_BIND_POSITION and CLUTTER_BIND_SIZE values to the - ClutterBindCoordinate enumeration; these are short-hand values - for binding both X and Y, or width and height, instead of - requiring two ClutterBindConstraint instances. - - » Clean up in the X11 backend to reduce indirection. - - » Small clean ups in the Win32 backend. - - » Make Shift+Backspace behave like Backspace in ClutterText. - - » Emit the ::new-frame signal even on the first frame of - ClutterTimeline, to allow setting up the initial state of an - animation. - - » Fix an invalid memory access in ClutterAnimator. - - » Flush the per-framebuffer journal when switching between - framebuffers. - - » Generalize updating GLES2 uniforms. - - » Add debug code for tracing clipping in Cogl. - - » Improve the OSX event loop, re-using the same implementation - as GDK. Also, provide simple, core-like device support. - - • Bugs fixed since Clutter 1.5.14 - - #2490 - OS X backend event loop improved - #2530 - animator: Animator uses key after freeing it - #2534 - Incorrect description of function 'clutter_actor_pop_internal' - #2535 - Add recipe about creating a composite actor - -Many thanks to: - - Neil Roberts, Robert Bragg, Elliot Smith, Rob Bradford, - Viatcheslav Gachkaylo - -Clutter 1.5.14 2011-01-24 -=============================================================================== - - • List of changes since Clutter 1.5.12 - - » Allow getting the state modifiers from a ClutterClickAction. - - » Fix ClutterDragAction to never leave the event delivery in - an unwanted state. - - » Optimize state changes for texture and data states. - - » Enable VBO support in Cogl for GLES2. - - » Fix compilation on GLES1.1. - - » Documentation fixes. - - » ClutterGLXTexturePixmap has been deprecated; its parent class - ClutterX11TexturePixmap and the low level CoglTexturePixmapX11 - API provide access to the same features. - - » Be more resilient against timelines controlling the state of - other timelines during the clock tick. - - » Provide defines for the windowing platforms, to allow portable - applications to include the correct header and select the - correct API depending on the target. - - » Introduce a fast path for cogl_read_pixels() that uses the journal - to determine the position of a single pixel on the stage; this - fast path gracefully degrades to the usual render-based approach, - and should speed up picking considerably in the case of opaque - quads batched together. - - » Support XInput axis data on valuator devices, and introduce XInput2 - support for event translation and device hotplugging. The support - for XI and XI2 must still be explicitly enabled by the developer, - but it is now compiled in by default. It can be disabled at compile - time by passing --disable-xinput to the configure script. - - » Clean up the unintentionally leaked internal symbols in the X11 - and GLX backends. - - » Allow defining the contents of the rows of a ListModel using - ClutterScript. This completes the ability to fully define a - ClutterListModel inside a UI definition file. - - • Bugs fixed since Clutter 1.5.12 - - #1422, key input handler for eglnative - #1456, Hinting mishandling - #1721, XInput2 support - #2268, EGL backend dependent on X11 headers - #2400, Don't enable GL_POINT_SPRITE on GLES - #2497, should not throw away a program when just the texture - object has changed - #2512, shader: Don't notify properties when finalizing shaders - #2513, script-parser: Also honor properties of type GType - #2516, [PATCH] Fails to compile with --with-gles=1.1 - #2518, introspection: Add missing (out) annotations for get_color() - #2520, Add API to get modifier type in ClutterClickAction - #2522, ClutterDragAction might indefinitely disable motion events - #2524, It's possible to receive a new-frame signal after stopping - a timeline - #2526, model: Fix some GObject-Introspection annotations - #2527, model: Change the column argument type to gint for - clutter_model_set_sort - #2528, model: Add support to define rows in ClutterScript - -Many thanks to: - - Robert Bragg, Neil Roberts, Bastian Winkler, Lucas Rocha, Adel Gadllah, - Chris Lord, Damien Lespiau - -Clutter 1.5.12 2011-01-11 -=============================================================================== - - • List of changes since Clutter 1.5.10 - - » Allow disabling the focus when showing a ClutterStage; this also - makes Clutter more compliant to the X11 window manager - specifications. - - » Avoid state corruption in relayout cycles. - - » Do not crash when destroying actors during CLUTTER_LEAVE events. - - » Remove signal handlers when disposing constraints. - - » Keep the pixel alignment for ClutterAlignConstraint. - - » Do not release compiled ClutterShader during their finalization to - avoid a warning. - - » Revert an ABI break on the ClutterContainer pre-requisites. - - » Fix the name of the cogl_normal_in attribute. - - » Do not assume CoglBitmaps are allocated to height * rowstride. - - » Fix the core device list creation on X11. - - » Avoid enabling blending in the Cogl journal, if possible. - - » Documentation fixes. - - » Build fixes for mixed autotools version environment. - - » Improve the performance of getting the number of rows of a - ClutterListModel. - - » Don't use obsolete API internally. - - » Build fix for compiling EGL backend with OpenGL under X11. - - » Parse GType object properties in ClutterScript. - -Many thanks to: - - Neil Roberts, Johan Bilien, nobled, Adel Gadllah, Damien Lespiau, - Kristian Høgsberg, Nguyễn Thái Ngọc Duy, Tomeu Vizoso, Bastian Winkler - -Clutter 1.5.10 2010-12-17 -=============================================================================== - - • List of changes since Clutter 1.5.8 - - » Add an evdev input backend; this adds support for input devices - on Linux when using the EGL-based backends. - - » Update the build scripts for compiling the Windows backend. - - » Updates for the Cookbook and the API references. - - » Fix ClutterModel::get_iter_at_row() for filtered ClutterListModels. - - » Scores of fixes to the pipeline state object for GLES2. - - » Add code that tries to perform manual clipping to avoid breaking - up batches of primitives. - - » Keep a cache of ARBfp programs indexed by the pipeline state that - led to their generation. - - » Accept G_TYPE_DOUBLE values in ClutterShaderEffect uniforms. - - » Update the Wayland client backend. - - » Update the build for Windows. - - » Rename the ClutterTimeline:reverse property introduced in - Clutter 1.5.6 to ClutterTimeline:auto-reverse. - - » Clean up the interactive tests suite. - -Many thanks to: - - Neil Roberts, Damien Lespiau, Robert Bragg, Elliot Smith, - Jussi Kukkonen, nobled, Alexandre Quessy, Mike Owens, - Tomeu Vizoso - -Clutter 1.5.8 2010-11-29 -=============================================================================== - - • List of changes since Clutter 1.5.6 - - » Add a migration guide for code using Behaviours. - - » Allow parsing rgb(), rgba(), hls() and hlsa() color definitions. - - » Performance improvements for the ClutterX11TexturePixmap. - - » For caching purposes, do not discard the Material or the compiled - shaders for Offscreen and Shader effects. - - » Fix image height in 3D Cogl textures. - - » Create a GLSL generation backend for materials, similar to the - ARBfp one; this backend is the default for GLES2. - - » Use FBOs and cogl_read_pixels() to efficiently read back partial - texture data. - - » Various fixes in paint volumes computation and caching. - - » Use the internal scene graph walk API to remove the map/unmap - implementation requirement for composite actors and for - containers with internal children. - - » Simplify the backend notification of layer changes. - - » Queue clipped redraws for Expose events on X11. - - » Plug leaks. - - » Include a porting guide from Behaviours. - - » Add a recipe on scaling animations in the Cookbook. - -Many thanks to: - - Neil Roberts, Robert Bragg, Owen W. Taylor, Tomeu Vizoso, Chris Lord, - Alexandre Quessy, Evan Nemerson, Elliot Smith - -Clutter 1.5.6 2010-11-19 -=============================================================================== - - • List of changes since Clutter 1.5.4 - - » Deprecate ClutterBehaviour and its sub-classes: the same functionality - is available using the animation framework. - - » Add ClutterSnapConstraint, a constraint implementation that snaps - together the edges of two actors. - - » Add ClutterPathConstraint::node-reached. - - » Deprecate ClutterTimeoutPool and ClutterFrameSource: this API is - not used internally any more, and since it's not integrated with - the master clock it's of relative use. - - » Add a named, global color palette. - - » Add the ClutterTimeline:reverse property, for automatically - reversing the direction of a timeline after the emission of - the ::completed signal. - - » Performance improvements in the clip stack. - - » Do not use pointer grabs in ClutterClickAction. - - » Improve the internally used Cogl API for primitives, paths and - buffers; this is the first step towards Cogl 2.0. - - » Allow using the COGL_DEBUG environment variable to disable the - NPOTs support. - - » Plug a nasty infinite loop in the XSETTINGS implementation. - - » Internally rename CoglMaterial to CoglPipeline; this should make - it clearer that the API refers to the state of the GPU pipeline. - - » Add support for clipped redraws on EGL using the NOK_swap_region - extension. - - » Build fixes. - - » Use the monotonic clock API if compiling against GLib ≥ 2.27.3. - - » Update examples in the Cookbook. - - » Add a Cookbook recipe for looping animations. - - » Add more documentation on Constraints. - - » Documentation fixes. - -Translation updates: - - Italian, Polish - -Many thanks to: - - Robert Bragg, Neil Roberts, Elliot Smith, Owen W. Taylor, - Damien Lespiau, Lucas Rocha, Maxim Ermilov, Piotr Drąg, - Tomeu Vizoso, muflone - -Clutter 1.5.4 -=============================================================================== - - • List of changes since Clutter 1.5.2 - - » Add a backend for Wayland. - - » Depend on GLib ≥ 2.26, Cairo ≥ 1.10. - - » Do not generate the conformance tests list using the test-conformance - binary. - - » Implement interval progress functions for ActorBox, Vertex, Geometry, - Color and Units. - - » Allow overriding the surface creation in Clutter.CairoTexture. - - » Add interpolate() method to Clutter.Color. - - » Add ClutterPathConstraint, a simple constraint that sets the origin - of an actor's allocation to follow a ClutterPath. - - » Plug some memory leaks. - - » Fix build of the CEx100 and EGL backends. - - » Fixes for the OSX backend. - - » Documentation consistency and spell checking fixes. - - » Build fixes. - -Translation updates: - - Andika Triwidada (id), Damien Lespiau (fr), Piotr Drąg (po) - -Many thanks to: - - Damien Lespiau, Neil Roberts, Kristian Høgsberg, Andika Triwidada, - Ole André Vadla Ravnås, Robert Bragg, Owen W. Taylor, Piotr Drąg, - Roland Peffer - -Clutter 1.5.2 (04/10/2010) -=============================================================================== - - • List of changes since Clutter 1.4.0 - - » Add API to ClutterActor to allow any actor to define its 3D paint - volume and its stage-relative 2D bounding box; the paint volume is - the 3D space occupied by an actor during the paint sequence. This - allows better sizing of the FBOs, and opens the door to scenegraph - culling and accurate clipped redraws. The mechanism is opt-in: actors - have to implement the get_paint_volume() virtual function. Callbacks - attached to the ::paint signal will also disable any culling and - clipped redraw in place internally. - - » Plug a leak in ClutterActor by disposing all constraints. - - » Rework the build system to be as non-recursive as possible; this should - speed up the build of Clutter, and makes the build layout easier to - understand and update. - - » Remove the internal copy of JSON-GLib; the internal copy was falling - behind at a spectacular level, and it was actually making the build - rather complicated - also by adding an unwanted, but needed, - introspection data generation. The required JSON-GLib has also been - bumped to the new stable release, 0.12.0. - - » Use g_object_install_properties() with GLib 2.26. - - » Implement ClutterContainer::child-notify, which slipped through the - cracks of many development cycles without anyone noticing. - - » Document and test clutter_actor_contains(), especially the corner - cases. - - » Plug a leak in CoglTexture2DSliced. - - » Plug a leak in ClutterAnimator's handling of timelines. - - » Trap glXDestroyPixmap() in CoglTexturePixmapX11 to avoid BadDrawable - errors when the GLX pixmap is destroyed behind Cogl's back. - -Many thanks to: - - Robert Bragg - Neil Roberts - Elliot Smith - Alejandro Piñeiro - Aron Xu - Colin Walters - Ray Strode - Stephen Kennedy - -Clutter 1.4.0 (24/09/2010) -=============================================================================== - - • List of changes since Clutter 1.3.14 - - » Add support for describing ClutterState states using ClutterAnimators - in ClutterScript. - - » Build fixes - - » Include ClutterConstraints into the allocation phase, to avoid layout - cycles and improve the performance. - - » Add new recipes to the Cookbook to illustrate constraints-based - layouts. - - » Fix the request mode of ClutterBoxLayout. - - » Fix the handling of transformations in ClutterOffscreenEffect. - - » Documentation and introspection fixes. - -Many thanks to: - - Elliot Smith - Robert Bragg - Neil Roberts - Bastian Winkler - Dominique Leuenberger - Frederik Hahne - Jammy Zhou - Øyvind Kolås - -Clutter 1.3.14 (15/09/2010) -=============================================================================== - - • List of changes since Clutter 1.3.12 - - » Fix applying layout properties from ClutterScript definitions in case - of multiple children. - - » Add a Clutter EGL backend for Intel CEx100 platforms. - - » Add new recipes in the Cookbook: - - texture cross-fading - - ClutterScript definitions - - event handling - - ClutterAnimator - - reusing complex animations - - » Add methods to retrieve the clicked button and to force a release - in ClickAction. - - » Documentation fixes in the API reference. - - » Cache a full pick buffer and re-use it in case the scene does not change - between events. - - » Fix a Valgrind report of memory corruption in ClutterState.remove_key(). - - » Allow detaching animations created with clutter_actor_animate(). - - » Depend on GObject-Introspection >= 0.9.5. - - » Provide introspection data for the X11-specific API, like - ClutterX11TexturePixmap - - » Use a template material for ClutterTexture to minimize the creation of - new materials. - - » Split ClutterDragAction:drag-threshold into two, per-axis properties: - :x-drag-threshold and :y-drag-threshold. - - » Allow disabling the -Bsymbolic flag when linking. - - » Use gettext >= 0.17 to handle the localization. - - » Flush the framebuffer earlier when drawing the vertex buffers, to fix - a crash when dealing with clip stacks. - - » Make sure ClutterX11TexturePixmap removes the Cogl texture handle before - freeing the X11 Pixmap to avoid an error. - - » Avoid regenerating the CoglMaterial programs too many times. - -Many thanks to: - - Elliot Smith - Robert Bragg - Damien Lespiau - Neil Roberts - Colin Walters - Owen W. Taylor - Bastian Winkler - Alejandro Piñeiro - Alexandros Frantzis - Chris Kühl - Luca Invernizzi - Henrik Hedberg - Javier Jardón - Lucas Rocha - Murray Cumming - Øyvind Kolås - -Clutter 1.3.12 (16/08/2010) -=============================================================================== - - • List of changes since Clutter 1.3.10 - - » New recipes in the Cookbook: - - create and animate sub-textures - - layout managers - - scroll events - - » Set the ClutterTexture:filename property to also be readable. - - » Avoid layout cycles when creating ClutterLayoutMeta objects - during the ::allocate implementation - - » Add a ClutterTableLayout, a layout manager for tabular layouts. - - » Capture ENTER and LEAVE events on the stage within the DragAction. - - » Plug memory leaks. - - » Use g_object_notify_by_pspec(), if available, to speed up the - emission of the ::notify signal on property changes. - - » Re-use the Cogl texture atlas for the CoglPango glyphs cache, - and improve the performance with large font sizes. - - » Various fixes in the Materials comparison and inheritance. - - » Add the ability to associate a user program to a material. - -Many thanks to: - - Neil Roberts - Elliot Smith - Robert Bragg - Damien Lespiau - José Dapena Paz - Owen W. Taylor - -Clutter 1.3.10 (04/08/2010) -=============================================================================== - - • List of changes since Clutter 1.3.8 - - » Fix a locale-dependent conversion from double to string when - generating ARBfp programs for the materials. - - » Use the XKB extension on X11 platforms to convert between hardware - keys to key symbols. - - » Documentation fixes in the API reference. - - » More recipes, with videos and full examples, in the Cookbook. - - » Add localization support and initial translations of error messages - that might be visualized in a user interface. - - » Improve debugging output. - - » Fix build of the GLX backend on OSX. - - » Multiple fixes to the native OSX backend. - - » Add support for 3D textures in Cogl. - - » Fix shader-related issues and leaks in the new Material code. - - » Unify GLSL support in the GL and GLES 2.0 drivers. - - » Allow specifying an hint to disable clearing the stage before each - paint cycle. - -Many thanks to: - - Neil Roberts - Roman Kudiyarov - Elliot Smith - Robert Bragg - Chris Kühl - Chris Leick - Nate Stedman - happyaron - raven - Øyvind Kolås - -Clutter 1.3.8 (12/07/2010) -=============================================================================== - - • List of changes since Clutter 1.3.6 - - » Merge Cally, the Clutter Accessibility Library, in the Clutter tree. - - » Take into consideration the source actor's position in the - AlignConstraint logic. - - » Update the internal COGL tesselator with the latest GLU code. - - » Fix CoglTexture data readback. - - » Use GL_MAX_TEXTURE_SIZE on GLES when checking the supported texture size. - - » Add missing public functions from COGL headers. - - » Fix GLES build after the Cogl material changes. - - » Rename the experimental CoglPixelBuffer API to CoglPixelArray. - - » Split the clutter_state_change() method into two: - clutter_state_set_state(), for animated state changes; and - clutter_state_warp_to_state() for immediate state changes. - - » Documentation and introspection fixes. - - » Build fixes - -Many thanks to: - - Robert Bragg - Neil Roberts - Elliot Smith - Alejandro Piñeiro - Øyvind Kolås - Damien Lespiau - Alexandros Frantzis - -Clutter 1.3.6 (30/06/2010) -=============================================================================== - - • List of changes since Clutter 1.3.4 - - » Provide a fallback on GLX if the MESA_copy_sub_buffer extension is not - available, by using EXT_framebuffer_blit. Both mechanisms are also - throttled to avoid taking all resources when using them in a compositor - like Mutter. - - » Use (and cache) fragment shaders instead of texture combiners inside - Cogl materials. Cogl will automatically fall back from GLSL to ARBfp - to fixed functions depending on the level of support of the underlying - GL implementation. - - » Implement a new design for materials; this allows scaling up the - number of materials in a scene, and also makes copying materials - less expensive. - - » Make Cogl materials responsible for depth testing, and add new - experimental API. - - » Use the (modified) GLU tesselator to draw paths to a vertex buffer - object instead of using the stencil buffer, or the scanline rasterizer - on platforms without a stencil buffer. - - » Add ClutterDeformEffect, a base class for effects that deform an - actor's geometry when painting it; ClutterPageTurnEffect is an - implementation of a "page curl" deformation using the DeformEffect - API. - - » Always use scissoring when clipping, to reduce the amount of buffer - that has to be cleared. - - » Allow ClutterShaderEffect sub-classes to use vertex shaders by setting - a constructor property; the default remains fragment shader. - - » Remove the button of the press event from the DragAction::drag-begin - and DragAction::drag-end signals. This is an API break from 1.3.4. - - » Do not promote clipped redraws to full redraws. - - » Improve the consistency of the default state name in ClutterState, - both in the API and in the serialization format. - - » Fix a rounding error with the Text layout size. - - » Add utility functions for CoglMatrix and CoglColor. - - » Avoid a re-allocation cycle warning when resizing the surface of - a CairoTexture actor from within the allocate() implementation. - - » Do not add the GL libraries for the EGL X11 backend. - - » Add more checks for size of data passed to the shader types GValue - functions. - - » Add width and height to the BindConstraint. - - » Parse actions, constraints and effects inside an actor definition - for ClutterScript. - - » Merge the code of native and x11 backends for EGL into a single - backend; also allow creating GL context with the EGL backend. - - » Use XSETTINGS to set up the backend configuration options, like - the font name, resolution, font options and double click options, - on X11; this also allows ClutterText actors created using the - default font name to be updated when the font name and options - change; similarly, this allows ClutterUnits to be updated when - the screen resolution changes. - - » Implement the texture_from_pixmap extension support inside Cogl - itself, and unify ClutterX11TexturePixmap and ClutterGLXTexturePixmap. - - » Documentation improvements in the API reference and in the cookbook. - - » Use the -Bsymbolic-functions linker option on supported platforms - to avoid intra-library PLT jumps. - - » Fix painting transparent stages on X11 using the :use-alpha property - of ClutterStage. - - » Fix emission of scroll events on Windows. - -Many thanks to: - - Robert Bragg - Neil Roberts - Øyvind Kolås - Damien Lespiau - Elliot Smith - Chris Lord - Johan Bilien - Richard Hughes - Adel Gadllah - Alejandro Piñeiro - Colin Walters - Dan Winship - Kristian Høgsberg - Sunil Sadasivan - -Clutter 1.3.4 (07/06/2010) -=============================================================================== - - • List of changes since Clutter 1.3.2 - - » Add ClutterEffect, a ClutterActorMeta sub-class that affects the - way an actor paints itself. - - » Clutter provides a base class for effects painting to an - offscreen buffer, and a base class for effects using the - GL programmable pipeline (through the GLSL shader language). - - » Clutter also provides some simple, shader-based effects: - ClutterBlurEffect, ClutterColorizeEffect and - ClutterDesaturateEffect. - - » Effects can be applied to any actor, and can also be stacked. - - » Add ClutterClickAction, an action that provides "button-like" - semantics for any ClutterActor. - - » ClutterDragAction now moves the actor to which it has been applied - by default, using a class handler for the ::drag-motion signal. - - » Add the :pick-with-alpha property to ClutterTexture; this property - allows using the alpha channel of a texture when picking it. - - » Regenerate the mipmaps on COGL textures when a texture is modified. - - » Documentation and build fixes. - -Many thanks to: - - Robert Bragg - Damien Lespiau - Neil Roberts - Colin Walters - -Clutter 1.3.2 (24/05/2010) -=============================================================================== - - • List of changes since Clutter 1.2 - - » Add ActorMeta, a class for run-time composition of actions and - constraints on a ClutterActor: - - » Add ClutterAction, a class for implementing business logic - related to event handling. - - » Add ClutterConstraint, a class for implementing business - logic related to sizing and positioning. - - » ClutterDragAction is an Action sub-class that implements - signals and properties for dragging actors. - - » ClutterAlignConstraint and ClutterBindConstraint are two - Constraint sub-classes that allow relative positioning - with fixed layout managers. - - » Add ClutterState, an object for defining state transitions. - - » Add ClutterBoxLayout:homogeneous property. - - » Implement retained clip stacks. - - » Support retained paths. - - » Add an experimental vector3 API. - - » Require GLib >= 2.18. - - » Require Atk >= 1.7. - - » Make ClutterActor implement AtkImplementor, and allow retrieving - an AtkObject from a ClutterActor. - - » Improve ClutterText's Pango layout caching mechanism. - - » Fix set up of the GLX_SGI_swap_control extension. - - » Fix EGLX backend. - - » Documentation fixes for Clutter and COGL. - - » Fix the conformance test suite by executing every test unit in - a separate process. - - » Add platform-dependent defines for Cogl. - - » Update the MingW cross-compilation script. - - » New recipe in the Cookbook. - -Many thanks to: - - Neil Roberts - Robert Bragg - Øyvind Kolås - Owen W. Taylor - Brian Tarricone - Damien Lespiau - Adel Gadllah - Chris Lord - Fridrich Strba - José Dapena Paz - Jussi Kukkonen - Rob Bradford - -Clutter 1.2.2 (15/03/2010) -=============================================================================== - - • List of changes since Clutter 1.2.0 - - » Fix introspection annotations for ClutterBox - - » Compilation fixes for the EGL native backend - - » Fix ClutterX11TexturePixmap ::queue-damage-redraw default handler - registration to avoid a run-time warning - - » Handle TEXTURE_RECTANGLE_ARB in the 2D sliced textures, and add - a test case for that extension to avoid regressions - - » Improve the strictness of the JSON parser in the internal copy - of JSON-GLib to which we fall back in the absence of the system - one - - » Fix a crasher on NVidia drivers when enabling the ARGB visuals - by default on GLX. - -Many thanks to: - - José Dapena Paz - Neil Roberts - Owen W. Taylor - Øyvind Kolås - -Clutter 1.2.0 (02/03/2010) -=============================================================================== - - • List of changes since Clutter 1.1.14 - - » Improve the Animator API for consistency, and the implementation - to match the intended behaviour, as documented - - » Add initial (and internal) support for queueing clipped region updates - and let the GLX texture-from-pixmap actor take advantage of it - - » Support any pixel format in cogl_read_pixels() - - » Conditionally use G_VALUE_COLLECT_INIT() in functions using variadic - arguments lists - - » Consistently use :min-width and :min-height inside the Stage to define - the minimum size of the Stage window - - » Implement the Scriptable interface for ClutterModel sub-classes; this - allows setting ClutterModel columns (both types and names) in - ClutterScript definitions - - » Add support for unsigned integer indices in the VertexBuffer API - - » Documentation fixes for Clutter: the coverage is now 100% - - » Fixes for the EGL native backend - - » Require libtool >= 2.2.6 - - » Improve tests coverage - -Many thanks to: - - Neil Roberts - Øyvind Kolås - Robert Bragg - Bastian Winkler - Chris Lord - Owen W. Taylor - -Clutter 1.1.14 (24/02/2010) -=============================================================================== - - • List of changes since Clutter 1.1.12 - - » Fix interaction between user resizable Stages and fullscreen on X11 - - » Define the semantics of ENTER and LEAVE events when actors are on the - border of the Stage window - - » Take the InputDevice of an event into consideration when throttling - MOTION events - - » Round the coordinates when clipping to a rectangle in window coordinates - - » Always trust the user-provided coordinates when creating a CoglTexture - from a foreign GL texture - - » Split Clutter's debug annotations from the pick and paint mode - behavioural modifiers - - » Improve the usage of the CLUTTER_ACTOR_NO_LAYOUT flag so that every - actor using a ClutterFixedLayout manager will automatically benefit - from it - - » Fix the packing order of ClutterBox so that the convention of - first-in-first-painted is maintained - - » Documentation fixes - -Many thanks to: - - Robert Bragg - Chris Lord - Neil Roberts - -Clutter 1.1.12 (16/02/2010) -=============================================================================== - - • List of changes since Clutter 1.1.10 - - » Fix compilation on 64bit platforms - - » Fix some races of the Stage resizing on X11 - - » Documentation fixes for Cogl: the coverage is now 100% - - » Fix rounding errors in the preferred height of the ClutterText - actor - - » Remove redundant type checks in clutter_actor_get_paint_opacity() - - » Add support for the GLX_INTEL_swap_event extension; when using this - extension on GLX the glXSwapBuffers() call becomes non-blocking and - Clutter will use an event to control the master clock. - - » Improve consistency between ClutterBox and ClutterGroup. - - » On X11, do not set the _NET_WM_PID and WM_TITLE properties on a - Stage X window if the window was not created by Clutter itself - - » Improve caching of GL constant values - - » Optimize creating sub-textures of sub-textures - - » Various fixes for the atlas and the journal - - » Disable the atlas if FBOs are not supported - -Many thanks to: - - Robert Bragg - Neil Roberts - Damien Lespiau - Bastian Winkler - Chris Lord - -Clutter 1.1.10 (09/02/2010) -=============================================================================== - - • List of changes since Clutter 1.1.8 - - » Fixed a regression in textures that caused all the textures to be - drawn as white rectangles. - - » Fixed compilation with the Sun C compiler. - - » Use SSE2 instructions to premultiply RGBA images, if available. - - » Improve readability of ClutterActor::raise/::lower warnings. - -Many thanks to: - - Neil Roberts - Halton Huo - -Clutter 1.1.8 (08/02/2010) -=============================================================================== - - • List of changes since Clutter 1.1.6 - - » Added ClutterAnimator, a class that allows defining complex - implicit animations involving multiple actors and states; this - class is mostly meant to be used through the ClutterScript - definition format, but it provides a convenience C API for - easily building animations. - - » New experimental COGL API to expose "hardware" buffers such as PBOs or - drm surfaces. This API can be used, for instance, to make texture - uploading faster. - - » Fixed the issues with resizable stages getting a 1x1 window with - the X11 backends - - » Expose input devices for every event; by default, X11 and Windows - backends expose the core devices only. - - » Add the ClutterStage:key-focus property, for key focus tracking. - - » Allow setting transformable value types in ClutterAnimation when - calling clutter_animation_bind() and clutter_animation_update(). - - » Delay the creation of the default Stage until clutter_stage_get_default() - is actually called; this reduces the work of clutter_init(). - - » Implement Ctrl+Delete and Ctrl+Backspace in ClutterText - - » Improve the extendability of CoglTexture with internal backends. - - » Add implicit texture atlasing; Cogl will try to put every texture - inside the same texture atlas by default, to avoid state changes - in the driver and (hopefully) improve performance. - - » Fix notification of the cursor and selection changes in ClutterText; - this improves the usage of Clutter from A11Y toolkits. - - » Do not wait for a frame if the system clock goes backwards. - - » Fix the dirtying of the clip state; this unbreaks cogl_path_fill(). - - » Documentation and build fixes. - -Many thanks to: - - Neil Roberts - Chris Lord - Damien Lespiau - Alejandro Piñeiro - Jussi Kukkonen - Kristian Høgsberg - Robert Bragg - Øyvind Kolås - -Clutter 1.1.6 (18/01/2010) -=============================================================================== - - • List of changes since Clutter 1.1.4 - - » Some fixes for the Win32 backend (bug #1905). - - » Profiling support via the UProf library. Configure with - --enable-profile to get a report after each Clutter application is - run. - - » Improved conformance tests with coverage reports via gcov. - - » ClutterTexture no longer tries to read back texture data into - g_malloc'd memory on unrealize (bug #1842). - - » The CGL_• defines from cogl-defines.h have been removed. These - should not have been used by any applications, but if they were - being used then please replace them either with the Cogl enums or - with the appropriate GL_• enum if you are using GL directly. - - » Added a delete-event signal to the stage. - - » Fix for using cogl_rectangle with different texture coordinates - for multiple layers (bug #1937). - - » Fix for using stencil and depth buffers in FBOs on Intel drivers - in Mesa (bug #1873). - - » Support for subtitles in ClutterMedia. - - » ClutterGLX will now use an RGB visual by default. For - applications (and toolkit integration libraries) that want to - enable the ClutterStage:use-alpha property there is a new - function: clutter_x11_set_use_argb_visual(). - - » Fix ClutterText to allow using Pango markup and attributes in - the same actor (bug #1940). - -Many thanks to: - - Alejandro Piñeiro - Damien Lespiau - Emmanuele Bassi - Gord Allot - Halton Huo - Robert Bragg - Samuel Degrande - -Clutter 1.1.4 (03/01/2010) -=============================================================================== - - • List of changes since Clutter 1.1.2 - - » Update the ClutterScript parser to be more resilient, and support - constructor and ChildMeta properties. The parser also respects the - order of the properties in the UI definitions when applying them, - and will apply the properties of an Actor after building the scene - graph. - - » Simplified the implementation of LayoutManager sub-classes, and added - support for animating a layout manager. - - » Allow short-circuiting some layout operations by setting a specific - flag on ClutterActor. - - » Improve caching of the preferred size of a ClutterActor. - - » Allow declaring "internal children" for a ClutterContainer - implementation: the memory management of these actors will be deferred - entirely to the Container. - - » Let the ClutterStage honour the :opacity property and the alpha component - of the stage color. This requires support in the Clutter backend used. - - » Improve Windows and OSX backends. - - » Simplify the feature detection code for OpenGL; this also reduced the - required OpenGL version to 1.2. - - » Improve the matrix stack handling code. The matrices can be debugged by - using the COGL_DEBUG environment variable, assuming that Clutter was - compiled with the right configure-time switch. - - » Improve COGL API for draw buffers, and for offscreen buffer support. - - » Add support for text direction to ClutterActor. - - » Documentation, introspection and build fixes. - -Many thanks to: - - Robert Bragg - Neil Roberts - Damien Lespiau - Joshua Lock - Bastian Winkler - Rob Bradford - Samuel Degrande - Christian Persch - Colin Walters - Johan Bilien - Raymond Liu - Tim Horton - -Clutter 1.1.2 (23/10/2009) -=============================================================================== - - • List of changes since Clutter 1.0 - - » Add ClutterLayoutManager, an abstract proxy class for easily - writing layout management policies; also add ClutterLayoutMeta, - a class for storing layout properties. - - » Add ClutterBox, a generic container actor that relies on a - ClutterLayoutManager instance to manage the layout of its - children. - - » Add the following layout managers: - - - ClutterFixedLayout - a layout manager implementing the - policy used by ClutterGroup - - - ClutterBinLayout - a layout manager for packing actors - as layers inside the same area, with per-actor alignment - - - ClutterFlowLayout - a layout manager arranging actors as - a reflowing grid - - - ClutterBoxLayout - a layout manager arranging actors as - a single line - - » Remove the requirement for the backend-specific implementation - of ClutterStage to be a ClutterActor: a Stage implementation must - only implement the ClutterStageWindow interface. This cleans up - the backend code. - - » COGL source tree clean up and rationalization; COGL now - knows the platform, and not only the driver (GL or GLES) so - we can migrate part of the low-level backend code from Clutter - to COGL where it makes sense. - - » Remove code duplication across whole COGL. - - » The GLES 2.0 driver for COGL, and the EGLX backend for Clutter - have been fixed and confirmed working. - - » Add "dump-pick-buffer" to CLUTTER_DEBUG: this debug options - dumps the contents of each pick() buffer into a PNG file, for - debugging purposes. - - » Allow interpolating intervals of ClutterUnits for animating - unit-based properties. - - » Increase strictness and correctness of the ClutterUnits - grammar parser. - - » Add GValue transformation functions for ClutterPath to and - from a string. - - » Fix word movement in ClutterText; implement GObject getter for - :use-markup; emit notification for :position; decouple the - :text property from the :use-markup property. - - » Do not queue redraws or relayouts on actors currently being - destroyed. - - » Support #rrggbb and #rgb notations for ClutterColor. - - » Multiple bug fixes. - - » Provide _NET_WM_PID on the X11 stage implementation. - - » Documentation and Introspection annotation fixes. - - » Add test units for the ClutterActor size requesition. - - » Build fixes. - - » Use AM_SILENT_RULES if Automake 1.11 is detected, and fall - back to Shave on older Automake versions. - -Many thanks to: - - Robert Bragg - Damien Lespiau - Neil Roberts - Thomas Wood - Owen W. Taylor - Øyvind Kolås - Götz Waschk - Zhou Jiangwei - Colin Walters - Jonas Bonn - Joshua Lock - Jussi Kukkonen - Samuel Degrande - Vladimir Nadvornik - Xu Li - -Clutter 1.0.0 (28/07/2009) -=============================================================================== - - • List of changes since 0.9.8 - - » Allow per-stage disabling of motion event throttling; this should allow - platforms or applications that require all the motion events not for - drawing purposes to get them exactly like Clutter gets them from the - windowing system. - - » Various documentation fixes. - - » Add per-word key navigation inside ClutterText. - - » Fix the RGB<->HLS conversion. - - » Various fixes for the OSX backend. - - » Various build-related fixes. - -Many thanks to: - - Geoff Gustafson - Michael Mortensen - Owen W. Taylor - -Clutter 0.9.8 (17/07/2009) -=============================================================================== - - • List of changes since 0.9.6 - - » Add more introspection annotations for language bindings. - - » Fix a bug in clutter_animation_set_alpha(), which also broke the - clutter_actor_animate_with_alpha() function. - - » Check if the stage requires a relayout before showing it; this fixes - a bug in the X11-based backends, especially under compositing window - managers, where a 640x480 window would flicker before the default - stage was shown for the first time. - - » Performance fixes for Cogl. - - » Sliced textures were broken by the COGL journalling. - - » Use the redraw cycle when asynchronously loading textures from - files. - - » Miscellaneous compilation fixes for the OS X and Windows backends. - - » Allow querying from within the paint function of an Actor whether - the actor is currently being directly painted or by a Clone actor. - - » In the GLX backend, when using the non-implicit sync-to-vblank inside - glXSwapBuffers(), call glFinish() to avoid potential tearing. - -Many thanks to: - - Colin Walters - Evan Martin - Marcos - Owen W. Taylor - Xu Li - -Clutter 0.9.6 (01/07/2009) -=============================================================================== - - • List of changes since 0.9.4: - - » Allow the manipulation of the actor's transformation matrix, so that is - is possible to apply additional transformations in a way that is - compatible with the transformations already applied by the scene graph. - - » Fix a race in the X11 backend that happened between resizing the stage - drawable and the call to glViewport(). - - » Merge the cogl-journal-batching branch; this branch implements batching - the geometry of the elements of the scene graph before sending it to - OpenGL, thus minimizing the number of state changes and improving the - overall performance of Clutter-based applications. - - » Add more debugging states for Clutter and COGL, which allow the developer - to track the state of the journal; to check the VBO fallback paths; to - disable picking for reliable profiling; to disable software-side matrix - transformations in favour of the driver/GPU ones. - - » Improve the ability to "break out" of COGL by using gl_begin/gl_end - semantics; applications that drop into raw GL are, though, ignoring all - the caching performed by COGL and might incur in performance issues. - - » Fixed the :load-async and :load-data-async properties of Texture by - removing the unneeded G_PARAM_CONSTRUCT flag. - - » Added an initial migration guide that shows the porting process from - older releases of Clutter to the 1.0 API; the first chapter deals with - the migration from ClutterEffect to the new implicit animations API. - - » Fixed MT-safety for the master clock. - -Many thanks to: - - Ole André Vadla Ravnås - Tim Horton - -Clutter 0.9.4 (19/06/2009) -=============================================================================== - - • List of changes since 0.9.2: - - » Set the layout height in ClutterText, so that wrapping and ellipsization - work correctly to fill all the allocated area. - - » Remove all the units-based API, and migrate all the positional and - dimensional accessors to use floating point values when dealing with - pixels. All the properties dealing with pixels now that a floating - point value as well. - - » Add the ability to track wether an actor is going to be painted or not, - using the "mapped" flag. This also allows Clutter to be more strict - in the handling of the scenegraph, ensuring correctness and avoiding - wasting resources on nodes that won't be painted. - - » Add debugging facilities for COGL, similar to those of Clutter; through - them is also possible to have an on screen debugging mode that shows the - boundaries of each rectangle sent to the GPU. - - » Rework "units" into real logical distance units that can be converted - between millimeters, typographic points and ems into pixels. - - » Simplify the Animation class to avoid redundancy and the possibility - of it going out of sync with the Timeline and Alpha instances it uses. - - » Move every operation into a single "master clock" source that advances - the timelines, dispatches events and redraws the stages in a predictable - sequence, thus avoiding unneeded redraws. The default is to follow the - sync-to-vblank cycle, if it is supported by the drivers. - - » Cache the glyphs geometry into a vertex buffer object to avoid - resubmitting too much information to the GPU. - - » Rework the behaviour of ClutterModel when a filter is applied. - - » Allow submitting premultiplied texture data; this removes the need - for unpremultiplying data in CairoTexture. - - » Add a simple API for submitting blending and texture combining modes - through a string description. - - » Move Timelines to pure time-based objects. - - » Lots of performance improvements. - - » Removal of all the deprecated API. - - » Removal of all the fixed point entry points. - - » Lots of documentation fixes - the coverage is now 99% of the exported - 1600 symbols for Clutter and 80%+ of the 300 exported symbols for COGL. - - » Generate the GObject Introspection data for both Clutter and COGL - at build time. - - » Build environment fixes. - -Many thanks to: - - Owen W. Taylor - Thomas Wood - Havoc Pennington - Bastian Winkler - Chris Lord - Garry Bodsworth - Rob Bradford - Johan Bilien - Jonas Bonn - Raymond Liu - Damien Lespiau - Dan Winship - Marc-André Lureau - Robert Staudinger - Tommi Komulainen - -Clutter 0.9.2 (16/03/2009) -=============================================================================== - -Bastian Winkler (2): - [media] Fix the interface cast macro - Remove redundant declaration in clutter-text.h - -Chris Lord (1): - [actor] Force a relayout on set_parent() - -Christian Persch (1): - Bug 1429 - Redundant declaration in clutter-x11.h - -Colin Walters (3): - Bug 1491 - Fix hardcoded lib path in .pc files - Typo in clutter-win32.pc.in introduced by commit 24ce19383 - [animation] Enhance the bind API - -Damien Lespiau (6): - [gitignore] update gitignore files for tests/ - [build] Beautify autotools' output - [build] Add dolt - [build] Fix interaction between shave, gtk-doc and libtool 1.x - [build] Fix dist for the newly introduced m4 macro directory - Update shave - -Emmanuele Bassi (111): - Post-release bump to 0.9.1 - [text] Merge the attributes with markup enabled - [tests] Update the text-field interactive test - Add Actor::create_pango_layout() - [docs] Add clutter_text_set_markup() - [clone] Allow cloning unparented actors - [text] Use create_pango_layout() - [text] Rename :alignment to :line-alignment - [texture] Consolidate the quality to filter conversions - [texture] Check if the material is valid - [event] Extend KeyEvent for multi-input support - [actor] Check out parameters before setting them - [list-model] Make ClutterListModel subclassable - Bug 1440 - Add clutter_get_current_event_time() - [tests] Add TEST_CONFORM_SKIP() macro - [tests] Add conformance tests for ClutterModel - [ignore] Add the newly created conformance units - [actor] Revert part of commit 402e022c - [animation] Do not bind construct-only properties - [x11] Add backend-specific get_current_event_time() - Initialize a variable to avoid warnings - [cogl] Add cogl_is_material to cogl-material.h - [cogl] Provide GTypes for COGL types - [texture] Use COGL_TYPE_HANDLE for the handle properties - [docs] Clarify the set_cogl_texture() documentation - Merge branch 'build-enhancements' - [docs] Add a missing "return" annotation - [build] Pass the -s switch to cmp - Remove type functions for removed types - [docs] Update the sections file - [tests] Add TEST_CONFORM_TODO macro - [build] Show pkg-config file being generated - [build] Reference the headers with their full path - [docs] Update build for COGL API reference - [build] Update the EXTRA_DIST list - [build] Fix the ChangeLog generation rule - [build] Do not overwrite BUILT_SOURCES - [behaviour] Do not notify empty behaviours - [path] Do not accept NULL descriptions - [timeline] Set the n_markers out paramater - Do not use GL types in Clutter headers - [docs] Require gtk-doc 1.11 - [docs] Use the --name-space option - [docs] Add the 1.0 symbols index - [docs] Rename cogl-docs from sgml to xml - Add build machinery for gobject-introspection data - [backend] Update the viewport when updating the GL context - [build] Move all the compiler flags to AM_CFLAGS - [ignore] Update with the introspection files - Add runtime debug messages for COGL - [actor] Remove usage of ClutterFixed - Make disable text mipmapping a command line switch - Make fuzzy picking a command line switch - [docs] Document envvars and command line switches - Remove stray fixed point macro usage - Use a dynamic array for the actors when delivering events - [media] Add sub-second resolution for the duration - [build] Put the X11 pc dependencies in another variable - [build] Do not shave typelib generation - Intern the ClutterScriptable type name - [backend] Constify font options - [cogl] Add a PANGO debug flag for CoglPango use - Clean up of the ClutterColor API - [shader] Unify code paths - Add pkg-config file for COGL - [build] Various fixes for distcheck - [docs] Clarify clutter_actor_animate() behaviour - [docs] Note that grabs are evil - [cogl-fixed] Add a double-to-fixed conversion macro - Move BehaviourScale to CoglFixed - Move ClutterBehaviourEllipse to CoglFixed - Move ClutterBehaviourRotate to CoglFixed - Move ClutterTimeline to CoglFixed - [cogl-fixed] Implement the CoglFixed fundamental GType - [tests] Test CoglFixed, not ClutterFixed - [interval] Update fixed-point handling - [stage] Coalesce fog and perspective API - [texture] Fix ClutterFixed usage - [text] Convert units to the right type - [tests] Use floats, not ClutterFixed - [units] Add more conversion functions - [fixed] Remove ClutterFixed API - [cogl] Fix hardcoded paths in the pc file - [docs] Remove ClutterFixed from the documentation - [docs] Update API reference - [animation] Add vector variants for ::animate() - [cogl] Initialize boolean flag in CoglContext - [cogl] Initialize all members of CoglContext - [color] Fixed HLS to RGB conversion - [docs] Calling g_object_ref() will not dispose an object - [docs] Document the commit message format - [tests] Animate the color during easing - [docs] Reword some of the coding practices - [docs] Add a bindings coding practices - Add more deprecation notices - [deprecated] Add Effect deprecation - Do not cause more size requisitions than necessary - [cogl] Avoid shadowing math.h symbols - [docs] Clarify Animation memory management - [animation] Add an emitter for ::completed - [animation] Add Animation getter - [tests] Remove unused variables - [docs] Add description of queue_redraw - [docs] Update after Animation API changes - [animation] Enhance consistency of the Animation API - [docs] Bring down the undocumented symbols to 2% - Fix release date of 0.9.0 - Update release notes - [docs] Fix naming of the interval parameter - [docs] Ignore the TimeoutInterval internal API - Update release notes - -Geoff Gustafson (1): - [animation] Broken fixed:: properties - -Gordon Williams (1): - [group] Output the group name when debugging paint - -Havoc Pennington (4): - Virtualize GL matrix operations and use a client-side matrix when GL is indirect - [actor] Add :clip-to-allocation property - [actor] Add ::queue-redraw signal - [cogl] Flush matrix before clip planes - -Jonathan Matthew (1): - Declare the EnumValues for PixelFormat static - -Neil Roberts (36): - [cogl-material] Always bind the new texture handle - Fix building GLES 2 after the material branch merge - [cogl-texture] Fix the count for the number of enabled arrays - [cogl-gles2-wrapper] Remove the FIXME to adjust the fragment color - [clutter-clone] Override the parent opacity to self not self->parent - [clutter-texture] Release the temporary ref taken when setting a texture - [clutter-texture] Unref the Cogl material on dispose - [clutter-texture] Fix the no_slice property - [cogl-texture] Fix offset to next quad when flushing the log - [cogl-texture] Move the destruction of the material to _finalize - [cogl-texture] Fix uninitialised priv var in texture_finalize - Added a test for non-power-of-two sized textures - Emit CLUTTER_LEAVE events when the pointer leaves the stage - Call glActiveTexture and glClientActiveTexture through cogl_get_proc_address - [win32] Track mouse leave messages - [clutter-main] Fix the input device passed to set_motion_last_actor - Override the opacity when painting a clone instead of combining - Allow rotation angle properties to be negative - [ClutterBehaviourRotate] Fix up some breakage from the cogl-float branch merge - [tests/conform] Copy in redhand.png - Replaced ClutterFixed constants in color_{darken,lighten} with float - [cogl-gles2-wrapper] Convert texture unit settings to be a static sized array - [cogl-gles2-wrapper] Actually call glActiveTexture - Add an environment variable to disable mipmapped text - [tests/tools] Don't install libdisable-npots.so - [clutter-texture] Use a GThreadPool for loading async textures - [cogl-pango-glyph-cache] Fix compiler warning on 64-bit - Fix warning in clutter-backend-sdl - [eglnative] Add -I flags for the clutter dir in the src and build dirs - Set the mapped flag on the stage in the SDL and eglnative backends - Fix out of tree builds - Remove use of $(builddir) - [README] Small typo fix - Change cogl_path_rectangle and cogl_path_round_rectangle to take x1,y1,x2,y2 - [cogl-path] Minor fix to gtk-doc - Count timeline frames using the FPS instead of an integer interval - -Owen W. Taylor (7): - Honor ACLOCAL_FLAGS in autogen.sh - Add gobject-introspection annotations - Fix x/y confusion for GL_TEXTURE_RECTANGLE_ARB - Use COGL to establish GL state for ClutterGLXTexturePixmap - Add (out) annotations for ClutterActor - Allow NULL for clutter_text_set_text() - Avoid drawing twice if relayout queues a draw - -Raymond Liu (2): - [text] Crash when multi-byte utf8 text exceeds max_length - [text] Insertion of multi-byte characters broken - -Robert Bragg (28): - [Cogl] Renames cogl_fog_set to cogl_set_fog for consistency - [cogl-material] Fixes some dirty flag checks - [cogl-vertex-buffer] Some fixes for texturing and color arrays - [docs] Various gtk-doc updates for Cogl - [tests] Some improvements for test-pixmap - [Cogl] cogl_clip_{set•,unset} renamed to cogl_clip_{push*,pop} - [Cogl] Renames cogl_paint_init to cogl_clear and adds a cogl_disable_fog function - [cogl-color.c] #include fix for the cogl_set_source_color prototype - [Cogl] the cogl_get_•_matrix functions now work with CoglMatrix types - [Cogl] Fixes automatic handling of the GL blend enable state. - [cogl-material] Always glBindTexture when flushing material state - [Cogl] Remove a debugging assert that was triggering on false positives - [test-vertex-buffer-contiguous] Improves the texturing test - [cogl-matrix] Adds padding to CoglMatrix - [cogl-matrix] Documents that CoglMatrix members should be considered read only - Removes need for casting (const float •) to (GLfloat *) in _cogl_set_clip_planes - 80 char fix - Avoid casting CoglMatrix to a GLfloat • when calling glGetFloatv - Explicitly make the modelview-matrix current in cogl_{rotate,transform,etc} - Use Cogl enum when making modelview-matrix current in cogl_{rotate,transform,etc} - Finish GLES{1,2} support for client side matrix stacks - Maintain the Cogl assumption that the modelview matrix is normally current - Merge branch 'cogl-client-matrix-stacks' - [cogl-vertex-buffer] Add a flush of attribute changes in the •_draw() functions - [cogl-vertex-buffer] Allow querying back the number of vertices a buffer represents - [cogl-vertex-buffer] fix cogl_vertex_buffer_draw_elements prototype - [tests] Adds an interactive cogl vertex buffer unit test - [cogl] Don't endlessly print the same warning regarding layer fallbacks - -Robert Staudinger (1): - [build] Add cogl.h to the built sources list - -Shane Bryan (1): - Bug 1434 - _NET_WM_NAME not set before realize - -Tomas Frydrych (3): - Fixed handling of enter and leave events in clutter_x11_handle_event() - Fix clutter_x11_texture_pixmap_get/set_property() following change of PROP_WINDOW type - [x11] Only update cached last event time if we have a real timestamp. - -Øyvind Kolås (11): - Added a mutex for clutter asynchronous textures threads. - Bail early in clutter_texture_paint if opacity == 0 - Add a warning for recursive emit_event - Change the default size of thread pool from 3 to 1 - [tests] Added test-texture-async - [clutter-texture] add option to not block on size for loaded images - [clutter-texture] remove load-size-async property - Merge commit 'origin/async-texture-thread-pool' into async-size - [clutter-texture] updated documentation. - [clutter-texture] fixed gtk-doc formatting, and init threads in test. - Merge branch 'async-texture-thread-pool' - -Clutter 0.9.0 (30/01/2009) -=============================================================================== - - • List of changes between 0.8.6 and 0.9.0 - - » ClutterText is a new actor allowing text display, text editing - both in multi-line and single-line modes, and text selection using - the pointer devices and the keyboard. ClutterText supercedes both - ClutterLabel and ClutterEntry. - » ClutterClone is a new actor that allows cloning of other actors, - both simple and composite. ClutterClone supercedes ClutterCloneTexture. - » ClutterBindingPool is a new API that allows to easily add key bindings - to an actor. - » ClutterAnimation is a new API for implicit animations, similar to - the tweening API used in toolkits like jQuery, Tween and Flash. This - new API supercedes the ClutterEffect API. - » ClutterAlpha uses "animation modes" instead of raw function - pointers; it is still possible to pass alpha functions. The alpha - functions provided by Clutter have been removed from the public - API. It is possible to register global alpha functions and use - them though a logical id. - » The interval of the ClutterAlpha:alpha property has been changed - to a floating point value in the [ -1.0, 2.0 ] range; this allowed - the addition of "overshooting" easing modes. - » COGL now supports backface culling. - » The COGL-based Pango renderer is public API and it is accessible - to developers. It is also possible to access the PangoContext used - by Clutter in order to create PangoLayouts to render text. - » The ClutterFixed API has been moved to COGL. - » COGL does not depend on Clutter data types anymore. - » The ClutterMedia interface has been overhauled: implementations - now must only override the interface properties. The ranges of - some properties have been changed to normalized values. - » COGL now exposes only floating point entry points, and reserves - the eventual conversion to fixed point only when needed. The - fixed point type and macros are publicly available for developers - concerned about floating point operations. - » COGL has a new Vertex Attribues API that allows submitting an - extensible number of vertex attributes to OpenGL in a way that - does not require format conversions and allows fast re-use. - » COGL has a new Material API that decouples paths from fills; it - is possible to create an arbitrary path and fill it with a COGL - texture. The Material API also allows setting multiple texture - layers and defining the blend modes and colors. - » ClutterTexture has the ability to use a worker thread to asynchronously - load an image from a file, as long as the GLib threading support has - been enabled prior to calling clutter_init(). - » Clutter now supports localization of the help output, and it - also supports globally setting the text direction for non left to - right locales. - » ClutterCairoTexture is a new actor that allows using Cairo - to draw on a ClutterTexture; since Cairo does not have an OpenGL - backend, the drawing is not hardware accelerated. - » Clutter has a unit testing suite, based on the GLib unit test - framework, which can be used to track regressions. - » A ClutterPath object has been added, and it is used by the - BehaviourPath. The Path object allows defining paths using a set - of coordinates and operations. A Path can be "painted" either using - COGL primitives or using Cairo primitives, allowing an easier way - to paint non-rectangular shaped actors. - » ClutterInterval is a simple object, used by ClutterAnimation, that - describes an interval between two values, and interpolates between - the initial and final values of the interval. - - • List of bugs fixed since 0.8.6 - - » #835 - Optimize clutter_actor_real_pick() - » #851 - setting anchor point causes picking problem - » #883 - Outstanding COGL merge issues - » #1003 - Add clutter_actor_take_key_focus - » #1014 - Clutter Animation API Improvements. - » #1049 - Clutter doesn't support most GLSL uniforms - » #1051 - WebKit/Clutter product/component? - » #1058 - Build clutter-box2d with Clutter 0.8 - » #1066 - Clipping regression in 0.8 - » #1086 - virtualize stage_queue_redraw - » #1105 - low level access to PangoClutter - » #1106 - ClutterText instead of ClutterLabel and ClutterEntry - » #1108 - Enter/Leave events logics wrt. skipped motion events - » #1109 - clutter-0.8.0 fails to compile - » #1123 - Crash when FBO actor is used and the stage is MINIMIZED - » #1144 - Provide an option to load images asynchronously in ClutterTexture - » #1162 - Add unit testing for Clutter - » #1164 - Mesh API - » #1172 - Disjoint paths and clip to path - » #1189 - Backface culling - » #1209 - Move fixed point API in COGL - » #1210 - Add CoglColor API - » #1211 - Drop ClutterFeatureFlags usage from COGL - » #1212 - Allow only a single include file for Clutter - » #1215 - Move the Pango renderer to the public API - » #1219 - Clean up cogl.h - » #1231 - Build fails in gles flavour in revision 3442 - » #1233 - CLUTTER_ALPHA_SINE_INC is broken in trunk - » #1251 - Merge the Cairo texture actor in core - » #1252 - Merge ClutterBehaviourPath and ClutterBehaviourBspline - » #1261 - [patch] Minimize differences between gl/cogl-texture.c and - gles/cogl-texture.c - » #1269 - mingw32 building failed at clutter-media.c - » #1270 - Update to mingw-cross-compile.sh - » #1271 - mingw compiling failed: undefined reference to - `_glDrawRangeElements@24' - » #1284 - Return something reasonable from clutter_x11_handle_event() - » #1300 - clutter_score_remove and clutter_score_remove_all are different - in object remove - » #1310 - font rendering problem - » #1313 - Fix computation of camera distance - » #1314 - clutter_sinx() is more inaccurate than it needs to be - » #1321 - Get Matrix in float - » #1323 - ClutterBehaviorDepth conflicts with other behaviors - » #1325 - ClutterPath to cairo_path_t conversion functions - » #1330 - We should not queue redraw for non-visible actors - » #1334 - Default value for ClutterLabel::text should be "" instead of NULL - » #1344 - clutter_actor_transform_stage_point gives invalid coordinates - for big actors - » #1352 - Weird cogl-pango.h includes in clutter-[entry|label].c - » #1354 - Floating point exception when set fps>1000 and start timeline - » #1361 - Unused ClutterStage::get_resolution() methods - » #1365 - ClutterEntry doesn't get the cursor when it should - » #1366 - disable-npots fails to build on mac - » #1380 - Return booleans from CLUTTER_ACTOR_IS_• macros - » #1386 - Wrong clipping dimensions for larger actors - » #1387 - Clarify new-frame signal emission with advance() - » #1388 - Clarify signal emission for advance_to_marker() - » #1395 - behaviour_apply and behaviour_get_nth_actor are opposite on - actors sequence - » #1397 - clutter command line is not localized. - » #1402 - Change default tile-waste from 64 to 63 - » #1403 - ClutterMedia::get_uri() should return allocated string - » #1404 - ClutterMedia issues - » #1405 - Fix properties that have X11 types to be 'long' - » #1409 - Use G_SIGNAL_RUN_LAST with ::queue-redraw signal - » #1410 - [patch] Implements a generic ClutterActorClone class without fbos - » #1414 - avoid relayout of ClutterTexture if not syncing size - » #1415 - short-circuit setting same clip again - -Clutter 0.8.2 (25/09/2008) -=============================================================================== - - • List of changes between 0.8.0 and 0.8.2 - - » Add constructor-only properties for the :container and :actor - properties of ClutterChildMeta - » Resync the Clutter keysyms with X.org ones. - » Documentation fixes and improvements - » Allow defining ClutterColor as an object or an array inside - ClutterScript UI definitions - » Added the missing :perspective property to ClutterStage - » Fixed the upper and lower boundaries for ClutterUnit and - ClutterFixed properties - » Fix a bug that prevented disabling sorting on ClutterModel - » Fix a bug in clutter_timeline_list_markers() - » Queue a redraw when the clip is changed - » Optimize calls to push and pop the matrix when painting - » Add a variable to the pkgconfig file for extracting the - COGL backend, for configure-time checks - » Fix a typo in cogl_path_rel_curve_to() - » Fix showing the cursor after it being hidden once - » Add a function for obtaining Clutter's option group without - initializing Clutter - - • List of bugs fixed since 0.8.0 - - » #856 - Teardown sequence is borked - » #945 - Clipping+fbo cloning bugs - » #1010 - ClutterLabel does not update the layout (again) - » #1020 - TFP resyncing on MapNotify/ConfigureNotify [Andy Wingo] - » #1033 - Manually parsing command line options prevents - initializing clutter - » #1034 - Picking doesn't work on Eee PC - » #1038 - Clutter 0.8 won't build due to redefined functions - » #1044 - cogl_get_viewport error - » #1047 - API documentation from release tarball is not - installed by "make install" [Mirco Müller] - » #1048 - SIGFPE in cogl_texture_set_region() with - nvidia [Gwenole Beauchesne] - » #1062 - clutter_actor_query_coords() replacement in - 0.8 [Gwenole Beauchesne] - » #1069 - Warnings with ClutterScore - » #1071 - clutter_timeline_get_duration doesn't always work - » #1075 - Difficult to bind clutter_stage_new - » #1080 - clutter_stage_read_pixels has upside-down y coordinate - » #1082 - Texture bitmap is destroyed in wrong way - » #1085 - Cursor is in wrong position on ClutterEntry if set - x-align property - » #1090 - Label somtimes returns natural_width < min_width [Johan Bilien] - » #1091 - WM_MOUSEWHEEL (scroll-event) not handled - correctly [Roman Yazmin] - » #1099 - No ClutterScript API to get a list of IDs in a given - file [Noah Gibbs] - » #1100 - WM_SIZE not handled correctly, user_resize and - window_style correction - » #1103 - Two typos in clutter documentation - » #1121 - Setting anchor point doesn't work if set too early - » #1124 - Clutter causes an additional size request in each - allocation [Johan Bilien] - » #1125 - Save an extra pango_layout_get_size in many - cases [Johan Bilien] - » #1130 - CLUTTER_MOTION is not emitted when time goes - backwards. [Pierce Liu] - » #1137 - Setting the anchor point does not trigger a re-paint - » #1145 - Flicker on resize the window - » #1154 - clutter_timeout_pool_new() documentation doesn't say - how to free [Murray Cumming] - -Clutter 0.8.0 (10/07/2008) -=============================================================================== - - • List of changes between 0.7.6 and 0.8.0 - - » Assume that non-power-of-two sized textures are always supported - if texture-from-pixmap support is present. - - » Increase documentation coverage. - - » Disable the XINPUT support by default. - - » Improve the behaviour of clutter_actor_get_transformed_size(). - - » Fix a copy-and-paste bug which broke the vertex shaders. - - • List of bugs fixed since 0.7.6 - - » #983 - cogl-bitmap-fallback.c compiler error/warning due to cast issue - » #985 - MSC math.h / M_PI issue - » #998 - clutter always captures X input events - » #1000 - clutter-x11 should define gtypes for its enumerations - » #1004 - Fix "edge-detect" shader - » #1007 - Fix TFP fallback mechanism - » #1008 - tfp still a bit borked - » #1010 - ClutterLabel does not update the layout - » #1011 - Fix TFP fallback mechanism (take 2) - » #1012 - clutter_stage_read_pixels() has incorrect alpha data - on some (most?) cards" - » #1013 - Per device grabs are not obeyed in pointer device propagation. - » #1015 - Cloning unparented actors with FBOs doesn't work with new - layout code - » #1016 - Changing window-redirect-automatic property after creating - ClutterX11TexturePixmap doesn't work - » #1019 - clutter-frame-source.h not included by clutter.h - » #1022 - extern inline functions in clutter-fixed.h - » #1033 - Manually parsing command line options prevents initializing - Clutter - -Clutter 0.7.6 (27/06/2008) -=============================================================================== - - • List of changes between 0.7.4 and 0.7.6 - - » Removed the ClutterBackend::get_display_size() and wrappers. - - » Verify that the vertex shaders are successfully compiled when binding - them. - - » Increase safety of the ClutterGLXTexturePixmap - - • List of bugs fixed since 0.7.4 - - » #993 - Underline colors are sometimes wrong - -Clutter 0.7.4 (25/06/2008), "Killer Koi" -=============================================================================== - - • List of changes between 0.7.2 and 0.7.4 - - » Fix the ClutterEntry actor after the clip API changes in COGL. - - » Update the shaders generated for GLES 2.0. - - » Add the ability to add search paths and look up files from - ClutterScript. This allows defining directories to store the - images to be loaded by a ClutterTexture. - - » Fix the GLES 1.1 support. - - » Warn if no usable pointer device are available on X11 backends. - - » Improve the request for the best pixel format on win32. - - » Fix a regression when sizing the ClutterStage on backends that - only support fixed size stages; now setting any size will result - in Clutter ignoring the request, like it happened in Clutter 0.6. - - » Add a method to ClutterBackend to retrieve the display size. - - » Fix clutter_sinx() for angles > CFX_2PI - CFX_ONE. - - • List of bugs fixed - - » #833 - ClutterEntry should clip glyphs rather than itself - » #858 - Support for multiple devices (using XINPUT) - » #879 - sampler2DRect used by test-shader.c doen't work with non-rect textures - » #979 - Wrong call convension for SwapIntervalProc in win32 backend - » #987 - clutter-event.c c99 variable declaration - » #988 - cursor position wrong with multibyte invisible char - » #989 - Add a search path for clutter script assets - -Clutter 0.7.2 (23/06/2008), "Kedoke" -=============================================================================== - - • List of changes between 0.7.0 and 0.7.2 - - » ClutterTexture has a new :keep-aspect-ratio property; when it is set - to TRUE the texture will return a preferred width maintaining the - aspect ratio with the given height and a preferred height maintaining - the aspect ratio with the given width. This allows to set the width or - the height and have the texture automatically request the height or the - width respectively while maintaining the aspect ratio of the original - image. - - » Added XINPUT support on the X11 backends; this provides an initial - support for multiple input devices. The API is X11-specific, and - provides support for querying at run-time support for XINPUT, for - getting a list of input devices and for getting the type of each - input device. - - » The 'fruity' backend also features multiple device support. - - • List of bugs fixed - - » #816 - clutter_actor_request_coords() should take a const box. - » #836 - Optimize clutter_label_query_coords() - » #905 - Paint cursor directly - » #918 - Group doesn't clip if it's children are clipped - » #953 - Actors are not hidden before unrealized or disposed - » #960 - PangoContext creation code should not be duplicated - » #970 - clutter_actor_get_paint_area confusion - » #971 - Minor ClutterActor cleanups - » #972 - Better parenting - » #973 - unreffing ClutterScore may segfault - » #981 - clutter_stage_read_pixels temprow fix - » #982 - __COGL_GET_CONTEXT MS compiler issue - » #984 - pango_clutter_render_layout() declared void - -Clutter 0.7.0 (13/06/2008), "Booska" -=============================================================================== - - • List of changes between 0.6 and 0.7.0 - - » COGL, the underlying GL abstraction layer in Clutter, has been - completely rewritten from the ground up. Its no longer a conceptual - hack but a documented, fully featured library pretty much in its - own right. COGL abstracts over Open GL, Open GL ES 1.1 and now - OpenGL ES 2.0, providing a smart uniform API over these libraries - with various utility features such as texture tiling abstractions, - paths and primitive rendering, FBO, shaders, etc. - - » Clutter now provides an experimental backend for the Apple(tm) - iPhone and iPod Touch families of products. - - » The Windows platform is now natively supported instead of - relying on the SDL libraries. The win32 backend is still - experimental. - - » The X11 based backends now feature support for Actors that wrap - external X drawables (i.e the texture-from-pixmap extension and - fallbacks) - - » Clutter now seamlessly supports multiple stages on the backends - that allow this feature. - - » The custom Pango renderer has been completely rewritten, now using - the more modern and maintained PangoCairo (instead of FT2), and avoids - nasty subclassing hacks, supports smooth fast scaling of text, has - many edge case issues fixed and it still is very efficient (using - a texture glyph cache). It is even a little bit faster. - - » Better texture support, timeline improvements, ClutterLabel and - ClutterEntry improvements, and container child properties are among - the new features - too many to fit in the NEWS file. - - • List of bug fixes - - » #358 - "window resizing doesn't show scaled stage" - » #425 - "COGL enhancements" - » #439 - "timing related pong lockup due to timeline_rewind somtimes - being ignored by timeline_timeout_func" - » #450 - "ClutterScore API enhancements" - » #641 - "add markers to timelines" - » #666 - "Large font size leads to missing ""W"" and wrong ""J"" character" - » #713 - "texture from pixmap" - » #791 - "default actors to visible" - » #800 - "CLUTTER_ALPHA_EXP_INC overflows" - » #804 - "clutter_actor_get_opacity returns composited alpha" - » #810 - "100 % CPU load with clutter_main()" - » #815 - "Split up request - » #816 - "clutter_actor_request_coords() should take a const box." - » #822 - "Fix clutter_actor_lower()" - » #823 - "Clean-up GLism's in clutter-core (below cogl)" - » #824 - "ClutterEntry should handle its own key events" - » #825 - "Removes GLisms from clutter-main.c" - » #831 - "configure.ac missing osx flavour help" - » #834 - "add ability to set anchor in json" - » #836 - "Optimize clutter_label_query_coords()" - » #839 - "Crash if put cursor over topmost pixel" - » #840 - "Implement prepare-paint and finish-paint signals." - » #848 - "Events dispatch doesn't work in GLX Xephyr" - » #850 - "Impossible to set ClutterRectangle border opacity to a value - different from the surface opacity" - » #857 - "cogl_color doesn't work in PowerVR PC Viewer" - » #860 - "ClutterAlpha leaks" - » #864 - "Allow instantiating and subclassing of ClutterStage" - » #871 - "Two problems with closing stages" - » #873 - "clutter_x11/glx_texture_pixmap issues" - » #874 - "Clipping on GL ES" - » #875 - "Clutter Label Issues" - » #881 - "Timelines require precise system timing" - » #882 - "Allow child properties for containers implementing the - ClutterContainer interface" - » #884 - "Add clutter_alpha_set_closure" - » #889 - "Error when building clutter-ivan with eglx" - » #891 - "assertion failed when test-behave exits" - » #892 - "Incorrect results using rotation-[center|angle] properties" - » #894 - "Artifacts with the pango renderer" - » #900 - "clutter_actor_lower() and friends do not queue redraw" - » #906 - "Implement timing of the events" - » #908 - "Support transform from G_TYPE_INT to ClutterUnit" - » #909 - "OSX: missing NULL pointer handling" - » #910 - "OSX: missing memory pool" - » #911 - "OSX: add multistage support" - » #912 - "Invalid use of int• as parameter for glGetIntegerv" - » #913 - "cogl fails to build on OSX" - » #914 - "ClutterEntry is confused about characters vs. bytes" - » #915 - "clutter_entry_set_max_length(-1) misbehaves" - » #916 - "ClutterKeyEvent:unicode_value is ignored" - » #919 - "Replacement pango renderer" - » #927 - "Created ports for clutter - » #928 - "Reparenting a child that itself is a container doesn't work" - » #930 - "add support for quartz imagebackend" - » #931 - "suspicious size allocation for pixel data" - » #933 - ""X Error of failed request" when attempting to call - clutter_actor_request_coords()" - » #934 - "Update clutter-tutorial to build with clutter from svn trunk." - » #947 - "Destroying a stage is messy" - » #948 - "Remove texture rectangle support" - » #950 - "AltGr not handled" - » #951 - "Fix clutter_entry_init() in trunk" - » #952 - "Fix test-textures in trunk" - » #953 - "Actors are not hidden before unrealized or disposed" - » #955 - "ClutterLabel is missing fallback resolution handling" - » #959 - "Multiple minor improvements" - » #960 - "PangoContext creation code should not be duplicated" - » #961 - "Fails to build on OSX (query/request_coords is gone)" - » #964 - """unrealized"" signal of ClutterActor wrongly named" - -Clutter 0.6.0 (18/02/2008) -========================== - - • List of changes between 0.5.6 and 0.6.0 - - » New documentation sections inside the API reference, describing - the animation framework. - - » New API in ClutterActor for computing the actor's vertices in - the plane of a given ancestor and accessors to query whether an - actor is scaled or rotated - - • List of bug fixed - - » #613 - Extend point transformation API - » #779 - Rounding error in ClutterBehaviourScale [Havoc Pennington] - » #787 - tiled textures are broken - » #796 - segmentation fault when setting label text - -Clutter 0.5.6 (11/02/2008) -========================== - - • List of changes between 0.5.4 and 0.5.6 - - » Reverted a last minute change in the depth sorting function of - ClutterGroup. - - » Added the clutter_actor_move_anchor_point() family of functions, - which will set the anchor point at the given coordinates while - adjusting the actor postion so that the relative position of the - actor toward its parent remains the same. - - » Provide a fallback for finding the Clutter alpha functions inside - a UI definition for ClutterScript in case g_module_open() fails. - - » Add initial Frame Buffer Objects support in ClutterTexture; using - FBOs, where supported by the hardware and drivers, it's possible to - create a ClutterTexture from any actor. - - • List of bugs fixed - - » #386 - Stage is white unless a timeline is present - » #439 - timing related pong lockup due to timeline rewind... - » #440 - 1 pixel line flickering - » #442 - Shader support - » #451 - Improve font rendering quality (Pango) - » #452 - Textures are shown with distortion on Solaris/SPARC - » #526 - OSX backend - » #533 - Clutter stage is not shown under some conditions - » #540 - ClutterStage isn't always respecting requests to change size - » #549 - Backend offscreen API is broken - » #613 - Extend point transformation API - » #635 - Fix buffer overflow in clutter_texture_get_pixbuf() [Gwenole - Beauchesne] - » #643 - Superfluous "filter-quality" setting in texture_upload_data()? - [Gwenole Beauchesne] - » #689 - Rotating actor through layers does not handle opacity - correctly [Josh Stewart] - » #710 - Make "box-blur" test shader work in some way [Gwenole Beauchesne] - » #719 - X11 backend does not check window field in events [Havoc - Pennington] - » #724 - ClutterLabel reports wrong height when lines > 1 - » #749 - "reactive" property does not change - » #751 - missing XSync in clutter-event-x11.c:xembed_set_info() [Havoc - Pennington] - » #756 - clutter_actor_get_abs_size returns bogus values - » #769 - OSX backend fails to build - » #770 - OSX: passing incompatible pointer type - -Clutter 0.5.4 (25/01/2008) -========================== - - • List of changes between 0.5.2 and 0.5.4 - - » A clutter-x11-. pkg-config file is installed along - with the clutter-. and clutter--. - ones, for libraries and applications depending on the X11-based - backends (GLX and EGLX). - - » Textures are correctly unrealized before changing and freeing the - main GL context. - - » It is now possible to block the automatic call to clutter_main_quit() - when closing the stage window using the frame controls by connecting - an handler for the ::event signal on the Clutter stage and checking - for the CLUTTER_DELETE event type and returning TRUE. This allows - the usage of other main loops with GLib reactors (like Python's twisted) - with Clutter without triggering assertions by closing the stage window. - - • List of bugs fixed - - » #564 - Add more precise clutter_qdivx() [Gwenole Beauchesne] - » #614 - ClutterActor API inconsistencies - » #640 - ClutterTexture unrealized with no GL context - » #654 - Under heavy load clutter sometimes drops the last frame of - a timeline [Johan Bilien] - » #672 - Event handling in osx backend is broken [Tommi Komulainen] - » #684 - Improve test-scale by also using anchor point [Jaap A. Haitsma] - » #695 - clutter-shader: Invalid format string for - gssize [Tommi Komulainen] - » #696 - cogl_get_proc_address requires GLX [Tommi Komulainen] - » #709 - clutter_effect_scale inconsistent with clutter_actor_set_scale - » #714 - clutter_event_copy for enter/leave event generates - extra unref [Neil Roberts] - » #715 - Type errors in test-shader - » #720 - BehaviourScale not working in python after recent - API change [Josh Stewart] - -Clutter 0.5.2 (14/01/2008) -========================== - - • List of changes between 0.5.0 and 0.5.2 - - » ClutterModelDefault has been renamed to ClutterListModel - - » ClutterModel now has vector-based variants for append, prepend and - insert methods; these methods are useful for bindings - - » Add units-based variant for clutter_actor_move_by() - - • List of bugs fixed - - » #694 - Handle GLhandleARB on OS X [Tommi Komulainen] - » #700 - Fix for clutter_effect_rotate() [Neil Roberts] - -Clutter 0.5.0 (02/01/2008) -========================== - - • List of changes between 0.4.2 and 0.5.0 - - » New event handling system: every actor with the CLUTTER_ACTOR_REACTIVE - flag set will receive events from the underlying backend; the event - propagation chain will be walked in two directions (from the actor to - the top-level container and back) with the ability to block it in - both phases. - - » ClutterShader, an abstraction over the programmable OpenGL pipeline. - - » ClutterScore, an object for controlling timelines; using a score - instance is possible to start multiple timelines at once, or start - a timeline after another has emitted the ::complete signal. - - » ClutterScript, an object for parsing a scene from an external file or - a buffer; the scene is described using JSON (JavaScript Object Notation): - every object is defined using its class and properties, and container - objects can have their children defined as well. It is also possible - do describe top-level objects such as timelines and behaviours, and to - automatically connect signal handlers to signal names. - - » ClutterTimelines duration can now be set in milliseconds using the - :duration property; the default framerate will be used to compute the - actual duration in frames. The default framerate will be set by the - backend, and can be overridden by the application. - - » ClutterTimelines direction can now be set using the :direction - property; a timeline can be set to proceed forward or backward, - and the direction can also be change while the timeline is still - running. - - » New, experimental OSX backend. - - » Build environment for MS VisualStudio 2005. - - » ClutterModel, a generic list-based model object that can be used to - implement actors following the Model-Viewer-Controller design pattern. - Clutter provides a default implementation of ClutterModel, called - ClutterModelDefault and using the GSequence data structure from GLib - to optimize insertion and look up. - - » Add the ability to grab pointer and keyboard events: if an actor - is set to have a grab it'll be the only one receiving events until - it releases the grab. - - » Add the ability for an actor to receive the key focus; an actor - with key focus will always receive the key events, even if it did - not acquire the keyboard grab. - - » It is now possible to set the GL "fog" (also known as "depth cueing") - effect on the ClutterStage; if the fog is enabled, actors farther - away from the view point will fade into the stage background color. - - » Each actor now has an "anchor point", a point defined in the actor's - coordinate space that will be used as the origin when scaling and - rotation transformations. - - » Every pixel-based API has been doubled with a corresponding - ClutterUnits-based function (postfixed with a '-u'), for instance: - - clutter_actor_set_position() - clutter_actor_set_positionu() - clutter_actor_set_size() - clutter_actor_set_sizeu() - clutter_actor_set_depth() - clutter_actor_set_depthu() - - This allows sub-pixel precision and device independence. - - » The ClutterLabel actor now tries very hard to provide a sane - default size, if no bounding box has been requested; this fixes - the :alignment property and allows the addition of the :justify - property. - - » The SDL backend can now be compiled under win32 with MingW; this - backend is still marked as experimental. - - » The OSX backend allows the compilation of Clutter under OS X; this - backend is experimental. - - • List of bugs fixed - - » #423 - All actors should emit events rather than just the stage - » #424 - Interface definition files - » #443 - ClutterModel implementation - » #480 - Uninitialized variable in - path_alpha_to_position() [Gwenole Beauchesne] - » #511 - clutter_stage_get_actor_at_pos problem - » #512 - clutter window moves when stage actor is scaled - » #518 - XEMBED not supported in eglx backend - » #519 - Should have an Atom cache initialized on start up - » #520 - Delete after multibyte unicode chars in - ClutterEntry [Tommi Komulainen] - » #522 - Array out of bounds indexing [Tommi Komulainen] - » #523 - cogl portability fixes [Tommi Komulainen] - » #524 - missing config.h includes [Tommi Komulainen] - » #525 - Redundant include in cogl/gl [Tommi Komulainen] - » #531 - Extraneous "new-frame" signal generated - » #532 - clutter_actor_set_scale_with_gravityx() - precision [Gwenole Beauchesne] - » #544 - clutter_color_to_hlsx is broken [Neil Roberts] - » #546 - ClutterStageState doesn't make sense - » #550 - Wanted: Set Actor's position based on center or other - edges/corners of quadrangle - » #557 - ClutterScript should support complex properties for third - party classes - » #558 - Unmerge UI definitions - » #566 - ClutterEntry does not scroll the text to the - right [Gwenole Beauchesne] - » #577 - Inconsistent naming of behaviour properties - » #580 - Fix call to cogl_enable() [Gwenole Beauchesne] - » #582 - api naming inconsistence between - clutter_behaviour_path_append_knots and - clutter_behaviour_bspline_append - » #584 - Typo on clutter_effect_rotate_x documentation page - » #592 - Fix build on trunk [Gwenole Beauchesne] - » #596 - ClutterTexture tileing logic is a little borked - » #597 - ClutterGroups not pickable - » #600 - fix ClutterLabel layout computing when no box has been set - » #604 - Color param for Label constructor should be - const [Jonathon Jongsma] - » #606 - enable depth test in GL - » #608 - Control motion events frequency - » #614 - ClutterActor API inconsistencies - » #616 - ClutterTexture doesn't respect width set from clutterscript - » #617 - ClutterEffect Improvements - » #618 - ClutterScript name/id confusion - » #619 - clutter_behavior_rotate angle properties should accept - negative values - » #628 - clutter_actor_rotate_x() is a setter, not a modifier - » #629 - There is no clutter_actor_get_position() - » #634 - clutter_behaviour_path_new() documentation unclear - » #637 - add depth cueing support to the stage - » #645 - Fix crash in clutter_label_new_full() [Gwenole Beauchesne] - » #647 - Cannot hide the stage - » #648 - Hidden fullscreen stage doesn't come back as fullscreen - » #652 - reference needed on actor being source of last motion_event - » #661 - clutter_actor_set_width() documentation is vague - » #662 - clutter_actor_set_opacity() documentation doesn't describe values - » #665 - ClutterBehaviourEllipse tilts are broken - » #670 - Fix clutter_container_lower_child() [Gwenole Beauchesne] - » #673 - ClutterActor "captured-events" signal documentation wrong - » #674 - ClutterActor::get_depth() and set_depth() vfuncs not - used [Murray Cumming] - » #675 - update subregions of cluttertextures - » #678 - ClutterLabel size allocation still bogus - -Clutter 0.4.0 (07/08/2007) -======================== - - • List of changes between 0.3.1 and 0.4.0 - - » Many documentation additions and improvements. - - » Display DPI now honours on backends its can be queried. - - » Various big endian related fixes. - - » ClutterBehaviourEllipse and ClutterBehaviourRotate API and - internals improvements. - - » Add basic tslib support to eglnative backend (for touchscreen events) - - » clutter_stage_get_actor_at_pos should now work on 16bpp displays. - - » New ClutterEffect rotation calls. - - » Allowing user resizing of the stage now optional. - (implemented by glx backend only currently) - - » ClutterEntry UTF8 fixes and improved automatic initial sizing. - - » Make ClutterActor GInitiallyUnowned. - - » New ClutterBox API: each box has now a colour and a margin (distance - between the inner-border and the children); plus, each packed child - has a padding. Margins and paddings are expressed in ClutterUnits, - to ease the transition to the device independent units. You can use - clutter_box_set_default_padding() if you want the same padding for - each child. - - • List of bug fixed - » #390 - clutter_stage_get_actor_at_pos broken on 16bpp displays. - » #398 - inconsistent type for return value of clutter_event_get_state - » #403 - Critical error when removing texture actor - » #404 - Solaris build error with OpenGL, missing - GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB and GL_TEXTURE_RECTANGLE_ARB - » #409 - depth mismatch between visual (32) and window (24) - » #407 - metadata-available signal #ifdef'ed out - » #413 - Clutter compile error with Sun Studio C compiler - » #426 - typo in sdl_backend - » #414 - ClutterEntry invisible if size not set - » #434 - clutter_color_from_pixel incorrectly interprets alpha value - » #435 - clutter_color_subtract does the opposite of its documentation - » #436 - clutter-behaviour-depth always perform "from deep to shallow" - -Clutter 0.3.1 (06/07/2007) -======================== - - • List of changes between 0.3 and 0.3.1 - » EGL. There are now 2 experimental EGL backends; - - 'eglx', the former EGL on X11 implementation (now renamed) - - 'eglnative', a new EGL 'native' backend which supporting non - X11 EGL implementations (i.e framebuffer). - - » ClutterGroup now returns correct size when a child is removed. - - » Missing redhand.png added to distro tarball (fixing tests that require - it) - - » Fix picking in ClutterBox - - » Rectangle border creation fixed. - - » Fix overflow in Exponential Alpha funcs. - - » Many API documentation fixes and improvements. - - » ClutterEffect cleanups. - - » ClutterEntry cleanups. - - » Check for versioned XFixes library (GLX backend). - - » More X error traps in GLX backend. - -Clutter 0.3 (29/06/2007) -======================== - - • List of changes between 0.2.3 and 0.3 - » Clutter now supports both switchable windowing system and GL backends. - Window systems supported include GLX, EGL and SDL. - - GL support includes OpenGL 1.2+ and OpenGL ES 1.1. This is - provided by a small basic abstraction layer 'cogl.h'. Cogl is not - yet documented - usage external to Clutter is not yet advised. - - Backends may provide specific command line options. - - Notes; - - GLX - --- - The GLX backend is built by default and is currently the most - developed, supported and featured windowing system backend. Only - OpenGL is supported via GLX. - - SDL - --- - Clutter has experimental support for using SDL. Open GL is supported as - is OpenGL ES via Dogles (very experimental). - - EGL - --- - Clutter has experimental support for using EGL. Only Open GL ES - is supported by EGL. - - EGL support assumes an EGL implementation running atop X Windows. - - Open GL ES. - ----------- - - Clutter now has experimental support for Open GL ES. - Current known issues; - - + Unrealising a ClutterTexture will not move pixel data from video - into system memory but simply destroy it. - + BGRA, YUV Texture data not currently supported. - - (Use the clutter_feature API to probe for above at runtime) - - Open Source ES implementations this has been tested against - include `Vincent' and `dgles'. Support for commerical - implementations may require modifications to the configure.ac - script. - - vincent: http://ogl-es.sourceforge.net/ - (Also see: http://svn.o-hand.com/repos/misc/trunk/ogles/ ) - - dgles: http://developer.hybrid.fi/dgles/index.html - - » New ClutterEffect class provides a simplified (and thus less flexible) - API wrapping around behaviours, alphas and timelines. - » New Behaviours - bspline, ellipsis, rotation. - » New built in Alpha functions; - CLUTTER_ALPHA_SINE_INC - CLUTTER_ALPHA_SINE_DEC - CLUTTER_ALPHA_SINE_HALF - CLUTTER_ALPHA_SQUARE - CLUTTER_ALPHA_SMOOTHSTEP_INC - CLUTTER_ALPHA_SMOOTHSTEP_DEC - CLUTTER_ALPHA_EXP_INC - CLUTTER_ALPHA_EXP_DEC - » New Actors and interfaces - + ClutterLayout, for writing extended layout support in actors - + ClutterContainer, for generic container actors - + ClutterBox, ClutterVBox and ClutterHBox layout actors. - + ClutterEntry, text entry actor - » ClutterTexture now handles BGRA, YUV and premultiplied alpha data. - » All internal math now fixed point based. - » Clutter now has it own internal event queue. - » ClutterStage new features; - + Title property for naming in window decorations. - + Perspective setting - The stages perspective can now be modified. - » New Clutter_actor •project API calls allow for querying of tranformed - actor vertices and points. - » New Clutter Feature checks. - » Initial ClutterUnit implementation for device independant positioning. - • List of Bugs fixed - » Various issues with very poor performance and Intel drivers. - » #138 Fix typo in x rotation transform. - -Clutter 0.2.3 (2007-04-11) -========================== - - • List of changed between 0.2.2 and 0.2.3 - » Fixes to tile based textures and again clutter_texture_get_pixbuf(). [Matthew] - » Implement Gravity for ClutterScaleBehaviour. [Matthew, Rob] - -Clutter 0.2.2 (2007-03-22) -========================== - - • List of changed between 0.2.1 and 0.2.2 - » Addition of basic XEMBED support for clutter stage. [Matthew] - » Fixes to clutter_texture_get_pixbuf(). [Matthew] - » Export clutter_group_remove_all and add associated fixes. [Matthew] - -Clutter 0.2.1 (2007-02-07) -========================== - - • List of changed between 0.2.0 and 0.2.1 - » Add even faster double to integer (and back) conversion - functions. [Tomas] - » Fix some errors in the fixed point sine waveform - function. [Tomas] - » Use fixed point math in the Pango renderer. [Tomas] - » Improve the GL version check. [Matthew] - » Add a square waveform function. [Emmanuele] - • List of bugs fixed - » #215 - macro CLUTTER_MARK() not disabled for non-debug builds - -Clutter 0.2 (18-01-2007) -======================== - - • List of changes between 0.2 and 0.1 - » Bindings, GStreamer and GTK+ dependencies moved out of tree: - now Clutter strictly depends on Xlibs, OpenGL and GdkPixbuf only. - » Actors now have an initial floating reference; this means you - don't have to explicitely unref them: every memory an actor - allocates will be freed when the group containing the actor will - be destroyed. - » Add basic run-time detection of GL features. - + Use GL_TEXTURE_RECTANGLE_ARB if available. - + Attempt to set up sync to vblank (set CLUTTER_VBLANK=none to disable) - » Add API for behaviours. A ClutterBehaviour is an object which - drives a set of actors using one or more properties depending - on the value of an "alpha" function. - + Provide simple behaviours: ClutterBehaviourOpacity, - ClutterBehaviourPath and ClutterBehaviourScale. - + Provide simple alpha functions for ramps and sine waveforms. - » Add fixed point API for embedded platforms with no FPU. - » Add support for command line switches to Clutter, like debug - flags and abort on warnings; also allow application to hook up - into the initialisation sequence to add their own command line - switches. - » Add Pango GL renderer for Clutter, and use it to render text - inside the ClutterLabel actor; this decrease texture memory - usage. - » Redo Clutter Label widget, using the new Pango renderer. - » Clutter Textures do not store local pixbuf copy (of texture). - » Redo group and actor scale/sizing API and functionality. - » Add memory management API for ClutterColor, and string parsing. - • List of bug fixed - » #199 - Little group handling fix? - » #198 - Detect NPOT support on more systems - » #197 - Tiled textures are broken - » #196 - Rebuild the examples when the library changes - » #156 - clutter_actor_set_position not using the absolute size - » #155 - Don't test for XInitThreads [Bastien Nocera] - » #154 - Key presses not working in super-oh example [Bastien Nocera] - » #152 - Misc fixes [Bastien Nocera] - » #143 - Faulty ref-counting in clutter_group_remove [Frederic Riss] - » #141 - Copy-pasto in clutter_media_set_volume [Frederic Riss] - » #101 - No package 'x11' found -- wrong configure [Tomasz Torcz] - » #98 - Enabling trails in super-oh crashes - -Clutter 0.1 (22/06/2006) -======================== - - • First 'official' release, expect bugs aplenty. - • Contains: - » Hopefully enough functionality to build things. - » Basic gstreamer 0.10 video playback support. - » Fairly stable API, though in no way totally stable. - Expect CHANGES in future versions. - » Some simple examples ( also see OPT ). - » An experimental GTK-Clutter widget. - » Fairly complete Python bindings. - » Non complete but hopefully useful API documentation. - • If you want to help out see the TODO file. diff --git a/README.in b/README.in deleted file mode 100644 index 5a20e52f6..000000000 --- a/README.in +++ /dev/null @@ -1,1320 +0,0 @@ -README for Clutter @CLUTTER_VERSION@ -=============================================================================== - -Clutter is an open source software library for creating fast, compelling, -portable, and dynamic graphical user interfaces. - -REQUIREMENTS -------------------------------------------------------------------------------- - -Clutter currently requires: - - • GLib ≥ @GLIB_REQ_VERSION@ - • Cogl ≥ @COGL_REQ_VERSION@ - • JSON-GLib ≥ @JSON_GLIB_REQ_VERSION@ - • Atk ≥ @ATK_REQ_VERSION@ - • Cairo ≥ @CAIRO_REQ_VERSION@ - • PangoCairo ≥ @PANGO_REQ_VERSION@ - -When building the X11 backend, Clutter depends on the following extensions: - - • XComposite ≥ @XCOMPOSITE_REQ_VERSION@ - • XDamage - • XExt - • XInput (1.x or 2.x) - • XKB - -When building the Wayland backend, Clutter also depends on: - - • wayland-client - • xkbcommon - -When building the GDK backend, Clutter also depends on: - - • gdk-3.0 > @GDK_REQ_VERSION@ - -When building the CEx100 backend, Clutter also depends on: - - • libgdl - -When building the evdev input backend, Clutter also depends on: - - • xkbcommon - • libudev ≥ @LIBUDEV_REQ_VERSION@ - • libinput ≥ @LIBINPUT_REQ_VERSION@ - -If you are building the API reference you will also need: - - • GTK-Doc ≥ @GTK_DOC_REQ_VERSION@ - -If you are building the additional documentation you will also need: - - • xsltproc - • jw (optional, for generating PDFs) - -If you are building the Introspection data you will also need: - - • GObject-Introspection ≥ @GI_REQ_VERSION@ - -GObject-Introspection is available from: - - git://git.gnome.org/gobject-introspection - -RESOURCES -------------------------------------------------------------------------------- - -The official Clutter website is: - - http://www.clutter-project.org/ - -The API references for the latest stable release are available at: - - https://developer.gnome.org/clutter/stable/ - https://developer.gnome.org/cogl/stable/ - -The Clutter Cookbook is available at: - - https://developer.gnome.org/clutter-cookbook/ - -New releases of Clutter are available at: - - https://download.gnome.org/sources/clutter/ - -The Clutter blog is available at: - - http://www.clutter-project.org/ - -To subscribe to the Clutter mailing list and read the archives, use the -Mailman web interface available at: - - https://mail.gnome.org/mailman/listinfo/clutter-list - -New bug page on Bugzilla: - - https://bugzilla.gnome.org/enter_bug.cgi?product=clutter - -Clutter is licensed under the terms of the GNU Lesser General Public -License, version 2.1 or (at your option) later. - -BUILDING AND INSTALLATION -------------------------------------------------------------------------------- - -To build Clutter from a release tarball, the usual autotool triad should -be followed: - - $ ./configure - $ make - # make install - -To build Clutter from a Git clone, run the autogen.sh script instead -of the configure one. The autogen.sh script will run the configure script -for you, unless the NOCONFIGURE environment variable is set to a non-empty -value. - -See also the wiki page: - - https://wiki.gnome.org/Projects/Clutter - -Clutter has additional command line options for the configure script: - - --enable-debug=[no/minimum/yes] - Controls Clutter debugging level: - - yes: - All GLib asserts, checks and support for runtime Clutter - debugging notes through CLUTTER_DEBUG. This is the default - value for developers snapshots. - - minimum: - Just GType cast checks and support for runtime Clutter - debugging notes through CLUTTER_DEBUG. This is the default - for stable releases. - - no: - No GLib asserts or checks and no support for runtime Clutter - debugging notes. Only use in extreme performance and/or size - optimization cases, though it is strongly discouraged. - - --enable-maintainer-flags=[no/yes/error] - Use strict compiler flags. This defaults to 'yes' for building from - Git to 'no' for tarball releases. If 'error' is used, then -Werror - will be enabled (if available). - - --enable-gtk-doc - use gtk-doc to build API documentation (default=no). Requires gtk-doc - present on the target system. - - --enable-docs=[no/yes] - Build additional documentation. Requires xsltproc for DocBook - conversion, and optionally jw for PDF generation. - - --enable-gcov=[no/yes] - Build Clutter with coverage report support, provided by gcov. This - feature only works with the GNU Compiler Suite and gcov installed. - - --disable-tests - Disable building the Clutter tests suite. - - --disable-examples - Disable building the Clutter API reference examples. - - --enable-deprecated=[yes/no] - Whether deprecated symbols should be available when compiling Clutter. - - --disable-Bsymbolic - Disable linking with -Bsymbolic. - - --enable-x11-backend=[yes/no/check] - Enable the X11 backend. (default=check) - - --enable-win32-backend=[yes/no/check] - Enable the native Microsoft Windows backend. (default=check) - - --enable-quartz-backend=[yes/no/check] - Enable the native Quartz backend. (default=check) - - --enable-gdk-backend=[yes/no/check] - Enable the GDK backend. (default=check) - - --enable-wayland-backend=[yes/no] - Enable the Wayland client backend. (default=no) [EXPERIMENTAL] - - --enable-egl-backend=[yes/no] - Enable the EGL framebuffer backend. (default=no) - - --enable-tslib-input=[yes/no] - Enable the TSLib input backend. (default=no) [EXPERIMENTAL] - - --enable-evdev-input=[yes/no] - Enable the evdev input backend. (default=no) [EXPERIMENTAL] - -See also the INSTALL file generated by autotools for further information. - -VERSIONING -------------------------------------------------------------------------------- - -Clutter uses the common "Linux kernel" versioning system, where -even-numbered minor versions are stable and odd-numbered minor -versions are development snapshots. - -Different major versions break both API and ABI but are parallel -installable. The same major version with differing minor version is -expected to be ABI compatible with other minor versions; differing -micro versions are meant just for bug fixing. On odd minor versions -the newly added API might still change. - -The micro version indicates the origin of the release: even micro -numbers are only used for released archives; odd micro numbers are -only used on the Git repository. - -HACKING -------------------------------------------------------------------------------- - -If you want to hack on and improve Clutter check the HACKING file for -general implementation guidelines, and the HACKING.backends for -backend-specific implementation issues. - -The CODING_STYLE file contains the rules for writing code conformant to the -style guidelines used throughout Clutter. Remember: the coding style is -mandatory; patches not conforming to it will be rejected by default. - -BUGS -------------------------------------------------------------------------------- - -Bugs should be reported to the Clutter Bugzilla at: - - http://bugzilla.gnome.org/enter_bug.cgi?product=clutter - -You will need a Bugzilla account. - -In the report you should include: - - • what system you're running Clutter on; - • which version of Clutter you are using; - • which version of GLib, Cogl, and OpenGL (or OpenGL ES) you are using; - • which video card and which drivers you are using, including output of - glxinfo and xdpyinfo (if applicable); - • how to reproduce the bug. - -If you cannot reproduce the bug with one of the tests that come with Clutter -source code, you should include a small test case displaying the bad -behaviour. - -If the bug exposes a crash, the exact text printed out and a stack trace -obtained using gdb are greatly appreciated. - -CONTRIBUTING -------------------------------------------------------------------------------- - -Patches should be submitted using Bugzilla. Patches fixing a bug should be -attached to the bug report; patches for new features or for fixing bugs not -yet reported should be attached to a newly opened bug. - -Patches should always be in the unified diff format, using: - - diff -Nuarp clutter.source clutter.patched > clutter-patch.diff - -If diffing against the Git repository, you should use: - - git diff > clutter-patch.diff - -Or, better: commit locally and use `git format-patch` to generate a patch -containing authorship details, so that members of the Clutter development -team can credit your contribution properly. - -Another useful tool for interacting with Git and Bugzilla is git-bz(1): - - http://git.fishsoup.net/man/git-bz.html - -Which is available here: - - http://git.fishsoup.net/cgit/git-bz/ - -Patches submitted against Clutter have to pass the conformance test suite, or, -if possible, add new unit tests for the conformance test suite in case of new -features. Ensure you run the conformance test suite every for every patch you -wish to submit, by using: - - make -C tests/conform check - -and verifying that the whole test suite passes. - -RELEASE NOTES -------------------------------------------------------------------------------- - -Relevant information for developers with existing Clutter applications -wanting to port to newer releases (see NEWS for general information on new -features). - -Release Notes for Clutter 1.26 -------------------------------------------------------------------------------- - -• The evdev backend specific ClutterPointerConstrainCallback type was changed - to include not only the target position but also the previous position. This - is an API change, and will require a version check in any caller code. - -Release Notes for Clutter 1.24 -------------------------------------------------------------------------------- - -• ClutterModel, ClutterModelIter, and ClutterListStore have been deprecated. - You're strongly encouraged to use the GListModel interface, and the - GListStore class, as a replacement. - -• The macros used to access the state flags in ClutterActor have been - deprecated, and replaced by equivalent functions. - -• Clutter types now can be used with the `g_autoptr()` and `g_auto()` - macros provided by GLib and supported by GCC and Clang. - -• The old, non-namespaced CLUTTER_* key symbols now have an associated - deprecation warning. - -• The private, unused ClutterX11XInputEventTypes enumeration, which was - erroneously placed in the clutter-x11.h public header, has been removed. - -• The Wayland client backend is now autodetected depending on whether the - required dependencies are available. - -Release Notes for Clutter 1.22 -------------------------------------------------------------------------------- - -• The default backend for Clutter starting from this release is the GDK - backend, if Clutter was compiled with it. This allows better integration - with the underlying windowing system platform on X11 and Wayland. On - Windows and MacOS the native backends are still the preferred ones. If you - require a specific backend you should use clutter_set_windowing_backend() - with the CLUTTER_WINDOWING_* backend you require, prior to call - clutter_init(). - -• The ClutterRequestMode enumeration has a new value. Code checking for the - values of ClutterRequestMode should already be resilient to changes to this - enumerations, like for all enumerations in Clutter. - -Release Notes for Clutter 1.20 -------------------------------------------------------------------------------- - -• The clutter_stage_set_paint_callback() experimental function has been - removed from the Clutter ABI; it has been replaced by the ::after-paint - signal on the ClutterStage class. The set_paint_callback() method was - marked as "experimental", required a special definition to be usable, and - no guarantees were made on its continued existence. - -Release Notes for Clutter 1.18 -------------------------------------------------------------------------------- - -• Until 1.18, ClutterStage removed its children during its dispose() - implementation, before the default ClutterActor::destroy() implementation - would run. ClutterStage will now destroy the children when it is destroyed - to ensure that the children are destroyed, and that custom code can remove - references through the ClutterActor::destroy signal. - -• Clutter does not depend on the XFIXES extension API on X11 any more. Before - 1.18 Clutter used the XFIXES API to hide the cursor; the API is less than - useful for toolkits and applications, so Clutter unconditionally uses the - fall back code that was in place in case XFIXES was not available. - -• ClutterText emits the ::insert-text and ::delete-text signals before the - contents of the ClutterTextBuffer are changed, as documented. The signal - emission cannot be guaranteed if the ClutterTextBuffer API is used instead - of the ClutterText API. - -• Starting from 1.18, the Clutter evdev input device backend no longer uses - libevdev and libgudev directly, but relies on libinput for discovering, - reading and processing input devices. - -• The Clutter evdev input device backend was already considered - experimental and not subject to Clutter's API and ABI stabitility - guarantees. Starting from 1.18, users have to explicitly acknowldge - this by having to #define CLUTTER_ENABLE_COMPOSITOR_API to use its - public API. - -Release Notes for Clutter 1.16 -------------------------------------------------------------------------------- - -• Implicit transitions will not be created on actors that are not mapped, - unless they are in a cloned branch of the scene graph. This was never an - approved case, as ClutterActor would implicitly skip layout and paint on - unmapped actors, but now it's being enforced through the animation machinery - as well. Using explicit transitions still works, as explicit transitions - completely place the developer in charge. - -Release Notes for Clutter 1.14 -------------------------------------------------------------------------------- - -• The X11 backend (both core X events and XInput 2 backends) now mask out - scroll lock and num lock modifiers from the event state. - -Release Notes for Clutter 1.12 -------------------------------------------------------------------------------- - -• ClutterBinLayout no longer requests or allocates size for children that are - not visible, which is how the other layout managers work. - -• The expansion and alignment layout properties in all the layout managers - that provide them have been deprecated in favour of the equivalent ones - on ClutterActor; the ClutterLayoutManager implementations provided by - Clutter have been updated to honour the ClutterActor:x-expand, - ClutterActor:y-expand, ClutterActor:x-align, and ClutterActor:y-align - properties, if set. - -• Setting the ClutterActor:fixed-position-set to FALSE will reset any - currently set fixed position to (0, 0). - -• ClutterActor's margin properties are now animatable. - -• ClutterBindingActionFunc typedef now has a user_data parameter; the user - data was passed by every caller, and ClutterBindingActionFunc was not used - anywhere in the API except for documentation purposes. - -• The clutter_threads_enter() and clutter_threads_leave() functions have been - deprecated; the lead to non portable code, and encourage broken behaviour - with regards to threaded applications. The only supported, portable way of - writing Clutter application employing threads is to defer long running - operations to a worker thread, and schedule UI updates to the main loop at - well defined synchronization points. - -Release Notes for Clutter 1.10 -------------------------------------------------------------------------------- - -• The ClutterActor::paint, ClutterActor::queue-redraw, and - ClutterActor::queue-relayout signals are now annotated as not allowing - signal emission hooks; this enables some optimization inside GLib, and - given the amount of emissions these three signals have, we want to get - through all the fast paths we can. - -• The ClutterActorBox parameter of the ClutterActor::allocation-changed - signal is now marked as G_SIGNAL_TYPE_STATIC_SCOPE. - -• The clutter-stage-window.h header is not installed any more; this header - was never meant to be public in the first place, and nothing could have - been implementing the ClutterStageWindow interface and use it with Clutter. - -• ClutterActor will call its unmap() implementation when it is removed from - its parent. This may happen after the ClutterActor::destroy signal has been - emitted, i.e. during its dispose(). Prior to 1.10, calling the - clutter_actor_destroy() function would unmap the actor first, and then - emit the destroy signal. This means that extra care should be used when - overriding the map() and unmap() virtual functions, to avoid dereferencing - NULL pointers. It is also worthy of note that since Clutter 1.8, overriding - map() or unmap() is not required any more for subclasses of ClutterActor - that have children, as ClutterActor will automatically do the right thing - inside its own implementation, and map or unmap its children when needed. - -• ClutterBox and ClutterGroup have been deprecated. ClutterActor should be - used directly, instead. Since ClutterStage inherits from ClutterGroup, the - instance and class structures are still available, but subclassing Group - is strongly disencouraged. - -• ClutterContainer provides default implementations for add(), remove(), - foreach(), raise(), lower(), and sort_depth_order(); this means that - overriding these virtual functions is now deprecated, and developers - should only implement ClutterContainer for classes providing child - properties. - -• ClutterActor is not an abstract type any more, and can be instantiated - either through clutter_actor_new() or through g_object_new(). - -• ClutterActor now implements ClutterContainer, and takes over the entire API - for modifying the scene graph; this means that every actor can have children - and it's not necessary any more to implement the ClutterContainer interface. - ClutterActor provides new API to replace clutter_actor_set_parent() and - clutter_actor_unparent(), as well as a default implementation of every - Container virtual function. Existing actors overriding ClutterContainer and - providing an alternate implementation will continue to work, even though it - is strongly encouraged to port to the new API. - -• The ClutterActor::destroy signal is going to be emitted at the beginning - of the dispose sequence of a ClutterActor, instead of the end. This allows - to access the state of the actor being destroyed, instead of just being - able to use its pointer. This may expose bugs in code that does not check - for NULL actor pointers. - -• The long since broken depth cueing support in ClutterStage has been - deprecated; the fixed pipeline fog API has been pretty much useless - since the switch to colors and textures with premultiplied alpha - channels. Setting ClutterStage:use-fog to TRUE has no visible results, - and querying the :use-fog and :fog properties will always yield the - default values. - -• ClutterDeformEffect switched from using CoglVertexBuffer to using the - CoglPrimitive API internally, to improve performance and use non-deprecated - Cogl API. CoglPrimitive converts COGL_WRAP_MODE_AUTOMATIC to - COGL_WRAP_MODE_CLAMP_TO_EDGE, unlike CoglVertexBuffer which converts it to - COGL_WRAP_MODE_REPEAT. This prevents artifacts when sampling texture - coordinates outside the [ 0, 1 ] range. This change may cause the back - texture to not be painted if its coordinates go outside the allowed range, - for instance when using a custom transformation matrix on the back material - used by the ClutterDeformEffect. - -• The "default stage" has been deprecated; since the 1.0 release, the default - stage creation was deferred to the call to clutter_stage_get_default(), and - the preferred way for getting a ClutterStage was calling clutter_stage_new() - instead. On platforms that do not support multiple stages, attempting to - create more than one stage will lead to an error, and Clutter will abort. - -• Clutter can support multiple backends in the same shared library. Only one - windowing or input backend can be used at run time. As a result of this - change, the shared library name used by Clutter has changed from: - - libclutter--.so - - to: - - libclutter-.so - - The pkg-config file has been updated accordingly. Until the next major API - break, Clutter will ship compatibility links for all the previous "flavours" - that were available in versions < 1.10; this allows applications dynamically - linking against Clutter, or using dlopen(), to keep working. For libraries - and applications dynamically linking against Clutter, though, it is still - recommended to recompile to make sure that the most recent version is being - used. Language bindings using GObject Introspection will automatically use - the new shared library without requiring any change. - -• The windowing system backend for the CE3100 and CE4100 platforms using the - libgdl library is now implemented as a separate backend instance, instead - of being a sub-flavour of the EGL native framebuffer backend. This change - introduces a new header file, under $includedir/clutter-1.0/clutter/cex100, - which should be included to access the CEx100-specific API. The API and - ABI of the platform API has not been changed, though it should still be - considered experimental. - -• As of 1.10 it is not necessary any more to call clutter_threads_init() to - initialize threading support in Clutter; after the changes in GLib 2.32, - threading support in Clutter is always enabled. The rules on how to use - Clutter from multiple threads haven't changed. - -• Deprecated API is now marked using the CLUTTER_DEPRECATED and the - CLUTTER_DEPRECATED_FOR annotations; these two annotations will result in - compiler warnings when attempting to use the deprecated API. It is possible - to disable deprecation warnings for Clutter by defining the - CLUTTER_DISABLE_DEPRECATION_WARNINGS symbol when compiling. The previous - deprecation symbol, CLUTTER_DISABLE_DEPRECATED, is only used for macros. - -• Deprecated functionality has been moved to separate header files, installed - under the $includedir/clutter-1.0/clutter/deprecated directory. These files - are still included by default by clutter/clutter.h. - -Release Notes for Clutter 1.8 -------------------------------------------------------------------------------- - -• Cogl has been split out of tree. Clutter depends on Cogl, so users should - not notice anything. Developers using pkg-config will gain an extra Cogl - dependency. - -• The clutter_actor_get_gid() and clutter_get_actor_by_gid() functions have - been deprecated. They should not have been public in the first place. - -• ClutterShader and its relative API have been deprecated. ClutterShaderEffect - and the effect API is the proper way to use GLSL shaders with ClutterActors. - It is possible to instantiate a ClutterShaderEffect directly. - -• ClutterText's paint volume has been implemented using the ink rectangle of - the PangoLayout used to paint, to allow culling to work properly even in - the case of glyphs spilling outside the logical rectangle. - -• Non fully opaque children of a non fully opaque actor will be composited - in an offscreen framebuffer object to preserve the correct overall opacity. - This changes the way non fully opaque actors are drawn, and might cause - some code relying on the old, unspecified behaviour to produce different - results. - -• ClutterBoxLayout layout algorithm has been changed to map the more mature - and more stable GtkBox one. - -• The ClutterText:editable property was incorrectly defined in the GParamSpec - as being TRUE by default, but it was initialized to FALSE. To avoid breaking - existing code, the default value inside the GParamSpec (and inside the - documentation) has been changed to FALSE as well. - -• The preferred way to draw inside a ClutterCairoTexture is connecting to - its ::draw signal, and calling the invalidate() method. The old pattern - of creating the Cairo context using the create() method is deprecated but - still working as intended. - -• ClutterScore has been deprecated; the preferred way to chain up multiple - animations is to use the ClutterAnimator or ClutterState classes. - -Release Notes for Clutter 1.6 -------------------------------------------------------------------------------- - -• The internal copy of JSON-GLib has been removed: Clutter now strictly - depends on the installed copy of this library. The --with-json configure - switch has been removed. - -• The ClutterBehaviour class and its sub-classes have been deprecated; the - Clutter API reference contains a migration guide to port code based on - behaviours to the implicit animations framework. - -• The ClutterTimeoutPool and clutter_frame_source_* API have been deprecated; - both API are not integrated in the Clutter main loop, and are not used - internally any longer, so they are of relative use. - -• It it not necessary any more to provide implementations for the - ClutterActor::map() and ClutterActor::unmap() virtual functions, even - for composite actors not implementing the ClutterContainer interface. - -• ClutterTimeline now guarantees that the ::new-frame signal will be - emitted at the beginning of the timeline, as well as guaranteeing that - the ::completed signal will be emitted at the end of the timeline. - -• ClutterActor will check for the enabled property of ClutterActorMeta - instances (actions, constraints and effects), and will not invoke - ClutterActorMeta functions on disabled instances. This removes the - requirement for checking the property inside the ClutterActorMeta - sub-classes. - -• ClutterActorBox, ClutterGeometry and ClutterVertex install a progress - function for ClutterInterval, allowing the interpolation of properties - using them as storage types. - -• ClutterColor's clutter_color_from_string() function accepts CSS3 color - specifications. - -• The previously unused "axes" field in the ClutterButtonEvent, - ClutterScrollEvent and ClutterMotionEvent structures is now used on - the X11-based backends with XInput support. - -• ClutterListModel will honour the filter function when calling - clutter_model_get_iter_at_row(). - -• ClutterClickAction does not use a pointer grab any longer, and uses - a capture on the stage instead. - -• On all platforms which allow it, ClutterStage will ask the windowing - system for an explicit key focus when showing the stage window. This - can be disabled using clutter_stage_set_accept_focus(). - -Release Notes for Cogl 1.6 -------------------------------------------------------------------------------- - -• Cogl may internally optimise cogl_read_pixels when only a single - pixel is drawn and the entire scene is comprised of solid colour - rectangles. Instead of actually rendering the rectangles it will - compute the single pixel value in software. This effectively means - that Clutter can do software picking without any API changes. - -• Internally Cogl now has a GLSL backend as well as the ARBfp and - fixed function backends. By default, this backend has the lowest - priority but it can be explicitly enabled by setting the - COGL_DEBUG environment variable, e.g.: - - export COGL_DEBUG=disable-fixed,disable-arbfp - - for builds of Clutter with debug support enabled. - -• Cogl will internally now cache generated ARBfp programs so that it - should be able to reuse a previous program even if it was generated - for an unrelated CoglMaterial. This makes using one-shot materials - less expensive than before although it is still not recommended. - -Release Notes for Clutter 1.4 -------------------------------------------------------------------------------- - -• ClutterLayoutManager sub-classes overriding the set_container() virtual - function should chain up to the parent class's implementation. - -• The ClutterTexture:filename property is now readable, as well as writable; - this allows querying the Texture for the filename storing the image data. - The value will be unset when using the set_from_*_data() family of - functions. - -• If both the :sync-size and the :keep-aspect-ratio properties of a - ClutterTexture are set to TRUE, then the texture actor will update its - ClutterActor:request-mode property depending on the orientation of the - image data - height-for-width for landscape, and width-for-height for - portrait. Square image data will default to height-for-width, like all - actors. You can still explicitly override the :request-mode value, or - you can unset the :sync-size property to control the size yourself. - -• All the key symbol macros have been renamed from CLUTTER_* to - CLUTTER_KEY_*. The old names are still available inside the - clutter-keysyms-compat.h header, which is included by clutter-keysyms.h - unless CLUTTER_DISABLE_DEPRECATED is defined. - -• The internal copy of json-glib is now deprecated. Building Clutter will - default to the system copy and requires an explicit --with-json=internal - to override the check. - -Release Notes for Clutter 1.2 -------------------------------------------------------------------------------- - -* ClutterStageManager is now publicly available and documented API. - -* Clutter now depends on the system copy of JSON-GLib, and will fall - back to the internal copy only if JSON-GLib is not installed. - -* ClutterActor:opacity is now defined using GParamSpecUint instead of - GParamSpecUchar; the same interval of [ 0, 255 ] applies, and GValue - has internal transformation functions for converting between G_TYPE_UINT - and G_TYPE_UCHAR, so this change should be fully transparent to the - user of the code. - -* On X11 Clutter will emulate XKB's detectable key auto-repeat; this means - that when holding down a key, Clutter will emit multiple CLUTTER_KEY_PRESS - events and a single CLUTTER_KEY_RELEASE event instead of a list of - CLUTTER_KEY_PRESS and CLUTTER_KEY_RELEASE pairs. - -* On X11 and Win32 the default Stage is created when - clutter_stage_get_default() is called for the first time, and not as - part of the stage initialization. - -Cogl API changes for Clutter 1.2 -------------------------------------------------------------------------------- - -* cogl_viewport is now deprecated in favour of cogl_set_viewport which - accepts a viewport offset. - -* cogl_clip_push() is now deprecated and new code should use - cogl_clip_push_rectangle() instead. The old API wasn't consistent with other - Cogl APIs that specify model space rectangles using (x0,y0)(x1,y1) pairs. - -* cogl_clip_push_window_rect() is now deprecated and new code should use - cogl_clip_push_window_rectangle(). The old API shouldn't have been defined - to take floats and the abbreviation wasn't consistent with other Cogl API. - -* cogl_clip_stack_save() and cogl_clip_stack_restore() are deprecated, as - the functionality is redundant now that offscreen draw buffers own their - clip state and switching to/from offscreen rendering will automatically - save and restore the clip state. - -* cogl_material_copy() was added. It is advised that developers use - this instead of cogl_material_new() when creating a material that is in some - way derived from another. This will allow Cogl to track material - ancestries/similarities and reduce the cost of GPU state changes. - -* cogl_push_draw_buffer, cogl_set_draw_buffer and cogl_pop_draw_buffer are now - deprecated and new code should use the cogl_framebuffer_* API instead. - Code that previously did: - cogl_push_draw_buffer (); - cogl_set_draw_buffer (COGL_OFFSCREEN_BUFFER, buffer); - /* draw */ - cogl_pop_draw_buffer (); - can now be re-written as: - cogl_push_framebuffer (buffer); - /* draw */ - cogl_pop_framebuffer (); - -* All cogl__ref() and cogl__unref() functions have been - deprecated, and superceded by cogl_handle_ref() and cogl_handle_unref() - respectively. - -* The cogl_check_extension() function has been deprecated. This function - was never meant to be public, since it depends on calling glGetString() - before its invocation. Users of this function can be replaced by the - equivalent code: - - gl_ext = glGetString (GL_EXTENSIONS); - - has_ext = cogl_check_extension (ext_name, gl_ext); - + has_ext = strstr (gl_ext, ext_name) != NULL ? TRUE : FALSE; - -Release Notes for Clutter 1.0 -------------------------------------------------------------------------------- - -* The clutter_actor_set_shader_param() function now takes a - GValue, which can be set using the clutter_value_set_shader() - family of functions. The floating point wrapper has been - rename clutter_actor_set_shader_param_float() to match the newly - added clutter_actor_set_shader_param_int(). - -* The Pango renderer API has been exposed as public API, after - a full rename from PangoClutter to CoglPango, to avoid namespace - collisions with upstream Pango. The Pango font map, renderer and - glyph cache can be used by third party code and depend only on - COGL. - -* Both Clutter and COGL only allow including - and directly, respectively. This allows avoiding - breaking API every time a type definition is moved across - headers, and improves the reliability of third party code against - internal refactorings. - -* COGL has an internal Color type, used to store a color definition - that can be efficiently used with the least amount of conversions - by both the GL and GLES implementations. The COGL API has been - changed to drop the usage of ClutterColor in favour of CoglColor. - -* The fixed point API implementation Clutter uses internally has been - moved from the Clutter namespace to the COGL one. - -* ClutterLabel and ClutterEntry have been removed from the API, as - both have been superceded by the ClutterText actor. - -* ClutterCloneTexture has been removed from the API; in its place, - there is a generic ClutterClone actor which allows to "clone" - any existing actors -- even composite ones -- without using - frame buffer objects (FBOs). - -* The ClutterEffectTemplate and clutter_effect_* functions have been - superceded by ClutterAnimation and thus removed from the public API. - -* The ClutterBehaviourBspline has been superceded by the usage of - ClutterPath inside ClutterBehaviourPath, and thus removed from the - public API. - -* ClutterColor API has received a much needed review to increase its - consistency. This has led to the following changes: - - - clutter_color_parse() has been renamed to clutter_color_from_string() - and the order of the arguments has been changed - - - the factor argument of clutter_color_shade() has been swapped with - the return location for the new color - - - the fixed point entry points have been removed - - - clutter_color_from_hls() and clutter_color_to_hls() do not - normalize the values in the [ 0, 255 ] interval but use the - correct HLS intervals: - - Hue: [ 0, 360 ) - Luminance: [ 0, 1 ] - Saturation: [ 0, 1 ] - -* The ClutterFixed symbols have been completely removed: fixed-point - public entry points now take a CoglFixed. - -* The -x and -u API have been removed. All the pixel-based API now - takes a float to allow sub-pixel precision; this is true also for - properties. WARNING: functions with variadic arguments (like - g_object_set(), g_object_get() and clutter_actor_animate()) do not - behave very well when dealing with integers instead of expected - floating point values, and vice versa. On 32bit machines it will - most likely lead to a crash. So: - - g_object_set (actor, "width", 100, NULL); - - is incorrect, and should be changed in: - - g_object_set (actor, "width", 100.0, NULL); - -* Composite actors that do not implement the Container interface - should implement the following virtual functions: - - - void map (ClutterActor*) - - void unmap (ClutterActor*) - - and chain up to the parent's implementation after calling - clutter_actor_map() or clutter_actor_unmap() on their children. - -* Actors implementing the Container interface that have private - children that are not meant to be added/removed through the - Container API should implement the: - - - void foreach_with_internals (ClutterContainer*, - ClutterCallback, - gpointer); - - virtual function. - -* Actors that perform direct transformations using the COGL API inside - their paint() implementation should override the apply_transform() - virtual function instead. Implementations of the apply_transform() - vfunc must chain up to the implementation of the parent class. - -* The ClutterUnit type and the CLUTTER_UNITS_* conversion macros have - been removed: all Actors are now using sub-pixel precision directly - throughout the API. The new ClutterUnits type has been added as a - generic opaque storage for logical distance values. - -* Timelines are now fully time-based: all the frame-related properties - and methods have been removed. ClutterTimeline::new-frame will provide - the elapsed milliseconds since the beginning of the Timeline, instead - of the current frame number. The clutter_timeline_new() constructor - takes the duration of the timeline in milliseconds, and thus it replaces - the clutter_timeline_new_for_duration() variant. - -Cogl API changes for Clutter 1.0 -------------------------------------------------------------------------------- - -* All drawing functions now use a source material to determine how geometry is - filled. The source material is set via cogl_set_source. Or the convenience - functions cogl_set_source_color and cogl_set_source_texture. - - "drawing functions" include: cogl_rectangle, cogl_texture_rectangle, - cogl_texture_multiple_rectangles, cogl_texture_polygon (though the - cogl_texture_* funcs have been renamed; see below for details), - cogl_path_fill/stroke and cogl_vertex_buffer_draw*. - - cogl_texture_rectangle, cogl_texture_multiple_rectangles and - cogl_texture_polygon no longer take a texture handle; instead the current - source material is referenced. The functions have also been renamed to: - cogl_rectangle_with_texture_coords, cogl_rectangles_with_texture_coords - and cogl_polygon respectively. - - Most code that previously did: - cogl_texture_rectangle (tex_handle, x, y,...); - needs to be changed to now do: - cogl_set_source_texture (tex_handle); - cogl_rectangle_with_texture_coords (x, y,....); - - In the less likely case where you were blending your source texture with a - color like: - cogl_set_source_color4ub (r,g,b,a); /* (where r,g,b,a isn't just white) */ - cogl_texture_rectangle (tex_handle, x, y,...); - you will need your own material to do that: - material = cogl_material_new (); - cogl_material_set_color4ub (r,g,b,a); - cogl_material_set_layer (material, 0, tex_handle)); - cogl_set_source_material (material); - - Code that uses the texture coordinates, 0, 0, 1, 1 don't need to use - cogl_rectangle_with_texture_coords since these are the coordinates that - cogl_rectangle will use. - - For cogl_texture_polygon; as well as dropping the texture handle, the - n_vertices and vertices arguments were transposed for consistency. So - code previously written as: - cogl_texture_polygon (tex_handle, 3, verts, TRUE); - need to be written as: - cogl_set_source_texture (tex_handle); - cogl_polygon (verts, 3, TRUE); - -* The arguments to cogl_rectangle, cogl_path_rectangle and - cogl_path_round_rectangle have been changed - for consistency - from - x, y, width, height, to x1, y1, x2, y2. - -* A CoglMatrix type and utility API has been added; this is currently used to - support describing texture matrices. - -* cogl_alpha_func has been removed, since this is now controlled using the - material API via cogl_material_set_alpha_test_function () - -* A Cogl Vertex Buffer API has been added that allows you to efficiently - manage arrays of vertex attributes in buffers that may be stored on - the GPU. These allow you to avoid the costs of repeatedy validating - vertex data and mapping it into the GPU. - -* cogl_scale now supports scaling on the z axis - -* cogl_clip_set* and cogl_clip_unset have been renamed to cogl_clip_push and - cogl_clip_pop respectively so they self document their stacking semantics. - -* cogl_paint_init was renamed to cogl_clear and no longer disables lighting and - fogging. cogl_clear also now takes a mask of the auxiliary buffers you want - to clear so you can avoid redundant clears of buffers you aren't using. - -* cogl_fog_set was renamed to cogl_set_fog and it now takes a mode argument - giving control over the fogging blend factor equation, so that the - density argument isn't just ignored. A cogl_disable_fog function was - also added. - -* cogl_get_*_matrix were changed to use the CoglMatrix type instead of - GLfloat m[16] arrays. - -* cogl_offscreen_blit_region, cogl_offscreen_blit were removed since they were - only implemnted for GL, not GLES, and it was assumed no one was using them. - -* cogl_offscreen_new_multisample was removed since it only ever returned - COGL_INVALID_HANDLE so it wasn't usefull. - -* The COGL_MASK_BUFFER type was removed, since there should be nicer ways of - exposing color mask if anyone wants it later. It was assumed that no one was - using this currently. - -* COGLenum, COGLint and COGLuint which were simply typedefs for - GL{enum,int,uint} have been removed from the API and replaced with - specialised enum typedefs, int and unsigned int. These were causing - problems for generating bindings and also considered poor style. - -* The cogl texture filter defines CGL_NEAREST and CGL_LINEAR etc are now - replaced by a namespaced typedef 'CoglTextureFilter' so they should be - replaced with COGL_TEXTURE_FILTER_NEAREST and COGL_TEXTURE_FILTER_LINEAR etc. - -* The shader type defines CGL_VERTEX_SHADER and CGL_FRAGMENT_SHADER are handled - by a CoglShaderType typedef and should be replaced with - COGL_SHADER_TYPE_VERTEX and COGL_SHADER_TYPE_FRAGMENT. - -* cogl_shader_get_parameteriv has been replaced by cogl_shader_get_type and - cogl_shader_is_compiled. More getters can be added later if desired. - -* cogl_enable_depth_test has been renamed to cogl_set_depth_test_enabled and - a corresponding cogl_get_depth_test_enabled function has been added. - -Release Notes for Clutter 0.8 -------------------------------------------------------------------------------- - -* The COGL GL wrapper API has been completely overhauled and now - contains many new features including new greatly improved texture - abstractions (slicing, mipmapping, deformations etc, greatly - simplifying ClutterTexture), image loading and abstraction, path - based primitive drawing, clipping, and improved FBO and shader - support. It is now also fully documented. - -* GL Texture Rectangle ext is no longer used, the regular 2D NPOTS - extension is preffered instead but not required. - -* Clutter now has basic suppport for multiple input devices assuming - the backend supports it (currently X11 based via XInput and Fruity - backends). New API supporting this includes - clutter_event_get_device_id, clutter_get_input_device_for_id, - clutter_grab_pointer_for_device & clutter_ungrab_pointer_for_device. - - XInput support needs to be explicitly enabled at runtime by calling - clutter_x11_enable_xinput () before clutter_init. clutter_x11_has_xinput () - can then be called after to check if XInput extension present and use-able. - -* The functions that return the transformed position of an actor have - been renamed to be more explicit about it: - - clutter_actor_get_abs_position - clutter_actor_get_transformed_position - clutter_actor_get_abs_size - clutter_actor_get_transformed_size - - Their behaviour has not been changed. - -* To increase portability, Clutter does not strictly depend on - GdkPixbuf anymore; this means that you will have to include - yourself if you are operating with - GdkPixbuf objects and not including that header. The GdkPixbuf-based - API has been removed from Clutter core: - - clutter_texture_new_from_pixbuf - clutter_texture_set_pixbuf - clutter_texture_get_pixbuf - - are all deprecated functions. It is still possible to load a GdkPixbuf - into a ClutterTexture with this sample code: - - clutter_texture_set_from_rgb_data (texture, - gdk_pixbuf_get_pixels (pixbuf), - gdk_pixbuf_get_has_alpha (pixbuf), - gdk_pixbuf_get_width (pixbuf), - gdk_pixbuf_get_height (pixbuf), - gdk_pixbuf_get_rowstride (pixbuf), - gdk_pixbuf_get_has_alpha (pixbuf) ? 4 - : 3, - 0, - &error); - - ClutterTexture also now has a new filename property and - clutter_texture_new_from_file which is intended as an alternate to - common previous GdkPixbuf primary usage (i.e loading images from - disk). - - To read texture data back into a pixbuf or system memory use a combination - of clutter_texture_get_cogl_texture & cogl_texture_get_data. - - The clutter-gtk integration library has API for using GdkPixbuf with - ClutterTextures (among others). - - ClutterTexture now supports a keep-aspect property which is set to FALSE - by default. - -* clutter_texture_from_actor will now reparent source actors if they - are not parented. This behaviour may change in future releases. - There are known not yet fixed issues with source actors that set - depth or use clipping. - -* The size negotiation API has been completely changed in order to allow - the creation of non-fixed layout managers. These functions have been - removed: - - clutter_actor_request_coords() - clutter_actor_query_coords() - - from the ClutterActor API, as well as their virtual functions inside - the ClutterActorClass. The size of an actor is now split into two - different concepts: the preferred size (width and height - separatedly) and the size that has been allocated by the container - to which that actor belongs. Clutter still defaults to the fixed - layout management (i.e ClutterGroup) of the actors, but supports - fluid layout managers written using the new API. - - Composite actors (actors with 'private' children not implementing the - container interface) now need to implement an allocate method here pass - an allocation to any composite children. - -* Clutter now depends on PangoCairo for the font rendering. The PangoClutter - API is still considered semi-private and no guarantees are made on its - stability. - -* ClutterShader API has been slightly changed: the ClutterStage:bound - property, clutter_shader_bind() and clutter_shader_is_bound() have - been renamed to :compiled, clutter_shader_compile() and - clutter_shader_is_compiled(), respectively. The previously semi-private - clutter_shader_release_all() function is now not exported anymore. - -* ClutterStage is not an abstract type anymore: it can be instantiated - using clutter_stage_new() and it can be properly subclassed. If the - backend supports multiple stages, every stage will be a new window, - whose lifetime will have to be managed by the developer. Clutter will - still create the default stage, and guarantees that every call to - clutter_stage_get_default() will return exactly the same pointer. - -* Actors now have a new 'show-on-set-parent' property set to TRUE by - default. With this property set to TRUE, actors will automatically - have clutter_actor_show() called on them when a parent is set (i.e - added to a container). - -* Clutter now features support for multiple stages assuming supported - by the backend. See test-multistage.c for example of usage. This - does not change the automatic creation of the default stage. - A single GL context is used across all stages meaning GL resources - are shared. - -* There is now an experimental native iPod Touch/iPhone UIKit backend - named 'fruity'. - -* There is now an experimental native Win32 WGL backend. - -* COGL (and therefor Clutter) now optionally features initial support for - OpenGL ES 2.0. It features support for shaders. - -* Some more focused timeline unit tests have been added and some tweaks to - timeline semantics were made; E.g. For a 10 frame timeline here are some - points about the semantics: - - When you create a timeline it starts with current_frame_num == 0 - - After starting a timeline, the first timeout is for current_frame_num == 1 - (Notably it isn't 0 since there is a delay before the first timeout signals - so re-asserting the starting frame (0) wouldn't make sense.) - - For a non looping timeline the last timeout would be for - current_frame_num == 10 - - For a looping timeline the timeout for current_frame_num == 10 would be - followed by a timeout for current_frame_num == 1 and frame 0 is considered - == frame 10. - - Asking for a timeline of N frames might better be described as asking for - a timeline of _length_ N. - -* The behaviour of clutter_actor_get_opacity() has been slightly changed; - instead of returning the composited opacity of the entire parents chain - of an actor, clutter_actor_get_opacity() does what you mean, and returns - the opacity set with clutter_actor_set_opacity(). The composited - opacity value is now returned by clutter_actor_get_paint_opacity(). - -* Until 0.6, clutter_label_get_color() would have returned a ClutterColor - with the alpha component equal to the composited opacity of the label. - Now, clutter_label_get_color() returns a copy of the exact color set - with clutter_label_set_color(). - -* The ClutterEntry actor will automatically handle key events inside - a key-press-event handler. This deprecates the usage of - clutter_entry_handle_key_event() to update the contents of the - entry using the ClutterKeyEvent. - -* The Clutter X11 and GLX backends feature support for wrapping external - X Drawables (such as windows as pixmaps) via the 'texture_from_pixmap' GLX - extension if available and fallback to slower XGetImage copies if not. - -* ClutterContainer can have per child custom properties via ClutterChildMeta. - -Release Notes for Clutter 0.6 -------------------------------------------------------------------------------- - -* Now that every actor has events, the class signal handlers have been - removed from ClutterStageClass and moved into ClutterActorClass. - -* The CLUTTER_2BUTTON_PRESS and CLUTTER_3BUTTON_PRESS event types have been - removed in favour of the ClutterButtonEvent:click_count counter - -* X11 related called for glx and eglx backends are now shared and moved into - a clutter_x11 prefix. - -* Scaling with gravity functionality was replaced by more generic and - powerful anchor point. - -* The ClutterLayout interface, the ClutterBox and its implementations have - been moved outside Clutter core. - -* The Effects API has been simplified, and it only requires the final value - of the effect instead of both the start and end value. - -* The per-axis rotation API has been deprecated in favour of a single - pair of accessors, clutter_actor_set_rotation() and - clutter_actor_get_rotation(). - -* Every actor sub-class that is overriding the ClutterActor::request_coords() - virtual function *must* chain up to the parent's implementation in order - to store the bounding box inside the ClutterActor private data. - -* It is now impossible to call clutter_actor_destroy() on the stage. Backends - will have to unset the CLUTTER_ACTOR_IS_TOPLEVEL private flag to actually - destroy the stage. - -* The default value of the ClutterLabel:wrap property has been changed from - TRUE to FALSE. - -* All the behaviours properties have been renamed to match the $PROPERTY-start - and $PROPERTY-end convention. - -* The clutter_group_add() function has been "undeprecated" and reimplemented - as a commodity macro; a clutter_stage_add() commodity macro has also been - added. Both macros just safely wrap clutter_container_add_actor(). - -* The ClutterContainer::find_child_by_id() virtual function has been removed; - Clutter keeps track of every actor, so there's no need to recurse into - containers anymore. - -* The unused ClutterActor::set_depth() and ClutterActor::get_depth() virtual - functions have been removed. - -* It is now possible to roundtrip the string created by - clutter_color_to_string() to clutter_color_parse(). - -* The amount of motion events is now being throttled using the default frame - rate setting as the base value to compute the default and maximum frequency - of motion events to be delivered to every actor. - -* ClutterAngle usage has been removed from the public API: it is an internal - optimization, which can be used for faster angle computations; users of - ClutterAngle now take a fixed point number in form of a ClutterFixed. - -* ClutterGravity usage when scaling has been superceded by the anchor point. - -* The precision of the clutter_sqrti() algorithm has been improved for small - values. - -* ClutterBehaviourScale constructor, scale properties and accessors have - been changed to accomodate the scaling factors on both the X and Y axis, - matching the clutter_actor_set_scale() function. This also changed the - clutter_effect_scale() function, which now accepts the final scale - factor on both the X and Y axis. The gravity property has also been - removed, as it behaved incorrectly with regards to the anchor point. When - scaling an actor using a BehaviourScale, the anchor point should be set - before applying the behaviour (remember to adjust the positioning as - well by factoring in the anchor point). - -* The clutter_do_event() is now public; it can be used to feed an event to - Clutter and let it generate the capture-bubble signal emissions; it should - not be used by applications. - -* In the X11-based backends, the DestroyNotify event is not propagated to - Clutter core if the stage is using a foreign window. - -* To avoid method name collisions between ClutterActor and ClutterEntry - in high-level languages, the clutter_entry_set_position() and - clutter_entry_get_position() functions have been renamed to - clutter_entry_set_cursor_position() and clutter_entry_get_cursor_position() - respectively. - -Release Notes for Clutter 0.4.0 -------------------------------------------------------------------------------- - -* clutter_actor_show_all does not recurse for groups at least (this is to - match the original group_show_all behaviour). This is like 0.3 but was - never noted. - -* ClutterBox API has changed: clutter_box_pack_start() and - clutter_box_pack_end() have been removed in favour of the clutter_box_pack() - API. - -* Both clutter_threads_enter() and clutter_threads_leave() have been - removed from the API, as they just created confusion and the wrong - idea that Clutter is either thread-safe or thread-aware. Full - thread-awareness is arriving in the next revision (see bug #429). - -* The ClutterBehaviourRotate and ClutterBehaviourEllsipse APIs have been - overhauled. - -Release Notes for Clutter 0.3.1 -------------------------------------------------------------------------------- - -* clutter_actor_apply_transform_to_point() parameters changed to use - ClutterVertices. - -* New 'Native API' backend expects EGL implementation to provide a - CreateNativeWindow() API call. - -* Exisiting X11 based egl backend public API calls now prefixed eglx. - -Release Notes for Clutter 0.3 -------------------------------------------------------------------------------- - -* ClutterTexture changes: - + clutter_texture_set_pixbuf() now takes a GError paremeter. - + clutter_texture_upload_data has been split into two new and - more functional versions; clutter_texture_set_from_rgb_data(), - clutter_texture_set_from_yuv_data(). - -* The GLX specific API has been moved to the GLX backend code and - it's now under the ClutterGlx namespace. - -* The priority of the various users of the GLib main loop has been - reviewed and changed were necessary. Every paint is queued with a - priority of G_PRIORITY_DEFAULT + 10; timelines are allocated with - a G_PRIORITY_DEFAULT + 30 priority; events are processed with a - G_PRIORITY_DEFAULT priority. This ensures that events are processed - before the paints take place. - -* The ClutterActor::allocate_coords() has been renamed to - ClutterActor::query_coords(), in order to clarify its usage. - -* Actors overriding ClutterActor::request_coords() and - ClutterActor::query_coords() must convert sizes obtained from the - public API from pixels to ClutterUnits, using the conversion - macros found in clutter-units.h. The conversion will be necessary - until the public API will switch over to returning the generic - units too. - -* Users of Intel video cards should find that disabling sync-to-vblank - is no longer necessary. In case Clutter applications take really - long times for redrawing and appear stuck and unresponsive, the - sync-to-vblank feature might still be the culprit; in that case, use - "export CLUTTER_VBLANK=none" to disable it and file a bug reporting the - video card model, the driver version and the X server version. - -* ClutterTimeline objects now share the same timeout pool (see the - ClutterTimeoutPool API). This might cause problems with heavily - threaded libraries without integration with the GLib main loop. - If an application experiences bad behaviours during animations - use "export CLUTTER_TIMELINE=no-pool" to disable the timeout pool. - -* clutter_color_parse() now handles color definitions with alpha. Alpha - will default to fully Opaque rather than fully transparent if not specified. - -* The Clutter examples/ directory has been removed and replaced with a - tests/ directory. - -* The ClutterEvent API has been changed, and specific functions have been - removed in favour of event-agnostic ones. - -* The ClutterStage::input-event signal has been removed. All the events now - emit the ClutterStage::event and ClutterStage::event-after signals, for - generic event handling. - -* Runtime options now dependant on backend. - -* ClutterGroup API to add, remove and list children has been deprecated in - favour of ClutterContainer API. The ClutterGroup::add and - ClutterGroup::remove signals have been deprecated: - ClutterContainer::actor-added and ClutterContainer::actor-removed should - be used instead. diff --git a/README.md b/README.md deleted file mode 100644 index c02ddad6a..000000000 --- a/README.md +++ /dev/null @@ -1,155 +0,0 @@ -Clutter -======= - -What is Clutter? ----------------- - -Clutter is an open source software library for creating fast, compelling, -portable, and dynamic graphical user interfaces. - -Requirements ------------- - -Clutter currently requires: - -* [GLib](http://git.gnome.org/browse/glib) -* [JSON-GLib](http://git.gnome.org/browse/json-glib) -* [Atk](http://git.gnome.org/browse/atk) -* [Cairo](http://cairographics.org) -* [Pango](http://git.gnome.org/browse/pango) -* [Cogl](http://git.gnome.org/browse/cogl) - -On X11, Clutter depends on the following extensions: - -* XComposite -* XDamage -* XExt -* XInput 2.x -* XKB - -If you are building the API reference you will also need: - -* [GTK-Doc](http://git.gnome.org/browse/gtk-doc) - -If you are building the additional documentation you will also need: - -* xsltproc -* jw (optional, for generating PDFs) - -If you are building the Introspection data you will also need: - -* [GObject-Introspection](http://git.gnome.org/browse/gobject-introspection) - -Resources ---------- - -The official Clutter website is: - - http://www.clutter-project.org/ - -The API references for the latest stable release are available at: - - https://developer.gnome.org/clutter/stable/ - -The Clutter Cookbook is available at: - - https://developer.gnome.org/clutter-cookbook/ - -New releases of Clutter are available at: - - https://download.gnome.org/sources/clutter/ - -To subscribe to the Clutter mailing lists and read the archives, use the -Mailman web interface available at: - - https://mail.gnome.org/mailman/listinfo/clutter-list - -New bug page on Bugzilla: - - https://bugzilla.gnome.org/enter_bug.cgi?product=clutter - -Clutter is licensed under the terms of the GNU Lesser General Public -License, version 2.1 or (at your option) later: see the `COPYING` file -for more information. - -Building and Installation -------------------------- - -To build Clutter from a release tarball, the usual autotool triad should -be followed: - -1. ./configure -2. make -3. make install - -To build Clutter from a Git clone, run the `autogen.sh` script instead -of the configure one. The `autogen.sh` script will run the configure script -for you, unless the `NOCONFIGURE` environment variable is set to a non-empty -value. - -See also the [BuildingClutter][building-clutter] page on the wiki. - -Versioning ----------- - -Clutter uses the common "Linux kernel" versioning system, where -even-numbered minor versions are stable and odd-numbered minor -versions are development snapshots. - -Different major versions break both API and ABI but are parallel -installable. The same major version with differing minor version is -expected to be ABI compatible with other minor versions; differing -micro versions are meant just for bug fixing. On odd minor versions -the newly added API might still change. - -The micro version indicates the origin of the release: even micro -numbers are only used for released archives; odd micro numbers are -only used on the Git repository. - -Contributing ------------- - -If you want to hack on and improve Clutter check the `HACKING` file for -general implementation guidelines, and the `HACKING.backends` for -backend-specific implementation issues. - -The `CODING_STYLE` file contains the rules for writing code conformant to -the style guidelines used throughout Clutter. Remember: the coding style -is mandatory; patches not conforming to it will be rejected by default. - -The usual workflow for contributions should be: - -1. Fork the repository -2. Create a branch (`git checkout -b my_work`) -3. Commit your changes (`git commit -am "Added my awesome feature"`) -4. Push to the branch (`git push origin my_work`) -5. Create an [Bug][bugzilla-clutter] with a link to your branch -6. Sit back, relax and wait for feedback and eventual merge - -Bugs ----- - -Bugs should be reported to the Clutter Bugzilla at: - - https://bugzilla.gnome.org/enter_bug.cgi?product=clutter - -You will need a Bugzilla account. - -In the report you should include: - -* what system you're running Clutter on; -* which version of Clutter you are using; -* which version of GLib and OpenGL (or OpenGL ES) you are using; -* which video card and which drivers you are using, including output of - glxinfo and xdpyinfo (if applicable); -* how to reproduce the bug. - -If you cannot reproduce the bug with one of the tests that come with Clutter -source code, you should include a small test case displaying the bad -behaviour. - -If the bug exposes a crash, the exact text printed out and a stack trace -obtained using gdb are greatly appreciated. - -[building-clutter]: https://wiki.gnome.org/Projects/Clutter/Building -[bugzilla-clutter]: https://bugzilla.gnome.org/enter_bug.cgi?product=clutter diff --git a/autogen.sh b/autogen.sh deleted file mode 100755 index 61c3b46f5..000000000 --- a/autogen.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh -# Run this to generate all the initial makefiles, etc. - -test -n "$srcdir" || srcdir=`dirname "$0"` -test -n "$srcdir" || srcdir=. - -olddir=`pwd` - -cd $srcdir -PROJECT=Clutter -TEST_TYPE=-f -FILE=clutter/clutter.h - -test $TEST_TYPE $FILE || { - echo "You must run this script in the top-level $PROJECT directory" - exit 1 -} - -# GNU gettext automake support doesn't get along with git. -# https://bugzilla.gnome.org/show_bug.cgi?id=661128 -touch -t 200001010000 po/clutter-1.0.pot - -GTKDOCIZE=`which gtkdocize` -if test -z $GTKDOCIZE; then - echo "*** No GTK-Doc found, please install it ***" - exit 1 -fi - -AUTORECONF=`which autoreconf` -if test -z $AUTORECONF; then - echo "*** No autoreconf found, please install it ***" - exit 1 -fi - -# NOCONFIGURE is used by gnome-common -if test -z "$NOCONFIGURE"; then - if test -z "$*"; then - echo "I am going to run ./configure with no arguments - if you wish " - echo "to pass any to it, please specify them on the $0 command line." - fi -fi - -rm -rf autom4te.cache - -gtkdocize || exit $? -autoreconf --force --install --verbose || exit $? - -cd "$olddir" -test -n "$NOCONFIGURE" || "$srcdir/configure" "$@" diff --git a/build/clutter-build-setup.sh b/build/clutter-build-setup.sh deleted file mode 100644 index 2029bd2cf..000000000 --- a/build/clutter-build-setup.sh +++ /dev/null @@ -1,173 +0,0 @@ -#!/bin/sh -# -# Copyright (C) 2010, Intel Corp. -# -# Modified version of gnome-shell-build-setup.sh for building Clutter -# and its dependencies using jhbuild -# -# Copyright (C) 2008, Red Hat, Inc. -# -# Some ideas and code taken from gtk-osx-build -# -# Copyright (C) 2006, 2007, 2008 Imendio AB -# - -# Pre-check on GNOME version - -release_file= - -if which lsb_release > /dev/null 2>&1; then - system=`lsb_release -is` - version=`lsb_release -rs` -elif [ -f /etc/fedora-release ] ; then - system=Fedora - release_file=/etc/fedora-release -elif [ -f /etc/SuSE-release ] ; then - system=SUSE - release_file=/etc/SuSE-release -elif [ -f /etc/mandriva-release ]; then - system=MandrivaLinux - release_file=/etc/mandriva-release -fi - -if [ x$release_file != x ] ; then - version=`sed 's/[^0-9\.]*\([0-9\.]\+\).*/\1/' < $release_file` -fi - -if test x$system = xUbuntu -o x$system = xDebian -o x$system = xLinuxMint ; then - reqd="" - if [ ! -x /usr/bin/dpkg-checkbuilddeps ]; then - echo "Please run 'sudo apt-get install dpkg-dev' and try again." - echo - exit 1 - fi - for pkg in \ - build-essential curl \ - automake bison flex gettext git-core gnome-common gtk-doc-tools \ - libjasper-dev libjpeg-dev libpng-dev libstartup-notification0-dev libtiff-dev \ - libgl1-mesa-dev libxml2-dev mesa-common-dev mesa-utils \ - python-dev python-gconf python-gobject \ - libgstreamer0.10-dev gstreamer0.10-plugins-base gstreamer0.10-plugins-good \ - ; do - if ! dpkg-checkbuilddeps -d $pkg /dev/null 2> /dev/null; then - reqd="$pkg $reqd" - fi - done - if test ! "x$reqd" = x; then - echo "Please run 'sudo apt-get install $reqd' and try again." - echo - exit 1 - fi -fi - -if test x$system = xFedora ; then - reqd=" - binutils curl gcc gcc-c++ make - automake bison flex gettext git gnome-common gnome-doc-utils intltool - libtool pkgconfig jasper-devel libffi-devel libjpeg-devel - libpng-devel libtiff-devel libwnck-devel mesa-libGL-devel - python-devel pygobject2 libXdamage-devel libxml2-devel - gstreamer-devel gstreamer-plugins-base gstreamer-plugins-good - glx-utils - " - - if expr $version \>= 14 > /dev/null ; then - reqd="$reqd gettext-autopoint" - fi - - for pkg in $reqd ; do - if ! rpm -q $pkg > /dev/null 2>&1; then - missing="$pkg $missing" - fi - done - if test ! "x$missing" = x; then - gpk-install-package-name $missing - fi -fi - -if test x$system = xSUSE ; then - reqd="" - for pkg in \ - curl \ - bison flex gnome-doc-utils-devel \ - xorg-x11-proto-devel xorg-x11-devel xorg-x11 xorg-x11-server-extra \ - ; do - if ! rpm -q $pkg > /dev/null 2>&1; then - reqd="$pkg $reqd" - fi - done - if test ! "x$reqd" = x; then - echo "Please run 'su --command=\"zypper install $reqd\"' and try again." - echo - exit 1 - fi -fi - -if test x$system = xMandrivaLinux ; then - reqd="" - for pkg in \ - curl \ - bison flex gnome-common gnome-doc-utils gtk-doc intltool \ - libwnck-1-devel GL-devel \ - libxdamage-devel mesa-demos \ - ; do - if ! rpm -q --whatprovides $pkg > /dev/null 2>&1; then - reqd="$pkg $reqd" - fi - done - if test ! "x$reqd" = x; then - gurpmi --auto $reqd - fi -fi - -SOURCE=$HOME/Source -BASEURL=http://git.gnome.org/browse/clutter/plain/build - -if [ -d $SOURCE ] ; then : ; else - mkdir $SOURCE - echo "Created $SOURCE" -fi - -if [ -d $SOURCE/jhbuild ] ; then - if [ -d $SOURCE/jhbuild/.git ] ; then - echo -n "Updating jhbuild ... " - ( cd $SOURCE/jhbuild && git pull --rebase > /dev/null ) || exit 1 - echo "done" - else - echo "$SOURCE/jhbuild is not a git repository" - echo "You should remove it and rerun this script" - exit 1 - fi -else - echo -n "Checking out jhbuild into $SOURCE/jhbuild ... " - cd $SOURCE - git clone git://git.gnome.org/jhbuild > /dev/null || exit 1 - echo "done" -fi - -echo "Installing jhbuild..." -(cd $SOURCE/jhbuild && make -f Makefile.plain DISABLE_GETTEXT=1 bindir=$HOME/bin install >/dev/null) - -if [ -e $HOME/.jhbuildrc ] ; then - if grep JHBUILDRC_GNOME_SHELL $HOME/.jhbuildrc > /dev/null ; then : ; else - mv $HOME/.jhbuildrc $HOME/.jhbuildrc.bak - echo "Saved ~/.jhbuildrc as ~/.jhbuildrc.bak" - fi -fi - -echo -n "Writing ~/.jhbuildrc ... " -curl -L -s -o $HOME/.jhbuildrc $BASEURL/jhbuildrc-clutter -echo "done" - -if [ ! -f $HOME/.jhbuildrc-custom ]; then - echo -n "Writing example ~/.jhbuildrc-custom ... " - curl -L -s -o $HOME/.jhbuildrc-custom $BASEURL/jhbuildrc-custom-example - echo "done" -fi - -if test "x`echo $PATH | grep $HOME/bin`" = x; then - echo "PATH does not contain $HOME/bin, it is recommended that you add that." - echo -fi - -echo "Done." diff --git a/build/clutter-uncrustify.cfg b/build/clutter-uncrustify.cfg deleted file mode 100644 index 2d41298d2..000000000 --- a/build/clutter-uncrustify.cfg +++ /dev/null @@ -1,129 +0,0 @@ -newlines lf - -input_tab_size 8 -output_tab_size 8 - -string_escape_char 92 -string_escape_char2 0 - -# indenting -indent_columns 2 -indent_with_tabs 0 -indent_align_string True -indent_brace 2 -indent_braces false -indent_braces_no_func True -indent_func_call_param false -indent_func_def_param false -indent_func_proto_param false -indent_switch_case 0 -indent_case_brace 2 -indent_paren_close 1 - -# spacing -sp_arith Add -sp_assign Add -sp_enum_assign Add -sp_bool Add -sp_compare Add -sp_inside_paren Remove -sp_inside_fparens Remove -sp_func_def_paren Force -sp_func_proto_paren Force -sp_paren_paren Remove -sp_balance_nested_parens False -sp_paren_brace Remove -sp_before_square Remove -sp_before_squares Remove -sp_inside_square Remove -sp_after_comma Add -sp_before_comma Remove -sp_after_cast Add -sp_sizeof_paren Add -sp_not Remove -sp_inv Remove -sp_addr Remove -sp_member Remove -sp_deref Remove -sp_sign Remove -sp_incdec Remove -sp_attribute_paren remove -sp_macro Force -sp_func_call_paren Force -sp_brace_typedef add -sp_cond_colon add -sp_cond_question add -sp_defined_paren remove - -# alignment -align_keep_tabs False -align_with_tabs False -align_on_tabstop False -align_number_left True -align_func_params True -align_var_def_span 0 -align_var_def_amp_style 1 -align_var_def_colon true -align_enum_equ_span 0 -align_var_struct_span 2 -align_var_def_star_style 2 -align_var_def_amp_style 2 -align_typedef_span 2 -align_typedef_func 0 -align_typedef_star_style 2 -align_typedef_amp_style 2 - -# newlines -nl_assign_leave_one_liners True -nl_enum_leave_one_liners False -nl_func_leave_one_liners False -nl_if_leave_one_liners False -nl_end_of_file Add -nl_assign_brace Remove -nl_func_var_def_blk 1 -nl_fcall_brace Add -nl_enum_brace Remove -nl_struct_brace Force -nl_union_brace Force -nl_if_brace Force -nl_brace_else Force -nl_elseif_brace Force -nl_else_brace Add -nl_for_brace Force -nl_while_brace Force -nl_do_brace Force -nl_brace_while Force -nl_switch_brace Force -nl_before_case True -nl_after_case False -nl_func_type_name Force -nl_func_proto_type_name Remove -nl_func_paren Remove -nl_func_decl_start Remove -nl_func_decl_args Force -nl_func_decl_end Remove -nl_fdef_brace Force -nl_after_return False -nl_define_macro False -nl_create_if_one_liner False -nl_create_for_one_liner False -nl_create_while_one_liner False -nl_after_semicolon True -nl_multi_line_cond true - -# mod -mod_full_brace_for Remove -mod_full_brace_if Remove -mod_full_brace_while Remove -mod_full_brace_do Remove -mod_full_brace_nl 3 -mod_paren_on_return Remove - -# line splitting -#code_width = 78 -ls_for_split_full True -ls_func_split_full True - -# positioning -pos_bool Trail -pos_conditional Lead diff --git a/build/clutter.modules b/build/clutter.modules deleted file mode 100644 index 2d1db74e0..000000000 --- a/build/clutter.modules +++ /dev/null @@ -1,529 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - libxml-2.0.pc - - - - - libxslt.pc - - - - - - - - - - - - - - - - - - - - rarian.pc - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fontconfig.pc - - - - - - - - pixman-1.pc - - - - - - cairo.pc - - - - - - - - - - - - - - cogl-1.0.pc - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - liboil-0.3.pc - - - - - - - gudev-1.0.pc - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/build/gen-changelog.pl b/build/gen-changelog.pl deleted file mode 100755 index e0fc8d9b1..000000000 --- a/build/gen-changelog.pl +++ /dev/null @@ -1,148 +0,0 @@ -#!/usr/bin/perl - -use strict; -use warnings; - -use Text::Wrap; -use Pod::Usage; -use Getopt::Long; -use POSIX qw( strftime ); - -$Text::Wrap::columns = 74; - -# git commands -our $GIT_LOG = 'git log --pretty=format:"%at|%an|<%ae>|%h|%s"'; -our $GIT_DIFF_TREE = 'git diff-tree --name-only -r'; - -my $help; -my $result = GetOptions( - "h|help" => \$help, -); - -pod2usage(1) if $help; - -our $revs = $ARGV[0] or undef; - -my $log_cmd = $GIT_LOG; -$log_cmd .= ' ' . $revs if defined $revs; - -open my $git_log, '-|', $log_cmd - or die("Unable to invoke git-log: $!\n"); - -while (<$git_log>) { - my $log_line = $_; - - chomp($log_line); - - my ($timestamp, $committer, $email, $commit_hash, $subject) = - split /\|/, $log_line, 5; - - # use a shorter date line - my $date = strftime("%Y-%m-%d", localtime($timestamp)); - - print STDOUT $date, " ", $committer, " ", $email, "\n\n"; - - # list the file changes - if ($commit_hash) { - my $diff_cmd = $GIT_DIFF_TREE . " " . $commit_hash; - - open my $git_diff, '-|', $diff_cmd - or die("Unable to invoke git-diff-tree: $!\n"); - - while (<$git_diff>) { - my $diff_line = $_; - - chomp($diff_line); - - next if $diff_line =~ /^$commit_hash/; - print STDOUT "\t* ", $diff_line, ":\n"; - } - - close($git_diff); - } - else { - print STDOUT "\t* *:\n"; - } - - print STDOUT "\n"; - - # no need to use the full body, the subject will do - if (defined $subject) { - $subject =~ s/\t//g; - - print STDOUT wrap("\t", "\t", $subject), "\n"; - } - - print STDOUT "\n"; -} - -close($git_log); - -0; -__END__ - -=pod - -=head1 NAME - -gen-changelog - Creates a ChangeLog from a git log - -=head1 SYNOPSIS - - gen-changelog - -=head1 DESCRIPTION - -B is a small Perl script that reads the output of git log -and creates a file using the GNU ChangeLog format. It should be used when -creating a tarball of a project, to provide a full log of the changes to -the users. - -=head1 OPTIONS - -=over 4 - -=item -h, --help - -Prints a brief help message - -=item EsinceE..EuntilE - -Show only commits between the named two commits. When either EsinceE -or EuntilE is omitted, it defaults to `HEAD`, i.e. the tip of the -current branch. For a more complete list of ways to spell EsinceE -and EuntilE, see "SPECIFYING REVISIONS" section in git rev-parse. - -=back - -=head1 CAVEATS - -B is very simple and should be tweaked to fit your use case. -It does fit the author's, but he'll gladly accept patches and requests. - -=head1 EXAMPLES - -=over 4 - -=item Print the full log and redirect it to a file - - gen-changelog > ChangeLog - -=item Print the changelog of the local changes - - gen-changelog origin..HEAD - -=back - -=head1 AUTHOR - -Emmanuele Bassi Eebassi (at) gnome.orgE - -=head1 COPYRIGHT AND LICENSE - -Copyright (C) 2009 Emmanuele Bassi - -This program is free software. It can be distributed and/or modified under -the terms of Perl itself. See L for further details. - -=cut diff --git a/build/jhbuildrc-clutter b/build/jhbuildrc-clutter deleted file mode 100644 index 3bc639dfe..000000000 --- a/build/jhbuildrc-clutter +++ /dev/null @@ -1,73 +0,0 @@ -# -*- mode: python -*- -# -# jhbuildrc for building Clutter. Customizations shuld be done in -# ~/.jhbuildrc-custom -# -# Copyright (C) Intel Corp. -# -# Based on the gnome-shell variant -# -# Copyright (C) 2008 Red Hat, Inc. -# -# Some ideas and a bit of code taken from gtk-osx-build -# -# Copyright (C) 2006, 2007, 2008 Imendio AB -# -# Use .jhbuildrc-custom to override the moduleset, modules to build, -# the source checkout location, installation prefix, or svn usernames -# etc. -# -# JHBUILDRC_CLUTTER - Do not edit this line (or anything else) - -# Only rebuild modules that have changed -build_policy = 'updated' - -moduleset = 'http://git.gnome.org/browse/clutter/plain/build/clutter.modules' - -modules = [ 'meta-clutter' ] - -# what directory should the source be checked out to? -checkoutroot = os.path.expanduser('~/clutter/source') - -# the prefix to configure/install modules to (must have write access) -prefix = os.path.expanduser('~/clutter/install') - -# Use system libraries for the builds -#addpath('PKG_CONFIG_PATH', os.path.join(os.sep, 'usr', 'lib', 'pkgconfig')) -#addpath('PKG_CONFIG_PATH', os.path.join(os.sep, 'usr', 'share', 'pkgconfig')) - -# Look in /usr/share for icons, D-BUS service files, etc -addpath('XDG_DATA_DIRS', os.path.join(os.sep, 'usr', 'share')) -# Look in /etc/xdg for system-global autostart files -addpath('XDG_CONFIG_DIRS', os.path.join(os.sep, 'etc', 'xdg')) - -# -# For Ubuntu Intrepid, libmozjs lives in /usr/lib/xulrunner- -# However, that path isn't in ld.so.conf, meaning that it's basically -# impossible to use the xulrunner .pc files and libraries. Work around -# this by deriving the path and adding it to LD_LIBRARY_PATH ourself. -# -import re -import subprocess -_pkgconfig = subprocess.Popen(['pkg-config', '--variable=sdkdir', 'mozilla-js'], - stdout=subprocess.PIPE) -_sdkdir = _pkgconfig.communicate()[0].strip() -_pkgconfig.wait() -if _pkgconfig.returncode == 0: - _libdir = re.sub('-(sdk|devel)', '', _sdkdir) - if os.path.exists(_libdir + '/libmozjs.so'): - addpath('LD_LIBRARY_PATH', _libdir) - -# Rebuild faster -os.environ['INSTALL'] = os.path.expanduser('~/bin/install-check') - -# Use the standard system bus -os.environ['DBUS_SYSTEM_BUS_ADDRESS'] = 'unix:path=/var/run/dbus/system_bus_socket' - -# Import optional user RC for further customization. You can override -# the prefix or default build setup for example, or CFLAGS or -# module_autogenargs, etc. -# -_userrc = os.path.join(os.environ['HOME'], '.jhbuildrc-custom') -if os.path.exists(_userrc): - execfile(_userrc) diff --git a/build/jhbuildrc-custom-example b/build/jhbuildrc-custom-example deleted file mode 100644 index bb988082a..000000000 --- a/build/jhbuildrc-custom-example +++ /dev/null @@ -1,19 +0,0 @@ -# -*- mode: python -*- - -# The username for repositories can be overridden. -# -#repos["git.gnome.org"] = "ssh://@git.gnome.org/git/" -#repos["git.clutter-project.org"] = "ssh://git@git.clutter-project.org/" - -# Directory where to check sources out -# -#checkoutroot = '/opt/clutter/source' - -# Directory where to install -# -#prefix = '/opt/clutter/install' - -# Work around http://bugzilla.gnome.org/show_bug.cgi?id=571240 if -# your 'install' program is somewhere other than /usr/bin/install -# (affects: Arch Linux) -#installprog = 'bin/install' diff --git a/clutter.doap b/clutter.doap deleted file mode 100644 index 309500456..000000000 --- a/clutter.doap +++ /dev/null @@ -1,93 +0,0 @@ - - - - Clutter - clutter - - - A toolkit for creating fast, portable, compelling dynamic UIs - - 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. - - - - - - - - C - - - - Emmanuele Bassi - - ebassi - - - - - - Neil Roberts - - nroberts - - - - - - Robert Bragg - - rbragg - - - - - - Matthew Allum - - - - - - - Emmanuele Bassi - - ebassi - - - - - - Neil Roberts - - nroberts - - - - - - Robert Bragg - - rbragg - - - - - - Øyvind Kolås - - - - - - - - - - - - diff --git a/configure.ac b/configure.ac index 00bae3006..f7690b4cc 100644 --- a/configure.ac +++ b/configure.ac @@ -821,7 +821,6 @@ dnl =========================================================================== AC_CONFIG_FILES([ Makefile - README build/Makefile build/autotools/Makefile