Commit Graph

885 Commits

Author SHA1 Message Date
Michael Natterer 391c74899c app: rename gimp_brush_start_use() to gimp_brush_begin_use() 2011-04-12 09:06:22 +02:00
Michael Natterer 0315f483e6 app: some general GimpPaintCore cleanup 2011-04-06 09:11:25 +02:00
Michael Natterer 21b8007b29 app: add GimpBrushCache which stores brush stuff based on transform parameters
such as masks and outlines. The cache is currently very stupid and
only cacheds the last transformed object. Add caches to GimpBrush for
its mask, its pixmap and its boundary, and remove the same caches and
a ton of members from GimpBrushCore. This involves adding lots of
const qualifiers because GimpBrush returns const pointers now for
trasnformed stuff.
2011-04-05 22:15:30 +02:00
Michael Natterer e2226e9933 app: add gimp_brush_start_use() and gimp_brush_end_use()
and use them in GimpBrushCore when setting/unsetting a brush. They
will be used for managing some caches inside GimpBrush.
2011-04-05 19:18:26 +02:00
Michael Natterer a50f668d87 app: GimpBrushCore: simplify brush and dynamics setting
by checking for an actual change in the setters. Remove the
"foo != core->foo" checks from all callers.
2011-04-05 19:05:55 +02:00
Michael Natterer d008fcd588 app: remove the entire brush boundary code from GimpBrushCore 2011-04-04 21:24:41 +02:00
Michael Natterer bc8d5f84d6 app: remove the "offset" API from TileManager
It made the transform code hard to read and never belonged into the
tile manager anyway. It's a simple pixel buffer that should not know
about any position in an image. Instead, pass around the offsets of
tile managers explicitly, so everything is less obscure for the price
of having more parameters. This will also help replacing TileManagers
with GeglBuffers.
2011-03-26 08:30:15 +01:00
Alexia Death 41b1bd36da app: Fix smooth intreaction with airbrush 2011-03-16 22:08:19 +02:00
Michael Natterer e3c0a4e549 app: move all GimpDynamics members to private 2011-03-03 18:43:56 +01:00
Eric Grivel 20279459dd Bug 634183 - GIMP crashes when editing very high images
Implemented a fix for the ink blob overflow problem.
2011-02-13 15:09:27 +01:00
Michael Natterer 16b020fc42 app: clean up paint core cleanup 2011-02-06 11:22:23 +01:00
Alexia Death 1cf5295d2e app: Fix couple of bugs in smooth code 2011-02-06 00:17:51 +02:00
Alexia Death 75593c3fea app: Fix missing outline with aspect 0.0 2011-02-02 01:04:24 +02:00
Alexia Death 418632916a app: Fix outline offset 2011-02-02 00:58:09 +02:00
Alexia Death 6a89db0f53 app: Minor aspect ratio fixes 2011-02-02 00:33:08 +02:00
Alexia Death 452819143a app: half-sane aspect ratio implementation 2011-01-25 23:28:02 +02:00
Michael Natterer eb04265ce3 app: gimp_brush_core_clamp_brush_scale() -> gimp_brush_clamp_scale() 2011-01-17 23:20:49 +01:00
Michael Natterer c1b3575648 app: implement GObject::constructed() instead of ::constructor() 2011-01-12 23:06:03 +01:00
Alexia Death 803df9b58a app: Make smooth paint core internal 2011-01-09 22:59:01 +02:00
Michael Natterer c29aefccc2 app: fix coding style in the new smoothing code 2011-01-08 22:18:56 +01:00
Alexia Death 339deed1da app: Clean up smooth so it would be acceptable for master 2011-01-08 22:19:27 +02:00
Alexia Death 082aa272a4 app: G-Pen algorithm for GIMP trunk. Now smoothing function works for Ink and Brush tools.
Rebased/fixed to go on top of current master. Next commit will add cleanup.
Had to change author tag because gnome is not accepting random stuff
in email fields. Original author is tarai, from gimp painter project
in sourceforge.
2011-01-08 22:17:26 +02:00
Michael Natterer bbc3943638 app: some cleanup in the new paint options code 2010-11-25 21:30:29 +01:00
Alexia Death 904048cdcb app: Clearly present Fade and Color dynamics options as such 2010-11-25 19:06:16 +02:00
Alexia Death 20afb328a7 app: Unify direction calculation for painting and stroking 2010-11-17 00:03:07 +02:00
Michael Natterer 41269d35be app: fix antique copyright header 2010-11-14 22:13:36 +01:00
Michael Natterer dc564954d5 app: namespace the ink blob
Blob -> GimpBlob, blob_foo() -> gimp_blob_foo() etc.
2010-11-14 16:43:21 +01:00
Michael Natterer c4cd420ef8 app: rename GIMP_INK_BLOB_TYPE_ELLIPSE to GIMP_INK_BLOB_TYPE_CIRCLE
- TYPE_SQUARE is also named SQUARE and not RECTANGLE
- serialization doesn't suffer from the changed name because it's the
  default value that never gets serialized
