profile/ivi/clutter.git
13 years agoUpdated Spanish translation
Daniel Mustieles [Thu, 14 Apr 2011 17:19:14 +0000 (19:19 +0200)]
Updated Spanish translation

13 years agoUse the actor's debug name consistently
Emmanuele Bassi [Thu, 14 Apr 2011 16:58:15 +0000 (17:58 +0100)]
Use the actor's debug name consistently

Do not use the generic GType class name: we have a :name property on
ClutterActor that is generally used for debugging purposes — so we
should use it when creating debugging spew in a consistent way.

13 years agoglx: Chain up in ::unrealize()
Emmanuele Bassi [Thu, 14 Apr 2011 14:44:22 +0000 (15:44 +0100)]
glx: Chain up in ::unrealize()

And avoid a segmentation fault on stage destruction if the main loop
keeps running.

13 years agox11: Provide a StageWindow::unrealize implementation
Emmanuele Bassi [Thu, 14 Apr 2011 14:43:19 +0000 (15:43 +0100)]
x11: Provide a StageWindow::unrealize implementation

The Cogl rework removed the Window creation from realize and its
relative destruction from unrealize; the two vfuncs also managed
the mapping between Window and Stage implementation that we use
when dealing with event handling. Sadly, the missing unrealization
left entries in the mapping dangling.

Since ClutterStageX11 already provides a ::realize implementation
that sub-classes are supposed to chain up to, and the Window ↔ Stage
mapping is private to clutter-stage-x11.c, it seems only fair that
the ClutterStageX11 should also provide an ::unrealize implementation
matching the ::realize.

This implementation just removes the StageX11 pointer from the X11
Window ↔ ClutterStageX11 mapping we set up in ::realize, since the
X11 Window is managed by Cogl, now.

13 years agoGL_IMG_TEXTURE_NPOT extension enables TEXTURE_NPOT features on GLES
James Athey [Mon, 11 Apr 2011 18:26:45 +0000 (14:26 -0400)]
GL_IMG_TEXTURE_NPOT extension enables TEXTURE_NPOT features on GLES

Older drivers for PowerVR SGX hardware have the vendor-specific
GL_IMG_TEXTURE_NPOT extension instead of the
functionally-equivalent GL_OES_TEXTURE_NPOT extension.

13 years agodetermine evdev device type using g_udev_device_has_property
James Athey [Tue, 12 Apr 2011 15:33:58 +0000 (11:33 -0400)]
determine evdev device type using g_udev_device_has_property

http://bugzilla.clutter-project.org/show_bug.cgi?id=2631

13 years agouniquely name and enable evdev ClutterInputDevice objects on creation
James Athey [Tue, 12 Apr 2011 15:32:43 +0000 (11:32 -0400)]
uniquely name and enable evdev ClutterInputDevice objects on creation

http://bugzilla.clutter-project.org/show_bug.cgi?id=2631

13 years agoSilence another compiler warning
Emmanuele Bassi [Tue, 12 Apr 2011 20:02:14 +0000 (21:02 +0100)]
Silence another compiler warning

13 years agoSilence the compiler by removing unused variables
Emmanuele Bassi [Tue, 12 Apr 2011 19:35:31 +0000 (20:35 +0100)]
Silence the compiler by removing unused variables

13 years agoglx: Protect GLX SwapEvent symbols
Emmanuele Bassi [Tue, 12 Apr 2011 19:28:36 +0000 (20:28 +0100)]
glx: Protect GLX SwapEvent symbols

We need to guard the usage of symbols related to the
GLX_INTEL_swap_event extension, to avoid breaking on platforms and/or
versions of Mesa that do not expose that extension.

13 years agoUpdated Slovenian translation
Matej Urbančič [Tue, 12 Apr 2011 19:17:29 +0000 (21:17 +0200)]
Updated Slovenian translation

13 years agoUpdated Slovenian translation
Matej Urbančič [Tue, 12 Apr 2011 19:10:23 +0000 (21:10 +0200)]
Updated Slovenian translation

13 years agoUpdated Spanish translation
Daniel Mustieles [Tue, 12 Apr 2011 19:05:10 +0000 (21:05 +0200)]
Updated Spanish translation

13 years agoREADME.md: Fix all the links to Bugzilla
Emmanuele Bassi [Tue, 12 Apr 2011 16:53:24 +0000 (17:53 +0100)]
README.md: Fix all the links to Bugzilla

13 years agoPoint to GNOME for filing bugs
Emmanuele Bassi [Tue, 12 Apr 2011 16:32:01 +0000 (17:32 +0100)]
Point to GNOME for filing bugs

The canonical bug tracker for Clutter has been moved to
bugzilla.gnome.org.

13 years agoglx: Remove unused variable
Emmanuele Bassi [Tue, 12 Apr 2011 16:00:08 +0000 (17:00 +0100)]
glx: Remove unused variable

Make gcc not complain about it.

13 years agoUpdated Czech translation
Marek Černocký [Mon, 11 Apr 2011 21:38:49 +0000 (23:38 +0200)]
Updated Czech translation

13 years agoUpdated Spanish translation
Daniel Mustieles [Mon, 11 Apr 2011 18:58:43 +0000 (20:58 +0200)]
Updated Spanish translation

13 years agoMake cogl_framebuffer_get_width/height experimental public API
Robert Bragg [Tue, 1 Mar 2011 23:12:18 +0000 (23:12 +0000)]
Make cogl_framebuffer_get_width/height experimental public API

