25966 Commits

Author SHA1 Message Date
Emmanuele Bassi
b030756dca [shader] Unify code paths
ClutterShader contains a lot of duplication, as the vertex and fragment
shader code paths are mostly the same.

The code should be simplified by adding new internal functions that can
be called with a value from the already present ClutterShaderType
enumeration.

In the future it'll also be possible to deprecate the current split API
and expose the generic accessors instead.
2009-03-10 12:38:02 +00:00
Emmanuele Bassi
7d674db9d2 Clean up of the ClutterColor API
The ClutterColor API has some inconsistencies:

  - the string deserialization function does not match the rest of
    the conversion function naming policy; the naming should be:

        clutter_color_parse()   ->      clutter_color_from_string()

    and the first parameter should be the ClutterColor that will
    be set from the string, not the string itself (a GDK-ism).

  - the fixed point API should not be exposed, especially in the
    form of ClutterFixed values

  - the non-fixed point HLS conversion functions do not make any
    sense. The values returned should be:

      hue        := range [ 0, 360 ]
      luminance  := range [ 0,   1 ]
      saturation := range [ 0,   1 ]

    like the current fixed point API does. Returning a value in
    the [ 0, 255 ] range is completely useless

  - the clutter_color_equal() should be converted for its use inside
    a GHashTable; a clutter_color_hash() should be added as well

  - the second parameter of the clutter_color_shade() function should
    be the shading factor, not the result (another GDK-ism). this way
    the function call can be translated from this:

      color.shade(out result, factor)

    to the more natural:

      color.shade(factor, out result)

This somewhat large commit fixes all these issues and updates the
internal users of the API.
2009-03-10 12:38:02 +00:00
Emmanuele Bassi
8a1eca7287 [cogl] Add a PANGO debug flag for CoglPango use
The CoglPango code falls under the COGL "jurisdiction"; this means
that it cannot include Clutter headers unless strictly necessary.

The CoglPangoRenderer code was using the CLUTTER_NOTE() macro. Now
that COGL has it's own COGL_NOTE() similar macro, CoglPango should
use that and avoid including clutter-debug.h (which pulls in
clutter-private.h which in turn pulls in clutter-actor.h).

A new flag, COGL_DEBUG_PANGO, has been added to the COGL debug
flags.
2009-03-10 12:38:02 +00:00
Colin Walters
3a4538e4f2 Typo in clutter-win32.pc.in introduced by commit 24ce19383 2009-03-10 12:16:53 +00:00
Neil Roberts
ee6145c795 Set the mapped flag on the stage in the SDL and eglnative backends
Bug 1493 - GL ES does not work since Jan 9 in PowerVR SGX 535, Intel

The mapped flag needs to be set on the stage otherwise
clutter_actor_queue_redraw will never queue a redraw and never draw
anything.

In these two backends there is not really a way to hide the stage so
they both set the mapped flag immediatly when clutter_actor_show is
called.
2009-03-09 18:53:31 +00:00
Owen W. Taylor
f9d996a460 Use COGL to establish GL state for ClutterGLXTexturePixmap
Using glEnable() directly confuses COGL and can result in problems
like subsequent pick operations not working correctly. Get the
material for the ClutterTexture and call cogl_material_flush_gl_state()
instead.

http://bugzilla.openedhand.com/show_bug.cgi?id=1483
2009-03-09 15:42:23 +00:00
Neil Roberts
65c5188c7e [eglnative] Add -I flags for the clutter dir in the src and build dirs
These are required to include the Cogl header files.
2009-03-09 12:34:18 +00:00
Neil Roberts
67523ddc6e Fix warning in clutter-backend-sdl
Removed direct use of SDL_GetError as a format string for g_set_error
to fix a compiler warning.
2009-03-09 12:34:18 +00:00
Colin Walters
24ce193836 Bug 1491 - Fix hardcoded lib path in .pc files
We should instead use @libdir@ from configure to be correct
on multilib systems.
2009-03-09 10:45:09 +00:00
Petr Kovar
c47f7c2806 Updated Czech translation. Removed "src/ui/metacity-dialog.c".
2009-03-08  Petr Kovar  <pknbe@volny.cz>

	* cs.po: Updated Czech translation.
	* POTFILES.in: Removed "src/ui/metacity-dialog.c".

