77b6af2da8
app: implement gimp_curve_load() and _save() in GIO
...
They are currently unused, but implementing them was a copy/paste
no brainer.
2014-07-03 13:22:10 +02:00
a572638656
app: fix copy/paste GError bug in some calls to g_file_replace()
2014-07-03 13:01:01 +02:00
799a3d4352
app: g_mkdir() -> g_file_make_directory() in gimptooloptions.c
2014-07-03 01:33:20 +02:00
a49709ef6c
app: port gradient saving to GIO
2014-07-02 23:26:40 +02:00
3bfb2154a0
app: port palette saving to GIO
2014-07-02 22:41:51 +02:00
8202fa1a77
app: port pattern loading to GIO
2014-07-02 22:29:57 +02:00
b0f9a42fb3
app: port generated brush saving to GIO
2014-07-02 22:16:09 +02:00
77c20040ae
app: port generated brush loading to GIO
2014-07-02 21:33:00 +02:00
add91b70b9
app: port brush loading to GIO
2014-07-02 21:11:49 +02:00
3dbae5e4d9
Bug 727854 - Export file type should not be based on filename extension
...
Keep the export proc acound in the image (just as we keep around
the save proc), and use it when exporting again.
2014-07-02 14:24:02 +02:00
c88800e840
app: add gimp-priorities.h and keep the most important priorities there
...
also add comments with all predefined priorities as documentation.
2014-07-02 04:47:24 +02:00
b5530e9e3d
Use the new GeglAccessMode enum instead of the old values
2014-07-02 02:00:35 +02:00
3665352ad6
app: change gimp_config_file_backup_on_error() to take a GFile
2014-07-01 20:02:45 +02:00
98e7ec090b
app: use the new gimp_personal_rc_gfile() in lots of places
...
and pass the GFile to the newly added GFile-based GimpConfig,
GimpScanner etc. functions. This is starting to make sense now...
2014-07-01 20:02:45 +02:00
651c3d56ff
app: more filename -> GFile
2014-07-01 15:56:39 +02:00
a31cb02405
app: return a GFile from gimp_tool_info_build_options_filename()
...
and rename it to gimp_tool_info_get_options_file().
2014-07-01 15:41:12 +02:00
8c8135a881
app: port GimpImageMapTool's settings API from filename to GFile
2014-07-01 15:13:02 +02:00
20032907e0
app: use gimp_file_get_utf8_name() in the code ported to GFile earlier
2014-07-01 14:25:37 +02:00
113617f526
app: change the GimpData loading API from filename to GFile
2014-07-01 02:30:22 +02:00
b7c78c5b97
app: use gimp_config_serialize_to_gfile() for dynamics and tool presets
2014-07-01 02:06:44 +02:00
6ec5fb80e4
libgimpconfig: add API operating on GFiles instead of filenames
...
to GimpConfigInterface's wrappers, to GimpConfigWriter and to
GimpScanner.
2014-07-01 01:57:31 +02:00
9696e297ac
app: turn GimpData's "filename" string into a "file" GFile
...
One more step, but for now just causes more code in most places to get
to the path inside the GFile.
2014-07-01 01:19:35 +02:00
f2b265f751
app: more correct code in gimp_projection_chunk_render_iteration()
...
wasn't broken before, just too obscure.
2014-06-30 23:12:53 +02:00
630d74a4c4
app: fix gimp_drawable_merge_filter() to make a copy of the result again
...
We optimized away so much redundant processing that we now need to
copy the region already processed by the GimpApplicator from its
cache, when it would previously have been created "for free" by all
the redundant processing.
2014-06-30 21:26:01 +02:00
48ece1f31d
app: revive debug utility function gimp_create_image_from_buffer()
...
and fix it not to leak the created image.
2014-06-30 21:06:13 +02:00
db4f67048d
app: Always return values in non-void functions.
2014-06-29 22:35:34 -04:00
f4803af808
app: add boolean "cancelable" API to GimpImageMap and gimpdrawable-filter.[ch]
...
Return booleans indicating success (FALSE == user has canceled), and
allow canceling only in GimpImageMapTool for now.
2014-06-30 01:06:04 +02:00
16381c9bf9
app: make gimp_gegl_apply_cached_operation() cancelable via GimpProgress
...
In gimp_drawable_merge_filter(), use that feature to make filter
applying cancelable. Stop projection rendering first, because we have
to run the event loop manually in order to receive input for
canceling, but we don't want the projection to be constructed from
that manual loop running.
2014-06-30 00:10:25 +02:00
3795c597ba
app: add gimp_projection_stop_rendering()
...
which stops a running chunk renderer and moves its remaining
unrendered region back to the projection's dirty region.
2014-06-29 23:57:22 +02:00
0e2b8f236d
Bug 731362 - Merging layers (outside layer folders)...
...
...causes layer folders to expand
In gimp_image_remove_layer(), don't use the top element of
image->layer_stack as the new active layer, because it is simply some
arbitrary layer that was previously selected. That stack is only good
for finding the last active layer when returning from the channels
dialog. Instead, let the proper logic run and use the new active item
returned by gimp_item_tree_remove_item(), which is the layer below the
removed one, if any, or the one above it otherwise.
2014-06-29 21:00:03 +02:00
c0fbbcdac4
app: fix up obsolete comments in GimpImageMap, and reorder members
2014-06-25 18:53:44 +02:00
6eba4c716b
app: cleanup in GimpImageMap
...
- don't allow to create a GimpImageMap of an operation without output
- make "region", "mode" and "gamma-hack" settable on a map that
already has a graph
- don't insert a useless "over" if the operation is a source op
- do the gamma-hack always on formats with alpha, so we don't lose
intermediate alpha results on source ops
- simplify graph connection a lot
- in GimpImageMap tool, don't recreate the map when reconfiguring
"region" and "gamma-hack"
2014-06-25 18:16:52 +02:00
1ff1c687f4
app: add gimp_image_map_set_mode()
...
which allows to set opacity and paint_mode on the contained
GimpApplicator.
2014-06-24 20:18:34 +02:00
ef79cfdade
app: Make GIMP_PROJECTION_CHUNK_TIME a gdouble
...
Otherwise, it's immediately rounded to 0.
2014-06-22 10:38:44 -04:00
f04ec31478
app: don't leak the property keys hash tables of duplicated Gegl paramspecs
...
This leak never happened because the duplicates are currently never
freed.
2014-06-20 09:00:46 +02:00
db2ea536da
app: add an optional gegl:cache at the output of GimpApplicator
...
Add "gboolean use_cache" to gimp_applicator_new(). Don't use a cache
anywhere but in GimpImageMap because it incrementally fills that cache
via the projection update. In gimp_drawable_merge_filter(), get that
cache and pass it to gimp_gegl_apply_cached_operation() which then
avoids doing the work twice for the already cached results. Win!
2014-06-18 18:50:53 +02:00
3af1fff5af
app: make the first image jump to the center of the canvas before rendering
...
Make GIMP_DISPLAY_SHELL_FILL_IDLE_PRIORITY a bit higher than
GIMP_PROJECTION_IDLE_PRIORITY which is the priority of chunk
rendering.
2014-06-17 23:29:24 +02:00
2124ddebe6
app: make gimp_curve_set_n_points and set_n_samples() public API
2014-06-17 20:07:24 +02:00
f21a649053
app: disable row-fetching optimization in gimppickable-contiguous-region.c
...
GeglSampler is now much faster. Leave the #ifdefs there for the time
being for benchmarking purposes.
2014-06-17 20:05:05 +02:00
35bd3b450d
app: use gimp_image_estimate_memsize() in gimp_image_scale_check()
...
and also improve its result a bit, I think... (whether or not undo
memory should be included here is debatable).
2014-06-15 21:49:38 +02:00
57ef7a2959
app: add gimp_image_estimate_memsize()
...
to be used to estimate an image's memory size at another precision or
size.
2014-06-15 21:40:05 +02:00
28e4ae341b
app: some cleanup in gimp_template_notify()
...
- use gimp_babl_mask_format() to get the new image's selection format
- don't call g_object_notify("icon-name"), GimpViewable does that already
2014-06-15 21:29:34 +02:00
9f0fde1397
app: add gimp_gegl_pyramid_get_memsize(), used by gimp_projection_get_memsize()
2014-06-15 18:21:05 +02:00
02c9dacc8f
app: s/GimpPrecision/GimpComponentType/ in gimp_projection_estimate_memsize()
2014-06-14 23:20:52 +02:00
909c4b4084
app: add a GimpCpmponentType parameter to GimpDrawable::estimate_memsize()
...
so we can also estimate converting the drawable to other precisions.
2014-06-14 23:12:22 +02:00
efd354b733
app: compare gamma-correced colors when finding contiguous regions
...
This maps threshold changes by moving the mouse more uniformly to the
growing/shrinking of the selected area, and the tools should work
perceptually anyway. Also, it makes things another 10 times as fast on
gamma-corrected drawables.
2014-06-12 23:49:50 +02:00
64d9e146d8
app: prefetch entire rows of pixels when finding contiguous regions
...
Makes the thing about twice as fast (used by fuzzy select, bucket fill)
2014-06-12 23:26:01 +02:00
8aa0019c2e
app: clean up inclusion of gegl-plugin.h, mostly removals
2014-06-10 03:13:09 +02:00
fd928cde07
app: Return NULL on failure in gimp_drawable_foreground_extract
...
It is not a void function.
2014-06-03 21:41:04 -04:00
69b7cda375
app: fix projection and display render chunk-size envvars
2014-06-04 02:07:08 +02:00