[mutter] monitor: Define scale_steps globally



commit f76b3edf9cdfd93dfe5108e0ae92ae7d685d157e
Author: Marco Trevisan (Treviño) <mail 3v1n0 net>
Date:   Fri Jun 9 05:18:14 2017 +0200

    monitor: Define scale_steps globally
    
    No need to compute the scale steps multiple times, since
    it's just a defined value, so let's use a define for this
    avoiding to pass around.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=782742

 src/backends/meta-monitor.c | 19 +++++++------------
 1 file changed, 7 insertions(+), 12 deletions(-)
---
diff --git a/src/backends/meta-monitor.c b/src/backends/meta-monitor.c
index e35da7d70..3ff18a5e2 100644
--- a/src/backends/meta-monitor.c
+++ b/src/backends/meta-monitor.c
@@ -31,6 +31,7 @@
 #include "backends/meta-output.h"
 
 #define SCALE_FACTORS_PER_INTEGER 4
+#define SCALE_FACTORS_STEPS (1.0 / (float) SCALE_FACTORS_PER_INTEGER)
 #define MINIMUM_SCALE_FACTOR 1.0f
 #define MAXIMUM_SCALE_FACTOR 4.0f
 #define MINIMUM_LOGICAL_WIDTH 800
@@ -1579,8 +1580,7 @@ meta_monitor_mode_should_be_advertised (MetaMonitorMode *monitor_mode)
 static float
 get_closest_scale_factor_for_resolution (float width,
                                          float height,
-                                         float scale,
-                                         float scale_step)
+                                         float scale)
 {
   unsigned int i, j;
   float scaled_h;
@@ -1609,7 +1609,6 @@ get_closest_scale_factor_for_resolution (float width,
 
   do
     {
-
       for (j = 0; j < 2; j++)
         {
           float current_scale;
@@ -1619,13 +1618,12 @@ get_closest_scale_factor_for_resolution (float width,
           current_scale = width / scaled_w;
           scaled_h = height / current_scale;
 
-          if (current_scale >= scale + scale_step ||
-              current_scale <= scale - scale_step ||
+          if (current_scale >= scale + SCALE_FACTORS_STEPS ||
+              current_scale <= scale - SCALE_FACTORS_STEPS ||
               current_scale < MINIMUM_SCALE_FACTOR ||
               current_scale > MAXIMUM_SCALE_FACTOR)
             {
-              limit_exceeded = TRUE;
-              continue;
+              goto out;
             }
 
           if (floorf (scaled_h) == scaled_h)
@@ -1653,10 +1651,8 @@ meta_monitor_calculate_supported_scales (MetaMonitor                *monitor,
 {
   unsigned int i, j;
   int width, height;
-  float scale_steps;
   GArray *supported_scales;
 
-  scale_steps = 1.0 / (float) SCALE_FACTORS_PER_INTEGER;
   supported_scales = g_array_new (FALSE, FALSE, sizeof (float));
 
   meta_monitor_mode_get_resolution (monitor_mode, &width, &height);
@@ -1668,7 +1664,7 @@ meta_monitor_calculate_supported_scales (MetaMonitor                *monitor,
       for (j = 0; j < SCALE_FACTORS_PER_INTEGER; j++)
         {
           float scale;
-          float scale_value = i + j * scale_steps;
+          float scale_value = i + j * SCALE_FACTORS_STEPS;
 
           if ((constraints & META_MONITOR_SCALES_CONSTRAINT_NO_FRAC) &&
               fmodf (scale_value, 1.0) != 0.0)
@@ -1678,8 +1674,7 @@ meta_monitor_calculate_supported_scales (MetaMonitor                *monitor,
 
           scale = get_closest_scale_factor_for_resolution (width,
                                                            height,
-                                                           scale_value,
-                                                           scale_steps);
+                                                           scale_value);
 
           if (scale > 0.0f)
             g_array_append_val (supported_scales, scale);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]