summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-04-22 21:34:27 +0200
committerRobin Gareus <robin@gareus.org>2015-04-22 21:40:43 +0200
commitb38ab89d92a5f963c90da885409da541ad081a65 (patch)
treeb29a21e7a8121f1e37c70d95ad71484d590ed43d
parent8d85afd29420a98148ac994f8dcb4e5412b7c2e2 (diff)
clean up GUI scaling
-rw-r--r--gtk2_ardour/ardour_button.cc9
-rw-r--r--gtk2_ardour/ardour_ui2.cc4
-rw-r--r--gtk2_ardour/editor.cc2
-rw-r--r--gtk2_ardour/gain_meter.cc8
-rw-r--r--gtk2_ardour/level_meter.cc2
-rw-r--r--gtk2_ardour/meter_patterns.cc5
-rw-r--r--gtk2_ardour/meter_strip.cc18
-rw-r--r--gtk2_ardour/mixer_strip.cc6
-rw-r--r--gtk2_ardour/mono_panner.cc9
-rw-r--r--gtk2_ardour/panner_ui.cc10
-rw-r--r--gtk2_ardour/processor_box.cc13
-rw-r--r--gtk2_ardour/stereo_panner.cc3
-rw-r--r--gtk2_ardour/time_axis_view.cc2
13 files changed, 35 insertions, 56 deletions
diff --git a/gtk2_ardour/ardour_button.cc b/gtk2_ardour/ardour_button.cc
index 1c2862926f..7cc3edd964 100644
--- a/gtk2_ardour/ardour_button.cc
+++ b/gtk2_ardour/ardour_button.cc
@@ -199,8 +199,7 @@ ArdourButton::render (cairo_t* cr, cairo_rectangle_t *)
uint32_t text_color;
uint32_t led_color;
- const double dpiscale = ARDOUR_UI::config()->get_font_scale () / 102400.;
- const double corner_radius = std::max(2.0, _corner_radius * dpiscale);
+ const float corner_radius = std::max(2.f, _corner_radius * ARDOUR_UI::ui_scale);
if (_update_colors) {
set_colors ();
@@ -740,12 +739,12 @@ ArdourButton::render (cairo_t* cr, cairo_rectangle_t *)
//black ring
cairo_set_source_rgb (cr, 0, 0, 0);
- cairo_arc (cr, 0, 0, _diameter * .5 - 1 * dpiscale, 0, 2 * M_PI);
+ cairo_arc (cr, 0, 0, _diameter * .5 - 1 * ARDOUR_UI::ui_scale, 0, 2 * M_PI);
cairo_fill(cr);
//led color
ArdourCanvas::set_source_rgba (cr, led_color);
- cairo_arc (cr, 0, 0, _diameter * .5 - 3 * dpiscale, 0, 2 * M_PI);
+ cairo_arc (cr, 0, 0, _diameter * .5 - 3 * ARDOUR_UI::ui_scale, 0, 2 * M_PI);
cairo_fill(cr);
cairo_restore (cr);
@@ -827,7 +826,7 @@ ArdourButton::on_size_request (Gtk::Requisition* req)
CairoWidget::on_size_request (req);
if (_diameter == 0) {
- const float newdia = rint (11. * ARDOUR_UI::config()->get_font_scale () / 102400.);
+ const float newdia = rintf (11.f * ARDOUR_UI::ui_scale);
if (_diameter != newdia) {
_pattern_height = 0;
_diameter = newdia;
diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc
index 497a379448..ef2d6b07b3 100644
--- a/gtk2_ardour/ardour_ui2.cc
+++ b/gtk2_ardour/ardour_ui2.cc
@@ -216,15 +216,13 @@ ARDOUR_UI::tearoff_settings (const char* name) const
return 0;
}
-#define PX_SCALE(pxmin, dflt) rint(std::max((double)pxmin, (double)dflt * btn_scale))
+#define PX_SCALE(pxmin, dflt) rint(std::max((double)pxmin, (double)dflt * ARDOUR_UI::ui_scale))
void
ARDOUR_UI::setup_transport ()
{
RefPtr<Action> act;
- const double btn_scale = config()->get_font_scale () / 102400.;
-
transport_tearoff_hbox.set_border_width (PX_SCALE(3,3));
transport_tearoff_hbox.set_spacing (PX_SCALE(3,3));
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc
index b1a1d7c4c6..4373a03f43 100644
--- a/gtk2_ardour/editor.cc
+++ b/gtk2_ardour/editor.cc
@@ -410,7 +410,7 @@ Editor::Editor ()
samples_per_pixel = 2048; /* too early to use reset_zoom () */
- timebar_height = std::max(12., ceil (15. * ARDOUR_UI::config()->get_font_scale() / 102400.));
+ timebar_height = std::max(12., ceil (15. * ARDOUR_UI::ui_scale));
TimeAxisView::setup_sizes ();
Marker::setup_sizes (timebar_height);
diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc
index 99e21a05fc..27a833ab4a 100644
--- a/gtk2_ardour/gain_meter.cc
+++ b/gtk2_ardour/gain_meter.cc
@@ -101,8 +101,8 @@ GainMeterBase::GainMeterBase (Session* s, bool horizontal, int fader_length, int
next_release_selects = false;
_width = Wide;
- fader_length = rint (fader_length * ARDOUR_UI::config()->get_font_scale() / 102400.);
- fader_girth = rint (fader_girth * ARDOUR_UI::config()->get_font_scale() / 102400.);
+ fader_length = rint (fader_length * ARDOUR_UI::ui_scale);
+ fader_girth = rint (fader_girth * ARDOUR_UI::ui_scale);
if (horizontal) {
gain_slider = manage (new HSliderController (&gain_adjustment, boost::shared_ptr<PBD::Controllable>(), fader_length, fader_girth));
@@ -936,7 +936,7 @@ GainMeterBase::redraw_metrics()
meter_ticks2_area.queue_draw ();
}
-#define PX_SCALE(pxmin, dflt) rint(std::max((double)pxmin, (double)dflt * scale))
+#define PX_SCALE(pxmin, dflt) rint(std::max((double)pxmin, (double)dflt * ARDOUR_UI::ui_scale))
GainMeter::GainMeter (Session* s, int fader_length)
: GainMeterBase (s, false, fader_length, 24)
@@ -953,8 +953,6 @@ GainMeter::GainMeter (Session* s, int fader_length)
}
gain_display_box.pack_start (peak_display, true, true);
- const double scale = ARDOUR_UI::config()->get_font_scale() / 102400.;
-
meter_metric_area.set_name ("AudioTrackMetrics");
meter_metric_area.set_size_request(PX_SCALE(24, 24), -1);
diff --git a/gtk2_ardour/level_meter.cc b/gtk2_ardour/level_meter.cc
index 8dc37a0134..62556c801a 100644
--- a/gtk2_ardour/level_meter.cc
+++ b/gtk2_ardour/level_meter.cc
@@ -258,7 +258,7 @@ LevelMeterBase::setup_meters (int len, int initial_width, int thin_width)
width = thin_meter_width;
}
- width = rint (width * ARDOUR_UI::config()->get_font_scale() / 102400.);
+ width = rint (width * ARDOUR_UI::ui_scale);
while (meters.size() < nmeters) {
meters.push_back (MeterInfo());
diff --git a/gtk2_ardour/meter_patterns.cc b/gtk2_ardour/meter_patterns.cc
index b70a75a3a2..b7c82b4818 100644
--- a/gtk2_ardour/meter_patterns.cc
+++ b/gtk2_ardour/meter_patterns.cc
@@ -289,8 +289,7 @@ meter_render_ticks (Gtk::Widget& w, MeterType type, vector<ARDOUR::DataType> typ
float box_l=0;
float box_w=0;
- const double scale = ARDOUR_UI::config()->get_font_scale() / 102400.;
-#define PX_SCALE(pxmin, dflt) rint(std::max((double)pxmin, (double)dflt * scale))
+#define PX_SCALE(pxmin, dflt) rint(std::max((double)pxmin, (double)dflt * ARDOUR_UI::ui_scale))
if (tickleft) {
if (w.get_name().substr(0, 3) == "Bar") {
box_w = PX_SCALE(2, 2);
@@ -620,7 +619,7 @@ meter_render_metrics (Gtk::Widget& w, MeterType type, vector<DataType> types)
const double fixfontsize = 1.125;
#else
// counter-act global font-scaling.
- const double fixfontsize = std::min(1.0, 0.9 / sqrt((double) ARDOUR_UI::config()->get_font_scale() / 102400.));
+ const double fixfontsize = std::min(1.0, 0.9 / sqrtf(ARDOUR_UI::ui_scale));
#endif
font.set_weight (Pango::WEIGHT_NORMAL);
diff --git a/gtk2_ardour/meter_strip.cc b/gtk2_ardour/meter_strip.cc
index 392149f593..c325673c55 100644
--- a/gtk2_ardour/meter_strip.cc
+++ b/gtk2_ardour/meter_strip.cc
@@ -59,7 +59,7 @@ PBD::Signal1<void,MeterStrip*> MeterStrip::CatchDeletion;
PBD::Signal0<void> MeterStrip::MetricChanged;
PBD::Signal0<void> MeterStrip::ConfigurationChanged;
-#define PX_SCALE(pxmin, dflt) rint(std::max((double)pxmin, (double)dflt * scale))
+#define PX_SCALE(pxmin, dflt) rint(std::max((double)pxmin, (double)dflt * ARDOUR_UI::ui_scale))
MeterStrip::MeterStrip (int metricmode, MeterType mt)
: AxisView(0)
@@ -71,8 +71,6 @@ MeterStrip::MeterStrip (int metricmode, MeterType mt)
_metricmode = -1;
metric_type = MeterPeak;
- const double scale = (double) ARDOUR_UI::config()->get_font_scale() / 102400.;
-
mtr_vbox.set_spacing (PX_SCALE(2, 2));
nfo_vbox.set_spacing (PX_SCALE(2, 2));
peakbx.set_size_request (-1, PX_SCALE(14, 14));
@@ -124,8 +122,6 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr<ARDOUR::Route> rt)
, _route(rt)
, peak_display()
{
- const double scale = (double) ARDOUR_UI::config()->get_font_scale() / 102400.;
-
mtr_vbox.set_spacing (PX_SCALE(2, 2));
nfo_vbox.set_spacing (PX_SCALE(2, 2));
SessionHandlePtr::set_session (sess);
@@ -517,8 +513,6 @@ MeterStrip::on_size_request (Gtk::Requisition* r)
void
MeterStrip::on_size_allocate (Gtk::Allocation& a)
{
- const double scale = (double) ARDOUR_UI::config()->get_font_scale() / 102400.;
-
const int wh = a.get_height();
int nh;
int mh = 0;
@@ -551,8 +545,8 @@ MeterStrip::on_size_allocate (Gtk::Allocation& a)
tnh = 4 + std::max(2u, _session->track_number_decimals()) * 8; // TODO 8 = max_with_of_digit_0_to_9()
}
- nh *= scale;
- tnh *= scale;
+ nh *= ARDOUR_UI::ui_scale;
+ tnh *= ARDOUR_UI::ui_scale;
int prev_height, ignored;
bool need_relayout = false;
@@ -726,8 +720,6 @@ MeterStrip::redraw_metrics ()
void
MeterStrip::update_button_box ()
{
- const double scale = (double) ARDOUR_UI::config()->get_font_scale() / 102400.;
-
if (!_session) return;
int height = 0;
if (_session->config.get_show_mute_on_meterbridge()) {
@@ -807,8 +799,6 @@ MeterStrip::name_changed () {
if (!_route) {
return;
}
- const double scale = (double) ARDOUR_UI::config()->get_font_scale() / 102400.;
-
name_label.set_text(_route->name ());
if (_session && _session->config.get_track_name_number()) {
const int64_t track_number = _route->track_number ();
@@ -821,7 +811,7 @@ MeterStrip::name_changed () {
}
const int tnh = 4 + std::max(2u, _session->track_number_decimals()) * 8; // TODO 8 = max_width_of_digit_0_to_9()
// NB numbers are rotated 90deg. on the meterbridge -> use height
- number_label.set_size_request(PX_SCALE(18, 18), tnh * scale);
+ number_label.set_size_request(PX_SCALE(18, 18), tnh * ARDOUR_UI::ui_scale);
} else {
number_label.hide();
}
diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc
index dc9cdcc59b..7c59075f5a 100644
--- a/gtk2_ardour/mixer_strip.cc
+++ b/gtk2_ardour/mixer_strip.cc
@@ -684,7 +684,7 @@ MixerStrip::set_width_enum (Width w, void* owner)
set_button_names ();
- const double scale = std::max(1.0, ARDOUR_UI::config()->get_font_scale() / 102400.);
+ const float scale = std::max(1.f, ARDOUR_UI::ui_scale);
switch (w) {
case Wide:
@@ -707,7 +707,7 @@ MixerStrip::set_width_enum (Width w, void* owner)
{
// panners expect an even number of horiz. pixels
- int width = rint(max (110 * scale, gpm.get_gm_width() + 10 * scale)) + 1;
+ int width = rintf (max (110.f * scale, gpm.get_gm_width() + 10.f * scale)) + 1;
width &= ~1;
set_size_request (width, -1);
}
@@ -734,7 +734,7 @@ MixerStrip::set_width_enum (Width w, void* owner)
{
// panners expect an even number of horiz. pixels
- int width = rint(max (60 * scale, gpm.get_gm_width() + 10 * scale)) + 1;
+ int width = rintf (max (60.f * scale, gpm.get_gm_width() + 10.f * scale)) + 1;
width &= ~1;
set_size_request (width, -1);
}
diff --git a/gtk2_ardour/mono_panner.cc b/gtk2_ardour/mono_panner.cc
index 43bdc9f711..fd789ed035 100644
--- a/gtk2_ardour/mono_panner.cc
+++ b/gtk2_ardour/mono_panner.cc
@@ -135,12 +135,11 @@ MonoPanner::on_expose_event (GdkEventExpose*)
width = get_width();
height = get_height ();
- const double scale = ARDOUR_UI::config()->get_font_scale() / 102400.;
const int step_down = rint(height / 3.5);
const int lr_box_size = height - 2 * step_down;
const int pos_box_size = (int)(rint(step_down * .8)) | 1;
const int top_step = step_down - pos_box_size;
- const double corner_radius = 5 * scale;
+ const double corner_radius = 5 * ARDOUR_UI::ui_scale;
o = colors.outline;
f = colors.fill;
@@ -255,8 +254,8 @@ MonoPanner::on_expose_event (GdkEventExpose*)
context->set_line_width (2.0);
context->move_to (spos + (pos_box_size/2.0), top_step); /* top right */
context->rel_line_to (0.0, pos_box_size); /* lower right */
- context->rel_line_to (-pos_box_size/2.0, 4.0 * scale); /* bottom point */
- context->rel_line_to (-pos_box_size/2.0, -4.0 * scale); /* lower left */
+ context->rel_line_to (-pos_box_size/2.0, 4.0 * ARDOUR_UI::ui_scale); /* bottom point */
+ context->rel_line_to (-pos_box_size/2.0, -4.0 * ARDOUR_UI::ui_scale); /* lower left */
context->rel_line_to (0.0, -pos_box_size); /* upper left */
context->close_path ();
@@ -268,7 +267,7 @@ MonoPanner::on_expose_event (GdkEventExpose*)
/* marker line */
context->set_line_width (1.0);
- context->move_to (spos, 1 + top_step + pos_box_size + 4.0 * scale);
+ context->move_to (spos, 1 + top_step + pos_box_size + 4.0 * ARDOUR_UI::ui_scale);
context->line_to (spos, half_lr_box + step_down + lr_box_size - 1);
context->set_source_rgba (UINT_RGBA_R_FLT(po), UINT_RGBA_G_FLT(po), UINT_RGBA_B_FLT(po), UINT_RGBA_A_FLT(po));
context->stroke ();
diff --git a/gtk2_ardour/panner_ui.cc b/gtk2_ardour/panner_ui.cc
index 83b296f7a0..9d40a90a93 100644
--- a/gtk2_ardour/panner_ui.cc
+++ b/gtk2_ardour/panner_ui.cc
@@ -240,7 +240,7 @@ PannerUI::setup_pan ()
return;
}
- const double scale = std::max(1.0, ARDOUR_UI::config()->get_font_scale() / 102400.);
+ const float scale = std::max (1.f, ARDOUR_UI::ui_scale);
if (_current_uri == "http://ardour.org/plugin/panner_2in2out#ui")
{
@@ -250,7 +250,7 @@ PannerUI::setup_pan ()
boost::shared_ptr<Pannable> pannable = _panner->pannable();
_stereo_panner = new StereoPanner (_panshell);
- _stereo_panner->set_size_request (-1, 5 * ceil(7. * scale));
+ _stereo_panner->set_size_request (-1, 5 * ceilf(7.f * scale));
_stereo_panner->set_send_drawing_mode (_send_mode);
pan_vbox.pack_start (*_stereo_panner, false, false);
@@ -286,7 +286,7 @@ PannerUI::setup_pan ()
_mono_panner->signal_button_release_event().connect (sigc::mem_fun(*this, &PannerUI::pan_button_event));
- _mono_panner->set_size_request (-1, 5 * ceil(7. * scale));
+ _mono_panner->set_size_request (-1, 5 * ceilf(7.f * scale));
_mono_panner->set_send_drawing_mode (_send_mode);
update_pan_sensitive ();
@@ -295,7 +295,7 @@ PannerUI::setup_pan ()
else if (_current_uri == "http://ardour.org/plugin/panner_vbap#ui")
{
if (!twod_panner) {
- twod_panner = new Panner2d (_panshell, 61 * scale);
+ twod_panner = new Panner2d (_panshell, rintf(61.f * scale));
twod_panner->set_name ("MixerPanZone");
twod_panner->show ();
twod_panner->signal_button_press_event().connect (sigc::mem_fun(*this, &PannerUI::pan_button_event), false);
@@ -306,7 +306,7 @@ PannerUI::setup_pan ()
if (big_window) {
big_window->reset (nins);
}
- twod_panner->set_size_request (-1, 61 * scale);
+ twod_panner->set_size_request (-1, rintf(61.f * scale));
twod_panner->set_send_drawing_mode (_send_mode);
/* and finally, add it to the panner frame */
diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc
index a6e091e7d9..d4c240feaf 100644
--- a/gtk2_ardour/processor_box.cc
+++ b/gtk2_ardour/processor_box.cc
@@ -493,7 +493,7 @@ ProcessorEntry::toggle_panner_link ()
ProcessorEntry::Control::Control (boost::shared_ptr<AutomationControl> c, string const & n)
: _control (c)
, _adjustment (gain_to_slider_position_with_max (1.0, Config->get_max_gain()), 0, 1, 0.01, 0.1)
- , _slider (&_adjustment, boost::shared_ptr<PBD::Controllable>(), 0, max(13.0, rint(13. * ARDOUR_UI::config()->get_font_scale () / 102400.)))
+ , _slider (&_adjustment, boost::shared_ptr<PBD::Controllable>(), 0, max(13.f, rintf(13.f * ARDOUR_UI::ui_scale)))
, _slider_persistant_tooltip (&_slider)
, _button (ArdourButton::led_default_elements)
, _ignore_ui_adjustment (false)
@@ -734,8 +734,7 @@ PluginInsertProcessorEntry::plugin_insert_splitting_changed ()
_plugin_insert->input_streams().n_audio() < _plugin_insert->natural_input_streams().n_audio()
)
{
- const double scale = max(1.0, ARDOUR_UI::config()->get_font_scale () / 102400.);
- _routing_icon.set_size_request (-1, rint(7.0 * scale));
+ _routing_icon.set_size_request (-1, std::max (7.f, rintf(7.f * ARDOUR_UI::ui_scale)));
_routing_icon.set_visible(true);
_input_icon.show();
} else {
@@ -760,8 +759,7 @@ PluginInsertProcessorEntry::hide_things ()
ProcessorEntry::PortIcon::PortIcon(bool input) {
_input = input;
_ports = ARDOUR::ChanCount(ARDOUR::DataType::AUDIO, 1);
- const double scale = max(1.0, ARDOUR_UI::config()->get_font_scale () / 102400.);
- set_size_request (-1, rint(2 * scale));
+ set_size_request (-1, std::max (2.f, rintf(2.f * ARDOUR_UI::ui_scale)));
}
bool
@@ -782,7 +780,7 @@ ProcessorEntry::PortIcon::on_expose_event (GdkEventExpose* ev)
cairo_rectangle (cr, 0, 0, width, height);
cairo_fill (cr);
- const double dx = rint(max(2.0, 2. * ARDOUR_UI::config()->get_font_scale () / 102400.));
+ const double dx = rint(max(2., 2. * ARDOUR_UI::ui_scale));
if (_ports.n_total() > 1) {
for (uint32_t i = 0; i < _ports.n_total(); ++i) {
if (i < _ports.n_midi()) {
@@ -830,8 +828,7 @@ ProcessorEntry::RoutingIcon::on_expose_event (GdkEventExpose* ev)
cairo_rectangle (cr, ev->area.x, ev->area.y, ev->area.width, ev->area.height);
cairo_clip (cr);
- const double scale = max(1.0, ARDOUR_UI::config()->get_font_scale () / 102400.);
- cairo_set_line_width (cr, scale);
+ cairo_set_line_width (cr, max (1.f, ARDOUR_UI::ui_scale));
cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
Gtk::Allocation a = get_allocation();
diff --git a/gtk2_ardour/stereo_panner.cc b/gtk2_ardour/stereo_panner.cc
index b52f2d2b05..ab057c9147 100644
--- a/gtk2_ardour/stereo_panner.cc
+++ b/gtk2_ardour/stereo_panner.cc
@@ -151,9 +151,8 @@ StereoPanner::on_expose_event (GdkEventExpose*)
width = get_width();
height = get_height ();
- const double scale = ARDOUR_UI::config()->get_font_scale() / 102400.;
const int step_down = rint(height / 3.5);
- const double corner_radius = 5.0 * scale;
+ const double corner_radius = 5.0 * ARDOUR_UI::ui_scale;
const int lr_box_size = height - 2 * step_down;
const int pos_box_size = (int)(rint(step_down * .8)) | 1;
const int top_step = step_down - pos_box_size;
diff --git a/gtk2_ardour/time_axis_view.cc b/gtk2_ardour/time_axis_view.cc
index 23aaa617d5..e3695fb411 100644
--- a/gtk2_ardour/time_axis_view.cc
+++ b/gtk2_ardour/time_axis_view.cc
@@ -82,7 +82,7 @@ Glib::RefPtr<Gtk::SizeGroup> TimeAxisView::midi_scroomer_size_group = Glib::RefP
void
TimeAxisView::setup_sizes()
{
- name_width_px = ceil (100. * ARDOUR_UI::config()->get_font_scale() / 102400.);
+ name_width_px = ceilf (100.f * ARDOUR_UI::ui_scale);
}
TimeAxisView::TimeAxisView (ARDOUR::Session* sess, PublicEditor& ed, TimeAxisView* rent, Canvas& /*canvas*/)