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
Paul Davis
10643779b6
more refactoring of WaveView threaded code to try to get to heart of crash bug
2015-06-11 17:04:08 -04:00
Paul Davis
077e625734
don't queue a callback with the idle event for waveview image generation if one is already queued.
...
Also, hold relevant lock when waking image rendering thread.
2015-06-11 13:35:01 -04:00
Paul Davis
1c6c9e95ba
add PBD::DEBUG::WaveView
2015-06-10 18:48:12 -04:00
Paul Davis
bc945bb3d3
use existing partial existing waveview images (if they exist) while waiting for the full ones
2015-06-04 17:46:53 -04:00
Paul Davis
d17e35772d
drop in threaded waveview changes via the two affected files.
...
Rebasing the feature branch against master was too messy, and only these two files were
changed. The development history of this branch could easily have been --squash'ed anyway,
so not much of a loss
2015-06-01 14:45:41 -04:00
Paul Davis
c36504f2ec
NOOP: fix indentation
2015-04-29 09:05:15 -04:00
GZharun
1a84fa3c42
[Summary] Should have been committed with previous: made background fade optional and not shown by default
2015-04-29 08:59:24 -04:00
Paul Davis
80ae2bbe23
fix issue with manual merge conflict
2015-04-29 08:23:13 -04:00
Paul Davis
a83050a255
manually apply grygorii's API to manage a correction for pango errors in text size computation on OS X
2015-04-29 08:19:22 -04:00
GZharun
96371c8327
[Summary] Fixed issue when width request from Cavas text returned old width value
...
[Reviewed by] Paul Davis
Conflicts:
libs/canvas/canvas/text.h
2015-04-29 07:27:34 -04:00
Paul Davis
697d8a2732
do the right thing when TrackingText::offset is changed
2015-04-29 07:26:18 -04:00
Paul Davis
d9cb8a807e
Fix method hiding in Canvas::Text
2015-04-29 07:25:58 -04:00
Paul Davis
4cf402bdcf
add API to Ruler to optionally draw a divider (2 single pixel horizontal lines) at some position within the vertical extent of the ruler
2015-04-29 07:22:36 -04:00
Paul Davis
59ce8663f9
add Rectangle::vertical_fraction() as a convenience method
...
Conflicts:
libs/canvas/rectangle.cc
2015-04-29 07:22:05 -04:00
nick_m
8962bfba61
Better fix for 6183.
...
Invalidate all source entries from the image cache when we get our
region's DropReferences signal, while ignoring any subsequent regions with
no source.
2015-03-29 02:13:40 +11:00
nick_m
69a6c4d747
Provide an image if there are no peaks.
2015-03-22 00:31:32 +11:00
David Robillard
86c6541323
Move PC flags to avoid obscuring region name.
...
Fixes bug #6179 . Top vs. bottom seems pretty arbitrary to me, and this solves
the obscuring issue (which is quite common since there are often PC events at
the start of MIDI files), so bottom it is.
2015-03-14 00:21:29 -04:00
Ben Loftis
bd6ef95989
add accessor methods for single_exposure
2015-02-12 11:35:35 -06:00
Ben Loftis
b8ec035b24
_single_exposure is now a member variable for each GtkCanvas.
...
Gtk coalesces multiple exposes into a single combined rect.
If _single_exposure is disabled, we break apart the individual expose rects for the canvas rendering.
2015-02-12 11:35:35 -06:00
Paul Davis
a992a2e6e0
simplify Canvas::Rectangle rendering to avoid unnecessary nonsense, and remove TimeRectangle
2015-02-11 21:59:38 -05:00
Paul Davis
2a5921ecf1
Canvas::Rect::contains() should treat its right/left coordinates as exclusive
2015-02-11 21:59:38 -05:00