| Flutter Linux Embedder |

fl_application.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_PUBLIC_FLUTTER_LINUX_FL_APPLICATION_H_
6 #define FLUTTER_SHELL_PLATFORM_LINUX_PUBLIC_FLUTTER_LINUX_FL_APPLICATION_H_
7
8 #if !defined(__FLUTTER_LINUX_INSIDE__) && !defined(FLUTTER_LINUX_COMPILATION)
9 #error "Only <flutter_linux/flutter_linux.h> can be included directly."
10 #endif
11
12 #include "fl_plugin_registry.h"
13 #include "fl_view.h"
14
15 #include <gmodule.h>
16 #include <gtk/gtk.h>
17
18 G_BEGIN_DECLS
19
20 G_MODULE_EXPORT
21 G_DECLARE_DERIVABLE_TYPE(FlApplication,
22 fl_application,
23 FL,
24 APPLICATION,
25 GtkApplication);
26
27 /**
28 * FlApplicationClass:
29 * @register_plugins: invoked when plugins should be registered.
30 */
31 struct _FlApplicationClass {
32 GtkApplicationClass parent_class;
33
34 /**
35 * FlApplication::register_plugins:
36 * @application: the application
37 * @registry: registry to use.
38 *
39 * The ::register_plugins signal is emitted when plugins can be registered.
40 */
41 void (*register_plugins)(FlApplication* application,
42 FlPluginRegistry* registry);
43
44 /**
45 * FlApplication::create_window:
46 * @application: the application
47 * @view: the view to add to this window.
48 *
49 * The ::create_window signal is emitted when a needs to be created for a
50 * view. By handling this signal the application can create the appropriate
51 * window for the given view and set any window properties or additional
52 * widgets required.
53 *
54 * If this signal is not handled a standard GTK window will be created.
55 */
56 GtkWindow* (*create_window)(FlApplication* application, FlView* view);
57 };
58
59 /**
60 * FlApplication:
61 *
62 * #Flutter-based application with the GTK embedder.
63 *
64 * Provides default behaviour for basic Flutter applications.
65 */
66
67 /**
68 * fl_application_new:
69 * @application_id: (allow-none): The application ID or %NULL.
70 * @flags: The application flags.
71 *
72 * Creates a new Flutter-based application.
73 *
74 * Returns: a new #FlApplication
75 */
76 FlApplication* fl_application_new(const gchar* application_id,
77 GApplicationFlags flags);
78
79 G_END_DECLS
80
81 #endif // FLUTTER_SHELL_PLATFORM_LINUX_PUBLIC_FLUTTER_LINUX_FL_APPLICATION_H_
view
FlView * view
Definition: fl_application.cc:36
G_DECLARE_DERIVABLE_TYPE
G_BEGIN_DECLS G_MODULE_EXPORT G_DECLARE_DERIVABLE_TYPE(FlApplication, fl_application, FL, APPLICATION, GtkApplication)
fl_application_new
FlApplication * fl_application_new(const gchar *application_id, GApplicationFlags flags)
Definition: fl_application.cc:182
FL
FL
Definition: fl_binary_messenger.cc:27
fl_plugin_registry.h
fl_view.h
_FlApplicationClass
Definition: fl_application.h:31
_FlApplicationClass::parent_class
GtkApplicationClass parent_class
Definition: fl_application.h:32
_FlApplicationClass::register_plugins
void(* register_plugins)(FlApplication *application, FlPluginRegistry *registry)
Definition: fl_application.h:41