summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkira TAGOH <akira@tagoh.org>2014-09-25 17:03:27 +0900
committerAkira TAGOH <akira@tagoh.org>2014-09-25 17:03:27 +0900
commit1082161ea303cf2bbc13b62a191662984131e820 (patch)
tree591b2167fbc6bde30d14112771fcec1803c4a6a7
parent286cdc9c10b0453c25950103b6a1f7170d15bfdc (diff)
Add FcRangeGetDouble()
https://bugs.freedesktop.org/show_bug.cgi?id=82876
-rw-r--r--doc/fcrange.fncs10
-rw-r--r--fontconfig/fontconfig.h3
-rw-r--r--src/fcrange.c23
3 files changed, 36 insertions, 0 deletions
diff --git a/doc/fcrange.fncs b/doc/fcrange.fncs
index 6054595..4181b80 100644
--- a/doc/fcrange.fncs
+++ b/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.h b/fontconfig/fontconfig.h
index e5b0959..afc917c 100644
--- a/fontconfig/fontconfig.h
+++ b/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/src/fcrange.c b/src/fcrange.c
index 39eafd8..37cf067 100644
--- a/src/fcrange.c
+++ b/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)
{