Commit Graph

223 Commits

Author SHA1 Message Date
99e0e73fc6 app: add "x" and "y" properties to GimpCanvasPath
so paths can be rendered at any position. Pass 0,0 from all places
that draw GimpVectors.
2011-04-04 20:58:38 +02:00
e1bc19faf6 app: make state checks on tool much more strict
so wrong calls will run into precondition checks and warnings. This is
optional, but currently enabled, to reduce the risk of introducing
permanent new warnings for 2.8. See STRICT_TOOL_CHECKS in gimptool.h.
2011-04-01 22:56:32 +02:00
20bed2c609 app: add gimp_draw_tool_add_transform_preview() and use it 2011-03-28 02:18:00 +02:00
7a3dc6ee38 app: remove unused #includes 2010-11-15 00:23:18 +01:00
63fcfb15a2 app: use the new shifting API instead of reimplementing it 2010-11-09 11:32:40 +01:00
5b64b83569 app: introduce enum GimpHandleAnchor as replacement for GtkAnchorType
because the latter is gone in GTK+ 3.0
2010-10-18 12:50:17 +02:00
11bc11d2f7 app: add back the draw timeout 2010-10-11 22:27:32 +02:00
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
54a65fa9c3 app: add gimp_draw_tool_add_path() and use it in the vector tool
Also clean up gimp_vector_tool_draw() a bit.
2010-10-07 14:10:57 +02:00
4151d9f693 app: some draw tool cleanup
- call undraw() from draw() instead of duplicating its code
- merge clear_items() into undraw()
2010-10-04 23:31:25 +02:00
8587e1e920 app/tools: introduce gimp_draw_tool_add_crosshair()
gimp_draw_tool_add_crosshair() is a convenience function that
adds two intersecting guide lines in a stroke group.
2010-10-04 22:02:12 +02:00
b693269060 app: simplify creating of stroke and fill groups a lot
- add gimp_draw_tool_push_group()/pop_group() which manage a stack
  of groups; all items automatically get added to the stack's top group
- use push_group()/pop_group() all over the place, which saves a lot
  of code in most cases
- return GimpCanvasGroup not GimpCanvasItem pointers from
  gimp_draw_tool_add_stroke_group() and fill_group()

Unrelated:

- add GipmCanvasGroup parameter to gimp_rectangle_tool_draw()
- put rect select's round corners into the stroke group to
  avoid ugly overdrawing (the mis-alignment of arcs becomes
  very visible now however, will fix that soon)
2010-10-04 14:03:37 +02:00
64d9d76722 app: gimp_draw_tool_add_arc() pass the "filled" parameter down to the item
instead of always passing FALSE.
2010-10-04 13:58:29 +02:00
d88a348c18 app: add public API for the "guide-style" and "sample-point-style" properties
of the guide and sample point canvas items. They are too obscure to
additionally hide them, and these items are used rarely enough to
justify the additional parameter to the new() functions.
2010-10-03 22:14:40 +02:00
f3450431a3 app: add a pen canvas item class and use it in the foreground select tool
Remove gimp_display_shell_draw_pen().
2010-10-03 02:26:40 +02:00
33ab94517f app: add gimp_draw_tool_add_stroke_group() and add_fill_group()
and use it in all tools which have groups.
2010-10-01 14:24:46 +02:00
201bfe3e25 app: add a "shell" property to GimpCanvasItem
and pass it to all constructors. The GimpDisplayShell is needed
because items are going to become more powerful soon.
2010-10-01 14:13:45 +02:00
2ced18cc87 app: add gimp_draw_tool_add_sample_point()
and use it in the color tool. Also rename
gimp_draw_tool_add_guide_line() to gimp_draw_tool_add_guide().
2010-09-30 02:03:16 +02:00
7edfa2ca54 app: start an infrastructure where the shell keeps around its canvas items
- Invalidate the proper area when an item gets added or removed.
- Draw the kept canvas items instead of calling a draw tool function.
- The draw tool now sets its item on the shell.
2010-09-29 22:12:01 +02:00
ebeb933350 app: add gimp_display_shell_expose_item() and use it in the draw tool 2010-09-29 20:10:21 +02:00
b173707c84 app: add gimp_draw_tool_remove_item() 2010-09-26 14:15:47 +02:00
970a062b01 app: argh! never add even only one line of code without testing... 2010-09-26 00:30:09 +02:00
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
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
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
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
5cda4393d0 app: return the created item from gimp_draw_tool_draw_foo() 2010-09-25 17:52:56 +02:00
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
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
62f8f559a7 app: add gimp_draw_tool_add_item() and use it all over the place 2010-09-25 11:19:00 +02:00
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
5d14e9befc app: move clearing and invalidating canvas items to utility functions 2010-09-24 21:25:01 +02:00
313f8bee1e app: remove "gboolean use_cairo" from the draw tool again
It's always TRUE now.
2010-09-24 21:14:49 +02:00
a5c961ae6f app: remove the last traces of gimp_canvas_draw_foo() from the draw tool 2010-09-24 20:40:02 +02:00
957acb42e8 app: add support for cairo text cursor drawing 2010-09-24 20:35:14 +02:00
e7f1d444c3 app: remove much more dead code paths from the draw tool and the canvas 2010-09-24 19:08:19 +02:00
67708a65a1 app: add support for cairo arcs 2010-09-24 18:42:36 +02:00
6fb802f77b app: add draw tool support for cairo corners 2010-09-24 10:50:44 +02:00
41c338ce93 app: remove XOR drawing code paths which are now dead 2010-09-24 02:11:04 +02:00
1c550d4623 app: suppose arc slices 2010-09-24 01:32:57 +02:00
ecd59cd013 app: add cairo support to boundary drawing 2010-09-23 23:39:16 +02:00
db1a85148e app: use the highlight color for "dashed" lines, oh well... 2010-09-23 19:26:02 +02:00
fe5e989af6 app: add support for drawing guide lines with cairo 2010-09-23 19:24:21 +02:00
ddc63de6d6 app: remove "gboolean use_offsets" from gimpdisplayshell-transform.[ch] 2010-09-23 19:24:04 +02:00
4d0c750327 app: get rid of "gboolean use_offsets" in the draw tool
and always pass image coordinates. Transform the coords manually in
the very few places which passed TRUE.
2010-09-23 19:23:27 +02:00
7c82f3dc09 app: add gimp_canvas_polygon_new_from_coords()
and use it from gimp_draw_tool_draw_strokes().
2010-09-23 00:40:32 +02:00
83bab2f0cd app: add support for cairo polygons 2010-09-23 00:00:57 +02:00
e7de19ed2f app: remove debug spew in the draw tool 2010-09-22 22:26:41 +02:00
683e097d89 app: add cairo drawing support in GimpDrawTool
- add boolean "use_cairo" toggle to enable it per tool
- split draw() in draw() and undraw() and add cairo variants of drawing
- create canvas items in draw_line(), draw_handle() and draw_rectangle()
- some related changes
2010-09-22 22:19:28 +02:00
24654e0df3 app: remove the draw timeout from GimpDrawTool
This slows down painting again, but it's in the way of refactoring so
the slowdown is temporary.
2010-09-22 15:31:17 +02:00