profile/ivi/clutter.git
16 years ago * tests/test-shader.c: Fixed to use sampler2D instead of
Neil Roberts [Fri, 6 Jun 2008 15:00:12 +0000 (15:00 +0000)]
* tests/test-shader.c: Fixed to use sampler2D instead of
sampler2DRect now that GL_TEXTURE_RECTANGLE support is disabled in
revision 2834. The ClutterTexture actor now has the
'disable-slicing' property set. The distance in texture
coordinates between pixels is passed in as a uniform so that the
box-blur shader can still work.

16 years ago2008-06-06 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Fri, 6 Jun 2008 14:56:08 +0000 (14:56 +0000)]
2008-06-06  Emmanuele Bassi  <ebassi@openedhand.com>

Bug #952 - Fix test-textures in trunk

* tests/test-textures.c: Use USE_GDKPIXBUF instead of
USE_PIXBUF. (#952, Gwenole Beauchesne)

16 years agoFix ChangeLog attribution
Emmanuele Bassi [Fri, 6 Jun 2008 14:49:08 +0000 (14:49 +0000)]
Fix ChangeLog attribution

16 years ago2008-06-06 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Fri, 6 Jun 2008 14:45:43 +0000 (14:45 +0000)]
2008-06-06  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-entry.c (clutter_entry_init): Remove a
variable shadowing another one. (Tommi Komulainen)

16 years ago2008-06-06 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Fri, 6 Jun 2008 14:44:49 +0000 (14:44 +0000)]
2008-06-06  Emmanuele Bassi  <ebassi@openedhand.com>

Bug #955 - ClutterLabel is missing fallback resolution handling

* clutter/clutter-label.c (clutter_label_init): Handle
clutter_backend_get_resolution() return value -1 similar to
ClutterEntry (falling back to 96.0). (#955, Tommi Komulainen)

16 years ago * clutter/eglnative/clutter-stage-egl.c
Neil Roberts [Fri, 6 Jun 2008 14:21:22 +0000 (14:21 +0000)]
* clutter/eglnative/clutter-stage-egl.c
(clutter_stage_egl_realize): Use ES 2 renderable type when
building for GLES 2.

* clutter/eglnative/clutter-event-egl.c (get_backend_time): Added
a NULL for the microseconds parameter of g_timer_elapsed.

* clutter/eglnative/clutter-stage-egl.h:
* clutter/eglnative/clutter-egl.h:
* clutter/eglnative/clutter-backend-egl.h: Include
clutter-egl-headers.h instead of including the GL headers directly
so it can include gl2.h when building for GLES 2.

* clutter/eglnative/clutter-egl-headers.h:
* clutter/eglnative/Makefile.am (libclutter_eglnative_la_SOURCES):
Added clutter-egl-headers.h

* clutter/cogl/gles/cogl-fixed-fragment-shader.glsl: GLES 2
doesn't provide a default precision for floats in the fragment
shader and it will reject the shader if there isn't one.

16 years ago2008-06-06 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Fri, 6 Jun 2008 13:44:22 +0000 (13:44 +0000)]
2008-06-06  Matthew Allum  <mallum@openedhand.com>

        Bug #948 - Remove texture rectangle support

        * clutter/clutter-feature.c:
        * clutter/clutter-feature.h:
        * clutter/clutter-texture.c:
        * clutter/cogl/gl/cogl.c:
* clutter/glx/clutter-glx-texture-pixmap.c:
        Remove support for GL_TEXTURE_RECTANGLE_ARB (now using just regular
        2D textures, with optional npots extension). Simplifys code, + makes
        mipmap & shader support much more sane.

16 years agoamend changelog message
Øyvind Kolås [Fri, 6 Jun 2008 13:00:48 +0000 (13:00 +0000)]
amend changelog message

16 years ago* clutter/cogl/common/cogl-bitmap-pixbuf.c:
Øyvind Kolås [Fri, 6 Jun 2008 12:53:35 +0000 (12:53 +0000)]
* clutter/cogl/common/cogl-bitmap-pixbuf.c:
(_cogl_bitmap_from_file): allocate height×rowstride and not duplicate
gdkpixbuf's strange optimization saving some bytes at the end of the
pixbuf.

16 years agocogl: define GL_READ/DRAW_FRAMEBUFFER_EXT if not available
Tommi Komulainen [Thu, 5 Jun 2008 21:40:59 +0000 (21:40 +0000)]
cogl: define GL_READ/DRAW_FRAMEBUFFER_EXT if not available

Bug 913 - cogl fails to build on OSX

* clutter/cogl/gl/cogl-fbo.c: define GL_READ_FRAMEBUFFER_EXT and
GL_DRAW_FRAMEBUFFER_EXT if not defined in the build system. The
#ifdef can fail if they're not #defines but variables or enums.
As the values are supposed to be industry standard even then
it shouldn't have ill effects.

16 years agoOSX: add multistage support
Tommi Komulainen [Thu, 5 Jun 2008 21:27:58 +0000 (21:27 +0000)]
OSX: add multistage support

Bug #911 - OSX: add multistage support

* clutter/osx/clutter-backend-osx.{c,h}
(clutter_backend_osx_init_stage, clutter_backend_osx_get_stage,
clutter_backend_osx_redraw, clutter_backend_osx_create_stage,
clutter_backend_osx_ensure_context, clutter_backend_osx_class_init,
clutter_backend_osx_dispose, ClutterGLView:drawRect:):
* clutter/osx/clutter-stage-osx.{c,h} (clutter_stage_osx_realize,
ClutterGLWindow:setFrameSize:):
Adapt to new multistage backend API. Don't keep a pointer to
default stage. Derive from ClutterActor instead of ClutterStage.
Implement ClutterStageWindow interface. Paint, resize and
otherwise manipulate the wrapper rather than self when necessary.

(clutter_backend_post_parse): Create our singleton GL context
here. We could probably create the context when the default
stage is created, but I think this is more clean.

* clutter/osx/clutter-event-osx.c (clutter_event_osx_translate)
* clutter/osx/clutter-stage-osx.c (clutter_stage_osx_state_update,
ClutterGLWindow:windowShouldClose:):
* clutter/osx/clutter-stage-osx.h: Export ClutterGLWindow interface
for clutter-event-osx.c to easily get the stage for NSWindow.
Fill in ClutterEventAny::stage on our events.

Consistently use 'stage_osx' and 'wrapper' as variable names
when referring to ClutterStageOSX and ClutterStage objects
respectively.

16 years agoOSX: add missing memory pool wrapup
Tommi Komulainen [Thu, 5 Jun 2008 21:27:28 +0000 (21:27 +0000)]
OSX: add missing memory pool wrapup

Bug #910 - OSX: missing memory pool

* clutter/osx/clutter-backend-osx.c (clutter_backend_osx_redraw):
Add missing memory pool wrapup.

16 years agoOSX: handle gracefully NULL title
Tommi Komulainen [Thu, 5 Jun 2008 20:10:00 +0000 (20:10 +0000)]
OSX: handle gracefully NULL title

Bug #909 - OSX: missing NULL pointer handling

* clutter/osx/clutter-stage-osx.c (ClutterGLWindow,
clutter_stage_osx_set_title): NSString:stringWithUTF8String:
does not accept NULL values, use empty string ("") instead.
Avoids potential crash.

