├── .cargo └── config.toml ├── .clang-format ├── .clippy.toml ├── .dockerignore ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── 1-bug-report.yaml │ ├── 2-feature-request.yaml │ ├── 4-blank.md │ └── config.yml ├── actions │ ├── codesign │ │ └── action.yaml │ ├── install-linux-dependencies │ │ └── action.yaml │ ├── install-skia-dependencies │ │ └── action.yaml │ └── setup-rust │ │ └── action.yaml ├── ci_path_filters.yaml ├── dependabot.yml ├── pull_request_template.md └── workflows │ ├── autofix.yaml │ ├── build_docs.yaml │ ├── ci.yaml │ ├── cpp_package.yaml │ ├── crater.yaml │ ├── embedded_build.yaml │ ├── nightly_snapshot.yaml │ ├── nightly_tests.yaml │ ├── publish_npm_package.yaml │ ├── slint_tool_binary.yaml │ ├── spellcheck.yaml │ ├── torizon_demos.yaml │ ├── translations.yaml │ ├── tree_sitter.yaml │ ├── upgrade_version.yaml │ ├── upload_esp_idf_component.yaml │ ├── upload_pypi.yaml │ ├── wasm_demos.yaml │ └── wasm_editor_and_interpreter.yaml ├── .gitignore ├── .mailmap ├── .mise ├── config.toml ├── tasks.toml └── tasks │ ├── fix │ └── text │ │ └── trailing_spaces │ └── lint │ └── legal │ └── reuse ├── .npmrc ├── .taplo.toml ├── .vscode ├── .gitignore └── extensions.json ├── CHANGELOG.md ├── CMakeLists.txt ├── CONTRIBUTING.md ├── Cargo.toml ├── Cross.toml ├── FAQ.md ├── LICENSE.md ├── LICENSES ├── Apache-2.0.txt ├── CC-BY-2.0.txt ├── CC-BY-4.0.txt ├── CC-BY-ND-4.0.txt ├── CC-BY-SA-3.0.txt ├── CC-BY-SA-4.0.txt ├── CC-PDDC.txt ├── GPL-3.0-only.txt ├── LicenseRef-DejaVu-Font.txt ├── LicenseRef-Slint-Royalty-free-2.0.md ├── LicenseRef-Slint-Software-3.0.md ├── LicenseRef-qskinny.txt ├── MIT.txt ├── OFL-1.1-RFN.txt ├── OFL-1.1.txt └── Unlicense.txt ├── README.md ├── REUSE.toml ├── SECURITY.md ├── about.toml ├── api ├── cpp │ ├── CMakeLists.txt │ ├── Cargo.toml │ ├── README.md │ ├── build.rs │ ├── cbindgen.rs │ ├── cmake │ │ ├── SlintConfig.cmake.in │ │ └── SlintMacro.cmake │ ├── docs │ │ ├── Pipfile │ │ ├── _static │ │ │ └── theme_tweak.css │ │ ├── _templates │ │ │ └── base.html │ │ ├── cmake.md │ │ ├── cmake_reference.md │ │ ├── conf.py │ │ ├── generated_code.md │ │ ├── genindex.rst │ │ ├── getting_started.md │ │ ├── index.rst │ │ ├── mcu │ │ │ ├── esp-idf │ │ │ │ └── troubleshoot.md │ │ │ ├── esp_idf.md │ │ │ ├── generic.md │ │ │ ├── intro.md │ │ │ ├── stm32.md │ │ │ └── stm32 │ │ │ │ └── generic.md │ │ ├── overview.md │ │ ├── thirdparty.hbs │ │ └── types.md │ ├── esp-idf │ │ └── slint │ │ │ ├── CMakeLists.txt │ │ │ ├── LICENSE │ │ │ ├── LICENSES │ │ │ ├── GPL-3.0-only.txt │ │ │ ├── LicenseRef-Slint-Royalty-free-2.0.md │ │ │ └── LicenseRef-Slint-Software-3.0.md │ │ │ ├── README.md │ │ │ ├── cmake │ │ │ └── FindSlint.cmake │ │ │ ├── idf_component.yml │ │ │ ├── include │ │ │ └── slint-esp.h │ │ │ └── src │ │ │ └── slint-esp.cpp │ ├── include │ │ ├── slint-interpreter.h │ │ ├── slint-platform.h │ │ ├── slint-stm32.h │ │ ├── slint-testing.h │ │ ├── slint.h │ │ ├── slint_brush.h │ │ ├── slint_callbacks.h │ │ ├── slint_color.h │ │ ├── slint_config.h │ │ ├── slint_image.h │ │ ├── slint_interpreter.h │ │ ├── slint_item_tree.h │ │ ├── slint_models.h │ │ ├── slint_pathdata.h │ │ ├── slint_point.h │ │ ├── slint_properties.h │ │ ├── slint_sharedvector.h │ │ ├── slint_size.h │ │ ├── slint_string.h │ │ ├── slint_tests_helpers.h │ │ ├── slint_timer.h │ │ ├── slint_window.h │ │ └── vtable.h │ ├── lib.rs │ ├── platform.rs │ └── tests │ │ ├── CMakeLists.txt │ │ ├── datastructures.cpp │ │ ├── eventloop.cpp │ │ ├── interpreter.cpp │ │ ├── libraries │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── app-window.slint │ │ └── main.cpp │ │ ├── models.cpp │ │ ├── multiple-includes │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── another-window.slint │ │ ├── app-window.slint │ │ ├── logic.cpp │ │ ├── logic.h │ │ └── main.cpp │ │ ├── platform_eventloop.cpp │ │ ├── properties.cpp │ │ ├── redpixel.png │ │ ├── test.slint │ │ ├── testing.cpp │ │ └── window.cpp ├── node │ ├── .gitignore │ ├── .npmignore │ ├── .yarnrc.yml │ ├── Cargo.toml │ ├── README.md │ ├── __test__ │ │ ├── api.spec.mts │ │ ├── compiler.spec.mts │ │ ├── eventloop.spec.mts │ │ ├── globals.spec.mts │ │ ├── js_value_conversion.spec.mts │ │ ├── models.spec.mts │ │ ├── resources │ │ │ ├── error.slint │ │ │ ├── rgb.png │ │ │ ├── test-constructor.slint │ │ │ ├── test-enum.slint │ │ │ ├── test-fileloader.slint │ │ │ ├── test-struct.slint │ │ │ └── test.slint │ │ ├── tsconfig.json │ │ ├── types.spec.mts │ │ └── window.spec.mts │ ├── binaries.json │ ├── biome.json │ ├── build-on-demand.mjs │ ├── build.rs │ ├── cover.md │ ├── package.json │ ├── rust │ │ ├── interpreter.rs │ │ ├── interpreter │ │ │ ├── component_compiler.rs │ │ │ ├── component_definition.rs │ │ │ ├── component_instance.rs │ │ │ ├── diagnostic.rs │ │ │ ├── value.rs │ │ │ └── window.rs │ │ ├── lib.rs │ │ ├── types.rs │ │ └── types │ │ │ ├── brush.rs │ │ │ ├── image_data.rs │ │ │ ├── model.rs │ │ │ ├── point.rs │ │ │ └── size.rs │ ├── thirdparty.hbs │ ├── tsconfig.json │ └── typescript │ │ ├── index.ts │ │ └── models.ts ├── python │ ├── .gitignore │ ├── Cargo.toml │ ├── README.md │ ├── brush.rs │ ├── build_docs.py │ ├── errors.rs │ ├── image.rs │ ├── interpreter.rs │ ├── lib.rs │ ├── models.rs │ ├── noxfile.py │ ├── pyproject.toml │ ├── slint │ │ ├── __init__.py │ │ ├── models.py │ │ ├── py.typed │ │ └── slint.pyi │ ├── stub-gen │ │ └── main.rs │ ├── tests │ │ ├── test-load-file.slint │ │ ├── test_brush.py │ │ ├── test_callback_decorators.py │ │ ├── test_compiler.py │ │ ├── test_gc.py │ │ ├── test_instance.py │ │ ├── test_load_file.py │ │ ├── test_loader.py │ │ ├── test_models.py │ │ └── test_timers.py │ ├── thirdparty.hbs │ ├── timer.rs │ └── value.rs ├── rs │ ├── build │ │ ├── Cargo.toml │ │ ├── LICENSES │ │ │ ├── GPL-3.0-only.txt │ │ │ ├── LicenseRef-Slint-Royalty-free-2.0.md │ │ │ └── LicenseRef-Slint-Software-3.0.md │ │ └── lib.rs │ ├── macros │ │ ├── Cargo.toml │ │ ├── LICENSES │ │ │ ├── GPL-3.0-only.txt │ │ │ ├── LicenseRef-Slint-Royalty-free-2.0.md │ │ │ └── LicenseRef-Slint-Software-3.0.md │ │ ├── README.md │ │ └── lib.rs │ └── slint │ │ ├── Cargo.toml │ │ ├── LICENSES │ │ ├── GPL-3.0-only.txt │ │ ├── LicenseRef-Slint-Royalty-free-2.0.md │ │ ├── LicenseRef-Slint-Software-3.0.md │ │ └── MIT.txt │ │ ├── README.md │ │ ├── android.rs │ │ ├── compile_fail_tests.rs │ │ ├── docs.rs │ │ ├── lib.rs │ │ ├── mcu.md │ │ ├── private_unstable_api.rs │ │ ├── tests │ │ ├── partial_renderer.rs │ │ ├── show_strongref.rs │ │ ├── simple_macro.rs │ │ ├── spawn_local.rs │ │ ├── tokio.rs │ │ └── tokio_block_in_place.rs │ │ └── type-mappings.md └── wasm-interpreter │ ├── Cargo.toml │ └── src │ └── lib.rs ├── biome.json ├── cmake ├── FindOpenGLES2.cmake └── FindOpenGLES3.cmake ├── cspell.json ├── demos ├── CMakeLists.txt ├── README.md ├── energy-monitor │ ├── Cargo.toml │ ├── README.md │ ├── build.rs │ ├── index.html │ ├── ios-project.yml │ ├── src │ │ ├── controllers │ │ │ ├── header.rs │ │ │ └── weather.rs │ │ ├── lib.rs │ │ └── main.rs │ └── ui │ │ ├── assets │ │ ├── arrow-left.svg │ │ ├── arrow-right.svg │ │ ├── check.svg │ │ ├── cloud.svg │ │ ├── cloudy.svg │ │ ├── dashboard.svg │ │ ├── information.svg │ │ ├── settings.svg │ │ ├── spyrosoft-logo.svg │ │ └── sunny.svg │ │ ├── big_main.slint │ │ ├── blocks │ │ ├── blocks.slint │ │ ├── header.slint │ │ ├── kiosk_overlay.slint │ │ └── mobile_header.slint │ │ ├── components │ │ ├── menu_background.slint │ │ └── state_layer.slint │ │ ├── desktop_window.slint │ │ ├── images.slint │ │ ├── mcu_window.slint │ │ ├── mid_main.slint │ │ ├── mobile_main.slint │ │ ├── pages │ │ ├── about.slint │ │ ├── balance.slint │ │ ├── dashboard.slint │ │ ├── dashboard_mobile.slint │ │ ├── menu_page │ │ │ ├── menu_overview.slint │ │ │ ├── menu_page.slint │ │ │ └── settings.slint │ │ ├── overview.slint │ │ ├── page.slint │ │ ├── pages.slint │ │ ├── usage.slint │ │ └── weather.slint │ │ ├── small_main.slint │ │ ├── theme.slint │ │ └── widgets │ │ ├── balance_chart.slint │ │ ├── bar_chart.slint │ │ ├── bar_tiles.slint │ │ ├── chart_axis.slint │ │ ├── chart_pattern.slint │ │ ├── check_box.slint │ │ ├── float_button.slint │ │ ├── group_box.slint │ │ ├── icon_button.slint │ │ ├── item.slint │ │ ├── list_view.slint │ │ ├── menu.slint │ │ ├── menu_button.slint │ │ ├── navigation.slint │ │ ├── page_scroll_view.slint │ │ ├── pagination.slint │ │ ├── radio_button.slint │ │ ├── scroll_view.slint │ │ ├── switch.slint │ │ ├── tab_widget.slint │ │ ├── tile.slint │ │ ├── value_display.slint │ │ └── widgets.slint ├── home-automation │ ├── README.md │ ├── node │ │ ├── main.js │ │ └── package.json │ ├── rust │ │ ├── Cargo.toml │ │ ├── index.html │ │ ├── ios-project.yml │ │ ├── lib.rs │ │ └── main.rs │ └── ui │ │ ├── api.slint │ │ ├── appState.slint │ │ ├── common.slint │ │ ├── components │ │ ├── alarm.slint │ │ ├── appliance.slint │ │ ├── camera.slint │ │ ├── control.slint │ │ ├── dial │ │ │ ├── dial.slint │ │ │ └── dialLights.slint │ │ ├── dishwasher.slint │ │ ├── general │ │ │ ├── doors.slint │ │ │ ├── fancySlider.slint │ │ │ ├── haText.slint │ │ │ ├── innerShadowRectangle.slint │ │ │ ├── themeSwitch.slint │ │ │ └── toggle.slint │ │ ├── graph.slint │ │ ├── hvac.slint │ │ ├── info.slint │ │ ├── lamp.slint │ │ ├── mainView │ │ │ ├── fullScreenView.slint │ │ │ ├── fullScreenWidgetLoader.slint │ │ │ ├── fullScreenWidgetLoaderSW.slint │ │ │ ├── mainScreen.slint │ │ │ ├── sidebar.slint │ │ │ ├── viewButton.slint │ │ │ ├── widgetLoader.slint │ │ │ └── widgetLoaderSoftwareRenderer.slint │ │ ├── microwave.slint │ │ ├── musicPlayer.slint │ │ ├── overhead.slint │ │ ├── powerInfo.slint │ │ ├── timeInfo.slint │ │ └── weatherInfo.slint │ │ ├── demo-debug.slint │ │ ├── demo-sw-renderer.slint │ │ ├── demo.slint │ │ ├── fonts │ │ ├── Poppins-Bold.ttf │ │ ├── Poppins-Bold.ttf.license │ │ ├── Poppins-Light.ttf │ │ ├── Poppins-Light.ttf.license │ │ ├── Poppins-Medium.ttf │ │ ├── Poppins-Medium.ttf.license │ │ ├── Poppins-Regular.ttf │ │ ├── Poppins-Regular.ttf.license │ │ ├── Poppins-Thin.ttf │ │ └── Poppins-Thin.ttf.license │ │ └── images │ │ ├── album.png │ │ ├── back-yard.jpg │ │ ├── back.svg │ │ ├── brightness.svg │ │ ├── cold.svg │ │ ├── control-frame.png │ │ ├── default-button.png │ │ ├── dial-frame.png │ │ ├── dishwasher.jpg │ │ ├── enlarge.svg │ │ ├── front-porch.jpg │ │ ├── fwd.svg │ │ ├── info-frame.png │ │ ├── lamp │ │ ├── 0000.png │ │ └── 0024.png │ │ ├── led-dark.png │ │ ├── led.png │ │ ├── lines.png │ │ ├── lock.svg │ │ ├── logo-fragment.png │ │ ├── microwave.jpg │ │ ├── notch.png │ │ ├── open-lock.svg │ │ ├── overhead-frame.png │ │ ├── pause.svg │ │ ├── play.svg │ │ ├── pressed-button.png │ │ ├── reduce.svg │ │ ├── slint-logo.png │ │ ├── slint-logo.svg │ │ ├── thumb.png │ │ ├── title-frame.png │ │ └── weather │ │ ├── cloudy.png │ │ ├── rainy.png │ │ ├── sunny-cloudy.png │ │ ├── sunny-rainy.png │ │ └── sunny.png ├── printerdemo │ ├── README.md │ ├── cpp │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ └── main.cpp │ ├── cpp_interpreted │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ └── main.cpp │ ├── lang │ │ └── fr │ │ │ └── LC_MESSAGES │ │ │ ├── printerdemo.mo │ │ │ └── printerdemo.po │ ├── node │ │ ├── README │ │ ├── main.js │ │ └── package.json │ ├── printerdemo.pot │ ├── python │ │ ├── README.md │ │ ├── main.py │ │ └── pyproject.toml │ ├── rust │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── index.html │ │ ├── lib.rs │ │ └── main.rs │ ├── ui │ │ ├── README │ │ ├── common.slint │ │ ├── copy_page.slint │ │ ├── fonts │ │ │ ├── .gitignore │ │ │ ├── NotoSans-Bold.ttf │ │ │ ├── NotoSans-Bold.ttf.license │ │ │ ├── NotoSans-Italic.ttf │ │ │ ├── NotoSans-Italic.ttf.license │ │ │ ├── NotoSans-Light.ttf │ │ │ ├── NotoSans-Light.ttf.license │ │ │ ├── NotoSans-Regular.ttf │ │ │ ├── NotoSans-Regular.ttf.license │ │ │ └── convert.sh │ │ ├── home_page.slint │ │ ├── images │ │ │ ├── back.svg │ │ │ ├── cat.jpg │ │ │ ├── cat.jpg.license │ │ │ ├── check.svg │ │ │ ├── copy.svg │ │ │ ├── delete.svg │ │ │ ├── dog.jpg │ │ │ ├── dog.jpg.license │ │ │ ├── down.svg │ │ │ ├── elephant.jpg │ │ │ ├── elephant.jpg.license │ │ │ ├── home.svg │ │ │ ├── ink.svg │ │ │ ├── laptop.svg │ │ │ ├── list.svg │ │ │ ├── minus.svg │ │ │ ├── moon.svg │ │ │ ├── moon_full.svg │ │ │ ├── night_mode.svg │ │ │ ├── page_selection.svg │ │ │ ├── pause.svg │ │ │ ├── plus.svg │ │ │ ├── power.svg │ │ │ ├── print.svg │ │ │ ├── printer.svg │ │ │ ├── replicate.svg │ │ │ ├── scan.svg │ │ │ ├── settings.svg │ │ │ ├── snake.jpg │ │ │ ├── snake.jpg.license │ │ │ └── usb.svg │ │ ├── ink_page.slint │ │ ├── print_page.slint │ │ ├── printer_queue.slint │ │ ├── printerdemo.slint │ │ ├── scan_page.slint │ │ ├── settings_page.slint │ │ └── usb_page.slint │ └── zephyr │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── VERSION │ │ ├── boards │ │ ├── mimxrt1170_evk_mimxrt1176_cm7.conf │ │ ├── native_sim_64.conf │ │ └── native_sim_64.overlay │ │ ├── prj.conf │ │ ├── src │ │ ├── main.cpp │ │ ├── slint-zephyr.cpp │ │ └── slint-zephyr.h │ │ └── west.yaml ├── printerdemo_mcu │ ├── Cargo.toml │ ├── README.md │ ├── bench.rs │ ├── build.rs │ ├── esp-idf │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── main │ │ │ ├── CMakeLists.txt │ │ │ ├── idf_component.yml │ │ │ └── main.cpp │ │ ├── partitions.csv │ │ ├── rust-toolchain.toml │ │ └── sdkconfig.defaults │ ├── main.rs │ └── ui │ │ ├── README │ │ ├── common.slint │ │ ├── copy_page.slint │ │ ├── fonts │ │ ├── home_page.slint │ │ ├── images │ │ ├── ink_page.slint │ │ ├── printer_queue.slint │ │ ├── printerdemo.slint │ │ ├── scan_page.slint │ │ ├── settings_page.slint │ │ ├── slint-logo-square-dark-80x80.png │ │ └── slint-logo-square-light-80x80.png ├── usecases │ ├── cpp │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ └── main.cpp │ ├── esp-idf │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── main │ │ │ ├── CMakeLists.txt │ │ │ ├── idf_component.yml │ │ │ └── main.cpp │ │ ├── rust-toolchain.toml │ │ └── sdkconfig.defaults │ ├── lang │ │ └── de │ │ │ └── LC_MESSAGES │ │ │ ├── usecases.mo │ │ │ └── usecases.po │ ├── rust │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── index.html │ │ └── src │ │ │ ├── lib.rs │ │ │ └── main.rs │ ├── ui │ │ ├── app.slint │ │ ├── assets.slint │ │ ├── assets │ │ │ ├── archive.svg │ │ │ ├── arrow-circle-o-left.svg │ │ │ ├── arrow-left.svg │ │ │ ├── arrow-right.svg │ │ │ ├── arrow-up.svg │ │ │ ├── chevron-left.svg │ │ │ ├── cloud.svg │ │ │ ├── document.svg │ │ │ ├── expand-more.svg │ │ │ ├── forward.svg │ │ │ ├── globe.svg │ │ │ ├── inbox.svg │ │ │ ├── junk.svg │ │ │ ├── menu.svg │ │ │ ├── message.svg │ │ │ ├── reply.svg │ │ │ ├── search.svg │ │ │ ├── send.svg │ │ │ ├── trash.svg │ │ │ ├── updates.svg │ │ │ └── users.svg │ │ ├── icons.slint │ │ ├── views.slint │ │ ├── views │ │ │ ├── dashboard_view.slint │ │ │ ├── header_view.slint │ │ │ ├── mail_view.slint │ │ │ └── main_view.slint │ │ ├── virtual_keyboard.slint │ │ ├── widgets.slint │ │ └── widgets │ │ │ ├── bar_chart.slint │ │ │ ├── card_list_view.slint │ │ │ ├── container.slint │ │ │ ├── dialog.slint │ │ │ ├── extended_line_edit.slint │ │ │ ├── icon.slint │ │ │ ├── icon_button.slint │ │ │ ├── navigation_list_view.slint │ │ │ ├── segmented.slint │ │ │ ├── styling.slint │ │ │ ├── tile.slint │ │ │ ├── title_text.slint │ │ │ └── value_display.slint │ └── update_translations.sh └── weather-demo │ ├── Cargo.toml │ ├── README.md │ ├── android-res │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ ├── mipmap-ldpi │ │ └── ic_launcher.png │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ └── mipmap-xxxhdpi │ │ └── ic_launcher.png │ ├── build.rs │ ├── docs │ └── img │ │ ├── android-preview.png │ │ └── desktop-preview.png │ ├── index.html │ ├── src │ ├── app_main.rs │ ├── lib.rs │ ├── main.rs │ └── weather │ │ ├── dummyweather.json │ │ ├── dummyweathercontroller.rs │ │ ├── mod.rs │ │ ├── openweathercontroller.rs │ │ ├── utils.rs │ │ ├── weathercontroller.rs │ │ └── weatherdisplaycontroller.rs │ └── ui │ ├── about-box.slint │ ├── assets │ ├── felgo-logo.svg │ ├── icons │ │ ├── arrow-down.svg │ │ ├── arrow-up.svg │ │ ├── plus.svg │ │ ├── refresh.svg │ │ ├── search.svg │ │ ├── trash.svg │ │ └── xmark.svg │ └── weathericons-font.ttf │ ├── city_weather.slint │ ├── city_weather_tile.slint │ ├── controls │ ├── busy-layer.slint │ ├── generic.slint │ ├── stackview.slint │ └── weather.slint │ ├── expanded_city_weather_tile.slint │ ├── forecast_with_graph.slint │ ├── location_datatypes.slint │ ├── location_search.slint │ ├── main.slint │ ├── page-base.slint │ ├── style │ └── styles.slint │ ├── ui_utils.slint │ └── weather_datatypes.slint ├── docker ├── Dockerfile.aarch64-unknown-linux-gnu ├── Dockerfile.armv7-unknown-linux-gnueabihf ├── Dockerfile.cpp-image ├── Dockerfile.riscv64gc-unknown-linux-gnu ├── Dockerfile.torizon-demos └── Dockerfile.x86_64-unknown-linux-gnu ├── docs ├── astro │ ├── .gitignore │ ├── README.md │ ├── astro.config.mjs │ ├── biome.json │ ├── ec.config.mjs │ ├── package.json │ ├── playwright.config.ts │ ├── public │ │ └── favicon.svg │ ├── src │ │ ├── assets │ │ │ ├── banner.webp │ │ │ ├── getting-started │ │ │ │ ├── copy-snippet.webp │ │ │ │ ├── language-hint.webp │ │ │ │ ├── line-highlight.webp │ │ │ │ ├── macos-vscode-template-1.webp │ │ │ │ ├── macos-vscode-template-2.webp │ │ │ │ ├── macos-vscode-template-3.webp │ │ │ │ ├── preview-dark.webp │ │ │ │ ├── preview-light.webp │ │ │ │ └── run-in-slintpad.webp │ │ │ ├── guide │ │ │ │ └── tooling │ │ │ │ │ ├── export-variables.webp │ │ │ │ │ ├── inspect-variables.webp │ │ │ │ │ ├── inspect.webp │ │ │ │ │ └── use-variables.webp │ │ │ ├── ios-simulator.webp │ │ │ ├── mattermost-logo-dark.svg │ │ │ ├── mattermost-logo-light.svg │ │ │ ├── slint-logo-simple-dark.webp │ │ │ ├── slint-logo-simple-light.webp │ │ │ ├── slint-logo-small-dark.svg │ │ │ ├── slint-logo-small-light.svg │ │ │ ├── slint-logo-square-dark.webp │ │ │ └── slint-logo-square-light.webp │ │ ├── components │ │ │ ├── Banner.astro │ │ │ ├── CodeSnippetMD.astro │ │ │ ├── Footer.astro │ │ │ ├── FourCardGrid.astro │ │ │ ├── Header.astro │ │ │ ├── IconLinkCard.astro │ │ │ ├── LangRefLink.astro │ │ │ ├── Link.astro │ │ │ ├── ReleaseLink.astro │ │ │ ├── SlintProperty.astro │ │ │ ├── ThemeSelect.astro │ │ │ ├── ThreeCardGrid.astro │ │ │ ├── Type.astro │ │ │ ├── VersionBanner.astro │ │ │ ├── VersionSelector.astro │ │ │ └── editor │ │ │ │ ├── codemirror.js │ │ │ │ ├── language-facets.js │ │ │ │ ├── package.json │ │ │ │ └── rollup.config.js │ │ ├── content.config.ts │ │ ├── content │ │ │ ├── code │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── Cargo.toml │ │ │ │ ├── app-window.slint │ │ │ │ ├── main_game_logic.cpp │ │ │ │ ├── main_game_logic.js │ │ │ │ ├── main_game_logic.py │ │ │ │ ├── main_game_logic_in_rust.rs │ │ │ │ ├── main_initial.cpp │ │ │ │ ├── main_initial.js │ │ │ │ ├── main_initial.py │ │ │ │ ├── main_initial.rs │ │ │ │ ├── main_memory_tile.rs │ │ │ │ ├── main_multiple_tiles.rs │ │ │ │ ├── main_polishing_the_tile.rs │ │ │ │ ├── main_tiles_from_cpp.cpp │ │ │ │ ├── main_tiles_from_js.js │ │ │ │ ├── main_tiles_from_python.py │ │ │ │ ├── main_tiles_from_rust.rs │ │ │ │ ├── memory.slint │ │ │ │ ├── memory_game_logic.slint │ │ │ │ ├── memory_tile.slint │ │ │ │ ├── memory_tiles_from_cpp.slint │ │ │ │ └── package.json │ │ │ ├── collections │ │ │ │ └── std-widgets │ │ │ │ │ ├── Date.md │ │ │ │ │ └── Time.md │ │ │ └── docs │ │ │ │ ├── guide │ │ │ │ ├── backends-and-renderers │ │ │ │ │ ├── backend_linuxkms.md │ │ │ │ │ ├── backend_qt.mdx │ │ │ │ │ ├── backend_winit.md │ │ │ │ │ └── backends_and_renderers.mdx │ │ │ │ ├── development │ │ │ │ │ ├── custom-controls.mdx │ │ │ │ │ ├── debugging_techniques.mdx │ │ │ │ │ ├── focus.mdx │ │ │ │ │ ├── fonts.md │ │ │ │ │ └── translations.mdx │ │ │ │ ├── language │ │ │ │ │ ├── coding │ │ │ │ │ │ ├── animation.mdx │ │ │ │ │ │ ├── expressions-and-statements.mdx │ │ │ │ │ │ ├── file.mdx │ │ │ │ │ │ ├── functions-and-callbacks.mdx │ │ │ │ │ │ ├── globals.mdx │ │ │ │ │ │ ├── name-resolution.mdx │ │ │ │ │ │ ├── positioning-and-layouts.mdx │ │ │ │ │ │ ├── properties.mdx │ │ │ │ │ │ ├── repetition-and-data-models.mdx │ │ │ │ │ │ ├── states.mdx │ │ │ │ │ │ └── structs-and-enums.mdx │ │ │ │ │ └── concepts │ │ │ │ │ │ ├── reactivity-vs-react.mdx │ │ │ │ │ │ ├── reactivity.mdx │ │ │ │ │ │ └── slint-language.mdx │ │ │ │ ├── platforms │ │ │ │ │ ├── android.mdx │ │ │ │ │ ├── desktop.mdx │ │ │ │ │ ├── embedded.mdx │ │ │ │ │ ├── ios.mdx │ │ │ │ │ ├── other.mdx │ │ │ │ │ └── web.mdx │ │ │ │ └── tooling │ │ │ │ │ ├── figma-inspector.mdx │ │ │ │ │ └── vscode.mdx │ │ │ │ ├── index.mdx │ │ │ │ ├── language-integrations │ │ │ │ └── index.mdx │ │ │ │ ├── reference │ │ │ │ ├── colors-and-brushes.mdx │ │ │ │ ├── common.mdx │ │ │ │ ├── elements │ │ │ │ │ ├── image.mdx │ │ │ │ │ ├── mini-banner.png │ │ │ │ │ ├── path.mdx │ │ │ │ │ ├── rectangle.mdx │ │ │ │ │ ├── slint-logo-simple-dark.png │ │ │ │ │ ├── slint-logo.png │ │ │ │ │ └── text.mdx │ │ │ │ ├── gestures │ │ │ │ │ ├── flickable.mdx │ │ │ │ │ ├── swipegesturehandler.mdx │ │ │ │ │ └── toucharea.mdx │ │ │ │ ├── global-functions │ │ │ │ │ ├── builtinfunctions.mdx │ │ │ │ │ └── math.mdx │ │ │ │ ├── global-namespaces │ │ │ │ │ └── platform.mdx │ │ │ │ ├── global-structs-enums.mdx │ │ │ │ ├── keyboard-input │ │ │ │ │ ├── focusscope.mdx │ │ │ │ │ ├── overview.mdx │ │ │ │ │ ├── textinput.mdx │ │ │ │ │ └── textinputinterface.mdx │ │ │ │ ├── layouts │ │ │ │ │ ├── gridlayout.mdx │ │ │ │ │ ├── horizontallayout.mdx │ │ │ │ │ ├── overview.mdx │ │ │ │ │ └── verticallayout.mdx │ │ │ │ ├── overview.mdx │ │ │ │ ├── primitive-types.mdx │ │ │ │ ├── std-widgets │ │ │ │ │ ├── basic-widgets │ │ │ │ │ │ ├── button.mdx │ │ │ │ │ │ ├── checkbox.mdx │ │ │ │ │ │ ├── combobox.mdx │ │ │ │ │ │ ├── progressindicator.mdx │ │ │ │ │ │ ├── slider.mdx │ │ │ │ │ │ ├── spinbox.mdx │ │ │ │ │ │ ├── spinner.mdx │ │ │ │ │ │ ├── standardbutton.mdx │ │ │ │ │ │ └── switch.mdx │ │ │ │ │ ├── layouts │ │ │ │ │ │ ├── gridbox.mdx │ │ │ │ │ │ ├── groupbox.mdx │ │ │ │ │ │ ├── horizontalbox.mdx │ │ │ │ │ │ └── verticalbox.mdx │ │ │ │ │ ├── misc │ │ │ │ │ │ ├── aboutslint.mdx │ │ │ │ │ │ ├── datepicker.mdx │ │ │ │ │ │ └── timepicker.mdx │ │ │ │ │ ├── overview.mdx │ │ │ │ │ ├── style.mdx │ │ │ │ │ └── views │ │ │ │ │ │ ├── lineedit.mdx │ │ │ │ │ │ ├── listview.mdx │ │ │ │ │ │ ├── scrollview.mdx │ │ │ │ │ │ ├── standardlistview.mdx │ │ │ │ │ │ ├── standardtableview.mdx │ │ │ │ │ │ ├── tabwidget.mdx │ │ │ │ │ │ └── textedit.mdx │ │ │ │ ├── timer.mdx │ │ │ │ └── window │ │ │ │ │ ├── contextmenuarea.mdx │ │ │ │ │ ├── dialog.mdx │ │ │ │ │ ├── menubar.mdx │ │ │ │ │ ├── popupwindow.mdx │ │ │ │ │ └── window.mdx │ │ │ │ └── tutorial │ │ │ │ ├── conclusion.md │ │ │ │ ├── creating_the_tiles.mdx │ │ │ │ ├── from_one_to_multiple_tiles.mdx │ │ │ │ ├── game_logic.mdx │ │ │ │ ├── getting_started.mdx │ │ │ │ ├── ideas_for_the_reader.mdx │ │ │ │ ├── memory_tile.mdx │ │ │ │ ├── polishing_the_tile.mdx │ │ │ │ ├── quickstart.mdx │ │ │ │ └── running_in_a_browser.mdx │ │ ├── styles │ │ │ ├── custom.css │ │ │ └── theme.css │ │ └── utils │ │ │ ├── site-config.ts │ │ │ ├── slint-docs-highlight.html │ │ │ ├── slint-docs-preview.html │ │ │ ├── utils.ts │ │ │ └── versions.ts │ ├── tests │ │ ├── link-test.spec.ts │ │ └── smoke-test.spec.ts │ ├── tsconfig.json │ └── writing-style-guide.md ├── building.md ├── development.md ├── embedded-tutorials.md ├── install_qt.md ├── nightly-release-notes.md ├── readme.md ├── release-artifacts.md ├── release-notes.md ├── site │ └── index.html ├── testing.md ├── torizon.md └── triage.md ├── editors ├── README.md ├── kate │ └── slint.ksyntaxhighlighter.xml ├── sublime │ ├── LSP.sublime-settings │ ├── Slint.sublime-syntax │ └── Slint.tmPreferences ├── tree-sitter-slint │ ├── .gitignore │ ├── CONTRIBUTING.md │ ├── README.md │ ├── corpus │ │ ├── empty.txt │ │ └── lookup.txt │ ├── grammar.js │ └── test-to-corpus.py └── vscode │ ├── .gitignore │ ├── .vscode │ ├── extensions.json │ ├── launch.json │ ├── settings.json │ └── tasks.json │ ├── .vscodeignore │ ├── README.md │ ├── biome.json │ ├── esbuild.js │ ├── extension-logo.png │ ├── language-configuration.json │ ├── package.json │ ├── slint-file-icon.svg │ ├── slint.injection.json │ ├── slint.markdown-injection.json │ ├── slint.tmLanguage.json │ ├── snippets │ └── slint.json │ ├── src │ ├── browser-lsp-worker.ts │ ├── browser.ts │ ├── common.ts │ ├── extension.ts │ ├── lsp_commands.ts │ ├── quick_picks.ts │ ├── snippets.ts │ ├── telemetry.ts │ ├── tsconfig.json │ └── wasm_preview.ts │ ├── static │ └── walkthroughs │ │ └── welcome │ │ ├── create_slint_file.md │ │ ├── get_help.md │ │ ├── show_preview.png │ │ └── show_preview.png.license │ ├── telemetry.json │ ├── tests │ └── grammar │ │ ├── basic.slint │ │ ├── expressions.slint │ │ ├── invalid.slint │ │ ├── printerdemo.slint │ │ ├── snippets.slint │ │ └── states.slint │ ├── tsconfig.default.json │ └── tsconfig.json ├── examples ├── 7guis │ ├── Cargo.toml │ ├── README.md │ ├── booker.rs │ ├── booker.slint │ ├── cells.rs │ ├── cells.slint │ ├── circledraw.rs │ ├── circledraw.slint │ ├── counter.slint │ ├── crud.rs │ ├── crud.slint │ ├── tempconv.slint │ └── timer.slint ├── CMakeLists.txt ├── README.md ├── bash │ ├── README.md │ ├── laptop.svg │ ├── laptop.svg.license │ ├── simple_input.sh │ ├── sysinfo.slint │ ├── sysinfo_linux.sh │ └── sysinfo_macos.sh ├── bevy │ ├── Cargo.toml │ ├── README.md │ ├── main.rs │ ├── slint_bevy_adapter.rs │ └── web_asset.rs ├── carousel │ ├── README.md │ ├── cpp │ │ ├── CMakeLists.txt │ │ └── main.cpp │ ├── esp-idf │ │ ├── .gitignore │ │ ├── README.md │ │ ├── main.cpp │ │ ├── rust-toolchain.toml │ │ ├── s3-box │ │ │ ├── CMakeLists.txt │ │ │ ├── main │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── idf_component.yml │ │ │ ├── partitions.csv │ │ │ └── sdkconfig.defaults │ │ └── s3-usb-otg │ │ │ ├── CMakeLists.txt │ │ │ ├── main │ │ │ ├── CMakeLists.txt │ │ │ └── idf_component.yml │ │ │ ├── partitions.csv │ │ │ └── sdkconfig.defaults │ ├── node │ │ ├── README │ │ ├── main.js │ │ └── package.json │ ├── rust │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── index.html │ │ └── main.rs │ └── ui │ │ ├── card.slint │ │ ├── carousel.slint │ │ ├── carousel_demo.slint │ │ ├── fonts │ │ ├── Roboto-Bold.ttf │ │ ├── Roboto-Bold.ttf.license │ │ ├── Roboto-Regular.ttf │ │ └── Roboto-Regular.ttf.license │ │ ├── label.slint │ │ ├── svg │ │ ├── home_black.svg │ │ ├── home_black.svg.license │ │ ├── info_black.svg │ │ ├── info_black.svg.license │ │ ├── settings_black.svg │ │ └── settings_black.svg.license │ │ ├── theme.slint │ │ └── title_label.slint ├── cpp │ ├── platform_native │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── app-window.slint │ │ ├── appview.cpp │ │ ├── appview.h │ │ ├── main.cpp │ │ └── windowadapter_win.h │ ├── platform_qt │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── app-window.slint │ │ └── main.cpp │ └── qt_viewer │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── interface.ui │ │ └── qt_viewer.cpp ├── dial │ ├── README.md │ ├── dial.slint │ └── images │ │ ├── blue-hint.png │ │ ├── dial-frame.png │ │ ├── dial-trim.png │ │ ├── indicator.png │ │ ├── light-hole.png │ │ ├── light.png │ │ ├── metal-dial.png │ │ └── metal-lights.png ├── fancy-switches │ ├── DarkModeSwitch.slint │ ├── README.md │ ├── SunMoonSwitch.slint │ ├── demo.slint │ └── images │ │ ├── clouds-background.png │ │ ├── clouds-front.png │ │ ├── line.png │ │ ├── moon.svg │ │ ├── shadow-frame.png │ │ ├── stars.png │ │ └── switch.png ├── fancy_demo │ └── main.slint ├── ffmpeg │ ├── Cargo.toml │ ├── README.md │ ├── build.rs │ ├── main.rs │ ├── pause.svg │ ├── play.svg │ ├── player.rs │ ├── player │ │ ├── audio.rs │ │ └── video.rs │ └── scene.slint ├── gallery │ ├── CMakeLists.txt │ ├── Cargo.toml │ ├── README.md │ ├── build.rs │ ├── gallery.pot │ ├── gallery.slint │ ├── index.html │ ├── lang │ │ ├── de │ │ │ └── LC_MESSAGES │ │ │ │ ├── gallery.mo │ │ │ │ └── gallery.po │ │ ├── fr │ │ │ └── LC_MESSAGES │ │ │ │ ├── gallery.mo │ │ │ │ └── gallery.po │ │ └── ja │ │ │ └── LC_MESSAGES │ │ │ ├── gallery.mo │ │ │ └── gallery.po │ ├── main.cpp │ ├── main.rs │ ├── thumbsup.png │ ├── thumbsup.png.license │ ├── ui │ │ ├── gallery_settings.slint │ │ ├── pages │ │ │ ├── about_page.slint │ │ │ ├── controls_page.slint │ │ │ ├── easings_page.slint │ │ │ ├── list_view_page.slint │ │ │ ├── page.slint │ │ │ ├── pages.slint │ │ │ ├── table_view_page.slint │ │ │ └── text_edit_page.slint │ │ └── side_bar.slint │ └── update_translations.sh ├── gstreamer-player │ ├── Cargo.toml │ ├── README.md │ ├── build.rs │ ├── egl_integration.rs │ ├── main.rs │ ├── pause.svg │ ├── play.svg │ ├── scene.slint │ └── software_rendering.rs ├── imagefilter │ ├── README.md │ ├── assets │ │ ├── cat.jpg │ │ └── cat.jpg.license │ ├── node │ │ ├── .gitignore │ │ ├── README │ │ ├── main.ts │ │ ├── package.json │ │ └── tsconfig.json │ ├── rust │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── index.html │ │ └── main.rs │ └── ui │ │ └── main.slint ├── iot-dashboard │ ├── .gitignore │ ├── CMakeLists.txt │ ├── README.md │ ├── dashboard.cpp │ ├── dashboard.h │ ├── images │ │ ├── ac.png │ │ ├── ac.svg │ │ ├── dashboard.png │ │ ├── dashboard.svg │ │ ├── devices.png │ │ ├── devices.svg │ │ ├── down.png │ │ ├── down.svg │ │ ├── humidity.png │ │ ├── humidity.svg │ │ ├── indoor-temperature.png │ │ ├── indoor-temperature.svg │ │ ├── lamps.png │ │ ├── lamps.svg │ │ ├── logout.png │ │ ├── logout.svg │ │ ├── main-icon.png │ │ ├── main-icon.svg │ │ ├── members.png │ │ ├── members.svg │ │ ├── music-system.png │ │ ├── music-system.svg │ │ ├── rooms.png │ │ ├── rooms.svg │ │ ├── router.png │ │ ├── router.svg │ │ ├── statistics.png │ │ ├── statistics.svg │ │ ├── storage.png │ │ ├── storage.svg │ │ ├── up.png │ │ └── up.svg │ ├── iot-dashboard.slint │ ├── main.cpp │ └── main.slint ├── maps │ ├── Cargo.toml │ ├── README.md │ └── main.rs ├── mcu-board-support │ ├── Cargo.toml │ ├── README.md │ ├── build.rs │ ├── embassy.rs │ ├── esp32_s3_box_3.rs │ ├── esp32_s3_box_3 │ │ └── cargo-config.toml │ ├── lib.rs │ ├── pico2_st7789.rs │ ├── pico2_st7789 │ │ ├── board_config.toml │ │ ├── memory.x │ │ └── rp_pico2.rs │ ├── pico_st7789.rs │ ├── pico_st7789 │ │ ├── board_config.toml │ │ └── memory.x │ ├── profiler.rs │ ├── stm32h735g.rs │ ├── stm32h735g │ │ ├── board_config.toml │ │ └── memory.x │ ├── stm32u5g9j_dk2.rs │ └── stm32u5g9j_dk2 │ │ ├── board_config.toml │ │ ├── hspi.rs │ │ └── memory.x ├── mcu-embassy │ ├── .cargo │ │ └── config.toml │ ├── .gitignore │ ├── .vscode │ │ └── settings.json │ ├── Cargo.toml │ ├── README.md │ ├── slint_generated │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── build.rs │ │ └── src │ │ │ └── lib.rs │ ├── src │ │ ├── bin │ │ │ ├── ui_mcu.rs │ │ │ └── ui_simulator.rs │ │ ├── controller.rs │ │ ├── lib.rs │ │ ├── mcu │ │ │ ├── double_buffer.rs │ │ │ ├── hardware.rs │ │ │ ├── mod.rs │ │ │ └── rcc_setup.rs │ │ ├── simulator │ │ │ ├── hardware.rs │ │ │ └── mod.rs │ │ └── slint_backend.rs │ └── ui │ │ ├── common.slint │ │ └── main.slint ├── memory │ ├── CMakeLists.txt │ ├── Cargo.toml │ ├── README.md │ ├── icons │ │ ├── README.md │ │ ├── at-solid.svg │ │ ├── at.png │ │ ├── balance-scale-solid.svg │ │ ├── balance-scale.png │ │ ├── bicycle-solid.svg │ │ ├── bicycle.png │ │ ├── bus-solid.svg │ │ ├── bus.png │ │ ├── cloud-solid.svg │ │ ├── cloud.png │ │ ├── cogs-solid.svg │ │ ├── cogs.png │ │ ├── motorcycle-solid.svg │ │ ├── motorcycle.png │ │ ├── tile_logo.png │ │ ├── video-solid.svg │ │ └── video.png │ ├── index.html │ ├── main.js │ ├── main.py │ ├── main.rs │ ├── memory.cpp │ ├── memory.slint │ ├── package.json │ └── pyproject.toml ├── opengl_texture │ ├── CMakeLists.txt │ ├── Cargo.toml │ ├── README.md │ ├── build.rs │ ├── main.cpp │ ├── main.rs │ └── scene.slint ├── opengl_underlay │ ├── CMakeLists.txt │ ├── Cargo.toml │ ├── README.md │ ├── build.rs │ ├── index.html │ ├── main.cpp │ ├── main.rs │ └── scene.slint ├── orbit-animation │ ├── README.md │ ├── demo.slint │ ├── images │ │ ├── sphere-small.png │ │ └── sphere.png │ └── orbiter.slint ├── plotter │ ├── Cargo.toml │ ├── README.md │ ├── index.html │ ├── main.rs │ ├── plotter.slint │ └── wasm_backend.rs ├── repeater │ ├── README.md │ └── demo.slint ├── slide_puzzle │ ├── Cargo.toml │ ├── README.md │ ├── berlin.jpg │ ├── berlin.jpg.license │ ├── build.rs │ ├── index.html │ ├── main.rs │ ├── plaster-font │ │ ├── Plaster-Regular.ttf │ │ └── Plaster-Regular.ttf.license │ └── slide_puzzle.slint ├── sprite-sheet │ ├── README.md │ ├── SpriteSheet.slint │ ├── demo.slint │ └── images │ │ └── sprite.png ├── todo-mvc │ ├── README.md │ ├── assets │ │ ├── add.svg │ │ ├── close.svg │ │ └── remove.svg │ ├── rust │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── index.html │ │ └── src │ │ │ ├── callback.rs │ │ │ ├── lib.rs │ │ │ ├── main.rs │ │ │ ├── mvc.rs │ │ │ ├── mvc │ │ │ ├── controllers.rs │ │ │ ├── controllers │ │ │ │ ├── create_task_controller.rs │ │ │ │ └── task_list_controller.rs │ │ │ ├── models.rs │ │ │ ├── models │ │ │ │ ├── date_model.rs │ │ │ │ ├── task_model.rs │ │ │ │ └── time_model.rs │ │ │ ├── repositories.rs │ │ │ └── repositories │ │ │ │ ├── mock_date_time_repository.rs │ │ │ │ ├── mock_task_repository.rs │ │ │ │ ├── traits.rs │ │ │ │ └── traits │ │ │ │ ├── date_time_repository.rs │ │ │ │ └── task_repository.rs │ │ │ ├── ui.rs │ │ │ └── ui │ │ │ ├── create_task_adapter.rs │ │ │ ├── navigation_adapter.rs │ │ │ └── task_list_adapter.rs │ └── ui │ │ ├── index.slint │ │ ├── views │ │ ├── create_task_view.slint │ │ └── task_list_view.slint │ │ └── widgets │ │ ├── action_button.slint │ │ ├── focus_touch_area.slint │ │ ├── icon_button.slint │ │ ├── selection_list_view.slint │ │ ├── state_layer.slint │ │ ├── styling.slint │ │ └── text_button.slint ├── todo │ ├── README.md │ ├── cpp │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ ├── app.cpp │ │ ├── app.h │ │ ├── main.cpp │ │ └── tests │ │ │ └── test_todo_basic.cpp │ ├── node │ │ ├── README │ │ ├── main.js │ │ └── package.json │ ├── rust │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── index.html │ │ ├── lib.rs │ │ └── main.rs │ └── ui │ │ └── todo.slint ├── uefi-demo │ ├── Cargo.toml │ ├── README.md │ ├── build.rs │ ├── demo.slint │ ├── main.rs │ └── resource │ │ └── cursor.png ├── virtual_keyboard │ ├── README.md │ ├── cpp │ │ ├── CMakeLists.txt │ │ └── main.cpp │ ├── rust │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── main.rs │ └── ui │ │ ├── assets │ │ ├── arrow-circle-o-left.svg │ │ ├── arrow-left.svg │ │ ├── arrow-right.svg │ │ ├── arrow-up.svg │ │ ├── chevron-left.svg │ │ ├── expand-more.svg │ │ └── globe.svg │ │ ├── icons.slint │ │ ├── main_window.slint │ │ └── virtual_keyboard.slint └── wgpu_texture │ ├── Cargo.toml │ ├── README.md │ ├── build.rs │ ├── main.rs │ ├── scene.slint │ └── shader.wgsl ├── helper_crates ├── const-field-offset │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── LICENSES │ │ ├── Apache-2.0.txt │ │ └── MIT.txt │ ├── README.md │ ├── macro │ │ ├── Cargo.toml │ │ └── macro.rs │ ├── src │ │ └── lib.rs │ └── tests │ │ └── test_field_offset.rs └── vtable │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── LICENSES │ ├── Apache-2.0.txt │ └── MIT.txt │ ├── README.md │ ├── macro │ ├── Cargo.toml │ ├── LICENSES │ │ ├── Apache-2.0.txt │ │ └── MIT.txt │ └── macro.rs │ ├── src │ ├── compile_fail_tests.rs │ ├── lib.rs │ └── vrc.rs │ └── tests │ ├── test_vrc.rs │ └── test_vtable.rs ├── internal ├── backends │ ├── android-activity │ │ ├── Cargo.toml │ │ ├── LICENSES │ │ │ ├── GPL-3.0-only.txt │ │ │ ├── LicenseRef-Slint-Royalty-free-2.0.md │ │ │ └── LicenseRef-Slint-Software-3.0.md │ │ ├── README.md │ │ ├── androidwindowadapter.rs │ │ ├── build.rs │ │ ├── java │ │ │ └── SlintAndroidJavaHelper.java │ │ ├── javahelper.rs │ │ └── lib.rs │ ├── linuxkms │ │ ├── Cargo.toml │ │ ├── LICENSES │ │ │ ├── GPL-3.0-only.txt │ │ │ ├── LicenseRef-Slint-Royalty-free-2.0.md │ │ │ ├── LicenseRef-Slint-Software-3.0.md │ │ │ └── MIT.txt │ │ ├── README.md │ │ ├── calloop_backend.rs │ │ ├── calloop_backend │ │ │ └── input.rs │ │ ├── display.rs │ │ ├── display │ │ │ ├── gbmdisplay.rs │ │ │ ├── swdisplay.rs │ │ │ ├── swdisplay │ │ │ │ ├── dumbbuffer.rs │ │ │ │ └── linuxfb.rs │ │ │ └── vulkandisplay.rs │ │ ├── drmoutput.rs │ │ ├── fullscreenwindowadapter.rs │ │ ├── lib.rs │ │ ├── mouse-pointer.svg │ │ ├── noop_backend.rs │ │ └── renderer │ │ │ ├── femtovg.rs │ │ │ ├── skia.rs │ │ │ └── sw.rs │ ├── qt │ │ ├── Cargo.toml │ │ ├── LICENSES │ │ │ ├── GPL-3.0-only.txt │ │ │ ├── LicenseRef-Slint-Royalty-free-2.0.md │ │ │ └── LicenseRef-Slint-Software-3.0.md │ │ ├── README.md │ │ ├── accessible_generated.rs │ │ ├── build.rs │ │ ├── key_generated.rs │ │ ├── lib.rs │ │ ├── qt_accessible.rs │ │ ├── qt_widgets.rs │ │ ├── qt_widgets │ │ │ ├── button.rs │ │ │ ├── checkbox.rs │ │ │ ├── combobox.rs │ │ │ ├── groupbox.rs │ │ │ ├── lineedit.rs │ │ │ ├── listviewitem.rs │ │ │ ├── palette.rs │ │ │ ├── progress_indicator.rs │ │ │ ├── scrollview.rs │ │ │ ├── slider.rs │ │ │ ├── spinbox.rs │ │ │ ├── stylemetrics.rs │ │ │ ├── tableheadersection.rs │ │ │ └── tabwidget.rs │ │ └── qt_window.rs │ ├── selector │ │ ├── Cargo.toml │ │ ├── LICENSES │ │ │ ├── GPL-3.0-only.txt │ │ │ ├── LicenseRef-Slint-Royalty-free-2.0.md │ │ │ └── LicenseRef-Slint-Software-3.0.md │ │ ├── README.md │ │ ├── api.rs │ │ ├── build.rs │ │ └── lib.rs │ ├── testing │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── build.rs │ │ ├── ffi.rs │ │ ├── internal_tests.rs │ │ ├── lib.rs │ │ ├── search_api.rs │ │ ├── slint_systest.proto │ │ ├── systest.rs │ │ ├── testing_backend.rs │ │ └── tests │ │ │ └── click.rs │ └── winit │ │ ├── Cargo.toml │ │ ├── LICENSES │ │ ├── GPL-3.0-only.txt │ │ ├── LicenseRef-Slint-Royalty-free-2.0.md │ │ └── LicenseRef-Slint-Software-3.0.md │ │ ├── README.md │ │ ├── accesskit.rs │ │ ├── build.rs │ │ ├── clipboard.rs │ │ ├── drag_resize_window.rs │ │ ├── event_loop.rs │ │ ├── lib.rs │ │ ├── muda.rs │ │ ├── renderer │ │ ├── femtovg.rs │ │ ├── femtovg │ │ │ └── glcontext.rs │ │ ├── skia.rs │ │ └── sw.rs │ │ ├── wasm_input_helper.rs │ │ ├── winitwindowadapter.rs │ │ └── xdg_color_scheme.rs ├── common │ ├── Cargo.toml │ ├── LICENSES │ │ ├── GPL-3.0-only.txt │ │ ├── LicenseRef-DejaVu-Font.txt │ │ ├── LicenseRef-Slint-Royalty-free-2.0.md │ │ └── LicenseRef-Slint-Software-3.0.md │ ├── README.md │ ├── builtin_structs.rs │ ├── enums.rs │ ├── key_codes.rs │ ├── lib.rs │ ├── sharedfontdb.rs │ └── sharedfontdb │ │ ├── DejaVuSans.ttf │ │ ├── DejaVuSans.ttf.license │ │ └── fontconfig.rs ├── compiler │ ├── Cargo.toml │ ├── LICENSES │ │ ├── Apache-2.0.txt │ │ ├── CC-BY-ND-4.0.txt │ │ ├── GPL-3.0-only.txt │ │ ├── LicenseRef-Slint-Royalty-free-2.0.md │ │ ├── LicenseRef-Slint-Software-3.0.md │ │ └── MIT.txt │ ├── README.md │ ├── build.rs │ ├── builtin_macros.rs │ ├── builtins.slint │ ├── diagnostics.rs │ ├── embedded_resources.rs │ ├── expression_tree.rs │ ├── fileaccess.rs │ ├── generator.rs │ ├── generator │ │ ├── cpp.rs │ │ └── rust.rs │ ├── langtype.rs │ ├── layout.rs │ ├── lexer.rs │ ├── lib.rs │ ├── literals.rs │ ├── llr.rs │ ├── llr │ │ ├── expression.rs │ │ ├── item_tree.rs │ │ ├── lower_expression.rs │ │ ├── lower_to_item_tree.rs │ │ ├── optim_passes │ │ │ ├── count_property_use.rs │ │ │ └── inline_expressions.rs │ │ └── pretty_print.rs │ ├── load_builtins.rs │ ├── lookup.rs │ ├── lookup │ │ └── named_colors.rs │ ├── namedreference.rs │ ├── object_tree.rs │ ├── parser-test-macro │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── lib.rs │ ├── parser.rs │ ├── parser │ │ ├── document.rs │ │ ├── element.rs │ │ ├── expressions.rs │ │ ├── statements.rs │ │ └── type.rs │ ├── passes.rs │ ├── passes │ │ ├── apply_default_properties_from_style.rs │ │ ├── binding_analysis.rs │ │ ├── border_radius.rs │ │ ├── check_expressions.rs │ │ ├── check_public_api.rs │ │ ├── check_rotation.rs │ │ ├── clip.rs │ │ ├── collect_custom_fonts.rs │ │ ├── collect_globals.rs │ │ ├── collect_init_code.rs │ │ ├── collect_structs_and_enums.rs │ │ ├── collect_subcomponents.rs │ │ ├── compile_paths.rs │ │ ├── const_propagation.rs │ │ ├── deduplicate_property_read.rs │ │ ├── default_geometry.rs │ │ ├── embed_glyphs.rs │ │ ├── embed_images.rs │ │ ├── ensure_window.rs │ │ ├── flickable.rs │ │ ├── focus_handling.rs │ │ ├── generate_item_indices.rs │ │ ├── infer_aliases_types.rs │ │ ├── inject_debug_hooks.rs │ │ ├── inlining.rs │ │ ├── lower_absolute_coordinates.rs │ │ ├── lower_accessibility.rs │ │ ├── lower_component_container.rs │ │ ├── lower_layout.rs │ │ ├── lower_menus.rs │ │ ├── lower_platform.rs │ │ ├── lower_popups.rs │ │ ├── lower_property_to_element.rs │ │ ├── lower_shadows.rs │ │ ├── lower_states.rs │ │ ├── lower_tabwidget.rs │ │ ├── lower_text_input_interface.rs │ │ ├── lower_timers.rs │ │ ├── materialize_fake_properties.rs │ │ ├── move_declarations.rs │ │ ├── optimize_useless_rectangles.rs │ │ ├── purity_check.rs │ │ ├── remove_aliases.rs │ │ ├── remove_return.rs │ │ ├── remove_unused_properties.rs │ │ ├── repeater_component.rs │ │ ├── resolve_native_classes.rs │ │ ├── resolving.rs │ │ ├── unique_id.rs │ │ ├── visible.rs │ │ └── z_order.rs │ ├── pathutils.rs │ ├── tests │ │ ├── consistent_styles.rs │ │ ├── syntax │ │ │ ├── accessibility │ │ │ │ └── accessible_properties.slint │ │ │ ├── analysis │ │ │ │ ├── binding_loop1.slint │ │ │ │ ├── binding_loop2.slint │ │ │ │ ├── binding_loop_function.slint │ │ │ │ ├── binding_loop_issue_772.slint │ │ │ │ ├── binding_loop_layout.slint │ │ │ │ ├── binding_loop_layout2.slint │ │ │ │ ├── binding_loop_layout3.slint │ │ │ │ ├── binding_loop_layout4.slint │ │ │ │ ├── binding_loop_layout_if.slint │ │ │ │ ├── binding_loop_mappointtowindow.slint │ │ │ │ ├── binding_loop_self.slint │ │ │ │ ├── binding_loop_text.slint │ │ │ │ ├── binding_loop_window.slint │ │ │ │ └── binding_loop_window2.slint │ │ │ ├── basic │ │ │ │ ├── animate.slint │ │ │ │ ├── array.slint │ │ │ │ ├── assign.slint │ │ │ │ ├── bom-simple.slint │ │ │ │ ├── box_shadow.slint │ │ │ │ ├── children_placeholder.slint │ │ │ │ ├── clip.slint │ │ │ │ ├── comments.slint │ │ │ │ ├── dialog.slint │ │ │ │ ├── dialog2.slint │ │ │ │ ├── double_binding.slint │ │ │ │ ├── double_color.slint │ │ │ │ ├── duplicated_id.slint │ │ │ │ ├── easing.slint │ │ │ │ ├── easing_not_called.slint │ │ │ │ ├── empty.slint │ │ │ │ ├── enums.slint │ │ │ │ ├── for.slint │ │ │ │ ├── for_range.slint │ │ │ │ ├── image.slint │ │ │ │ ├── inline_component.slint │ │ │ │ ├── item_as_property.slint │ │ │ │ ├── layout.slint │ │ │ │ ├── layout2.slint │ │ │ │ ├── linear-gradient.slint │ │ │ │ ├── object_in_binding.slint │ │ │ │ ├── opacity.slint │ │ │ │ ├── parse_error.slint │ │ │ │ ├── path.slint │ │ │ │ ├── path_commands.slint │ │ │ │ ├── path_for.slint │ │ │ │ ├── percent.slint │ │ │ │ ├── popup.slint │ │ │ │ ├── property_animation.slint │ │ │ │ ├── property_declaration.slint │ │ │ │ ├── property_declaration_in_component.slint │ │ │ │ ├── radial-gradient.slint │ │ │ │ ├── return.slint │ │ │ │ ├── rotation.slint │ │ │ │ ├── rust-attr.slint │ │ │ │ ├── self_assign.slint │ │ │ │ ├── signal.slint │ │ │ │ ├── states_transitions.slint │ │ │ │ ├── states_transitions2.slint │ │ │ │ ├── states_transitions3.slint │ │ │ │ ├── states_two_way.slint │ │ │ │ ├── sub_elements.slint │ │ │ │ ├── supersimple.slint │ │ │ │ ├── svg_path.slint │ │ │ │ ├── tr.slint │ │ │ │ ├── tr2.slint │ │ │ │ ├── type_declaration.slint │ │ │ │ └── unknown_item.slint │ │ │ ├── callbacks │ │ │ │ ├── init.slint │ │ │ │ └── property-changes.slint │ │ │ ├── elements │ │ │ │ ├── component_container.slint │ │ │ │ ├── contextmenu.slint │ │ │ │ ├── contextmenu2.slint │ │ │ │ ├── listview.slint │ │ │ │ ├── menubar-lookup.slint │ │ │ │ ├── menubar.slint │ │ │ │ ├── menubar2.slint │ │ │ │ ├── menubar3.slint │ │ │ │ ├── popup.slint │ │ │ │ ├── popup2.slint │ │ │ │ ├── popup3.slint │ │ │ │ ├── tabwidget.slint │ │ │ │ ├── tabwidget2.slint │ │ │ │ ├── tabwidget3.slint │ │ │ │ ├── text.slint │ │ │ │ ├── timer.slint │ │ │ │ └── timer2.slint │ │ │ ├── exports │ │ │ │ ├── export_duplicates.slint │ │ │ │ ├── export_non_window.slint │ │ │ │ ├── reexport2.slint │ │ │ │ ├── reexport_duplicate.slint │ │ │ │ ├── root_compo_export.slint │ │ │ │ ├── root_compo_export2.slint │ │ │ │ ├── root_compo_export3.slint │ │ │ │ ├── single_global_missing_export.slint │ │ │ │ └── unused_compo.slint │ │ │ ├── expressions │ │ │ │ ├── arithmetic_op.slint │ │ │ │ ├── clamp.slint │ │ │ │ ├── comparison_operator.slint │ │ │ │ ├── comparison_operator2.slint │ │ │ │ ├── condition_operator.slint │ │ │ │ ├── image-url.slint │ │ │ │ ├── image-url2.slint │ │ │ │ ├── math-macro.slint │ │ │ │ ├── minmax.slint │ │ │ │ ├── percent2.slint │ │ │ │ ├── strings.slint │ │ │ │ └── unary_op.slint │ │ │ ├── focus │ │ │ │ ├── focus_invalid.slint │ │ │ │ ├── focus_not_called.slint │ │ │ │ ├── focus_wrong_args.slint │ │ │ │ └── initial_focus_non_input.slint │ │ │ ├── functions │ │ │ │ ├── function_double_qualified.slint │ │ │ │ ├── functions.slint │ │ │ │ ├── functions_call.slint │ │ │ │ ├── functions_purity.slint │ │ │ │ └── functions_purity_recursive_5220.slint │ │ │ ├── fuzzing │ │ │ │ ├── 6512.slint │ │ │ │ ├── 6518.slint │ │ │ │ ├── 6519.slint │ │ │ │ ├── 6587.slint │ │ │ │ ├── 6588.slint │ │ │ │ ├── 6590.slint │ │ │ │ ├── 6632.slint │ │ │ │ ├── 6650.slint │ │ │ │ ├── 6979.slint │ │ │ │ └── 7095.slint │ │ │ ├── imports │ │ │ │ ├── bug_2719.slint │ │ │ │ ├── bug_3674_alias-from-broken-import.slint │ │ │ │ ├── cyclic_import.slint │ │ │ │ ├── error_in_import.slint │ │ │ │ ├── error_in_import2.slint │ │ │ │ ├── error_in_import3.slint │ │ │ │ ├── font.slint │ │ │ │ ├── import_builtin.slint │ │ │ │ ├── import_error2.slint │ │ │ │ ├── import_errors.slint │ │ │ │ ├── import_parse_error1.slint │ │ │ │ ├── import_parse_error2.slint │ │ │ │ ├── import_parse_error3.slint │ │ │ │ ├── import_parse_error4.slint │ │ │ │ ├── import_parse_error5.slint │ │ │ │ ├── import_parse_error6.slint │ │ │ │ ├── import_parse_error7.slint │ │ │ │ ├── invalid_export.slint │ │ │ │ ├── just_import.slint │ │ │ │ └── visibility_errors.slint │ │ │ ├── layout │ │ │ │ ├── if_in_grid.slint │ │ │ │ ├── if_in_grid_row.slint │ │ │ │ ├── min_max_conflict.slint │ │ │ │ └── spacing.slint │ │ │ ├── lookup │ │ │ │ ├── absolute-position.slint │ │ │ │ ├── array_index.slint │ │ │ │ ├── callback_alias.slint │ │ │ │ ├── callback_alias2.slint │ │ │ │ ├── callback_alias3.slint │ │ │ │ ├── callback_alias_global.slint │ │ │ │ ├── callback_alias_issue4938.slint │ │ │ │ ├── callback_not_called.slint │ │ │ │ ├── callback_return.slint │ │ │ │ ├── color.slint │ │ │ │ ├── conversion.slint │ │ │ │ ├── dashes.slint │ │ │ │ ├── deprecated_property.slint │ │ │ │ ├── enum.slint │ │ │ │ ├── for_lookup.slint │ │ │ │ ├── global.slint │ │ │ │ ├── if.slint │ │ │ │ ├── issue_1461.slint │ │ │ │ ├── issue_5246_states_function.slint │ │ │ │ ├── name_reuse.slint │ │ │ │ ├── property.slint │ │ │ │ ├── recover_id_lookup.slint │ │ │ │ ├── signal_arg.slint │ │ │ │ ├── two_way_binding.slint │ │ │ │ ├── two_way_binding_infer.slint │ │ │ │ └── two_way_binding_model.slint │ │ │ ├── new_syntax │ │ │ │ ├── deprecated_syntax.slint │ │ │ │ ├── input_output.slint │ │ │ │ ├── input_output2.slint │ │ │ │ ├── new_component.slint │ │ │ │ ├── new_lookup.slint │ │ │ │ └── two_way_input_output.slint │ │ │ └── parse_error │ │ │ │ ├── children_placeholder0.slint │ │ │ │ ├── export0.slint │ │ │ │ ├── export1.slint │ │ │ │ ├── for0.slint │ │ │ │ ├── if0.slint │ │ │ │ ├── if1.slint │ │ │ │ ├── if2.slint │ │ │ │ ├── if3.slint │ │ │ │ ├── if4.slint │ │ │ │ ├── property1.slint │ │ │ │ ├── property2.slint │ │ │ │ ├── state1.slint │ │ │ │ ├── state2.slint │ │ │ │ ├── state3.slint │ │ │ │ ├── struct.slint │ │ │ │ └── sub.slint │ │ ├── syntax_tests.rs │ │ └── typeloader │ │ │ ├── custom_style │ │ │ └── TestStyle │ │ │ │ └── std-widgets.slint │ │ │ ├── dependency_local.slint │ │ │ ├── dependency_test_main.slint │ │ │ ├── incpath │ │ │ ├── bug_2719_import.slint │ │ │ ├── bug_3674_alias_from_invalid_import.slint │ │ │ ├── dependency_from_incpath.slint │ │ │ ├── local_helper_type.slint │ │ │ ├── should_fail.slint │ │ │ ├── should_fail2.slint │ │ │ ├── should_fail3.slint │ │ │ └── should_fail4.slint │ │ │ ├── library │ │ │ ├── dependency_from_library.slint │ │ │ ├── lib.slint │ │ │ └── library_helper_type.slint │ │ │ ├── recursive_import1.slint │ │ │ ├── recursive_import2.slint │ │ │ └── some_rust_file.rs │ ├── translations.rs │ ├── typeloader.rs │ ├── typeregister.rs │ └── widgets │ │ ├── common │ │ ├── MadeWithSlint-logo-dark.svg │ │ ├── MadeWithSlint-logo-light.svg │ │ ├── about-slint.slint │ │ ├── combobox-base.slint │ │ ├── datepicker_base.slint │ │ ├── internal-components.slint │ │ ├── layout.slint │ │ ├── lineedit-base.slint │ │ ├── listview.slint │ │ ├── menu-base.slint │ │ ├── menus.slint │ │ ├── slider-base.slint │ │ ├── spinbox-base.slint │ │ ├── spinner-base.slint │ │ ├── standardbutton.slint │ │ ├── tabwidget-base.slint │ │ ├── textedit-base.slint │ │ └── time-picker-base.slint │ │ ├── cosmic │ │ ├── _arrow_back.svg │ │ ├── _arrow_down.svg │ │ ├── _arrow_forward.svg │ │ ├── _arrow_up.svg │ │ ├── _calendar.svg │ │ ├── _check-mark.svg │ │ ├── _clock.svg │ │ ├── _edit.svg │ │ ├── _keyboard.svg │ │ ├── _pane_down.svg │ │ ├── button.slint │ │ ├── checkbox.slint │ │ ├── color-scheme.slint │ │ ├── combobox.slint │ │ ├── components.slint │ │ ├── datepicker.slint │ │ ├── groupbox.slint │ │ ├── lineedit.slint │ │ ├── menu.slint │ │ ├── progressindicator.slint │ │ ├── scrollview.slint │ │ ├── slider.slint │ │ ├── spinbox.slint │ │ ├── spinner.slint │ │ ├── std-widgets-impl.slint │ │ ├── std-widgets.slint │ │ ├── styling.slint │ │ ├── switch.slint │ │ ├── tableview.slint │ │ ├── tabwidget.slint │ │ ├── textedit.slint │ │ └── time-picker.slint │ │ ├── cupertino │ │ ├── _arrow-down.svg │ │ ├── _arrow-up.svg │ │ ├── _arrow_back.svg │ │ ├── _arrow_forward.svg │ │ ├── _calendar.svg │ │ ├── _check-mark.svg │ │ ├── _chevron-down.svg │ │ ├── _chevron-up.svg │ │ ├── _clock.svg │ │ ├── _down.svg │ │ ├── _dropdown.svg │ │ ├── _edit.svg │ │ ├── _keyboard.svg │ │ ├── _left.svg │ │ ├── _right.svg │ │ ├── _up.svg │ │ ├── button.slint │ │ ├── checkbox.slint │ │ ├── color-scheme.slint │ │ ├── combobox.slint │ │ ├── components.slint │ │ ├── datepicker.slint │ │ ├── groupbox.slint │ │ ├── lineedit.slint │ │ ├── menu.slint │ │ ├── progressindicator.slint │ │ ├── scrollview.slint │ │ ├── slider.slint │ │ ├── spinbox.slint │ │ ├── spinner.slint │ │ ├── std-widgets-impl.slint │ │ ├── std-widgets.slint │ │ ├── styling.slint │ │ ├── switch.slint │ │ ├── tableview.slint │ │ ├── tabwidget.slint │ │ ├── textedit.slint │ │ └── time-picker.slint │ │ ├── fluent │ │ ├── _arrow-down.svg │ │ ├── _arrow-up.svg │ │ ├── _arrow_back.svg │ │ ├── _arrow_forward.svg │ │ ├── _calendar.svg │ │ ├── _check-mark.svg │ │ ├── _chevron-down.svg │ │ ├── _chevron-up.svg │ │ ├── _clock.svg │ │ ├── _down.svg │ │ ├── _dropdown.svg │ │ ├── _edit.svg │ │ ├── _keyboard.svg │ │ ├── _left.svg │ │ ├── _right.svg │ │ ├── _up.svg │ │ ├── button.slint │ │ ├── checkbox.slint │ │ ├── color-scheme.slint │ │ ├── combobox.slint │ │ ├── components.slint │ │ ├── datepicker.slint │ │ ├── groupbox.slint │ │ ├── lineedit.slint │ │ ├── menu.slint │ │ ├── progressindicator.slint │ │ ├── scrollview.slint │ │ ├── slider.slint │ │ ├── spinbox.slint │ │ ├── spinner.slint │ │ ├── std-widgets-impl.slint │ │ ├── std-widgets.slint │ │ ├── styling.slint │ │ ├── switch.slint │ │ ├── tableview.slint │ │ ├── tabwidget.slint │ │ ├── textedit.slint │ │ └── time-picker.slint │ │ ├── material │ │ ├── _arrow-downward.svg │ │ ├── _arrow-drop-down.svg │ │ ├── _arrow-drop-up.svg │ │ ├── _arrow-upward.svg │ │ ├── _arrow_back.svg │ │ ├── _arrow_forward.svg │ │ ├── _calendar.svg │ │ ├── _check-mark.svg │ │ ├── _clock.svg │ │ ├── _edit.svg │ │ ├── _expand-more.svg │ │ ├── _keyboard.svg │ │ ├── button.slint │ │ ├── checkbox.slint │ │ ├── color-scheme.slint │ │ ├── combobox.slint │ │ ├── components.slint │ │ ├── datepicker.slint │ │ ├── groupbox.slint │ │ ├── lineedit.slint │ │ ├── menu.slint │ │ ├── progressindicator.slint │ │ ├── scrollview.slint │ │ ├── slider.slint │ │ ├── spinbox.slint │ │ ├── spinner.slint │ │ ├── std-widgets-impl.slint │ │ ├── std-widgets.slint │ │ ├── styling.slint │ │ ├── switch.slint │ │ ├── tableview.slint │ │ ├── tabwidget.slint │ │ ├── textedit.slint │ │ └── time-picker.slint │ │ └── qt │ │ ├── _arrow_back.svg │ │ ├── _arrow_forward.svg │ │ ├── _calendar.svg │ │ ├── _clock.svg │ │ ├── _dropdown.svg │ │ ├── _edit.svg │ │ ├── _keyboard.svg │ │ ├── button.slint │ │ ├── checkbox.slint │ │ ├── combobox.slint │ │ ├── datepicker.slint │ │ ├── groupbox.slint │ │ ├── internal-scrollview.slint │ │ ├── lineedit.slint │ │ ├── menu.slint │ │ ├── progressindicator.slint │ │ ├── scrollview.slint │ │ ├── slider.slint │ │ ├── spinbox.slint │ │ ├── spinner.slint │ │ ├── std-widgets-impl.slint │ │ ├── std-widgets.slint │ │ ├── styling.slint │ │ ├── switch.slint │ │ ├── tableview.slint │ │ ├── tabwidget.slint │ │ ├── textedit.slint │ │ └── time-picker.slint ├── core-macros │ ├── Cargo.toml │ ├── LICENSES │ │ ├── GPL-3.0-only.txt │ │ ├── LicenseRef-Slint-Royalty-free-2.0.md │ │ └── LicenseRef-Slint-Software-3.0.md │ ├── README.md │ ├── lib.rs │ ├── link-data.json │ └── slint_doc.rs ├── core │ ├── Cargo.toml │ ├── LICENSES │ │ ├── GPL-3.0-only.txt │ │ ├── LicenseRef-Slint-Royalty-free-2.0.md │ │ └── LicenseRef-Slint-Software-3.0.md │ ├── README.md │ ├── accessibility.rs │ ├── animations.rs │ ├── api.rs │ ├── callbacks.rs │ ├── component_factory.rs │ ├── context.rs │ ├── date_time.rs │ ├── future.rs │ ├── graphics.rs │ ├── graphics │ │ ├── bitmapfont.rs │ │ ├── border_radius.rs │ │ ├── boxshadowcache.rs │ │ ├── brush.rs │ │ ├── color.rs │ │ ├── image.rs │ │ ├── image │ │ │ ├── cache.rs │ │ │ ├── htmlimage.rs │ │ │ └── svg.rs │ │ ├── path.rs │ │ ├── rendering_metrics_collector.rs │ │ └── wgpu_24.rs │ ├── input.rs │ ├── item_focus.rs │ ├── item_rendering.rs │ ├── item_tree.rs │ ├── items.rs │ ├── items │ │ ├── component_container.rs │ │ ├── flickable.rs │ │ ├── image.rs │ │ ├── input_items.rs │ │ ├── path.rs │ │ └── text.rs │ ├── layout.rs │ ├── lengths.rs │ ├── lib.rs │ ├── menus.rs │ ├── model.rs │ ├── model │ │ ├── adapters.rs │ │ └── model_peer.rs │ ├── platform.rs │ ├── properties.rs │ ├── properties │ │ ├── change_tracker.rs │ │ ├── ffi.rs │ │ └── properties_animations.rs │ ├── renderer.rs │ ├── rtti.rs │ ├── sharedvector.rs │ ├── slice.rs │ ├── software_renderer.rs │ ├── software_renderer │ │ ├── draw_functions.rs │ │ ├── fixed.rs │ │ ├── fonts.rs │ │ ├── fonts │ │ │ ├── pixelfont.rs │ │ │ ├── systemfonts.rs │ │ │ └── vectorfont.rs │ │ ├── minimal_software_window.rs │ │ ├── scene.rs │ │ └── target_pixel_buffer.rs │ ├── string.rs │ ├── tests.rs │ ├── textlayout.rs │ ├── textlayout │ │ ├── fragments.rs │ │ ├── glyphclusters.rs │ │ ├── linebreak_simple.rs │ │ ├── linebreak_unicode.rs │ │ ├── linebreaker.rs │ │ └── shaping.rs │ ├── timers.rs │ ├── translations.rs │ ├── unsafe_single_threaded.rs │ ├── window.rs │ └── window │ │ └── popup.rs ├── interpreter │ ├── Cargo.toml │ ├── LICENSES │ │ ├── GPL-3.0-only.txt │ │ ├── LicenseRef-Slint-Royalty-free-2.0.md │ │ └── LicenseRef-Slint-Software-3.0.md │ ├── api.rs │ ├── dynamic_item_tree.rs │ ├── dynamic_type.rs │ ├── eval.rs │ ├── eval_layout.rs │ ├── ffi.rs │ ├── global_component.rs │ ├── highlight.rs │ ├── json.rs │ ├── lib.rs │ ├── migration.rs │ ├── tests.rs │ └── value_model.rs └── renderers │ ├── femtovg │ ├── Cargo.toml │ ├── LICENSES │ │ ├── GPL-3.0-only.txt │ │ ├── LicenseRef-Slint-Royalty-free-2.0.md │ │ └── LicenseRef-Slint-Software-3.0.md │ ├── README.md │ ├── fonts.rs │ ├── images.rs │ ├── itemrenderer.rs │ ├── lib.rs │ ├── opengl.rs │ └── wgpu.rs │ └── skia │ ├── Cargo.toml │ ├── LICENSES │ ├── GPL-3.0-only.txt │ ├── LicenseRef-Slint-Royalty-free-2.0.md │ └── LicenseRef-Slint-Software-3.0.md │ ├── README.md │ ├── build.rs │ ├── cached_image.rs │ ├── d3d_surface.rs │ ├── itemrenderer.rs │ ├── lib.rs │ ├── metal_surface.rs │ ├── opengl_surface.rs │ ├── software_surface.rs │ ├── textlayout.rs │ └── vulkan_surface.rs ├── logo ├── MadeWithSlint-logo-dark-large.png ├── MadeWithSlint-logo-dark.png ├── MadeWithSlint-logo-dark.svg ├── MadeWithSlint-logo-light-large.png ├── MadeWithSlint-logo-light-whitebg.svg ├── MadeWithSlint-logo-light.png ├── MadeWithSlint-logo-light.svg ├── MadeWithSlint-logo-whitebg.png ├── README.md ├── for_Print │ ├── MadeWithSlint-logo-dark.pdf │ ├── MadeWithSlint-logo-light.pdf │ ├── slint-logo-full-dark.pdf │ ├── slint-logo-full-light.pdf │ ├── slint-logo-simple-dark.pdf │ ├── slint-logo-simple-light.pdf │ ├── slint-logo-small-dark.pdf │ ├── slint-logo-small-light.pdf │ ├── slint-logo-square-dark.pdf │ └── slint-logo-square-light.pdf ├── slint-logo-full-dark-large.png ├── slint-logo-full-dark.png ├── slint-logo-full-dark.svg ├── slint-logo-full-light-large.png ├── slint-logo-full-light-whitebg.svg ├── slint-logo-full-light.png ├── slint-logo-full-light.svg ├── slint-logo-full-whitebg.png ├── slint-logo-simple-dark-large.png ├── slint-logo-simple-dark.png ├── slint-logo-simple-dark.svg ├── slint-logo-simple-light-large.png ├── slint-logo-simple-light-whitebg.svg ├── slint-logo-simple-light.png ├── slint-logo-simple-light.svg ├── slint-logo-simple-whitebg.png ├── slint-logo-small-dark-large.png ├── slint-logo-small-dark.png ├── slint-logo-small-dark.svg ├── slint-logo-small-light-large.png ├── slint-logo-small-light-whitebg.svg ├── slint-logo-small-light.png ├── slint-logo-small-light.svg ├── slint-logo-small-whitebg.png ├── slint-logo-square-dark-128x128.png ├── slint-logo-square-dark-large.png ├── slint-logo-square-dark.png ├── slint-logo-square-dark.svg ├── slint-logo-square-light-128x128.png ├── slint-logo-square-light-large.png ├── slint-logo-square-light-whitebg.svg ├── slint-logo-square-light.png ├── slint-logo-square-light.svg └── slint-logo-square-whitebg.png ├── package.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── rustfmt.toml ├── scripts ├── build_for_ios_with_cargo.bash ├── prepare_binary_package.sh ├── prepare_vscode_nightly.sh └── publish.sh ├── tests ├── cases │ ├── 7guis │ ├── absolute_coords.slint │ ├── accessibility │ │ ├── actions.slint │ │ └── materialized.slint │ ├── bindings │ │ ├── animated_default_geometry.slint │ │ ├── change_sub_property.slint │ │ ├── change_sub_property2.slint │ │ ├── change_sub_property_indirection.slint │ │ ├── change_sub_property_indirection_issue2185.slint │ │ ├── issue_1026_opacity_alias.slint │ │ ├── issue_345_opacity_animation.slint │ │ ├── issue_385_default_geom.slint │ │ ├── multiple_two_way.slint │ │ ├── override.slint │ │ ├── two_way_binding.slint │ │ ├── two_way_binding2.slint │ │ ├── two_way_binding_animation.slint │ │ ├── two_way_binding_extra.slint │ │ ├── two_way_bug.slint │ │ ├── two_way_deep.slint │ │ ├── two_way_global.slint │ │ ├── two_way_model.slint │ │ ├── two_way_priority.slint │ │ ├── two_way_priority_default.slint │ │ └── two_way_simple.slint │ ├── callbacks │ │ ├── callback_alias.slint │ │ ├── callback_name_conflicts.slint │ │ ├── functions.slint │ │ ├── handler.slint │ │ ├── handler_with_arg.slint │ │ ├── init.slint │ │ ├── init_access_base_compo.slint │ │ ├── init_layout.slint │ │ ├── init_listview.slint │ │ ├── init_popup.slint │ │ └── return_value.slint │ ├── children │ │ ├── children_in_clip.slint │ │ ├── children_in_row.slint │ │ ├── children_placeholder.slint │ │ ├── children_placeholder_5865.slint │ │ ├── children_placeholder_three_levels.slint │ │ ├── children_placeholder_two_levels.slint │ │ ├── timer_next_to_children.slint │ │ └── zorder.slint │ ├── conditional │ │ ├── cast.slint │ │ ├── expr.slint │ │ ├── stm.slint │ │ └── stm2.slint │ ├── crashes │ │ ├── access_elided_prop.slint │ │ ├── access_moved_propdecl.slint │ │ ├── alias_in_if.slint │ │ ├── empty_listview.slint │ │ ├── issue1113_popup_in_repeater.slint │ │ ├── issue1267_opacity_in_layout.slint │ │ ├── issue1271_set_in_if.slint │ │ ├── issue1327_inlined_state_property.slint │ │ ├── issue1659_combobox_in_tab.slint │ │ ├── issue173_uninitialized_globals.slint │ │ ├── issue3589_layout_click_deletes_item.slint │ │ ├── issue5259_popup_in_row.slint │ │ ├── issue6721_struct_convert.slint │ │ ├── issue_1009_const_alias.slint │ │ ├── issue_1233_listview_const_shadow.slint │ │ ├── issue_2274_const_state_crash.slint │ │ ├── issue_4002_width_alias.slint │ │ ├── issue_422_enclosing_component.slint │ │ ├── issue_6984_cross_global.slint │ │ ├── issue_7316_changed_visibility.slint │ │ ├── issue_983_listview_const_width.slint │ │ ├── layout_deleted_item.slint │ │ ├── layout_if_in_component.slint │ │ ├── link_two_way_geometry_if.slint │ │ ├── optimized_item_shadow.slint │ │ ├── optimized_popup_parent.slint │ │ ├── shadow_fixed_width.slint │ │ ├── subsubcomponent.slint │ │ ├── subsubcomponent2.slint │ │ └── unused_callback_alias.slint │ ├── elements │ │ ├── component_container.slint │ │ ├── component_container_component.slint │ │ ├── component_container_init.slint │ │ ├── component_container_size.slint │ │ ├── contextmenu_delete.slint │ │ ├── contextmenu_for.slint │ │ ├── dialog.slint │ │ ├── element_ref_on_root_compo.slint │ │ ├── flickable.slint │ │ ├── flickable2.slint │ │ ├── flickable3.slint │ │ ├── flickable_in_flickable.slint │ │ ├── flickable_stay_in_bounds.slint │ │ ├── image.slint │ │ ├── image_geometry.slint │ │ ├── listview-millions.slint │ │ ├── listview.slint │ │ ├── listview_click_open.slint │ │ ├── menubar_empty.slint │ │ ├── menubar_for.slint │ │ ├── path.slint │ │ ├── path_fit.slint │ │ ├── popupwindow.slint │ │ ├── popupwindow_close.slint │ │ ├── popupwindow_close_policy.slint │ │ ├── popupwindow_close_policy_inherited.slint │ │ ├── popupwindow_context.slint │ │ ├── popupwindow_cursor.slint │ │ ├── popupwindow_inherits.slint │ │ ├── popupwindow_nested.slint │ │ ├── popupwindow_nested_close-on-click.slint │ │ ├── popupwindow_open_twice.slint │ │ ├── swipegesturehandler.slint │ │ ├── swipegesturehandler2.slint │ │ ├── tabwidget.slint │ │ ├── timer.slint │ │ ├── togglebutton.slint │ │ ├── toucharea.slint │ │ └── toucharea_doubleclick.slint │ ├── examples │ │ ├── box_shadow_use.slint │ │ ├── color.slint │ │ ├── colored_image.slint │ │ ├── hello.slint │ │ ├── image_fit.slint │ │ ├── image_rendering.slint │ │ ├── key_press.slint │ │ ├── layer.slint │ │ ├── opacity.slint │ │ ├── path_fill_rule.slint │ │ ├── path_viewbox.slint │ │ ├── plusminus.slint │ │ ├── rectangle_clip.slint │ │ ├── rotate.slint │ │ ├── sample_component.slint │ │ └── window_default_font.slint │ ├── exports │ │ ├── cpp_namespace.slint │ │ ├── export_root.slint │ │ ├── multiple_components.slint │ │ └── named_exports.slint │ ├── expr │ │ ├── abs.slint │ │ ├── acos.slint │ │ ├── animation_tick.slint │ │ ├── arithmetic.slint │ │ ├── asin.slint │ │ ├── atan.slint │ │ ├── atan2.slint │ │ ├── ceil.slint │ │ ├── clamp.slint │ │ ├── comparison.slint │ │ ├── cos.slint │ │ ├── debug.slint │ │ ├── exp.slint │ │ ├── floor.slint │ │ ├── ln.slint │ │ ├── log.slint │ │ ├── math.slint │ │ ├── minmax.slint │ │ ├── mod.slint │ │ ├── pow.slint │ │ ├── return.slint │ │ ├── return2.slint │ │ ├── return3.slint │ │ ├── round.slint │ │ ├── sin.slint │ │ ├── sqrt.slint │ │ ├── string_concatenation.slint │ │ ├── string_template.slint │ │ ├── tan.slint │ │ ├── to-fixed.slint │ │ ├── to-precision.slint │ │ ├── tr.slint │ │ └── trigo.slint │ ├── focus │ │ ├── 7058_scrolled_clip.slint │ │ ├── clear_focus.slint │ │ ├── event_propagation.slint │ │ ├── event_propagation_2.slint │ │ ├── event_propagation_3.slint │ │ ├── focus_change.slint │ │ ├── focus_change_event.slint │ │ ├── focus_change_event_reason.slint │ │ ├── focus_change_subcompo.slint │ │ ├── focus_change_through_signal.slint │ │ ├── focus_gained_and_lost.slint │ │ ├── forward.slint │ │ ├── initial_focus.slint │ │ ├── initial_focus_through_component.slint │ │ ├── initial_focus_through_layout.slint │ │ ├── keyboard_focus.slint │ │ ├── keyboard_focus2.slint │ │ ├── listview-hidden.slint │ │ ├── popupwindow_focus.slint │ │ ├── text-input-focused-parent-deleted.slint │ │ └── text-input-focused.slint │ ├── globals │ │ ├── alias_to_global.slint │ │ ├── global_accessor_api.slint │ │ ├── global_alias.slint │ │ ├── global_binding.slint │ │ ├── global_binding_const.slint │ │ ├── global_callback.slint │ │ ├── global_depends_on_global.slint │ │ └── issue_2064_two_way_default_value.slint │ ├── imports │ │ ├── duplicated_name.slint │ │ ├── exported_component.slint │ │ ├── external_globals.slint │ │ ├── external_globals_nameclash.slint │ │ ├── external_structs.slint │ │ ├── external_type.slint │ │ ├── import_multi.slint │ │ ├── just_import.slint │ │ ├── library.slint │ │ ├── reexport.slint │ │ └── reexport2.slint │ ├── input │ │ ├── clip_mouse.slint │ │ ├── scroll-event.slint │ │ └── visible_mouse.slint │ ├── issues │ │ ├── issue_1837_percent_comparison.slint │ │ ├── issue_1846_visibility_in_for.slint │ │ ├── issue_2483_access_spacing.slint │ │ ├── issue_2598_listview_reuse_elem.slint │ │ ├── issue_2608_canon_img_path.slint │ │ ├── issue_2717_has-hover.slint │ │ ├── issue_2780_listview_crash.slint │ │ ├── issue_3107_if_optimized_rect.slint │ │ ├── issue_3318_window_size.slint │ │ ├── issue_3561_return_image.slint │ │ ├── issue_4072_optimized_alias.slint │ │ ├── issue_4163_flickable_parent_percent.slint │ │ ├── issue_4241_alias-const.slint │ │ ├── issue_4884_show_popup.slint │ │ ├── issue_4942_no_else_value.slint │ │ ├── issue_5146_init_animated.slint │ │ ├── issue_5260_init_inlined.slint │ │ ├── issue_5375_children_in_popup.slint │ │ ├── issue_5500_panics_uninitialized_animation.slint │ │ ├── issue_5883.slint │ │ ├── issue_5887_struct_f64-f32.slint │ │ ├── issue_6616_optimized_property_read.slint │ │ ├── issue_6651_export_sort.slint │ │ ├── issue_7811_inline_stack_overflow.slint │ │ ├── issue_7848_timer_depends_model_data.slint │ │ ├── issue_7864_condition_return_void.slint │ │ ├── issue_8144_optimized-used.slint │ │ ├── member_fun_from_parent.slint │ │ └── name_conflicts.slint │ ├── layout │ │ ├── box_alignment.slint │ │ ├── box_percentages.slint │ │ ├── box_preferred_size.slint │ │ ├── default_fill.slint │ │ ├── flickable_in_layout.slint │ │ ├── geometry_center_by_default.slint │ │ ├── grid.slint │ │ ├── grid2.slint │ │ ├── grid_fixed_size.slint │ │ ├── grid_min_max.slint │ │ ├── grid_padding.slint │ │ ├── grid_preferred_size.slint │ │ ├── grid_spacing.slint │ │ ├── grid_span.slint │ │ ├── grid_within_for.slint │ │ ├── height_for_width.slint │ │ ├── horizontal_for.slint │ │ ├── horizontal_sizes.slint │ │ ├── issue6285_auto_explicit_restrictions.slint │ │ ├── issue8091_overriden_padding.slint │ │ ├── issue_1057_listview_subcomponent_height.slint │ │ ├── issue_1072_opacity_geometry.slint │ │ ├── issue_140.slint │ │ ├── issue_147_for_explicit_size.slint │ │ ├── issue_147_for_explicit_size_merge.slint │ │ ├── issue_149_nested_for.slint │ │ ├── issue_160_box_min_max.slint │ │ ├── issue_167_if_relayout.slint │ │ ├── issue_2537_visible_in_listview.slint │ │ ├── issue_407_for_layout_in_flickable.slint │ │ ├── issue_553_materialized_init.slint │ │ ├── issue_7761_animated_pc_size.slint │ │ ├── issue_783_constraint_from_children.slint │ │ ├── materialized_minmax.slint │ │ ├── nested_boxes.slint │ │ ├── nested_grid.slint │ │ ├── nested_grid_2.slint │ │ ├── nested_grid_minmax.slint │ │ ├── opacity_in_layout.slint │ │ ├── override_from_parent.slint │ │ ├── special_default_geometry.slint │ │ ├── text_no_wrap.slint │ │ ├── text_preferred_size.slint │ │ ├── vertical_if.slint │ │ ├── window_fixed.slint │ │ └── window_preferred.slint │ ├── lookup │ │ ├── global_lookup.slint │ │ ├── id_lookup.slint │ │ ├── renamed_elements.slint │ │ └── rust_names.slint │ ├── models │ │ ├── array.slint │ │ ├── assign_equal_model.slint │ │ ├── delete_from_clicked.slint │ │ ├── dirty_model.slint │ │ ├── for.slint │ │ ├── if.slint │ │ ├── if_cond_property.slint │ │ ├── if_dirty.slint │ │ ├── if_lookup.slint │ │ ├── indirect_model_changes.slint │ │ ├── init_recursion.slint │ │ ├── issue_4961_model_index_property.slint │ │ ├── listview_model_change.slint │ │ ├── model.slint │ │ ├── model_in_struct.slint │ │ ├── negative_intmodel.slint │ │ ├── scrolled_model.slint │ │ ├── write_to_model.slint │ │ ├── write_to_model_listview.slint │ │ └── write_to_model_sub_component.slint │ ├── platform.slint │ ├── properties │ │ ├── animation_from_click.slint │ │ ├── animation_from_click_in_repeated_4741.slint │ │ ├── animation_merging.slint │ │ ├── animation_props_depends.slint │ │ ├── border_radius.slint │ │ ├── changes.slint │ │ ├── changes_alias.slint │ │ ├── changes_loop.slint │ │ ├── dashes.slint │ │ ├── delayed_transitions.slint │ │ ├── issue1237_states_visible.slint │ │ ├── issue5038_state_in_base.slint │ │ ├── property_animation.slint │ │ ├── property_animation_restart.slint │ │ ├── states.slint │ │ ├── states_with_animation.slint │ │ ├── transitions.slint │ │ └── transitions2.slint │ ├── simple.slint │ ├── subcomponents │ │ ├── nested_repeater.slint │ │ ├── no_children.slint │ │ └── repeaters.slint │ ├── test_infrastructure.slint │ ├── testing │ │ ├── dynamic_components.slint │ │ └── find_by_element_id_or_type.slint │ ├── text │ │ ├── control_keys_input.slint │ │ ├── cursor_move.slint │ │ ├── cursor_move_grapheme.slint │ │ ├── custom_font.slint │ │ ├── cut.slint │ │ ├── default_color.slint │ │ ├── font_size_propagation.slint │ │ ├── input_type.slint │ │ ├── input_type_decimal.slint │ │ ├── input_type_number.slint │ │ ├── key_repeat.slint │ │ ├── keyboard_modifiers.slint │ │ ├── metrics.slint │ │ ├── select_all.slint │ │ ├── select_double_click.slint │ │ ├── select_dribble_click.slint │ │ ├── surrogate_cursor.slint │ │ ├── text_change.slint │ │ ├── text_property_change.slint │ │ ├── textinput_functions.slint │ │ ├── textinput_keyevents.slint │ │ └── undo_redo.slint │ ├── translations │ │ ├── bundle.slint │ │ ├── fr │ │ │ └── LC_MESSAGES │ │ │ │ └── bundle.po │ │ └── up │ │ │ └── LC_MESSAGES │ │ │ └── bundle.po │ ├── types │ │ ├── angles.slint │ │ ├── array.slint │ │ ├── array_of_array.slint │ │ ├── bool.slint │ │ ├── brush.slint │ │ ├── color.slint │ │ ├── cubic-bezier.slint │ │ ├── duration.slint │ │ ├── enum_compare.slint │ │ ├── enums.slint │ │ ├── functions.slint │ │ ├── gradients.slint │ │ ├── int_conversion.slint │ │ ├── length.slint │ │ ├── nested_struct.slint │ │ ├── object.slint │ │ ├── percent.slint │ │ ├── relative_lengths.slint │ │ ├── rem.slint │ │ ├── resource.slint │ │ ├── string.slint │ │ ├── string_character_count.slint │ │ ├── string_to_float.slint │ │ ├── string_to_lowercase.slint │ │ ├── string_to_uppercase.slint │ │ ├── structs.slint │ │ ├── structs2.slint │ │ └── structs_keyword.slint │ └── widgets │ │ ├── about.slint │ │ ├── button.slint │ │ ├── checkbox.slint │ │ ├── combobox.slint │ │ ├── contextmenu.slint │ │ ├── datepicker.slint │ │ ├── groupbox.slint │ │ ├── listview.slint │ │ ├── menubar.slint │ │ ├── slider_basic.slint │ │ ├── slider_default_value.slint │ │ ├── spinbox_basic.slint │ │ ├── spinbox_default_value.slint │ │ ├── switch.slint │ │ ├── tableview.slint │ │ ├── tabwidget.slint │ │ ├── textedit.slint │ │ └── timepicker.slint ├── doctests │ ├── Cargo.toml │ ├── build.rs │ └── main.rs ├── driver │ ├── cpp │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── cppdriver.rs │ │ └── main.rs │ ├── driverlib │ │ ├── Cargo.toml │ │ └── lib.rs │ ├── interpreter │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── interpreter.rs │ │ └── main.rs │ ├── nodejs │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── main.rs │ │ └── nodejs.rs │ └── rust │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── main.rs ├── helper_components │ ├── export_globals.slint │ ├── export_structs.slint │ ├── issue_6651_implicit_export.slint │ ├── main_window.slint │ ├── re_export.slint │ ├── re_export2.slint │ ├── re_export_all.slint │ └── test_button.slint ├── manual │ ├── font-metrics.slint │ ├── opacity_inheritance.slint │ ├── partial-rendering-circus.slint │ ├── path-stroke-cap.slint │ └── windowattributes │ │ ├── Cargo.toml │ │ └── main.rs └── screenshots │ ├── Cargo.toml │ ├── build.rs │ ├── cases │ └── software │ │ └── basic │ │ ├── border-image-rect.png │ │ ├── border-image-repeat.slint │ │ ├── border-image.png │ │ ├── border-image.slint │ │ ├── border-image2.slint │ │ ├── border.slint │ │ ├── image-repeat.png │ │ ├── image-repeat.slint │ │ ├── images-alignment.slint │ │ ├── images-scale_factor.slint │ │ ├── images.slint │ │ ├── linear-gradients.slint │ │ ├── rgb.slint │ │ ├── set-selection-offsets.slint │ │ ├── text-clipped.slint │ │ ├── text-elided.slint │ │ ├── text-input-selection.slint │ │ ├── text-input.slint │ │ ├── text.slint │ │ └── translucent-background.slint │ ├── main.rs │ ├── references │ └── software │ │ └── basic │ │ ├── border-image-repeat.png │ │ ├── border-image.png │ │ ├── border-image2.png │ │ ├── border.png │ │ ├── image-repeat.png │ │ ├── images-alignment.png │ │ ├── images-scale_factor.png │ │ ├── images.png │ │ ├── linear-gradients.png │ │ ├── rgb.png │ │ ├── set-selection-offsets.png │ │ ├── text-clipped.png │ │ ├── text-elided.png │ │ ├── text-input-selection.png │ │ ├── text-input.png │ │ ├── text.png │ │ └── translucent-background.png │ └── testing.rs ├── tools ├── compiler │ ├── Cargo.toml │ └── main.rs ├── docsnapper │ ├── Cargo.toml │ ├── LICENSES │ │ ├── GPL-3.0-only.txt │ │ ├── LicenseRef-Slint-Royalty-free-2.0.md │ │ └── LicenseRef-Slint-Software-3.0.md │ ├── README.md │ ├── headless.rs │ └── main.rs ├── figma-inspector │ ├── .gitignore │ ├── PUBLISH.md │ ├── README.md │ ├── backend │ │ ├── code.ts │ │ ├── tsconfig.json │ │ └── utils │ │ │ ├── code-utils.ts │ │ │ ├── export-variables.ts │ │ │ └── property-parsing.ts │ ├── biome.json │ ├── figma.config.ts │ ├── index.html │ ├── package.json │ ├── public-zip │ │ └── readme.txt │ ├── shared │ │ └── universals.d.ts │ ├── src │ │ ├── components │ │ │ ├── DialogFrame.tsx │ │ │ └── snippet │ │ │ │ ├── CodeSnippet.tsx │ │ │ │ ├── dark-theme.json │ │ │ │ └── light-theme.json │ │ ├── globals.d.ts │ │ ├── index-react.tsx │ │ ├── main.css │ │ ├── main.tsx │ │ ├── utils │ │ │ ├── bolt-utils.ts │ │ │ ├── store.ts │ │ │ └── utils.ts │ │ └── vite-env.d.ts │ ├── tests │ │ ├── figma_output.json │ │ └── property-parsing.test.ts │ ├── tsconfig.json │ ├── vite.config.code.ts │ └── vite.config.ts ├── figma_import │ ├── Cargo.toml │ ├── README.md │ └── src │ │ ├── figmatypes.rs │ │ ├── main.rs │ │ └── rendered.rs ├── lsp │ ├── Cargo.toml │ ├── LICENSES │ │ ├── GPL-3.0-only.txt │ │ ├── LicenseRef-Slint-Royalty-free-2.0.md │ │ └── LicenseRef-Slint-Software-3.0.md │ ├── README.md │ ├── build.rs │ ├── common.rs │ ├── common │ │ ├── component_catalog.rs │ │ ├── document_cache.rs │ │ ├── rename_component.rs │ │ ├── test.rs │ │ ├── text_edit.rs │ │ └── token_info.rs │ ├── fmt.rs │ ├── fmt │ │ ├── README.md │ │ ├── fmt.rs │ │ ├── tool.rs │ │ └── writer.rs │ ├── language.rs │ ├── language │ │ ├── completion.rs │ │ ├── formatting.rs │ │ ├── goto.rs │ │ ├── hover.rs │ │ ├── semantic_tokens.rs │ │ ├── signature_help.rs │ │ └── test.rs │ ├── main.rs │ ├── preview.rs │ ├── preview │ │ ├── debug.rs │ │ ├── drop_location.rs │ │ ├── element_selection.rs │ │ ├── eval.rs │ │ ├── ext.rs │ │ ├── native.rs │ │ ├── preview_data.rs │ │ ├── properties.rs │ │ ├── ui.rs │ │ ├── ui │ │ │ ├── brushes.rs │ │ │ ├── palette.rs │ │ │ ├── property_view.rs │ │ │ └── recent_colors.rs │ │ └── wasm.rs │ ├── ui │ │ ├── api.slint │ │ ├── assets │ │ │ ├── Inter-VariableFont.ttf │ │ │ ├── Inter-VariableFont.ttf.license │ │ │ ├── SourceCodePro-Medium.ttf │ │ │ ├── SourceCodePro-Medium.ttf.license │ │ │ ├── background-mini.svg │ │ │ ├── background-tiny.svg │ │ │ ├── background.svg │ │ │ ├── black-square.png │ │ │ ├── chevron-down.svg │ │ │ ├── close.svg │ │ │ ├── dial.svg │ │ │ ├── dial.svg.license │ │ │ ├── filter.svg │ │ │ ├── inspect.svg │ │ │ ├── layout-sidebar-left-off.svg │ │ │ ├── layout-sidebar-left.svg │ │ │ ├── layout-sidebar-right-off.svg │ │ │ ├── layout-sidebar-right.svg │ │ │ ├── plus.svg │ │ │ ├── search.svg │ │ │ ├── slint-logo-small-light.png │ │ │ └── sync.svg │ │ ├── components │ │ │ ├── body-strong-text.slint │ │ │ ├── body-text.slint │ │ │ ├── diagnostics-overlay.slint │ │ │ ├── draggable-panel.slint │ │ │ ├── expandable-group.slint │ │ │ ├── expandable-listview.slint │ │ │ ├── group.slint │ │ │ ├── header-text.slint │ │ │ ├── icon-button.slint │ │ │ ├── layout-helpers.slint │ │ │ ├── out-of-date-box.slint │ │ │ ├── property-widgets.slint │ │ │ ├── resizer.slint │ │ │ ├── selection-popup.slint │ │ │ ├── spreadsheet-dialog.slint │ │ │ ├── spreadsheet.slint │ │ │ ├── state-layer.slint │ │ │ ├── status-line.slint │ │ │ ├── styling.slint │ │ │ └── widgets │ │ │ │ ├── basics.slint │ │ │ │ ├── boolean-widget.slint │ │ │ │ ├── brush-helpers.slint │ │ │ │ ├── code-widget.slint │ │ │ │ ├── color-basics.slint │ │ │ │ ├── enum-widget.slint │ │ │ │ ├── float-widget.slint │ │ │ │ ├── floating-brush-picker-widget.slint │ │ │ │ ├── floating-brush-sections │ │ │ │ ├── color-mode-and-apply.slint │ │ │ │ ├── css-color-ui.slint │ │ │ │ ├── gradient-ui.slint │ │ │ │ └── palettes.slint │ │ │ │ ├── gradient-basics.slint │ │ │ │ ├── inline-brush-widget.slint │ │ │ │ ├── integer-widget.slint │ │ │ │ ├── json-widget.slint │ │ │ │ ├── multi-value-widget.slint │ │ │ │ ├── string-widget.slint │ │ │ │ └── widget-helpers.slint │ │ ├── main.slint │ │ ├── views │ │ │ ├── header-view.slint │ │ │ ├── library-view.slint │ │ │ ├── preview-data-view.slint │ │ │ ├── preview-view.slint │ │ │ └── property-view.slint │ │ └── windowglobal.slint │ ├── util.rs │ └── wasm_main.rs ├── slintpad │ ├── .gitignore │ ├── README.md │ ├── biome.json │ ├── index.html │ ├── package.json │ ├── playwright.config.ts │ ├── preview.html │ ├── src │ │ ├── dialogs.ts │ │ ├── editor_widget.ts │ │ ├── github.ts │ │ ├── highlighting.ts │ │ ├── index.ts │ │ ├── lsp.ts │ │ ├── preview.ts │ │ ├── preview_widget.ts │ │ ├── proxy.ts │ │ ├── tsconfig.json │ │ ├── types.ts │ │ └── worker │ │ │ ├── lsp_worker.ts │ │ │ ├── monaco_worker.mjs │ │ │ ├── tsconfig.json │ │ │ └── types.ts │ ├── static │ │ └── loader.svg │ ├── styles │ │ ├── colors.css │ │ ├── content.css │ │ └── index.css │ ├── tests │ │ └── smoke-test.spec.ts │ ├── tsconfig.default.json │ ├── tsconfig.json │ └── vite.config.mts ├── tr-extractor │ ├── Cargo.toml │ ├── README.md │ └── main.rs ├── updater │ ├── Cargo.toml │ ├── README.md │ ├── experiments │ │ ├── geometry_changes.rs │ │ ├── input_output_properties.rs │ │ ├── lookup_changes.rs │ │ ├── new_component_declaration.rs │ │ ├── purity.rs │ │ └── transitions.rs │ ├── main.rs │ └── transforms │ │ └── renames.rs └── viewer │ ├── Cargo.toml │ ├── LICENSES │ ├── GPL-3.0-only.txt │ ├── LicenseRef-Slint-Royalty-free-2.0.md │ └── LicenseRef-Slint-Software-3.0.md │ ├── README.md │ └── main.rs └── xtask ├── Cargo.toml └── src ├── cppdocs.rs ├── license_headers_check.rs ├── main.rs ├── nodepackage.rs ├── reuse_compliance_check.rs └── slintdocs.rs /.clippy.toml: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | type-complexity-threshold = 2500 5 | too-many-arguments-threshold = 10 6 | -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | target 2 | .git 3 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.rs diff=rust 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/4-blank.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 🚧 Blank issue — ⚠️ Internal use only 3 | about: Issue without labels. (Only for Slint developers) 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | --- 8 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | save-prefix="" 4 | node-linker=hoisted -------------------------------------------------------------------------------- /.taplo.toml: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | [formatting] 5 | column_width = 120 6 | inline_table_expand = false 7 | -------------------------------------------------------------------------------- /.vscode/.gitignore: -------------------------------------------------------------------------------- 1 | launch.json 2 | settings.json 3 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "rust-lang.rust-analyzer", 4 | "vadimcn.vscode-lldb", 5 | "ms-vscode.cmake-tools", 6 | "llvm-vs-code-extensions.vscode-clangd" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /api/cpp/docs/_static/theme_tweak.css: -------------------------------------------------------------------------------- 1 | .wy-table-responsive table td, .wy-table-responsive table th { 2 | white-space: normal; 3 | } 4 | 5 | .wy-table-responsive { 6 | margin-bottom: 24px; 7 | max-width: 100%; 8 | overflow: visible; 9 | } 10 | 11 | img.logo { 12 | max-height: 70px; 13 | border-radius: 12% !important; 14 | } 15 | -------------------------------------------------------------------------------- /api/cpp/docs/_templates/base.html: -------------------------------------------------------------------------------- 1 | {% extends "!base.html" %} 2 | {% block scripts %} 3 | {{ super() }} 4 | {% include "../../../../docs/astro/src/utils/slint-docs-preview.html" %} 5 | {% include "../../../../docs/astro/src/utils/slint-docs-highlight.html" %} 6 | {% endblock %} 7 | -------------------------------------------------------------------------------- /api/cpp/docs/genindex.rst: -------------------------------------------------------------------------------- 1 | .. Copyright © SixtyFPS GmbH 2 | .. SPDX-License-Identifier: MIT 3 | 4 | =========== 5 | Index (C++) 6 | =========== 7 | -------------------------------------------------------------------------------- /api/cpp/esp-idf/slint/LICENSE: -------------------------------------------------------------------------------- 1 | ../../../../LICENSE.md -------------------------------------------------------------------------------- /api/cpp/esp-idf/slint/LICENSES/GPL-3.0-only.txt: -------------------------------------------------------------------------------- 1 | ../../../../../LICENSES/GPL-3.0-only.txt -------------------------------------------------------------------------------- /api/cpp/esp-idf/slint/LICENSES/LicenseRef-Slint-Royalty-free-2.0.md: -------------------------------------------------------------------------------- 1 | ../../../../../LICENSES/LicenseRef-Slint-Royalty-free-2.0.md -------------------------------------------------------------------------------- /api/cpp/esp-idf/slint/LICENSES/LicenseRef-Slint-Software-3.0.md: -------------------------------------------------------------------------------- 1 | ../../../../../LICENSES/LicenseRef-Slint-Software-3.0.md -------------------------------------------------------------------------------- /api/cpp/include/slint_interpreter.h: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | #pragma once 5 | 6 | #warning "the header is renamed " 7 | #include "slint-interpreter.h" 8 | -------------------------------------------------------------------------------- /api/cpp/tests/libraries/README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | This is a test making sure that slint_target_sources accepts slint component library paths. 4 | -------------------------------------------------------------------------------- /api/cpp/tests/libraries/app-window.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | import { TestButton } from "@helper_components/test_button.slint"; 5 | import { ColorButton } from "@helper_buttons"; 6 | 7 | 8 | export component App inherits Window { 9 | TestButton { } 10 | 11 | ColorButton { } 12 | } 13 | -------------------------------------------------------------------------------- /api/cpp/tests/libraries/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | #include "app-window.h" 5 | 6 | int main(int argc, char **argv) 7 | { 8 | auto my_ui = App::create(); 9 | my_ui->run(); 10 | } 11 | -------------------------------------------------------------------------------- /api/cpp/tests/multiple-includes/README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | This is a test making sure that the header can be included in several compilation without causing multiple definitions 4 | 5 | And also that we can include two different generated headers generated different namespaces in the same compilation unit 6 | -------------------------------------------------------------------------------- /api/cpp/tests/multiple-includes/logic.cpp: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | #include "logic.h" 5 | #include "app-window.h" 6 | // Test that it's ok to include twice 7 | #include "app-window.h" 8 | 9 | void setup_logic(const Logic &logic) 10 | { 11 | logic.on_increment([](int x) { return x + 1; }); 12 | } -------------------------------------------------------------------------------- /api/cpp/tests/multiple-includes/logic.h: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | #pragma once 5 | 6 | struct Logic; 7 | 8 | void setup_logic(const Logic &); 9 | -------------------------------------------------------------------------------- /api/cpp/tests/redpixel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/api/cpp/tests/redpixel.png -------------------------------------------------------------------------------- /api/cpp/tests/test.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export componentTest := Rectangle {} 5 | -------------------------------------------------------------------------------- /api/node/.gitignore: -------------------------------------------------------------------------------- 1 | rust-module.cjs 2 | rust-module.d.cts 3 | index.js 4 | docs/ 5 | npm/ 6 | dist/ 7 | build/ 8 | -------------------------------------------------------------------------------- /api/node/.npmignore: -------------------------------------------------------------------------------- 1 | target 2 | Cargo.lock 3 | .cargo 4 | .github 5 | npm 6 | .eslintrc 7 | .prettierignore 8 | rustfmt.toml 9 | yarn.lock 10 | *.node 11 | .yarn 12 | __test__ 13 | renovate.json 14 | *.tgz 15 | -------------------------------------------------------------------------------- /api/node/.yarnrc.yml: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | nodeLinker: node-modules -------------------------------------------------------------------------------- /api/node/__test__/resources/error.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export component Error { 5 | out property bool> check: "Test"; 6 | } -------------------------------------------------------------------------------- /api/node/__test__/resources/rgb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/api/node/__test__/resources/rgb.png -------------------------------------------------------------------------------- /api/node/__test__/resources/test-constructor.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export component Test { 5 | callback say_hello(); 6 | in-out property check; 7 | } -------------------------------------------------------------------------------- /api/node/__test__/resources/test-enum.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export enum TestEnum { 5 | a, 6 | b, 7 | c 8 | } 9 | 10 | export component Test { 11 | in-out property check; 12 | } 13 | -------------------------------------------------------------------------------- /api/node/__test__/resources/test-fileloader.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | import { Test } from "lib.slint"; 5 | 6 | export component App inherits Window { 7 | out property test-text <=> test.text; 8 | test := Test {} 9 | } 10 | -------------------------------------------------------------------------------- /api/node/__test__/resources/test-struct.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export struct TestStruct { 5 | text: string, 6 | flag: bool, 7 | value: float 8 | } 9 | 10 | export component Test { 11 | in-out property check; 12 | } 13 | -------------------------------------------------------------------------------- /api/node/__test__/resources/test.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export component Test { 5 | out property check: "Test"; 6 | } -------------------------------------------------------------------------------- /api/node/__test__/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "nodenext", 4 | "target": "esnext", 5 | "outDir": "../build", 6 | "skipLibCheck": true 7 | }, 8 | "include": [ 9 | "*.mts" 10 | ], 11 | } 12 | -------------------------------------------------------------------------------- /api/node/build.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | fn main() { 5 | napi_build::setup(); 6 | 7 | // workaround bug that the `#[napi]` macro generate some invalid `#[cfg(feature="...")]` 8 | println!("cargo:rustc-check-cfg=cfg(feature,values(\"noop\", \"used_linker\"))"); 9 | } 10 | -------------------------------------------------------------------------------- /api/node/rust/types.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | mod brush; 5 | pub use brush::*; 6 | 7 | mod image_data; 8 | pub use image_data::*; 9 | 10 | mod model; 11 | pub use model::*; 12 | 13 | mod point; 14 | pub use point::*; 15 | 16 | mod size; 17 | pub use size::*; 18 | -------------------------------------------------------------------------------- /api/node/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "CommonJS", 4 | "target": "esnext", 5 | "declaration": true, 6 | "outDir": "dist", 7 | "skipLibCheck": true 8 | }, 9 | "include": [ 10 | "typescript/" 11 | ], 12 | "exclude": ["**/node_modules/**"] 13 | } 14 | -------------------------------------------------------------------------------- /api/python/.gitignore: -------------------------------------------------------------------------------- 1 | slint/*.so 2 | uv.lock 3 | docs 4 | -------------------------------------------------------------------------------- /api/python/noxfile.py: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | import nox 5 | 6 | 7 | @nox.session(python="3.12") 8 | def python(session: nox.Session): 9 | session.env["MATURIN_PEP517_ARGS"] = "--profile=dev" 10 | session.install(".[dev]") 11 | session.run("pytest", "-s") 12 | -------------------------------------------------------------------------------- /api/python/slint/py.typed: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | # This file is just a marker 5 | -------------------------------------------------------------------------------- /api/python/stub-gen/main.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | use pyo3_stub_gen::Result; 5 | 6 | fn main() -> Result<()> { 7 | // `stub_info` is a function defined by `define_stub_info_gatherer!` macro. 8 | let stub = slint_python::stub_info()?; 9 | stub.generate()?; 10 | Ok(()) 11 | } 12 | -------------------------------------------------------------------------------- /api/rs/build/LICENSES/GPL-3.0-only.txt: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/GPL-3.0-only.txt -------------------------------------------------------------------------------- /api/rs/build/LICENSES/LicenseRef-Slint-Royalty-free-2.0.md: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/LicenseRef-Slint-Royalty-free-2.0.md -------------------------------------------------------------------------------- /api/rs/build/LICENSES/LicenseRef-Slint-Software-3.0.md: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/LicenseRef-Slint-Software-3.0.md -------------------------------------------------------------------------------- /api/rs/macros/LICENSES/GPL-3.0-only.txt: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/GPL-3.0-only.txt -------------------------------------------------------------------------------- /api/rs/macros/LICENSES/LicenseRef-Slint-Royalty-free-2.0.md: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/LicenseRef-Slint-Royalty-free-2.0.md -------------------------------------------------------------------------------- /api/rs/macros/LICENSES/LicenseRef-Slint-Software-3.0.md: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/LicenseRef-Slint-Software-3.0.md -------------------------------------------------------------------------------- /api/rs/slint/LICENSES/GPL-3.0-only.txt: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/GPL-3.0-only.txt -------------------------------------------------------------------------------- /api/rs/slint/LICENSES/LicenseRef-Slint-Royalty-free-2.0.md: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/LicenseRef-Slint-Royalty-free-2.0.md -------------------------------------------------------------------------------- /api/rs/slint/LICENSES/LicenseRef-Slint-Software-3.0.md: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/LicenseRef-Slint-Software-3.0.md -------------------------------------------------------------------------------- /api/rs/slint/LICENSES/MIT.txt: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/MIT.txt -------------------------------------------------------------------------------- /demos/energy-monitor/ui/assets/arrow-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /demos/energy-monitor/ui/assets/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /demos/energy-monitor/ui/assets/check.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /demos/energy-monitor/ui/assets/dashboard.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /demos/energy-monitor/ui/blocks/blocks.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | import { Header, HeaderAdapter } from "header.slint"; 5 | 6 | export { Header, HeaderAdapter } 7 | 8 | import { MobileHeader } from "mobile_header.slint"; 9 | export { MobileHeader } -------------------------------------------------------------------------------- /demos/energy-monitor/ui/components/menu_background.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | import { Theme } from "../theme.slint"; 5 | 6 | export component MenuBackground inherits Rectangle { 7 | border-radius: 4px; 8 | background: Theme.palette.ebony-radial-gradient; 9 | clip: true; 10 | } -------------------------------------------------------------------------------- /demos/home-automation/rust/main.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | fn main() { 5 | home_automation_lib::main(); 6 | } 7 | -------------------------------------------------------------------------------- /demos/home-automation/ui/components/dishwasher.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | import { Appliance } from "appliance.slint"; 4 | export component Dishwasher inherits Appliance { 5 | time-remaining: "1:45 hrs"; 6 | appliance-image: @image-url("../images/dishwasher.jpg"); 7 | } 8 | -------------------------------------------------------------------------------- /demos/home-automation/ui/components/general/haText.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | import { AppState } from "../../appState.slint"; 4 | 5 | export component HaText inherits Text { 6 | font-family: AppState.default-font-family; 7 | } 8 | -------------------------------------------------------------------------------- /demos/home-automation/ui/components/microwave.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | import { Appliance } from "appliance.slint"; 4 | export component Microwave inherits Appliance { 5 | time-remaining: "0:12 mins"; 6 | image-size: self.width * 1; 7 | appliance-image: @image-url("../images/microwave.jpg"); 8 | } 9 | -------------------------------------------------------------------------------- /demos/home-automation/ui/demo.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | import { MainScreen } from "components/mainView/mainScreen.slint"; 4 | import { Api } from "api.slint"; 5 | 6 | export { Api } 7 | 8 | export component AppWindow inherits Window { 9 | preferred-width: 960px; 10 | preferred-height: 540px; 11 | 12 | MainScreen { } 13 | } 14 | -------------------------------------------------------------------------------- /demos/home-automation/ui/fonts/Poppins-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/fonts/Poppins-Bold.ttf -------------------------------------------------------------------------------- /demos/home-automation/ui/fonts/Poppins-Bold.ttf.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: Google Inc. 2 | 3 | SPDX-License-Identifier: OFL-1.1-RFN 4 | -------------------------------------------------------------------------------- /demos/home-automation/ui/fonts/Poppins-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/fonts/Poppins-Light.ttf -------------------------------------------------------------------------------- /demos/home-automation/ui/fonts/Poppins-Light.ttf.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: Google Inc. 2 | 3 | SPDX-License-Identifier: OFL-1.1-RFN 4 | -------------------------------------------------------------------------------- /demos/home-automation/ui/fonts/Poppins-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/fonts/Poppins-Medium.ttf -------------------------------------------------------------------------------- /demos/home-automation/ui/fonts/Poppins-Medium.ttf.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: Google Inc. 2 | 3 | SPDX-License-Identifier: OFL-1.1-RFN 4 | -------------------------------------------------------------------------------- /demos/home-automation/ui/fonts/Poppins-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/fonts/Poppins-Regular.ttf -------------------------------------------------------------------------------- /demos/home-automation/ui/fonts/Poppins-Regular.ttf.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: Google Inc. 2 | 3 | SPDX-License-Identifier: OFL-1.1-RFN 4 | -------------------------------------------------------------------------------- /demos/home-automation/ui/fonts/Poppins-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/fonts/Poppins-Thin.ttf -------------------------------------------------------------------------------- /demos/home-automation/ui/fonts/Poppins-Thin.ttf.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: Google Inc. 2 | 3 | SPDX-License-Identifier: OFL-1.1-RFN 4 | -------------------------------------------------------------------------------- /demos/home-automation/ui/images/album.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/images/album.png -------------------------------------------------------------------------------- /demos/home-automation/ui/images/back-yard.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/images/back-yard.jpg -------------------------------------------------------------------------------- /demos/home-automation/ui/images/back.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demos/home-automation/ui/images/control-frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/images/control-frame.png -------------------------------------------------------------------------------- /demos/home-automation/ui/images/default-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/images/default-button.png -------------------------------------------------------------------------------- /demos/home-automation/ui/images/dial-frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/images/dial-frame.png -------------------------------------------------------------------------------- /demos/home-automation/ui/images/dishwasher.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/images/dishwasher.jpg -------------------------------------------------------------------------------- /demos/home-automation/ui/images/front-porch.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/images/front-porch.jpg -------------------------------------------------------------------------------- /demos/home-automation/ui/images/fwd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demos/home-automation/ui/images/info-frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/images/info-frame.png -------------------------------------------------------------------------------- /demos/home-automation/ui/images/lamp/0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/images/lamp/0000.png -------------------------------------------------------------------------------- /demos/home-automation/ui/images/lamp/0024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/images/lamp/0024.png -------------------------------------------------------------------------------- /demos/home-automation/ui/images/led-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/images/led-dark.png -------------------------------------------------------------------------------- /demos/home-automation/ui/images/led.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/images/led.png -------------------------------------------------------------------------------- /demos/home-automation/ui/images/lines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/images/lines.png -------------------------------------------------------------------------------- /demos/home-automation/ui/images/logo-fragment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/images/logo-fragment.png -------------------------------------------------------------------------------- /demos/home-automation/ui/images/microwave.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/images/microwave.jpg -------------------------------------------------------------------------------- /demos/home-automation/ui/images/notch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/images/notch.png -------------------------------------------------------------------------------- /demos/home-automation/ui/images/open-lock.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /demos/home-automation/ui/images/overhead-frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/images/overhead-frame.png -------------------------------------------------------------------------------- /demos/home-automation/ui/images/pause.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demos/home-automation/ui/images/pressed-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/images/pressed-button.png -------------------------------------------------------------------------------- /demos/home-automation/ui/images/slint-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/images/slint-logo.png -------------------------------------------------------------------------------- /demos/home-automation/ui/images/thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/images/thumb.png -------------------------------------------------------------------------------- /demos/home-automation/ui/images/title-frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/images/title-frame.png -------------------------------------------------------------------------------- /demos/home-automation/ui/images/weather/cloudy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/images/weather/cloudy.png -------------------------------------------------------------------------------- /demos/home-automation/ui/images/weather/rainy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/images/weather/rainy.png -------------------------------------------------------------------------------- /demos/home-automation/ui/images/weather/sunny-cloudy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/images/weather/sunny-cloudy.png -------------------------------------------------------------------------------- /demos/home-automation/ui/images/weather/sunny-rainy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/images/weather/sunny-rainy.png -------------------------------------------------------------------------------- /demos/home-automation/ui/images/weather/sunny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/home-automation/ui/images/weather/sunny.png -------------------------------------------------------------------------------- /demos/printerdemo/cpp/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | -------------------------------------------------------------------------------- /demos/printerdemo/cpp_interpreted/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | -------------------------------------------------------------------------------- /demos/printerdemo/lang/fr/LC_MESSAGES/printerdemo.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/printerdemo/lang/fr/LC_MESSAGES/printerdemo.mo -------------------------------------------------------------------------------- /demos/printerdemo/node/README: -------------------------------------------------------------------------------- 1 | Run with 2 | 3 | # pnpm install 4 | # pnpm start 5 | -------------------------------------------------------------------------------- /demos/printerdemo/node/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "printerdemo", 3 | "version": "1.12.0", 4 | "main": "main.js", 5 | "type": "module", 6 | "dependencies": { 7 | "slint-ui": "workspace:*" 8 | }, 9 | "scripts": { 10 | "start": "node .", 11 | "prestart": "cd ../../../api/node/ && pnpm run build && pnpm compile" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /demos/printerdemo/python/pyproject.toml: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: MIT 3 | 4 | [project] 5 | name = "python" 6 | version = "1.10.0" 7 | description = "Slint Printer Demo for Python" 8 | readme = "README.md" 9 | requires-python = ">=3.12" 10 | dependencies = ["slint"] 11 | 12 | [tool.uv.sources] 13 | slint = { path = "../../../api/python", editable = true } 14 | -------------------------------------------------------------------------------- /demos/printerdemo/rust/main.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | // In order to be compatible with both desktop, wasm, and android, the example is both a binary and a library. 5 | // Just forward to the library in main 6 | 7 | fn main() { 8 | printerdemo_lib::main(); 9 | } 10 | -------------------------------------------------------------------------------- /demos/printerdemo/ui/README: -------------------------------------------------------------------------------- 1 | This demo was designed by Matthias Grimme. 2 | -------------------------------------------------------------------------------- /demos/printerdemo/ui/fonts/.gitignore: -------------------------------------------------------------------------------- 1 | NotoSans-unhinted/ 2 | -------------------------------------------------------------------------------- /demos/printerdemo/ui/fonts/NotoSans-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/printerdemo/ui/fonts/NotoSans-Bold.ttf -------------------------------------------------------------------------------- /demos/printerdemo/ui/fonts/NotoSans-Bold.ttf.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: Google Inc. 2 | 3 | SPDX-License-Identifier: OFL-1.1-RFN 4 | -------------------------------------------------------------------------------- /demos/printerdemo/ui/fonts/NotoSans-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/printerdemo/ui/fonts/NotoSans-Italic.ttf -------------------------------------------------------------------------------- /demos/printerdemo/ui/fonts/NotoSans-Italic.ttf.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: Google Inc. 2 | 3 | SPDX-License-Identifier: OFL-1.1-RFN 4 | -------------------------------------------------------------------------------- /demos/printerdemo/ui/fonts/NotoSans-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/printerdemo/ui/fonts/NotoSans-Light.ttf -------------------------------------------------------------------------------- /demos/printerdemo/ui/fonts/NotoSans-Light.ttf.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: Google Inc. 2 | 3 | SPDX-License-Identifier: OFL-1.1-RFN 4 | -------------------------------------------------------------------------------- /demos/printerdemo/ui/fonts/NotoSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/printerdemo/ui/fonts/NotoSans-Regular.ttf -------------------------------------------------------------------------------- /demos/printerdemo/ui/fonts/NotoSans-Regular.ttf.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: Google Inc. 2 | 3 | SPDX-License-Identifier: OFL-1.1-RFN 4 | -------------------------------------------------------------------------------- /demos/printerdemo/ui/images/cat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/printerdemo/ui/images/cat.jpg -------------------------------------------------------------------------------- /demos/printerdemo/ui/images/cat.jpg.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: 2013 zaimoku_woodpile 2 | SPDX-License-Identifier: CC-BY-2.0 3 | Comment: Taken from: https://www.flickr.com/photos/11250735@N07/8561945042 with Modifications: Cropped, resized the image 4 | -------------------------------------------------------------------------------- /demos/printerdemo/ui/images/dog.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/printerdemo/ui/images/dog.jpg -------------------------------------------------------------------------------- /demos/printerdemo/ui/images/dog.jpg.license: -------------------------------------------------------------------------------- 1 | SPDX-License-Identifier: CC-PDDC 2 | SPDX-FileCopyrightText: This work has been released into the public domain by its author, Imk0278 at the Wikipedia project. This applies worldwide. 3 | Comment: Taken from: https://commons.wikimedia.org/wiki/File:Kintamani_dog_white.jpg with Modifications: Cropped, resized 4 | -------------------------------------------------------------------------------- /demos/printerdemo/ui/images/down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /demos/printerdemo/ui/images/elephant.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/printerdemo/ui/images/elephant.jpg -------------------------------------------------------------------------------- /demos/printerdemo/ui/images/elephant.jpg.license: -------------------------------------------------------------------------------- 1 | SPDX-License-Identifier: CC-PDDC 2 | SPDX-FileCopyrightText: This work is in the public domain in the United States 3 | Comment: Taken from: https://commons.wikimedia.org/wiki/File:1968-elefante.jpg with Modifications: Cropped, resized 4 | -------------------------------------------------------------------------------- /demos/printerdemo/ui/images/minus.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /demos/printerdemo/ui/images/page_selection.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demos/printerdemo/ui/images/snake.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/printerdemo/ui/images/snake.jpg -------------------------------------------------------------------------------- /demos/printerdemo/zephyr/.gitignore: -------------------------------------------------------------------------------- 1 | build*/ 2 | .cache/ 3 | -------------------------------------------------------------------------------- /demos/printerdemo/zephyr/VERSION: -------------------------------------------------------------------------------- 1 | VERSION_MAJOR = 1 2 | VERSION_MINOR = 0 3 | PATCHLEVEL = 0 4 | VERSION_TWEAK = 0 5 | EXTRAVERSION = 6 | -------------------------------------------------------------------------------- /demos/printerdemo/zephyr/boards/mimxrt1170_evk_mimxrt1176_cm7.conf: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: MIT 3 | 4 | # Set a large stack size to prevent MPU FAULT: Stacking error (context area might be not valid) 5 | CONFIG_MAIN_STACK_SIZE=32768 6 | 7 | # Enable the PXP and DMA API 8 | CONFIG_DMA=y 9 | CONFIG_MCUX_ELCDIF_PXP=y 10 | CONFIG_MCUX_ELCDIF_PXP_ROTATE_90=y 11 | -------------------------------------------------------------------------------- /demos/printerdemo/zephyr/boards/native_sim_64.conf: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: MIT 3 | 4 | CONFIG_INPUT_SDL_TOUCH=y 5 | -------------------------------------------------------------------------------- /demos/printerdemo/zephyr/boards/native_sim_64.overlay: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | &sdl_dc { 5 | height = <720>; 6 | width = <1280>; 7 | }; 8 | -------------------------------------------------------------------------------- /demos/printerdemo/zephyr/prj.conf: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: MIT 3 | 4 | CONFIG_CPP=y 5 | CONFIG_STD_CPP20=y 6 | CONFIG_REQUIRES_FULL_LIBCPP=y 7 | CONFIG_POSIX_API=y 8 | 9 | CONFIG_LOG=y 10 | CONFIG_ASSERT=y 11 | 12 | CONFIG_DISPLAY=y 13 | CONFIG_INPUT=y 14 | -------------------------------------------------------------------------------- /demos/printerdemo/zephyr/src/slint-zephyr.h: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | #pragma once 5 | 6 | void slint_zephyr_init(const struct device *display); 7 | -------------------------------------------------------------------------------- /demos/printerdemo/zephyr/west.yaml: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: MIT 3 | 4 | --- 5 | manifest: 6 | remotes: 7 | - name: zephyrproject-rtos 8 | url-base: https://github.com/zephyrproject-rtos 9 | projects: 10 | - name: zephyr 11 | remote: zephyrproject-rtos 12 | revision: v4.0.0 13 | import: true 14 | -------------------------------------------------------------------------------- /demos/printerdemo_mcu/README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | This is a "fork" of the [printer demo](../printerdemo/) modified to run on a smaller screen. 4 | 5 | See the [MCU backend Readme](../../examples/mcu-board-support) for more info. 6 | -------------------------------------------------------------------------------- /demos/printerdemo_mcu/build.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | fn main() { 5 | let config = slint_build::CompilerConfiguration::new() 6 | .embed_resources(slint_build::EmbedResourcesKind::EmbedForSoftwareRenderer); 7 | slint_build::compile_with_config("ui/printerdemo.slint", config).unwrap(); 8 | slint_build::print_rustc_flags().unwrap(); 9 | } 10 | -------------------------------------------------------------------------------- /demos/printerdemo_mcu/esp-idf/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | managed_components 3 | sdkconfig 4 | sdkconfig.old 5 | dependencies.lock 6 | .cache 7 | -------------------------------------------------------------------------------- /demos/printerdemo_mcu/esp-idf/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: MIT 3 | 4 | 5 | idf_component_register( 6 | SRCS "main.cpp" 7 | INCLUDE_DIRS "." 8 | REQUIRES slint 9 | ) 10 | 11 | slint_target_sources(${COMPONENT_LIB} ../../ui/printerdemo.slint) 12 | -------------------------------------------------------------------------------- /demos/printerdemo_mcu/esp-idf/main/idf_component.yml: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: MIT 3 | 4 | ## IDF Component Manager Manifest File 5 | dependencies: 6 | idf: ">=5.1" 7 | espressif/esp-box-3: "^1.1.3" 8 | espressif/esp_lvgl_port: "=1.4.0" 9 | espressif/button: "=3.5.0" 10 | -------------------------------------------------------------------------------- /demos/printerdemo_mcu/esp-idf/partitions.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size, Flags 2 | # Note: if you have increased the bootloader size, make sure to update the offsets to avoid overlap 3 | nvs, data, nvs, 0x9000, 0x6000, 4 | phy_init, data, phy, , 0x1000, 5 | factory, app, factory, , 4096k, 6 | -------------------------------------------------------------------------------- /demos/printerdemo_mcu/esp-idf/rust-toolchain.toml: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: MIT 3 | 4 | [toolchain] 5 | channel = "esp" 6 | -------------------------------------------------------------------------------- /demos/printerdemo_mcu/ui/README: -------------------------------------------------------------------------------- 1 | This demo was designed by Matthias Grimme. 2 | -------------------------------------------------------------------------------- /demos/printerdemo_mcu/ui/fonts: -------------------------------------------------------------------------------- 1 | ../../printerdemo/ui/fonts -------------------------------------------------------------------------------- /demos/printerdemo_mcu/ui/images: -------------------------------------------------------------------------------- 1 | ../../printerdemo/ui/images -------------------------------------------------------------------------------- /demos/printerdemo_mcu/ui/slint-logo-square-dark-80x80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/printerdemo_mcu/ui/slint-logo-square-dark-80x80.png -------------------------------------------------------------------------------- /demos/printerdemo_mcu/ui/slint-logo-square-light-80x80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/printerdemo_mcu/ui/slint-logo-square-light-80x80.png -------------------------------------------------------------------------------- /demos/usecases/cpp/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | -------------------------------------------------------------------------------- /demos/usecases/esp-idf/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | managed_components 3 | sdkconfig 4 | sdkconfig.old 5 | dependencies.lock 6 | .cache 7 | -------------------------------------------------------------------------------- /demos/usecases/esp-idf/README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Building 4 | 5 | ``` 6 | cd demos/usecases/esp-idf 7 | SLINT_SCALE_FACTOR=2 idf.py flash monitor 8 | ``` 9 | -------------------------------------------------------------------------------- /demos/usecases/esp-idf/main/idf_component.yml: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: MIT 3 | 4 | ## IDF Component Manager Manifest File 5 | dependencies: 6 | idf: ">=5.1" 7 | espressif/esp32_p4_function_ev_board_noglib: "^4.2.1" 8 | -------------------------------------------------------------------------------- /demos/usecases/esp-idf/rust-toolchain.toml: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: MIT 3 | 4 | [toolchain] 5 | channel = "esp" 6 | -------------------------------------------------------------------------------- /demos/usecases/lang/de/LC_MESSAGES/usecases.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/usecases/lang/de/LC_MESSAGES/usecases.mo -------------------------------------------------------------------------------- /demos/usecases/rust/src/main.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | // In order to be compatible with both desktop, wasm, and android, the example is both a binary and a library. 5 | // Just forward to the library in main 6 | 7 | fn main() { 8 | usecases_lib::main(); 9 | } 10 | -------------------------------------------------------------------------------- /demos/usecases/ui/assets/arrow-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /demos/usecases/ui/assets/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /demos/usecases/ui/assets/arrow-up.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /demos/usecases/ui/assets/chevron-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /demos/usecases/ui/assets/expand-more.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /demos/usecases/ui/assets/menu.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /demos/usecases/ui/assets/send.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /demos/usecases/ui/widgets/icon.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | import { Palette } from "std-widgets.slint"; 5 | 6 | export component Icon inherits Image { 7 | width: 16px; 8 | colorize: Palette.foreground; 9 | } 10 | -------------------------------------------------------------------------------- /demos/usecases/ui/widgets/segmented.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | export component Segmented {} -------------------------------------------------------------------------------- /demos/usecases/ui/widgets/title_text.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | import { Palette } from "std-widgets.slint"; 5 | import { CosmicFontSettings } from "styling.slint"; 6 | 7 | export component TitleText inherits Text { 8 | color: Palette.foreground; 9 | font-size: CosmicFontSettings.title-2.font-size; 10 | font-weight: CosmicFontSettings.title-2.font-weight; 11 | } 12 | -------------------------------------------------------------------------------- /demos/weather-demo/android-res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/weather-demo/android-res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /demos/weather-demo/android-res/mipmap-ldpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/weather-demo/android-res/mipmap-ldpi/ic_launcher.png -------------------------------------------------------------------------------- /demos/weather-demo/android-res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/weather-demo/android-res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /demos/weather-demo/android-res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/weather-demo/android-res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /demos/weather-demo/android-res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/weather-demo/android-res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /demos/weather-demo/android-res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/weather-demo/android-res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /demos/weather-demo/build.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | fn main() { 5 | slint_build::compile("ui/main.slint").unwrap(); 6 | } 7 | -------------------------------------------------------------------------------- /demos/weather-demo/docs/img/android-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/weather-demo/docs/img/android-preview.png -------------------------------------------------------------------------------- /demos/weather-demo/docs/img/desktop-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/weather-demo/docs/img/desktop-preview.png -------------------------------------------------------------------------------- /demos/weather-demo/src/weather/utils.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | use chrono::{DateTime, Datelike}; 5 | 6 | pub fn get_day_from_datetime(date: DateTime) -> String { 7 | if date.day() == chrono::offset::Local::now().day() { 8 | // TODO: translations 9 | return "Today".to_string(); 10 | } 11 | date.weekday().to_string() 12 | } 13 | -------------------------------------------------------------------------------- /demos/weather-demo/ui/assets/icons/arrow-down.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /demos/weather-demo/ui/assets/icons/arrow-up.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /demos/weather-demo/ui/assets/weathericons-font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/demos/weather-demo/ui/assets/weathericons-font.ttf -------------------------------------------------------------------------------- /demos/weather-demo/ui/page-base.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | import { AppPalette } from "style/styles.slint"; 5 | 6 | export component PageBase inherits Rectangle { 7 | background: @linear-gradient(180deg, AppPalette.background 0%, AppPalette.alternate-background 100%); 8 | } 9 | -------------------------------------------------------------------------------- /docs/astro/src/assets/banner.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/docs/astro/src/assets/banner.webp -------------------------------------------------------------------------------- /docs/astro/src/assets/getting-started/copy-snippet.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/docs/astro/src/assets/getting-started/copy-snippet.webp -------------------------------------------------------------------------------- /docs/astro/src/assets/getting-started/language-hint.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/docs/astro/src/assets/getting-started/language-hint.webp -------------------------------------------------------------------------------- /docs/astro/src/assets/getting-started/line-highlight.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/docs/astro/src/assets/getting-started/line-highlight.webp -------------------------------------------------------------------------------- /docs/astro/src/assets/getting-started/macos-vscode-template-1.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/docs/astro/src/assets/getting-started/macos-vscode-template-1.webp -------------------------------------------------------------------------------- /docs/astro/src/assets/getting-started/macos-vscode-template-2.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/docs/astro/src/assets/getting-started/macos-vscode-template-2.webp -------------------------------------------------------------------------------- /docs/astro/src/assets/getting-started/macos-vscode-template-3.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/docs/astro/src/assets/getting-started/macos-vscode-template-3.webp -------------------------------------------------------------------------------- /docs/astro/src/assets/getting-started/preview-dark.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/docs/astro/src/assets/getting-started/preview-dark.webp -------------------------------------------------------------------------------- /docs/astro/src/assets/getting-started/preview-light.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/docs/astro/src/assets/getting-started/preview-light.webp -------------------------------------------------------------------------------- /docs/astro/src/assets/getting-started/run-in-slintpad.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/docs/astro/src/assets/getting-started/run-in-slintpad.webp -------------------------------------------------------------------------------- /docs/astro/src/assets/guide/tooling/export-variables.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/docs/astro/src/assets/guide/tooling/export-variables.webp -------------------------------------------------------------------------------- /docs/astro/src/assets/guide/tooling/inspect-variables.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/docs/astro/src/assets/guide/tooling/inspect-variables.webp -------------------------------------------------------------------------------- /docs/astro/src/assets/guide/tooling/inspect.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/docs/astro/src/assets/guide/tooling/inspect.webp -------------------------------------------------------------------------------- /docs/astro/src/assets/guide/tooling/use-variables.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/docs/astro/src/assets/guide/tooling/use-variables.webp -------------------------------------------------------------------------------- /docs/astro/src/assets/ios-simulator.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/docs/astro/src/assets/ios-simulator.webp -------------------------------------------------------------------------------- /docs/astro/src/assets/slint-logo-simple-dark.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/docs/astro/src/assets/slint-logo-simple-dark.webp -------------------------------------------------------------------------------- /docs/astro/src/assets/slint-logo-simple-light.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/docs/astro/src/assets/slint-logo-simple-light.webp -------------------------------------------------------------------------------- /docs/astro/src/assets/slint-logo-square-dark.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/docs/astro/src/assets/slint-logo-square-dark.webp -------------------------------------------------------------------------------- /docs/astro/src/assets/slint-logo-square-light.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/docs/astro/src/assets/slint-logo-square-light.webp -------------------------------------------------------------------------------- /docs/astro/src/components/Banner.astro: -------------------------------------------------------------------------------- 1 | --- 2 | // Copyright © SixtyFPS GmbH 3 | // SPDX-License-Identifier: MIT 4 | import Default from "@astrojs/starlight/components/Banner.astro"; 5 | 6 | import VersionBanner from "./VersionBanner.astro"; 7 | --- 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /docs/astro/src/components/editor/language-facets.js: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | import { Facet } from "@codemirror/state"; 5 | 6 | // Define a custom facet to hold the language name 7 | export const languageNameFacet = Facet.define({ 8 | combine(languages) { 9 | return languages.length ? languages[0] : null; // Combine to get the first language if set 10 | }, 11 | }); 12 | -------------------------------------------------------------------------------- /docs/astro/src/content.config.ts: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | import { defineCollection } from "astro:content"; 4 | import { docsLoader } from "@astrojs/starlight/loaders"; 5 | import { docsSchema } from "@astrojs/starlight/schema"; 6 | 7 | export const collections = { 8 | docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }), 9 | }; 10 | -------------------------------------------------------------------------------- /docs/astro/src/content/code/app-window.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | // ANCHOR: main_window 5 | // ui/appwindow.slint 6 | export component MainWindow inherits Window { 7 | Text { 8 | text: "hello world"; 9 | color: green; 10 | } 11 | } 12 | // ANCHOR_END: main_window 13 | -------------------------------------------------------------------------------- /docs/astro/src/content/code/main_initial.cpp: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | // ANCHOR: main 5 | // src/main.cpp 6 | 7 | #include "app-window.h" // generated header from ui/app-window.slint 8 | 9 | int main(int argc, char **argv) 10 | { 11 | auto main_window = MainWindow::create(); 12 | main_window->run(); 13 | } 14 | // ANCHOR_END: main 15 | -------------------------------------------------------------------------------- /docs/astro/src/content/code/main_initial.js: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | // ANCHOR: main 5 | // main.js 6 | import * as slint from "slint-ui"; 7 | 8 | const ui = slint.loadFile(new URL("./ui/app-window.slint", import.meta.url)); 9 | const mainWindow = new ui.MainWindow(); 10 | await mainWindow.run(); 11 | 12 | // ANCHOR_END: main 13 | -------------------------------------------------------------------------------- /docs/astro/src/content/code/main_initial.py: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: MIT 3 | 4 | import slint 5 | 6 | 7 | class MainWindow(slint.loader.ui.app_window.MainWindow): 8 | pass 9 | 10 | 11 | main_window = MainWindow() 12 | main_window.show() 13 | main_window.run() 14 | -------------------------------------------------------------------------------- /docs/astro/src/content/code/memory.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | // ANCHOR: main_window 5 | // app-window.slint 6 | export component MainWindow inherits Window { 7 | Text { 8 | text: "hello world"; 9 | color: green; 10 | } 11 | } 12 | // ANCHOR_END: main_window 13 | -------------------------------------------------------------------------------- /docs/astro/src/content/code/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "memory", 3 | "version": "1.12.0", 4 | "main": "main.js", 5 | "type": "module", 6 | "dependencies": { 7 | "slint-ui": "^1.3.0" 8 | }, 9 | "scripts": { 10 | "start": "node ." 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /docs/astro/src/content/collections/std-widgets/Date.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: date 4 | description: date 5 | --- 6 | 7 | `Date` 8 | 9 | Defines a date with day, month, and year. 10 | 11 | - **`day`(int)**: The day value (range from 1 to 31). 12 | - **`month`(int)**: The month value (range from 1 to 12). 13 | - **`year`(int)**: The year value. -------------------------------------------------------------------------------- /docs/astro/src/content/docs/guide/platforms/other.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: Other Platforms 4 | description: Contact Us for Additional Platform Support 5 | --- 6 | 7 | [Contact us](https://slint.dev/contact) if you want to use Slint on other platforms/versions. 8 | -------------------------------------------------------------------------------- /docs/astro/src/content/docs/reference/elements/mini-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/docs/astro/src/content/docs/reference/elements/mini-banner.png -------------------------------------------------------------------------------- /docs/astro/src/content/docs/reference/elements/slint-logo-simple-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/docs/astro/src/content/docs/reference/elements/slint-logo-simple-dark.png -------------------------------------------------------------------------------- /docs/astro/src/content/docs/reference/elements/slint-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/docs/astro/src/content/docs/reference/elements/slint-logo.png -------------------------------------------------------------------------------- /docs/astro/src/content/docs/reference/std-widgets/layouts/gridbox.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: GridBox 4 | description: GridBox api. 5 | --- 6 | 7 | import Link from '/src/components/Link.astro'; 8 | 9 | A `GridBox` is a where instead of having values that default to `0`, the spacing and padding values instead 10 | depend on the style. 11 | -------------------------------------------------------------------------------- /docs/astro/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "astro/tsconfigs/strict", 3 | "exclude": ["dist", "test-results", "playwright-report"] 4 | } 5 | -------------------------------------------------------------------------------- /editors/sublime/LSP.sublime-settings: -------------------------------------------------------------------------------- 1 | { 2 | "clients": 3 | { 4 | "slint": 5 | { 6 | "command": 7 | [ 8 | "/home/YOUR_USER/.cargo/bin/slint-lsp" 9 | ], 10 | "languageId": "slint", 11 | "scopes": 12 | [ 13 | "source.slint" 14 | ], 15 | "syntaxes": 16 | [ 17 | "Packages/User/Slint.sublime-syntax" 18 | ] 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /editors/tree-sitter-slint/.gitignore: -------------------------------------------------------------------------------- 1 | bindings/ 2 | build/ 3 | node_modules/ 4 | src/ 5 | binding.gyp 6 | Cargo.toml 7 | Makefile 8 | package.json 9 | package-lock.json 10 | libtree-sitter-slint.* 11 | -------------------------------------------------------------------------------- /editors/vscode/.gitignore: -------------------------------------------------------------------------------- 1 | *.vsix 2 | LICENSE.txt 3 | bin/ 4 | out/ 5 | -------------------------------------------------------------------------------- /editors/vscode/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // See http://go.microsoft.com/fwlink/?LinkId=827846 3 | // for the documentation about the extensions.json format 4 | "recommendations": ["dbaeumer.vscode-eslint"] 5 | } 6 | -------------------------------------------------------------------------------- /editors/vscode/.vscodeignore: -------------------------------------------------------------------------------- 1 | **/*.ts 2 | **/tsconfig.json 3 | tsconfig.default.json 4 | tests/ 5 | .vscode/ 6 | bin/*.d 7 | -------------------------------------------------------------------------------- /editors/vscode/biome.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../biome.json"], 3 | "formatter": { 4 | "ignore": ["**/.vscode/**"] 5 | }, 6 | "linter": { 7 | "ignore": ["webviews/**", "**/.vscode/**", "**/build/**", "**/out/**"] 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /editors/vscode/extension-logo.png: -------------------------------------------------------------------------------- 1 | ../../logo/slint-logo-square-whitebg.png -------------------------------------------------------------------------------- /editors/vscode/slint-file-icon.svg: -------------------------------------------------------------------------------- 1 | ../../logo/slint-logo-small-light.svg -------------------------------------------------------------------------------- /editors/vscode/src/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.default.json", 3 | "compilerOptions": { 4 | "lib": ["es2021", "webworker"], 5 | "types": ["vscode"] 6 | }, 7 | "include": ["./*.ts"] 8 | } 9 | -------------------------------------------------------------------------------- /editors/vscode/static/walkthroughs/welcome/show_preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/editors/vscode/static/walkthroughs/welcome/show_preview.png -------------------------------------------------------------------------------- /editors/vscode/static/walkthroughs/welcome/show_preview.png.license: -------------------------------------------------------------------------------- 1 | Copyright © SixtyFPS GmbH 2 | SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | -------------------------------------------------------------------------------- /editors/vscode/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "files": [], 3 | "references": [ 4 | { 5 | "path": "src" 6 | } 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /examples/bash/laptop.svg.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: 2021 Google Noto Font 2 | 3 | SPDX-License-Identifier: OFL-1.1 4 | -------------------------------------------------------------------------------- /examples/carousel/cpp/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | #include "carousel_demo.h" 5 | 6 | int main() 7 | { 8 | MainWindow::create()->run(); 9 | } 10 | -------------------------------------------------------------------------------- /examples/carousel/esp-idf/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | managed_components 3 | sdkconfig 4 | sdkconfig.old 5 | dependencies.lock 6 | .cache 7 | -------------------------------------------------------------------------------- /examples/carousel/esp-idf/rust-toolchain.toml: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: MIT 3 | 4 | [toolchain] 5 | channel = "esp" 6 | -------------------------------------------------------------------------------- /examples/carousel/esp-idf/s3-box/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: MIT 3 | 4 | idf_component_register( 5 | SRCS "../../main.cpp" 6 | INCLUDE_DIRS "." 7 | REQUIRES slint 8 | ) 9 | 10 | slint_target_sources(${COMPONENT_LIB} ../../../ui/carousel_demo.slint) 11 | target_compile_definitions(${COMPONENT_LIB} PRIVATE EXAMPLE_TARGET_S3_BOX) 12 | -------------------------------------------------------------------------------- /examples/carousel/esp-idf/s3-box/main/idf_component.yml: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: MIT 3 | 4 | ## IDF Component Manager Manifest File 5 | dependencies: 6 | idf: ">=5.1" 7 | espressif/esp-box-3: "^1.1.3" 8 | espressif/esp_lvgl_port: "=1.4.0" 9 | espressif/button: "=3.5.0" 10 | -------------------------------------------------------------------------------- /examples/carousel/esp-idf/s3-box/partitions.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size, Flags 2 | # Note: if you have increased the bootloader size, make sure to update the offsets to avoid overlap 3 | nvs, data, nvs, 0x9000, 0x6000, 4 | phy_init, data, phy, , 0x1000, 5 | factory, app, factory, , 4096k, 6 | -------------------------------------------------------------------------------- /examples/carousel/esp-idf/s3-usb-otg/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: MIT 3 | 4 | idf_component_register( 5 | SRCS "../../main.cpp" 6 | INCLUDE_DIRS "." 7 | REQUIRES slint 8 | ) 9 | 10 | slint_target_sources(${COMPONENT_LIB} ../../../ui/carousel_demo.slint) 11 | 12 | -------------------------------------------------------------------------------- /examples/carousel/esp-idf/s3-usb-otg/main/idf_component.yml: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: MIT 3 | 4 | ## IDF Component Manager Manifest File 5 | dependencies: 6 | idf: ">=5.1" 7 | espressif/esp32_s3_usb_otg: 8 | version: "^1.4.4" 9 | espressif/esp_lvgl_port: "=1.4.0" 10 | espressif/button: "=3.5.0" 11 | -------------------------------------------------------------------------------- /examples/carousel/esp-idf/s3-usb-otg/partitions.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size, Flags 2 | # Note: if you have increased the bootloader size, make sure to update the offsets to avoid overlap 3 | nvs, data, nvs, 0x9000, 0x6000, 4 | phy_init, data, phy, , 0x1000, 5 | factory, app, factory, , 4096k, 6 | -------------------------------------------------------------------------------- /examples/carousel/esp-idf/s3-usb-otg/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_IDF_TARGET="esp32s3" 2 | CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y 3 | CONFIG_COMPILER_OPTIMIZATION_PERF=y 4 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y 5 | CONFIG_ESP32S3_DATA_CACHE_64KB=y 6 | CONFIG_ESP32S3_DATA_CACHE_LINE_64B=y 7 | CONFIG_FREERTOS_HZ=1000 8 | CONFIG_MAIN_TASK_STACK_SIZE=13584 9 | -------------------------------------------------------------------------------- /examples/carousel/node/README: -------------------------------------------------------------------------------- 1 | Run with 2 | # pnpm install 3 | # pnpm start 4 | -------------------------------------------------------------------------------- /examples/carousel/node/main.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | // Copyright © SixtyFPS GmbH 3 | // SPDX-License-Identifier: MIT 4 | 5 | import * as slint from "slint-ui"; 6 | 7 | let demo = slint.loadFile("../ui/carousel_demo.slint"); 8 | let app = new demo.MainWindow(); 9 | 10 | app.run(); 11 | -------------------------------------------------------------------------------- /examples/carousel/node/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "carousel", 3 | "version": "1.12.0", 4 | "main": "main.js", 5 | "type": "module", 6 | "dependencies": { 7 | "slint-ui": "workspace:*" 8 | }, 9 | "scripts": { 10 | "start": "node .", 11 | "prestart": "cd ../../../api/node/ && pnpm run build && pnpm compile" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /examples/carousel/ui/fonts/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/carousel/ui/fonts/Roboto-Bold.ttf -------------------------------------------------------------------------------- /examples/carousel/ui/fonts/Roboto-Bold.ttf.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: Google Inc. 2 | 3 | SPDX-License-Identifier: Apache-2.0 4 | -------------------------------------------------------------------------------- /examples/carousel/ui/fonts/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/carousel/ui/fonts/Roboto-Regular.ttf -------------------------------------------------------------------------------- /examples/carousel/ui/fonts/Roboto-Regular.ttf.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: Google Inc. 2 | 3 | SPDX-License-Identifier: Apache-2.0 4 | -------------------------------------------------------------------------------- /examples/carousel/ui/label.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | import { Theme } from "theme.slint"; 5 | 6 | export component Label inherits Text { 7 | font-family: Theme.font-family; 8 | font-size: Theme.font-size-regular; 9 | font-weight: Theme.font-weight-regular; 10 | color: Theme.foreground; 11 | } -------------------------------------------------------------------------------- /examples/carousel/ui/svg/home_black.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/carousel/ui/svg/home_black.svg.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: Google Inc. 2 | 3 | SPDX-License-Identifier: Apache-2.0 4 | -------------------------------------------------------------------------------- /examples/carousel/ui/svg/info_black.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/carousel/ui/svg/info_black.svg.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: Google Inc. 2 | 3 | SPDX-License-Identifier: Apache-2.0 4 | -------------------------------------------------------------------------------- /examples/carousel/ui/svg/settings_black.svg.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: Google Inc. 2 | 3 | SPDX-License-Identifier: Apache-2.0 4 | -------------------------------------------------------------------------------- /examples/carousel/ui/title_label.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | import { Theme } from "theme.slint"; 5 | import { Label } from "label.slint"; 6 | 7 | export component TitleLabel inherits Text { 8 | font-family: Theme.font-family; 9 | font-size: Theme.font-size-medium; 10 | font-weight: Theme.font-weight-bold; 11 | } -------------------------------------------------------------------------------- /examples/cpp/platform_native/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: MIT 3 | 4 | if (WIN32) 5 | add_executable(platform_native WIN32 main.cpp appview.cpp) 6 | target_link_libraries(platform_native PRIVATE Slint::Slint) 7 | slint_target_sources(platform_native app-window.slint) 8 | endif(WIN32) 9 | 10 | -------------------------------------------------------------------------------- /examples/cpp/platform_qt/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: MIT 3 | 4 | add_executable(platform_qt main.cpp) 5 | target_link_libraries(platform_qt PRIVATE Slint::Slint Qt::Gui Qt::Widgets Qt::GuiPrivate) 6 | slint_target_sources(platform_qt app-window.slint) 7 | 8 | -------------------------------------------------------------------------------- /examples/cpp/platform_qt/README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # C++ Platform Qt example 4 | 5 | This example shows how to use the Slint platform API to render a Slint scene in a Qt window 6 | -------------------------------------------------------------------------------- /examples/cpp/qt_viewer/README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # qt_viewer 4 | 5 | This is an example that shows how to embed a dynamically loaded .slint into a Qt (QWidgets) application 6 | 7 | The trick is that it uses the C++ `slint::interpreter::ComponentInstance::qwidget` and embed 8 | that widget in a Qt application. 9 | -------------------------------------------------------------------------------- /examples/dial/images/blue-hint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/dial/images/blue-hint.png -------------------------------------------------------------------------------- /examples/dial/images/dial-frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/dial/images/dial-frame.png -------------------------------------------------------------------------------- /examples/dial/images/dial-trim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/dial/images/dial-trim.png -------------------------------------------------------------------------------- /examples/dial/images/indicator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/dial/images/indicator.png -------------------------------------------------------------------------------- /examples/dial/images/light-hole.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/dial/images/light-hole.png -------------------------------------------------------------------------------- /examples/dial/images/light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/dial/images/light.png -------------------------------------------------------------------------------- /examples/dial/images/metal-dial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/dial/images/metal-dial.png -------------------------------------------------------------------------------- /examples/dial/images/metal-lights.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/dial/images/metal-lights.png -------------------------------------------------------------------------------- /examples/fancy-switches/images/clouds-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/fancy-switches/images/clouds-background.png -------------------------------------------------------------------------------- /examples/fancy-switches/images/clouds-front.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/fancy-switches/images/clouds-front.png -------------------------------------------------------------------------------- /examples/fancy-switches/images/line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/fancy-switches/images/line.png -------------------------------------------------------------------------------- /examples/fancy-switches/images/shadow-frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/fancy-switches/images/shadow-frame.png -------------------------------------------------------------------------------- /examples/fancy-switches/images/stars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/fancy-switches/images/stars.png -------------------------------------------------------------------------------- /examples/fancy-switches/images/switch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/fancy-switches/images/switch.png -------------------------------------------------------------------------------- /examples/ffmpeg/build.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | fn main() { 5 | slint_build::compile("scene.slint").unwrap(); 6 | } 7 | -------------------------------------------------------------------------------- /examples/ffmpeg/pause.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/ffmpeg/play.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/gallery/build.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | fn main() { 5 | slint_build::compile("gallery.slint").unwrap(); 6 | } 7 | -------------------------------------------------------------------------------- /examples/gallery/lang/de/LC_MESSAGES/gallery.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/gallery/lang/de/LC_MESSAGES/gallery.mo -------------------------------------------------------------------------------- /examples/gallery/lang/fr/LC_MESSAGES/gallery.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/gallery/lang/fr/LC_MESSAGES/gallery.mo -------------------------------------------------------------------------------- /examples/gallery/lang/ja/LC_MESSAGES/gallery.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/gallery/lang/ja/LC_MESSAGES/gallery.mo -------------------------------------------------------------------------------- /examples/gallery/thumbsup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/gallery/thumbsup.png -------------------------------------------------------------------------------- /examples/gallery/thumbsup.png.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: 2021 Google Inc. 2 | 3 | SPDX-License-Identifier: OFL-1.1 4 | -------------------------------------------------------------------------------- /examples/gallery/ui/gallery_settings.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | export global GallerySettings { 5 | in property widgets-enabled: true; 6 | in property widgets-read-only: false; 7 | } 8 | -------------------------------------------------------------------------------- /examples/gallery/update_translations.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Copyright © SixtyFPS GmbH 3 | # SPDX-License-Identifier: MIT 4 | 5 | # Run the script, translate, run the script again 6 | 7 | find -name \*.slint | xargs cargo run -p slint-tr-extractor -- -d gallery -o gallery.pot 8 | 9 | for po in lang/*/LC_MESSAGES 10 | do msgmerge $po/gallery.po gallery.pot -o $po/gallery.po 11 | msgfmt $po/gallery.po -o $po/gallery.mo 12 | done 13 | -------------------------------------------------------------------------------- /examples/gstreamer-player/build.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | use cfg_aliases::cfg_aliases; 5 | 6 | fn main() { 7 | slint_build::compile("scene.slint").unwrap(); 8 | cfg_aliases! { 9 | slint_gstreamer_egl: { target_os = "linux" }, 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /examples/gstreamer-player/pause.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/gstreamer-player/play.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/imagefilter/assets/cat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/imagefilter/assets/cat.jpg -------------------------------------------------------------------------------- /examples/imagefilter/assets/cat.jpg.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: 2013 zaimoku_woodpile 2 | SPDX-License-Identifier: CC-BY-2.0 3 | Comment: Taken from: https://www.flickr.com/photos/11250735@N07/8561945042 with Modifications: Cropped, resized the image 4 | -------------------------------------------------------------------------------- /examples/imagefilter/node/.gitignore: -------------------------------------------------------------------------------- 1 | main.js 2 | main.js.map -------------------------------------------------------------------------------- /examples/imagefilter/node/README: -------------------------------------------------------------------------------- 1 | Run with 2 | # pnpm install 3 | # pnpm start 4 | -------------------------------------------------------------------------------- /examples/imagefilter/node/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "node16", 4 | "target": "esnext", 5 | "esModuleInterop": true, 6 | "sourceMap": true, 7 | "incremental": true, 8 | "composite": true, 9 | "skipLibCheck": true 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /examples/imagefilter/rust/build.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | fn main() { 5 | slint_build::compile("../ui/main.slint").unwrap(); 6 | } 7 | -------------------------------------------------------------------------------- /examples/iot-dashboard/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | -------------------------------------------------------------------------------- /examples/iot-dashboard/images/ac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/iot-dashboard/images/ac.png -------------------------------------------------------------------------------- /examples/iot-dashboard/images/dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/iot-dashboard/images/dashboard.png -------------------------------------------------------------------------------- /examples/iot-dashboard/images/devices.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/iot-dashboard/images/devices.png -------------------------------------------------------------------------------- /examples/iot-dashboard/images/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/iot-dashboard/images/down.png -------------------------------------------------------------------------------- /examples/iot-dashboard/images/humidity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/iot-dashboard/images/humidity.png -------------------------------------------------------------------------------- /examples/iot-dashboard/images/indoor-temperature.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/iot-dashboard/images/indoor-temperature.png -------------------------------------------------------------------------------- /examples/iot-dashboard/images/lamps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/iot-dashboard/images/lamps.png -------------------------------------------------------------------------------- /examples/iot-dashboard/images/logout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/iot-dashboard/images/logout.png -------------------------------------------------------------------------------- /examples/iot-dashboard/images/main-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/iot-dashboard/images/main-icon.png -------------------------------------------------------------------------------- /examples/iot-dashboard/images/members.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/iot-dashboard/images/members.png -------------------------------------------------------------------------------- /examples/iot-dashboard/images/music-system.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/iot-dashboard/images/music-system.png -------------------------------------------------------------------------------- /examples/iot-dashboard/images/rooms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/iot-dashboard/images/rooms.png -------------------------------------------------------------------------------- /examples/iot-dashboard/images/router.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/iot-dashboard/images/router.png -------------------------------------------------------------------------------- /examples/iot-dashboard/images/statistics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/iot-dashboard/images/statistics.png -------------------------------------------------------------------------------- /examples/iot-dashboard/images/storage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/iot-dashboard/images/storage.png -------------------------------------------------------------------------------- /examples/iot-dashboard/images/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/iot-dashboard/images/up.png -------------------------------------------------------------------------------- /examples/maps/README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | A rust example that load image tiles asynchronously from OpenStreetMap server and allow panning and zooming 4 | 5 | ![Screenshot of the maps example](https://github.com/slint-ui/slint/assets/959326/f5e8cca6-dee1-4681-83da-88fec27f9a45 "Maps example") -------------------------------------------------------------------------------- /examples/mcu-board-support/pico2_st7789/board_config.toml: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: MIT 3 | 4 | link_args = ["--nmagic", "-Tlink.x", "-Tdefmt.x"] 5 | 6 | rustflags = ["-C", "target-cpu=cortex-m33"] 7 | 8 | link_search_path = ["."] 9 | -------------------------------------------------------------------------------- /examples/mcu-board-support/pico_st7789/board_config.toml: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: MIT 3 | 4 | link_args = ["--nmagic", "-Tlink.x", "-Tdefmt.x"] 5 | link_search_path = ["."] 6 | -------------------------------------------------------------------------------- /examples/mcu-board-support/stm32h735g/board_config.toml: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: MIT 3 | 4 | link_args = ["--nmagic", "-Tlink.x", "-Tdefmt.x"] 5 | link_search_path = ["."] 6 | -------------------------------------------------------------------------------- /examples/mcu-board-support/stm32u5g9j_dk2/board_config.toml: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: MIT 3 | 4 | link_args = ["--nmagic", "-Tlink.x", "-Tdefmt.x"] 5 | link_search_path = ["."] 6 | -------------------------------------------------------------------------------- /examples/mcu-embassy/.cargo/config.toml: -------------------------------------------------------------------------------- 1 | # Copyright © 2025 David Haig 2 | # SPDX-License-Identifier: MIT 3 | 4 | [target.'cfg(all(target_arch = "arm", target_os = "none"))'] 5 | rustflags = ["-C", "link-arg=--nmagic", "-C", "link-arg=-Tlink.x", "-C", "link-arg=-Tdefmt.x"] 6 | runner = "probe-rs run --chip STM32U5G9ZJTxQ" 7 | 8 | [build] 9 | target = "thumbv8m.main-none-eabihf" 10 | 11 | [env] 12 | DEFMT_LOG = "info" 13 | RUST_LOG = "info" 14 | -------------------------------------------------------------------------------- /examples/mcu-embassy/.gitignore: -------------------------------------------------------------------------------- 1 | Cargo.lock 2 | /target 3 | 4 | # Ignore all package-lock.json files 5 | **/package-lock.json 6 | # But keep these specific ones 7 | !editors/vscode/package-lock.json 8 | 9 | .env 10 | .envrc 11 | __pycache__ 12 | -------------------------------------------------------------------------------- /examples/mcu-embassy/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | // uncomment this to have rust-analyzer work with mcu related code 3 | "rust-analyzer.cargo.features": [ 4 | "mcu", 5 | //"simulator", 6 | ], 7 | "rust-analyzer.check.allTargets": false, 8 | "rust-analyzer.showUnlinkedFileNotification": false, 9 | } -------------------------------------------------------------------------------- /examples/mcu-embassy/slint_generated/README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Generated 4 | 5 | This crate is here to separate the `.slint` file compilation from the main application. -------------------------------------------------------------------------------- /examples/mcu-embassy/slint_generated/build.rs: -------------------------------------------------------------------------------- 1 | // Copyright © 2025 David Haig 2 | // SPDX-License-Identifier: MIT 3 | 4 | fn main() { 5 | let config = slint_build::CompilerConfiguration::new() 6 | .embed_resources(slint_build::EmbedResourcesKind::EmbedForSoftwareRenderer); 7 | slint_build::compile_with_config("../ui/main.slint", config).unwrap(); 8 | slint_build::print_rustc_flags().unwrap(); 9 | } 10 | -------------------------------------------------------------------------------- /examples/mcu-embassy/slint_generated/src/lib.rs: -------------------------------------------------------------------------------- 1 | // Copyright © 2025 David Haig 2 | // SPDX-License-Identifier: MIT 3 | 4 | #![no_std] 5 | 6 | slint::include_modules!(); 7 | -------------------------------------------------------------------------------- /examples/mcu-embassy/src/mcu/mod.rs: -------------------------------------------------------------------------------- 1 | // Copyright © 2025 David Haig 2 | // SPDX-License-Identifier: MIT 3 | 4 | pub mod double_buffer; 5 | pub mod hardware; 6 | pub mod rcc_setup; 7 | 8 | use embedded_alloc::LlffHeap as Heap; 9 | 10 | #[global_allocator] 11 | pub static ALLOCATOR: Heap = Heap::empty(); 12 | -------------------------------------------------------------------------------- /examples/mcu-embassy/src/simulator/hardware.rs: -------------------------------------------------------------------------------- 1 | // Copyright © 2025 David Haig 2 | // SPDX-License-Identifier: MIT 3 | 4 | use crate::controller::Hardware; 5 | use crate::info; 6 | 7 | pub struct HardwareSim {} 8 | 9 | impl Hardware for HardwareSim { 10 | fn green_led_set_high(&mut self) { 11 | info!("green led OFF"); 12 | } 13 | 14 | fn green_led_set_low(&mut self) { 15 | info!("green led ON"); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /examples/mcu-embassy/src/simulator/mod.rs: -------------------------------------------------------------------------------- 1 | // Copyright © 2025 David Haig 2 | // SPDX-License-Identifier: MIT 3 | 4 | pub mod hardware; 5 | -------------------------------------------------------------------------------- /examples/memory/icons/at.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/memory/icons/at.png -------------------------------------------------------------------------------- /examples/memory/icons/balance-scale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/memory/icons/balance-scale.png -------------------------------------------------------------------------------- /examples/memory/icons/bicycle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/memory/icons/bicycle.png -------------------------------------------------------------------------------- /examples/memory/icons/bus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/memory/icons/bus.png -------------------------------------------------------------------------------- /examples/memory/icons/cloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/memory/icons/cloud.png -------------------------------------------------------------------------------- /examples/memory/icons/cogs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/memory/icons/cogs.png -------------------------------------------------------------------------------- /examples/memory/icons/motorcycle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/memory/icons/motorcycle.png -------------------------------------------------------------------------------- /examples/memory/icons/tile_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/memory/icons/tile_logo.png -------------------------------------------------------------------------------- /examples/memory/icons/video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/memory/icons/video.png -------------------------------------------------------------------------------- /examples/memory/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "memory", 3 | "version": "1.12.0", 4 | "main": "main.js", 5 | "type": "module", 6 | "dependencies": { 7 | "slint-ui": "workspace:*" 8 | }, 9 | "scripts": { 10 | "start": "node .", 11 | "prestart": "cd ../../api/node/ && pnpm run build && pnpm compile" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /examples/memory/pyproject.toml: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: MIT 3 | 4 | [project] 5 | name = "memory" 6 | version = "1.10.0" 7 | description = "Slint Memory Tiles Python Example" 8 | readme = "README.md" 9 | requires-python = ">=3.12" 10 | dependencies = ["slint"] 11 | 12 | [tool.uv.sources] 13 | slint = { path = "../../api/python", editable = true } 14 | -------------------------------------------------------------------------------- /examples/opengl_texture/build.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | fn main() { 5 | slint_build::compile("scene.slint").unwrap(); 6 | } 7 | -------------------------------------------------------------------------------- /examples/opengl_underlay/build.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | fn main() { 5 | slint_build::compile("scene.slint").unwrap(); 6 | } 7 | -------------------------------------------------------------------------------- /examples/orbit-animation/images/sphere-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/orbit-animation/images/sphere-small.png -------------------------------------------------------------------------------- /examples/orbit-animation/images/sphere.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/orbit-animation/images/sphere.png -------------------------------------------------------------------------------- /examples/slide_puzzle/berlin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/slide_puzzle/berlin.jpg -------------------------------------------------------------------------------- /examples/slide_puzzle/berlin.jpg.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: 2021 Belappetit 2 | 3 | SPDX-License-Identifier: CC-BY-SA-3.0 4 | -------------------------------------------------------------------------------- /examples/slide_puzzle/build.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | fn main() { 5 | slint_build::compile("slide_puzzle.slint").unwrap(); 6 | } 7 | -------------------------------------------------------------------------------- /examples/slide_puzzle/plaster-font/Plaster-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/slide_puzzle/plaster-font/Plaster-Regular.ttf -------------------------------------------------------------------------------- /examples/slide_puzzle/plaster-font/Plaster-Regular.ttf.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: 2011 Sorkin Type 2 | 3 | SPDX-License-Identifier: OFL-1.1-RFN 4 | -------------------------------------------------------------------------------- /examples/sprite-sheet/images/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/sprite-sheet/images/sprite.png -------------------------------------------------------------------------------- /examples/todo-mvc/assets/add.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/todo-mvc/assets/close.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/todo-mvc/assets/remove.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/todo-mvc/rust/build.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | fn main() { 5 | slint_build::compile("../ui/index.slint").unwrap(); 6 | } 7 | -------------------------------------------------------------------------------- /examples/todo-mvc/rust/src/main.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | fn main() { 5 | todo_lib_mvc::main(); 6 | } 7 | -------------------------------------------------------------------------------- /examples/todo-mvc/rust/src/mvc.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | mod controllers; 5 | pub use controllers::*; 6 | 7 | mod models; 8 | pub use models::*; 9 | 10 | mod repositories; 11 | pub use repositories::*; 12 | -------------------------------------------------------------------------------- /examples/todo-mvc/rust/src/mvc/controllers.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | mod create_task_controller; 5 | pub use create_task_controller::*; 6 | 7 | mod task_list_controller; 8 | pub use task_list_controller::*; 9 | -------------------------------------------------------------------------------- /examples/todo-mvc/rust/src/mvc/models.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | mod date_model; 5 | pub use date_model::*; 6 | 7 | mod task_model; 8 | pub use task_model::*; 9 | 10 | mod time_model; 11 | pub use time_model::*; 12 | -------------------------------------------------------------------------------- /examples/todo-mvc/rust/src/mvc/models/date_model.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | #[derive(Copy, Clone, Default, Debug, PartialEq)] 5 | pub struct DateModel { 6 | pub year: i32, 7 | pub month: u32, 8 | pub day: u32, 9 | } 10 | -------------------------------------------------------------------------------- /examples/todo-mvc/rust/src/mvc/models/task_model.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | #[derive(Clone, Default, Debug, PartialEq)] 5 | pub struct TaskModel { 6 | pub title: String, 7 | 8 | // due date in milliseconds 9 | pub due_date: i64, 10 | pub done: bool, 11 | } 12 | -------------------------------------------------------------------------------- /examples/todo-mvc/rust/src/mvc/models/time_model.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | #[derive(Copy, Clone, Default, Debug, PartialEq)] 5 | pub struct TimeModel { 6 | pub hour: u32, 7 | pub minute: u32, 8 | pub second: u32, 9 | } 10 | -------------------------------------------------------------------------------- /examples/todo-mvc/rust/src/mvc/repositories/traits.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | mod date_time_repository; 5 | pub use date_time_repository::*; 6 | 7 | mod task_repository; 8 | pub use task_repository::*; 9 | -------------------------------------------------------------------------------- /examples/todo-mvc/rust/src/ui.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | slint::include_modules!(); 5 | 6 | pub mod create_task_adapter; 7 | pub mod navigation_adapter; 8 | pub mod task_list_adapter; 9 | -------------------------------------------------------------------------------- /examples/todo/cpp/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | -------------------------------------------------------------------------------- /examples/todo/cpp/app.h: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | #pragma once 5 | 6 | #include "slint.h" 7 | #include "todo.h" 8 | #include 9 | 10 | struct AppState 11 | { 12 | slint::ComponentHandle mainWindow; 13 | std::shared_ptr> todo_model; 14 | }; 15 | 16 | AppState create_ui(); -------------------------------------------------------------------------------- /examples/todo/cpp/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | #include "app.h" 5 | 6 | int main() 7 | { 8 | auto state = create_ui(); 9 | state.mainWindow->run(); 10 | } 11 | -------------------------------------------------------------------------------- /examples/todo/node/README: -------------------------------------------------------------------------------- 1 | Run with 2 | # pnpm install 3 | # pnpm start 4 | -------------------------------------------------------------------------------- /examples/todo/node/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "todo", 3 | "version": "1.12.0", 4 | "main": "main.js", 5 | "type": "module", 6 | "dependencies": { 7 | "slint-ui": "workspace:*" 8 | }, 9 | "scripts": { 10 | "start": "node .", 11 | "prestart": "cd ../../../api/node/ && pnpm run build && pnpm compile" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /examples/todo/rust/build.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | fn main() { 5 | slint_build::compile("../ui/todo.slint").unwrap(); 6 | } 7 | -------------------------------------------------------------------------------- /examples/todo/rust/main.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | // In order to be compatible with both desktop, wasm, and android, the example is both a binary and a library. 5 | // Just forward to the library in main 6 | 7 | fn main() { 8 | todo_lib::main(); 9 | } 10 | -------------------------------------------------------------------------------- /examples/uefi-demo/build.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | fn main() { 5 | slint_build::compile_with_config( 6 | "demo.slint", 7 | slint_build::CompilerConfiguration::new() 8 | .with_style("fluent-dark".to_owned()) 9 | .embed_resources(slint_build::EmbedResourcesKind::EmbedForSoftwareRenderer), 10 | ) 11 | .unwrap(); 12 | } 13 | -------------------------------------------------------------------------------- /examples/uefi-demo/resource/cursor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/examples/uefi-demo/resource/cursor.png -------------------------------------------------------------------------------- /examples/virtual_keyboard/rust/build.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | fn main() { 5 | slint_build::compile("../ui/main_window.slint").unwrap(); 6 | } 7 | -------------------------------------------------------------------------------- /examples/virtual_keyboard/ui/assets/arrow-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/virtual_keyboard/ui/assets/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/virtual_keyboard/ui/assets/arrow-up.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/virtual_keyboard/ui/assets/chevron-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/virtual_keyboard/ui/assets/expand-more.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/wgpu_texture/build.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: MIT 3 | 4 | fn main() { 5 | slint_build::compile("scene.slint").unwrap(); 6 | } 7 | -------------------------------------------------------------------------------- /helper_crates/const-field-offset/LICENSES/Apache-2.0.txt: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/Apache-2.0.txt -------------------------------------------------------------------------------- /helper_crates/const-field-offset/LICENSES/MIT.txt: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/MIT.txt -------------------------------------------------------------------------------- /helper_crates/vtable/LICENSES/Apache-2.0.txt: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/Apache-2.0.txt -------------------------------------------------------------------------------- /helper_crates/vtable/LICENSES/MIT.txt: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/MIT.txt -------------------------------------------------------------------------------- /helper_crates/vtable/macro/LICENSES/Apache-2.0.txt: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/Apache-2.0.txt -------------------------------------------------------------------------------- /helper_crates/vtable/macro/LICENSES/MIT.txt: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/MIT.txt -------------------------------------------------------------------------------- /internal/backends/android-activity/LICENSES/GPL-3.0-only.txt: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/GPL-3.0-only.txt -------------------------------------------------------------------------------- /internal/backends/android-activity/LICENSES/LicenseRef-Slint-Royalty-free-2.0.md: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/LicenseRef-Slint-Royalty-free-2.0.md -------------------------------------------------------------------------------- /internal/backends/android-activity/LICENSES/LicenseRef-Slint-Software-3.0.md: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/LicenseRef-Slint-Software-3.0.md -------------------------------------------------------------------------------- /internal/backends/linuxkms/LICENSES/GPL-3.0-only.txt: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/GPL-3.0-only.txt -------------------------------------------------------------------------------- /internal/backends/linuxkms/LICENSES/LicenseRef-Slint-Royalty-free-2.0.md: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/LicenseRef-Slint-Royalty-free-2.0.md -------------------------------------------------------------------------------- /internal/backends/linuxkms/LICENSES/LicenseRef-Slint-Software-3.0.md: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/LicenseRef-Slint-Software-3.0.md -------------------------------------------------------------------------------- /internal/backends/linuxkms/LICENSES/MIT.txt: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/MIT.txt -------------------------------------------------------------------------------- /internal/backends/linuxkms/mouse-pointer.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /internal/backends/qt/LICENSES/GPL-3.0-only.txt: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/GPL-3.0-only.txt -------------------------------------------------------------------------------- /internal/backends/qt/LICENSES/LicenseRef-Slint-Royalty-free-2.0.md: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/LicenseRef-Slint-Royalty-free-2.0.md -------------------------------------------------------------------------------- /internal/backends/qt/LICENSES/LicenseRef-Slint-Software-3.0.md: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/LicenseRef-Slint-Software-3.0.md -------------------------------------------------------------------------------- /internal/backends/selector/LICENSES/GPL-3.0-only.txt: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/GPL-3.0-only.txt -------------------------------------------------------------------------------- /internal/backends/selector/LICENSES/LicenseRef-Slint-Royalty-free-2.0.md: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/LicenseRef-Slint-Royalty-free-2.0.md -------------------------------------------------------------------------------- /internal/backends/selector/LICENSES/LicenseRef-Slint-Software-3.0.md: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/LicenseRef-Slint-Software-3.0.md -------------------------------------------------------------------------------- /internal/backends/winit/LICENSES/GPL-3.0-only.txt: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/GPL-3.0-only.txt -------------------------------------------------------------------------------- /internal/backends/winit/LICENSES/LicenseRef-Slint-Royalty-free-2.0.md: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/LicenseRef-Slint-Royalty-free-2.0.md -------------------------------------------------------------------------------- /internal/backends/winit/LICENSES/LicenseRef-Slint-Software-3.0.md: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/LicenseRef-Slint-Software-3.0.md -------------------------------------------------------------------------------- /internal/common/LICENSES/GPL-3.0-only.txt: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/GPL-3.0-only.txt -------------------------------------------------------------------------------- /internal/common/LICENSES/LicenseRef-DejaVu-Font.txt: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/LicenseRef-DejaVu-Font.txt -------------------------------------------------------------------------------- /internal/common/LICENSES/LicenseRef-Slint-Royalty-free-2.0.md: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/LicenseRef-Slint-Royalty-free-2.0.md -------------------------------------------------------------------------------- /internal/common/LICENSES/LicenseRef-Slint-Software-3.0.md: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/LicenseRef-Slint-Software-3.0.md -------------------------------------------------------------------------------- /internal/common/sharedfontdb/DejaVuSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/internal/common/sharedfontdb/DejaVuSans.ttf -------------------------------------------------------------------------------- /internal/common/sharedfontdb/DejaVuSans.ttf.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: 2021 DejaVu Font Authors 2 | 3 | SPDX-License-Identifier: LicenseRef-DejaVu-Font 4 | -------------------------------------------------------------------------------- /internal/compiler/LICENSES/Apache-2.0.txt: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/Apache-2.0.txt -------------------------------------------------------------------------------- /internal/compiler/LICENSES/CC-BY-ND-4.0.txt: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/CC-BY-ND-4.0.txt -------------------------------------------------------------------------------- /internal/compiler/LICENSES/GPL-3.0-only.txt: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/GPL-3.0-only.txt -------------------------------------------------------------------------------- /internal/compiler/LICENSES/LicenseRef-Slint-Royalty-free-2.0.md: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/LicenseRef-Slint-Royalty-free-2.0.md -------------------------------------------------------------------------------- /internal/compiler/LICENSES/LicenseRef-Slint-Software-3.0.md: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/LicenseRef-Slint-Software-3.0.md -------------------------------------------------------------------------------- /internal/compiler/LICENSES/MIT.txt: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/MIT.txt -------------------------------------------------------------------------------- /internal/compiler/tests/syntax/basic/bom-simple.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | // This file contains an UTF-8 BOM at the beginning of the file. 5 | 6 | component Foo { } 7 | //^warning{Component is neither used nor exported} 8 | 9 | 10 | export component XX { 11 | 12 | } -------------------------------------------------------------------------------- /internal/compiler/tests/syntax/basic/empty.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | -------------------------------------------------------------------------------- /internal/compiler/tests/syntax/elements/menubar3.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export component B inherits Window { 5 | if true : MenuBar { 6 | // ^error{MenuBar cannot be in a conditional or repeated element} 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /internal/compiler/tests/syntax/exports/root_compo_export.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | component Button { 5 | 6 | } 7 | 8 | component App { 9 | //^warning{Component is implicitly marked for export. This is deprecated and it should be explicitly exported} 10 | Button {} 11 | } 12 | 13 | -------------------------------------------------------------------------------- /internal/compiler/tests/syntax/exports/root_compo_export2.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | component App { 5 | //^warning{Component is implicitly marked for export. This is deprecated and it should be explicitly exported} 6 | } 7 | 8 | -------------------------------------------------------------------------------- /internal/compiler/tests/syntax/exports/root_compo_export3.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export global Foo {} 5 | 6 | component App { 7 | //^warning{Component is implicitly marked for export. This is deprecated and it should be explicitly exported} 8 | } 9 | 10 | -------------------------------------------------------------------------------- /internal/compiler/tests/syntax/exports/single_global_missing_export.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | global Settings { 5 | //^warning{Global singleton is implicitly marked for export. This is deprecated and it should be explicitly exported} 6 | in-out property active; 7 | } 8 | -------------------------------------------------------------------------------- /internal/compiler/tests/syntax/exports/unused_compo.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | component Used { 5 | } 6 | 7 | export component Ok { 8 | Used {} 9 | } 10 | 11 | component Unused { 12 | //^warning{Component is neither used nor exported} 13 | } 14 | -------------------------------------------------------------------------------- /internal/compiler/tests/syntax/fuzzing/6588.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | //^^^error{Expected comma or brace} 4 | 5 | import { Bmp 6 | 7 | -------------------------------------------------------------------------------- /internal/compiler/tests/syntax/fuzzing/6632.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export component S{ 5 | t:=TextInput{ 6 | has-focus<=>t.has-focus; 7 | // ^error{Cannot assign to output property 'has-focus'} 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /internal/compiler/tests/syntax/imports/import_builtin.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | // Even if that file exist in the style, it shouldn't be loaded 5 | import { StyleMetrics } from "std-widgets-impl.slint"; 6 | // ^error{Cannot find requested import "std-widgets-impl.slint" in the include search path} -------------------------------------------------------------------------------- /internal/compiler/tests/syntax/imports/import_parse_error1.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | import; 5 | // ^error{Syntax error: expected '{'} 6 | -------------------------------------------------------------------------------- /internal/compiler/tests/syntax/imports/import_parse_error2.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | import foo from bar; 5 | // ^error{Syntax error: expected '{'} 6 | -------------------------------------------------------------------------------- /internal/compiler/tests/syntax/imports/import_parse_error3.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | import { A } yo; 5 | // ^error{Expected from keyword for import statement} 6 | -------------------------------------------------------------------------------- /internal/compiler/tests/syntax/imports/import_parse_error4.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | import { Foo } from yo; 5 | // ^error{Expected plain string literal} 6 | -------------------------------------------------------------------------------- /internal/compiler/tests/syntax/imports/import_parse_error6.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | import { , SomeRect } from "../../typeloader/incpath/local_helper_type.slint"; 5 | // ^error{Syntax error: expected Identifier} 6 | -------------------------------------------------------------------------------- /internal/compiler/tests/syntax/imports/import_parse_error7.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | import { SomeRect SomeRect as OtherRect } from "../../typeloader/incpath/local_helper_type.slint"; 5 | // ^error{Expected comma or brace} 6 | -------------------------------------------------------------------------------- /internal/compiler/tests/syntax/imports/just_import.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | import { SomeRect } from "../../typeloader/incpath/local_helper_type.slint"; 5 | //^warning{No component is exported. The last imported component 'SomeRect' will be used. This is deprecated} 6 | 7 | -------------------------------------------------------------------------------- /internal/compiler/tests/syntax/lookup/callback_alias_issue4938.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export component Xxx { 5 | callback issue4938 <=> issue4938; 6 | // ^error{Cannot alias to itself} 7 | } 8 | -------------------------------------------------------------------------------- /internal/compiler/tests/syntax/parse_error/export0.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export - 5 | // ^error{Parse error: expected a top-level item such as a component, a struct, or a global} 6 | -------------------------------------------------------------------------------- /internal/compiler/tests/syntax/parse_error/export1.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export { Foo as } 5 | // ^error{Syntax error: expected Identifier} 6 | -------------------------------------------------------------------------------- /internal/compiler/tests/syntax/parse_error/for0.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | 5 | export component App inherits Window { 6 | Flickable { 7 | for t 8 | } 9 | // ^error{Invalid 'for' syntax: there should be a 'in' token} 10 | } 11 | -------------------------------------------------------------------------------- /internal/compiler/tests/typeloader/custom_style/TestStyle/std-widgets.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | -------------------------------------------------------------------------------- /internal/compiler/tests/typeloader/dependency_local.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | import { AnotherType } from "./incpath/dependency_from_incpath.slint"; 5 | 6 | export component SubType inherits AnotherType {} 7 | -------------------------------------------------------------------------------- /internal/compiler/tests/typeloader/incpath/dependency_from_incpath.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | import { SomeRect } from "./local_helper_type.slint"; 5 | 6 | export component AnotherType inherits SomeRect {} 7 | -------------------------------------------------------------------------------- /internal/compiler/tests/typeloader/incpath/local_helper_type.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export component SomeRect inherits Rectangle {} 5 | -------------------------------------------------------------------------------- /internal/compiler/tests/typeloader/library/dependency_from_library.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export component LibraryType inherits Rectangle {} 5 | -------------------------------------------------------------------------------- /internal/compiler/tests/typeloader/library/lib.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | import { LibraryType } from "./dependency_from_library.slint"; 5 | export { LibraryType } 6 | -------------------------------------------------------------------------------- /internal/compiler/tests/typeloader/library/library_helper_type.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export component LibraryHelperType inherits Rectangle {} 5 | -------------------------------------------------------------------------------- /internal/compiler/widgets/cosmic/_arrow_back.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /internal/compiler/widgets/cosmic/_arrow_down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /internal/compiler/widgets/cosmic/_arrow_up.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /internal/compiler/widgets/cosmic/_check-mark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /internal/compiler/widgets/cosmic/_pane_down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /internal/compiler/widgets/cosmic/color-scheme.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export global ColorSchemeSelector { 5 | in property color-scheme: SlintInternal.color-scheme; 6 | } 7 | -------------------------------------------------------------------------------- /internal/compiler/widgets/cupertino/_arrow_back.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /internal/compiler/widgets/cupertino/_arrow_forward.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /internal/compiler/widgets/cupertino/_edit.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /internal/compiler/widgets/cupertino/color-scheme.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export global ColorSchemeSelector { 5 | in property color-scheme: SlintInternal.color-scheme; 6 | } 7 | -------------------------------------------------------------------------------- /internal/compiler/widgets/fluent/_arrow_back.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /internal/compiler/widgets/fluent/_arrow_forward.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /internal/compiler/widgets/fluent/_calendar.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /internal/compiler/widgets/fluent/_edit.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /internal/compiler/widgets/fluent/color-scheme.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export global ColorSchemeSelector { 5 | in property color-scheme: SlintInternal.color-scheme; 6 | } 7 | -------------------------------------------------------------------------------- /internal/compiler/widgets/material/_arrow-downward.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/compiler/widgets/material/_arrow-drop-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/compiler/widgets/material/_arrow-drop-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/compiler/widgets/material/_arrow-upward.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/compiler/widgets/material/_arrow_back.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /internal/compiler/widgets/material/_arrow_forward.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /internal/compiler/widgets/material/_check-mark.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/compiler/widgets/material/_edit.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /internal/compiler/widgets/material/_expand-more.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/compiler/widgets/material/color-scheme.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export global ColorSchemeSelector { 5 | in property color-scheme: SlintInternal.color-scheme; 6 | } 7 | -------------------------------------------------------------------------------- /internal/compiler/widgets/qt/_arrow_back.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /internal/compiler/widgets/qt/_arrow_forward.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /internal/compiler/widgets/qt/_calendar.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /internal/compiler/widgets/qt/_dropdown.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/compiler/widgets/qt/_edit.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /internal/compiler/widgets/qt/styling.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export global Icons { 5 | out property keyboard: @image-url("_keyboard.svg"); 6 | out property clock: @image-url("_clock.svg"); 7 | } 8 | -------------------------------------------------------------------------------- /internal/core-macros/LICENSES/GPL-3.0-only.txt: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/GPL-3.0-only.txt -------------------------------------------------------------------------------- /internal/core-macros/LICENSES/LicenseRef-Slint-Royalty-free-2.0.md: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/LicenseRef-Slint-Royalty-free-2.0.md -------------------------------------------------------------------------------- /internal/core-macros/LICENSES/LicenseRef-Slint-Software-3.0.md: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/LicenseRef-Slint-Software-3.0.md -------------------------------------------------------------------------------- /internal/core/LICENSES/GPL-3.0-only.txt: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/GPL-3.0-only.txt -------------------------------------------------------------------------------- /internal/core/LICENSES/LicenseRef-Slint-Royalty-free-2.0.md: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/LicenseRef-Slint-Royalty-free-2.0.md -------------------------------------------------------------------------------- /internal/core/LICENSES/LicenseRef-Slint-Software-3.0.md: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/LicenseRef-Slint-Software-3.0.md -------------------------------------------------------------------------------- /internal/interpreter/LICENSES/GPL-3.0-only.txt: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/GPL-3.0-only.txt -------------------------------------------------------------------------------- /internal/interpreter/LICENSES/LicenseRef-Slint-Royalty-free-2.0.md: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/LicenseRef-Slint-Royalty-free-2.0.md -------------------------------------------------------------------------------- /internal/interpreter/LICENSES/LicenseRef-Slint-Software-3.0.md: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/LicenseRef-Slint-Software-3.0.md -------------------------------------------------------------------------------- /internal/renderers/femtovg/LICENSES/GPL-3.0-only.txt: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/GPL-3.0-only.txt -------------------------------------------------------------------------------- /internal/renderers/femtovg/LICENSES/LicenseRef-Slint-Royalty-free-2.0.md: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/LicenseRef-Slint-Royalty-free-2.0.md -------------------------------------------------------------------------------- /internal/renderers/femtovg/LICENSES/LicenseRef-Slint-Software-3.0.md: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/LicenseRef-Slint-Software-3.0.md -------------------------------------------------------------------------------- /internal/renderers/skia/LICENSES/GPL-3.0-only.txt: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/GPL-3.0-only.txt -------------------------------------------------------------------------------- /internal/renderers/skia/LICENSES/LicenseRef-Slint-Royalty-free-2.0.md: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/LicenseRef-Slint-Royalty-free-2.0.md -------------------------------------------------------------------------------- /internal/renderers/skia/LICENSES/LicenseRef-Slint-Software-3.0.md: -------------------------------------------------------------------------------- 1 | ../../../../LICENSES/LicenseRef-Slint-Software-3.0.md -------------------------------------------------------------------------------- /logo/MadeWithSlint-logo-dark-large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/MadeWithSlint-logo-dark-large.png -------------------------------------------------------------------------------- /logo/MadeWithSlint-logo-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/MadeWithSlint-logo-dark.png -------------------------------------------------------------------------------- /logo/MadeWithSlint-logo-light-large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/MadeWithSlint-logo-light-large.png -------------------------------------------------------------------------------- /logo/MadeWithSlint-logo-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/MadeWithSlint-logo-light.png -------------------------------------------------------------------------------- /logo/MadeWithSlint-logo-whitebg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/MadeWithSlint-logo-whitebg.png -------------------------------------------------------------------------------- /logo/for_Print/MadeWithSlint-logo-dark.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/for_Print/MadeWithSlint-logo-dark.pdf -------------------------------------------------------------------------------- /logo/for_Print/MadeWithSlint-logo-light.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/for_Print/MadeWithSlint-logo-light.pdf -------------------------------------------------------------------------------- /logo/for_Print/slint-logo-full-dark.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/for_Print/slint-logo-full-dark.pdf -------------------------------------------------------------------------------- /logo/for_Print/slint-logo-full-light.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/for_Print/slint-logo-full-light.pdf -------------------------------------------------------------------------------- /logo/for_Print/slint-logo-simple-dark.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/for_Print/slint-logo-simple-dark.pdf -------------------------------------------------------------------------------- /logo/for_Print/slint-logo-simple-light.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/for_Print/slint-logo-simple-light.pdf -------------------------------------------------------------------------------- /logo/for_Print/slint-logo-small-dark.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/for_Print/slint-logo-small-dark.pdf -------------------------------------------------------------------------------- /logo/for_Print/slint-logo-small-light.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/for_Print/slint-logo-small-light.pdf -------------------------------------------------------------------------------- /logo/for_Print/slint-logo-square-dark.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/for_Print/slint-logo-square-dark.pdf -------------------------------------------------------------------------------- /logo/for_Print/slint-logo-square-light.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/for_Print/slint-logo-square-light.pdf -------------------------------------------------------------------------------- /logo/slint-logo-full-dark-large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/slint-logo-full-dark-large.png -------------------------------------------------------------------------------- /logo/slint-logo-full-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/slint-logo-full-dark.png -------------------------------------------------------------------------------- /logo/slint-logo-full-light-large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/slint-logo-full-light-large.png -------------------------------------------------------------------------------- /logo/slint-logo-full-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/slint-logo-full-light.png -------------------------------------------------------------------------------- /logo/slint-logo-full-whitebg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/slint-logo-full-whitebg.png -------------------------------------------------------------------------------- /logo/slint-logo-simple-dark-large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/slint-logo-simple-dark-large.png -------------------------------------------------------------------------------- /logo/slint-logo-simple-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/slint-logo-simple-dark.png -------------------------------------------------------------------------------- /logo/slint-logo-simple-light-large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/slint-logo-simple-light-large.png -------------------------------------------------------------------------------- /logo/slint-logo-simple-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/slint-logo-simple-light.png -------------------------------------------------------------------------------- /logo/slint-logo-simple-whitebg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/slint-logo-simple-whitebg.png -------------------------------------------------------------------------------- /logo/slint-logo-small-dark-large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/slint-logo-small-dark-large.png -------------------------------------------------------------------------------- /logo/slint-logo-small-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/slint-logo-small-dark.png -------------------------------------------------------------------------------- /logo/slint-logo-small-light-large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/slint-logo-small-light-large.png -------------------------------------------------------------------------------- /logo/slint-logo-small-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/slint-logo-small-light.png -------------------------------------------------------------------------------- /logo/slint-logo-small-whitebg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/slint-logo-small-whitebg.png -------------------------------------------------------------------------------- /logo/slint-logo-square-dark-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/slint-logo-square-dark-128x128.png -------------------------------------------------------------------------------- /logo/slint-logo-square-dark-large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/slint-logo-square-dark-large.png -------------------------------------------------------------------------------- /logo/slint-logo-square-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/slint-logo-square-dark.png -------------------------------------------------------------------------------- /logo/slint-logo-square-light-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/slint-logo-square-light-128x128.png -------------------------------------------------------------------------------- /logo/slint-logo-square-light-large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/slint-logo-square-light-large.png -------------------------------------------------------------------------------- /logo/slint-logo-square-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/slint-logo-square-light.png -------------------------------------------------------------------------------- /logo/slint-logo-square-whitebg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/logo/slint-logo-square-whitebg.png -------------------------------------------------------------------------------- /rustfmt.toml: -------------------------------------------------------------------------------- 1 | edition = "2021" 2 | use_small_heuristics = "Max" 3 | -------------------------------------------------------------------------------- /tests/cases/7guis: -------------------------------------------------------------------------------- 1 | ../../examples/7guis -------------------------------------------------------------------------------- /tests/cases/crashes/empty_listview.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | import { ListView } from "std-widgets.slint"; 5 | 6 | export Test := Window { 7 | VerticalLayout { 8 | ListView {} 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tests/cases/crashes/issue1267_opacity_in_layout.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | MainWindow := Window { 5 | VerticalLayout { 6 | Rectangle { 7 | opacity: 0.5; 8 | } 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /tests/cases/crashes/issue_7316_changed_visibility.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | component PostAction inherits Rectangle { 5 | changed visible => { 6 | } 7 | } 8 | 9 | 10 | 11 | export component TestCase inherits Window { 12 | PostAction {} 13 | } -------------------------------------------------------------------------------- /tests/cases/crashes/shadow_fixed_width.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export D := Window { 5 | VerticalLayout { 6 | for ab in 1 : Rectangle { 7 | width: 100%; 8 | drop-shadow-offset-x: 1px; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /tests/cases/exports/export_root.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export component Ok { 5 | in-out property test: true; 6 | } 7 | 8 | component Ko { 9 | in-out property test: false; 10 | } 11 | -------------------------------------------------------------------------------- /tests/cases/imports/exported_component.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export component ExportedA inherits Rectangle {} 5 | component NotExported inherits ExportedA { 6 | ExportedA {} 7 | } 8 | component ExportedB inherits NotExported { 9 | } 10 | export { ExportedB } 11 | -------------------------------------------------------------------------------- /tests/cases/imports/import_multi.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | import { ExportedA } from "./exported_component.slint"; 5 | import { ExportedB } from "./exported_component.slint"; 6 | 7 | TestCase := Rectangle { 8 | ExportedA {} 9 | ExportedB {} 10 | } 11 | -------------------------------------------------------------------------------- /tests/cases/imports/reexport.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | //include_path: ../../helper_components 5 | import { TestButton, ColorButton } from "re_export_all.slint"; 6 | TestCase := Rectangle { 7 | TestButton {} 8 | ColorButton {} 9 | } 10 | -------------------------------------------------------------------------------- /tests/cases/imports/reexport2.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | //include_path: ../../helper_components 5 | import { TestButton, TheWindow } from "re_export2.slint"; 6 | export component TestCase inherits TheWindow { 7 | TestButton {} 8 | } 9 | -------------------------------------------------------------------------------- /tests/cases/simple.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | TestCase := Rectangle { 5 | 6 | } 7 | 8 | /* 9 | ```cpp 10 | TestCase::create(); 11 | ``` 12 | 13 | ```rust 14 | TestCase::new().unwrap(); 15 | ``` 16 | 17 | ```js 18 | var x = new slint.TestCase({}); 19 | ``` 20 | 21 | */ 22 | -------------------------------------------------------------------------------- /tests/cases/text/input_type.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | TestCase := TextInput { 5 | text: "hello"; 6 | input-type: InputType.password; 7 | } 8 | 9 | -------------------------------------------------------------------------------- /tests/cases/types/cubic-bezier.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | // Test that cubic-bezier() can accept negative numbers 5 | 6 | TestCase := Rectangle { 7 | animate background { 8 | easing: cubic-bezier(0.600, -0.280, 0.735, 0.045); // ease-in-back 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tests/driver/cpp/main.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | #[cfg(test)] 5 | mod cppdriver; 6 | 7 | include!(env!("TEST_FUNCTIONS")); 8 | 9 | fn main() { 10 | println!("Nothing to see here, please run me through cargo test :)"); 11 | } 12 | -------------------------------------------------------------------------------- /tests/driver/nodejs/main.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | #[cfg(test)] 5 | mod nodejs; 6 | 7 | include!(env!("TEST_FUNCTIONS")); 8 | 9 | fn main() { 10 | println!("Nothing to see here, please run me through cargo test :)"); 11 | } 12 | -------------------------------------------------------------------------------- /tests/helper_components/issue_6651_implicit_export.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export global B { 5 | out property ok: true; 6 | } 7 | 8 | // The warning is generated deliberately. 9 | component A { } 10 | -------------------------------------------------------------------------------- /tests/helper_components/main_window.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export component MainWindow inherits Window { 5 | in-out property some_prop: 42; 6 | } 7 | 8 | export { MainWindow as Main-Window } 9 | -------------------------------------------------------------------------------- /tests/helper_components/re_export.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | import { TestButton } from "./test_button.slint"; 5 | export { TestButton } 6 | -------------------------------------------------------------------------------- /tests/helper_components/re_export2.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export { TestButton } from "./test_button.slint"; 5 | export { Main-Window as TheWindow } from "./main_window.slint"; 6 | -------------------------------------------------------------------------------- /tests/helper_components/re_export_all.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export * from "./test_button.slint"; 5 | 6 | -------------------------------------------------------------------------------- /tests/screenshots/cases/software/basic/border-image-rect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/tests/screenshots/cases/software/basic/border-image-rect.png -------------------------------------------------------------------------------- /tests/screenshots/cases/software/basic/border-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/tests/screenshots/cases/software/basic/border-image.png -------------------------------------------------------------------------------- /tests/screenshots/cases/software/basic/image-repeat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/tests/screenshots/cases/software/basic/image-repeat.png -------------------------------------------------------------------------------- /tests/screenshots/cases/software/basic/rgb.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | TestCase := Window { 5 | width: 64px; 6 | height: 64px; 7 | 8 | GridLayout { 9 | Rectangle { background: red; } 10 | Rectangle { background: green; } 11 | Rectangle { background: blue; } 12 | } 13 | } -------------------------------------------------------------------------------- /tests/screenshots/main.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | #![deny(warnings)] 5 | 6 | pub mod testing; 7 | 8 | #[cfg(test)] 9 | include!(concat!(env!("OUT_DIR"), "/generated.rs")); 10 | 11 | fn main() { 12 | println!("Nothing to see here, please run me through cargo test :)"); 13 | } 14 | -------------------------------------------------------------------------------- /tests/screenshots/references/software/basic/border-image-repeat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/tests/screenshots/references/software/basic/border-image-repeat.png -------------------------------------------------------------------------------- /tests/screenshots/references/software/basic/border-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/tests/screenshots/references/software/basic/border-image.png -------------------------------------------------------------------------------- /tests/screenshots/references/software/basic/border-image2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/tests/screenshots/references/software/basic/border-image2.png -------------------------------------------------------------------------------- /tests/screenshots/references/software/basic/border.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/tests/screenshots/references/software/basic/border.png -------------------------------------------------------------------------------- /tests/screenshots/references/software/basic/image-repeat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/tests/screenshots/references/software/basic/image-repeat.png -------------------------------------------------------------------------------- /tests/screenshots/references/software/basic/images-alignment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/tests/screenshots/references/software/basic/images-alignment.png -------------------------------------------------------------------------------- /tests/screenshots/references/software/basic/images-scale_factor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/tests/screenshots/references/software/basic/images-scale_factor.png -------------------------------------------------------------------------------- /tests/screenshots/references/software/basic/images.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/tests/screenshots/references/software/basic/images.png -------------------------------------------------------------------------------- /tests/screenshots/references/software/basic/linear-gradients.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/tests/screenshots/references/software/basic/linear-gradients.png -------------------------------------------------------------------------------- /tests/screenshots/references/software/basic/rgb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/tests/screenshots/references/software/basic/rgb.png -------------------------------------------------------------------------------- /tests/screenshots/references/software/basic/set-selection-offsets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/tests/screenshots/references/software/basic/set-selection-offsets.png -------------------------------------------------------------------------------- /tests/screenshots/references/software/basic/text-clipped.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/tests/screenshots/references/software/basic/text-clipped.png -------------------------------------------------------------------------------- /tests/screenshots/references/software/basic/text-elided.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/tests/screenshots/references/software/basic/text-elided.png -------------------------------------------------------------------------------- /tests/screenshots/references/software/basic/text-input-selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/tests/screenshots/references/software/basic/text-input-selection.png -------------------------------------------------------------------------------- /tests/screenshots/references/software/basic/text-input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/tests/screenshots/references/software/basic/text-input.png -------------------------------------------------------------------------------- /tests/screenshots/references/software/basic/text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/tests/screenshots/references/software/basic/text.png -------------------------------------------------------------------------------- /tests/screenshots/references/software/basic/translucent-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/tests/screenshots/references/software/basic/translucent-background.png -------------------------------------------------------------------------------- /tools/docsnapper/LICENSES/GPL-3.0-only.txt: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/GPL-3.0-only.txt -------------------------------------------------------------------------------- /tools/docsnapper/LICENSES/LicenseRef-Slint-Royalty-free-2.0.md: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/LicenseRef-Slint-Royalty-free-2.0.md -------------------------------------------------------------------------------- /tools/docsnapper/LICENSES/LicenseRef-Slint-Software-3.0.md: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/LicenseRef-Slint-Software-3.0.md -------------------------------------------------------------------------------- /tools/docsnapper/README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Screenshot tool for the documentation examples 4 | 5 | ## Installation 6 | 7 | Please don't :-) 8 | 9 | ## Usage 10 | 11 | See the docs CI job 12 | -------------------------------------------------------------------------------- /tools/figma-inspector/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | dist 3 | dist.zip 4 | .tmp 5 | !*.d.ts 6 | -------------------------------------------------------------------------------- /tools/figma-inspector/backend/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "include": ["./**/*.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /tools/figma-inspector/biome.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../biome.json"], 3 | "formatter": { 4 | "ignore": ["figma_output.json", ".tmp"] 5 | }, 6 | "linter": { 7 | "ignore": ["figma_output.json", ".tmp"] 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /tools/figma-inspector/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tools/figma-inspector/public-zip/readme.txt: -------------------------------------------------------------------------------- 1 | # Copyright © SixtyFPS GmbH 2 | # SPDX-License-Identifier: MIT 3 | 4 | -------------------------------------------------------------------------------- /tools/figma-inspector/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | /// 5 | /// 6 | /// 7 | -------------------------------------------------------------------------------- /tools/lsp/LICENSES/GPL-3.0-only.txt: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/GPL-3.0-only.txt -------------------------------------------------------------------------------- /tools/lsp/LICENSES/LicenseRef-Slint-Royalty-free-2.0.md: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/LicenseRef-Slint-Royalty-free-2.0.md -------------------------------------------------------------------------------- /tools/lsp/LICENSES/LicenseRef-Slint-Software-3.0.md: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/LicenseRef-Slint-Software-3.0.md -------------------------------------------------------------------------------- /tools/lsp/build.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | fn main() { 5 | // Make the compiler handle ComponentContainer: 6 | std::env::set_var("SLINT_ENABLE_EXPERIMENTAL_FEATURES", "1"); 7 | #[cfg(feature = "preview-engine")] 8 | slint_build::compile("ui/main.slint").unwrap(); 9 | } 10 | -------------------------------------------------------------------------------- /tools/lsp/fmt.rs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | pub mod fmt; 5 | #[cfg(not(target_arch = "wasm32"))] 6 | pub mod tool; 7 | pub mod writer; 8 | -------------------------------------------------------------------------------- /tools/lsp/ui/assets/Inter-VariableFont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/tools/lsp/ui/assets/Inter-VariableFont.ttf -------------------------------------------------------------------------------- /tools/lsp/ui/assets/Inter-VariableFont.ttf.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: Copyright 2020 The Inter Project Authors 2 | 3 | SPDX-License-Identifier: OFL-1.1-RFN 4 | -------------------------------------------------------------------------------- /tools/lsp/ui/assets/SourceCodePro-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/tools/lsp/ui/assets/SourceCodePro-Medium.ttf -------------------------------------------------------------------------------- /tools/lsp/ui/assets/SourceCodePro-Medium.ttf.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), 2 | 3 | SPDX-License-Identifier: OFL-1.1-RFN 4 | -------------------------------------------------------------------------------- /tools/lsp/ui/assets/background-mini.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tools/lsp/ui/assets/background-tiny.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tools/lsp/ui/assets/background.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tools/lsp/ui/assets/black-square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slint-ui/slint/93f72b8c99b9d53f190776ee067408da3e970893/tools/lsp/ui/assets/black-square.png -------------------------------------------------------------------------------- /tools/lsp/ui/assets/chevron-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tools/lsp/ui/assets/close.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /tools/lsp/ui/assets/dial.svg.license: -------------------------------------------------------------------------------- 1 | Copyright © SixtyFPS GmbH 2 | SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | -------------------------------------------------------------------------------- /tools/lsp/ui/assets/filter.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tools/lsp/ui/assets/inspect.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tools/lsp/ui/assets/layout-sidebar-left-off.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tools/lsp/ui/assets/layout-sidebar-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tools/lsp/ui/assets/layout-sidebar-right-off.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tools/lsp/ui/assets/layout-sidebar-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tools/lsp/ui/assets/plus.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /tools/lsp/ui/assets/search.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tools/lsp/ui/assets/slint-logo-small-light.png: -------------------------------------------------------------------------------- 1 | ../../../../logo/slint-logo-small-light.png -------------------------------------------------------------------------------- /tools/lsp/ui/assets/sync.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tools/lsp/ui/components/layout-helpers.slint: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export component SimpleColumn { 5 | in-out property spacing; 6 | width: 100%; 7 | vl := VerticalLayout { 8 | spacing <=> root.spacing; 9 | @children 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /tools/slintpad/.gitignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | dev-dist/ 3 | node_modules/ 4 | pkg/ 5 | .package-lock.json 6 | playwright-report/ 7 | test-results/ -------------------------------------------------------------------------------- /tools/slintpad/src/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.default.json", 3 | "compilerOptions": { 4 | "lib": ["dom", "es2021"], 5 | "types": ["vscode"] 6 | }, 7 | "include": ["./*.ts", "../package.json", "./welcome/*.ts"], 8 | "references": [ 9 | { 10 | "path": "worker" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /tools/slintpad/src/types.ts: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | // eslint-disable-next-line 5 | type DedicatedWorkerGlobalScope = any; // This type is defined in the `webworker` library, which is not compatible with `dom` 6 | -------------------------------------------------------------------------------- /tools/slintpad/src/worker/monaco_worker.mjs: -------------------------------------------------------------------------------- 1 | // Copyright © SixtyFPS GmbH 2 | // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 3 | 4 | export * from "monaco-editor/esm/vs/editor/editor.worker.js"; 5 | -------------------------------------------------------------------------------- /tools/slintpad/src/worker/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.default.json", 3 | "compilerOptions": { 4 | "lib": ["webworker", "es6"], 5 | "types": ["vscode"] 6 | }, 7 | "include": ["./*.mjs", "./*.ts"] 8 | } 9 | -------------------------------------------------------------------------------- /tools/slintpad/static/loader.svg: -------------------------------------------------------------------------------- 1 | ../../../logo/slint-logo-small-light-whitebg.svg -------------------------------------------------------------------------------- /tools/slintpad/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "files": [], 3 | "references": [ 4 | { 5 | "path": "src" 6 | } 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /tools/tr-extractor/README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | This utility extract `@tr` strings in a Slint file and generate a `.po` file -------------------------------------------------------------------------------- /tools/viewer/LICENSES/GPL-3.0-only.txt: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/GPL-3.0-only.txt -------------------------------------------------------------------------------- /tools/viewer/LICENSES/LicenseRef-Slint-Royalty-free-2.0.md: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/LicenseRef-Slint-Royalty-free-2.0.md -------------------------------------------------------------------------------- /tools/viewer/LICENSES/LicenseRef-Slint-Software-3.0.md: -------------------------------------------------------------------------------- 1 | ../../../LICENSES/LicenseRef-Slint-Software-3.0.md --------------------------------------------------------------------------------