Michael Natterer
6a1b93be1c
app: don't include "libgimpmath/gimpvectors.h" in any header
...
It's types are generally known because it's already included
in core-types.h.
2011-04-17 23:44:45 +02:00
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