Better desktop platform window customization

This commit is contained in:
2024-12-05 00:43:57 +08:00
parent aa44a40e59
commit 5dd2e83389
16 changed files with 134 additions and 5 deletions

View File

@ -6,6 +6,7 @@
#include "generated_plugin_registrant.h"
#include <bitsdojo_window_linux/bitsdojo_window_plugin.h>
#include <file_selector_linux/file_selector_plugin.h>
#include <flutter_udid/flutter_udid_plugin.h>
#include <flutter_webrtc/flutter_web_r_t_c_plugin.h>
@ -16,6 +17,9 @@
#include <url_launcher_linux/url_launcher_plugin.h>
void fl_register_plugins(FlPluginRegistry* registry) {
g_autoptr(FlPluginRegistrar) bitsdojo_window_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "BitsdojoWindowPlugin");
bitsdojo_window_plugin_register_with_registrar(bitsdojo_window_linux_registrar);
g_autoptr(FlPluginRegistrar) file_selector_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin");
file_selector_plugin_register_with_registrar(file_selector_linux_registrar);

View File

@ -3,6 +3,7 @@
#
list(APPEND FLUTTER_PLUGIN_LIST
bitsdojo_window_linux
file_selector_linux
flutter_udid
flutter_webrtc

View File

@ -1,5 +1,7 @@
#include "my_application.h"
#include <bitsdojo_window_linux/bitsdojo_window_plugin.h>
#include <flutter_linux/flutter_linux.h>
#ifdef GDK_WINDOWING_X11
#include <gdk/gdkx.h>
@ -47,7 +49,8 @@ static void my_application_activate(GApplication* application) {
gtk_window_set_title(window, "Surface");
}
gtk_window_set_default_size(window, 1280, 720);
auto bdw = bitsdojo_window_from(window);
bdw->setCustomFrame(true);
gtk_widget_show(GTK_WIDGET(window));
g_autoptr(FlDartProject) project = fl_dart_project_new();