2008-05-13 Sven Neumann <sven@gimp.org>
* app/core/gimpcurve-map.c (gimp_curve_map_pixels): create a
bitmask that represents the curves that need to be applied and
optimize the most common cases.
svn path=/trunk/; revision=25649
2008-05-13 Sven Neumann <sven@gimp.org>
* app/core/gimpcurve-map.c (gimp_curve_map_value): simplified
the
general case.
svn path=/trunk/; revision=25647
2008-05-11 Sven Neumann <sven@gimp.org>
* app/core/gimpcurve.[ch]: keep a boolean flag to identify an
identity mapping. Set it to TRUE when the curve is reset.
* app/core/gimpcurve-map.c (gimp_curve_map_value): optimize for
the case where the curve is an identity mapping.
svn path=/trunk/; revision=25646
2008-05-12 Simon Budig <simon@gimp.org>
* app/vectors/gimpvectors.[ch]
* app/vectors/gimpstroke.[ch]
* app/vectors/gimpbezierstroke.c: Implement functionality to
get a bezier description a la moveto/curveto/closepath.
* app/vectors/vectors-types.h: implement an evil hack to avoid
the inclusion of cairo.h in most C files...
* app/vectors/Makefile.am: link against cairo
* app/widgets/gimpviewrenderervectors.c: use the new functionality
for preview rendering.
svn path=/trunk/; revision=25645
2008-05-11 Sven Neumann <sven@gimp.org>
* app/core/gimpcurve.[ch]: renamed gimp_curve_map() to
gimp_curve_map_value(). Added new function
gimp_curve_map_pixels()
which will allow for better optimization.
* app/gegl/gimpoperationcurves.c
(gimp_operation_curves_process):
use gimp_curve_map_pixels().
* app/tools/gimpcurvestool.c
* app/widgets/gimpcurveview.c: follow API change.
svn path=/trunk/; revision=25641
2008-05-11 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpcroptool.[ch]: No need to expose definitions of
GimpCropTool or GimpCropToolClass.
svn path=/trunk/; revision=25640
2008-05-11 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c: Fix emission of
rectangle-change-complete signals.
* app/tools/gimpcroptool.c
* app/tools/gimprectangleselecttool.c:
Use the rectangle-change-complete signal to update the default
aspect ratio. Fixes bug #530519.
* app/tools/gimpcroptool.c
(gimp_crop_tool_button_release)
(gimp_crop_tool_options_notify)
* app/tools/gimprectangleselecttool.c
(gimp_rectangle_select_tool_button_release): No need to explicitly
update option defaults since it is handled through the
rectangle-change-complete signal now.
svn path=/trunk/; revision=25639
2008-05-11 Sven Neumann <sven@gimp.org>
* app/gegl/gimpoperationlevels.c (gimp_operation_levels_map):
optimized for the case where gamma is 1.0.
svn path=/trunk/; revision=25636
2008-05-11 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpaction.[ch]: add an "ellipsize" property that is
applied to all proxy menu items' labels.
* app/actions/windows-actions.c: set the dock actions to
PANGO_ELLIPSIZE_END because their labels can be insanely long.
svn path=/trunk/; revision=25635
2008-05-11 Michael Natterer <mitch@gimp.org>
* app/actions/windows-commands.[ch]
* app/actions/windows-actions.c
* app/menus/windows-menu.c: add dynamic actions and menu items for
all open docks. Present the dock when the menu item is selected.
svn path=/trunk/; revision=25633
2008-05-10 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_button_press): Active the tool control
earlier.
(gimp_rectangle_tool_synthesize_motion): Bail out if the tool
control is active, we don't want to synthesize a motion in this
case as it emits unwanted rectangle-changed signals.
svn path=/trunk/; revision=25630
2008-05-10 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdialogfactory.[ch]: add signals "dock-added" and
"dock-removed".
(gimp_dialog_factory_add_dialog)
(gimp_dialog_factory_remove_dialog): emit them when docks get
added and removed.
svn path=/trunk/; revision=25629
2008-05-10 Michael Natterer <mitch@gimp.org>
* app/actions/windows-actions.c: renamed the "Create New Dock"
submenu to simply "Docks". Its contents are about ti change soon.
* menus/image-menu.xml.in: changed accordingly. Added a "Docks"
placeholder inside and add the "show toolbox" menu item there.
svn path=/trunk/; revision=25628
2008-05-10 Michael Natterer <mitch@gimp.org>
* app/core/gimplist.[ch]: add boolean "append" property which
makes gimp_container_add() append to the list instead of the
default prepend.
* app/core/gimp.c: create the display list with append = TRUE so
the images menu is in a proper order.
svn path=/trunk/; revision=25627
2008-05-10 Michael Natterer <mitch@gimp.org>
* app/actions/windows-actions.c: don't hide the empty images menu,
use gimp_image_get_uri() instead of the object's name.
svn path=/trunk/; revision=25626
2008-05-10 Michael Natterer <mitch@gimp.org>
Start changing the "Dialogs" menu to "Windows", still incomplete.
Addresses bug #309707.
* app/actions/Makefile.am
* app/actions/windows-actions.[ch]
* app/actions/windows-commands.[ch]: new files which currently
hold the "show toolbox" action and callback and new code which
maintains automatically generated actions for accessing (raising)
all open images.
* app/actions/actions.c: register the new "windows" action group.
* app/actions/dialogs-actions.c
* app/actions/dialogs-commands.[ch]: remove "show toolbox"
action and callback and also the action for the "Disalogs" menu.
* app/menus/Makefile.am
* app/menus/windows-menu.[ch]: new files which create and destroy
the menu items for the image window actions.
* app/menus/menus.c: register the "windows" action group with
all UI managers that have the "dialogs" action group.
* app/menus/image-menu.c (image_menu_setup): call
windows_menu_setup().
* app/gui/gui.c: s/dialogs_show_toolbox/windows_show_toolbox/g
* menus/image-menu.xml.in: some minor s/dialogs/windows/
and add the "Images" submenu.
svn path=/trunk/; revision=25623
2008-05-10 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangleselecttool.c
(gimp_rectangle_select_tool_cancel): Don't forget updating the
default apsect ratio when cancelling a rectangle select.
svn path=/trunk/; revision=25619
2008-05-10 Sven Neumann <sven@gimp.org>
* app/tools/gimptexttool.c (gimp_text_tool_confirm_response):
rerender the text layer as suggested in bug #532078.
(gimp_text_tool_confirm_dialog): minor dialog improvements.
svn path=/trunk/; revision=25618
2008-05-10 Sven Neumann <sven@gimp.org>
* app/widgets/gimpviewrenderer.c (gimp_view_renderer_real_draw):
reset the translation on the cairo context. Resurrects brush
emblems which were drawn in the wrong position.
* app/widgets/gimpviewrendererbrush.c
(gimp_view_renderer_brush_draw):
formatting.
svn path=/trunk/; revision=25614
2008-05-10 Sven Neumann <sven@gimp.org>
* POTFILES.in: gtm.c was renamed to html-table.c.
* de.po: updated German translation.
svn path=/trunk/; revision=25613
2008-05-10 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_button_release): Don't forget updating the
integer representation when reverting the rectangle after
cancelling a rubber-banding.
svn path=/trunk/; revision=25610
2008-05-10 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_button_release): Update the tool options
after a release; the rectangle might change if a rubber-banding is
cancelled.
svn path=/trunk/; revision=25608
2008-05-10 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_events)
(gimp_display_shell_canvas_tool_events):
don't reserve Delete for use by tools. Fixes bug #532116.
* app/tools/gimpimagemaptool.c
* app/tools/gimptransformtool.c: don't use Delete (you can still
use the Backspace key to achieve the same).
svn path=/trunk/; revision=25607
2008-05-10 Manish Singh <yosh@gimp.org>
* plug-ins/imagemap/Makefile.am: tweak the rules for rebuilding the
parser files from lex/yacc source so that they are explicit instead
of potentially being run implicitly because the file dates are off.
svn path=/trunk/; revision=25606
2008-05-10 Michael Natterer <mitch@gimp.org>
Applied modified patch from Alexia Death which adds velocity
support to paint tools in the spirit of the pressure support we
already have. Fixes bug #529431.
* app/display/gimpdisplayshell-coords.c
(gimp_display_shell_eval_event): tweak velocity calculation to
work in screen coordinates.
* app/paint/gimppaintoptions.[ch]: add velocity options in the
same way as there are pressure options. Add utility functions
which return dynamic opatity and dynamic rate according to the the
option's settings and some GimpCoords' pressure and velocity.
* app/tools/gimppaintoptions-gui.c: add GUI for the velocity
options.
* app/paint/gimpbrushcore.h: remove PRESSURE_SCALE define, it's
now in gimppaintoptions.h.
* app/paint/gimpbrushcore.c (gimp_brush_core_interpolate):
inerpolate velocity too.
(gimp_brush_core_calc_brush_scale): take velocity into account.
(gimp_brush_core_get_brush_mask): always pressurize the mask in
the GIMP_BRUSH_PRESSURE because there always is velocity (unlike
pressure which is only there on tablets).
* app/paint/gimpairbrush.c
* app/paint/gimpclone.c
* app/paint/gimpconvolve.c
* app/paint/gimpdodgeburn.c
* app/paint/gimperaser.c
* app/paint/gimpheal.c
* app/paint/gimppaintbrush.c
* app/paint/gimpsmudge.c: get opacity and rate from the new paint
options utility functions which take both pressure and velocity
into account.
* app/paint/gimppaintbrush.c: take velocity into account when
calculating the gradient color offset.
* app/paint/gimpairbrush.c: do some additional fiddling with
velocity in the asynchronous airbrush timeout.
* app/paint/gimpairbrushoptions.c: override the velocity-size
property and have it default to FALSE.
svn path=/trunk/; revision=25604
2008-05-10 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpcroptool.c: Add a GimpRectangleTool::cancel()
implementation that updates default aspect ratio when cancelling a
crop.
svn path=/trunk/; revision=25601
2008-05-09 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpcroptool.[ch]: Keep track of the current image and
manage a subscription to "size-changed" so that default aspect
ratio is properly updated.
(gimp_crop_tool_execute): No need to explicitly call
gimp_crop_tool_update_option_defaults() any longer.
svn path=/trunk/; revision=25598
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 Sven Neumann <sven@gimp.org>
* configure.in: check for a minimum required cairo version
(1.4.14).
* app/core/gimpscanconvert.c: copied some code from cairo until
we depend on cairo 1.6.
svn path=/trunk/; revision=25593
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