From 94659550993f454e12e4bcb8cf93a5ff258bc08c Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sun, 11 Oct 2026 23:01:38 +0200 Subject: Second commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- logical-scroll-pane.h | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 logical-scroll-pane.h (limited to 'logical-scroll-pane.h') diff --git a/logical-scroll-pane.h b/logical-scroll-pane.h new file mode 100644 index 0000000..c38ca6a --- /dev/null +++ b/logical-scroll-pane.h @@ -0,0 +1,55 @@ +#include + +#define LOGICAL_TYPE_SCROLL_PANE (logical_scroll_pane_get_type()) +#define LOGICAL_SCROLL_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), LOGICAL_TYPE_SCROLL_PANE, LogicalScrollPane)) +#define LOGICAL_IS_SCROLL_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), LOGICAL_TYPE_SCROLL_PANE)) + +typedef struct _LogicalScrollPane LogicalScrollPane; +typedef struct _LogicalScrollPaneClass LogicalScrollPaneClass; + +struct _LogicalScrollPane { + GtkBin parent_instance; + + GtkWidget *child; + GtkWidget *hscrollbar; + GtkWidget *vscrollbar; + + GtkAdjustment *hadjustment; + GtkAdjustment *vadjustment; + + int content_width; + int content_height; + int hscrollbar_visible; + int vscrollbar_visible; +}; + +struct _LogicalScrollPaneClass { + GtkBinClass parent_class; +}; + +PURE GType logical_scroll_pane_get_type(void); + +GtkWidget *logical_scroll_pane_new(void); + +void logical_scroll_pane_set_child(LogicalScrollPane *this, GtkWidget *child); +PURE GtkWidget *logical_scroll_pane_get_child(LogicalScrollPane *this); + +void logical_scroll_pane_set_content_size(LogicalScrollPane *this, int width, int height); + +void logical_scroll_pane_set_hscrollbar(LogicalScrollPane *this, GtkWidget *scrollbar); +void logical_scroll_pane_set_vscrollbar(LogicalScrollPane *this, GtkWidget *scrollbar); + +PURE GtkWidget *logical_scroll_pane_get_hscrollbar(LogicalScrollPane *this); +PURE GtkWidget *logical_scroll_pane_get_vscrollbar(LogicalScrollPane *this); + +void logical_scroll_pane_set_hscrollbar_visible(LogicalScrollPane *this, int visible); +void logical_scroll_pane_set_vscrollbar_visible(LogicalScrollPane *this, int visible); + +PURE int logical_scroll_pane_get_hscrollbar_visible(LogicalScrollPane *this); +PURE int logical_scroll_pane_get_vscrollbar_visible(LogicalScrollPane *this); + +void logical_scroll_pane_set_hadjustment(LogicalScrollPane *this, GtkAdjustment *adjustment); +void logical_scroll_pane_set_vadjustment(LogicalScrollPane *this, GtkAdjustment *adjustment); + +PURE GtkAdjustment *logical_scroll_pane_get_hadjustment(LogicalScrollPane *this); +PURE GtkAdjustment *logical_scroll_pane_get_vadjustment(LogicalScrollPane *this); -- cgit v1.3.1