Commit Graph

3543 Commits

Author SHA1 Message Date
3720938517 Move the active layer, channel and vectors to GimpImagePrivate 2010-02-03 23:12:22 +01:00
67014260dd Move some container handlers to GimpImagePrivate 2010-02-03 23:05:49 +01:00
88de69464e Move "layers", "channels" and "vectors" to GimpImagePrivate 2010-02-03 23:00:31 +01:00
c9f8399614 Move "grid", "guides" and "sample_points" to GimpImagePrivate 2010-02-03 22:16:02 +01:00
2005fd1a68 Move "projection" and "graph" to GimpImagePrivate 2010-02-03 21:46:09 +01:00
bb624cb8c4 Move "tattoo_state" to GimpImagePrivate 2010-02-03 21:31:27 +01:00
0b2c804e9d Move "disp_count" and "instance_count" to GimpImagePrivate
and add the neccessary API to access and modify them.
2010-02-03 21:22:00 +01:00
f769284aca Start private struct for GimpImage and move the first members there 2010-02-03 20:31:25 +01:00
f18943f4ce Don't access the image's unit and resolution members directly 2010-02-03 19:53:45 +01:00
ed2d178da3 app: Get rid of config -> display module dependency
In order to make a clear separation between the core modules and the
UI modules, move the necessary enums from display-enums.h and
widgets-enums.h to config-enums.h and the files
gimpdisplayoptions.[ch] from the display to the config module. This
removes the config -> display dependency.

This change has three main benefits
 * It lets us remove includes of display files from the config module
 * We don't have to link gimp-console and test-config with a subset of
   object files from the display module
 * It is reflected in devel-docs/gimp-module-dependencies.svg that the
   application is made up of core modules and UI modules and that no
   core module depends on any UI module
2010-02-01 21:56:48 +01:00
98818f91cf Fix GimpCoords' default initializer
Add #define GIMP_COORDS_DEFAULT_DIRECTION and include it in
GIMP_COORDS_DEFAULT_VALUES so coords using it are not partly
uninitialized.
2010-01-31 14:30:08 +01:00
a6d052f774 Bug 607140 - Tags not saved for Paint Dynamics resources on GIMP restart
(gimp_restore): add the dynamics container to the tag cache.
2010-01-31 11:31:19 +01:00
efbf581d61 app: Add newline at end of gimpbrush-transform.c 2010-01-05 21:19:12 +01:00
b5defd4e4a app: Add GIMP_LOG_FLOATING_SELECTION domain
Add GIMP_LOG_FLOATING_SELECTION domain to get rid of the somewhat
annoying debug prints. Floating selection is likely to require further
debuggin later on, so instead of just removing the output, use
GIMP_LOG for it.
2010-01-02 23:41:52 +01:00
bdec911bfc app: Fix a mixing quirk in linear dynamics mixing
Angular dynamics could have resulted in a value > 1 giving unexpected results with hardness.
2010-01-01 19:03:59 +02:00
2c4c9ad333 app: Clean up the hardness feature. Lets convolve PixelRegions. 2010-01-01 18:16:29 +02:00
9774988f30 Real dynamic hardness support for both generated and pixmap brushes.
For generated brushes, dynamic input is applied on top of the set hardness as a factor.
For pixmaps, it influences the amount of blur applied to the stamp. Be warned, process is slow
for large pixmaps. The odd feature previously advertised as hardness is left in but disabled.
If I figure out what it should be exposed as, it might be made available again.
2010-01-01 15:54:31 +02:00
37b6a205d3 app: change the way the operation for layer compositing is determined
By default, get the operation from gimp_layer_mode_to_gegl_operation()
and special-case all modes except from "normal", so the special cases
actually become less as the new operations are filled with code.
2009-12-30 18:01:09 +01:00
b9b1cbe00e comment out debug output from tag-cache 2009-12-30 16:39:35 +01:00
e79834b75e app: Fix garbage appearing in generated brushes with dynamic angles
Rounds angle used in generated brushes to avoid floating point precision problems.
2009-12-30 15:10:34 +02:00
c5b4643d69 Revert "app: Fix garbage appearing in 1:1 apect ratio 2 spike generated brushes"
This reverts commit 54844e8ab8.
An unneded pseudofix. Proper fix will be commited soon.
2009-12-30 13:21:26 +02:00
79c4023552 app: inline the inner curve mapping function for internal use
Makes gegl-curves about 1/3 faster for a simple case where only
the "value" curve was changed. The speedup should be better when
multiple curves are changed from the identity mapping.
2009-12-28 20:50:26 +01:00
54844e8ab8 app: Fix garbage appearing in 1:1 apect ratio 2 spike generated brushes 2009-12-27 00:27:29 +02:00
345bbfe475 app: adjust wording and spelling in error messages 2009-12-26 20:46:19 +01:00
105b7c5afa app: fix mapping for CURVE_BLUE (use the blue, not the green curve) 2009-12-26 14:10:31 +01:00
355f1bfd56 app: Fix tabs to spaces for dynamics 2009-12-19 17:36:27 +02:00
b95dda6eea app: Fix dynamics mixing for inputs&outputs that have paint options toggles 2009-12-18 20:51:23 +02:00
60705f79e9 app: Making spacing available as dynamic parameter
Spacing is now dynamically controllable. Unlike other parameters it
made little sense to scale down from default spacing so it scales between
current and maximum spacing.
2009-12-13 22:46:09 +02:00
7739670a93 gimp_layer_sync_mode_node(): use gegl:over for normal mode 2009-11-29 13:51:22 +01:00
12ac8ce899 Factor out configuring the layer's mode node to a utility function 2009-11-29 13:35:27 +01:00
2c05af036c Use gegl:over instead of gegl:normal 2009-11-27 21:11:26 +01:00
3a8b59ada5 Use ${gimp_dir} and ${gimp_data_dir} in tags.xml
* app/core/gimpdata.c (gimp_data_get_identifier): check if the data's
  path starts with either of those and use the symbolic paths in that
  case.

* data/tags/gimp-tags-default.xml.in: use them here too instead of
  /home/martin/foo/bar/...

This way we can ship a default file that makes sense, and need much
less identifier remapping. The identifiers even stay the same when
upgrading GIMP.
2009-11-07 21:14:56 +01:00
68e1605666 Added workaround for the solaris-printf behaviour. 2009-11-05 10:55:00 +01:00
22767ca7b8 Seal GimpData completely and add the missing accessors 2009-10-31 18:48:38 +01:00
7abcfbf237 Add private struct to GimpData
And start sealing by moving "filename" there. Add
gimp_data_get_filename() and use it everywhere.
2009-10-31 15:24:57 +01:00
cfa76869d6 Bug 599797 - Crash on "Refresh dynamics" if ~/.gimp-2.7/dynamics folder is missing
(gimp_data_factory_refresh_cache_add): don't add data objects without
filename to the refresh cache. Regardless why they have no filename,
they can't be reloaded anyway (in this case it's newly created objects
that couldn't be saved because there is no folder to save them).
2009-10-30 22:58:19 +01:00
223cbeb6fb Fix gimp_data_factory_data_foreach()
Make the function do what is says also if the callback doesn't remove
the data from the factory, argh... also add "gboolean skip_internal"
parameter because doing that unconditionally feels equally broken.
2009-10-30 22:50:02 +01:00
a0e70231fb Rename cache utility function and reorder stuff to make more sense 2009-10-30 22:40:50 +01:00
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