summaryrefslogtreecommitdiff
path: root/src/DockKeyboard.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/DockKeyboard.cpp')
-rw-r--r--src/DockKeyboard.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/DockKeyboard.cpp b/src/DockKeyboard.cpp
new file mode 100644
index 0000000..2a7852d
--- /dev/null
+++ b/src/DockKeyboard.cpp
@@ -0,0 +1,35 @@
+
+#include "DockKeyboard.h"
+#include "logger.h"
+#include "Config.h"
+#include <cairo.h>
+#include <cairo-xlib.h>
+
+DockKeyboard::DockKeyboard(XConn* x11, KeyboardDevice* kbd)
+{
+ this->kbd = kbd;
+ this->x11 = x11;
+}
+
+void DockKeyboard::setup()
+{
+ cairo_surface_t* png =
+ cairo_image_surface_create_from_png(Config::getInstance()->kbdImage);
+ cairo_surface_t* button =
+ cairo_xlib_surface_create(x11->dpy, backbuff, x11->vis, width, height);
+ cairo_t* cr = cairo_create(button);
+ cairo_set_source_surface(cr, png, 0, 0);
+ cairo_paint(cr);
+ if (cairo_status(cr))
+ {
+ ERR("cairo: %s\n", cairo_status_to_string(cairo_status(cr)));
+ }
+ cairo_surface_destroy(button);
+ cairo_surface_destroy(png);
+ cairo_destroy(cr);
+ XFlush(x11->dpy);
+}
+
+void DockKeyboard::handleButtonEvent(XButtonEvent* ev)
+{
+}