Commit Graph

8409 Commits

Author SHA1 Message Date
e5e10b6a04 Annotate functionality added in 1.10 2012-03-16 17:30:26 +00:00
1df14c1bac Debugging cleanups
Add some more debugging notes to the layout and paint node output.
2012-03-16 16:16:40 +00:00
a7714e294e actor: Remove an has_allocation() check
The get_content_box() method should always succeed; if the actor does
not have an allocation, we are just going to return a 0-box.
2012-03-16 16:13:11 +00:00
de32ba1ddf interactive/image-box: Clarify the label contents 2012-03-16 15:05:42 +00:00
800b5b6ef7 actor: Restore a lost queue_relayout()
It got lost during a rebase conflict resolution.
2012-03-16 14:47:02 +00:00
72b202c7ed Updated Polish translation 2012-03-16 15:25:46 +01:00
9ac9fa903a Updated British English translation 2012-03-16 14:18:12 +00:00
045beaff5a Updated POTFILES.in 2012-03-16 15:12:38 +01:00
b05717575c Assamese translation updated 2012-03-16 19:31:17 +05:30
cb69be6b97 Updated Slovenian translation 2012-03-16 14:58:09 +01:00
a7b076b7aa Updated Spanish translation 2012-03-16 14:13:57 +01:00
a3007b9847 build: Remove maintainer flags from cookbook/examples
The code should be a tad more relaxed.
2012-03-16 12:33:40 +00:00
cbed0484c0 po: Update POTFILES.in 2012-03-16 12:33:40 +00:00
ae554a5061 Rename 'bilinear' scaling filter to 'trilinear'
Yes, it's not really the proper GL name for a linear-on-every-axis of a
texture plus linear-between-mipmap-levels minification filter, but it
has three redeeming qualities as a name:

  - LINEAR_MIPMAP_LINEAR sucks, as it introduces GL concepts like
    mipmaps in the API naming, while we're trying to avoid that;
  - people using GL already know what 'trilinear' means in this context
    without going all Khronos on their asses;
  - we're using 2D textures anyway, so 'linear on two axes and linear
    between mipmap levels' can be effectively approximated to
    'trilinear'.

I mean, if even the OpenGL official wiki says:

  Unfortunately, what most people think of as "trilinear" is not linear
  filtering of a 3D texture, but what in OpenGL terms is GL_LINEAR mag
  filter and GL_LINEAR_MIPMAP_LINEAR in the min filter in a 2D texture.
  That is, it is bilinear filtering of each appropriate mipmap level,
  and doing a third linear filter between the adjacent mipmap levels.
  Hence the term "trilinear".
                -- http://www.opengl.org/wiki/Texture

then the horse has already been flogged to death, and I don't intend to
be accused of necrophilia and sadism by flogging it some more.

Prior art: every single GL tutorial in the history of ever;
CoreAnimation's scaling filter enumerations.

If people want to start using 1D or 3D textures they they are probably
going to be using Cogl API directly, and that has the GL naming scheme
for minification and magnification filters anyway.
2012-03-16 12:33:40 +00:00
b44290c436 docs: Add ClutterActorClass.paint_node() description 2012-03-16 12:33:40 +00:00
8904f7cbe4 paint-nodes: Make part of the API internal
At least for the time being, we only expose the parts of the API that we
want to use internally and for new, out-of-tree Content implementations.

The full PaintNode tree API will be made public in 1.12 once we branch
master.
2012-03-16 12:33:40 +00:00
74f5bbe5aa docs: Fixes for ClutterImage's API reference 2012-03-16 12:33:39 +00:00
d123e4b701 Update release notes 2012-03-16 12:33:39 +00:00
0a2ee1709b docs: Fixes for the API reference 2012-03-16 12:33:39 +00:00
90784a025a interactive/image-box: Remove unneeded stuff 2012-03-16 12:33:39 +00:00
10e2f551f5 actor: Unconditionally emit ::paint
It's a bit late in the game for changing the emission of the paint
signal with actors that use paint nodes - mostly because we have both
implicit paint nodes (background color, content) and explicit paint
nodes (the paint_node virtual).

