blob: c55a31946302fa6e2c306bd70eede952f9c4ecd4 (
plain) (
blame)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
/* See LICENSE file for copyright and license details. */
#include <stddef.h>
#include <stdint.h>
typedef uint32_t libaxl_id_t;
typedef libaxl_id_t libaxl_window_t;
typedef libaxl_id_t libaxl_pixmap_t;
typedef libaxl_id_t libaxl_cursor_t;
typedef libaxl_id_t libaxl_font_t;
typedef libaxl_id_t libaxl_gcontext_t;
typedef libaxl_id_t libaxl_colormap_t;
typedef libaxl_id_t libaxl_drawable_t; /* libaxl_window_t or libaxl_pixmap_t */
typedef libaxl_id_t libaxl_fontable_t; /* libaxl_font_t or libaxl_gcontext_t */
typedef libaxl_id_t libaxl_atom_t;
typedef libaxl_id_t libaxl_visual_t;
typedef uint32_t libaxl_timestamp_t;
typedef uint32_t libaxl_keysym_t;
typedef uint8_t libaxl_keycode_t;
typedef uint8_t libaxl_button_t;
typedef uint8_t libaxl_bool_t;
typedef uint16_t libaxl_keybutmask_t;
struct libaxl_point {
int16_t x;
int16_t y;
};
struct libaxl_segment {
int16_t x1;
int16_t y1;
int16_t x2;
int16_t y2;
};
struct libaxl_rectangle {
int16_t x; /* rightward offset from upper-left corner */
int16_t y; /* downward offset from upper-left corner */
uint16_t width;
uint16_t height;
};
struct libaxl_arc {
int16_t x;
int16_t y;
uint16_t width;
uint16_t height;
int16_t angle1;
int16_t angle2;
};
struct libaxl_char2b {
uint8_t byte1;
uint8_t byte2;
};
union libaxl_text_item8 {
struct {
uint8_t length_of_string; /* cannot be LIBAXL_FONT_SHIFT_INDICATOR (= 255) */
int8_t delta;
char *string;
};
struct {
uint8_t font_shift_indicator; /* must be LIBAXL_FONT_SHIFT_INDICATOR (= 255) */
uint8_t font_byte_3; /* (most-significant) */
uint8_t font_byte_2;
uint8_t font_byte_1;
uint8_t font_byte_0; /* (least-significant) */
};
};
union libaxl_text_item16 {
struct {
uint8_t length_of_string; /* in number of CHAR2Bs, cannot be LIBAXL_FONT_SHIFT_INDICATOR (= 255) */
int8_t delta;
uint16_t *string;
};
struct {
uint8_t font_shift_indicator; /* must be LIBAXL_FONT_SHIFT_INDICATOR (= 255) */
uint8_t font_byte_3; /* (most-significant) */
uint8_t font_byte_2;
uint8_t font_byte_1;
uint8_t font_byte_0; /* (least-significant) */
};
};
struct libaxl_coloritem {
uint32_t pixel;
uint16_t red;
uint16_t green;
uint16_t blue;
uint8_t flags; /* See libaxl-consts.h */
uint8_t __unused;
};
struct libaxl_timecoord {
libaxl_timestamp_t time;
int16_t x;
int16_t y;
};
struct libaxl_fontprop {
libaxl_atom_t name;
uint32_t value; /* <32-bits> */
};
struct libaxl_charinfo {
int16_t left_side_bearing;
int16_t right_side_bearing;
int16_t character_width;
int16_t ascent;
int16_t descent;
uint16_t attributes;
};
struct libaxl_rgb16 {
uint16_t red;
uint16_t green;
uint16_t blue;
uint16_t __unused;
};
struct libaxl_str8 {
uint8_t length;
char *name;
};
struct libaxl_host {
uint8_t family; /* See libaxl-consts.h */
uint8_t __pad;
uint16_t length_of_address;
uint8_t *address;
};
|