It's generally useful to be able to query the width and height of a
framebuffer and we expect to need this in Clutter when we move the
eglnative backend code into Cogl since Clutter will need to read back
the fixed size of the framebuffer when realizing the stage.

13 years agobackend: remove untested fruity backend
Robert Bragg [Thu, 24 Feb 2011 12:05:15 +0000 (12:05 +0000)]
backend: remove untested fruity backend

This backend hasn't been used for years now and so because it is
untested code and almost certainly doesn't work any more it would be a
burdon to continue trying to maintain it. Considering that we are now
looking at moving OpenGL window system integration code down from
Clutter backends into Cogl that will be easier if we don't have to
consider this backend.

13 years agoAdds a --with-system-cogl config option for Clutter
Robert Bragg [Tue, 22 Feb 2011 15:51:13 +0000 (15:51 +0000)]
Adds a --with-system-cogl config option for Clutter

This makes it possible to build Clutter against a standalone build of
Cogl instead of having the Clutter build traverse into the clutter/cogl
subdirectory.

13 years agoAdds the ability to build Cogl standalone
Robert Bragg [Thu, 10 Feb 2011 02:32:11 +0000 (02:32 +0000)]
Adds the ability to build Cogl standalone

This adds an autogen.sh, configure.ac and build/autotool files etc under
clutter/cogl and makes some corresponding Makefile.am changes that make
it possible to build and install Cogl as a standalone library.

Some notable things about this are:
A standalone installation of Cogl installs 3 pkg-config files;
cogl-1.0.pc, cogl-gl-1.0.pc and cogl-2.0.pc. The second is only for
compatibility with what clutter installed though I'm not sure that
anything uses it so maybe we could remove it. cogl-1.0.pc is what
Clutter would use if it were updated to build against a standalone cogl
library. cogl-2.0.pc is what you would use if you were writing a
standalone Cogl application.

A standalone installation results in two libraries currently, libcogl.so
and libcogl-pango.so. Notably we don't include a major number in the
sonames because libcogl supports two major API versions; 1.x as used by
Clutter and the experimental 2.x API for standalone applications.
Parallel installation of later versions e.g. 3.x and beyond will be
supportable either with new sonames or if we can maintain ABI then we'll
continue to share libcogl.so.

The headers are similarly not installed into a directory with a major
version number since the same headers are shared to export the 1.x and
2.x APIs (The only difference is that cogl-2.0.pc ensures that
-DCOGL_ENABLE_EXPERIMENTAL_2_0_API is used). Parallel installation of
later versions is not precluded though since we can either continue
sharing or later add a major version suffix.

13 years agoMoves all GLX code down from Clutter to Cogl
Robert Bragg [Fri, 5 Nov 2010 12:28:33 +0000 (12:28 +0000)]
Moves all GLX code down from Clutter to Cogl

This migrates all the GLX window system code down from the Clutter
backend code into a Cogl winsys. Moving OpenGL window system binding
code down from Clutter into Cogl is the biggest blocker to having Cogl
become a standalone 3D graphics library, so this is an important step in
that direction.

13 years agoAdds renderer,display,onscreen-template and swap-chain stubs
Robert Bragg [Fri, 25 Feb 2011 17:06:50 +0000 (17:06 +0000)]
Adds renderer,display,onscreen-template and swap-chain stubs

As part of the process of splitting Cogl out as a standalone graphics
API we need to introduce some API concepts that will allow us to
initialize a new CoglContext when Clutter isn't there to handle that for
us...

The new objects roughly in the order that they are (optionally) involved
in constructing a context are: CoglRenderer, CoglOnscreenTemplate,
CoglSwapChain and CoglDisplay.

Conceptually a CoglRenderer represents a means for rendering.  Cogl
supports rendering via OpenGL or OpenGL ES 1/2.0 and those APIs are
accessed through a number of different windowing APIs such as GLX, EGL,
SDL or WGL and more. Potentially in the future Cogl could render using
D3D or even by using libdrm and directly banging the hardware. All these
choices are wrapped up in the configuration of a CoglRenderer.

Conceptually a CoglDisplay represents a display pipeline for a renderer.
Although Cogl doesn't aim to provide a detailed abstraction of display
hardware, on some platforms we can give control over multiple display
planes (On TV platforms for instance video content may be on one plane
and 3D would be on another so a CoglDisplay lets you select the plane
up-front.)

Another aspect of CoglDisplay is that it lets us negotiate a display
pipeline that best supports the type of CoglOnscreen framebuffers we are
planning to create. For instance if you want transparent CoglOnscreen
framebuffers then we have to be sure the display pipeline wont discard
the alpha component of your framebuffers. Or if you want to use
double/tripple buffering that requires support from the display
pipeline.

CoglOnscreenTemplate and CoglSwapChain are how we describe our default
CoglOnscreen framebuffer configuration which can affect the
configuration of the display pipeline.

The default/simple way we expect most CoglContexts to be constructed
will be via something like:

 if (!cogl_context_new (NULL, &error))
   g_error ("Failed to construct a CoglContext: %s", error->message);

Where that NULL is for an optional "display" parameter and NULL says to
Cogl "please just try to do something sensible".

If you want some more control though you can manually construct a
CoglDisplay something like:

 display = cogl_display_new (NULL, NULL);
 cogl_gdl_display_set_plane (display, plane);
 if (!cogl_display_setup (display, &error))
   g_error ("Failed to setup a CoglDisplay: %s", error->message);

