aboutsummaryrefslogtreecommitdiffstats
path: root/logical-scroll-pane.h
diff options
context:
space:
mode:
authorMattias Andrée <m@maandree.se>2026-10-15 22:43:22 +0200
committerMattias Andrée <m@maandree.se>2026-10-15 22:43:22 +0200
commit211ac6e2c497dccb6ec470f43529e776e14c19b6 (patch)
tree065e2780f2138f9285eb6aad9e9153934d4d6b6f /logical-scroll-pane.h
parentChange default font size to 14 (diff)
downloadgcmap-211ac6e2c497dccb6ec470f43529e776e14c19b6.tar.gz
gcmap-211ac6e2c497dccb6ec470f43529e776e14c19b6.tar.bz2
gcmap-211ac6e2c497dccb6ec470f43529e776e14c19b6.tar.xz
Use logical scrolling + m misc
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to 'logical-scroll-pane.h')
-rw-r--r--logical-scroll-pane.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/logical-scroll-pane.h b/logical-scroll-pane.h
new file mode 100644
index 0000000..7401d94
--- /dev/null
+++ b/logical-scroll-pane.h
@@ -0,0 +1,59 @@
+#include <gtk/gtk.h>
+
+#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 page_width;
+ int page_height;
+ int viewport_size_is_logical;
+ 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_viewport_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);