Age | Commit message (Collapse) | Author |
|
This fixes an -Woverloaded-virtual ambiguity introduced in b5e613d45
void render (cairo_t*, cairo_rectagle*)
void render (Cairo::RefPtr<Cairo::Context> const&, cairo_rectangle_t*)
ArdourCanvas prefers cairomm and CairoWidget itself uses Cairo::Context,
this improves overall API consistency.
|
|
on key release, and vice versa
This should really be split in separate semantics for key and button events.
Fixes a subtle but nasty bug in the EngineDialog where the change of the default focus
widget from a Gtk::Button (acts on press) to an ArdourButton (acts on release) caused
events occuring after a dialog has grabbed focus to trigger button clicks
|
|
|
|
|
|
In the normal course of events, an ArdourButton requests just enough
space to display its elements. In particular the size will change when
the text does. Yet, in several cases it is better to avoid layout jittering; until now ArdourButton users manually set a static size on the button at creation time.
Introduce new API to set the text used for measuring the button size
separately from the text that will be displayed. In most cases this
enables the callers to replace
set_size_request_to_display_given_text(button, text, w, h);
where w and h were hard-coded to cater for other button elements, by
button.set_sizing_text(text);
which will make ArdourButton correctly compute the size request in all
cases with its real elements and padding. ArdourButton users can call
button.set_sizing_text("");
to get the size request depend on displayed text (which is the default).
|
|
If for whatever reason a grab is taken (e.g. a menu popping up) while
somebody is pressing a mouse button on an ArdourButton, then the
ArdourButton will not get the mouse button release event and will look
stuck in pressed position.
The leave notify event is fired if the mouse is still on the
ArdourButton while the grab is taken, but not if the user was dragging
the mouse outside of the button.
The only reliable way is to listen for the grab_broken_event signal.
Do so.
|
|
Buttons with this tweak do not change their size request based on their text (or lack of it)
|
|
colors
|
|
The Fader led has special behavior and is only toggled when clicked
explicitly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Diameter is calculated depending on font-scaling.
Besides, all explicit calls simply set the default
value, anyway. If some API is needed in the future,
it should set the diameter in [em].
|
|
We really should statically cache patterns
as done in PixFader and Meters (Cairo's cache is
not nearly large enough)
|
|
This fixes issues where button text was set during static
initialization where the widget style was not yet available,
and a lot of related issues where the text was set
before style.
|
|
|
|
|
|
|
|
|
|
|
|
In the long run we want a class hierarchy:
CairoWidget
-> ArdourWidget
-> ArdourLabel
-> ArdourButton
-> SpecialArdourButton(s)
|
|
|
|
Ideally large parts of ArdourButton would become ArdourLabel,
which in turn is used by ArdourButton
|
|
Optionally allow events to fallthrough to parents, in particular for the DnDVBox case.
Also allow the number_label to operate as a track selector.
|
|
function for setting cairo color with a Gtk::Color
|
|
ArdourButtons now have a "pushed" animation.
The gradient is now implemented in the button, rather than providing 2 colors in the theme, which was burdensome.
Lots of code cleanup in ArdourButton. Removed several unnecessary flags.
Refactor more stuff into route_ui.
|
|
ArdourKnob instead of VolumeController. New ArdourDisplay shows a controllables user value, and provides support for preset values (hardcoded at present). Further refactoring to come, so that ArdourWidgets are derived from a common class. Controllable now has more responsibility for scaling between internal, user, and interface (knob percent) values. This also needs more refactoring and might have some unintended consequences. tested with audio and nothing seems amiss, yet.
|
|
|
|
|
|
inset jeweled look. changed name to match
|
|
|
|
|
|
::on_name_changed() in CairoWidget
|
|
Valeriy's original changes)
|
|
ArdourButton::set_colors() from ArdourButton::build_patterns.
More to come
|
|
track colors), via Valeriy
|
|
|
|
|
|
|
|
|
|
color (the "led active" color), and adjst rec-enable buttons to use pink (like ardour2) when in this state (which means rec-enabled but not recording). and yes, this means that you can't use ImplicitUsesSolidColor with a button that also uses an LED - acceptable limitation
git-svn-id: svn://localhost/ardour2/branches/3.0@13645 d708f5d6-7413-0410-9779-e7cbd77b26cf
|