- a lot of messy code in the ink options can be replaced by a one-liner
  because the enum names now match their resp. stock items
2010-11-14 16:29:42 +01:00
Mikael Magnusson 90e525ca09 app: use a spin scale for the brush size (have to limit size to 1000 temporarily) 2010-11-02 14:41:21 +01:00
Michael Natterer ae742f0920 app: some cleanup in the new brush size code 2010-10-30 19:56:24 +02:00
Alexia Death 5d42803d7f app: Expose brush size in pixels, not as ratio 2010-10-30 19:51:07 +03:00
Alexia Death e8df164366 app: Add dynamics selector to the tool options 2010-10-27 21:49:24 +03:00
Michael Natterer 3de4d7263a app: Bug 631619 - Drawing artifacts spread by paintbrush outline on canvas
Add a transform matrix to GimpCanvasBoundary and get rid of the whole
BoundSeg transform code in boundary.c and gimpbrushcore.c, it was
impossible to get this right on that level. Also fix te extents of
GimpCanvasBoundary os it leaves no artifacts.
2010-10-09 22:00:19 +02:00
Michael Natterer 9828f6db20 app: remove unused variables in gimp_brush_core_create_bound_segs() 2010-10-08 12:09:33 +02:00
Michael Natterer 06da10bc08 app: change boundary drawing by tools to work like the selection
- GimpCanvasBoundary takes unsorted BoundSeg arrays now and uses
  gimp_display_shell_transform_boundary() and gimp_cairo_add_boundary().
- Nobody calls boundary_sort() any longer for the purpose of displaying
  a boundary.
- gimp_display_shell_transform_boundary() got offset parameters
  so it can transform things that are not in the image's coordinate
  system.
