From 013245d9bb50bf0878a58a7b1e009915a7a64d0b Mon Sep 17 00:00:00 2001 From: Vitaliy Zarubin Date: Mon, 16 Oct 2023 13:50:16 +0300 Subject: [PATCH] [plugin] Add embedder_texture glesv2 --- .../ru.auroraos.flutter_example_packages.spec | 1 + .../embedder_texture/aurora/CMakeLists.txt | 7 +++++-- .../aurora/embedder_texture_plugin.cpp | 20 +++++++++++++++++-- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/example/aurora/rpm/ru.auroraos.flutter_example_packages.spec b/example/aurora/rpm/ru.auroraos.flutter_example_packages.spec index 2c965f8..5864c1d 100644 --- a/example/aurora/rpm/ru.auroraos.flutter_example_packages.spec +++ b/example/aurora/rpm/ru.auroraos.flutter_example_packages.spec @@ -10,6 +10,7 @@ Source0: %{name}-%{version}.tar.zst BuildRequires: cmake BuildRequires: pkgconfig(sqlite3) +BuildRequires: pkgconfig(glesv2) BuildRequires: pkgconfig(flutter-embedder) %description diff --git a/packages/embedder_texture/aurora/CMakeLists.txt b/packages/embedder_texture/aurora/CMakeLists.txt index 418f1ce..4a322ae 100644 --- a/packages/embedder_texture/aurora/CMakeLists.txt +++ b/packages/embedder_texture/aurora/CMakeLists.txt @@ -16,11 +16,14 @@ set(CMAKE_CXX_FLAGS_RELEASE "-O3") find_package(PkgConfig REQUIRED) pkg_check_modules(FlutterEmbedder REQUIRED IMPORTED_TARGET flutter-embedder) +pkg_check_modules(GLES REQUIRED IMPORTED_TARGET glesv2) -add_library(${PLUGIN_NAME} SHARED embedder_texture_plugin.cpp) +add_library(${PLUGIN_NAME} SHARED + embedder_texture_plugin.cpp +) set_target_properties(${PLUGIN_NAME} PROPERTIES CXX_VISIBILITY_PRESET hidden) -target_link_libraries(${PLUGIN_NAME} PRIVATE PkgConfig::FlutterEmbedder) +target_link_libraries(${PLUGIN_NAME} PRIVATE PkgConfig::FlutterEmbedder PkgConfig::GLES) target_include_directories(${PLUGIN_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) target_compile_definitions(${PLUGIN_NAME} PRIVATE PLUGIN_IMPL) diff --git a/packages/embedder_texture/aurora/embedder_texture_plugin.cpp b/packages/embedder_texture/aurora/embedder_texture_plugin.cpp index ff9bdf8..9749bb5 100644 --- a/packages/embedder_texture/aurora/embedder_texture_plugin.cpp +++ b/packages/embedder_texture/aurora/embedder_texture_plugin.cpp @@ -7,6 +7,16 @@ #include #include +#include +#include + +const GLfloat pixels[] = { + 1, 0, 0, + 0, 1, 0, + 0, 0, 1, + 1, 1, 1 +}; + void EmbedderTexturePlugin::RegisterWithRegistrar(PluginRegistrar ®istrar) { registrar.RegisterMethodChannel("embedder_texture", @@ -33,7 +43,13 @@ void EmbedderTexturePlugin::onMethodCall(const MethodCall &call) void EmbedderTexturePlugin::onCreate(const MethodCall &call) { - call.SendSuccessResponse(0); + unsigned int texture_id = 0; + + glGenTextures(1, &texture_id); + glBindTexture(GL_TEXTURE_2D, texture_id); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 2, 2, 0, GL_RGB, GL_FLOAT, pixels); + + call.SendSuccessResponse(texture_id); } void EmbedderTexturePlugin::onRemove(const MethodCall &call) @@ -44,4 +60,4 @@ void EmbedderTexturePlugin::onRemove(const MethodCall &call) void EmbedderTexturePlugin::unimplemented(const MethodCall &call) { call.SendSuccessResponse(nullptr); -} +} \ No newline at end of file