2022-10-02 23:06:56 +02:00
|
|
|
#ifndef WRAPPER_WIDGET_H
|
|
|
|
|
#define WRAPPER_WIDGET_H
|
|
|
|
|
|
2023-07-14 17:53:12 +02:00
|
|
|
#include <jni.h>
|
2023-10-28 08:04:00 +02:00
|
|
|
#include <gtk/gtk.h>
|
2023-07-14 17:53:12 +02:00
|
|
|
|
2022-10-02 23:06:56 +02:00
|
|
|
G_DECLARE_FINAL_TYPE (WrapperWidget, wrapper_widget, WRAPPER, WIDGET, GtkWidget)
|
|
|
|
|
|
|
|
|
|
struct _WrapperWidget
|
|
|
|
|
{
|
|
|
|
|
GtkWidget parent_instance;
|
2023-07-14 17:53:12 +02:00
|
|
|
JavaVM *jvm;
|
|
|
|
|
jobject jobj;
|
|
|
|
|
jobject canvas;
|
|
|
|
|
jmethodID draw_method;
|
|
|
|
|
jmethodID measure_method;
|
2022-10-02 23:06:56 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct _WrapperWidgetClass
|
|
|
|
|
{
|
|
|
|
|
GtkWidgetClass parent_class;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
GtkWidget * wrapper_widget_new(void);
|
|
|
|
|
void wrapper_widget_set_child(WrapperWidget *parent, GtkWidget *child);
|
2023-07-14 17:53:12 +02:00
|
|
|
void wrapper_widget_set_jobject(WrapperWidget *wrapper, JNIEnv *env, jobject jobj);
|
2022-10-02 23:06:56 +02:00
|
|
|
|
2023-10-28 08:04:00 +02:00
|
|
|
void _setOnTouchListener(JNIEnv *env, jobject this, GtkWidget *widget, jobject on_touch_listener);
|
|
|
|
|
|
2022-10-02 23:06:56 +02:00
|
|
|
#endif
|