aboutsummaryrefslogtreecommitdiff
path: root/include/lock/lock.h
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2016-03-25 11:10:22 -0400
committerDrew DeVault <sir@cmpwn.com>2016-03-25 11:10:22 -0400
commit9a86490a382bfabf57b83ceb846b16419ac9e485 (patch)
tree552fb9c745d8c5a851c774ef48e3fa685a13bef6 /include/lock/lock.h
parent56838587e1db6ba9b1143dea6559734abf4ddbbe (diff)
parentfb6dcce2adb16c302f637978d8c0b80df123802a (diff)
Merge pull request #543 from fluxchief/master
Add graphical feedback to swaylock (#526)
Diffstat (limited to 'include/lock/lock.h')
-rw-r--r--include/lock/lock.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/include/lock/lock.h b/include/lock/lock.h
new file mode 100644
index 00000000..1cf66e89
--- /dev/null
+++ b/include/lock/lock.h
@@ -0,0 +1,37 @@
+#ifndef _SWAYLOCK_H
+#define _SWAYLOCK_H
+
+#include "client/cairo.h"
+
+enum scaling_mode {
+ SCALING_MODE_STRETCH,
+ SCALING_MODE_FILL,
+ SCALING_MODE_FIT,
+ SCALING_MODE_CENTER,
+ SCALING_MODE_TILE,
+};
+
+enum auth_state {
+ AUTH_STATE_IDLE,
+ AUTH_STATE_INPUT,
+ AUTH_STATE_BACKSPACE,
+ AUTH_STATE_VALIDATING,
+ AUTH_STATE_INVALID,
+};
+
+struct render_data {
+ list_t *surfaces;
+ // Output specific images
+ cairo_surface_t **images;
+ // OR one image for all outputs:
+ cairo_surface_t *image;
+ int num_images;
+ int color_set;
+ uint32_t color;
+ enum scaling_mode scaling_mode;
+ enum auth_state auth_state;
+};
+
+void render(struct render_data* render_data);
+
+#endif