2010-09-26 22:41:04 +02:00
Michael Natterer d921f8520b app: fix infinite recursion in gimp_brush_core_create_bound_segs()
Block the core's brush-invalidate callback while temporarily changing
the brush's aspect ratio.
2010-09-23 23:35:59 +02:00
Michael Natterer 8fc5fd6c99 app: whitespace and formatting cleanup 2010-08-24 13:43:31 +02:00
Alexia Death 7609e3d887 app: Fix direction in path stroking 2010-07-08 20:53:25 +03:00
Michael Natterer 15fd08747d Bug 595170 - brush - color from gradient works wrong in greyscale
Convert the gradient color to the drawable's type before using it.
2010-06-27 01:55:21 +02:00
Michael Natterer cf98aed702 app: run dispose on the paint infos before unrefing their container
because they contain reference cycles with the paint options
2010-06-24 18:38:17 +02:00
Michael Natterer 69e7e411f8 app: unref options->paint_info in dispose() instead of finalize() 2010-06-24 18:38:17 +02:00
Alexia Death 256eee9850 app: Fix Outline transforming for generated brushes 2010-05-14 21:25:09 +03:00
Alexia Death b0d02666a3 app: A few more generic aspect ratio fixes 2010-05-14 20:58:27 +03:00
Alexia Death 4816a61dcb app: Aspect ratio fixes 2010-05-10 00:21:55 +03:00
Alexia Death 0cb1ada818 app: convert aspect ratio to scale_x&scale_y just before matrix transform 2010-05-10 00:11:07 +03:00
Alexia Death f53f73da19 app: Fix a typo in outline transform 2010-04-18 21:20:29 +03:00
Alexia Death 78a4cae2d5 app: Rewire the the feature formely known as harndess back to gui as force 2010-04-09 00:44:52 +03:00
Alexia Death 477b2e1a0f app: fix outline offseting at rotation 2010-03-17 20:12:12 +02:00
Alexia Death 3607a73744 app: Make sure outline and brush transform use the same kind of matrix 2010-03-17 19:49:21 +02:00
Alexia Death bd2f852ac1 app: make off-canvas changes have effect on brush outline 2010-03-16 21:53:34 +02:00
Alexia Death 178af8a8f1 app: Add dummy pressure prop for airbrush presets backwards compadibility 2010-03-16 21:53:34 +02:00
Alexia Death 44a5a34d7e app: Make brush boundaries dynamic aswell 2010-03-15 02:55:15 +02:00
Alexia Death 336de7935f app: Add dynamics to airbrush Flow 2010-03-14 19:09:55 +02:00
Alexia Death e85220f8f9 app: Add an option to explicity turn off airbrush rate
This was decided in a discussion with guiguru on irc
some time ago. However, one element is missing. The
rate slider needs to be disabled when motion only is
enabled, because it has no effect.
2010-03-14 17:28:08 +02:00
Alexia Death 861179b452 app: Rename so-called airbrush pressure to Flow
Top reasons for this are, that pressure is already
used as input for dynamcs and the fact that flow of
paint makes much more sense.
2010-03-14 17:23:49 +02:00
Alexia Death bae745bba2 app: Fix 0.0-scale brushes in interpolation 2010-03-10 23:34:03 +02:00
Alexia Death 20d77451fd app: Fix brush tools behavior at very small scale values
Tiny scale value now results in no stamp.
2010-03-07 15:56:38 +02:00
Alexia Death 318dd80189 app: Remove the fade exponent. It does not let fade hit zero. 2010-03-07 15:01:22 +02:00
Alexia Death b771bf9879 app: Fix direction in strokig with dynamics. 2010-02-20 12:35:07 +02:00
Michael Natterer c55753f2ad Bug 610478 - Layer preview suddenly stops getting updated
gimp_paint_core_finish(): when bailing out early because nothing was
painted (e.g. because we repeatedly shift-click on the same pixel,
which doesn't advance the interpolation distance), don't forget to
call gimp_viewable_preview_thaw() or the drawable preview will be
frozen forever.
2010-02-19 20:59:25 +01:00
Sven Neumann a179537e29 app: fix compiler warning and improve formatting a little 2010-02-03 20:49:38 +01:00
Martin Nordholts 69f28be91c app: Remove unused variable 'hardness' in paint/gimpbrushcore.c 2010-01-02 20:36:59 +01:00
Alexia Death 9774988f30 Real dynamic hardness support for both generated and pixmap brushes.
For generated brushes, dynamic input is applied on top of the set hardness as a factor.
For pixmaps, it influences the amount of blur applied to the stamp. Be warned, process is slow
for large pixmaps. The odd feature previously advertised as hardness is left in but disabled.
If I figure out what it should be exposed as, it might be made available again.
2010-01-01 15:54:31 +02:00
Alexia Death 355f1bfd56 app: Fix tabs to spaces for dynamics 2009-12-19 17:36:27 +02:00
Alexia Death b95dda6eea app: Fix dynamics mixing for inputs&outputs that have paint options toggles 2009-12-18 20:51:23 +02:00
Alexia Death d2ad292848 app: Remove repeat options from gradient for paint tools
Repeat for gradient/color or any other dynamic driving is provided by fade.
2009-12-18 20:51:23 +02:00
Alexia Death 60705f79e9 app: Making spacing available as dynamic parameter
Spacing is now dynamically controllable. Unlike other parameters it
made little sense to scale down from default spacing so it scales between
current and maximum spacing.
2009-12-13 22:46:09 +02:00
Alexia Death a736b8f972 Adding repeat option to fade.
Now fade can be applied either as sawtooth or triangular wave.
Also fade can be reversed.
2009-12-06 20:06:34 +02:00
Alexia Death 05f6d89ab0 Stop smudge from crashing by disabling dynamic transfrorming in the brush core. 2009-10-27 23:21:17 +02:00
Michael Natterer 0c81d491fb Change coords in GimpDynamicsOutput from call-by-value to "const GimpCoords*" 2009-10-27 14:30:20 +01:00
Alexia Death 210a4b5044 Merge resolution 2009-10-17 21:42:02 +03:00
Sven Neumann f7ff0903ff Fix a width/height confusion in the healing tool algorithm
As pointed out by Massimo Valentini in bug #519503, the code used
height where width should have been used. Correct.
2009-10-16 22:06:34 +02:00
Alexia Death d030939852 Fix airbrush behavior ignoring the buggy hardness for now. 2009-10-15 19:08:34 +03:00
Michael Natterer 15b912c66d Change "factors" variables to integer because it's a counter; formatting 2009-10-14 10:33:11 +02:00
Michael Natterer b5022d310b Remove overiding GimpPaintOptions of properties that don't exist any longer
The code was commented out already, get rid of it completely.
2009-10-13 23:48:19 +02:00
Michael Natterer 8394a3db68 Handle dynamic opacity in GimpSourceCore for all its subclasses 2009-10-13 21:02:10 +02:00
Michael Natterer de3bfcd25c Bail out early if dynamic opacity is 0.0 2009-10-13 20:48:44 +02:00
Michael Natterer cdbbd556bb Code formatting 2009-10-13 20:43:56 +02:00
Michael Natterer d0c720b236 Fix formatting; use the dynamics from the brush core, not from the context 2009-10-13 20:40:21 +02:00
Michael Natterer d4313db29b Bail out early if dynamic opacity is 0.0 2009-10-13 20:34:01 +02:00
Michael Natterer 005ddab84e Bail out early if dynamic opacity is 0.0 2009-10-13 20:30:54 +02:00
Michael Natterer ea48a90e5c Bail out early if dynamic opacity is 0.0 2009-10-13 20:27:55 +02:00
Michael Natterer e094dc5627 Whitespace fix 2009-10-13 20:21:58 +02:00
Michael Natterer aae7c2ef38 Bail out early if dynamic opacity results in 0.0
Same change needed anywhere, more to come.
2009-10-13 20:18:55 +02:00
Michael Natterer 135090c57f Actually use the paint option's "use-fade" property again
...and remove gimp_dynamics_input_fade_enabled(). Looks cleaner
now so must be right ;)
2009-10-13 19:33:38 +02:00
Michael Natterer 36523134f5 Resurrect the paint option's "use-fade" property and UI
Whether to use fade at all is a user input, so should be controllable
independently from its dynamic mapping. The reborn property is not
used again yet.
2009-10-13 19:19:12 +02:00
Michael Natterer de1db5c0ed More GimpBrushCore dynamics cleanup/fixes
- unref the dynamics in finalize()
- actually use the core's set_dynamics() API
- bail out with an error message in gimp_paint_core_start() if
  there are no dynamics available (just like when there is no brush)
