David Robillard
86242348ec
Fix crash when getting width of item with no bbox.
2014-12-24 16:02:56 -05:00
Paul Davis
a494211e73
add ArdourCanvas::change_alpha()
...
Time to move away from rgba macros
2014-12-19 09:53:26 -05:00
Paul Davis
74be550698
change Item::visible() to Item::self_visible(); add Item::visible() which returns accurate visibility
...
Child items will be hidden when their ancestors are hidden. The old ::visible() implementation didn't reflect this. In addition,
when changes are made to hidden items (new definition of visible/not visible), don't bother to request redraws, since this will
be done when the item becomes visible again.
2014-12-18 10:30:38 -05:00
Paul Davis
9831006c8e
add getters for SVAModifier
2014-12-15 12:06:53 -05:00
Paul Davis
995bcd3aa0
fix typo
2014-12-15 09:29:04 -05:00
Paul Davis
aa57e9e032
more fixes to SVAModifier constructor(s)
2014-12-15 09:03:52 -05:00
Paul Davis
3fa4063d9b
fix up SVAModifier constructors
2014-12-14 23:41:31 -05:00
Paul Davis
427b93055f
add SVAModifier to ArdourCanvas color code
2014-12-14 23:34:36 -05:00
Paul Davis
624a86c39d
lots more color work, closer and closer to being ready for ... being taken apart again
2014-12-08 22:02:38 -05:00
Paul Davis
9ac7ddb31d
remove all explicit button text colors; use contrasting_text_color() instead.
...
Also, use a slightly off-white rather than pure white, which should really be configurable
2014-12-07 13:55:40 -05:00
David Robillard
60f4f5b9d8
Fix inappropriately massive flag font.
2014-12-06 16:07:32 -05:00
Robin Gareus
9266e7524a
experimental drawing optimization.
...
Q: is bounding_box(); etc more complex than queuing draw?
either way, canvas should eventually switch to
use an optimized OptimizingLookupTable.
2014-12-05 22:40:26 +01:00
Paul Davis
207fd04587
include alpha-delta computation in HSV::delta()
2014-12-05 09:01:55 -05:00
Paul Davis
db3d42d551
first pass at optimization for low-level canvas code
2014-12-02 05:32:34 -05:00
David Robillard
f190e630ab
Show discrete/toggled automation as stepped line.
2014-11-28 21:15:28 -05:00
John Emmas
ea35595370
Add some newly introduced source files to our MSVC project (cairocanvas)
2014-11-28 14:42:17 +00:00
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