16 years ago2008-06-05 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Thu, 5 Jun 2008 15:07:51 +0000 (15:07 +0000)]
2008-06-05  Emmanuele Bassi  <ebassi@openedhand.com>

* tests/Makefile.am:
* tests/test-paint-wrapper.c: Add a test case (merely, a copy
of test-actors.c) that verifies that handlers to the ::paint
signal are called in the right order.

16 years ago2008-06-05 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Thu, 5 Jun 2008 14:32:18 +0000 (14:32 +0000)]
2008-06-05  Emmanuele Bassi  <ebassi@openedhand.com>

Bug #840 - Implement prepare-paint and finish-paint signals.

* clutter/clutter-actor.c:
(clutter_actor_class_init): Add the ::paint, ::realize and
::unrealize signals to ClutterActor. It is possible to
override the paint, realization and unrealization of an
actor without subclassing it. The ::paint signal handlers
have the same limitations of a ClutterActor::paint implementation
inside a subclass.

(clutter_actor_realize),
(clutter_actor_unrealize),
(clutter_actor_paint): Emit the signals instead of calling
the functions from the class vtable.

16 years ago2008-06-05 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Thu, 5 Jun 2008 13:23:29 +0000 (13:23 +0000)]
2008-06-05  Emmanuele Bassi  <ebassi@openedhand.com>

* ChangeLog-ivan: Remove the ChangeLog of the clutter-ivan
branch; the branch already contains it.

16 years ago2008-06-05 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Thu, 5 Jun 2008 12:05:19 +0000 (12:05 +0000)]
2008-06-05  Matthew Allum  <mallum@openedhand.com>

        * clutter/glx/clutter-glx-texture-pixmap.h:
        Actually export clutter_glx_texture_pixmap_using_extension ()

16 years ago * clutter/clutter-entry.c:
Chris Lord [Thu, 5 Jun 2008 10:05:01 +0000 (10:05 +0000)]
    * clutter/clutter-entry.c:
        Correct the documentation for clutter_entry_set_max_length, fixes bug
        #915.

16 years ago2008-06-04 Robert Bragg <bob@o-hand.com>
Robert Bragg [Wed, 4 Jun 2008 16:02:40 +0000 (16:02 +0000)]
2008-06-04  Robert Bragg  <bob@o-hand.com>

* tests/test-clip.c:
Removes a spurious #include <gdk-pixbuf/gdk-pixbuf.h> which may not
be found if using --with-imagebackend=internal

16 years ago2008-06-04 Robert Bragg <bob@o-hand.com>
Robert Bragg [Wed, 4 Jun 2008 15:20:07 +0000 (15:20 +0000)]
2008-06-04  Robert Bragg  <bob@o-hand.com>

* configure.ac:
Checks that for pangocairo >= 1.18, since
pangocairo-font.c uses pango_cairo_font_get_scaled_font which isn't
otherwise available.

16 years agoUpdate git ignore file
Emmanuele Bassi [Wed, 4 Jun 2008 13:06:44 +0000 (13:06 +0000)]
Update git ignore file

16 years ago Applied patch from bug #947
Neil Roberts [Tue, 3 Jun 2008 20:15:11 +0000 (20:15 +0000)]
Applied patch from bug #947

* clutter/clutter-stage.c (clutter_stage_get_default): Don't grab
the floating reference when creating the default stage. The stage
manager will take a reference to it so it will behave as any other
stage.
(clutter_stage_new): Don't take the floating reference to the new
stage but let the stage manager keep it instead.

* clutter/clutter-stage-manager.c
(_clutter_stage_manager_add_stage): Take a reference to the stage
when it is added to the list.
(_clutter_stage_manager_remove_stage): Unref the stage when it is
removed from the list.
(clutter_stage_manager_dispose): Keep track of the 'next' pointer
as a separate variable so we can cope when the stage being
destroyed removes itself from the list as the list is being
iterated.

* clutter/clutter-actor.c (clutter_actor_destroy): Take a
reference at the beginning of the function even if there is no
parent container so that overall the reference count is not
changed when the actor is unref'd again at the bottom of the
function. Previously it would have a net effect of leaving the
reference count alone unless it is a top level actor in which case
it would unref it.

16 years ago2008-06-03 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Tue, 3 Jun 2008 16:25:17 +0000 (16:25 +0000)]
2008-06-03  Matthew Allum  <mallum@openedhand.com>

        * clutter/glx/clutter-glx-texture-pixmap.c:
        Dont always fallback to x11 (slow) updates for a single
        failed pixmap.
        Minor cleanups.
        * clutter/x11/clutter-x11-texture-pixmap.c:
        Move shm allocation to only area updates.

16 years ago* clutter/clutter-container.c: (container_get_child_property):
Øyvind Kolås [Tue, 3 Jun 2008 10:49:49 +0000 (10:49 +0000)]
* clutter/clutter-container.c: (container_get_child_property):
s/g_object_set_property/g_object_get_property/

16 years ago * clutter/pango/pangoclutter-glyph-cache.c
Neil Roberts [Mon, 2 Jun 2008 16:02:31 +0000 (16:02 +0000)]
* clutter/pango/pangoclutter-glyph-cache.c
(pango_clutter_glyph_cache_set): When creating a new band, make
sure the texture is wide enough for the glyph, not just tall
enough.

16 years ago Applied 'final patch' from bug #874
Neil Roberts [Mon, 2 Jun 2008 12:34:10 +0000 (12:34 +0000)]
Applied 'final patch' from bug #874

* clutter/cogl/gles/cogl.c:
* clutter/cogl/gl/cogl.c: The clip planes are now set using the
inverse projection matrix as the modelview matrix so that they can
be specified in screen coordinates.

* clutter/cogl/gles/cogl-context.h (CoglContext):
* clutter/cogl/gl/cogl-context.h (CoglContext): Added a member to
cache the inverse projection matrix

* clutter/clutter-fixed.h: Added a constant for converting from
radians to degrees.

* clutter/clutter-fixed.c (clutter_atani, clutter_atan2i): Added
fixed-point versions of atan and atan2.

* tests/test-clip.c: Added a test for clipping with various
rotations and depths.

* tests/Makefile.am (noinst_PROGRAMS): Added test-clip

16 years ago * clutter/cogl/gles/cogl-gles2-wrapper.h: The uniform numbers are
Neil Roberts [Mon, 2 Jun 2008 10:58:57 +0000 (10:58 +0000)]
* clutter/cogl/gles/cogl-gles2-wrapper.h: The uniform numbers are
now stored in a separate struct so they can be stored for
application program objects as well.

* clutter/cogl/gles/cogl.c: Moved stub shader functions into
separate files.
(_cogl_features_init): Report support for the shaders feature on
GLES 2

* clutter/cogl/gles/cogl-shader.h:
* clutter/cogl/gles/cogl-shader.c:
* clutter/cogl/gles/cogl-program.h:
* clutter/cogl/gles/cogl-program.c: Separate files to handle
shaders on programs on GLES. If version 1.1 is being used then the
stub functions which all fail are still used.

