1. 27 Oct, 2008 2 commits
    • Sven Neumann's avatar
      added new enum GimpTextHintStyle. · 033fcf16
      Sven Neumann authored
      2008-10-27  Sven Neumann  <sven@gimp.org>
      
      	* libgimpbase/gimpbaseenums.[ch]: added new enum 
      GimpTextHintStyle.
      
      	* libgimp/gimpenums.c.tail
      	* tools/pdbgen/enums.pl: regenerated.
      
      	* app/text/gimptext.[ch]: added new property "hint-style". 
      Removed
      	"autohint" property and mapped the boolean property "hinting" to
      	the new enum property "hint-style".
      
      	* app/text/gimptextlayout-render.c 
      (gimp_text_layout_render_flags):
      	use "hint-style".
      
      	* app/tools/gimptextoptions.[ch]: changed tool options 
      accordingly.
      
      	* tools/pdbgen/pdb/text_layer.pdb: deprecated the "hinting" API
      	and introduced getters and setters for "hint-style".
      
      	* app/pdb/text-layer-cmds.c
      	* app/pdb/internal-procs.c
      	* libgimp/gimptextlayer_pdb.[ch]: regenerated.
      
      
      svn path=/trunk/; revision=27432
      033fcf16
    • Michael Natterer's avatar
      add gimp_draw_tool_set_clip_rect() which transforms the passed in · cd088551
      Michael Natterer authored
      2008-10-27  Michael Natterer  <mitch@gimp.org>
      
      	* app/tools/gimpdrawtool.[ch]: add gimp_draw_tool_set_clip_rect()
      	which transforms the passed in GdkRectangle before setting it
      	on the canvas.
      
      	* app/tools/gimptexttool.c (gimp_text_tool_draw): use it instead
      	of gimp_canvas_set_clip_rect().
      
      
      svn path=/trunk/; revision=27431
      cd088551
  2. 26 Oct, 2008 20 commits
    • Michael Natterer's avatar
      add integer x_pos member to remember the x cursor position when moving up · e16b9229
      Michael Natterer authored
      2008-10-27  Michael Natterer  <mitch@gimp.org>
      
      	* app/tools/gimptexttool.h: add integer x_pos member to remember
      	the x cursor position when moving up and down across shorter
      	lines.
      
      	* app/tools/gimptexttool.c (gimp_text_tool_key_press): implement
      	moving the cursor up and down. The x_pos probably needs to be
      	reset in a few more places but it seems to work pretty nicely
      	already.
      
      
      svn path=/trunk/; revision=27430
      e16b9229
    • Michael Natterer's avatar
      handle Tab, some more cleanup. · cabd5212
      Michael Natterer authored
      2008-10-26  Michael Natterer  <mitch@gimp.org>
      
      	* app/tools/gimptexttool.c: handle Tab, some more cleanup.
      
      
      svn path=/trunk/; revision=27429
      cabd5212
    • Sven Neumann's avatar
      comments · 22249861
      Sven Neumann authored
      svn path=/trunk/; revision=27428
      22249861
    • Sven Neumann's avatar
      formatting. · 81e76098
      Sven Neumann authored
      2008-10-26  Sven Neumann  <sven@gimp.org>
      
      	* app/text/gimptextlayout-render.c 
      (gimp_text_layout_render_flags):
      	formatting.
      
      
      svn path=/trunk/; revision=27427
      81e76098
    • Michael Natterer's avatar
      more cleanup, mostly formatting. · 63b67cc7
      Michael Natterer authored
      2008-10-26  Michael Natterer  <mitch@gimp.org>
      
      	* app/tools/gimptexttool.c: more cleanup, mostly formatting.
      
      
      svn path=/trunk/; revision=27426
      63b67cc7
    • Martin Nordholts's avatar
      Clamp Grain Extract, Grain Merge and Divide. · c13cfffa
      Martin Nordholts authored
      * app/gegl/gimpoperationpointlayermode.c: Clamp Grain Extract,
      Grain Merge and Divide.
      
      svn path=/trunk/; revision=27425
      c13cfffa
    • Michael Natterer's avatar
      some formatting cleanup. · ef66f542
      Michael Natterer authored
      2008-10-26  Michael Natterer  <mitch@gimp.org>
      
      	* app/tools/gimptexttool.c: some formatting cleanup.
      
      	* app/tools/gimprectangletool.c: add one space.
      
      	* app/actions/text-tool-actions.c: look at GDK_SELECTION_CLIPBOARD,
      	not PRIMARY, to set the sensitivity of "Paste".
      
      
      svn path=/trunk/; revision=27424
      ef66f542
    • Michael Natterer's avatar
      some general formatting cleanup. · 3a51f9b7
      Michael Natterer authored
      2008-10-26  Michael Natterer  <mitch@gimp.org>
      
      	* app/tools/gimptexttool.[ch]: some general formatting cleanup.
      
      	(gimp_text_tool_key_press): implement ctrl-moving the cursor by
      	words, handle Delete.
      
      	(gimp_text_tool_delete_text): add boolean "backspace" parameter
      	and delete forward when it's FALSE.
      
      	* app/actions/text-tool-commands.c: pass an arbitrary TRUE to
      	gimp_text_tool_delete_text() (it's not used because when called
      	from here, there is always a selection).
      
      
      svn path=/trunk/; revision=27423
      3a51f9b7
    • Martin Nordholts's avatar
      Remove braces in formulas, makes everything look cleaner. · f9502d5a
      Martin Nordholts authored
      * app/gegl/gimpoperationpointlayermode.c: Remove braces in
      formulas, makes everything look cleaner.
      
      svn path=/trunk/; revision=27422
      f9502d5a
    • Martin Nordholts's avatar
      Clamp Addition and Subtract so that we acheieve consistent blending · 5bb194a2
      Martin Nordholts authored
      * app/gegl/gimpoperationpointlayermode.c: Clamp Addition and
      Subtract so that we acheieve consistent blending results. Also,
      our Addition is fine, it is the formula for 'plus' in the SVG 1.2
      draft that is wrong as far as I can see.
      
      svn path=/trunk/; revision=27421
      5bb194a2
    • Martin Nordholts's avatar
      Continue the quest of overviewable and readable blend formulas. The macro · 65714a8c
      Martin Nordholts authored
      * app/gegl/gimpoperationpointlayermode.c: Continue the quest of
      overviewable and readable blend formulas. The macro now expands to
      entire case-statements.
      
      svn path=/trunk/; revision=27420
      65714a8c
    • Michael Natterer's avatar
      Merge on-canvas GSoC project: · ee414d9e
      Michael Natterer authored
      2008-10-26  Michael Natterer  <mitch@gimp.org>
      
      	Merge on-canvas GSoC project:
      
      	* configure.in: check for pangocairo.
      
      	* app/Makefile.am
      	* app/text/Makefile.am: add its CFLAGS and LIBS.
      
      	* app/text/gimptext-bitmap.[ch]
      	* app/text/gimptext-private.h
      	* app/text/gimptext-vectors.[ch]
      	* app/text/gimptextlayer.c
      	* app/text/gimptextlayout-render.c
      	* app/text/gimptextlayout.c: port to pangocairo.
      
      	* menus/Makefile.am
      	* menus/text-tool-menu.xml
      	* app/menus/menus.c
      	* app/actions/Makefile.am
      	* app/actions/actions.c
      	* app/actions/text-tool-actions.[ch]
      	* app/actions/text-tool-commands.[ch]: add a context menu for the
      	text tool similar to GtkEntry's context menu.
      
      	* app/tools/gimprectangletool.[ch]: add "narrow-mode" property.
      
      	* app/tools/gimptextoptions.[ch]
      	* app/widgets/gimptexteditor.[ch]: take a text buffer for the
      	standalone text editor window instead of creating one internally.
      
      	* app/tools/gimptexttool.[ch]: all the new wonderful on-canvas
      	text editing logic. Wheee!
      
      
      svn path=/trunk/; revision=27419
      ee414d9e
    • Sven Neumann's avatar
      added missing return value. · b8d8f147
      Sven Neumann authored
      2008-10-26  Sven Neumann  <sven@gimp.org>
      
      	* app/tools/gimptool.c (gimp_tool_get_popup): added
      	missing return value.
      
      
      svn path=/trunk/; revision=27418
      b8d8f147
    • Sven Neumann's avatar
      added missing return value. · 076541df
      Sven Neumann authored
      2008-10-26  Sven Neumann  <sven@gimp.org>
      
      	* app/tools/tool_manager.c (tool_manager_get_popup_active): 
      added
      	missing return value.
      
      
      svn path=/trunk/; revision=27417
      076541df
    • Michael Natterer's avatar
      Add some infrastructure for the on-canvas text editing GSoC project: · 68e6d7a6
      Michael Natterer authored
      2008-10-26  Michael Natterer  <mitch@gimp.org>
      
      	Add some infrastructure for the on-canvas text editing GSoC
      	project:
      
      	* app/tools/gimptoolcontrol.[ch]: add boolean wants_all_key_events
      	member and API to set and get it.
      
      	* app/tools/gimptool.[ch]: add GimpTool::get_popup() which returns
      	the tool's context menu if it has one, or NULL otherwise.
      
      	* app/tools/tool_manager.[ch]: add tool_manager_get_popup_active()
      	wrapper.
      
      	* app/display/gimpdisplayshell-callbacks.c: check if the tool has
      	a popup menu and show it instead of the usual right-click menu.
      
      	Also call the tool's key_press() unconditionally if it wants all
      	key events, but this code needs more thinking.
      
      
      svn path=/trunk/; revision=27416
      68e6d7a6
    • Leonardo Ferreira Fontenelle's avatar
      Merged Brazilian Portuguese translation from branch gimp-2-6. · 71af7d41
      Leonardo Ferreira Fontenelle authored
      2008-10-26  Leonardo Ferreira Fontenelle  <leonardof@gnome.org>
      
      	* pt_BR.po: Merged Brazilian Portuguese translation from branch
      	gimp-2-6.
      
      svn path=/trunk/; revision=27415
      71af7d41
    • Martin Nordholts's avatar
      Increase readability by introducing short aliases. · 21fce4e9
      Martin Nordholts authored
      * app/gegl/gimpoperationpointlayermode.c: Increase readability by
      introducing short aliases.
      
      svn path=/trunk/; revision=27413
      21fce4e9
    • Martin Nordholts's avatar
      For blend modes with conditions, fix so that the conditions are per color · 7e6f2fc3
      Martin Nordholts authored
      * app/gegl/gimpoperationpointlayermode.c: For blend modes with
      conditions, fix so that the conditions are per color
      channel. Acheived by introducing a nice little preprocessor macro.
      
      svn path=/trunk/; revision=27412
      7e6f2fc3
    • Martin Nordholts's avatar
      Enable the [0..1] clamping of the output for Dodge and Burn. Without the · adc118ec
      Martin Nordholts authored
      * app/gegl/gimpoperationpointlayermode.c: Enable the [0..1]
      clamping of the output for Dodge and Burn. Without the clamping
      one gets inconsistent results when blending together identical
      layers but with different opacities. Maybe we should make the
      clamping configurable and introduce a HDR compositing mode or
      something?
      
      svn path=/trunk/; revision=27411
      adc118ec
    • Martin Nordholts's avatar
      Implemented Grain Extract and Grain Merge. Also corrected the formula for · a25fefff
      Martin Nordholts authored
      * app/gegl/gimpoperationpointlayermode.c: Implemented Grain
      Extract and Grain Merge. Also corrected the formula for Divide.
      
      Works the same for 100% opaque layers:
       o Grain Extract
       o Grain Merge
      
      svn path=/trunk/; revision=27410
      a25fefff
  3. 25 Oct, 2008 16 commits
    • Martin Nordholts's avatar
      Implement a bunch of layer modes. Use the exact SVG 1.2 formula for layer · cdb3f701
      Martin Nordholts authored
      * app/gegl/gimpoperationpointlayermode.c: Implement a bunch of
      layer modes. Use the exact SVG 1.2 formula for layer modes that
      have a counterpart in SVG 1.2. Don't clamp the result to [0..1]
      for Dodge and Burn though as we don't need to. Maybe we *should*
      clamp from a compositing point of view, I'm not sure. Also
      reformat the code a bit for readability.
      
      Keep in mind that we now treat the opacity of all layers the same
      indepentant of the layer mode. That is why most of the new
      implementations doesn't work the same as the legacy ones when
      transparency is involved, only when the layers are completely
      opaque. Another important property for all layer modes implemented
      below is that compositing onto complete transparency gives the
      same result as if the layer would have been in Normal blending
      mode.
      
      The status of the new layer mode implementations compared to the
      legacy implementations is as follows:
      
      Completely works the same:
       o Behind
      
      Works the same for 100% opaque layers:
       o Multiply
       o Screen
       o Difference
       o Darken
       o Lighten
       o Dodge
       o Burn
       o Hard Light
       o Subtract
       o Divide
      
      Works different but similar:
       o Overlay
      
      Work in progress:
       o Soft Light
      
      svn path=/trunk/; revision=27409
      cdb3f701
    • Martin Nordholts's avatar
      Completed the rename with gimp:layer-mode -> gimp:point-layer-mode and · 1f7b2c25
      Martin Nordholts authored
      * app/gegl/gimpoperationpointlayermode.c: Completed the rename
      with gimp:layer-mode -> gimp:point-layer-mode and also did some
      formating.
      
      * app/core/gimplayer.c: Changed accordingly.
      
      svn path=/trunk/; revision=27408
      1f7b2c25
    • Martin Nordholts's avatar
      plug-ins/file-psd/psd-save.c Add support for reading/writing PSDs with the · 76ba0906
      Martin Nordholts authored
      * plug-ins/file-psd/psd-save.c
      * plug-ins/file-psd/psd-util.c: Add support for reading/writing
      PSDs with the Linear Dodge layer mode which is the same as GIMPs
      Addition layer mode.
      
      svn path=/trunk/; revision=27407
      76ba0906
    • Michael Natterer's avatar
      Bug 557870 – "Qmask" message popping up here and there · 6a7af472
      Michael Natterer authored
      2008-10-25  Michael Natterer  <mitch@gimp.org>
      
      	Bug 557870 – "Qmask" message popping up here and there
      
      	* app/display/gimpdisplayshell-title.c
      	(gimp_display_shell_format_title): use
      	gimp_viewable_get_description() instead of gimp_object_get_name()
      	for displaying the active drawable's name so the quick mask and
      	the floating selection have the same names as in the
      	layers/channels dialogs.
      
      
      svn path=/trunk/; revision=27405
      6a7af472
    • Aron Xu's avatar
      Updated zh_CN translations · 5b665e70
      Aron Xu authored
      svn path=/trunk/; revision=27404
      5b665e70
    • Aron Xu's avatar
      Updated zh_CN translations · 22ff81ce
      Aron Xu authored
      svn path=/trunk/; revision=27403
      22ff81ce
    • Aron Xu's avatar
      Updated zh_CN translations · 3515f232
      Aron Xu authored
      svn path=/trunk/; revision=27402
      3515f232
    • Martin Nordholts's avatar
      Rename to · 67c80e15
      Martin Nordholts authored
      * app/gegl/gimpoperationlayermode.[ch]: Rename to
      
      * app/gegl/gimpoperationpointlayermode.[ch]: so that we can later
      create a common GimpOperationLayerMode class/interface for
      non-point layer modes like GimpOperationDissolveLayerMode.
      
      * app/gegl/Makefile.am
      * app/gegl/gimp-gegl.c
      * app/gegl/gegl-types.h: Adjust accordingly.
      
      svn path=/trunk/; revision=27401
      67c80e15
    • Martin Nordholts's avatar
      Instead of having one GEGL operation per layer mode, make · 1a19f731
      Martin Nordholts authored
      GimpOperationLayerMode instantiable and add a GimpLayerModeEffects
      property to it that we check in ::process() to blend pixels
      together.
      
      * app/gegl/gimpoperationlayermode.[ch]: Do the change described
      above. Currently only Normal and Addition are implemented. Normal
      so that we don't need a special case for the gegl:normal op. Also,
      the Dissolve layer mode is not a point op and needs to be
      implemented elsewhere.
      
      * app/gegl/gimpoperation*mode.c: Removed.
      
      * app/gegl/gimp-gegl-utils.[ch]: Removed
      gimp_layer_mode_to_gegl_operation().
      
      * app/core/gimplayer.c
      
      * app/gegl/Makefile.am
      * app/gegl/gimp-gegl.c: Adapt.
      
      svn path=/trunk/; revision=27400
      1a19f731
    • Michael Natterer's avatar
      Merge a modified and enhanced patch from the vector layer branch: · f0c79b81
      Michael Natterer authored
      2008-10-25  Michael Natterer  <mitch@gimp.org>
      
      	Merge a modified and enhanced patch from the vector layer branch:
      
      	* app/core/gimpdrawable-stroke.[ch]: add new public API
      	gimp_drawable_fill_boundary() and gimp_drawable_fill_vectors().
      
      	Split the internal code up so that there are functions which turn
      	the BoundSegs and GimpVectors into a GimpScanConvert and changed
      	gimp_drawable_stroke_scan_convert() so it can either fill the
      	shape or stroke it.
      
      
      svn path=/trunk/; revision=27399
      f0c79b81
    • Michael Natterer's avatar
      More merging from SOC 2006's vector layer branch: · 39af762f
      Michael Natterer authored
      2008-10-25  Michael Natterer  <mitch@gimp.org>
      
      	More merging from SOC 2006's vector layer branch:
      
      	* app/core/gimpitem.[ch]: add "gboolean push_undo" to
      	GimpItem::stroke().
      
      	* app/core/gimpdrawable-stroke.[ch]
      	* app/paint/gimppaintcore-stroke.[ch]
      	* app/paint/gimppaintcore.[ch] (gimp_paint_core_finish): add
      	"push_undo" parameters here too.
      
      	* app/actions/select-commands.c
      	* app/actions/vectors-commands.c
      	* app/core/gimpchannel.c
      	* app/core/gimpselection.c
      	* app/dialogs/stroke-dialog.c
      	* app/tools/gimppainttool.c
      	* app/vectors/gimpvectors.c
      	* tools/pdbgen/pdb/edit.pdb
      	* tools/pdbgen/pdb/paint_tools.pdb
      	* tools/pdbgen/pdb/paths.pdb: pass TRUE all over the place.
      
      	* app/pdb/edit-cmds.c
      	* app/pdb/paint-tools-cmds.c
      	* app/pdb/paths-cmds.c: regenerated.
      
      
      svn path=/trunk/; revision=27398
      39af762f
    • Martin Nordholts's avatar
      ChangeLog formating. · 85bbc9e3
      Martin Nordholts authored
      svn path=/trunk/; revision=27397
      85bbc9e3
    • Martin Nordholts's avatar
      Make layer modes work on premultiplied data. This makes compositing 40% · 5c05c609
      Martin Nordholts authored
      * app/gegl/gimpoperationlayermode.c: Make layer modes work on
      premultiplied data. This makes compositing 40% faster on my test
      image with 10 interlaced Normal and Addition mode layers.
      
      * app/gegl/gimpoperationadditionmode.c: Switch to the
      premultiplied algorithm and remove the experimental ones. The new
      Addition mode has two important differences over the legacy
      Addition mode:
      
        o Addition mode now really is commutative as the GIMP
          documentation says (this wasn't previously the case).
      
        o Layers in Addition mode are just as opaque as Normal
          layers. That is, their effect on the composite alpha channel
          is the same. For discussion, refer to bug #387449.
      
      svn path=/trunk/; revision=27396
      5c05c609
    • Michael Natterer's avatar
      formatting. · f096382a
      Michael Natterer authored
      2008-10-25  Michael Natterer  <mitch@gimp.org>
      
      	* app/paint/gimppaintoptions.h: formatting.
      
      
      svn path=/trunk/; revision=27395
      f096382a
    • Michael Natterer's avatar
      bail out if the notification is not about one of our own properties (but · a9292536
      Michael Natterer authored
      2008-10-25  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpcontext.c (gimp_context_parent_notify): bail out if
      	the notification is not about one of our own properties
      	(but from a subclass).
      
      
      svn path=/trunk/; revision=27394
      a9292536
    • Michael Natterer's avatar
      add "gboolean use_context_color" parameter to gimp_stroke_options_new() · efb6d15a
      Michael Natterer authored
      2008-10-25  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpstrokeoptions.[ch]: add "gboolean use_context_color"
      	parameter to gimp_stroke_options_new() and set the passed context
      	as parent of the new options only if it's TRUE. Also fixed the
      	GimpConfig::duplicate() implementation to really duplicate the
      	object and not just return an object containing default values.
      
      	* app/core/gimpfilloptions.[ch]: add gimp_fill_options_new().
      
      	* app/actions/select-commands.c
      	* app/dialogs/stroke-dialog.c
      	* app/actions/vectors-commands.c
      	* tools/pdbgen/pdb/edit.pdb
      	* tools/pdbgen/pdb/paths.pdb: pass TRUE to gimp_stroke_options_new().
      
      	* app/pdb/edit-cmds.c
      	* app/pdb/paths-cmds.c: regenerated.
      
      
      svn path=/trunk/; revision=27393
      efb6d15a
  4. 24 Oct, 2008 2 commits
    • Michael Natterer's avatar
      add non-serializable properties pattern-view-type and pattern-view-size · 90c26cf1
      Michael Natterer authored
      2008-10-25  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpfilloptions.[ch]: add non-serializable properties
      	pattern-view-type and pattern-view-size which are used only by the
      	new UI below.
      
      	* app/widgets/gimpfilleditor.[ch]: added boolean edit-context
      	property. If TRUE, add widgets to edit the context's foreground and
      	pattern. Add "edit_context" parameter to gimp_fill_editor_new().
      
      	* app/widgets/gimpstrokeeditor.[ch]: add the same parameter here.
      
      	* app/widgets/gimpwidgets-utils.[ch]: add gimp_enum_radio_box_add()
      	which does the same as the existing gimp_enum_radio_frame_add().
      
      	* app/dialogs/stroke-dialog.c: pass FALSE for "edit_context"
      	because this dialog takes its foreground and pattern from the user
      	context and doesn't need it's own GUI for them.
      
      
      svn path=/trunk/; revision=27392
      90c26cf1
    • Michael Natterer's avatar
      app/widgets/Makefile.am app/widgets/widgets-types.h new widget factored · 9c299a8f
      Michael Natterer authored
      2008-10-24  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/Makefile.am
      	* app/widgets/widgets-types.h
      	* app/widgets/gimpfilleditor.[ch]: new widget factored out of
      	GimpStrokeEditor.
      
      	* app/widgets/gimpstrokeeditor.[ch]: derive from GimpFillEditor
      	and remove UI for the properties of GimpFillOptions.
      
      
      svn path=/trunk/; revision=27390
      9c299a8f