Paul Davis
cd99fed7cd
canvas: add PolyItem::clear()
2023-09-30 11:09:58 -06:00
Paul Davis
de67226c90
provide PolyItem::pop_back()
2023-07-09 20:41:36 -06:00
Paul Davis
91500795d8
canvas: extend PolyItem API with ::add_point()
2023-06-26 14:18:18 -06:00
Paul Davis
f913373351
canvas: change Item::bb_clean() to better named Item::set_bbox_clean()
2022-04-26 22:04:08 -06:00
Paul Davis
c75ceb31ab
canvas: when an item has its bbox marked dirty, this should propagate to all parents
2022-04-26 22:04:08 -06:00
Paul Davis
ad6afbe68a
canvas: use Item::bb_clean() to mark _bounding_box_dirty false
2021-08-13 12:51:36 -06:00
Robin Gareus
ede0fd3ddf
Remove hardcoded 2^15 cairo-boundary, prefer window-area
2020-04-10 18:28:26 +02:00
Robin Gareus
bc4de874dc
NO-OP: whitespace
2020-04-10 18:06:42 +02:00
Robin Gareus
9bbedcb781
Remove unused function
...
Cairo::curve_to renders cubic Bézier splines, those are not
generally useful in a DAW context.
Canvas::Curve implements centripetal catmull-rom spline drawing
which can be used for fades and automation interpolation.
2020-04-10 18:06:42 +02:00
Robin Gareus
7bb8ca1e76
Interpolate poly-line with view-point #6481
2020-04-10 18:06:41 +02:00
Robin Gareus
cec5ce8f45
Update canvas/UI lib GPL boilerplate and (C) from git log
2019-08-03 15:53:17 +02:00
Paul Davis
4fa4b9a135
remove use of boost::optional to define "undefined" Canvas::Rect, and use Rect::empty instead.
...
This commit includes Rect::operator bool() which might be a candidate for removal in a future commit, in an attempt
to make the meaning clearer
2017-01-19 20:54:54 +01:00
Robin Gareus
22b07e0233
NOOP, remove trailing tabs/whitespace.
2015-10-05 16:17:49 +02:00
Paul Davis
4dc63966f0
globally remove all trailing whitespace from ardour code base.
...
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
Paul Davis
c2dcd7eacd
slightly increase size of a Canvas::PolyItem, to avoid left-over pixels when dragging (as well as other general incorrectness
2014-06-27 10:30:09 -04:00
Paul Davis
a8bd6ecc4f
refactor Canvas so that all Items have children; add Container abstract base class; rename Group as "Layout" and retain only drawing semantics
2014-06-21 11:43:42 -04:00
Paul Davis
590882f3c8
change Canvas heirarchy and constructors
...
Items no longer need a parent group (they require a Canvas pointer instead), so all constructors have been rationalized
and have two variants, one with a parent and one with a canvas.
All Items now inherit from Fill and Outline, to banish diagonal inheritance and virtual base classes and all that.
There were zero changes to the Ardour GUI arising from these changes.
2014-06-12 14:53:44 -04:00
Paul Davis
c2946ee00f
don't queue redraws when various canvas item properties are "reset" to the same value, plus supporting functions
2014-03-11 07:36:09 -04:00
Paul Davis
032f394b2a
tiny red dots, be gone (expand poly_item bounding box by correct (?) amount)
2014-03-10 11:10:38 -04:00
Paul Davis
ec0be1310f
missing iterator advance
2014-03-10 11:10:38 -04:00
Paul Davis
621887cfaa
slightly optimize bounding box computation for ArdourCanvas::PolyItem by avoiding inner conditional
2014-03-07 11:24:51 -05:00
Paul Davis
fbe94f4470
pixel-align canvas PolyItems with single-pixel outlines, for crispness
2014-01-13 09:39:50 -05:00
Paul Davis
7914d45f27
add missing iterator increment to poly item renders.
2014-01-06 20:45:40 -05:00
Paul Davis
4b71d7fde5
small optimization to curve rendering
2014-01-06 20:45:40 -05:00
Paul Davis
a585816f3e
slight optimization of PolyItem::render_path()
2013-12-28 13:52:08 -05:00
Paul Davis
c4f0063a68
make PolyLine use distance_to_segment_squared(), and add separate (null, for now) method Curve::covers(Duple) because the math there needs to be different, maybe
2013-12-09 17:24:34 -05:00
Paul Davis
6473cc7cb4
drop use of bounding box to determine whether an item covers a point; add Item::covers(Duple const&)
...
Default implementation for Item still uses bounding box, but specializations for Arc (Circle), Polygon, Line and PolyLine have been added
2013-11-04 11:56:10 -05:00
Paul Davis
a079118981
fix incorrect coordinate space when drawing first poly-curve line
2013-06-21 13:56:01 -04:00
Paul Davis
77f5f4c4bf
basically operational switch to canvas drawing coordinates, although text and waves don't work, and redraw areas are too small
2013-06-18 08:23:06 -04:00
Paul Davis
37dd7e952b
add headers to all canvas .cc and .h files
2013-04-15 22:10:18 -04:00
Paul Davis
64d3763652
remove all xml++.h inclusion by canvas implementations
2013-04-15 22:00:13 -04:00
Paul Davis
84fb0a8dce
remove all XML related API from canvas. it may have been useful during development, but it is just a distraction - we will NEVER be saving or restoring canvas state via XML or any kind of serialized state
2013-04-15 21:57:08 -04:00
Paul Davis
7caf517b27
add (bezier) curves to canvas, use for automation lines; fix issue with rectangles missing their upper line segment; more cairo canvas fixes
2013-04-11 22:54:12 -04:00
Paul Davis
1267b1d61c
mo' better debugging of canvas "structure" via Item::dump and derivatives
2013-04-08 19:48:09 -04:00
Paul Davis
07a505b1b2
lots of tweaking and adding debug output including operator<</dump(ostream&) methods to help visualize canvas structure
2013-04-05 11:27:26 -04:00
Paul Davis
aaea166135
initial commit of hand merging, plus getting "ancient" waf script to work correctly
2013-04-04 00:32:52 -04:00