aboutsummaryrefslogtreecommitdiffstats
path: root/c_src/sdl_pixels.c
diff options
context:
space:
mode:
Diffstat (limited to 'c_src/sdl_pixels.c')
-rw-r--r--c_src/sdl_pixels.c61
1 files changed, 61 insertions, 0 deletions
diff --git a/c_src/sdl_pixels.c b/c_src/sdl_pixels.c
new file mode 100644
index 0000000..08c9a61
--- /dev/null
+++ b/c_src/sdl_pixels.c
@@ -0,0 +1,61 @@
+// Copyright (c) 2018, Loïc Hoguin <[email protected]>
+//
+// Permission to use, copy, modify, and/or distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+#include "esdl2.h"
+
+#define PIXEL_FORMAT_ENUM(E) \
+ E(unknown, SDL_PIXELFORMAT_UNKNOWN) \
+ E(index1lsb, SDL_PIXELFORMAT_INDEX1LSB) \
+ E(index1msb, SDL_PIXELFORMAT_INDEX1MSB) \
+ E(index4lsb, SDL_PIXELFORMAT_INDEX4LSB) \
+ E(index4msb, SDL_PIXELFORMAT_INDEX4MSB) \
+ E(index8, SDL_PIXELFORMAT_INDEX8) \
+ E(rgb332, SDL_PIXELFORMAT_RGB332) \
+ E(rgb444, SDL_PIXELFORMAT_RGB444) \
+ E(rgb555, SDL_PIXELFORMAT_RGB555) \
+ E(bgr555, SDL_PIXELFORMAT_BGR555) \
+ E(argb4444, SDL_PIXELFORMAT_ARGB4444) \
+ E(rgba4444, SDL_PIXELFORMAT_RGBA4444) \
+ E(abgr4444, SDL_PIXELFORMAT_ABGR4444) \
+ E(bgra4444, SDL_PIXELFORMAT_BGRA4444) \
+ E(argb1555, SDL_PIXELFORMAT_ARGB1555) \
+ E(rgba5551, SDL_PIXELFORMAT_RGBA5551) \
+ E(abgr1555, SDL_PIXELFORMAT_ABGR1555) \
+ E(bgra5551, SDL_PIXELFORMAT_BGRA5551) \
+ E(rgb565, SDL_PIXELFORMAT_RGB565) \
+ E(bgr565, SDL_PIXELFORMAT_BGR565) \
+ E(rgb24, SDL_PIXELFORMAT_RGB24) \
+ E(bgr24, SDL_PIXELFORMAT_BGR24) \
+ E(rgb888, SDL_PIXELFORMAT_RGB888) \
+ E(rgbx8888, SDL_PIXELFORMAT_RGBX8888) \
+ E(bgr888, SDL_PIXELFORMAT_BGR888) \
+ E(bgrx8888, SDL_PIXELFORMAT_BGRX8888) \
+ E(argb8888, SDL_PIXELFORMAT_ARGB8888) \
+ E(rgba8888, SDL_PIXELFORMAT_RGBA8888) \
+ E(abgr8888, SDL_PIXELFORMAT_ABGR8888) \
+ E(bgra8888, SDL_PIXELFORMAT_BGRA8888) \
+ E(argb2101010, SDL_PIXELFORMAT_ARGB2101010) \
+ E(rgba32, SDL_PIXELFORMAT_RGBA32) \
+ E(argb32, SDL_PIXELFORMAT_ARGB32) \
+ E(bgra32, SDL_PIXELFORMAT_BGRA32) \
+ E(abgr32, SDL_PIXELFORMAT_ABGR32) \
+ E(yv12, SDL_PIXELFORMAT_YV12) \
+ E(iyuv, SDL_PIXELFORMAT_IYUV) \
+ E(yuy2, SDL_PIXELFORMAT_YUY2) \
+ E(uyvy, SDL_PIXELFORMAT_UYVY) \
+ E(yvyu, SDL_PIXELFORMAT_YVYU) \
+ E(nv12, SDL_PIXELFORMAT_NV12) \
+ E(nv21, SDL_PIXELFORMAT_NV21)
+
+NIF_ENUM_TO_ATOM_FUNCTION(pixel_format_to_atom, Uint32, PIXEL_FORMAT_ENUM)