Read more here
This app was build using flutter.
Read more about here.
For generating the *.g.dart and *.freezed.dart files use the flutter pub run build_runner build command.
The code for this app is stored in the lib directory.
lib
- actions
- api
- bloc
- cubits
- dialogs
- embed
- handlers
- helpers
- l10n
- models
- selections
- services
- settings
- views
- visualizer
- widgets
- main.dart
- setup_web.dart
- setup.dart
- theme.dart
- view_painter.dart- The
actionsdirectory has all shortcuts that can be used in the app. - The
apidirectory stores useful functions for the app. Some functions are separated between html (web) and io (native platforms). - The
blocdirectory stores the save system of the app. In thedocument_bloc.dartfile, you can see all handlers to the events that are defined in theapi/protocol/event.dartfile. Thedocument_state.dartfile stores all states that the app can have. - The
cubitsdirectory stores small state systems that are not necessarily associated with the document. Here you also find the position and settings states. - The
dialogsdirectory stores all ui for the dialogs that can be opened in the app. For example the file system dialog or the open dialog. - The
embeddirectory handles all events required for the embedding mode. - The
handlersdirectory stores all gesture handlers for the tools. Here it is defined that for example thePenToolcreates aPenElementwhen the user starts drawing. - The
helpersdirectory stores all helper functions (extensions) that simplify the usage of base classes, like theRectclass. - The
l10ndirectory stores all the strings and translations that are used in the app. Please only edit theapp_en.arbfile, the other files gets updated by Crowdin. - The
modelsdirectory stores all app specific models that are not general to be added in theapidirectory. - The
selectionsdirectory defines the ui for all elements and tools if they are selected. - The
servicesdirectory defines all services that runs in the background while using the app. - The
settingsdirectory stores all the settings pages ui that are used in the app. - The
viewsdirectory stores all the ui views that are used in the document page. For example the appbar, the toolbar or the main view. - The
visualizerdirectory are helper methods that stores all converters between the models and the ui. - The
widgetsdirectory stores all general widget that can be reused inside the app. For example the context menu. - The
main.dartfile is the entry point of the app. Here the app is started and starts all other files. Here the routes are defined and the app is initialized. - The
setup_web.dartfile is used to define the web specific settings. Here the context menu gets disabled. - The
setup.dartfile is used to define the general settings. Here the licenses is defined. - The
theme.dartfile is used to define the general theme of the app. Here the colors and the text styles are defined of the classic theme and all themes gets fetched from here.
To rebuild the splash screen use:
flutter pub run flutter_native_splash:create --path flutter_native_splash-production.yaml