libx52 0.3.3
Saitek X52/X52Pro drivers for Linux/Unix
Loading...
Searching...
No Matches
libx52util.h
Go to the documentation of this file.
1/*
2 * Saitek X52 Pro Utility Library
3 *
4 * Copyright (C) 2015 Nirenjan Krishnan (nirenjan@nirenjan.org)
5 *
6 * SPDX-License-Identifier: GPL-2.0-only WITH Classpath-exception-2.0
7 */
8
19#ifndef LIBX52UTIL_H
20#define LIBX52UTIL_H
21
22#include <stddef.h>
23#include <stdint.h>
24
25#ifndef LIBX52UTIL_API
26# if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303
27# define LIBX52UTIL_API __attribute__((visibility("default")))
28# elif defined(_WIN32)
29# define LIBX52UTIL_API __declspec(dllexport)
30# else
31# define LIBX52UTIL_API
32# endif
33#endif
34
35#ifdef __cplusplus
36extern "C" {
37#endif
38
60LIBX52UTIL_API int libx52util_convert_utf8_string(const uint8_t *input,
61 uint8_t *output, size_t *len);
62
81typedef struct libx52util_scroll libx52util_scroll_state;
82
89 LIBX52UTIL_SCROLL_NONE = 0,
107
131 const uint8_t *utf8_string,
133
141
150
172 uint8_t display[16]);
173
178#ifdef __cplusplus
179}
180#endif
181
182#endif /* !defined LIBX52UTIL_H */
183
LIBX52UTIL_API int libx52util_convert_utf8_string(const uint8_t *input, uint8_t *output, size_t *len)
Convert UTF8 string to X52 character map.
LIBX52UTIL_API int libx52util_scroll_new(libx52util_scroll_state **state, const uint8_t *utf8_string, libx52util_scroll_flags flags)
Allocate scroll state from a UTF-8 string.
libx52util_scroll_flags
Bitwise flags for libx52util_scroll_new().
Definition libx52util.h:88
struct libx52util_scroll libx52util_scroll_state
Definition libx52util.h:81
LIBX52UTIL_API int libx52util_scroll_reset(libx52util_scroll_state *state)
Rewind the scroll window to the initial position.
LIBX52UTIL_API void libx52util_scroll_free(libx52util_scroll_state **state)
Free scroll state.
LIBX52UTIL_API int libx52util_scroll_next(libx52util_scroll_state *state, uint8_t display[16])
Emit the next 16-byte MFD line for the current window.
@ LIBX52UTIL_SCROLL_SINGLE_PASS
Definition libx52util.h:105
@ LIBX52UTIL_SCROLL_IN
Definition libx52util.h:91
@ LIBX52UTIL_SCROLL_OUT
Definition libx52util.h:93
@ LIBX52UTIL_SCROLL_LTR
Definition libx52util.h:98