And in a similar fashion to cogl_context_new() you can optionally pass
a NULL "renderer" and/or a NULL "onscreen template" so Cogl will try to
just do something sensible.

If you need to change the CoglOnscreen defaults you can provide a
template something like:
  chain = cogl_swap_chain_new ();
  cogl_swap_chain_set_has_alpha (chain, TRUE);
  cogl_swap_chain_set_length (chain, 3);

  onscreen_template = cogl_onscreen_template_new (chain);
  cogl_onscreen_template_set_pixel_format (onscreen_template,
                                           COGL_PIXEL_FORMAT_RGB565);

  display = cogl_display_new (NULL, onscreen_template);
  if (!cogl_display_setup (display, &error))
    g_error ("Failed to setup a CoglDisplay: %s", error->message);

13 years agorename winsys files to be more consistent
Robert Bragg [Tue, 22 Feb 2011 20:08:16 +0000 (20:08 +0000)]
rename winsys files to be more consistent

This tries to make the naming style of files under cogl/winsys/
consistent with other cogl source files. In particular private header
files didn't have a '-private' infix.

13 years agoAdd temporary cogl-clutter.h to aid splitting out Cogl
Robert Bragg [Tue, 22 Feb 2011 18:25:29 +0000 (18:25 +0000)]
Add temporary cogl-clutter.h to aid splitting out Cogl

This gives us a way to clearly track the internal Cogl API that Clutter
depends on. The aim is to split Cogl out from Clutter into a standalone
3D graphics API and eventually we want to get rid of any private
interfaces for Clutter so its useful to have a handle on that task.
Actually it's not as bad as I was expecting though.

13 years agoactor: visualize culling with CLUTTER_PAINT=redraws
Robert Bragg [Tue, 15 Mar 2011 12:08:46 +0000 (12:08 +0000)]
actor: visualize culling with CLUTTER_PAINT=redraws

This extends visualization for CLUTTER_PAINT=redraws so it now also
draws outlines for actors to show how they are being culled. Actors get
a green outline if they are fully inside the clip region, blue if fully
outside and greeny-blue if only partially inside.

13 years agostage: adds internal_get_active_framebuffer API
Robert Bragg [Thu, 10 Mar 2011 22:05:03 +0000 (22:05 +0000)]
stage: adds internal_get_active_framebuffer API

This adds an internal _clutter_stage_get_active_framebuffer function
that can be used to get a pointer to the current CoglFramebuffer pointer
that is in use, in association with a given stage.

The "active" infix in the function name is there because we shouldn't
assume that a stage will always correspond to only a single framebuffer
so we aren't getting a pointer to a sole framebuffer, we are getting
a pointer to the framebuffer that is currently in use/being painted.

This API is now used for culling purposes where we need to check if we
are currently painting an actor to a framebuffer that is offscreen, that
doesn't correspond to the stage.

13 years agoframebuffer: expose experimental cogl_get_draw_framebuffer
Robert Bragg [Thu, 10 Mar 2011 21:33:31 +0000 (21:33 +0000)]
framebuffer: expose experimental cogl_get_draw_framebuffer

This renames the two internal functions _cogl_get_draw/read_buffer
as cogl_get_draw_framebuffer and _cogl_get_read_framebuffer. The
former is now also exposed as experimental API.

13 years agoframebuffer: track context as CoglFramebuffer member
Robert Bragg [Tue, 22 Feb 2011 17:58:47 +0000 (17:58 +0000)]
framebuffer: track context as CoglFramebuffer member

The long term goal with the Cogl API is that we will get rid of the
default global context. As a step towards this, this patch tracks a
reference back to the context in each CoglFramebuffer so in a lot of
cases we can avoid using the _COGL_GET_CONTEXT macro.

13 years agoremove unused _cogl_features_init prototype
Robert Bragg [Tue, 22 Feb 2011 17:30:54 +0000 (17:30 +0000)]
remove unused _cogl_features_init prototype

There is no corresponding implementation of _cogl_features_init any more
so it was simply an oversight that the prototype wasn't removed when the
implementation was removed.

13 years agoRemove unused _cogl_swap_buffers_notify
Robert Bragg [Tue, 22 Feb 2011 17:13:56 +0000 (17:13 +0000)]
Remove unused _cogl_swap_buffers_notify

Recently _cogl_swap_buffers_notify was added (in 142b229c5c26) so that
Cogl would be notified when Clutter performs a swap buffers request for
a given onscreen framebuffer. It was expected this would be required for
the recent cogl_read_pixel optimization that was implemented (ref
1bdb0e6e98db) but in the end it wasn't used.

Since it wasn't used in the end this patch removes the API.

13 years agocogl: consolidate _create_context_driver + _features_init
Robert Bragg [Fri, 5 Nov 2010 00:34:37 +0000 (00:34 +0000)]
cogl: consolidate _create_context_driver + _features_init

This moves the functionality of _cogl_create_context_driver from
driver/{gl,gles}/cogl-context-driver-{gl,gles}.c into
driver/{gl,gles}/cogl-{gl,gles}.c as a static function called
initialize_context_driver.

cogl-context-driver-{gl,gles}.[ch] have now been removed.

13 years agocogl: Adds experimental cogl_context_new() API
Robert Bragg [Fri, 5 Nov 2010 00:00:25 +0000 (00:00 +0000)]
cogl: Adds experimental cogl_context_new() API