- remove checks for dynamics != NULL all over the place
  (just as we can rely on a brush to exist)
2009-10-13 19:01:14 +02:00
Michael Natterer e12bc4f93a gimp_brush_core_start(): move "fade_point" to local scope 2009-10-13 18:55:16 +02:00
Michael Natterer 8331094b8f gimp_brush_core_real_set_dynamics(): don't forget to ref the dynamics 2009-10-13 18:50:58 +02:00
Michael Natterer 77faffe4b7 Rename the output members of GimpDynamics from foo_dynamics to foo_output 2009-10-12 14:45:12 +02:00
Michael Natterer 5a145ae4c3 Whitespace cleanup that reduces the diff against master 2009-10-12 13:00:16 +02:00
Michael Natterer dab5f9e691 Rename all GimpDynamicsOutput functions to gimp_dynamics_output_foo() 2009-10-11 15:54:59 +02:00
Michael Natterer 330d406acc Move dynamics includes to the .c files where they belong 2009-10-11 15:41:54 +02:00
Michael Natterer cad2218b6a Move GimpDynamicsOutput to its own class
...but use it only as struct to keep GimpDynamics' properties
for now. More refactoring later.
2009-10-11 13:53:59 +02:00
Alexia Death 424294b738 Remove the special method for mixing scale thats absolete now with limist gone. 2009-10-11 11:26:44 +03:00
Michael Natterer 26bda5a2e2 Some more cleanup
- move the GimpDynamics typedef to core-types.h
- related changes
- clean up gimpcontext.c
2009-10-11 00:20:06 +02:00
Alexia Death 943e8c9009 Last bit for dynamics switching. 2009-10-11 01:04:35 +03:00
Alexia Death 7f8b347677 Several small fixes. 2009-10-10 21:43:57 +03:00
SHIRAKAWA Akira 9b595f3b10 Fixed error from last commit
Forgot to check for operator precedence