svn path=/trunk/; revision=4185
2009-03-08 19:34:41 +00:00
Petr Kovar
cb4c9aa64f Updated Czech translation.
2009-03-08  Petr Kovar  <pknbe@volny.cz>

	* cs.po: Updated Czech translation.

svn path=/branches/gnome-2-26/; revision=4184
2009-03-08 19:24:57 +00:00
Mark Krapivner
15f4656d9a Updated Hebrew translation
svn path=/branches/gnome-2-26/; revision=4183
2009-03-07 12:38:46 +00:00
Mark Krapivner
cba863dc5f Updated Hebrew translation
svn path=/branches/gnome-2-26/; revision=4182
2009-03-07 12:33:24 +00:00
Thomas James Alexander Thurman
ab6aa5463f add optional dependency on gtop. Include "(as username)" in the titlebar
* configure.in: add optional dependency on gtop.
	* src/core/window-props.c: Include "(as username)"
          in the titlebar if a window is running as another user.
	* src/core/window.c: check for PID before name, since
          the rendering of the name can now depend on the PID.
        Closes #549389.


svn path=/trunk/; revision=4181
2009-03-06 22:51:02 +00:00
miloc
9e3af9b51f Updated Italian translation by Luca Ferretti
svn path=/branches/gnome-2-26/; revision=4180
2009-03-06 21:32:28 +00:00
Amanpreet Singh Alam
143e566498 updating translation for Punjabi
svn path=/branches/gnome-2-26/; revision=4179
2009-03-05 02:11:22 +00:00
Luca Ferretti
000aaaf95d Updated Italian translation
2009-03-04  Luca Ferretti  <elle.uca@libero.it>

	* it.po: Updated Italian translation

svn path=/branches/gnome-2-26/; revision=4178
2009-03-04 15:34:04 +00:00
Claude Paroz
42387bff6f Updated French translation (synced with gnome-2-26).
2009-03-02  Claude Paroz  <claude@2xlibre.net>

	* fr.po: Updated French translation (synced with gnome-2-26).

svn path=/trunk/; revision=4177
2009-03-02 21:33:24 +00:00
Claude Paroz
3fe6268f10 Updated French translation by Frédéric Peters and Claude Paroz.
2009-03-02  Claude Paroz  <claude@2xlibre.net>

	* fr.po: Updated French translation by Frédéric Peters and Claude Paroz.

svn path=/branches/gnome-2-26/; revision=4176
2009-03-02 21:28:18 +00:00
Felix I
f749f9ceef tamil translation updated
svn path=/branches/gnome-2-26/; revision=4175
2009-03-02 10:50:53 +00:00
Matej Urbančič
c284a90663 Updated Slovenian translation
svn path=/branches/gnome-2-26/; revision=4174
2009-03-02 10:39:19 +00:00
Duarte Loreto
50442cf96b Updated Portuguese translation.
2009-02-28  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation.

svn path=/branches/gnome-2-26/; revision=4173
2009-02-28 16:44:22 +00:00
Ilkka Tuohela
4bfacf4a39 Updated Finnish translation
svn path=/branches/gnome-2-26/; revision=4172
2009-02-28 15:55:21 +00:00
Jorge Gonzalez Gonzalez
3afd25691a Updated Spanish translation
svn path=/trunk/; revision=4171
2009-02-28 12:29:19 +00:00
Øyvind Kolås
9df3fb993c Add a warning for recursive emit_event
When event delivery is invoked by synthetic events through
clutter_do_event from inside an event handler clutter was silently
ignoring it, this warning will hopefully help resolving some issues.
2009-02-27 17:59:16 +00:00
Robert Bragg
f816644022 [cogl-matrix] Documents that CoglMatrix members should be considered read only
In the future if we want to annotate matrices with internal flags, and add
caching of the inverse matrix then we need to ensure that all matrix
modifications are done by cogl_matrix API so we'd know when to dirty the
cache or update the flags.

This just adds documentation to that effect, and assuming the most likley
case where someone would try and directly write to matrix members would
probably be to load a constant matrix other than the identity matrix; I
renamed cogl_matrix_init_from_gl_matrix to cogl_matrix_init_from_array to
make it seem more general purpose.
2009-02-26 16:42:32 +00:00
Robert Bragg
af0726480c [cogl-matrix] Documents that CoglMatrix members should be considered read only
In the future if we want to annotate matrices with internal flags, and add
caching of the inverse matrix then we need to ensure that all matrix
modifications are done by cogl_matrix API so we'd know when to dirty the
cache or update the flags.

