aboutsummaryrefslogtreecommitdiffstats
path: root/libskrift_format_settings.c
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2020-04-28 16:39:34 +0200
committerMattias Andrée <maandree@kth.se>2020-04-28 16:39:34 +0200
commitde7081c730426821d0e59d57f35d91b112a80961 (patch)
tree9d7ff6e961fa55842e03c92d5204a6695485f1b4 /libskrift_format_settings.c
parentFaster glyph merging when not using smoothing (diff)
downloadlibskrift-de7081c730426821d0e59d57f35d91b112a80961.tar.gz
libskrift-de7081c730426821d0e59d57f35d91b112a80961.tar.bz2
libskrift-de7081c730426821d0e59d57f35d91b112a80961.tar.xz
Add code (untested) for applying glyphs to an image
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to '')
-rw-r--r--libskrift_format_settings.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/libskrift_format_settings.c b/libskrift_format_settings.c
new file mode 100644
index 0000000..aaa8255
--- /dev/null
+++ b/libskrift_format_settings.c
@@ -0,0 +1,36 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+
+#define RGBA 3, 0, 1, 2
+#define RGB -2, 0, 1, 2
+#define XRGB -1, 1, 2, 3
+#define ARGB 0, 1, 2, 3
+
+const struct format_settings libskrift_format_settings[] = {
+ [LIBSKRIFT_R8G8B8] = {0, RGB, sizeof(uint8_t)},
+ [LIBSKRIFT_X8R8G8B8] = {0, XRGB, sizeof(uint8_t)},
+ [LIBSKRIFT_A8R8G8B8] = {0, ARGB, sizeof(uint8_t)},
+ [LIBSKRIFT_R8G8B8A8] = {0, RGBA, sizeof(uint8_t)},
+ [LIBSKRIFT_R16G16B16] = {0, RGB, sizeof(uint16_t)},
+ [LIBSKRIFT_X16R16G16B16] = {0, XRGB, sizeof(uint16_t)},
+ [LIBSKRIFT_A16R16G16B16] = {0, ARGB, sizeof(uint16_t)},
+ [LIBSKRIFT_R16G16B16A16] = {0, RGBA, sizeof(uint16_t)},
+ [LIBSKRIFT_R32G32B32] = {0, RGB, sizeof(uint32_t)},
+ [LIBSKRIFT_X32R32G32B32] = {0, XRGB, sizeof(uint32_t)},
+ [LIBSKRIFT_A32R32G32B32] = {0, ARGB, sizeof(uint32_t)},
+ [LIBSKRIFT_R32G32B32A32] = {0, RGBA, sizeof(uint32_t)},
+ [LIBSKRIFT_R64G64B64] = {0, RGB, sizeof(uint64_t)},
+ [LIBSKRIFT_X64R64G64B64] = {0, XRGB, sizeof(uint64_t)},
+ [LIBSKRIFT_A64R64G64B64] = {0, ARGB, sizeof(uint64_t)},
+ [LIBSKRIFT_R64G64B64A64] = {0, RGBA, sizeof(uint64_t)},
+ [LIBSKRIFT_RGB_FLOAT] = {1, RGB, sizeof(float)},
+ [LIBSKRIFT_ARGB_FLOAT] = {1, ARGB, sizeof(float)},
+ [LIBSKRIFT_RGBA_FLOAT] = {1, RGBA, sizeof(float)},
+ [LIBSKRIFT_RGB_DOUBLE] = {2, RGB, sizeof(double)},
+ [LIBSKRIFT_ARGB_DOUBLE] = {2, ARGB, sizeof(double)},
+ [LIBSKRIFT_RGBA_DOUBLE] = {2, RGBA, sizeof(double)},
+ [LIBSKRIFT_RGB_LONG_DOUBLE] = {3, RGB, sizeof(long double)},
+ [LIBSKRIFT_ARGB_LONG_DOUBLE] = {3, ARGB, sizeof(long double)},
+ [LIBSKRIFT_RGBA_LONG_DOUBLE] = {3, RGBA, sizeof(long double)}
+ /* REMEMBER that element count is specified in common.h */
+};