[metacity] libmetacity: add meta_theme_get_buttons
- From: Alberts MuktupÄvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [metacity] libmetacity: add meta_theme_get_buttons
- Date: Thu, 18 Aug 2016 16:49:54 +0000 (UTC)
commit 14b3453bc325f25a135810ff53d562f831271856
Author: Alberts MuktupÄvels <alberts muktupavels gmail com>
Date: Thu Aug 18 19:47:00 2016 +0300
libmetacity: add meta_theme_get_buttons
libmetacity/meta-theme.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++
libmetacity/meta-theme.h | 2 +
2 files changed, 60 insertions(+), 0 deletions(-)
---
diff --git a/libmetacity/meta-theme.c b/libmetacity/meta-theme.c
index bd03f05..ccbd110 100644
--- a/libmetacity/meta-theme.c
+++ b/libmetacity/meta-theme.c
@@ -625,6 +625,64 @@ meta_theme_get_button (MetaTheme *theme,
return NULL;
}
+MetaButton **
+meta_theme_get_buttons (MetaTheme *theme)
+{
+ MetaButtonLayout *layout;
+ gint size;
+ MetaButton **retval;
+ gint index;
+ gint side;
+
+ layout = theme->button_layout;
+ size = layout->n_left_buttons + layout->n_right_buttons + 1;
+ retval = g_new0 (MetaButton *, size);
+ index = 0;
+
+ for (side = 0; side < 2; side++)
+ {
+ MetaButton *buttons;
+ gint n_buttons;
+ gint i;
+
+ if (side == 0)
+ {
+ buttons = layout->left_buttons;
+ n_buttons = layout->n_left_buttons;
+ }
+ else if (side == 1)
+ {
+ buttons = layout->right_buttons;
+ n_buttons = layout->n_right_buttons;
+ }
+ else
+ {
+ g_assert_not_reached ();
+ }
+
+ for (i = 0; i < n_buttons; i++)
+ {
+ MetaButton *btn;
+ GdkRectangle rect;
+
+ btn = &buttons[i];
+ rect = btn->rect.visible;
+
+ if (!btn->visible || btn->type == META_BUTTON_TYPE_SPACER ||
+ rect.width <= 0 || rect.height <= 0)
+ {
+ continue;
+ }
+
+ retval[index++] = btn;
+ }
+ }
+
+ retval[index] = NULL;
+
+ return retval;
+}
+
void
meta_theme_set_composited (MetaTheme *theme,
gboolean composited)
diff --git a/libmetacity/meta-theme.h b/libmetacity/meta-theme.h
index f3228d4..6cc136a 100644
--- a/libmetacity/meta-theme.h
+++ b/libmetacity/meta-theme.h
@@ -117,6 +117,8 @@ MetaButton *meta_theme_get_button (MetaTheme *theme,
gint x,
gint y);
+MetaButton **meta_theme_get_buttons (MetaTheme *theme);
+
void meta_theme_set_composited (MetaTheme *theme,
gboolean composited);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]