Commit Graph

3201 Commits

Author SHA1 Message Date
Michael Natterer 3329c89ad5 Formatting cleanup 2009-10-27 19:48:36 +01:00
Michael Natterer 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
Michael Natterer 0c81d491fb Change coords in GimpDynamicsOutput from call-by-value to "const GimpCoords*" 2009-10-27 14:30:20 +01:00
Martin Nordholts 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
Alexia Death fc3c368f96 Fix 180 degrees rotated brushes with dynamics off and direction following. 2009-10-25 17:16:26 +02:00
Alexia Death 071d26caa9 Merge commit 'origin/master' into soc-2009-dynamics 2009-10-17 21:47:01 +03:00
Michael Natterer b77592ffb2 Coding style cleanup 2009-10-17 20:37:53 +02:00
Michael Natterer 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
Alexia Death 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
Michael Natterer 793be22da9 Only didive if the number of inputs is > 1 (/ 1 makes little sense) 2009-10-14 18:52:04 +02:00
Michael Natterer 15b912c66d Change "factors" variables to integer because it's a counter; formatting 2009-10-14 10:33:11 +02:00
Michael Natterer 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
Alexia Death 7bae9c0827 Merge commit 'origin/master' into soc-2009-dynamics 2009-10-13 20:23:34 +03:00
Michael Natterer 8fed74777d Rename boolean properties of GimpDynamicsOutput from "foo" to "use-foo" 2009-10-12 19:06:11 +02:00
Michael Natterer 77faffe4b7 Rename the output members of GimpDynamics from foo_dynamics to foo_output 2009-10-12 14:45:12 +02:00
Michael Natterer 5a145ae4c3 Whitespace cleanup that reduces the diff against master 2009-10-12 13:00:16 +02:00
Michael Natterer b6dd77ab84 Whitespace fix 2009-10-12 12:23:36 +02:00
Michael Natterer 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
Michael Natterer 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
Michael Natterer c794fe0af2 Implement the GimpConfigInterface 2009-10-11 16:25:30 +02:00
Michael Natterer dab5f9e691 Rename all GimpDynamicsOutput functions to gimp_dynamics_output_foo() 2009-10-11 15:54:59 +02:00
Michael Natterer 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
Sven Neumann 4e124c983b Only call gimp_channel_combine_span() if the value actually changed 2009-10-11 13:49:14 +02:00
Michael Natterer 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
Michael Natterer 892f43fe98 Move GimpDynamicsOutput typedef to core-types.h, some cleanup 2009-10-11 13:16:31 +02:00
Alexia Death d69b4f49e3 Fixing style I think 2009-10-11 13:54:40 +03:00
Alexia Death e5ad18cba5 Fixing the scale thing right and in the right place 2009-10-11 13:43:28 +03:00
Alexia Death 04bad5609a Move scale limit so it does not bother generated brushes. 2009-10-11 12:17:29 +03:00
Alexia Death 424294b738 Remove the special method for mixing scale thats absolete now with limist gone. 2009-10-11 11:26:44 +03:00
Alexia Death 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
Michael Natterer 42b66678f5 Honor the "global-dynamics" setting 2009-10-11 01:44:38 +02:00
Michael Natterer 3aa8db4cea Use the configured default_dynamics from the config object 2009-10-11 01:36:24 +02:00
Michael Natterer 8be598e029 Create the dynamics directory 2009-10-11 01:34:48 +02:00
Michael Natterer b550fc9f65 Use the newly added dynamics paths 2009-10-11 01:33:14 +02:00
Michael Natterer ba355321cf Various cleanups in the GimpDynamics object 2009-10-11 01:19:40 +02:00
Michael Natterer 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
Michael Natterer 5c1a9497f0 Some formatting cleanup 2009-10-11 00:20:06 +02:00
Alexia Death 0ca81896e9 Merge commit 'origin/master' into soc-2009-dynamics 2009-10-11 01:05:40 +03:00
Sven Neumann 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
Sven Neumann bcfce95a5e minor cleanups 2009-10-10 23:09:46 +02:00
Sven Neumann 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
Martin Nordholts 90abaf1a73 app: Document GimpContext 2009-10-10 22:06:55 +02:00
Alexia Death 9b0f6ae5e2 Make saves work a bit more. 2009-10-10 22:29:04 +03:00
Alexia Death 4a5f070217 Fixing dynamics extension on save 2009-10-10 22:05:50 +03:00
Alexia Death 0ffcad4688 Several small fixes. 2009-10-10 21:43:58 +03:00
Alexia Death 7f8b347677 Several small fixes. 2009-10-10 21:43:57 +03:00
Michael Natterer cbcf46506c Fix up dynamics loading/saving 2009-10-10 20:39:11 +02:00
Alexia Death 72e976cca6 Make saving work. sortof. 2009-10-10 20:46:06 +03:00
Alexia Death 5adeb6ee25 Obsolete comment removed 2009-10-10 20:23:08 +03:00
Alexia Death 430a796904 Fixes 2009-10-10 20:22:31 +03:00