diff options
author | Behdad Esfahbod <behdad@behdad.org> | 2012-12-29 21:39:06 -0500 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2012-12-29 21:39:06 -0500 |
commit | 4f6767470f52b287a2923e7e6d8de5fae1993f67 (patch) | |
tree | 1b974d9ef3b2ca6de22f065730756db5f3a4cfea /src/fcdbg.c | |
parent | 927dd3ddb582303843e70300b04167ca774e78b7 (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.c | 16 |
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; |