Commit Graph

28165 Commits

Author SHA1 Message Date
Michael Natterer 6ec1729035 app: add the handle that is being dragged to the stroke group too 2010-09-26 17:13:53 +02:00
Michael Natterer f284e5f748 app: don't draw the draw tool's items to the wrong display 2010-09-26 16:56:26 +02:00
Michael Natterer 9cce1b894b app: put a lot of rectangle tool lines into a stroke groups
so they don't overlap.
2010-09-26 16:17:05 +02:00
Michael Natterer e0f35d8979 app: put the lines and the angle arc into a stroke group
This looks much better, and makes the lines appear under the handles
as a nice side effect.
2010-09-26 15:49:10 +02:00
Michael Natterer a306a46d45 app: make the code that puts the lines into a stroke group nicer
This much lesss feels like we need new API, let's see...
2010-09-26 15:43:59 +02:00
Michael Natterer 4b89850a2e app: draw the free select tool's line in one stroke()
This is clearly too complicated for general use, but it's only a test
case for the new APIs.
2010-09-26 14:17:04 +02:00
Michael Natterer b173707c84 app: add gimp_draw_tool_remove_item() 2010-09-26 14:15:47 +02:00
Michael Natterer e6ce564de4 app: add an infrastructure that allows to stroke multiple items at once
In order to avoid visually overlapping lines:

- GimpCanvasItem got a "suspend_stroking" API that allows to skip
  stroking and instead starts a new sub-path
- GimpCanvasGroup got a "group_stroking" API that sets suspend_stroking
  on all its children and does one stroke after calling all items'
  draw().
2010-09-26 14:12:54 +02:00
Martin Nordholts ea5190e630 app/tests: Fix gimp_display_shell_transform_xy() build 2010-09-26 12:47:24 +02:00
Martin Nordholts 27d3070a73 build: Cleanup in buildbot/suppressed-warnings.txt 2010-09-26 12:47:24 +02:00
Michael Natterer 970a062b01 app: argh! never add even only one line of code without testing... 2010-09-26 00:30:09 +02:00
Martin Srebotnjak 3d26ad805c Updated Slovenian translation 2010-09-25 20:35:37 +02:00
Martin Srebotnjak ce2d110d28 Updated Slovenian translation 2010-09-25 20:10:17 +02:00
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