summaryrefslogtreecommitdiff
path: root/libs/canvas
AgeCommit message (Collapse)Author
2015-03-31fix OSX/PPC 10.4 long mathsRobin Gareus
2015-03-29For the canvas library, #include 'gtkmm2ext/gui_thread.h' rather than ↵John Emmas
'gtk2_ardour/gui_thread.h' Technically it doesn't make much difference but from what I can tell, the only files which #include 'gtk2_ardour/gui_thread.h' are the source files from gtk2_ardour itself. The support libraries always #include 'gtkmm2ext/gui_thread.h' directly (which seems sensible). So for consistency's sake, let's keep it the same for libcanvas.
2015-03-29Better fix for 6183.nick_m
Invalidate all source entries from the image cache when we get our region's DropReferences signal, while ignoring any subsequent regions with no source.
2015-03-24Fix 0006183 (waveview crash).nick_m
Should fix crash when audiosource disappears. Reworked from submitted patch from tlat.
2015-03-22Revert mistaken change in e7b0e67bc8e1b546b587ffd803b81ad5e67c171anick_m
2015-03-22Provide an image if there are no peaks.nick_m
2015-03-20fix redraw of automation ControlPointsRobin Gareus
2015-03-14Move PC flags to avoid obscuring region name.David Robillard
Fixes bug #6179. Top vs. bottom seems pretty arbitrary to me, and this solves the obscuring issue (which is quite common since there are often PC events at the start of MIDI files), so bottom it is.
2015-03-10Manual merge of the drawing component of waveview branch.nick_m
In summary: * no antialiasing of waveviews * no diagonal lines * simplify clip detection * don't use LINE_CAP_ROUND for outline * use the wave colour when drawing outline only
2015-02-20The commit 3da9c3b7403dd57984e1f0d090c7bd902f933225nick_m
wasn't the no-op it claimed to be.
2015-02-12add accessor methods for single_exposureBen Loftis
2015-02-12_single_exposure is now a member variable for each GtkCanvas.Ben Loftis
Gtk coalesces multiple exposes into a single combined rect. If _single_exposure is disabled, we break apart the individual expose rects for the canvas rendering.
2015-02-11remove naive attempt to avoid drawing first vertical pixel line of ↵Paul Davis
Canvas::WaveView And add commented out attempt at more subtle attempt to get it right
2015-02-11simplify Canvas::Rectangle rendering to avoid unnecessary nonsense, and ↵Paul Davis
remove TimeRectangle
2015-02-11Canvas::Rect::contains() should treat its right/left coordinates as exclusivePaul Davis
2015-02-10add a sort-of hack to allow us to avoid drawing the first pixel of a ↵Paul Davis
waveview when necessary
2015-02-09correct drawing of rectangle borders.Paul Davis
They need to use fractional coordinates, and the border position needed generalizing for other border widths. See verbose comment for details
2015-02-09canvas items must be able to use fractional positions when rendering.Paul Davis
This is required to be able to draw precise single pixel lines, as described in the Cairo FAQ
2015-02-03tweak to help with uncoalesced rendersBen Loftis
2015-02-03render canvas using the GDK region rather than the GDK area.Paul Davis
The region is the un-coalesced set of rectangles that were requested for redraw. The area is the coalesced single rectangle. In the worst cases, the coalesced rectangle could span the entire window even though just two pixels in opposite corners were to be redrawn. There is a problem with the verbose cursor as it is dragged across MIDI tracks. TO BE FIXED.
2015-01-24ScrollGroup::covers_{window,canvas}() need to account for possible non-zero ↵Paul Davis
position of the group. They also do NOT need to consider scroll offset
2015-01-24ScrollGroups are kept in their own list, so ::window_to_canvas() does not ↵Paul Davis
need to inspect root group children to find them Conflicts: libs/canvas/canvas.cc
2015-01-21apply Theme > “Show waveform clipping”Robin Gareus
fixes http://tracker.ardour.org/view.php?id=5589#c15515
2015-01-19use C locale, because POSIX locale is not supported on windows, and ↵Ben Loftis
operation is undefined. C works on all platforms
2015-01-16Revert "Kludgey fix for invisible playhead when scrolled."David Robillard
This reverts commit 8f823388d9bd5aa8e297ab05be8c9fb323518945.
2015-01-16Compute arrow bbox manually to appease crazy canvas.David Robillard
2015-01-16Kludgey fix for invisible playhead when scrolled.David Robillard
The problem this is avoiding makes absolutely no sense. Either I'm dumb, or something is more deeply wrong with scroll group bounding boxes, or both, but I don't care anymore. This works. Viva release mode.
2015-01-16Put playhead on top of everything.David Robillard
Achieve this by adding a new hscroll group just for cursors. That requires a slightly smarter window_to_canvas() to deal with overlapping sensitive scroll groups. New rule is that scroll groups can overlap, but the most sensitive one found from the top down will be chosen to translate coordinates. This basically means don't overlap scroll groups with different sensitivities. In the presence of scroll groups, having a canvas-wide window_to_canvas() and/or canvas_to_window() fundamentally makes no sense. At some point in the glorious future we should kill those and use only item-relative coordinate translation.
2015-01-16Update arrow bbox when geometry changes.David Robillard
2015-01-16Fix clipping for scroll groups an offset bbox.David Robillard
2015-01-12Fix mouse event position offset bug.David Robillard
Search scroll groups for event delivery from top to bottom rather than bottom to top. Overlapping scroll groups still aren't properly supported by the canvas, but currently all we care about is that the top one gets the event, so the hscroll group (tempo lines) can be below the hvscroll group (tracks), but the latter gets events.
2015-01-09remove cruft (old unused pre-git version files)Robin Gareus
2015-01-08Fix bounding box of rectangles with wide outlines.David Robillard
2015-01-08Close polygon borders (fix partially drawn hits).David Robillard
2014-12-31Fix alleged use of uninitialized variable.David Robillard
Looks like a guaranteed else branch to me, but who am I to argue with gcc?
2014-12-24Fix crash when getting width of item with no bbox.David Robillard
2014-12-19add ArdourCanvas::change_alpha()Paul Davis
Time to move away from rgba macros
2014-12-18change Item::visible() to Item::self_visible(); add Item::visible() which ↵Paul Davis
returns accurate visibility Child items will be hidden when their ancestors are hidden. The old ::visible() implementation didn't reflect this. In addition, when changes are made to hidden items (new definition of visible/not visible), don't bother to request redraws, since this will be done when the item becomes visible again.
2014-12-15add getters for SVAModifierPaul Davis
2014-12-15fix typoPaul Davis
2014-12-15more fixes to SVAModifier constructor(s)Paul Davis
2014-12-14fix up SVAModifier constructorsPaul Davis
2014-12-14add SVAModifier to ArdourCanvas color codePaul Davis
2014-12-08lots more color work, closer and closer to being ready for ... being taken ↵Paul Davis
apart again
2014-12-07remove all explicit button text colors; use contrasting_text_color() instead.Paul Davis
Also, use a slightly off-white rather than pure white, which should really be configurable
2014-12-06Fix inappropriately massive flag font.David Robillard
2014-12-05experimental drawing optimization.Robin Gareus
Q: is bounding_box(); etc more complex than queuing draw? either way, canvas should eventually switch to use an optimized OptimizingLookupTable.
2014-12-05include alpha-delta computation in HSV::delta()Paul Davis
2014-12-02first pass at optimization for low-level canvas codePaul Davis
2014-11-28Show discrete/toggled automation as stepped line.David Robillard