MethodHandle toggle_args_set_groups;
MethodHandle toggle_args_free;
+ MethodHandle list_args_new;
+ MethodHandle list_args_set_fill;
+ MethodHandle list_args_set_hexpand;
+ MethodHandle list_args_set_vexpand;
+ MethodHandle list_args_set_hfill;
+ MethodHandle list_args_set_vfill;
+ MethodHandle list_args_set_override_defaults;
+ MethodHandle list_args_set_colspan;
+ MethodHandle list_args_set_rowspan;
+ MethodHandle list_args_set_name;
+ MethodHandle list_args_set_style_class;
+ MethodHandle list_args_set_varname;
+ MethodHandle list_args_set_value;
+ MethodHandle list_args_set_model;
+ MethodHandle list_args_set_static_elements;
+ MethodHandle list_args_set_getvalue_func;
+ MethodHandle list_args_set_onactivate;
+ MethodHandle list_args_set_onactivatedata;
+ MethodHandle list_args_set_onselection;
+ MethodHandle list_args_set_onselectiondata;
+ MethodHandle list_args_set_ondragstart;
+ MethodHandle list_args_set_ondragstartdata;
+ MethodHandle list_args_set_ondragcomplete;
+ MethodHandle list_args_set_ondragcompletedata;
+ MethodHandle list_args_set_ondrop;
+ MethodHandle list_args_set_ondropdata;
+ MethodHandle list_args_set_multiselection;
+ MethodHandle list_args_set_contextmenu;
+ MethodHandle list_args_set_groups;
+ MethodHandle list_args_free;
+
private ArgFuncs(Linker linker, SymbolLookup lib) {
FunctionDescriptor sigm = FunctionDescriptor.of(ValueLayout.ADDRESS);
FunctionDescriptor sigv_m = FunctionDescriptor.ofVoid(ValueLayout.ADDRESS);
FunctionDescriptor sigv_mm = FunctionDescriptor.ofVoid(ValueLayout.ADDRESS, ValueLayout.ADDRESS);
+ FunctionDescriptor sigv_mml = FunctionDescriptor.ofVoid(ValueLayout.ADDRESS, ValueLayout.ADDRESS, ValueLayout.JAVA_LONG);
FunctionDescriptor sigv_mb = FunctionDescriptor.ofVoid(ValueLayout.ADDRESS, ValueLayout.JAVA_BOOLEAN);
FunctionDescriptor sigv_mi = FunctionDescriptor.ofVoid(ValueLayout.ADDRESS, ValueLayout.JAVA_INT);
MemorySegment ui_toggle_args_set_groups_addr = lib.find("ui_toggle_args_set_groups").orElseThrow();
MemorySegment ui_toggle_args_free_addr = lib.find("ui_toggle_args_free").orElseThrow();
+ MemorySegment ui_list_args_new_addr = lib.find("ui_list_args_new").orElseThrow();
+ MemorySegment ui_list_args_set_fill_addr = lib.find("ui_list_args_set_fill").orElseThrow();
+ MemorySegment ui_list_args_set_hexpand_addr = lib.find("ui_list_args_set_hexpand").orElseThrow();
+ MemorySegment ui_list_args_set_vexpand_addr = lib.find("ui_list_args_set_vexpand").orElseThrow();
+ MemorySegment ui_list_args_set_hfill_addr = lib.find("ui_list_args_set_hfill").orElseThrow();
+ MemorySegment ui_list_args_set_vfill_addr = lib.find("ui_list_args_set_vfill").orElseThrow();
+ MemorySegment ui_list_args_set_override_defaults_addr = lib.find("ui_list_args_set_override_defaults").orElseThrow();
+ MemorySegment ui_list_args_set_colspan_addr = lib.find("ui_list_args_set_colspan").orElseThrow();
+ MemorySegment ui_list_args_set_rowspan_addr = lib.find("ui_list_args_set_rowspan").orElseThrow();
+ MemorySegment ui_list_args_set_name_addr = lib.find("ui_list_args_set_name").orElseThrow();
+ MemorySegment ui_list_args_set_style_class_addr = lib.find("ui_list_args_set_style_class").orElseThrow();
+ MemorySegment ui_list_args_set_varname_addr = lib.find("ui_list_args_set_varname").orElseThrow();
+ MemorySegment ui_list_args_set_value_addr = lib.find("ui_list_args_set_value").orElseThrow();
+ MemorySegment ui_list_args_set_model_addr = lib.find("ui_list_args_set_model").orElseThrow();
+ MemorySegment ui_list_args_set_static_elements_addr = lib.find("ui_list_args_set_static_elements").orElseThrow();
+ MemorySegment ui_list_args_set_getvalue_func_addr = lib.find("ui_list_args_set_getvalue_func").orElseThrow();
+ MemorySegment ui_list_args_set_onactivate_addr = lib.find("ui_list_args_set_onactivate").orElseThrow();
+ MemorySegment ui_list_args_set_onactivatedata_addr = lib.find("ui_list_args_set_onactivatedata").orElseThrow();
+ MemorySegment ui_list_args_set_onselection_addr = lib.find("ui_list_args_set_onselection").orElseThrow();
+ MemorySegment ui_list_args_set_onselectiondata_addr = lib.find("ui_list_args_set_onselectiondata").orElseThrow();
+ MemorySegment ui_list_args_set_ondragstart_addr = lib.find("ui_list_args_set_ondragstart").orElseThrow();
+ MemorySegment ui_list_args_set_ondragstartdata_addr = lib.find("ui_list_args_set_ondragstartdata").orElseThrow();
+ MemorySegment ui_list_args_set_ondragcomplete_addr = lib.find("ui_list_args_set_ondragcomplete").orElseThrow();
+ MemorySegment ui_list_args_set_ondragcompletedata_addr = lib.find("ui_list_args_set_ondragcompletedata").orElseThrow();
+ MemorySegment ui_list_args_set_ondrop_addr = lib.find("ui_list_args_set_ondrop").orElseThrow();
+ MemorySegment ui_list_args_set_ondropdata_addr = lib.find("ui_list_args_set_ondropdata").orElseThrow();
+ MemorySegment ui_list_args_set_multiselection_addr = lib.find("ui_list_args_set_multiselection").orElseThrow();
+ MemorySegment ui_list_args_set_contextmenu_addr = lib.find("ui_list_args_set_contextmenu").orElseThrow();
+ MemorySegment ui_list_args_set_groups_addr = lib.find("ui_list_args_set_groups").orElseThrow();
+ MemorySegment ui_list_args_free_addr = lib.find("ui_list_args_free").orElseThrow();
+
menuitem_args_new = linker.downcallHandle(ui_menuitem_args_new_addr, sigm);
menuitem_args_set_label = linker.downcallHandle(ui_menuitem_args_set_label_addr, sigv_mm);
menuitem_args_set_stockid = linker.downcallHandle(ui_menuitem_args_set_stockid_addr, sigv_mm);
toggle_args_set_enablegroup = linker.downcallHandle(ui_toggle_args_set_enablegroup, sigv_mi);
toggle_args_set_groups = linker.downcallHandle(ui_toggle_args_set_groups_addr, sigv_mm);
toggle_args_free = linker.downcallHandle(ui_toggle_args_free_addr, sigv_m);
+
+ list_args_new = linker.downcallHandle(ui_list_args_new_addr, sigm);
+ list_args_set_fill = linker.downcallHandle(ui_list_args_set_fill_addr, sigv_mb);
+ list_args_set_hexpand = linker.downcallHandle(ui_list_args_set_hexpand_addr, sigv_mb);
+ list_args_set_vexpand = linker.downcallHandle(ui_list_args_set_vexpand_addr, sigv_mb);
+ list_args_set_hfill = linker.downcallHandle(ui_list_args_set_hfill_addr, sigv_mb);
+ list_args_set_vfill = linker.downcallHandle(ui_list_args_set_vfill_addr, sigv_mb);
+ list_args_set_override_defaults = linker.downcallHandle(ui_list_args_set_override_defaults_addr, sigv_mb);
+ list_args_set_colspan = linker.downcallHandle(ui_list_args_set_colspan_addr, sigv_mi);
+ list_args_set_rowspan = linker.downcallHandle(ui_list_args_set_rowspan_addr, sigv_mi);
+ list_args_set_name = linker.downcallHandle(ui_list_args_set_name_addr, sigv_mm);
+ list_args_set_style_class = linker.downcallHandle(ui_list_args_set_style_class_addr, sigv_mm);
+ list_args_set_varname = linker.downcallHandle(ui_list_args_set_varname_addr, sigv_mm);
+ list_args_set_value = linker.downcallHandle(ui_list_args_set_value_addr, sigv_mm);
+ list_args_set_model = linker.downcallHandle(ui_list_args_set_model_addr, sigv_mm);
+ list_args_set_static_elements = linker.downcallHandle(ui_list_args_set_static_elements_addr, sigv_mml);
+ list_args_set_getvalue_func = linker.downcallHandle(ui_list_args_set_getvalue_func_addr, sigv_mm);
+ list_args_set_onactivate = linker.downcallHandle(ui_list_args_set_onactivate_addr, sigv_mm);
+ list_args_set_onactivatedata = linker.downcallHandle(ui_list_args_set_onactivatedata_addr, sigv_mm);
+ list_args_set_onselection = linker.downcallHandle(ui_list_args_set_onselection_addr, sigv_mm);
+ list_args_set_onselectiondata = linker.downcallHandle(ui_list_args_set_onselectiondata_addr, sigv_mm);
+ list_args_set_ondragstart = linker.downcallHandle(ui_list_args_set_ondragstart_addr, sigv_mm);
+ list_args_set_ondragstartdata = linker.downcallHandle(ui_list_args_set_ondragstartdata_addr, sigv_mm);
+ list_args_set_ondragcomplete = linker.downcallHandle(ui_list_args_set_ondragcomplete_addr, sigv_mm);
+ list_args_set_ondragcompletedata = linker.downcallHandle(ui_list_args_set_ondragcompletedata_addr, sigv_mm);
+ list_args_set_ondrop = linker.downcallHandle(ui_list_args_set_ondrop_addr, sigv_mm);
+ list_args_set_ondropdata = linker.downcallHandle(ui_list_args_set_ondropdata_addr, sigv_mm);
+ list_args_set_multiselection = linker.downcallHandle(ui_list_args_set_multiselection_addr, sigv_mb);
+ list_args_set_contextmenu = linker.downcallHandle(ui_list_args_set_contextmenu_addr, sigv_mm);
+ list_args_set_groups = linker.downcallHandle(ui_list_args_set_groups_addr, sigv_mm);
+ list_args_free = linker.downcallHandle(ui_list_args_free_addr, sigv_m);
}
static ArgFuncs getInstance() {
--- /dev/null
+package de.unixwork.ui;
+
+import java.lang.foreign.*;
+import java.lang.invoke.MethodHandle;
+
+public class ListFuncs {
+ static ListFuncs instance;
+
+ public MethodHandle listview_create;
+ public MethodHandle table_create;
+ public MethodHandle combobox_create;
+ public MethodHandle sourcelist_create;
+
+ private ListFuncs(Linker linker, SymbolLookup lib) {
+ // void* func(void*, void*)
+ FunctionDescriptor sigm_mm = FunctionDescriptor.of(ValueLayout.ADDRESS, ValueLayout.ADDRESS, ValueLayout.ADDRESS);
+
+ MemorySegment ui_listview_create_addr = lib.find("ui_listview_create").orElseThrow();
+ MemorySegment ui_table_create_addr = lib.find("ui_table_create").orElseThrow();
+ MemorySegment ui_combobox_create_addr = lib.find("ui_combobox_create").orElseThrow();
+ MemorySegment ui_sourcelist_create_addr = lib.find("ui_sourcelist_create").orElseThrow();
+
+ listview_create = linker.downcallHandle(ui_listview_create_addr, sigm_mm);
+ table_create = linker.downcallHandle(ui_table_create_addr, sigm_mm);
+ combobox_create = linker.downcallHandle(ui_combobox_create_addr, sigm_mm);
+ sourcelist_create = linker.downcallHandle(ui_sourcelist_create_addr, sigm_mm);
+ }
+
+ static ListFuncs getInstance() {
+ if (instance == null) {
+ Toolkit toolkit = Toolkit.getInstance();
+ instance = new ListFuncs(toolkit.getLinker(), toolkit.getSymbolLookup());
+ }
+ return instance;
+ }
+}