Michael Natterer
b3af235e79
app: rename all gimp_draw_tool_draw_foo() functions
...
to gimp_draw_tool_add_foo() because that's what they do now.
2010-09-25 19:02:22 +02:00
Michael Natterer
5089b9a706
app: remove gimp_draw_tool_in_radius()
...
It was used only once and that code is not less readable when using
gimp_draw_tool_calc_distance_square().
2010-09-25 18:24:38 +02:00
Michael Natterer
dfd5a265eb
app: remove gimp_draw_tool_draw_dashed_line()
...
Instead, draw a normal line and set the "highlight" property on the
returned canvas item.
2010-09-25 18:04:40 +02:00
Michael Natterer
e91dce5f9f
app: remove gimp_draw_tool_draw_arc_by_anchor()
...
Instead, draw a circular handle and set the angles on the returned
canvas item.
2010-09-25 17:59:56 +02:00
Michael Natterer
5cda4393d0
app: return the created item from gimp_draw_tool_draw_foo()
2010-09-25 17:52:56 +02:00
Michael Natterer
02924e1e70
app: change the unit of angles in the draw tool's draw_arc() functions
...
from the weird X 1/64 of a degree to radian.
2010-09-25 17:35:40 +02:00
Michael Natterer
df44ced093
app: keep the draw tool's items around in a GimpCanvasGroup
...
which reduces the number of invalidations on the canvas to one.
2010-09-25 17:20:08 +02:00
Michael Natterer
e074d4d151
app: move the GimpCanvasItem typedef to display-types.h
2010-09-25 17:17:02 +02:00
Michael Natterer
349c1500c9
app: add a canvas group item which keeps around sub-items
...
It can draw them all with one call to draw() and returns a union of
their extents via get_extents().
2010-09-25 17:14:57 +02:00
Michael Natterer
6b30250353
libgimpconfig: don't crash if g_value_get_boxed() returns NULL
2010-09-25 16:02:02 +02:00
Michael Natterer
62f8f559a7
app: add gimp_draw_tool_add_item() and use it all over the place
2010-09-25 11:19:00 +02:00
Michael Natterer
e89650edd9
app: fix size of outside corner handles
2010-09-25 00:02:26 +02:00
Michael Natterer
cbaf997ae2
app: undraw the old canvas items only before drawing new ones
...
or when the draw tool is really stopped. This seems to get rid of any
remaining flickering and also reduces expose events. Also get rid of
the "is_drawn" state and API because they make no sense any longer.
2010-09-24 23:25:19 +02:00
Michael Natterer
e8d46f7098
app: fix GimpCanvasArc's extents so it doesn't leave artifacts
2010-09-24 22:55:54 +02:00
Michael Natterer
5d14e9befc
app: move clearing and invalidating canvas items to utility functions
2010-09-24 21:25:01 +02:00
Michael Natterer
7a6a57c42f
app: remove code in draw() that special cases drawing vs. undrawing
...
GimpDrawTool::draw() is not used for undrawing any longer.
2010-09-24 21:18:45 +02:00
Michael Natterer
313f8bee1e
app: remove "gboolean use_cairo" from the draw tool again
...
It's always TRUE now.
2010-09-24 21:14:49 +02:00
Michael Natterer
d6f035a934
app: bye bye XOR :D
2010-09-24 21:03:51 +02:00
Michael Natterer
21adcb22e1
app: port the region select tool to gimp_draw_tool_draw_boundary()
...
instead of drawing cached segments directly. This is a massive
performance regression, will have to optinmize boundary drawing
some other way.
2010-09-24 20:58:22 +02:00
Michael Natterer
a5c961ae6f
app: remove the last traces of gimp_canvas_draw_foo() from the draw tool
2010-09-24 20:40:02 +02:00
Michael Natterer
9154814b94
app: enable cairo drawing for the text tool
...
This looks absolutely unacceptable if there is a selection, will
fix that later with a special text selection item or a special
style.
2010-09-24 20:35:59 +02:00
Michael Natterer
957acb42e8
app: add support for cairo text cursor drawing
2010-09-24 20:35:14 +02:00
Michael Natterer
225d22473e
app: add a text cursor canvas item class
2010-09-24 20:34:21 +02:00
Michael Natterer
e7f1d444c3
app: remove much more dead code paths from the draw tool and the canvas
2010-09-24 19:08:19 +02:00
Michael Natterer
9cb4a2e87b
app: enable cairo drawing for the align tool
2010-09-24 18:59:05 +02:00
Michael Natterer
9c7cd6d41c
app: fix canvas arc extents
2010-09-24 18:54:50 +02:00
Michael Natterer
926bbc6658
app: enable cairo drawing for the rect and ellipse select tools
...
and draw the rectangle's round corners under the bounding box.
2010-09-24 18:43:09 +02:00
Michael Natterer
67708a65a1
app: add support for cairo arcs
2010-09-24 18:42:36 +02:00
Michael Natterer
4e5d47dcbf
app: add an arc canvas item class
2010-09-24 18:41:57 +02:00
Michael Natterer
db1da1ed64
app: handle sizes should be odd numbers
2010-09-24 13:13:53 +02:00
Michael Natterer
398742b3ac
app: draw the grid under the bounding box
2010-09-24 13:13:33 +02:00
Michael Natterer
b5194b65c5
app: handle sizes should be odd numbers
2010-09-24 13:13:02 +02:00
Michael Natterer
74fe162f93
app: move adding an arc path out to a utility function
2010-09-24 13:12:34 +02:00
Michael Natterer
e98a20c158
app: increase max corner size
2010-09-24 13:11:54 +02:00
Michael Natterer
870faec210
app: fix bounding box calculation for lines that are not axis-aligned
...
because the square caps make these line extend up to
sqrt(1.5^2 + 1.5^2) beyond the end points.
2010-09-24 11:21:44 +02:00
Michael Natterer
75c11e259d
app: fix off-by-one in rectangle tool guides
...
and draw the guides below the rectangle.
2010-09-24 11:21:07 +02:00
Michael Natterer
4a5d3301ad
app: enable cairo drawing for the crop tool
2010-09-24 10:51:10 +02:00
Michael Natterer
6fb802f77b
app: add draw tool support for cairo corners
2010-09-24 10:50:44 +02:00
Michael Natterer
a29a7ec4a2
app: add a corner canvas item class
2010-09-24 10:50:05 +02:00
Michael Natterer
41c338ce93
app: remove XOR drawing code paths which are now dead
2010-09-24 02:11:04 +02:00
Michael Natterer
3afd2da690
app: enable cairo drawing for the measure tool
2010-09-24 01:33:15 +02:00
Michael Natterer
1c550d4623
app: suppose arc slices
2010-09-24 01:32:57 +02:00
Michael Natterer
6ebc29818e
app: add arc slices to GimpCanvasHandle
2010-09-24 01:32:09 +02:00
Michael Natterer
590e63f658
app: enable cairo drawing for all transform tools
2010-09-23 23:52:32 +02:00
Michael Natterer
a75b298946
app: enable cairo drawing for the edit selection tool
2010-09-23 23:47:20 +02:00
Michael Natterer
3b4d26e8d2
app: enable cairo drawing for all paint tools
2010-09-23 23:39:36 +02:00
Michael Natterer
ecd59cd013
app: add cairo support to boundary drawing
2010-09-23 23:39:16 +02:00
Michael Natterer
483efcbff5
app: add a boundary canvas item class
...
This can be done much better, but this one kindof works for now.
2010-09-23 23:38:27 +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
2c0520281d
app: reorder code in draw() so handles are on top of lines
2010-09-23 19:47:14 +02:00