* clutter/cogl/gles/cogl-gles2-wrapper.c
(cogl_gles2_wrapper_init, cogl_gles2_wrapper_bind_attributes),
(cogl_gles2_wrapper_get_uniforms): Move the uniforms and attribute
bindings into a separate function so they can be used to bind on
application shaders as well.
(cogl_gles2_wrapper_update_matrix): Now takes a parameter and is
no longer static so that it can be used to update all of the
matrices when a new shader is bound.

* clutter/cogl/gles/cogl-defines.h.in: Use GL_COMPILE_STATUS for
CGL_OBJECT_COMPILE_STATUS if the latter isn't available (for
example on GLES 2).

* clutter/cogl/gles/cogl-context.h (CoglContext): Added handle
arrays for programs and shaders.

* clutter/cogl/gles/cogl-context.c (cogl_create_context)
(cogl_destroy_context): Initialize and destroy program and shader
handle array.

* clutter/cogl/gles/Makefile.am (libclutter_cogl_la_SOURCES): Add
cogl-{shader,program}.{c,h}

16 years ago * clutter/cogl/gl/cogl-context.c (cogl_destroy_context): Fix
Neil Roberts [Mon, 2 Jun 2008 09:35:43 +0000 (09:35 +0000)]
* clutter/cogl/gl/cogl-context.c (cogl_destroy_context): Fix
cut-and-paste error where the wrong arrays were being freed.

16 years ago2008-06-01 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Sun, 1 Jun 2008 19:57:42 +0000 (19:57 +0000)]
2008-06-01  Emmanuele Bassi  <ebassi@openedhand.com>

Merge from clutter-0-6:

* clutter/clutter-model.c:
(clutter_model_iter_set_internal_valist): Add an internal function
wrapping ClutterModelIter::set_value that does not emit the
::row-changed signal. Emitting this signal before the ::row-added
one is wrong: a row cannot change before being inserted.

(clutter_model_append), (clutter_model_prepend),
(clutter_model_insert): Use the non-signal emitting variant of
clutter_model_iter_set_valist().

(clutter_model_iter_set_valist): Use the internal version and emit
the ::row-changed signal at the end.

16 years ago2008-05-31 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Sat, 31 May 2008 17:09:40 +0000 (17:09 +0000)]
2008-05-31  Emmanuele Bassi  <ebassi@openedhand.com>

Bug #943 - Signals are only emitted within a certain area of
           the stage

* clutter/clutter-main.c (clutter_do_event): Use the proper
API and not the macros for the default stage, in case we are
using a backend supporting multiple stages. (Julian Aron Prenner)

16 years ago2008-05-30 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Fri, 30 May 2008 16:48:32 +0000 (16:48 +0000)]
2008-05-30  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/pango/pangoclutter-fontmap.c:
* clutter/pango/pangoclutter-renderer.c:
* clutter/pango/pangoclutter.h
* clutter/pango/pangoclutter-private.h: Add a function retrieving
the font mipmapping setting.

16 years ago * clutter/cogl/gles/cogl-gles2-wrapper.h (CoglGles2Wrapper): Added
Neil Roberts [Thu, 29 May 2008 13:29:04 +0000 (13:29 +0000)]
* clutter/cogl/gles/cogl-gles2-wrapper.h (CoglGles2Wrapper): Added
uniforms for alpha testing.

* clutter/cogl/gles/cogl-gles2-wrapper.c
(cogl_gles2_wrapper_init): Get the uniforms for alpha testing
settings.
(cogl_wrap_glEnable, cogl_wrap_glDisable): Enable/disable alpha
testing.
(cogl_wrap_glAlphaFunc): Filled in the wrapper.

* clutter/cogl/gles/cogl-fixed-fragment-shader.glsl: Added alpha
testing.

* clutter/cogl/gles/cogl-gles2-wrapper.h:
* clutter/cogl/gles/cogl-gles2-wrapper.c
(cogl_wrap_glGetIntegerv): Added a wrapper for glGetIntegerv so
that it can report zero clip planes.

* clutter/cogl/gles/cogl.c:
* clutter/cogl/gles/cogl-texture.c: Use the wrapped version of
glGetIntegerv

* clutter/cogl/gles/cogl-primitives.c (_cogl_path_fill_nodes): Use
_cogl_features_available to check for the stencil buffer instead
of an #ifdef. The stencil buffer is available in the default
profile for the GLES 2 simulator.

16 years ago2008-05-29 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Thu, 29 May 2008 09:28:24 +0000 (09:28 +0000)]
2008-05-29  Emmanuele Bassi  <ebassi@openedhand.com>

* configure.ac: Check the --with switches as soon as we have them,
to avoid further checks that will fail anyway.

16 years ago2008-05-29 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Thu, 29 May 2008 09:27:21 +0000 (09:27 +0000)]
2008-05-29  Emmanuele Bassi  <ebassi@openedhand.com>

* README: Update the configure arguments list.

16 years ago * clutter/cogl/gles/cogl-gles2-wrapper.c
Neil Roberts [Wed, 28 May 2008 17:14:17 +0000 (17:14 +0000)]
* clutter/cogl/gles/cogl-gles2-wrapper.c
     (cogl_gles2_wrapper_init): Get uniforms for fog parameters and
     initialise them.
     (cogl_wrap_glDrawArrays): Store the modelview matrix in a uniform
     as well so that it can be used for fogging calculations.
     (cogl_wrap_glEnable, cogl_wrap_glDisable): Enable/disable fogging.
     (cogl_wrap_glFogx, cogl_wrap_glFogxv): Fill in wrapper to set
     fogging parameters.

     * clutter/cogl/gles/cogl-fixed-vertex-shader.glsl: Calculate the
     fog amount if fogging is enabled.

     * clutter/cogl/gles/cogl-fixed-fragment-shader.glsl: Mix with fog
     color.

     * clutter/cogl/gles/cogl-gles2-wrapper.h (CoglGles2Wrapper): Add
     uniforms for fogging.

16 years ago2008-05-28 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 28 May 2008 14:14:56 +0000 (14:14 +0000)]
2008-05-28  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/pango/pangoclutter-font.c: Remove unneeded file.

* tests/Makefile.am:
* tests/test-random-text.c: Add a test for checking the
glyph cache.

16 years agoForgot GlyphCache implementation
Emmanuele Bassi [Wed, 28 May 2008 14:09:22 +0000 (14:09 +0000)]
Forgot GlyphCache implementation

16 years ago2008-05-28 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 28 May 2008 14:03:28 +0000 (14:03 +0000)]
2008-05-28  Emmanuele Bassi  <ebassi@openedhand.com>

Bug #919 - Replacement pango renderer (Neil Roberts)

* clutter/clutter-backend.h:
* clutter/clutter-backend.c:
(clutter_backend_set_font_options),
(clutter_backend_get_font_options): Add the ability to set
the cairo_font_options_t* for the backend at construction
time, so that backend implementations can have their own
options.

* clutter/clutter-color.c: Include pango/pango-attributes.h
for the pango_color_parse() function.

* clutter/clutter-label.c:
(clutter_label_ensure_layout),
(clutter_label_init), (clutter_label_set_text),
(clutter_label_set_font_name), (clutter_label_set_ellipsize),
(clutter_label_set_use_markup): Ensure that the cache is
always primed when the Label changes; this makes sure that
the cache is rebuilt outside the paint run, which should
make the painting perform better especially on embedded
devices.

