]> mj.ucw.cz Git - paperjam.git/blobdiff - pdf-tools.cc
Top and bottom margins were swapped
[paperjam.git] / pdf-tools.cc
index 68a8f8cae4201373f2de193619a7a338badafd80..6a0b9b6e01db0d82a594f3e51cae8a51a45ca212 100644 (file)
@@ -99,6 +99,38 @@ void BBox::join(BBox &with)
        y_max = max(y_max, with.y_max);
 }
 
+static double clamp(double x, double min, double max)
+{
+       if (x < min)
+               return min;
+       if (x > max)
+               return max;
+       return x;
+}
+
+void BBox::intersect(BBox &with)
+{
+       x_min = clamp(x_min, with.x_min, with.x_max);
+       x_max = clamp(x_max, with.x_min, with.x_max);
+       y_min = clamp(y_min, with.y_min, with.y_max);
+       y_max = clamp(y_max, with.y_min, with.y_max);
+}
+
+void BBox::enlarge(double by)
+{
+       x_min -= by;
+       x_max += by;
+       y_min -= by;
+       y_max += by;
+}
+
+BBox BBox::enlarged(double by)
+{
+       BBox b = *this;
+       b.enlarge(by);
+       return b;
+}
+
 /*** Unicode strings ***/
 
 // Construct PDF representation of a UTF-8 string