Commit graph

349 commits

Author SHA1 Message Date
David Robillard
3d4b1d324e Fix calculation using uninitialized value.
Implicit "this" is the devil.
2014-11-27 04:15:30 -05:00
Paul Davis
6edd81e4f6 get correct ::distance() and ::delta() implementations for cases involving achromatics 2014-11-26 18:22:22 +02:00
Paul Davis
318a9edab9 massive reworking of color selection implementation 2014-11-26 18:22:22 +02:00
David Robillard
ea5876b836 Remove dead code. 2014-11-25 02:11:44 -05:00
David Robillard
bd577a0663 Avoid possible use of uninitialized values.
This could only happen with a broken widget, but it shuts up clang and doesn't
hurt.
2014-11-18 02:55:03 -05:00
David Robillard
333c776e0e Fix MIDI region keyboard editing (add key handling to canvas). 2014-11-15 02:04:28 -05:00
Robin Gareus
9a9a8f78ef fix define 2014-11-13 19:05:58 +01:00
Paul Davis
12b715e6fa tweak canvas on_expose_event() handler to avoid unnecessary save/paint/restore 2014-11-10 20:34:20 -05:00
Paul Davis
fdcb792358 further work on new color manipulation code 2014-11-10 20:33:54 -05:00
Paul Davis
1317b57221 add required header for compilation 2014-11-10 11:46:17 -05:00
Paul Davis
ef56948d4a add background color property to Canvas::Canvas ; rearrange expose handling and include background fill
Conflicts:
	libs/canvas/canvas.cc
	libs/canvas/canvas/canvas.h
2014-11-10 10:43:25 -05:00
John Emmas
373caeede8 Add some newly introduced source files to our MSVC project (cairocanvas) 2014-11-08 10:48:26 +00:00
Paul Davis
4260d0ca0e use new canvas colors header as necessary 2014-11-07 14:24:27 -05:00
Paul Davis
69fd25f6f4 move canvas colors code into its own file(s) 2014-11-07 14:24:13 -05:00
Paul Davis
a441de1a18 when drawing only part of a Canvas::Rectangle outline, we only need to do the cairo-pixel alignment math for the axis perpendicular to the edge 2014-11-07 12:58:56 -05:00
Robin Gareus
0fedfab593 tentative fix for canvas background/image surface 2014-11-07 16:50:21 +01:00
Paul Davis
7670e463cc add API to extract color from ArdourCanvas::Text and tidy up member declarations
Conflicts:
	libs/canvas/canvas/text.h
