Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
 
Loading...
Searching...
No Matches
fl_view.h File Reference
#include <gmodule.h>
#include <gtk/gtk.h>
#include "fl_dart_project.h"
#include "fl_engine.h"

Go to the source code of this file.

Functions

G_BEGIN_DECLS G_MODULE_EXPORT FlView * fl_view_new (FlDartProject *project)
 
FlView * fl_view_new_for_engine (FlEngine *engine)
 
FlView * fl_view_new_sized_to_content (FlEngine *engine)
 
FlEngine * fl_view_get_engine (FlView *view)
 
int64_t fl_view_get_id (FlView *view)
 
void fl_view_set_background_color (FlView *view, const GdkRGBA *color)
 

Function Documentation

◆ fl_view_get_engine()

FlEngine * fl_view_get_engine ( FlView *  view)

fl_view_get_engine: @view: an #FlView.

Gets the engine being rendered in the view.

Returns: an #FlEngine.

Definition at line 753 of file fl_view.cc.

753 {
754 g_return_val_if_fail(FL_IS_VIEW(self), nullptr);
755 return self->engine;
756}

References self.

Referenced by TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().

◆ fl_view_get_id()

int64_t fl_view_get_id ( FlView *  view)

fl_view_get_id: @view: an #FlView.

Gets the Flutter view ID used by this view.

Returns: a view ID or -1 if now ID assigned.

Definition at line 759 of file fl_view.cc.

759 {
760 g_return_val_if_fail(FL_IS_VIEW(self), -1);
761 return self->view_id;
762}

References self.

Referenced by TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().

◆ fl_view_new()

G_BEGIN_DECLS G_MODULE_EXPORT FlView * fl_view_new ( FlDartProject *  project)

FlView:

#FlView is a GTK widget that is capable of displaying a Flutter application.

The following example shows how to set up a view in a GTK application: |[ FlDartProject *project = fl_dart_project_new (); FlView *view = fl_view_new (project); gtk_widget_show (GTK_WIDGET (view)); gtk_container_add (GTK_CONTAINER (parent), view);

FlBinaryMessenger *messenger = fl_engine_get_binary_messenger (fl_view_get_engine (view)); setup_channels_or_plugins (messenger); ]| fl_view_new: @project: The project to show.

Creates a widget to show a Flutter application.

Returns: a new #FlView.

Definition at line 705 of file fl_view.cc.

705 {
706 g_autoptr(FlEngine) engine = fl_engine_new(project);
707 FlView* self = FL_VIEW(g_object_new(fl_view_get_type(), nullptr));
708
710 self->engine = FL_ENGINE(g_object_ref(engine));
711
713
714 fl_engine_set_implicit_view(engine, FL_RENDERABLE(self));
715
716 return self;
717}
FlutterEngine engine
Definition main.cc:84
g_autoptr(FlEngine) engine
void fl_engine_set_implicit_view(FlEngine *self, FlRenderable *renderable)
Definition fl_engine.cc:937
G_MODULE_EXPORT FlEngine * fl_engine_new(FlDartProject *project)
Definition fl_engine.cc:730
static void setup_engine(FlView *self)
Definition fl_view.cc:629
constexpr int64_t kFlutterImplicitViewId
Definition constants.h:35

References engine, fl_engine_new(), fl_engine_set_implicit_view(), g_autoptr(), flutter::kFlutterImplicitViewId, self, and setup_engine().

Referenced by fl_application_activate(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().

◆ fl_view_new_for_engine()

FlView * fl_view_new_for_engine ( FlEngine *  engine)

fl_view_new_for_engine: @engine: an #FlEngine.

Creates a widget to show a window in a Flutter application. The engine must be not be headless.

Returns: a new #FlView.

Definition at line 719 of file fl_view.cc.

719 {
720 FlView* self = FL_VIEW(g_object_new(fl_view_get_type(), nullptr));
721
722 self->engine = FL_ENGINE(g_object_ref(engine));
723
724 size_t min_width = 1, min_height = 1, max_width = 1, max_height = 1;
725 gint scale_factor = gtk_widget_get_scale_factor(GTK_WIDGET(self));
726 self->view_id = fl_engine_add_view(
727 engine, FL_RENDERABLE(self), min_width, min_height, max_width, max_height,
728 scale_factor, self->cancellable, view_added_cb, self);
729
731
732 return self;
733}
FlutterViewId fl_engine_add_view(FlEngine *self, FlRenderable *renderable, size_t min_width, size_t min_height, size_t max_width, size_t max_height, double pixel_ratio, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data)
Definition fl_engine.cc:941
static void view_added_cb(GObject *object, GAsyncResult *result, gpointer user_data)
Definition fl_view.cc:218
gint gtk_widget_get_scale_factor(GtkWidget *widget)
Definition mock_gtk.cc:258

References engine, fl_engine_add_view(), gtk_widget_get_scale_factor(), self, setup_engine(), and view_added_cb().

Referenced by FlAccessibilityHandlerTest::SetUp(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().

◆ fl_view_new_sized_to_content()

FlView * fl_view_new_sized_to_content ( FlEngine *  engine)

fl_view_new_sized_to_content: @engine: an #FlEngine.

Creates a widget to show a window in a Flutter application. The window will always display content in the size that Flutter provides. The engine must be not be headless.

Returns: a new #FlView.

Definition at line 735 of file fl_view.cc.

735 {
736 FlView* self = FL_VIEW(g_object_new(fl_view_get_type(), nullptr));
737
738 self->engine = FL_ENGINE(g_object_ref(engine));
739
740 self->sized_to_content = TRUE;
741 size_t min_width = 1, min_height = 1, max_width = G_MAXSIZE,
742 max_height = G_MAXSIZE;
743 gint scale_factor = gtk_widget_get_scale_factor(GTK_WIDGET(self));
744 self->view_id = fl_engine_add_view(
745 engine, FL_RENDERABLE(self), min_width, min_height, max_width, max_height,
746 scale_factor, self->cancellable, view_added_cb, self);
747
749
750 return self;
751}
return TRUE

References engine, fl_engine_add_view(), gtk_widget_get_scale_factor(), self, setup_engine(), TRUE, and view_added_cb().

Referenced by TEST_F().

◆ fl_view_set_background_color()

void fl_view_set_background_color ( FlView *  view,
const GdkRGBA *  color 
)

fl_view_set_background_color: @view: an #FlView. @color: a background color.

Set the background color for Flutter (defaults to black).

Definition at line 764 of file fl_view.cc.

765 {
766 g_return_if_fail(FL_IS_VIEW(self));
768}
void fl_view_renderer_set_background_color(FlViewRenderer *self, const GdkRGBA *color)

References fl_view_renderer_set_background_color(), and self.