Commit Graph

25865 Commits

Author SHA1 Message Date
Martin Nordholts 3e6f6088ee app: Create libapp.a for convenient test case linking
Create libapp.a for convenient test case linking and link the existing
tests against that.
2009-09-07 23:05:11 +02:00
Michael Natterer 84b02fb978 Refuse to convert layer trees to indexed 2009-09-07 21:09:24 +02:00
Michael Natterer 60ac874cd0 Refuse to add group layers to indexed images 2009-09-07 21:08:25 +02:00
Michael Natterer 1961036f5e Add gimp_item_stack_is_flat() which returns TRUE if it's not a tree 2009-09-07 21:07:44 +02:00
Michael Natterer 5bb149fa9d Add some more checks that come for free to the existing tests 2009-09-07 20:52:10 +02:00
Michael Natterer a0914f8df1 Add test-layers to .gitignore 2009-09-07 19:11:21 +02:00
Michael Natterer a17f7e0d4f Add a layers test
Contains the add-layers test from the "template" test and also a
remove-layers one.
2009-09-07 19:09:48 +02:00
Michael Natterer 6542617751 Initialize some more stuff so real tests are possible
* tests.[ch]: initialize base so we have a tile cache and add
  parameter "gboolean use_cpu_accel" so we can test stuff both with
  and without using CPU features.

* tests/test-layer-grouping.c: changed accordingly. Call g_thread_init()
  so the tile cache works (and to be on the safe side in general).
2009-09-07 19:06:57 +02:00
Michael Natterer 2e2c7aaf34 Minor formatting cleanup 2009-09-07 18:55:18 +02:00
Michael Natterer 4df9b25217 Add facility to compress multiple group layer resizings into one
* app/core/gimpgrouplayer.[ch]: add gimp_group_layer_suspend_resize()
  and gimp_group_layer_resume_resize() and call them around functions
  where all a group's children are transformed (translated, resized
  etc).  This way we go from the worst case of reallocating the
  group's projection tiles once for each child down to exactly one
  reallocation.

* app/core/Makefile.am
* app/core/core-enums.[ch]
* app/core/core-types.h
* app/core/gimpimage-undo-push.[ch]
* app/core/gimpgrouplayerundo.[ch]: add new undo class
  GimpGroupLayerUndo which implements undos for suspend/resume of
  group layers and calls them in reverse order when undoing.
2009-09-07 13:12:54 +02:00
Inaki Larranaga 6a10485f6b Updated Basque translation 2009-09-07 12:36:54 +02:00
Michael Natterer c552d2f065 (SUBDIRS): gegl and text live on top of core, xcf on top of plug-ins 2009-09-07 11:06:12 +02:00
Michael Natterer 56a17ed118 Forgot one "Group Layer" -> "Layer Group" string change 2009-09-07 10:58:55 +02:00
Aron Xu ef9d82054e Updated Simplified Chinese translations. 2009-09-07 16:29:17 +08:00
Alexandre Prokoudine e7e4351ccf Slightly updated Russian translation 2009-09-07 11:53:46 +04:00
Petr Kovar 2959ccceae Updated Czech translation by Jaroslav Krejci
Reviewed by: Petr Kovar
2009-09-06 01:06:15 +02:00
Martin Nordholts 60b90b817a app: GimpDockPriv -> GimpDockPrivate, priv -> p 2009-09-06 00:15:25 +02:00
Martin Nordholts 04ef83c795 app: Add some comments on classes used for the dock system 2009-09-05 23:52:32 +02:00
Julien Hardelin af3e894844 Fix po-script-fu French translation 2009-09-05 23:29:44 +02:00
Claude Paroz 2f678cb7f3 Completed French translation 2009-09-05 23:21:26 +02:00
Claude Paroz 9534b5b1e1 Merge po-plug-ins French fixes from stable branch and complete file 2009-09-05 23:16:49 +02:00
Martin Nordholts 6fd1e5d50b app: Compile vectors and paint after core
Compile vectors and paint after core since they need the
core-generated core/gimpmarshal.h
2009-09-05 19:11:39 +02:00
Martin Nordholts 8f999e0842 app: Don't initialize Gimp verbosely in gimp_init_for_testing()
The verbose output of Gimp has little relevance to unit testing,
disable it.
2009-09-05 16:19:52 +02:00
Martin Nordholts d6c8fa9783 app: Update .gitignore 2009-09-05 16:09:57 +02:00
Martin Nordholts 071153124a app: Reverse order of SUBDIRS
The SUBDIRS var should be sorted on build-order, not link-order.
2009-09-05 16:08:23 +02:00
Martin Nordholts 14aa5314af app: Add GIMP core unit testing framework and a simple first test
Enable us to have regression testing by introducing a core testing
framework that uses the GLib JUnit-like test library.

