Skip to content

Commit cb82eb4

Browse files
committed
clean up unneeded types
1 parent 1b25d6e commit cb82eb4

1 file changed

Lines changed: 27 additions & 33 deletions

File tree

syncscribble/linux/linuxwayland.c

Lines changed: 27 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -16,27 +16,21 @@
1616

1717
#define MAX_TOOLS 32
1818

19-
typedef struct FrameInfo {
19+
typedef struct ToolState {
20+
struct zwp_tablet_tool_v2* tool;
2021
uint32_t toolType;
21-
22-
// 0 means not set this frame
23-
// 1 means pen up
24-
// 2 means pen down
25-
int penDown;
26-
27-
bool moved;
22+
float x;
23+
float y;
2824
float tiltX; // normalized to -1 .. +1
2925
float tiltY; // normalized to -1 .. +1
3026
float pressure; // normalized to 0..1
3127
unsigned int buttons;
32-
} FrameInfo;
3328

34-
typedef struct ToolState {
35-
struct zwp_tablet_tool_v2* tool;
36-
SDL_Window* window; // TODO: move somewhere else
37-
float x;
38-
float y;
39-
FrameInfo frame;
29+
// 0 means not set this frame.
30+
// 1 means pen up.
31+
// 2 means pen down.
32+
int framePenDown;
33+
bool frameMotionSet;
4034
} ToolState;
4135

4236
typedef struct WlState {
@@ -64,20 +58,20 @@ static float getDisplayScaleFactor(SDL_Window* window) {
6458
static void wlReportTabletEvent(ToolState* state)
6559
{
6660
uint32_t eventType = SDL_FINGERMOTION;
67-
if(state->frame.penDown != 0)
68-
eventType = state->frame.penDown == 1 ? SDL_FINGERUP : SDL_FINGERDOWN;
61+
if(state->framePenDown != 0)
62+
eventType = state->framePenDown == 1 ? SDL_FINGERUP : SDL_FINGERDOWN;
6963

7064
SDL_Event event = {
7165
.tfinger = {
7266
.type = eventType,
7367
.timestamp = SDL_GetTicks(),
74-
.touchId = state->frame.toolType == ZWP_TABLET_TOOL_V2_TYPE_ERASER ? PenPointerEraser : PenPointerPen,
75-
.fingerId = state->frame.buttons,
68+
.touchId = state->toolType == ZWP_TABLET_TOOL_V2_TYPE_ERASER ? PenPointerEraser : PenPointerPen,
69+
.fingerId = state->buttons,
7670
.x = state->x,
7771
.y = state->y,
78-
.dx = state->frame.tiltX,
79-
.dy = state->frame.tiltY,
80-
.pressure = state->frame.pressure,
72+
.dx = state->tiltX,
73+
.dy = state->tiltY,
74+
.pressure = state->pressure,
8175
.windowID = 0, // unused
8276
}
8377
};
@@ -127,7 +121,7 @@ static const struct wl_seat_listener seatListener = {
127121
static void handleTabletToolType(void* data, struct zwp_tablet_tool_v2* tool, uint32_t type)
128122
{
129123
ToolState* toolState = data;
130-
toolState->frame.toolType = type;
124+
toolState->toolType = type;
131125
}
132126

133127
static void handleHardwareSerial(void* data, struct zwp_tablet_tool_v2* tool, uint32_t hi, uint32_t lo)
@@ -176,13 +170,13 @@ void handleTabletToolDown(void *data,
176170
uint32_t serial)
177171
{
178172
ToolState* toolState = data;
179-
toolState->frame.penDown = 2;
173+
toolState->framePenDown = 2;
180174
}
181175
void handleTabletToolUp(void *data,
182176
struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2)
183177
{
184178
ToolState* toolState = data;
185-
toolState->frame.penDown = 1;
179+
toolState->framePenDown = 1;
186180
}
187181
void handleTabletToolMotion(void *data,
188182
struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2,
@@ -194,7 +188,7 @@ void handleTabletToolMotion(void *data,
194188

195189
toolState->x = wl_fixed_to_double(x) * scale;
196190
toolState->y = wl_fixed_to_double(y) * scale;
197-
toolState->frame.moved = true;
191+
toolState->frameMotionSet = true;
198192
}
199193
void handleTabletToolPressure(void *data,
200194
struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2,
@@ -203,7 +197,7 @@ void handleTabletToolPressure(void *data,
203197
ToolState* toolState = data;
204198

205199
// according to spec, pressure is normalized to a value between 0 and 65535
206-
toolState->frame.pressure = (float)pressure / 65535;
200+
toolState->pressure = (float)pressure / 65535;
207201
}
208202
void handleTabletToolDistance(void *data,
209203
struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2,
@@ -220,8 +214,8 @@ void handleTabletToolTilt(void *data,
220214
// and is positive when the top of a tool tilts along the positive x
221215
// or y axis.
222216
// Our internal representation should be normalized to -1 .. 1
223-
toolState->frame.tiltX = wl_fixed_to_double(tilt_x) / 90.f;
224-
toolState->frame.tiltY = wl_fixed_to_double(tilt_y) / 90.f;
217+
toolState->tiltX = wl_fixed_to_double(tilt_x) / 90.f;
218+
toolState->tiltY = wl_fixed_to_double(tilt_y) / 90.f;
225219
}
226220
void handleTabletToolRotation(void *data,
227221
struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2,
@@ -248,9 +242,9 @@ void handleTabletToolButton(void *data,
248242
ToolState* toolState = data;
249243

250244
if(state == ZWP_TABLET_PAD_V2_BUTTON_STATE_PRESSED)
251-
toolState->frame.buttons |= wlToSDLButton(button);
245+
toolState->buttons |= wlToSDLButton(button);
252246
else // TODO: linuxtablet.c does a ^= , which seems weird to me
253-
toolState->frame.buttons &= ~wlToSDLButton(button);
247+
toolState->buttons &= ~wlToSDLButton(button);
254248
}
255249
void handleTabletToolFrame(void *data,
256250
struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2,
@@ -259,8 +253,8 @@ void handleTabletToolFrame(void *data,
259253
ToolState* toolState = data;
260254

261255
wlReportTabletEvent(toolState);
262-
toolState->frame.penDown = 0;
263-
toolState->frame.moved = false;
256+
toolState->framePenDown = 0;
257+
toolState->frameMotionSet = false;
264258
}
265259

266260
static const struct zwp_tablet_tool_v2_listener tabletToolListener = {

0 commit comments

Comments
 (0)