2023-10-31 22:37:11 +01:00
|
|
|
#ifndef ANDROID_LAYOUT_H
|
|
|
|
|
#define ANDROID_LAYOUT_H
|
|
|
|
|
|
|
|
|
|
#include <jni.h>
|
|
|
|
|
#include <gtk/gtk.h>
|
|
|
|
|
|
2023-10-31 22:56:22 +01:00
|
|
|
#define MEASURE_SPEC_UNSPECIFIED (0 << 30)
|
|
|
|
|
#define MEASURE_SPEC_EXACTLY (1 << 30)
|
|
|
|
|
#define MEASURE_SPEC_AT_MOST (2 << 30)
|
|
|
|
|
#define MEASURE_SPEC_MASK (0x3 << 30)
|
|
|
|
|
|
|
|
|
|
#define MATCH_PARENT (-1)
|
|
|
|
|
#define WRAP_CONTENT (-2)
|
|
|
|
|
|
2023-10-31 22:37:11 +01:00
|
|
|
G_DECLARE_FINAL_TYPE(AndroidLayout, android_layout, ATL, ANDROID_LAYOUT, GtkLayoutManager);
|
|
|
|
|
|
|
|
|
|
struct _AndroidLayout {
|
|
|
|
|
GtkLayoutManager parent_instance;
|
|
|
|
|
jobject view;
|
2023-10-31 22:56:22 +01:00
|
|
|
int width;
|
|
|
|
|
int height;
|
2024-05-06 06:35:47 +02:00
|
|
|
int real_width;
|
|
|
|
|
int real_height;
|
|
|
|
|
gboolean needs_allocation;
|
2023-10-31 22:37:11 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
GtkLayoutManager *android_layout_new(jobject view);
|
2023-10-31 22:56:22 +01:00
|
|
|
void android_layout_set_params(AndroidLayout *layout, int width, int height);
|
2023-10-31 22:37:11 +01:00
|
|
|
|
2024-05-06 06:35:47 +02:00
|
|
|
void widget_set_needs_allocation(GtkWidget *widget);
|
|
|
|
|
|
2025-02-05 16:27:17 +01:00
|
|
|
#endif // ANDROID_LAYOUT_H
|