aboutsummaryrefslogtreecommitdiff
path: root/fontconfig
diff options
context:
space:
mode:
Diffstat (limited to 'fontconfig')
-rw-r--r--fontconfig/doc/fcrange.fncs10
-rw-r--r--fontconfig/fontconfig/fontconfig.h3
-rw-r--r--fontconfig/src/fcrange.c23
3 files changed, 36 insertions, 0 deletions
diff --git a/fontconfig/doc/fcrange.fncs b/fontconfig/doc/fcrange.fncs
index 605459525..4181b8093 100644
--- a/fontconfig/doc/fcrange.fncs
+++ b/fontconfig/doc/fcrange.fncs
@@ -62,3 +62,13 @@ integer sized value.
all memory associated with it.
@SINCE@ 2.11.91
@@
+
+@RET@ FcBool
+@FUNC@ FcRangeGetDouble
+@TYPE1@ const FcRange * @ARG1@ range
+@TYPE2@ double * @ARG2@ begin
+@TYPE3@ double * @ARG3@ end
+@PURPOSE@ Get the range in double
+@DESC@
+Returns in <parameter>begin</parameter> and <parameter>end</parameter> as the range.
+@SINCE@ 2.11.91
diff --git a/fontconfig/fontconfig/fontconfig.h b/fontconfig/fontconfig/fontconfig.h
index e5b09591b..afc917c6b 100644
--- a/fontconfig/fontconfig/fontconfig.h
+++ b/fontconfig/fontconfig/fontconfig.h
@@ -908,6 +908,9 @@ FcRangeDestroy (FcRange *range);
FcPublic FcRange *
FcRangeCopy (const FcRange *r);
+FcPublic FcBool
+FcRangeGetDouble(const FcRange *range, double *begin, double *end);
+
/* fcweight.c */
FcPublic int
diff --git a/fontconfig/src/fcrange.c b/fontconfig/src/fcrange.c
index 39eafd82d..37cf06755 100644
--- a/fontconfig/src/fcrange.c
+++ b/fontconfig/src/fcrange.c
@@ -76,6 +76,29 @@ FcRangeCopy (const FcRange *range)
return ret;
}
+FcBool
+FcRangeGetDouble(const FcRange *range, double *begin, double *end)
+{
+ if (!range)
+ return FcFalse;
+ if (range->is_double)
+ {
+ if (begin)
+ *begin = range->u.d.begin;
+ if (end)
+ *end = range->u.d.end;
+ }
+ else
+ {
+ if (begin)
+ *begin = (double)range->u.i.begin;
+ if (end)
+ *end = (double)range->u.i.end;
+ }
+
+ return FcTrue;
+}
+
FcRange
FcRangeCanonicalize (const FcRange *range)
{