[digesting_libdecor] convert 'private' pointer in libdecor_frame to in-memory 'private' field

main
Allen Webster 2026-02-26 16:22:26 -08:00
parent fb76c306cd
commit 617f855443
2 changed files with 262 additions and 439 deletions

File diff suppressed because it is too large Load Diff

View File

@ -115,21 +115,6 @@ enum libdecor_wm_capabilities {
// libdecor-plugin.h
struct libdecor_frame_private;
struct libdecor_frame {
struct libdecor_frame_private *priv;
struct wl_list link;
};
// #include "libdecor.c"
struct libdecor_state {
enum libdecor_window_state window_state;
int content_width;
int content_height;
};
struct libdecor_limits {
int min_width;
int min_height;
@ -137,17 +122,6 @@ struct libdecor_limits {
int max_height;
};
struct libdecor_configuration {
uint32_t serial;
bool has_window_state;
enum libdecor_window_state window_state;
bool has_size;
int window_width;
int window_height;
};
struct libdecor_frame_private {
int ref_count;
@ -188,6 +162,31 @@ struct libdecor_frame_private {
bool visible;
};
struct libdecor_frame {
struct libdecor_frame_private priv;
struct wl_list link;
};
// #include "libdecor.c"
struct libdecor_state {
enum libdecor_window_state window_state;
int content_width;
int content_height;
};
struct libdecor_configuration {
uint32_t serial;
bool has_window_state;
enum libdecor_window_state window_state;
bool has_size;
int window_width;
int window_height;
};
// #include "desktop-settings.h"
enum libdecor_color_scheme {
@ -376,11 +375,8 @@ enum titlebar_gesture {
// libdecor.h
void libdecor_frame_ref(struct libdecor_frame *frame);
void libdecor_frame_unref(struct libdecor_frame *frame);
void *libdecor_frame_get_user_data(struct libdecor_frame *frame);
void libdecor_frame_set_user_data(struct libdecor_frame *frame, void *user_data);
void libdecor_frame_set_visibility(struct libdecor_frame *frame,
bool visible);
bool libdecor_frame_is_visible(struct libdecor_frame *frame);
void libdecor_frame_set_parent(struct libdecor_frame *frame,
struct libdecor_frame *parent);
@ -513,7 +509,6 @@ static int libdecor_plugin_gtk_get_fd(void);
static int libdecor_plugin_gtk_get_fd(void);
static int libdecor_plugin_gtk_dispatch(int timeout);
static void libdecor_plugin_gtk_set_handle_application_cursor(bool handle_cursor);
static struct libdecor_frame * libdecor_plugin_gtk_frame_new(void);
static void libdecor_plugin_gtk_frame_free(struct libdecor_frame *frame);
static void libdecor_plugin_gtk_frame_commit(struct libdecor_frame *frame, struct libdecor_state *state, struct libdecor_configuration *configuration);
static void libdecor_plugin_gtk_frame_property_changed(struct libdecor_frame *frame);