Signed-off-by: SHIRAKAWA Akira <shirakawa.devel@gmail.com>
2009-10-08 23:25:34 +02:00
SHIRAKAWA Akira a2f9408196 Complete removal of pressure and velocity scale defines
As tablet pen pressure and velocity scales when set to 1.0 lose their meaning,
their defines have been completely eliminated from the GIMP source.
2009-10-08 23:01:16 +02:00
SHIRAKAWA Akira 99c2bb2121 Bug 597413 - Opacity, hardness and color brush dynamics only use 2/3 of the total pen pressure range
Set global pressure scale to 1.0 instead of 1.5.
2009-10-08 21:13:51 +02:00
Alexia Death 860c952416 Inverted maping matrix and fixes to jitter 2009-10-07 23:32:17 +03:00
Alexia Death 212ea4cc66 Start of dynamic jitter 2009-10-04 11:40:26 +03:00
Alexia Death 3a041ad252 Lots of improvements on dynamics 2009-10-03 18:53:25 +03:00
Alexia Death 6581893616 Fix color dynamic 2009-10-03 16:54:10 +03:00
Alexia Death da2920b0eb Adding random as part of the calculations, renaming calc method to linear for type 2009-10-03 14:08:05 +03:00
Alexia Death cd36753f17 Fixed loading for dynamics and made them actually accessible 2009-10-03 12:59:45 +03:00
Alexia Death be78fe3b1d Merge commit 'origin/master' into soc-2009-dynamics 2009-09-20 14:32:32 +03:00
Martin Nordholts 957cf2cfa9 app: Always use gimp_object_get_name()
Begin to consider GimpObject::name as private and always use
gimp_object_get_name(). Change gimp_object_get_name() to take an
untyped pointer so we don't have to do so awfully many casts. There is
a runtime check for the type inside the function anyway.
2009-08-29 12:41:29 +02:00
Alexia Death db8aa6cb21 Make dynamics object have an effect on the paintpbrush. Currently pressure and velocity only. 2009-08-20 22:46:17 +03:00
Alexia Death e04a7617d5 Cleaning up the dynamics init a little bit more 2009-08-20 18:24:50 +03:00
Alexia Death 93f8216881 Renaming GimpDynamicsOptions to GimpDynamics and moving from paint/ to core/. A BIG change. 2009-08-20 04:25:26 +03:00
Alexia Death ae10bd5778 Placeholder for quering dynamics values and a tesstpoint in brush core. 2009-08-20 02:16:09 +03:00
Alexia Death 56f59eab97 Wiring the new dynamics object to brush core. Just a start for now. 2009-08-20 01:40:33 +03:00
Alexia Death f57d3ad02d Cleaning up the dynamics object 2009-08-19 23:03:08 +03:00
Alexia Death 6e1d5ad83e Giving shape to the new dynamics object 2009-08-19 22:41:28 +03:00
zhenfeng zhao f48a7e4a8b Add dynamics context and factory data and functions (need debugging). 2009-08-17 23:47:26 -03:00
zhenfeng zhao 30382a599f Fix bugs and make a working build. 2009-08-11 00:53:31 -03:00
zhenfeng zhao a527d25098 Debug dynamics object files. 2009-08-07 23:21:56 -03:00
Alexia Death 97c09f2d01 and adding a sample of outouts based struct 2009-08-07 20:14:22 +03:00
zhenfeng zhao 7ed35dad9f Adjust dynamics object. 2009-08-07 14:09:53 -03:00
Alexia Death 7cf408ae9d Cleaning the Dynamics Options object a little bit 2009-08-03 22:25:23 +03:00
zhenfeng zhao 99e3d8891c Two files added as working on gimp dynamics objects.
new file:   gimpdynamicsoptions.c
	new file:   gimpdynamicsoptions.h
