The plug-in makes use of a GimpPixelFetcher to access the source image.
And a GimpPixelFetcher in its default state only returns pixels inside
the bounding box of the selection. Setting its edge-mode to whatever
but GIMP_PIXEL_FETCHER_EDGE_NONE allows to read pixels outside of the
selection.
Always initialize the 'status' member of a newly allocated cairo_path_t
to the value CAIRO_STATUS_SUCCESS as required to successively call
cairo_append_path().
When an import source has been overwritten with File -> Overwrite
<file.png>, or exported by whatever means, reflect this status in the
title bar of the image window. Do this by adding some string building
logic to gimp_display_shell_format_filename().
Since save and export are separate activities we need to keep track of
image dirtiness for both of them. For this purpose, add a
'export_dirty' member to GimpImage which has the same semantics as
'dirty', but for export. Set it to clean whenever a document is
exported by whatever means. Do this with a new function
gimp_image_export_clean_all(). Also add gimp_image_is_export_dirty().
Forget the import source after save. We interpret a save as that the
user is not interested in being able to quickly export back to the
original any longer. The effect of this is that if we have an
'Overwrite' menu item, it becomes insensitive and set to 'Export to'.
With no export target but with an import source, show
"Overwrite <filename>" in the File menu. This also means we can't set
GIMP_FILE_EXPORT_TO_URI_KEY along with import source any longer.
Not all actions have procedures associated with them, for example
unused "plug-in-recent-[N]" actions, so check for NULL before we
invoke the plug-in action
the image and the up or down arrow is pressed.
Applied patch from Massimo as found in bug #567393. This changes ROUND()
to RINT() to correct rounding for negative numbers. Also did this change
in gimp_rectangle_tool_adjust_coord().
Added a function to merge the Exif data into the xmp model. The function
is using the image id and to access the Exif data parasite. For each
Exif property a corresponding value in the XMP model is created.
- keep around more local "buffer" variables to improve readability
- fix all comparisons between coordinates and bounding boxes,
they were off-by-one on one or both sides.
(gimp_text_tool_move_cursor): use PangoLayoutLines and byte indices to
calculate x positions when moving the cursor up or down. text_tool->x_pos
is not in terms of device units within a PangoLayoutLine.
Reuse the GeglProcessor instead of creating a new one in each call to
gimp_projection_construct_gegl(). Requires at least 0ed57a05da of
GEGL. Does not seem to give any performance improvement at all
unfortunately :(
* app/widgets/gimptextproxy.c: also swallow the "toggle-overwrite"
signal.
* app/tools/gimpdrawtool. [ch] (gimp_draw_tool_draw_text_cursor): add
"gboolean overwrite" which causes the cursor to be drawn as block.
* app/tools/gimptexttool.[ch]: implement overwriting, toggling it,
and changing the text cursor accordingly.
- add some local "buffer" variables to avoid writing text_tool->text_buffer
all the time.
- text_tool->text_buffer always exists, no need to check for it.