b45d31072b
app, libgimpcolor: refactor GimpColorManaged::get_color_profile()
...
to not return a reference that has to be dropped. Also allow NULL to
be returned if the managed cannot have a profile. If it can have one,
get_color_profile() still always returns a profile (either the
assigned one, or a generated built-in one).
2015-09-03 01:36:02 +02:00
e8a5f285a7
app: change GimpBuffer to keep around an actual GimpColorProfile
...
not an icc_data blob. This simplifies the code using GimpBuffers
together with color profiles.
2015-08-16 13:14:56 +02:00
b5264ec1be
Bug 723392 - Pasting an image replaces color profile with default one
...
Make sure that paste buffers are always tagged with a profile. This
should fix copy and paste between gamma and linear images.
2015-08-15 19:15:14 +02:00
514fbe0d66
Bug 723392 - Pasting an image replaces color profile with default one
...
gimp_edit_extract(): attach the profile to the copied buffer also when
the source is the image. Fixes "Copy Visible".
2015-08-14 22:34:29 +02:00
6446c007cf
app: rename gimp_layer_new_from_buffer() to gimp_layer_new_from_gegl_buffer()
...
and add new function gimp_layer_new_from_buffer() which takes a
GimpBuffer. This will make sense soon :)
2015-06-20 00:02:11 +02:00
db09d0f3d3
app: move functions to create layers to new files gimplayer-new.[ch]
2015-06-17 13:21:01 +02:00
26e2ccbdf3
app: tag GimpBuffers with an ICC profile, if available
...
Set the profile when the buffer is copied from a layer, and when it's
created from a GdkPixbuf from the clipboard. The profile is not yet
used for anything.
2015-06-16 23:16:54 +02:00
38c86da8e9
app: factor out utility function gimp_get_fill_params()
...
which returns an error if there is no pattern for GIMP_FILL_PATTERN.
Use it instead of having the same code in 3 variants, and make error
handling consistent with bucket fill.
2014-06-03 14:00:01 +02:00
425748dab0
libgimpbase, *: rename GimpFillType values: GIMP_FOO_FILL -> GIMP_FILL_FOO
...
Change all users accordingly and add compat enum values and compat
constants to script-fu and pygimp.
2014-06-03 01:11:32 +02:00
454d5d954b
app, libgimpbase: completely remove enum value GIMP_NO_FILL
...
It should not have been moved to libgimpbase, it was never
PDB-exported and not selectable in the GUI any longer, so its code
paths were dead.
2014-05-13 16:30:02 +02:00
125cf2a2a3
app: use the image instead of the projection for accessing a pickable
2013-09-13 23:29:06 +02:00
6b0d1038cc
Bug 692641 - Various spelling fixes
2013-01-27 18:59:02 +01:00
eda6fa1c14
Bug 586462 - Layer inserts misplaced
...
Another attempt to fix paste/drop positions for good.
Paste/drop target is either the selected area of a drawable, the
drawable itself, or the image:
- if the paste is larger than the target, center on the target
- if there is a viewport, and the viewport intersects with the
target, center on the intersection
- otherwise, center on the target
Finally, if we did viewport-centered pasting, make sure the paste is
as completely within image bounds as possible.
2012-07-30 16:20:11 +02:00
4dcd1f3ad4
app: use plain gegl_buffer_new() and _dup(), not the gimp_gegl_ variants
...
unless the buffers end up being drawable->buffer.
2012-05-20 22:02:59 +02:00
0d636a3561
app: same ERASE mode fix for gimp_edit_clear()
2012-05-20 17:32:43 +02:00
aee7ddd56d
app: remove the !use_gegl case from gimp_drawable_apply_buffer()
...
and its last three parameters because they were only used for legacy
floating selection projection.
2012-05-19 00:14:51 +02:00
3ad73b3658
libgimpcolor: add GdkPixbuf <-> GeglBuffer utility functions
...
and update tons of includes in libgimp and app.
2012-05-03 03:37:20 +02:00
1bbd3d40a8
app: make the GimpTempBuf struct private and add accessors
2012-05-02 17:51:12 +02:00
bdf6b48138
app: move GimpTempBuf from base/ to core/
...
and forget about include policy in base/, it's scheduled for removal
anyway.
2012-05-02 17:51:01 +02:00
7441a1f6f7
app: turn the TempBuf's "bytes" into "format" and port everything to it
2012-05-02 17:50:59 +02:00
baa5ceb1e7
app: remove image_type API from GimpBuffer
2012-05-02 17:50:57 +02:00
c14738806e
app: use gimp_image_get_layer_format() instead of dealing with image_type
2012-05-02 17:50:57 +02:00
f4d8e5266a
app: gimp_edit_paste(): use more formats inatead of GimpImageType
2012-05-02 17:50:56 +02:00
cb3e8f82d4
app: simplify leftover and now useless nested if()
2012-05-02 17:50:55 +02:00
6efd812d08
app: s/GIMP_GEGL_RECT/GEGL_RECTANGLE/
...
Defining GeglRectangle inline is so useful that it has been added to
GEGL.
2012-05-02 17:50:52 +02:00
7223af17a2
app: completely port GimpDrawable::apply_region()'s API to GeglBuffer
...
and pass lots of coords that were hidden inside PixelRegions
explicitly.
2012-05-02 17:46:12 +02:00
579d894778
app: turn GimpDrawable::apply_region() into ::apply_buffer()
...
and GimpDrawableUndo.src2_tiles into applied_buffer.
2012-05-02 17:46:11 +02:00
dbc881376e
app: add gimp_drawable_apply_buffer() and port edit, bucket fill, stroke
2012-05-02 17:46:10 +02:00
904a35d722
app: remove width, height from GimpDrawableUndo and GimpDrawable::swap_tiles()
...
because we always store/swap a buffer of the actual size now.
2012-05-02 17:46:09 +02:00
765c2cfea2
app: replace GimpDraable's type by a Babl format
...
and change gimp_drawable_new() and all gimp_layer_new() variants to
take formats instead of types.
2012-05-02 17:46:06 +02:00
07be967b45
app: remove gimp_selection_extract_buffer() again
2012-05-02 17:46:06 +02:00
c6daba8b5d
app: port everything to gimp_selection_extract_buffer()
2012-05-02 17:46:06 +02:00
fe3220ae6f
app: remove write property of GeglBuffer backend
2012-05-02 17:46:05 +02:00
69c52173fb
app: change gimp_gegl_color_set_rgba() to gimp_gegl_color_new()
...
which saves one line of code in every single use case.
2012-05-02 17:46:03 +02:00
58dfa962a1
app: port simple rotating and flipping to GEGL
...
Which requires making the entire copy/paste apparatus aware of the
Babl format of the passed around tile managers.
2012-05-02 17:46:02 +02:00
47453eb36b
app: remove unused include from gimp-edit.c
2012-05-02 17:46:01 +02:00
3ec245a991
app: add opacity and paint_mode to gimp_edit_fill[_full]()
...
and use it instead of bucket-fill in the non-seed-fill case.
2012-05-02 17:46:01 +02:00
ffeb3515db
app: add gimp_edit_fill_full() which takes color and pattern
...
and use it for dropping colors and patterns on the display
and on the layers dialog, instead of using the overkill
gimp_drawable_bucket_fill_full().
2012-05-02 17:46:01 +02:00
9d333190d6
app: simplify gimp_edit_fill_internal() by adding color and pattern arguments
...
instead of context and fill mode. Collect the actual parameters in
gimp_edit_fill() instead, which makes much more sense.
2012-05-02 17:46:01 +02:00
9a09d3a762
app: drop "babl" from gimp_foo_get_babl_format[_with_alpha]()
2012-05-02 17:45:58 +02:00
69b2aa880f
app: add gimp_pattern_create_buffer() and use it in gimp_edit_fill_internal()
2012-05-02 17:45:56 +02:00
733a98d33b
app: let Babl handle all color conversion in gimp_edit_fill_internal()
...
also for indexed, thanks to the new palette format.
2012-05-02 17:45:56 +02:00
d146cc40ea
app: require a Babl for all buffers created on top of tiles
...
Fixes quite some introduced glitches with indexed mode because
the buffers use the right pixel format now.
2012-05-02 17:45:56 +02:00
169221bc51
app: replace some color_region() and pattern_region() by GEGL code
2012-05-02 17:45:52 +02:00
dc8d6a3977
app: use gimp_image_transform_rgb() instead of transform_color()
...
instead of fiddling with gimp_rgb_get_uchar() manually.
2012-05-02 17:45:52 +02:00
b95fc4f8d5
app: rename gimp_drawable_get_buffer() and gimp_tile_manager_get_gegl_buffer()
...
to foo_create_buffer() because they return new objects.
2012-05-02 17:45:47 +02:00
d771249466
app: completely port GimpBuffer to using GeglBuffer not TileManager
2012-05-02 17:45:47 +02:00
bc8d5f84d6
app: remove the "offset" API from TileManager
...
It made the transform code hard to read and never belonged into the
tile manager anyway. It's a simple pixel buffer that should not know
about any position in an image. Instead, pass around the offsets of
tile managers explicitly, so everything is less obscure for the price
of having more parameters. This will also help replacing TileManagers
with GeglBuffers.
2011-03-26 08:30:15 +01:00
41ab7d8e10
Remove broken include
2011-03-26 10:55:21 +05:30
095ae5cc9b
app: move mask_bounds() and mask_intersect() from GimpDrawable to GimpItem
...
There is nothing drawable-specific in there, and having them on
GimpItem enables some simplifications, esp. in upcoming PDB
wrappers. None of these refactorings is in this commit though.
2010-09-07 21:30:46 +02:00