All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.purejava.appindicator._GtkTextViewClass Maven / Gradle / Ivy

The newest version!
// Generated by jextract

package org.purejava.appindicator;

import java.lang.invoke.*;
import java.lang.foreign.*;
import java.nio.ByteOrder;
import java.util.*;
import java.util.function.*;
import java.util.stream.*;

import static java.lang.foreign.ValueLayout.*;
import static java.lang.foreign.MemoryLayout.PathElement.*;

/**
 * {@snippet lang=c :
 * struct _GtkTextViewClass {
 *     GtkContainerClass parent_class;
 *     void (*populate_popup)(GtkTextView *, GtkWidget *);
 *     void (*move_cursor)(GtkTextView *, GtkMovementStep, gint, gboolean);
 *     void (*set_anchor)(GtkTextView *);
 *     void (*insert_at_cursor)(GtkTextView *, const gchar *);
 *     void (*delete_from_cursor)(GtkTextView *, GtkDeleteType, gint);
 *     void (*backspace)(GtkTextView *);
 *     void (*cut_clipboard)(GtkTextView *);
 *     void (*copy_clipboard)(GtkTextView *);
 *     void (*paste_clipboard)(GtkTextView *);
 *     void (*toggle_overwrite)(GtkTextView *);
 *     GtkTextBuffer *(*create_buffer)(GtkTextView *);
 *     void (*draw_layer)(GtkTextView *, GtkTextViewLayer, cairo_t *);
 *     gboolean (*extend_selection)(GtkTextView *, GtkTextExtendSelection, const GtkTextIter *, GtkTextIter *, GtkTextIter *);
 *     void (*insert_emoji)(GtkTextView *);
 *     void (*_gtk_reserved1)(void);
 *     void (*_gtk_reserved2)(void);
 *     void (*_gtk_reserved3)(void);
 *     void (*_gtk_reserved4)(void);
 * }
 * }
 */
public class _GtkTextViewClass {

    _GtkTextViewClass() {
        // Should not be called directly
    }

    private static final GroupLayout $LAYOUT = MemoryLayout.structLayout(
        _GtkContainerClass.layout().withName("parent_class"),
        app_indicator_h.C_POINTER.withName("populate_popup"),
        app_indicator_h.C_POINTER.withName("move_cursor"),
        app_indicator_h.C_POINTER.withName("set_anchor"),
        app_indicator_h.C_POINTER.withName("insert_at_cursor"),
        app_indicator_h.C_POINTER.withName("delete_from_cursor"),
        app_indicator_h.C_POINTER.withName("backspace"),
        app_indicator_h.C_POINTER.withName("cut_clipboard"),
        app_indicator_h.C_POINTER.withName("copy_clipboard"),
        app_indicator_h.C_POINTER.withName("paste_clipboard"),
        app_indicator_h.C_POINTER.withName("toggle_overwrite"),
        app_indicator_h.C_POINTER.withName("create_buffer"),
        app_indicator_h.C_POINTER.withName("draw_layer"),
        app_indicator_h.C_POINTER.withName("extend_selection"),
        app_indicator_h.C_POINTER.withName("insert_emoji"),
        app_indicator_h.C_POINTER.withName("_gtk_reserved1"),
        app_indicator_h.C_POINTER.withName("_gtk_reserved2"),
        app_indicator_h.C_POINTER.withName("_gtk_reserved3"),
        app_indicator_h.C_POINTER.withName("_gtk_reserved4")
    ).withName("_GtkTextViewClass");

    /**
     * The layout of this struct
     */
    public static final GroupLayout layout() {
        return $LAYOUT;
    }

    private static final GroupLayout parent_class$LAYOUT = (GroupLayout)$LAYOUT.select(groupElement("parent_class"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * GtkContainerClass parent_class
     * }
     */
    public static final GroupLayout parent_class$layout() {
        return parent_class$LAYOUT;
    }

    private static final long parent_class$OFFSET = 0;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * GtkContainerClass parent_class
     * }
     */
    public static final long parent_class$offset() {
        return parent_class$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * GtkContainerClass parent_class
     * }
     */
    public static MemorySegment parent_class(MemorySegment struct) {
        return struct.asSlice(parent_class$OFFSET, parent_class$LAYOUT.byteSize());
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * GtkContainerClass parent_class
     * }
     */
    public static void parent_class(MemorySegment struct, MemorySegment fieldValue) {
        MemorySegment.copy(fieldValue, 0L, struct, parent_class$OFFSET, parent_class$LAYOUT.byteSize());
    }

    /**
     * {@snippet lang=c :
     * void (*populate_popup)(GtkTextView *, GtkWidget *)
     * }
     */
    public class populate_popup {

        /**
         * The function pointer signature, expressed as a functional interface
         */
        public interface Function {
            void apply(MemorySegment _x0, MemorySegment _x1);
        }

        private static final FunctionDescriptor $DESC = FunctionDescriptor.ofVoid(
            app_indicator_h.C_POINTER,
            app_indicator_h.C_POINTER
        );

        /**
         * The descriptor of this function pointer
         */
        public static FunctionDescriptor descriptor() {
            return $DESC;
        }

        private static final MethodHandle UP$MH = app_indicator_h.upcallHandle(populate_popup.Function.class, "apply", $DESC);

        /**
         * Allocates a new upcall stub, whose implementation is defined by {@code fi}.
         * The lifetime of the returned segment is managed by {@code arena}
         */
        public static MemorySegment allocate(populate_popup.Function fi, Arena arena) {
            return Linker.nativeLinker().upcallStub(UP$MH.bindTo(fi), $DESC, arena);
        }

        private static final MethodHandle DOWN$MH = Linker.nativeLinker().downcallHandle($DESC);