This just adds documentation to that effect, and assuming the most likley
case where someone would try and directly write to matrix members would
probably be to load a constant matrix other than the identity matrix; I
renamed cogl_matrix_init_from_gl_matrix to cogl_matrix_init_from_array to
make it seem more general purpose.
2009-02-26 16:42:32 +00:00
Robert Bragg
9878fdf5c6 [cogl-matrix] Adds padding to CoglMatrix
This adds enough padding to allow us to potentially add a cache of the inverse
matrix in the future and private flags to annotate matrices.
2009-02-26 16:42:32 +00:00
Robert Bragg
0a218a64e2 [cogl-matrix] Adds padding to CoglMatrix
This adds enough padding to allow us to potentially add a cache of the inverse
matrix in the future and private flags to annotate matrices.
2009-02-26 16:42:32 +00:00
Emmanuele Bassi
b39223d8cb [backend] Constify font options
The font options accessors in ClutterBackend only deal with const
cairo_font_options_t values, since:

  - set_font_options() will copy the font options
  - get_font_options() will return a pointer to the internal
    font options

Not using const in these cases makes the API confusing and might lead
to erroneous calls to cairo_font_options_destroy().
2009-02-26 15:32:48 +00:00
Emmanuele Bassi
8354295986 Intern the ClutterScriptable type name
Like we do for other types, use the I_() macro to intern the
type name during the GType registration for ClutterScriptable.
2009-02-26 14:57:58 +00:00
Bastian Winkler
28a3cbf38e Remove redundant declaration in clutter-text.h
clutter-text.h declares clutter_text_get_layout twice.

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2009-02-26 12:49:50 +00:00
Emmanuele Bassi
0fc9452b03 [build] Do not shave typelib generation
Bug 1478 - typelib creation shaved out of existence

Add a 'GEN' output rule for the typelib files created when
introspection is enabled.
2009-02-26 12:46:36 +00:00
Emmanuele Bassi
259443b145 [build] Put the X11 pc dependencies in another variable
If X11 comes with pkg-config files (like it should) we should not add
those dependencies to the generic BACKEND_PC_FILES variable: that
variable is meant only for backend-specific dependencies handled by
pkg-config -- and Clutter supports non-X11 backends as well.

The X11_PC_FILES variable will only contain X11-related dependencies,
and will be set as part of BACKEND_PC_FILES only inside the GLX and
EGLX backends sections.
2009-02-26 11:58:21 +00:00
Owen W. Taylor
3490dcaba4 Fix x/y confusion for GL_TEXTURE_RECTANGLE_ARB
When "denormalizing" for texture rectangles, multiple X coordinates
by the X size and Y coordinates by the Y size.

http://bugzilla.openedhand.com/show_bug.cgi?id=1479
2009-02-26 11:27:21 +00:00
Owen W. Taylor
402e2e0d82 Fix x/y confusion for GL_TEXTURE_RECTANGLE_ARB
When "denormalizing" for texture rectangles, multiple X coordinates
by the X size and Y coordinates by the Y size.

http://bugzilla.openedhand.com/show_bug.cgi?id=1479
2009-02-26 11:27:21 +00:00
Neil Roberts
ce83007c1d [cogl-pango-glyph-cache] Fix compiler warning on 64-bit
gcc warns about casting a pointer to a guint because it is a different
size on 64-bit machines. However the pointer is only used as a hash so
it doesn't matter if we lose the most significant bits. The patch
makes it use GPOINTER_TO_UINT instead which first casts it to a gulong
and avoids the warning.
2009-02-26 10:56:42 +00:00
Neil Roberts
1626d6132e [clutter-texture] Use a GThreadPool for loading async textures
Instead of creating a separate thread for each texture load, the loads
are now queued in a thread pool which will use at most 3 textures at a
time. This avoids the potentially large overhead of creating and
destroying a thread for every image while still avoiding throttling
the CPU if a large number of textures are loaded at the same time.

