Commit graph

524 commits

Author SHA1 Message Date
Paul Davis
435c3ad47f change implementation of ArdourCanvas::Curve to use GIMP-inspired ideas.
Presmooth with quadratic bezier, then interpolate when rendering. Not finished yet
2014-02-28 17:00:25 -05:00
Paul Davis
007e6bb15b remove unneeded extra methods in ArdourCanvas::Curve 2014-02-27 09:22:36 -05:00
Paul Davis
0cbf8f7dea fix canvas enter/leave bug when point is over a group/ignore-event item and we fail to send a leave event to the previous item 2014-02-25 16:08:36 -05:00
Paul Davis
f9a3e7f8bb add DEBUG::CanvasEnterLeave to allow runtime toggling of canvas enter/leave events 2014-02-25 16:07:51 -05:00
Paul Davis
737aae908a tweak canvas rect drawing to correctly place bottom edge of rectangle inside the bounds (cairo works in mysterious ways) 2014-02-25 12:02:50 -05:00
Paul Davis
e2f18ea658 allow per-line configurability of the threshold used to determine if a PolyLine covers a given coordination 2014-02-20 12:53:08 -05:00
Paul Davis
14b2d0b549 fix error in canvas PolyLine::covers(), so that the mouse can actually enter/leave such items 2014-02-19 23:42:01 -05:00
Paul Davis
05d7947795 make stateful image canvas item actually compile 2014-02-17 16:05:52 -05:00
Paul Davis
eb3c14db25 new canvas item to allow image-based GUI construction 2014-02-17 15:28:18 -05:00
Paul Davis
172a4a853d fix up problems with patch change flgs not changing height correctly 2014-02-14 12:06:44 -05:00
Paul Davis
1df483d3db since we now expand rectangles to the right always, adjust the bounding box computation 2014-02-14 09:49:16 -05:00
Paul Davis
1a9076c0ba remove debug message 2014-02-13 18:18:53 -05:00
Paul Davis
08b86fda5c fix up some issues with precise placement of ArdourCanvas::Rectangle frame/outline 2014-02-13 18:18:19 -05:00
Paul Davis
79d2a686ff make Item::set_position() do nothing if the position doesn't change 2014-02-13 18:18:19 -05:00
John Emmas
f889f391a1 Guard some Debug output so that it only appears when applicable ('Item::name' is only available when CANVAS_DEBUG is defined) 2014-02-13 14:12:36 +00:00
Paul Davis
f5499d206a slight code tidy for Line::render() ... don't use 0.5 pixel adjustment if the line width > 1.0 2014-02-12 15:26:53 -05:00
Paul Davis
e247103a7e fix up major thinko's in ArdourCanvas::Group's handling of deletion (both its own, and child items) 2014-02-12 15:15:27 -05:00
Paul Davis
6876906d9d fix major thinko in ArdourCanvas::Group::clear() 2014-02-11 22:49:39 -05:00
Paul Davis
a329a44cc1 when delivering canvas events, if an item is grabbed, use it in preference to Canvas::_current_item, but still propagate to its ancestors if left unhandled 2014-02-11 22:49:10 -05:00
Paul Davis
cc2aca44fb fix text placement in ArdourCanvas::Flag 2014-02-11 12:40:44 -05:00
Paul Davis
bb05ae05a8 remove unused _wave_color member from waveview canvas item; use outline color for edge dots of waveforms instead of hardcoding black 2014-01-26 16:02:38 -05:00
Paul Davis
3c5a870289 a better, more general fix for the previous Canvas::item_going_away() issue. There is no need to repick the current item if the item going away is NOT the current item 2014-01-20 10:59:44 -05:00
Paul Davis
2691209050 When removing an item which is event-insensitive, there is no need to repick the current item, since it can never have been used as the current item.
This fixes crashes associated with ghost notes in midi regions.
2014-01-20 10:53:58 -05:00
Paul Davis
620e1e6677 add event type string function to canvas (since it does not use gtkmm2ext) 2014-01-16 10:52:34 -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
5062a00c7d move -fvisibility=hidden to the top of the source tree, and remove its internal use; use libtimecode as a shared lib again 2014-01-12 15:40:47 -05:00
Paul Davis
22c303d8f6 final (?) tweaks to rectangle rendering 2014-01-10 14:36:05 -05:00
Paul Davis
9df593d823 clamp expose (queue_redraw()) requests to visible window area, some extra debugging details 2014-01-10 14:35:36 -05:00
Paul Davis
02e6d14e23 make no-zero-line be the default for wave views (still shown for normal audio region views 2014-01-10 12:08:58 -05:00
Paul Davis
6d4c0baad3 fix up thinko in recent raise_to_top/lower_to_bottom optimization 2014-01-10 11:54:05 -05:00
Paul Davis
70c4a5e2d6 slightly expand CanvasRender debug output 2014-01-10 11:02:34 -05:00
Paul Davis
ffdf3ed017 don't go through ::deliver_enter_leave() unnecessarily 2014-01-10 11:02:05 -05:00
Paul Davis
5cd35de56b prevent Rect::expand() from generating negative coordinates where there were none before 2014-01-08 18:20:19 -05:00
Paul Davis
cf293d0593 tweak rectangle bounding box computation 2014-01-08 10:42:14 -05:00
Paul Davis
35d3a4a351 remove unused code 2014-01-08 10:31:39 -05:00
Paul Davis
a70edc5765 change rounding used for convert Rect from canvas to window coordinates 2014-01-08 10:31:14 -05:00
Paul Davis
98dec658ee Revert "remove unused code"
This reverts commit 2d283c17e1.
2014-01-08 10:29:03 -05:00
Paul Davis
2d283c17e1 remove unused code 2014-01-08 10:28:46 -05:00
Paul Davis
8fa54cd1d9 shrink waveview zero line to single pixel 2014-01-07 22:51:18 -05:00
Paul Davis
c235d3da99 mostly fix conceptual error in how canvas rectangle frames are drawn 2014-01-07 20:56:36 -05:00
Paul Davis
5fec68e6c5 for now, hide ugly circle thing in drag handles 2014-01-07 20:56:03 -05:00
Paul Davis
d1652f8cc6 outline width of 0.5 is stupid and meaningless, and was just hiding other issues with outlines 2014-01-07 11:31:47 -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
7b24be86a2 make raise_to_top() and lower_to_bottom() no-ops if item is already in the right place 2014-01-02 16:49:42 -05:00
Paul Davis
7f83975e7d add drag handle source to wscript 2014-01-02 16:49:11 -05:00
Paul Davis
edb932b819 basic, prototypical drag handle implementation 2014-01-02 16:48:44 -05:00
Paul Davis
8f876bb5ab remove legacy CANVAS_COMPATIBILITY property_foo() stuff (related to gnomecanvas API) from libcanvas 2013-12-31 11:54:05 -05:00
Paul Davis
110c790d91 define signal associated with configurable clipping level to Canvas::WaveView 2013-12-30 15:54:09 -05:00
Paul Davis
7158eb7565 add configurable clipping level to Canvas::WaveView 2013-12-30 15:46:44 -05:00