2009-07-27 14:37:13 -03:00
Alexia Death 2e28c79973 Adding back some missing enum getters and setters right this time. Gimp runns now, allbeit with warnings 2009-07-22 20:55:34 +03:00
Alexia Death 9e0f4f4e1f Adding back some missing enum getters/setters 2009-07-22 20:43:37 +03:00
Alexia Death a8a724615e Fixing some temp build stuff 2009-07-22 20:35:33 +03:00
Alexia Death 4aa3d3f7b0 Build fixes to the dynamics branch. it now builds. 2009-07-21 22:27:29 +03:00
zhenfeng zhao 8e0a214121 Write dynamics objects separately. Needs debug. 2009-07-21 07:31:02 -03:00
zhenfeng zhao 7e4fb8d118 Create a new dynamics object.
* app/paint/gimpdynamicsoptions.c
* app/paint/gimpdynamicsoptions.h: add two files. Need debugging
2009-07-13 13:33:33 -03:00
zhenfeng zhao 96baac783f Fade dynamics. Add fade as one more dynamics driving factor on GUI. Implement fading dynamics calculation. Let fade work with all driven factors. Add pixel_dist parameter to get_dynamic_x. Adjusted function calls for get_dynamic_x.
* app/paint/gimppaintoptions.c: Add initialization for fading dynamics. Add fading related variables similar to Random. Adjust get_dynamics_mix function. Add fading calculation in get_dynamics_x functions. Adjust get_dynamic_x functions for fade dynamics.

	* app/paint/gimppaintoptions.h: Add fading_options in GimpDynamicOptions.

	* app/tools/gimppaintoptions-gui.c: Add the function fading_options_gui.

	* app/paint/gimpclone.c
	* app/paint/gimpdodgeburn.c
	* app/paint/gimperaser.c
	* app/paint/gimpheal.c
	* app/paint/gimppaintbrush.c
	* app/paint/gimpsmudge.c
	* app/paint/gimpairbrush.c
	* app/paint/gimpbrushcore.c
	* app/paint/gimpconvolve.c: Adjust function calls. get_dynamic_opacity function calls were adjusted to have one more parameter, paint_core->pixel_dist.

some key words:
get_dynamic_
pixel_dist
paint_core->pixel_dist
2009-07-11 15:45:54 -03:00
Michael Natterer 8423757d3f Add forgotten #include "libgimpbase/gimpbase.h" 2009-06-17 20:55:05 +02:00
Michael Natterer bdd8d8e3fb Use more x,y,width,height instead of x1,y1,x2,y2
(gimp_paint_core_get_orig_image)
(gimp_paint_core_get_orig_proj): changed parameters to x,y,width,height.
Update callers accordingly and use x,y,width,height there too except
in gimpperspectiveclone.c which does better with a bounding box.
2009-06-17 20:46:28 +02:00
Michael Natterer 13cb156a80 Get rid of more x1,y1,x2,y2 uglyness
(gimp_drawable_push_undo): change x1,y1,x2,y2 parameters to
x,y,witdh,height and update all callers accordingly.
2009-06-16 22:59:07 +02:00
Michael Natterer 06a3b3a85a Bug 586008 - GIMP crashes when right-click canceling a drawing action initiated outside layer boundaries
(gimp_paint_core_cancel): don't pass out-of-drawable coordinates to
gimp_paint_core_copy_valid_tiles().
2009-06-16 22:09:48 +02:00
Michael Natterer 53c661312b Add GimpCoords* parameter to gimp_paint_core_interpolate()
Pass the current coords to the function instead of setting them
on the paint core before calling it. Doesn't exactly make the code
in the paint tool  simpler, but that needs further refactoring anyway.
2009-05-25 20:49:34 +02:00
Michael Natterer cee39b090f Add more GimpCoords* parameters to reduce usage of global paint_core states
Add GimpCoords* to GimpPaintCore::get_paint_area(),
gimp_brush_core_paste_canvas(), gimp_brush_core_replace_canvas(),
gimp_brush_core_get_brush_mask(), gimp_brush_core_color_area_with_pixmap()
and change callers accordingly.
2009-05-17 22:45:06 +02:00
Stephen Griffiths 40fde28a62 Add status bar feedback for keyboard changes to brush paramaters.
* app/actions/context-commands.c:
include core/gimptoolinfo.h
include pain/gimppaintoptions.h

