aboutsummaryrefslogtreecommitdiffstats
path: root/libskrift_format_settings.c
diff options
context:
space:
mode:
Diffstat (limited to 'libskrift_format_settings.c')
-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 */
+};