From c337b46387fde4502396b993bde7ec97ee96e032 Mon Sep 17 00:00:00 2001 From: Viktor Lidholt Date: Fri, 23 Sep 2022 17:43:39 +0200 Subject: [PATCH] Initial version --- .gitignore | 30 +++ .metadata | 10 + .vscode/launch.json | 45 +++++ CHANGELOG.md | 3 + LICENSE | 1 + README.md | 43 +++++ analysis_options.yaml | 6 + example/.gitignore | 44 +++++ example/.metadata | 45 +++++ example/README.md | 8 + example/analysis_options.yaml | 29 +++ example/lib/main.dart | 51 +++++ example/linux/.gitignore | 1 + example/linux/CMakeLists.txt | 138 +++++++++++++ example/linux/flutter/CMakeLists.txt | 88 +++++++++ .../flutter/generated_plugin_registrant.cc | 11 ++ .../flutter/generated_plugin_registrant.h | 15 ++ example/linux/flutter/generated_plugins.cmake | 23 +++ example/linux/main.cc | 6 + example/linux/my_application.cc | 104 ++++++++++ example/linux/my_application.h | 18 ++ example/pubspec.lock | 168 ++++++++++++++++ example/pubspec.yaml | 93 +++++++++ example/test/widget_test.dart | 30 +++ example/web/favicon.png | Bin 0 -> 917 bytes example/web/icons/Icon-192.png | Bin 0 -> 5292 bytes example/web/icons/Icon-512.png | Bin 0 -> 8252 bytes example/web/icons/Icon-maskable-192.png | Bin 0 -> 5594 bytes example/web/icons/Icon-maskable-512.png | Bin 0 -> 20998 bytes example/web/index.html | 58 ++++++ example/web/manifest.json | 35 ++++ lib/pixels.dart | 7 + lib/src/editable_pixel_image.dart | 182 ++++++++++++++++++ lib/src/pixel_color_picker.dart | 101 ++++++++++ lib/src/pixel_editor.dart | 87 +++++++++ lib/src/pixel_image.dart | 111 +++++++++++ lib/src/pixel_palette.dart | 52 +++++ pubspec.yaml | 19 ++ screenshot.png | Bin 0 -> 291960 bytes 39 files changed, 1662 insertions(+) create mode 100644 .gitignore create mode 100644 .metadata create mode 100644 .vscode/launch.json create mode 100644 CHANGELOG.md create mode 100644 LICENSE create mode 100644 README.md create mode 100644 analysis_options.yaml create mode 100644 example/.gitignore create mode 100644 example/.metadata create mode 100644 example/README.md create mode 100644 example/analysis_options.yaml create mode 100644 example/lib/main.dart create mode 100644 example/linux/.gitignore create mode 100644 example/linux/CMakeLists.txt create mode 100644 example/linux/flutter/CMakeLists.txt create mode 100644 example/linux/flutter/generated_plugin_registrant.cc create mode 100644 example/linux/flutter/generated_plugin_registrant.h create mode 100644 example/linux/flutter/generated_plugins.cmake create mode 100644 example/linux/main.cc create mode 100644 example/linux/my_application.cc create mode 100644 example/linux/my_application.h create mode 100644 example/pubspec.lock create mode 100644 example/pubspec.yaml create mode 100644 example/test/widget_test.dart create mode 100644 example/web/favicon.png create mode 100644 example/web/icons/Icon-192.png create mode 100644 example/web/icons/Icon-512.png create mode 100644 example/web/icons/Icon-maskable-192.png create mode 100644 example/web/icons/Icon-maskable-512.png create mode 100644 example/web/index.html create mode 100644 example/web/manifest.json create mode 100644 lib/pixels.dart create mode 100644 lib/src/editable_pixel_image.dart create mode 100644 lib/src/pixel_color_picker.dart create mode 100644 lib/src/pixel_editor.dart create mode 100644 lib/src/pixel_image.dart create mode 100644 lib/src/pixel_palette.dart create mode 100644 pubspec.yaml create mode 100644 screenshot.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..96486fd --- /dev/null +++ b/.gitignore @@ -0,0 +1,30 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock. +/pubspec.lock +**/doc/api/ +.dart_tool/ +.packages +build/ diff --git a/.metadata b/.metadata new file mode 100644 index 0000000..6c08927 --- /dev/null +++ b/.metadata @@ -0,0 +1,10 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled and should not be manually edited. + +version: + revision: e3c29ec00c9c825c891d75054c63fcc46454dca1 + channel: stable + +project_type: package diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..286759e --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,45 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "pixels", + "request": "launch", + "type": "dart" + }, + { + "name": "pixels (profile mode)", + "request": "launch", + "type": "dart", + "flutterMode": "profile" + }, + { + "name": "pixels (release mode)", + "request": "launch", + "type": "dart", + "flutterMode": "release" + }, + { + "name": "example", + "cwd": "example", + "request": "launch", + "type": "dart" + }, + { + "name": "example (profile mode)", + "cwd": "example", + "request": "launch", + "type": "dart", + "flutterMode": "profile" + }, + { + "name": "example (release mode)", + "cwd": "example", + "request": "launch", + "type": "dart", + "flutterMode": "release" + } + ] +} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..41cc7d8 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,3 @@ +## 0.0.1 + +* TODO: Describe initial release. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..ba75c69 --- /dev/null +++ b/LICENSE @@ -0,0 +1 @@ +TODO: Add your license here. diff --git a/README.md b/README.md new file mode 100644 index 0000000..061fc21 --- /dev/null +++ b/README.md @@ -0,0 +1,43 @@ +# Pixels + +Pixels is a minimalistic pixel editor for Flutter. It also comes with a couple +of handy widgets for displaying and manipulating pixel images. + + +## Usage + +```dart +class MyHomePage extends StatefulWidget { + const MyHomePage({ + super.key, + }); + + @override + State createState() => _MyHomePageState(); +} + +class _MyHomePageState extends State { + final _controller = PixelImageController( + palette: const PixelPalette.rPlace(), + width: 64, + height: 64, + ); + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Colors.black, + body: Center( + child: PixelEditor( + controller: _controller, + ), + ), + ); + } +} +``` + +## Additional information + +This project is sponsored by [Serverpod](https://serverpod.dev) - the missing +server for Flutter. diff --git a/analysis_options.yaml b/analysis_options.yaml new file mode 100644 index 0000000..834db83 --- /dev/null +++ b/analysis_options.yaml @@ -0,0 +1,6 @@ +include: package:flutter_lints/flutter.yaml + +linter: + rules: + package_api_docs: true + public_member_api_docs: true \ No newline at end of file diff --git a/example/.gitignore b/example/.gitignore new file mode 100644 index 0000000..24476c5 --- /dev/null +++ b/example/.gitignore @@ -0,0 +1,44 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.packages +.pub-cache/ +.pub/ +/build/ + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release diff --git a/example/.metadata b/example/.metadata new file mode 100644 index 0000000..e27f5cc --- /dev/null +++ b/example/.metadata @@ -0,0 +1,45 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled. + +version: + revision: e3c29ec00c9c825c891d75054c63fcc46454dca1 + channel: stable + +project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: e3c29ec00c9c825c891d75054c63fcc46454dca1 + base_revision: e3c29ec00c9c825c891d75054c63fcc46454dca1 + - platform: android + create_revision: e3c29ec00c9c825c891d75054c63fcc46454dca1 + base_revision: e3c29ec00c9c825c891d75054c63fcc46454dca1 + - platform: ios + create_revision: e3c29ec00c9c825c891d75054c63fcc46454dca1 + base_revision: e3c29ec00c9c825c891d75054c63fcc46454dca1 + - platform: linux + create_revision: e3c29ec00c9c825c891d75054c63fcc46454dca1 + base_revision: e3c29ec00c9c825c891d75054c63fcc46454dca1 + - platform: macos + create_revision: e3c29ec00c9c825c891d75054c63fcc46454dca1 + base_revision: e3c29ec00c9c825c891d75054c63fcc46454dca1 + - platform: web + create_revision: e3c29ec00c9c825c891d75054c63fcc46454dca1 + base_revision: e3c29ec00c9c825c891d75054c63fcc46454dca1 + - platform: windows + create_revision: e3c29ec00c9c825c891d75054c63fcc46454dca1 + base_revision: e3c29ec00c9c825c891d75054c63fcc46454dca1 + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/example/README.md b/example/README.md new file mode 100644 index 0000000..190cc32 --- /dev/null +++ b/example/README.md @@ -0,0 +1,8 @@ +# Pixels Example + +This is an example of how to use the pixels package. + +## Getting Started + +Run by changing directory into the `example` folder. Then run `flutter create .` +followed by `flutter run`. \ No newline at end of file diff --git a/example/analysis_options.yaml b/example/analysis_options.yaml new file mode 100644 index 0000000..61b6c4d --- /dev/null +++ b/example/analysis_options.yaml @@ -0,0 +1,29 @@ +# This file configures the analyzer, which statically analyzes Dart code to +# check for errors, warnings, and lints. +# +# The issues identified by the analyzer are surfaced in the UI of Dart-enabled +# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be +# invoked from the command line by running `flutter analyze`. + +# The following line activates a set of recommended lints for Flutter apps, +# packages, and plugins designed to encourage good coding practices. +include: package:flutter_lints/flutter.yaml + +linter: + # The lint rules applied to this project can be customized in the + # section below to disable rules from the `package:flutter_lints/flutter.yaml` + # included above or to enable additional rules. A list of all available lints + # and their documentation is published at + # https://dart-lang.github.io/linter/lints/index.html. + # + # Instead of disabling a lint rule for the entire project in the + # section below, it can also be suppressed for a single line of code + # or a specific dart file by using the `// ignore: name_of_lint` and + # `// ignore_for_file: name_of_lint` syntax on the line or in the file + # producing the lint. + rules: + # avoid_print: false # Uncomment to disable the `avoid_print` rule + # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options diff --git a/example/lib/main.dart b/example/lib/main.dart new file mode 100644 index 0000000..0b2cb30 --- /dev/null +++ b/example/lib/main.dart @@ -0,0 +1,51 @@ +import 'package:flutter/material.dart'; +import 'package:pixels/pixels.dart'; + +void main() { + runApp(const MyApp()); +} + +class MyApp extends StatelessWidget { + const MyApp({super.key}); + + // This widget is the root of your application. + @override + Widget build(BuildContext context) { + return MaterialApp( + title: 'Pixels Demo', + theme: ThemeData( + primarySwatch: Colors.blue, + ), + home: const MyHomePage(), + ); + } +} + +class MyHomePage extends StatefulWidget { + const MyHomePage({ + super.key, + }); + + @override + State createState() => _MyHomePageState(); +} + +class _MyHomePageState extends State { + final _controller = PixelImageController( + palette: const PixelPalette.rPlace(), + width: 64, + height: 64, + ); + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Colors.black, + body: Center( + child: PixelEditor( + controller: _controller, + ), + ), + ); + } +} diff --git a/example/linux/.gitignore b/example/linux/.gitignore new file mode 100644 index 0000000..d3896c9 --- /dev/null +++ b/example/linux/.gitignore @@ -0,0 +1 @@ +flutter/ephemeral diff --git a/example/linux/CMakeLists.txt b/example/linux/CMakeLists.txt new file mode 100644 index 0000000..74c66dd --- /dev/null +++ b/example/linux/CMakeLists.txt @@ -0,0 +1,138 @@ +# Project-level configuration. +cmake_minimum_required(VERSION 3.10) +project(runner LANGUAGES CXX) + +# The name of the executable created for the application. Change this to change +# the on-disk name of your application. +set(BINARY_NAME "example") +# The unique GTK application identifier for this application. See: +# https://wiki.gnome.org/HowDoI/ChooseApplicationID +set(APPLICATION_ID "com.example.example") + +# Explicitly opt in to modern CMake behaviors to avoid warnings with recent +# versions of CMake. +cmake_policy(SET CMP0063 NEW) + +# Load bundled libraries from the lib/ directory relative to the binary. +set(CMAKE_INSTALL_RPATH "$ORIGIN/lib") + +# Root filesystem for cross-building. +if(FLUTTER_TARGET_PLATFORM_SYSROOT) + set(CMAKE_SYSROOT ${FLUTTER_TARGET_PLATFORM_SYSROOT}) + set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT}) + set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) + set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +endif() + +# Define build configuration options. +if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") +endif() + +# Compilation settings that should be applied to most targets. +# +# Be cautious about adding new options here, as plugins use this function by +# default. In most cases, you should add new options to specific targets instead +# of modifying this function. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_14) + target_compile_options(${TARGET} PRIVATE -Wall -Werror) + target_compile_options(${TARGET} PRIVATE "$<$>:-O3>") + target_compile_definitions(${TARGET} PRIVATE "$<$>:NDEBUG>") +endfunction() + +# Flutter library and tool build rules. +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# System-level dependencies. +find_package(PkgConfig REQUIRED) +pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) + +add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}") + +# Define the application target. To change its name, change BINARY_NAME above, +# not the value here, or `flutter run` will no longer work. +# +# Any new source files that you add to the application should be added here. +add_executable(${BINARY_NAME} + "main.cc" + "my_application.cc" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" +) + +# Apply the standard set of build settings. This can be removed for applications +# that need different build settings. +apply_standard_settings(${BINARY_NAME}) + +# Add dependency libraries. Add any application-specific dependencies here. +target_link_libraries(${BINARY_NAME} PRIVATE flutter) +target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK) + +# Run the Flutter tool portions of the build. This must not be removed. +add_dependencies(${BINARY_NAME} flutter_assemble) + +# Only the install-generated bundle's copy of the executable will launch +# correctly, since the resources must in the right relative locations. To avoid +# people trying to run the unbundled copy, put it in a subdirectory instead of +# the default top-level location. +set_target_properties(${BINARY_NAME} + PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run" +) + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) + + +# === Installation === +# By default, "installing" just makes a relocatable bundle in the build +# directory. +set(BUILD_BUNDLE_DIR "${PROJECT_BINARY_DIR}/bundle") +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) +endif() + +# Start with a clean build bundle directory every time. +install(CODE " + file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\") + " COMPONENT Runtime) + +set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") +set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib") + +install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES}) + install(FILES "${bundled_library}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endforeach(bundled_library) + +# Fully re-copy the assets directory on each build to avoid having stale files +# from a previous install. +set(FLUTTER_ASSET_DIR_NAME "flutter_assets") +install(CODE " + file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") + " COMPONENT Runtime) +install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" + DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) + +# Install the AOT library on non-Debug builds only. +if(NOT CMAKE_BUILD_TYPE MATCHES "Debug") + install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endif() diff --git a/example/linux/flutter/CMakeLists.txt b/example/linux/flutter/CMakeLists.txt new file mode 100644 index 0000000..d5bd016 --- /dev/null +++ b/example/linux/flutter/CMakeLists.txt @@ -0,0 +1,88 @@ +# This file controls Flutter-level build steps. It should not be edited. +cmake_minimum_required(VERSION 3.10) + +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. + +# Serves the same purpose as list(TRANSFORM ... PREPEND ...), +# which isn't available in 3.10. +function(list_prepend LIST_NAME PREFIX) + set(NEW_LIST "") + foreach(element ${${LIST_NAME}}) + list(APPEND NEW_LIST "${PREFIX}${element}") + endforeach(element) + set(${LIST_NAME} "${NEW_LIST}" PARENT_SCOPE) +endfunction() + +# === Flutter Library === +# System-level dependencies. +find_package(PkgConfig REQUIRED) +pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) +pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0) +pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0) + +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/libflutter_linux_gtk.so") + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) +set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) +set(AOT_LIBRARY "${PROJECT_DIR}/build/lib/libapp.so" PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "fl_basic_message_channel.h" + "fl_binary_codec.h" + "fl_binary_messenger.h" + "fl_dart_project.h" + "fl_engine.h" + "fl_json_message_codec.h" + "fl_json_method_codec.h" + "fl_message_codec.h" + "fl_method_call.h" + "fl_method_channel.h" + "fl_method_codec.h" + "fl_method_response.h" + "fl_plugin_registrar.h" + "fl_plugin_registry.h" + "fl_standard_message_codec.h" + "fl_standard_method_codec.h" + "fl_string_codec.h" + "fl_value.h" + "fl_view.h" + "flutter_linux.h" +) +list_prepend(FLUTTER_LIBRARY_HEADERS "${EPHEMERAL_DIR}/flutter_linux/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}") +target_link_libraries(flutter INTERFACE + PkgConfig::GTK + PkgConfig::GLIB + PkgConfig::GIO +) +add_dependencies(flutter flutter_assemble) + +# === Flutter tool backend === +# _phony_ is a non-existent file to force this command to run every time, +# since currently there's no way to get a full input/output list from the +# flutter tool. +add_custom_command( + OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} + ${CMAKE_CURRENT_BINARY_DIR}/_phony_ + COMMAND ${CMAKE_COMMAND} -E env + ${FLUTTER_TOOL_ENVIRONMENT} + "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh" + ${FLUTTER_TARGET_PLATFORM} ${CMAKE_BUILD_TYPE} + VERBATIM +) +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} +) diff --git a/example/linux/flutter/generated_plugin_registrant.cc b/example/linux/flutter/generated_plugin_registrant.cc new file mode 100644 index 0000000..e71a16d --- /dev/null +++ b/example/linux/flutter/generated_plugin_registrant.cc @@ -0,0 +1,11 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + + +void fl_register_plugins(FlPluginRegistry* registry) { +} diff --git a/example/linux/flutter/generated_plugin_registrant.h b/example/linux/flutter/generated_plugin_registrant.h new file mode 100644 index 0000000..e0f0a47 --- /dev/null +++ b/example/linux/flutter/generated_plugin_registrant.h @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void fl_register_plugins(FlPluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/example/linux/flutter/generated_plugins.cmake b/example/linux/flutter/generated_plugins.cmake new file mode 100644 index 0000000..2e1de87 --- /dev/null +++ b/example/linux/flutter/generated_plugins.cmake @@ -0,0 +1,23 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST +) + +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + +set(PLUGIN_BUNDLED_LIBRARIES) + +foreach(plugin ${FLUTTER_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin}) + target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) + list(APPEND PLUGIN_BUNDLED_LIBRARIES $) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) +endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/example/linux/main.cc b/example/linux/main.cc new file mode 100644 index 0000000..e7c5c54 --- /dev/null +++ b/example/linux/main.cc @@ -0,0 +1,6 @@ +#include "my_application.h" + +int main(int argc, char** argv) { + g_autoptr(MyApplication) app = my_application_new(); + return g_application_run(G_APPLICATION(app), argc, argv); +} diff --git a/example/linux/my_application.cc b/example/linux/my_application.cc new file mode 100644 index 0000000..0ba8f43 --- /dev/null +++ b/example/linux/my_application.cc @@ -0,0 +1,104 @@ +#include "my_application.h" + +#include +#ifdef GDK_WINDOWING_X11 +#include +#endif + +#include "flutter/generated_plugin_registrant.h" + +struct _MyApplication { + GtkApplication parent_instance; + char** dart_entrypoint_arguments; +}; + +G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION) + +// Implements GApplication::activate. +static void my_application_activate(GApplication* application) { + MyApplication* self = MY_APPLICATION(application); + GtkWindow* window = + GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application))); + + // Use a header bar when running in GNOME as this is the common style used + // by applications and is the setup most users will be using (e.g. Ubuntu + // desktop). + // If running on X and not using GNOME then just use a traditional title bar + // in case the window manager does more exotic layout, e.g. tiling. + // If running on Wayland assume the header bar will work (may need changing + // if future cases occur). + gboolean use_header_bar = TRUE; +#ifdef GDK_WINDOWING_X11 + GdkScreen* screen = gtk_window_get_screen(window); + if (GDK_IS_X11_SCREEN(screen)) { + const gchar* wm_name = gdk_x11_screen_get_window_manager_name(screen); + if (g_strcmp0(wm_name, "GNOME Shell") != 0) { + use_header_bar = FALSE; + } + } +#endif + if (use_header_bar) { + GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new()); + gtk_widget_show(GTK_WIDGET(header_bar)); + gtk_header_bar_set_title(header_bar, "example"); + gtk_header_bar_set_show_close_button(header_bar, TRUE); + gtk_window_set_titlebar(window, GTK_WIDGET(header_bar)); + } else { + gtk_window_set_title(window, "example"); + } + + gtk_window_set_default_size(window, 1280, 720); + gtk_widget_show(GTK_WIDGET(window)); + + g_autoptr(FlDartProject) project = fl_dart_project_new(); + fl_dart_project_set_dart_entrypoint_arguments(project, self->dart_entrypoint_arguments); + + FlView* view = fl_view_new(project); + gtk_widget_show(GTK_WIDGET(view)); + gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view)); + + fl_register_plugins(FL_PLUGIN_REGISTRY(view)); + + gtk_widget_grab_focus(GTK_WIDGET(view)); +} + +// Implements GApplication::local_command_line. +static gboolean my_application_local_command_line(GApplication* application, gchar*** arguments, int* exit_status) { + MyApplication* self = MY_APPLICATION(application); + // Strip out the first argument as it is the binary name. + self->dart_entrypoint_arguments = g_strdupv(*arguments + 1); + + g_autoptr(GError) error = nullptr; + if (!g_application_register(application, nullptr, &error)) { + g_warning("Failed to register: %s", error->message); + *exit_status = 1; + return TRUE; + } + + g_application_activate(application); + *exit_status = 0; + + return TRUE; +} + +// Implements GObject::dispose. +static void my_application_dispose(GObject* object) { + MyApplication* self = MY_APPLICATION(object); + g_clear_pointer(&self->dart_entrypoint_arguments, g_strfreev); + G_OBJECT_CLASS(my_application_parent_class)->dispose(object); +} + +static void my_application_class_init(MyApplicationClass* klass) { + G_APPLICATION_CLASS(klass)->activate = my_application_activate; + G_APPLICATION_CLASS(klass)->local_command_line = my_application_local_command_line; + G_OBJECT_CLASS(klass)->dispose = my_application_dispose; +} + +static void my_application_init(MyApplication* self) {} + +MyApplication* my_application_new() { + return MY_APPLICATION(g_object_new(my_application_get_type(), + "application-id", APPLICATION_ID, + "flags", G_APPLICATION_NON_UNIQUE, + nullptr)); +} diff --git a/example/linux/my_application.h b/example/linux/my_application.h new file mode 100644 index 0000000..72271d5 --- /dev/null +++ b/example/linux/my_application.h @@ -0,0 +1,18 @@ +#ifndef FLUTTER_MY_APPLICATION_H_ +#define FLUTTER_MY_APPLICATION_H_ + +#include + +G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, + GtkApplication) + +/** + * my_application_new: + * + * Creates a new Flutter-based application. + * + * Returns: a new #MyApplication. + */ +MyApplication* my_application_new(); + +#endif // FLUTTER_MY_APPLICATION_H_ diff --git a/example/pubspec.lock b/example/pubspec.lock new file mode 100644 index 0000000..9e21ca4 --- /dev/null +++ b/example/pubspec.lock @@ -0,0 +1,168 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + async: + dependency: transitive + description: + name: async + url: "https://pub.dartlang.org" + source: hosted + version: "2.9.0" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + characters: + dependency: transitive + description: + name: characters + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.1" + clock: + dependency: transitive + description: + name: clock + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.1" + collection: + dependency: transitive + description: + name: collection + url: "https://pub.dartlang.org" + source: hosted + version: "1.16.0" + cupertino_icons: + dependency: "direct main" + description: + name: cupertino_icons + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.5" + fake_async: + dependency: transitive + description: + name: fake_async + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.1" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.1" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + lints: + dependency: transitive + description: + name: lints + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.0" + matcher: + dependency: transitive + description: + name: matcher + url: "https://pub.dartlang.org" + source: hosted + version: "0.12.12" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + url: "https://pub.dartlang.org" + source: hosted + version: "0.1.5" + meta: + dependency: transitive + description: + name: meta + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.0" + path: + dependency: transitive + description: + name: path + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.2" + pixels: + dependency: "direct main" + description: + path: ".." + relative: true + source: path + version: "1.0.0" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_span: + dependency: transitive + description: + name: source_span + url: "https://pub.dartlang.org" + source: hosted + version: "1.9.0" + stack_trace: + dependency: transitive + description: + name: stack_trace + url: "https://pub.dartlang.org" + source: hosted + version: "1.10.0" + stream_channel: + dependency: transitive + description: + name: stream_channel + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + string_scanner: + dependency: transitive + description: + name: string_scanner + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.1" + term_glyph: + dependency: transitive + description: + name: term_glyph + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.1" + test_api: + dependency: transitive + description: + name: test_api + url: "https://pub.dartlang.org" + source: hosted + version: "0.4.12" + vector_math: + dependency: transitive + description: + name: vector_math + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.2" +sdks: + dart: ">=2.18.1 <3.0.0" + flutter: ">=3.0.0" diff --git a/example/pubspec.yaml b/example/pubspec.yaml new file mode 100644 index 0000000..c147e5d --- /dev/null +++ b/example/pubspec.yaml @@ -0,0 +1,93 @@ +name: example +description: A new Flutter project. + +# The following line prevents the package from being accidentally published to +# pub.dev using `flutter pub publish`. This is preferred for private packages. +publish_to: 'none' # Remove this line if you wish to publish to pub.dev + +# The following defines the version and build number for your application. +# A version number is three numbers separated by dots, like 1.2.43 +# followed by an optional build number separated by a +. +# Both the version and the builder number may be overridden in flutter +# build by specifying --build-name and --build-number, respectively. +# In Android, build-name is used as versionName while build-number used as versionCode. +# Read more about Android versioning at https://developer.android.com/studio/publish/versioning +# In iOS, build-name is used as CFBundleShortVersionString while build-number is used as CFBundleVersion. +# Read more about iOS versioning at +# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html +# In Windows, build-name is used as the major, minor, and patch parts +# of the product and file versions while build-number is used as the build suffix. +version: 1.0.0+1 + +environment: + sdk: '>=2.18.1 <3.0.0' + +# Dependencies specify other packages that your package needs in order to work. +# To automatically upgrade your package dependencies to the latest versions +# consider running `flutter pub upgrade --major-versions`. Alternatively, +# dependencies can be manually updated by changing the version numbers below to +# the latest version available on pub.dev. To see which dependencies have newer +# versions available, run `flutter pub outdated`. +dependencies: + flutter: + sdk: flutter + pixels: + path: .. + + + # The following adds the Cupertino Icons font to your application. + # Use with the CupertinoIcons class for iOS style icons. + cupertino_icons: ^1.0.2 + +dev_dependencies: + flutter_test: + sdk: flutter + + # The "flutter_lints" package below contains a set of recommended lints to + # encourage good coding practices. The lint set provided by the package is + # activated in the `analysis_options.yaml` file located at the root of your + # package. See that file for information about deactivating specific lint + # rules and activating additional ones. + flutter_lints: ^2.0.0 + +# For information on the generic Dart part of this file, see the +# following page: https://dart.dev/tools/pub/pubspec + +# The following section is specific to Flutter packages. +flutter: + + # The following line ensures that the Material Icons font is + # included with your application, so that you can use the icons in + # the material Icons class. + uses-material-design: true + + # To add assets to your application, add an assets section, like this: + # assets: + # - images/a_dot_burr.jpeg + # - images/a_dot_ham.jpeg + + # An image asset can refer to one or more resolution-specific "variants", see + # https://flutter.dev/assets-and-images/#resolution-aware + + # For details regarding adding assets from package dependencies, see + # https://flutter.dev/assets-and-images/#from-packages + + # To add custom fonts to your application, add a fonts section here, + # in this "flutter" section. Each entry in this list should have a + # "family" key with the font family name, and a "fonts" key with a + # list giving the asset and other descriptors for the font. For + # example: + # fonts: + # - family: Schyler + # fonts: + # - asset: fonts/Schyler-Regular.ttf + # - asset: fonts/Schyler-Italic.ttf + # style: italic + # - family: Trajan Pro + # fonts: + # - asset: fonts/TrajanPro.ttf + # - asset: fonts/TrajanPro_Bold.ttf + # weight: 700 + # + # For details regarding fonts from package dependencies, + # see https://flutter.dev/custom-fonts/#from-packages diff --git a/example/test/widget_test.dart b/example/test/widget_test.dart new file mode 100644 index 0000000..092d222 --- /dev/null +++ b/example/test/widget_test.dart @@ -0,0 +1,30 @@ +// This is a basic Flutter widget test. +// +// To perform an interaction with a widget in your test, use the WidgetTester +// utility in the flutter_test package. For example, you can send tap and scroll +// gestures. You can also use WidgetTester to find child widgets in the widget +// tree, read text, and verify that the values of widget properties are correct. + +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import 'package:example/main.dart'; + +void main() { + testWidgets('Counter increments smoke test', (WidgetTester tester) async { + // Build our app and trigger a frame. + await tester.pumpWidget(const MyApp()); + + // Verify that our counter starts at 0. + expect(find.text('0'), findsOneWidget); + expect(find.text('1'), findsNothing); + + // Tap the '+' icon and trigger a frame. + await tester.tap(find.byIcon(Icons.add)); + await tester.pump(); + + // Verify that our counter has incremented. + expect(find.text('0'), findsNothing); + expect(find.text('1'), findsOneWidget); + }); +} diff --git a/example/web/favicon.png b/example/web/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..8aaa46ac1ae21512746f852a42ba87e4165dfdd1 GIT binary patch literal 917 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0X7 zltGxWVyS%@P(fs7NJL45ua8x7ey(0(N`6wRUPW#JP&EUCO@$SZnVVXYs8ErclUHn2 zVXFjIVFhG^g!Ppaz)DK8ZIvQ?0~DO|i&7O#^-S~(l1AfjnEK zjFOT9D}DX)@^Za$W4-*MbbUihOG|wNBYh(yU7!lx;>x^|#0uTKVr7USFmqf|i<65o z3raHc^AtelCMM;Vme?vOfh>Xph&xL%(-1c06+^uR^q@XSM&D4+Kp$>4P^%3{)XKjo zGZknv$b36P8?Z_gF{nK@`XI}Z90TzwSQO}0J1!f2c(B=V`5aP@1P1a|PZ!4!3&Gl8 zTYqUsf!gYFyJnXpu0!n&N*SYAX-%d(5gVjrHJWqXQshj@!Zm{!01WsQrH~9=kTxW#6SvuapgMqt>$=j#%eyGrQzr zP{L-3gsMA^$I1&gsBAEL+vxi1*Igl=8#8`5?A-T5=z-sk46WA1IUT)AIZHx1rdUrf zVJrJn<74DDw`j)Ki#gt}mIT-Q`XRa2-jQXQoI%w`nb|XblvzK${ZzlV)m-XcwC(od z71_OEC5Bt9GEXosOXaPTYOia#R4ID2TiU~`zVMl08TV_C%DnU4^+HE>9(CE4D6?Fz oujB08i7adh9xk7*FX66dWH6F5TM;?E2b5PlUHx3vIVCg!0Dx9vYXATM literal 0 HcmV?d00001 diff --git a/example/web/icons/Icon-192.png b/example/web/icons/Icon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..b749bfef07473333cf1dd31e9eed89862a5d52aa GIT binary patch literal 5292 zcmZ`-2T+sGz6~)*FVZ`aW+(v>MIm&M-g^@e2u-B-DoB?qO+b1Tq<5uCCv>ESfRum& zp%X;f!~1{tzL__3=gjVJ=j=J>+nMj%ncXj1Q(b|Ckbw{Y0FWpt%4y%$uD=Z*c-x~o zE;IoE;xa#7Ll5nj-e4CuXB&G*IM~D21rCP$*xLXAK8rIMCSHuSu%bL&S3)8YI~vyp@KBu9Ph7R_pvKQ@xv>NQ`dZp(u{Z8K3yOB zn7-AR+d2JkW)KiGx0hosml;+eCXp6+w%@STjFY*CJ?udJ64&{BCbuebcuH;}(($@@ znNlgBA@ZXB)mcl9nbX#F!f_5Z=W>0kh|UVWnf!At4V*LQP%*gPdCXd6P@J4Td;!Ur z<2ZLmwr(NG`u#gDEMP19UcSzRTL@HsK+PnIXbVBT@oHm53DZr?~V(0{rsalAfwgo zEh=GviaqkF;}F_5-yA!1u3!gxaR&Mj)hLuj5Q-N-@Lra{%<4ONja8pycD90&>yMB` zchhd>0CsH`^|&TstH-8+R`CfoWqmTTF_0?zDOY`E`b)cVi!$4xA@oO;SyOjJyP^_j zx^@Gdf+w|FW@DMdOi8=4+LJl$#@R&&=UM`)G!y%6ZzQLoSL%*KE8IO0~&5XYR9 z&N)?goEiWA(YoRfT{06&D6Yuu@Qt&XVbuW@COb;>SP9~aRc+z`m`80pB2o%`#{xD@ zI3RAlukL5L>px6b?QW1Ac_0>ew%NM!XB2(H+1Y3AJC?C?O`GGs`331Nd4ZvG~bMo{lh~GeL zSL|tT*fF-HXxXYtfu5z+T5Mx9OdP7J4g%@oeC2FaWO1D{=NvL|DNZ}GO?O3`+H*SI z=grGv=7dL{+oY0eJFGO!Qe(e2F?CHW(i!!XkGo2tUvsQ)I9ev`H&=;`N%Z{L zO?vV%rDv$y(@1Yj@xfr7Kzr<~0{^T8wM80xf7IGQF_S-2c0)0D6b0~yD7BsCy+(zL z#N~%&e4iAwi4F$&dI7x6cE|B{f@lY5epaDh=2-(4N05VO~A zQT3hanGy_&p+7Fb^I#ewGsjyCEUmSCaP6JDB*=_()FgQ(-pZ28-{qx~2foO4%pM9e z*_63RT8XjgiaWY|*xydf;8MKLd{HnfZ2kM%iq}fstImB-K6A79B~YoPVa@tYN@T_$ zea+9)<%?=Fl!kd(Y!G(-o}ko28hg2!MR-o5BEa_72uj7Mrc&{lRh3u2%Y=Xk9^-qa zBPWaD=2qcuJ&@Tf6ue&)4_V*45=zWk@Z}Q?f5)*z)-+E|-yC4fs5CE6L_PH3=zI8p z*Z3!it{1e5_^(sF*v=0{`U9C741&lub89gdhKp|Y8CeC{_{wYK-LSbp{h)b~9^j!s z7e?Y{Z3pZv0J)(VL=g>l;<}xk=T*O5YR|hg0eg4u98f2IrA-MY+StQIuK-(*J6TRR z|IM(%uI~?`wsfyO6Tgmsy1b3a)j6M&-jgUjVg+mP*oTKdHg?5E`!r`7AE_#?Fc)&a z08KCq>Gc=ne{PCbRvs6gVW|tKdcE1#7C4e`M|j$C5EYZ~Y=jUtc zj`+?p4ba3uy7><7wIokM79jPza``{Lx0)zGWg;FW1^NKY+GpEi=rHJ+fVRGfXO zPHV52k?jxei_!YYAw1HIz}y8ZMwdZqU%ESwMn7~t zdI5%B;U7RF=jzRz^NuY9nM)&<%M>x>0(e$GpU9th%rHiZsIT>_qp%V~ILlyt^V`=d z!1+DX@ah?RnB$X!0xpTA0}lN@9V-ePx>wQ?-xrJr^qDlw?#O(RsXeAvM%}rg0NT#t z!CsT;-vB=B87ShG`GwO;OEbeL;a}LIu=&@9cb~Rsx(ZPNQ!NT7H{@j0e(DiLea>QD zPmpe90gEKHEZ8oQ@6%E7k-Ptn#z)b9NbD@_GTxEhbS+}Bb74WUaRy{w;E|MgDAvHw zL)ycgM7mB?XVh^OzbC?LKFMotw3r@i&VdUV%^Efdib)3@soX%vWCbnOyt@Y4swW925@bt45y0HY3YI~BnnzZYrinFy;L?2D3BAL`UQ zEj))+f>H7~g8*VuWQ83EtGcx`hun$QvuurSMg3l4IP8Fe`#C|N6mbYJ=n;+}EQm;< z!!N=5j1aAr_uEnnzrEV%_E|JpTb#1p1*}5!Ce!R@d$EtMR~%9# zd;h8=QGT)KMW2IKu_fA_>p_und#-;Q)p%%l0XZOXQicfX8M~7?8}@U^ihu;mizj)t zgV7wk%n-UOb z#!P5q?Ex+*Kx@*p`o$q8FWL*E^$&1*!gpv?Za$YO~{BHeGY*5%4HXUKa_A~~^d z=E*gf6&+LFF^`j4$T~dR)%{I)T?>@Ma?D!gi9I^HqvjPc3-v~=qpX1Mne@*rzT&Xw zQ9DXsSV@PqpEJO-g4A&L{F&;K6W60D!_vs?Vx!?w27XbEuJJP&);)^+VF1nHqHBWu z^>kI$M9yfOY8~|hZ9WB!q-9u&mKhEcRjlf2nm_@s;0D#c|@ED7NZE% zzR;>P5B{o4fzlfsn3CkBK&`OSb-YNrqx@N#4CK!>bQ(V(D#9|l!e9(%sz~PYk@8zt zPN9oK78&-IL_F zhsk1$6p;GqFbtB^ZHHP+cjMvA0(LqlskbdYE_rda>gvQLTiqOQ1~*7lg%z*&p`Ry& zRcG^DbbPj_jOKHTr8uk^15Boj6>hA2S-QY(W-6!FIq8h$<>MI>PYYRenQDBamO#Fv zAH5&ImqKBDn0v5kb|8i0wFhUBJTpT!rB-`zK)^SNnRmLraZcPYK7b{I@+}wXVdW-{Ps17qdRA3JatEd?rPV z4@}(DAMf5EqXCr4-B+~H1P#;t@O}B)tIJ(W6$LrK&0plTmnPpb1TKn3?f?Kk``?D+ zQ!MFqOX7JbsXfQrz`-M@hq7xlfNz;_B{^wbpG8des56x(Q)H)5eLeDwCrVR}hzr~= zM{yXR6IM?kXxauLza#@#u?Y|o;904HCqF<8yT~~c-xyRc0-vxofnxG^(x%>bj5r}N zyFT+xnn-?B`ohA>{+ZZQem=*Xpqz{=j8i2TAC#x-m;;mo{{sLB_z(UoAqD=A#*juZ zCv=J~i*O8;F}A^Wf#+zx;~3B{57xtoxC&j^ie^?**T`WT2OPRtC`xj~+3Kprn=rVM zVJ|h5ux%S{dO}!mq93}P+h36mZ5aZg1-?vhL$ke1d52qIiXSE(llCr5i=QUS?LIjc zV$4q=-)aaR4wsrQv}^shL5u%6;`uiSEs<1nG^?$kl$^6DL z43CjY`M*p}ew}}3rXc7Xck@k41jx}c;NgEIhKZ*jsBRZUP-x2cm;F1<5$jefl|ppO zmZd%%?gMJ^g9=RZ^#8Mf5aWNVhjAS^|DQO+q$)oeob_&ZLFL(zur$)); zU19yRm)z<4&4-M}7!9+^Wl}Uk?`S$#V2%pQ*SIH5KI-mn%i;Z7-)m$mN9CnI$G7?# zo`zVrUwoSL&_dJ92YhX5TKqaRkfPgC4=Q&=K+;_aDs&OU0&{WFH}kKX6uNQC6%oUH z2DZa1s3%Vtk|bglbxep-w)PbFG!J17`<$g8lVhqD2w;Z0zGsh-r zxZ13G$G<48leNqR!DCVt9)@}(zMI5w6Wo=N zpP1*3DI;~h2WDWgcKn*f!+ORD)f$DZFwgKBafEZmeXQMAsq9sxP9A)7zOYnkHT9JU zRA`umgmP9d6=PHmFIgx=0$(sjb>+0CHG)K@cPG{IxaJ&Ueo8)0RWgV9+gO7+Bl1(F z7!BslJ2MP*PWJ;x)QXbR$6jEr5q3 z(3}F@YO_P1NyTdEXRLU6fp?9V2-S=E+YaeLL{Y)W%6`k7$(EW8EZSA*(+;e5@jgD^I zaJQ2|oCM1n!A&-8`;#RDcZyk*+RPkn_r8?Ak@agHiSp*qFNX)&i21HE?yuZ;-C<3C zwJGd1lx5UzViP7sZJ&|LqH*mryb}y|%AOw+v)yc`qM)03qyyrqhX?ub`Cjwx2PrR! z)_z>5*!*$x1=Qa-0uE7jy0z`>|Ni#X+uV|%_81F7)b+nf%iz=`fF4g5UfHS_?PHbr zB;0$bK@=di?f`dS(j{l3-tSCfp~zUuva+=EWxJcRfp(<$@vd(GigM&~vaYZ0c#BTs z3ijkxMl=vw5AS&DcXQ%eeKt!uKvh2l3W?&3=dBHU=Gz?O!40S&&~ei2vg**c$o;i89~6DVns zG>9a*`k5)NI9|?W!@9>rzJ;9EJ=YlJTx1r1BA?H`LWijk(rTax9(OAu;q4_wTj-yj z1%W4GW&K4T=uEGb+E!>W0SD_C0RR91 literal 0 HcmV?d00001 diff --git a/example/web/icons/Icon-512.png b/example/web/icons/Icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..88cfd48dff1169879ba46840804b412fe02fefd6 GIT binary patch literal 8252 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 literal 0 HcmV?d00001 diff --git a/example/web/icons/Icon-maskable-192.png b/example/web/icons/Icon-maskable-192.png new file mode 100644 index 0000000000000000000000000000000000000000..eb9b4d76e525556d5d89141648c724331630325d GIT binary patch literal 5594 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 X>c!)3PgKfL&lX^$Z>Cpu&6)6jvi^Z! literal 0 HcmV?d00001 diff --git a/example/web/icons/Icon-maskable-512.png b/example/web/icons/Icon-maskable-512.png new file mode 100644 index 0000000000000000000000000000000000000000..d69c56691fbdb0b7efa65097c7cc1edac12a6d3e GIT binary patch literal 20998 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 MPgg&ebxsLQ025IeI{*Lx literal 0 HcmV?d00001 diff --git a/example/web/index.html b/example/web/index.html new file mode 100644 index 0000000..41b3bc3 --- /dev/null +++ b/example/web/index.html @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + example + + + + + + + + + + diff --git a/example/web/manifest.json b/example/web/manifest.json new file mode 100644 index 0000000..096edf8 --- /dev/null +++ b/example/web/manifest.json @@ -0,0 +1,35 @@ +{ + "name": "example", + "short_name": "example", + "start_url": ".", + "display": "standalone", + "background_color": "#0175C2", + "theme_color": "#0175C2", + "description": "A new Flutter project.", + "orientation": "portrait-primary", + "prefer_related_applications": false, + "icons": [ + { + "src": "icons/Icon-192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "icons/Icon-512.png", + "sizes": "512x512", + "type": "image/png" + }, + { + "src": "icons/Icon-maskable-192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "icons/Icon-maskable-512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ] +} diff --git a/lib/pixels.dart b/lib/pixels.dart new file mode 100644 index 0000000..46e319b --- /dev/null +++ b/lib/pixels.dart @@ -0,0 +1,7 @@ +library pixels; + +export 'src/editable_pixel_image.dart'; +export 'src/pixel_color_picker.dart'; +export 'src/pixel_editor.dart'; +export 'src/pixel_image.dart'; +export 'src/pixel_palette.dart'; diff --git a/lib/src/editable_pixel_image.dart b/lib/src/editable_pixel_image.dart new file mode 100644 index 0000000..8a74f9c --- /dev/null +++ b/lib/src/editable_pixel_image.dart @@ -0,0 +1,182 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:pixels/src/pixel_image.dart'; +import 'package:pixels/src/pixel_palette.dart'; + +/// A [PixelImage] that can be manipulated using the [PixelImageController]. +class EditablePixelImage extends StatefulWidget { + /// The controller controlling this image. + final PixelImageController controller; + + /// Callback for when a pixel is tapped on the image. + final void Function(PixelTapDetails details)? onTappedPixel; + + /// Creates a new [EditablePixelImage]. + const EditablePixelImage({ + required this.controller, + this.onTappedPixel, + super.key, + }); + + @override + State createState() => _EditablePixelImageState(); +} + +class _EditablePixelImageState extends State { + @override + void initState() { + super.initState(); + widget.controller.addListener(_pixelValueChanged); + } + + @override + void dispose() { + super.dispose(); + widget.controller.removeListener(_pixelValueChanged); + } + + void _pixelValueChanged() { + setState(() {}); + } + + @override + Widget build(BuildContext context) { + return AspectRatio( + aspectRatio: widget.controller.width / widget.controller.height, + child: LayoutBuilder(builder: (context, constraints) { + return GestureDetector( + onTapDown: (details) { + var xLocal = details.localPosition.dx; + var yLocal = details.localPosition.dy; + + var x = widget.controller.width * xLocal ~/ constraints.maxWidth; + var y = widget.controller.height * yLocal ~/ constraints.maxHeight; + + if (widget.onTappedPixel != null) { + widget.onTappedPixel!( + PixelTapDetails._( + x: x, + y: y, + index: y * widget.controller.width + x, + localPosition: details.localPosition, + ), + ); + } + }, + child: PixelImage( + width: widget.controller.value.width, + height: widget.controller.value.height, + palette: widget.controller.value.palette, + pixels: widget.controller.value.pixels, + ), + ); + }), + ); + } +} + +/// Provides details about a tapped pixel on an [EditablePixelImage]. +class PixelTapDetails { + /// The x location of the pixel. + final int x; + + /// The y location of the pixel. + final int y; + + /// The index of the pixel in the [ByteData] of the image. + final int index; + + /// Position in coordinates local to the Widget itself. + final Offset localPosition; + + const PixelTapDetails._({ + required this.x, + required this.y, + required this.index, + required this.localPosition, + }); +} + +class _PixelImageValue { + final ByteData pixels; + final PixelPalette palette; + final int width; + final int height; + + const _PixelImageValue({ + required this.pixels, + required this.palette, + required this.width, + required this.height, + }); +} + +/// Controller for an [EditablePixelImage]. Use it to listen to taps on the +/// image or to set or replace pixels in the image. +class PixelImageController extends ValueNotifier<_PixelImageValue> { + late Uint8List _pixelBytes; + + /// The palette of the [EditablePixelImage] controlled by the controller. + final PixelPalette palette; + + /// Height in pixels of the [EditablePixelImage] controlled by the controller. + final int height; + + /// Width in pixels of the [EditablePixelImage] controlled by the controller. + final int width; + + /// Callback when a pixel is tapped on the [EditablePixelImage] controlled by + /// the controller. + final void Function(PixelTapDetails details)? onTappedPixel; + + /// Creates a new [PixelImageController]. + PixelImageController({ + ByteData? pixels, + required this.palette, + required this.width, + required this.height, + this.onTappedPixel, + }) : super(_PixelImageValue( + pixels: pixels ?? _emptyPixels(), + palette: palette, + width: width, + height: height, + )) { + _pixelBytes = value.pixels.buffer.asUint8List(); + assert(_pixelBytes.length == width * height); + } + + static ByteData _emptyPixels() { + var bytes = Uint8List(64 * 64); + return bytes.buffer.asByteData(); + } + + /// Gets or sets the [ByteData] of the [EditablePixelImage] controlled by the + /// controller. + ByteData get pixels => _pixelBytes.buffer.asByteData(); + + set pixels(ByteData pixels) { + assert(pixels.lengthInBytes == width * height); + _update(); + } + + /// Sets a specific pixel in teh [EditablePixelImage] controlled by the + /// controller. + void setPixel({ + required int pixel, + required int x, + required int y, + }) { + _pixelBytes[y * width + x] = pixel; + _update(); + } + + void _update() { + value = _PixelImageValue( + pixels: pixels, + palette: palette, + width: width, + height: height, + ); + } +} diff --git a/lib/src/pixel_color_picker.dart b/lib/src/pixel_color_picker.dart new file mode 100644 index 0000000..dd0b1da --- /dev/null +++ b/lib/src/pixel_color_picker.dart @@ -0,0 +1,101 @@ +import 'package:flutter/material.dart'; +import 'package:pixels/src/pixel_palette.dart'; + +/// A [PixelPalette] color picker. It can be displayed vertically or +/// horizontally depending on the [direction]. +class PixelColorPicker extends StatelessWidget { + /// The palette used by the color picker. + final PixelPalette palette; + + /// Defines if the color picker should be displayed horizontally or + /// vertically. + final Axis direction; + + /// The currently selected index. + final int selectedIndex; + + /// A callback for when the user picks another color index. + final void Function(int index) onChanged; + + /// The width or height (depending on it's direction) of the color picker. + final double crossAxisWidth; + + /// Creates a new [PixelColorPicker]. + const PixelColorPicker({ + required this.selectedIndex, + required this.onChanged, + required this.palette, + this.direction = Axis.horizontal, + this.crossAxisWidth = 32.0, + super.key, + }); + + @override + Widget build(BuildContext context) { + return SizedBox( + width: direction == Axis.vertical ? crossAxisWidth : null, + height: direction == Axis.horizontal ? crossAxisWidth : null, + child: Flex( + direction: direction, + mainAxisSize: MainAxisSize.max, + children: [ + for (var i = 0; i < palette.colors.length; i++) + Expanded( + flex: 1, + child: _PixelColorPickerWell( + index: i, + palette: palette, + selected: selectedIndex == i, + onTap: () { + onChanged(i); + }, + ), + ) + ], + ), + ); + } +} + +class _PixelColorPickerWell extends StatelessWidget { + final int index; + final PixelPalette palette; + final bool selected; + final VoidCallback onTap; + + const _PixelColorPickerWell({ + required this.index, + required this.palette, + required this.selected, + required this.onTap, + }); + + @override + Widget build(BuildContext context) { + var color = palette.colors[index]; + + return GestureDetector( + onTap: onTap, + child: Container( + decoration: BoxDecoration( + color: color, + border: selected + ? Border.all( + width: 3, + color: Colors.white, + ) + : null, + boxShadow: selected + ? [ + const BoxShadow( + color: Colors.black54, + offset: Offset(0, 1), + blurRadius: 2, + ) + ] + : null, + ), + ), + ); + } +} diff --git a/lib/src/pixel_editor.dart b/lib/src/pixel_editor.dart new file mode 100644 index 0000000..458301e --- /dev/null +++ b/lib/src/pixel_editor.dart @@ -0,0 +1,87 @@ +import 'package:flutter/material.dart'; +import 'package:pixels/src/editable_pixel_image.dart'; +import 'package:pixels/src/pixel_color_picker.dart'; + +/// A pixel editor widget where the colors and dimensions are specified in the +/// [controller]. Whenver a pixel is set, [onSetPixel] is called. The pixel +/// editor displays a pixel editing area and a palette where colors can be +/// choosen. +class PixelEditor extends StatefulWidget { + /// The controller specifying the drawing area and palette of the editor. + final PixelImageController controller; + + /// A callback for when a new pixel is set. + final void Function(SetPixelDetails)? onSetPixel; + + /// Creates a new [PixelEditor]. + const PixelEditor({ + required this.controller, + this.onSetPixel, + super.key, + }); + + @override + State createState() => _PixelEditorState(); +} + +class _PixelEditorState extends State { + int _selectedColor = 0; + + @override + void initState() { + super.initState(); + } + + @override + Widget build(BuildContext context) { + return LayoutBuilder(builder: (context, constraints) { + var isHorizontal = constraints.maxWidth > constraints.maxHeight; + + return Flex( + direction: isHorizontal ? Axis.horizontal : Axis.vertical, + mainAxisSize: MainAxisSize.min, + children: [ + EditablePixelImage( + controller: widget.controller, + onTappedPixel: (details) { + widget.controller.setPixel( + pixel: _selectedColor, + x: details.x, + y: details.y, + ); + if (widget.onSetPixel != null) { + widget.onSetPixel!( + SetPixelDetails._( + tapDetails: details, + colorIndex: _selectedColor, + ), + ); + } + }, + ), + PixelColorPicker( + direction: isHorizontal ? Axis.vertical : Axis.horizontal, + palette: widget.controller.palette, + selectedIndex: _selectedColor, + onChanged: (index) { + setState(() { + _selectedColor = index; + }); + }, + ), + ], + ); + }); + } +} + +/// Details of a newly set pixel. +class SetPixelDetails { + /// Information about where the pixel is located. + final PixelTapDetails tapDetails; + + /// The newly set color index of the pixel. + final int colorIndex; + + SetPixelDetails._({required this.tapDetails, required this.colorIndex}); +} diff --git a/lib/src/pixel_image.dart b/lib/src/pixel_image.dart new file mode 100644 index 0000000..471654e --- /dev/null +++ b/lib/src/pixel_image.dart @@ -0,0 +1,111 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:pixels/src/pixel_palette.dart'; +import 'dart:ui' as ui; + +/// Displays a pixellated image using the data provided in [pixels], where each +/// byte is mapped to a color in the [palette]. The numer of horizontal and +/// vertical pixels are defined by [width] and [height]. +class PixelImage extends StatefulWidget { + /// Width in pixels. + final int width; + + /// Height in pixels. + final int height; + + /// The palette used by this image. + final PixelPalette palette; + + /// The [ByteData] representing the pixels in the image. Each byte corresponds + /// to one pixel. + final ByteData pixels; + + /// Creates a new [PixelImage]. + const PixelImage({ + required this.width, + required this.height, + required this.palette, + required this.pixels, + super.key, + }); + + @override + State createState() => _PixelImageState(); +} + +class _PixelImageState extends State { + ui.Image? _uiImage; + + @override + void initState() { + super.initState(); + _updateUIImage(); + } + + Future _updateUIImage() async { + assert(widget.pixels.lengthInBytes == widget.width * widget.height); + + var dstImageBytes = Uint8List(widget.width * widget.height * 4); + + var srcPixels = widget.pixels.buffer.asUint8List(); + + // Iterate over all pixels. + for (var i = 0; i < widget.width * widget.height; i++) { + var color = widget.palette.colors[srcPixels[i]]; + var r = color.red; + var g = color.green; + var b = color.blue; + var a = color.alpha; + + dstImageBytes[i * 4 + 0] = r; + dstImageBytes[i * 4 + 1] = g; + dstImageBytes[i * 4 + 2] = b; + dstImageBytes[i * 4 + 3] = a; + } + + var immutableBuffer = await ui.ImmutableBuffer.fromUint8List(dstImageBytes); + var imageDescriptor = ui.ImageDescriptor.raw( + immutableBuffer, + width: widget.width, + height: widget.height, + pixelFormat: ui.PixelFormat.rgba8888, + ); + var codec = await imageDescriptor.instantiateCodec( + targetWidth: widget.width, + targetHeight: widget.height, + ); + + var frameInfo = await codec.getNextFrame(); + codec.dispose(); + immutableBuffer.dispose(); + imageDescriptor.dispose(); + + _uiImage = frameInfo.image; + setState(() {}); + } + + @override + Widget build(BuildContext context) { + return AspectRatio( + aspectRatio: widget.width / widget.height, + child: _uiImage == null + ? null + : RawImage( + image: _uiImage, + fit: BoxFit.fill, + filterQuality: FilterQuality.none, + ), + ); + } + + @override + void didUpdateWidget(covariant PixelImage oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.width != widget.width || oldWidget.height != widget.height) { + // If the image changes dimension, we don't want to risk showing the old + // image until the new one is prepared. + _uiImage = null; + } + _updateUIImage(); + } +} diff --git a/lib/src/pixel_palette.dart b/lib/src/pixel_palette.dart new file mode 100644 index 0000000..a6952f4 --- /dev/null +++ b/lib/src/pixel_palette.dart @@ -0,0 +1,52 @@ +import 'package:flutter/material.dart'; + +/// An indexed palette where each index of the [colors] list represents a color. +class PixelPalette { + /// List of colors in the palette. + final List colors; + + /// Creates a new [PixelPalette] with the provided colors. + const PixelPalette({required this.colors}); + + /// A [PixelPalette] with the colors used on Commodore 64. + const PixelPalette.c64() + : colors = const [ + Color(0xFF000000), + Color(0xFFFFFFFF), + Color(0xFF880000), + Color(0xFFAAFFEE), + Color(0xFFCC44CC), + Color(0xFF00CC55), + Color(0xFF0000AA), + Color(0xFFEEEE77), + Color(0xFFDD8855), + Color(0xFF664400), + Color(0xFFFF7777), + Color(0xFF333333), + Color(0xFF777777), + Color(0xFFAAFF66), + Color(0xFF0088FF), + Color(0xFFBBBBBB), + ]; + + /// A [PixelPalette] with the colors used by r/place. + const PixelPalette.rPlace() + : colors = const [ + Color(0xFFFFFFFF), + Color(0xFFE4E4E4), + Color(0xFF888888), + Color(0xFF222222), + Color(0xFFFFA7D1), + Color(0xFFE50000), + Color(0xFFE59500), + Color(0xFFA06A42), + Color(0xFFE5D900), + Color(0xFF94E044), + Color(0xFF02BE01), + Color(0xFF00D3DD), + Color(0xFF0083C7), + Color(0xFF0000EA), + Color(0xFFCF6EE4), + Color(0xFF820080), + ]; +} diff --git a/pubspec.yaml b/pubspec.yaml new file mode 100644 index 0000000..268808f --- /dev/null +++ b/pubspec.yaml @@ -0,0 +1,19 @@ +name: pixels +description: Minimalistic pixel editor for Flutter. +version: 1.0.0 +homepage: + +environment: + sdk: '>=2.18.1 <3.0.0' + flutter: ">=3.0.0" + +dependencies: + flutter: + sdk: flutter + +dev_dependencies: + flutter_test: + sdk: flutter + flutter_lints: ^2.0.0 + +flutter: diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..53e7dcce9d5773382f1054931de61353f6228ad6 GIT binary patch literal 291960 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�K|_ALJSDb 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 WtM|@5oAMJl4(>m?uVl}OYyS%j)