Commit Graph

3505 Commits

Author SHA1 Message Date
118440affc Add typedef GimpDataForeachFunc
instead of defining the callback signature in the
declaration of gimp_data_factory_data_foreach().
2009-10-30 22:00:51 +01:00
2700b35dae gimp_data_factory_load_data(): add local "loader" variable for readability 2009-10-30 21:45:03 +01:00
1e49fd6b50 Give a proper error message if there is no writable data directory
(gimp_data_factory_get_save_dir): add GError and return an error
message telling why exactly a writable folder could not be found.

Show that error message instead of silently failing of just giving a
useless generic error so the user knows how to fix the problem.
2009-10-30 21:34:08 +01:00
0c908fc12b Inline a function that was only used once
Keeping gimp_data_factory_data_reload() separate from
gimp_data_factory_data_refresh() is more confusing than helpful
because the function is an integral part of the refresh logic and
implemented everything but saving all dirty objects.
2009-10-28 20:25:55 +01:00
3329c89ad5 Formatting cleanup 2009-10-27 19:48:36 +01:00
962bf514c8 Don't try to make quarks from NULL strings
Because that warns badly. The functionality is unchanged though
because the code does properly check for 0 quarks. Also moved some
variables to local scopes.
2009-10-27 19:48:36 +01:00
0c81d491fb Change coords in GimpDynamicsOutput from call-by-value to "const GimpCoords*" 2009-10-27 14:30:20 +01:00
ca5fbf45d4 app: gimp_get_image_window_iter() -> gimp_get_image_windows()
Rename gimp_get_image_window_iter() to gimp_get_image_windows() and
make it return a copy of the list of windows. Typically we will kill
or create new windows when we use this function which is why we do a
copy.
2009-10-25 20:31:55 +01:00
fc3c368f96 Fix 180 degrees rotated brushes with dynamics off and direction following. 2009-10-25 17:16:26 +02:00
071d26caa9 Merge commit 'origin/master' into soc-2009-dynamics 2009-10-17 21:47:01 +03:00
b77592ffb2 Coding style cleanup 2009-10-17 20:37:53 +02:00
885d4e968a Make sure user-install always creates all needed directories
Always run user_install_create_files(), even if
user_install_migrate_files() was run before, but make sure not to
overwrite stuff that has been copied by user_install_mirgate_files().
2009-10-15 21:23:01 +02:00
a7234d68ce Revert "Only didive if the number of inputs is > 1 (/ 1 makes little sense)"
This reverts commit 793be22da9.

This commit makes single factor dynamics not work.
The result of a no-factor mixing needs to be 1.0,
result of all other cases needs to be value of total divided by factors.
Adding extra logic for the case whe factors=1 makes less sense than
allowing for occational division by 1 to happen.
2009-10-15 18:39:42 +03:00
793be22da9 Only didive if the number of inputs is > 1 (/ 1 makes little sense) 2009-10-14 18:52:04 +02:00
15b912c66d Change "factors" variables to integer because it's a counter; formatting 2009-10-14 10:33:11 +02:00
135090c57f Actually use the paint option's "use-fade" property again
...and remove gimp_dynamics_input_fade_enabled(). Looks cleaner
now so must be right ;)
2009-10-13 19:33:38 +02:00
7bae9c0827 Merge commit 'origin/master' into soc-2009-dynamics 2009-10-13 20:23:34 +03:00
8fed74777d Rename boolean properties of GimpDynamicsOutput from "foo" to "use-foo" 2009-10-12 19:06:11 +02:00
77faffe4b7 Rename the output members of GimpDynamics from foo_dynamics to foo_output 2009-10-12 14:45:12 +02:00
5a145ae4c3 Whitespace cleanup that reduces the diff against master 2009-10-12 13:00:16 +02:00
b6dd77ab84 Whitespace fix 2009-10-12 12:23:36 +02:00
c8db734932 Make sure changes dynamics are properly saved to disk
Implement GObject::dispatch_properties_changed() and call
gimp_data_dirty() if a serializable property changed.
2009-10-11 21:39:46 +02:00
8df73b9323 Switch to using GimpDynamicsOutput's properties
* app/core/gimpdynamics.c: remove all boolean properties and add the
  outputs as properties instead. Make sure changes on the outputs get
  notified on the dynamics object.

