fee026c5ef
break down GdkEventExpose into distinct rectangles for canvas expose rather than drawing the entire region as a single rect
2014-03-04 21:58:16 -05:00
912f07b919
mingw build fixes (tested with i686-w64-mingw32 on linux-x86_64)
2014-03-04 15:25:58 +01:00
e6c3cece64
remove recently added conflation of mingw64 and msvc with respect to symbol export
2014-03-02 14:59:08 -05:00
560c667ea9
fix compilation of libcanvas so that when built as a shared lib (the default), -DLIBCANVAS_DLL_EXPORTS=1 is not lost
2014-03-01 16:52:08 -05:00
19395ac258
when mingw is mingw64, it appears that we need to use __declspec() and not __attribute__((visibility)) for export control
2014-03-01 15:16:39 -05:00
e60933650e
remove debug messages, for now
2014-02-28 17:17:00 -05:00
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
007e6bb15b
remove unneeded extra methods in ArdourCanvas::Curve
2014-02-27 09:22:36 -05:00
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
f9a3e7f8bb
add DEBUG::CanvasEnterLeave to allow runtime toggling of canvas enter/leave events
2014-02-25 16:07:51 -05:00
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
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
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
05d7947795
make stateful image canvas item actually compile
2014-02-17 16:05:52 -05:00
eb3c14db25
new canvas item to allow image-based GUI construction
2014-02-17 15:28:18 -05:00
172a4a853d
fix up problems with patch change flgs not changing height correctly
2014-02-14 12:06:44 -05:00
1df483d3db
since we now expand rectangles to the right always, adjust the bounding box computation
2014-02-14 09:49:16 -05:00
1a9076c0ba
remove debug message
2014-02-13 18:18:53 -05:00
08b86fda5c
fix up some issues with precise placement of ArdourCanvas::Rectangle frame/outline
2014-02-13 18:18:19 -05:00
79d2a686ff
make Item::set_position() do nothing if the position doesn't change
2014-02-13 18:18:19 -05:00
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
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
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
6876906d9d
fix major thinko in ArdourCanvas::Group::clear()
2014-02-11 22:49:39 -05:00
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
cc2aca44fb
fix text placement in ArdourCanvas::Flag
2014-02-11 12:40:44 -05:00
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
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
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
620e1e6677
add event type string function to canvas (since it does not use gtkmm2ext)
2014-01-16 10:52:34 -05:00
fbe94f4470
pixel-align canvas PolyItems with single-pixel outlines, for crispness
2014-01-13 09:39:50 -05:00
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
22c303d8f6
final (?) tweaks to rectangle rendering
2014-01-10 14:36:05 -05:00
9df593d823
clamp expose (queue_redraw()) requests to visible window area, some extra debugging details
2014-01-10 14:35:36 -05:00
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
6d4c0baad3
fix up thinko in recent raise_to_top/lower_to_bottom optimization
2014-01-10 11:54:05 -05:00
70c4a5e2d6
slightly expand CanvasRender debug output
2014-01-10 11:02:34 -05:00
ffdf3ed017
don't go through ::deliver_enter_leave() unnecessarily
2014-01-10 11:02:05 -05:00
5cd35de56b
prevent Rect::expand() from generating negative coordinates where there were none before
2014-01-08 18:20:19 -05:00
cf293d0593
tweak rectangle bounding box computation
2014-01-08 10:42:14 -05:00
35d3a4a351
remove unused code
2014-01-08 10:31:39 -05:00
a70edc5765
change rounding used for convert Rect from canvas to window coordinates
2014-01-08 10:31:14 -05:00
98dec658ee
Revert "remove unused code"
...
This reverts commit 2d283c17e1
.
2014-01-08 10:29:03 -05:00
2d283c17e1
remove unused code
2014-01-08 10:28:46 -05:00
8fa54cd1d9
shrink waveview zero line to single pixel
2014-01-07 22:51:18 -05:00
c235d3da99
mostly fix conceptual error in how canvas rectangle frames are drawn
2014-01-07 20:56:36 -05:00
5fec68e6c5
for now, hide ugly circle thing in drag handles
2014-01-07 20:56:03 -05:00
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
7914d45f27
add missing iterator increment to poly item renders.
2014-01-06 20:45:40 -05:00
4b71d7fde5
small optimization to curve rendering
2014-01-06 20:45:40 -05:00
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
7f83975e7d
add drag handle source to wscript
2014-01-02 16:49:11 -05:00
edb932b819
basic, prototypical drag handle implementation
2014-01-02 16:48:44 -05:00
8f876bb5ab
remove legacy CANVAS_COMPATIBILITY property_foo() stuff (related to gnomecanvas API) from libcanvas
2013-12-31 11:54:05 -05:00
110c790d91
define signal associated with configurable clipping level to Canvas::WaveView
2013-12-30 15:54:09 -05:00
7158eb7565
add configurable clipping level to Canvas::WaveView
2013-12-30 15:46:44 -05:00
2d50adaf3a
ignore invisible items when picking the current item
...
Also left behind some commented debug out that probably deserves a new PBD::Debug bit.
2013-12-30 14:02:43 -05:00
4886eb7098
try to rationalize logic for displaying/hiding regionview (time axis view item) name highlights and text
2013-12-29 23:10:54 -05:00
a585816f3e
slight optimization of PolyItem::render_path()
2013-12-28 13:52:08 -05:00
218a4664be
add visibility/export control to libcanvas
2013-12-27 16:24:58 -05:00
84f55440a3
fix redrawing of canvas with an optimized build
...
Best guess right now is that optimization does something bad when ceil() is called twice on a very large dbl-precision number,
which results in a zero (empty) redraw area. Without the removal of the redundant ceil & floor functions, no expose events
would be delivered to the canvas in an optimized build during drags (and maybe more).
2013-12-23 15:35:49 -05:00
9b6135b2e1
change enter/exit event delivery to follow X Window model (inferior, ancestor, virtual, nonlinear)
2013-12-12 20:44:04 -05:00
88732abd01
change event propagation to be based on parent/child lineage, not z-axis stacking, plus some more alterations to try to get enter/leave working
2013-12-12 10:03:33 -05:00
a631350f93
implement Curve::covers() in a very primitive way (also note: fails for actual spline curves)
2013-12-09 21:03:16 -05:00
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
77a63c2bf7
ArdourCanvas::Line::covers() uses distance_to_segment_squared()
2013-12-09 13:39:10 -05:00
4780c84252
debug trace tweaks
2013-12-09 13:38:22 -05:00
75b25cd913
add a utility function to Canvas to compute distance from a point to a line segment
2013-12-09 13:35:07 -05:00
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
08b485db75
send enter events to EVERY newly entered item (ignore the bool return from the event handler); other canvas debugging aids;switch items_at_point() to use canvas coordinates
2013-11-03 10:07:00 -05:00
85daa31ab5
all events propagate out of the canvas in canvas coordinates now, so revert changes in editor_drags.cc that worked around this not being the case
2013-10-31 16:43:35 -04:00
b46244d527
finally (?) fix up logic for rectangle drawing (fill+stroke) to tackle what is hopefully the last of the expose problems
2013-10-31 11:49:36 -04:00
7ce86cec7d
handle enter/leave items when zooming and scrolling occur
2013-10-31 03:10:18 -04:00
7bbd28aa08
notable changes to try to improve most of enter/leave handling for canvas items
2013-10-30 23:36:30 -04:00
006ba7cd36
reduce verbiage and remove visible current_item red rect
2013-10-28 16:36:11 -04:00
f6d33d2a87
fix comment
2013-10-28 16:35:48 -04:00
30263a91d7
fix coordinate system for Canvas items_at_point() methods
2013-10-28 16:35:31 -04:00
f28fb76bd9
fix computation of Text bounding box to respect _clamped_width
2013-10-28 12:27:33 -04:00
1eb680f937
add coordinate space comment
2013-10-28 12:27:03 -04:00
f25ff95390
tweak whitespace and add coordinate space comment
2013-10-28 12:26:40 -04:00
0db7bdface
streamline button press event handling code a little, and tweak enter/leave debugging text
2013-10-28 12:25:41 -04:00
5ebc4a99be
don't request redraw of a Canvas item if it marked invisible
2013-10-25 13:29:23 -04:00
ecd29c6d70
add Item::redraw() convenience method
2013-10-24 17:54:54 -04:00
c3f1369cfd
expand bounding box of all objects by 0.5 before computing intersection for render cycle; alter debug output
2013-10-24 17:14:12 -04:00
c21ed2b877
fix drawing of a canvas LineSet object
2013-10-24 17:13:22 -04:00
9d2e4fbec6
fix computation of rectangle bounding box
2013-10-24 17:13:03 -04:00
097b781209
fix computation of canvas text item bounding box
2013-10-24 17:12:28 -04:00
5ea6b4420b
slightly more information in group render DEBUG_TRACE output
2013-10-23 10:39:26 -04:00
192f22d89e
fix confusion in Canvas::LineSet over window vs. item coordinates that affected redraw (or not) of MIDI track note lines when the canvas origin != 0
2013-10-22 21:12:47 -04:00
18850253e9
only generate some current canvas debug output when CANVAS_DEBUG is defined, to quieten things down
2013-09-25 10:38:04 -04:00
67bb9a732a
add casting for MSVC sqrt
2013-09-25 10:36:42 -04:00
3ba0ef7192
fix a typo in canvas-debug.h
2013-09-25 10:36:21 -04:00
741154e691
debugging various canvas event issues
2013-08-08 15:26:42 -04:00
c37040ef01
expand tabs to spaces in wscript
2013-07-14 19:39:24 +02:00
37743ea9b1
minor fixes for recent cairocanvas work so that it builds on OS X (64bit)
2013-07-01 12:04:02 -04:00
af3056769c
changes to waveform clipping display
...
* clip level is now -0.9dbFS
* display of clipping is optional (see Theme Manager window)
* clipping is based on disk data, unscaled by region gain
2013-06-28 20:21:30 -04:00
aa480b8338
make clip indicators more visible (the smaller of 7 pixels or 5% of track height)
2013-06-28 17:09:39 -04:00
5b3ebe824e
restore display of clipping in waveform displays
2013-06-28 13:40:51 -04:00
144fdfbbd0
fix drawing of rectangles larger than 2000 pixels, caused by silly hard-coding of width limit
2013-06-27 17:27:58 -04:00
c6fe6b0996
cleanup ArdourCanvas::WaveView
...
Mostly this just involved removing the private CacheEntry class that really served no further purpose once
the design reverted to a single cached image
2013-06-27 17:23:34 -04:00