* clutter/clutter-entry.c:
(clutter_entry_ensure_layout),
(clutter_entry_init), (clutter_entry_set_text),
(clutter_entry_set_font_name): Ditto as above.

* clutter/clutter-private.h:
* clutter/clutter-main.[ch]: Create the font-map inside the
main context; add two new functions:

  clutter_clear_glyph_cache()
  clutter_set_use_mipmapped_text()

that control the glyphs cache.

* clutter/pango/Makefile.am:
* clutter/pango/pangoclutter-fontmap.c:
* clutter/pango/pangoclutter-private.h:
* clutter/pango/pangoclutter-render.c:
* clutter/pango/pangoclutter.h: Rewrite the Pango renderer
using a PangoCairo context and saving the glyphs inside a
more efficient cache.

* configure.ac: Depend on pangocairo instead of pangoft2.

16 years ago2008-05-28 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 28 May 2008 13:48:11 +0000 (13:48 +0000)]
2008-05-28  Emmanuele Bassi  <ebassi@openedhand.com>

Bug 882 - Allow child properties for containers implementing the
          ClutterContainer interface (Øyvind Kolås)

* clutter/clutter-child-meta.[ch]: Base class for the metadata
of a ClutterActor inside a ClutterContainer; the ChildMeta
object implements a wrapper for storing data that is attached
to a ClutterActor only when it's part of a ClutterContainer.
The ChildMeta object is used to store the child properties
accessible through the ClutterContainer API.

* clutter/clutter-container.[ch]: Creates the ChildMeta for
each actor, in case the Container specifies the ChildMeta
type to use.

* clutter/Makefile.am: Add clutter-child-meta.[ch] to the build.

* clutter/clutter-marshal.list: Add the marshaller for the
ClutterContainer::child-notify signal.

* clutter/clutter-types.h: Declare ClutterContainer and
ClutterChildMeta to avoid recursive inclusion.

16 years ago * clutter/cogl/gles/Makefile.am: Use old-style Makefile rules for
Neil Roberts [Wed, 28 May 2008 13:17:03 +0000 (13:17 +0000)]
* clutter/cogl/gles/Makefile.am: Use old-style Makefile rules for
the stringify script so that automake won't complain.

16 years ago2008-05-28 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 28 May 2008 12:20:54 +0000 (12:20 +0000)]
2008-05-28  Emmanuele Bassi  <ebassi@openedhand.com>

* tests/test-script.c:
* tests/test-script.json: Test merging the same actor from two
different sources.

16 years agoCommit ChangeLog for the previous revision
Emmanuele Bassi [Wed, 28 May 2008 12:19:24 +0000 (12:19 +0000)]
Commit ChangeLog for the previous revision

16 years ago2008-05-28 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 28 May 2008 12:09:41 +0000 (12:09 +0000)]
2008-05-28  Emmanuele Bassi  <ebassi@openedhand.com>

Fix merging of objects with the same id.

* clutter/clutter-script.c:
(json_object_end): If there already is an ObjectInfo under the
parsed id, merge the construction with the currently stored
state.

(parse_children), (parse_signals),
(parse_behaviours): Append the newly parsed children, signals
and behaviours, in case the ObjectInfo already has unresolved
items.

(clutter_script_construct_object): Fix a typo in the type check.

(clutter_script_init): Do not copy the key inside the hash
table holding the objects - we are already holding it inside
the value.

16 years ago * clutter/cogl/gles/cogl-gles2-wrapper.c (cogl_wrap_glGetFixedv):
Neil Roberts [Wed, 28 May 2008 11:29:58 +0000 (11:29 +0000)]
* clutter/cogl/gles/cogl-gles2-wrapper.c (cogl_wrap_glGetFixedv):
Filled in the wrapper for glGetFixedv

16 years ago * clutter/cogl/gles/cogl-texture.c: Use the wrapper for
Neil Roberts [Wed, 28 May 2008 10:47:21 +0000 (10:47 +0000)]
* clutter/cogl/gles/cogl-texture.c: Use the wrapper for
glTexParameteri. Call glGenerateMipmap after every change to the
texture image data.

* clutter/cogl/gles/cogl-gles2-wrapper.h:
* clutter/cogl/gles/cogl-gles2-wrapper.c: Added a wrapper for
glTexParameteri so that it can ignore requests to set
GL_GENERATE_MIPMAP. Added a wrapper for glGenerateMipmap that does
nothing on GLES 1

16 years ago2008-05-28 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 28 May 2008 09:03:49 +0000 (09:03 +0000)]
2008-05-28  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-script.c:
(clutter_script_construct_object): Mark top-level objects,
that is objects that don't have their ownership transferred
when building up a ClutterScript.

(object_info_free): Merge a fix from the stable branch, but
do not check the type - check whether the object is a top
level (we still need the ClutterActor type check in order to
call clutter_actor_destroy()).

16 years ago2008-05-28 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 28 May 2008 08:58:44 +0000 (08:58 +0000)]
2008-05-28  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-rectangle.c:
(clutter_rectangle_paint): Remove commented out call to
cogl_enable(); the call is not needed and the comment is
in C99.

16 years ago GLES 2 backend
Neil Roberts [Tue, 27 May 2008 17:42:50 +0000 (17:42 +0000)]
GLES 2 backend

* clutter/eglx/clutter-stage-egl.h:
* clutter/eglx/clutter-egl-headers.h:
* clutter/eglx/clutter-backend-egl.h:
* clutter/eglx/Makefile.am: Include the GLES and EGL headers via
clutter-egl-headers.h so that the right version can be used
depending on whether the GLES 2 wrapper is being used.

* configure.ac: Added an automake conditional for whether the GLES
2 wrapper should be used.

* clutter/eglx/clutter-stage-egl.c (clutter_stage_egl_realize):
Remove the call to glGetIntegerv to get the max texture size. It
was being called before the GL context was bound so it didn't work
anyway and it was causing trouble for the GLES 2 simulator.

* clutter/cogl/gles/stringify.sh: Shell script to convert the
shaders into a C string.

* clutter/cogl/gles/cogl-gles2-wrapper.h:
* clutter/cogl/gles/cogl-gles2-wrapper.c: Wrappers for most of the
missing GL functions in GLES 2.

* clutter/cogl/gles/cogl-fixed-fragment-shader.glsl:
* clutter/cogl/gles/cogl-fixed-vertex-shader.glsl: New shaders for
GLES 2

* clutter/cogl/gles/cogl-defines.h.in: Use the @CLUTTER_GL_HEADER@
macro instead of always using the GLES 1 header.

* clutter/cogl/gles/cogl-context.h (CoglContext): Include a field
for the state of the GLES 2 wrapper.

* clutter/cogl/gles/cogl-texture.c:
* clutter/cogl/gles/cogl-primitives.c:
* clutter/cogl/gles/cogl.c: Use wrapped versions of the GL
functions where neccessary.

* clutter/cogl/gles/Makefile.am: Add sources for the GLES 2
wrapper and an extra build step to put the GLSL files into a C
string whenever the files change.

