summaryrefslogtreecommitdiff
path: root/base/matrix.c
diff options
context:
space:
mode:
authorTor Andersson <tor@ghostscript.com>2004-11-05 07:57:47 +0100
committerTor Andersson <tor@ghostscript.com>2004-11-05 07:57:47 +0100
commit24ee8c1e74d613b1ec394c7380b39349f07d47d6 (patch)
tree07c964441d983c713c05090021ce6da1e1c132fe /base/matrix.c
parentcbbee31601e34f1f513a4d046d52963baebf07fa (diff)
downloadmupdf-24ee8c1e74d613b1ec394c7380b39349f07d47d6.tar.xz
tiling patterns
Diffstat (limited to 'base/matrix.c')
-rw-r--r--base/matrix.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/base/matrix.c b/base/matrix.c
index 659193f5..43c3f4e1 100644
--- a/base/matrix.c
+++ b/base/matrix.c
@@ -85,3 +85,22 @@ fz_transformpoint(fz_matrix m, fz_point p)
return t;
}
+fz_rect
+fz_transformaabb(fz_matrix m, fz_rect r)
+{
+ fz_point s, t, u, v;
+ s.x = r.min.x; s.y = r.min.y;
+ t.x = r.min.x; t.y = r.max.y;
+ u.x = r.max.x; u.y = r.max.y;
+ v.x = r.max.x; v.y = r.min.y;
+ s = fz_transformpoint(m, s);
+ t = fz_transformpoint(m, t);
+ u = fz_transformpoint(m, u);
+ v = fz_transformpoint(m, v);
+ r.min.x = MIN4(s.x, t.x, u.x, v.x);
+ r.min.y = MIN4(s.y, t.y, u.y, v.y);
+ r.max.x = MAX4(s.x, t.x, u.x, v.x);
+ r.max.y = MAX4(s.y, t.y, u.y, v.y);
+ return r;
+}
+