summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* experimental clipped redraws without extensionwip/clip-with-swap-buffersRobert Bragg2011-04-012-18/+75
| | | | | | | | | | | | | | | | | | | | | This implements an experimental approach to supporting clipped redraws without the aid of an extension. Instead it depends on making an assumption about the number of back buffers provided by the driver. To tell Clutter about the number of back buffers set CLUTTER_SWAP_CHAIN_LENGTH=3 for example in your environment before running a Clutter app. Note: This is unlikely to be big win if your driver doesn't actually support flipping back buffers and instead uses a blit to present. Compared to the blit based clipped redraw path we have when using GLX one significant issue is that the whole window will effectively be damaged when using glXSwapBuffers which means the whole window could end up being blitted if the window isn't fullscreen. Even when compositing, because we don't have a way to report a limited damage region the compositor will be told that the whole window has been damage.
* stage: add dedicated pixel pick bufferRobert Bragg2011-04-011-20/+46
| | | | | | | | | | | | | | | | This gives each stage a dedicated 1 pixel framebuffer for handling picking when we are only reading back a single point under the cursor. Having a dedicated pick buffer means we can avoid damaging the contents of the back buffer used for painting so we can re-use the contents of old back buffers to reduce how much is drawn each frame. Note that we don't create a full stage size pick buffer because we want to avoid the large allocations of memory that would imply. Note when a clutter scene is static then we will still use the back buffer for picking so that we can do a full stage size pick render without requiring the allocation of a dedicated buffer.
* stage-window: make it possible to damage the back bufferRobert Bragg2011-04-014-0/+28
| | | | | | | | This allows us to report to the backend that the stage's back buffer has been trashed while handling picking. If the backend is keeping track of the contents of back buffers so it can minimize how much of the stage is redrawn then it needs to know when we do pick renders so it can invalidate the back buffer.
* stage: Move _clutter_do_pick to clutter-stage.cRobert Bragg2011-04-015-329/+307
| | | | | | | | | | | | | | | | | 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.
* Removes the addition of the .exe extension to unit-test scripts, on win32.Samuel Degrande2011-04-013-11/+24
| | | | | | | | 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
* build: Update the release rulesEmmanuele Bassi2011-04-011-12/+15
|
* align-constraint: Fix typo in the vertical alignEmmanuele Bassi2011-04-011-1/+1
| | | | | We're clamping the x1 coordinate to the nearest pixel, instead of doing so for the y1 coordinate.
* paint-volume: Zero-sized actors don't have paint volumeEmmanuele Bassi2011-04-011-0/+4
| | | | | If an actor has an allocated dimension equal to 0 then it has no paint volume.
* texture: Add some safeguards for paint volumes of empty texturesEmmanuele Bassi2011-04-011-0/+10
| | | | | If the Texture has no material, and the image size is 0x0 then the actor doesn't have any paint volume.
* po: Update the PO filesEmmanuele Bassi2011-03-3113-5274/+6444
|
* po: Track Clutter's POT file in GitEmmanuele Bassi2011-03-311-0/+2106
| | | | | | | | | | | | | | 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.
* Added Slovenian translationMatej Urbančič2011-03-301-0/+2555
|
* Imported translations from Transifex.netPiotr Drąg2011-03-297-0/+15055
|
* Updated Polish translationPiotr Drąg2011-03-291-504/+746
|
* Updated POTFILES.in and removed clutter-1.0.potPiotr Drąg2011-03-292-1879/+13
|
* moduleset: Some modules have been moved to gnome.orgEmmanuele Bassi2011-03-281-4/+15
| | | | So we need to update the moduleset.
* build: Fix previous commitEmmanuele Bassi2011-03-241-1/+1
| | | | | The previous commit broke the backend-specific required pkg-config packages.
* build: Remove bash-ismsEmmanuele Bassi2011-03-221-2/+2
|
* build: Use AC_CANONICAL_HOSTEmmanuele Bassi2011-03-221-9/+10
| | | | | Since we're checking the value of the $host variable, it's a good idea to use the canonicalization support in autoconf.
* doap: Fix the categoriesEmmanuele Bassi2011-03-221-5/+0
|
* drag-action: Fix a compiler warningEmmanuele Bassi2011-03-211-1/+9
| | | | Use arguments of the right signedness when passing pointers.
* Merge remote-tracking branch 'elliot/cookbook-effects-basic'Emmanuele Bassi2011-03-2110-0/+1168
|\ | | | | | | | | | | | | | | * 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
| * docs: Remove checks for whether an effect is disabledElliot Smith2011-03-173-20/+1
| | | | | | | | | | | | | | | | | | | | 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.
| * docs: Add recipe about implementing a ClutterEffectElliot Smith2011-03-174-0/+539
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * docs: Add example of setting background color with ClutterEffectElliot Smith2011-03-174-12/+181
| | | | | | | | | | | | | | | | | | 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.
| * docs: Add example of a border added through ClutterEffectElliot Smith2011-03-174-0/+479
| | | | | | | | | | | | Add a basic example showing how to implement a ClutterEffect post_paint() function to overlay a highlight border over a rectangular actor.
* | clutter-clone: Make clutter_clone_get_paint_volume staticNeil Roberts2011-03-181-1/+1
|/ | | | | | | 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.
* clutter-offscreen-effect: Paint with 'nearest' texture filter modeNeil Roberts2011-03-171-1/+11
| | | | | | | 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.
* docs: Update RELEASINGEmmanuele Bassi2011-03-161-3/+4
|
* mingw-fetch-dependencies.sh: Add a wrapper for pkg-configNeil Roberts2011-03-161-2/+22
| | | | | | | | | | | | | | | | | | 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.
* win32: remove env.sh generated by mingw-fetch-dependencies.shRobert Bragg2011-03-161-31/+1
| | | | | | | 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.
* win32: remove deprecated -mno-cygwin options from env.shRobert Bragg2011-03-161-2/+1
| | | | | | | | | | | | | 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.
* win32: Strip unneeded flags from env.shRobert Bragg2011-03-161-4/+2
| | | | | | | 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)
* win32: Add blurb at end of mingw helper scriptRobert Bragg2011-03-161-0/+14
| | | | | | 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.
* win32: support building json-glib in mingw scriptRobert Bragg2011-03-161-1/+72
| | | | | | | 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.
* win32: don't set CC,CPP,AR,NM,LD etc in mingw env.shRobert Bragg2011-03-161-23/+1
| | | | | | 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.
* win32: remove automatic build option from mingw scriptRobert Bragg2011-03-163-28/+4
| | | | | | | | | | | | | 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.
* win32: mkdir -p win32 needed for out of tree buildsRobert Bragg2011-03-161-0/+1
| | | | | | | 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.
* cogl: Use GHookList instead of CoglCallbackListNeil Roberts2011-03-148-208/+65
| | | | | | | | | 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.
* clutter.doap: Add my gnome useridEmmanuele Bassi2011-03-141-0/+1
| | | | | Not strictly needed, since we're not hosted on GNOME, but it can still be useful when extracting meta-data from the DOAP file.
* AUTHORS: Note that the file is unmaintainedEmmanuele Bassi2011-03-141-0/+4
| | | | | The list of authors can be extracted from the Git log; the AUTHORS file is maintained for mere historical reasons.
* README.md: fix a dumb typoEmmanuele Bassi2011-03-141-1/+1
|
* Add MarkDown version of the READMEEmmanuele Bassi2011-03-141-0/+175
|
* stage: handle ACCEPT_FOCUS in set_/get_propertyØyvind Kolås2011-03-111-0/+8
|
* culling: Don't cull actors not being painted on the stageRobert Bragg2011-03-102-0/+11
| | | | | | | | | | | | | 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.
* debug: Add more CLIPPING debug notesRobert Bragg2011-03-102-3/+24
| | | | | | 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
* culling: check volume->is_empty before ->is_completeRobert Bragg2011-03-101-3/+3
| | | | | | | | | | | | | | 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.
* cogl-clip-state: Adapt to experimental cogl2 API.Jasper St. Pierre2011-03-108-53/+186
| | | | | | | | | 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>
* cogl-path: Optimise paths that are just a rectangleNeil Roberts2011-03-093-19/+79
| | | | | | | | | | | | | | | 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.
* drag-action: Allow using settings for the drag thresholdEmmanuele Bassi2011-03-092-41/+108
| | | | | | | | | | | | | | | | | | | | | | | | ClutterDragAction should be able to use the newly added ClutterSettings property exposing the system's drag threshold. Currently, the x-drag-threshold and the y-drag-threshold properties (and relative accessors) use an unsigned integer for their values; we should be able to safely expand the range to include -1 as the minimum value, and use this new value to tell the ClutterDragAction that it should query the ClutterSettings object for the drag threshold. The storage of the properties has been changed, albeit in a compatible way, as GObject installs a uint ↔ int transformation function for GValue automatically. The setter for the drag thresholds has been changes to use a signed integer, but the getter has been updated to always Do The Right Thing™: it never returns -1 but, instead, will return the valid drag threshold, either from the value set or from the Settings singleton. This change is ABI compatible. http://bugzilla.clutter-project.org/show_bug.cgi?id=2583