profile/ivi/clutter.git
15 years ago[cairo-texture] Silently discard 0x0 surfaces
Emmanuele Bassi [Wed, 17 Dec 2008 15:40:33 +0000 (15:40 +0000)]
[cairo-texture] Silently discard 0x0 surfaces

The current CairoTexture can be created with a surface size of 0
by 0 pixels, but a warning will be printed.

Worse, the surface can be resized to be 0 by 0 pixels without a
warning. The :surface-width and :surface-height properties accept
a minimum value of 0, and not check is performed on either the
constructor or set_surface_size() parameters to enforce the "greater
than zero" rule.

The correct and consistent behaviour is to allow a 0 by 0 pixels
surface size everywhere; inside surface_resize_internal(), the
current surface will be destroyed and if either :surface-width or
:surface-height are set to 0, the resizing terminates.

Attempting to create a Cairo context from a CairoTexture with
either :surface-width or :surface-height set to 0 will result in
a warning.

This allows:

  - creating a CairoTexture with :surface-width or :surface-height
    set to zero and delaying the surface resize at a later point;
  - resizing the surface to 0 by 0 pixels to destroy the image
    surface used internally;
  - increase the consistency in the usage of CairoTexture.

15 years agoRe-indent ClutterPath header
Emmanuele Bassi [Mon, 15 Dec 2008 15:00:37 +0000 (15:00 +0000)]
Re-indent ClutterPath header

Match the indentation and style of the other Clutter headers.

15 years agoAdd a test case for the new cairo path functions
Neil Roberts [Fri, 5 Dec 2008 18:37:46 +0000 (18:37 +0000)]
Add a test case for the new cairo path functions

The nodes of the test path have been reordered because Cairo coalesces
multiple move operations into a single move so the comparison would
fail if the two move nodes are consecutive.

15 years agoAdd clutter_path_to_cairo_path and clutter_path_add_cairo_path
Neil Roberts [Fri, 5 Dec 2008 18:37:31 +0000 (18:37 +0000)]
Add clutter_path_to_cairo_path and clutter_path_add_cairo_path

See bug #1325.

Added doc for new cairo path functions to clutter-sections.txt

15 years agoWarn instead of returning in the IN_PAINT check
Emmanuele Bassi [Fri, 12 Dec 2008 11:42:16 +0000 (11:42 +0000)]
Warn instead of returning in the IN_PAINT check

It's conceivable that a warning should be deemed enough, instead
of just returning a NULL cairo_t when creating a context for the
CairoTexture actor.

15 years agoSmall documentation fixes
Emmanuele Bassi [Thu, 11 Dec 2008 15:51:24 +0000 (15:51 +0000)]
Small documentation fixes

Fix the CairoTexture description, and some of the comments inside
the code, especially with regards to the alpha channel unpremultiplication
that we have to perform each time we upload the image surface to
GL.

15 years agoPrint a warning when creating a cairo_t while painting
Emmanuele Bassi [Thu, 11 Dec 2008 15:48:43 +0000 (15:48 +0000)]
Print a warning when creating a cairo_t while painting

If you create a Cairo context in the middle of a paint run and then
you destroy it, the CairoTexture will have to upload the contents of
the image surface to the GL pipeline. This usually leads to slow
downs and general performance degradation.

ClutterCairoTexture will warn to the console if Clutter has been
compiled with the debug messages and if create() or create_region()
are called while an actor is in the middle of a paint.

15 years agoDo not set the IN_PAINT flag inside the Stage paint
Emmanuele Bassi [Thu, 11 Dec 2008 15:41:25 +0000 (15:41 +0000)]
Do not set the IN_PAINT flag inside the Stage paint

Since the CLUTTER_ACTOR_IN_PAINT private flag is set as part
of the paint process by clutter_actor_paint(), there is no
need to set it inside the ClutterStage paint function.

15 years agoSet the IN_PAINT private flag
Emmanuele Bassi [Thu, 11 Dec 2008 15:39:28 +0000 (15:39 +0000)]
Set the IN_PAINT private flag

When calling clutter_actor_paint() we should be setting the
CLUTTER_ACTOR_IN_PAINT private flag. This allows signalling
to each Actor subclass that we are effectively in the middle
of a paint sequence. Actor subclasses can check for this
private flag and act based on its presence - for instance to
avoid recursion, or to detect performance degradation cases.

15 years ago[docs] Add ClutterCairoTexture to the API reference
Emmanuele Bassi [Thu, 11 Dec 2008 15:37:21 +0000 (15:37 +0000)]
[docs] Add ClutterCairoTexture to the API reference

15 years agoAdd ClutterCairoTexture
Emmanuele Bassi [Thu, 11 Dec 2008 15:24:07 +0000 (15:24 +0000)]
Add ClutterCairoTexture

Move the ClutterCairo actor from a separate library to an in-tree
actor.

ClutterCairoTexture is a simple texture subclass that allows you
to retrieve a Cairo context for a private image surface. When the
Cairo context is destroyed it will cause the image surface
contents to be uploaded to a GL texture.

The image surface used is not hardware accelerated.

15 years agoRequire Cairo as a Clutter dependency
Emmanuele Bassi [Thu, 11 Dec 2008 15:22:42 +0000 (15:22 +0000)]
Require Cairo as a Clutter dependency

Cairo has been an indirect dependency for Clutter since 0.8, through
the PangoCairo API.

Now we explicitly depend on Cairo in order to merge the clutter-cairo
API into Clutter core.

15 years agoResort the main Clutter include file
Emmanuele Bassi [Thu, 11 Dec 2008 11:11:11 +0000 (11:11 +0000)]
Resort the main Clutter include file

Just for overall sanity we keep the include file sorted.

15 years agoUpdate ignore file
Emmanuele Bassi [Wed, 10 Dec 2008 23:12:22 +0000 (23:12 +0000)]
Update ignore file

15 years agoDo not modify parameters in place
Emmanuele Bassi [Wed, 10 Dec 2008 23:00:48 +0000 (23:00 +0000)]
Do not modify parameters in place

When the apply_transform_to_point() and its relative variant
landed in Clutter 0.3, the initial approach was to modify the
passed vertex as an in-out parameter. This was later dropped
in favour of a more consistent out parameter.

Unfortunately, the implementation never changed: both methods
where modifying the passed vertex with the partial results of
the computations.

This commit copies the contents of the "point" ClutterVertex
argument inside a stack variable and, for good measure, constifies
the argument.

Thanks to Thomas Steinacher for catching this in Python.

15 years ago * clutter/cogl/gl/cogl.c:
Neil Roberts [Wed, 10 Dec 2008 12:13:20 +0000 (12:13 +0000)]
* clutter/cogl/gl/cogl.c:
* clutter/cogl/gl/cogl-defines.h.in:
* clutter/cogl/gl/cogl-context.h:
* clutter/cogl/common/cogl-mesh.c: Rename the glBufferDataSub
function to glBufferSubData. When calling glXGetProcAddress with
the former Mesa returns a stub dispatch function which will
segfault if you try to use it. With NVIDIA it returns NULL so
_cogl_features_init decides the card doesn't have VBO support.

15 years ago Bug 1323 - ClutterBehaviorDepth conflicts with other behaviors
Neil Roberts [Wed, 10 Dec 2008 11:27:14 +0000 (11:27 +0000)]
Bug 1323 - ClutterBehaviorDepth conflicts with other behaviors

