Robin Gareus
d7a9c11315
fix x-fade display access beyond array boundaries
2015-05-19 19:28:22 +02:00
Robin Gareus
198c4d1d88
gfx-card & performance testing
2015-05-02 04:54:59 +02:00
Robin Gareus
89f5e22896
fix double precision abs value computation
2015-04-29 19:56:35 +02:00
Robin Gareus
84aab564b4
enable fade-out display by default in A4.
...
..because fade outs are implicit in A4.
Eventually the GUI needs to set_show_background_fade() as needed.
2015-04-29 19:55:53 +02: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
2828dcaaf9
make computation of OS X pango text width correction less intrusive/more efficient.
...
Compute the correction only once after each font specification setting.
Conflicts:
libs/canvas/canvas/text.h
2015-04-29 08:20:31 -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
Paul Davis
5ab699f898
manually apply grygorii's waveform amplitude implementation
2015-04-29 07:54:21 -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
84cb8913b0
change placement of ruler divider so that the lower line is at the specified height, rather than the upper
2015-04-29 07:26:29 -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
2673ef4af4
change ruler rendering to change tick heights and move text down
2015-04-29 07:23:36 -04:00
Paul Davis
065c6d813e
add missing API
2015-04-29 07:22:48 -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
38728f0835
correct implementation for Rectangle::vertical_fraction()
2015-04-29 07:22:21 -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
dff83c77cf
Amend ac1f7e0b
2015-04-17 05:36:13 +10:00
nick_m
ac1f7e0b9f
Indicate all clips on rectified view.
2015-04-17 05:26:57 +10:00
nick_m
7f41de7427
Improve waveview height and scaling.
...
The top line of the selection rect is arguably 1 px too low, but
waveviews seem centered on the area properly.
2015-04-17 05:03:51 +10:00
John Emmas
b3fb73812c
Position (and size) canvas tooltips such that they better resemble Gtk tooltips
...
Mixbus in particular uses both types of tooltip so we might as well make them look the same.
N.B. The appearance is fine now on Windows but needs to be tested on the other platforms (i.e. some tweaking might be necessary).
2015-04-09 15:46:12 +01:00
John Emmas
2234fd4b8a
Delete a canvas tooltip after we've finished with it
...
All canvas objects share just one tooltip object which is based around Gtk::Label. The Label expands if the current tooltip text is wider than the previous text. However, it doesn't shrink again if the next tooltip has shorter text. Eventually, this results in some very strange looking tooltips (especially in Mixbus where they're used quite extensively).
Deleting the object after use will force a new object to get generated next time (at the correct size). There's still only ever one object per canvas but it's no longer persistent.
2015-04-09 15:42:00 +01:00
Robin Gareus
47110c983c
fix OSX/PPC 10.4 long maths
2015-03-31 16:05:15 +02:00
John Emmas
2e27b55179
For the canvas library, #include 'gtkmm2ext/gui_thread.h' rather than 'gtk2_ardour/gui_thread.h'
...
Technically it doesn't make much difference but from what I can tell, the only files which #include 'gtk2_ardour/gui_thread.h' are the source files from gtk2_ardour itself. The support libraries always #include 'gtkmm2ext/gui_thread.h' directly (which seems sensible). So for consistency's sake, let's keep it the same for libcanvas.
2015-03-29 09:53:02 +01: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
eff25b06f5
Fix 0006183 (waveview crash).
...
Should fix crash when audiosource disappears.
Reworked from submitted patch from tlat.
2015-03-24 23:35:43 +11:00
nick_m
bc20da35f7
Revert mistaken change in e7b0e67bc8
2015-03-22 05:35:13 +11:00
nick_m
69a6c4d747
Provide an image if there are no peaks.
2015-03-22 00:31:32 +11:00
Robin Gareus
0f2ead3d6b
fix redraw of automation ControlPoints
2015-03-20 23:31:21 +01: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
nick_m
e7b0e67bc8
Manual merge of the drawing component of waveview branch.
...
In summary:
* no antialiasing of waveviews
* no diagonal lines
* simplify clip detection
* don't use LINE_CAP_ROUND for outline
* use the wave colour when drawing outline only
2015-03-10 23:35:53 +11:00
nick_m
5d5f83c56b
The commit 3da9c3b740
...
wasn't the no-op it claimed to be.
2015-02-20 23:30:48 +11: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
0f0aebf26b
remove naive attempt to avoid drawing first vertical pixel line of Canvas::WaveView
...
And add commented out attempt at more subtle attempt to get it right
2015-02-11 21:59:38 -05: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
Paul Davis
34779ee81e
add a sort-of hack to allow us to avoid drawing the first pixel of a waveview when necessary
2015-02-10 19:48:47 -05:00
Paul Davis
c679d616f6
correct drawing of rectangle borders.
...
They need to use fractional coordinates, and the border position needed
generalizing for other border widths. See verbose comment for details
2015-02-09 16:41:28 -05:00
Paul Davis
736038556f
canvas items must be able to use fractional positions when rendering.
...
This is required to be able to draw precise single pixel lines, as described
in the Cairo FAQ
2015-02-09 16:40:10 -05:00
Ben Loftis
b4a0136155
tweak to help with uncoalesced renders
2015-02-03 17:35:37 -06:00
Paul Davis
9fab39358a
render canvas using the GDK region rather than the GDK area.
...
The region is the un-coalesced set of rectangles that were requested for redraw. The area
is the coalesced single rectangle. In the worst cases, the coalesced rectangle could span
the entire window even though just two pixels in opposite corners were to be redrawn.
There is a problem with the verbose cursor as it is dragged across MIDI tracks. TO BE
FIXED.
2015-02-03 15:38:14 -05:00
Paul Davis
ccd881d518
ScrollGroup::covers_{window,canvas}() need to account for possible non-zero position of the group.
...
They also do NOT need to consider scroll offset
2015-01-24 18:48:28 -05:00
Paul Davis
e84e1f7403
ScrollGroups are kept in their own list, so ::window_to_canvas() does not need to inspect root group children to find them
...
Conflicts:
libs/canvas/canvas.cc
2015-01-24 18:48:15 -05:00
Robin Gareus
f282884094
apply Theme > “Show waveform clipping”
...
fixes http://tracker.ardour.org/view.php?id=5589#c15515
2015-01-21 19:35:04 +01:00
Ben Loftis
d2fa2450aa
use C locale, because POSIX locale is not supported on windows, and operation is undefined. C works on all platforms
2015-01-19 07:29:25 -06:00
David Robillard
a58730e8f9
Revert "Kludgey fix for invisible playhead when scrolled."
...
This reverts commit 8f823388d9 .
2015-01-16 22:06:10 -05:00
David Robillard
fc70b5a9f9
Compute arrow bbox manually to appease crazy canvas.
2015-01-16 22:04:26 -05:00