Paul Davis
207e90adb1
Add Canvas::re_enter() which picks the current item again based on mouse pointer position and generates an enter event for it
2014-08-17 20:41:20 -04:00
Paul Davis
390869c0d9
actually do something in WaveView::region_resized() which is called whenever the region is resized; implement WaveView::set_region_start() which could be used by an xfade editor etc.
2014-08-17 20:34:41 -04:00
Paul Davis
3e85ec6ae8
more extensive canvas debug message for canvas-enter-leave tracing
2014-08-17 20:02:49 -04:00
Paul Davis
d994350760
add event-insensitivity to the list of conditions that causes a container to NOT add its children to the list of items-at-point
2014-08-17 20:02:43 -04:00
Paul Davis
a647755bdc
verbose cursor text is always outlined
2014-08-17 19:59:51 -04:00
Paul Davis
3ceb01b331
allow Canvas::Text to have outline drawn in a contrasting color (based on actual color)
2014-08-17 19:59:43 -04:00
Paul Davis
b4aba271f4
move contrasting_text_color() into ArdourCanvas
2014-08-17 19:59:38 -04:00
Paul Davis
74a5737b7c
invisible items/containers should not add their children to "items-at-point"
2014-08-17 19:58:14 -04:00
Paul Davis
861a22db4c
additional DEBUG_TRACE message for canvas current item selection
2014-08-17 19:58:05 -04:00
John Emmas
8c77efd3ff
Change some declarations from 'struct' to 'class' (and vice-versa)
2014-08-17 19:56:56 -04:00
John Emmas
b9c62e879a
Add (newly introduced) sources to our MSVC projects
2014-08-17 19:47:47 -04:00
John Emmas
aa4fe5f5ee
Remove (no longer needed) sources from our MSVC projects
2014-08-17 19:47:41 -04:00
Paul Davis
66115ee7f7
slightly increase size of a Canvas::PolyItem, to avoid left-over pixels when dragging (as well as other general incorrectness
2014-08-17 19:47:16 -04:00
Paul Davis
4cf21bd462
if CANVAS_DEBUG is defined, then the env variable CANVAS_HARLEQUIN_DEBUGGING will turn on drawing the expose areas for canvas render debugging
2014-08-17 19:46:36 -04:00
Paul Davis
f22f5725d5
in Canvas::window_to_canvas(), if either x or y coordinate is less than zero, search for the scroll group on the relevant edge.
...
If we don't do this then we find no scroll group covering the event coordinate, and the translation for scroll fails to be applied
2014-08-17 19:46:30 -04:00
Paul Davis
92b29e1ea1
new API for TrackingText and similar items
2014-08-17 19:28:47 -04:00
Paul Davis
6cea8f3c5b
add tracking_text.cc to canvas wscript
2014-08-17 19:28:42 -04:00
Paul Davis
f9f0bfe6ed
new TrackingText canvas item, to resolve conceptual issues with the Editor::VerboseCursor
2014-08-17 18:53:52 -04:00
Tim Mayberry
dbcc1f1d39
Rename PBD::find_file_in_search_path to just PBD::find_file
...
saves a bit of typing and not necessary if you look at how it is used.
Conflicts:
gtk2_ardour/about.cc
gtk2_ardour/session_dialog.cc
libs/pbd/system_exec.cc
2014-08-17 18:36:02 -04:00
Ben Loftis
17b601a9f3
last piece of scroll-wheel checkin, oops
2014-08-17 18:10:21 -04:00
Ben Loftis
d0f41a4f5e
add scroll wheel handler to canvas
2014-08-17 18:10:15 -04:00
Paul Davis
d893b493d6
return of the zero line
2014-08-17 18:07:37 -04:00
Paul Davis
1b58dd6ecf
revert drawing of rectified waves back to previous approach since it (might be) slightly more efficient and is simpler to understand; add comments
2014-08-17 18:07:32 -04:00
Paul Davis
87cc9f7d4f
completely rethink waveform rendering (again)
...
There are 3 possible components to draw at each x-axis position: the waveform "line", the zero line and an outline/clip indicator.
We have to decide which of the 3 to draw at each position, pixel by pixel. This makes the rendering less efficient but it is
the only way I can see to do this correctly.
2014-08-17 18:07:24 -04:00
Paul Davis
e0bceb3e4e
fix logic error that meant one side of the waveform outline is not drawn; draw zero line before outline, for better effects with low amplitude waves
2014-08-17 18:07:14 -04:00
Paul Davis
9ebbcdde09
Canvas::Group was removed
2014-08-17 18:04:05 -04:00
Paul Davis
28fdc71d70
more canvas refactoring.
...
Remove Canvas::Layout, use Canvas::Container for the same purpose, move child-rendering into Item::render_children() so that it
could theoretically be used by any derived type.
2014-08-17 17:44:17 -04:00
Paul Davis
72ab6f6fe5
add missing new files for canvas redesign
2014-08-17 17:44:12 -04:00
Paul Davis
f11ad4f901
explicitly qualify cast to ArdourCanvas::Container so that it works.
...
I assume that gcc is failing to complain about ambiguity with Gtk::Container even though there should
really be no ambiguity
2014-08-17 17:43:51 -04:00
Paul Davis
98aa604aa0
refactor Canvas so that all Items have children; add Container abstract base class; rename Group as "Layout" and retain only drawing semantics
2014-08-17 17:42:59 -04:00
Paul Davis
1ba94eab60
if we're not going to notify parents of bbox changes while an item is hidden, we need to remind it when the item is hidden or shown
2014-08-17 16:24:21 -04:00
Paul Davis
4d4851cffc
a whole slew of changes related to centralizing and rationalizing cursor management.
...
Debugging output left in place to help address the reports that will come in as people test this more
2014-08-17 16:23:52 -04:00
nick_m
929a787b71
Canvas tweaks.
...
* Only queue a draw for changed items that are set visible and in-window.
2014-08-17 16:23:37 -04:00
Paul Davis
3ef2430ae0
a set of 3 fixes that cure Canvas::Text leaving dirty pixels when being dragged. or might not - testing is non-deterministic, which is alarming
2014-08-17 15:34:13 -04:00
Paul Davis
df72a6ca25
use a different approach for indicating expose rects (from robin gareus). #ifdef'd out by default
2014-08-17 15:34:05 -04:00
nick_m
36a93b0d18
Cache entries are now region colour aware.
2014-08-17 15:33:22 -04:00
Paul Davis
ab47194ee8
comment correction regarding Canvas::visible_area()
2014-08-17 15:29:02 -04:00
Paul Davis
465456dbf4
initialize _scroll_parent in Canvas::item
2014-08-17 15:28:56 -04:00
Robin Gareus
c56d3ad812
initialize uninitialized variable
2014-08-17 15:28:03 -04:00
John Emmas
37a2ac8617
Add newly introduced sources to our MSVC projects
2014-08-17 15:26:34 -04:00
John Emmas
cb0abfb008
Remove no longer needed sources from MSVC projects
2014-08-17 15:26:28 -04:00
Paul Davis
452cf1db35
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-08-17 15:08:56 -04:00
Paul Davis
3cec76834e
remove drag handle canvas object - it was just a stupid unfinished experiment
2014-08-17 15:08:46 -04:00
Paul Davis
1a3596b071
derive ArdourCanvas::Ruler from Rectangle
2014-08-17 15:08:33 -04:00
Paul Davis
a7a75f105a
remove hard-coded colors
2014-08-17 15:08:19 -04:00
Paul Davis
473bcc3fa6
many fixes and improvements for a now-working ArdourCanvas::Ruler item
2014-08-17 15:06:11 -04:00
Paul Davis
126a293ab9
add ruler.cc to canvas wscript
2014-08-17 15:06:06 -04:00
Paul Davis
def1f12164
add Ruler to Canvas fwd.h
2014-08-17 15:05:59 -04:00
Paul Davis
76b9ad2294
add initial (untested) implementation of canvas ruler item
2014-08-17 15:05:48 -04:00
Paul Davis
592146822a
fix Canvas::LineSet implementation to support horizontal and vertical linesets
2014-08-17 15:00:23 -04:00