* clutter/clutter-behaviour-ellipse.c (actor_apply_knot_foreach):
Don't set the depth if there is no x or y tilt. That way it can
still be used in conjunction with ClutterBehaviourDepth. Thanks to
Tonny Tzeng.

15 years ago2008-12-08 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Mon, 8 Dec 2008 14:22:52 +0000 (14:22 +0000)]
2008-12-08  Emmanuele Bassi  <ebassi@linux.intel.com>

* clutter/clutter-binding-pool.h: Fix the ActivateFunc
documentation by adding a "return value" annotation.

15 years ago2008-12-08 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Mon, 8 Dec 2008 14:22:39 +0000 (14:22 +0000)]
2008-12-08  Emmanuele Bassi  <ebassi@linux.intel.com>

* clutter/clutter-docs.xml:
* clutter/clutter-sections.txt: Add ClutterBindingPool
section and link.

15 years ago2008-12-08 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Mon, 8 Dec 2008 13:57:10 +0000 (13:57 +0000)]
2008-12-08  Emmanuele Bassi  <ebassi@linux.intel.com>

* clutter/Makefile.am:
* clutter/clutter.h: Add ClutterBindingPool to the build.

* clutter/clutter-binding-pool.c:
* clutter/clutter-binding-pool.h: Add ClutterBindingPool, a data
structure meant to hold (key symbol, modifiers) pairs and associate
them to a closure. The ClutterBindingPool can be used to install
key bindings for actors and then execute closures inside the
key-press-event signal handlers, removing the need for big
switch() or if() blocks for each key.

* clutter/clutter-event.c: Consistently use "key symbol" instead
of "key value".

* clutter/clutter-event.h: Add more modifier masks.

* clutter/clutter-marshal.list:

* tests/conform/Makefile.am:
* tests/conform/test-binding-pool.c:
* tests/conform/test-conform-main.c: Add ClutterBindingPool
conformance test.

* tests/interactive/Makefile.am:
* tests/interactive/test-binding-pool.c: Add interactive test (and
example code) for the ClutterBindingPool usage.

15 years ago * clutter/clutter-main.c (_clutter_do_pick): Restore the GL_DITHER
Neil Roberts [Mon, 8 Dec 2008 12:02:36 +0000 (12:02 +0000)]
* clutter/clutter-main.c (_clutter_do_pick): Restore the GL_DITHER
state after reading the pixel value instead of before. Suggested
in bug 1328 thanks to Guy Zadickario.

15 years ago2008-12-05 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Fri, 5 Dec 2008 17:44:12 +0000 (17:44 +0000)]
2008-12-05  Emmanuele Bassi  <ebassi@linux.intel.com>

Bug 1309 - clutter_timeline_new and clutter_timeline_set_speed
have two standard of the fps limitation

* clutter/clutter-timeline.c:
(clutter_timeline_class_init): Set the maximum value of the
:fps property to be G_MAXUINT. (Zhang Wei)

15 years ago * clutter/clutter-entry.c: Fix the 'Since' annotation in the
Neil Roberts [Fri, 5 Dec 2008 14:29:57 +0000 (14:29 +0000)]
* clutter/clutter-entry.c: Fix the 'Since' annotation in the
gtk-doc.

15 years ago * clutter/clutter-timeline.c:
Neil Roberts [Fri, 5 Dec 2008 14:08:06 +0000 (14:08 +0000)]
* clutter/clutter-timeline.c:
* clutter/clutter-texture.c:
* clutter/clutter-stage.c:
* clutter/clutter-label.c:
* clutter/clutter-behaviour-path.c:
* clutter/clutter-actor.c: Fix the 'Since' annotation in the
gtk-doc.

15 years ago Bug 1252 - Merge ClutterBehaviourPath and ClutterBehaviourBspline
Neil Roberts [Fri, 5 Dec 2008 13:13:37 +0000 (13:13 +0000)]
Bug 1252 - Merge ClutterBehaviourPath and ClutterBehaviourBspline

* clutter/clutter-path.h:
* clutter/clutter-path.c: Implementation of new ClutterPath object
to represent a path combining straight line and bezier curve
elements.

* clutter/clutter.h: Include clutter-path.h and remove
clutter-behaviour-bspline.h

* tests/interactive/test-threads.c (test_threads_main):
* tests/interactive/test-script.c:
* tests/interactive/test-behave.c (test_behave_main): Use new path
API

* clutter/clutter-effect.c: Use the new ClutterBehaviourPath API.

* clutter/clutter-bezier.h:
* clutter/clutter-bezier.c: Moved bezier curve handling code out
from clutter-behaviour-bspline.c to a separate file.

* clutter/clutter-behaviour-path.h:
* clutter/clutter-behaviour-path.c: Reimplemented to work with a
ClutterPath

* clutter/clutter-behaviour-bspline.h:
* clutter/clutter-behaviour-bspline.c: Removed

* clutter/Makefile.am: Add clutter-path and clutter-bezier, remove
clutter-behaviour-bspline.

* tests/conform/test-path.c: New automatic test for ClutterPath
consistency

* tests/conform/test-conform-main.c (main): Add test_path

* tests/conform/Makefile.am (test_conformance_SOURCES): Add
test-path.c

* clutter/clutter-sections.txt: Add ClutterPath docs

* clutter/clutter.types:
* clutter/clutter-docs.xml:
* doc/reference/clutter/clutter-animation-tutorial.xml: Remove
mention of ClutterBehaviourBspline

* clutter/clutter-marshal.list: Add VOID:UINT

15 years ago Bug 1297 - Bring back support for GL_ARB_texture_rectangle
Neil Roberts [Thu, 4 Dec 2008 17:24:33 +0000 (17:24 +0000)]
Bug 1297 - Bring back support for GL_ARB_texture_rectangle

