f9936d7d3c
move text origin back down, since it was a mistake to move it; alter computation of text bounding box to more accurate and efficient (not done yet)
2013-06-26 17:55:42 -04:00
2c3d570582
tweak position of pango-rendered text image on canvas by 2 pixels upward
...
this is an arbitrary tweak but seems to work well thus far
2013-06-26 12:29:44 -04:00
57ff5e3198
fix gradient pattern origin translation for time axis view items
...
note: the solution is non-obvious, but the obvious one of applying a translational Cairo::Matrix to the gradient
caused an exception to be thrown because of a non-invertible matrix.
2013-06-25 20:41:24 -04:00
2108525187
fix up size and drawing of measure lines, even when vertically scrolled
2013-06-24 23:03:11 -04:00
a1f858d3b2
an awful lot of tweaks to drawing details
2013-06-24 16:28:53 -04:00
0ce393f051
likely fix for Canvas::Image positioning under new coordinate/render rules
2013-06-22 14:59:43 -04:00
11becd4a6b
properly restore newer (cairo-canvas related) UI config parameters
2013-06-21 17:15:56 -04:00
a079118981
fix incorrect coordinate space when drawing first poly-curve line
2013-06-21 13:56:01 -04:00
1c74a3ab2d
waveform drawing improvements
...
* handle logscaled and rectified
* put dark tips in right places
* improve color selection algorithm
2013-06-21 13:17:37 -04:00
68779e0c0a
(working) start of an experiment with pyramix-style waveform drawing
2013-06-20 23:12:19 -04:00
27c943f1dd
new image cache design for waveviews, with various fixes.
...
Rather than maintain a set of images in a cache, when we no longer have the required waveform data, create a new image that is appropriately centered and extends to roughly twice the screen width (or the limits of the region's source file(s), as necessary)
2013-06-20 14:37:31 -04:00
3604bf12a2
get wave drawing improved, but commit before i tear it all up and go back to a single cached image per waveview
2013-06-19 20:23:22 -04:00
f9d30cf41a
inching pretty close to fully working waves now
2013-06-19 14:44:08 -04:00
79384aeb66
initial semi-working attempt at getting waveview cache to work correctly
2013-06-18 23:03:20 -04:00
691be68ac2
fix rect redraw problems caused by intersection requiring the usual 0.5 expansion (though consider a more general fix for this at teh group level)
2013-06-18 13:46:24 -04:00
77f5f4c4bf
basically operational switch to canvas drawing coordinates, although text and waves don't work, and redraw areas are too small
2013-06-18 08:23:06 -04:00
c358e77e1e
move setup_outline_context() to a more sensible shared location
2013-05-02 18:21:35 -04:00
41d68e780f
do not trigger visual changes when Fill::set_* methods don't change anything
2013-04-26 14:19:16 -04:00
f9a46e78d6
fix incorrect 3rd arg to AudioRegion::read_peaks() - was passing end, not cnt. Fixes waveforms at high zoom
2013-04-26 11:10:19 -04:00
f8a37b197f
tweak enter/leave code, remove debug output
2013-04-25 09:49:02 -04:00
fd7ac62ca5
don't invalidate image cache for every regionr esize, only region start changes
2013-04-25 09:48:38 -04:00
d0867e67e3
more tweaks for enter/leave events for canvas items
2013-04-24 22:57:23 -04:00
737433c446
tweaks to improve enter/leave event handling - fixes at least some crashes caused by this stuff
2013-04-24 18:31:00 -04:00
6f664c1f67
many pervasive changes primarily related to waveform drawing, particular content-dragging, colors, and more
2013-04-24 15:42:14 -04:00
b36e085001
add back change lost during branch merging
2013-04-21 18:57:55 -04:00
eb23bd8102
add Group::clear(), do not clear _canvas member of Item when unparented (only the parent is changed)
2013-04-21 15:35:20 -04:00
b02a7445bf
Revert "add Group::clear(), do not clear _canvas member of Item when unparented (only the parent is changed)"
...
This reverts commit a4df65a56f83823aba27432685977f420458a213.
2013-04-21 15:35:20 -04:00
fca81c9a6a
add Group::clear(), do not clear _canvas member of Item when unparented (only the parent is changed)
2013-04-21 15:35:20 -04:00
fee8de9787
Revert "cairo image crash debugging" and "initialize image data"
...
This reverts commit dfdb91b429
and commit 188d766757
.
despite earlier assumptions the code is correct and there is
likely a memory corruption elsewhere.
2013-04-20 23:36:13 +02:00
dfdb91b429
cairo image crash debugging
2013-04-20 22:51:37 +02:00
9a3bc39970
tweak event/leave event delivery so that it applies to items being deleted as well as motion events (hmm, needed for item addition too ...)
2013-04-20 16:11:40 -04:00
188d766757
initialize image data.
2013-04-20 22:07:43 +02:00
0c170b0897
no create cached waveview images that span from render-start to cache-start, but always clamp the end to render-end, to avoid creating over-sized images
2013-04-19 10:53:52 -04:00
907e7cd4af
part two of ... add Canvas::Arc and derive Canvas::Circle from it
2013-04-18 21:29:13 -04:00
8482ce14ce
add Canvas::Arc and derive Canvas::Circle from it
2013-04-18 21:28:11 -04:00
5bb213f53b
add Canvas::Circle
2013-04-18 15:47:30 -04:00
74126c48c0
expand bbox for Canvas::Line to get rid of artifacts caused when moving them around, as is done for Rectangle and others
2013-04-18 15:47:10 -04:00
b7aeb147f2
display waveform polarity correctly
...
* cairo's Y axis points downward -> invert phase display
* fix logarithmic view for value.max < 0
2013-04-18 10:25:35 +02:00
3737f346ee
Merge branch 'cairocanvas' of git.ardour.org:ardour/ardour into cairocanvas
2013-04-17 15:23:01 -04:00
ec102f94e1
various work waveview amplitude mgmt; fix playhead cursor drag from timebar click
2013-04-17 15:22:09 -04:00
8f2a2877b5
ArdourCanvas::Image allow to set custom data instead of class pre-allocated memory.
2013-04-17 20:26:09 +02:00
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
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
381d4debf4
make waveform gradient depth continuously variable. color probably needs adjusting as do color stops to get a pleasing effect at most settings
2013-04-16 21:23:50 -04:00
c1df3295c1
virtual Fill:: and Outline:: methods so that Canvas::Items that cache image renderings of themselves can invalidate those caches when colors etc. change; add Item::{begin,end}_visual_change() so that we can notify the canvas more efficiently when *only* visual properties have changed and not the bounding box (probably needs to be used more widely)
2013-04-16 20:38:10 -04:00
81eed21dde
some rationalization of how global WaveView properties and per-WaveView properties interact
2013-04-16 18:02:12 -04:00
a74743f551
somewhat restore ability to see rectified waveforms
2013-04-16 16:14:57 -04:00
33e09447e9
restore log-scaled waveform functionality
2013-04-16 15:38:18 -04:00
ef60401d92
(hopefully) fix double-buffering design of ArdourCanvas::Image
2013-04-16 14:20:04 -04:00
ccc9b6adee
change rendering technique for waveforms, add back optional gradient, add back amplitude scaling, add rgb/hsv conversion utilities to canvas
2013-04-16 14:04:59 -04:00