├── .gitattributes
├── .github
├── ISSUE_TEMPLATE
│ └── i-have-a-problem-with-rive-flutter.md
└── workflows
│ ├── add_to_project.yml
│ └── tests.yaml
├── .gitignore
├── .lua-format
├── .metadata
├── .rive_head
├── .vscode
└── launch.json
├── CHANGELOG.md
├── LICENSE
├── README.md
├── VERSION
├── analysis_options.yaml
├── example
├── .gitignore
├── .metadata
├── README.md
├── analysis_options.yaml
├── android
│ ├── .gitignore
│ ├── app
│ │ ├── build.gradle
│ │ └── src
│ │ │ ├── debug
│ │ │ └── AndroidManifest.xml
│ │ │ ├── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── kotlin
│ │ │ │ ├── app
│ │ │ │ │ └── rive
│ │ │ │ │ │ └── rive_example
│ │ │ │ │ │ └── MainActivity.kt
│ │ │ │ └── com
│ │ │ │ │ └── example
│ │ │ │ │ └── rive_example
│ │ │ │ │ └── MainActivity.kt
│ │ │ └── res
│ │ │ │ ├── drawable-v21
│ │ │ │ └── launch_background.xml
│ │ │ │ ├── drawable
│ │ │ │ └── launch_background.xml
│ │ │ │ ├── mipmap-hdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-mdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── values-night
│ │ │ │ └── styles.xml
│ │ │ │ └── values
│ │ │ │ └── styles.xml
│ │ │ └── profile
│ │ │ └── AndroidManifest.xml
│ ├── build.gradle
│ ├── gradle.properties
│ ├── gradle
│ │ └── wrapper
│ │ │ └── gradle-wrapper.properties
│ └── settings.gradle
├── assets
│ ├── acqua_text_out_of_band.riv
│ ├── audio
│ │ ├── racket1-59343.wav
│ │ ├── racket2-59344.wav
│ │ └── table-59328.wav
│ ├── coyote.riv
│ ├── embedded_text.riv
│ ├── fonts
│ │ └── Inter-Regular.ttf
│ ├── hit_test_consume.riv
│ ├── image_out_of_band.riv
│ ├── light_switch.riv
│ ├── lip-sync.riv
│ ├── liquid_download.riv
│ ├── little_machine.riv
│ ├── off_road_car.riv
│ ├── ping_pong_audio_demo.riv
│ ├── rating_animation.riv
│ ├── rocket.riv
│ ├── runtime_nested_inputs.riv
│ ├── skills.riv
│ ├── skins_demo.riv
│ ├── solo_test.riv
│ ├── teeny_tiny.riv
│ ├── text_flutter.riv
│ ├── trans_text.riv
│ ├── url_event_button.riv
│ └── vehicles.riv
├── ios
│ ├── .gitignore
│ ├── Flutter
│ │ ├── AppFrameworkInfo.plist
│ │ ├── Debug.xcconfig
│ │ └── Release.xcconfig
│ ├── Podfile
│ ├── Runner.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ └── WorkspaceSettings.xcsettings
│ │ └── xcshareddata
│ │ │ └── xcschemes
│ │ │ └── Runner.xcscheme
│ ├── Runner.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ └── Runner
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── Contents.json
│ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ ├── Icon-App-20x20@1x.png
│ │ │ ├── Icon-App-20x20@2x.png
│ │ │ ├── Icon-App-20x20@3x.png
│ │ │ ├── Icon-App-29x29@1x.png
│ │ │ ├── Icon-App-29x29@2x.png
│ │ │ ├── Icon-App-29x29@3x.png
│ │ │ ├── Icon-App-40x40@1x.png
│ │ │ ├── Icon-App-40x40@2x.png
│ │ │ ├── Icon-App-40x40@3x.png
│ │ │ ├── Icon-App-60x60@2x.png
│ │ │ ├── Icon-App-60x60@3x.png
│ │ │ ├── Icon-App-76x76@1x.png
│ │ │ ├── Icon-App-76x76@2x.png
│ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ └── LaunchImage.imageset
│ │ │ ├── Contents.json
│ │ │ ├── LaunchImage.png
│ │ │ ├── LaunchImage@2x.png
│ │ │ ├── LaunchImage@3x.png
│ │ │ └── README.md
│ │ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ │ ├── Info.plist
│ │ └── Runner-Bridging-Header.h
├── lib
│ ├── artboard_nested_inputs.dart
│ ├── basic_text.dart
│ ├── carousel.dart
│ ├── custom_asset_loading.dart
│ ├── custom_cached_asset_loading.dart
│ ├── custom_controller.dart
│ ├── event_open_url_button.dart
│ ├── event_star_rating.dart
│ ├── example_state_machine.dart
│ ├── liquid_download.dart
│ ├── little_machine.dart
│ ├── main.dart
│ ├── play_one_shot_animation.dart
│ ├── play_pause_animation.dart
│ ├── rive_audio.dart
│ ├── rive_audio_out_of_band.dart
│ ├── simple_animation.dart
│ ├── simple_animation_network.dart
│ ├── simple_machine_listener.dart
│ ├── simple_state_machine.dart
│ ├── skinning_demo.dart
│ └── state_machine_skills.dart
├── macos
│ ├── .gitignore
│ ├── Flutter
│ │ ├── Flutter-Debug.xcconfig
│ │ └── Flutter-Release.xcconfig
│ ├── Podfile
│ ├── Runner.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ └── xcshareddata
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ └── xcshareddata
│ │ │ └── xcschemes
│ │ │ └── Runner.xcscheme
│ ├── Runner.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ └── Runner
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ ├── Contents.json
│ │ │ ├── app_icon_1024.png
│ │ │ ├── app_icon_128.png
│ │ │ ├── app_icon_16.png
│ │ │ ├── app_icon_256.png
│ │ │ ├── app_icon_32.png
│ │ │ ├── app_icon_512.png
│ │ │ └── app_icon_64.png
│ │ ├── Base.lproj
│ │ └── MainMenu.xib
│ │ ├── Configs
│ │ ├── AppInfo.xcconfig
│ │ ├── Debug.xcconfig
│ │ ├── Release.xcconfig
│ │ └── Warnings.xcconfig
│ │ ├── DebugProfile.entitlements
│ │ ├── Info.plist
│ │ ├── MainFlutterWindow.swift
│ │ └── Release.entitlements
├── pubspec.yaml
├── web
│ ├── favicon.png
│ ├── icons
│ │ ├── Icon-192.png
│ │ ├── Icon-512.png
│ │ ├── Icon-maskable-192.png
│ │ └── Icon-maskable-512.png
│ ├── index.html
│ └── manifest.json
└── windows
│ ├── .gitignore
│ ├── CMakeLists.txt
│ ├── flutter
│ └── CMakeLists.txt
│ └── runner
│ ├── CMakeLists.txt
│ ├── Runner.rc
│ ├── flutter_window.cpp
│ ├── flutter_window.h
│ ├── main.cpp
│ ├── resource.h
│ ├── resources
│ └── app_icon.ico
│ ├── runner.exe.manifest
│ ├── utils.cpp
│ ├── utils.h
│ ├── win32_window.cpp
│ └── win32_window.h
├── lib
├── components.dart
├── math.dart
├── rive.dart
├── rive_web.dart
└── src
│ ├── animation_list.dart
│ ├── asset.dart
│ ├── asset_list.dart
│ ├── asset_loader.dart
│ ├── blend_animations.dart
│ ├── container_children.dart
│ ├── controllers
│ ├── linear_animation_controller.dart
│ ├── one_shot_controller.dart
│ ├── simple_controller.dart
│ └── state_machine_controller.dart
│ ├── core
│ ├── core.dart
│ ├── field_types
│ │ ├── core_bool_type.dart
│ │ ├── core_bytes_type.dart
│ │ ├── core_callback_type.dart
│ │ ├── core_color_type.dart
│ │ ├── core_double_type.dart
│ │ ├── core_field_type.dart
│ │ ├── core_int_type.dart
│ │ ├── core_string_type.dart
│ │ └── core_uint_type.dart
│ └── importers
│ │ ├── artboard_import_stack_object.dart
│ │ ├── artboard_importer.dart
│ │ ├── backboard_importer.dart
│ │ ├── file_asset_importer.dart
│ │ ├── keyed_object_importer.dart
│ │ ├── keyed_property_importer.dart
│ │ ├── layer_state_importer.dart
│ │ ├── linear_animation_importer.dart
│ │ ├── nested_state_machine_importer.dart
│ │ ├── state_machine_importer.dart
│ │ ├── state_machine_layer_component_importer.dart
│ │ ├── state_machine_layer_importer.dart
│ │ ├── state_machine_listener_importer.dart
│ │ ├── state_transition_importer.dart
│ │ └── viewmodel_instance_importer.dart
│ ├── data_enum_values.dart
│ ├── debug.dart
│ ├── dynamic_library_helper
│ ├── dynamic_library_helper_ffi.dart
│ ├── dynamic_library_helper_stub.dart
│ └── dynamic_library_helper_web.dart
│ ├── event_list.dart
│ ├── extensions.dart
│ ├── generated
│ ├── animation
│ │ ├── advanceable_state_base.dart
│ │ ├── animation_base.dart
│ │ ├── animation_state_base.dart
│ │ ├── any_state_base.dart
│ │ ├── blend_animation_1d_base.dart
│ │ ├── blend_animation_base.dart
│ │ ├── blend_animation_direct_base.dart
│ │ ├── blend_state_1d_base.dart
│ │ ├── blend_state_base.dart
│ │ ├── blend_state_direct_base.dart
│ │ ├── blend_state_transition_base.dart
│ │ ├── cubic_ease_interpolator_base.dart
│ │ ├── cubic_interpolator_base.dart
│ │ ├── cubic_interpolator_component_base.dart
│ │ ├── cubic_value_interpolator_base.dart
│ │ ├── elastic_interpolator_base.dart
│ │ ├── entry_state_base.dart
│ │ ├── exit_state_base.dart
│ │ ├── interpolating_keyframe_base.dart
│ │ ├── keyed_object_base.dart
│ │ ├── keyed_property_base.dart
│ │ ├── keyframe_base.dart
│ │ ├── keyframe_bool_base.dart
│ │ ├── keyframe_callback_base.dart
│ │ ├── keyframe_color_base.dart
│ │ ├── keyframe_double_base.dart
│ │ ├── keyframe_id_base.dart
│ │ ├── keyframe_interpolator_base.dart
│ │ ├── keyframe_string_base.dart
│ │ ├── keyframe_uint_base.dart
│ │ ├── layer_state_base.dart
│ │ ├── linear_animation_base.dart
│ │ ├── listener_action_base.dart
│ │ ├── listener_align_target_base.dart
│ │ ├── listener_bool_change_base.dart
│ │ ├── listener_fire_event_base.dart
│ │ ├── listener_input_change_base.dart
│ │ ├── listener_number_change_base.dart
│ │ ├── listener_trigger_change_base.dart
│ │ ├── listener_viewmodel_change_base.dart
│ │ ├── nested_bool_base.dart
│ │ ├── nested_input_base.dart
│ │ ├── nested_linear_animation_base.dart
│ │ ├── nested_number_base.dart
│ │ ├── nested_remap_animation_base.dart
│ │ ├── nested_simple_animation_base.dart
│ │ ├── nested_state_machine_base.dart
│ │ ├── nested_trigger_base.dart
│ │ ├── state_machine_base.dart
│ │ ├── state_machine_bool_base.dart
│ │ ├── state_machine_component_base.dart
│ │ ├── state_machine_double_base.dart
│ │ ├── state_machine_event_base.dart
│ │ ├── state_machine_fire_event_base.dart
│ │ ├── state_machine_input_base.dart
│ │ ├── state_machine_layer_base.dart
│ │ ├── state_machine_layer_component_base.dart
│ │ ├── state_machine_listener_base.dart
│ │ ├── state_machine_number_base.dart
│ │ ├── state_machine_trigger_base.dart
│ │ ├── state_transition_base.dart
│ │ ├── transition_artboard_condition_base.dart
│ │ ├── transition_bool_condition_base.dart
│ │ ├── transition_comparator_base.dart
│ │ ├── transition_condition_base.dart
│ │ ├── transition_double_condition_base.dart
│ │ ├── transition_input_condition_base.dart
│ │ ├── transition_number_condition_base.dart
│ │ ├── transition_property_artboard_comparator_base.dart
│ │ ├── transition_property_comparator_base.dart
│ │ ├── transition_property_viewmodel_comparator_base.dart
│ │ ├── transition_trigger_condition_base.dart
│ │ ├── transition_value_boolean_comparator_base.dart
│ │ ├── transition_value_color_comparator_base.dart
│ │ ├── transition_value_comparator_base.dart
│ │ ├── transition_value_condition_base.dart
│ │ ├── transition_value_enum_comparator_base.dart
│ │ ├── transition_value_number_comparator_base.dart
│ │ ├── transition_value_string_comparator_base.dart
│ │ └── transition_viewmodel_condition_base.dart
│ ├── artboard_base.dart
│ ├── asset_base.dart
│ ├── assets
│ │ ├── asset_base.dart
│ │ ├── audio_asset_base.dart
│ │ ├── drawable_asset_base.dart
│ │ ├── export_audio_base.dart
│ │ ├── file_asset_base.dart
│ │ ├── file_asset_contents_base.dart
│ │ ├── folder_base.dart
│ │ ├── font_asset_base.dart
│ │ └── image_asset_base.dart
│ ├── audio_event_base.dart
│ ├── backboard_base.dart
│ ├── bones
│ │ ├── bone_base.dart
│ │ ├── cubic_weight_base.dart
│ │ ├── root_bone_base.dart
│ │ ├── skeletal_component_base.dart
│ │ ├── skin_base.dart
│ │ ├── tendon_base.dart
│ │ └── weight_base.dart
│ ├── component_base.dart
│ ├── constraints
│ │ ├── constraint_base.dart
│ │ ├── distance_constraint_base.dart
│ │ ├── follow_path_constraint_base.dart
│ │ ├── ik_constraint_base.dart
│ │ ├── rotation_constraint_base.dart
│ │ ├── scale_constraint_base.dart
│ │ ├── targeted_constraint_base.dart
│ │ ├── transform_component_constraint_base.dart
│ │ ├── transform_component_constraint_y_base.dart
│ │ ├── transform_constraint_base.dart
│ │ ├── transform_space_constraint_base.dart
│ │ └── translation_constraint_base.dart
│ ├── container_component_base.dart
│ ├── custom_property_base.dart
│ ├── custom_property_boolean_base.dart
│ ├── custom_property_number_base.dart
│ ├── custom_property_string_base.dart
│ ├── data_bind
│ │ ├── bindable_property_base.dart
│ │ ├── bindable_property_boolean_base.dart
│ │ ├── bindable_property_color_base.dart
│ │ ├── bindable_property_enum_base.dart
│ │ ├── bindable_property_number_base.dart
│ │ ├── bindable_property_string_base.dart
│ │ ├── converters
│ │ │ └── data_converter_base.dart
│ │ ├── data_bind_base.dart
│ │ └── data_bind_context_base.dart
│ ├── draw_rules_base.dart
│ ├── draw_target_base.dart
│ ├── drawable_base.dart
│ ├── event_base.dart
│ ├── joystick_base.dart
│ ├── layout
│ │ ├── grid_track_sizing_group_base.dart
│ │ ├── layout_component_style_base.dart
│ │ └── track_sizing_function_base.dart
│ ├── layout_component_absolute_base.dart
│ ├── layout_component_base.dart
│ ├── nested_animation_base.dart
│ ├── nested_artboard_base.dart
│ ├── node_base.dart
│ ├── open_url_event_base.dart
│ ├── rive_core_context.dart
│ ├── shapes
│ │ ├── clipping_shape_base.dart
│ │ ├── contour_mesh_vertex_base.dart
│ │ ├── cubic_asymmetric_vertex_base.dart
│ │ ├── cubic_detached_vertex_base.dart
│ │ ├── cubic_mirrored_vertex_base.dart
│ │ ├── cubic_vertex_base.dart
│ │ ├── ellipse_base.dart
│ │ ├── forced_edge_base.dart
│ │ ├── image_base.dart
│ │ ├── mesh_base.dart
│ │ ├── mesh_vertex_base.dart
│ │ ├── paint
│ │ │ ├── fill_base.dart
│ │ │ ├── gradient_stop_base.dart
│ │ │ ├── linear_gradient_base.dart
│ │ │ ├── radial_gradient_base.dart
│ │ │ ├── shape_paint_base.dart
│ │ │ ├── solid_color_base.dart
│ │ │ ├── stroke_base.dart
│ │ │ └── trim_path_base.dart
│ │ ├── parametric_path_base.dart
│ │ ├── path_base.dart
│ │ ├── path_composer_base.dart
│ │ ├── path_vertex_base.dart
│ │ ├── points_path_base.dart
│ │ ├── polygon_base.dart
│ │ ├── rectangle_base.dart
│ │ ├── shape_base.dart
│ │ ├── star_base.dart
│ │ ├── straight_vertex_base.dart
│ │ ├── triangle_base.dart
│ │ └── vertex_base.dart
│ ├── solo_base.dart
│ ├── text
│ │ ├── text_base.dart
│ │ ├── text_modifier_base.dart
│ │ ├── text_modifier_group_base.dart
│ │ ├── text_modifier_range_base.dart
│ │ ├── text_shape_modifier_base.dart
│ │ ├── text_style_axis_base.dart
│ │ ├── text_style_base.dart
│ │ ├── text_style_feature_base.dart
│ │ ├── text_value_run_base.dart
│ │ └── text_variation_modifier_base.dart
│ ├── transform_component_base.dart
│ ├── viewmodel
│ │ ├── data_enum_base.dart
│ │ ├── data_enum_value_base.dart
│ │ ├── viewmodel_base.dart
│ │ ├── viewmodel_component_base.dart
│ │ ├── viewmodel_instance_base.dart
│ │ ├── viewmodel_instance_boolean_base.dart
│ │ ├── viewmodel_instance_color_base.dart
│ │ ├── viewmodel_instance_enum_base.dart
│ │ ├── viewmodel_instance_list_base.dart
│ │ ├── viewmodel_instance_list_item_base.dart
│ │ ├── viewmodel_instance_number_base.dart
│ │ ├── viewmodel_instance_string_base.dart
│ │ ├── viewmodel_instance_value_base.dart
│ │ ├── viewmodel_instance_viewmodel_base.dart
│ │ ├── viewmodel_property_base.dart
│ │ ├── viewmodel_property_boolean_base.dart
│ │ ├── viewmodel_property_color_base.dart
│ │ ├── viewmodel_property_enum_base.dart
│ │ ├── viewmodel_property_list_base.dart
│ │ ├── viewmodel_property_number_base.dart
│ │ ├── viewmodel_property_string_base.dart
│ │ └── viewmodel_property_viewmodel_base.dart
│ └── world_transform_component_base.dart
│ ├── layer_component_events.dart
│ ├── listener_actions.dart
│ ├── local_file_io.dart
│ ├── local_file_web.dart
│ ├── platform.dart
│ ├── platform_native.dart
│ ├── platform_web.dart
│ ├── rive.dart
│ ├── rive_core
│ ├── animation
│ │ ├── advanceable_state.dart
│ │ ├── animation.dart
│ │ ├── animation_reset_factory.dart
│ │ ├── animation_state.dart
│ │ ├── animation_state_instance.dart
│ │ ├── any_state.dart
│ │ ├── blend_animation.dart
│ │ ├── blend_animation_1d.dart
│ │ ├── blend_animation_direct.dart
│ │ ├── blend_state.dart
│ │ ├── blend_state_1d.dart
│ │ ├── blend_state_1d_instance.dart
│ │ ├── blend_state_direct.dart
│ │ ├── blend_state_direct_instance.dart
│ │ ├── blend_state_instance.dart
│ │ ├── blend_state_transition.dart
│ │ ├── cubic_ease_interpolator.dart
│ │ ├── cubic_interpolator.dart
│ │ ├── cubic_interpolator_component.dart
│ │ ├── cubic_value_interpolator.dart
│ │ ├── elastic_interpolator.dart
│ │ ├── entry_state.dart
│ │ ├── exit_state.dart
│ │ ├── interpolating_keyframe.dart
│ │ ├── interpolator.dart
│ │ ├── keyed_object.dart
│ │ ├── keyed_property.dart
│ │ ├── keyframe.dart
│ │ ├── keyframe_bool.dart
│ │ ├── keyframe_callback.dart
│ │ ├── keyframe_color.dart
│ │ ├── keyframe_double.dart
│ │ ├── keyframe_id.dart
│ │ ├── keyframe_interpolation.dart
│ │ ├── keyframe_interpolator.dart
│ │ ├── keyframe_string.dart
│ │ ├── keyframe_uint.dart
│ │ ├── layer_state.dart
│ │ ├── linear_animation.dart
│ │ ├── linear_animation_instance.dart
│ │ ├── listener_action.dart
│ │ ├── listener_align_target.dart
│ │ ├── listener_bool_change.dart
│ │ ├── listener_fire_event.dart
│ │ ├── listener_input_change.dart
│ │ ├── listener_number_change.dart
│ │ ├── listener_trigger_change.dart
│ │ ├── listener_viewmodel_change.dart
│ │ ├── loop.dart
│ │ ├── nested_bool.dart
│ │ ├── nested_input.dart
│ │ ├── nested_linear_animation.dart
│ │ ├── nested_number.dart
│ │ ├── nested_remap_animation.dart
│ │ ├── nested_simple_animation.dart
│ │ ├── nested_state_machine.dart
│ │ ├── nested_trigger.dart
│ │ ├── state_instance.dart
│ │ ├── state_machine.dart
│ │ ├── state_machine_bool.dart
│ │ ├── state_machine_component.dart
│ │ ├── state_machine_fire_event.dart
│ │ ├── state_machine_input.dart
│ │ ├── state_machine_layer.dart
│ │ ├── state_machine_layer_component.dart
│ │ ├── state_machine_listener.dart
│ │ ├── state_machine_number.dart
│ │ ├── state_machine_trigger.dart
│ │ ├── state_transition.dart
│ │ ├── transition_artboard_condition.dart
│ │ ├── transition_bool_condition.dart
│ │ ├── transition_comparator.dart
│ │ ├── transition_condition.dart
│ │ ├── transition_input_condition.dart
│ │ ├── transition_number_condition.dart
│ │ ├── transition_property_comparator.dart
│ │ ├── transition_property_viewmodel_comparator.dart
│ │ ├── transition_trigger_condition.dart
│ │ ├── transition_value_boolean_comparator.dart
│ │ ├── transition_value_color_comparator.dart
│ │ ├── transition_value_comparator.dart
│ │ ├── transition_value_condition.dart
│ │ ├── transition_value_enum_comparator.dart
│ │ ├── transition_value_number_comparator.dart
│ │ ├── transition_value_string_comparator.dart
│ │ └── transition_viewmodel_condition.dart
│ ├── artboard.dart
│ ├── assets
│ │ ├── asset.dart
│ │ ├── audio_asset.dart
│ │ ├── drawable_asset.dart
│ │ ├── export_audio.dart
│ │ ├── file_asset.dart
│ │ ├── file_asset_contents.dart
│ │ ├── folder.dart
│ │ ├── font_asset.dart
│ │ └── image_asset.dart
│ ├── audio_event.dart
│ ├── audio_player.dart
│ ├── backboard.dart
│ ├── bones
│ │ ├── bone.dart
│ │ ├── cubic_weight.dart
│ │ ├── root_bone.dart
│ │ ├── skeletal_component.dart
│ │ ├── skin.dart
│ │ ├── skinnable.dart
│ │ ├── tendon.dart
│ │ ├── weight.dart
│ │ └── weighted_vertex.dart
│ ├── bounds_provider.dart
│ ├── component.dart
│ ├── component_dirt.dart
│ ├── component_flags.dart
│ ├── constraints
│ │ ├── constraint.dart
│ │ ├── distance_constraint.dart
│ │ ├── follow_path_constraint.dart
│ │ ├── ik_constraint.dart
│ │ ├── rotation_constraint.dart
│ │ ├── scale_constraint.dart
│ │ ├── targeted_constraint.dart
│ │ ├── transform_component_constraint.dart
│ │ ├── transform_component_constraint_y.dart
│ │ ├── transform_constraint.dart
│ │ ├── transform_space_constraint.dart
│ │ └── translation_constraint.dart
│ ├── container_component.dart
│ ├── custom_property.dart
│ ├── custom_property_boolean.dart
│ ├── custom_property_number.dart
│ ├── custom_property_string.dart
│ ├── data_bind
│ │ ├── bindable_property.dart
│ │ ├── bindable_property_boolean.dart
│ │ ├── bindable_property_color.dart
│ │ ├── bindable_property_enum.dart
│ │ ├── bindable_property_number.dart
│ │ ├── bindable_property_string.dart
│ │ ├── context
│ │ │ ├── context_value.dart
│ │ │ ├── context_value_boolean.dart
│ │ │ ├── context_value_color.dart
│ │ │ ├── context_value_enum.dart
│ │ │ ├── context_value_list.dart
│ │ │ ├── context_value_number.dart
│ │ │ └── context_value_string.dart
│ │ ├── data_bind.dart
│ │ ├── data_bind_context.dart
│ │ └── data_context.dart
│ ├── data_bind_flags.dart
│ ├── dependency_helper.dart
│ ├── draw_rules.dart
│ ├── draw_target.dart
│ ├── drawable.dart
│ ├── enum_helper.dart
│ ├── event.dart
│ ├── joystick.dart
│ ├── layer_state_flags.dart
│ ├── layout
│ │ └── layout_component_style.dart
│ ├── layout_component.dart
│ ├── nested_animation.dart
│ ├── nested_artboard.dart
│ ├── node.dart
│ ├── notifier.dart
│ ├── open_url_event.dart
│ ├── open_url_target.dart
│ ├── rive_animation_controller.dart
│ ├── rive_core_singleton_test.dart
│ ├── runtime
│ │ ├── exceptions
│ │ │ ├── rive_format_error_exception.dart
│ │ │ └── rive_unsupported_version_exception.dart
│ │ └── runtime_header.dart
│ ├── shapes
│ │ ├── clipping_shape.dart
│ │ ├── contour_mesh_vertex.dart
│ │ ├── cubic_asymmetric_vertex.dart
│ │ ├── cubic_detached_vertex.dart
│ │ ├── cubic_mirrored_vertex.dart
│ │ ├── cubic_vertex.dart
│ │ ├── ellipse.dart
│ │ ├── image.dart
│ │ ├── mesh.dart
│ │ ├── mesh_vertex.dart
│ │ ├── paint
│ │ │ ├── fill.dart
│ │ │ ├── gradient_stop.dart
│ │ │ ├── linear_gradient.dart
│ │ │ ├── radial_gradient.dart
│ │ │ ├── shape_paint.dart
│ │ │ ├── shape_paint_mutator.dart
│ │ │ ├── solid_color.dart
│ │ │ ├── stroke.dart
│ │ │ ├── stroke_effect.dart
│ │ │ ├── trim_path.dart
│ │ │ └── trim_path_drawing.dart
│ │ ├── parametric_path.dart
│ │ ├── path.dart
│ │ ├── path_composer.dart
│ │ ├── path_vertex.dart
│ │ ├── points_path.dart
│ │ ├── polygon.dart
│ │ ├── rectangle.dart
│ │ ├── shape.dart
│ │ ├── shape_paint_container.dart
│ │ ├── star.dart
│ │ ├── straight_vertex.dart
│ │ ├── triangle.dart
│ │ └── vertex.dart
│ ├── solo.dart
│ ├── state_machine_controller.dart
│ ├── state_transition_flags.dart
│ ├── text
│ │ ├── styled_text.dart
│ │ ├── text.dart
│ │ ├── text_modifier.dart
│ │ ├── text_modifier_group.dart
│ │ ├── text_modifier_range.dart
│ │ ├── text_shape_modifier.dart
│ │ ├── text_style.dart
│ │ ├── text_style_axis.dart
│ │ ├── text_style_container.dart
│ │ ├── text_style_feature.dart
│ │ ├── text_value_run.dart
│ │ └── text_variation_modifier.dart
│ ├── transform_component.dart
│ ├── transform_space.dart
│ ├── viewmodel
│ │ ├── data_enum.dart
│ │ ├── data_enum_value.dart
│ │ ├── viewmodel.dart
│ │ ├── viewmodel_component.dart
│ │ ├── viewmodel_instance.dart
│ │ ├── viewmodel_instance_boolean.dart
│ │ ├── viewmodel_instance_color.dart
│ │ ├── viewmodel_instance_enum.dart
│ │ ├── viewmodel_instance_list.dart
│ │ ├── viewmodel_instance_list_item.dart
│ │ ├── viewmodel_instance_number.dart
│ │ ├── viewmodel_instance_string.dart
│ │ ├── viewmodel_instance_value.dart
│ │ ├── viewmodel_instance_viewmodel.dart
│ │ ├── viewmodel_property.dart
│ │ ├── viewmodel_property_boolean.dart
│ │ ├── viewmodel_property_color.dart
│ │ ├── viewmodel_property_enum.dart
│ │ ├── viewmodel_property_list.dart
│ │ ├── viewmodel_property_number.dart
│ │ ├── viewmodel_property_string.dart
│ │ └── viewmodel_property_viewmodel.dart
│ └── world_transform_component.dart
│ ├── rive_file.dart
│ ├── rive_render_box.dart
│ ├── rive_scene.dart
│ ├── runtime_artboard.dart
│ ├── runtime_event.dart
│ ├── runtime_mounted_artboard.dart
│ ├── runtime_nested_artboard.dart
│ ├── state_machine_components.dart
│ ├── state_transition_conditions.dart
│ ├── state_transitions.dart
│ ├── utilities
│ └── utilities.dart
│ ├── viewmodel_list_items.dart
│ ├── viewmodel_properties.dart
│ └── widgets
│ └── rive_animation.dart
├── platform_considerations.md
├── premake5_rive_plugin.lua
├── pubspec.yaml
├── shared_lib
└── build_shared.sh
├── test
├── artboard_test.dart
├── asset_gc_test.dart
├── asset_test.dart
├── assets
│ ├── batch_rivs
│ │ ├── circle-fui.riv
│ │ ├── danger-quarantine.riv
│ │ ├── fire-skull.riv
│ │ ├── joystick-demos-fish.riv
│ │ └── polito.riv
│ ├── cdn_image.riv
│ ├── component_discovery.riv
│ ├── electrified_button_simple.riv
│ ├── event_on_listener.riv
│ ├── events_from_trigger_test.riv
│ ├── events_on_states.riv
│ ├── file.png
│ ├── follow_path_path.riv
│ ├── follow_path_shapes.riv
│ ├── follow_path_solos.riv
│ ├── hit_test_consume.riv
│ ├── hit_test_pass_through.riv
│ ├── image_asset_prod.riv
│ ├── image_asset_uat.riv
│ ├── joystick_handle_source.riv
│ ├── off_road_car.riv
│ ├── rive-flutter-test-asset.riv
│ ├── runtime_nested_inputs.riv
│ ├── sample_image.riv
│ ├── skins_demo.riv
│ └── spilled_time.riv
├── component_find_test.dart
├── goldens
│ ├── batch_tests
│ │ ├── golden_batch_test.dart
│ │ └── images
│ │ │ ├── circle-fui.riv-01.png
│ │ │ ├── circle-fui.riv-02.png
│ │ │ ├── circle-fui.riv-03.png
│ │ │ ├── danger-quarantine.riv-01.png
│ │ │ ├── danger-quarantine.riv-02.png
│ │ │ ├── danger-quarantine.riv-03.png
│ │ │ ├── fire-skull.riv-01.png
│ │ │ ├── fire-skull.riv-02.png
│ │ │ ├── fire-skull.riv-03.png
│ │ │ ├── joystick-demos-fish.riv-01.png
│ │ │ ├── joystick-demos-fish.riv-02.png
│ │ │ ├── joystick-demos-fish.riv-03.png
│ │ │ ├── polito.riv-01.png
│ │ │ ├── polito.riv-02.png
│ │ │ └── polito.riv-03.png
│ ├── follow_path
│ │ ├── golden_follow_path_solos_test.dart
│ │ ├── golden_follow_path_test.dart
│ │ └── images
│ │ │ ├── follow_path_over_time_01.png
│ │ │ ├── follow_path_over_time_02.png
│ │ │ ├── follow_path_over_time_03.png
│ │ │ ├── follow_path_over_time_04.png
│ │ │ ├── follow_path_path_01.png
│ │ │ ├── follow_path_path_02.png
│ │ │ ├── follow_path_path_03.png
│ │ │ ├── follow_path_solos_01.png
│ │ │ ├── follow_path_solos_02.png
│ │ │ ├── follow_path_solos_03.png
│ │ │ └── follow_path_solos_04.png
│ ├── golden_comparator.dart
│ ├── joysticks
│ │ ├── golden_joysticks_test.dart
│ │ └── images
│ │ │ ├── joystick_handle_source_01.png
│ │ │ ├── joystick_handle_source_02.png
│ │ │ ├── joystick_handle_source_03.png
│ │ │ └── joystick_handle_source_04.png
│ ├── simple_animations
│ │ ├── golden_simple_animations_test.dart
│ │ └── images
│ │ │ ├── mixed_animations_01.png
│ │ │ ├── mixed_animations_02.png
│ │ │ ├── play_first_animation_found.png
│ │ │ ├── play_provided_animation_controller_01.png
│ │ │ └── play_provided_animation_controller_02.png
│ ├── skins_opacity
│ │ ├── golden_skins_opacity_test.dart
│ │ └── images
│ │ │ ├── skins_opacity_01.png
│ │ │ ├── skins_opacity_02.png
│ │ │ ├── skins_opacity_03.png
│ │ │ ├── skins_opacity_04.png
│ │ │ └── skins_opacity_05.png
│ ├── spilled_time
│ │ ├── images
│ │ │ ├── spilled_time_00.png
│ │ │ ├── spilled_time_01.png
│ │ │ ├── spilled_time_02.png
│ │ │ ├── spilled_time_03.png
│ │ │ ├── spilled_time_04.png
│ │ │ ├── spilled_time_05.png
│ │ │ ├── spilled_time_exact_00.png
│ │ │ ├── spilled_time_exact_01.png
│ │ │ ├── spilled_time_exact_02.png
│ │ │ ├── spilled_time_overshoot_00.png
│ │ │ ├── spilled_time_overshoot_01.png
│ │ │ └── spilled_time_overshoot_02.png
│ │ └── spilled_time_test.dart
│ ├── text
│ │ ├── golden_text_test.dart
│ │ └── images
│ │ │ ├── text_bones_constraint_01.png
│ │ │ ├── text_bones_constraint_02.png
│ │ │ ├── text_bones_constraint_03.png
│ │ │ └── text_bones_constraint_04.png
│ └── ticker_mode
│ │ ├── golden_ticker_mode_test.dart
│ │ └── images
│ │ ├── ticker_mode_false.png
│ │ ├── ticker_mode_true_1.png
│ │ ├── ticker_mode_true_2.png
│ │ └── ticker_mode_true_paused_state.png
├── hit_test.dart
├── linear_animation_instance_test.dart
├── mocks
│ ├── fakes.dart
│ └── mocks.dart
├── nested_input_test.dart
├── rive_animation_test.dart
├── rive_file_test.dart
├── rive_network_test.dart
├── simple_animation_test.dart
└── src
│ ├── network.dart
│ └── utils.dart
└── update_dependencies.sh
/.gitattributes:
--------------------------------------------------------------------------------
1 | test/assets/** filter=lfs diff=lfs merge=lfs -text
2 | test/goldens/**/images/*.png filter=lfs diff=lfs merge=lfs -text
--------------------------------------------------------------------------------
/.github/workflows/add_to_project.yml:
--------------------------------------------------------------------------------
1 | name: Adds all new issues to project board
2 |
3 | on:
4 | issues:
5 | types:
6 | - opened
7 |
8 | jobs:
9 | add-to-project:
10 | name: Add issue to project
11 | runs-on: ubuntu-latest
12 | steps:
13 | - uses: actions/add-to-project@v0.5.0
14 | with:
15 | project-url: https://github.com/orgs/rive-app/projects/12/views/1
16 | github-token: ${{ secrets.ADD_TO_PROJECT_ACTION }}
17 |
18 | - uses: actions/github-script@v6
19 | with:
20 | script: |
21 | github.rest.issues.addLabels({
22 | issue_number: context.issue.number,
23 | owner: context.repo.owner,
24 | repo: context.repo.repo,
25 | labels: ["triage"]
26 | })
27 |
--------------------------------------------------------------------------------
/.lua-format:
--------------------------------------------------------------------------------
1 | column_limit: 80
2 | indent_width: 4
3 | use_tab: false
4 | tab_width: 4
5 | continuation_indent_width: 4
6 | spaces_before_call: 1
7 | keep_simple_control_block_one_line: true
8 | keep_simple_function_one_line: true
9 | align_args: true
10 | break_after_functioncall_lp: false
11 | break_before_functioncall_rp: false
12 | spaces_inside_functioncall_parens: false
13 | spaces_inside_functiondef_parens: false
14 | align_parameter: true
15 | chop_down_parameter: false
16 | break_after_functiondef_lp: false
17 | break_before_functiondef_rp: false
18 | align_table_field: true
19 | break_after_table_lb: true
20 | break_before_table_rb: true
21 | chop_down_table: true
22 | chop_down_kv_table: true
23 | table_sep: ","
24 | column_table_limit: column_limit
25 | extra_sep_at_table_end: false
26 | spaces_inside_table_braces: false
27 | break_after_operator: true
28 | double_quote_to_single_quote: false
29 | single_quote_to_double_quote: false
30 | spaces_around_equals_in_field: true
31 | line_breaks_after_function_body: 1
32 | line_separator: input
33 |
--------------------------------------------------------------------------------
/.rive_head:
--------------------------------------------------------------------------------
1 | f99c5665ceb9de1780e91483c082b190d49839f6
2 |
--------------------------------------------------------------------------------
/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | // Use IntelliSense to learn about possible attributes.
3 | // Hover to view descriptions of existing attributes.
4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5 | "version": "0.0.1",
6 | "configurations": [
7 | {
8 | "name": "Rive Flutter example",
9 | "program": "example/lib/main.dart",
10 | "request": "launch",
11 | "type": "dart",
12 | "env": {
13 |
14 | }
15 | }
16 | ]
17 | }
--------------------------------------------------------------------------------
/VERSION:
--------------------------------------------------------------------------------
1 | 0.9.1
--------------------------------------------------------------------------------
/example/.gitignore:
--------------------------------------------------------------------------------
1 | # Miscellaneous
2 | *.class
3 | *.log
4 | *.pyc
5 | *.swp
6 | .DS_Store
7 | .atom/
8 | .buildlog/
9 | .history
10 | .svn/
11 |
12 | # IntelliJ related
13 | *.iml
14 | *.ipr
15 | *.iws
16 | .idea/
17 |
18 | # The .vscode folder contains launch configuration and tasks you configure in
19 | # VS Code which you may wish to be included in version control, so this line
20 | # is commented out by default.
21 | #.vscode/
22 |
23 | # Flutter/Dart/Pub related
24 | **/doc/api/
25 | **/ios/Flutter/.last_build_id
26 | .dart_tool/
27 | .flutter-plugins
28 | .flutter-plugins-dependencies
29 | .packages
30 | .pub-cache/
31 | .pub/
32 | /build/
33 |
34 | # Web related
35 | lib/generated_plugin_registrant.dart
36 |
37 | # Symbolication related
38 | app.*.symbols
39 |
40 | # Obfuscation related
41 | app.*.map.json
42 |
43 | # Exceptions to above rules.
44 | !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
45 |
--------------------------------------------------------------------------------
/example/README.md:
--------------------------------------------------------------------------------
1 | # Rive Flutter Example
2 |
3 | A demo application showcasing Rive Flutter.
4 |
5 | ## Getting Started
6 |
7 | Clone this repository:
8 | ```bash
9 | git clone https://github.com/rive-app/rive-flutter
10 | ```
11 |
12 | Run the example:
13 |
14 | ```bash
15 | cd rive-flutter/example
16 | flutter pub get
17 | flutter run
18 | ```
19 |
20 | ### Flutter Installation Instructions
21 | If you're new to [Flutter](https://flutter.dev), see the official [installation instructions](https://docs.flutter.dev/get-started/install).
--------------------------------------------------------------------------------
/example/analysis_options.yaml:
--------------------------------------------------------------------------------
1 | include: package:flutter_lints/flutter.yaml
2 | analyzer:
3 | exclude:
4 | - windows/**
5 | - ios/**
6 | - macos/**
7 | - web/**
8 |
9 | linter:
10 | rules:
11 |
--------------------------------------------------------------------------------
/example/android/.gitignore:
--------------------------------------------------------------------------------
1 | gradle-wrapper.jar
2 | /.gradle
3 | /captures/
4 | /gradlew
5 | /gradlew.bat
6 | /local.properties
7 | GeneratedPluginRegistrant.java
8 |
--------------------------------------------------------------------------------
/example/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/example/android/app/src/main/kotlin/app/rive/rive_example/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package app.rive.rive_example
2 |
3 | import io.flutter.embedding.android.FlutterActivity
4 |
5 | class MainActivity: FlutterActivity() {
6 | }
7 |
--------------------------------------------------------------------------------
/example/android/app/src/main/kotlin/com/example/rive_example/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package com.example.rive_example
2 |
3 | import io.flutter.embedding.android.FlutterActivity
4 |
5 | class MainActivity: FlutterActivity() {
6 | }
7 |
--------------------------------------------------------------------------------
/example/android/app/src/main/res/drawable-v21/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/example/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/example/android/app/src/profile/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/example/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | ext.kotlin_version = '1.9.10'
3 | repositories {
4 | google()
5 | mavenCentral()
6 | }
7 |
8 | dependencies {
9 | classpath 'com.android.tools.build:gradle:7.1.3'
10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
11 | }
12 | }
13 |
14 | allprojects {
15 | repositories {
16 | google()
17 | mavenCentral()
18 | }
19 | }
20 |
21 | rootProject.buildDir = '../build'
22 | subprojects {
23 | project.buildDir = "${rootProject.buildDir}/${project.name}"
24 | }
25 | subprojects {
26 | project.evaluationDependsOn(':app')
27 | }
28 |
29 | tasks.register("clean", Delete) {
30 | delete rootProject.buildDir
31 | }
32 |
--------------------------------------------------------------------------------
/example/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 | android.useAndroidX=true
3 | android.enableJetifier=true
4 |
--------------------------------------------------------------------------------
/example/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Jun 23 08:50:38 CEST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip
7 |
--------------------------------------------------------------------------------
/example/android/settings.gradle:
--------------------------------------------------------------------------------
1 | // Copyright 2014 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 | include ':app'
6 |
7 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
8 | def properties = new Properties()
9 |
10 | assert localPropertiesFile.exists()
11 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
12 |
13 | def flutterSdkPath = properties.getProperty("flutter.sdk")
14 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
15 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
16 |
--------------------------------------------------------------------------------
/example/assets/acqua_text_out_of_band.riv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/assets/acqua_text_out_of_band.riv
--------------------------------------------------------------------------------
/example/assets/audio/racket1-59343.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/assets/audio/racket1-59343.wav
--------------------------------------------------------------------------------
/example/assets/audio/racket2-59344.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/assets/audio/racket2-59344.wav
--------------------------------------------------------------------------------
/example/assets/audio/table-59328.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/assets/audio/table-59328.wav
--------------------------------------------------------------------------------
/example/assets/coyote.riv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/assets/coyote.riv
--------------------------------------------------------------------------------
/example/assets/embedded_text.riv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/assets/embedded_text.riv
--------------------------------------------------------------------------------
/example/assets/fonts/Inter-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/assets/fonts/Inter-Regular.ttf
--------------------------------------------------------------------------------
/example/assets/hit_test_consume.riv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/assets/hit_test_consume.riv
--------------------------------------------------------------------------------
/example/assets/image_out_of_band.riv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/assets/image_out_of_band.riv
--------------------------------------------------------------------------------
/example/assets/light_switch.riv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/assets/light_switch.riv
--------------------------------------------------------------------------------
/example/assets/lip-sync.riv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/assets/lip-sync.riv
--------------------------------------------------------------------------------
/example/assets/liquid_download.riv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/assets/liquid_download.riv
--------------------------------------------------------------------------------
/example/assets/little_machine.riv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/assets/little_machine.riv
--------------------------------------------------------------------------------
/example/assets/off_road_car.riv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/assets/off_road_car.riv
--------------------------------------------------------------------------------
/example/assets/ping_pong_audio_demo.riv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/assets/ping_pong_audio_demo.riv
--------------------------------------------------------------------------------
/example/assets/rating_animation.riv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/assets/rating_animation.riv
--------------------------------------------------------------------------------
/example/assets/rocket.riv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/assets/rocket.riv
--------------------------------------------------------------------------------
/example/assets/runtime_nested_inputs.riv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/assets/runtime_nested_inputs.riv
--------------------------------------------------------------------------------
/example/assets/skills.riv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/assets/skills.riv
--------------------------------------------------------------------------------
/example/assets/skins_demo.riv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/assets/skins_demo.riv
--------------------------------------------------------------------------------
/example/assets/solo_test.riv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/assets/solo_test.riv
--------------------------------------------------------------------------------
/example/assets/teeny_tiny.riv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/assets/teeny_tiny.riv
--------------------------------------------------------------------------------
/example/assets/text_flutter.riv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/assets/text_flutter.riv
--------------------------------------------------------------------------------
/example/assets/trans_text.riv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/assets/trans_text.riv
--------------------------------------------------------------------------------
/example/assets/url_event_button.riv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/assets/url_event_button.riv
--------------------------------------------------------------------------------
/example/assets/vehicles.riv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/assets/vehicles.riv
--------------------------------------------------------------------------------
/example/ios/.gitignore:
--------------------------------------------------------------------------------
1 | **/dgph
2 | *.mode1v3
3 | *.mode2v3
4 | *.moved-aside
5 | *.pbxuser
6 | *.perspectivev3
7 | **/*sync/
8 | .sconsign.dblite
9 | .tags*
10 | **/.vagrant/
11 | **/DerivedData/
12 | Icon?
13 | **/Pods/
14 | **/.symlinks/
15 | profile
16 | xcuserdata
17 | **/.generated/
18 | Flutter/App.framework
19 | Flutter/Flutter.framework
20 | Flutter/Flutter.podspec
21 | Flutter/Generated.xcconfig
22 | Flutter/ephemeral/
23 | Flutter/app.flx
24 | Flutter/app.zip
25 | Flutter/flutter_assets/
26 | Flutter/flutter_export_environment.sh
27 | ServiceDefinitions.json
28 | Runner/GeneratedPluginRegistrant.*
29 |
30 | # Exceptions to above rules.
31 | !default.mode1v3
32 | !default.mode2v3
33 | !default.pbxuser
34 | !default.perspectivev3
35 |
--------------------------------------------------------------------------------
/example/ios/Flutter/AppFrameworkInfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | App
9 | CFBundleIdentifier
10 | io.flutter.flutter.app
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | App
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | MinimumOSVersion
24 | 12.0
25 |
26 |
27 |
--------------------------------------------------------------------------------
/example/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/example/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/ios/Runner/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import Flutter
2 | import UIKit
3 |
4 | @main
5 | @objc class AppDelegate: FlutterAppDelegate {
6 | override func application(
7 | _ application: UIApplication,
8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
9 | ) -> Bool {
10 | GeneratedPluginRegistrant.register(with: self)
11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions)
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchImage.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchImage@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "LaunchImage@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md:
--------------------------------------------------------------------------------
1 | # Launch Screen Assets
2 |
3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory.
4 |
5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
--------------------------------------------------------------------------------
/example/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
2 |
--------------------------------------------------------------------------------
/example/lib/basic_text.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:rive/rive.dart';
3 |
4 | /// Basic example playing a Rive animation from a packaged asset.
5 | class BasicText extends StatelessWidget {
6 | const BasicText({Key? key}) : super(key: key);
7 |
8 | @override
9 | Widget build(BuildContext context) {
10 | return Scaffold(
11 | appBar: AppBar(
12 | title: const Text('Basic Text'),
13 | ),
14 | body: const Center(
15 | child: RiveAnimation.asset(
16 | 'assets/text_flutter.riv',
17 | fit: BoxFit.cover,
18 | ),
19 | ),
20 | );
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/example/lib/rive_audio.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:rive/rive.dart';
3 |
4 | class RiveAudioExample extends StatelessWidget {
5 | const RiveAudioExample({super.key});
6 |
7 | @override
8 | Widget build(BuildContext context) {
9 | return Scaffold(
10 | appBar: AppBar(
11 | title: const Text('Rive Audio'),
12 | ),
13 | body: const RiveAnimation.asset(
14 | "assets/lip-sync.riv",
15 | artboard: 'Lip_sync_2',
16 | stateMachines: ['State Machine 1'],
17 | ),
18 | );
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/example/lib/simple_animation.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:rive/rive.dart';
3 |
4 | /// Basic example playing a Rive animation from a packaged asset.
5 | class SimpleAssetAnimation extends StatelessWidget {
6 | const SimpleAssetAnimation({Key? key}) : super(key: key);
7 |
8 | @override
9 | Widget build(BuildContext context) {
10 | return Scaffold(
11 | appBar: AppBar(
12 | title: const Text('Simple Animation'),
13 | ),
14 | body: const Center(
15 | child: RiveAnimation.asset(
16 | 'assets/off_road_car.riv',
17 | fit: BoxFit.cover,
18 | ),
19 | ),
20 | );
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/example/lib/simple_animation_network.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:rive/rive.dart';
3 |
4 | /// Basic example playing a Rive animation from a network asset.
5 | class SimpleNetworkAnimation extends StatelessWidget {
6 | const SimpleNetworkAnimation({Key? key}) : super(key: key);
7 |
8 | @override
9 | Widget build(BuildContext context) {
10 | return Scaffold(
11 | appBar: AppBar(
12 | title: const Text('Simple Animation'),
13 | ),
14 | body: const Center(
15 | child: RiveAnimation.network(
16 | 'https://cdn.rive.app/animations/vehicles.riv',
17 | fit: BoxFit.cover,
18 | placeHolder: Center(child: CircularProgressIndicator()),
19 | ),
20 | ),
21 | );
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/example/lib/simple_machine_listener.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:rive/rive.dart';
3 |
4 | class StateMachineListener extends StatefulWidget {
5 | const StateMachineListener({Key? key}) : super(key: key);
6 |
7 | @override
8 | State createState() => _StateMachineListenerState();
9 | }
10 |
11 | class _StateMachineListenerState extends State {
12 | @override
13 | Widget build(BuildContext context) {
14 | return Scaffold(
15 | appBar: AppBar(
16 | title: const Text('Light Switch'),
17 | ),
18 | body: const Center(
19 | child: RiveAnimation.asset(
20 | 'assets/light_switch.riv',
21 | fit: BoxFit.contain,
22 | stateMachines: ['Switch'],
23 | ),
24 | ),
25 | );
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/example/macos/.gitignore:
--------------------------------------------------------------------------------
1 | # Flutter-related
2 | **/Flutter/ephemeral/
3 | **/Pods/
4 |
5 | # Xcode-related
6 | **/dgph
7 | **/xcuserdata/
8 |
--------------------------------------------------------------------------------
/example/macos/Flutter/Flutter-Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2 | #include "ephemeral/Flutter-Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/example/macos/Flutter/Flutter-Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2 | #include "ephemeral/Flutter-Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/macos/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/macos/Runner/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import Cocoa
2 | import FlutterMacOS
3 |
4 | @main
5 | class AppDelegate: FlutterAppDelegate {
6 | override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
7 | return true
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png
--------------------------------------------------------------------------------
/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png
--------------------------------------------------------------------------------
/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png
--------------------------------------------------------------------------------
/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png
--------------------------------------------------------------------------------
/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png
--------------------------------------------------------------------------------
/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png
--------------------------------------------------------------------------------
/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png
--------------------------------------------------------------------------------
/example/macos/Runner/Configs/AppInfo.xcconfig:
--------------------------------------------------------------------------------
1 | // Application-level settings for the Runner target.
2 | //
3 | // This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the
4 | // future. If not, the values below would default to using the project name when this becomes a
5 | // 'flutter create' template.
6 |
7 | // The application's name. By default this is also the title of the Flutter window.
8 | PRODUCT_NAME = example
9 |
10 | // The application's bundle identifier
11 | PRODUCT_BUNDLE_IDENTIFIER = com.example.example
12 |
13 | // The copyright displayed in application information
14 | PRODUCT_COPYRIGHT = Copyright © 2024 com.example. All rights reserved.
15 |
--------------------------------------------------------------------------------
/example/macos/Runner/Configs/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include "../../Flutter/Flutter-Debug.xcconfig"
2 | #include "Warnings.xcconfig"
3 |
--------------------------------------------------------------------------------
/example/macos/Runner/Configs/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include "../../Flutter/Flutter-Release.xcconfig"
2 | #include "Warnings.xcconfig"
3 |
--------------------------------------------------------------------------------
/example/macos/Runner/Configs/Warnings.xcconfig:
--------------------------------------------------------------------------------
1 | WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings
2 | GCC_WARN_UNDECLARED_SELECTOR = YES
3 | CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES
4 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE
5 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES
6 | CLANG_WARN_PRAGMA_PACK = YES
7 | CLANG_WARN_STRICT_PROTOTYPES = YES
8 | CLANG_WARN_COMMA = YES
9 | GCC_WARN_STRICT_SELECTOR_MATCH = YES
10 | CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES
11 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES
12 | GCC_WARN_SHADOW = YES
13 | CLANG_WARN_UNREACHABLE_CODE = YES
14 |
--------------------------------------------------------------------------------
/example/macos/Runner/DebugProfile.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.app-sandbox
6 |
7 | com.apple.security.cs.allow-jit
8 |
9 | com.apple.security.network.server
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/example/macos/Runner/MainFlutterWindow.swift:
--------------------------------------------------------------------------------
1 | import Cocoa
2 | import FlutterMacOS
3 |
4 | class MainFlutterWindow: NSWindow {
5 | override func awakeFromNib() {
6 | let flutterViewController = FlutterViewController()
7 | let windowFrame = self.frame
8 | self.contentViewController = flutterViewController
9 | self.setFrame(windowFrame, display: true)
10 |
11 | RegisterGeneratedPlugins(registry: flutterViewController)
12 |
13 | super.awakeFromNib()
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/example/macos/Runner/Release.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.app-sandbox
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: rive_example
2 | description: A collection of Rive Flutter examples
3 |
4 | publish_to: "none" # Remove this line if you wish to publish to pub.dev
5 |
6 | version: 1.0.0+1
7 |
8 | environment:
9 | sdk: ">=2.17.0 <4.0.0"
10 |
11 | dependencies:
12 | flutter:
13 | sdk: flutter
14 | rive:
15 | path: ../
16 | http:
17 | url_launcher: ^6.3.1
18 |
19 | dev_dependencies:
20 | flutter_test:
21 | sdk: flutter
22 | flutter_lints: ^2.0.0
23 |
24 | flutter:
25 | uses-material-design: true
26 |
27 | assets:
28 | - assets/
29 | - assets/fonts/
30 | - assets/audio/
31 |
--------------------------------------------------------------------------------
/example/web/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/web/favicon.png
--------------------------------------------------------------------------------
/example/web/icons/Icon-192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/web/icons/Icon-192.png
--------------------------------------------------------------------------------
/example/web/icons/Icon-512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/web/icons/Icon-512.png
--------------------------------------------------------------------------------
/example/web/icons/Icon-maskable-192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/web/icons/Icon-maskable-192.png
--------------------------------------------------------------------------------
/example/web/icons/Icon-maskable-512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/web/icons/Icon-maskable-512.png
--------------------------------------------------------------------------------
/example/web/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "rive_example",
3 | "short_name": "rive_example",
4 | "start_url": ".",
5 | "display": "standalone",
6 | "background_color": "#0175C2",
7 | "theme_color": "#0175C2",
8 | "description": "A new Flutter project.",
9 | "orientation": "portrait-primary",
10 | "prefer_related_applications": false,
11 | "icons": [
12 | {
13 | "src": "icons/Icon-192.png",
14 | "sizes": "192x192",
15 | "type": "image/png"
16 | },
17 | {
18 | "src": "icons/Icon-512.png",
19 | "sizes": "512x512",
20 | "type": "image/png"
21 | }
22 | ]
23 | }
24 |
--------------------------------------------------------------------------------
/example/windows/.gitignore:
--------------------------------------------------------------------------------
1 | flutter/ephemeral/
2 |
3 | # Visual Studio user-specific files.
4 | *.suo
5 | *.user
6 | *.userosscache
7 | *.sln.docstates
8 |
9 | # Visual Studio build-related files.
10 | x64/
11 | x86/
12 |
13 | # Visual Studio cache files
14 | # files ending in .cache can be ignored
15 | *.[Cc]ache
16 | # but keep track of directories ending in .cache
17 | !*.[Cc]ache/
18 |
--------------------------------------------------------------------------------
/example/windows/runner/resource.h:
--------------------------------------------------------------------------------
1 | //{{NO_DEPENDENCIES}}
2 | // Microsoft Visual C++ generated include file.
3 | // Used by Runner.rc
4 | //
5 | #define IDI_APP_ICON 101
6 |
7 | // Next default values for new objects
8 | //
9 | #ifdef APSTUDIO_INVOKED
10 | #ifndef APSTUDIO_READONLY_SYMBOLS
11 | #define _APS_NEXT_RESOURCE_VALUE 102
12 | #define _APS_NEXT_COMMAND_VALUE 40001
13 | #define _APS_NEXT_CONTROL_VALUE 1001
14 | #define _APS_NEXT_SYMED_VALUE 101
15 | #endif
16 | #endif
17 |
--------------------------------------------------------------------------------
/example/windows/runner/resources/app_icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rive-app/rive-flutter/2b91ad3e27f6cafccf542e053f464e58e41c6b92/example/windows/runner/resources/app_icon.ico
--------------------------------------------------------------------------------
/example/windows/runner/runner.exe.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PerMonitorV2
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/example/windows/runner/utils.h:
--------------------------------------------------------------------------------
1 | #ifndef RUNNER_UTILS_H_
2 | #define RUNNER_UTILS_H_
3 |
4 | #include
5 | #include
6 |
7 | // Creates a console for the process, and redirects stdout and stderr to
8 | // it for both the runner and the Flutter library.
9 | void CreateAndAttachConsole();
10 |
11 | // Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string
12 | // encoded in UTF-8. Returns an empty std::string on failure.
13 | std::string Utf8FromUtf16(const wchar_t* utf16_string);
14 |
15 | // Gets the command line arguments passed in as a std::vector,
16 | // encoded in UTF-8. Returns an empty std::vector on failure.
17 | std::vector GetCommandLineArguments();
18 |
19 | #endif // RUNNER_UTILS_H_
20 |
--------------------------------------------------------------------------------
/lib/components.dart:
--------------------------------------------------------------------------------
1 | export 'package:rive/src/rive_core/node.dart';
2 | export 'package:rive/src/rive_core/transform_component.dart';
3 | export 'package:rive/src/rive_core/world_transform_component.dart';
4 |
--------------------------------------------------------------------------------
/lib/math.dart:
--------------------------------------------------------------------------------
1 | export 'package:rive_common/math.dart';
2 |
--------------------------------------------------------------------------------
/lib/rive_web.dart:
--------------------------------------------------------------------------------
1 | // In order to *not* need this ignore, consider extracting the "web" version
2 | // of your plugin as a separate package, instead of inlining it in the same
3 | // package as the core of your plugin.
4 | // ignore: avoid_web_libraries_in_flutter
5 |
6 | // ignore_for_file: avoid_classes_with_only_static_members
7 |
8 | import 'package:flutter_web_plugins/flutter_web_plugins.dart';
9 |
10 | /// A web implementation of the RivePlatform of the Rive plugin.
11 | class RivePlugin {
12 | /// Constructs a RiveWeb
13 | RivePlugin();
14 |
15 | static void registerWith(Registrar registrar) {}
16 | }
17 |
--------------------------------------------------------------------------------
/lib/src/animation_list.dart:
--------------------------------------------------------------------------------
1 | import 'dart:collection';
2 | import 'package:rive/src/rive_core/animation/animation.dart';
3 |
4 | class AnimationList extends ListBase {
5 | // Lame way to do this due to how ListBase needs to expand a nullable list.
6 | final List _values = [];
7 | List get values => _values.cast();
8 |
9 | @override
10 | int get length => _values.length;
11 |
12 | @override
13 | set length(int value) => _values.length = value;
14 |
15 | @override
16 | Animation operator [](int index) => _values[index]!;
17 |
18 | @override
19 | void operator []=(int index, Animation value) => _values[index] = value;
20 | }
21 |
--------------------------------------------------------------------------------
/lib/src/asset_list.dart:
--------------------------------------------------------------------------------
1 | import 'dart:collection';
2 |
3 | import 'package:rive/src/rive_core/assets/asset.dart';
4 |
5 | // List of assets used by the backboard.
6 | class AssetList extends ListBase {
7 | final List _values = [];
8 | List get values => _values.cast();
9 |
10 | @override
11 | int get length => _values.length;
12 |
13 | @override
14 | set length(int value) => _values.length = value;
15 |
16 | @override
17 | Asset operator [](int index) => _values[index]!;
18 |
19 | @override
20 | void operator []=(int index, Asset value) => _values[index] = value;
21 | }
22 |
--------------------------------------------------------------------------------
/lib/src/blend_animations.dart:
--------------------------------------------------------------------------------
1 | import 'dart:collection';
2 |
3 | import 'package:rive/src/rive_core/animation/blend_animation.dart';
4 |
5 | class BlendAnimations extends ListBase {
6 | final List _values = [];
7 | List get values => _values.cast();
8 |
9 | @override
10 | int get length => _values.length;
11 |
12 | @override
13 | set length(int value) => _values.length = value;
14 |
15 | @override
16 | T operator [](int index) => _values[index]!;
17 |
18 | @override
19 | void operator []=(int index, T value) => _values[index] = value;
20 | }
21 |
--------------------------------------------------------------------------------
/lib/src/container_children.dart:
--------------------------------------------------------------------------------
1 | import 'dart:collection';
2 | import 'package:rive/src/rive_core/component.dart';
3 |
4 | // TODO: figure out how to make this cleaner.
5 | class ContainerChildren extends ListBase {
6 | final List _values = [];
7 | List get values => _values.cast();
8 |
9 | @override
10 | int get length => _values.length;
11 |
12 | @override
13 | set length(int value) => _values.length = value;
14 |
15 | @override
16 | Component operator [](int index) => _values[index]!;
17 |
18 | @override
19 | void operator []=(int index, Component value) => _values[index] = value;
20 | }
21 |
--------------------------------------------------------------------------------
/lib/src/core/field_types/core_bool_type.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/field_types/core_field_type.dart';
2 | import 'package:rive_common/utilities.dart';
3 |
4 | class CoreBoolType extends CoreFieldType {
5 | @override
6 | bool deserialize(BinaryReader reader) => reader.readInt8() == 1;
7 | }
8 |
--------------------------------------------------------------------------------
/lib/src/core/field_types/core_bytes_type.dart:
--------------------------------------------------------------------------------
1 | import 'dart:typed_data';
2 |
3 | import 'package:rive/src/core/field_types/core_field_type.dart';
4 | import 'package:rive_common/utilities.dart';
5 |
6 | class CoreBytesType extends CoreFieldType {
7 | @override
8 | Uint8List deserialize(BinaryReader reader) {
9 | var length = reader.readVarUint();
10 | return reader.read(length);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/lib/src/core/field_types/core_callback_type.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/field_types/core_field_type.dart';
2 | import 'package:rive_common/utilities.dart';
3 |
4 | class CallbackData {
5 | final Object? context;
6 | final double delay;
7 | CallbackData(
8 | this.context, {
9 | required this.delay,
10 | });
11 | }
12 |
13 | class CoreCallbackType extends CoreFieldType {
14 | @override
15 | int deserialize(BinaryReader reader) => 0;
16 | }
17 |
--------------------------------------------------------------------------------
/lib/src/core/field_types/core_color_type.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/field_types/core_field_type.dart';
2 | import 'package:rive_common/utilities.dart';
3 |
4 | class CoreColorType extends CoreFieldType {
5 | @override
6 | int deserialize(BinaryReader reader) => reader.readUint32();
7 | }
8 |
--------------------------------------------------------------------------------
/lib/src/core/field_types/core_double_type.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/field_types/core_field_type.dart';
2 | import 'package:rive_common/utilities.dart';
3 |
4 | class CoreDoubleType extends CoreFieldType {
5 | @override
6 | double deserialize(BinaryReader reader) => reader.readFloat32();
7 | }
8 |
--------------------------------------------------------------------------------
/lib/src/core/field_types/core_field_type.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive_common/utilities.dart';
2 |
3 | // ignore: one_member_abstracts
4 | abstract class CoreFieldType {
5 | T deserialize(BinaryReader reader);
6 | void skip(BinaryReader reader) => deserialize(reader);
7 | }
8 |
--------------------------------------------------------------------------------
/lib/src/core/field_types/core_int_type.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/field_types/core_field_type.dart';
2 | import 'package:rive_common/utilities.dart';
3 |
4 | class CoreIntType extends CoreFieldType {
5 | @override
6 | int deserialize(BinaryReader reader) => reader.readVarUint();
7 | }
8 |
--------------------------------------------------------------------------------
/lib/src/core/field_types/core_string_type.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/field_types/core_field_type.dart';
2 | import 'package:rive_common/utilities.dart';
3 |
4 | class CoreStringType extends CoreFieldType {
5 | @override
6 | String deserialize(BinaryReader reader) =>
7 | reader.readString(explicitLength: true);
8 |
9 | @override
10 | void skip(BinaryReader reader) {
11 | var length = reader.readVarUint();
12 | reader.read(length);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/lib/src/core/field_types/core_uint_type.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/field_types/core_field_type.dart';
2 | import 'package:rive_common/utilities.dart';
3 |
4 | class CoreUintType extends CoreFieldType {
5 | @override
6 | int deserialize(BinaryReader reader) => reader.readVarUint();
7 | }
8 |
--------------------------------------------------------------------------------
/lib/src/core/importers/artboard_import_stack_object.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/core.dart';
2 | import 'package:rive/src/rive_core/artboard.dart';
3 |
4 | /// An importer that will always resolve with the artboard importer.
5 | abstract class ArtboardImportStackObject extends ImportStackObject {
6 | @override
7 | int get resolvesBefore => ArtboardBase.typeKey;
8 | }
9 |
--------------------------------------------------------------------------------
/lib/src/core/importers/keyed_object_importer.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/importers/artboard_import_stack_object.dart';
2 | import 'package:rive/src/rive_core/animation/keyed_object.dart';
3 | import 'package:rive/src/rive_core/animation/keyed_property.dart';
4 |
5 | class KeyedObjectImporter extends ArtboardImportStackObject {
6 | final KeyedObject keyedObject;
7 |
8 | KeyedObjectImporter(this.keyedObject);
9 |
10 | void addKeyedProperty(KeyedProperty property) {
11 | keyedObject.context.addObject(property);
12 | keyedObject.internalAddKeyedProperty(property);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/lib/src/core/importers/keyed_property_importer.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/importers/artboard_import_stack_object.dart';
2 | import 'package:rive/src/rive_core/animation/keyed_property.dart';
3 | import 'package:rive/src/rive_core/animation/keyframe.dart';
4 | import 'package:rive/src/rive_core/animation/linear_animation.dart';
5 |
6 | class KeyedPropertyImporter extends ArtboardImportStackObject {
7 | final KeyedProperty keyedProperty;
8 | final LinearAnimation animation;
9 |
10 | KeyedPropertyImporter(this.keyedProperty, this.animation);
11 |
12 | void addKeyFrame(KeyFrame keyFrame) {
13 | keyedProperty.context.addObject(keyFrame);
14 | keyedProperty.internalAddKeyFrame(keyFrame);
15 | keyFrame.computeSeconds(animation);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/src/core/importers/linear_animation_importer.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/rive.dart';
2 | import 'package:rive/src/core/importers/artboard_import_stack_object.dart';
3 | import 'package:rive/src/rive_core/animation/keyed_object.dart';
4 |
5 | class LinearAnimationImporter extends ArtboardImportStackObject {
6 | final LinearAnimation linearAnimation;
7 | LinearAnimationImporter(this.linearAnimation);
8 |
9 | void addKeyedObject(KeyedObject object) {
10 | linearAnimation.context.addObject(object);
11 | linearAnimation.internalAddKeyedObject(object);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/lib/src/core/importers/nested_state_machine_importer.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/importers/artboard_import_stack_object.dart';
2 | import 'package:rive/src/rive_core/animation/nested_input.dart';
3 | import 'package:rive/src/rive_core/animation/nested_state_machine.dart';
4 |
5 | class NestedStateMachineImporter extends ArtboardImportStackObject {
6 | final NestedStateMachine stateMachine;
7 | NestedStateMachineImporter(this.stateMachine);
8 |
9 | final List _inputs = [];
10 | void addNestedInput(NestedInput nestedInput) {
11 | _inputs.add(nestedInput);
12 | }
13 |
14 | @override
15 | bool resolve() {
16 | for (final input in _inputs) {
17 | input.parent = stateMachine;
18 | }
19 | return super.resolve();
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/lib/src/core/importers/state_machine_importer.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/importers/artboard_import_stack_object.dart';
2 | import 'package:rive/src/rive_core/animation/state_machine.dart';
3 | import 'package:rive/src/rive_core/animation/state_machine_component.dart';
4 |
5 | class StateMachineImporter extends ArtboardImportStackObject {
6 | final StateMachine machine;
7 | StateMachineImporter(this.machine);
8 |
9 | void addMachineComponent(StateMachineComponent object) {
10 | machine.context.addObject(object);
11 | object.stateMachine = machine;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/lib/src/core/importers/state_machine_layer_component_importer.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/importers/artboard_import_stack_object.dart';
2 | import 'package:rive/src/rive_core/animation/state_machine_fire_event.dart';
3 | import 'package:rive/src/rive_core/animation/state_machine_layer_component.dart';
4 |
5 | class StateMachineLayerComponentImporter extends ArtboardImportStackObject {
6 | final StateMachineLayerComponent component;
7 | StateMachineLayerComponentImporter(this.component);
8 |
9 | void addFireEvent(StateMachineFireEvent event) {
10 | component.internalAddFireEvent(event);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/lib/src/core/importers/state_machine_listener_importer.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/importers/artboard_import_stack_object.dart';
2 | import 'package:rive/src/rive_core/animation/listener_action.dart';
3 | import 'package:rive/src/rive_core/animation/state_machine_listener.dart';
4 |
5 | class StateMachineListenerImporter extends ArtboardImportStackObject {
6 | final StateMachineListener listener;
7 | StateMachineListenerImporter(this.listener);
8 |
9 | void addAction(ListenerAction change) {
10 | listener.internalAddAction(change);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/lib/src/core/importers/viewmodel_instance_importer.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/core.dart';
2 | import 'package:rive/src/rive_core/viewmodel/viewmodel_instance.dart';
3 | import 'package:rive/src/rive_core/viewmodel/viewmodel_instance_value.dart';
4 |
5 | class ViewModelInstanceImporter extends ImportStackObject {
6 | final ViewModelInstance viewModelInstance;
7 | ViewModelInstanceImporter(this.viewModelInstance);
8 |
9 | void addValue(ViewModelInstanceValue value) {
10 | viewModelInstance.addPropertyValue(value);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/lib/src/data_enum_values.dart:
--------------------------------------------------------------------------------
1 | import 'dart:collection';
2 |
3 | import 'package:rive/src/rive_core/viewmodel/data_enum_value.dart';
4 |
5 | class DataEnumValues extends ListBase {
6 | final List _values = [];
7 | List get values => _values.cast();
8 |
9 | @override
10 | int get length => _values.length;
11 |
12 | @override
13 | set length(int value) => _values.length = value;
14 |
15 | @override
16 | T operator [](int index) => _values[index]!;
17 |
18 | @override
19 | void operator []=(int index, T value) => _values[index] = value;
20 | }
21 |
--------------------------------------------------------------------------------
/lib/src/debug.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/foundation.dart';
2 |
3 | /// Print a message only when running in debug.
4 | void printDebugMessage(String message) {
5 | assert(() {
6 | debugPrint(message);
7 | return true;
8 | }());
9 | }
10 |
--------------------------------------------------------------------------------
/lib/src/dynamic_library_helper/dynamic_library_helper_ffi.dart:
--------------------------------------------------------------------------------
1 | export 'package:rive_common/src/dynamic_library_helper.dart'
2 | show applyWorkaroundToRiveOnOldAndroidVersions;
3 |
--------------------------------------------------------------------------------
/lib/src/dynamic_library_helper/dynamic_library_helper_stub.dart:
--------------------------------------------------------------------------------
1 | void applyWorkaroundToRiveOnOldAndroidVersions() {
2 | throw UnsupportedError('Platform not supported');
3 | }
4 |
--------------------------------------------------------------------------------
/lib/src/dynamic_library_helper/dynamic_library_helper_web.dart:
--------------------------------------------------------------------------------
1 | // Mock implementation for web
2 | void applyWorkaroundToRiveOnOldAndroidVersions() {}
3 |
--------------------------------------------------------------------------------
/lib/src/event_list.dart:
--------------------------------------------------------------------------------
1 | import 'dart:collection';
2 | import 'package:rive/src/rive_core/event.dart';
3 |
4 | class EventList extends ListBase {
5 | // Lame way to do this due to how ListBase needs to expand a nullable list.
6 | final List _values = [];
7 | List get values => _values.cast();
8 |
9 | @override
10 | int get length => _values.length;
11 |
12 | @override
13 | set length(int value) => _values.length = value;
14 |
15 | @override
16 | Event operator [](int index) => _values[index]!;
17 |
18 | @override
19 | void operator []=(int index, Event value) => _values[index] = value;
20 | }
21 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/any_state_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/animation/any_state_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/generated/animation/state_machine_layer_component_base.dart';
6 | import 'package:rive/src/rive_core/animation/layer_state.dart';
7 |
8 | abstract class AnyStateBase extends LayerState {
9 | static const int typeKey = 62;
10 | @override
11 | int get coreType => AnyStateBase.typeKey;
12 | @override
13 | Set get coreTypes => {
14 | AnyStateBase.typeKey,
15 | LayerStateBase.typeKey,
16 | StateMachineLayerComponentBase.typeKey
17 | };
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/blend_state_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/animation/blend_state_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/generated/animation/state_machine_layer_component_base.dart';
6 | import 'package:rive/src/rive_core/animation/layer_state.dart';
7 |
8 | abstract class BlendStateBase extends LayerState {
9 | static const int typeKey = 72;
10 | @override
11 | int get coreType => BlendStateBase.typeKey;
12 | @override
13 | Set get coreTypes => {
14 | BlendStateBase.typeKey,
15 | LayerStateBase.typeKey,
16 | StateMachineLayerComponentBase.typeKey
17 | };
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/blend_state_direct_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/animation/blend_state_direct_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/generated/animation/layer_state_base.dart';
6 | import 'package:rive/src/generated/animation/state_machine_layer_component_base.dart';
7 | import 'package:rive/src/rive_core/animation/blend_animation_direct.dart';
8 | import 'package:rive/src/rive_core/animation/blend_state.dart';
9 |
10 | abstract class BlendStateDirectBase extends BlendState {
11 | static const int typeKey = 73;
12 | @override
13 | int get coreType => BlendStateDirectBase.typeKey;
14 | @override
15 | Set get coreTypes => {
16 | BlendStateDirectBase.typeKey,
17 | BlendStateBase.typeKey,
18 | LayerStateBase.typeKey,
19 | StateMachineLayerComponentBase.typeKey
20 | };
21 | }
22 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/cubic_ease_interpolator_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/animation/cubic_ease_interpolator_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/generated/animation/keyframe_interpolator_base.dart';
6 | import 'package:rive/src/rive_core/animation/cubic_interpolator.dart';
7 |
8 | abstract class CubicEaseInterpolatorBase extends CubicInterpolator {
9 | static const int typeKey = 28;
10 | @override
11 | int get coreType => CubicEaseInterpolatorBase.typeKey;
12 | @override
13 | Set get coreTypes => {
14 | CubicEaseInterpolatorBase.typeKey,
15 | CubicInterpolatorBase.typeKey,
16 | KeyFrameInterpolatorBase.typeKey
17 | };
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/cubic_value_interpolator_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/animation/cubic_value_interpolator_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/generated/animation/keyframe_interpolator_base.dart';
6 | import 'package:rive/src/rive_core/animation/cubic_interpolator.dart';
7 |
8 | abstract class CubicValueInterpolatorBase extends CubicInterpolator {
9 | static const int typeKey = 138;
10 | @override
11 | int get coreType => CubicValueInterpolatorBase.typeKey;
12 | @override
13 | Set get coreTypes => {
14 | CubicValueInterpolatorBase.typeKey,
15 | CubicInterpolatorBase.typeKey,
16 | KeyFrameInterpolatorBase.typeKey
17 | };
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/entry_state_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/animation/entry_state_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/generated/animation/state_machine_layer_component_base.dart';
6 | import 'package:rive/src/rive_core/animation/layer_state.dart';
7 |
8 | abstract class EntryStateBase extends LayerState {
9 | static const int typeKey = 63;
10 | @override
11 | int get coreType => EntryStateBase.typeKey;
12 | @override
13 | Set get coreTypes => {
14 | EntryStateBase.typeKey,
15 | LayerStateBase.typeKey,
16 | StateMachineLayerComponentBase.typeKey
17 | };
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/exit_state_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/animation/exit_state_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/generated/animation/state_machine_layer_component_base.dart';
6 | import 'package:rive/src/rive_core/animation/layer_state.dart';
7 |
8 | abstract class ExitStateBase extends LayerState {
9 | static const int typeKey = 64;
10 | @override
11 | int get coreType => ExitStateBase.typeKey;
12 | @override
13 | Set get coreTypes => {
14 | ExitStateBase.typeKey,
15 | LayerStateBase.typeKey,
16 | StateMachineLayerComponentBase.typeKey
17 | };
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/keyframe_callback_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/animation/keyframe_callback_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/rive_core/animation/keyframe.dart';
6 |
7 | abstract class KeyFrameCallbackBase extends KeyFrame {
8 | static const int typeKey = 171;
9 | @override
10 | int get coreType => KeyFrameCallbackBase.typeKey;
11 | @override
12 | Set get coreTypes =>
13 | {KeyFrameCallbackBase.typeKey, KeyFrameBase.typeKey};
14 | }
15 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/keyframe_interpolator_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/animation/keyframe_interpolator_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/core/core.dart';
6 |
7 | abstract class KeyFrameInterpolatorBase extends Core {
8 | static const int typeKey = 175;
9 | @override
10 | int get coreType => KeyFrameInterpolatorBase.typeKey;
11 | @override
12 | Set get coreTypes => {KeyFrameInterpolatorBase.typeKey};
13 | }
14 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/listener_action_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/animation/listener_action_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/core/core.dart';
6 |
7 | abstract class ListenerActionBase extends Core {
8 | static const int typeKey = 125;
9 | @override
10 | int get coreType => ListenerActionBase.typeKey;
11 | @override
12 | Set get coreTypes => {ListenerActionBase.typeKey};
13 | }
14 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/listener_trigger_change_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/animation/listener_trigger_change_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/generated/animation/listener_action_base.dart';
6 | import 'package:rive/src/rive_core/animation/listener_input_change.dart';
7 |
8 | abstract class ListenerTriggerChangeBase extends ListenerInputChange {
9 | static const int typeKey = 115;
10 | @override
11 | int get coreType => ListenerTriggerChangeBase.typeKey;
12 | @override
13 | Set get coreTypes => {
14 | ListenerTriggerChangeBase.typeKey,
15 | ListenerInputChangeBase.typeKey,
16 | ListenerActionBase.typeKey
17 | };
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/listener_viewmodel_change_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/animation/listener_viewmodel_change_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/rive_core/animation/listener_action.dart';
6 |
7 | abstract class ListenerViewModelChangeBase extends ListenerAction {
8 | static const int typeKey = 487;
9 | @override
10 | int get coreType => ListenerViewModelChangeBase.typeKey;
11 | @override
12 | Set get coreTypes =>
13 | {ListenerViewModelChangeBase.typeKey, ListenerActionBase.typeKey};
14 | }
15 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/nested_state_machine_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/animation/nested_state_machine_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/generated/component_base.dart';
6 | import 'package:rive/src/generated/container_component_base.dart';
7 | import 'package:rive/src/rive_core/animation/state_machine.dart';
8 | import 'package:rive/src/rive_core/nested_animation.dart';
9 |
10 | abstract class NestedStateMachineBase extends NestedAnimation {
11 | static const int typeKey = 95;
12 | @override
13 | int get coreType => NestedStateMachineBase.typeKey;
14 | @override
15 | Set get coreTypes => {
16 | NestedStateMachineBase.typeKey,
17 | NestedAnimationBase.typeKey,
18 | ContainerComponentBase.typeKey,
19 | ComponentBase.typeKey
20 | };
21 | }
22 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/nested_trigger_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/animation/nested_trigger_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/core/core.dart';
6 | import 'package:rive/src/generated/component_base.dart';
7 | import 'package:rive/src/rive_core/animation/nested_input.dart';
8 |
9 | abstract class NestedTriggerBase extends NestedInput {
10 | static const int typeKey = 122;
11 | @override
12 | int get coreType => NestedTriggerBase.typeKey;
13 | @override
14 | Set get coreTypes => {
15 | NestedTriggerBase.typeKey,
16 | NestedInputBase.typeKey,
17 | ComponentBase.typeKey
18 | };
19 |
20 | /// --------------------------------------------------------------------------
21 | /// Fire field with key 401.
22 | static const int firePropertyKey = 401;
23 | void fire(CallbackData value);
24 | }
25 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/state_machine_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/animation/state_machine_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/rive_core/animation/animation.dart';
6 |
7 | abstract class StateMachineBase extends Animation {
8 | static const int typeKey = 53;
9 | @override
10 | int get coreType => StateMachineBase.typeKey;
11 | @override
12 | Set get coreTypes => {StateMachineBase.typeKey, AnimationBase.typeKey};
13 | }
14 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/state_machine_input_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/animation/state_machine_input_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/rive_core/animation/state_machine_component.dart';
6 |
7 | abstract class StateMachineInputBase extends StateMachineComponent {
8 | static const int typeKey = 55;
9 | @override
10 | int get coreType => StateMachineInputBase.typeKey;
11 | @override
12 | Set get coreTypes =>
13 | {StateMachineInputBase.typeKey, StateMachineComponentBase.typeKey};
14 | }
15 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/state_machine_layer_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/animation/state_machine_layer_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/rive_core/animation/state_machine_component.dart';
6 |
7 | abstract class StateMachineLayerBase extends StateMachineComponent {
8 | static const int typeKey = 57;
9 | @override
10 | int get coreType => StateMachineLayerBase.typeKey;
11 | @override
12 | Set get coreTypes =>
13 | {StateMachineLayerBase.typeKey, StateMachineComponentBase.typeKey};
14 | }
15 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/state_machine_layer_component_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/animation/state_machine_layer_component_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/core/core.dart';
6 |
7 | abstract class StateMachineLayerComponentBase
8 | extends Core {
9 | static const int typeKey = 66;
10 | @override
11 | int get coreType => StateMachineLayerComponentBase.typeKey;
12 | @override
13 | Set get coreTypes => {StateMachineLayerComponentBase.typeKey};
14 | }
15 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/state_machine_trigger_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/animation/state_machine_trigger_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/generated/animation/state_machine_component_base.dart';
6 | import 'package:rive/src/rive_core/animation/state_machine_input.dart';
7 |
8 | abstract class StateMachineTriggerBase extends StateMachineInput {
9 | static const int typeKey = 58;
10 | @override
11 | int get coreType => StateMachineTriggerBase.typeKey;
12 | @override
13 | Set get coreTypes => {
14 | StateMachineTriggerBase.typeKey,
15 | StateMachineInputBase.typeKey,
16 | StateMachineComponentBase.typeKey
17 | };
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/transition_artboard_condition_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/animation/transition_artboard_condition_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/generated/animation/transition_condition_base.dart';
6 | import 'package:rive/src/rive_core/animation/transition_viewmodel_condition.dart';
7 |
8 | abstract class TransitionArtboardConditionBase
9 | extends TransitionViewModelCondition {
10 | static const int typeKey = 497;
11 | @override
12 | int get coreType => TransitionArtboardConditionBase.typeKey;
13 | @override
14 | Set get coreTypes => {
15 | TransitionArtboardConditionBase.typeKey,
16 | TransitionViewModelConditionBase.typeKey,
17 | TransitionConditionBase.typeKey
18 | };
19 | }
20 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/transition_bool_condition_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/animation/transition_bool_condition_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/generated/animation/transition_condition_base.dart';
6 | import 'package:rive/src/generated/animation/transition_input_condition_base.dart';
7 | import 'package:rive/src/rive_core/animation/transition_value_condition.dart';
8 |
9 | abstract class TransitionBoolConditionBase extends TransitionValueCondition {
10 | static const int typeKey = 71;
11 | @override
12 | int get coreType => TransitionBoolConditionBase.typeKey;
13 | @override
14 | Set get coreTypes => {
15 | TransitionBoolConditionBase.typeKey,
16 | TransitionValueConditionBase.typeKey,
17 | TransitionInputConditionBase.typeKey,
18 | TransitionConditionBase.typeKey
19 | };
20 | }
21 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/transition_comparator_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/animation/transition_comparator_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/core/core.dart';
6 |
7 | abstract class TransitionComparatorBase extends Core {
8 | static const int typeKey = 477;
9 | @override
10 | int get coreType => TransitionComparatorBase.typeKey;
11 | @override
12 | Set get coreTypes => {TransitionComparatorBase.typeKey};
13 | }
14 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/transition_condition_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/animation/transition_condition_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/core/core.dart';
6 |
7 | abstract class TransitionConditionBase extends Core {
8 | static const int typeKey = 476;
9 | @override
10 | int get coreType => TransitionConditionBase.typeKey;
11 | @override
12 | Set get coreTypes => {TransitionConditionBase.typeKey};
13 | }
14 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/transition_property_comparator_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/animation/transition_property_comparator_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/rive_core/animation/transition_comparator.dart';
6 |
7 | abstract class TransitionPropertyComparatorBase extends TransitionComparator {
8 | static const int typeKey = 478;
9 | @override
10 | int get coreType => TransitionPropertyComparatorBase.typeKey;
11 | @override
12 | Set get coreTypes => {
13 | TransitionPropertyComparatorBase.typeKey,
14 | TransitionComparatorBase.typeKey
15 | };
16 | }
17 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/transition_property_viewmodel_comparator_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // nullnull
3 | // rt.
4 | // Do not modify manually.
5 |
6 | import 'package:rive/src/generated/animation/transition_comparator_base.dart';
7 | import 'package:rive/src/rive_core/animation/transition_property_comparator.dart';
8 |
9 | abstract class TransitionPropertyViewModelComparatorBase
10 | extends TransitionPropertyComparator {
11 | static const int typeKey = 479;
12 | @override
13 | int get coreType => TransitionPropertyViewModelComparatorBase.typeKey;
14 | @override
15 | Set get coreTypes => {
16 | TransitionPropertyViewModelComparatorBase.typeKey,
17 | TransitionPropertyComparatorBase.typeKey,
18 | TransitionComparatorBase.typeKey
19 | };
20 | }
21 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/transition_trigger_condition_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/animation/transition_trigger_condition_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/generated/animation/transition_condition_base.dart';
6 | import 'package:rive/src/rive_core/animation/transition_input_condition.dart';
7 |
8 | abstract class TransitionTriggerConditionBase extends TransitionInputCondition {
9 | static const int typeKey = 68;
10 | @override
11 | int get coreType => TransitionTriggerConditionBase.typeKey;
12 | @override
13 | Set get coreTypes => {
14 | TransitionTriggerConditionBase.typeKey,
15 | TransitionInputConditionBase.typeKey,
16 | TransitionConditionBase.typeKey
17 | };
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/generated/animation/transition_value_comparator_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/animation/transition_value_comparator_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/rive_core/animation/transition_comparator.dart';
6 |
7 | abstract class TransitionValueComparatorBase extends TransitionComparator {
8 | static const int typeKey = 480;
9 | @override
10 | int get coreType => TransitionValueComparatorBase.typeKey;
11 | @override
12 | Set get coreTypes =>
13 | {TransitionValueComparatorBase.typeKey, TransitionComparatorBase.typeKey};
14 | }
15 |
--------------------------------------------------------------------------------
/lib/src/generated/asset_base.dart:
--------------------------------------------------------------------------------
1 | /// Core automatically generated lib/src/generated/asset_base.dart.
2 | /// Do not modify manually.
3 |
4 | import 'package:rive/src/core/core.dart';
5 |
6 | abstract class AssetBase extends Core {
7 | static const int typeKey = 99;
8 | @override
9 | int get coreType => AssetBase.typeKey;
10 | @override
11 | Set get coreTypes => {AssetBase.typeKey};
12 | }
13 |
--------------------------------------------------------------------------------
/lib/src/generated/assets/audio_asset_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated lib/src/generated/assets/audio_asset_base.dart.
2 | // Do not modify manually.
3 |
4 | import 'package:rive/src/generated/assets/asset_base.dart';
5 | import 'package:rive/src/generated/assets/file_asset_base.dart';
6 | import 'package:rive/src/rive_core/assets/export_audio.dart';
7 |
8 | abstract class AudioAssetBase extends ExportAudio {
9 | static const int typeKey = 406;
10 | @override
11 | int get coreType => AudioAssetBase.typeKey;
12 | @override
13 | Set get coreTypes => {
14 | AudioAssetBase.typeKey,
15 | ExportAudioBase.typeKey,
16 | FileAssetBase.typeKey,
17 | AssetBase.typeKey
18 | };
19 | }
20 |
--------------------------------------------------------------------------------
/lib/src/generated/assets/folder_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated lib/src/generated/assets/folder_base.dart.
2 | // Do not modify manually.
3 |
4 | import 'package:rive/src/rive_core/assets/asset.dart';
5 |
6 | abstract class FolderBase extends Asset {
7 | static const int typeKey = 102;
8 | @override
9 | int get coreType => FolderBase.typeKey;
10 | @override
11 | Set get coreTypes => {FolderBase.typeKey, AssetBase.typeKey};
12 | }
13 |
--------------------------------------------------------------------------------
/lib/src/generated/assets/font_asset_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated lib/src/generated/assets/font_asset_base.dart.
2 | // Do not modify manually.
3 |
4 | import 'package:rive/src/generated/assets/asset_base.dart';
5 | import 'package:rive/src/rive_core/assets/file_asset.dart';
6 |
7 | abstract class FontAssetBase extends FileAsset {
8 | static const int typeKey = 141;
9 | @override
10 | int get coreType => FontAssetBase.typeKey;
11 | @override
12 | Set get coreTypes =>
13 | {FontAssetBase.typeKey, FileAssetBase.typeKey, AssetBase.typeKey};
14 | }
15 |
--------------------------------------------------------------------------------
/lib/src/generated/assets/image_asset_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated lib/src/generated/assets/image_asset_base.dart.
2 | // Do not modify manually.
3 |
4 | import 'package:rive/src/generated/assets/asset_base.dart';
5 | import 'package:rive/src/generated/assets/file_asset_base.dart';
6 | import 'package:rive/src/rive_core/assets/drawable_asset.dart';
7 |
8 | abstract class ImageAssetBase extends DrawableAsset {
9 | static const int typeKey = 105;
10 | @override
11 | int get coreType => ImageAssetBase.typeKey;
12 | @override
13 | Set get coreTypes => {
14 | ImageAssetBase.typeKey,
15 | DrawableAssetBase.typeKey,
16 | FileAssetBase.typeKey,
17 | AssetBase.typeKey
18 | };
19 | }
20 |
--------------------------------------------------------------------------------
/lib/src/generated/backboard_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated lib/src/generated/backboard_base.dart.
2 | // Do not modify manually.
3 |
4 | import 'package:rive/src/core/core.dart';
5 |
6 | abstract class BackboardBase extends Core {
7 | static const int typeKey = 23;
8 | @override
9 | int get coreType => BackboardBase.typeKey;
10 | @override
11 | Set get coreTypes => {BackboardBase.typeKey};
12 | }
13 |
--------------------------------------------------------------------------------
/lib/src/generated/bones/skeletal_component_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/bones/skeletal_component_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/generated/component_base.dart';
6 | import 'package:rive/src/generated/container_component_base.dart';
7 | import 'package:rive/src/generated/world_transform_component_base.dart';
8 | import 'package:rive/src/rive_core/transform_component.dart';
9 |
10 | abstract class SkeletalComponentBase extends TransformComponent {
11 | static const int typeKey = 39;
12 | @override
13 | int get coreType => SkeletalComponentBase.typeKey;
14 | @override
15 | Set get coreTypes => {
16 | SkeletalComponentBase.typeKey,
17 | TransformComponentBase.typeKey,
18 | WorldTransformComponentBase.typeKey,
19 | ContainerComponentBase.typeKey,
20 | ComponentBase.typeKey
21 | };
22 | }
23 |
--------------------------------------------------------------------------------
/lib/src/generated/container_component_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/container_component_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/rive_core/component.dart';
6 |
7 | abstract class ContainerComponentBase extends Component {
8 | static const int typeKey = 11;
9 | @override
10 | int get coreType => ContainerComponentBase.typeKey;
11 | @override
12 | Set get coreTypes =>
13 | {ContainerComponentBase.typeKey, ComponentBase.typeKey};
14 | }
15 |
--------------------------------------------------------------------------------
/lib/src/generated/custom_property_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated lib/src/generated/custom_property_base.dart.
2 | // Do not modify manually.
3 |
4 | import 'package:rive/src/rive_core/component.dart';
5 |
6 | abstract class CustomPropertyBase extends Component {
7 | static const int typeKey = 167;
8 | @override
9 | int get coreType => CustomPropertyBase.typeKey;
10 | @override
11 | Set get coreTypes => {CustomPropertyBase.typeKey, ComponentBase.typeKey};
12 | }
13 |
--------------------------------------------------------------------------------
/lib/src/generated/data_bind/bindable_property_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/data_bind/bindable_property_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/core/core.dart';
6 |
7 | abstract class BindablePropertyBase extends Core {
8 | static const int typeKey = 9;
9 | @override
10 | int get coreType => BindablePropertyBase.typeKey;
11 | @override
12 | Set get coreTypes => {BindablePropertyBase.typeKey};
13 | }
14 |
--------------------------------------------------------------------------------
/lib/src/generated/event_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated lib/src/generated/event_base.dart.
2 | // Do not modify manually.
3 |
4 | import 'package:rive/src/generated/component_base.dart';
5 | import 'package:rive/src/generated/container_component_base.dart';
6 | import 'package:rive/src/rive_core/container_component.dart';
7 |
8 | abstract class EventBase extends ContainerComponent {
9 | static const int typeKey = 128;
10 | @override
11 | int get coreType => EventBase.typeKey;
12 | @override
13 | Set get coreTypes => {
14 | EventBase.typeKey,
15 | ContainerComponentBase.typeKey,
16 | ComponentBase.typeKey
17 | };
18 |
19 | /// --------------------------------------------------------------------------
20 | /// Trigger field with key 395.
21 | static const int triggerPropertyKey = 395;
22 | void trigger(CallbackData value);
23 | }
24 |
--------------------------------------------------------------------------------
/lib/src/generated/layout_component_absolute_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/layout_component_absolute_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/generated/component_base.dart';
6 | import 'package:rive/src/generated/container_component_base.dart';
7 | import 'package:rive/src/generated/world_transform_component_base.dart';
8 | import 'package:rive/src/rive_core/layout_component.dart';
9 |
10 | abstract class AbsoluteLayoutComponentBase extends LayoutComponent {
11 | static const int typeKey = 423;
12 | @override
13 | int get coreType => AbsoluteLayoutComponentBase.typeKey;
14 | @override
15 | Set get coreTypes => {
16 | AbsoluteLayoutComponentBase.typeKey,
17 | LayoutComponentBase.typeKey,
18 | WorldTransformComponentBase.typeKey,
19 | ContainerComponentBase.typeKey,
20 | ComponentBase.typeKey
21 | };
22 | }
23 |
--------------------------------------------------------------------------------
/lib/src/generated/shapes/contour_mesh_vertex_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/shapes/contour_mesh_vertex_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/generated/component_base.dart';
6 | import 'package:rive/src/generated/container_component_base.dart';
7 | import 'package:rive/src/generated/shapes/vertex_base.dart';
8 | import 'package:rive/src/rive_core/shapes/mesh_vertex.dart';
9 |
10 | abstract class ContourMeshVertexBase extends MeshVertex {
11 | static const int typeKey = 111;
12 | @override
13 | int get coreType => ContourMeshVertexBase.typeKey;
14 | @override
15 | Set get coreTypes => {
16 | ContourMeshVertexBase.typeKey,
17 | MeshVertexBase.typeKey,
18 | VertexBase.typeKey,
19 | ContainerComponentBase.typeKey,
20 | ComponentBase.typeKey
21 | };
22 | }
23 |
--------------------------------------------------------------------------------
/lib/src/generated/shapes/cubic_vertex_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/shapes/cubic_vertex_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/generated/component_base.dart';
6 | import 'package:rive/src/generated/container_component_base.dart';
7 | import 'package:rive/src/generated/shapes/vertex_base.dart';
8 | import 'package:rive/src/rive_core/bones/cubic_weight.dart';
9 | import 'package:rive/src/rive_core/shapes/path_vertex.dart';
10 |
11 | abstract class CubicVertexBase extends PathVertex {
12 | static const int typeKey = 36;
13 | @override
14 | int get coreType => CubicVertexBase.typeKey;
15 | @override
16 | Set get coreTypes => {
17 | CubicVertexBase.typeKey,
18 | PathVertexBase.typeKey,
19 | VertexBase.typeKey,
20 | ContainerComponentBase.typeKey,
21 | ComponentBase.typeKey
22 | };
23 | }
24 |
--------------------------------------------------------------------------------
/lib/src/generated/shapes/paint/radial_gradient_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/shapes/paint/radial_gradient_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/generated/component_base.dart';
6 | import 'package:rive/src/generated/container_component_base.dart';
7 | import 'package:rive/src/rive_core/shapes/paint/linear_gradient.dart';
8 |
9 | abstract class RadialGradientBase extends LinearGradient {
10 | static const int typeKey = 17;
11 | @override
12 | int get coreType => RadialGradientBase.typeKey;
13 | @override
14 | Set get coreTypes => {
15 | RadialGradientBase.typeKey,
16 | LinearGradientBase.typeKey,
17 | ContainerComponentBase.typeKey,
18 | ComponentBase.typeKey
19 | };
20 | }
21 |
--------------------------------------------------------------------------------
/lib/src/generated/shapes/path_composer_base.dart:
--------------------------------------------------------------------------------
1 | /// Core automatically generated
2 | /// lib/src/generated/shapes/path_composer_base.dart.
3 | /// Do not modify manually.
4 |
5 | import 'package:rive/src/rive_core/component.dart';
6 |
7 | abstract class PathComposerBase extends Component {
8 | static const int typeKey = 9;
9 | @override
10 | int get coreType => PathComposerBase.typeKey;
11 | @override
12 | Set get coreTypes => {PathComposerBase.typeKey, ComponentBase.typeKey};
13 | }
14 |
--------------------------------------------------------------------------------
/lib/src/generated/shapes/path_vertex_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated lib/src/generated/shapes/path_vertex_base.dart.
2 | // Do not modify manually.
3 |
4 | import 'package:rive/src/generated/component_base.dart';
5 | import 'package:rive/src/generated/container_component_base.dart';
6 | import 'package:rive/src/rive_core/bones/weight.dart';
7 | import 'package:rive/src/rive_core/shapes/vertex.dart';
8 |
9 | abstract class PathVertexBase extends Vertex {
10 | static const int typeKey = 14;
11 | @override
12 | int get coreType => PathVertexBase.typeKey;
13 | @override
14 | Set get coreTypes => {
15 | PathVertexBase.typeKey,
16 | VertexBase.typeKey,
17 | ContainerComponentBase.typeKey,
18 | ComponentBase.typeKey
19 | };
20 | }
21 |
--------------------------------------------------------------------------------
/lib/src/generated/shapes/shape_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated lib/src/generated/shapes/shape_base.dart.
2 | // Do not modify manually.
3 |
4 | import 'package:rive/src/generated/component_base.dart';
5 | import 'package:rive/src/generated/container_component_base.dart';
6 | import 'package:rive/src/generated/node_base.dart';
7 | import 'package:rive/src/generated/transform_component_base.dart';
8 | import 'package:rive/src/generated/world_transform_component_base.dart';
9 | import 'package:rive/src/rive_core/drawable.dart';
10 |
11 | abstract class ShapeBase extends Drawable {
12 | static const int typeKey = 3;
13 | @override
14 | int get coreType => ShapeBase.typeKey;
15 | @override
16 | Set get coreTypes => {
17 | ShapeBase.typeKey,
18 | DrawableBase.typeKey,
19 | NodeBase.typeKey,
20 | TransformComponentBase.typeKey,
21 | WorldTransformComponentBase.typeKey,
22 | ContainerComponentBase.typeKey,
23 | ComponentBase.typeKey
24 | };
25 | }
26 |
--------------------------------------------------------------------------------
/lib/src/generated/text/text_modifier_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated lib/src/generated/text/text_modifier_base.dart.
2 | // Do not modify manually.
3 |
4 | import 'package:rive/src/rive_core/component.dart';
5 |
6 | abstract class TextModifierBase extends Component {
7 | static const int typeKey = 160;
8 | @override
9 | int get coreType => TextModifierBase.typeKey;
10 | @override
11 | Set get coreTypes => {TextModifierBase.typeKey, ComponentBase.typeKey};
12 | }
13 |
--------------------------------------------------------------------------------
/lib/src/generated/text/text_shape_modifier_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/text/text_shape_modifier_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/generated/component_base.dart';
6 | import 'package:rive/src/rive_core/text/text_modifier.dart';
7 |
8 | abstract class TextShapeModifierBase extends TextModifier {
9 | static const int typeKey = 161;
10 | @override
11 | int get coreType => TextShapeModifierBase.typeKey;
12 | @override
13 | Set get coreTypes => {
14 | TextShapeModifierBase.typeKey,
15 | TextModifierBase.typeKey,
16 | ComponentBase.typeKey
17 | };
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/generated/viewmodel/data_enum_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/viewmodel/data_enum_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/core/core.dart';
6 |
7 | abstract class DataEnumBase extends Core {
8 | static const int typeKey = 438;
9 | @override
10 | int get coreType => DataEnumBase.typeKey;
11 | @override
12 | Set get coreTypes => {DataEnumBase.typeKey};
13 | }
14 |
--------------------------------------------------------------------------------
/lib/src/generated/viewmodel/viewmodel_instance_list_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/viewmodel/viewmodel_instance_list_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/generated/viewmodel/viewmodel_instance_value_base.dart';
6 | import 'package:rive/src/rive_core/viewmodel/viewmodel_instance_value.dart';
7 |
8 | abstract class ViewModelInstanceListBase extends ViewModelInstanceValue {
9 | static const int typeKey = 441;
10 | @override
11 | int get coreType => ViewModelInstanceListBase.typeKey;
12 | @override
13 | Set get coreTypes =>
14 | {ViewModelInstanceListBase.typeKey, ViewModelInstanceValueBase.typeKey};
15 | }
16 |
--------------------------------------------------------------------------------
/lib/src/generated/viewmodel/viewmodel_property_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/viewmodel/viewmodel_property_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/rive_core/viewmodel/viewmodel_component.dart';
6 |
7 | abstract class ViewModelPropertyBase extends ViewModelComponent {
8 | static const int typeKey = 430;
9 | @override
10 | int get coreType => ViewModelPropertyBase.typeKey;
11 | @override
12 | Set get coreTypes =>
13 | {ViewModelPropertyBase.typeKey, ViewModelComponentBase.typeKey};
14 | }
15 |
--------------------------------------------------------------------------------
/lib/src/generated/viewmodel/viewmodel_property_boolean_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/viewmodel/viewmodel_property_boolean_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/generated/viewmodel/viewmodel_component_base.dart';
6 | import 'package:rive/src/rive_core/viewmodel/viewmodel_property.dart';
7 |
8 | abstract class ViewModelPropertyBooleanBase extends ViewModelProperty {
9 | static const int typeKey = 448;
10 | @override
11 | int get coreType => ViewModelPropertyBooleanBase.typeKey;
12 | @override
13 | Set get coreTypes => {
14 | ViewModelPropertyBooleanBase.typeKey,
15 | ViewModelPropertyBase.typeKey,
16 | ViewModelComponentBase.typeKey
17 | };
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/generated/viewmodel/viewmodel_property_color_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/viewmodel/viewmodel_property_color_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/generated/viewmodel/viewmodel_component_base.dart';
6 | import 'package:rive/src/rive_core/viewmodel/viewmodel_property.dart';
7 |
8 | abstract class ViewModelPropertyColorBase extends ViewModelProperty {
9 | static const int typeKey = 440;
10 | @override
11 | int get coreType => ViewModelPropertyColorBase.typeKey;
12 | @override
13 | Set get coreTypes => {
14 | ViewModelPropertyColorBase.typeKey,
15 | ViewModelPropertyBase.typeKey,
16 | ViewModelComponentBase.typeKey
17 | };
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/generated/viewmodel/viewmodel_property_list_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/viewmodel/viewmodel_property_list_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/generated/viewmodel/viewmodel_component_base.dart';
6 | import 'package:rive/src/rive_core/viewmodel/viewmodel_property.dart';
7 |
8 | abstract class ViewModelPropertyListBase extends ViewModelProperty {
9 | static const int typeKey = 434;
10 | @override
11 | int get coreType => ViewModelPropertyListBase.typeKey;
12 | @override
13 | Set get coreTypes => {
14 | ViewModelPropertyListBase.typeKey,
15 | ViewModelPropertyBase.typeKey,
16 | ViewModelComponentBase.typeKey
17 | };
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/generated/viewmodel/viewmodel_property_number_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/viewmodel/viewmodel_property_number_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/generated/viewmodel/viewmodel_component_base.dart';
6 | import 'package:rive/src/rive_core/viewmodel/viewmodel_property.dart';
7 |
8 | abstract class ViewModelPropertyNumberBase extends ViewModelProperty {
9 | static const int typeKey = 431;
10 | @override
11 | int get coreType => ViewModelPropertyNumberBase.typeKey;
12 | @override
13 | Set get coreTypes => {
14 | ViewModelPropertyNumberBase.typeKey,
15 | ViewModelPropertyBase.typeKey,
16 | ViewModelComponentBase.typeKey
17 | };
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/generated/viewmodel/viewmodel_property_string_base.dart:
--------------------------------------------------------------------------------
1 | // Core automatically generated
2 | // lib/src/generated/viewmodel/viewmodel_property_string_base.dart.
3 | // Do not modify manually.
4 |
5 | import 'package:rive/src/generated/viewmodel/viewmodel_component_base.dart';
6 | import 'package:rive/src/rive_core/viewmodel/viewmodel_property.dart';
7 |
8 | abstract class ViewModelPropertyStringBase extends ViewModelProperty {
9 | static const int typeKey = 443;
10 | @override
11 | int get coreType => ViewModelPropertyStringBase.typeKey;
12 | @override
13 | Set get coreTypes => {
14 | ViewModelPropertyStringBase.typeKey,
15 | ViewModelPropertyBase.typeKey,
16 | ViewModelComponentBase.typeKey
17 | };
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/layer_component_events.dart:
--------------------------------------------------------------------------------
1 | import 'dart:collection';
2 |
3 | import 'package:rive/src/rive_core/animation/state_machine_fire_event.dart';
4 |
5 | class LayerComponentEvents extends ListBase {
6 | final List _values = [];
7 | List get values =>
8 | _values.cast();
9 |
10 | @override
11 | int get length => _values.length;
12 |
13 | @override
14 | set length(int value) => _values.length = value;
15 |
16 | @override
17 | StateMachineFireEvent operator [](int index) => _values[index]!;
18 |
19 | @override
20 | void operator []=(int index, StateMachineFireEvent value) =>
21 | _values[index] = value;
22 | }
23 |
--------------------------------------------------------------------------------
/lib/src/listener_actions.dart:
--------------------------------------------------------------------------------
1 | import 'dart:collection';
2 |
3 | import 'package:rive/src/rive_core/animation/listener_action.dart';
4 |
5 | class ListenerActions extends ListBase {
6 | final List _values = [];
7 | List get values => _values.cast();
8 |
9 | @override
10 | int get length => _values.length;
11 |
12 | @override
13 | set length(int value) => _values.length = value;
14 |
15 | @override
16 | ListenerAction operator [](int index) => _values[index]!;
17 |
18 | @override
19 | void operator []=(int index, ListenerAction value) => _values[index] = value;
20 | }
21 |
--------------------------------------------------------------------------------
/lib/src/local_file_io.dart:
--------------------------------------------------------------------------------
1 | import 'dart:io';
2 | import 'dart:typed_data';
3 |
4 | /// Load a list of bytes from a file on the local filesystem at [path].
5 | Future localFileBytes(String path) => File(path).readAsBytes();
6 |
--------------------------------------------------------------------------------
/lib/src/local_file_web.dart:
--------------------------------------------------------------------------------
1 | import 'dart:typed_data';
2 |
3 | /// Load a list of bytes from a file on the local filesystem at [path].
4 | Future localFileBytes(String path) =>
5 | throw UnsupportedError('Cannot load from a local file on the web.');
6 |
--------------------------------------------------------------------------------
/lib/src/platform.dart:
--------------------------------------------------------------------------------
1 | import 'platform_native.dart' if (dart.library.js_interop) 'platform_web.dart';
2 |
3 | abstract class Platform {
4 | bool get isTesting;
5 | static final Platform instance = makePlatform();
6 | }
7 |
--------------------------------------------------------------------------------
/lib/src/platform_native.dart:
--------------------------------------------------------------------------------
1 | import 'dart:io' as io show Platform;
2 |
3 | import 'platform.dart';
4 |
5 | Platform makePlatform() => PlatformNative();
6 |
7 | class PlatformNative extends Platform {
8 | @override
9 | bool get isTesting => io.Platform.environment.containsKey('FLUTTER_TEST');
10 | }
11 |
--------------------------------------------------------------------------------
/lib/src/platform_web.dart:
--------------------------------------------------------------------------------
1 | import 'platform.dart';
2 |
3 | Platform makePlatform() => PlatformWeb();
4 |
5 | class PlatformWeb extends Platform {
6 | @override
7 | bool get isTesting => false;
8 | }
9 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/advanceable_state.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/animation/advanceable_state_base.dart';
2 | export 'package:rive/src/generated/animation/advanceable_state_base.dart';
3 |
4 | abstract class AdvanceableState extends AdvanceableStateBase {
5 | @override
6 | void speedChanged(double from, double to) {}
7 | }
8 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/animation.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/core.dart';
2 | import 'package:rive/src/generated/animation/animation_base.dart';
3 | import 'package:rive/src/rive_core/artboard.dart';
4 |
5 | export 'package:rive/src/generated/animation/animation_base.dart';
6 |
7 | class Animation extends AnimationBase {
8 | Artboard? _artboard;
9 |
10 | Artboard? get artboard => _artboard;
11 | set artboard(Artboard? value) {
12 | if (_artboard == value) {
13 | return;
14 | }
15 |
16 | _artboard?.internalRemoveAnimation(this);
17 | _artboard = value;
18 | _artboard?.internalAddAnimation(this);
19 | }
20 |
21 | @override
22 | void onAddedDirty() {}
23 |
24 | @override
25 | void onAdded() {}
26 |
27 | @override
28 | bool validate() => super.validate() && _artboard != null;
29 |
30 | @override
31 | void nameChanged(String from, String to) {}
32 | }
33 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/any_state.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/animation/any_state_base.dart';
2 | import 'package:rive/src/rive_core/animation/state_instance.dart';
3 |
4 | export 'package:rive/src/generated/animation/any_state_base.dart';
5 |
6 | class AnyState extends AnyStateBase {
7 | @override
8 | StateInstance makeInstance() => SystemStateInstance(this);
9 | }
10 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/blend_animation_1d.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/animation/blend_animation_1d_base.dart';
2 | export 'package:rive/src/generated/animation/blend_animation_1d_base.dart';
3 |
4 | class BlendAnimation1D extends BlendAnimation1DBase {
5 | @override
6 | void valueChanged(double from, double to) {}
7 | }
8 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/blend_state.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/core.dart';
2 | import 'package:rive/src/generated/animation/blend_state_base.dart';
3 | import 'package:rive/src/rive_core/animation/blend_animation.dart';
4 |
5 | export 'package:rive/src/generated/animation/blend_state_base.dart';
6 |
7 | //
8 | abstract class BlendState extends BlendStateBase {
9 | final BlendAnimations _animations = BlendAnimations();
10 | BlendAnimations get animations => _animations;
11 |
12 | void internalAddAnimation(T animation) {
13 | assert(!_animations.contains(animation),
14 | 'shouldn\'t already contain the animation');
15 | _animations.add(animation);
16 | }
17 |
18 | void internalRemoveAnimation(T animation) {
19 | _animations.remove(animation);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/blend_state_direct.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/animation/blend_state_direct_base.dart';
2 | import 'package:rive/src/rive_core/animation/blend_state_direct_instance.dart';
3 | import 'package:rive/src/rive_core/animation/state_instance.dart';
4 |
5 | export 'package:rive/src/generated/animation/blend_state_direct_base.dart';
6 |
7 | class BlendStateDirect extends BlendStateDirectBase {
8 | @override
9 | StateInstance makeInstance() => BlendStateDirectInstance(this);
10 | }
11 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/entry_state.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/animation/entry_state_base.dart';
2 | import 'package:rive/src/rive_core/animation/state_instance.dart';
3 |
4 | export 'package:rive/src/generated/animation/entry_state_base.dart';
5 |
6 | class EntryState extends EntryStateBase {
7 | @override
8 | StateInstance makeInstance() => SystemStateInstance(this);
9 | }
10 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/exit_state.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/animation/exit_state_base.dart';
2 | import 'package:rive/src/rive_core/animation/state_instance.dart';
3 |
4 | export 'package:rive/src/generated/animation/exit_state_base.dart';
5 |
6 | class ExitState extends ExitStateBase {
7 | @override
8 | StateInstance makeInstance() => SystemStateInstance(this);
9 | }
10 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/interpolator.dart:
--------------------------------------------------------------------------------
1 | abstract class Interpolator {
2 | int get id;
3 |
4 | /// Convert a linear interpolation factor to an eased one. Returns a factor
5 | double transform(double f);
6 |
7 | /// Convert a linear interpolation factor to an eased one for from->to values.
8 | /// Returns a value instead of a factor.
9 | double transformValue(double from, double to, double f);
10 |
11 | bool equalParameters(Interpolator other);
12 | }
13 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/keyframe_bool.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/core.dart';
2 | import 'package:rive/src/generated/animation/keyframe_bool_base.dart';
3 | export 'package:rive/src/generated/animation/keyframe_bool_base.dart';
4 |
5 | /// KeyFrame for animating bool properties.
6 | class KeyFrameBool extends KeyFrameBoolBase {
7 | @override
8 | bool get canInterpolate => false;
9 |
10 | @override
11 | void apply(Core object, int propertyKey, double mix) {
12 | RiveCoreContext.setBool(object, propertyKey, value);
13 | }
14 |
15 | @override
16 | void applyInterpolation(Core object, int propertyKey,
17 | double currentTime, KeyFrameBool nextFrame, double mix) {
18 | RiveCoreContext.setBool(object, propertyKey, value);
19 | }
20 |
21 | @override
22 | void valueChanged(bool from, bool to) {}
23 | }
24 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/keyframe_callback.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/core.dart';
2 | import 'package:rive/src/generated/animation/keyframe_callback_base.dart';
3 | import 'package:rive/src/rive_core/animation/keyframe.dart';
4 |
5 | export 'package:rive/src/generated/animation/keyframe_callback_base.dart';
6 |
7 | class KeyFrameCallback extends KeyFrameCallbackBase {
8 | @override
9 | void apply(Core object, int propertyKey, double mix) {}
10 |
11 | @override
12 | void applyInterpolation(Core object, int propertyKey,
13 | double seconds, covariant KeyFrame nextFrame, double mix) {}
14 | }
15 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/keyframe_id.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/core.dart';
2 | import 'package:rive/src/generated/animation/keyframe_id_base.dart';
3 |
4 | export 'package:rive/src/generated/animation/keyframe_id_base.dart';
5 |
6 | class KeyFrameId extends KeyFrameIdBase {
7 | @override
8 | bool get canInterpolate => false;
9 |
10 | @override
11 | void apply(Core object, int propertyKey, double mix) {
12 | RiveCoreContext.setUint(object, propertyKey, value);
13 | }
14 |
15 | @override
16 | void applyInterpolation(Core object, int propertyKey,
17 | double currentTime, KeyFrameId nextFrame, double mix) {
18 | RiveCoreContext.setUint(object, propertyKey, value);
19 | }
20 |
21 | @override
22 | void valueChanged(int from, int to) {}
23 | }
24 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/keyframe_interpolation.dart:
--------------------------------------------------------------------------------
1 | /// The type of interpolation used for a keyframe.
2 | enum KeyFrameInterpolation {
3 | /// Hold the incoming value until the next keyframe is reached.
4 | hold,
5 |
6 | /// Linearly interpolate from the incoming to the outgoing value.
7 | linear,
8 |
9 | /// Cubicly interpolate from incoming to outgoing value based on the
10 | /// [CubicInterpolator]'s parameters.
11 | cubic,
12 |
13 | /// Cubicly interpolate from incoming to outgoing value based on the
14 | /// [CubicInterpolator]'s parameters.
15 | cubicValue,
16 |
17 | /// Elastic easing.
18 | elastic,
19 | }
20 |
21 | extension KeyFrameInterpolationExtension on KeyFrameInterpolation {
22 | /// Should this type use the interpolation value field beneath the
23 | /// curve preview
24 | bool get usesValuesField => [
25 | KeyFrameInterpolation.hold,
26 | KeyFrameInterpolation.linear,
27 | KeyFrameInterpolation.cubic,
28 | ].contains(this);
29 | }
30 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/keyframe_interpolator.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/core.dart';
2 | import 'package:rive/src/generated/animation/keyframe_interpolator_base.dart';
3 | import 'package:rive/src/rive_core/animation/interpolator.dart';
4 | import 'package:rive/src/rive_core/artboard.dart';
5 |
6 | export 'package:rive/src/generated/animation/keyframe_interpolator_base.dart';
7 |
8 | abstract class KeyFrameInterpolator extends KeyFrameInterpolatorBase
9 | implements Interpolator {
10 | @override
11 | void onAdded() => updateInterpolator();
12 |
13 | @protected
14 | void updateInterpolator() {}
15 |
16 | @override
17 | bool import(ImportStack stack) {
18 | var artboardHelper = stack.latest(ArtboardBase.typeKey);
19 | if (artboardHelper == null) {
20 | return false;
21 | }
22 | artboardHelper.addComponent(this);
23 |
24 | return super.import(stack);
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/keyframe_string.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/core.dart';
2 | import 'package:rive/src/generated/animation/keyframe_string_base.dart';
3 |
4 | export 'package:rive/src/generated/animation/keyframe_id_base.dart';
5 |
6 | class KeyFrameString extends KeyFrameStringBase {
7 | @override
8 | bool get canInterpolate => false;
9 |
10 | @override
11 | void apply(Core object, int propertyKey, double mix) {
12 | RiveCoreContext.setString(object, propertyKey, value);
13 | }
14 |
15 | @override
16 | void applyInterpolation(Core object, int propertyKey,
17 | double currentTime, KeyFrameString nextFrame, double mix) {
18 | RiveCoreContext.setString(object, propertyKey, value);
19 | }
20 |
21 | @override
22 | void valueChanged(String from, String to) {}
23 | }
24 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/keyframe_uint.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/core.dart';
2 | import 'package:rive/src/generated/animation/keyframe_uint_base.dart';
3 | export 'package:rive/src/generated/animation/keyframe_uint_base.dart';
4 |
5 | /// KeyFrame for animating uint properties.
6 | class KeyFrameUint extends KeyFrameUintBase {
7 | @override
8 | bool get canInterpolate => false;
9 |
10 | @override
11 | void apply(Core object, int propertyKey, double mix) {
12 | RiveCoreContext.setUint(object, propertyKey, value);
13 | }
14 |
15 | @override
16 | void applyInterpolation(Core object, int propertyKey,
17 | double currentTime, KeyFrameUint nextFrame, double mix) {
18 | RiveCoreContext.setUint(object, propertyKey, value);
19 | }
20 |
21 | @override
22 | void valueChanged(int from, int to) {}
23 | }
24 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/listener_fire_event.dart:
--------------------------------------------------------------------------------
1 | library rive_core;
2 |
3 | import 'package:rive/src/generated/animation/listener_fire_event_base.dart';
4 | import 'package:rive/src/rive_core/event.dart';
5 | import 'package:rive/src/rive_core/state_machine_controller.dart';
6 | import 'package:rive_common/math.dart';
7 |
8 | export 'package:rive/src/generated/animation/listener_fire_event_base.dart';
9 |
10 | class ListenerFireEvent extends ListenerFireEventBase {
11 | @override
12 | void eventIdChanged(int from, int to) {}
13 |
14 | @override
15 | void perform(StateMachineController controller, Vec2D position,
16 | Vec2D previousPosition) {
17 | Event? event = controller.artboard?.context.resolve(eventId);
18 | if (event != null) {
19 | controller.reportEvent(event);
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/listener_number_change.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/animation/listener_number_change_base.dart';
2 | import 'package:rive/src/rive_core/animation/nested_number.dart';
3 | import 'package:rive/src/rive_core/state_machine_controller.dart';
4 | import 'package:rive_common/math.dart';
5 |
6 | export 'package:rive/src/generated/animation/listener_number_change_base.dart';
7 |
8 | class ListenerNumberChange extends ListenerNumberChangeBase {
9 | @override
10 | void valueChanged(double from, double to) {}
11 |
12 | @override
13 | void perform(StateMachineController controller, Vec2D position,
14 | Vec2D previousPosition) {
15 | var nestedInput = nestedInputForController(controller);
16 | if (nestedInput != null && nestedInput is NestedNumber) {
17 | nestedInput.nestedValue = value;
18 | } else {
19 | controller.setInputValue(inputId, value);
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/listener_viewmodel_change.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/animation/listener_viewmodel_change_base.dart';
2 | import 'package:rive/src/rive_core/state_machine_controller.dart';
3 | import 'package:rive_common/math.dart';
4 |
5 | export 'package:rive/src/generated/animation/listener_viewmodel_change_base.dart';
6 |
7 | class ListenerViewModelChange extends ListenerViewModelChangeBase {
8 | @override
9 | void perform(StateMachineController controller, Vec2D position,
10 | Vec2D previousPosition) {}
11 | }
12 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/loop.dart:
--------------------------------------------------------------------------------
1 | /// Loop options for linear animations.
2 | enum Loop {
3 | /// Play until the duration or end of work area of the animation.
4 | oneShot,
5 |
6 | /// Play until the duration or end of work area of the animation and then go
7 | /// back to the start (0 seconds).
8 | loop,
9 |
10 | /// Play to the end of the duration/work area and then play back.
11 | pingPong,
12 | }
13 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/nested_bool.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/animation/nested_bool_base.dart';
2 | export 'package:rive/src/generated/animation/nested_bool_base.dart';
3 |
4 | class NestedBool extends NestedBoolBase {
5 | @override
6 | void nestedValueChanged(bool from, bool to) => updateValue();
7 |
8 | @override
9 | void updateValue() => nestedStateMachine?.setInputValue(inputId, nestedValue);
10 |
11 | @override
12 | set nestedValue(bool value) {
13 | super.nestedValue = value;
14 |
15 | updateValue();
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/nested_number.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/animation/nested_number_base.dart';
2 | export 'package:rive/src/generated/animation/nested_number_base.dart';
3 |
4 | class NestedNumber extends NestedNumberBase {
5 | @override
6 | void nestedValueChanged(double from, double to) => updateValue();
7 |
8 | @override
9 | void updateValue() => nestedStateMachine?.setInputValue(inputId, nestedValue);
10 |
11 | @override
12 | set nestedValue(double value) {
13 | super.nestedValue = value;
14 |
15 | updateValue();
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/nested_remap_animation.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/animation/nested_remap_animation_base.dart';
2 | import 'package:rive/src/rive_core/animation/nested_linear_animation.dart';
3 |
4 | export 'package:rive/src/generated/animation/nested_remap_animation_base.dart';
5 |
6 | class NestedRemapAnimation extends NestedRemapAnimationBase {
7 | @override
8 | void timeChanged(double from, double to) => syncTime();
9 |
10 | void syncTime() {
11 | if (linearAnimationInstance != null) {
12 | linearAnimationInstance!
13 | .goto(linearAnimationInstance!.durationSeconds * time);
14 | }
15 | }
16 |
17 | @override
18 | void linearAnimationInstanceChanged(NestedLinearAnimationInstance? from,
19 | NestedLinearAnimationInstance? to) =>
20 | syncTime();
21 |
22 | @override
23 | bool get isEnabled => true;
24 | }
25 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/nested_trigger.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/core.dart';
2 | import 'package:rive/src/generated/animation/nested_trigger_base.dart';
3 | import 'package:rive/src/rive_core/notifier.dart';
4 |
5 | export 'package:rive/src/generated/animation/nested_trigger_base.dart';
6 |
7 | class NestedTrigger extends NestedTriggerBase {
8 | final Notifier firedTrigger = Notifier();
9 |
10 | @override
11 | void fire(CallbackData data) {
12 | // Need to pass the CallbackData?
13 | firedTrigger.notify();
14 |
15 | updateValue();
16 | }
17 |
18 | @override
19 | void updateValue() => nestedStateMachine?.setInputValue(inputId, true);
20 | }
21 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/state_machine_bool.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/animation/state_machine_bool_base.dart';
2 | export 'package:rive/src/generated/animation/state_machine_bool_base.dart';
3 |
4 | class StateMachineBool extends StateMachineBoolBase {
5 | @override
6 | void valueChanged(bool from, bool to) {}
7 |
8 | @override
9 | bool isValidType() => T == bool;
10 | }
11 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/state_machine_input.dart:
--------------------------------------------------------------------------------
1 | // ignore_for_file: use_setters_to_change_properties
2 |
3 | import 'dart:collection';
4 |
5 | import 'package:rive/src/generated/animation/state_machine_input_base.dart';
6 | import 'package:rive/src/rive_core/animation/state_machine.dart';
7 | import 'package:rive/src/rive_core/animation/state_machine_component.dart';
8 |
9 | export 'package:rive/src/generated/animation/state_machine_input_base.dart';
10 |
11 | abstract class StateMachineInput extends StateMachineInputBase {
12 | static final StateMachineInput unknown = _StateMachineUnknownInput();
13 |
14 | @override
15 | ListBase machineComponentList(StateMachine machine) =>
16 | machine.inputs;
17 |
18 | bool isValidType() => false;
19 | }
20 |
21 | class _StateMachineUnknownInput extends StateMachineInput {}
22 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/state_machine_number.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/animation/state_machine_number_base.dart';
2 | export 'package:rive/src/generated/animation/state_machine_number_base.dart';
3 |
4 | class StateMachineNumber extends StateMachineNumberBase {
5 | @override
6 | void valueChanged(double from, double to) {}
7 | }
8 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/state_machine_trigger.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/animation/state_machine_trigger_base.dart';
2 | export 'package:rive/src/generated/animation/state_machine_trigger_base.dart';
3 |
4 | class StateMachineTrigger extends StateMachineTriggerBase {
5 | void fire() {}
6 |
7 | @override
8 | bool isValidType() => T == bool;
9 | }
10 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/transition_artboard_condition.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/animation/transition_artboard_condition_base.dart';
2 |
3 | export 'package:rive/src/generated/animation/transition_artboard_condition_base.dart';
4 |
5 | class TransitionArtboardCondition extends TransitionArtboardConditionBase {}
6 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/transition_condition.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/core.dart';
2 | import 'package:rive/src/generated/animation/transition_condition_base.dart';
3 | import 'package:rive/src/rive_core/animation/state_transition.dart';
4 |
5 | export 'package:rive/src/generated/animation/transition_condition_base.dart';
6 |
7 | enum TransitionConditionOp {
8 | equal,
9 | notEqual,
10 | lessThanOrEqual,
11 | greaterThanOrEqual,
12 | lessThan,
13 | greaterThan,
14 | }
15 |
16 | abstract class TransitionCondition extends TransitionConditionBase {
17 | @override
18 | void onAdded() {}
19 |
20 | @override
21 | void onAddedDirty() {}
22 |
23 | @override
24 | bool import(ImportStack importStack) {
25 | var importer = importStack
26 | .latest(StateTransitionBase.typeKey);
27 | if (importer == null) {
28 | return false;
29 | }
30 | importer.addCondition(this);
31 |
32 | return super.import(importStack);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/transition_property_comparator.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/animation/transition_property_comparator_base.dart';
2 |
3 | export 'package:rive/src/generated/animation/transition_property_comparator_base.dart';
4 |
5 | abstract class TransitionPropertyComparator
6 | extends TransitionPropertyComparatorBase {}
7 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/transition_property_viewmodel_comparator.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/animation/transition_property_viewmodel_comparator_base.dart';
2 | import 'package:rive/src/rive_core/animation/transition_comparator.dart';
3 | import 'package:rive/src/rive_core/animation/transition_condition.dart';
4 |
5 | export 'package:rive/src/generated/animation/transition_property_viewmodel_comparator_base.dart';
6 |
7 | class TransitionPropertyViewModelComparator
8 | extends TransitionPropertyViewModelComparatorBase {
9 | @override
10 | void onAdded() {}
11 |
12 | @override
13 | void onAddedDirty() {}
14 |
15 | @override
16 | bool compare(
17 | TransitionComparator comparand, TransitionConditionOp operation) {
18 | return false;
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/transition_trigger_condition.dart:
--------------------------------------------------------------------------------
1 | import 'dart:collection';
2 |
3 | import 'package:rive/src/generated/animation/transition_trigger_condition_base.dart';
4 | import 'package:rive/src/rive_core/animation/state_machine_trigger.dart';
5 |
6 | export 'package:rive/src/generated/animation/transition_trigger_condition_base.dart';
7 |
8 | class TransitionTriggerCondition extends TransitionTriggerConditionBase {
9 | @override
10 | bool validate() => super.validate() && (input is StateMachineTrigger);
11 |
12 | @override
13 | bool evaluate(HashMap values) {
14 | if (input is! StateMachineTrigger) {
15 | return true;
16 | }
17 | dynamic providedValue = values[input.id];
18 | if (providedValue is bool && providedValue) {
19 | return true;
20 | }
21 | return false;
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/transition_value_boolean_comparator.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/animation/transition_value_boolean_comparator_base.dart';
2 | import 'package:rive/src/rive_core/animation/transition_comparator.dart';
3 | import 'package:rive/src/rive_core/animation/transition_condition.dart';
4 |
5 | export 'package:rive/src/generated/animation/transition_value_boolean_comparator_base.dart';
6 |
7 | class TransitionValueBooleanComparator
8 | extends TransitionValueBooleanComparatorBase {
9 | @override
10 | void valueChanged(bool from, bool to) {}
11 |
12 | @override
13 | void onAdded() {}
14 |
15 | @override
16 | void onAddedDirty() {}
17 |
18 | @override
19 | bool compare(
20 | TransitionComparator comparand, TransitionConditionOp operation) {
21 | return false;
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/transition_value_color_comparator.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/animation/transition_value_color_comparator_base.dart';
2 | import 'package:rive/src/rive_core/animation/transition_comparator.dart';
3 | import 'package:rive/src/rive_core/animation/transition_condition.dart';
4 |
5 | export 'package:rive/src/generated/animation/transition_value_color_comparator_base.dart';
6 |
7 | class TransitionValueColorComparator
8 | extends TransitionValueColorComparatorBase {
9 | @override
10 | void valueChanged(int from, int to) {}
11 |
12 | @override
13 | void onAdded() {}
14 |
15 | @override
16 | void onAddedDirty() {}
17 |
18 | @override
19 | bool compare(
20 | TransitionComparator comparand, TransitionConditionOp operation) {
21 | return false;
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/transition_value_comparator.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/animation/transition_value_comparator_base.dart';
2 |
3 | export 'package:rive/src/generated/animation/transition_value_comparator_base.dart';
4 |
5 | abstract class TransitionValueComparator
6 | extends TransitionValueComparatorBase {}
7 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/transition_value_condition.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/animation/transition_value_condition_base.dart';
2 | import 'package:rive/src/rive_core/animation/transition_condition.dart';
3 |
4 | export 'package:rive/src/generated/animation/transition_value_condition_base.dart';
5 |
6 | abstract class TransitionValueCondition extends TransitionValueConditionBase {
7 | TransitionConditionOp get op => TransitionConditionOp.values[opValue];
8 |
9 | @override
10 | void opValueChanged(int from, int to) {}
11 | }
12 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/transition_value_enum_comparator.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/animation/transition_value_enum_comparator_base.dart';
2 | import 'package:rive/src/rive_core/animation/transition_comparator.dart';
3 | import 'package:rive/src/rive_core/animation/transition_condition.dart';
4 |
5 | export 'package:rive/src/generated/animation/transition_value_enum_comparator_base.dart';
6 |
7 | class TransitionValueEnumComparator extends TransitionValueEnumComparatorBase {
8 | @override
9 | void valueChanged(int from, int to) {}
10 |
11 | @override
12 | void onAdded() {}
13 |
14 | @override
15 | void onAddedDirty() {}
16 |
17 | @override
18 | bool compare(
19 | TransitionComparator comparand, TransitionConditionOp operation) {
20 | return false;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/transition_value_number_comparator.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/animation/transition_value_number_comparator_base.dart';
2 | import 'package:rive/src/rive_core/animation/transition_comparator.dart';
3 | import 'package:rive/src/rive_core/animation/transition_condition.dart';
4 |
5 | export 'package:rive/src/generated/animation/transition_value_number_comparator_base.dart';
6 |
7 | class TransitionValueNumberComparator
8 | extends TransitionValueNumberComparatorBase {
9 | @override
10 | void valueChanged(double from, double to) {}
11 |
12 | @override
13 | void onAdded() {}
14 |
15 | @override
16 | void onAddedDirty() {}
17 |
18 | @override
19 | bool compare(
20 | TransitionComparator comparand, TransitionConditionOp operation) {
21 | return false;
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/lib/src/rive_core/animation/transition_value_string_comparator.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/animation/transition_value_string_comparator_base.dart';
2 | import 'package:rive/src/rive_core/animation/transition_comparator.dart';
3 | import 'package:rive/src/rive_core/animation/transition_condition.dart';
4 |
5 | export 'package:rive/src/generated/animation/transition_value_string_comparator_base.dart';
6 |
7 | class TransitionValueStringComparator
8 | extends TransitionValueStringComparatorBase {
9 | @override
10 | void valueChanged(String from, String to) {}
11 |
12 | @override
13 | void onAdded() {}
14 |
15 | @override
16 | void onAddedDirty() {}
17 |
18 | @override
19 | bool compare(
20 | TransitionComparator comparand, TransitionConditionOp operation) {
21 | return false;
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/lib/src/rive_core/assets/asset.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/assets/asset_base.dart';
2 |
3 | export 'package:rive/src/generated/assets/asset_base.dart';
4 |
5 | abstract class Asset extends AssetBase {
6 | @override
7 | void nameChanged(String from, String to) {}
8 |
9 | @override
10 | void onAdded() {}
11 |
12 | @override
13 | void onAddedDirty() {}
14 | }
15 |
--------------------------------------------------------------------------------
/lib/src/rive_core/assets/drawable_asset.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/assets/drawable_asset_base.dart';
2 |
3 | export 'package:rive/src/generated/assets/drawable_asset_base.dart';
4 |
5 | abstract class DrawableAsset extends DrawableAssetBase {
6 | @override
7 | void heightChanged(double from, double to) {}
8 |
9 | @override
10 | void widthChanged(double from, double to) {}
11 | }
12 |
--------------------------------------------------------------------------------
/lib/src/rive_core/assets/export_audio.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/assets/export_audio_base.dart';
2 | export 'package:rive/src/generated/assets/export_audio_base.dart';
3 |
4 | abstract class ExportAudio extends ExportAudioBase {
5 | @override
6 | void volumeChanged(double from, double to) {}
7 | }
8 |
--------------------------------------------------------------------------------
/lib/src/rive_core/assets/folder.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/assets/folder_base.dart';
2 | export 'package:rive/src/generated/assets/folder_base.dart';
3 |
4 | class Folder extends FolderBase {}
5 |
--------------------------------------------------------------------------------
/lib/src/rive_core/backboard.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/core.dart';
2 | import 'package:rive/src/generated/backboard_base.dart';
3 | import 'package:rive/src/rive_core/assets/asset.dart';
4 |
5 | export 'package:rive/src/generated/backboard_base.dart';
6 |
7 | class Backboard extends BackboardBase {
8 | static final Backboard unknown = Backboard();
9 |
10 | final AssetList _assets = AssetList();
11 | AssetList get assets => _assets;
12 |
13 | bool internalAddAsset(Asset asset) {
14 | if (_assets.contains(asset)) {
15 | return false;
16 | }
17 | _assets.add(asset);
18 |
19 | return true;
20 | }
21 |
22 | bool internalRemoveAsset(Asset asset) {
23 | bool removed = _assets.remove(asset);
24 |
25 | return removed;
26 | }
27 |
28 | @override
29 | void onAdded() {}
30 |
31 | @override
32 | void onAddedDirty() {}
33 | }
34 |
--------------------------------------------------------------------------------
/lib/src/rive_core/bones/cubic_weight.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/bones/cubic_weight_base.dart';
2 | import 'package:rive_common/math.dart';
3 |
4 | export 'package:rive/src/generated/bones/cubic_weight_base.dart';
5 |
6 | class CubicWeight extends CubicWeightBase {
7 | final Vec2D inTranslation = Vec2D();
8 | final Vec2D outTranslation = Vec2D();
9 |
10 | @override
11 | void inIndicesChanged(int from, int to) {}
12 |
13 | @override
14 | void inValuesChanged(int from, int to) {}
15 |
16 | @override
17 | void outIndicesChanged(int from, int to) {}
18 |
19 | @override
20 | void outValuesChanged(int from, int to) {}
21 | }
22 |
--------------------------------------------------------------------------------
/lib/src/rive_core/bones/root_bone.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/bones/root_bone_base.dart';
2 | export 'package:rive/src/generated/bones/root_bone_base.dart';
3 |
4 | class RootBone extends RootBoneBase {
5 | @override
6 | void xChanged(double from, double to) {
7 | markTransformDirty();
8 | }
9 |
10 | @override
11 | void yChanged(double from, double to) {
12 | markTransformDirty();
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/lib/src/rive_core/bones/skeletal_component.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/bones/skeletal_component_base.dart';
2 | export 'package:rive/src/generated/bones/skeletal_component_base.dart';
3 |
4 | abstract class SkeletalComponent extends SkeletalComponentBase {}
5 |
--------------------------------------------------------------------------------
/lib/src/rive_core/bounds_provider.dart:
--------------------------------------------------------------------------------
1 | import 'dart:ui';
2 |
3 | import 'package:rive_common/math.dart';
4 |
5 | // ignore: one_member_abstracts
6 | abstract class BoundsProvider {
7 | AABB computeBounds(Mat2D toParent);
8 | }
9 |
10 | abstract class Sizable {
11 | Size computeIntrinsicSize(Size min, Size max);
12 | void controlSize(Size size);
13 | }
14 |
--------------------------------------------------------------------------------
/lib/src/rive_core/component_flags.dart:
--------------------------------------------------------------------------------
1 | class ComponentFlags {
2 | /// Whether the component should be drawn (at runtime this only used by
3 | /// drawables and paths).
4 | static const int hidden = 1 << 0;
5 |
6 | /// Whether the component was locked for editing in the editor.
7 | static const int locked = 1 << 1;
8 |
9 | /// Whether this Component is disconnected from the hierarchy meaning it won't
10 | /// receive any update cycles nor will any drawables draw.
11 | static const int disconnected = 1 << 2;
12 |
13 | /// Whether this Component lets hit events pass through to components behind
14 | /// it (used by shapes at runtine)
15 | static const int opaque = 1 << 3;
16 | }
17 |
--------------------------------------------------------------------------------
/lib/src/rive_core/constraints/transform_component_constraint_y.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/constraints/transform_component_constraint_y_base.dart';
2 | export 'package:rive/src/generated/constraints/transform_component_constraint_y_base.dart';
3 |
4 | abstract class TransformComponentConstraintY
5 | extends TransformComponentConstraintYBase {
6 | @override
7 | void minValueYChanged(double from, double to) => markConstraintDirty();
8 |
9 | @override
10 | void maxValueYChanged(double from, double to) => markConstraintDirty();
11 |
12 | @override
13 | void copyFactorYChanged(double from, double to) => markConstraintDirty();
14 |
15 | @override
16 | void doesCopyYChanged(bool from, bool to) => markConstraintDirty();
17 |
18 | @override
19 | void maxYChanged(bool from, bool to) => markConstraintDirty();
20 |
21 | @override
22 | void minYChanged(bool from, bool to) => markConstraintDirty();
23 | }
24 |
--------------------------------------------------------------------------------
/lib/src/rive_core/custom_property.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/custom_property_base.dart';
2 | export 'package:rive/src/generated/custom_property_base.dart';
3 |
4 | /// A custom property value stored in the hierarchy with a boolean value.
5 | class CustomProperty extends CustomPropertyBase {
6 | @override
7 | void update(int dirt) {}
8 | }
9 |
--------------------------------------------------------------------------------
/lib/src/rive_core/custom_property_boolean.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/custom_property_boolean_base.dart';
2 | export 'package:rive/src/generated/custom_property_boolean_base.dart';
3 |
4 | /// A custom property value stored in the hierarchy with a boolean value.
5 | class CustomPropertyBoolean extends CustomPropertyBooleanBase {
6 | @override
7 | void propertyValueChanged(bool from, bool to) {}
8 | }
9 |
--------------------------------------------------------------------------------
/lib/src/rive_core/custom_property_number.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/custom_property_number_base.dart';
2 | export 'package:rive/src/generated/custom_property_number_base.dart';
3 |
4 | /// A custom property value stored in the hierarchy with a numeric value.
5 | class CustomPropertyNumber extends CustomPropertyNumberBase {
6 | @override
7 | void propertyValueChanged(double from, double to) {}
8 | }
9 |
--------------------------------------------------------------------------------
/lib/src/rive_core/custom_property_string.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/custom_property_string_base.dart';
2 | export 'package:rive/src/generated/custom_property_string_base.dart';
3 |
4 | /// A custom property value stored in the hierarchy with a string value.
5 | class CustomPropertyString extends CustomPropertyStringBase {
6 | @override
7 | void propertyValueChanged(String from, String to) {}
8 | }
9 |
--------------------------------------------------------------------------------
/lib/src/rive_core/data_bind/bindable_property.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/data_bind/bindable_property_base.dart';
2 |
3 | export 'package:rive/src/generated/data_bind/bindable_property_base.dart';
4 |
5 | enum PropertyType {
6 | number,
7 | string,
8 | boolean,
9 | enumerator,
10 | color,
11 | }
12 |
13 | class BindableProperty extends BindablePropertyBase {
14 | @override
15 | void onAddedDirty() {}
16 |
17 | @override
18 | void onAdded() {}
19 | }
20 |
--------------------------------------------------------------------------------
/lib/src/rive_core/data_bind/bindable_property_boolean.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/data_bind/bindable_property_boolean_base.dart';
2 |
3 | export 'package:rive/src/generated/data_bind/bindable_property_boolean_base.dart';
4 |
5 | class BindablePropertyBoolean extends BindablePropertyBooleanBase {
6 | @override
7 | void propertyValueChanged(bool from, bool to) {}
8 | }
9 |
--------------------------------------------------------------------------------
/lib/src/rive_core/data_bind/bindable_property_color.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/data_bind/bindable_property_color_base.dart';
2 |
3 | export 'package:rive/src/generated/data_bind/bindable_property_color_base.dart';
4 |
5 | class BindablePropertyColor extends BindablePropertyColorBase {
6 | @override
7 | void propertyValueChanged(int from, int to) {}
8 | }
9 |
--------------------------------------------------------------------------------
/lib/src/rive_core/data_bind/bindable_property_enum.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/data_bind/bindable_property_enum_base.dart';
2 |
3 | export 'package:rive/src/generated/data_bind/bindable_property_enum_base.dart';
4 |
5 | class BindablePropertyEnum extends BindablePropertyEnumBase {
6 | @override
7 | void propertyValueChanged(int from, int to) {}
8 | }
9 |
--------------------------------------------------------------------------------
/lib/src/rive_core/data_bind/bindable_property_number.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/data_bind/bindable_property_number_base.dart';
2 |
3 | export 'package:rive/src/generated/data_bind/bindable_property_number_base.dart';
4 |
5 | class BindablePropertyNumber extends BindablePropertyNumberBase {
6 | @override
7 | void propertyValueChanged(double from, double to) {}
8 | }
9 |
--------------------------------------------------------------------------------
/lib/src/rive_core/data_bind/bindable_property_string.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/data_bind/bindable_property_string_base.dart';
2 |
3 | export 'package:rive/src/generated/data_bind/bindable_property_string_base.dart';
4 |
5 | class BindablePropertyString extends BindablePropertyStringBase {
6 | @override
7 | void propertyValueChanged(String from, String to) {}
8 | }
9 |
--------------------------------------------------------------------------------
/lib/src/rive_core/data_bind/context/context_value.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/core.dart';
2 | import 'package:rive/src/rive_core/viewmodel/viewmodel_instance_value.dart';
3 |
4 | abstract class ContextValue {
5 | ViewModelInstanceValue? source;
6 | ContextValue(this.source);
7 | void apply(Core core, int propertyKey);
8 | void applyToSource(Core core, int propertyKey);
9 | void update(Core core) {}
10 | }
11 |
--------------------------------------------------------------------------------
/lib/src/rive_core/data_bind/context/context_value_enum.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/core.dart';
2 | import 'package:rive/src/rive_core/data_bind/context/context_value.dart';
3 | import 'package:rive/src/rive_core/viewmodel/viewmodel_instance_value.dart';
4 |
5 | class ContextValueEnum extends ContextValue {
6 | ContextValueEnum(ViewModelInstanceValue? source) : super(source);
7 |
8 | @override
9 | void apply(Core core, int propertyKey) {
10 | // TODO: @hernan implement
11 | }
12 |
13 | @override
14 | void applyToSource(Core core, int propertyKey) {
15 | // TODO: @hernan implement
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/src/rive_core/data_bind/context/context_value_list.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/core/core.dart';
2 | import 'package:rive/src/rive_core/data_bind/context/context_value.dart';
3 | import 'package:rive/src/rive_core/viewmodel/viewmodel_instance_value.dart';
4 |
5 | class ContextValueList extends ContextValue {
6 | ContextValueList(ViewModelInstanceValue? source) : super(source);
7 |
8 | @override
9 | void apply(Core core, int propertyKey) {
10 | // TODO: @hernan implement
11 | }
12 |
13 | @override
14 | void applyToSource(Core core, int propertyKey) {
15 | // TODO: @hernan implement
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/src/rive_core/data_bind_flags.dart:
--------------------------------------------------------------------------------
1 | class DataBindFlags {
2 | /// Whether the main binding direction is to target (0) or to source (1)
3 | static const int direction = 1 << 0;
4 |
5 | /// Whether the binding direction is twoWay
6 | static const int twoWay = 1 << 1;
7 |
8 | /// Whether the binding happens only once
9 | static const int once = 1 << 2;
10 |
11 | static const int toTarget = 0;
12 |
13 | static const int toSource = 1 << 0;
14 | }
15 |
--------------------------------------------------------------------------------
/lib/src/rive_core/dependency_helper.dart:
--------------------------------------------------------------------------------
1 | class DependencyHelper {
2 | Set dependents = {};
3 | T? dependencyRoot;
4 |
5 | DependencyHelper();
6 |
7 | bool addDependent(U value) {
8 | if (!dependents.contains(value)) {
9 | dependents.add(value);
10 | return true;
11 | }
12 | return false;
13 | }
14 |
15 | void addDirt(int dirt, {bool recurse = false}) {
16 | dependents
17 | .forEach((dependent) => dependent.addDirt(dirt, recurse: recurse));
18 | }
19 |
20 | void onComponentDirty(U component) {
21 | dependencyRoot?.onComponentDirty(component);
22 | }
23 |
24 | void clear() {
25 | dependents.clear();
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/lib/src/rive_core/enum_helper.dart:
--------------------------------------------------------------------------------
1 | /// Helper for getting a valid enum at an index (or default to the first one).
2 | T enumAt(List values, int index) =>
3 | index < values.length ? values[index] : values.first;
4 |
--------------------------------------------------------------------------------
/lib/src/rive_core/layer_state_flags.dart:
--------------------------------------------------------------------------------
1 | class LayerStateFlags {
2 | /// Whether the state can randomize on exit.
3 | static const int random = 1 << 0;
4 |
5 | /// Whether the blend should include an instance to reset values on apply
6 | static const int reset = 1 << 1;
7 | }
8 |
--------------------------------------------------------------------------------
/lib/src/rive_core/nested_animation.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/nested_animation_base.dart';
2 | import 'package:rive/src/rive_core/animation/animation.dart';
3 | import 'package:rive/src/rive_core/nested_artboard.dart';
4 |
5 | export 'package:rive/src/generated/nested_animation_base.dart';
6 |
7 | abstract class NestedAnimation
8 | extends NestedAnimationBase {
9 | NestedArtboard? get nestedArtboard =>
10 | parent is NestedArtboard ? parent as NestedArtboard : null;
11 |
12 | @override
13 | void animationIdChanged(int from, int to) {}
14 |
15 | bool get isEnabled;
16 |
17 | /// Returns true when the NestedAnimation needs to keep advancing. Returning
18 | /// false doesn't guarantee another advance won't be called, it just means
19 | /// that it's no longer necessary to call advance again as the reesults will
20 | /// be the same.
21 | bool advance(double elapsedSeconds, MountedArtboard mountedArtboard);
22 |
23 | @override
24 | void update(int dirt) {}
25 | }
26 |
--------------------------------------------------------------------------------
/lib/src/rive_core/node.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/node_base.dart';
2 | import 'package:rive_common/math.dart';
3 |
4 | export 'package:rive/src/generated/node_base.dart';
5 |
6 | class _UnknownNode extends Node {}
7 |
8 | class Node extends NodeBase {
9 | static final Node unknown = _UnknownNode();
10 |
11 | /// Sets the position of the Node
12 | set translation(Vec2D pos) {
13 | x = pos.x;
14 | y = pos.y;
15 | }
16 |
17 | @override
18 | void xChanged(double from, double to) {
19 | markTransformDirty();
20 | }
21 |
22 | @override
23 | void yChanged(double from, double to) {
24 | markTransformDirty();
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/lib/src/rive_core/notifier.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/foundation.dart';
2 |
3 | // Just a way to get around the protected notifyListeners so we can use trigger
4 | // multiple events from a single object.
5 | class Notifier extends ChangeNotifier {
6 | void notify() => notifyListeners();
7 | }
8 |
--------------------------------------------------------------------------------
/lib/src/rive_core/open_url_event.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/open_url_event_base.dart';
2 | import 'package:rive/src/rive_core/artboard.dart';
3 | import 'package:rive/src/rive_core/open_url_target.dart';
4 |
5 | export 'package:rive/src/generated/open_url_event_base.dart';
6 |
7 | class OpenUrlEvent extends OpenUrlEventBase {
8 | @override
9 | void update(int dirt) {}
10 |
11 | @override
12 | void changeArtboard(Artboard? value) {
13 | artboard?.internalRemoveEvent(this);
14 | super.changeArtboard(value);
15 | artboard?.internalAddEvent(this);
16 | }
17 |
18 | @override
19 | void targetValueChanged(int from, int to) {}
20 |
21 | @override
22 | void urlChanged(String from, String to) {}
23 |
24 | OpenUrlTarget get target => OpenUrlTarget.values[targetValue];
25 | set target(OpenUrlTarget value) => targetValue = value.index;
26 | }
27 |
--------------------------------------------------------------------------------
/lib/src/rive_core/open_url_target.dart:
--------------------------------------------------------------------------------
1 | /// Open URL event target types.
2 | enum OpenUrlTarget { blank, parent, self, top }
3 |
--------------------------------------------------------------------------------
/lib/src/rive_core/runtime/exceptions/rive_format_error_exception.dart:
--------------------------------------------------------------------------------
1 | import 'package:meta/meta.dart';
2 |
3 | /// Thrown when a file being read doesn't match the Rive format.
4 | @immutable
5 | class RiveFormatErrorException implements Exception {
6 | final String cause;
7 | const RiveFormatErrorException(this.cause);
8 | }
9 |
--------------------------------------------------------------------------------
/lib/src/rive_core/runtime/exceptions/rive_unsupported_version_exception.dart:
--------------------------------------------------------------------------------
1 | import 'package:meta/meta.dart';
2 |
3 | /// Error that occurs when a file being loaded doesn't match the importer's
4 | /// supported version.
5 | @immutable
6 | class RiveUnsupportedVersionException implements Exception {
7 | final int majorVersion;
8 | final int minorVersion;
9 | final int fileMajorVersion;
10 | final int fileMinorVersion;
11 | const RiveUnsupportedVersionException(this.majorVersion, this.minorVersion,
12 | this.fileMajorVersion, this.fileMinorVersion);
13 |
14 | @override
15 | String toString() {
16 | return 'File contains version $fileMajorVersion.$fileMinorVersion. '
17 | 'This runtime supports version $majorVersion.$minorVersion';
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/lib/src/rive_core/shapes/contour_mesh_vertex.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/shapes/contour_mesh_vertex_base.dart';
2 | export 'package:rive/src/generated/shapes/contour_mesh_vertex_base.dart';
3 |
4 | class ContourMeshVertex extends ContourMeshVertexBase {}
5 |
--------------------------------------------------------------------------------
/lib/src/rive_core/shapes/mesh_vertex.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/shapes/mesh_vertex_base.dart';
2 | import 'package:rive/src/rive_core/shapes/mesh.dart';
3 |
4 | export 'package:rive/src/generated/shapes/mesh_vertex_base.dart';
5 |
6 | class MeshVertex extends MeshVertexBase {
7 | Mesh? get mesh => parent as Mesh?;
8 |
9 | @override
10 | bool validate() => super.validate() && parent is Mesh;
11 |
12 | @override
13 | void markGeometryDirty() => mesh?.markDrawableDirty();
14 |
15 | @override
16 | void uChanged(double from, double to) {}
17 |
18 | @override
19 | void vChanged(double from, double to) {}
20 | }
21 |
--------------------------------------------------------------------------------
/lib/src/rive_core/shapes/paint/radial_gradient.dart:
--------------------------------------------------------------------------------
1 | import 'dart:ui' as ui;
2 | import 'package:rive/src/generated/shapes/paint/radial_gradient_base.dart';
3 | export 'package:rive/src/generated/shapes/paint/radial_gradient_base.dart';
4 |
5 | class RadialGradient extends RadialGradientBase {
6 | /// We override the make gradient operation to create a radial gradient
7 | /// instead of a linear one.
8 | @override
9 | ui.Gradient makeGradient(ui.Offset start, ui.Offset end,
10 | List colors, List colorPositions) =>
11 | ui.Gradient.radial(start, (end - start).distance, colors, colorPositions);
12 | }
13 |
--------------------------------------------------------------------------------
/lib/src/rive_core/shapes/paint/stroke_effect.dart:
--------------------------------------------------------------------------------
1 | import 'dart:ui';
2 |
3 | abstract class StrokeEffect {
4 | Path effectPath(Path source);
5 | void invalidateEffect();
6 | }
7 |
--------------------------------------------------------------------------------
/lib/src/rive_core/shapes/path_vertex.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/shapes/path_vertex_base.dart';
2 | import 'package:rive/src/rive_core/bones/weight.dart';
3 | import 'package:rive/src/rive_core/shapes/path.dart';
4 |
5 | export 'package:rive/src/generated/shapes/path_vertex_base.dart';
6 |
7 | abstract class PathVertex extends PathVertexBase {
8 | Path? get path => parent as Path?;
9 |
10 | @override
11 | void markGeometryDirty() => path?.markPathDirty();
12 | }
13 |
--------------------------------------------------------------------------------
/lib/src/rive_core/shapes/triangle.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/shapes/triangle_base.dart';
2 | import 'package:rive/src/rive_core/shapes/path_vertex.dart';
3 | import 'package:rive/src/rive_core/shapes/straight_vertex.dart';
4 |
5 | /// Export the Base class for external use (e.g. rive.dart)
6 | export 'package:rive/src/generated/shapes/triangle_base.dart';
7 |
8 | class Triangle extends TriangleBase {
9 | @override
10 | List get vertices {
11 | double ox = -originX * width;
12 | double oy = -originY * height;
13 |
14 | return [
15 | StraightVertex.procedural()
16 | ..x = ox + width / 2
17 | ..y = oy,
18 | StraightVertex.procedural()
19 | ..x = ox + width
20 | ..y = oy + height,
21 | StraightVertex.procedural()
22 | ..x = ox
23 | ..y = oy + height
24 | ];
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/lib/src/rive_core/state_transition_flags.dart:
--------------------------------------------------------------------------------
1 | class StateTransitionFlags {
2 | /// Whether the transition is disabled.
3 | static const int disabled = 1 << 0;
4 |
5 | /// Whether the transition duration is a percentage or time in ms.
6 | static const int durationIsPercentage = 1 << 1;
7 |
8 | /// Whether exit time is enabled.
9 | static const int enableExitTime = 1 << 2;
10 |
11 | /// Whether the exit time is a percentage or time in ms.
12 | static const int exitTimeIsPercentage = 1 << 3;
13 |
14 | /// Whether the animation is held at exit or if it keeps advancing during
15 | /// mixing.
16 | static const int pauseOnExit = 1 << 4;
17 |
18 | /// Whether the transition can exit before it is complete.
19 | static const int enableEarlyExit = 1 << 5;
20 | }
21 |
--------------------------------------------------------------------------------
/lib/src/rive_core/text/text_modifier.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/text/text_modifier_base.dart';
2 | import 'package:rive/src/rive_core/text/text_modifier_group.dart';
3 |
4 | export 'package:rive/src/generated/text/text_modifier_base.dart';
5 |
6 | abstract class TextModifier extends TextModifierBase {
7 | TextModifierGroup? get modifierGroup => parent as TextModifierGroup?;
8 | }
9 |
--------------------------------------------------------------------------------
/lib/src/rive_core/text/text_shape_modifier.dart:
--------------------------------------------------------------------------------
1 | import 'dart:collection';
2 |
3 | import 'package:rive/src/generated/text/text_shape_modifier_base.dart';
4 | import 'package:rive/src/rive_core/text/text.dart';
5 | import 'package:rive_common/rive_text.dart';
6 |
7 | export 'package:rive/src/generated/text/text_shape_modifier_base.dart';
8 |
9 | abstract class TextShapeModifier extends TextShapeModifierBase {
10 | double modify(Text text, Font font, HashMap variations,
11 | double fontSize, double strength);
12 | }
13 |
--------------------------------------------------------------------------------
/lib/src/rive_core/text/text_style_axis.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/text/text_style_axis_base.dart';
2 | import 'package:rive/src/rive_core/component_dirt.dart';
3 | import 'package:rive_common/rive_text.dart';
4 |
5 | export 'package:rive/src/generated/text/text_style_axis_base.dart';
6 |
7 | class TextStyleAxis extends TextStyleAxisBase {
8 | String get tagName => FontTag.tagToName(tag);
9 |
10 | @override
11 | void update(int dirt) {}
12 |
13 | @override
14 | void axisValueChanged(double from, double to) {
15 | parent?.addDirt(ComponentDirt.textShape);
16 | }
17 |
18 | @override
19 | void tagChanged(int from, int to) => parent?.addDirt(ComponentDirt.textShape);
20 | }
21 |
--------------------------------------------------------------------------------
/lib/src/rive_core/text/text_style_feature.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/text/text_style_feature_base.dart';
2 | import 'package:rive/src/rive_core/component_dirt.dart';
3 | import 'package:rive_common/rive_text.dart';
4 |
5 | export 'package:rive/src/generated/text/text_style_feature_base.dart';
6 |
7 | class TextStyleFeature extends TextStyleFeatureBase {
8 | String get tagName => FontTag.tagToName(tag);
9 |
10 | @override
11 | void update(int dirt) {}
12 |
13 | @override
14 | void featureValueChanged(int from, int to) {
15 | parent?.addDirt(ComponentDirt.textShape);
16 | }
17 |
18 | @override
19 | void tagChanged(int from, int to) => parent?.addDirt(ComponentDirt.textShape);
20 | }
21 |
--------------------------------------------------------------------------------
/lib/src/rive_core/transform_space.dart:
--------------------------------------------------------------------------------
1 | enum TransformSpace { world, local }
2 |
--------------------------------------------------------------------------------
/lib/src/rive_core/viewmodel/data_enum.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/viewmodel/data_enum_base.dart';
2 |
3 | export 'package:rive/src/generated/viewmodel/data_enum_base.dart';
4 |
5 | class DataEnum extends DataEnumBase {
6 | @override
7 | void onAdded() {}
8 |
9 | @override
10 | void onAddedDirty() {}
11 | }
12 |
--------------------------------------------------------------------------------
/lib/src/rive_core/viewmodel/data_enum_value.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/viewmodel/data_enum_value_base.dart';
2 |
3 | export 'package:rive/src/generated/viewmodel/data_enum_value_base.dart';
4 |
5 | class DataEnumValue extends DataEnumValueBase {
6 | @override
7 | void valueChanged(String from, String to) {}
8 |
9 | @override
10 | void keyChanged(String from, String to) {}
11 |
12 | @override
13 | void onAdded() {}
14 |
15 | @override
16 | void onAddedDirty() {}
17 | }
18 |
--------------------------------------------------------------------------------
/lib/src/rive_core/viewmodel/viewmodel_component.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/viewmodel/viewmodel_component_base.dart';
2 |
3 | export 'package:rive/src/generated/viewmodel/viewmodel_component_base.dart';
4 |
5 | class ViewModelComponent extends ViewModelComponentBase {
6 | @override
7 | void onAdded() {}
8 |
9 | @override
10 | void onAddedDirty() {}
11 |
12 | @override
13 | void nameChanged(String from, String to) {}
14 | }
15 |
--------------------------------------------------------------------------------
/lib/src/rive_core/viewmodel/viewmodel_instance_boolean.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/viewmodel/viewmodel_instance_boolean_base.dart';
2 | import 'package:rive/src/rive_core/component_dirt.dart';
3 |
4 | export 'package:rive/src/generated/viewmodel/viewmodel_instance_boolean_base.dart';
5 |
6 | class ViewModelInstanceBoolean extends ViewModelInstanceBooleanBase {
7 | @override
8 | void propertyValueChanged(bool from, bool to) {
9 | addDirt(ComponentDirt.bindings);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/lib/src/rive_core/viewmodel/viewmodel_instance_color.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/viewmodel/viewmodel_instance_color_base.dart';
2 | import 'package:rive/src/rive_core/component_dirt.dart';
3 |
4 | export 'package:rive/src/generated/viewmodel/viewmodel_instance_color_base.dart';
5 |
6 | class ViewModelInstanceColor extends ViewModelInstanceColorBase {
7 | @override
8 | void propertyValueChanged(int from, int to) {
9 | addDirt(ComponentDirt.bindings);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/lib/src/rive_core/viewmodel/viewmodel_instance_enum.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/viewmodel/viewmodel_instance_enum_base.dart';
2 | import 'package:rive/src/rive_core/component_dirt.dart';
3 |
4 | export 'package:rive/src/generated/viewmodel/viewmodel_instance_enum_base.dart';
5 |
6 | class ViewModelInstanceEnum extends ViewModelInstanceEnumBase {
7 | @override
8 | void propertyValueChanged(int from, int to) {
9 | addDirt(ComponentDirt.bindings);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/lib/src/rive_core/viewmodel/viewmodel_instance_list_item.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/viewmodel/viewmodel_instance_list_item_base.dart';
2 |
3 | export 'package:rive/src/generated/viewmodel/viewmodel_instance_list_item_base.dart';
4 |
5 | class ViewModelInstanceListItem extends ViewModelInstanceListItemBase {
6 | @override
7 | void viewModelIdChanged(int from, int to) {}
8 |
9 | @override
10 | void viewModelInstanceIdChanged(int from, int to) {}
11 |
12 | @override
13 | void artboardIdChanged(int from, int to) {}
14 |
15 | @override
16 | void onAdded() {}
17 |
18 | @override
19 | void useLinkedArtboardChanged(bool from, bool to) {}
20 |
21 | @override
22 | void onAddedDirty() {}
23 | }
24 |
--------------------------------------------------------------------------------
/lib/src/rive_core/viewmodel/viewmodel_instance_number.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/viewmodel/viewmodel_instance_number_base.dart';
2 | import 'package:rive/src/rive_core/component_dirt.dart';
3 |
4 | export 'package:rive/src/generated/viewmodel/viewmodel_instance_number_base.dart';
5 |
6 | class ViewModelInstanceNumber extends ViewModelInstanceNumberBase {
7 | @override
8 | void propertyValueChanged(double from, double to) {
9 | addDirt(ComponentDirt.bindings);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/lib/src/rive_core/viewmodel/viewmodel_instance_string.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/viewmodel/viewmodel_instance_string_base.dart';
2 | import 'package:rive/src/rive_core/component_dirt.dart';
3 |
4 | export 'package:rive/src/generated/viewmodel/viewmodel_instance_string_base.dart';
5 |
6 | class ViewModelInstanceString extends ViewModelInstanceStringBase {
7 | @override
8 | void propertyValueChanged(String from, String to) {
9 | addDirt(ComponentDirt.bindings);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/lib/src/rive_core/viewmodel/viewmodel_instance_value.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/viewmodel/viewmodel_instance_value_base.dart';
2 | import 'package:rive/src/rive_core/artboard.dart';
3 | import 'package:rive/src/rive_core/data_bind/data_bind_context.dart';
4 | import 'package:rive/src/rive_core/dependency_helper.dart';
5 |
6 | class ViewModelInstanceValue extends ViewModelInstanceValueBase {
7 | final DependencyHelper _dependencyHelper =
8 | DependencyHelper();
9 |
10 | @override
11 | void viewModelPropertyIdChanged(int from, int to) {}
12 |
13 | @override
14 | void onAdded() {}
15 |
16 | @override
17 | void onAddedDirty() {}
18 |
19 | void addDependent(DataBindContextInterface value) {
20 | _dependencyHelper.addDependent(value);
21 | }
22 |
23 | bool addDirt(int value, {bool recurse = true}) {
24 | _dependencyHelper.addDirt(value);
25 | return true;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/lib/src/rive_core/viewmodel/viewmodel_instance_viewmodel.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/viewmodel/viewmodel_instance_viewmodel_base.dart';
2 | import 'package:rive/src/rive_core/viewmodel/viewmodel_instance.dart';
3 |
4 | export 'package:rive/src/generated/viewmodel/viewmodel_instance_viewmodel_base.dart';
5 |
6 | class ViewModelInstanceViewModel extends ViewModelInstanceViewModelBase {
7 | ViewModelInstance? referenceViewModelInstance;
8 |
9 | @override
10 | void propertyValueChanged(int from, int to) {}
11 |
12 | @override
13 | void onAddedDirty() {
14 | super.onAddedDirty();
15 | referenceViewModelInstance =
16 | context.resolve(propertyValue);
17 | }
18 |
19 | ViewModelInstance? get viewModelInstance => context.resolve(propertyValue);
20 | }
21 |
--------------------------------------------------------------------------------
/lib/src/rive_core/viewmodel/viewmodel_property.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/viewmodel/viewmodel_property_base.dart';
2 | import 'package:rive/src/rive_core/backboard.dart';
3 |
4 | export 'package:rive/src/generated/viewmodel/viewmodel_property_base.dart';
5 |
6 | class ViewModelProperty extends ViewModelPropertyBase {
7 | Backboard? backboard;
8 |
9 | @override
10 | void onAdded() {}
11 | }
12 |
--------------------------------------------------------------------------------
/lib/src/rive_core/viewmodel/viewmodel_property_boolean.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/viewmodel/viewmodel_property_boolean_base.dart';
2 |
3 | export 'package:rive/src/generated/viewmodel/viewmodel_property_boolean_base.dart';
4 |
5 | class ViewModelPropertyBoolean extends ViewModelPropertyBooleanBase {}
6 |
--------------------------------------------------------------------------------
/lib/src/rive_core/viewmodel/viewmodel_property_color.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/viewmodel/viewmodel_property_color_base.dart';
2 |
3 | export 'package:rive/src/generated/viewmodel/viewmodel_property_color_base.dart';
4 |
5 | class ViewModelPropertyColor extends ViewModelPropertyColorBase {}
6 |
--------------------------------------------------------------------------------
/lib/src/rive_core/viewmodel/viewmodel_property_enum.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/viewmodel/viewmodel_property_enum_base.dart';
2 |
3 | export 'package:rive/src/generated/viewmodel/viewmodel_property_enum_base.dart';
4 |
5 | class ViewModelPropertyEnum extends ViewModelPropertyEnumBase {
6 | @override
7 | void enumIdChanged(int from, int to) {}
8 | }
9 |
--------------------------------------------------------------------------------
/lib/src/rive_core/viewmodel/viewmodel_property_list.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/viewmodel/viewmodel_property_list_base.dart';
2 |
3 | export 'package:rive/src/generated/viewmodel/viewmodel_property_list_base.dart';
4 |
5 | class ViewModelPropertyList extends ViewModelPropertyListBase {}
6 |
--------------------------------------------------------------------------------
/lib/src/rive_core/viewmodel/viewmodel_property_number.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/viewmodel/viewmodel_property_number_base.dart';
2 |
3 | export 'package:rive/src/generated/viewmodel/viewmodel_property_number_base.dart';
4 |
5 | class ViewModelPropertyNumber extends ViewModelPropertyNumberBase {}
6 |
--------------------------------------------------------------------------------
/lib/src/rive_core/viewmodel/viewmodel_property_string.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/viewmodel/viewmodel_property_string_base.dart';
2 |
3 | export 'package:rive/src/generated/viewmodel/viewmodel_property_string_base.dart';
4 |
5 | class ViewModelPropertyString extends ViewModelPropertyStringBase {}
6 |
--------------------------------------------------------------------------------
/lib/src/rive_core/viewmodel/viewmodel_property_viewmodel.dart:
--------------------------------------------------------------------------------
1 | import 'package:rive/src/generated/viewmodel/viewmodel_property_viewmodel_base.dart';
2 |
3 | export 'package:rive/src/generated/viewmodel/viewmodel_property_viewmodel_base.dart';
4 |
5 | class ViewModelPropertyViewModel extends ViewModelPropertyViewModelBase {
6 | @override
7 | void viewModelReferenceIdChanged(int from, int to) {
8 | // TODO: implement viewModelIdChanged
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/lib/src/state_machine_components.dart:
--------------------------------------------------------------------------------
1 | import 'dart:collection';
2 | import 'package:rive/src/rive_core/animation/state_machine_component.dart';
3 |
4 | class StateMachineComponents
5 | extends ListBase {
6 | final List _values = [];
7 | List get values => _values.cast();
8 |
9 | @override
10 | int get length => _values.length;
11 |
12 | @override
13 | set length(int value) => _values.length = value;
14 |
15 | @override
16 | T operator [](int index) => _values[index]!;
17 |
18 | @override
19 | void operator []=(int index, T value) => _values[index] = value;
20 | }
21 |
--------------------------------------------------------------------------------
/lib/src/state_transition_conditions.dart:
--------------------------------------------------------------------------------
1 | import 'dart:collection';
2 | import 'package:rive/src/rive_core/animation/transition_condition.dart';
3 |
4 | class StateTransitionConditions extends ListBase {
5 | final List _values = [];
6 | List get values => _values.cast();
7 |
8 | @override
9 | int get length => _values.length;
10 |
11 | @override
12 | set length(int value) => _values.length = value;
13 |
14 | @override
15 | TransitionCondition operator [](int index) => _values[index]!;
16 |
17 | @override
18 | void operator []=(int index, TransitionCondition value) =>
19 | _values[index] = value;
20 | }
21 |
--------------------------------------------------------------------------------
/lib/src/state_transitions.dart:
--------------------------------------------------------------------------------
1 | import 'dart:collection';
2 | import 'package:rive/src/rive_core/animation/state_transition.dart';
3 |
4 | class StateTransitions extends ListBase {
5 | final List _values = [];
6 | List get values => _values.cast();
7 |
8 | @override
9 | int get length => _values.length;
10 |
11 | @override
12 | set length(int value) => _values.length = value;
13 |
14 | @override
15 | StateTransition operator [](int index) => _values[index]!;
16 |
17 | @override
18 | void operator []=(int index, StateTransition value) => _values[index] = value;
19 | }
20 |
--------------------------------------------------------------------------------
/lib/src/viewmodel_list_items.dart:
--------------------------------------------------------------------------------
1 | import 'dart:collection';
2 |
3 | import 'package:rive/src/rive_core/viewmodel/viewmodel_instance_list_item.dart';
4 |
5 | class ViewModelListItems
6 | extends ListBase {
7 | final List _values = [];
8 | List get values => _values.cast();
9 |
10 | @override
11 | int get length => _values.length;
12 |
13 | @override
14 | set length(int value) => _values.length = value;
15 |
16 | @override
17 | T operator [](int index) => _values[index]!;
18 |
19 | @override
20 | void operator []=(int index, T value) => _values[index] = value;
21 | }
22 |
--------------------------------------------------------------------------------
/lib/src/viewmodel_properties.dart:
--------------------------------------------------------------------------------
1 | import 'dart:collection';
2 |
3 | import 'package:rive/src/rive_core/viewmodel/viewmodel_property.dart';
4 |
5 | class ViewModelProperties extends ListBase {
6 | final List _values = [];
7 | List get values => _values.cast();
8 |
9 | @override
10 | int get length => _values.length;
11 |
12 | @override
13 | set length(int value) => _values.length = value;
14 |
15 | @override
16 | T operator [](int index) => _values[index]!;
17 |
18 | @override
19 | void operator []=(int index, T value) => _values[index] = value;
20 | }
21 |
--------------------------------------------------------------------------------
/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: rive
2 | version: 0.13.20
3 | homepage: https://rive.app
4 | description: Rive Flutter Runtime. This package provides runtime functionality for playing back and interacting with animations built with the Rive editor available at https://rive.app.
5 | repository: https://github.com/rive-app/rive-flutter
6 | topics:
7 | - animation
8 | - ui
9 | - effects
10 | - widgets
11 | - widget
12 | environment:
13 | sdk: ">=2.17.0 <4.0.0"
14 | flutter: ">=2.5.0"
15 | dependencies:
16 | collection: ^1.15.0
17 | flutter:
18 | sdk: flutter
19 | flutter_web_plugins:
20 | sdk: flutter
21 | http: ">=0.13.3 <2.0.0"
22 | meta: ^1.3.0
23 | plugin_platform_interface: ^2.0.2
24 | rive_common: 0.4.15
25 | dev_dependencies:
26 | flutter_test:
27 | sdk: flutter
28 | mocktail:
29 | path: ^1.8.3
--------------------------------------------------------------------------------
/test/assets/batch_rivs/circle-fui.riv:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:249baa6c8e69991c3d563e01942fa8e14d586f5325af81d7bbf2fae86de2a630
3 | size 286936
4 |
--------------------------------------------------------------------------------
/test/assets/batch_rivs/danger-quarantine.riv:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:5aa95fe11dad1d78882d1537a61e175d8a1777efcb06b62310818aa203d4c177
3 | size 18519
4 |
--------------------------------------------------------------------------------
/test/assets/batch_rivs/fire-skull.riv:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:560d6f4bdf39b83196fd49e4e8a1825b05279a83801cba80384640e1e1a6427a
3 | size 10715
4 |
--------------------------------------------------------------------------------
/test/assets/batch_rivs/joystick-demos-fish.riv:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:72ddd483375fa9f38d47b765b9a4b3a3c4ea1568f175dce13c5cf0a95ef31bbe
3 | size 7248
4 |
--------------------------------------------------------------------------------
/test/assets/batch_rivs/polito.riv:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:76e792dac0d5900841d0ed4112882725923173ea085bfe0471c74f9fdbf9f414
3 | size 7709
4 |
--------------------------------------------------------------------------------
/test/assets/cdn_image.riv:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:8d93c5ca67c938ae4738342ec1b046f09c22a547167ffe7570bf0d899178fba5
3 | size 206
4 |
--------------------------------------------------------------------------------
/test/assets/component_discovery.riv:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:d09c9d88024d7944c231e4d8b6509040fa7d68219c06ba0730fed077834f8eeb
3 | size 806088
4 |
--------------------------------------------------------------------------------
/test/assets/electrified_button_simple.riv:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:72ac13f7988750df3ad741c46be22d4b9a697a8c369cd6d851cd694f0b629929
3 | size 820926
4 |
--------------------------------------------------------------------------------
/test/assets/event_on_listener.riv:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:011407faa0f4eba9576556c4733e524d8989bc489d75ff35afba31ff88fc3598
3 | size 429
4 |
--------------------------------------------------------------------------------
/test/assets/events_from_trigger_test.riv:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:43496fca427b3da9640dbb646fe20a6982fdb14586ffd777ccd2f5395aa8b78a
3 | size 415
4 |
--------------------------------------------------------------------------------
/test/assets/events_on_states.riv:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:6f360a9ba8e224871161a4945d24959c75fba97d9ca81f33be0f73252c31b3c4
3 | size 486
4 |
--------------------------------------------------------------------------------
/test/assets/file.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:24229c70fc2c0487df97ee0deb7b5c80446a0aaaac11ba9268c2d814894f8adb
3 | size 159880
4 |
--------------------------------------------------------------------------------
/test/assets/follow_path_path.riv:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:54020ef6a20855612b904334a59c4f65649f77215aa062c9d0c5618f3ddca5d6
3 | size 818701
4 |
--------------------------------------------------------------------------------
/test/assets/follow_path_shapes.riv:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:6d2eea5391be368871ba71c5b6cf9b8b8a20fe3ac00f98a473c552e08208493c
3 | size 2750
4 |
--------------------------------------------------------------------------------
/test/assets/follow_path_solos.riv:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:89e77e51b507430adb94340455a2b7bd4da40aef55f1ee9568603f50ea09963f
3 | size 287
4 |
--------------------------------------------------------------------------------
/test/assets/hit_test_consume.riv:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:a170d016dde9426d0ba45626de1879c2424a0dbc887fa65513a274b9e7d3cf9a
3 | size 202
4 |
--------------------------------------------------------------------------------
/test/assets/hit_test_pass_through.riv:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:2b96d1eb4564c2a0fe4d3dde81154317c10e92bd07a1c93c7e35a5cd3996f1ec
3 | size 121
4 |
--------------------------------------------------------------------------------
/test/assets/image_asset_prod.riv:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:4a4b3c5a134fab30ec82efad6353c7b04062f35ddafa9777526ce59d12b421f6
3 | size 240
4 |
--------------------------------------------------------------------------------
/test/assets/image_asset_uat.riv:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:63059240dc7db95ff65c1d349ba09396934c9d57a24bfe4092e282d0f4f7cebc
3 | size 281
4 |
--------------------------------------------------------------------------------
/test/assets/joystick_handle_source.riv:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:fc047f6e53f6f3c0a7d044a61faf9d15792c4cfedb14dc9f8f39307f7e29a7f9
3 | size 602
4 |
--------------------------------------------------------------------------------
/test/assets/off_road_car.riv:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:a2cf7f74416ebc7c1016dd6801d38ea6e80cd936fead3d7b6240a34110fda960
3 | size 34921
4 |
--------------------------------------------------------------------------------
/test/assets/rive-flutter-test-asset.riv:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:df1b7d04a10f1c5d402497c88f44a30ab5dd19ca4a110cfe4d7103ea97bd8353
3 | size 264
4 |
--------------------------------------------------------------------------------
/test/assets/runtime_nested_inputs.riv:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:61a14d72c5b9694b675d729e756fd4e3d0a075bf76ed545d07b62c301af962a0
3 | size 947
4 |
--------------------------------------------------------------------------------
/test/assets/sample_image.riv:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:321771e476c91cdf145c0cbb39432b7e2debe1eb17fe6da80eb8ddb1684ad830
3 | size 202647
4 |
--------------------------------------------------------------------------------
/test/assets/skins_demo.riv:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:b7b9bc316e5db9056ff6713ecedd07b304d9e19da9b8310b68369b92711946b2
3 | size 19672
4 |
--------------------------------------------------------------------------------
/test/assets/spilled_time.riv:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:86831a723012b7d779ce1cb7695dc7b87dfe0780bfbf5df24ddf332cf6155f11
3 | size 367
4 |
--------------------------------------------------------------------------------
/test/goldens/batch_tests/images/circle-fui.riv-01.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:852a99c18941c61d80e56858f42c8d8675f8baf22a0207483b23a5b8924a97b5
3 | size 361506
4 |
--------------------------------------------------------------------------------
/test/goldens/batch_tests/images/circle-fui.riv-02.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:04fecfd9229642c791421e274729266dc1c6583d984a5fe3b3b391a6a1601c9a
3 | size 362826
4 |
--------------------------------------------------------------------------------
/test/goldens/batch_tests/images/circle-fui.riv-03.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:f44a79f5df1a626f85470853b66a105bb60e953f94dfbeca7b3413e674006b84
3 | size 365185
4 |
--------------------------------------------------------------------------------
/test/goldens/batch_tests/images/danger-quarantine.riv-01.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:5171752505766020ba4ce60415442178f2a5d8346f6400d3c0dd91fa2d83deb8
3 | size 81618
4 |
--------------------------------------------------------------------------------
/test/goldens/batch_tests/images/danger-quarantine.riv-02.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:cb9973c589844248c533c3105002ec81fa31da0868f58a2091251588fe1c3c96
3 | size 83146
4 |
--------------------------------------------------------------------------------
/test/goldens/batch_tests/images/danger-quarantine.riv-03.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:a56009a140acbbed25e77762b42ec7c8ad5a8f2439b339cc60a2382986ff17cf
3 | size 78347
4 |
--------------------------------------------------------------------------------
/test/goldens/batch_tests/images/fire-skull.riv-01.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:3971fbaf5a4bac3c2574688a0fb0f185d5afa1febf25467c7f15a650af163989
3 | size 64959
4 |
--------------------------------------------------------------------------------
/test/goldens/batch_tests/images/fire-skull.riv-02.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:c944f27011f53f75267dfe0f3dcb5eba6fdb65beb330f8cde30beec1e92d2b2a
3 | size 65900
4 |
--------------------------------------------------------------------------------
/test/goldens/batch_tests/images/fire-skull.riv-03.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:b422ee1ec995f3edce424889ab1049aad21a6fc35ae727aeb7126fac25e93169
3 | size 65212
4 |
--------------------------------------------------------------------------------
/test/goldens/batch_tests/images/joystick-demos-fish.riv-01.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:16b2f488a493a008cd3c36a5069d8060a2c1bc75b1b07da8bb10c0a17d5b3b8e
3 | size 33598
4 |
--------------------------------------------------------------------------------
/test/goldens/batch_tests/images/joystick-demos-fish.riv-02.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:a90e4121263df29b7d054a27246e22d89a2b4c4c169a31deabec44fb4d580f2e
3 | size 37772
4 |
--------------------------------------------------------------------------------
/test/goldens/batch_tests/images/joystick-demos-fish.riv-03.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:cb9941546879d69f03628c2b5a5fa28c26bb8902653910d7e43fea4699c50e6b
3 | size 39343
4 |
--------------------------------------------------------------------------------
/test/goldens/batch_tests/images/polito.riv-01.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:8f87a6833528f59a06a7c94479c39d85dfc0816a9ad896c53f9ee9c73f643072
3 | size 68499
4 |
--------------------------------------------------------------------------------
/test/goldens/batch_tests/images/polito.riv-02.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:f1f43ec135be96620d47b1a458b7bcbdd35ef3694cd023fa40d7389fa7436b81
3 | size 61843
4 |
--------------------------------------------------------------------------------
/test/goldens/batch_tests/images/polito.riv-03.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:e69d34a5943e5ba0967068314114430bf74b5b0be58ae5313deaf71e8078fb53
3 | size 71791
4 |
--------------------------------------------------------------------------------
/test/goldens/follow_path/images/follow_path_over_time_01.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:d90bcda9c1f5d8c05fdef40737db44703a0c383169862f8e3465b29ad87d97a5
3 | size 62061
4 |
--------------------------------------------------------------------------------
/test/goldens/follow_path/images/follow_path_over_time_02.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:16e4eab3f99a34ecb07897f5a71a451c00c8f1bcf9bc8d0c4c4ee8a4ab2bea24
3 | size 66343
4 |
--------------------------------------------------------------------------------
/test/goldens/follow_path/images/follow_path_over_time_03.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:b91954012d83c34cb4725c8c5608e655df6741f033ee16561962a72463b4c96d
3 | size 65824
4 |
--------------------------------------------------------------------------------
/test/goldens/follow_path/images/follow_path_over_time_04.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:d7c79af5b882dfddbc94aa7a5d1efa17808cbfa875a1380307173a7911afc757
3 | size 64784
4 |
--------------------------------------------------------------------------------
/test/goldens/follow_path/images/follow_path_path_01.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:0d3b7b54b69a740a897da914630555bbce9a9dfabeaa3fdfa4a4ce37774c6270
3 | size 150139
4 |
--------------------------------------------------------------------------------
/test/goldens/follow_path/images/follow_path_path_02.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:c110b54737e9da7df678f471087814eae637f2fd6e57ce56c7c6d68ced726976
3 | size 149757
4 |
--------------------------------------------------------------------------------
/test/goldens/follow_path/images/follow_path_path_03.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:bd0704254d162ce9540e3e1fb738e22a9622b25f64f13a5fa164fece41cd2d00
3 | size 141876
4 |
--------------------------------------------------------------------------------
/test/goldens/follow_path/images/follow_path_solos_01.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:473577ef768bf7d5546d11b6a6cb82aad14d4eaf2a48d09baab27ac41d55846b
3 | size 43844
4 |
--------------------------------------------------------------------------------
/test/goldens/follow_path/images/follow_path_solos_02.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:96d5a56012fdd986171c25406924201d9644198fc3a1c79e531f8d39f47377dc
3 | size 43486
4 |
--------------------------------------------------------------------------------
/test/goldens/follow_path/images/follow_path_solos_03.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:74c5ccb50884f559a90a1fdc37e36119c1d6a7c3fbceb66357d80241123e537a
3 | size 44174
4 |
--------------------------------------------------------------------------------
/test/goldens/follow_path/images/follow_path_solos_04.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:b236d2a8c3c6e97503e455d40c1e556447d1884eda8d41e844f45e7563d37fab
3 | size 44075
4 |
--------------------------------------------------------------------------------
/test/goldens/joysticks/images/joystick_handle_source_01.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:b650e64d24fb3c05fc3dbe4cba6c3b6af787341a8cf743982f311988674d0e66
3 | size 21334
4 |
--------------------------------------------------------------------------------
/test/goldens/joysticks/images/joystick_handle_source_02.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:43c9dcb740e44b33edd13e08878103852ae0eb7ee3e9149dd2124d9c045c4187
3 | size 21308
4 |
--------------------------------------------------------------------------------
/test/goldens/joysticks/images/joystick_handle_source_03.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:7285eacb544a5c319b4c7510bdd6f782883a00a125913c57fc4cc92cf9adf3ce
3 | size 21311
4 |
--------------------------------------------------------------------------------
/test/goldens/joysticks/images/joystick_handle_source_04.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:f63921034ece5bd1be1d7cb96d84c6b4bf28fbd3f7f56e814b71c5150444cf6d
3 | size 21322
4 |
--------------------------------------------------------------------------------
/test/goldens/simple_animations/images/mixed_animations_01.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:17ce202d83aa483a07474e0adad651dd3859938224cb54b9afba3f8ec6ff757a
3 | size 497679
4 |
--------------------------------------------------------------------------------
/test/goldens/simple_animations/images/mixed_animations_02.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:82c34817b2ae0c6051bbd22b4ef7ccc992044a96ac527dd33ad86addf72d83bb
3 | size 491924
4 |
--------------------------------------------------------------------------------
/test/goldens/simple_animations/images/play_first_animation_found.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:dcb348e2b2a7360bf6e4100879befc767176b65a7f04138c2428e9cb93170a66
3 | size 462288
4 |
--------------------------------------------------------------------------------
/test/goldens/simple_animations/images/play_provided_animation_controller_01.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:3626496af8cedecca04796fcf2eee9deaf8c9eb0cf7cdf5a323e26aed1060317
3 | size 505022
4 |
--------------------------------------------------------------------------------
/test/goldens/simple_animations/images/play_provided_animation_controller_02.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:9152c60eaca00018a44d3cef375827f9a616e38c24b04d9a4bd5e23f4380fcf3
3 | size 508222
4 |
--------------------------------------------------------------------------------
/test/goldens/skins_opacity/images/skins_opacity_01.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:1e04235a1d43106315eb4abad9ee63a07a3e656363601da6223890afa0ad7c52
3 | size 26543
4 |
--------------------------------------------------------------------------------
/test/goldens/skins_opacity/images/skins_opacity_02.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:dd890928ccef4e12106db697f926e79449fb20b16c01b5a6e1701d15bc823e1a
3 | size 28170
4 |
--------------------------------------------------------------------------------
/test/goldens/skins_opacity/images/skins_opacity_03.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:391b7c21c44e8760a9a8b6ed83cd8deaf03bae701876810bf8ddaba7ea26d28d
3 | size 31862
4 |
--------------------------------------------------------------------------------
/test/goldens/skins_opacity/images/skins_opacity_04.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:e051cf8d2c0f396194d55589c9b58fc888422f6b5015c2c079f2144f067428a6
3 | size 28979
4 |
--------------------------------------------------------------------------------
/test/goldens/skins_opacity/images/skins_opacity_05.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:6a3abd62dce3becf00e92273615f264b8272f8ea228fb76c21d8356a169ed20c
3 | size 36698
4 |
--------------------------------------------------------------------------------
/test/goldens/spilled_time/images/spilled_time_00.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:232f5484944a4ce2b9002f443800e1ca1e9c04f55790f67f41960434555d007f
3 | size 21139
4 |
--------------------------------------------------------------------------------
/test/goldens/spilled_time/images/spilled_time_01.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:27bf6a24a874ed77e25e29b4b294f5207a0489656d6c7caea532b3f23375c212
3 | size 21138
4 |
--------------------------------------------------------------------------------
/test/goldens/spilled_time/images/spilled_time_02.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:36d8f3786a1ee6206deac0a7fac12fafab69795a7a72b7595b272e8c7c694b5c
3 | size 21133
4 |
--------------------------------------------------------------------------------
/test/goldens/spilled_time/images/spilled_time_03.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:6ae4c6fb4ce0847134e7059d0cb6c259896a26f18c511edf3300f946b841af3d
3 | size 21138
4 |
--------------------------------------------------------------------------------
/test/goldens/spilled_time/images/spilled_time_04.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:232f5484944a4ce2b9002f443800e1ca1e9c04f55790f67f41960434555d007f
3 | size 21139
4 |
--------------------------------------------------------------------------------
/test/goldens/spilled_time/images/spilled_time_05.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:86d7be8a4e4ac369ba524a278f60a87f8189b0869c3d884a7f1c7d41ecbeb3f1
3 | size 21140
4 |
--------------------------------------------------------------------------------
/test/goldens/spilled_time/images/spilled_time_exact_00.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:232f5484944a4ce2b9002f443800e1ca1e9c04f55790f67f41960434555d007f
3 | size 21139
4 |
--------------------------------------------------------------------------------
/test/goldens/spilled_time/images/spilled_time_exact_01.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:64abf4ab9a8fc63dc33f4380642217d5eb5ced4e684ec6989ad0c57a7da4a263
3 | size 21140
4 |
--------------------------------------------------------------------------------
/test/goldens/spilled_time/images/spilled_time_exact_02.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:232f5484944a4ce2b9002f443800e1ca1e9c04f55790f67f41960434555d007f
3 | size 21139
4 |
--------------------------------------------------------------------------------
/test/goldens/spilled_time/images/spilled_time_overshoot_00.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:232f5484944a4ce2b9002f443800e1ca1e9c04f55790f67f41960434555d007f
3 | size 21139
4 |
--------------------------------------------------------------------------------
/test/goldens/spilled_time/images/spilled_time_overshoot_01.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:36d8f3786a1ee6206deac0a7fac12fafab69795a7a72b7595b272e8c7c694b5c
3 | size 21133
4 |
--------------------------------------------------------------------------------
/test/goldens/spilled_time/images/spilled_time_overshoot_02.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:232f5484944a4ce2b9002f443800e1ca1e9c04f55790f67f41960434555d007f
3 | size 21139
4 |
--------------------------------------------------------------------------------
/test/goldens/text/images/text_bones_constraint_01.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:ddeb9c542c5253b4ff4b8d7289e6d318f3a061041ceeecfa6f723ab0abad761e
3 | size 42087
4 |
--------------------------------------------------------------------------------
/test/goldens/text/images/text_bones_constraint_02.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:61cff8801da33c1431fc5e58420b5c02c48f8e9f5f3199fb1287261608996289
3 | size 77065
4 |
--------------------------------------------------------------------------------
/test/goldens/text/images/text_bones_constraint_03.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:fec3cf8130def01847828f3cd4031d5eda59af442a60cb923a4e1aabd7a3aecb
3 | size 67366
4 |
--------------------------------------------------------------------------------
/test/goldens/text/images/text_bones_constraint_04.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:3ddd3040ca2bf52e28a9657b6791c5d80d6f91941d8e97705b19b23daeea6c95
3 | size 87510
4 |
--------------------------------------------------------------------------------
/test/goldens/ticker_mode/images/ticker_mode_false.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:dcb348e2b2a7360bf6e4100879befc767176b65a7f04138c2428e9cb93170a66
3 | size 462288
4 |
--------------------------------------------------------------------------------
/test/goldens/ticker_mode/images/ticker_mode_true_1.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:c2cfab857dbcad75420973bdf1bc74fa6d83d3ac7428bb30f524616e4f0767dd
3 | size 463733
4 |
--------------------------------------------------------------------------------
/test/goldens/ticker_mode/images/ticker_mode_true_2.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:c6e9cbded409f8f4838c8ce7f18fa7e2721087cb40d334afb04a85ebe7843c2e
3 | size 473098
4 |
--------------------------------------------------------------------------------
/test/goldens/ticker_mode/images/ticker_mode_true_paused_state.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:e6ed13efb7f90bc32b5b5f8bd8a87dcd50aa8c5e532d18b486b3b1fad20f2384
3 | size 466392
4 |
--------------------------------------------------------------------------------
/test/mocks/fakes.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter_test/flutter_test.dart';
2 | import 'package:rive/rive.dart';
3 |
4 | class ArtboardFake extends Fake implements Artboard {
5 | bool _isPlaying = true;
6 |
7 | @override
8 | bool get isPlaying => _isPlaying;
9 |
10 | @override
11 | void pause() {
12 | _isPlaying = false;
13 | }
14 |
15 | @override
16 | void play() {
17 | _isPlaying = true;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/test/mocks/mocks.dart:
--------------------------------------------------------------------------------
1 | import 'package:mocktail/mocktail.dart';
2 | import 'package:rive/src/rive_core/artboard.dart';
3 | export 'fakes.dart';
4 |
5 | // ignore: one_member_abstracts
6 | abstract class _OnInitFunction {
7 | void call(Artboard _);
8 | }
9 |
10 | class OnInitCallbackMock extends Mock implements _OnInitFunction {}
11 |
--------------------------------------------------------------------------------