[gnome-shell] workspace: Separate out spacing/padding code



commit 65eb5a3d058a1d8ac5c587667a20a1f8fbe50062
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Mon Feb 25 22:38:30 2013 -0500

    workspace: Separate out spacing/padding code
    
    This will be used when we introduce the second geometry.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=694469

 js/ui/workspace.js | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)
---
diff --git a/js/ui/workspace.js b/js/ui/workspace.js
index 30c09fa..d0d989e 100644
--- a/js/ui/workspace.js
+++ b/js/ui/workspace.js
@@ -890,6 +890,14 @@ const UnalignedLayoutStrategy = new Lang.Class({
     }
 });
 
+function padArea(area, padding) {
+    return {
+        x: area.x + padding.left,
+        y: area.y + padding.top,
+        width: area.width - padding.left - padding.right,
+        height: area.height - padding.top - padding.bottom,
+    };
+}
 
 /**
  * @metaWorkspace: a #Meta.Workspace, or null
@@ -1506,7 +1514,7 @@ const Workspace = new Lang.Class({
         return lastLayout;
     },
 
-    _computeAllWindowSlots: function(windows) {
+    _getSpacingAndPadding: function() {
         let node = this.actor.get_theme_node();
 
         // Window grid spacing
@@ -1535,13 +1543,12 @@ const Workspace = new Lang.Class({
         padding.left += leftBorder;
         padding.right += rightBorder;
 
-        let area = {
-            x: this._fullGeometry.x + padding.left,
-            y: this._fullGeometry.y + padding.top,
-            width: this._fullGeometry.width - padding.left - padding.right,
-            height: this._fullGeometry.height - padding.top - padding.bottom,
-        };
+        return [rowSpacing, columnSpacing, padding];
+    },
 
+    _computeAllWindowSlots: function(windows) {
+        let [rowSpacing, columnSpacing, padding] = this._getSpacingAndPadding();
+        let area = padArea(this._fullGeometry, padding);
         let layout = this._computeLayout(windows, area, rowSpacing, columnSpacing);
         return layout.strategy.computeWindowSlots(layout, area);
     },


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