Flutter Engine
 
Loading...
Searching...
No Matches
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
18G_BEGIN_DECLS
19
20G_MODULE_EXPORT
22 fl_application,
23 FL,
24 APPLICATION,
25 GtkApplication);
26
27/**
28 * FlApplicationClass:
29 * @register_plugins: invoked when plugins should be registered.
30 */
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 */
76FlApplication* fl_application_new(const gchar* application_id,
77 GApplicationFlags flags);
78
79G_END_DECLS
80
81#endif // FLUTTER_SHELL_PLATFORM_LINUX_PUBLIC_FLUTTER_LINUX_FL_APPLICATION_H_
FlView * view
G_BEGIN_DECLS G_MODULE_EXPORT G_DECLARE_DERIVABLE_TYPE(FlApplication, fl_application, FL, APPLICATION, GtkApplication)
FlApplication * fl_application_new(const gchar *application_id, GApplicationFlags flags)
GtkApplicationClass parent_class
void(* register_plugins)(FlApplication *application, FlPluginRegistry *registry)