2003-09-21 Sven Neumann <sven@gimp.org>
* app/core/core-enums.[ch]: renamed new enums to use "style" instead
of the overloaded term "type". Also renamed GimpGridType while I was
on it.
* app/core/gimpdrawable-stroke.[ch]
* app/core/gimpgrid.[ch]
* app/core/gimpscanconvert.[ch]
* app/display/gimpdisplayshell.c
* app/vectors/gimpvectors.c
* app/gui/grid-dialog.c: changed accordingly.
2003-09-21 Simon Budig <simon@gimp.org>
Dave Neary <bolsh@gimp.org>
* app/core/gimpdrawable-stroke.c: gimp_image_apply_image () must
not get the pixel Region twice, use NULL for src1_tiles, which
then defaults to the drawables tiles. Also pixel_region_init()
does not take the offsets set by tile_manager_set_offsets into
account. Use 0,0 instead of x1,y1. Fixes bad crashes.
* app/core/gimpscanconvert.c: fixed crash for the same reason.
* app/vectors/gimpvectors.c: Enabled the new stroking by default.
Of course there should be a dialog to tweak the settings... :-)
2003-09-20 Simon Budig <simon@gimp.org>
Dave Neary <bolsh@gimp.org>
First steps towards Libart stroking. Right now the code
crashes and thus is disabled by default. If you want to
test it, change the #define LIBART_STROKE in
app/vectors/gimpvectors.c. Then a click on the stroke button
in the paths dialog invokes the new code.
The crash is in gimpdrawable-stroke.c - apparently I did not
yet get the TileManager stuff correctly.
* app/core/gimpscanconvert.[ch]: Rewritten to be more clear
and have an easier API. Now can handle open Paths and
libart-stroke the (open/closed) polygons defined earlier.
* app/core/core-enums.h: Added Enums for LineJoin-Type and
EndCap-Type for stroking.
* app/core/core-enums.c: regenerated.
* app/core/gimpimage-mask-select.c: Use the new API of
GimpScanConvert where appropriate.
* app/vectors/gimpvectors.c: Added #define to enable the libart
stroking. Disabled by default because of the crash mentioned
above...
* app/vectors/gimpbezierstroke.c
* app/vectors/gimpstroke.c
* app/vectors/gimpvectors.[ch]: Removed Libart stuff here.
Libart usage now lives exclusively in GimpScanConvert.
* app/core/gimpdrawable-stroke.[ch]: New files for the libart
stroking (right now just vector objects).
* app/core/Makefile.am: changed accordingly.
* app/Makefile.am: Needed to tweak linking. :-/
* app/composite/gimp-composite-mmx.c
(gimp_composite_difference_rgba8_rgba8_rgba8_mmx): Replaced the
improper use of the pminub instruction with the macro which does the
same using only mmx instructions.
2003-09-20 Sven Neumann <sven@gimp.org>
* plug-ins/common/svg.c: added framework for size negotiation. Not
really useful yet but compiles and sortof works even.
2003-09-19 Sven Neumann <sven@gimp.org>
* app/vectors/gimpbezierstroke.c
* app/vectors/gimpstroke.c: made "closed" a construct_only property
and make sure that notify is emitted correctly when it is changed.
2003-09-19 Sven Neumann <sven@gimp.org>
* app/vectors/gimpvectors-import.c (parse_svg_viewbox): revert to
the old implementation that is ugly but should work more reliably
in locales that use ',' as the decimal separator. Disable rendering
of elements with a zero viewBox.
(parse_svg_length): fixed handling of width and height parameters.
2003-09-19 Michael Natterer <mitch@gimp.org>
* app/gui/gui.c (gui_device_change_notify): session_info->widget
is not a GimpDeviceStatus but its parent GimpDockable. Use the
dockable's child instead. Fixes bug #122684.
2003-09-19 Michael Natterer <mitch@gimp.org>
* app/tools/gimpcolorpickertool.c: moved the call to
gimp_color_tool_enable() from GimpTool::initialize() to
GObject::constructor() so the right cursor is shown before the
first button_press. Fixes bug #122693.
2003-09-19 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcolormapeditor.c: changed the hex entry to look
and feel like the hex entry in the GimpColorScales widget. Fixes
bug #122692.
2003-09-19 Michael Natterer <mitch@gimp.org>
Fix for bug #122695:
* app/widgets/gimpcolormapeditor.c
(gimp_colormap_hex_entry_activate): call gimp_image_flush() after
gimp_image_set_colormap_entry() so the projection gets updated.
Cleanup / consistency with other dialogs:
* app/widgets/gimphelp-ids.h: added help IDs for the colormap
editor's menu items and buttons.
* app/gui/colormap-editor-menu.c (colormap_editor_menu_entries):
use the new help IDs.
* app/widgets/gimpcolormapeditor.[ch]: added buttons for "Edit Color"
and "Add Color" and moved the color_notebook code to this file.
* app/gui/colormap-editor-commands.[ch]: removed almost all code
and simply emit "clicked" from the editor's buttons so their
callbacks are invoked.
2003-09-19 Simon Budig <simon@gimp.org>
* app/tools/gimpvectortool.[ch]: Show a little help in the
status bar. Maybe the functions I implemented to track
the status of the status bar should live in a parent class.
Still behaves a little weird, but I need help to fix it and it
does not crash, so I committed it anyway... :-)
2003-09-18 Michael Natterer <mitch@gimp.org>
* app/paint/Makefile.am
* app/paint/paint.[ch]: removed...
* app/paint/gimp-paint.[ch]: ...and added.
* app/core/gimp.c: changed accordingly.
* app/tools/Makefile.am
* app/tools/tools.[ch]: removed...
* app/tools/gimp-tools.[ch]: ...and added. Added
gimp_tools_restore() and gimp_tools_save() and moved the entire
tool registering and tool_options loading/saving code here. Call
tool_manager_init() from gimp_tools_init() and tool_manager_exit()
from gimp_tools_exit().
* app/tools/tool_manager.[ch]: removed the code which now lives
in gimp-tools.[ch]. The tool manager now has no knowledge about
individual tools any more and just handles the active_tool
and the tool part of tool <-> display interaction.
Removed tool_manager_get_info_by_type().
* app/tools/gimpvectortool.c (gimp_vector_tool_register): the
tool's identifier is "gimp-vector-tool", not "gimp-path-tool".
* app/app_procs.c
* app/display/gimpdisplayshell-callbacks.c
* app/gui/vectors-commands.c
* app/tools/gimppainttool.c: changed accordingly.
2003-09-18 Sven Neumann <sven@gimp.org>
* plug-ins/common/screenshot.c (create_image): rewritten pixel
transfer from pixbuf to drawable; doesn't need a tile cache any
longer.
* plug-ins/common/svg.c: same change here together with a bunch of
other changes in preparation for viewport negotiation.
2003-09-18 Simon Budig <simon@gimp.org>
* app/vectors/gimpstroke.[ch]
* app/vectors/gimpbezierstroke.c: (gimp_stroke_nearest_point_get)
added the endpoint of the segment to the list of returned values.
* app/tools/gimpdrawtool.[ch]: (gimp_draw_tool_on_vectors_curve)
return the endpoint also.
* app/tools/gimpvectortool.[ch]: Use that to activate the
to-be-changed anchors when dragging on the curve directly.
* app/tools/gimpmovetool.[ch]: changed accordingly.
2003-09-18 Sven Neumann <sven@gimp.org>
* configure.in: added a check for librsvg-2.0.
* plug-ins/common/mkgen.pl
* plug-ins/common/svg.c: added SVG import plug-in. This plug-in
was written by Dom Lachowicz and used to live in the librsvg source
tree (bug #103039).
* plug-ins/common/Makefile.am
* plug-ins/common/plugin-defs.pl: regenerated.
2003-09-18 Simon Budig <simon@gimp.org>
* app/tools/gimpvectortool.c: Cursor keys now move the currently
active anchors, SHIFT and CTRL increase the steps.
* MAINTAINERS: Added myself in an attack of hubris...
2003-09-18 Sven Neumann <sven@gimp.org>
* app/vectors/gimpvectors-export.c: save the vectors (or rather
image) dimensions in the exported SVG.
* app/vectors/gimpvectors-import.c: added SVG units parser and
finished viewport handling. The parser now respects the size
specified in the SVG and the image resolution. Should also handle
nested SVGs correctly, but this is untested.
2003-09-18 Michael Natterer <mitch@gimp.org>
* app/Makefile.am (gimp_1_3_LDFLAGS): specifying one symbol per
object file we force to be linked in is sufficient.
2003-09-18 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdatafactoryview.[ch]
* app/widgets/gimpitemtreeview.[ch]
* app/widgets/gimppaletteeditor.[ch]
* app/widgets/gimptemplateview.[ch]: order the button boxes in
these dialogs like the entries their popup menus: The default
(double click) action is the first menu entry / button. In an
attack of consistency, also reordered functions and function
parameters all over the place to match the new order.
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimpvectorstreeview.c
* app/gui/dialogs-constructors.c: changed accordingly.
2003-09-17 Michael Natterer <mitch@gimp.org>
* app/tools/gimpeditselectiontool.c
(gimp_edit_selection_tool_arrow_key): initialize undo_type to shut
up the compiler.
2003-09-17 Simon Budig <simon@gimp.org>
* app/vectors/gimpstroke.[ch]
* app/vectors/gimpvectors.[ch]: Changed gimp_*_anchor_select to
accept the selection state as an argument.
* app/tools/gimpdrawtool.[ch]: Added "exclusive" boolean parameter
to gimp_draw_tool_on_vectors_handle(), so that you can specify
that you just get exactly the type of anchor you want to have.
* app/tools/gimpvectortool.[ch]: Handling of multiple selected
anchors: Shift-Clicking in Extend mode selects them, you can
move them together.
2003-09-17 Simon Budig <simon@gimp.org>
* app/tools/gimpvectortool.c: smallish change to enable
dragging out of handles again. It is now dragging handles
out of anchors, when click/dragging on them in Insert/Delete
mode. Deletion of nodes now requires the SHIFT modifier.
2003-09-17 Michael Natterer <mitch@gimp.org>
Added nomis' favorite feature ;)
* app/paint/gimppaintcore.[ch]: added gimp_paint_core_cancel()
which can be called instead of gimp_paint_core_finish().
It simply copies core->undo_tiles back to the drawable instead of
pushing them to the undo stack.
* app/tools/gimppainttool.c (gimp_paint_core_button_release): call
_cancel() instead of _finish() if the right mouse button is
pressed.
2003-09-17 Michael Natterer <mitch@gimp.org>
* app/tools/gimpvectortool.[ch]: added "GimpVectorMode saved_mode"
to the GimpVectorTool struct.
(gimp_vector_tool_modifier_key): use it to correctly keep track of
the modifier state.
* app/tools/gimpselectiontool.c (gimp_selection_tool_modifier_key):
moved variable to local scope.
2003-09-17 Michael Natterer <mitch@gimp.org>
* cursors/hand.xbm
* cursors/hand_mask.xbm: removed.
* cursors/hand_small.xbm
* cursors/hand_small_mask.xbm: ...and added under new names.
* cursors/Makefile.am
* cursors/gimp-tool-cursors.xcf: changed accordingly.
* app/widgets/widgets-enums.h
* app/widgets/gimpcursor.c: removed HAND from the GimpCursorModifier
enum and added it to the GimpToolCursorType enum. We don't have a
hand tool but this way the hand cursor (which is in the lower
right corner) can be used together with other cursor modifiers
(which are in the upper right corner).
* app/tools/gimpmovetool.c
* app/tools/gimpvectortool.c: show cursor modifers with the hand
cursor where appropriate.
* app/composite/gimp-composite-{mmx,sse,sse2,altivec,vis}.c: Regenerated.
* app/composite/gimp-composite-regression.[ch]: Ensure all ints
are now unsigned longs.
* app/composite/gimp-composite-sse2.c (gimp_composite_addition_rgba8_rgba8_rgba8_sse2):
Enclosed the troublesome (rather dense) asm construct in
__OPTIMIZE__ in which case the compiler can successfully
allocate enough registers to load up the asm()
2003-09-17 Simon Budig <simon@gimp.org>
* app/tools/gimpvectortool.c: Ok, since the obsolete undo
step is invalid the undo_event of the image probably should be
GIMP_UNDO_EVENT_UNDO_EXPIRED. This fixes at least the undo
history...
2003-09-17 Simon Budig <simon@gimp.org>
* app/tools/gimpvectortool.[ch]: Restored Mitchs favourite
feature :-) (now the cursor indicates if you hover over
a vectors object when no other one is active...). Also added
more descriptive Undo names and RMB-Cancel for the Vectors tool.
Please note, that the RMB-Cancel is implemented using the Undo
System. I do not really have a clue on that and so right now
there is an oddity - the undo-object popped from the undo
stack does not get removed from e.g. the Undo History Dialog.
Someone with a clue please have a look at that... :-)
2003-09-16 Michael Natterer <mitch@gimp.org>
* app/tools/gimpmoveoptions.[ch]: changed "gboolean move_mask" to
"GimpTransformType move_type" and added an "Affect:" stock radio
box so it offers the same LAYER,SELECTION,PATH choice as the other
transform tools.
* app/tools/gimpmovetool.[ch]: honor the new tool option, made
cursor_update() show more different cursors which describe the
state of the tool more closely, fixed some cases where the
GimpeditSelectionTool was invoked with meaningless values
(like requesting a selection transform when there is no
selection).
Changed modifiers:
- Made <Shift> toggle "move current layer".
- Made <Control> switch to path moving.
- <Alt> switched to selection moving as before.
* app/tools/gimpeditselectiontool.[ch]: added EDIT_VECTORS_TRANSLATE
operation mode and honor it all over the place. Unified the code
which transforms layers and vectors since it's essentially the same.
(gimp_edit_selection_tool_cursor_key): simplified selection moving
code and added support for moving paths (using <Control>).
2003-09-16 Michael Natterer <mitch@gimp.org>
* app/core/gimpchannel.c (gimp_channel_translate): transform the
channel's bounding box later so we really update the channel's new
*and* old area.
2003-09-16 Manish Singh <yosh@gimp.org>
* app/Makefile.am: use -u to prevent garbage collection of symbols
prematurely. I wonder if this works everywhere...
* app/pdb/Makefile.am
* app/vectors/Makefile.am: remove gross hacks
2003-09-16 Simon Budig <simon@gimp.org>
* app/vectors/gimpvectors.[ch]: Implemented an (unused/untested)
gimp_vectors_bounds () that returns the bounding box of an vectors
object.
* app/tools/gimpdrawtool.[ch]: made gimp_draw_tool_on_vectors()
ignore handles/anchors, since they are not visible when that
function gets used.
2003-09-15 Simon Budig <simon@gimp.org>
* app/core/gimpimage.c: fixed bogus
gimp_item_set_image (GIMP_ITEM (vectors), NULL);
* app/tools/gimpdrawtool.[ch]: added gimp_draw_tool_on_vectors:
checks if the given coordinate is on any vectors object of the image.
* app/tools/gimpvectortool.[ch]: Changed the tool modes.
VECTORS_SELECT_VECTORS now is active when the tool does not
have a current vectors object or the gdisplay is different
than the one the tool is drawing on. Also the Move mode now
uses it, when clicking outside the current vectors object.
Factored out the sanity check of the internal state
(gimp_vector_tool_verify_state).
2003-09-15 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable-transform-utils.[ch]: removed...
* app/core/gimp-transform-utils.[ch]: ...and added under new names
because these functions are not at all related to GimpDrawable.
Changed the function names accordingly.
* app/tools/gimpperspectivetool.c
* app/tools/gimprotatetool.c
* app/tools/gimpscaletool.c
* app/tools/gimpsheartool.c
* app/vectors/gimpstroke.c
* app/vectors/gimpvectors.c
* tools/pdbgen/pdb/transform_tools.pdb: changed accordingly.
* app/pdb/transform_tools_cmds.c: regenerated.
2003-09-15 Sven Neumann <sven@gimp.org>
* app/config/Makefile.am
* app/config/config-types.h
* app/config/gimpxmlparser.[ch]: new files that hold a simple XML
parser based on GMarkupParser. It's not a full-featured XML parser;
it only adds transparent handling of encodings to GMarkupParser
and provides a convenient API to deal with files or IO channels.
* app/vectors/gimpvectors-import.c: use the new GimpXmlParser.
* app/vectors/gimpvectors-export.c: write encoding attribute.
* app/tips-dialog.c
* app/tips-parser.c: use the new GimpXmlParser.
* app/vectors/Makefile.am: had to add one of those truly ugly
hacks here in order to get the application linked.
2003-09-15 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpitemtreeview.c (gimp_item_tree_view_constructor):
order the "visible" and "linked" columns by inserting them with
the right index, not by reordering code.
(gimp_item_tree_view_set_container): set the handler_ids to 0
after disconnecting them.
2003-09-15 Sven Neumann <sven@gimp.org>
* app/vectors/gimpvectors-import.c: name the vectors after the
path id as found in the SVG.
* app/vectors/gimpvectors-export.c: further improved formatting.
2003-09-15 Simon Budig <simon@gimp.org>
* app/vectors/gimpvectors-export.c: Save an id-attribute
using the vector objects name. Slightly adjusted formatting.
* app/composite/gimp-composite-sse2.c (gimp_composite_swap_rgba8_rgba8_rgba8_sse2):
Removed clobbered register declaration in an attempt to get this
to compile with gcc 3.2.3
2003-09-13 Sven Neumann <sven@gimp.org>
* app/gui/vectors-commands.c (vectors_export_ok_callback): no need
to flush the image after exporting vectors.
* app/vectors/gimpvectors-import.c: improved error handling.
* gimp-composite-sse2-installer.c, gimp-composite-sse2-test.c:
regenerated with new functions.
* gimp-composite-sse.c, gimp-composite-sse2.c:
Distinguish between 64bit and 128bit constants with a little
faux hungarian notation.
* gimp-composite-sse2.[ch]: Added implementations of
addition_rgba8_rgba8_rgba8, subtract_rgba8_rgba8_rgba8, and
swap_rgba8_rgba8_rgba8
* gimp-composite-generic.c:
Some formating beautification
2003-09-13 Sven Neumann <sven@gimp.org>
* app/core/core-enums.[ch]
* app/vectors/gimpvectors-import.c: add vectors in an undo-group.
* app/gui/vectors-commands.c: added simple file selection dialogs
for vectors import and export.
2003-09-13 Sven Neumann <sven@gimp.org>
* app/vectors/gimpvectors-import.c: simplified the parser and
make it optionally create multiple vectors again.
2003-09-13 Sven Neumann <sven@gimp.org>
* libgimp/gimp.def
* libgimpmath/gimpmath.def
* libgimpwidgets/gimpwidgets.def: used nm to regenerate these
files from libraries built on Linux. There were quite some symbols
missing.
2003-09-13 Sven Neumann <sven@gimp.org>
* app/widgets/gimpitemtreeview.c: moved the visibility toggle
before the linked toggle again.
* app/core/gimpdrawable.c (gimp_drawable_configure)
* app/core/gimpitem.c (gimp_item_init): quick fix for bug #122153:
don't make the item visible in gimp_drawable_configure() since that
breaks duplicate(); instead create all items as visible.
2003-09-13 Sven Neumann <sven@gimp.org>
* app/vectors/gimpvectors-import.c: rewrote large parts of the SVG
parser. It now handles nested groups and transformations. Still not
perfect but close.
* app/composite/gimp-composite-generic.[ch]: Added a proper
implementation of the BEHIND drawing mode. This should fix bug
#121889
* app/composite/gimp-composite-generic-installer.c: regenerated
2003-09-12 Sven Neumann <sven@gimp.org>
* app/vectors/gimpvectors-import.c (parse_svg_viewbox): return a
transformation matrix in preparation for nested transforms.
2003-09-12 Michael Natterer <mitch@gimp.org>
* app/tools/gimpdrawtool.[ch]: added new functions
gimp_draw_tool_on_vectors_handle() and _on_vectors_curve()
so they can be used by all GimpDrawTool subclasses.
* app/tools/gimpvectortool.[ch]: removed the _on_handle() and
_on_curve() functions here. Connect to "active_vectors_changed" of
the active_vector's image, so once it has been avtivated, the tool
follows the path which is selected in the paths dialog.
2003-09-12 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-mask-select.c (gimp_image_mask_select_vectors)
* app/paint/gimppaintcore-stroke.c (gimp_paint_core_stroke_vectors)
* app/display/gimpdisplayshell.c (gimp_display_shell_draw_vector)
* app/tools/gimpdrawtool.c (gimp_draw_tool_real_draw)
* app/tools/gimptransformtool.c (gimp_transform_tool_draw)
* app/tools/gimpvectortool.c (gimp_vector_tool_vectors_visible)
(gimp_vector_tool_draw): all callers of gimp_stroke_interpolate():
don't leak the returned GimpCoords array and don't crash if it's
NULL.
* app/tools/gimpvectortool.[ch]: added VECTORS_SELECT_VECTOR state
which enables activating any visible GimpVectors on any display.
(gimp_vector_tool_on_handle)
(gimp_vector_tool_on_curve): added a GimpVectors parameter so we
can check for vectors which are not vector_tool->vectors.
(gimp_vector_tool_oper_update): iterate gdisp->gimage->vectors
to figure if we are hovering any visible vectors and set
VECTORS_SELECT_VECTOR.
(gimp_vector_tool_button_press): catch VECTORS_SELECT_VECTOR and
start editing the selected vectors. Also make it the image's
active_vectors.
(gimp_vector_tool_button_release): removed unneeded call to
gimp_viewable_invalidate_preview(vectors).
Random cleanup all over the place.
2003-09-12 Michael Natterer <mitch@gimp.org>
* app/tools/gimpvectortool.c: removed all calls to
gimp_tool_control_set_preserve() so the tool doesn't get
confused by the image being dirtied.
Made it aware of visible vectors:
(gimp_vector_tool_draw): don't draw the stroke itself if the
current vectors is visible.
(gimp_vector_tool_vectors_visible): new callback which just draws
the stroke itself when the vectors changes visibility.
(gimp_vector_tool_set_vectors): connect the new callback.
2003-09-12 Michael Natterer <mitch@gimp.org>
Added support for permanently showing the visible vectors, not
only when the vectors tool is active:
* app/display/gimpdisplayshell.[ch]: added
gimp_display_shell_draw_vector() which draws a single GimpVectors
object and gimp_display_shell_draw_vectors() which draws all
visible ones. Added "gint paused_count" and new functions
gimp_display_shell_paunse()/resume(). Pause/resume the active tool
and draw/undraw the visible vectors when paused_count changes from
0 to 1 and from 1 to 0.
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-scale.c
* app/display/gimpdisplayshell-scroll.c: call the new
freeze()/thaw() functions instead of calling the tool_manager
directly. Removes the tools/ sependency from the scale and scroll
files. Also draw the vectors once when the canvas is realized so
XOR drawing is in the correct state.
* app/display/gimpdisplayshell-handlers.c: connect to
image->vectors' "add" and "remove" signal and to the "freeze",
"thaw" and "visibility_changed" signals of all vectors in
image->vectors and update vectors drawing accordingly.
2003-09-11 Sven Neumann <sven@gimp.org>
* themes/Default/images/Makefile.am
* themes/Default/images/stock-transparency-[16|24].png: new icon.
* libgimpwidgets/gimpstock.[ch]: register as GIMP_STOCK_TRANSPARENCY.
* app/gui/image-menu.c
* app/gui/layers-menu.c: use the new icon for "Add Alpha Channel".
* app/widgets/gimplayertreeview.c: replaced the "Keep Trans."
button with a check button plus the new icon (bug #121784).
2003-09-11 Michael Natterer <mitch@gimp.org>
* app/core/gimpitem-linked.[ch]: made gimp_item_linked_get_list()
and the GimpItemLinkedMask enum public. Hiding them just causes
code duplication.
* app/tools/gimpdrawtool.[ch]: added a GList of GimpVectors and a
GimpMatrix3 transformation matrix for them. Just set them with
gimp_draw_tool_set_vectors() and gimp_draw_tool_set_transform()
and chain up in your tools's GimpdrawTool::draw() implementation
to get the vectors drawn.
* app/tools/gimpeditselectiontool.c: use
gimp_item_linked_get_list() instead of traversing image->layers,
->channels and ->vectors manually to find the linked items.
Use gimp_draw_tool_set_vectors() and _set_transform() to show
the linked vectors while moving.
(gimp_edit_selection_tool_arrow_key): transform all linked items,
not just the linked layers.
2003-09-11 Michael Natterer <mitch@gimp.org>
* app/gui/brushes-menu.c
* app/gui/buffers-menu.c
* app/gui/channels-menu.c
* app/gui/colormap-editor-menu.c
* app/gui/gradients-menu.c
* app/gui/images-menu.c
* app/gui/layers-menu.c
* app/gui/palette-editor-menu.c
* app/gui/palettes-menu.c
* app/gui/patterns-menu.c
* app/gui/templates-menu.c
* app/gui/vectors-menu.c: made the default (== double click)
action the first menu entry as suggested by the HIG and
added/removed separators where appropriate.
2003-09-11 Sven Neumann <sven@gimp.org>
* app/text/Makefile.am: removed PANGO_DISABLE_DEPRECATED again since
we have to use Pango API that is deprecated in the HEAD branch.
2003-09-11 Sven Neumann <sven@gimp.org>
* plug-ins/common/compose.c
* plug-ins/common/decompose.c: merged in enhancements done by
Alexey Dyachenko: support for LAB colorspace and an option to
decompose into layers instead of multiple images.
2003-09-11 Simon Budig <simon@gimp.org>
* vectors/gimpbezierstroke.[ch]: Implemented
gimp_bezier_stroke_arcto () that creates an elliptical arc
in the way SVG works.
* vectors/gimpvectors-import.c: use it.
2003-09-11 Sven Neumann <sven@gimp.org>
* app/vectors/gimpvectors-export.[ch]: allow to optionally export
all paths from an image into a single SVG file.
* app/gui/vectors-commands.c: changed accordingly.
2003-09-11 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable-transform-utils.[ch]: added new function
gimp_drawable_transform_matrix_flip().
* app/vectors/gimpstroke.[ch]
* app/vectors/gimpvectors.c: don't push the complex GimpItem
transformation API down to GimpStroke. Instead setup the matrices
in GimpVectors and use a simpler API for GimpStroke.
* app/vectors/gimpvectors-import.c: changed accordingly.
* app/vectors/gimpvectors-export.c: close the <path> element.
2003-09-11 Michael Natterer <mitch@gimp.org>
* app/gui/Makefile.am
* app/gui/themes.[ch]: new files.
* app/gui/gui.[ch]: code taken from here. It was getting too large.
* app/gui/preferences-dialog.c; changed accordingly.
2003-09-11 Sven Neumann <sven@gimp.org>
* app/vectors/Makefile.am (INCLUDES): replaced GTK_CFLAGS by
GDK_PIXBUF_CFLAGS.
* app/vectors/gimpvectors-export.c: added a first draft of
GimpVectors SVG export.
* app/gui/vectors-commands.c (vectors_export_cmd_callback): call
gimp_vectors_export() with a hardcoded filename.
2003-09-11 Sven Neumann <sven@gimp.org>
* app/vectors/gimpvectors-import.[ch]
* app/gui/vectors-commands.c: allow to optionally create a
GimpVectors object per <path> element. Made this the default until
there's a GUI for this.
2003-09-10 Michael Natterer <mitch@gimp.org>
* app/core/gimp.[ch]: added lots more "GimpFooFunc gui_foo_func"
vtable entries to the Gimp struct and wrapper function for them.
They cover plug-in menu creation and plug-in progress utilities.
* app/gui/gui.c: fill in the funtion pointers and dispatch
to the actual functions.
* app/pdb/Makefile.am (libapppdb_a_LIBADD): removed most hacks
since the symbols are referenced within libappgui.a now.
Removed any GTK+ dependency from the plug-ins/ directory:
* app/plug-in/Makefile.am (INCLUDES): replaces GTK_CFLAGS by
GDK_PIXBUF_CFLAGS.
* app/plug-in/plug-in-progress.c
* app/plug-in/plug-ins.c: replaced gui function calls to create
menus and progress bars by calls to the wrappers.
* app/plug-in/plug-in.c (plug_in_close): check dangling PDB
dialogs using the new wrapper.
* app/plug-in/plug-in-def.c
* app/plug-in/plug-in-rc.c
* app/plug-in/plug-in-run.c: removed trailing whitespace.
2003-09-10 Manish Singh <yosh@gimp.org>
* libgimpcolor/Makefile.am
* libgimpmath/Makefile.am: add a dependency on libgimpbase.la so
they get rebuilt when the version number changes.
* Makefile.am: build libgimpbase before the above
2003-09-10 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-layer-select.c: switch layers
immediately, not when finishing layer_select, so the layer
boundary and the layers dialog are updated, which makes this
feature much more useful. Fixes bug #119234.
2003-09-10 Sven Neumann <sven@gimp.org>
* app/gui/vectors-commands.c (vectors_import_cmd_callback): call
gimp_vectors_import(). Hardcoded filename to path.svg for now.
* app/vectors/gimpvectors-import.c: more work on the SVG parser.
2003-09-10 Michael Natterer <mitch@gimp.org>
* app/xcf/xcf-save.c: changed the various xcf_write_*_error()
macros to take an XcfInfo pointer as first parameter, not
info->fp. Simplifies all callers a bit since they don't have to
dereference it themselves.
2003-09-10 Michael Natterer <mitch@gimp.org>
* app/xcf/xcf-save.c: enabled error checking for GimpParasite
saving and factored GimpParasiteList saving out to a new
function. Cleaned up the (still disabled) PROP_VECTORS saving
code and save the vector's parasites.
* app/xcf/xcf-load.c: changed PROP_VECTORS loading accordingly.
Note that the PROP_VECTORS changes are completely untested since
Simon can judge its correctness much better than myself.
2003-09-10 Tor Lillqvist <tml@iki.fi>
* config.h.win32: Tell it's outdated.
* app/errors.c (gimp_eek): [Win32] Use full_prog_name, show also
reason.
* app/xcf/xcf.c (xcf_load_args, xcf_save_arge): Document that
filename is in the on-disk charset and encoding, and raw_filename
is just the basename, in UTF-8.
(xcf_save_invoker): Convert filename to UTF-8 before passing to
g_message().
2003-09-10 Michael Natterer <mitch@gimp.org>
* configure.in: require fontconfig >= 2.2.0 (bug #121752), check
for gdk-pixbuf-2.0 explicitly, added --enable-gimp-console
configure option, bumped version number to 1.3.21.
* app/core/Makefile.am: replaced GTK_CFLAGS by GDK_PIXBUF_CFLAGS.
* app/Makefile.am: removed -export-dynamic from LDFLAGS since we
don't export symbols to modules or libraries any more. Reordered
SUBDIRS a bit.
If --enable-gimp-console is given, try to build a second binary
called gimp-console-1.3 which does not link against GTK+.
Of course this fails badly since core/ui separation is not
complete yet, but the output of the failing linker is a nice list
of what needs to be done.
2003-09-09 Michael Natterer <mitch@gimp.org>
Got rid of the last global variables except the_gimp:
* app/Makefile.am
* app/appenv.h: removed this file.
* app/errors.[ch] (gimp_errors_init): new function which lets the
error system know about "full_prog_name", "stack_trace_mode" and
"debug_handlers". Remember these values privately.
* app/app_procs.[ch] (app_init): added "full_prog_name" and
"stack_trace_mode" parameters here too.
* app/main.c (main): call gimp_errors_init() and pass the
additional parameters to app_init().
2003-09-09 Simon Budig <simon@gimp.org>
* app/vectors/gimpvectors-compat.[ch]: Made
gimp_vectors_compat_get_points accept more paths gracefully. It
now is sufficient if there is up to one open stroke in the
vectors object - it does not have to be the last one.
Added function to determine if all vectors can be saved in
compatibility mode.
* app/vectors/gimpanchor.[ch]: Made GimpAnchor a boxed type.
* app/vectors/gimpstroke.[ch]: Add two properties to gimpstroke:
"closed" and "control-points" (the latter is
G_PARAM_CONSTRUCT_ONLY). Added functions to get the points that
determine the shape of the stroke - necessary for proper saving.
* app/xcf/xcf-private.h: added new PROP_VECTORS and XcfStrokeType.
* app/xcf/xcf-load.c: Be able to load PROP_VECTORS, make loading
of PROP_PATHS ignore empty paths.
* app/xcf/xcf-save.c: Added code for saving PROP_VECTORS,
disabled by default. Define NEW_SAVE_CODE if you want to test
it. No guarantees are made about the forward compatibility of
the format used.
2003-09-09 Sven Neumann <sven@gimp.org>
* plug-ins/common/screenshot.c (create_image): need to detach from
the drawable or the tile cache won't be flushed (bug #121788).
2003-09-09 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell.c
* app/display/gimpnavigationview.c
* app/gui/resolution-calibrate-dialog.c
* app/widgets/gimpcontainerpopup.c
* app/widgets/gimpdialogfactory.c
* app/widgets/gimpeditor.c
* app/widgets/gimppreview-popup.c
* app/widgets/gimpwidgets-utils.c: get the size from the current
screen, not always from the default one.
* plug-ins/common/wmf.c: ask GIMP for the monitor resolution instead
of taking the value from GDK.
2003-09-09 Michael Natterer <mitch@gimp.org>
* app/core/gimp.[ch]: added "gboolean console_messages" to the
Gimp struct and to gimp_new() since plug-in messages go directly
through gimp_message() now and need to honor "console_messages"
too.
* app/app_procs.[ch]: added "gboolean console_messages" to
app_init() and pass it to gimp_new().
* app/appenv.h: removed global variable "console_messages".
* app/main.c: added it to main()'s scope and pass it to app_init().
* app/errors.c: changed accordingly.
* plug-ins/common/animoptimize.c: Disable the (pdb interfaces
to the) semi-broken background/foreground stuff unless
EXPERIMENTAL_BACKDROP_CODE is defined.
2003-09-07 Dave Neary <bolsh@gimp.org>
* app/vectors/gimpvectors.[ch]
* app/vectors/gimpstroke.[ch]
* app/vectors/gimpbezierstroke.c: Cleanup - removed libart
from the included headers in the .h files, don't pass around
libart objects any more. Still stub code.
2003-09-07 Sven Neumann <sven@gimp.org>
* app/vectors/gimpvectors.[ch]: redid the fix for the compiler
warning: made gimp_vectors_to_art_vpath() take a const GimpVectors
again, but don't freeze/thaw it since it isn't changed anyway.
* app/composite/gimp-composite-mmx.c
app/composite/gimp-composite-sse.c
app/composite/gimp-composite-sse2.c:
Convert "unsigned long" to guint32 in preparation for 64bit
machinery.
2003-09-06 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppreviewrenderertextlayer.[ch]: removed.
* app/widgets/gimppreviewrendererlayer.[ch]: new renderer which
renders all kinds of layers and uses GIMP_STOCK_FLOATING_SELECTION
for floating selections.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimppreviewrenderer-utils.c: changed accordingly.
2003-09-06 Michael Natterer <mitch@gimp.org>
* app/widgets/gimplayertreeview.[ch]: display the floating
selection's name in italic letters. Added the bold and italic
PangoAttrLists to the GimpLayerTreeView struct so we can unref
them properly.
* app/widgets/gimpdrawabletreeview.c: some cleanup while stealing
code.
2003-09-06 Sven Neumann <sven@gimp.org>
* themes/Default/images/Makefile.am
* themes/Default/images/stock-floating-selection-*.png: new icon
drawn by Jimmac.
* libgimpwidgets/gimpstock.[ch]: register the new icon.
2003-09-06 Michael Natterer <mitch@gimp.org>
To optimize duplicate and/or wrong image updates away, introduced
new policy that a child object must never explicitly update or
invalidate its parent object (just like the GUI is not updated
explicitly by the core):
* app/core/gimpdrawable.[ch]: added new signal
GimpDrawable::update(). Never update or invalidate the image when
the drawable is updated or invalidated.
(gimp_drawable_set_visible): don't gimp_drawable_update() the
drawable since its pixels have not changed.
* app/core/gimpimage.[ch]: connect to the "add" and "remove"
signals of the layers and channels containers. Also connect to the
"update" and "visibility_changed" signals of all drawables in
these containers (optimizes away updates issued by drawables which
are not yet added to the image and updates of the selection
mask). Also, don't propagate updates to the image if the emitting
drawable is invisible (optimizes away updates issued by invisible
drawables).
(gimp_image_add_layer,channel)
(gimp_image_remove_layer,channel): don't update the image since
that's done by our "add" and "remove" handlers now.
(gimp_image_position_layer,channel): update just the image, not
the drawable since its pixels have not changed.
(gimp_image_real_colormap_changed)
(gimp_image_set_component_visible): always call
gimp_image_update() *and* gimp_viewable_invalidate_preview() to
get everything updated, since update and invalidate of images are
not connected.
* app/core/gimpimage-undo-push.c (undo_pop_layer,channel): don't
update the drawable since (a) its pixels don't change and (b) the
image updates itself upon adding/removing now.
(undo_pop_layer_mod): replaced gimp_image_update() by
gimp_drawable_update() (just for consistency with other similar
functions).
* app/core/gimplayer.c: connect to "update" of the layer mask and
issue updates on the layer if the mask update has any effect on
the projection.
(gimp_layer_create_mask): don't set the mask's offsets here since
they may be different when we later add the mask to the layer.
* app/core/gimplayermask.c (gimp_layer_mask_set_layer): set the
mask offsets here instead.
* app/core/gimpchannel.c (gimp_channel_translate): update the
channel even if push_undo == FALSE.
* app/paint/gimppaintcore.c (gimp_paint_core_finish)
* app/tools/gimpinktool.c (ink_finish): invalidate both the
drawable and the image preview since invalidating the drawable
doesn't invalidate the image any more.
* app/text/gimptextlayer.c (gimp_text_layer_render_now): also
update the new extents of the text layer, not only the old one.
(gimp_text_layer_render_layout): don't update the drawable since
gimp_drawable_fill() already updated it.
2003-09-06 Dave Neary <bolsh@gimp.org>
Ooops! Sorry for the oversight.
* app/vectors/gimpvectors.[ch]
* app/vectors/gimpstroke.[ch]
* app/vectors/gimpbezierstroke.c: Changed include order
to conform to the coding standards in devel-docs/includes.txt
(which should really be integrated into HACKING).
2003-09-06 Dave Neary <bolsh@gimp.org>
* app/vectors/Makefile.am: Include libart headers
* app/vectors/gimpvectors.[ch]
* app/vectors/gimpstroke.[ch]
* app/vectors/gimpbezierstroke.[ch]: Committing unfinished,
useless stub code for converting a GimpVectors object to a
libart vector path. Will pad this out later.
2003-09-06 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable.c: code cleanup.
(gimp_drawable_fill): use the INTENSITY() of the passed GimpRGB to
fill GIMP_GRAY drawables, not just the RED_PIX. Cleanup.
* app/core/gimpimage.c (gimp_image_transform_color):
added assertion for src_type != GIMP_INDEXED.
2003-09-05 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_draw_grid):
access the grid structure directly instead of using g_object_get()
and leaking the returned values. Release the GC object instead of
leaking it (the GC should probably become part of the display).
* app/gui/grid-dialog.c (grid_dialog_new): removed an extraneous
reference count from grid_backup.
2003-09-05 Michael Natterer <mitch@gimp.org>
* app/paint-funcs/paint-funcs.[ch]: removed function map_to_color()
since it does not belong here and the two places using it look much
cleaner when doing that stuff themselves.
* app/core/gimpdrawable-preview.c: cleanup.
(gimp_drawable_preview_scale): do the indexed palette lookup here
instead of calling map_to_color().
* app/core/gimpimage.c (gimp_image_get_color): transform the
colors here instead of calling map_to_color().
* app/core/gimpimage.[ch] (gimp_image_get_color): reordered
parameters src parameters are before dest parameters.
Made the src color const.
(gimp_image_transform_color): reordered so src parameters are
*after* dest parameters (since this function operates on the dest
image and it makes sense to have the dest parameters
together). Made the src color const here, too.
* app/core/gimpdrawable-bucket-fill.c
* app/core/gimpdrawable.c
* app/core/gimpimage-contiguous-region.c
* app/core/gimpimage-projection.c
* app/core/gimpimagemap.c
* app/core/gimplayer.c
* app/core/gimppalette-import.c
* app/paint/gimpclone.c
* app/paint/gimppaintcore.c: changed accordingly.
* app/core/gimpedit.c (gimp_edit_cut,copy): simplified by
moving the "cropped" variable to a local scope.
* app/core/gimpimage-mask.c: calling gimp_image_update() followed
by gimp_viewable_imvalidate_preview(drawable) is equal to calling
gimp_drawable_update() directly.
2003-09-05 Sven Neumann <sven@gimp.org>
* app/core/gimppreviewcache.[ch]: code cleanup. Removed the
PreviewCache struct that used to wrap TempBuf but didn't add any
additional information. Actually free the cached temp_buf when
removing an entry from cache. Free the GSList when invalidating
the preview cache.
* app/paint-funcs/paint-funcs.c (initial_sub_region): Fixed
another bug in initialising the compositing context for the
special case of dissolve mode. A further attempt to fix bug
#121438.
* app/composite/gimp-composite-generic.c
(gimp_composite_dissolve_any_any_any_generic): Fixed bug in
calculating whether the destination has an alpha channel (or
not).
2003-09-05 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpquerybox.[ch] (string_query_box_ok_callback):
removed a superfluous g_strdup(); made GimpQueryStringCallback take
a const gchar* pointer.
* plug-ins/gflare/gflare.c: changed accordingly.
2003-09-05 Sven Neumann <sven@gimp.org>
* app/base/gimplut.[ch] (gimp_lut_free): free the memory allocated
for the GimpLut structure. Removed trailing whitespace.
* app/core/gimpbuffer.c: cosmetics.
* app/core/gimpedit.[ch]: let gimp_edit_cut() and gimp_edit_copy()
return a pointer to the global cut buffer instead of creating a
GimpBuffer which was leaked by most callers.
* app/gui/edit-commands.c: changed accordingly.
* libgimpwidgets/gimpquerybox.[ch] (string_query_box_ok_callback):
removed a superfluous g_strdup(); made GimpQueryStringCallback take
a const gchar* pointer.
* app/gui/edit-commands.c
* app/gui/file-commands.c
* app/gui/palettes-commands.c: changed accordingly.
2003-09-05 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/script-fu-scripts.c (script_fu_interface):
don't fiddle with the spin-buttons, the defaults are fine.
Removed trailing whitespace.
2003-09-04 Manish Singh <yosh@gimp.org>
* app/base/cpu-accel.[ch]: rewrote the x86 tests, moved debug printout
from base.c to here.
* test-cpu-accel.c: simple test program to test the above.
* app/base/base.c: use cpu_accel_print_results ()
* app/base/Makefile.am: added test-cpu-accel to TESTS.
* data/Makefile.am: make site local font directory on install.
2003-09-04 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/scripts/font-map.scm (script-fu-font-map):
Render the specified text by default, added optional font labels.
2003-09-04 Michael Natterer <mitch@gimp.org>
* app/core/gimpchannel.[ch]: removed gimp_channel_load().
* app/core/gimpimage-mask.[ch]: removed gimp_image_mask_load()
and _save().
* app/core/gimpselection.[ch]: added gimp_selection_load() and
_save() since these functions are specific to the selection.
* app/core/gimpimage-qmask.c
* app/gui/select-commands.c
* app/widgets/gimpselectioneditor.c
* tools/pdbgen/pdb/selection.pdb: changed accordingly.
* app/pdb/selection_cmds.c: regenerated.
2003-09-04 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/scripts/font-map.scm (script-fu-font-map):
Keep text layers instead of merging them down. Allow to specify a
text to render in place of the font names.
2003-09-04 Sven Neumann <sven@gimp.org>
* autogen.sh (LIBTOOL_WIN32): changed to 1.5 since win32 libtool
doesn't seem to be reporting the micro version number.
2003-09-04 Manish Singh <yosh@gimp.org>
* configure.in: #define ARCH_X86 on x86-64 too.
* app/composite/gimp-composite-sse2.c: dererference pointers outside
of asm() construct.
Now this stuff builds on x86-64, but fails some of the tests. Need
to fix it later.
2003-09-04 Sven Neumann <sven@gimp.org>
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpcontainer-filter.[ch]: added filter functionality
for GimpContainers.
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/fonts.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/palettes.pdb
* tools/pdbgen/pdb/patterns.pdb: made the gimp_foo_get_list()
PDB function somewhat useful by adding a filter parameter that
allows to specify a regular expression to be used on the list.
* app/pdb/Makefile.am: had to uglify the ugly hack even more :(
* app/pdb/brushes_cmds.c
* app/pdb/fonts_cmds.c
* app/pdb/gradients_cmds.c
* app/pdb/palettes_cmds.c
* app/pdb/patterns_cmds.c
* libgimp/gimpbrushes_pdb.[ch]
* libgimp/gimpfonts_pdb.[ch]
* libgimp/gimpgradients_pdb.[ch]
* libgimp/gimppalettes_pdb.[ch]
* libgimp/gimppatterns_pdb.[ch]: regenerated.
* plug-ins/gflare/gflare.c
* plug-ins/pygimp/gimpmodule.c: changed accordingly.
* plug-ins/script-fu/scripts/font-map.scm: replaced the font list
parameter with a more useful regexp filter on the available fonts.
2003-09-04 Sven Neumann <sven@gimp.org>
* app/core/gimpcontainer.[ch] (gimp_container_get_name_array):
fixed a bug in the implementation.
Changed gimp_container_foreach() to take a const container.
2003-09-04 Michael Natterer <mitch@gimp.org>
* app/core/gimpchannel.[ch]
* app/core/gimpselection.c: reordered GimpChannel::is_empty()
after GimpChannel::boudary() and GimpChannel::bounds() because it
belongs to that group of functions.
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 Simon Budig <simon@gimp.org>
* app/vectors/gimpbezierstroke.c: Changed the direct dragging
of a segment a bit, so that close to one endpoint only one
handle gets moved.
2003-09-04 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable.[ch]: added new pure virtual function
GimpDrawable::invalidate_boundary().
* app/core/gimplayer.[ch]: implement it and removed public
function gimp_layer_invalidate_boundary().
* app/core/gimpchannel.[ch]: implement it.
* app/core/gimpselection.[ch]: implement it and removed public
function gimp_selection_invalidate().
* app/core/gimpimage-mask.c (gimp_image_mask_invalidate)
* app/core/gimpimage-undo-push.c
* app/core/gimpimage.c
* app/core/gimplayer-floating-sel.c
* app/text/gimptextlayer.c: changed accordingly.
* app/core/gimpchannel.[ch]: made gimp_channel_push_undo() a
public function and made it call
gimp_drawable_invalidate_boundary(). Added undo_desc strings for
all undo pushing functions to GimpChannelClass.
* app/core/gimpselection.[ch]: removed gimp_selection_push_undo()
since after the change above it was identical to
gimp_channel_push_undo(). Don't push any undo here since
upchaining does the right thing now. Override GimpChannelClass'
undo_desc strings to say "Selection".
* app/core/gimpimage-mask.c (gimp_image_mask_push_undo): changed
accordingly.
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-09-03 Simon Budig <simon@gimp.org>
* app/vectors/gimpstroke.c
* app/vectors/gimpbezierstroke.c: Two small hacks to make the
editing behave more symmetric (no more a user visible difference
between extending to the start or to the end of a stroke).
* app/tools/gimpvectortool.c: Use dashed lines for the connection
between the anchor and the handles. Looks great IMHO.
2003-09-03 Simon Budig <simon@gimp.org>
* app/tools/gimpvectortool.[ch]: properly keep track of the
active anchor and retrieve that information after a _thaw () so
that proper editing is possible after an undo. Now the
vector_tool->cur_* variables are constantly updated in
_oper_update () so that we don't need to determine them in
_button_press () again.
On request by Jimmac and Joao connecting two stroke-ends now
works by activating one endpoint and clicking on the other
endpoint in Insert/Delete Mode.
2003-09-03 Pedro Gimeno <pggimeno@wanadoo.es>
* ccanalyze.c (analyze): use Alpha channel and selection
channel info when available to build the histogram and to
include/exclude colors in the color count. Fixes bug #121097
and handling of INDEXEDA images which was broken.
(histogram, insertcolor, fillPreview): updated to use
gdoubles where appropriate.
2003-09-03 Sven Neumann <sven@gimp.org>
* devel-docs/gbr.txt
* plug-ins/common/gbr.c: applied a patch from Guillermo S. Romero
that fixes loading of v1 brushes and documents the difference
to version 2 of the brush file format (bug #121304).
2003-09-03 Sven Neumann <sven@gimp.org>
* app/tools/gimpclonetool.c: Ctrl only sets the clone source when
Shift isn't pressed at the same time (fixes bug #121324).
2003-09-03 Sven Neumann <sven@gimp.org>
* app/paint-funcs/paint-funcs-generic.h (dissolve_pixels)
* app/composite/gimp-composite-generic.c
(gimp_composite_dissolve_any_any_any_generic): fixed a bug in the
dissolve algorithm (bug #121305).
2003-09-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-mask.[ch]: removed the feather(), sharpen(),
all(), invert(), border(), grow() and shrink() wrappers.
* app/core/gimpselection.[ch]: changed gimp_selection_invalidate()
and gimp_selection_push_undo() to take GimpChannel parameters, not
GimpSelection ones. They will be made virtual GimpChannel
functions anyway.
* app/core/gimpedit.c
* app/gui/select-commands.c
* app/widgets/gimpselectioneditor.c
* tools/pdbgen/pdb/selection.pdb: changed accordingly.
* app/pdb/selection_cmds.c: regenerated.
* app/composite/gimp-composite.c (gimp_composite_init): Turn on
SSE, SSE2, and 3dnow instruction sets.
* app/paint-funcs/paint-funcs.c (initial_sub_region): Fixed
uninitialised data in the special case for dissolve.
This is the cause of Bug #121213.
2003-09-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpchannel.[ch]: made all functions which push an
undo step virtual and added them all as default implementations.
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpselection.[ch]: new object which is a GimpChannel
subclass and implements all of its virtual functions, pushes
an image_mask undo and chains up with "push_undo = FALSE".
* app/core/gimpimage-mask.[ch]: made most functions simple
wrappers like gimp_channel_invert(gimp_image_get_mask(gimage));
so the API stays the same for now.
* app/core/gimpimage.[ch]: create a GimpSelection object
as gimage->selection_mask. Removed "gboolean mask_stroking"
since it is in GimpSelection now.
* app/xcf/xcf-load.c (xcf_load_channel_props): added an evil hack
which turns a GimpChannel into a GimpSelection once we figured the
loaded channel is the selection.
* app/core/gimplayer.c (gimp_layer_create_mask):
gimp_channel_clear() takes an additional "const gchar *undo_desc"
parameter now.
* app/core/gimpscanconvert.c (gimp_scan_convert_to_channel): set
mask->bounds_known to FALSE before returning the new channel
* app/tools/gimpiscissorstool.c (iscissors_convert): no need to
call gimp_channel_invalidate_boundary() on the channel returned by
the above function.
* app/core/gimpchannel.[ch]: removed
gimp_channel_invalidate_boundary() since it is no longer needed.
2003-09-03 Sven Neumann <sven@gimp.org>
* libgimpcolor/gimpcolorspace.[ch] (gimp_rgb_to_cmyk_int): made
pullout a percentage instead of a maximal value.
(gimp_rgb_to_cmyk): added a pullout parameter here as well.
* app/gui/info-window.c
* plug-ins/common/newsprint.c: changed accordingly.
* modules/colorsel_cmyk.c: allow to specify the amount of black
pulled out when converting to CMYK.
2003-09-03 Dave Neary <bolsh@gimp.org>
* NEWS: Changed slightly - I overestimated/overanticipated
some things.
* HACKING: Updated to fix some indentation issues, and clear
up some small points (like not building as root) following
suggestions from Emmet Caulfield <emmet@netrogen.com>
2003-09-02 Sven Neumann <sven@gimp.org>
* libgimpcolor/gimpcolorspace.c (gimp_rgb_to_cmyk_int): allow to
specify the amount of black pullout. Documented the function.
* plug-ins/common/newsprint.c: use the RGB to CMYK routine from
libgimpcolor.
2003-09-02 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdockable.c (gimp_dockable_init): default to
GIMP_TAB_STYLE_PREVIEW.
(gimp_dockable_new): fall back to _ICON if
dockable->get_preview_func is NULL.
* app/widgets/gimpdialogfactory.c
(gimp_dialog_factories_restore_foreach): ditto.
2003-09-02 Sven Neumann <sven@gimp.org>
* app/tools/gimpeditselectiontool.c (init_edit_selection): removed
a superfluous call to g_object_ref().
* app/vectors/gimpvectors.c (gimp_vectors_copy_strokes): free the
old list of strokes.
2003-09-02 Michael Natterer <mitch@gimp.org>
* app/config/gimpcoreconfig.[ch]
* app/config/gimprc-blurbs.h: removed "module-load-inhibit"
property since the GimpModuleDB stores this value.
* app/config/gimpconfigwriter.[ch] (gimp_config_writer_new):
renamed parameter "gboolean safe" to "gboolean atomic".
* app/core/gimpmodules.c: ported modulerc parsing/writing to
GimpScanner and GimpConfigWriter (apparently it was forgotten
during gimprc cleanup). Makes keeping modules from being loaded
work again. Reported by Michael Schumacher on #gimp.
* app/composite/gimp-composite-mmx.c
* app/composite/gimp-composite-sse.c: Dereference all pointers
from *outside* of asm() construct.
* app/paint-funcs/paint-funcs.c: Fixed bug where dissolve opacity
was incorrectly set, and dissolve mask was garbage. This should
fix Bug #121213
* app/composite/gimp-composite-mmx.c
* app/composite/gimp-composite-sse.c: Replaced all memory
references in asm() constructs to references to "input" parameters
to the asm(). This should take care of any name mangling issues
(see bug #120893)
Beautified more code to conform to the gimp style guidelines.
No longer doing pointer math in assembly. This should ease some
of the issues of compiling on 64bit machines.
* app/composite/gimp-composite-sse-installer.c
* app/composite/gimp-composite-sse-test.c: Removed reference to
gimp_composite_overlay_* because this code is suspect.
2003-09-01 Manish Singh <yosh@gimp.org>
Font configuration stuff: You can rescan for fonts on the fly now.
A couple caveats: the text tool font dialog doesn't get updated, but
that's supposed to be going away. The new font dock doesn't resort
on update, but mitch is supposed to fix that. :)
Some nice stuff for advanced font users: GIMP local font directories,
and an optional site and user fonts.conf.
I thought about supporting the auto-resan feature in fontconfig,
but it might take too much time to do a scan so I haven't implemented
it. Another thing I want to do is create fontconfig caches in the
local dirs.
* text/gimpfonts.[ch]: gimp_fonts_init/load/reset implementation.
* text/Makefile.am: added gimpfonts.[ch]
* app/core/gimp.c: use gimp_fonts_init/reset.
* app/config/gimpcoreconfig.[ch]
* app/config/gimprc-blurbs.h: added font-path config setting.
* app/gui/preferences-dialog.c: Add a Font Folders section for the
above. Also added a Rescan Font List button, which goes in the
Environment section. Not sure if this is the right place...
it also looks kinda ugly all by its lonesome.
* app/gui/user-install-dialog.c: mention the fonts directory.
* themes/Default/images/preferences/Makefile.am
* themes/Default/images/preferences/folders-fonts.png: dummy icon for
font folders pref, probably a folder with a little "T" in the corner
would be good.
2003-09-01 Michael Natterer <mitch@gimp.org>
* app/core/gimpitem.[ch]: added new virtual function
GimpItem::stroke().
* app/core/gimpchannel.c
* app/vectors/gimpvectors.c: implement GimpItem::stroke().
* app/core/gimpimage-mask.[ch] (gimp_image_mask_stroke): changed
signature to match gimp_item_stroke() (the selection mask *really*
should be a GimpChannel subclass).
Removed global variable "gboolean gimp_image_mask_stroking"...
* app/core/gimpimage.[ch]: ...and added "gboolean mask_stroking"
to the GimpImage struct.
* app/gui/vectors-commands.[ch]: removed vectors_stroke_vectors().
* app/widgets/widgets-types.h: removed GimpStrokeItemFunc typedef.
* app/widgets/gimpvectorstreeview.[ch]: removed "stroke_item_func"
member and use gimp_item_stroke() instead.
* app/gui/dialogs-constructors.c (dialogs_vectors_list_view_new)
* app/gui/edit-commands.c (edit_stroke_cmd_callback)
* app/gui/vectors-commands. (vectors_stroke_cmd_callback)
* app/widgets/gimpselectioneditor.c
(gimp_selection_editor_stroke_clicked)
* tools/pdbgen/pdb/edit.pdb (gimp_edit_stroke): changed accordingly.
* app/pdb/edit_cmds.c: regenerated.
Note that there is no GUI for "stroke channel", although it would
be utterly cool to have one, since currently slelection stroking
cannot be masked by a selection (because we stroke the selection).
Anyway, if anyone has an idea how to trigger "stroke channel" with
another drawable active (the one to stroke to), please let me
know...
2003-09-01 Michael Natterer <mitch@gimp.org>
We really don't need that global variable overkill from appenv.h
just to pass these values from main() to app_init():
* app/app_procs.[ch] (app_init): added tons of parameters that
used to be global variables before.
Replaced app_init_update_status() by two functions, one which
actually updates the splash, and one which does nothing, so we
don't need global variables in the status callback.
* app/appenv.h: removed vraiable declarations here. Some are still
left, will get rid of this entire file soon...
* app/main.c: added them as local variables to main() and
pass them to app_init().
* app/batch.c: removed the global "batch_cmds", they are passed
the same way as the stuff above now.
2003-09-01 Michael Natterer <mitch@gimp.org>
* app/gui/channels-menu.c
* app/gui/layers-menu.c
* app/gui/vectors-menu.c: removed accelerators from popup menus.
The HIG says nono and we will use the global <Image> accelerator
table all over the place soon. First part of fix for bug #119878.
2003-09-01 Michael Natterer <mitch@gimp.org>
* plug-ins/common/edge.c (run): fixed check for the number of
arguments (don't always fail). Fixes bug #121176.
2003-08-31 Manish Singh <yosh@gimp.org>
* app/paint/gimppaintcore.c: inlined rotate_pointers, made it specific
to gulongs (made more sense to me than adding casts)
2003-09-01 Simon Budig <simon@gimp.org>
* app/vectors/gimpcoordmath.[ch]: Introduced function to compare
two gimpcoords
* app/vectors/gimpstroke.[ch]: virtualized gimp_stroke_close.
* app/vectors/gimpbezierstroke.c: made the _close function check,
if there is an unneeded segment (CCA-Sequence with all the same
coordinates) at the gap to be closed. If so, remove it.
2003-09-01 Tor Lillqvist <tml@iki.fi>
* README.win32: Update.
* app/composite/gimp-composite-mmx.c: For some reason the gcc&gas
combination used on Win32 wants identifiers prefixed with
underscores in the asm sequences.
* plug-ins/common/ps.c (ps_open): [Win32] Don't write the gs
executable name into the indirect command line file. Do write the
quoted form of the filename to it.
(my_shell_quote): New funcion. Use instead of g_shell_quote() on
Windows, as g_shell_quote() always uses single quotes, which don't
mean anything to the Windows shell (or C runtime startup
code). (This might be argued to be a bug in GLib, maybe
g_shell_quote should behave differently accoring to platform.)
* etc/gimprc.win32: Remove, generate with gimpconfig-dump.
* */makefile.mingw.in: Remove, unmaintained.
2003-09-01 Sven Neumann <sven@gimp.org>
* app/xcf/xcf-load.c: removed excessive path debugging output.
* app/text/gimptext-vectors.c: always close strokes created from
text outlines.
2003-09-01 Sven Neumann <sven@gimp.org>
* app/text/gimptext-vectors.c: use the new bezier stroke API.
* app/vectors/gimpbezierstroke.c (gimp_bezier_stroke_new_moveto):
pass a NULL anchor to the first call of gimp_bezier_stroke_extend().
2003-08-31 Sven Neumann <sven@gimp.org>
* plug-ins/common/bz2.c: make it behave more like the gzip plug-in
and attempt to load and save files even if there's no sensible
extension.
* plug-ins/common/gz.c: minor string change for consistency.
2003-08-31 Sven Neumann <sven@gimp.org>
* plug-ins/gfig/gfig.c: applied an old patch from Carl Adams that
was updated for 1.3 by Tino Schwarze. The patch fixes the isometric
grid so that its mathematical properties can be exploited.
2003-08-31 Sven Neumann <sven@gimp.org>
* plug-ins/common/gz.c: applied a patch from Raphael Quinet that
adds '-n' to the gzip command-line (bug #72791). Did some minor
code cleanup and fixed a problem introduced by the latest change
that caused a crash when loading remote gzipped files.
2003-08-31 Manish Singh <yosh@gimp.org>
* app/core/gimpimage-undo-push.c (undo_pop_layer): gsize is unsigned,
reflect that in the g_prints.
* tools/pdbgen/pdb/color.pdb: case to GIMP_BASE_CONFIG for the call
to gimp_histogram_new, #include "core/gimpdrawable-histogram.h"
* app/pdb/color_cmds.c: regenerated.
2003-08-31 Sven Neumann <sven@gimp.org>
* app/gui/layers-commands.[ch]
* app/gui/layers-menu.c: added "Merge Visible Layers..." and
"Flatten Image" menu entries as suggested in bug #120959.
* app/text/gimptext-vectors.c: fixed function declaration; we are
passing a PangoGlyph here, not a (PangoGlyph*).
2003-08-31 Sven Neumann <sven@gimp.org>
* plug-ins/common/psd.c: applied a modified version of a patch
from Andy Wallis that is supposed to fix bug #68538.
2003-08-31 Manish Singh <yosh@gimp.org>
* configure.in: added a prominent comment for translators to make
sure they have all 4 po files before adding to ALL_LINGUAS.
* app/gui/plug-in-menus.c: remove redudant #include of gimpenv.h
* tools/pdbgen/pdb/plug_in.pdb: gimp_strip_uline menu_path before
passing it up.
* app/pdb/plug_in_cmds.c: regenerated.
* plug-ins/common/mng.c
* plug-ins/common/psd_save.c
* plug-ins/common/psp.c: use G_N_ELEMENTS
* plug-ins/common/screenshot.c: use GDK_WINDOWING_* for #includes
too. GDK cursor enums are ok to pass to XCreateFontCursor.
* plug-ins/dbbrowser/dbbrowser_utils.c: minor cleanups, also use
gtk_cell_renderer_text_set_fixed_height_from_font as an optimization.
* plug-ins/libgck/gck/gckcolor.c: #undef GDK_DISABLE_DEPRECATED and
add warning.
* plug-ins/pygimp/gimpfu.py: remove some redundant import gtk's
2003-08-31 Sven Neumann <sven@gimp.org>
* libgimpcolor/gimpcolorspace.c: applied a patch from S. Mukund
that fixes the gimp_hsv_to_rgb_int() and gimp_rgb_to_hsv_int()
functions (bug #115626).
2003-08-31 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/color.pdb: applied a patch from Shawn Willden
that adds the new PDB function levels_auto.
* app/pdb/color_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpcolor_pdb.[ch]: regenerated.
2003-08-31 Raphael Quinet <raphael@gamers.org>
* data/palettes/Makefile.am (palettedata_DATA): fixed the spelling
of Khaki.gpl after Sven's last commit.
2003-08-31 Danilo Šegan <dsegan@gmx.net>
* po/sr.po, po/sr@Latn.po: Updated Serbian translation by
Serbian team (Prevod.org).
* tips/sr.po, tips/sr@Latn.po: Added Serbian translation by
Serbian team (Prevod.org).
* po-plug-ins/sr.po, po-plug-ins/sr@Latn.po: Added unfinished
Serbian translations to serve as placeholders (so we can add
"sr" to configure.in).
* configure.in: Added "sr" and "sr@Latn" to ALL_LINGUAS.
2003-08-31 Sven Neumann <sven@gimp.org>
* data/palettes/Kahki.gpl: removed ...
* data/palettes/Khaki.gpl: ... and readded under the correct name.
Misspelling spotted by Roman Frolow.
2003-08-31 Pedro Gimeno <pggimeno@wanadoo.es>
* plug-ins/common/ccanalyze.c (analyze): Fix bug preventing the
plug-in from working properly with rectangular selections. It
still doesn't work properly with arbitrarily-shaped selections.
2003-08-31 Manish Singh <yosh@gimp.org>
* app/widgets/gimpitemfactory.c (gimp_item_factory_translate_func):
make a copy of dgettext() results from full_path in all cases, since
it might return our original string. Fixes#121083.
2003-08-31 Michael Natterer <mitch@gimp.org>
Removed libgck from the public libgimp API:
* plug-ins/libgck/gck/Makefile.am: don't build and install a
shared library and any header files. Instead, build a
noinst_LIBRARY.
* plug-ins/Lighting/Makefile.am
* plug-ins/MapObject/Makefile.am: link against the uninstalled
libgck.a convenience lib.
2003-08-30 Michael Natterer <mitch@gimp.org>
* app/tools/gimptool.c: made "tool-info" a G_PARAM_CONSTRUCT_ONLY
property.
* app/tools/tool_manager.c (tool_manager_tool_changed): pass it to
g_object_new() instead of setting it after tool creation.
* app/tools/gimppainttool.[ch]
* app/tools/gimptransformtool.[ch]: removed ugly
"gboolean notify_connected" hacks and connect to the signals in
GObject::constructor().
* app/tools/gimppainttool.c (gimp_paint_tool_contstructor): create
paint_tool->core here from tool->tool_info->paint_info->paint_type.
* app/tools/gimpairbrushtool.c
* app/tools/gimpclonetool.c
* app/tools/gimpconvolvetool.c
* app/tools/gimpdodgeburntool.c
* app/tools/gimperasertool.c
* app/tools/gimppaintbrushtool.c
* app/tools/gimppenciltool.c
* app/tools/gimpsmudgetool.c: changed accordingly. Removed lots of
useless class_init functions. Converted tabs to spaces. Cleanup.