This adds a new experimental function (you need to define
COGL_ENABLE_EXPERIMENTAL_API to access it) which takes us towards being
able to have a standalone Cogl API. This is really a minor aesthetic
change for now since all the GL context creation code still lives in
Clutter but it's a step forward none the less.

Since our current designs introduce a CoglDisplay object as something
that would be passed to the context constructor this provides a stub
cogl-display.h with CoglDisplay typedef.

_cogl_context_get_default() which Clutter uses to access the Cogl
context has been modified to use cogl_context_new() to initialize
the default context.

There is one rather nasty hack used in this patch which is that the
implementation of cogl_context_new() has to forcibly make the allocated
context become the default context because currently all the code in
Cogl assumes it can access the context using _COGL_GET_CONTEXT including
code used to initialize the context.

13 years agocogl: rename cogl-context.h cogl-context-private.h
Robert Bragg [Thu, 4 Nov 2010 22:25:52 +0000 (22:25 +0000)]
cogl: rename cogl-context.h cogl-context-private.h

Since we plan to add public cogl_context_* API we need to rename the
current cogl-context.h which contains private member details.

13 years agostage: Move _clutter_do_pick to clutter-stage.c
Robert Bragg [Tue, 15 Mar 2011 13:17:04 +0000 (13:17 +0000)]
stage: Move _clutter_do_pick to clutter-stage.c

This moves the implementation of _clutter_do_pick to clutter-stage.c and
renames it _clutter_stage_do_pick. This function can be compared to
_clutter_stage_do_update/redraw in that it prepares for and starts a
traversal of a scenegraph descending from a given stage. Since it is
desirable that this function should have access to the private state of
the stage it is awkward to maintain outside of clutter-stage.c.

Besides moving _clutter_do_pick this patch is also able to remove the
following private state accessors from clutter-stage-private.h:
_clutter_stage_set_pick_buffer_valid,
_clutter_stage_get_pick_buffer_valid,
_clutter_stage_increment_picks_per_frame_counter,
_clutter_stage_reset_picks_per_frame_counter and
_clutter_stage_get_picks_per_frame_counter.

13 years agopaint-volume: Fix culling bug to handle partial culls
Robert Bragg [Tue, 15 Mar 2011 10:23:41 +0000 (10:23 +0000)]
paint-volume: Fix culling bug to handle partial culls

This updates the inner loops of the cull function so now the vertices of
the polygon being culled are iterated in the inner loop instead of the
clip planes and we count how many vertices are outside the current
plane so we can bail out immediately if all the vertices are outside of
any plane and so we can correctly track partial intersections with the
clip region.

The previous approach could catch some partial intersections but for
example a rectangle that was larger than the clip region centred over
the clip region with all corners outside would be reported as outside,
not as a partial intersection.

13 years agoCzech translation
Marek Černocký [Thu, 7 Apr 2011 16:28:06 +0000 (18:28 +0200)]
Czech translation

13 years agobuild: Fix typo in the docs URI variable name
Emmanuele Bassi [Thu, 7 Apr 2011 14:07:43 +0000 (15:07 +0100)]
build: Fix typo in the docs URI variable name

13 years agoUpdated Spanish translation
Daniel Mustieles [Wed, 6 Apr 2011 17:49:41 +0000 (19:49 +0200)]
Updated Spanish translation

13 years agocogl-pango-glyph-cache: Fix the flags passed to cogl_atlas_new
Neil Roberts [Wed, 6 Apr 2011 14:24:33 +0000 (15:24 +0100)]
cogl-pango-glyph-cache: Fix the flags passed to cogl_atlas_new

In 047227fb cogl_atlas_new was changed so that it can take a flags
parameter to specify whether to clear the new atlases and whether to
copy images to the new atlas after reorganisation. This was done so
that the atlas code could be shared with the glyph cache. At some
point during the development of this patch the flag was just a single
boolean instead and this is accidentally how it is used from the glyph
cache. The glyph cache therefore passes 'TRUE' as the set of flags
which means it will only get the 'clear' flag and not the
'disable-migration' flag. When the glyph cache gets full it will
therefore try to copy the texture to the new atlas as well as
redrawing them with cairo. This causes problems because the glyph
cache needs to work in situations where there is no FBO support.

13 years ago[l10n] Updated German translation
Christian Kirbach [Tue, 5 Apr 2011 19:17:03 +0000 (21:17 +0200)]
[l10n] Updated German translation

13 years agocogl-pipeline: Be careful not to take ownership of root layer
Neil Roberts [Tue, 5 Apr 2011 16:30:29 +0000 (17:30 +0100)]
cogl-pipeline: Be careful not to take ownership of root layer

In _cogl_pipeline_prune_empty_layer_difference if the layer's parent
has no owner then it just takes ownership of it. However this could
theoretically end up taking ownership of the root layer because
according to the comment above in the same function that should never
have an owner. This patch just adds an extra check to ensure that the
unowned layer has a parent.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2588

13 years agopipeline: reclaim ownership if reverting to layer ancestor
Robert Bragg [Tue, 5 Apr 2011 16:01:24 +0000 (17:01 +0100)]
pipeline: reclaim ownership if reverting to layer ancestor

In _cogl_pipeline_prune_empty_layer_difference if we are reverting to
the immediate parent of an empty/redundant layer then it is not enough
to simply add a reference to the pipeline's ->layer_differences list
without also updating parent_layer->owner to point back to its new
owner.