2014-11-06 20:38:02 -05:00
Paul Davis
787f9748b6 changing the clamp_width of an ArdourCanvas::Text needs to potentially provoke an entire redraw
This fixes missing range marker text in sessions where the initial zoom value causes an initial clamp_width of zero
2014-11-06 20:38:02 -05:00
Paul Davis
c9c4a5c29d raising/lowering canvas items should trigger a redraw 2014-11-06 10:58:37 -05:00
Paul Davis
ecd618c343 correct the rendering of Rectangle outlines, and the computation of their bounding box 2014-11-05 19:45:23 -05:00
Paul Davis
857719f2e1 add Rect::shrink(Distance) even though it arguably should be handled by Rect::expand() 2014-11-05 19:45:23 -05:00
Paul Davis
f3d349bc9a add some more outline enums to ArdourCanvas::Rectangle 2014-11-05 19:45:23 -05:00
Paul Davis
589e59d7a1 allow derived classes to access Item::{scroll,position}_offset(), mostly for debugging purposes 2014-11-05 19:45:23 -05:00
Paul Davis
b02ea3d435 alter implementation of ArdourCanvas::contrasting_text_color() to use gamma-adjusted luminance values rather than simple contrast 2014-11-05 11:13:28 -05:00
Paul Davis
70e95f951d add ArdourCanvas::Fill::set_pattern() to allow any filled canvas item to be filled using an arbitrary Cairo Pattern 2014-11-05 11:13:09 -05:00
Paul Davis
f1e6b28ab7 use ArdourCanvas::TimeRectangle for regions, notes, markers 2014-11-03 21:48:08 -05:00
Paul Davis
56994e785e add new TimeRectangle to ArdourCanvas 2014-11-03 21:48:08 -05:00
Paul Davis
90872c2b31 more changes for rectangle outlining 2014-10-31 10:56:08 -04:00
Paul Davis
a942493565 comment fix and expansion re: Canvas::Rectangle outline 2014-10-31 10:56:08 -04:00
John Emmas
973d40e3ac Add support for USE_CAIRO_IMAGE_SURFACE when building with MSVC
(new preprocessor directive - greatly improves CPU loading)
2014-10-29 17:36:30 +00:00
Robin Gareus
b04414d170 allow to use cairo-image/software surface for canvas & cairowidgets 2014-10-28 02:15:10 +01:00
Robin Gareus
6dc3a4bf61 remove unused old API 2014-10-28 01:27:14 +01:00
Paul Davis
65036cf3eb add #include that had gone unnoticed before 2014-10-24 12:18:46 -04:00
Paul Davis
d3a4a92bd5 Containers should not consider the size of invisible items when computing their own bounding boxes.
This fixes issues related to the rulers container believing it was taller than it actually is, and possibly other issues also
2014-10-13 22:40:08 -04:00
Paul Davis
b945fa69ba remove default/testing tooltips from the canvas 2014-10-13 13:53:07 -04:00
Robin Gareus
1bde96be09 there's no random() on window, but no matter 2014-09-30 19:08:16 +02:00
Paul Davis
b4438942ca fix compiler warning from missing default statement in switch 2014-09-27 18:09:22 -04:00
Paul Davis
2a53154892 end tooltip timeout and display for relevant leave notify events 2014-09-26 17:06:38 -04:00
Paul Davis
df5a188825 further tweaks to canvas tooltip mechanism 2014-09-26 12:24:47 -04:00
Paul Davis
bb68d83e43 display and position canvas tooltip window 2014-09-26 11:05:24 -04:00
Paul Davis
d0dafc171c basic design of Canvas item tooltip mechanism.
No window yet to actually display the tooltip.
2014-09-25 21:43:15 -04:00
Paul Davis
2e2390d053 alter the way the border of Canvas::Rectangle is drawn to meet the intent that a single pixel border passes through the corner coordinates 2014-09-22 11:36:04 -04:00
Robin Gareus
3da9c3b740 NOOP, remove trailing whitespace 2014-09-13 01:48:10 +02:00
Robin Gareus
aa83f1a8c7 waveform drawing details:
* proper y-pixel alignment (+.5px offset)
* outline: draw dots (not 1px lines)
* shape: round towards peak (use signal, not top/bot)
* honor 2px red selection border
* work-around canvas rect +1 issue
* always draw clipping line towards center
* draw at most one clip-line at either side of 0.
* exact 1px wide zero line
* fix spread calculation for rectified view
2014-09-13 01:48:10 +02:00
Robin Gareus
878797d13e waveform: really draw 1px lines. 2014-09-12 16:43:20 +02:00
Robin Gareus
98249a2563 update waveform drawing for zoomed-in, non-overlapping min/max peaks 2014-09-12 16:42:55 +02:00
Paul Davis
94adde7ebb add Canvas::Ruler::set_metric() to allow ruler metrics to be changed dynamically 2014-09-07 10:19:42 -04:00
Paul Davis
1a6136e1e3 change Metric element of a Canvas::Ruler item into a pointer internally 2014-09-07 10:19:31 -04:00
Robin Gareus
158037bba2 Match canvas outline to rectangle
It looks like we're currently [consistently] off by 1px
everywhere. The width-1 is compensated by
TimeAxisViewItem::RIGHT_EDGE_SHIFT = 1
2014-09-01 18:05:09 +02:00
John Emmas
65715dd298 Make sure all our VC projects agree that the product is called 'Mixbus3' (as opposed to just 'Mixbus')
It'd be nice if we could use 'ARDOUR::config_dir_name' for this purpose (or perhaps 'PROGRAM_VERSION'). However, neither is implemented widely enough at present to make this practical. Keep an eye on them though, as possible future strategies.
2014-08-28 07:57:20 +01:00