* app/widgets/gimpdynamicseditor.c: change widget creation accordingly,
  also copy around the properties correctly when copying between
  dynamics objects (fixes NULL filenames on GimpData).
2009-10-11 21:25:28 +02:00
c794fe0af2 Implement the GimpConfigInterface 2009-10-11 16:25:30 +02:00
dab5f9e691 Rename all GimpDynamicsOutput functions to gimp_dynamics_output_foo() 2009-10-11 15:54:59 +02:00
cad2218b6a Move GimpDynamicsOutput to its own class
...but use it only as struct to keep GimpDynamics' properties
for now. More refactoring later.
2009-10-11 13:53:59 +02:00
4e124c983b Only call gimp_channel_combine_span() if the value actually changed 2009-10-11 13:49:14 +02:00
3438287f03 Remove member "name" from the GimpDynamics struct
...and use GimpObject's name in GimpContext. Might be the last
bit to make the context's dynamics work completely.
2009-10-11 13:18:23 +02:00
892f43fe98 Move GimpDynamicsOutput typedef to core-types.h, some cleanup 2009-10-11 13:16:31 +02:00
d69b4f49e3 Fixing style I think 2009-10-11 13:54:40 +03:00
e5ad18cba5 Fixing the scale thing right and in the right place 2009-10-11 13:43:28 +03:00
04bad5609a Move scale limit so it does not bother generated brushes. 2009-10-11 12:17:29 +03:00
424294b738 Remove the special method for mixing scale thats absolete now with limist gone. 2009-10-11 11:26:44 +03:00
2656875953 Remove the silly ratio limit from scale and just make sure that transformation result is at least 1px 2009-10-11 10:57:13 +03:00
42b66678f5 Honor the "global-dynamics" setting 2009-10-11 01:44:38 +02:00
3aa8db4cea Use the configured default_dynamics from the config object 2009-10-11 01:36:24 +02:00
8be598e029 Create the dynamics directory 2009-10-11 01:34:48 +02:00
b550fc9f65 Use the newly added dynamics paths 2009-10-11 01:33:14 +02:00
ba355321cf Various cleanups in the GimpDynamics object 2009-10-11 01:19:40 +02:00
26bda5a2e2 Some more cleanup
- move the GimpDynamics typedef to core-types.h
- related changes
- clean up gimpcontext.c
2009-10-11 00:20:06 +02:00
5c1a9497f0 Some formatting cleanup 2009-10-11 00:20:06 +02:00
0ca81896e9 Merge commit 'origin/master' into soc-2009-dynamics 2009-10-11 01:05:40 +03:00
aa9538a81a Optimize gimp_channel_combine_ellipse_rect()
The actual algorithm is still the same sick algorithm that was used
before. But instead of iterating the mask row-by-row and filling
it in small spans, we now use one pixel_regions_process() loop to
process the whole mask. Makes a significant difference for large
elliptical selections.

Remove gimp_channel_add_segment() and gimp_channel_sub_segment()
as they are not needed any longer and were responsible for the
bad performance.
2009-10-10 23:09:54 +02:00
bcfce95a5e minor cleanups 2009-10-10 23:09:46 +02:00
4c0f1a2d54 app: minor optimization and cleanups
gimp_channel_add_segment() and gimp_channel_sub_segment() can just
write directly if the value is 255, which it is quite commonly.
2009-10-10 23:09:46 +02:00
90abaf1a73 app: Document GimpContext 2009-10-10 22:06:55 +02:00
9b0f6ae5e2 Make saves work a bit more. 2009-10-10 22:29:04 +03:00
4a5f070217 Fixing dynamics extension on save 2009-10-10 22:05:50 +03:00
0ffcad4688 Several small fixes. 2009-10-10 21:43:58 +03:00
7f8b347677 Several small fixes. 2009-10-10 21:43:57 +03:00