Do this by adding a new subdir app/tests that will contain all our
tests (it contains one trivial test already). Also add app/tests.[ch]
with a new function gimp_init_for_testing() so that test cases can
easily setup the core object system.
2009-09-05 16:02:32 +02:00
Michael Natterer df9e9e2609 Disable layer masks on group layers for the time being
Will enable it again when I fixed it properly, it's clearly a
non-trivial problem that needs some thinking. Disabled for now because
it causes crashes.
2009-09-05 15:37:48 +02:00
Martin Nordholts 871e41c062 app: Clean up subsystem linking dependencies
Clean up subsystem linking dependencies by
* Rearranging LDADD entries to better match architectural layers
* Being clear about why we need to pass -u in LDFLAGS some times
* Adding FIXMEs when we have broken dependencies
* Introducing a helper variable so we can share LDADD between
  gimp-console and gimp
2009-09-05 14:33:48 +02:00
Martin Nordholts b43659fa62 app: Fix non-string-literal warning for g_print() test-config.c 2009-09-05 14:33:48 +02:00
Martin Nordholts e3175cb155 devel-docs: Add missing "new symbols in GIMP 2.8" 2009-09-05 14:33:48 +02:00
Michael Natterer 5b85642e94 Reorder some functions so item and drawable methods are together 2009-09-04 11:31:19 +02:00
Martin Nordholts e431f84dae data: Add texture/grunge brushes made by Johannes Engelhardt
Add texture/grunge brushes made by Johannes Engelhardt.
See bug #589371.
2009-09-03 21:53:38 +02:00
Sven Neumann 8405d69e86 formatting 2009-09-03 20:54:06 +02:00
Martin Nordholts 9359c5d44f app: Escape the file names in export menu items
We need to escape _ in the filenames we use for the 'Overwrite' and
'Export to' menu items, otherwise they show up as mnemonics.
2009-09-03 20:14:15 +02:00
Michael Natterer c1f3872141 Fix loading of layer masks of group layers
Don't add layer masks to their layers while loading because a newly
loaded group layer's size doesn't match its mask's size. Instead,
attach all layer masks to their layers using g_object_set_data(), and
add them after all layers have been loaded.
2009-09-03 19:11:02 +02:00
Michael Natterer c8b0cb68fa xcf_save_layer(): add comment about where we store the layer mask offset 2009-09-03 19:08:22 +02:00
Michael Natterer 9e18f771c4 Replace "Group Layer" by "Layer Group" in all user visible strings 2009-09-03 14:57:18 +02:00
Michael Natterer efd5018420 gimp_editor_set_box_style(): small optimization
Don't set set icon again if the icon size has not actually changed.
2009-09-03 13:24:30 +02:00
Michael Natterer 402408db1a gimp_item_tree_view_style_set(): set the style of the lock buttons
Honor the "button-relief" and "button-icon-size" style properties for
the lock buttons.
2009-09-03 13:22:17 +02:00
Michael Natterer 2d5b6d83d5 Use plain togglebuttons, not checkbuttons for the "lock" toggles
The checkbox is not really needed, the icons can just as well be
toggles themselves.
2009-09-03 13:07:06 +02:00
Michael Natterer 007fc34af8 Add "layers-new-group" to the menus 2009-09-03 09:11:16 +02:00
Michael Natterer f1f186c718 Change mnemonic of "New Group Layer..." to "G" 2009-09-03 09:10:42 +02:00
Michael Natterer 4347c67964 Use gimp_drawable_get_tiles() in a few places instead of direct access 2009-09-03 08:16:26 +02:00
Michael Natterer c39dfab87c Don't access image->width and ->height directly 2009-09-03 01:03:29 +02:00
Michael Natterer 0b09278c17 Don't access item->width and ->height directly 2009-09-03 01:00:14 +02:00
Michael Natterer f3e640f2d2 gimp_projection_projectable_changed(): some fixes and optimizations
When the projectable's size or image type changes, stop the idle
renderer and remove all queued update area because everything needs to
be re-rendered anyway. Also honor the projectable's offset when
invalidating the entire projection after clearing the pyramid.
2009-09-02 21:55:14 +02:00
Michael Natterer 228da1d32e gimp_group_layer_update_size(): remove bogus optimization
The optimization here which would change only the group layer's offset
if the extents of the union of its children has not changed is
completely bogus. That case can only happen if one of the chldren was
moved in a way that does not change the extents of all children's
union, but this doesn't mean that the childrens' positions relative to
each other have not changed.

Instead, invalidate the entire projection to at least avoid constant
reallocation of the tile pyramid.

Found by group layer testing hero Tobias Jakobs.

(will have to optimize real translations of the entire group (or of the
only child in the group) differently)
2009-09-02 21:47:28 +02:00
Michael Natterer 1735f86d25 Kill plug-ins that write to tiles of locked drawables or group layers
Yes this is pretty lame, but we must prevent write access to these
items under all circumstances, and we have no other way but killing
the plug-in (it should not write to the drawable directly anyway)
2009-09-02 19:48:46 +02:00
Kevin Cozens 272073a196 Applied changes from CVS version 1.34 of official version of TinyScheme.
Fixed bug that could put the interpreter in to an endless loop on EOF in
the example case "(define foo".
2009-09-01 22:43:50 -04:00
Kevin Cozens 4acd4317a7 Eliminated compiler warnings (scheme.c). Fixed whitespace (dynload.c). 2009-09-01 21:52:11 -04:00