Robin Gareus
a17616f1da
move utility functions into a dedicated namespace
...
Conflicts:
gtk2_ardour/about.cc
gtk2_ardour/editor_ops.cc
2014-08-17 18:51:22 -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
3be5f658ea
use newly factored canvas in gtk2_ardour
2014-08-17 17:43:03 -04:00
Paul Davis
281ebd951e
correct conversion of drop y-position into trackview for drag-n-drop of external files
2014-08-17 16:28:00 -04:00
Paul Davis
9ea96981b1
fix potential crash in Editor::set_canvas_cursor() if inadvertently passed a null cursor (semantics are different on OS X vs. X Window)
2014-08-17 16:25:05 -04:00
Paul Davis
ad67a36d7d
more work on cursor tracking state
2014-08-17 16:24:38 -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
Paul Davis
2e8f7c5c93
a set of inter-related subtle changes to get vertical autoscrolling to work, or at least work better.
2014-08-17 15:33:01 -04:00
Paul Davis
c451e21089
fix erroneous start of autoscroll when mouse pointer is left or above the left/upper scrolling boundary but we're already scrolled to zero on the relevant axes
2014-08-17 15:25:42 -04:00
Paul Davis
41526eec44
do most of the work related to adding new anchored trim cursors (but debugging/analysis continues)
2014-08-17 15:25:36 -04:00
Paul Davis
d9cee7a6d6
fix scrolling behaviour in track headers (event was stolen by rulers because event coordinates made it look as if the event happened there)
2014-08-17 15:24:46 -04:00
Paul Davis
f35de8c953
make rulers color-sensitive (e.g. theme manager editable, etc)
2014-08-17 15:08:24 -04:00
Paul Davis
89b7b77fdc
Revert "do not allow canvas cursor changes while a drag is in progress". This
...
was a bad idea. There are lots of reasons to want to change cursors while
dragging, even if we don't do that yet.
This reverts commit 144033e55c .
2014-08-17 15:04:33 -04:00
Paul Davis
ce95944e5b
do not allow canvas cursor changes while a drag is in progress
2014-08-17 15:04:29 -04:00
Paul Davis
91702c2702
forward scroll events from track control headers to the canvas, to get consistent scroll behaviour (whatever that behaviour is)
...
Conflicts:
gtk2_ardour/editor.cc
2014-08-17 15:00:07 -04:00
Paul Davis
b77f55ca82
change height of canvas drop so last 20 pixels of bottom track is still visible when fully scrolled down
2014-08-17 14:58:24 -04:00
Paul Davis
e81e6841ff
rename Editor::_canvas_bottom_rect as Editor::_canvas_drop_zone; increase its size; remove debug message
2014-08-17 14:58:19 -04:00
Paul Davis
31834ac9b3
fix position where rubberband rect is drawn
2014-08-17 14:50:42 -04:00
Paul Davis
983cbeba6f
reinstate a canvas group where we reparent regions while dragging, so that they are always on top.
...
I mistakenly removed this during the onecanvas changes.
2014-08-17 14:49:44 -04:00
Paul Davis
e8e3460665
more profound changes to canvas scrolling, in particular find appropriate ScrollGroup for Canvas::{window,canvas}_to_{canvas,window}()
...
Conflicts:
gtk2_ardour/editor_mouse.cc
2014-08-17 13:43:52 -04:00
Paul Davis
3af66ff917
remove useless groups from timebar area, clarify scroll group naming in editor
2014-08-17 13:38:50 -04:00
Paul Davis
893452b388
remove timebar canvas and just use a single canvas instead. This is just part one - lots of minor fixes to be done
...
Conflicts:
gtk2_ardour/editor.cc
2014-08-17 13:38:30 -04:00
Paul Davis
11e789df5b
avoid recursing through the entire canvas when scrolling - only scroll explicitly identified ScrollGroups
2014-08-17 13:37:45 -04:00
Paul Davis
dc96ea25d3
whitespace deletion
2014-08-17 13:37:33 -04:00
Paul Davis
cb9453b475
different approach to independent scrolling, involving ArdourCanvas::ScrollGroup
...
The idea now is that a scroll group item can be added to the canvas which will causes its children to scroll in either or both
directions (horizontal or vertical). There are few complications: the position() of the ScrollGroup is ambiguous depending
on whether you want it with scroll taken into account or not, so Item::canvas_position() was added, which defaults to
the same value as Item::position() but is overridden by ScrollGroup to return the position independent of scrolling. This
method is used when translating between item/canvas/window coordinate systems.
Note that the basic idea is that we MOVE the scroll group when a scroll happens. This mirrors what happens in the GnomeCanvas,
where Nick Mainsbridge came up with a great idea that allowed unification of the time bar and track canvases.
2014-08-17 13:37:27 -04:00
Paul Davis
87fa554ac9
initial redesign of canvas scrolling to facilitate independent x- and y-axis scrolling of specific groups within the canvas.
...
This commit should cause no change in behaviour, but contains all the code and changes necessary
for the next step
2014-08-17 13:37:16 -04:00
Paul Davis
fbdfaf5802
remove unnecessary and wierd constant for bottom rect (drop zone) of track canvas
2014-08-16 16:56:48 -04:00
Grygorii Zharun
ce2a519afa
[Summary] Merging from GIT
...
[Details] Starting point:
Mar 24 2014, 11:47 PM
Commit: 87184ab80d
Target point:
Commit: 59e6694405
Apr 16 2014, 4:01 PM
[git-p4: depot-paths = "//Abdaw/dev_main/tracks/": change = 453690]
2014-04-18 04:21:54 -05:00
Valeriy Kamyshniy
0e5ffd5784
eliminating dependency on JACK
...
[git-p4: depot-paths = "//Abdaw/dev_main/tracks/": change = 452245]
2014-04-10 09:50:18 -05:00
Valeriy Kamyshniy
43e3127418
[P4/git history rebuild] changes caused by missing Ardour canvas autoscrolling commits. These will hopefully be included in a later merge (done in Kyiv by Paul & Grygorii)
2014-05-27 21:18:08 -04:00
Paul Davis
4f7d94ea67
latest tweaks to autoscroll: symmetrical boundary on both sides, stop runaway scrolling, and more
2014-03-21 09:49:35 -04:00
Paul Davis
65b4308c84
first pass at quantizing vertical scroll to whole tracks.
...
Dragging regions vertically does the quantization BUT speed control is lacking and the region ends up on
a track that is still invisible ... to be fixed as the sun rises.
2014-03-21 07:02:32 -04:00
Paul Davis
9df3157dfc
big rework of scrolling, horizontal part considered almost 100% done.
...
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-20 13:29:45 -04:00
Paul Davis
c04285addf
convert canvas_event_frame() and window_event_frame() to canvas_event_sample() and window_event_sample() to go along with the convention adopted in cairocanvas code re: frames+samples
2014-02-26 08:43:53 -05:00
Paul Davis
cc22583c16
reorder (in source only) positioning of ruler/marker canvas groups
2014-02-25 12:02:50 -05:00
Paul Davis
b2895eaa50
fix visibility of punch and loop rects.
...
They used to be in the time_line_group but this is regularly cleared of all its members (which were assumed to be time lines).
2014-01-26 14:04:23 -05:00
Paul Davis
3020b224fa
Merge windows+cc branch into cairocanvas branch. Not finished, need to now merge windows branch to get changes from there
2014-01-10 16:07:57 -05:00
Paul Davis
daf51a2e49
fix height issue with canvas-based rulers/bars, and use enums for outline specs
2014-01-10 10:57:33 -05:00
Paul Davis
e841b33475
add (debug) names to various items
2013-12-30 14:01:56 -05:00
Paul Davis
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
John Emmas
f8574fc39d
'gtk2_ardour' - Add namespaces + casting where necessary + general bits of 'correctness' to keep MSVC happy
2013-10-03 09:06:56 +01:00
Paul Davis
0947791a80
remove debug output
2013-07-10 19:10:52 -04:00
Paul Davis
525cb6b4a7
some sort-of-deep fixes to get autoscroll/vertical scroll to work properly for cairocanvas
2013-07-10 19:10:06 -04:00
Paul Davis
b9c94f6dbf
remove all calls to Outline::set_outline_width (1) because this is "wrong" when using Cairo - the default is 0.5 and it can remain that way
2013-04-17 10:56:04 -04:00
Paul Davis
d1a05240ef
fix clamping of line and rect coordinates to avoid issues with cairo when drawing way outside a surface's dimensions; move various coordinate methods down to Canvas, because they don't require GTK information; make visible_area() a Canvas virtual method so that we don't have to cast to call it
2013-04-17 10:53:17 -04:00
Paul Davis
96eee9e7a1
change UIConfig to use accessor/setter methods like RCConfig so that ParameterChanged methods can actually be emitted; add variable (over a small range) background shading for all TimeAxisViewItems
2013-04-16 23:46:22 -04:00
Robin Gareus
5cac4a6885
vtl: get rid of unused "bar" inside the ruler
2013-04-17 02:27:17 +02:00
Robin Gareus
1227f2b73e
vtl: get rid of one more unnecessary canvas-group
2013-04-17 02:27:06 +02:00
Paul Davis
64c861a791
fix markers so that the blue line spans both canvases
2013-04-15 16:10:13 -04:00
Paul Davis
7e19053b88
Fix dragging objects on the canvas and remove redundant canvas groups
...
Delivery of fake motion events to the editor needed the event coordinates to be
in canvas space, as they are with "real" events. Editor and other objects had
many redundant groups from timbyr's work on gnomecanvas to scroll by moving
groups. We don't need this anymore with cairo-canvas (though possibly a
stationay background group for the canvas might be useful again one day as in
the SAE logo. Its implementation would be fairly different though, since we
would have to explicitly move the group on every scroll, since nothing else
ever moves on scroll).
Also tweaks to text item placement, and switch TimeAxisViewItem from
name_pixbuf to name_text, since ArdourCanvas::Text is already "pixbuf optimized".
2013-04-15 13:50:05 -04:00