* clutter/cogl/gl/cogl-texture.c (cogl_texture_new_from_foreign,
(_cogl_texture_quad_hw, cogl_texture_polygon),
(_cogl_texture_quad_sw): Support GL_ARB_texture_rectangle textures

* clutter/glx/clutter-glx-texture-pixmap.c: Use rectangle textures
when NPOTs are not available or it is forced by the
CLUTTER_PIXMAP_TEXTURE_RECTANGLE environment variable.

* clutter/cogl/gl/cogl.c (cogl_enable): Allow enabling
GL_TEXTURE_RECTANGLE_ARB.

15 years ago Bug 1172 - Disjoint paths and clip to path
Neil Roberts [Thu, 4 Dec 2008 13:45:09 +0000 (13:45 +0000)]
Bug 1172 - Disjoint paths and clip to path

* clutter/cogl/cogl-path.h:
* clutter/cogl/common/cogl-primitives.c:
* clutter/cogl/common/cogl-primitives.h:
* clutter/cogl/gl/cogl-primitives.c:
* clutter/cogl/gles/cogl-primitives.c: Changed the semantics of
cogl_path_move_to. Previously this always started a new path but
now it instead starts a new disjoint sub path. The path isn't
cleared until you call either cogl_path_stroke, cogl_path_fill or
cogl_path_new. There are also cogl_path_stroke_preserve and
cogl_path_fill_preserve functions.

* clutter/cogl/gl/cogl-context.c:
* clutter/cogl/gl/cogl-context.h:
* clutter/cogl/gles/cogl-context.c:
* clutter/cogl/gles/cogl-context.h: Convert the path nodes array
to a GArray.

* clutter/cogl/gl/cogl-texture.c:
* clutter/cogl/gles/cogl-texture.c: Call cogl_clip_ensure

* clutter/cogl/common/cogl-clip-stack.c:
* clutter/cogl/common/cogl-clip-stack.h: Simplified the clip
stack code quite a bit to make it more maintainable.  Previously
whenever you added a new clip it would go through a separate route
to immediately intersect with the current clip and when you
removed it again it would immediately rebuild the entire clip. Now
when you add or remove a clip it doesn't do anything immediately
but just sets a dirty flag instead.

* clutter/cogl/gl/cogl.c:
* clutter/cogl/gles/cogl.c: Taken away the code to intersect
stencil clips when there is exactly one stencil bit. It won't work
with path clips and I don't know of any platform that doesn't have
eight or zero stencil bits. It needs at least three bits to
intersect a path with an existing clip. cogl_features_init now
just decides you don't have a stencil buffer at all if you have
less than three bits.

* clutter/cogl/cogl.h.in: New functions and documentation.

* tests/interactive/test-clip.c: Replaced with a different test
that lets you add and remove clips. The three different mouse
buttons add clips in different shapes. This makes it easier to
test multiple levels of clipping.

* tests/interactive/test-cogl-primitives.c: Use
cogl_path_stroke_preserve when using the same path again.

* doc/reference/cogl/cogl-sections.txt: Document the new
functions.

15 years ago Bug 1303 - clutter_glx_texture_pixmap_using_extension doesn't check if
Robert Bragg [Wed, 3 Dec 2008 18:00:05 +0000 (18:00 +0000)]
Bug 1303 - clutter_glx_texture_pixmap_using_extension doesn't check if
fallbacks are being used

* glx/clutter-glx-texture-pixmap.c:
clutter_glx_texture_pixmap_using_extension now checks to see if
priv->use_fallback is TRUE not just that the tfp extension is
available.

15 years ago Bug 1305 - NPOT textures unaligned to a pixel sometimes have
Neil Roberts [Mon, 1 Dec 2008 16:27:54 +0000 (16:27 +0000)]
Bug 1305 - NPOT textures unaligned to a pixel sometimes have
border artifacts

* clutter/cogl/gl/cogl-texture.c: Set the wrap mode of a texture
on demand

Instead of setting the wrap mode once per texture at creation, it
is now changed whenever the texture is drawn. The previous value
is cached so that it isn't changed if the value is the same.

This is used in _cogl_texture_quad_hw to only enable GL_REPEAT
mode when the coordinates are not in the range [0,1]. Otherwise it
can pull in pixels from the other edge when the texture is
rendered off-pixel.

15 years ago * tests/conform/test-backface-culling.c (TEXTURE_SIZE): Don't set
Neil Roberts [Fri, 28 Nov 2008 17:45:54 +0000 (17:45 +0000)]
* tests/conform/test-backface-culling.c (TEXTURE_SIZE): Don't set
to a funny size on GLES because it will break cogl_texture_polygon

15 years ago * tests/conform/test-backface-culling.c: New test for backface
Neil Roberts [Fri, 28 Nov 2008 17:36:37 +0000 (17:36 +0000)]
* tests/conform/test-backface-culling.c: New test for backface
culling

* tests/conform/test-conform-main.c (main): Add
/texture/test_backface_culing

* tests/conform/Makefile.am (test_conformance_SOURCES): Add
test-backface-culling.c

15 years ago * tests/conform/test-mesh-mutability.c:
Neil Roberts [Fri, 28 Nov 2008 16:25:20 +0000 (16:25 +0000)]
* tests/conform/test-mesh-mutability.c:
* tests/conform/test-mesh-interleved.c:
* tests/conform/test-mesh-contiguous.c: Remove the idle source
after the test is complete so that it won't interfere with other
tests.

15 years ago2008-11-26 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Wed, 26 Nov 2008 16:46:48 +0000 (16:46 +0000)]
2008-11-26  Emmanuele Bassi  <ebassi@linux.intel.com>

* clutter/clutter-group.c:
(clutter_group_real_raise), (clutter_group_real_lower): Repaint
the Group on raise and lower.

15 years ago * clutter/cogl/gl/cogl-texture.c (cogl_texture_rectangle): Fixed
Neil Roberts [Wed, 26 Nov 2008 16:35:25 +0000 (16:35 +0000)]
* clutter/cogl/gl/cogl-texture.c (cogl_texture_rectangle): Fixed
the test for whether to use hardware tiling. Previously it assumed
that texture coordinates are in increasing order but this is not
the case since bug 1057 was fixed. The texture coordinates are now
sorted later. It also allowed negative coordinates which doesn't
make sense if the texture has waste.

15 years ago2008-11-25 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Tue, 25 Nov 2008 16:45:47 +0000 (16:45 +0000)]
2008-11-25  Emmanuele Bassi  <ebassi@linux.intel.com>

* configure.ac: Remove stray dependency on gdk-pixbuf-xlib; we
don't use the xlib specific API anymore. (thanks to Matthias
Clasen)

15 years ago Bug 1299 - clutter_score_remove will segmentation fault if
Neil Roberts [Tue, 25 Nov 2008 13:19:48 +0000 (13:19 +0000)]
Bug 1299 - clutter_score_remove will segmentation fault if
timelines are more than 52 and continue to remove them

* clutter/clutter-score.c (traverse_children): Don't destroy the
entry in the handler for REMOVE_BY_ID. It will be removed again
anyway in the call to g_node_traverse. This was causing a
crash. Thanks to zhangwei for spotting.

15 years ago Add a wrapper library to help testing without NPOTs.
Neil Roberts [Mon, 24 Nov 2008 15:44:16 +0000 (15:44 +0000)]
Add a wrapper library to help testing without NPOTs.

* tests/tools/Makefile.am: Optionally build the
libdisable-npots.la library depending on whether libdl was
detected in the configure script. A helper script is also
generated to setup the LD_PRELOAD.

* tests/conform/Makefile.am: There are now two versions of the
test-report and full-report rules. test-report-normal is the same
as before and test-report-disable-npots runs the tests with the
disable-npots wrapper script. The full-report rule runs both of
them and displays two separate HTML files. The test-report rule
just runs the normal version as before.

* configure.ac: Add a test for libdl

* tests/tools/disable-npots.sh.in: New file. Template for the
helper script

* tests/tools/disable-npots.c: New file

15 years ago * clutter/cogl/gl/cogl-texture.c (cogl_texture_polygon): Fix the
Neil Roberts [Mon, 24 Nov 2008 12:27:48 +0000 (12:27 +0000)]
* clutter/cogl/gl/cogl-texture.c (cogl_texture_polygon): Fix the
equation for calculating texture coordinates when using sliced
textures. This became broken in revision 3520.

15 years ago Bug 1270 - Update to mingw-cross-compile.sh
Neil Roberts [Fri, 21 Nov 2008 16:38:34 +0000 (16:38 +0000)]
Bug 1270 - Update to mingw-cross-compile.sh

* build/mingw/mingw-cross-compile.sh: Update to download latest
binaries. Patch thanks to David Kedves.

