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