summaryrefslogtreecommitdiff
path: root/src/cairo-fixed.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cairo-fixed.c')
-rw-r--r--src/cairo-fixed.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/cairo-fixed.c b/src/cairo-fixed.c
index 32368d7fc..ee31718ef 100644
--- a/src/cairo-fixed.c
+++ b/src/cairo-fixed.c
@@ -71,3 +71,21 @@ _cairo_fixed_integer_part (cairo_fixed_t f)
{
return f >> 16;
}
+
+int
+_cairo_fixed_integer_floor (cairo_fixed_t f)
+{
+ if (f >= 0)
+ return f >> 16;
+ else
+ return -((-f - 1) >> 16) - 1;
+}
+
+int
+_cairo_fixed_integer_ceil (cairo_fixed_t f)
+{
+ if (f >= 0)
+ return ((f - 1)>>16) + 1;
+ else
+ return - (-f >> 16);
+}