context_opacity_cmd_callback()
context_brush_spacing_cmd_callback()
context_brush_spikes_cmd_callback()
context_brush_hardness_cmd_callback()
context_brush_aspect_cmd_callback()
use 'action_select_property()' for statusbar feedback

* app/core/gimpbrush.c: added translable string for brush spacing
* app/paint/gimppaintoptions.c: add blurb to prop double brush-aspect-ratio
2009-05-16 15:34:41 +02:00
Michael Natterer 0da1c4cb7c Some style cleanup. 2009-05-03 12:19:07 +02:00
Michael Natterer 07ba32d6f8 Stop accessing GimpPaintCore's coords members directly (no encapsulation yet).
* app/paint/gimppaintcore.[ch]: add
  gimp_paint_core_{get|set}_{current|last}_coords(), add "const GimpCoords*"
  parameter to ::paint() which gets core->cur_coords passed.

* app/paint/gimpsourcecore.[ch]: add "const GimpCoords*" to ::motion().

* app/paint/gimpbrushcore.c: use the new coords getters/setters instead
  of accessing GimpPaintCore members directly.

* 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/gimpink.c
* app/paint/gimppaintbrush.[ch]
* app/paint/gimpperspectiveclone.c
* app/paint/gimpsmudge.c: change implementations of GimpPaintCore::paint()
  and GimpSourceCore::motion() accordingly. app/paint/ is now virtually
  free of direct access to the paint core's coords members. More to come...
2009-05-03 12:08:21 +02:00
Alexia Death 6aafd34380 Adds dynamic aspect ratio for brushes. 2009-04-25 20:53:09 +03:00
Michael Natterer 42b28066b8 Move the straight line constrain code to GimpPaintCore.
* app/paint/gimppaintcore.[ch]: add gimp_paint_core_round_line()

* app/tools/gimppainttool.c: remove gimp_paint_tool_round_line() and call
above new function instead.
2009-04-22 21:22:08 +02:00
Michael Natterer 50199a542c Made GimpCoords* parameter of GimpPaintCore::start() const.
* app/paint/gimppaintcore.[ch]: made GimpCoords* parameter of
GimpPaintCore::start() const.

* app/paint/gimpbrushcore.c
* app/paint/gimpclone.c
* app/paint/gimpheal.c
* app/paint/gimpperspectiveclone.c
* app/paint/gimpsourcecore.c: changed accordingly.
2009-04-17 22:29:25 +02:00
Sven Neumann b4670e2f8a changed "Aspect" to "Aspect Ratio".
2009-03-19  Sven Neumann  <sven@gimp.org>

	* app/actions/context-actions.c (context_actions): 
	* app/paint/gimpinkoptions.c: changed "Aspect" to "Aspect 
Ratio".


svn path=/trunk/; revision=28183
2009-03-19 22:16:41 +00:00
Sven Neumann 640afea581 Bug 471681 – Keyboard shortcuts for brush size/params need feedback
2009-03-19  Sven Neumann  <sven@gimp.org>

	Bug 471681 – Keyboard shortcuts for brush size/params need 
feedback

	* app/core/gimpbrushgenerated.c
	* app/core/gimpcontext.c
	* app/paint/gimppaintoptions.c: applied patch from Stephen G. 
that
	marks some strings for translation.


