blob: 1b240e5a486f30575d887a921cbb3e61a692bd24 [file] [log] [blame]
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef FLUTTER_SHELL_PLATFORM_LINUX_FL_VIEW_H_
#define FLUTTER_SHELL_PLATFORM_LINUX_FL_VIEW_H_
#if !defined(__FLUTTER_LINUX_INSIDE__) && !defined(FLUTTER_LINUX_COMPILATION)
#error "Only <flutter_linux/flutter_linux.h> can be included directly."
#endif
#include <gtk/gtk.h>
#include "fl_dart_project.h"
#include "fl_engine.h"
G_BEGIN_DECLS
G_DECLARE_FINAL_TYPE(FlView, fl_view, FL, VIEW, GtkWidget)
/**
* 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:
* |[<!-- language="C" -->
* FlDartProject *project = fl_dart_project_new ("data");
* FlView *view = fl_view_new (project);
* gtk_widget_show (GTK_WIDGET (view));
* gtk_container_add (GTK_CONTAINER (parent), view);
*
* FlBinaryMessenger *mesenger =
* 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 Flutter application.
*
* Returns: a new #FlView.
*/
FlView* fl_view_new(FlDartProject* project);
/**
* fl_view_get_engine:
* @view: an #FlView.
*
* Gets the engine being rendered in the view.
*
* Returns: an #FlEngine.
*/
FlEngine* fl_view_get_engine(FlView* view);
G_END_DECLS
#endif // FLUTTER_SHELL_PLATFORM_LINUX_FL_VIEW_H_