This oversight was leading us to break the invariable that all layers
referenced in layer_differences have an owner and was also causing us to
break another invariable whereby after calling
_cogl_pipeline_layer_pre_change_notify the returned layer must always be
owned by the given 'required_owner'.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2588

13 years agobuild: Cosmetic fixes for release targets
Emmanuele Bassi [Tue, 5 Apr 2011 10:24:03 +0000 (11:24 +0100)]
build: Cosmetic fixes for release targets

• Use $(SED) and $(GREP) consistently
• Do not point to the template README.in
• Eliminate the '===' separator in the NEWS extractor
• List all download URIs for the tarballs

13 years agobuild: Fix remote docs URI in the release-message
Emmanuele Bassi [Mon, 4 Apr 2011 22:16:46 +0000 (23:16 +0100)]
build: Fix remote docs URI in the release-message

13 years agobuild: Generate the release announcement
Emmanuele Bassi [Mon, 4 Apr 2011 21:34:10 +0000 (22:34 +0100)]
build: Generate the release announcement

Update the release-message target to generate the full release
announcement out of the standard blurb and the NEWS file. We use
a pretty evil sed incantation, courtesy of Neil Roberts.

13 years agobuild: Look for sed
Emmanuele Bassi [Mon, 4 Apr 2011 21:33:31 +0000 (22:33 +0100)]
build: Look for sed

Use AC_PROG_SED to find sed in a portable way.

13 years agodoap: Update the project information
Emmanuele Bassi [Mon, 4 Apr 2011 14:33:24 +0000 (15:33 +0100)]
doap: Update the project information

Update the location for repository and bugzilla, and redistribute the
blame^Wmaintainership.

13 years agobuild: Fix typo in Makefile.am.release
Emmanuele Bassi [Mon, 4 Apr 2011 14:11:20 +0000 (15:11 +0100)]
build: Fix typo in Makefile.am.release

13 years agooffscreen: Plug a leak in an error path
Emmanuele Bassi [Mon, 4 Apr 2011 13:42:36 +0000 (14:42 +0100)]
offscreen: Plug a leak in an error path

When creating a CoglOffscreen we take a reference on the texture handle,
but in case of error we never release it.

We should take that reference only on success.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2620

13 years agoosx: Do not unrealize on hide
Emmanuele Bassi [Sat, 2 Apr 2011 21:36:38 +0000 (22:36 +0100)]
osx: Do not unrealize on hide

Calling unrealize on ClutterStage::hide will cause an assertion
failure and other badness when we destroy the stage.

13 years agoglx: throttle clipped redraws
Robert Bragg [Fri, 1 Apr 2011 17:36:56 +0000 (18:36 +0100)]
glx: throttle clipped redraws

When we come to presenting the result of a clipped redraw to the front
buffer with a blit we need to ensure that all the rendering is done,
otherwise redraw operations that are slower than the framerate can queue
up in the pipeline during a heavy animation, causing a larger and larger
backlog of rendering visible as lag to the user.

Note: Since calling glFinish() and sycnrhonizing the CPU with the GPU is
far from ideal, we hope that this is only a short term solution.

One idea is to using sync objects to track render completion so we can
throttle the backlog (ideally with an additional extension that lets us
get notifications in our mainloop instead of having to busy wait for the
completion.)

Another option is to support clipped redraws by reusing the contents of
old back buffers such that we can flip instead of using a blit and then
we can use GLX_INTEL_swap_events to throttle. For this though we would
still probably want an additional extension so we can report the limited
region of the window damage to X/compositors.

Thanks to Owen Taylor and Alexander Larsson for reporting the problem.

13 years agoUpdated Slovenian translation
Andrej Žnidaršič [Fri, 1 Apr 2011 16:57:01 +0000 (18:57 +0200)]
Updated Slovenian translation

13 years agoUpdated Slovenian translation
Andrej Žnidaršič [Fri, 1 Apr 2011 16:50:58 +0000 (18:50 +0200)]
Updated Slovenian translation

13 years agoRemoves the addition of the .exe extension to unit-test scripts, on win32.
Samuel Degrande [Fri, 25 Mar 2011 11:49:44 +0000 (12:49 +0100)]
Removes the addition of the .exe extension to unit-test scripts, on win32.

On win32, test scripts are created with a .exe extension.
Under mingw, a .exe script is launched in 16 bit compatibility mode (through
ntvdm), and so it just does not run.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2619

13 years agobuild: Update the release rules
Emmanuele Bassi [Fri, 1 Apr 2011 15:31:49 +0000 (16:31 +0100)]
build: Update the release rules

13 years agoalign-constraint: Fix typo in the vertical align
Emmanuele Bassi [Fri, 1 Apr 2011 14:36:22 +0000 (15:36 +0100)]
align-constraint: Fix typo in the vertical align

We're clamping the x1 coordinate to the nearest pixel, instead of doing
so for the y1 coordinate.

13 years agopaint-volume: Zero-sized actors don't have paint volume
Emmanuele Bassi [Fri, 1 Apr 2011 10:43:34 +0000 (11:43 +0100)]
paint-volume: Zero-sized actors don't have paint volume

If an actor has an allocated dimension equal to 0 then it has no paint
volume.

13 years agotexture: Add some safeguards for paint volumes of empty textures
Emmanuele Bassi [Fri, 1 Apr 2011 10:42:41 +0000 (11:42 +0100)]
texture: Add some safeguards for paint volumes of empty textures

