2
* @file geis_xcb_backend.h
3
* @brief the XCB-based grail back end
5
* Copyright 2011 Canonical Ltd.
7
* This library is free software; you can redistribute it and/or modify it under
8
* the terms of the GNU Lesser General Public License as published by the Free
9
* Software Foundation; either version 3 of the License, or (at your option) any
12
* This library is distributed in the hope that it will be useful, but WITHOUT
13
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
17
* You should have received a copy of the GNU General Public License
18
* along with this program. If not, see <http://www.gnu.org/licenses/>.
20
#ifndef GEIS_BACKEND_XCB_BACKEND_H_
21
#define GEIS_BACKEND_XCB_BACKEND_H_
23
#include "geis/geis.h"
24
#include "geis_xcb_backend_token.h"
26
typedef struct GeisXcbBackend *GeisXcbBackend;
30
* Gets the GEIS instance for a back end.
32
Geis geis_xcb_backend_geis(GeisXcbBackend be);
35
* Sets a token as active in the back end.
37
void geis_xcb_backend_add_token(GeisXcbBackend be, XcbBackendToken token);
40
* Removes a token as active in the back end.
42
void geis_xcb_backend_remove_token(GeisXcbBackend be, XcbBackendToken token);
45
* Actually selects XCB events for all active tokens in the back end.
47
void geis_xcb_backend_select_events(GeisXcbBackend be,
51
#endif /* GEIS_BACKEND_XCB_BACKEND_H_ */