Tim Mayberry
9618b6dcbb
Whitespace fixes in canvas.h
2017-06-26 08:40:47 +10:00
Tim Mayberry
90f169881f
Remove unused ArdourCanvas::HSV constructor
...
Using stringstream for this is not locale independant. If this constructor is
needed at a later stage it should be reimplemented.
2017-06-22 10:48:38 +10:00
Robin Gareus
aff92a019d
Stop tooltip timeout when a canvas-widget or item is hidden.
2017-04-17 01:45:25 +02:00
Robin Gareus
85b5741081
Allow to selectively use NSGLView Canvas
...
Various GdkEvents are not yet handled correctly, eg. unpacking a widget
from its container does not unmap it, nor are remaining widgets in the
contained re-positioned (size allocation does not change, nor does the
mapping). This affects eg. Mixbus Strips
2017-03-21 05:37:44 +01:00
Robin Gareus
60a0b8f645
Forward un/map events to NSGLView
2017-03-20 17:12:08 +01:00
Robin Gareus
b5e613d453
Move NSGlView into libgtkmm2ext
...
This allows to re-use the concept with CairoWidget
2017-03-20 04:35:05 +01:00
Robin Gareus
c371fc5115
Prepare NSView/OpenGL Canvas (to speed up rendering on [mac]OS[X]
...
This avoids Coregraphics (cairo_quartz_surface..) competely.
The openGL texture bypasses CG's slow argb_image and CGSColorMask
methods.
2017-03-19 22:49:17 +01:00
Paul Davis
f5d6c908ac
canvas::grid - more tweaks and improvements
2017-02-01 21:58:20 +01:00
Paul Davis
94443bab7e
basics of row/col span for Canvas::Grid
2017-02-01 21:58:20 +01:00
Paul Davis
2c9b0796a3
change Grid API to avoid unnecessary Duple and open door for row/col span
2017-02-01 21:58:20 +01:00
Paul Davis
91908dde7e
clear up some CSS padding/margin confusion, and add row/col spacing
2017-02-01 21:58:20 +01:00
Paul Davis
14cb9ec795
canvas::grid starts being able to do its job a little
2017-02-01 21:58:20 +01:00
Paul Davis
e616324683
add basic data members and methods for adding an explicit size allocation for Canvas::Item
2017-02-01 21:58:20 +01:00
Paul Davis
cce1c58198
This wasn't supposed to be pushed to master.
...
Revert "add basic data members and methods for adding an explicit size allocation for Canvas::Item"
This reverts commit d1c1d8df61 .
2017-01-24 23:17:38 +01:00
Paul Davis
d1c1d8df61
add basic data members and methods for adding an explicit size allocation for Canvas::Item
2017-01-24 22:45:22 +01:00
Paul Davis
4fa4b9a135
remove use of boost::optional to define "undefined" Canvas::Rect, and use Rect::empty instead.
...
This commit includes Rect::operator bool() which might be a candidate for removal in a future commit, in an attempt
to make the meaning clearer
2017-01-19 20:54:54 +01:00
Paul Davis
b4cf8cfc49
fix up Canvas::Grid child layout
2017-01-19 00:24:54 +01:00
Paul Davis
c91c028c37
do not add items twice to their canvas parent!
2017-01-19 00:24:54 +01:00
Paul Davis
99b86f0f05
basic (and probably wrong) Canvas::Grid child placement
2017-01-15 12:13:03 +00:00
Paul Davis
9ed87f6693
initial skeleton for a Grid canvas item
2017-01-15 12:13:03 +00:00
nick_m
3129370bc5
add ArdourCanvas::Flag::width()
2016-12-29 04:16:09 +11:00
Robin Gareus
004431426d
Towards packing CairoWidgets on ArdourCanvas.
2016-12-19 13:36:42 +01:00
Paul Davis
1552547f65
stop using gkd_pango_context_get() in ArdourCanvas::Canvas and require concrete instances to supply a Pango::Context; do this for GtkCanvas and Push2Canvas
2016-10-13 17:18:54 -04:00
Paul Davis
81f2ed452b
provide ArdourCanvas::Text::{width,height}()
2016-09-27 14:59:32 -05:00
Paul Davis
29b8072555
add canvas-based Meter object
2016-09-27 14:59:32 -05:00
Paul Davis
85c1523611
add new Box container for Canvas.
...
API subject to change and improvement
2016-09-27 14:59:32 -05:00
Paul Davis
ba82e673fd
add variant of Rect::expand() that allows different amounts in each direction
2016-09-27 14:59:32 -05:00
Paul Davis
f66f7ba136
make inclusion/exclusion of hidden children optional in Item::add_child_bounding_boxes
2016-09-27 14:59:32 -05:00
Paul Davis
5672419fff
add Item::add_front()
2016-09-27 14:59:32 -05:00
Paul Davis
095bdb7d40
make Item::child_changed() virtual
2016-09-27 14:59:32 -05:00
Paul Davis
216ce7bcb8
a slew of unconnected mostly minor tweaks to get Push2 support back to where it was...
...
... prior to using the canvas for the video screen
2016-09-27 14:59:31 -05:00
Tim Mayberry
d4a64299c5
Add missing header include guards in canvas library
2016-09-13 14:32:22 +10:00
Robin Gareus
eec294a97e
the endless quest to plug memory leaks -- episode 378
2016-07-25 17:16:32 +02:00
Robin Gareus
17b162c5da
add fill-area feature to poly-line
2016-07-05 00:39:39 +02:00
nick_m
0c7ecc6cbb
Tempo ramps - add Canvas::FramedCurve and use it in the tempo marker bar.
2016-05-27 23:38:16 +10:00
Robin Gareus
742e113a7b
backport canvas color functions from Mixbus
2016-05-17 18:17:51 +02:00
Robin Gareus
160b24b137
fix crash when cleaning up canvas items
...
Backport from Mixbus. In Ardour this does not currently matter
since there is no top-level canvas destroyed top-down.
...
Editor::session_going_away
MixerStrip::~MixerStrip
MixbusStripCanvas::~MixbusStripCanvas
ArdourCanvas::GtkCanvas::~GtkCanvas
ArdourCanvas::Canvas::~Canvas
ArdourCanvas::Root::~Root
ArdourCanvas::Container::~Container
ArdourCanvas::Item::~Item
ArdourCanvas::Item::clear_items
GtkCanvas::item_going_away()
queue_draw_item_area()
..expose can take place async to garbage collection: crash in one of the
items.
2015-11-02 05:15:55 +01:00
Robin Gareus
22b07e0233
NOOP, remove trailing tabs/whitespace.
2015-10-05 16:17:49 +02:00
Paul Davis
4dc63966f0
globally remove all trailing whitespace from ardour code base.
...
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
Paul Davis
ec06f2c49f
spelling error fixes (notably "overriden" => "overidden") from IOhannes m zmölnig
2015-09-11 09:23:43 -04:00
Robin Gareus
57321bef35
consistent pango-text layout size - fixes #6490
...
Use gdk_pango_layout() for all text-size calculations.
In Canvas::Text always use the same context (local image surface)
for layouting (prior to this, local and window-context mix resulted in
different sizes).
2015-09-06 16:39:08 +02:00
Robin Gareus
93aa8d3734
waveform, mutex for _current_image
...
may be used in render-thread while invalidate_image_cache() is called.
possible fix for #6478
2015-09-02 14:28:26 +02:00
Robin Gareus
63e3f326e9
clear waveform cache when shape changes - fixes #6525
2015-08-20 03:01:51 +02:00
Paul Davis
e9224a58d1
several changes, major and minor, to improve threaded waveview rendering
2015-06-23 14:26:26 -04:00
Paul Davis
dece3c20ca
create sortable, linear list for cache clearing on demand, rather than trying to maintain it in parallel with the cache map
2015-06-23 08:42:55 -04:00
Paul Davis
424f6539b4
change location for initialization of static WaveView image cache, and provide a visible method to set the cache flush threshold
2015-06-23 08:17:48 -04:00
Paul Davis
8491a015e3
stop pixel jitter when changing waveview height.
...
To avoid pixel jitter, the top and bottom of each line in the waveview must be computed together in a single computation,
rather than independently.
Also, remove various height corrections and cairo translations that are not necessary or relevant anymore. A subsequent
commit for the GUI will pick up on this work to get the appearance completely correct
2015-06-19 08:14:02 -04:00
Paul Davis
1043357cc9
attempt to correctly respond to changes in _amplitude_above_axis in ArdourCanvas::WaveView
2015-06-19 08:10:45 -04:00
Paul Davis
2ec9151170
fix compiler const-cast warning
2015-06-19 08:10:35 -04:00
Paul Davis
cc543280d9
We were 2 more debug "bits" away from overflow, so recast PBD::DEBUG mechanism away from a 64bit integer and toward std::bitset.
...
Clean up a few minor related PBD::DEBUG issues along the way
2015-06-12 18:14:09 -04:00