If the Texture has no material, and the image size is 0x0 then the actor
doesn't have any paint volume.

13 years agopo: Update the PO files
Emmanuele Bassi [Thu, 31 Mar 2011 16:12:13 +0000 (17:12 +0100)]
po: Update the PO files

13 years agopo: Track Clutter's POT file in Git
Emmanuele Bassi [Thu, 31 Mar 2011 16:07:08 +0000 (17:07 +0100)]
po: Track Clutter's POT file in Git

If no POT file is found, gettext will automatically create it; this, in
turn, will cause msgmerge to be run, and that will cause the PO files to
be touched and changed at the very first call for `make`.

Having the PO files with unstaged changes will ultimately lead to merge
issues will pulling from the remote repository between releases - unless
`git checkout -f` is called prior to `git pull -r`.

I think intltool only has some rule to avoid that from happening unless
on dist, but I have no intention of dragging intltool into the build of
a library that barely has localized messages.

13 years agoAdded Slovenian translation
Matej Urbančič [Wed, 30 Mar 2011 16:36:42 +0000 (18:36 +0200)]
Added Slovenian translation

13 years agoImported translations from Transifex.net
Piotr Drąg [Tue, 29 Mar 2011 15:40:50 +0000 (17:40 +0200)]
Imported translations from Transifex.net

13 years agoUpdated Polish translation
Piotr Drąg [Tue, 29 Mar 2011 15:25:11 +0000 (17:25 +0200)]
Updated Polish translation

13 years agoUpdated POTFILES.in and removed clutter-1.0.pot
Piotr Drąg [Tue, 29 Mar 2011 13:11:30 +0000 (15:11 +0200)]
Updated POTFILES.in and removed clutter-1.0.pot

13 years agomoduleset: Some modules have been moved to gnome.org
Emmanuele Bassi [Mon, 28 Mar 2011 17:36:33 +0000 (18:36 +0100)]
moduleset: Some modules have been moved to gnome.org

So we need to update the moduleset.

13 years agobuild: Fix previous commit
Emmanuele Bassi [Thu, 24 Mar 2011 14:13:59 +0000 (14:13 +0000)]
build: Fix previous commit

The previous commit broke the backend-specific required pkg-config
packages.

13 years agobuild: Remove bash-isms
Emmanuele Bassi [Tue, 22 Mar 2011 17:18:07 +0000 (17:18 +0000)]
build: Remove bash-isms

13 years agobuild: Use AC_CANONICAL_HOST
Emmanuele Bassi [Tue, 22 Mar 2011 17:10:49 +0000 (17:10 +0000)]
build: Use AC_CANONICAL_HOST

Since we're checking the value of the $host variable, it's a good idea
to use the canonicalization support in autoconf.

13 years agodoap: Fix the categories
Emmanuele Bassi [Tue, 22 Mar 2011 14:46:35 +0000 (14:46 +0000)]
doap: Fix the categories

13 years agodrag-action: Fix a compiler warning
Emmanuele Bassi [Mon, 21 Mar 2011 12:41:40 +0000 (12:41 +0000)]
drag-action: Fix a compiler warning

Use arguments of the right signedness when passing pointers.

13 years agoMerge remote-tracking branch 'elliot/cookbook-effects-basic'
Emmanuele Bassi [Mon, 21 Mar 2011 12:34:41 +0000 (12:34 +0000)]
Merge remote-tracking branch 'elliot/cookbook-effects-basic'

* elliot/cookbook-effects-basic:
  docs: Remove checks for whether an effect is disabled
  docs: Add recipe about implementing a ClutterEffect
  docs: Add example of setting background color with ClutterEffect
  docs: Add example of a border added through ClutterEffect

13 years agoclutter-clone: Make clutter_clone_get_paint_volume static
Neil Roberts [Fri, 18 Mar 2011 14:09:57 +0000 (14:09 +0000)]
clutter-clone: Make clutter_clone_get_paint_volume static

clutter_clone_get_paint_volume was being exported from the shared
library because the function wasn't declared static. This function
shouldn't be exposed because it should be accessed through
clutter_actor_get_paint_volume.

13 years agodocs: Remove checks for whether an effect is disabled
Elliot Smith [Thu, 17 Mar 2011 15:45:57 +0000 (15:45 +0000)]
docs: Remove checks for whether an effect is disabled

pre_paint() and post_paint() implementations don't need
to check whether an effect is disabled: Clutter will
not apply an effect unless it is enabled.

So remove code which checks whether the effect is
enabled or disabled from the example applications and the
documentation.

13 years agodocs: Add recipe about implementing a ClutterEffect
Elliot Smith [Wed, 16 Mar 2011 17:44:44 +0000 (17:44 +0000)]
docs: Add recipe about implementing a ClutterEffect

Add a recipe showing how to implement two simple
effects, based on ClutterEffect: an always gray background,
and a border with configurable width and color.

Also explains the necessity to queue a redraw on
the associated actor if the effect's properties change,
and shows how to implement that.

The example gives the GObject code for both effects,
as well as an example application showing how to use them.
The example also demonstrates how to disable/enable an effect,
making the border round an actor togglable.

13 years agodocs: Add example of setting background color with ClutterEffect
Elliot Smith [Tue, 8 Mar 2011 14:54:00 +0000 (14:54 +0000)]
docs: Add example of setting background color with ClutterEffect

Add example of a simple background color effect applied via
pre_paint() implementation in a ClutterEffect subclass.