When we branch for 1.12 we can revert this change.
2012-03-16 12:33:39 +00:00
d1fd53b29d po: Update POTFILES.in 2012-03-16 12:33:39 +00:00
5432775eff paint-node: Make texture template pipeline clamp to edge
It's safer, and consistent with the rest of Clutter, to make sure that
the template pipeline we use for ClutterTextureNode has its wrap mode
set to clamp-to-edge.
2012-03-16 12:33:39 +00:00
75e6560160 image: Add set_area() method
This method allows replacing an area inside the texture data used by a
ClutterImage.
2012-03-16 12:33:39 +00:00
2be850f441 image: Add get_texture()
Allow retrieving the Cogl texture used by the ClutterImage.
2012-03-16 12:33:39 +00:00
9845ce9d89 actor: Fix RESIZE_ASPECT mode for the content box 2012-03-16 12:33:38 +00:00
b6403b01a1 Documentation fixes 2012-03-16 12:33:38 +00:00
1b4bfb04e5 interactive/image-box: Add a pure Image test, suitable for docs 2012-03-16 12:33:38 +00:00
6c181b96e9 interactive/image: Test ClutterImage
Load up the image content using a GdkPixbuf; this means that the test is
not compiled when --disable-gdk-pixbuf is passed.
2012-03-16 12:33:38 +00:00
6cb94b2de2 build: Check for gdk-pixbuf
Some tests may need to load image data without going through
ClutterTexture or Cogl, so let's add a configure switch and a
conditional for gdk-pibxuf.
2012-03-16 12:33:38 +00:00
f90330867e Update clutter.symbols 2012-03-16 12:33:38 +00:00
23fad8589c interactive/canvas: Set the scaling filters 2012-03-16 12:33:38 +00:00
fb106ece05 Use the content scaling filters
Both ClutterCanvas and ClutterImage should use the minification and
magnification filters set on the actor, just like the use the content
box and the paint opacity.
2012-03-16 12:33:38 +00:00
77729c7362 actor: Add minification/magnification filters
These settings are informative, and will only be used by the eventual
content of an actor.
2012-03-16 12:33:38 +00:00
cadae5b325 Add ClutterImage, and image data content 2012-03-16 12:33:37 +00:00
f2b9c17a78 canvas: Fix single header inclusion guard 2012-03-16 12:33:37 +00:00
0eeb61f3a8 canvas: Add canvas size to the ::draw signal
Instead of requiring a call to clutter_content_get_preferred_size(), we
can simply pass the canvas size to the Canvas::draw signal.
2012-03-16 12:33:37 +00:00
07bb35bbe3 Add ClutterCanvas, a drawing content 2012-03-16 12:33:37 +00:00
e2f1153c46 paint-node: Remove redundant declarations 2012-03-16 12:33:37 +00:00
546a14ec3b content: Make get_preferred_size() public 2012-03-16 12:33:37 +00:00
74765404dd conform: Skip actor-offscreen-redirect
Until we figure out a way to make it succeed even without the paint
signal emission.
2012-03-16 12:33:37 +00:00
485b720a54 conform/text-cache: Use the stage paint signal
The stage's paint signal is guaranteed to be emitted; ClutterText's
paint signal is not.
2012-03-16 12:33:37 +00:00
e54ee64380 actor: Make paint_node() and ::paint mutually exclusive
The ::paint signal is the old way to paint an actor; the paint_node()
virtual function is the new way. It's still not possible to traverse the
whole scene graph and build a render tree of PaintNode instances, but
with this change we simultaneously cut out the ::paint signal emission
from the critical path for actors that are using the new PaintNode-based
API, and we retain backward compatibility in the interim period between
1.10 and 2.0.
2012-03-16 12:33:37 +00:00
a58be8aad1 paint-nodes: Fix compiler warning 2012-03-16 12:33:36 +00:00
ff7eb6c0a9 interactive/content: Define the size of the text geometry
So that Clutter can decide whether or not to clip the text properly.
2012-03-16 12:33:36 +00:00
51cca132e0 paint-nodes: Use logical extents for the TextNode::draw
When we decide if we ought to clip, we should use the logical extents of
the PangoLayout, just like we do for ClutterText.
2012-03-16 12:33:36 +00:00
fa77274e80 content: Turn attached and detached into signals
The attached and detached virtual functions are now informative, and not
normative - which means it's a good idea to provide them as signals.
2012-03-16 12:33:36 +00:00
2f0d29ad75 content: Make vfuncs optional
The virtual functions on the ClutterContent interface should provide
hooks for application code, not be the actual implementation.
2012-03-16 12:33:36 +00:00
f4d8fb054a paint-node: Use JSON-GLib for debug serialization
Instead of our homegrown string building; this at least ensures that
we're generating proper data, instead of random strings. Plus, using
JsonNode and JsonBuilder, we can ask the PaintNode subclasses to
serialize themselves in a sensible way.
2012-03-16 12:33:36 +00:00
2ee5851970 docs: Update the API reference
Add all the new symbols.
2012-03-16 12:33:36 +00:00