summaryrefslogtreecommitdiff
path: root/src/DockKeyboard.cpp
blob: 2a7852d4806ab9c0b472bf7fe7a514a0e5ce9d74 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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)
{
}