2009-01-17 Michael Natterer <mitch@gimp.org>
* all files with a GPL header and all COPYING files:
Change licence to GPLv3 (and to LGPLv3 for libgimp).
Cleaned up some copyright headers and regenerated the parsers in
the ImageMap plugin.
svn path=/trunk/; revision=27913
2008-05-09 Simon Budig <simon@gimp.org>
* app/core/gimpscanconvert.[ch]: expose the internal most
flexible rendering function. Make use of the miter limit
again.
svn path=/trunk/; revision=25597
2008-05-09 Simon Budig <simon@gimp.org>
* app/core/gimpscanconvert.[ch]: kind of resurrect the
blending modes, although now implemented as compositing
on top of the existing content of a mask.
* app/tools/gimpforegroundselecttool.c: changed accordingly
svn path=/trunk/; revision=25595
2008-05-09 Simon Budig <simon@gimp.org>
* app/core/gimpscanconvert.[ch]: removed Libart usage,
replaced with Cairo. Dashed strokes do not yet work again, will
happen tomorrow. Also the blending modes need a second look at.
Also removed deprecated API which made it unnecessarily complicated.
* app/tools/gimpiscissorstool.c: use the current API.
* app/core/Makefile.am
* app/Makefile.am
* configure.in: removed libart dependency, added cairo dependency
where necessary.
svn path=/trunk/; revision=25591
2005-08-08 Sven Neumann <sven@gimp.org>
* app/core/gimpscanconvert.[ch]: added the possibility to specify
a clip rectangle.
* app/base/siox.c (find_max_blob): use g_try_malloc().
2005-08-06 Sven Neumann <sven@gimp.org>
* app/core/gimpscanconvert.[ch]: added gimp_scan_convert_compose(),
an alternative to gimp_scan_convert_render() that allows to compose
strokes on a drawable.
* app/tools/gimpforegroundselecttool.c: use the new function to
get rid of temporary channels for applying the strokes. Also fixed
calculation of stroke width from display scale.
2005-07-29 Sven Neumann <sven@gimp.org>
* app/core/gimpscanconvert.[ch]: added
gimp_scan_convert_render_value(), a variant of
gimp_scan_convert_render() that allows to pass the foreground value.
* app/tools/gimpfreeselecttool.[ch]: added a virtual "select" method.
* app/tools/Makefile.am
* app/tools/gimp-tools.c
* app/tools/gimpforegroundselecttool.[ch]: added a rough first
version of foreground selection tool based on the SIOX algorithm.
Work in progress...
* app/widgets/gimphelp-ids.h: added help-id for the new tool.
2003-10-09 Michael Natterer <mitch@gimp.org>
* app/core/core-types.h: added GimpScanConvert typedef.
* app/core/gimpscanconvert.h: removed it here.
* app/core/gimpchannel-select.[ch]: factored out new
function gimp_channel_select_scan_convert().
(gimp_channel_select_polygon)
(gimp_channel_select_vectors): use it.
(gimp_channel_select_alpha): when called on a layer without alpha,
don't fail but fake the effect of a fully opaque alpha channel.
* app/tools/gimpiscissorstool.c: some cleanup.
(iscissors_convert): fixed my latest cleanup (don't cast the
tool to a GimpGrawable ;). Don't ignore options->antialias.
2003-10-06 Michael Natterer <mitch@gimp.org>
* app/core/gimpchannel.c (gimp_channel_new_from_alpha): create
a channel which the size of the layer, not of the image...
* app/core/gimpchannel-select.c (gimp_channel_select_alpha):
...and take the layer's offsets into account.
* app/core/gimpscanconvert.[ch] (gimp_scan_convert_render): added
off_x and off_y parameters and don't use the passed TileManager's
offsets.
* app/core/gimpchannel-select.c
* app/core/gimpdrawable-stroke.c
* app/tools/gimpiscissorstool.c: changed accordingly.
2003-09-30 Michael Natterer <mitch@gimp.org>
* app/core/gimpscanconvert.[ch]: removed "width", "height" and
"antialias" from the GimpScanConvert struct and from
gimp_scan_convert_new(). Removed gimp_scan_convert_to_channel().
Added "gboolean antialias" to gimp_scan_convert_render().
Some general cleanup.
* app/core/gimpdrawable-stroke.c
* app/core/gimpimage-mask-select.c
* app/tools/gimpiscissorstool.c: changed accordingly.
* app/core/gimpdrawable-stroke.c: renamed
gimp_drawable_stroke_scanconvert_stroke() to
gimp_drawable_stroke_scan_convert() and removed the "gboolean
use_mask_bounds" parameter since we can't decide if it's the
selection's boundary which is stroked. Instead use
gimp_channel_is_empty() on the selection which will return FALSE
while the selection is being stroked.
* app/paint/gimppaintcore-stroke.c: cleanup.
(gimp_paint_core_stroke_boundary): don't use "gint i" twice.
(gimp_paint_core_stroke_vectors): no need to manually close a
closed stroke.
2003-09-30 Simon Budig <simon@gimp.org>
* app/core/gimpscanconvert.[ch]: replaced
gimp_scan_convert_set_resolution with
gimp_scan_convert_set_pixel_ratio where you specify the pixel
ratio (width/height). Also made the stroke-width consistent
with other places in the gimp by using the Y-Resolution as
the base for the calculations.
* app/core/gimpdrawable-stroke.c: changed accordingly.
2003-09-30 Simon Budig <simon@gimp.org>
* app/core/gimpscanconvert.[ch]: Added support for setting
X- and Y-resolution for stroking paths. The width of a path
has to be given in pixels, using X-resolution.
* app/core/gimpstrokeoptions.[ch]: Added "resolution" property,
so that conversion between various width-units can happen.
Should be set to the target images X-resolution.
* app/gui/stroke-dialog.c: set the resolution of the options.
* app/core/gimpdrawable-stroke.c: Use that stuff, cleanup.
2003-09-27 Simon Budig <simon@gimp.org>
This still is very much in progress. I just want to commit this
to avoid lossage. It kind of works but there definitely is
code in the wrong place now.
* app/gui/stroke-dialog.[ch]: New files implementing a dialog
containing Svens GimpStrokeEditor-Widget.
* app/gui/Makefile.am: changed accordingly.
* app/gui/vectors-commands.c: Open the StrokeOptions-Dialog when
the "stroke" menu entry gets selected.
* app/vectors/gimpvectors.c: Remove bad #ifdef hacks and use
Libart/Paintcore-Stroking depending on the type of the stroke_desc
Parameter.
* app/core/gimpstrokeoptions.c: Proper handle the Enum-Properties.
* app/core/gimpscanconvert.[ch]: make the antialias-parameter
to gimp_scan_convert_new a gboolean.
* app/tools/gimpiscissorstool.c
* app/core/gimpdrawable-stroke.c
* app/core/gimpimage-mask-select.c: Changed accordingly.
2003-09-26 Simon Budig <simon@gimp.org>
* app/core/gimpscanconvert.[ch]: Add some parameters to
gimp_scan_convert_stroke () to expose the Miter-Setting
and enable dashing of vectors.
* app/core/gimpdrawable-stroke.c: Use the dashing feature.
* app/vectors/gimpvectors.c: Expose a bad hack (opacity
controls the libart-stroke width) in a #define. Default
is not enabled.
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-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. :-/
2003-05-21 Simon Budig <simon@gimp.org>
* app/core/gimpscanconvert.[ch]: Extended to be able to handle
multiple polygons in a sane way.
* app/core/gimpimage-mask-select.c: Use this to convert
multiple-stroke vectors objects to selections. Libart rocks!
* app/tools/gimpiscissorstool.c: Changed accordingly.
2000-12-29 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/channel_pvt.h
* app/drawable_pvt.h
* app/gdisplayF.h
* app/gimpdrawableP.h
* app/gimpimageP.h
* app/layer_pvt.h
* app/toolsF.h: removed these files.
* app/apptypes.h
* tools/pdbgen/enums.pl: added tons of opaque typedefs and enums.
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/channel.pdb
* tools/pdbgen/pdb/color.pdb
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/display.pdb
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/fileops.pdb
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/help.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/layer.pdb
* tools/pdbgen/pdb/pattern_select.pdb
* tools/pdbgen/pdb/patterns.pdb
* tools/pdbgen/pdb/selection.pdb
* tools/pdbgen/pdb/tools.pdb
* app/*: chainsaw #include cleanup:
- Never (never!!) include stuff in header files except where we
need access to structures' contents (like derived objects).
- Added prototypes and proper formating in many files.
- The #include order in *all* *.c files is as follows:
#include "config.h"
#include <system stuff>
#include <gtk/gtk.h>
#include "apptypes.h"
#include "gimp stuff"
#include "libgimp stuff"
#include "libgimp/gimpintl.h"
By following this scheme we can easily see a file's dependencies
from it's #include's and can grep for the inclusion to find out
where a file is used.
* tools/pdbgen/app.pl: changed to follow the include scheme above.
* libgimp/Makefile.am
* libgimp/gimpuitypes.h: new file, included from libgimp/gimpui.h
and from app/apptypes.h.
* libgimp/gimpcolorbutton.[ch]
* libgimp/gimpdialog.[ch]
* libgimp/gimphelpui.[ch]
* libgimp/gimpparasite.[ch]
* libgimp/gimppatheditor.[ch]
* libgimp/gimpprotocol.c
* libgimp/gimpquerybox.[ch]
* libgimp/gimpsizeentry.[ch]
* libgimp/gimptypes.h
* libgimp/gimpui.h
* libgimp/gimpunit.h
* libgimp/gimpunitmenu.[ch]
* libgimp/gimpwidgets.[ch]: changed accordingly.
* plug-ins/FractalExplorer/Dialogs.c
* plug-ins/gdyntext/message_window.c
* plug-ins/imagemap/imap_default_dialog.c
* plug-ins/imagemap/imap_file.c: these files used to include
"libgimp/gimpui.h" without including "libgimp/gimp.h". This is
no longer possible because the libgimpui headers don't inlcude
"libgimp/gimpunit.h" any more.
Mon Oct 4 01:46:46 EDT 1999 Austin Donnelly <austin@gimp.org>
NEW FILES:
* app/scan_convert.c
* app/scan_convert.h: common code from free_select.c and
bezier_select.c
MODIFIED FILES:
* app/disp_callbacks.c: Fix for bug #2517 - dragging colour swatch
to image with no layers causes segfault. Something is
repainting empty images as white rather than chequerboard as
well, which still needs fixing.
* app/free_select.c: move code out to scan_convert.c
* app/free_select.h: use ScanConvertPoint not FreeSelectPoint
* tools/pdbgen/pdb/tools.pdb: ScanConvertPoint again
* app/tools_cmds.c: generated version of above.