diff options
author | Patrick McDermott <pj@pehjota.net> | 2017-09-20 19:53:42 (EDT) |
---|---|---|
committer | Patrick McDermott <pj@pehjota.net> | 2017-09-20 19:53:42 (EDT) |
commit | 35afcaa18cfab42b1feb59534dca7d876f49dc28 (patch) | |
tree | 0cb99abea98819783cfabca320c7787dda1b72ac | |
parent | 42ca78390d46acf1a997634a6d1c59b8afc466fb (diff) | |
download | marquee-35afcaa18cfab42b1feb59534dca7d876f49dc28.zip marquee-35afcaa18cfab42b1feb59534dca7d876f49dc28.tar.gz marquee-35afcaa18cfab42b1feb59534dca7d876f49dc28.tar.bz2 |
src/scrolled-window.[ch]: New files
-rw-r--r-- | src/local.mk | 3 | ||||
-rw-r--r-- | src/scrolled-window.c | 49 | ||||
-rw-r--r-- | src/scrolled-window.h | 55 |
3 files changed, 106 insertions, 1 deletions
diff --git a/src/local.mk b/src/local.mk index ca2e0b0..a776c38 100644 --- a/src/local.mk +++ b/src/local.mk @@ -3,4 +3,5 @@ marquee_SOURCES += \ %reldir%/window.c \ %reldir%/tab.c \ %reldir%/tab-chrome.c \ - %reldir%/tab-body.c + %reldir%/tab-body.c \ + %reldir%/scrolled-window.c diff --git a/src/scrolled-window.c b/src/scrolled-window.c new file mode 100644 index 0000000..62d2770 --- /dev/null +++ b/src/scrolled-window.c @@ -0,0 +1,49 @@ +/* + * GtkScrolledWindow subclass with natural size propagation + * + * Copyright (C) 2017 Patrick McDermott + * + * This file is part of Marquee. + * + * Marquee is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Marquee is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Marquee. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "src/scrolled-window.h" + +struct _MqScrolledWindow { + GtkScrolledWindow parent_instance; +}; + +struct _MqScrolledWindowClass { + GtkScrolledWindowClass parent_class; +}; + +G_DEFINE_TYPE(MqScrolledWindow, mq_scrolled_window, GTK_TYPE_SCROLLED_WINDOW) + +static void +mq_scrolled_window_init(MqScrolledWindow *scrolled_window) +{ +} + +static void +mq_scrolled_window_class_init(MqScrolledWindowClass *class) +{ +} + +MqScrolledWindow * +mq_scrolled_window_new(GtkAdjustment *hadjustment, GtkAdjustment *vadjustment) +{ + return g_object_new(MQ_TYPE_SCROLLED_WINDOW, + "hadjustment", hadjustment, "vadjustment", vadjustment, NULL); +} diff --git a/src/scrolled-window.h b/src/scrolled-window.h new file mode 100644 index 0000000..933b45a --- /dev/null +++ b/src/scrolled-window.h @@ -0,0 +1,55 @@ +/* + * GtkScrolledWindow subclass with natural size propagation + * + * Copyright (C) 2017 Patrick McDermott + * + * This file is part of Marquee. + * + * Marquee is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Marquee is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Marquee. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef MQ_SCROLLED_WINDOW_H +#define MQ_SCROLLED_WINDOW_H + +#include <gtk/gtk.h> + +G_BEGIN_DECLS + +#define MQ_TYPE_SCROLLED_WINDOW (mq_scrolled_window_get_type()) +#define MQ_SCROLLED_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), \ + MQ_TYPE_SCROLLED_WINDOW, \ + MqScrolledWindow)) +#define MQ_IS_SCROLLED_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), \ + MQ_TYPE_SCROLLED_WINDOW)) +#define MQ_SCROLLED_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), \ + MQ_TYPE_SCROLLED_WINDOW, \ + MqScrolledWindowClass)) +#define MQ_IS_SCROLLED_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), \ + MQ_TYPE_SCROLLED_WINDOW)) +#define MQ_SCROLLED_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), \ + MQ_TYPE_SCROLLED_WINDOW, \ + MqScrolledWindowClass)) + +typedef struct _MqScrolledWindow MqScrolledWindow; +typedef struct _MqScrolledWindowClass MqScrolledWindowClass; + +GType +mq_scrolled_window_get_type(void); + +MqScrolledWindow * +mq_scrolled_window_new(GtkAdjustment *hadjustment, GtkAdjustment *vadjustment); + +G_END_DECLS + +#endif |