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.
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.
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.
Emmanuele Bassi [Thu, 15 May 2008 14:43:30 +0000 (14:43 +0000)]
Fix bug reference in the ChangeLog
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.
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.
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.
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.
Ø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.
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.
Ø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.
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.
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.
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.
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.
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.
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.
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)
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.
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.
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.
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.
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.
Emmanuele Bassi [Fri, 9 May 2008 10:59:28 +0000 (10:59 +0000)]
Fix bug reference in ChangeLog
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.
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.
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
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.
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.
Ø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.
Ø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.
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)
Richard Purdie [Thu, 1 May 2008 16:22:48 +0000 (16:22 +0000)]
configure.ac: Set CLUTTER_COGL for fruity
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.
Richard Purdie [Thu, 1 May 2008 15:28:56 +0000 (15:28 +0000)]
Fix up fruity flavour configure option.
Ø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.
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().
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).
Ø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.
Øyvind Kolås [Wed, 30 Apr 2008 16:57:21 +0000 (16:57 +0000)]
* clutter/cogl/gles/cogl-primitives.c: (_cogl_path_fill_nodes):
scanline rasterizer fallback for GLES without working stencil
buffer (would benefit from optimization/smarter choice of
datastructures).
Emmanuele Bassi [Wed, 30 Apr 2008 16:27:18 +0000 (16:27 +0000)]
2008-04-30 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-effect.c:
(clutter_effect_closure_destroy): Do not remove the actor
from the behaviour; the behaviour is an internal detail of the
effect, and it will remove the actors anyway when finalized
when g_object_unref() is called. This should guard against
actors being destroyed while an effect is running.
Øyvind Kolås [Wed, 30 Apr 2008 15:05:17 +0000 (15:05 +0000)]
* clutter/cogl/common/Makefile.am:
* clutter/cogl/common/cogl-primitives.c:
* clutter/cogl/common/cogl-primitives.h:
* clutter/cogl/gl/Makefile.am:
* clutter/cogl/gl/cogl-primitives.c:
* clutter/cogl/gl/cogl-primitives.h:
* clutter/cogl/gles/Makefile.am:
* clutter/cogl/gles/cogl-primitives.c:
* clutter/cogl/gles/cogl-primitives.h: moved duplicated code to the
common directory.
Robert Bragg [Wed, 30 Apr 2008 14:58:25 +0000 (14:58 +0000)]
2008-04-30 Robert Bragg <bob@openedhand.com>
* clutter/clutter/x11/clutter-x11-texture-pixmap.c:
In _update_area_real with depth=16 we weren't setting up the alpha
channel.
Matthew Allum [Tue, 29 Apr 2008 22:02:10 +0000 (22:02 +0000)]
2008-04-29 Matthew Allum <mallum@openedhand.com>
* clutter/glx/Makefile.am:
* clutter/x11/Makefile.am:
Revert header install locations (Mistake in previous commit,
fixes #898)
Neil Roberts [Tue, 29 Apr 2008 21:27:52 +0000 (21:27 +0000)]
* clutter/clutter-actor.c (clutter_actor_move_anchor_point): The
actor position was being moved in the wrong direction. Perhaps
this was a cut-and-paste bug from move_anchor_point_from_gravity
because in that function ax and ay represent the old anchor
position, but in this function they represent the new.
Robert Bragg [Tue, 29 Apr 2008 19:51:05 +0000 (19:51 +0000)]
2008-04-29 Robert Bragg <bob@o-hand.com>
* clutter/configure.ac:
RE: earlier GLESv1_CM change: Now sets GLES_LIBS="-lGLESv1_CM"
instead of the previous EGL_LIBS variable.
Matthew Allum [Tue, 29 Apr 2008 16:30:47 +0000 (16:30 +0000)]
2008-04-29 Matthew Allum <mallum@openedhand.com>
* clutter/glx/Makefile.am:
* clutter/glx/clutter-glx-texture-pixmap.c:
* clutter/glx/clutter-glx-texture-pixmap.h:
* clutter/x11/Makefile.am:
* clutter/x11/clutter-x11-texture-pixmap.c:
* tests/test-pixmap.c:
Commit newer x11 texture pixmap stuff (optionally using SHM).
Also seemingly still broken overhauled glx-texture-pixmap
(code by Robert and myself)
* configure.ac:
Minor formatting change.
Neil Roberts [Tue, 29 Apr 2008 16:10:37 +0000 (16:10 +0000)]
Removed COGLhandle and changed shader and program functions to be
wrapped in reference-counted CoglHandles instead.
* clutter/cogl/gl/cogl-shader.c:
* clutter/cogl/gl/cogl-shader.h:
* clutter/cogl/gl/cogl-program.c:
* clutter/cogl/gl/cogl-program.h:
New files to hold the shader and program functions.
* clutter/cogl/gl/cogl.c: Removed shader and program functions.
* clutter/cogl/common/cogl-handle.h: New header to define
COGL_HANDLE_DEFINE which helps build functions to create
reference-counted handles. This reduces the amount of duplicated
code.
* clutter/cogl/gl/cogl-texture.c:
* clutter/cogl/gles/cogl-texture.c:
* clutter/cogl/gl/cogl-fbo.c: Converted to use COGL_HANDLE_DEFINE
from cogl-handle.h to avoid duplicating some of the common code.
* clutter/cogl/gles/cogl-defines.h.in:
* clutter/cogl/gl/cogl-defines.h.in: Removed COGLhandle
* clutter/cogl/gl/cogl-context.h: Added handle arrays for programs
and shaders.
* clutter/cogl/gl/cogl-context.c (cogl_create_context): Added
initialisers for shader_handles and program_handles.
(cogl_destroy_context): Added calls to g_array_free for all handle
arrays.
* clutter/cogl/gl/Makefile.am (libclutter_cogl_la_SOURCES): Added
cogl-{program,shader}.{c,h}
* clutter/cogl/common/Makefile.am
(libclutter_cogl_common_la_SOURCES): Added cogl-handle.h
* clutter/cogl/gles/cogl.c:
* clutter/cogl/cogl.h.in: Programs and shaders are now wrapped in
CoglHandles instead of COGLhandles. cogl_program_destroy and
cogl_shader_destroy is now replaced with cogl_program_unref and
cogl_shader_unref. cogl_program_ref and cogl_shader_ref are also
added.
* clutter/clutter-shader.c: Converted to use CoglHandles for the
programs and shaders instead of COGLhandles.
* cogl/cogl-sections.txt: Added cogl_shader_ref,
cogl_shader_unref, cogl_is_shader, cogl_program_ref,
cogl_program_unref, cogl_is_program and cogl_is_offscreen.
Øyvind Kolås [Tue, 29 Apr 2008 15:58:32 +0000 (15:58 +0000)]
* cogl/cogl-sections.txt: updated after cogl primitives api rename
session.
Øyvind Kolås [Tue, 29 Apr 2008 15:41:34 +0000 (15:41 +0000)]
* clutter/cogl/cogl.h.in: renaming of API's in cogl to make the
primitives and path API a bit smaller and more resembling cairo.
* clutter/cogl/gl/cogl-primitives.c:
* clutter/cogl/gles/cogl-primitives.c:
* clutter/cogl/gles/cogl.c:
* clutter/clutter-actor.c:
* clutter/clutter-rectangle.c:
* tests/test-cogl-offscreen.c:
* tests/test-cogl-primitives.c:
* tests/test-cogl-tex-convert.c:
* tests/test-cogl-tex-foreign.c:
* tests/test-cogl-tex-getset.c:
* tests/test-cogl-tex-tile.c: updated according to changes in cogl.
Robert Bragg [Tue, 29 Apr 2008 13:51:25 +0000 (13:51 +0000)]
2008-04-29 Robert Bragg <bob@o-hand.com>
* clutter/x11/clutter-x11-texture-pixmap.c:
In clutter_x11_texture_pixmap_set_pixmap, dont assume that the actor
size should be changed to match the size of the pixmap.
Robert Bragg [Tue, 29 Apr 2008 12:44:41 +0000 (12:44 +0000)]
2008-04-29 Robert Bragg <bob@o-hand.com>
* clutter/cogl/gles/cogl-texture.c:
Replaces an malloc call with g_malloc.
Robert Bragg [Tue, 29 Apr 2008 12:22:39 +0000 (12:22 +0000)]
2008-04-29 Robert Bragg <bob@o-hand.com>
* clutter/configure.ac:
When looking for a GLES 1 library, also try the name "GLESv1_CM".
This also reduces the xfixes version requirement to v3, since we dont
need support for Show/HideCursor.
Neil Roberts [Mon, 28 Apr 2008 16:57:44 +0000 (16:57 +0000)]
Fixed 'make dist'
* clutter/cogl/Makefile.am (EXTRA_DIST): Distribute cogl.h.in
instead of cogl.h
(DIST_SUBDIRS): Added common folder
* clutter/cogl/gl/Makefile.am (libclutter_cogl_la_SOURCES): Remove
cogl-defines.h and use the right location for cogl-defines.gl.h
(EXTRA_DIST): Distribute cogl-defines.h.in
* clutter/cogl/gles/Makefile.am (libclutter_cogl_la_SOURCES):
Remove cogl-defines.h and use the right location for
cogl-defines.gles.h
(EXTRA_DIST): Distribute cogl-defines.h.in
* clutter/Makefile.am (DIST_SUBDIRS): Add fruity
Neil Roberts [Mon, 28 Apr 2008 16:03:06 +0000 (16:03 +0000)]
* clutter/cogl/cogl.h.in (COGL_A_BIT): Added the missing comma after
COGL_PIXEL_FORMAT_G_8
Emmanuele Bassi [Mon, 28 Apr 2008 15:38:30 +0000 (15:38 +0000)]
2008-04-28 Emmanuele Bassi <ebassi@openedhand.com>
* autogen.sh: Do not just touch the gtk-doc.make file, if we
could not find gtkdocize, but echo an empty EXTRA_DIST into it
so that the automake won't complain later on.
Øyvind Kolås [Mon, 28 Apr 2008 15:36:11 +0000 (15:36 +0000)]
* clutter/cogl/cogl.h.in: reindented.
Emmanuele Bassi [Mon, 28 Apr 2008 15:32:42 +0000 (15:32 +0000)]
2008-04-28 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
(parse_rotation_array),
(clutter_actor_set_custom_property): Use the internal, unit based
rotation setter when parsing the rotation from a ClutterScript
file.
(clutter_geometry_copy),
(clutter_vertex_copy),
(clutter_actor_box_copy): Use the more efficient g_slice_dup().
(clutter_actor_get_stage): Add documentation.
* clutter/clutter-group.c: Documentation fix.
Emmanuele Bassi [Mon, 28 Apr 2008 15:22:54 +0000 (15:22 +0000)]
2008-04-28 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-docs.sgml: Add index for the 0.8 symbols.
* clutter/Makefile.am:
* cogl/Makefile.am: Revert back, as EXTRA_DIST has been defined
by gtk-doc.make and automake-1.9 complains loudly about a
redefinition of EXTRA_DIST.
Øyvind Kolås [Mon, 28 Apr 2008 14:18:29 +0000 (14:18 +0000)]
* clutter/cogl/cogl.h.in: moved the documentation of the cogl
primitives to the main public header.
* clutter/cogl/gl/cogl-primitives.c: from here ..
* clutter/cogl/gles/cogl-primitives.c: .. _and_ here.
Emmanuele Bassi [Mon, 28 Apr 2008 14:04:58 +0000 (14:04 +0000)]
Remove old comment
Øyvind Kolås [Mon, 28 Apr 2008 14:00:46 +0000 (14:00 +0000)]
* clutter/cogl/cogl.h.in: added documentation.
Emmanuele Bassi [Mon, 28 Apr 2008 13:37:28 +0000 (13:37 +0000)]
2008-04-28 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-units.c (param_unit_init): Use the right
macros to set the default minimum and maximum values.
* clutter/clutter-fixed.c (param_fixed_init): Ditto as above.
Matthew Allum [Mon, 28 Apr 2008 13:18:16 +0000 (13:18 +0000)]
2008-04-28 Matthew Allum <mallum@openedhand.com>
* autogen.sh:
Dont display 'make' if configure fails.
* configure.ac:
Add new --with-gles version option for eventual GLES2 support
Also minor tidyups.
Neil Roberts [Mon, 28 Apr 2008 11:23:27 +0000 (11:23 +0000)]
* tests/test-cogl-tex-polygon.c: Added buttons to toggle whether
slicing and linear filtering is enabled. By default slicing is
disabled to help test on GL ES.
Neil Roberts [Mon, 28 Apr 2008 10:11:14 +0000 (10:11 +0000)]
* tests/Makefile.am (INCLUDES): Added $(top_srcdir)/clutter to the
include path. Otherwise the tests will fail to build trying to
include "json/json-types.h" when building out-of-tree.
Emmanuele Bassi [Mon, 28 Apr 2008 09:33:38 +0000 (09:33 +0000)]
2008-04-28 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/eglnative/clutter-backend-egl.c:
(clutter_backend_egl_redraw): Whitespace fixes.
* clutter/eglnative/clutter-stage-egl.c:
(clutter_stage_egl_hide): Indentation fixes.
(clutter_stage_egl_realize): Use g_critical() to report failure,
unset the flags and bail out instead of continuing the realization
of the stage.
Neil Roberts [Fri, 25 Apr 2008 15:03:24 +0000 (15:03 +0000)]
Updated the ChangeLog with a note about the clutter-ivan merge.
Neil Roberts [Fri, 25 Apr 2008 14:24:25 +0000 (14:24 +0000)]
- Update .gitignore
- Remove dangling conflict marker in ChangeLog-ivan
Neil Roberts [Fri, 25 Apr 2008 13:37:36 +0000 (13:37 +0000)]
Merged clutter-ivan branch into trunk.
svn merge \
https://svn.o-hand.com/repos/clutter/trunk/clutter@2509 \
https://svn.o-hand.com/repos/clutter/branches/clutter-ivan@HEAD
Emmanuele Bassi [Fri, 25 Apr 2008 12:17:01 +0000 (12:17 +0000)]
2008-04-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/sdl/clutter-stage-sdl.[ch]: Port the SDL stage to
the new stage implementation API.
* clutter/sdl/clutter-backend-sdl.[ch]: Port the SDL backend
to the new backend API.
* clutter/sdl/clutter-event-sdl.c:
(clutter_event_dispatch): Assign the default stage as the
origin of the event.
Emmanuele Bassi [Thu, 24 Apr 2008 18:53:43 +0000 (18:53 +0000)]
2008-04-24 Emmanuele Bassi <ebassi@openedhand.com>
* configure.ac: Add the --with-json configure switch to
allow building Clutter with the external dependency on
the system JSON-GLib; the default is to use the internal
copy unless explicitly asked to check.
Emmanuele Bassi [Thu, 24 Apr 2008 17:43:26 +0000 (17:43 +0000)]
2008-04-24 Emmanuele Bassi <ebassi@openedhand.com>
* Makefile.am: Add HACKING.backends to the EXTRA_DIST.
Emmanuele Bassi [Thu, 24 Apr 2008 17:32:32 +0000 (17:32 +0000)]
Fix typos
Emmanuele Bassi [Thu, 24 Apr 2008 17:31:38 +0000 (17:31 +0000)]
2008-04-24 Emmanuele Bassi <ebassi@openedhand.com>
* HACKING.backends: Add documentation on how to write a
backend for Clutter.
Emmanuele Bassi [Thu, 24 Apr 2008 13:10:45 +0000 (13:10 +0000)]
2008-04-24 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/eglnative/clutter-backend-egl.c:
(clutter_backend_egl_create_stage): Fix checks using a
non assigned member of the ClutterBackendEGL structure.
Emmanuele Bassi [Wed, 23 Apr 2008 17:20:59 +0000 (17:20 +0000)]
2008-04-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/eglnative/clutter-backend-egl.[ch]:
* clutter/eglnative/clutter-stage-egl.[ch]:
* clutter/eglnative/clutter-event-egl.c: Port to the new stage
and backend APIs. *WARNING* untested and not compiled.
* clutter/eglx/clutter-backend-egl.c:
(clutter_backend_egl_init): Set some defaults.
Emmanuele Bassi [Wed, 23 Apr 2008 14:01:09 +0000 (14:01 +0000)]
2008-04-23 Emmanuele Bassi <ebassi@openedhand.com>
* tests/test-script.json: Remove the explicit "visible"
member to test that the visibility of actors is TRUE
by default.
Emmanuele Bassi [Wed, 23 Apr 2008 13:58:58 +0000 (13:58 +0000)]
2008-04-23 Emmanuele Bassi <ebassi@openedhand.com>
* configure.ac:
* clutter/Makefile.am: Do not build the internal JSON-GLib
copy if there is a system installed one.
* clutter/clutter-json.h: Remove.
* clutter/clutter-json.h.in: Template for the clutter-json.h
header file, used to opaquely include the JSON-GLib types.
Emmanuele Bassi [Wed, 23 Apr 2008 13:54:13 +0000 (13:54 +0000)]
2008-04-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c: Document :show-on-set-parent and
the fact that calling clutter_actor_show() and hide() on an
unparented actor will change that property as well as a side
effect.
Emmanuele Bassi [Wed, 23 Apr 2008 13:21:33 +0000 (13:21 +0000)]
2008-04-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c (clutter_actor_set_property): Use the
internal setter for the rotation center.
Emmanuele Bassi [Wed, 23 Apr 2008 12:53:25 +0000 (12:53 +0000)]
2008-04-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.[ch]: Add units based variant of the
rotation accessors.
Emmanuele Bassi [Wed, 23 Apr 2008 12:39:50 +0000 (12:39 +0000)]
2008-04-23 Emmanuele Bassi <ebassi@openedhand.com>
Bug 892 - Incorrect results using rotation-[center|angle] properties
* clutter/clutter-actor.c:
(clutter_actor_set_rotation_internal): Inline function for setting
the rotation using fixed point for the angle and units for the
center of rotation.
(clutter_actor_set_property),
(clutter_actor_set_rotationx): Use the internal setter to avoid
loss of precision and too many conversions to and from units.
Emmanuele Bassi [Wed, 23 Apr 2008 09:46:16 +0000 (09:46 +0000)]
2008-04-23 Emmanuele Bassi <ebassi@openedhand.com>
Bug 891 - assertion failed when test-behave exits
* clutter/clutter-behaviour.c:
(remove_actor_on_destroy),
(clutter_behaviour_apply),
(clutter_behaviour_remove): Remove the actor if it gets
destroyed before the behaviour.
Emmanuele Bassi [Fri, 18 Apr 2008 15:03:30 +0000 (15:03 +0000)]
2008-04-18 Emmanuele Bassi <ebassi@openedhand.com>
Bug #884 - Add clutter_alpha_set_closure
* clutter/clutter-alpha.[ch]: Add clutter_alpha_set_closure(),
a GClosure variant of clutter_alpha_set_func(), and reimplement
the latter as a special case of the former. (#884, Xan López)
Neil Roberts [Fri, 18 Apr 2008 13:51:16 +0000 (13:51 +0000)]
* clutter/clutter-timeline.c (clutter_timeline_get_progressx):
Changed to use clutter_qdiv instead of CLUTTER_FIXED_DIV otherwise
it can't cope with timelines with more than 255 frames.
Emmanuele Bassi [Thu, 17 Apr 2008 20:53:37 +0000 (20:53 +0000)]
2008-04-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-frame-source.c: Small coding style fixes.
Emmanuele Bassi [Thu, 17 Apr 2008 20:50:49 +0000 (20:50 +0000)]
Add clutter-frame-source to the repository to fix the build
Neil Roberts [Thu, 17 Apr 2008 16:50:23 +0000 (16:50 +0000)]
Applied patch from bug #881
* clutter/clutter-frame-source.h:
* clutter/clutter-frame-source.c:
New files that contain a replacement for g_timeout that try to
cope with system delays.
* clutter/Makefile.am: Added clutter-frame-source.{c,h}
* clutter/clutter-timeline.c (timeout_add): Use a frame source
instead of a g_timeout.
* clutter/clutter-main.c (clutter_threads_add_frame_source_full)
(clutter_threads_add_frame_source): New public functions to wrap a
frame source and grab the Clutter mutex.
* clutter/clutter-timeout-pool.c: Now calculates the timeout
expiration times in the same way as a frame source does so that it
counts time in frame intervals instead of setting the next
expiration time as an offset from the current time.
Emmanuele Bassi [Thu, 17 Apr 2008 14:08:26 +0000 (14:08 +0000)]
2008-04-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-fixed.c:
(clutter_value_transform_fixed_int),
(clutter_value_transform_fixed_double),
(clutter_value_transform_fixed_float),
(clutter_fixed_get_type): Add GValue transformation functions
for ClutterFixed; copying a CLUTTER_TYPE_FIXED GValue into
a G_TYPE_FLOAT/G_TYPE_DOUBLE one will automatically transform
the fixed point representation into a floating point one. Also
add the G_TYPE_INT transformation function to do a plain
fixed->int copy.
* clutter/clutter-units.c:
(clutter_value_transform_unit_int),
(clutter_unit_get_type): Add a unit->int transformation function.
Emmanuele Bassi [Thu, 17 Apr 2008 11:42:08 +0000 (11:42 +0000)]
2008-04-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-fixed.c (clutter_value_get_fixed): Fix typo
in the function name.
Emmanuele Bassi [Thu, 17 Apr 2008 11:40:46 +0000 (11:40 +0000)]
2008-04-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-units.c (clutter_value_get_unit): Fix typo
in the function name.
Emmanuele Bassi [Thu, 17 Apr 2008 11:10:32 +0000 (11:10 +0000)]
2008-04-17 Emmanuele Bassi <ebassi@openedhand.com>
* HACKING: Amend coding style and tenets, as it is now possible
to install and use unit based properties in a safe way.
Emmanuele Bassi [Thu, 17 Apr 2008 11:09:27 +0000 (11:09 +0000)]
2008-04-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-units.h:
* clutter/clutter-fixed.h: Add boundaries for fixed point
and units values.
* doc/reference/clutter-sections.txt: Update the documentation.
Emmanuele Bassi [Thu, 17 Apr 2008 10:41:03 +0000 (10:41 +0000)]
2008-04-17 Emmanuele Bassi <ebassi@openedhand.com>
* autogen.sh: Try to continue even if we don't have gtk-doc
installed; this will obviously won't work if you don't pass
--disable-docs --disable-gtk-doc to autogen.sh as well.
Emmanuele Bassi [Thu, 17 Apr 2008 10:08:17 +0000 (10:08 +0000)]
2008-04-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-fixed.[ch]: Add a ClutterFixed fundamental
type, and wrappers for storing it into GValues; also add a
GParamSpec subclass for defining parameters holding
ClutterFixed values. This allows creating GObject properties
using fixed point values.
* doc/reference/clutter-sections.txt: Document the newly
added API.
Emmanuele Bassi [Thu, 17 Apr 2008 09:13:12 +0000 (09:13 +0000)]
2008-04-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/Makefile.am: Add clutter-units.c
* clutter/clutter-units.[ch]: Add a ClutterUnit fundamental
type, and wrappers for storing it into GValues; also add a
GParamSpec subclass for defining parameters holding ClutterUnit
values. This allows creating GObject properties using units.
* doc/reference/clutter-sections.txt: Document the newly
added API.
Matthew Allum [Tue, 15 Apr 2008 21:18:13 +0000 (21:18 +0000)]
2008-04-15 Matthew Allum <mallum@openedhand.com>
Work related to #873;
* clutter/glx/clutter-backend-glx.c:
* clutter/glx/clutter-backend-glx.h:
* clutter/x11/clutter-x11-texture-pixmap.c:
* clutter/x11/clutter-x11-texture-pixmap.h:
General cleanup of texture pixmap code, adding;
- Pixmap dimentions and depth now auto probed, read only props.
- More X safety traps
- Add support for optionally tracking damage and automatically
updating texture.
* clutter/glx/clutter-glx-texture-pixmap.c:
* clutter/glx/clutter-glx-texture-pixmap.h:
General cleanup and some safety additions. Needs more work so
'proper' subclass - dependent on new COGL.
* clutter/x11/clutter-backend-x11.c: (clutter_x11_remove_filter):
Invert g_return_if check.
* configure.ac:
Pull in XComposite and XDamage (at least for now)
* tests/Makefile.am:
* tests/test-pixmap.c:
Add a modified test from Johan for above.
Neil Roberts [Tue, 15 Apr 2008 16:12:37 +0000 (16:12 +0000)]
Added support for foreign windows to the Win32 backend.
* clutter/win32/clutter-stage-win32.c
(clutter_stage_win32_request_coords): Don't resize foreign
windows.
(clutter_stage_win32_unrealize): Don't destroy foreign windows.
(clutter_stage_win32_init): Added initialiser for is_foreign_win.
(clutter_win32_get_stage_from_window): Resort to looking in the
stage list if the window isn't the right window class so that it
can still find stages with foreign windows.
(clutter_win32_set_stage_foreign): New public function to set a
foreign window for a stage.
* clutter/win32/clutter-event-win32.c
(clutter_win32_disable_event_retrieval): New public function to
disable event retrieval.
(message_translate): Don't handle WM_SIZE or WM_MOVE for foreign
windows.
* clutter/win32/clutter-backend-win32.h (struct
_ClutterBackendWin32): Added a flag to disable event retrieval
* clutter/win32/clutter-backend-win32.c
(clutter_backend_win32_ensure_context): Update debug note to
include whether the stage is foreign or not.
Øyvind Kolås [Tue, 15 Apr 2008 13:55:36 +0000 (13:55 +0000)]
* clutter/clutter-actor.c: (clutter_actor_set_shader_param): queue a
redraw when a shader_param is set. Normalized some gtk-doc syntax in
some of the api documentation.