summaryrefslogtreecommitdiff
path: root/libs/canvas/curve.cc
AgeCommit message (Collapse)Author
2017-01-19remove use of boost::optional to define "undefined" Canvas::Rect, and use ↵Paul Davis
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
2016-05-27Tempo ramps - revert earlier change to Canvas::Curvenick_m
2016-05-27Tempo ramps - add visualtempo curve, dragging bbt or music rulers with ↵nick_m
constraint modifier dilates previous tempo.
2015-10-05NOOP, remove trailing tabs/whitespace.Robin Gareus
2014-11-25Remove dead code.David Robillard
2014-06-21refactor Canvas so that all Items have children; add Container abstract base ↵Paul Davis
class; rename Group as "Layout" and retain only drawing semantics
2014-06-12change Canvas heirarchy and constructorsPaul Davis
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-03use window-based coordinates when picking current item so that we get ↵Paul Davis
per-item (per-scroll-group,really) computation of position and coverage.
2014-05-30smooth visual curve drawingRobin Gareus
2014-05-29fix prev commitRobin Gareus
2014-05-29renice x-fade rendering w/cairo-antialiasingRobin Gareus
2014-05-29Canvas: new x-fade drawing, two curve widgetRobin Gareus
2014-05-28Revert "cairo sub-surface prototype & exampleRobin Gareus
This reverts commit c57fcde78cc0fb393fb7420f1edbc71edf572bd0. and also commit f1f8f89fcb9312065a818233dff4a3f1871fa7fe.
2014-05-28exercise subsurface rendering for x-fade curvesRobin Gareus
2014-05-27Curve: anti-aliasing.Robin Gareus
use cairo for anti-aliasing, and ignore explicit Catmull-Rom points for that fall on the same x-cordinate.
2014-05-27implement Curve in/outside fillRobin Gareus
2014-05-26fix prev commit, window-offset for x-fade drawingRobin Gareus
2014-05-26fix x-fade drawingRobin Gareus
Catmull-Rom curve samples are not equally spaced on the x-axis. Furthermore, Curve::map_value() is not needed, cairo line_to already interpolates.
2014-03-20big rework of scrolling, horizontal part considered almost 100% done.Paul Davis
Many more changes than I would typically like in a single commit, but this was all very intertwined. Vertical scrolling using track-stepping still to follow.
2014-03-05use a centripetal catmull-rom curve to smooth ArdourCanvas::CurvePaul Davis
See http://en.wikipedia.org/wiki/Centripetal_Catmull-Rom to understand the benefits of this.
2014-03-04"correct" curve drawing (no artifacts during redraw)Paul Davis
Interpolation errors still need addressing.
2014-03-04tentative intermediate state for ArdourCanvas::CurvePaul Davis
2014-02-28remove debug messages, for nowPaul Davis
2014-02-28change implementation of ArdourCanvas::Curve to use GIMP-inspired ideas.Paul Davis
Presmooth with quadratic bezier, then interpolate when rendering. Not finished yet
2014-02-27remove unneeded extra methods in ArdourCanvas::CurvePaul Davis
2013-12-12change event propagation to be based on parent/child lineage, not z-axis ↵Paul Davis
stacking, plus some more alterations to try to get enter/leave working
2013-12-09implement Curve::covers() in a very primitive way (also note: fails for ↵Paul Davis
actual spline curves)
2013-12-09make PolyLine use distance_to_segment_squared(), and add separate (null, for ↵Paul Davis
now) method Curve::covers(Duple) because the math there needs to be different, maybe
2013-04-15remove all xml++.h inclusion by canvas implementationsPaul Davis
2013-04-15remove all XML related API from canvas. it may have been useful during ↵Paul Davis
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-11add (bezier) curves to canvas, use for automation lines; fix issue with ↵Paul Davis
rectangles missing their upper line segment; more cairo canvas fixes