svn path=/trunk/; revision=28182
2009-03-19 20:40:43 +00:00
Alexia Death cdc3e5b448 enable scaling for smudge tool (gimp_smudge_motion): correct comment.
2009-03-09  Alexia Death  <alexiadeath@gmail.com>

	* app/paint/gimpsmudge.c
	(gimp_smudge_class_init): enable scaling for smudge tool
	(gimp_smudge_motion): correct comment.

svn path=/trunk/; revision=28131
2009-03-09 20:29:02 +00:00
Sven Neumann d1684f5424 Bug 99457 – Support for dynamics on tilt
2009-02-18  Sven Neumann  <sven@gimp.org>

	Bug 99457 – Support for dynamics on tilt

	* app/tools/gimppaintoptions-gui.c
	* app/paint/gimppaintoptions.[ch]: applied patch from Alexia 
Death
	that allows to map tilt to the dynamic brush parameters.


svn path=/trunk/; revision=28049
2009-02-18 20:19:47 +00:00
Sven Neumann 306374a851 Bug 99457 – Support for dynamics on tilt
2009-02-14  Sven Neumann  <sven@gimp.org>

	Bug 99457 – Support for dynamics on tilt

	* app/core/gimpbrush.[ch]
	* app/core/gimpbrushgenerated.c
	* app/core/gimpbrush-transform.[ch]
	* app/paint/gimpbrushcore.c
	* app/paint/gimpsmudge.c: applied patch from Alexia Death,
	separates brush scaling for x and y.


svn path=/trunk/; revision=28036
2009-02-14 22:00:48 +00:00
Sven Neumann f64e2a76bf app/core/gimpcoords-interpolate.c app/core/gimpbrush-transform.c
2009-02-10  Sven Neumann  <sven@gimp.org>

	* app/core/gimpcoords-interpolate.c
	* app/core/gimpbrush-transform.c
	* app/paint/gimppaintoptions.c
	* app/display/gimpdisplayshell-coords.c: applied patch from 
Alexia
	Death that fixes the direction of brush rotation (bug #520078).


svn path=/trunk/; revision=28010
2009-02-10 21:07:35 +00:00
Michael Natterer 9999ccf790 Bug 520078 – Rotate brushes
2009-02-08  Michael Natterer  <mitch@gimp.org>

	Bug 520078 – Rotate brushes

	Applied a slightly modified patch from Alexia Death:

	* app/core/core-types.h (struct GimpCoords): add "direction" member.

	* app/core/gimpcoords.c: take direction into account in mix(),
	scalarprod(), length_squared(), manhattan_dist() and equal().

	* app/core/gimpcoords-interpolate.c
	(gimp_coords_interpolate_catmull): same here.
	* app/display/gimpdisplayshell-coords.c

	(gimp_display_shell_eval_event): same here.

	* app/paint/gimppaintoptions.[ch]: add properties for direction
	dynamics and adapt dynamics mixing accordingly.

	* app/paint/gimpbrushcore.c (gimp_brush_core_interpolate):
	"interpolate" direction too (in fact, just copy it from
	last_coords since it doesn't change along a straight line).

	* app/paint/gimppaintcore-stroke.c
	(gimp_paint_core_stroke_emulate_dynamics): emulate direction too.

	* app/tools/gimppaintoptions-gui.c: add GUI for direction dynamics.


svn path=/trunk/; revision=28001
2009-02-08 12:55:20 +00:00
Michael Natterer 952309a6ea Bug 471681 – Keyboard shortcuts for brush size/params need feedback
2009-02-06  Michael Natterer  <mitch@gimp.org>

	Bug 471681 – Keyboard shortcuts for brush size/params need
	feedback

	Applied patch from Sven Neumann which addresses above bug:

	* app/actions/actions.[ch]: add new function action_message()
	which pushes a temp message to a display's statusbar.

	(action_select_property): add GimpDisplay* parameter and call
	action_message() for int and double property changes.

	* app/actions/tools-commands.c: pass the display to
	action_select_property().

	* app/paint/gimpinkoptions.c: add some blurbs to make it work
	for the ink blob properties.


svn path=/trunk/; revision=27988
2009-02-05 23:44:30 +00:00