15 years ago Bug 1271 - mingw compiling failed: undefined reference to
Neil Roberts [Fri, 21 Nov 2008 16:18:58 +0000 (16:18 +0000)]
Bug 1271 - mingw compiling failed: undefined reference to
`_glDrawRangeElements@24'

Resolve glDrawRangeElements with cogl_get_proc_address instead of
calling it directly because functions defined in GL > 1.1 are not
directly exported under Windows.

* clutter/cogl/common/cogl-mesh.c: Use the function pointer from
the context

* clutter/cogl/gl/cogl-context.c (cogl_create_context): Initialise
function pointer.

* clutter/cogl/gl/cogl-context.h (CoglContext): Add a function
pointer

* clutter/cogl/gl/cogl-defines.h.in: Add a typedef for the
function pointer.

* clutter/cogl/gl/cogl.c (_cogl_features_init): Resolve
glDrawRangeElements

15 years ago * tests/interactive/Makefile.am:
Neil Roberts [Fri, 21 Nov 2008 16:18:47 +0000 (16:18 +0000)]
* tests/interactive/Makefile.am:
* tests/conform/Makefile.am: Use $(EXEEXT) when specifying a
dependency on an executable otherwise there won't be a rule to
build it on Windows.

15 years ago Bug 1269 - mingw32 building failed at clutter-media.c
Neil Roberts [Fri, 21 Nov 2008 16:18:38 +0000 (16:18 +0000)]
Bug 1269 - mingw32 building failed at clutter-media.c

* clutter/clutter-media.c: Rename the 'ERROR' signal enum to
'ERROR_SIGNAL' otherwise it clashes with windgi.h. Thanks to David
Kedves

15 years ago * clutter/pango/cogl-pango.h: Include pango/pango.h to get
Neil Roberts [Fri, 21 Nov 2008 16:18:31 +0000 (16:18 +0000)]
* clutter/pango/cogl-pango.h: Include pango/pango.h to get
pango-renderer.h. In versions prior to 1.18.4 pangocairo.h does
not include pango-renderer.h

15 years ago Bug 1280 - clutter_score_append_at_marker lead to segmentation
Neil Roberts [Fri, 21 Nov 2008 12:01:41 +0000 (12:01 +0000)]
Bug 1280 - clutter_score_append_at_marker lead to segmentation
fault in trunk and incorrect appearance in clutter-0.8

* clutter/clutter-score.c (start_children_entries): Check whether
the child timeline is actually attached at a marker before
comparing whether the marker's name matches the marker
reached. This fixes a crash that happens when a marker is reached
on a timeline that also has child timelines attached at the
end. Thanks to zhangwei for spotting.

15 years ago2008-11-20 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Thu, 20 Nov 2008 10:52:09 +0000 (10:52 +0000)]
2008-11-20  Emmanuele Bassi  <ebassi@linux.intel.com>

* clutter/clutter-actor.c:
(clutter_actor_set_property): Add sanity checks for NULL
boxed values when setting the rotation center.

* tests/interactive/test-animation.c:
(on_button_press): Add an example on how to use the rotation
properties to animate an actor.

15 years ago Fixed some trivial compiler warnings
Neil Roberts [Tue, 18 Nov 2008 18:53:10 +0000 (18:53 +0000)]
Fixed some trivial compiler warnings

* tests/interactive/test-pixmap.c (create_pixmap): Use a format
string instead of passing the error message directly to g_error.

* tests/interactive/test-easing.c (test_easing_main)
(on_button_press):
* tests/interactive/test-animation.c (on_button_press): Use
unsigned variables for the results from clutter_actor_get_size
otherwise it complains about the pointer signedness being
different.

* clutter/clutter-script.c (clutter_script_add_search_paths): Use
G_GSIZE_FORMAT instead of %d for a gsize parameter otherwise it
gets upset on 64-bit.

15 years ago * tests/conform/test-timeline.c (test_timeline): Remove the delay
Neil Roberts [Tue, 18 Nov 2008 18:30:55 +0000 (18:30 +0000)]
* tests/conform/test-timeline.c (test_timeline): Remove the delay
idle handler after the test is finished, otherwise it will
continue running during subsequent tests. This was breaking
test_timeline_interpolate.

15 years ago * clutter/cogl/common/cogl-mesh.c:
Robert Bragg [Tue, 18 Nov 2008 16:24:31 +0000 (16:24 +0000)]
* clutter/cogl/common/cogl-mesh.c:
Re-works validate_custom_attribute_name() so it doesn't access an
un-initialised variable.

15 years ago A comparison of gl/cogl-texture.c and gles/cogl-texture.c, to reduce
Robert Bragg [Tue, 18 Nov 2008 16:24:09 +0000 (16:24 +0000)]
A comparison of gl/cogl-texture.c and gles/cogl-texture.c, to reduce
differences and improve maintainability.

* clutter/cogl/gl/cogl-context.h:
Adds a CoglTextureGLVertex typedef + texture_vertices and
texture_vertices_size members to CoglContext for using vertex arrays
like GLES does

* clutter/cogl/gl/cogl-context.c:
Initializes texture_vertices + texture_vertices_size members

* clutter/cogl/gl/cogl-internal.h:
Adds COGL_ENABLE_COLOR_ARRAY

* clutter/cogl/gl/cogl.c:
Add COGL_ENABLE_COLOR_ARRAY support to cogl_enable

* clutter/cogl/gles/cogl-context.h:
Change the CoglTextureGLVertex to use GLfloat for the position
and texture coord attributes and GLubyte for the color.

* clutter/cogl/gles/cogl-texture-private.h:
Adds a wrap_mode member like GL has.

* clutter/cogl/gl/cogl-texture.c
* clutter/cogl/gles/cogl-texture.c:
Improves the comparability of the files, such that the remaining
differences, better reflect the fundamental differences needed
between GL and GLES. Notably GL no longer uses glBegin/glEnd for
submitting vertices, it uses vertex arrays like GLES and this gives
a small but measurable fps improvement for test-text.

15 years ago * clutter/cogl/gl/cogl-internal.h
Robert Bragg [Tue, 18 Nov 2008 16:23:40 +0000 (16:23 +0000)]
* clutter/cogl/gl/cogl-internal.h
* clutter/cogl/gles/cogl-internal.h:
Removes semicolon after the GE() macro since that breaks using it as a
single statement.

15 years ago2008-11-18 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Tue, 18 Nov 2008 15:35:20 +0000 (15:35 +0000)]
2008-11-18  Emmanuele Bassi  <ebassi@linux.intel.com>

* clutter/clutter.h: Add clutter-shader.h and
clutter-shader-types.h to the global include.

15 years ago2008-11-18 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Tue, 18 Nov 2008 15:21:02 +0000 (15:21 +0000)]
2008-11-18  Emmanuele Bassi  <ebassi@linux.intel.com>

* clutter/cogl/cogl-shader.h: Add a function for setting an
integer uniform, similar to cogl_program_uniform_1f().

* clutter/cogl/gl/cogl-program.c: Implement the GL version
of cogl_program_uniform_1i().

* clutter/cogl/gles/cogl-program.c: Implement the GLES version
of cogl_program_uniform_1i().

15 years ago2008-11-18 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Tue, 18 Nov 2008 15:08:40 +0000 (15:08 +0000)]
2008-11-18  Emmanuele Bassi  <ebassi@linux.intel.com>

Bug 1049 - Clutter doesn't support most GLSL uniforms (patch
by Chris Lord and Neil Roberts)

* README: Update release notes.

* clutter/Makefile.am:
* clutter/clutter-shader-types.[ch]: Add GValue types for
shader values.

* clutter/clutter-actor.[ch]: Update the shader API to use
the newly added GValue support for GLSL shader uniform
setters.

* clutter/clutter-shader.[ch]: Add float and integer convenience
API for single value GLSL uniform setters.

* clutter/cogl/cogl-shader.h: Add new uniform setters.

* clutter/cogl/gl/cogl-context.c:
* clutter/cogl/gl/cogl-context.h:
* clutter/cogl/gl/cogl-defines.h.in:
* clutter/cogl/gl/cogl-program.c:
* clutter/cogl/gl/cogl.c: Update the GL implementation of COGL
to handle the GLSL uniform setters.

* clutter/cogl/gles/cogl-gles2-wrapper.c:
* clutter/cogl/gles/cogl-gles2-wrapper.h:
* clutter/cogl/gles/cogl-internal.h:
* clutter/cogl/gles/cogl-program.c: Update the GLES 2.0 implementation
of COGL to handle the GLSL uniform setters.

* doc/reference/clutter/clutter-sections.txt:
* doc/reference/cogl/cogl-sections.txt: Update the documentation.

* tests/interactive/test-fbo.c:
* tests/interactive/test-shader.c: Update the shader tests.

15 years ago2008-11-18 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Tue, 18 Nov 2008 13:52:22 +0000 (13:52 +0000)]
2008-11-18  Emmanuele Bassi  <ebassi@linux.intel.com>

* clutter/clutter-texture.c:
(clutter_texture_get_preferred_width): Fix the usage of the
fixed point division macro.

15 years ago2008-11-18 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Tue, 18 Nov 2008 13:06:02 +0000 (13:06 +0000)]
2008-11-18  Emmanuele Bassi  <ebassi@linux.intel.com>

* tests/conform/test-conform-main.c (main): Do not run the
conformance test suite if we are on X11 but we do not have
a DISPLAY available. Some of the tests require a DISPLAY,
and everything passes through a clutter_init() call which will
fail anyway. If we are running make distcheck on an headless
box we might as well just skip the conformance test suite
without a meaningless error.

15 years ago2008-11-18 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Tue, 18 Nov 2008 12:54:34 +0000 (12:54 +0000)]
2008-11-18  Emmanuele Bassi  <ebassi@linux.intel.com>

* tests/conform/test-mesh-contiguous.c:
* tests/conform/test-mesh-interleved.c:
* tests/conform/test-mesh-mutability.c: Remove the last bare
g_print() from the conformance test suite.

15 years ago2008-11-18 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Tue, 18 Nov 2008 12:42:05 +0000 (12:42 +0000)]
2008-11-18  Emmanuele Bassi  <ebassi@linux.intel.com>

* clutter/clutter-alpha.h:
* clutter/clutter-alpha.c:
(clutter_alpha_set_mode): Use a lookup table to find the alpha
function given the animation mode.

(clutter_exp_in_func),
(clutter_exp_out_func),
(clutter_exp_in_out_func): Add new exponential functions.

* clutter/clutter-script.c: Update the lookup table with the
new animation modes; match "linear" to the ramp-inc alpha
function.

* clutter/clutter-types.h: Add new AnimationMode values.

* tests/interactive/test-easing.c: Update the easing functions
test.

15 years ago * tests/conform/test-pick.c (test_pick): The final result message
Neil Roberts [Tue, 18 Nov 2008 12:36:27 +0000 (12:36 +0000)]
* tests/conform/test-pick.c (test_pick): The final result message
when --verbose is used was the wrong way around

15 years ago * tests/conform/test-conform-main.c (main): Fixed a typo in the
Neil Roberts [Tue, 18 Nov 2008 12:16:00 +0000 (12:16 +0000)]
* tests/conform/test-conform-main.c (main): Fixed a typo in the
name of the path for test_realized.

15 years ago2008-11-17 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Tue, 18 Nov 2008 09:50:03 +0000 (09:50 +0000)]
2008-11-17  Emmanuele Bassi  <ebassi@linux.intel.com>

Bug 1014 - Clutter Animation API Improvements

* clutter/Makefile.am:
* clutter/clutter.h: Update the build

* clutter/clutter-types.h: Add AnimationMode, an enumeration
for easing functions.

* clutter/clutter-alpha.[ch]: Add the :mode property to
control the function bound to an Alpha instance using an
enumeration value. Also add six new alpha functions:

- ease-in, ease-out, ease-in-out
- sine-in, sine-out, sine-in-out

* clutter/clutter-deprecated.h: Deprecate the #defines for
the alpha functions. They will be replaced by entries in the
ClutterAnimationMode.

* clutter/clutter-interval.[ch]: Add ClutterInterval, an
object for defining, validating and computing an interval
between two values.

* clutter/clutter-animation.[ch]: Add ClutterAnimation, an
object responsible for animation the properties of a single
actor along an interval of values. ClutterAnimation memory
management is automatic. A simple wrapper method for
ClutterActor is provided:

clutter_actor_animate()

which will create, or update, an animation for the passed
actor.

* clutter/clutter-debug.h:
* clutter/clutter-main.c: Add a new 'animation' debug note.

* clutter/clutter-script.c: Clean up the alpha functions
whitelist, and add the new functions.

* doc/reference/clutter/Makefile.am:
* doc/reference/clutter/clutter-sections.txt: Update the
API reference.

* doc/reference/clutter/clutter-animation.xml: Renamed to
doc/reference/clutter/clutter-animation-tutorial.xml to
avoid clashes with the ClutterAnimation section.

* doc/reference/clutter/clutter-docs.sgml: Renamed to
doc/reference/clutter/clutter-docs.xml, as it was an XML
file and not a SGML file.

* tests/Makefile.am:
* tests/interactive/Makefile.am:
* tests/interactive/test-animation.c:
* tests/interactive/test-easing.c: Add two tests for the
new simple animation API and the easing functions.

* tests/interactive/test-actors.c:
* tests/interactive/test-behave.c:
* tests/interactive/test-depth.c:
* tests/interactive/test-effects.c:
* tests/interactive/test-layout.c:
* tests/interactive/test-multistage.c:
* tests/interactive/test-paint-wrapper.c:
* tests/interactive/test-rotate.c:
* tests/interactive/test-scale.c:
* tests/interactive/test-texture-quality.c:
* tests/interactive/test-threads.c:
* tests/interactive/test-viewport.c: Update interactive tests
to the deprecations and new alpha API.

15 years ago2008-11-17 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Mon, 17 Nov 2008 14:21:49 +0000 (14:21 +0000)]
2008-11-17  Emmanuele Bassi  <ebassi@linux.intel.com>

* clutter/clutter-entry.c:
* clutter/clutter-label.c:
* clutter/clutter-rectangle.c:
* clutter/clutter-script.c:
* clutter/clutter-stage.c: Use the ParamSpecColor and GValue
API for ClutterColor-based properties.

15 years ago * tests/interactive/Makefile.am
Robert Bragg [Sat, 15 Nov 2008 15:03:09 +0000 (15:03 +0000)]
* tests/interactive/Makefile.am
* tests/interactive/test-pixmap.c:
test-pixmap + test-devices accidentally got dropped from the makefiles
when changing the unit test layout; this puts them back.

15 years ago2008-11-14 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Fri, 14 Nov 2008 14:52:35 +0000 (14:52 +0000)]
2008-11-14  Emmanuele Bassi  <ebassi@linux.intel.com>

Bug 1265 - ClutterScore doesn't emit 'started' signal (Bastian
Winkler)

* clutter/clutter-score.c: Emit the ::started signal.

* tests/interactive/test-score.c: Check the emission of the
Score signals.

15 years ago * clutter/cogl/gles/cogl-gles2-wrapper.h:
Neil Roberts [Thu, 13 Nov 2008 14:44:27 +0000 (14:44 +0000)]
* clutter/cogl/gles/cogl-gles2-wrapper.h:
* clutter/cogl/gles/cogl-gles2-wrapper.c:
Initialise the 'tex' sampler uniform to 0. The GLSL spec
specifically says that you must initialize sampler uniforms. This
fixes texturing for GLES 2 when using the PowerVR simulator via
software Mesa.

15 years ago Gets the mesh API working with GLES2
Robert Bragg [Thu, 13 Nov 2008 14:28:16 +0000 (14:28 +0000)]
Gets the mesh API working with GLES2

* clutter/cogl/common/cogl-mesh.c:
Make sure we use the appropriate cogl_wrap_gl* funcs as appropriate

* clutter/cogl/gles/cogl-gles2-wrapper.c
* clutter/cogl/gles/cogl-gles2-wrapper.h:
In our glColorPointer wrapper we needed to mark our color attribute
as normalized.

* tests/conform/Makefile.am:
When creating unit test symlinks we use the -l gtester option to
list tests, but when using the PVR SDK the test binary also spews
out some extra info that caused lots of random symlinks to be
created. We now grep for lines starting with a '/'

* tests/conform/test-mesh-contiguous.c
* tests/conform/test-mesh-mutability.c:
Use cogl_set_source_color instead of directly calling glColor4ub

15 years ago * clutter/clutter-actor.c (clutter_actor_get_paint_visibility):
Neil Roberts [Thu, 13 Nov 2008 11:37:35 +0000 (11:37 +0000)]
* clutter/clutter-actor.c (clutter_actor_get_paint_visibility):
Fix logic so that it won't return TRUE for a hidden stage.

15 years ago2008-11-13 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Thu, 13 Nov 2008 10:54:06 +0000 (10:54 +0000)]
2008-11-13  Emmanuele Bassi  <ebassi@linux.intel.com>

* clutter/clutter-behaviour-ellipse.c:
(clutter_behaviour_ellipse_applied): Do not reset the depth
of the actors to which the Ellipse behaviour has been applied
to, unless the behaviour is going to update it because it has
a tilt on the X or Y axis.

15 years ago * clutter/clutter-actor.c (clutter_actor_get_reactive)
Neil Roberts [Thu, 13 Nov 2008 10:33:56 +0000 (10:33 +0000)]
* clutter/clutter-actor.c (clutter_actor_get_reactive)
(clutter_actor_get_paint_visibility): Be sure to return exactly
TRUE or FALSE instead of zero or some non-zero value in these
functions that return a gboolean. Thanks to Kai Wei for spotting.

15 years ago2008-11-12 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Wed, 12 Nov 2008 14:41:01 +0000 (14:41 +0000)]
2008-11-12  Emmanuele Bassi  <ebassi@linux.intel.com>

* tests/conform/Makefile.am:
* tests/conform/test-conform-main.c:
* tests/conform/test-paint-opacity.c: Add test unit for label,
rectangle and paint opacity.

15 years ago2008-11-12 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Wed, 12 Nov 2008 14:16:35 +0000 (14:16 +0000)]
2008-11-12  Emmanuele Bassi  <ebassi@linux.intel.com>

* clutter/clutter-sections.txt: Add new symbols.

15 years ago2008-11-12 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Wed, 12 Nov 2008 13:57:58 +0000 (13:57 +0000)]
2008-11-12  Emmanuele Bassi  <ebassi@linux.intel.com>

* clutter/cogl/cogl-color.h:
* clutter/cogl/cogl-path.h:
* clutter/cogl/cogl-types.h:
* clutter/cogl/common/cogl-color.c: Deprecated cogl_color()
in favour of cogl_set_source_color() and friends; store the
CoglColor components as unsigned bytes instead of fixed point
normalized values; add functions for allocating, copying and
freeing CoglColor, for use of language bindings.

* clutter/cogl/cogl.h.in:
* clutter/cogl/cogl-deprecated.h: Added cogl-deprecated.h,
an header file containing the deprecation symbols similar
to clutter-deprecated.h.

* clutter/cogl/gl/Makefile.am:
* clutter/cogl/gl/cogl-texture.c:
* clutter/cogl/gl/cogl.c:
* clutter/cogl/gles/Makefile.am:
* clutter/cogl/gles/cogl-texture.c:
* clutter/cogl/gles/cogl.c: Update the GL and GLES implementations
of COGL after the CoglColor changes.

* clutter/clutter-actor.c:
* clutter/clutter-clone-texture.c:
* clutter/clutter-entry.c:
* clutter/clutter-label.c:
* clutter/clutter-rectangle.c:
* clutter/clutter-texture.c: Do not use CoglColor whenever it
is possible, and use cogl_set_source_color4ub() instead.

* clutter/pango/cogl-pango-render.c: Ditto as above.

* doc/reference/clutter/subclassing-ClutterActor.xml:
* doc/reference/cogl/cogl-sections.txt: Update the documentation.

* tests/interactive/test-cogl-offscreen.c:
* tests/interactive/test-cogl-primitives.c:
* tests/interactive/test-cogl-tex-convert.c:
* tests/interactive/test-cogl-tex-foreign.c:
* tests/interactive/test-cogl-tex-getset.c:
* tests/interactive/test-cogl-tex-polygon.c:
* tests/interactive/test-cogl-tex-tile.c:
* tests/interactive/test-paint-wrapper.c: Drop the usage of
CoglColor whenever it is possible.

15 years ago Bug 1057 - cogl_texture_rectangle doesn't support backward
Neil Roberts [Wed, 12 Nov 2008 13:03:09 +0000 (13:03 +0000)]
Bug 1057 - cogl_texture_rectangle doesn't support backward
coordinates

* clutter/cogl/gl/cogl-texture.c: Instead of sorting the vertex
and texture coordinates passed to cogl_texture_rectangle, just
swap both sets whenever the texture coordinates are backward.

15 years ago * clutter/clutter-rectangle.c (clutter_rectangle_paint): Fixed so
Neil Roberts [Wed, 12 Nov 2008 12:39:55 +0000 (12:39 +0000)]
* clutter/clutter-rectangle.c (clutter_rectangle_paint): Fixed so
that it doesn't use the alpha value from the border colour to draw
the rectangle

15 years ago * clutter/cogl/gles/Makefile.am (libclutterinclude_HEADERS):
Neil Roberts [Wed, 12 Nov 2008 12:08:44 +0000 (12:08 +0000)]
* clutter/cogl/gles/Makefile.am (libclutterinclude_HEADERS):
* clutter/cogl/gl/Makefile.am (libclutterinclude_HEADERS):
* clutter/cogl/common/Makefile.am
(libclutter_cogl_common_la_SOURCES): Move cogl-mesh.h into the
headers for libclutter so that it will get installed.

15 years ago Fix warnings in mesh tests
Neil Roberts [Wed, 12 Nov 2008 10:55:06 +0000 (10:55 +0000)]
Fix warnings in mesh tests

* tests/conform/test-mesh-mutability.c (on_paint):
* tests/conform/test-mesh-interleved.c (on_paint):
* tests/conform/test-mesh-contiguous.c (on_paint): Use g_usleep
instead of sleep

* tests/conform/test-mesh-mutability.c (queue_redraw):
* tests/conform/test-mesh-interleved.c (queue_redraw):
* tests/conform/test-mesh-contiguous.c (queue_redraw): Added
missing return statement

* clutter/cogl/cogl-mesh.h: Add a declaration for
cogl_mesh_submit

* clutter/cogl/common/cogl-mesh.c (cogl_mesh_submit): Move the
documentation to cogl-mesh.h to match the rest of the functions

15 years ago Bug 1164 - Implements the proposed Mesh API
Robert Bragg [Mon, 10 Nov 2008 18:53:14 +0000 (18:53 +0000)]
Bug 1164 - Implements the proposed Mesh API

* clutter/cogl/cogl-mesh.h
* clutter/cogl/cogl-types.h
* clutter/cogl/cogl.h.in
* clutter/cogl/common/Makefile.am
* clutter/cogl/common/cogl-mesh-private.h
* clutter/cogl/common/cogl-mesh.c
* clutter/cogl/gl/cogl-context.c
* clutter/cogl/gl/cogl-context.h
* clutter/cogl/gl/cogl-defines.h.in
* clutter/cogl/gl/cogl.c
* clutter/cogl/gles/cogl-context.c
* clutter/cogl/gles/cogl-context.h
* doc/reference/cogl/cogl-docs.sgml
* doc/reference/cogl/cogl-sections.txt:
The Mesh API provides a means for submitting an extensible number of
per vertex attributes to OpenGL in a way that doesn't require format
conversions and so that the data can be mapped into the GPU (in vertex
buffer objects) for - hopefully - fast re-use.

There are a number of things we can potentially use this API for, but
right now this just provides a foundation to build on. Please read
the extensive list of TODO items in cogl-mesh.c for examples.

Please refer to the cogl-mesh section in the reference manual for
documentation of the API.

* tests/conform/Makefile.am
* tests/conform/test-conform-main.c
* tests/conform/test-mesh-contiguous.c
* tests/conform/test-mesh-interleved.c
* tests/conform/test-mesh-mutability.c:
Privides basic coverage testing for the mesh API.

15 years ago * tests/conform/ADDING_NEW_TESTS
Robert Bragg [Mon, 10 Nov 2008 18:52:50 +0000 (18:52 +0000)]
* tests/conform/ADDING_NEW_TESTS
* tests/conform/test-conform-common.c
* tests/conform/test-pick.c:
Instead of using clutter_stage_new /clutter_actor_destroy as a way to
avoid cascading side effects between unit tests, due to left over
actors, we now destroy all children of the default stage between
tests instead.

* tests/conform/wrapper.sh:
Adds a convenience note about how to run valgrind for an individual
unit test

15 years ago * tests/interactive/test-main.c (main): Allow more than two
Neil Roberts [Mon, 10 Nov 2008 16:30:42 +0000 (16:30 +0000)]
* tests/interactive/test-main.c (main): Allow more than two
arguments so that the remaining arguments can be passed to the
test. This is needed for test-behave for example which can take a
--path argument.

15 years ago2008-11-10 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Mon, 10 Nov 2008 12:29:10 +0000 (12:29 +0000)]
2008-11-10  Emmanuele Bassi  <ebassi@linux.intel.com>

* clutter/clutter-texture.c: Remove an unused function.

15 years ago2008-11-10 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Mon, 10 Nov 2008 12:28:42 +0000 (12:28 +0000)]
2008-11-10  Emmanuele Bassi  <ebassi@linux.intel.com>

* tests/conform/test-label-cache.c:
* tests/conform/test-pick.c:
* tests/conform/test-timeline.c: Show all the output messages only
if the test was done with the verbose flag turned on.

* tests/interactive/test-main.c: Do not use the (gpointer*) cast,
but use a temporary gpointer instead.

15 years ago * tests/conform/Makefile.am:
Robert Bragg [Mon, 10 Nov 2008 11:48:00 +0000 (11:48 +0000)]
* tests/conform/Makefile.am:
* tests/conform/wrapper.sh:
* tests/conform/test-conform-main.c:
* tests/conform/test-timeline.c:
Adds Neil's updates to test-timeline.c so it now works with the new unit
testing infrastructure.

Also some fixes to ensure wrappers get setup correctly for the timeline
tests.

* tests/interactive/test-main.c:
cast the symbol return pointer as (gpointer *) to avoid warning

* tests/conform/test-pick.c:
g_assert that the test passes, instead of using exit()

* test/conform/ADDING_NEW_TESTS:
Fixes a silly typo

15 years ago2008-11-08 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Sat, 8 Nov 2008 15:56:22 +0000 (15:56 +0000)]
2008-11-08  Emmanuele Bassi  <ebassi@linux.intel.com>

* tests/conform/Makefile.am:
* tests/conform/test-actor-invariants.c:
* tests/conform/test-conform-main.c: Move the actor invariants
unit to the conform section of the test suite.

* tests/interactive/Makefile.am:
* tests/interactive/test-entry-auto.c:
* tests/interactive/test-invariants.c: Remove the entry-auto
and invariants test, since those two belong to the conform
section.

15 years ago Bug 1162 - Re-works the tests/ to use the glib-2.16 unit testing
Robert Bragg [Fri, 7 Nov 2008 19:32:28 +0000 (19:32 +0000)]
Bug 1162 - Re-works the tests/ to use the glib-2.16 unit testing
framework

* configure.ac:
* tests/*:
The tests have been reorganised into different categories: conformance,
interactive and micro benchmarks.
- conformance tests can be run as part of automated tests
- interactive tests are basically all the existing tests
- micro benchmarks focus on a single performance metric

I converted the timeline tests to conformance tests and also added some
tests from Neil Roberts and Ebassi.

Note: currently only the conformance tests use the glib test APIs,
though the micro benchmarks should too.

The other change is to make the unit tests link into monolithic binaries
which makes the build time for unit tests considerably faster. To deal
with the extra complexity this adds to debugging individual tests I
have added some sugar to the makefiles so all the tests can be run
directly via a symlink and when an individual test is run this way,
then a note is printed to the terminal explaining exactly how that test
may be debugged using GDB.

There is a convenience make rule: 'make test-report', that will run all
the conformance tests and hopefully even open the results in your web
browser. It skips some of the slower timeline tests, but you can run
those using 'make full-report'

15 years ago2008-11-07 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Fri, 7 Nov 2008 18:00:59 +0000 (18:00 +0000)]
2008-11-07  Emmanuele Bassi  <ebassi@linux.intel.com>

* clutter/clutter-media.c: Improve documentation of the
ClutterMedia interface.

15 years ago2008-11-07 Matthew Allum <mallum@linux.intel.com>
Matthew Allum [Fri, 7 Nov 2008 17:00:54 +0000 (17:00 +0000)]
2008-11-07  Matthew Allum  <mallum@linux.intel.com>

        Bug 1238 - [PATCH] Pack bitfields in ClutterTexturePrivate

* clutter/clutter-texture.c:

        Using 'guint my_field : 1' for booleans to save space only
        makes sense if you group all such fields together. Fix
        grouping for ClutterTexturePrivate. Thanks to Owen Taylor for
patch.

15 years ago2008-11-07 Matthew Allum <mallum@linux.intel.com>
Matthew Allum [Fri, 7 Nov 2008 16:50:23 +0000 (16:50 +0000)]
2008-11-07  Matthew Allum  <mallum@linux.intel.com>

Bug 1237 - clutter_texture_set_filter_quality calls
                  clutter_texture_[un]realize

* clutter/clutter-texture.c: (clutter_texture_set_filter_quality):
        Call clutter_actor_[un]realize and keep visibility state

15 years ago2008-11-07 Matthew Allum <mallum@linux.intel.com>
Matthew Allum [Fri, 7 Nov 2008 16:31:56 +0000 (16:31 +0000)]
2008-11-07  Matthew Allum  <mallum@linux.intel.com>

        * clutter/clutter-actor.c:
        * clutter/clutter-actor.h:
        * clutter/clutter-clone-texture.c:
        * clutter/clutter-private.h:
        * clutter/clutter-texture.c:
        * clutter/x11/clutter-x11-texture-pixmap.c:

        Attempt to lower overhead of updating TFP's (particularly mipmaped).
        Compresses mipmap updates only for visible TFPs.
        Avoiding updates for non visible TFP's whilst keeping visible
        clones working ok.

15 years ago Bug 1230 - Pick fails on low precision color buffers
Neil Roberts [Thu, 6 Nov 2008 12:03:05 +0000 (12:03 +0000)]
Bug 1230 - Pick fails on low precision color buffers

* clutter/clutter-main.c (_clutter_id_to_color): When using fuzzy
picking to pick a color for an actor, it would previously set the
fuzzy bit and then all but the most significant of the remaining
unused bits. This meant that for 16-bit displays it would end up
with a strange pattern for the unused bits like 1011 which could
cause it to round up. Now it just sets all but the most
significant of all of the unused bits giving a pattern like
0111. Thanks to Guy Zadickario for the patch.

15 years ago * clutter/cogl/gles/cogl.c (cogl_perspective):
Neil Roberts [Thu, 6 Nov 2008 11:42:11 +0000 (11:42 +0000)]
* clutter/cogl/gles/cogl.c (cogl_perspective):
* clutter/cogl/common/cogl-fixed.c (cogl_fixed_sin)
(cogl_angle_sin, cogl_angle_tan, cogl_fixed_sqrt): Replaced uses
of 1 + ~x with just -x which is equivalent and easier to
understand.

15 years ago2008-11-06 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Thu, 6 Nov 2008 10:54:31 +0000 (10:54 +0000)]
2008-11-06  Emmanuele Bassi  <ebassi@linux.intel.com>

Bug 1233 - CLUTTER_ALPHA_SINE_INC is broken in trunk

* clutter/clutter-alpha.c: Fix a rollover in the sine functions.

15 years ago * clutter/clutter-color.c (clutter_color_new): Remove CLAMP macros
Neil Roberts [Wed, 5 Nov 2008 12:16:15 +0000 (12:16 +0000)]
* clutter/clutter-color.c (clutter_color_new): Remove CLAMP macros
around the component parameters because they are guint8 anyway so
the CLAMP is redundant and it causes a warning.

15 years ago2008-11-04 Thomas Wood <thomas@linux.intel.com>
Thomas Wood [Tue, 4 Nov 2008 17:52:29 +0000 (17:52 +0000)]
2008-11-04  Thomas Wood  <thomas@linux.intel.com>

* clutter/clutter-color.c: Update ClutterColor documentation as
changes have been backported to 0.8.4.

15 years ago2008-11-04 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Tue, 4 Nov 2008 16:37:04 +0000 (16:37 +0000)]
2008-11-04  Emmanuele Bassi  <ebassi@linux.intel.com>

* clutter/clutter-script.c: Document the "is-default" member of
a ClutterStage definition.

15 years ago * clutter/cogl/gl/cogl.c (cogl_perspective): Use the accurate
Neil Roberts [Tue, 4 Nov 2008 12:43:06 +0000 (12:43 +0000)]
* clutter/cogl/gl/cogl.c (cogl_perspective): Use the accurate
64-bit multiplication macro instead of COGL_FIXED_FAST_DIV for
calculating xmax as was done previously. This fixes
test-perspective and other tests that had a gone a bit skewiff.

15 years ago Bug 1181 - In Score, timelines, appended at markers, are also
Neil Roberts [Tue, 4 Nov 2008 10:40:53 +0000 (10:40 +0000)]
Bug 1181 - In Score, timelines, appended at markers, are also
called on complete

* clutter/clutter-score.c (start_children_entries): Use the name
of the marker to start as the data parameter and only start child
timelines that have the same marker name. Previously the
ClutterScore would just start all child entries when a marker was
reached or the timeline completed regardless of whether they were
added with a marker or not. Thanks to Mihail Naydenov for
reporting the bug.

15 years ago2008-11-03 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Mon, 3 Nov 2008 23:58:13 +0000 (23:58 +0000)]
2008-11-03  Emmanuele Bassi  <ebassi@linux.intel.com>

* clutter/cogl/gl/Makefile.am: Whitespace fixes.

* clutter/cogl/gles/Makefile.am: Put back a missing backslash
that broke the GLES build.

15 years ago2008-11-03 Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Mon, 3 Nov 2008 23:54:38 +0000 (23:54 +0000)]
2008-11-03  Emmanuele Bassi  <ebassi@linux.intel.com>

Bug 1231 - Build fails in gles flavour in revision 3442

* clutter/cogl/gles/cogl-context.h: Fix remaining use of
ClutterFixed over CoglFixed. (Michael Boccara)

15 years ago Bug 1207 - Timelines sometime miss markers
Neil Roberts [Mon, 3 Nov 2008 12:42:17 +0000 (12:42 +0000)]
Bug 1207 - Timelines sometime miss markers

* clutter/clutter-timeline.c (timeline_timeout_func): Move the
code for firing the new-frame and marker-reached signals into a
separate static function so that it can also be called when the
last frame is reached. Also fix an issue where the frame numbers
were changed in the wrong direction when detecting missed markers
in a reversed timeline. Based on a patch by Michael Boccara.

* tests/test-timeline.c: Now tries to automatically verify whether
the test worked by keeping track of all the signal emissions. The
timelines are run a second time with an extra timeout that causes
delays to simulate skipped frames.

15 years agoUpdate TODO
Emmanuele Bassi [Sat, 1 Nov 2008 14:45:39 +0000 (14:45 +0000)]
Update TODO

15 years agoFix typo
Emmanuele Bassi [Sat, 1 Nov 2008 14:40:43 +0000 (14:40 +0000)]
Fix typo