aboutsummaryrefslogtreecommitdiffstats
path: root/glcd/worker.h
diff options
context:
space:
mode:
authorTectu <joel@unormal.org>2012-07-18 03:42:05 +0200
committerTectu <joel@unormal.org>2012-07-18 03:42:05 +0200
commit096701a6ad8f2ba5512aff4ee430ca0d626fff7a (patch)
tree647c32fb1ffbcc895b4b1ffa119c8c3ee88f9948 /glcd/worker.h
parent24692be747aa4d94e264219d6f18bcc6beec76ff (diff)
downloaduGFX-096701a6ad8f2ba5512aff4ee430ca0d626fff7a.tar.gz
uGFX-096701a6ad8f2ba5512aff4ee430ca0d626fff7a.tar.bz2
uGFX-096701a6ad8f2ba5512aff4ee430ca0d626fff7a.zip
restructorizing
Diffstat (limited to 'glcd/worker.h')
-rw-r--r--glcd/worker.h112
1 files changed, 112 insertions, 0 deletions
diff --git a/glcd/worker.h b/glcd/worker.h
new file mode 100644
index 00000000..d08cae9d
--- /dev/null
+++ b/glcd/worker.h
@@ -0,0 +1,112 @@
+#ifndef WORKER_H
+#define WORKER_H
+
+#define GLCD_WORKER_SIZE 512
+
+enum glcd_action { GLCD_SET_POWERMODE,
+ GLCD_SET_ORIENTATION,
+ GLCD_SET_WINDOW,
+ GLCD_FILL_AREA,
+ GLCD_WRITE_AREA,
+ GLCD_CLEAR,
+ GLCD_GET_PIXEL_COLOR,
+ GLCD_DRAW_PIXEL,
+ GLCD_WRITE_STREAM_START,
+ GLCD_WRITE_STREAM_STOP,
+ GLCD_WRITE_STREAM,
+ };
+
+enum glcd_result { GLCD_DONE,
+ GLCD_FAILED,
+ GLCD_PROGRESS,
+ };
+
+#define _glcd_msg_base \
+ enum glcd_action action; \
+ enum glcd_result result;
+
+struct glcd_msg_base {
+ _glcd_msg_base
+};
+
+struct glcd_msg_powermode {
+ _glcd_msg_base
+
+ uint8_t powermode;
+};
+
+struct glcd_msg_orientation {
+ _glcd_msg_base
+
+ uint8_t newOrientation;
+};
+
+struct glcd_msg_set_window {
+ _glcd_msg_base
+
+ uint16_t x0;
+ uint16_t y0;
+ uint16_t x1;
+ uint16_t y1;
+};
+
+struct glcd_msg_fill_area {
+ _glcd_msg_base
+
+ uint16_t x0;
+ uint16_t y0;
+ uint16_t x1;
+ uint16_t y1;
+ uint16_t color;
+};
+
+struct glcd_msg_write_area {
+ _glcd_msg_base
+
+ uint16_t x0;
+ uint16_t y0;
+ uint16_t x1;
+ uint16_t y1;
+ uint16_t *buffer;
+ size_t size;
+};
+
+struct glcd_msg_clear {
+ _glcd_msg_base
+
+ uint16_t color;
+};
+
+struct glcd_msg_get_pixel_color {
+ _glcd_msg_base
+
+ uint16_t x;
+ uint16_t y;
+ uint16_t color;
+};
+
+struct glcd_msg_draw_pixel {
+ _glcd_msg_base
+
+ uint16_t x;
+ uint16_t y;
+ uint16_t color;
+};
+
+struct glcd_msg_write_stream_start {
+ _glcd_msg_base
+};
+
+struct glcd_msg_write_stream_stop {
+ _glcd_msg_base
+};
+
+struct glcd_msg_write_stream {
+ _glcd_msg_base
+
+ uint16_t *buffer;
+ uint16_t size;
+};
+
+#endif
+