        /**
         * Invoke the upcall stub {@code funcPtr}, with given parameters
         */
        public static void invoke(MemorySegment funcPtr,MemorySegment _x0, MemorySegment _x1) {
            try {
                 DOWN$MH.invokeExact(funcPtr, _x0, _x1);
            } catch (Throwable ex$) {
                throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    private static final AddressLayout populate_popup$LAYOUT = (AddressLayout)$LAYOUT.select(groupElement("populate_popup"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * void (*populate_popup)(GtkTextView *, GtkWidget *)
     * }
     */
    public static final AddressLayout populate_popup$layout() {
        return populate_popup$LAYOUT;
    }

    private static final long populate_popup$OFFSET = 976;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * void (*populate_popup)(GtkTextView *, GtkWidget *)
     * }
     */
    public static final long populate_popup$offset() {
        return populate_popup$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * void (*populate_popup)(GtkTextView *, GtkWidget *)
     * }
     */
    public static MemorySegment populate_popup(MemorySegment struct) {
        return struct.get(populate_popup$LAYOUT, populate_popup$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * void (*populate_popup)(GtkTextView *, GtkWidget *)
     * }
     */
    public static void populate_popup(MemorySegment struct, MemorySegment fieldValue) {
        struct.set(populate_popup$LAYOUT, populate_popup$OFFSET, fieldValue);
    }

    /**
     * {@snippet lang=c :
     * void (*move_cursor)(GtkTextView *, GtkMovementStep, gint, gboolean)
     * }
     */
    public class move_cursor {

        /**
         * The function pointer signature, expressed as a functional interface
         */
        public interface Function {
            void apply(MemorySegment _x0, int _x1, int _x2, int _x3);
        }

        private static final FunctionDescriptor $DESC = FunctionDescriptor.ofVoid(
            app_indicator_h.C_POINTER,
            app_indicator_h.C_INT,
            app_indicator_h.C_INT,
            app_indicator_h.C_INT
        );

        /**
         * The descriptor of this function pointer
         */
        public static FunctionDescriptor descriptor() {
            return $DESC;
        }

        private static final MethodHandle UP$MH = app_indicator_h.upcallHandle(move_cursor.Function.class, "apply", $DESC);

        /**
         * Allocates a new upcall stub, whose implementation is defined by {@code fi}.
         * The lifetime of the returned segment is managed by {@code arena}
         */
        public static MemorySegment allocate(move_cursor.Function fi, Arena arena) {
            return Linker.nativeLinker().upcallStub(UP$MH.bindTo(fi), $DESC, arena);
        }

        private static final MethodHandle DOWN$MH = Linker.nativeLinker().downcallHandle($DESC);

        /**
         * Invoke the upcall stub {@code funcPtr}, with given parameters
         */
        public static void invoke(MemorySegment funcPtr,MemorySegment _x0, int _x1, int _x2, int _x3) {
            try {
                 DOWN$MH.invokeExact(funcPtr, _x0, _x1, _x2, _x3);
            } catch (Throwable ex$) {
                throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    private static final AddressLayout move_cursor$LAYOUT = (AddressLayout)$LAYOUT.select(groupElement("move_cursor"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * void (*move_cursor)(GtkTextView *, GtkMovementStep, gint, gboolean)
     * }
     */
    public static final AddressLayout move_cursor$layout() {
        return move_cursor$LAYOUT;
    }

    private static final long move_cursor$OFFSET = 984;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * void (*move_cursor)(GtkTextView *, GtkMovementStep, gint, gboolean)
     * }
     */
    public static final long move_cursor$offset() {
        return move_cursor$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * void (*move_cursor)(GtkTextView *, GtkMovementStep, gint, gboolean)
     * }
     */
    public static MemorySegment move_cursor(MemorySegment struct) {
        return struct.get(move_cursor$LAYOUT, move_cursor$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * void (*move_cursor)(GtkTextView *, GtkMovementStep, gint, gboolean)
     * }
     */
    public static void move_cursor(MemorySegment struct, MemorySegment fieldValue) {
        struct.set(move_cursor$LAYOUT, move_cursor$OFFSET, fieldValue);
    }

    /**
     * {@snippet lang=c :
     * void (*set_anchor)(GtkTextView *)
     * }
     */
    public class set_anchor {

        /**
         * The function pointer signature, expressed as a functional interface
         */
        public interface Function {
            void apply(MemorySegment _x0);
        }

        private static final FunctionDescriptor $DESC = FunctionDescriptor.ofVoid(
            app_indicator_h.C_POINTER
        );

        /**
         * The descriptor of this function pointer
         */
        public static FunctionDescriptor descriptor() {
            return $DESC;
        }

        private static final MethodHandle UP$MH = app_indicator_h.upcallHandle(set_anchor.Function.class, "apply", $DESC);

        /**
         * Allocates a new upcall stub, whose implementation is defined by {@code fi}.
         * The lifetime of the returned segment is managed by {@code arena}
         */
        public static MemorySegment allocate(set_anchor.Function fi, Arena arena) {
            return Linker.nativeLinker().upcallStub(UP$MH.bindTo(fi), $DESC, arena);
        }

        private static final MethodHandle DOWN$MH = Linker.nativeLinker().downcallHandle($DESC);

        /**
         * Invoke the upcall stub {@code funcPtr}, with given parameters
         */
        public static void invoke(MemorySegment funcPtr,MemorySegment _x0) {
            try {
                 DOWN$MH.invokeExact(funcPtr, _x0);
            } catch (Throwable ex$) {
                throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    private static final AddressLayout set_anchor$LAYOUT = (AddressLayout)$LAYOUT.select(groupElement("set_anchor"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * void (*set_anchor)(GtkTextView *)
     * }
     */
    public static final AddressLayout set_anchor$layout() {
        return set_anchor$LAYOUT;
    }

    private static final long set_anchor$OFFSET = 992;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * void (*set_anchor)(GtkTextView *)
     * }
     */
    public static final long set_anchor$offset() {
        return set_anchor$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * void (*set_anchor)(GtkTextView *)
     * }
     */
    public static MemorySegment set_anchor(MemorySegment struct) {
        return struct.get(set_anchor$LAYOUT, set_anchor$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * void (*set_anchor)(GtkTextView *)
     * }
     */
    public static void set_anchor(MemorySegment struct, MemorySegment fieldValue) {
        struct.set(set_anchor$LAYOUT, set_anchor$OFFSET, fieldValue);
    }

    /**
     * {@snippet lang=c :
     * void (*insert_at_cursor)(GtkTextView *, const gchar *)
     * }
     */
    public class insert_at_cursor {

        /**
         * The function pointer signature, expressed as a functional interface
         */
        public interface Function {
            void apply(MemorySegment _x0, MemorySegment _x1);
        }

        private static final FunctionDescriptor $DESC = FunctionDescriptor.ofVoid(
            app_indicator_h.C_POINTER,
            app_indicator_h.C_POINTER
        );

        /**
         * The descriptor of this function pointer
         */
        public static FunctionDescriptor descriptor() {
            return $DESC;
        }

        private static final MethodHandle UP$MH = app_indicator_h.upcallHandle(insert_at_cursor.Function.class, "apply", $DESC);

        /**
         * Allocates a new upcall stub, whose implementation is defined by {@code fi}.
         * The lifetime of the returned segment is managed by {@code arena}
         */
        public static MemorySegment allocate(insert_at_cursor.Function fi, Arena arena) {
            return Linker.nativeLinker().upcallStub(UP$MH.bindTo(fi), $DESC, arena);
        }

        private static final MethodHandle DOWN$MH = Linker.nativeLinker().downcallHandle($DESC);

        /**
         * Invoke the upcall stub {@code funcPtr}, with given parameters
         */
        public static void invoke(MemorySegment funcPtr,MemorySegment _x0, MemorySegment _x1) {
            try {
                 DOWN$MH.invokeExact(funcPtr, _x0, _x1);
            } catch (Throwable ex$) {
                throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    private static final AddressLayout insert_at_cursor$LAYOUT = (AddressLayout)$LAYOUT.select(groupElement("insert_at_cursor"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * void (*insert_at_cursor)(GtkTextView *, const gchar *)
     * }
     */
    public static final AddressLayout insert_at_cursor$layout() {
        return insert_at_cursor$LAYOUT;
    }

    private static final long insert_at_cursor$OFFSET = 1000;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * void (*insert_at_cursor)(GtkTextView *, const gchar *)
     * }
     */
    public static final long insert_at_cursor$offset() {
        return insert_at_cursor$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * void (*insert_at_cursor)(GtkTextView *, const gchar *)
     * }
     */
    public static MemorySegment insert_at_cursor(MemorySegment struct) {
        return struct.get(insert_at_cursor$LAYOUT, insert_at_cursor$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * void (*insert_at_cursor)(GtkTextView *, const gchar *)
     * }
     */
    public static void insert_at_cursor(MemorySegment struct, MemorySegment fieldValue) {
        struct.set(insert_at_cursor$LAYOUT, insert_at_cursor$OFFSET, fieldValue);
    }

    /**
     * {@snippet lang=c :
     * void (*delete_from_cursor)(GtkTextView *, GtkDeleteType, gint)
     * }
     */
    public class delete_from_cursor {

        /**
         * The function pointer signature, expressed as a functional interface
         */
        public interface Function {
            void apply(MemorySegment _x0, int _x1, int _x2);
        }

        private static final FunctionDescriptor $DESC = FunctionDescriptor.ofVoid(
            app_indicator_h.C_POINTER,
            app_indicator_h.C_INT,
            app_indicator_h.C_INT
        );

        /**
         * The descriptor of this function pointer
         */
        public static FunctionDescriptor descriptor() {
            return $DESC;
        }

        private static final MethodHandle UP$MH = app_indicator_h.upcallHandle(delete_from_cursor.Function.class, "apply", $DESC);

        /**
         * Allocates a new upcall stub, whose implementation is defined by {@code fi}.
         * The lifetime of the returned segment is managed by {@code arena}
         */
        public static MemorySegment allocate(delete_from_cursor.Function fi, Arena arena) {
            return Linker.nativeLinker().upcallStub(UP$MH.bindTo(fi), $DESC, arena);
        }

        private static final MethodHandle DOWN$MH = Linker.nativeLinker().downcallHandle($DESC);

        /**
         * Invoke the upcall stub {@code funcPtr}, with given parameters
         */
        public static void invoke(MemorySegment funcPtr,MemorySegment _x0, int _x1, int _x2) {
            try {
                 DOWN$MH.invokeExact(funcPtr, _x0, _x1, _x2);
            } catch (Throwable ex$) {
                throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    private static final AddressLayout delete_from_cursor$LAYOUT = (AddressLayout)$LAYOUT.select(groupElement("delete_from_cursor"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * void (*delete_from_cursor)(GtkTextView *, GtkDeleteType, gint)
     * }
     */
    public static final AddressLayout delete_from_cursor$layout() {
        return delete_from_cursor$LAYOUT;
    }

    private static final long delete_from_cursor$OFFSET = 1008;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * void (*delete_from_cursor)(GtkTextView *, GtkDeleteType, gint)
     * }
     */
    public static final long delete_from_cursor$offset() {
        return delete_from_cursor$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * void (*delete_from_cursor)(GtkTextView *, GtkDeleteType, gint)
     * }
     */
    public static MemorySegment delete_from_cursor(MemorySegment struct) {
        return struct.get(delete_from_cursor$LAYOUT, delete_from_cursor$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * void (*delete_from_cursor)(GtkTextView *, GtkDeleteType, gint)
     * }
     */
    public static void delete_from_cursor(MemorySegment struct, MemorySegment fieldValue) {
        struct.set(delete_from_cursor$LAYOUT, delete_from_cursor$OFFSET, fieldValue);
    }

    /**
     * {@snippet lang=c :
     * void (*backspace)(GtkTextView *)
     * }
     */
    public class backspace {

        /**
         * The function pointer signature, expressed as a functional interface
         */
        public interface Function {
            void apply(MemorySegment _x0);
        }

        private static final FunctionDescriptor $DESC = FunctionDescriptor.ofVoid(
            app_indicator_h.C_POINTER
        );

        /**
         * The descriptor of this function pointer
         */
        public static FunctionDescriptor descriptor() {
            return $DESC;
        }

        private static final MethodHandle UP$MH = app_indicator_h.upcallHandle(backspace.Function.class, "apply", $DESC);

        /**
         * Allocates a new upcall stub, whose implementation is defined by {@code fi}.
         * The lifetime of the returned segment is managed by {@code arena}
         */
        public static MemorySegment allocate(backspace.Function fi, Arena arena) {
            return Linker.nativeLinker().upcallStub(UP$MH.bindTo(fi), $DESC, arena);
        }

        private static final MethodHandle DOWN$MH = Linker.nativeLinker().downcallHandle($DESC);

        /**
         * Invoke the upcall stub {@code funcPtr}, with given parameters
         */
        public static void invoke(MemorySegment funcPtr,MemorySegment _x0) {
            try {
                 DOWN$MH.invokeExact(funcPtr, _x0);
            } catch (Throwable ex$) {
                throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    private static final AddressLayout backspace$LAYOUT = (AddressLayout)$LAYOUT.select(groupElement("backspace"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * void (*backspace)(GtkTextView *)
     * }
     */
    public static final AddressLayout backspace$layout() {
        return backspace$LAYOUT;
    }

    private static final long backspace$OFFSET = 1016;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * void (*backspace)(GtkTextView *)
     * }
     */
    public static final long backspace$offset() {
        return backspace$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * void (*backspace)(GtkTextView *)
     * }
     */
    public static MemorySegment backspace(MemorySegment struct) {
        return struct.get(backspace$LAYOUT, backspace$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * void (*backspace)(GtkTextView *)
     * }
     */
    public static void backspace(MemorySegment struct, MemorySegment fieldValue) {
        struct.set(backspace$LAYOUT, backspace$OFFSET, fieldValue);
    }

    /**
     * {@snippet lang=c :
     * void (*cut_clipboard)(GtkTextView *)
     * }
     */
    public class cut_clipboard {

        /**
         * The function pointer signature, expressed as a functional interface
         */
        public interface Function {
            void apply(MemorySegment _x0);
        }

        private static final FunctionDescriptor $DESC = FunctionDescriptor.ofVoid(
            app_indicator_h.C_POINTER
        );

        /**
         * The descriptor of this function pointer
         */
        public static FunctionDescriptor descriptor() {
            return $DESC;
        }

        private static final MethodHandle UP$MH = app_indicator_h.upcallHandle(cut_clipboard.Function.class, "apply", $DESC);

        /**
         * Allocates a new upcall stub, whose implementation is defined by {@code fi}.
         * The lifetime of the returned segment is managed by {@code arena}
         */
        public static MemorySegment allocate(cut_clipboard.Function fi, Arena arena) {
            return Linker.nativeLinker().upcallStub(UP$MH.bindTo(fi), $DESC, arena);
        }

        private static final MethodHandle DOWN$MH = Linker.nativeLinker().downcallHandle($DESC);

        /**
         * Invoke the upcall stub {@code funcPtr}, with given parameters
         */
        public static void invoke(MemorySegment funcPtr,MemorySegment _x0) {
            try {
                 DOWN$MH.invokeExact(funcPtr, _x0);
            } catch (Throwable ex$) {
                throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    private static final AddressLayout cut_clipboard$LAYOUT = (AddressLayout)$LAYOUT.select(groupElement("cut_clipboard"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * void (*cut_clipboard)(GtkTextView *)
     * }
     */
    public static final AddressLayout cut_clipboard$layout() {
        return cut_clipboard$LAYOUT;
    }

    private static final long cut_clipboard$OFFSET = 1024;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * void (*cut_clipboard)(GtkTextView *)
     * }
     */
    public static final long cut_clipboard$offset() {
        return cut_clipboard$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * void (*cut_clipboard)(GtkTextView *)
     * }
     */
    public static MemorySegment cut_clipboard(MemorySegment struct) {
        return struct.get(cut_clipboard$LAYOUT, cut_clipboard$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * void (*cut_clipboard)(GtkTextView *)
     * }
     */
    public static void cut_clipboard(MemorySegment struct, MemorySegment fieldValue) {
        struct.set(cut_clipboard$LAYOUT, cut_clipboard$OFFSET, fieldValue);
    }

    /**
     * {@snippet lang=c :
     * void (*copy_clipboard)(GtkTextView *)
     * }
     */
    public class copy_clipboard {

        /**
         * The function pointer signature, expressed as a functional interface
         */
        public interface Function {
            void apply(MemorySegment _x0);
        }

        private static final FunctionDescriptor $DESC = FunctionDescriptor.ofVoid(
            app_indicator_h.C_POINTER
        );

        /**
         * The descriptor of this function pointer
         */
        public static FunctionDescriptor descriptor() {
            return $DESC;
        }

        private static final MethodHandle UP$MH = app_indicator_h.upcallHandle(copy_clipboard.Function.class, "apply", $DESC);

        /**
         * Allocates a new upcall stub, whose implementation is defined by {@code fi}.
         * The lifetime of the returned segment is managed by {@code arena}
         */
        public static MemorySegment allocate(copy_clipboard.Function fi, Arena arena) {
            return Linker.nativeLinker().upcallStub(UP$MH.bindTo(fi), $DESC, arena);
        }

        private static final MethodHandle DOWN$MH = Linker.nativeLinker().downcallHandle($DESC);

        /**
         * Invoke the upcall stub {@code funcPtr}, with given parameters
         */
        public static void invoke(MemorySegment funcPtr,MemorySegment _x0) {
            try {
                 DOWN$MH.invokeExact(funcPtr, _x0);
            } catch (Throwable ex$) {
                throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    private static final AddressLayout copy_clipboard$LAYOUT = (AddressLayout)$LAYOUT.select(groupElement("copy_clipboard"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * void (*copy_clipboard)(GtkTextView *)
     * }
     */
    public static final AddressLayout copy_clipboard$layout() {
        return copy_clipboard$LAYOUT;
    }

    private static final long copy_clipboard$OFFSET = 1032;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * void (*copy_clipboard)(GtkTextView *)
     * }
     */
    public static final long copy_clipboard$offset() {
        return copy_clipboard$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * void (*copy_clipboard)(GtkTextView *)
     * }
     */
    public static MemorySegment copy_clipboard(MemorySegment struct) {
        return struct.get(copy_clipboard$LAYOUT, copy_clipboard$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * void (*copy_clipboard)(GtkTextView *)
     * }
     */
    public static void copy_clipboard(MemorySegment struct, MemorySegment fieldValue) {
        struct.set(copy_clipboard$LAYOUT, copy_clipboard$OFFSET, fieldValue);
    }

    /**
     * {@snippet lang=c :
     * void (*paste_clipboard)(GtkTextView *)
     * }
     */
    public class paste_clipboard {

        /**
         * The function pointer signature, expressed as a functional interface
         */
        public interface Function {
            void apply(MemorySegment _x0);
        }

        private static final FunctionDescriptor $DESC = FunctionDescriptor.ofVoid(
            app_indicator_h.C_POINTER
        );

        /**
         * The descriptor of this function pointer
         */
        public static FunctionDescriptor descriptor() {
            return $DESC;
        }

        private static final MethodHandle UP$MH = app_indicator_h.upcallHandle(paste_clipboard.Function.class, "apply", $DESC);

        /**
         * Allocates a new upcall stub, whose implementation is defined by {@code fi}.
         * The lifetime of the returned segment is managed by {@code arena}
         */
        public static MemorySegment allocate(paste_clipboard.Function fi, Arena arena) {
            return Linker.nativeLinker().upcallStub(UP$MH.bindTo(fi), $DESC, arena);
        }

        private static final MethodHandle DOWN$MH = Linker.nativeLinker().downcallHandle($DESC);

        /**
         * Invoke the upcall stub {@code funcPtr}, with given parameters
         */
        public static void invoke(MemorySegment funcPtr,MemorySegment _x0) {
            try {
                 DOWN$MH.invokeExact(funcPtr, _x0);
            } catch (Throwable ex$) {
                throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    private static final AddressLayout paste_clipboard$LAYOUT = (AddressLayout)$LAYOUT.select(groupElement("paste_clipboard"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * void (*paste_clipboard)(GtkTextView *)
     * }
     */
    public static final AddressLayout paste_clipboard$layout() {
        return paste_clipboard$LAYOUT;
    }

    private static final long paste_clipboard$OFFSET = 1040;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * void (*paste_clipboard)(GtkTextView *)
     * }
     */
    public static final long paste_clipboard$offset() {
        return paste_clipboard$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * void (*paste_clipboard)(GtkTextView *)
     * }
     */
    public static MemorySegment paste_clipboard(MemorySegment struct) {
        return struct.get(paste_clipboard$LAYOUT, paste_clipboard$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * void (*paste_clipboard)(GtkTextView *)
     * }
     */
    public static void paste_clipboard(MemorySegment struct, MemorySegment fieldValue) {
        struct.set(paste_clipboard$LAYOUT, paste_clipboard$OFFSET, fieldValue);
    }

    /**
     * {@snippet lang=c :
     * void (*toggle_overwrite)(GtkTextView *)
     * }
     */
    public class toggle_overwrite {

        /**
         * The function pointer signature, expressed as a functional interface
         */
        public interface Function {
            void apply(MemorySegment _x0);
        }

        private static final FunctionDescriptor $DESC = FunctionDescriptor.ofVoid(
            app_indicator_h.C_POINTER
        );

        /**
         * The descriptor of this function pointer
         */
        public static FunctionDescriptor descriptor() {
            return $DESC;
        }

        private static final MethodHandle UP$MH = app_indicator_h.upcallHandle(toggle_overwrite.Function.class, "apply", $DESC);

        /**
         * Allocates a new upcall stub, whose implementation is defined by {@code fi}.
         * The lifetime of the returned segment is managed by {@code arena}
         */
        public static MemorySegment allocate(toggle_overwrite.Function fi, Arena arena) {
            return Linker.nativeLinker().upcallStub(UP$MH.bindTo(fi), $DESC, arena);
        }

        private static final MethodHandle DOWN$MH = Linker.nativeLinker().downcallHandle($DESC);

        /**
         * Invoke the upcall stub {@code funcPtr}, with given parameters
         */
        public static void invoke(MemorySegment funcPtr,MemorySegment _x0) {
            try {
                 DOWN$MH.invokeExact(funcPtr, _x0);
            } catch (Throwable ex$) {
                throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    private static final AddressLayout toggle_overwrite$LAYOUT = (AddressLayout)$LAYOUT.select(groupElement("toggle_overwrite"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * void (*toggle_overwrite)(GtkTextView *)
     * }
     */
    public static final AddressLayout toggle_overwrite$layout() {
        return toggle_overwrite$LAYOUT;
    }

    private static final long toggle_overwrite$OFFSET = 1048;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * void (*toggle_overwrite)(GtkTextView *)
     * }
     */
    public static final long toggle_overwrite$offset() {
        return toggle_overwrite$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * void (*toggle_overwrite)(GtkTextView *)
     * }
     */
    public static MemorySegment toggle_overwrite(MemorySegment struct) {
        return struct.get(toggle_overwrite$LAYOUT, toggle_overwrite$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * void (*toggle_overwrite)(GtkTextView *)
     * }
     */
    public static void toggle_overwrite(MemorySegment struct, MemorySegment fieldValue) {
        struct.set(toggle_overwrite$LAYOUT, toggle_overwrite$OFFSET, fieldValue);
    }

    /**
     * {@snippet lang=c :
     * GtkTextBuffer *(*create_buffer)(GtkTextView *)
     * }
     */
    public class create_buffer {

        /**
         * The function pointer signature, expressed as a functional interface
         */
        public interface Function {
            MemorySegment apply(MemorySegment _x0);
        }

        private static final FunctionDescriptor $DESC = FunctionDescriptor.of(
            app_indicator_h.C_POINTER,
            app_indicator_h.C_POINTER
        );

        /**
         * The descriptor of this function pointer
         */
        public static FunctionDescriptor descriptor() {
            return $DESC;
        }

        private static final MethodHandle UP$MH = app_indicator_h.upcallHandle(create_buffer.Function.class, "apply", $DESC);

        /**
         * Allocates a new upcall stub, whose implementation is defined by {@code fi}.
         * The lifetime of the returned segment is managed by {@code arena}
         */
        public static MemorySegment allocate(create_buffer.Function fi, Arena arena) {
            return Linker.nativeLinker().upcallStub(UP$MH.bindTo(fi), $DESC, arena);
        }

        private static final MethodHandle DOWN$MH = Linker.nativeLinker().downcallHandle($DESC);

        /**
         * Invoke the upcall stub {@code funcPtr}, with given parameters
         */
        public static MemorySegment invoke(MemorySegment funcPtr,MemorySegment _x0) {
            try {
                return (MemorySegment) DOWN$MH.invokeExact(funcPtr, _x0);
            } catch (Throwable ex$) {
                throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    private static final AddressLayout create_buffer$LAYOUT = (AddressLayout)$LAYOUT.select(groupElement("create_buffer"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * GtkTextBuffer *(*create_buffer)(GtkTextView *)
     * }
     */
    public static final AddressLayout create_buffer$layout() {
        return create_buffer$LAYOUT;
    }

    private static final long create_buffer$OFFSET = 1056;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * GtkTextBuffer *(*create_buffer)(GtkTextView *)
     * }
     */
    public static final long create_buffer$offset() {
        return create_buffer$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * GtkTextBuffer *(*create_buffer)(GtkTextView *)
     * }
     */
    public static MemorySegment create_buffer(MemorySegment struct) {
        return struct.get(create_buffer$LAYOUT, create_buffer$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * GtkTextBuffer *(*create_buffer)(GtkTextView *)
     * }
     */
    public static void create_buffer(MemorySegment struct, MemorySegment fieldValue) {
        struct.set(create_buffer$LAYOUT, create_buffer$OFFSET, fieldValue);
    }

    /**
     * {@snippet lang=c :
     * void (*draw_layer)(GtkTextView *, GtkTextViewLayer, cairo_t *)
     * }
     */
    public class draw_layer {

        /**
         * The function pointer signature, expressed as a functional interface
         */
        public interface Function {
            void apply(MemorySegment _x0, int _x1, MemorySegment _x2);
        }

        private static final FunctionDescriptor $DESC = FunctionDescriptor.ofVoid(
            app_indicator_h.C_POINTER,
            app_indicator_h.C_INT,
            app_indicator_h.C_POINTER
        );

        /**
         * The descriptor of this function pointer
         */
        public static FunctionDescriptor descriptor() {
            return $DESC;
        }

        private static final MethodHandle UP$MH = app_indicator_h.upcallHandle(draw_layer.Function.class, "apply", $DESC);

        /**
         * Allocates a new upcall stub, whose implementation is defined by {@code fi}.
         * The lifetime of the returned segment is managed by {@code arena}
         */
        public static MemorySegment allocate(draw_layer.Function fi, Arena arena) {
            return Linker.nativeLinker().upcallStub(UP$MH.bindTo(fi), $DESC, arena);
        }

        private static final MethodHandle DOWN$MH = Linker.nativeLinker().downcallHandle($DESC);

        /**
         * Invoke the upcall stub {@code funcPtr}, with given parameters
         */
        public static void invoke(MemorySegment funcPtr,MemorySegment _x0, int _x1, MemorySegment _x2) {
            try {
                 DOWN$MH.invokeExact(funcPtr, _x0, _x1, _x2);
            } catch (Throwable ex$) {
                throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    private static final AddressLayout draw_layer$LAYOUT = (AddressLayout)$LAYOUT.select(groupElement("draw_layer"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * void (*draw_layer)(GtkTextView *, GtkTextViewLayer, cairo_t *)
     * }
     */
    public static final AddressLayout draw_layer$layout() {
        return draw_layer$LAYOUT;
    }

    private static final long draw_layer$OFFSET = 1064;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * void (*draw_layer)(GtkTextView *, GtkTextViewLayer, cairo_t *)
     * }
     */
    public static final long draw_layer$offset() {
        return draw_layer$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * void (*draw_layer)(GtkTextView *, GtkTextViewLayer, cairo_t *)
     * }
     */
    public static MemorySegment draw_layer(MemorySegment struct) {
        return struct.get(draw_layer$LAYOUT, draw_layer$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * void (*draw_layer)(GtkTextView *, GtkTextViewLayer, cairo_t *)
     * }
     */
    public static void draw_layer(MemorySegment struct, MemorySegment fieldValue) {
        struct.set(draw_layer$LAYOUT, draw_layer$OFFSET, fieldValue);
    }

    /**
     * {@snippet lang=c :
     * gboolean (*extend_selection)(GtkTextView *, GtkTextExtendSelection, const GtkTextIter *, GtkTextIter *, GtkTextIter *)
     * }
     */
    public class extend_selection {

        /**
         * The function pointer signature, expressed as a functional interface
         */
        public interface Function {
            int apply(MemorySegment _x0, int _x1, MemorySegment _x2, MemorySegment _x3, MemorySegment _x4);
        }

        private static final FunctionDescriptor $DESC = FunctionDescriptor.of(
            app_indicator_h.C_INT,
            app_indicator_h.C_POINTER,
            app_indicator_h.C_INT,
            app_indicator_h.C_POINTER,
            app_indicator_h.C_POINTER,
            app_indicator_h.C_POINTER
        );

        /**
         * The descriptor of this function pointer
         */
        public static FunctionDescriptor descriptor() {
            return $DESC;
        }

        private static final MethodHandle UP$MH = app_indicator_h.upcallHandle(extend_selection.Function.class, "apply", $DESC);

        /**
         * Allocates a new upcall stub, whose implementation is defined by {@code fi}.
         * The lifetime of the returned segment is managed by {@code arena}
         */
        public static MemorySegment allocate(extend_selection.Function fi, Arena arena) {
            return Linker.nativeLinker().upcallStub(UP$MH.bindTo(fi), $DESC, arena);
        }

        private static final MethodHandle DOWN$MH = Linker.nativeLinker().downcallHandle($DESC);

        /**
         * Invoke the upcall stub {@code funcPtr}, with given parameters
         */
        public static int invoke(MemorySegment funcPtr,MemorySegment _x0, int _x1, MemorySegment _x2, MemorySegment _x3, MemorySegment _x4) {
            try {
                return (int) DOWN$MH.invokeExact(funcPtr, _x0, _x1, _x2, _x3, _x4);
            } catch (Throwable ex$) {
                throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    private static final AddressLayout extend_selection$LAYOUT = (AddressLayout)$LAYOUT.select(groupElement("extend_selection"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * gboolean (*extend_selection)(GtkTextView *, GtkTextExtendSelection, const GtkTextIter *, GtkTextIter *, GtkTextIter *)
     * }
     */
    public static final AddressLayout extend_selection$layout() {
        return extend_selection$LAYOUT;
    }

    private static final long extend_selection$OFFSET = 1072;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * gboolean (*extend_selection)(GtkTextView *, GtkTextExtendSelection, const GtkTextIter *, GtkTextIter *, GtkTextIter *)
     * }
     */
    public static final long extend_selection$offset() {
        return extend_selection$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * gboolean (*extend_selection)(GtkTextView *, GtkTextExtendSelection, const GtkTextIter *, GtkTextIter *, GtkTextIter *)
     * }
     */
    public static MemorySegment extend_selection(MemorySegment struct) {
        return struct.get(extend_selection$LAYOUT, extend_selection$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * gboolean (*extend_selection)(GtkTextView *, GtkTextExtendSelection, const GtkTextIter *, GtkTextIter *, GtkTextIter *)
     * }
     */
    public static void extend_selection(MemorySegment struct, MemorySegment fieldValue) {
        struct.set(extend_selection$LAYOUT, extend_selection$OFFSET, fieldValue);
    }

    /**
     * {@snippet lang=c :
     * void (*insert_emoji)(GtkTextView *)
     * }
     */
    public class insert_emoji {

        /**
         * The function pointer signature, expressed as a functional interface
         */
        public interface Function {
            void apply(MemorySegment _x0);
        }

        private static final FunctionDescriptor $DESC = FunctionDescriptor.ofVoid(
            app_indicator_h.C_POINTER
        );

        /**
         * The descriptor of this function pointer
         */
        public static FunctionDescriptor descriptor() {
            return $DESC;
        }

        private static final MethodHandle UP$MH = app_indicator_h.upcallHandle(insert_emoji.Function.class, "apply", $DESC);

        /**
         * Allocates a new upcall stub, whose implementation is defined by {@code fi}.
         * The lifetime of the returned segment is managed by {@code arena}
         */
        public static MemorySegment allocate(insert_emoji.Function fi, Arena arena) {
            return Linker.nativeLinker().upcallStub(UP$MH.bindTo(fi), $DESC, arena);
        }

        private static final MethodHandle DOWN$MH = Linker.nativeLinker().downcallHandle($DESC);

        /**
         * Invoke the upcall stub {@code funcPtr}, with given parameters
         */
        public static void invoke(MemorySegment funcPtr,MemorySegment _x0) {
            try {
                 DOWN$MH.invokeExact(funcPtr, _x0);
            } catch (Throwable ex$) {
                throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    private static final AddressLayout insert_emoji$LAYOUT = (AddressLayout)$LAYOUT.select(groupElement("insert_emoji"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * void (*insert_emoji)(GtkTextView *)
     * }
     */
    public static final AddressLayout insert_emoji$layout() {
        return insert_emoji$LAYOUT;
    }

    private static final long insert_emoji$OFFSET = 1080;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * void (*insert_emoji)(GtkTextView *)
     * }
     */
    public static final long insert_emoji$offset() {
        return insert_emoji$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * void (*insert_emoji)(GtkTextView *)
     * }
     */
    public static MemorySegment insert_emoji(MemorySegment struct) {
        return struct.get(insert_emoji$LAYOUT, insert_emoji$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * void (*insert_emoji)(GtkTextView *)
     * }
     */
    public static void insert_emoji(MemorySegment struct, MemorySegment fieldValue) {
        struct.set(insert_emoji$LAYOUT, insert_emoji$OFFSET, fieldValue);
    }

    /**
     * {@snippet lang=c :
     * void (*_gtk_reserved1)(void)
     * }
     */
    public class _gtk_reserved1 {

        /**
         * The function pointer signature, expressed as a functional interface
         */
        public interface Function {
            void apply();
        }

        private static final FunctionDescriptor $DESC = FunctionDescriptor.ofVoid();

        /**
         * The descriptor of this function pointer
         */
        public static FunctionDescriptor descriptor() {
            return $DESC;
        }

        private static final MethodHandle UP$MH = app_indicator_h.upcallHandle(_gtk_reserved1.Function.class, "apply", $DESC);

        /**
         * Allocates a new upcall stub, whose implementation is defined by {@code fi}.
         * The lifetime of the returned segment is managed by {@code arena}
         */
        public static MemorySegment allocate(_gtk_reserved1.Function fi, Arena arena) {
            return Linker.nativeLinker().upcallStub(UP$MH.bindTo(fi), $DESC, arena);
        }

        private static final MethodHandle DOWN$MH = Linker.nativeLinker().downcallHandle($DESC);

        /**
         * Invoke the upcall stub {@code funcPtr}, with given parameters
         */
        public static void invoke(MemorySegment funcPtr) {
            try {
                 DOWN$MH.invokeExact(funcPtr);
            } catch (Throwable ex$) {
                throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    private static final AddressLayout _gtk_reserved1$LAYOUT = (AddressLayout)$LAYOUT.select(groupElement("_gtk_reserved1"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * void (*_gtk_reserved1)(void)
     * }
     */
    public static final AddressLayout _gtk_reserved1$layout() {
        return _gtk_reserved1$LAYOUT;
    }

    private static final long _gtk_reserved1$OFFSET = 1088;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * void (*_gtk_reserved1)(void)
     * }
     */
    public static final long _gtk_reserved1$offset() {
        return _gtk_reserved1$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * void (*_gtk_reserved1)(void)
     * }
     */
    public static MemorySegment _gtk_reserved1(MemorySegment struct) {
        return struct.get(_gtk_reserved1$LAYOUT, _gtk_reserved1$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * void (*_gtk_reserved1)(void)
     * }
     */
    public static void _gtk_reserved1(MemorySegment struct, MemorySegment fieldValue) {
        struct.set(_gtk_reserved1$LAYOUT, _gtk_reserved1$OFFSET, fieldValue);
    }

    /**
     * {@snippet lang=c :
     * void (*_gtk_reserved2)(void)
     * }
     */
    public class _gtk_reserved2 {

        /**
         * The function pointer signature, expressed as a functional interface
         */
        public interface Function {
            void apply();
        }

        private static final FunctionDescriptor $DESC = FunctionDescriptor.ofVoid();

        /**
         * The descriptor of this function pointer
         */
        public static FunctionDescriptor descriptor() {
            return $DESC;
        }

        private static final MethodHandle UP$MH = app_indicator_h.upcallHandle(_gtk_reserved2.Function.class, "apply", $DESC);

        /**
         * Allocates a new upcall stub, whose implementation is defined by {@code fi}.
         * The lifetime of the returned segment is managed by {@code arena}
         */
        public static MemorySegment allocate(_gtk_reserved2.Function fi, Arena arena) {
            return Linker.nativeLinker().upcallStub(UP$MH.bindTo(fi), $DESC, arena);
        }

        private static final MethodHandle DOWN$MH = Linker.nativeLinker().downcallHandle($DESC);

        /**
         * Invoke the upcall stub {@code funcPtr}, with given parameters
         */
        public static void invoke(MemorySegment funcPtr) {
            try {
                 DOWN$MH.invokeExact(funcPtr);
            } catch (Throwable ex$) {
                throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    private static final AddressLayout _gtk_reserved2$LAYOUT = (AddressLayout)$LAYOUT.select(groupElement("_gtk_reserved2"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * void (*_gtk_reserved2)(void)
     * }
     */
    public static final AddressLayout _gtk_reserved2$layout() {
        return _gtk_reserved2$LAYOUT;
    }

    private static final long _gtk_reserved2$OFFSET = 1096;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * void (*_gtk_reserved2)(void)
     * }
     */
    public static final long _gtk_reserved2$offset() {
        return _gtk_reserved2$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * void (*_gtk_reserved2)(void)
     * }
     */
    public static MemorySegment _gtk_reserved2(MemorySegment struct) {
        return struct.get(_gtk_reserved2$LAYOUT, _gtk_reserved2$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * void (*_gtk_reserved2)(void)
     * }
     */
    public static void _gtk_reserved2(MemorySegment struct, MemorySegment fieldValue) {
        struct.set(_gtk_reserved2$LAYOUT, _gtk_reserved2$OFFSET, fieldValue);
    }

    /**
     * {@snippet lang=c :
     * void (*_gtk_reserved3)(void)
     * }
     */
    public class _gtk_reserved3 {

        /**
         * The function pointer signature, expressed as a functional interface
         */
        public interface Function {
            void apply();
        }

        private static final FunctionDescriptor $DESC = FunctionDescriptor.ofVoid();

        /**
         * The descriptor of this function pointer
         */
        public static FunctionDescriptor descriptor() {
            return $DESC;
        }

        private static final MethodHandle UP$MH = app_indicator_h.upcallHandle(_gtk_reserved3.Function.class, "apply", $DESC);

        /**
         * Allocates a new upcall stub, whose implementation is defined by {@code fi}.
         * The lifetime of the returned segment is managed by {@code arena}
         */
        public static MemorySegment allocate(_gtk_reserved3.Function fi, Arena arena) {
            return Linker.nativeLinker().upcallStub(UP$MH.bindTo(fi), $DESC, arena);
        }

        private static final MethodHandle DOWN$MH = Linker.nativeLinker().downcallHandle($DESC);

        /**
         * Invoke the upcall stub {@code funcPtr}, with given parameters
         */
        public static void invoke(MemorySegment funcPtr) {
            try {
                 DOWN$MH.invokeExact(funcPtr);
            } catch (Throwable ex$) {
                throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    private static final AddressLayout _gtk_reserved3$LAYOUT = (AddressLayout)$LAYOUT.select(groupElement("_gtk_reserved3"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * void (*_gtk_reserved3)(void)
     * }
     */
    public static final AddressLayout _gtk_reserved3$layout() {
        return _gtk_reserved3$LAYOUT;
    }

    private static final long _gtk_reserved3$OFFSET = 1104;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * void (*_gtk_reserved3)(void)
     * }
     */
    public static final long _gtk_reserved3$offset() {
        return _gtk_reserved3$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * void (*_gtk_reserved3)(void)
     * }
     */
    public static MemorySegment _gtk_reserved3(MemorySegment struct) {
        return struct.get(_gtk_reserved3$LAYOUT, _gtk_reserved3$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * void (*_gtk_reserved3)(void)
     * }
     */
    public static void _gtk_reserved3(MemorySegment struct, MemorySegment fieldValue) {
        struct.set(_gtk_reserved3$LAYOUT, _gtk_reserved3$OFFSET, fieldValue);
    }

    /**
     * {@snippet lang=c :
     * void (*_gtk_reserved4)(void)
     * }
     */
    public class _gtk_reserved4 {

        /**
         * The function pointer signature, expressed as a functional interface
         */
        public interface Function {
            void apply();
        }

        private static final FunctionDescriptor $DESC = FunctionDescriptor.ofVoid();

        /**
         * The descriptor of this function pointer
         */
        public static FunctionDescriptor descriptor() {
            return $DESC;
        }

        private static final MethodHandle UP$MH = app_indicator_h.upcallHandle(_gtk_reserved4.Function.class, "apply", $DESC);

        /**
         * Allocates a new upcall stub, whose implementation is defined by {@code fi}.
         * The lifetime of the returned segment is managed by {@code arena}
         */
        public static MemorySegment allocate(_gtk_reserved4.Function fi, Arena arena) {
            return Linker.nativeLinker().upcallStub(UP$MH.bindTo(fi), $DESC, arena);
        }

        private static final MethodHandle DOWN$MH = Linker.nativeLinker().downcallHandle($DESC);

        /**
         * Invoke the upcall stub {@code funcPtr}, with given parameters
         */
        public static void invoke(MemorySegment funcPtr) {
            try {
                 DOWN$MH.invokeExact(funcPtr);
            } catch (Throwable ex$) {
                throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    private static final AddressLayout _gtk_reserved4$LAYOUT = (AddressLayout)$LAYOUT.select(groupElement("_gtk_reserved4"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * void (*_gtk_reserved4)(void)
     * }
     */
    public static final AddressLayout _gtk_reserved4$layout() {
        return _gtk_reserved4$LAYOUT;
    }

    private static final long _gtk_reserved4$OFFSET = 1112;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * void (*_gtk_reserved4)(void)
     * }
     */
    public static final long _gtk_reserved4$offset() {
        return _gtk_reserved4$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * void (*_gtk_reserved4)(void)
     * }
     */
    public static MemorySegment _gtk_reserved4(MemorySegment struct) {
        return struct.get(_gtk_reserved4$LAYOUT, _gtk_reserved4$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * void (*_gtk_reserved4)(void)
     * }
     */
    public static void _gtk_reserved4(MemorySegment struct, MemorySegment fieldValue) {
        struct.set(_gtk_reserved4$LAYOUT, _gtk_reserved4$OFFSET, fieldValue);
    }

    /**
     * Obtains a slice of {@code arrayParam} which selects the array element at {@code index}.
     * The returned segment has address {@code arrayParam.address() + index * layout().byteSize()}
     */
    public static MemorySegment asSlice(MemorySegment array, long index) {
        return array.asSlice(layout().byteSize() * index);
    }

    /**
     * The size (in bytes) of this struct
     */
    public static long sizeof() { return layout().byteSize(); }

    /**
     * Allocate a segment of size {@code layout().byteSize()} using {@code allocator}
     */
    public static MemorySegment allocate(SegmentAllocator allocator) {
        return allocator.allocate(layout());
    }

    /**
     * Allocate an array of size {@code elementCount} using {@code allocator}.
     * The returned segment has size {@code elementCount * layout().byteSize()}.
     */
    public static MemorySegment allocateArray(long elementCount, SegmentAllocator allocator) {
        return allocator.allocate(MemoryLayout.sequenceLayout(elementCount, layout()));
    }

    /**
     * Reinterprets {@code addr} using target {@code arena} and {@code cleanupAction) (if any).
     * The returned segment has size {@code layout().byteSize()}
     */
    public static MemorySegment reinterpret(MemorySegment addr, Arena arena, Consumer cleanup) {
        return reinterpret(addr, 1, arena, cleanup);
    }

    /**
     * Reinterprets {@code addr} using target {@code arena} and {@code cleanupAction) (if any).
     * The returned segment has size {@code elementCount * layout().byteSize()}
     */
    public static MemorySegment reinterpret(MemorySegment addr, long elementCount, Arena arena, Consumer cleanup) {
        return addr.reinterpret(layout().byteSize() * elementCount, arena, cleanup);
    }
}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy