Flutter Linux Embedder
fl_view_renderer.h File Reference
#include <gtk/gtk.h>
#include "flutter/shell/platform/embedder/embedder.h"
#include "flutter/shell/platform/linux/public/flutter_linux/fl_engine.h"

Go to the source code of this file.

Functions

G_BEGIN_DECLS G_DECLARE_FINAL_TYPE (FlViewRenderer, fl_view_renderer, FL, VIEW_RENDERER, GtkDrawingArea) FlViewRenderer *fl_view_renderer_new(FlEngine *engine
 
void fl_view_renderer_set_background_color (FlViewRenderer *renderer, const GdkRGBA *color)
 
void fl_view_renderer_present_layers (FlViewRenderer *renderer, const FlutterLayer **layers, size_t layers_count)
 

Variables

G_BEGIN_DECLS gboolean sized_to_content
 

Function Documentation

◆ fl_view_renderer_present_layers()

void fl_view_renderer_present_layers ( FlViewRenderer *  renderer,
const FlutterLayer **  layers,
size_t  layers_count 
)

fl_view_renderer_present_layers: @renderer: an #FlViewRenderer. @layers: layers to draw. @layers_count: number of layers.

Composites a frame into the renderer. This method can be called from any thread.

Definition at line 233 of file fl_view_renderer.cc.

235  {
236  g_return_if_fail(FL_IS_VIEW_RENDERER(self));
237 
238  // Frames may be presented before the widget is realized and the compositor
239  // is set up; ignore them.
240  if (self->compositor == nullptr) {
241  return;
242  }
243 
245 
246  // Perform the redraw in the GTK thread.
247  g_idle_add(redraw_cb, g_object_ref(self));
248 }
gboolean fl_compositor_present_layers(FlCompositor *self, const FlutterLayer **layers, size_t layers_count)
const FlutterLayer size_t layers_count
const FlutterLayer ** layers
static gboolean redraw_cb(gpointer user_data)

References fl_compositor_present_layers(), layers, layers_count, and redraw_cb().

Referenced by fl_view_present_layers().

◆ fl_view_renderer_set_background_color()

void fl_view_renderer_set_background_color ( FlViewRenderer *  renderer,
const GdkRGBA *  color 
)

fl_view_renderer_set_background_color: @renderer: an #FlViewRenderer. @color: the background color.

Sets the background color drawn behind the Flutter frame.

Definition at line 226 of file fl_view_renderer.cc.

227  {
228  g_return_if_fail(FL_IS_VIEW_RENDERER(self));
229  gdk_rgba_free(self->background_color);
230  self->background_color = gdk_rgba_copy(color);
231 }

Referenced by fl_view_set_background_color().

◆ G_DECLARE_FINAL_TYPE()

G_BEGIN_DECLS G_DECLARE_FINAL_TYPE ( FlViewRenderer  ,
fl_view_renderer  ,
FL  ,
VIEW_RENDERER  ,
GtkDrawingArea   
)

FlViewRenderer:

#FlViewRenderer is a GTK widget that renders the contents of a Flutter view. It owns the compositor and OpenGL context used to draw frames produced by the Flutter engine. Input handling and other view responsibilities are handled by #FlView. fl_view_renderer_new: @engine: the #FlEngine to render. @sized_to_content: TRUE if the view size is controlled by Flutter.

Creates a new widget that renders Flutter frames.

Returns: a new #FlViewRenderer.

Variable Documentation

◆ sized_to_content

G_BEGIN_DECLS gboolean sized_to_content

Definition at line 40 of file fl_view_renderer.h.

Referenced by fl_view_renderer_new().