[libadwaita/wip/cdavis/fold-threshold-policy: 1/2] Add AdwFoldThresholdPolicy
- From: Christopher Davis <christopherdavis src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libadwaita/wip/cdavis/fold-threshold-policy: 1/2] Add AdwFoldThresholdPolicy
- Date: Wed, 23 Jun 2021 23:35:42 +0000 (UTC)
commit acd70351f0639cf996036571c7a6e5d727116760
Author: Christopher Davis <christopherdavis gnome org>
Date: Wed Jun 23 15:10:28 2021 -0700
Add AdwFoldThresholdPolicy
Currently we have hardcoded behaviour for flap and leaflet,
where leaflet uses the sum of natural widths and flap uses
the sum of minimum widths to determine what size to fold
at.
Some applications, like Fractal, need to be able to adjust
this behaviour. For that purpose, we need AdwFoldThresholdPolicy.
src/adw-enums.c.in | 1 +
src/adw-fold-threshold-policy.c | 18 ++++++++++++++++++
src/adw-fold-threshold-policy.h | 23 +++++++++++++++++++++++
src/adwaita.h | 1 +
src/meson.build | 3 +++
5 files changed, 46 insertions(+)
---
diff --git a/src/adw-enums.c.in b/src/adw-enums.c.in
index 4025237c..238a7283 100644
--- a/src/adw-enums.c.in
+++ b/src/adw-enums.c.in
@@ -3,6 +3,7 @@
#include "config.h"
#include "adw-enums.h"
#include "adw-flap.h"
+#include "adw-fold-threshold-policy.h"
#include "adw-header-bar.h"
#include "adw-leaflet.h"
#include "adw-navigation-direction.h"
diff --git a/src/adw-fold-threshold-policy.c b/src/adw-fold-threshold-policy.c
new file mode 100644
index 00000000..9d9c8e2e
--- /dev/null
+++ b/src/adw-fold-threshold-policy.c
@@ -0,0 +1,18 @@
+/*
+ * Copyright (C) 2021 Christopher Davis <christopherdavis gnome org>
+ *
+ * SPDX-License-Identifier: LGPL-2.1+
+ */
+
+#include "config.h"
+#include "adw-fold-threshold-policy.h"
+
+/**
+ * AdwFoldThresholdPolicy:
+ * @ADW_FOLD_THRESHOLD_POLICY_MINIMUM: Use the sum of the minimum sizes of children as the threshold for
folding
+ * @ADW_FOLD_THRESHOLD_POLICY_NATURAL: Use the sum of the natural sizes of children as the threshold for
folding
+ *
+ * Determines the threshold at which a widget will fold.
+ *
+ * Since: 1.0
+ */
diff --git a/src/adw-fold-threshold-policy.h b/src/adw-fold-threshold-policy.h
new file mode 100644
index 00000000..c6703099
--- /dev/null
+++ b/src/adw-fold-threshold-policy.h
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2021 Christopher Davis <christopherdavis gnome org>
+ *
+ * SPDX-License-Identifier: LGPL-2.1+
+ */
+
+#pragma once
+
+#if !defined(_ADWAITA_INSIDE) && !defined(ADWAITA_COMPILATION)
+#error "Only <adwaita.h> can be included directly."
+#endif
+
+#include <glib-object.h>
+#include "adw-enums.h"
+
+G_BEGIN_DECLS
+
+typedef enum {
+ ADW_FOLD_THRESHOLD_POLICY_MINIMUM,
+ ADW_FOLD_THRESHOLD_POLICY_NATURAL,
+} AdwFoldThresholdPolicy;
+
+G_END_DECLS
diff --git a/src/adwaita.h b/src/adwaita.h
index 642094ca..ba9bf074 100644
--- a/src/adwaita.h
+++ b/src/adwaita.h
@@ -38,6 +38,7 @@ G_BEGIN_DECLS
#include "adw-enum-value-object.h"
#include "adw-expander-row.h"
#include "adw-flap.h"
+#include "adw-fold-threshold-policy.h"
#include "adw-header-bar.h"
#include "adw-leaflet.h"
#include "adw-main.h"
diff --git a/src/meson.build b/src/meson.build
index 5f7f6c53..95ee4d63 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -11,6 +11,7 @@ libadwaita_resources = gnome.compile_resources(
adw_public_enum_headers = [
'adw-flap.h',
+ 'adw-fold-threshold-policy.h',
'adw-header-bar.h',
'adw-leaflet.h',
'adw-navigation-direction.h',
@@ -82,6 +83,7 @@ src_headers = [
'adw-enum-value-object.h',
'adw-expander-row.h',
'adw-flap.h',
+ 'adw-fold-threshold-policy.h',
'adw-header-bar.h',
'adw-leaflet.h',
'adw-main.h',
@@ -135,6 +137,7 @@ src_sources = [
'adw-fading-label.c',
'adw-flap.c',
'adw-focus.c',
+ 'adw-fold-threshold-policy.c',
'adw-gizmo.c',
'adw-header-bar.c',
'adw-indicator-bin.c',
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]