16 years ago2008-05-26 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Mon, 26 May 2008 20:55:53 +0000 (20:55 +0000)]
2008-05-26  Matthew Allum  <mallum@openedhand.com>

        * clutter/x11/clutter-stage-x11.c: (clutter_stage_x11_request_coords):
        Dont allow the window to be resize to 0 dimentions. (fixes #933)

16 years ago2008-05-23 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Fri, 23 May 2008 15:23:40 +0000 (15:23 +0000)]
2008-05-23  Emmanuele Bassi  <ebassi@openedhand.com>

Bug #912 - Invalid use of int* as parameter for glGetIntegerv

* clutter/cogl/gl/cogl.c (_cogl_features_init): Use GLint
instead of int. (#912, Tommi Komulainen)

16 years ago2008-05-23 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Fri, 23 May 2008 09:42:32 +0000 (09:42 +0000)]
2008-05-23  Emmanuele Bassi  <ebassi@openedhand.com>

Bug #928 - Reparenting a child that itself is a container
doesn't work

* clutter/clutter-actor.c (clutter_actor_set_parent): Realize
an actor when setting its parent, if the parent is realized.

* clutter/clutter-group.c:
(clutter_group_realize), (clutter_group_class_init): Add the
missing implementation of the ::realize() virtual function; this
makes sure that the children of a Group are realized if the Group
is realized. (#928)

16 years ago * clutter/cogl/gl/cogl.c (error_string):
Neil Roberts [Wed, 21 May 2008 13:20:33 +0000 (13:20 +0000)]
* clutter/cogl/gl/cogl.c (error_string):
* clutter/cogl/gles/cogl.c (error_string): Rename to
_cogl_error_string and remove the static scoping so that it can be
called in cogl-texture etc.

* clutter/cogl/gl/cogl-texture.c (cogl_texture_new_from_foreign):
* clutter/cogl/gles/cogl-texture.c (cogl_texture_new_from_foreign):
GE(*) can't be used to wrap around calls that use the return
value.

* clutter/cogl/gl/cogl-texture.c (_cogl_texture_quad_sw)
(_cogl_texture_quad_hw, cogl_texture_polygon): Remove GE(*)
wrapper around calls in the middle of a glBegin/glEnd pair which
otherwise always generate an error because glGetError can only be
called outside of the pair.

* clutter/cogl/gl/cogl-internal.h: Include stdio.h when definig
COGL_DEBUG and declare a prototype for _cogl_error_string.

* clutter/cogl/gles/cogl-internal.h: Match GE(*) macro to GL
version.

16 years ago * clutter/cogl/gles/cogl-texture.c:
Ivan Leben [Wed, 21 May 2008 10:00:08 +0000 (10:00 +0000)]
* clutter/cogl/gles/cogl-texture.c:
(_cogl_texture_download_from_gl:) Only comment out the broken
check for framebuffer alpha bits, not the check for alpha in
texture format.

16 years agoDecouple actor opacity from fill opacity in ClutterRectangle (fixes
Øyvind Kolås [Tue, 20 May 2008 16:05:57 +0000 (16:05 +0000)]
Decouple actor opacity from fill opacity in ClutterRectangle (fixes
race when both are set from clutter script also makes it more
consistent with the behavior of other actors.)
* clutter/clutter-rectangle.c: (clutter_rectangle_set_color): stop
setting the opacity of the actor from the specified color.
(clutter_rectangle_paint): combine the absolute opacity of the actor
with the alpha of the color when painting.

16 years ago * clutter/cogl/gles/cogl-texture.c:
Ivan Leben [Tue, 20 May 2008 10:37:36 +0000 (10:37 +0000)]
* clutter/cogl/gles/cogl-texture.c:
(cogl_texture_download_from_gl:) Implemented a workaround
for missing alpha framebuffer channel. There are still
some issues with detecting whether alpha is present in the
framebuffer. See comments in code. Test-cogl-tex-getset now
successfully retrieves a RGBA texture image data.

16 years ago * clutter/cogl/gles/cogl-texture.c:
Ivan Leben [Mon, 19 May 2008 15:21:56 +0000 (15:21 +0000)]
* clutter/cogl/gles/cogl-texture.c:
(cogl_texture_download_from_gl:) Store old blending factors
and restore them when done. The lack of ability to retrieve
the alpha channel now more noticable in test-cogl-tex-getset
since the edges of the hand are not antialiased.

* clutter/cogl/gl(es)/cogl-internal.h: Declare
cogl_blend_func to avoid "implicit implementation" compile
warning.

16 years ago * clutter/cogl/gl(es)/cogl.c: New internal function
Ivan Leben [Mon, 19 May 2008 15:02:27 +0000 (15:02 +0000)]
* clutter/cogl/gl(es)/cogl.c: New internal function
cogl_blend_func caches blending setup much like cogl_enable
does with the enable flags. This separates blending factors
setup from the enable/disable operation in preparation of
the texture image retrieval fix for alpha channel on GLES.
(cogl_enable:) Does not modify blending factors anymore.

* clutter/cogl/gl(es)/cogl-context.h: CoglContext holds two
new variables to cache blending src and dst factors.

* clutter/cogl/gl(es)/cogl-context.c:
(cogl_create_context:) Initialize blending factors.

* clutter/cogl/gles/cogl-texture.c:
(cogl_texture_download_from_gl:) Set blending factors to
CGL_ONE, CGL_ZERO which fixes the slighlty improper behavior
where source colour was actually multiplied with its alpha
value in the result (not noticable on current tests).

16 years ago2008-05-19 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Mon, 19 May 2008 14:21:24 +0000 (14:21 +0000)]
2008-05-19  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/eglx/Makefile.am: Fix the INCLUDE directives to
properly include the X11 backend headers.

* clutter/glx/Makefile.am: Add the libclutter-x11.la static
library to the LDADD directives.

16 years ago2008-05-19 Tomas Frydrych <tf@openedhand.com>
Tomas Frydrych [Mon, 19 May 2008 12:27:26 +0000 (12:27 +0000)]
2008-05-19  Tomas Frydrych  <tf@openedhand.com>

    * clutter/x11/clutter-x11.h:
    * clutter/glx/clutter-glx.h:
    Include texture pixmap headers.

16 years ago * clutter/eglx/clutter-stage-egl.c (clutter_stage_egl_realize):
Neil Roberts [Fri, 16 May 2008 15:40:49 +0000 (15:40 +0000)]
* clutter/eglx/clutter-stage-egl.c (clutter_stage_egl_realize):
Fix name of parent class variable which otherwise breaks the
build.

16 years ago Use the Mesa headers instead of depending on GLee for Win32
Neil Roberts [Fri, 16 May 2008 11:09:59 +0000 (11:09 +0000)]
Use the Mesa headers instead of depending on GLee for Win32
builds.

* configure.ac: No longer check for GLee

* clutter/cogl/gl/cogl-defines.h.in: Don't bother including GLee.h

* build/mingw/mingw-cross-compile.sh: No longer downloads libGLee
but downloads the Mesa library instead and installs the headers
from that. Fixed the libpng version.

16 years ago2008-05-16 Tomas Frydrych <tf@openedhand.com>
Tomas Frydrych [Fri, 16 May 2008 10:50:29 +0000 (10:50 +0000)]
2008-05-16  Tomas Frydrych  <tf@openedhand.com>

    * clutter/glx/Makefile.am:
    * clutter/x11/Makefile.am:
    Install glx and x11 specific includes into clutter/glx and
    clutter/x11 so that header files that include glx/*.h or x11/*.h
    when installed.

16 years ago * clutter/win32/clutter-event-win32.c (message_translate): Fix
Neil Roberts [Fri, 16 May 2008 09:47:37 +0000 (09:47 +0000)]
* clutter/win32/clutter-event-win32.c (message_translate): Fix
signedness of old_xpos and old_ypos to get rid of compiler
warnings.

* clutter/win32/clutter-backend-win32.c
(clutter_backend_win32_get_features): Cast the result of
glGetString to a signed char pointer to avoid compiler warnings.

16 years ago * clutter/win32/clutter-stage-win32.c:
Neil Roberts [Thu, 15 May 2008 22:03:22 +0000 (22:03 +0000)]
* clutter/win32/clutter-stage-win32.c:
* clutter/win32/clutter-backend-win32.c: Reflect changes to the
GLX/X11 backend in revisions 2708-2709 and 2713-2715 which
simplify the backend a little.

16 years agoFix bug reference in the ChangeLog
Emmanuele Bassi [Thu, 15 May 2008 14:43:30 +0000 (14:43 +0000)]
Fix bug reference in the ChangeLog

16 years ago2008-05-15 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Thu, 15 May 2008 14:40:44 +0000 (14:40 +0000)]
2008-05-15  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-sections.txt: Update with new symbols.

16 years ago2008-05-15 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Thu, 15 May 2008 14:31:43 +0000 (14:31 +0000)]
2008-05-15  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/x11/clutter-backend-x11.c:
* clutter/clutter-event.h:
* clutter/clutter-feature.h:
* clutter/clutter-fixed.c:
* clutter/clutter-model.h: Fix documentation.

* clutter/eglnative/clutter-backend-egl.[ch]:
* clutter/eglnative/clutter-event-egl.c: Add the same solution
used for the SDL backend in order to get the time of an event.
This should fix the motion event throttling and the click count
on button press.

* tests/test-pixmap.c (create_pixmap), (main): Fix preprocessor
directives.

16 years ago2008-05-14 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 14 May 2008 17:26:59 +0000 (17:26 +0000)]
2008-05-14  Emmanuele Bassi  <ebassi@openedhand.com>

* tests/test-threads.c: Add a "progress bar" actor and
make the test take less amount of time to complete.

16 years ago2008-05-14 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 14 May 2008 16:47:38 +0000 (16:47 +0000)]
2008-05-14  Emmanuele Bassi  <ebassi@openedhand.com>

* tests/test-events.c: Clean up a bit, and print out more
messages when pressing one of the rectangles.

* tests/test-threads.c: Be more verbose in the console, and
apply another behaviour on the rectangle, to show that we
are not blocking.

16 years ago* clutter/cogl/gles/cogl.c: (_cogl_features_init): do not set
Øyvind Kolås [Wed, 14 May 2008 11:10:45 +0000 (11:10 +0000)]
* clutter/cogl/gles/cogl.c: (_cogl_features_init): do not set
COGL_FEATURE_TEXTURE_READ_PIXELS, since it is not available.

16 years ago2008-05-14 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Tue, 13 May 2008 23:02:45 +0000 (23:02 +0000)]
2008-05-14  Matthew Allum  <mallum@openedhand.com>

        * clutter/clutter-actor.c:
        * clutter/clutter-main.c:
        * clutter/clutter-private.h:
        Rejid Øyvind's previous commit a little moving more into
        clutter-main.c and using ClutterContext.
        Also Refactor clutter_init & clutter_init_with_args to share
        same core init code.

16 years agoMade it possible to do picking when the colors stored in the
Øyvind Kolås [Tue, 13 May 2008 18:40:14 +0000 (18:40 +0000)]
Made it possible to do picking when the colors stored in the
framebuffer are only approximately the correct value.
* clutter/clutter-actor.c:
(init_bits): initialize constants about how many bits are
available/will be used for r,g,b components.
(_clutter_pix_to_id): now own function, compute an id from a
pixel into its own function (used from _clutter_do_pick).
(_clutter_id_to_col): now own function, computes the color to use for
a given id.
(clutter_actor_paint): use clutter_id_to_col.
* clutter/clutter-main.c:
(_clutter_do_pick): use _clutter_pix_to_id
(clutter_main): re-enable invocation of fruity app shell.

16 years ago2008-05-13 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 13 May 2008 16:09:42 +0000 (16:09 +0000)]
2008-05-13  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/fruity/clutter-stage-fruity.c:
(clutter_stage_egl_show), (clutter_stage_egl_hide): Don't chain
up and set flags, as it is not needed anymore.

(clutter_stage_egl_realize): Set the REALIZED flag.

* clutter/eglnative/clutter-stage-egl.c:
(clutter_stage_egl_show), (clutter_stage_egl_hide): Don't chain
up and set flags, as it is not needed anymore.

16 years ago2008-05-13 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 13 May 2008 10:42:36 +0000 (10:42 +0000)]
2008-05-13  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/glx/clutter-stage-glx.c:
(clutter_stage_glx_unrealize): Move the shaders release from here...

* clutter/glx/clutter-backend-glx.c:
(clutter_backend_glx_dispose): ... to here. Shaders should be
released when the GL context is being destroyed, and that only
happens when the backend is being disposed, now that we support
multiple stages.

16 years ago2008-05-13 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 13 May 2008 10:37:17 +0000 (10:37 +0000)]
2008-05-13  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-backend.c:
(_clutter_backend_create_stage): Call _clutter_stage_set_window()
ourselves, thus removing yet another action that backends must
implement and might get wrong; also cuts a backend-agnostic piece
of code duplication.

* clutter/eglnative/clutter-backend-egl.c:
(clutter_backend_egl_create_stage): Update the EGL native backend.

* clutter/eglx/clutter-backend-egl.c:
(clutter_backend_egl_create_stage): Update the EGLX backend.

* clutter/fruity/clutter-backend-fruity.c:
(clutter_backend_egl_create_stage): Update the fruity backend

* clutter/glx/clutter-backend-glx.c:
(clutter_backend_glx_create_stage): Update the GLX backend.

* clutter/sdl/clutter-backend-sdl.c:
(clutter_backend_sdl_create_stage): Update the SDL backend.

* HACKING.backends: Update the ::create_stage() description.

16 years ago2008-05-13 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 13 May 2008 10:21:25 +0000 (10:21 +0000)]
2008-05-13  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/x11/clutter-event-x11.c (event_translate): Remove the
cheap Expose event compression, as it seems to play games when a
composite manager is running. It's also not really needed, as
the redraw queue will avoid redraws too close to each other
anyway.

* clutter/x11/clutter-stage-x11.c:
(clutter_stage_x11_show), (clutter_stage_x11_hide): Do not chain
up just to set the flags. This fixes a critical warning coming
from ClutterActor::hide() default implementation.

16 years ago * clutter/cogl/gl/cogl-defines.h.in:
Ivan Leben [Tue, 13 May 2008 04:56:06 +0000 (04:56 +0000)]
* clutter/cogl/gl/cogl-defines.h.in:
Fix GL function prototypes on OS X by #definining APIENTRY and
APIENTRYP if missing.

16 years ago * clutter/cogl/gl/cogl-defines.h.in:
Ivan Leben [Mon, 12 May 2008 17:20:22 +0000 (17:20 +0000)]
* clutter/cogl/gl/cogl-defines.h.in:
Defined GL extension functions used by Cogl inside the COGL_
namespace.

* clutter/cogl/gl/cogl-context.h:
* clutter/cogl/gl/cogl.c:
Use COGL_ extension function prototypes instead of relying
on glext.h to define them. Should fix the mac compilability
bug, but haven't tested it yet.

16 years ago2008-05-12 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Mon, 12 May 2008 16:22:16 +0000 (16:22 +0000)]
2008-05-12  Matthew Allum  <mallum@openedhand.com>

        * clutter/x11/clutter-x11-texture-pixmap.c:
        * configure.ac:
        * tests/Makefile.am:
        Remove the XComposite dep from Clutter itself, just use
        in test-pixmap (if available)

16 years ago2008-05-12 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Mon, 12 May 2008 15:26:37 +0000 (15:26 +0000)]
2008-05-12  Emmanuele Bassi  <ebassi@openedhand.com>

Rework the stage wrapper/implementation relation: remove
duplicated code and all the bookkeeping from the backends into
ClutterStage whenever possible, to reduce the amount of work a
backend must do (and possibly get wrong). Thanks to Tommi
Komulainen.

* clutter/clutter-main.c:
(clutter_init_with_args), (clutter_init): Realize the default
stage after creation. The default stage is special, because we
use it in the initialization sequence. This removes the burden
from the backends and reduces the things a backend can get
wrong.

* clutter/clutter-stage.c:
(clutter_stage_show): Make sure to realize the implementation if
it hasn't been realized yet.

(clutter_stage_realize): Set the REALIZED flag and call
clutter_stage_ensure_current() if the implementation was
successfully realized.

(clutter_stage_unrealized): Call clutter_stage_ensure_current()
on unrealize.

* clutter/glx/clutter-backend-glx.c:
(clutter_backend_glx_create_stage): Do not realize the stage anymore
when creating it, and let the normal realization sequence take
place.

(clutter_backend_glx_ensure_context): Trap for X11 errors.

* clutter/glx/clutter-stage-glx.c:
(clutter_stage_glx_realize): Chain up to the X11 implementation
so that we can set up the window state (title, cursor visibility)
when we actually have a X window. Also, do not call
clutter_stage_ensure_current(), and rely on the wrapper to do
it for us. This means we can drop setting the REALIZED flag on
the wrapper.

(clutter_stage_glx_unrealize): Do not call
clutter_stage_ensure_current() ourselves, and rely on the wrapper
to do it for us.

* clutter/x11/clutter-stage-x11.c:
(set_wm_title), (set_cursor_visible): Move the WM title and
cursor visibility code inside their own functions.

(clutter_stage_x11_realize): Set the window title and whether the
cursor is visible or not after realizing the stage.

(clutter_stage_x11_set_cursor_visible),
(clutter_stage_x11_set_title): Call set_wm_title() and
set_cursor_visible().

(clutter_stage_x11_finalize): Free the title string.

* clutter/x11/clutter-stage-x11.h: Save more of the stage state,
so that we can set it even when the stage hasn't been realized
yet.

* clutter/eglnative/clutter-backend-egl.c:
(clutter_backend_egl_create_stage):
* clutter/eglnative/clutter-stage-egl.c:
(clutter_stage_egl_unrealize),
(clutter_stage_egl_realize): Update the eglnative backend.

* clutter/eglx/clutter-backend-egl.c:
(clutter_backend_egl_ensure_context),
(clutter_backend_egl_create_stage):
* clutter/eglx/clutter-stage-egl.c:
(clutter_stage_egl_unrealize),
(clutter_stage_egl_realize): Update the eglx backend.

* clutter/sdl/clutter-backend-sdl.c:
(clutter_backend_sdl_create_stage):
* clutter/sdl/clutter-stage-sdl.c:
(clutter_stage_sdl_realize): Update the sdl backend.

* clutter/fruity/clutter-backend-fruity.c:
(clutter_backend_fruity_create_stage):
* clutter/sdl/clutter-stage-fruity.c:
(clutter_stage_fruity_realize): Update the fruity backend.

* tests/test-multistage.c (on_button_press): Bail out if
clutter_stage_new() returns NULL.

* HACKING.backends: Update backend writing documentation.

16 years ago2008-05-12 Robert Bragg <bob@openedhand.com>
Robert Bragg [Mon, 12 May 2008 15:18:38 +0000 (15:18 +0000)]
2008-05-12  Robert Bragg  <bob@openedhand.com>

* clutter/clutter-timeline.c:
Adds clutter-timeline documentation RE: r2337, explaining
the current timeline semantics.

16 years ago2008-05-12 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Mon, 12 May 2008 10:17:55 +0000 (10:17 +0000)]
2008-05-12  Emmanuele Bassi  <ebassi@openedhand.com>

* HACKING.backends: Update documentation.

* clutter/glx/clutter-stage-glx.c:
(clutter_stage_glx_realize): Avoid setting more flags than
necessary.

16 years ago * clutter/clutter-frame-source.c (clutter_frame_source_add)
Neil Roberts [Fri, 9 May 2008 16:27:06 +0000 (16:27 +0000)]
* clutter/clutter-frame-source.c (clutter_frame_source_add)
(clutter_frame_source_add_full): Add gtk-doc and rename the
'function' parameter to 'func'.

* clutter/clutter-frame-source.h: Rename the 'function' parameters
to 'func'.

* clutter/Makefile.am (source_h): Make clutter-frame-source.h a
public header.

* clutter/clutter-main.c (clutter_threads_add_frame_source_full):
Improve gtk-doc

* doc/reference/clutter/clutter-sections.txt: Added
clutter_threads_add_frame_source,
clutter_threads_add_frame_source_full,
clutter_frame_source_add and clutter_frame_source_add_full.

16 years ago2008-05-09 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Fri, 9 May 2008 13:58:04 +0000 (13:58 +0000)]
2008-05-09  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-script-private.h: Add a flag for the
default stage.

* clutter/clutter-script.c:
(json_object_end): If the "type" member is "ClutterStage"
and we have a "is-default" member set to true then this
is the default stage.

(clutter_script_construct_object): Special case the default
stage instead of each ClutterStage.

(object_info_free): Ditto as above.

* tests/test-script.json: Test the creation of a non-default
stage and the ::destroy handler to quit.

16 years agoFix bug reference in ChangeLog
Emmanuele Bassi [Fri, 9 May 2008 10:59:28 +0000 (10:59 +0000)]
Fix bug reference in ChangeLog

16 years ago2008-05-09 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Fri, 9 May 2008 10:58:26 +0000 (10:58 +0000)]
2008-05-09  Emmanuele Bassi  <ebassi@openedhand.com>

Bug #902 - Support transform from G_TYPE_INT to ClutterUnit

* clutter/clutter-units.c:
(clutter_value_transform_int_unit),
(clutter_unit_get_type): Add GValue transformation function from
integer values to ClutterUnit. (#902)

(param_unit_validate): Fix validation for ClutterParamSpecUnit;
this allows writable ClutterUnit properties.

* clutter/clutter-fixed.c:
(clutter_value_transform_int_fixed),
(clutter_value_transform_double_fixed),
(clutter_value_transform_float_fixed): Add GValue transformation
functions from native types (int, double, float) to ClutterFixed.

(clutter_fixed_get_type): Register the new transformation functions.

(param_fixed_validate): Fix validation for ClutterParamSpecUnit;
this allows writable ClutterFixed properties.

16 years ago * clutter/cogl/cogl.h.in:
Ivan Leben [Wed, 7 May 2008 16:12:54 +0000 (16:12 +0000)]
* clutter/cogl/cogl.h.in:
* clutter/cogl/gl(es)/cogl-texture.h:
* clutter/cogl/gl(es)/cogl-texture.c:
cogl_texture_new_* functions take a gboolean auto_mipmap argument.
If TRUE automatic mipmap generation is enabled during the process
of slice texture object creation.
(cogl_texture_new_from_foreign:) now allows mipmap min filter
flags.

* clutter/clutter-texture.c:
* clutter/glx/clutter-glx-texture-pixmap.c:
* tests/test-cogl-offscreen.c:
* tests/test-cogl-tex-tile.c:
* tests/test-cogl-tex-convert.c:
* tests/test-cogl-tex-polygon.c:
* tests/test-cogl-tex-getset.c:
Pass FALSE for auto_mipmap to cogl_texture_new_*.

* clutter/pango/pangoclutter-render.c:
(tc_get:) Pass TRUE to cogl_texture_new_with_size and use mipmap
min filter for nicer glyphs at small scales. As a result test-text
has gone all beautiful now.

16 years ago * clutter/clutter-frame-source.h: Added the missing G_BEGIN_DECLS
Neil Roberts [Wed, 7 May 2008 15:16:48 +0000 (15:16 +0000)]
* clutter/clutter-frame-source.h: Added the missing G_BEGIN_DECLS
and G_END_DECLS

16 years ago2008-05-07 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 7 May 2008 15:03:59 +0000 (15:03 +0000)]
2008-05-07  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/sdl/clutter-backend-sdl.c:
(clutter_backend_sdl_dispose): Destroy the timer that we created...
(clutter_backend_sdl_init): ... here.

* clutter/sdl/clutter-backend-sdl.h: Add a GTimer for time-based
operations, like the event time.

* clutter/sdl/clutter-event-sdl.c:
(get_backend_time): Get the elapsed milliseconds for the SDL
backend.

(_clutter_events_init): Start the timer provided by the backend...
(_clutter_events_uninit): ... and the stop it.

(key_event_translate), (event_translate): Use the backend time
to fill out the time field of the event structures. This fixes
the motion notification throttling on the SDL backend.

16 years ago2008-05-06 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Tue, 6 May 2008 19:57:05 +0000 (19:57 +0000)]
2008-05-06  Matthew Allum  <mallum@openedhand.com>

        * clutter/glx/clutter-glx-texture-pixmap.c:
        * clutter/x11/clutter-x11-texture-pixmap.c:
        More cleanups, safety additions.

16 years ago* clutter/cogl/gl/cogl-primitives.c:
Øyvind Kolås [Mon, 5 May 2008 12:01:19 +0000 (12:01 +0000)]
* clutter/cogl/gl/cogl-primitives.c:
* clutter/cogl/gles/cogl-primitives.c:
* clutter/cogl/common/cogl-primitives.c: moved declaration of
gegl_rectangle and gegl_rectanglex here to satisfy linking
requirements when building the fruity backend.

16 years ago* clutter/cogl/cogl.h.in: api review touch ups.
Øyvind Kolås [Mon, 5 May 2008 10:25:11 +0000 (10:25 +0000)]
* clutter/cogl/cogl.h.in: api review touch ups.
* clutter/cogl/common/cogl-primitives.c: api review touch ups.
* clutter/cogl/gl/cogl-primitives.c: (cogl_path_fill),
(cogl_path_stroke): indentation.
* clutter/cogl/gles/cogl-primitives.c:
(_cogl_path_fill_nodes): free allocated resources.
* tests/test-cogl-primitives.c: updated to new API, added rotation to
test to show that cogl renders paths correct under perspective
distortion.

16 years ago2008-05-02 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Fri, 2 May 2008 11:48:43 +0000 (11:48 +0000)]
2008-05-02  Emmanuele Bassi  <ebassi@openedhand.com>

Bug #900 - clutter_actor_lower() and friends do not queue redraw

* clutter/clutter-actor.c:
(clutter_actor_raise),
(clutter_actor_lower): Queue a redraw after raising and lowering
and actor in the paint order stack. (#900)

16 years agoconfigure.ac: Set CLUTTER_COGL for fruity
Richard Purdie [Thu, 1 May 2008 16:22:48 +0000 (16:22 +0000)]
configure.ac: Set CLUTTER_COGL for fruity

16 years ago2008-05-01 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Thu, 1 May 2008 15:49:57 +0000 (15:49 +0000)]
2008-05-01  Emmanuele Bassi  <ebassi@openedhand.com>

Build fixes for the SDL flavour.

* clutter/sdl/clutter-backend-sdl.c: Remove an unused function.

* clutter/sdl/clutter-event-sdl.c:
(clutter_event_dispatch): Properly cast the stage pointer.

* clutter/sdl/clutter-stage-sdl.c:
(clutter_stage_window_iface_init): Remove the draw_to_pixbuf()
stub and assignment.

16 years agoFix up fruity flavour configure option.
Richard Purdie [Thu, 1 May 2008 15:28:56 +0000 (15:28 +0000)]
Fix up fruity flavour configure option.

16 years ago* clutter/cogl/gles/cogl-primitives.c: (_cogl_path_fill_nodes): draw
Øyvind Kolås [Thu, 1 May 2008 11:27:58 +0000 (11:27 +0000)]
* clutter/cogl/gles/cogl-primitives.c: (_cogl_path_fill_nodes): draw
the rasterized scanlines as an array of triangles.

16 years ago2008-05-01 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Thu, 1 May 2008 09:28:41 +0000 (09:28 +0000)]
2008-05-01  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-behaviour.c:
(clutter_behaviour_remove_all): Disconnect the ::destroy
handler when removing all actors, to match the behaviour
of clutter_behaviour_remove().

16 years ago2008-05-01 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Wed, 30 Apr 2008 23:07:23 +0000 (23:07 +0000)]
2008-05-01  Matthew Allum  <mallum@openedhand.com>

        * clutter/glx/clutter-glx-texture-pixmap.c:
        * tests/test-pixmap.c:
        Fix up texture-pixmap, now works.
        Thanks to Neil for spotting we were actually using
        wrong texture type in fbconfig (COGL change).

16 years ago* clutter/cogl/gles/cogl-primitives.c: (_cogl_path_fill_nodes):
Øyvind Kolås [Wed, 30 Apr 2008 21:48:47 +0000 (21:48 +0000)]
* clutter/cogl/gles/cogl-primitives.c: (_cogl_path_fill_nodes):
keep track of direction we are drawing in and make sure we leave
two intersection points when we have changed direction.