If the load is cancelled the old code needed to join the thread which
effectively meant it had to wait for the load to finish. With this
model the threads are owned by the thread pool so there is no need to
wait for them to finish. Instead, each thread is given its own thread
data which we can use to mark the thread as aborted. Once the load is
finished the thread will check whether it is aborted before setting
the texture data. That way the ClutterTexture can just disown threads
that it needs to cancel.
2009-02-25 17:52:14 +00:00
Neil Roberts
3425331cc1 [tests/tools] Don't install libdisable-npots.so
The libdisable-npots library is just used as a helper as part of
make test so it should not be installed.

If noinst_* is used then automake will generate a static library but
this won't work with LD_PRELOAD so we then need an extra custom rule
to link that into a shared library. The custom rule uses the $(LINK)
Makefile var which gets put in the Makefile because of the static
library. We pass libtool a stub -rpath option which causes it to
generate a shared library.
2009-02-24 17:04:05 +00:00
Emmanuele Bassi
bff6ce414a [media] Add sub-second resolution for the duration
The duration in ClutterMedia is currently expressed in integer multiples
of a second. This does not offer enough granularity for media playback
that has fractionary durations -- 2.3 seconds; 1 minute, 23.4 seconds;
1 hour, 23 minutes, 4.5 seconds; etc.

The duration value should be expressed in seconds with a sub-second
granularity; for this reason, a double should be used insted of an
unsigned integer.

The semantics haven't changed: the :duration property still exposes
seconds.
2009-02-24 16:22:02 +00:00
Bastian Winkler
dd3c760cc5 [media] Fix the interface cast macro
Bug 1474 - ClutterMedia interface

The GET_INTERFACE() macro is still using the old type name of
the ClutterMedia interface structure in the cast.

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2009-02-24 16:00:18 +00:00
Matej Urbančič
a6a963bec1 Updated Slovenian translation
svn path=/trunk/; revision=4170
2009-02-24 14:58:19 +00:00
Jonathan Matthew
ee3647f84d Declare the EnumValues for PixelFormat static
Bug 1473 - CoglPixelFormat enum data must be declared static

When registering an enumeration GType, the GEnumValue or GFlagsValue
arrays must be declared static; otherwise, you get a segmentation
fault when calling the function again.

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2009-02-24 09:29:08 +00:00
Jonathan Matthew
eaf202c886 Declare the EnumValues for PixelFormat static
Bug 1473 - CoglPixelFormat enum data must be declared static

When registering an enumeration GType, the GEnumValue or GFlagsValue
arrays must be declared static; otherwise, you get a segmentation
fault when calling the function again.

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2009-02-24 09:29:08 +00:00
Emmanuele Bassi
3409a941a4 Use a dynamic array for the actors when delivering events
Instead of using a fixed size array for storing the scenegraph sub-node
during event delivery we should use a GPtrArray. The benefits are:

  - a smaller allocation
  - no undocumented yet binding constraint on the scenegraph size
2009-02-24 09:29:08 +00:00
Emmanuele Bassi
64db7896db Remove stray fixed point macro usage
The CoglPango renderer is using a CLUTTER_FIXED macro, but the
whole code has been Clutter-free for a while, now.
2009-02-24 09:29:07 +00:00
Philip Withnall
d587a4b859 Updated British English translation.
2009-02-23  Philip Withnall  <philip@tecnocode.co.uk>

	* en_GB.po: Updated British English translation.


svn path=/branches/gnome-2-26/; revision=4169
2009-02-23 18:48:25 +00:00
Robert Bragg
62ac234ca9 [test-vertex-buffer-contiguous] Improves the texturing test
The test now explicitly reads back from the framebuffer to sanity check that
texturing is happening as expected, and it now uses a fixed 2x2 texture instead
of redhand.png since redhand.png doesn't have a power of two size which can
cause the vertex buffer code to complain on hardware not supporting npot
textures.
2009-02-23 16:38:43 +00:00
Gil Forcada Codinachs
8d5b142664 Updated Catalan translation by David Planella
svn path=/branches/gnome-2-26/; revision=4168
2009-02-23 14:38:03 +00:00
Ilkka Tuohela
e44664a3b5 Updated Finnish translation
svn path=/branches/gnome-2-26/; revision=4167
2009-02-23 13:48:53 +00:00