summaryrefslogtreecommitdiff
path: root/src/fcdbg.c
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@behdad.org>2012-12-29 21:39:06 -0500
committerBehdad Esfahbod <behdad@behdad.org>2012-12-29 21:39:06 -0500
commit4f6767470f52b287a2923e7e6d8de5fae1993f67 (patch)
tree1b974d9ef3b2ca6de22f065730756db5f3a4cfea /src/fcdbg.c
parent927dd3ddb582303843e70300b04167ca774e78b7 (diff)
Parse matrices of expressions
Previously a <matrix> element could only accept four <double> literals. It now accepts full expressions, which can in turn poke into the pattern, do math, etc.
Diffstat (limited to 'src/fcdbg.c')
-rw-r--r--src/fcdbg.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/fcdbg.c b/src/fcdbg.c
index a1ed2b2..5b8d3da 100644
--- a/src/fcdbg.c
+++ b/src/fcdbg.c
@@ -249,11 +249,17 @@ FcExprPrint (const FcExpr *expr)
case FcOpInteger: printf ("%d", expr->u.ival); break;
case FcOpDouble: printf ("%g", expr->u.dval); break;
case FcOpString: printf ("\"%s\"", expr->u.sval); break;
- case FcOpMatrix: printf ("[%g %g %g %g]",
- expr->u.mval->xx,
- expr->u.mval->xy,
- expr->u.mval->yx,
- expr->u.mval->yy); break;
+ case FcOpMatrix:
+ printf ("[");
+ FcExprPrint (expr->u.mexpr->xx);
+ printf (" ");
+ FcExprPrint (expr->u.mexpr->xy);
+ printf (" ");
+ FcExprPrint (expr->u.mexpr->yx);
+ printf (" ");
+ FcExprPrint (expr->u.mexpr->yx);
+ printf ("]");
+ break;
case FcOpRange: break;
case FcOpBool: printf ("%s", expr->u.bval ? "true" : "false"); break;
case FcOpCharSet: printf ("charset\n"); break;