Flutter Linux Embedder
fl_view_renderer.h
Go to the documentation of this file.
1 // Copyright 2013 The Flutter Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef FLUTTER_SHELL_PLATFORM_LINUX_FL_VIEW_RENDERER_H_
6 #define FLUTTER_SHELL_PLATFORM_LINUX_FL_VIEW_RENDERER_H_
7 
8 #include <gtk/gtk.h>
9 
10 #include "flutter/shell/platform/embedder/embedder.h"
12 
13 G_BEGIN_DECLS
14 
15 G_DECLARE_FINAL_TYPE(FlViewRenderer,
16  fl_view_renderer,
17  FL,
18  VIEW_RENDERER,
19  GtkDrawingArea)
20 
21 /**
22  * FlViewRenderer:
23  *
24  * #FlViewRenderer is a GTK widget that renders the contents of a Flutter view.
25  * It owns the compositor and OpenGL context used to draw frames produced by the
26  * Flutter engine. Input handling and other view responsibilities are handled by
27  * #FlView.
28  */
29 
30 /**
31  * fl_view_renderer_new:
32  * @engine: the #FlEngine to render.
33  * @sized_to_content: %TRUE if the view size is controlled by Flutter.
34  *
35  * Creates a new widget that renders Flutter frames.
36  *
37  * Returns: a new #FlViewRenderer.
38  */
39 FlViewRenderer* fl_view_renderer_new(FlEngine* engine,
40  gboolean sized_to_content);
41 
42 /**
43  * fl_view_renderer_set_background_color:
44  * @renderer: an #FlViewRenderer.
45  * @color: the background color.
46  *
47  * Sets the background color drawn behind the Flutter frame.
48  */
49 void fl_view_renderer_set_background_color(FlViewRenderer* renderer,
50  const GdkRGBA* color);
51 
52 /**
53  * fl_view_renderer_present_layers:
54  * @renderer: an #FlViewRenderer.
55  * @layers: layers to draw.
56  * @layers_count: number of layers.
57  *
58  * Composites a frame into the renderer. This method can be called from any
59  * thread.
60  */
61 void fl_view_renderer_present_layers(FlViewRenderer* renderer,
62  const FlutterLayer** layers,
63  size_t layers_count);
64 
65 G_END_DECLS
66 
67 #endif // FLUTTER_SHELL_PLATFORM_LINUX_FL_VIEW_RENDERER_H_
const FlutterLayer size_t layers_count
const FlutterLayer ** layers
FlViewRenderer * fl_view_renderer_new(FlEngine *engine, gboolean sized_to_content)
void fl_view_renderer_present_layers(FlViewRenderer *renderer, const FlutterLayer **layers, size_t layers_count)
void fl_view_renderer_set_background_color(FlViewRenderer *renderer, const GdkRGBA *color)
G_BEGIN_DECLS G_DECLARE_FINAL_TYPE(FlViewRenderer, fl_view_renderer, FL, VIEW_RENDERER, GtkDrawingArea) FlViewRenderer *fl_view_renderer_new(FlEngine *engine
G_BEGIN_DECLS gboolean sized_to_content