2004-06-30 Simon Budig <simon@gimp.org>
* app/vectors/gimpstroke.[ch]
* tools/pdbgen/pdb/paths.pdb: Applied a modified patch from
Geert Jordaens that implements the gimp-path-get-point-at-dist
PDB function (fixes bug #138754).
* app/pdb/paths_cmds.c: regenerated
2004-06-29 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c: reordered drop destinations
so vectors are preferred over SVG.
* app/vectors/gimpvectors-import.[ch]: added "gint position"
parameter to all import functions so the imported vectors can be
added at any position in the vectors stack.
* app/actions/vectors-commands.c
* app/display/gimpdisplayshell-dnd.c
* tools/pdbgen/pdb/paths.pdb: changed accordingly (pass -1 as
position).
* app/pdb/paths_cmds.c: regenerated.
* app/widgets/gimpvectorstreeview.c: implemented SVG DND from and
to the paths dialog.
2004-04-15 Michael Natterer <mitch@gimp.org>
Context cleanup continued:
* app/core/gimpitem.[ch]: added context parameter to
GimpItem::stroke().
* app/core/gimpchannel.c (gimp_channel_stroke)
* app/vectors/gimpvectors.c (gimp_vectors_stroke): use it to get
default values from instead of gimp_get_user_context().
* app/core/gimpselection.c
* app/gui/stroke-dialog.c
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/paths.pdb: changed accordingly.
* app/pdb/edit_cmds.c
* app/pdb/paths_cmds.c: regenerated.
* app/plug-in/plug-in.[ch]: added GimpContext member to the PlugIn
struct. Added context parameter to plug_in_new(),
plug_in_call_query() and plug_in_call_init().
* app/plug-in/plug-in-run.[ch]: added context parameters to
plug_in_run() and plug_in_repeat().
* app/gui/plug-in-commands.c
* app/gui/vectors-commands.c
* app/pdb/procedural_db.c
* app/widgets/gimphelp.c: pass a context to plug_in_run() and
plug_in_repeat().
* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): call
procedures with the plug-in's context.
* app/plug-in/plug-ins.c: use a temporary context for running the
plug-ins' query() and init() functions. Use the same context for
running automatic extensions. This temporarily separates the main
Script-Fu extension from the user context (i.e. scripts have no
way of setting/getting the global FG, BG, brush etc.).
2004-01-22 Michael Natterer <mitch@gimp.org>
* app/core/gimpitem.[ch]: added "gboolean use_default_values"
to GimpItem::stroke().
* app/core/gimpselection.c: changed accordingly.
* app/core/gimpchannel.c
* app/vectors/gimpvectors.c: if use_default_values is TRUE, don't
use the GimpPaintOptions passed in the GimpPaintInfo, but create a
new one.
* app/gui/stroke-dialog.c: pass FALSE so the values as set in the
tool options are used.
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/paths.pdb: pass TRUE so tool options settings
don't affect PDB stroke calls. Fixes part 2 of bug #132145.
* app/pdb/edit_cmds.c
* app/pdb/paths_cmds.c: regenerated.
2003-10-24 Dave Neary <bolsh@gimp.org>
* tools/pdbgen/pdb/paths.pdb: Applied a patch from
Wolfgang Hofer <hof@gimp.org> to make gimp_path_get_points
behave the same as in 1.2.x. Closes bug #125008.
2003-10-06 Michael Natterer <mitch@gimp.org>
Treat changes to the selection like changes to any other drawable:
* app/core/gimpchannel.c
* app/core/gimpchannel-combine.c: call gimp_drawable_update() after
changing the channel.
* app/core/gimpimage.[ch]: added struct GimpImageFlushAccumulator
with one member "gboolean mask_changed". Connect to "update" of
the selection and set accum.mask_changed to TRUE in the callback.
Added default implementation for GimpImage::flush() and emit
"mask_changed" there.
Unrelated:
* app/core/gimpimage.h: removed GimpGuide struct...
* app/core/gimpimage-guides.h: ...and added it here.
* app/core/gimpimage-undo-push.c (undo_pop_mask)
(undo_pop_channel_mod): don't distinguish between selection and
non-selection channels and just call gimp_drawable_update().
* app/core/gimpundo.h
* app/core/gimpimage-undo.c: removed "gboolean mask_changed" from
the GimpUndoAccumulator struct since we don't have to care about
that signal explicitly any more.
* app/display/gimpdisplay-foreach.[ch]: removed gimp_displays_flush().
* tools/pdbgen/pdb/display.pdb (displays_flush_invoker): call
gimp_image_flush() on all images so the flush accumulator is
honored.
This generalization enables the removal of more special purpose
code which was needed to treat the selection different:
* app/core/gimpimage-mask-select.[ch]: removed...
* app/core/gimpchannel-select.[ch]: ...and added under a new name
because it's not selection specific any more.
* app/core/gimpimage-mask.[ch]: removed...
* app/core/gimpselection.[ch]: ...added the two remaining
functions here. Removed all calls to gimp_image_mask_changed().
* app/core/Makefile.am
* app/core/gimp-edit.c
* app/core/gimpdrawable-transform.c
* app/core/gimpimage-scale.c
* app/core/gimpimage-snap.c
* app/display/gimpdisplayshell.c
* app/gui/channels-commands.c
* app/gui/layers-commands.c
* app/gui/select-commands.c
* app/gui/vectors-commands.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpellipseselecttool.c
* app/tools/gimpfreeselecttool.c
* app/tools/gimpfuzzyselecttool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimprectselecttool.c
* app/tools/gimptransformtool.c
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimpselectioneditor.c
* app/widgets/gimpvectorstreeview.c
* app/xcf/xcf-save.c
* tools/pdbgen/pdb/paths.pdb
* tools/pdbgen/pdb/selection.pdb
* tools/pdbgen/pdb/selection_tools.pdb: changed accordingly.
* app/core/gimpdrawable-bucket-fill.c
* app/core/gimpimage-colormap.c
* app/core/gimplayer-floating-sel.c
* app/core/gimplayer.c
* app/gui/image-menu.c
* app/paint/gimppaintcore.c
* app/tools/gimpcroptool.c
* app/tools/gimpinkoptions.c
* app/tools/gimpvectortool.c: removed useless and/or obsolete
#includes.
* app/pdb/display_cmds.c
* app/pdb/paths_cmds.c
* app/pdb/selection_cmds.c
* app/pdb/selection_tools_cmds.c: regenerated.
2003-09-26 Manish Singh <yosh@gimp.org>
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/paths.pdb: apply Simon's changes (GIMP_OBJECT
casts) to here, since they are generated files.
2003-09-25 Sven Neumann <sven@gimp.org>
* app/vectors/gimpvectors-import.[ch]: optionally scale the
imported SVG to fit the image.
* app/gui/vectors-commands.c: changed accordingly.
* tools/pdbgen/pdb/paths.pdb: export the new scale parameter to
the PDB.
* app/pdb/paths_cmds.c
* libgimp/gimppaths_pdb.[ch]: regenerated.
* plug-ins/common/svg.c: scale the imported vectors to image size.
This makes them always fit :)
2003-09-21 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/paths.pdb: added a preliminary PDB API for
vectors import. Will change when the new vectors PDB API gets
added.
* app/pdb/internal_procs.c
* app/pdb/paths_cmds.c
* libgimp/gimppaths_pdb.[ch]: regenerated.
* plug-ins/common/svg.c: allow to import paths when rendering a
SVG file.
2003-09-04 Sven Neumann <sven@gimp.org>
* app/core/gimpcontainer.[ch]: added new function
gimp_container_get_name_array().
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/palettes.pdb
* tools/pdbgen/pdb/paths.pdb
* tools/pdbgen/pdb/patterns.pdb: use the new GimpContainer function
instead of duplicating this code over and over again.
* app/pdb/brushes_cmds.c
* app/pdb/gradients_cmds.c
* app/pdb/palettes_cmds.c
* app/pdb/paths_cmds.c
* app/pdb/patterns_cmds.c
* libgimp/gimpgradients_pdb.c: regenerated.
* tools/pdbgen/Makefile.am
* tools/pdbgen/pdb/fonts.pdb: added new file that defines a simple
PDB API for fonts.
* tools/pdbgen/groups.pl
* app/pdb/Makefile.am
* app/pdb/fonts_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimp_pdb.h
* libgimp/gimpfonts_pdb.[ch]: (re)generated.
2003-09-04 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/paths.pdb (path_get_points): lookup the vectors
by name instead of always using the active path (bug #121401).
Made all functions use the convenience function
gimp_image_get_vectors_by_name() instead of the GimpContainer API.
* app/pdb/paths_cmds.c: regenerated.
* app/core/gimpimage.c: simplified the gimp_image_get_foo_by_name
functions by making use of gimp_container_get_child_by_name().
2003-07-09 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/paths.pdb: applied a modified patch from Joao
S. O. Bueno <gwidion@mpc.com.br> that adds the new PDB function
gimp_path_to_selection().
* app/pdb/internal_procs.c
* app/pdb/paths_cmds.c
* libgimp/gimppaths_pdb.[ch]: regenerated.
2003-05-22 Michael Natterer <mitch@gimp.org>
* app/vectors/Makefile.am
* app/vectors/gimpvectors-compat.[ch]: new files implementing a
compatibility API for converting old XCF and PDB point arrays
to GimpVectors and vice versa.
* app/xcf/xcf-load.c
* app/xcf/xcf-save.c
* tools/pdbgen/pdb/paths.pdb: use the new functions instead of
having slightly different, but equally ugly code twice.
* app/xcf/xcf-load.c: cleaned up path loading a lot. Removed the
path_point loading utility functions.
* app/pdb/paths_cmds.c: regenerated.
* app/Makefile.am: link vectors/libappvectors.a after
xcf/libappxcf.a so the compat functions (which are not needed in
vectors/) are found. Also reverted an accidentially checked in
change to the libgimpwidgets link order.
2003-05-18 Michael Natterer <mitch@gimp.org>
* app/vectors/gimpbezierstroke.[ch]
(gimp_bezier_stroke_new_from_coords): changed to expect all points
(also the first one) in "H, A, H" order. Ignore the first coord
in the array for now. Added "gboolean closed" parameter.
* app/xcf/xcf-load.c
* tools/pdbgen/pdb/paths.pdb: shuffle the legacy path point arrays
around before creating strokes so they match the new order.
* app/pdb/paths_cmds.c: regenerated.
2003-05-16 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/paths.pdb: fixed some bugs and warnings in
the ported functions.
* app/pdb/paths_cmds.c: regenerated.
2003-05-15 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/paths.pdb: removed PDB access to the old paths
and ported everything to GimpVectors. Note that everything except
gimp_path_set_points() is untested and that
gimp_path_get_point_at_dist() is currently unimplemented. Changed
order of the generated functions and fixed some help texts.
* tools/pdbgen/app.pl: removed $tools_eek and $paint_eek hacks
because pdb/ doesn't include stuff from tools/ any more and paint/
no longer depends on GTK+.
* app/pdb/paint_tools_cmds.c
* app/pdb/paths_cmds.c
* libgimp/gimppaths_pdb.[ch]: regenerated.
paths.c and did a general namespace cleanup:
s/PATHP/Path*/ s/PATHIMAGELISTP/PathList/ and friends.
Paths are now copied on image duplicate (fixes bug #5726).
Removed Path Tool and XInput Airbrush from the build and
renamed "Layers & Channels" to "Layers, Channels & Paths".
Applied patch from Wolfgang Hofer to xjt.c that enables loading
and saving of paths based on Andy's change explained below.
--Sven
Tue Feb 15 23:27:42 GMT 2000 Andy Thomas <alt@gimp.org>
* gimp/app/gimpdrawable.c
* gimp/app/channel.c
* gimp/app/layer.c
* gimp/app/channel.h
* gimp/app/layer.h
* gimp/app/gimpimage.c
* gimp/app/gimpimage.h
* gimp/app/gimpdrawable.h
* gimp/tools/pdbgen/pdb/paths.pdb
* gimp/tools/pdbgen/pdb/layer.pdb
* gimp/tools/pdbgen/pdb/channel.pdb
* gimp/tools/pdbgen/pdb/gimage.pdb
* gimp/app/channel_cmds.c
* gimp/app/gimage_cmds.c
* gimp/app/internal_procs.c
* gimp/app/layer_cmds.c
* gimp/app/paths_cmds.c
New gimp_*_set_tattoo procedures. This allows save/load plugins
to save/restore tattoo states of layers, channels and paths. Note the
internal tattoo state can also be set, however rigorous checks are
performed to make sure that the internal tattoo states of layer,
channels and paths are consistent and that the new state value is
newval > MAX(MAX(layertattoo),MAX(channeltattoo),MAX(pathtattoo)).
Tue Jul 13 22:48:37 BST 1999 Andy Thomas <alt@gimp.org>
* plug-ins/sel2path/sel2path.c
* app/paths_dialog.c
* app/paths_cmds.c
* tools/pdbgen/pdb/paths.pdb
Selection is now cleared when converted to a path.
Path is made the current one when created via the PDB.
This made more sense than the previous behavior.
Tue Jul 6 22:16:07 BST 1999 Andy Thomas <alt@gimp.org>
* ./app/layer.c.orig
* ./app/lc_dialog.c.orig
* ./app/paths_dialog.c.orig
* ./app/pathsP.h.orig
* ./libgimp/gimpmenu.c.orig
* ./tools/pdbgen/pdb/paths.pdb.orig
* ./app/paths_cmds.c
* ./app/internal_procs.c
Fixed small LCP menu preview problems. Now works for all
image types and updated correctly when alpha channel added.
Additional PDB functions for paths. Fixed some PDB functions
(gimp_paths_set_points). Now works as advertised.
Mon Apr 5 22:24:30 BST 1999 Andy Thomas <alt@gimp.org>
Changed:-
* app/bezier_select.c
* app/bezier_selectP.h
* app/paths_cmds.c
* app/pathsP.h
* app/paths_dialog.c
* app/xcf.c
* tools/pdbgen/pdb/paths.pdb
New PDB functions.
gimp_path_get_point_at_dist (gets the x,y of a point a given distance
along the curve & the normal at the point).
gimp_path_get_tattoo
gimp_get_path_by_tattoo
Paths now have tattoos (similar to the layer and image tattoos).
* app/move.c
* app/scroll.c
Try to fix the problem where mouse events from the rulers get
mixed up with those from the canvas causing guides & image dragging
to "jump" around when the mouse enters the ruler areas.