summaryrefslogtreecommitdiff
path: root/src/backends/meta-renderer.c
diff options
context:
space:
mode:
authorNiels De Graef <nielsdegraef@gmail.com>2018-10-19 09:15:54 +0200
committerNiels De Graef <nielsdegraef@gmail.com>2019-01-06 21:57:16 +0100
commit0478c225b7627ed06c6460b0e11772e867d86579 (patch)
treee823128fc1792124e36bd9a60d00ac0b23c81ddc /src/backends/meta-renderer.c
parent93c29318b2994cb23cc88e0c63d923bb0bc92dc8 (diff)
downloadmutter-0478c225b7627ed06c6460b0e11772e867d86579.tar.gz
Add some gtk-doc comments.
Diffstat (limited to 'src/backends/meta-renderer.c')
-rw-r--r--src/backends/meta-renderer.c47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/backends/meta-renderer.c b/src/backends/meta-renderer.c
index 191897e64..55ada2e95 100644
--- a/src/backends/meta-renderer.c
+++ b/src/backends/meta-renderer.c
@@ -22,6 +22,24 @@
* Jonas Ã…dahl <jadahl@gmail.com>
*/
+/**
+ * SECTION:meta-renderer
+ * @title: MetaRenderer
+ * @short_description: Keeps track of the different renderer views.
+ *
+ * A MetaRenderer object has 2 functions:
+ *
+ * 1) Keeping a list of #MetaRendererView<!-- -->s, each responsible for
+ * rendering a part of the stage, corresponding to each #MetaLogicalMonitor. It
+ * keeps track of this list by querying the list of logical monitors in the
+ * #MetaBackend's #MetaMonitorManager, and creating a renderer view for each
+ * logical monitor it encounters.
+ *
+ * 2) Creating and setting up an appropriate #CoglRenderer. For example, a
+ * #MetaRenderer might call cogl_renderer_set_custom_winsys() to tie the
+ * backend-specific mechanisms into Cogl.
+ */
+
#include "config.h"
#include "backends/meta-renderer.h"
@@ -37,6 +55,16 @@ typedef struct _MetaRendererPrivate
G_DEFINE_TYPE_WITH_PRIVATE (MetaRenderer, meta_renderer, G_TYPE_OBJECT)
+/**
+ * meta_renderer_create_cogl_renderer:
+ * @renderer: a #MetaRenderer object
+ *
+ * Creates a #CoglRenderer that is appropriate for a certain backend. For
+ * example, a #MetaRenderer might call cogl_renderer_set_custom_winsys() to tie
+ * the backend-specific mechanisms (such as swapBuffers and vsync) into Cogl.
+ *
+ * Returns: (transfer full): a newly made #CoglRenderer.
+ */
CoglRenderer *
meta_renderer_create_cogl_renderer (MetaRenderer *renderer)
{
@@ -51,6 +79,15 @@ meta_renderer_create_view (MetaRenderer *renderer,
logical_monitor);
}
+/**
+ * meta_renderer_rebuild_views:
+ * @renderer: a #MetaRenderer object
+ *
+ * Rebuilds the internal list of #MetaRendererView objects by querying the
+ * current #MetaBackend's #MetaMonitorManager.
+ *
+ * This also leads to the original list of monitors being unconditionally freed.
+ */
void
meta_renderer_rebuild_views (MetaRenderer *renderer)
{
@@ -87,6 +124,16 @@ meta_renderer_set_legacy_view (MetaRenderer *renderer,
priv->views = g_list_append (priv->views, legacy_view);
}
+/**
+ * meta_renderer_get_views:
+ * @renderer: a #MetaRenderer object
+ *
+ * Returns a list of #MetaRendererView objects, each dealing with a part of the
+ * stage.
+ *
+ * Returns: (transfer-none) (element-type MetaRendererView): a list of
+ * #MetaRendererView objects.
+ */
GList *
meta_renderer_get_views (MetaRenderer *renderer)
{