This is a simple effect with an incomplete GObject
implementation (no properties, setters or getters)
to make it as easy to follow as possible.

13 years agodocs: Add example of a border added through ClutterEffect
Elliot Smith [Tue, 8 Mar 2011 11:19:13 +0000 (11:19 +0000)]
docs: Add example of a border added through ClutterEffect

Add a basic example showing how to implement a ClutterEffect
post_paint() function to overlay a highlight border over a
rectangular actor.

13 years agoclutter-offscreen-effect: Paint with 'nearest' texture filter mode
Neil Roberts [Tue, 15 Mar 2011 16:20:34 +0000 (16:20 +0000)]
clutter-offscreen-effect: Paint with 'nearest' texture filter mode

The texture containing the image for the redirected actor will always
be painted at a 1:1 texel:pixel ratio so there's no need to use linear
filtering. This should also counteract some of the effects of rounding
errors when calculating the geometry for the quad.

13 years agodocs: Update RELEASING
Emmanuele Bassi [Mon, 14 Mar 2011 16:02:13 +0000 (16:02 +0000)]
docs: Update RELEASING

13 years agomingw-fetch-dependencies.sh: Add a wrapper for pkg-config
Neil Roberts [Wed, 16 Mar 2011 12:27:22 +0000 (12:27 +0000)]
mingw-fetch-dependencies.sh: Add a wrapper for pkg-config

On a Fedora system (and maybe others) there is a wrapper script called
i686-pc-mingw32-pkg-config. This script unsets the PKG_CONFIG_PATH
variable and then sets the PKG_CONFIG_LIBDIR variable so that it won't
pick up the native system .pc files. This breaks cross compiling in
mingw-fetch-dependencies.sh because it ends up removing its attempts
to set a local search path.

To fix this, the mingw-fetch-dependencies script now generates its own
wrapper script which instead sets PKG_CONFIG_LIBDIR to the local
clutter-cross prefix and then runs the original pkg-config program
from the search path. This should have the same benefit of preventing
it from finding native system .pc files on systems that don't provide
a cross pkg-config. The cross compiling for json-glib and the
recommend args to pass to configure when building clutter are updated
to set the PKG_CONFIG varible to point to this wrapper script.

13 years agowin32: remove env.sh generated by mingw-fetch-dependencies.sh
Robert Bragg [Tue, 15 Mar 2011 23:28:27 +0000 (23:28 +0000)]
win32: remove env.sh generated by mingw-fetch-dependencies.sh

Since there is very little now left in the env.sh file generated by
mingw-fetch-dependencies.sh it can be removed. What remained (The
CFLAGS="-mms-bitfields" and PKG_CONFIG_PATH=$ROOT_DIR/lib/pkgconfig) can
simply be passed explicitly when calling ./configure.

13 years agowin32: remove deprecated -mno-cygwin options from env.sh
Robert Bragg [Tue, 15 Mar 2011 22:47:20 +0000 (22:47 +0000)]
win32: remove deprecated -mno-cygwin options from env.sh

This removes the use of -mno-cygwin from our generated env.sh for cross
compiling with mingw.

I don't know that anyone is building clutter under cygwin, and our
BuildingClutterOnWindows wiki page only describes building with msys not
cygwin so I think its fair to assume that this build configuration is
untested and thus not supported by us currently. Since the -mno-cygwin
option is deprecated it could well be that there is a better
cross-compilation solution available for cygwin these days if you want
to build programs that don't depend on cygwin libraries.

13 years agowin32: Strip unneeded flags from env.sh
Robert Bragg [Tue, 15 Mar 2011 22:37:04 +0000 (22:37 +0000)]
win32: Strip unneeded flags from env.sh

This remove CXXFLAGS since we don't have any c++ code in Clutter and
also removes the redundant -L$ROOT_DIR/lib from LDFLAGS and
-I$ROOT_DIR/include from CPPFLAGS and CFLAGS. (These should get added by
pkg-config)

13 years agowin32: Add blurb at end of mingw helper script
Robert Bragg [Tue, 15 Mar 2011 22:19:08 +0000 (22:19 +0000)]
win32: Add blurb at end of mingw helper script

This adds some blurb at the end the mingw-fetch-dependencies.sh script
that gives an example of how to go on and build clutter after fetching
all dependencies.

13 years agowin32: support building json-glib in mingw script
Robert Bragg [Tue, 15 Mar 2011 21:58:15 +0000 (21:58 +0000)]
win32: support building json-glib in mingw script

Since Tor does not currently provide win32 binaries for json-glib we
need to cross compile it before we can build clutter. This extends
mingw-fetch-dependencies.sh so it can fetch, unpack and cross-compile
json-glib into the same prefix as the binary dependencies.

13 years agowin32: don't set CC,CPP,AR,NM,LD etc in mingw env.sh
Robert Bragg [Tue, 15 Mar 2011 20:17:21 +0000 (20:17 +0000)]
win32: don't set CC,CPP,AR,NM,LD etc in mingw env.sh

It shouldn't be necessary to explicitly override CC,CPP,AR,NM,LD etc in
the env.sh helper script that mingw-fetch-dependencies.sh generates.
Clutter's ./configure script should figure all of those out for us.

13 years agowin32: remove automatic build option from mingw script
Robert Bragg [Tue, 15 Mar 2011 20:04:15 +0000 (20:04 +0000)]
win32: remove automatic build option from mingw script

This removes the "Do you want to checkout and build Clutter?" option
from the mingw-cross-compile.sh script and renames the script
mingw-fetch-dependencies.sh

