aboutsummaryrefslogtreecommitdiffstats
path: root/libfonts_get_subpixel_expansion.c
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2023-01-21 12:04:25 +0100
committerMattias Andrée <maandree@kth.se>2023-01-21 12:04:25 +0100
commit5bd71990de55e5c944559a3829a8d4e1fb96153f (patch)
treecaa2ef62bf8db35e65ed127ed850bc7dd4754275 /libfonts_get_subpixel_expansion.c
parentAdd libfonts_create_transcoding_table (diff)
downloadlibfonts-5bd71990de55e5c944559a3829a8d4e1fb96153f.tar.gz
libfonts-5bd71990de55e5c944559a3829a8d4e1fb96153f.tar.bz2
libfonts-5bd71990de55e5c944559a3829a8d4e1fb96153f.tar.xz
Add libfonts_get_subpixel_expansion
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'libfonts_get_subpixel_expansion.c')
-rw-r--r--libfonts_get_subpixel_expansion.c52
1 files changed, 52 insertions, 0 deletions
diff --git a/libfonts_get_subpixel_expansion.c b/libfonts_get_subpixel_expansion.c
new file mode 100644
index 0000000..99f72ba
--- /dev/null
+++ b/libfonts_get_subpixel_expansion.c
@@ -0,0 +1,52 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+int
+libfonts_get_subpixel_expansion(enum libfonts_subpixel_order_class layout, size_t *restrict widthmulp, size_t *restrict heightmulp)
+{
+ size_t w, h;
+
+ if (layout == LIBFONTS_SUBPIXEL_ORDER_CLASS_123) {
+ w = 3;
+ h = 1;
+ } else if (layout == LIBFONTS_SUBPIXEL_ORDER_CLASS_1_2_3) {
+ w = 1;
+ h = 3;
+ } else if (layout >= LIBFONTS_SUBPIXEL_ORDER_CLASS_11_23 &&
+ layout <= LIBFONTS_SUBPIXEL_ORDER_CLASS_13_12) {
+ w = 2;
+ h = 2;
+ } else if (layout == LIBFONTS_SUBPIXEL_ORDER_CLASS_BALANCED_11_23 ||
+ layout == LIBFONTS_SUBPIXEL_ORDER_CLASS_BALANCED_32_11) {
+ w = 2;
+ h = 3;
+ } else if (layout == LIBFONTS_SUBPIXEL_ORDER_CLASS_BALANCED_21_31 ||
+ layout == LIBFONTS_SUBPIXEL_ORDER_CLASS_BALANCED_13_12) {
+ w = 3;
+ h = 2;
+ } else {
+ errno = EINVAL;
+ return -1;
+ }
+
+ if (widthmulp)
+ *widthmulp = w;
+ if (heightmulp)
+ *heightmulp = h;
+ return 0;
+}
+
+
+#else
+
+
+int
+main(void)
+{
+ return 0;
+}
+
+
+#endif