As it stands the mingw-cross-compile.sh script isn't enough to fetch all
the dependencies for building clutter, since Tor doesn't provide binaries
for json-glib so the option to checkout and build clutter can't work.

Also it doesn't seem ideal to clone a fresh clutter repo instead of
being able to compile the source of the current repo.

13 years agowin32: mkdir -p win32 needed for out of tree builds
Robert Bragg [Tue, 15 Mar 2011 19:37:26 +0000 (19:37 +0000)]
win32: mkdir -p win32 needed for out of tree builds

if cross compiling clutter using mingw using an out of tree build
directory then a pre-requisite for creating the resources.o file
containing the transparent cursor is for the win32 directory itself to
be created at $(top_builddir)/clutter/win32.

13 years agocogl: Use GHookList instead of CoglCallbackList
Neil Roberts [Mon, 14 Mar 2011 17:58:31 +0000 (17:58 +0000)]
cogl: Use GHookList instead of CoglCallbackList

glib already has a data type to manage a list of callbacks called a
GHookList so we might as well use it instead of maintaining Cogl's own
type. The glib version may be slightly more efficient because it
avoids using a GList and instead encodes the prev and next pointers
directly in the GHook structure. It also has more features than
CoglCallbackList.

13 years agoclutter.doap: Add my gnome userid
Emmanuele Bassi [Mon, 14 Mar 2011 14:17:14 +0000 (14:17 +0000)]
clutter.doap: Add my gnome userid

Not strictly needed, since we're not hosted on GNOME, but it can still
be useful when extracting meta-data from the DOAP file.

13 years agoAUTHORS: Note that the file is unmaintained
Emmanuele Bassi [Mon, 14 Mar 2011 14:16:16 +0000 (14:16 +0000)]
AUTHORS: Note that the file is unmaintained

The list of authors can be extracted from the Git log; the AUTHORS file
is maintained for mere historical reasons.

13 years agoREADME.md: fix a dumb typo
Emmanuele Bassi [Mon, 14 Mar 2011 14:00:12 +0000 (14:00 +0000)]
README.md: fix a dumb typo

13 years agoAdd MarkDown version of the README
Emmanuele Bassi [Mon, 14 Mar 2011 13:57:26 +0000 (13:57 +0000)]
Add MarkDown version of the README

13 years agostage: handle ACCEPT_FOCUS in set_/get_property
Øyvind Kolås [Fri, 11 Mar 2011 17:09:59 +0000 (17:09 +0000)]
stage: handle ACCEPT_FOCUS in set_/get_property

13 years agoculling: Don't cull actors not being painted on the stage
Robert Bragg [Thu, 10 Mar 2011 18:51:51 +0000 (18:51 +0000)]
culling: Don't cull actors not being painted on the stage

Previously we were applying the culling optimization to any actor
painted without considering that we may be painting to an offscreen
framebuffer where the stage clip isn't applicable.

For now we simply expose a getter for the current draw framebuffer
and we can assume that a return value of NULL corresponds to the
stage.

Note: This will need to be updated as stages start to be backed by real
CoglFramebuffer objects and so we won't get NULL in those cases.

13 years agodebug: Add more CLIPPING debug notes
Robert Bragg [Thu, 10 Mar 2011 18:50:23 +0000 (18:50 +0000)]
debug: Add more CLIPPING debug notes

To give quick visibility to the things going on relating to clipping and
culling this adds some more CLIPPING debug notes to clutter-actor.c and
clutter-stage.c

13 years agoculling: check volume->is_empty before ->is_complete
Robert Bragg [Thu, 10 Mar 2011 13:42:11 +0000 (13:42 +0000)]
culling: check volume->is_empty before ->is_complete

As documented in cogl-pipeline-private.h, there is a precedence to the
ClutterPaintVolume bitfields that should be considered whenever we
implement code that manipulates PaintVolumes...

Firstly if ->is_empty == TRUE then the values for ->is_complete and
->is_2d are undefined, so we should typically check ->is_empty as the
first priority.

This fixes a bug in _clutter_paint_volume_cull() whereby we were
checking pv->is_complete before checking pv->is_empty which was
resulting in assertions for actors with no size.

13 years agocogl-clip-state: Adapt to experimental cogl2 API.
Jasper St. Pierre [Wed, 2 Mar 2011 17:45:25 +0000 (12:45 -0500)]
cogl-clip-state: Adapt to experimental cogl2 API.

The current clip state implementation couldn't be used in
conjunction with the CoglPath experimental API.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2594

Signed-off-by: Neil Roberts <neil@linux.intel.com>
13 years agocogl-path: Optimise paths that are just a rectangle
Neil Roberts [Wed, 9 Mar 2011 17:46:23 +0000 (17:46 +0000)]
cogl-path: Optimise paths that are just a rectangle

Drawing and clipping to paths is generally quite expensive because the
geometry has to be tessellated into triangles in a single VBO which
breaks up the journal batching. If we can detect when the path
contains just a single rectangle then we can instead divert to calling
cogl_rectangle which will take advantage of the journal, or by pushing
a rectangle clip which usually ends up just using the scissor.

This patch adds a boolean to each path to mark when it is a
rectangle. It gets cleared whenever a node is added or gets set to
TRUE whenever cogl2_path_rectangle is called. This doesn't try to
catch cases where a rectangle is composed by cogl_path_line_to and
cogl_path_move_to commands.