├── .gitignore ├── LICENSE ├── README.md ├── build.gradle.kts ├── common ├── build.gradle.kts ├── gradle.properties └── src │ ├── commonMain │ └── kotlin │ │ └── org │ │ └── pushingpixels │ │ └── aurora │ │ └── common │ │ ├── AuroraInternalApi.kt │ │ ├── ColorUtils.kt │ │ ├── HashMapKey.kt │ │ └── Utils.kt │ └── desktopMain │ └── kotlin │ └── org │ └── pushingpixels │ └── aurora │ └── common │ ├── AuroraPopupManager.kt │ └── Platform.kt ├── component ├── build.gradle.kts ├── gradle.properties └── src │ └── desktopMain │ └── kotlin │ └── org │ └── pushingpixels │ └── aurora │ └── component │ ├── AuroraBoxWithHighlights.kt │ ├── AuroraBreadcrumbBar.kt │ ├── AuroraCheckBox.kt │ ├── AuroraComboBox.kt │ ├── AuroraCommandButton.kt │ ├── AuroraCommandButtonPanel.kt │ ├── AuroraCommandButtonStrip.kt │ ├── AuroraIcon.kt │ ├── AuroraLabel.kt │ ├── AuroraProgress.kt │ ├── AuroraRadioButton.kt │ ├── AuroraRichTooltip.kt │ ├── AuroraScrollBar.kt │ ├── AuroraScrollableBox.kt │ ├── AuroraSeparator.kt │ ├── AuroraSlider.kt │ ├── AuroraSwitch.kt │ ├── AuroraTabButton.kt │ ├── AuroraTabs.kt │ ├── AuroraTextField.kt │ ├── AuroraTriStateCheckBox.kt │ ├── contextmenu │ └── AuroraContextMenu.kt │ ├── layout │ ├── CommandButtonLayoutManager.kt │ ├── CommandButtonLayoutManagerBig.kt │ ├── CommandButtonLayoutManagerMedium.kt │ ├── CommandButtonLayoutManagerSmall.kt │ └── CommandButtonLayoutManagerTile.kt │ ├── model │ ├── BreadcrumbBarModels.kt │ ├── ColorSelectorCommandButtonModels.kt │ ├── ComboBoxModels.kt │ ├── Command.kt │ ├── CommandButtonPresentationModel.kt │ ├── CommandPanelModels.kt │ ├── CommandPopupMenuPresentationModel.kt │ ├── CommandStripPresentationModel.kt │ ├── IconModels.kt │ ├── LabelModels.kt │ ├── Models.kt │ ├── ProgressModels.kt │ ├── RichTooltipModels.kt │ ├── SelectorModels.kt │ ├── SeparatorModels.kt │ ├── SliderModels.kt │ ├── TabModels.kt │ └── TextFieldModels.kt │ ├── popup │ ├── CascadingCommandMenuPopupContent.kt │ └── CommandMenuPopupContent.kt │ ├── projection │ └── Projections.kt │ ├── ribbon │ ├── Ribbon.kt │ ├── RibbonApplicationMenu.kt │ ├── RibbonBand.kt │ ├── RibbonMetaComponent.kt │ ├── RibbonTask.kt │ ├── RibbonTaskbar.kt │ ├── impl │ │ ├── BoundsTracker.kt │ │ ├── KeyTipTracker.kt │ │ ├── RibbonGallery.kt │ │ ├── RibbonLocals.kt │ │ └── RibbonTaskbarImpl.kt │ └── resize │ │ ├── RibbonBandResizePolicies.kt │ │ └── RibbonBandResizeSequencingPolicies.kt │ └── utils │ ├── ArrowIcon.kt │ ├── AuroraText.kt │ ├── AuroraThemedIcon.kt │ ├── ColorSchemeUtils.kt │ ├── DrawingCache.kt │ ├── LayoutUtils.kt │ ├── RichTooltipPopupContent.kt │ ├── State.kt │ ├── TitleLabel.kt │ ├── TransitionAwarePainter.kt │ ├── appmenu │ └── CommandButtonLayoutManagerAppMenuLevel2.kt │ └── popup │ ├── ColorSelectorCommandMenuPopupHandler.kt │ ├── GeneralCommandMenuPopupHandler.kt │ └── RibbonApplicationMenuPopupHandler.kt ├── demo ├── build.gradle.kts └── src │ └── desktopMain │ ├── kotlin │ └── org │ │ └── pushingpixels │ │ └── aurora │ │ └── demo │ │ ├── AuroraBreadcrumbBarDemo.kt │ │ ├── AuroraColorSelectorDemo.kt │ │ ├── AuroraColorsDemo.kt │ │ ├── AuroraCommandDemo.kt │ │ ├── AuroraCommandPanelDemo.kt │ │ ├── AuroraDemo.kt │ │ ├── AuroraIconDemo.kt │ │ ├── AuroraOrientationDemo.kt │ │ ├── AuroraProgressDemo.kt │ │ ├── AuroraScrollDemo.kt │ │ ├── AuroraSkeletonDemo.kt │ │ ├── AuroraStylesDemo.kt │ │ ├── AuroraSwingDemo.kt │ │ ├── AuroraTabsDemo.kt │ │ ├── AuroraTitlePaneButtonsDemo.kt │ │ ├── AuroraTitlePaneDemo.kt │ │ ├── AuroraUndecoratedPopup.kt │ │ ├── CustomCommand.kt │ │ ├── CustomComplexCommand.kt │ │ ├── DemoIcons.kt │ │ ├── HelloWorld.kt │ │ ├── LocaleSwitcher.kt │ │ ├── QuickStylesPanel.kt │ │ ├── SkinSwitcher.kt │ │ ├── bugs │ │ ├── UndecoratedWindow.kt │ │ ├── UndecoratedWindowResizing.kt │ │ └── WindowState.kt │ │ ├── button │ │ ├── ButtonActionFire.kt │ │ ├── ButtonContentAlignment.kt │ │ ├── ButtonGapScaling.kt │ │ └── ButtonToggleMenu.kt │ │ ├── ribbon │ │ ├── AuroraRibbonDemo.kt │ │ └── RibbonState.kt │ │ ├── states │ │ ├── ComponentStates.kt │ │ ├── ComponentStatesBasic.kt │ │ ├── ComponentStatesIcons.kt │ │ └── ComponentStatesOffice.kt │ │ ├── svg │ │ ├── filetypes │ │ │ ├── 7z.svg │ │ │ ├── apk.svg │ │ │ ├── app.svg │ │ │ ├── asp.svg │ │ │ ├── avi.svg │ │ │ ├── bat.svg │ │ │ ├── bmp.svg │ │ │ ├── c.svg │ │ │ ├── cgi.svg │ │ │ ├── class.svg │ │ │ ├── cmd.svg │ │ │ ├── config.svg │ │ │ ├── cpp.svg │ │ │ ├── cs.svg │ │ │ ├── csh.svg │ │ │ ├── css.svg │ │ │ ├── csv.svg │ │ │ ├── dll.svg │ │ │ ├── dmg.svg │ │ │ ├── doc.svg │ │ │ ├── docx.svg │ │ │ ├── epub.svg │ │ │ ├── exe.svg │ │ │ ├── ext_7z.kt │ │ │ ├── ext_apk.kt │ │ │ ├── ext_app.kt │ │ │ ├── ext_asp.kt │ │ │ ├── ext_avi.kt │ │ │ ├── ext_bat.kt │ │ │ ├── ext_bmp.kt │ │ │ ├── ext_c.kt │ │ │ ├── ext_cgi.kt │ │ │ ├── ext_class.kt │ │ │ ├── ext_cmd.kt │ │ │ ├── ext_config.kt │ │ │ ├── ext_cpp.kt │ │ │ ├── ext_cs.kt │ │ │ ├── ext_csh.kt │ │ │ ├── ext_css.kt │ │ │ ├── ext_csv.kt │ │ │ ├── ext_dll.kt │ │ │ ├── ext_dmg.kt │ │ │ ├── ext_doc.kt │ │ │ ├── ext_docx.kt │ │ │ ├── ext_epub.kt │ │ │ ├── ext_exe.kt │ │ │ ├── ext_gif.kt │ │ │ ├── ext_gitattributes.kt │ │ │ ├── ext_gitignore.kt │ │ │ ├── ext_go.kt │ │ │ ├── ext_gpg.kt │ │ │ ├── ext_gradle.kt │ │ │ ├── ext_h.kt │ │ │ ├── ext_htm.kt │ │ │ ├── ext_html.kt │ │ │ ├── ext_icns.kt │ │ │ ├── ext_ico.kt │ │ │ ├── ext_img.kt │ │ │ ├── ext_jar.kt │ │ │ ├── ext_java.kt │ │ │ ├── ext_jpeg.kt │ │ │ ├── ext_jpg.kt │ │ │ ├── ext_js.kt │ │ │ ├── ext_kt.kt │ │ │ ├── ext_kts.kt │ │ │ ├── ext_log.kt │ │ │ ├── ext_md.kt │ │ │ ├── ext_mk.kt │ │ │ ├── ext_mkv.kt │ │ │ ├── ext_mp3.kt │ │ │ ├── ext_mp4.kt │ │ │ ├── ext_otf.kt │ │ │ ├── ext_pdf.kt │ │ │ ├── ext_pgp.kt │ │ │ ├── ext_php.kt │ │ │ ├── ext_plist.kt │ │ │ ├── ext_png.kt │ │ │ ├── ext_pptm.kt │ │ │ ├── ext_pptx.kt │ │ │ ├── ext_psd.kt │ │ │ ├── ext_py.kt │ │ │ ├── ext_rar.kt │ │ │ ├── ext_raw.kt │ │ │ ├── ext_rtf.kt │ │ │ ├── ext_sh.kt │ │ │ ├── ext_svg.kt │ │ │ ├── ext_tar.kt │ │ │ ├── ext_tiff.kt │ │ │ ├── ext_tmp.kt │ │ │ ├── ext_ttf.kt │ │ │ ├── ext_txt.kt │ │ │ ├── ext_webp.kt │ │ │ ├── ext_woff.kt │ │ │ ├── ext_woff2.kt │ │ │ ├── ext_xls.kt │ │ │ ├── ext_xlsx.kt │ │ │ ├── ext_xml.kt │ │ │ ├── ext_zip.kt │ │ │ ├── gif.svg │ │ │ ├── gitattributes.svg │ │ │ ├── gitignore.svg │ │ │ ├── go.svg │ │ │ ├── gpg.svg │ │ │ ├── gradle.svg │ │ │ ├── h.svg │ │ │ ├── htm.svg │ │ │ ├── html.svg │ │ │ ├── icns.svg │ │ │ ├── ico.svg │ │ │ ├── img.svg │ │ │ ├── jar.svg │ │ │ ├── java.svg │ │ │ ├── jpeg.svg │ │ │ ├── jpg.svg │ │ │ ├── js.svg │ │ │ ├── kt.svg │ │ │ ├── kts.svg │ │ │ ├── log.svg │ │ │ ├── md.svg │ │ │ ├── mk.svg │ │ │ ├── mkv.svg │ │ │ ├── mp3.svg │ │ │ ├── mp4.svg │ │ │ ├── otf.svg │ │ │ ├── pdf.svg │ │ │ ├── pgp.svg │ │ │ ├── php.svg │ │ │ ├── plist.svg │ │ │ ├── png.svg │ │ │ ├── pptm.svg │ │ │ ├── pptx.svg │ │ │ ├── psd.svg │ │ │ ├── py.svg │ │ │ ├── rar.svg │ │ │ ├── raw.svg │ │ │ ├── rtf.svg │ │ │ ├── sh.svg │ │ │ ├── svg.svg │ │ │ ├── tar.svg │ │ │ ├── tiff.svg │ │ │ ├── tmp.svg │ │ │ ├── ttf.svg │ │ │ ├── txt.svg │ │ │ ├── webp.svg │ │ │ ├── woff.svg │ │ │ ├── woff2.svg │ │ │ ├── xls.svg │ │ │ ├── xlsx.svg │ │ │ ├── xml.svg │ │ │ └── zip.svg │ │ ├── flags │ │ │ ├── ar.kt │ │ │ ├── ar.svg │ │ │ ├── bg.kt │ │ │ ├── bg.svg │ │ │ ├── br.kt │ │ │ ├── br.svg │ │ │ ├── ca.kt │ │ │ ├── ca.svg │ │ │ ├── cl.kt │ │ │ ├── cl.svg │ │ │ ├── cn.kt │ │ │ ├── cn.svg │ │ │ ├── cz.kt │ │ │ ├── cz.svg │ │ │ ├── de.kt │ │ │ ├── de.svg │ │ │ ├── dk.kt │ │ │ ├── dk.svg │ │ │ ├── es.kt │ │ │ ├── es.svg │ │ │ ├── fi.kt │ │ │ ├── fi.svg │ │ │ ├── fr.kt │ │ │ ├── fr.svg │ │ │ ├── gb.kt │ │ │ ├── gb.svg │ │ │ ├── gr.kt │ │ │ ├── gr.svg │ │ │ ├── hk.kt │ │ │ ├── hk.svg │ │ │ ├── hu.kt │ │ │ ├── hu.svg │ │ │ ├── il.kt │ │ │ ├── il.svg │ │ │ ├── it.kt │ │ │ ├── it.svg │ │ │ ├── jp.kt │ │ │ ├── jp.svg │ │ │ ├── mx.kt │ │ │ ├── mx.svg │ │ │ ├── nl.kt │ │ │ ├── nl.svg │ │ │ ├── no.kt │ │ │ ├── no.svg │ │ │ ├── pl.kt │ │ │ ├── pl.svg │ │ │ ├── ro.kt │ │ │ ├── ro.svg │ │ │ ├── ru.kt │ │ │ ├── ru.svg │ │ │ ├── sa.kt │ │ │ ├── sa.svg │ │ │ ├── se.kt │ │ │ ├── se.svg │ │ │ ├── th.kt │ │ │ ├── th.svg │ │ │ ├── tr.kt │ │ │ ├── tr.svg │ │ │ ├── tw.kt │ │ │ ├── tw.svg │ │ │ ├── us.kt │ │ │ ├── us.svg │ │ │ ├── vn.kt │ │ │ └── vn.svg │ │ ├── material │ │ │ ├── accessibility_new-24px.svg │ │ │ ├── accessibility_new_24px.kt │ │ │ ├── account_box-24px.svg │ │ │ ├── account_box_24px.kt │ │ │ ├── add_black_24dp.kt │ │ │ ├── add_black_24dp.svg │ │ │ ├── add_circle_outline-24px.svg │ │ │ ├── add_circle_outline_24px.kt │ │ │ ├── alarm_black_24dp.kt │ │ │ ├── alarm_black_24dp.svg │ │ │ ├── apps-24px.svg │ │ │ ├── apps_24px.kt │ │ │ ├── archive_black_24dp.kt │ │ │ ├── archive_black_24dp.svg │ │ │ ├── backup-24px.svg │ │ │ ├── backup_24px.kt │ │ │ ├── battery_full-24px.svg │ │ │ ├── battery_full_24px.kt │ │ │ ├── brightness_medium-24px.svg │ │ │ ├── brightness_medium_24px.kt │ │ │ ├── chat_black_24dp.kt │ │ │ ├── chat_black_24dp.svg │ │ │ ├── close_black_24dp.kt │ │ │ ├── close_black_24dp.svg │ │ │ ├── content_copy_black_24dp.kt │ │ │ ├── content_copy_black_24dp.svg │ │ │ ├── content_cut_black_24dp.kt │ │ │ ├── content_cut_black_24dp.svg │ │ │ ├── content_paste_black_24dp.kt │ │ │ ├── content_paste_black_24dp.svg │ │ │ ├── delete_black_24dp.kt │ │ │ ├── delete_black_24dp.svg │ │ │ ├── devices_other-24px.svg │ │ │ ├── devices_other_24px.kt │ │ │ ├── drafts_black_24dp.kt │ │ │ ├── drafts_black_24dp.svg │ │ │ ├── folder_open_black_24dp.kt │ │ │ ├── folder_open_black_24dp.svg │ │ │ ├── format_bold_black_24dp.kt │ │ │ ├── format_bold_black_24dp.svg │ │ │ ├── format_italic_black_24dp.kt │ │ │ ├── format_italic_black_24dp.svg │ │ │ ├── format_strikethrough_black_24dp.kt │ │ │ ├── format_strikethrough_black_24dp.svg │ │ │ ├── format_underlined_black_24dp.kt │ │ │ ├── format_underlined_black_24dp.svg │ │ │ ├── forward_black_24dp.kt │ │ │ ├── forward_black_24dp.svg │ │ │ ├── fullscreen_black_24dp.kt │ │ │ ├── fullscreen_black_24dp.svg │ │ │ ├── help-24px.svg │ │ │ ├── help_24px.kt │ │ │ ├── help_outline_black_24dp.kt │ │ │ ├── help_outline_black_24dp.svg │ │ │ ├── history_black_24dp.kt │ │ │ ├── history_black_24dp.svg │ │ │ ├── inbox_black_24dp.kt │ │ │ ├── inbox_black_24dp.svg │ │ │ ├── info-24px.svg │ │ │ ├── info_24px.kt │ │ │ ├── keyboard_capslock-24px.svg │ │ │ ├── keyboard_capslock_24px.kt │ │ │ ├── location_on-24px.svg │ │ │ ├── location_on_24px.kt │ │ │ ├── lock_open-24px.svg │ │ │ ├── lock_open_24px.kt │ │ │ ├── mail_outline_black_24dp.kt │ │ │ ├── mail_outline_black_24dp.svg │ │ │ ├── markunread_black_24dp.kt │ │ │ ├── markunread_black_24dp.svg │ │ │ ├── menu_black_24dp.kt │ │ │ ├── menu_black_24dp.svg │ │ │ ├── mode_edit_black_24dp.kt │ │ │ ├── mode_edit_black_24dp.svg │ │ │ ├── more_horiz_black_24dp.kt │ │ │ ├── more_horiz_black_24dp.svg │ │ │ ├── perm_device_information-24px.svg │ │ │ ├── perm_device_information_24px.kt │ │ │ ├── person_black_24dp.kt │ │ │ ├── person_black_24dp.svg │ │ │ ├── person_outline_black_24dp.kt │ │ │ ├── person_outline_black_24dp.svg │ │ │ ├── refresh_black_24dp.kt │ │ │ ├── refresh_black_24dp.svg │ │ │ ├── remove_black_24dp.kt │ │ │ ├── remove_black_24dp.svg │ │ │ ├── remove_circle_outline-24px.svg │ │ │ ├── remove_circle_outline_24px.kt │ │ │ ├── reply_black_24dp.kt │ │ │ ├── reply_black_24dp.svg │ │ │ ├── select_all-24px.svg │ │ │ ├── select_all_24px.kt │ │ │ ├── send_black_24dp.kt │ │ │ ├── send_black_24dp.svg │ │ │ ├── star-black-48dp.svg │ │ │ ├── star_black_48dp.kt │ │ │ ├── star_border-black-48dp.svg │ │ │ ├── star_border_black_24dp.kt │ │ │ ├── star_border_black_24dp.svg │ │ │ ├── star_border_black_48dp.kt │ │ │ ├── star_half-black-48dp.svg │ │ │ ├── star_half_black_48dp.kt │ │ │ ├── storage-24px.svg │ │ │ ├── storage_24px.kt │ │ │ ├── view_list_black_24dp.kt │ │ │ ├── view_list_black_24dp.svg │ │ │ ├── visibility-24px.svg │ │ │ ├── visibility_24px.kt │ │ │ ├── volume_up-24px.svg │ │ │ ├── volume_up_24px.kt │ │ │ ├── watch_later_black_24dp.kt │ │ │ ├── watch_later_black_24dp.svg │ │ │ ├── waves-24px.svg │ │ │ ├── waves_24px.kt │ │ │ ├── wifi-24px.svg │ │ │ ├── wifi-white-18dp.svg │ │ │ ├── wifi-white-36dp.svg │ │ │ ├── wifi_24px.kt │ │ │ ├── wifi_white_18dp.kt │ │ │ └── wifi_white_36dp.kt │ │ ├── radiance_menu.kt │ │ ├── radiance_menu.svg │ │ ├── random │ │ │ ├── face-kiss.svg │ │ │ ├── face_kiss.kt │ │ │ ├── kirill.kt │ │ │ ├── kirill.svg │ │ │ ├── marker.kt │ │ │ ├── marker.svg │ │ │ ├── pattern.kt │ │ │ ├── pattern.svg │ │ │ ├── pattern2.kt │ │ │ ├── pattern2.svg │ │ │ ├── sample.kt │ │ │ ├── sample.svg │ │ │ ├── text.kt │ │ │ ├── text.svg │ │ │ ├── text2.kt │ │ │ ├── text2.svg │ │ │ ├── text3.kt │ │ │ └── text3.svg │ │ ├── tango │ │ │ ├── accessories-text-editor.svg │ │ │ ├── accessories_text_editor.kt │ │ │ ├── address-book-new.svg │ │ │ ├── address_book_new.kt │ │ │ ├── applications-games.svg │ │ │ ├── applications-graphics.svg │ │ │ ├── applications-internet.svg │ │ │ ├── applications-multimedia.svg │ │ │ ├── applications-office.svg │ │ │ ├── applications_games.kt │ │ │ ├── applications_graphics.kt │ │ │ ├── applications_internet.kt │ │ │ ├── applications_multimedia.kt │ │ │ ├── applications_office.kt │ │ │ ├── appointment-new.svg │ │ │ ├── appointment_new.kt │ │ │ ├── bookmark-new.svg │ │ │ ├── bookmark_new.kt │ │ │ ├── computer.kt │ │ │ ├── computer.svg │ │ │ ├── contact-new.svg │ │ │ ├── contact_new.kt │ │ │ ├── dialog-error.svg │ │ │ ├── dialog-information.svg │ │ │ ├── dialog-warning.svg │ │ │ ├── dialog_error.kt │ │ │ ├── dialog_information.kt │ │ │ ├── dialog_warning.kt │ │ │ ├── document-new.svg │ │ │ ├── document-open.svg │ │ │ ├── document-print-preview.svg │ │ │ ├── document-print.svg │ │ │ ├── document-properties.svg │ │ │ ├── document-save-as.svg │ │ │ ├── document-save.svg │ │ │ ├── document_new.kt │ │ │ ├── document_open.kt │ │ │ ├── document_print.kt │ │ │ ├── document_print_preview.kt │ │ │ ├── document_properties.kt │ │ │ ├── document_save.kt │ │ │ ├── document_save_as.kt │ │ │ ├── drive-harddisk.svg │ │ │ ├── drive_harddisk.kt │ │ │ ├── edit-clear.svg │ │ │ ├── edit-copy.svg │ │ │ ├── edit-cut.svg │ │ │ ├── edit-delete.svg │ │ │ ├── edit-find-replace.svg │ │ │ ├── edit-find.svg │ │ │ ├── edit-paste.svg │ │ │ ├── edit-select-all.svg │ │ │ ├── edit_clear.kt │ │ │ ├── edit_copy.kt │ │ │ ├── edit_cut.kt │ │ │ ├── edit_delete.kt │ │ │ ├── edit_find.kt │ │ │ ├── edit_find_replace.kt │ │ │ ├── edit_paste.kt │ │ │ ├── edit_select_all.kt │ │ │ ├── emblem-system.svg │ │ │ ├── emblem_system.kt │ │ │ ├── folder-new.svg │ │ │ ├── folder-remote.svg │ │ │ ├── folder-saved-search.svg │ │ │ ├── folder.kt │ │ │ ├── folder.svg │ │ │ ├── folder_new.kt │ │ │ ├── folder_remote.kt │ │ │ ├── folder_saved_search.kt │ │ │ ├── font-x-generic.svg │ │ │ ├── font_x_generic.kt │ │ │ ├── format-indent-less.svg │ │ │ ├── format-indent-more.svg │ │ │ ├── format-justify-center.svg │ │ │ ├── format-justify-fill.svg │ │ │ ├── format-justify-left.svg │ │ │ ├── format-justify-right.svg │ │ │ ├── format-text-bold.svg │ │ │ ├── format-text-italic.svg │ │ │ ├── format-text-strikethrough.svg │ │ │ ├── format-text-underline.svg │ │ │ ├── format_indent_less.kt │ │ │ ├── format_indent_more.kt │ │ │ ├── format_justify_center.kt │ │ │ ├── format_justify_fill.kt │ │ │ ├── format_justify_left.kt │ │ │ ├── format_justify_right.kt │ │ │ ├── format_text_bold.kt │ │ │ ├── format_text_italic.kt │ │ │ ├── format_text_strikethrough.kt │ │ │ ├── format_text_underline.kt │ │ │ ├── go-down.svg │ │ │ ├── go-next.svg │ │ │ ├── go-top.svg │ │ │ ├── go-up.svg │ │ │ ├── go_down.kt │ │ │ ├── go_next.kt │ │ │ ├── go_top.kt │ │ │ ├── go_up.kt │ │ │ ├── help-browser.svg │ │ │ ├── help_browser.kt │ │ │ ├── image-x-generic.svg │ │ │ ├── image_x_generic.kt │ │ │ ├── internet-group-chat.svg │ │ │ ├── internet-mail.svg │ │ │ ├── internet_group_chat.kt │ │ │ ├── internet_mail.kt │ │ │ ├── list-add.svg │ │ │ ├── list_add.kt │ │ │ ├── locked.kt │ │ │ ├── locked.svg │ │ │ ├── mail-forward.svg │ │ │ ├── mail-message-new.svg │ │ │ ├── mail_forward.kt │ │ │ ├── mail_message_new.kt │ │ │ ├── media-floppy.svg │ │ │ ├── media_floppy.kt │ │ │ ├── network-wireless.svg │ │ │ ├── network_wireless.kt │ │ │ ├── office-calendar-modified.svg │ │ │ ├── office_calendar_modified.kt │ │ │ ├── preferences-desktop-accessibility.svg │ │ │ ├── preferences-desktop-assistive-technology.svg │ │ │ ├── preferences-desktop-font.svg │ │ │ ├── preferences-desktop-keyboard-shortcuts.svg │ │ │ ├── preferences-desktop-locale.svg │ │ │ ├── preferences-desktop-screensaver.svg │ │ │ ├── preferences-desktop-theme.svg │ │ │ ├── preferences_desktop_accessibility.kt │ │ │ ├── preferences_desktop_assistive_technology.kt │ │ │ ├── preferences_desktop_font.kt │ │ │ ├── preferences_desktop_keyboard_shortcuts.kt │ │ │ ├── preferences_desktop_locale.kt │ │ │ ├── preferences_desktop_screensaver.kt │ │ │ ├── preferences_desktop_theme.kt │ │ │ ├── printer.kt │ │ │ ├── printer.svg │ │ │ ├── process-stop.svg │ │ │ ├── process_stop.kt │ │ │ ├── system-log-out.svg │ │ │ ├── system-search.svg │ │ │ ├── system_log_out.kt │ │ │ ├── system_search.kt │ │ │ ├── text-x-generic.svg │ │ │ ├── text_x_generic.kt │ │ │ ├── user-home.svg │ │ │ ├── user_home.kt │ │ │ ├── view-fullscreen.svg │ │ │ ├── view-refresh.svg │ │ │ ├── view-zoom-in.svg │ │ │ ├── view-zoom-out.svg │ │ │ ├── view_fullscreen.kt │ │ │ ├── view_refresh.kt │ │ │ ├── view_zoom_in.kt │ │ │ ├── view_zoom_out.kt │ │ │ ├── x-office-document-template.svg │ │ │ ├── x-office-document.svg │ │ │ ├── x-office-drawing.svg │ │ │ ├── x_office_document.kt │ │ │ ├── x_office_document_template.kt │ │ │ └── x_office_drawing.kt │ │ └── vaadin │ │ │ ├── align-left.svg │ │ │ ├── align_left.kt │ │ │ ├── bar-chart.svg │ │ │ ├── bar_chart.kt │ │ │ ├── browser.kt │ │ │ ├── browser.svg │ │ │ ├── bullseye.kt │ │ │ ├── bullseye.svg │ │ │ ├── button.kt │ │ │ ├── button.svg │ │ │ ├── check-square-o.svg │ │ │ ├── check_square_o.kt │ │ │ ├── cog.kt │ │ │ ├── cog.svg │ │ │ ├── combobox.kt │ │ │ ├── combobox.svg │ │ │ ├── dot-circle.svg │ │ │ ├── dot_circle.kt │ │ │ ├── file-tree.svg │ │ │ ├── file_tree.kt │ │ │ ├── folder-open.svg │ │ │ ├── folder_open.kt │ │ │ ├── form.kt │ │ │ ├── form.svg │ │ │ ├── globe-wire.svg │ │ │ ├── globe.kt │ │ │ ├── globe.svg │ │ │ ├── globe_wire.kt │ │ │ ├── grid-big-o.svg │ │ │ ├── grid-h.svg │ │ │ ├── grid-small.svg │ │ │ ├── grid_big_o.kt │ │ │ ├── grid_h.kt │ │ │ ├── grid_small.kt │ │ │ ├── layout.kt │ │ │ ├── layout.svg │ │ │ ├── lines.kt │ │ │ ├── lines.svg │ │ │ ├── menu.kt │ │ │ ├── menu.svg │ │ │ ├── modal-list.svg │ │ │ ├── modal_list.kt │ │ │ ├── plus.kt │ │ │ ├── plus.svg │ │ │ ├── progressbar.kt │ │ │ ├── progressbar.svg │ │ │ ├── slider.kt │ │ │ ├── slider.svg │ │ │ ├── spinner.kt │ │ │ ├── spinner.svg │ │ │ ├── split-h.svg │ │ │ ├── split_h.kt │ │ │ ├── square-shadow.svg │ │ │ ├── square_shadow.kt │ │ │ ├── table.kt │ │ │ ├── table.svg │ │ │ ├── tabs.kt │ │ │ ├── tabs.svg │ │ │ ├── text-input.svg │ │ │ ├── text-label.svg │ │ │ ├── text_input.kt │ │ │ ├── text_label.kt │ │ │ ├── user-card.svg │ │ │ ├── user_card.kt │ │ │ ├── viewport.kt │ │ │ └── viewport.svg │ │ ├── textstyle │ │ ├── ParagraphStyleDemo.kt │ │ └── SpanStyleDemo.kt │ │ ├── titlepane │ │ ├── ChatFrame.kt │ │ └── mail │ │ │ ├── DestinationsPanel.kt │ │ │ ├── ThreadListPanel.kt │ │ │ ├── ThreadPanel.kt │ │ │ ├── VisorMail.kt │ │ │ └── VisorSkin.kt │ │ └── util │ │ └── DiscreteIntervals.kt │ └── resources │ ├── FileIconVectors.license │ ├── FlagIconCss.license │ ├── MaterialIcons.license │ ├── TangoIcons.license │ ├── VaadinIcons.license │ └── org │ └── pushingpixels │ └── aurora │ └── demo │ ├── Resources.properties │ ├── Resources_iw.properties │ ├── appmenubutton-tooltip-main.png │ ├── office2007.colorschemes │ └── visor.colorschemes ├── docs ├── building.md ├── component │ ├── AnotherSample.md │ ├── BoxWithHighlights.md │ ├── BreadcrumbBar.md │ ├── Command.md │ ├── CommandButtonPresentation.md │ ├── CommandPanel.md │ ├── CommandPopupMenu.md │ ├── CommandProjections.md │ ├── CommandStrip.md │ ├── ComponentProjections.md │ ├── ContextMenu.md │ ├── CustomCommandProjections.md │ ├── Intro.md │ ├── ModelProjectionOverview.md │ ├── Modifiers.md │ ├── MoreCommands.md │ └── Sample.md ├── images │ ├── component │ │ └── walkthrough │ │ │ ├── borders.png │ │ │ ├── box-with-highlights.png │ │ │ ├── breadcrumb-bar.png │ │ │ ├── combo-dropdown.png │ │ │ ├── command-basics.png │ │ │ ├── command-button-gap-scaling.png │ │ │ ├── command-button-halignment.png │ │ │ ├── command-button-panels.png │ │ │ ├── command-content-menu-backgrounds.png │ │ │ ├── command-context-menu.png │ │ │ ├── command-custom-popup-simple.png │ │ │ ├── command-popup-dismiss.png │ │ │ ├── command-popups.png │ │ │ ├── command-secondary-complex.png │ │ │ ├── command-secondary-scrollable.png │ │ │ ├── command-secondary-simple.png │ │ │ ├── command-title-action.png │ │ │ ├── command-title-popup.png │ │ │ ├── command-tooltips.png │ │ │ ├── intro-text-alignment-changed.png │ │ │ ├── intro-text-alignment.png │ │ │ ├── intro-text-styling-bold-italic.png │ │ │ ├── intro-text-styling-bold.png │ │ │ ├── intro-text-styling-italic.png │ │ │ └── intro-text-styling.png │ ├── helloworld.png │ ├── logo │ │ ├── auroraicon-1024.png │ │ ├── auroraicon-128.png │ │ ├── auroraicon-256.png │ │ ├── auroraicon-512.png │ │ └── auroraicon-64.png │ ├── theming │ │ ├── color-scheme-association-kinds.png │ │ ├── colorschemes │ │ │ ├── aqua.png │ │ │ ├── barbypink.png │ │ │ ├── bottlegreen.png │ │ │ ├── brown.png │ │ │ ├── charcoal.png │ │ │ ├── creme.png │ │ │ ├── darkviolet.png │ │ │ ├── deriveddesaturate.png │ │ │ ├── derivedhueshift.png │ │ │ ├── derivedinvert.png │ │ │ ├── derivednegate.png │ │ │ ├── derivedsaturate.png │ │ │ ├── derivedshade.png │ │ │ ├── derivedshift.png │ │ │ ├── derivedtint.png │ │ │ ├── derivedtone.png │ │ │ ├── desertsand.png │ │ │ ├── ebony.png │ │ │ ├── jadeforest.png │ │ │ ├── lightaqua.png │ │ │ ├── limegreen.png │ │ │ ├── olive.png │ │ │ ├── orange.png │ │ │ ├── purple.png │ │ │ ├── raspberry.png │ │ │ ├── sepia.png │ │ │ ├── steelblue.png │ │ │ ├── sunglare.png │ │ │ ├── sunset.png │ │ │ ├── terracotta.png │ │ │ └── ultramarine.png │ │ ├── painters │ │ │ ├── decoration │ │ │ │ ├── areas-control-pane.png │ │ │ │ ├── areas-footer.png │ │ │ │ ├── areas-header.png │ │ │ │ ├── areas-title.png │ │ │ │ ├── areas-toolbar.png │ │ │ │ └── full.png │ │ │ ├── highlight │ │ │ │ └── highlights.png │ │ │ └── overlay │ │ │ │ ├── gemini.png │ │ │ │ ├── nebulabrickwall.png │ │ │ │ └── twilight.png │ │ ├── skins │ │ │ ├── autumn-filtered.png │ │ │ ├── autumn.png │ │ │ ├── business-filtered.png │ │ │ ├── business.png │ │ │ ├── businessblacksteel-filtered.png │ │ │ ├── businessblacksteel.png │ │ │ ├── businessbluesteel-filtered.png │ │ │ ├── businessbluesteel.png │ │ │ ├── cerulean-filtered.png │ │ │ ├── cerulean.png │ │ │ ├── creme-filtered.png │ │ │ ├── creme.png │ │ │ ├── cremecoffee-filtered.png │ │ │ ├── cremecoffee.png │ │ │ ├── dust-filtered.png │ │ │ ├── dust.png │ │ │ ├── dustcoffee-filtered.png │ │ │ ├── dustcoffee.png │ │ │ ├── gemini-filtered.png │ │ │ ├── gemini.png │ │ │ ├── graphite-filtered.png │ │ │ ├── graphite.png │ │ │ ├── graphiteaqua-filtered.png │ │ │ ├── graphiteaqua.png │ │ │ ├── graphitechalk-filtered.png │ │ │ ├── graphitechalk.png │ │ │ ├── graphiteelectric-filtered.png │ │ │ ├── graphiteelectric.png │ │ │ ├── graphiteglass-filtered.png │ │ │ ├── graphiteglass.png │ │ │ ├── graphitegold-filtered.png │ │ │ ├── graphitegold.png │ │ │ ├── graphitesienna-filtered.png │ │ │ ├── graphitesienna.png │ │ │ ├── graphitesunset-filtered.png │ │ │ ├── graphitesunset.png │ │ │ ├── greenmagic-filtered.png │ │ │ ├── greenmagic.png │ │ │ ├── magellan-filtered.png │ │ │ ├── magellan.png │ │ │ ├── mariner-filtered.png │ │ │ ├── mariner.png │ │ │ ├── mistaqua-filtered.png │ │ │ ├── mistaqua.png │ │ │ ├── mistsilver-filtered.png │ │ │ ├── mistsilver.png │ │ │ ├── moderate-filtered.png │ │ │ ├── moderate.png │ │ │ ├── nebula-filtered.png │ │ │ ├── nebula.png │ │ │ ├── nebulaamethyst-filtered.png │ │ │ ├── nebulaamethyst.png │ │ │ ├── nebulabrickwall-filtered.png │ │ │ ├── nebulabrickwall.png │ │ │ ├── nightshade-filtered.png │ │ │ ├── nightshade.png │ │ │ ├── raven-filtered.png │ │ │ ├── raven.png │ │ │ ├── sahara-filtered.png │ │ │ ├── sahara.png │ │ │ ├── sentinel-filtered.png │ │ │ ├── sentinel.png │ │ │ ├── twilight-filtered.png │ │ │ └── twilight.png │ │ ├── states │ │ │ ├── component-states-basic.png │ │ │ ├── component-states-custom.png │ │ │ ├── component-states-extended.png │ │ │ ├── component-states-icons.png │ │ │ └── component-states-mixed.png │ │ └── titlepane │ │ │ ├── titlepane-auroraintegrated1.png │ │ │ ├── titlepane-auroraintegrated2.png │ │ │ ├── titlepane-auroraplain.png │ │ │ ├── titlepane-button-icons.png │ │ │ ├── titlepane-layout-default.png │ │ │ ├── titlepane-layout-gnome.png │ │ │ ├── titlepane-layout-kde.png │ │ │ ├── titlepane-layout-macos.png │ │ │ ├── titlepane-layout-windows.png │ │ │ ├── titlepane-none.png │ │ │ └── titlepane-system.png │ └── window │ │ ├── locale-switcher.png │ │ ├── menubar.png │ │ └── skin-switcher.png ├── theming │ ├── painters │ │ ├── border.md │ │ ├── decoration.md │ │ ├── fill.md │ │ ├── highlight.md │ │ ├── overlay.md │ │ └── overview.md │ ├── skins │ │ ├── colorschemeassociationkinds.md │ │ ├── colorschemebundles.md │ │ ├── colorschemes-fileformat.md │ │ ├── colorschemes.md │ │ ├── componentstates.md │ │ ├── dark.md │ │ ├── overview.md │ │ └── toneddown.md │ └── themed-states.md ├── tools │ └── svg-transcoder │ │ ├── internals.md │ │ ├── svg-transcoder-gradle-plugin.md │ │ └── svg-transcoder.md └── window │ ├── Application.md │ ├── HelloWorld.md │ ├── RadianceInterop.md │ ├── TitlePane.md │ └── Window.md ├── gradle.properties ├── gradle ├── libs.versions.toml └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── scripts ├── convert-svg.sh ├── java11.bat └── screenshot │ ├── doc-robot-schemes.sh │ ├── doc-robot-skins-icons.sh │ └── doc-robot-skins.sh ├── settings.gradle.kts ├── theming ├── build.gradle.kts ├── gradle.properties └── src │ ├── commonMain │ └── kotlin │ │ └── org │ │ └── pushingpixels │ │ └── aurora │ │ └── theming │ │ ├── AuroraSlices.kt │ │ ├── AuroraTrait.kt │ │ ├── colorscheme │ │ ├── AuroraColorScheme.kt │ │ ├── AuroraColorSchemeBundle.kt │ │ ├── AuroraColorSchemes.kt │ │ ├── BaseColorScheme.kt │ │ ├── BlendBiColorScheme.kt │ │ ├── DerivedColorsResolverDark.kt │ │ ├── DerivedColorsResolverLight.kt │ │ ├── HueShiftColorScheme.kt │ │ ├── InvertedColorScheme.kt │ │ ├── NegatedColorScheme.kt │ │ ├── SaturatedColorScheme.kt │ │ ├── SchemeBaseColors.kt │ │ ├── SchemeDerivedColors.kt │ │ └── ShiftColorSchemes.kt │ │ ├── painter │ │ ├── FractionBasedPainter.kt │ │ ├── border │ │ │ ├── AuroraBorderPainter.kt │ │ │ ├── ClassicBorderPainter.kt │ │ │ ├── CompositeBorderPainter.kt │ │ │ ├── DelegateFractionBasedBorderPainter.kt │ │ │ ├── FlatBorderPainter.kt │ │ │ ├── FractionBasedBorderPainter.kt │ │ │ ├── GlassBorderPainter.kt │ │ │ └── StandardBorderPainter.kt │ │ ├── decoration │ │ │ ├── ArcDecorationPainter.kt │ │ │ ├── AuroraDecorationPainter.kt │ │ │ ├── FlatDecorationPainter.kt │ │ │ └── MatteDecorationPainter.kt │ │ ├── fill │ │ │ ├── AuroraFillPainter.kt │ │ │ ├── ClassicFillPainter.kt │ │ │ ├── FractionBasedFillPainter.kt │ │ │ ├── GlassFillPainter.kt │ │ │ ├── MatteFillPainter.kt │ │ │ ├── StandardFillPainter.kt │ │ │ └── SubduedFillPainter.kt │ │ └── overlay │ │ │ ├── AuroraOverlayPainter.kt │ │ │ ├── BottomLineOverlayPainter.kt │ │ │ ├── BottomShadowOverlayPainter.kt │ │ │ ├── TopBezelOverlayPainter.kt │ │ │ ├── TopLineOverlayPainter.kt │ │ │ └── TopShadowOverlayPainter.kt │ │ ├── shaper │ │ ├── AuroraButtonShaper.kt │ │ ├── ClassicButtonShaper.kt │ │ ├── PillButtonShaper.kt │ │ └── RectangularButtonShaper.kt │ │ └── utils │ │ └── OutlineUtils.kt │ └── desktopMain │ ├── kotlin │ └── org │ │ └── pushingpixels │ │ └── aurora │ │ └── theming │ │ ├── AuroraBackground.kt │ │ ├── AuroraBorder.kt │ │ ├── AuroraLocals.kt │ │ ├── AuroraPainters.kt │ │ ├── AuroraSkin.kt │ │ ├── AuroraSkins.kt │ │ ├── AutumnSkin.kt │ │ ├── BusinessSkins.kt │ │ ├── CeruleanSkin.kt │ │ ├── CremeSkins.kt │ │ ├── DustSkins.kt │ │ ├── GeminiSkin.kt │ │ ├── GraphiteSkins.kt │ │ ├── GreenMagicSkin.kt │ │ ├── MagellanSkin.kt │ │ ├── MarinerSkin.kt │ │ ├── MistSkins.kt │ │ ├── ModerateSkin.kt │ │ ├── NebulaSkins.kt │ │ ├── NightShadeSkin.kt │ │ ├── RavenSkin.kt │ │ ├── SaharaSkin.kt │ │ ├── SentinelSkin.kt │ │ ├── TwilightSkin.kt │ │ ├── decoration │ │ └── AuroraDecorationArea.kt │ │ ├── painter │ │ ├── decoration │ │ │ ├── BrushedMetalDecorationPainter.kt │ │ │ ├── MarbleNoiseDecorationPainter.kt │ │ │ └── ShaderWrapperDecorationPainter.kt │ │ └── fill │ │ │ ├── ShaderWrapperFillPainter.kt │ │ │ └── SpecularRectangularFillPainter.kt │ │ └── utils │ │ ├── ColorSchemeFilter.kt │ │ ├── ColorSchemeUtils.kt │ │ └── TextureGenerator.kt │ └── resources │ └── org │ └── pushingpixels │ └── aurora │ └── theming │ ├── autumn.colorschemes │ ├── business.colorschemes │ ├── cerulean.colorschemes │ ├── dust.colorschemes │ ├── gemini.colorschemes │ ├── graphite.colorschemes │ ├── greenmagic.colorschemes │ ├── kitchen-sink.colorschemes │ ├── magellan.colorschemes │ ├── mariner.colorschemes │ ├── mist.colorschemes │ ├── nebula.colorschemes │ ├── nightshade.colorschemes │ ├── sentinel.colorschemes │ └── twilight.colorschemes ├── tools ├── screenshot │ ├── build.gradle.kts │ ├── gradle.properties │ └── src │ │ └── desktopMain │ │ ├── kotlin │ │ └── org │ │ │ └── pushingpixels │ │ │ └── aurora │ │ │ └── tools │ │ │ └── screenshot │ │ │ ├── ScreenshotContent.kt │ │ │ ├── ScreenshotDriver.kt │ │ │ ├── svg │ │ │ ├── radiance_menu.kt │ │ │ ├── radiance_menu.svg │ │ │ └── tango │ │ │ │ ├── edit-copy.svg │ │ │ │ ├── edit-cut.svg │ │ │ │ ├── edit-delete.svg │ │ │ │ ├── edit-paste.svg │ │ │ │ ├── edit-select-all.svg │ │ │ │ ├── edit_copy.kt │ │ │ │ ├── edit_cut.kt │ │ │ │ ├── edit_delete.kt │ │ │ │ ├── edit_paste.kt │ │ │ │ ├── edit_select_all.kt │ │ │ │ ├── format-justify-center.svg │ │ │ │ ├── format-justify-fill.svg │ │ │ │ ├── format-justify-left.svg │ │ │ │ ├── format-justify-right.svg │ │ │ │ ├── format-text-bold.svg │ │ │ │ ├── format-text-italic.svg │ │ │ │ ├── format-text-strikethrough.svg │ │ │ │ ├── format-text-underline.svg │ │ │ │ ├── format_justify_center.kt │ │ │ │ ├── format_justify_fill.kt │ │ │ │ ├── format_justify_left.kt │ │ │ │ ├── format_justify_right.kt │ │ │ │ ├── format_text_bold.kt │ │ │ │ ├── format_text_italic.kt │ │ │ │ ├── format_text_strikethrough.kt │ │ │ │ └── format_text_underline.kt │ │ │ └── theming │ │ │ ├── schemes │ │ │ ├── AuroraColorSchemesDriver.kt │ │ │ ├── RobotDefaultDarkSkin.kt │ │ │ └── RobotDefaultSkin.kt │ │ │ └── skins │ │ │ ├── AuroraSkinsDriver.kt │ │ │ └── AuroraSkinsIconFilterDriver.kt │ │ └── resources │ │ └── TangoIcons.license ├── svg-transcoder-gradle-plugin │ ├── build.gradle.kts │ ├── gradle.properties │ └── src │ │ └── main │ │ └── kotlin │ │ └── org │ │ └── pushingpixels │ │ └── aurora │ │ └── tools │ │ └── svgtranscoder │ │ └── gradle │ │ ├── AuroraSvgTranscoderGradlePlugin.kt │ │ ├── TranscodeBaseTask.kt │ │ ├── TranscodeDeepTask.kt │ │ └── TranscodeTask.kt └── svg-transcoder │ ├── build.gradle.kts │ ├── gradle.properties │ └── src │ └── desktopMain │ ├── kotlin │ └── org │ │ └── pushingpixels │ │ └── aurora │ │ └── tools │ │ └── svgtranscoder │ │ ├── SvgBaseTranscoder.kt │ │ ├── SvgBatchBaseConverter.kt │ │ ├── SvgBatchConverter.kt │ │ ├── SvgDeepBatchConverter.kt │ │ ├── SvgTranscoder.kt │ │ ├── TranscoderListener.kt │ │ └── utils │ │ ├── McCrashyGraphics2D.kt │ │ ├── McStableGraphics2D.kt │ │ └── RasterScanner.kt │ └── resources │ └── org │ └── pushingpixels │ └── aurora │ └── tools │ └── svgtranscoder │ └── AuroraSvgTranscoderTemplate.templ ├── versions.md └── window ├── build.gradle.kts ├── gradle.properties └── src └── desktopMain └── kotlin └── org └── pushingpixels └── aurora └── window ├── AuroraRibbonWindow.kt ├── AuroraWindow.kt ├── AuroraWindowMenuBar.kt ├── WindowAWTHandler.kt ├── WindowTitlePaneIcons.kt └── ribbon ├── RibbonBandCollapsedHandler.kt ├── RibbonBands.kt ├── RibbonPrimaryBar.kt ├── RibbonTaskCollapsedHandler.kt └── RibbonTaskToggleButton.kt /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled class file 2 | *.class 3 | .DS_Store 4 | 5 | .gradle/ 6 | .kotlin/ 7 | .idea/ 8 | .settings/ 9 | build/ 10 | out/ 11 | bin/ 12 | drop/ 13 | -------------------------------------------------------------------------------- /common/build.gradle.kts: -------------------------------------------------------------------------------- 1 | import org.jetbrains.compose.compose 2 | 3 | plugins { 4 | kotlin("multiplatform") 5 | alias(libs.plugins.jetbrainsCompose) 6 | alias(libs.plugins.compose.compiler) 7 | id("com.vanniktech.maven.publish") 8 | id("org.jetbrains.dokka") 9 | `maven-publish` 10 | } 11 | 12 | kotlin { 13 | jvm("desktop") 14 | sourceSets { 15 | named("commonMain") { 16 | dependencies { 17 | api(compose.runtime) 18 | api(compose.foundation) 19 | } 20 | } 21 | named("desktopMain") { 22 | dependencies { 23 | api(compose.desktop.common) 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /common/gradle.properties: -------------------------------------------------------------------------------- 1 | POM_ARTIFACT_ID=aurora-common 2 | POM_NAME=Aurora Common Layer 3 | POM_PACKAGING=jar 4 | 5 | -------------------------------------------------------------------------------- /common/src/commonMain/kotlin/org/pushingpixels/aurora/common/AuroraInternalApi.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.common 17 | 18 | @RequiresOptIn("This API is only for internal Aurora usage and can be removed at any point.") 19 | annotation class AuroraInternalApi 20 | -------------------------------------------------------------------------------- /common/src/commonMain/kotlin/org/pushingpixels/aurora/common/HashMapKey.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.common 17 | 18 | @AuroraInternalApi 19 | class HashMapKey(vararg val keyFields: Any) { 20 | override fun hashCode(): Int { 21 | return keyFields.contentDeepHashCode() 22 | } 23 | 24 | override fun equals(other: Any?): Boolean { 25 | if (other !is HashMapKey) { 26 | return false 27 | } 28 | return keyFields.contentDeepEquals(other.keyFields) 29 | } 30 | } -------------------------------------------------------------------------------- /common/src/desktopMain/kotlin/org/pushingpixels/aurora/common/Platform.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.common 17 | 18 | @AuroraInternalApi 19 | enum class Platform { 20 | MacOS, Gnome, KDE, Windows, Unknown; 21 | 22 | companion object { 23 | val Current: Platform by lazy { 24 | val name = System.getProperty("os.name") 25 | if (name?.startsWith("Windows") == true) { 26 | return@lazy Windows 27 | } 28 | if (name?.startsWith("Mac") == true) { 29 | return@lazy MacOS 30 | } 31 | if ("true".equals(System.getenv("KDE_FULL_SESSION"))) { 32 | return@lazy KDE 33 | } 34 | if ("gnome".equals(System.getProperty("sun.desktop"))) { 35 | return@lazy Gnome 36 | } 37 | return@lazy Unknown 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /component/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | kotlin("multiplatform") 3 | alias(libs.plugins.jetbrainsCompose) 4 | alias(libs.plugins.compose.compiler) 5 | id("com.vanniktech.maven.publish") 6 | id("org.jetbrains.dokka") 7 | `maven-publish` 8 | } 9 | 10 | kotlin { 11 | jvm("desktop") 12 | sourceSets { 13 | named("commonMain") { 14 | dependencies { 15 | api(compose.runtime) 16 | api(compose.foundation) 17 | implementation(project(":common")) 18 | implementation(project(":theming")) 19 | } 20 | } 21 | named("desktopMain") { 22 | dependencies { 23 | api(compose.desktop.common) 24 | implementation(project(":common")) 25 | implementation(project(":theming")) 26 | } 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /component/gradle.properties: -------------------------------------------------------------------------------- 1 | POM_ARTIFACT_ID=aurora-component 2 | POM_NAME=Aurora Components 3 | POM_PACKAGING=jar 4 | 5 | -------------------------------------------------------------------------------- /component/src/desktopMain/kotlin/org/pushingpixels/aurora/component/model/IconModels.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.component.model 17 | 18 | import androidx.compose.ui.graphics.ColorFilter 19 | import androidx.compose.ui.graphics.painter.Painter 20 | import androidx.compose.ui.unit.DpSize 21 | import androidx.compose.ui.unit.dp 22 | import org.pushingpixels.aurora.theming.IconFilterStrategy 23 | import org.pushingpixels.aurora.theming.colorscheme.AuroraColorSchemeBundle 24 | 25 | data class IconContentModel( 26 | val icon: Painter, 27 | val enabled: Boolean = true 28 | ) : ContentModel 29 | 30 | object IconSizingConstants { 31 | val DefaultIconSize = DpSize(16.dp, 16.dp) 32 | } 33 | 34 | data class IconPresentationModel( 35 | val iconDimension: DpSize = IconSizingConstants.DefaultIconSize, 36 | val iconColorFilter: ColorFilter? = null, 37 | val colorSchemeBundle: AuroraColorSchemeBundle? = null, 38 | val iconDisabledFilterStrategy: IconFilterStrategy = IconFilterStrategy.ThemedFollowColorScheme, 39 | val iconEnabledFilterStrategy: IconFilterStrategy = IconFilterStrategy.Original, 40 | val inheritStateFromParent: Boolean = false, 41 | ) : PresentationModel 42 | -------------------------------------------------------------------------------- /component/src/desktopMain/kotlin/org/pushingpixels/aurora/component/model/Models.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.component.model 17 | 18 | interface ContentModel 19 | interface PresentationModel 20 | -------------------------------------------------------------------------------- /component/src/desktopMain/kotlin/org/pushingpixels/aurora/component/model/SeparatorModels.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.component.model 17 | 18 | import androidx.compose.ui.unit.Dp 19 | import androidx.compose.ui.unit.dp 20 | 21 | data class SeparatorContentModel( 22 | val enabled: Boolean = true 23 | ): ContentModel 24 | 25 | object SeparatorSizingConstants { 26 | val Thickness = 2.dp 27 | val DefaultGradientAmount = 2.dp 28 | } 29 | 30 | data class SeparatorPresentationModel( 31 | val startGradientAmount: Dp = SeparatorSizingConstants.DefaultGradientAmount, 32 | val endGradientAmount: Dp = SeparatorSizingConstants.DefaultGradientAmount 33 | ): PresentationModel 34 | -------------------------------------------------------------------------------- /component/src/desktopMain/kotlin/org/pushingpixels/aurora/component/model/SliderModels.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.component.model 17 | 18 | import androidx.compose.foundation.layout.PaddingValues 19 | import androidx.compose.ui.unit.dp 20 | import org.pushingpixels.aurora.theming.colorscheme.AuroraColorSchemeBundle 21 | 22 | data class SliderContentModel( 23 | val value: Float, 24 | val valueRange: ClosedFloatingPointRange = 0f..1f, 25 | val onTriggerValueChange: (Float) -> Unit, 26 | val onValueChangeEnd: () -> Unit = {}, 27 | val enabled: Boolean = true 28 | ): ContentModel 29 | 30 | object SliderSizingConstants { 31 | val DefaultSliderContentPadding = PaddingValues(start = 0.dp, top = 8.dp, end = 0.dp, bottom = 8.dp) 32 | val DefaultWidth = 240.dp 33 | val ThumbFullSize = 18.dp 34 | val TrackHeight = 6.dp 35 | val TrackTickGap = 4.dp 36 | val TickHeight = 8.dp 37 | } 38 | 39 | data class SliderPresentationModel( 40 | val colorSchemeBundle: AuroraColorSchemeBundle? = null, 41 | val tickSteps: Int = 0, // Zero means continuous slider value range 42 | val snapToTicks: Boolean = false, 43 | val drawTicks: Boolean = false 44 | ): PresentationModel 45 | -------------------------------------------------------------------------------- /component/src/desktopMain/kotlin/org/pushingpixels/aurora/component/ribbon/RibbonTask.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.component.ribbon 17 | 18 | import androidx.compose.ui.graphics.Color 19 | import org.pushingpixels.aurora.component.ribbon.resize.RibbonBandResizeSequencingPolicy 20 | 21 | data class RibbonTask( 22 | val title: String, 23 | val bands: List, 24 | val resizeSequencingPolicy: RibbonBandResizeSequencingPolicy, 25 | val keyTip: String? = null, 26 | val isActive: Boolean, 27 | val onClick: () -> Unit 28 | ) 29 | 30 | data class RibbonContextualTaskGroup( 31 | val title: String, 32 | val hueColor: Color, 33 | val tasks: List 34 | ) 35 | 36 | 37 | -------------------------------------------------------------------------------- /component/src/desktopMain/kotlin/org/pushingpixels/aurora/component/ribbon/impl/RibbonLocals.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.component.ribbon.impl 17 | 18 | import androidx.compose.runtime.staticCompositionLocalOf 19 | import org.pushingpixels.aurora.common.AuroraInternalApi 20 | 21 | @AuroraInternalApi 22 | enum class RibbonBandRow { 23 | Top, Middle, Bottom, None 24 | } 25 | 26 | @AuroraInternalApi 27 | val LocalRibbonBandRowHeight = staticCompositionLocalOf { 28 | 0 29 | } 30 | 31 | @AuroraInternalApi 32 | val LocalRibbonTrackBounds = staticCompositionLocalOf { 33 | false 34 | } 35 | 36 | @AuroraInternalApi 37 | val LocalRibbonTrackKeyTips = staticCompositionLocalOf { 38 | false 39 | } 40 | 41 | @AuroraInternalApi 42 | val LocalRibbonKeyTipChainRoot = staticCompositionLocalOf { 43 | null 44 | } 45 | 46 | @AuroraInternalApi 47 | val LocalRibbonBandRow = staticCompositionLocalOf { 48 | RibbonBandRow.None 49 | } 50 | -------------------------------------------------------------------------------- /component/src/desktopMain/kotlin/org/pushingpixels/aurora/component/utils/DrawingCache.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.component.utils 17 | 18 | import org.pushingpixels.aurora.theming.utils.MutableColorScheme 19 | 20 | internal interface DrawingCache { 21 | val colorScheme: MutableColorScheme 22 | } 23 | 24 | -------------------------------------------------------------------------------- /demo/build.gradle.kts: -------------------------------------------------------------------------------- 1 | import org.jetbrains.compose.compose 2 | 3 | plugins { 4 | kotlin("multiplatform") // kotlin("jvm") doesn't work well in IDEA/AndroidStudio (https://github.com/JetBrains/compose-multiplatform/issues/22) 5 | alias(libs.plugins.jetbrainsCompose) 6 | alias(libs.plugins.compose.compiler) 7 | } 8 | 9 | kotlin { 10 | jvm("desktop") 11 | sourceSets { 12 | named("desktopMain") { 13 | dependencies { 14 | implementation(compose.desktop.currentOs) 15 | implementation(project(":common")) 16 | implementation(project(":component")) 17 | implementation(project(":theming")) 18 | implementation(project(":window")) 19 | } 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/bugs/UndecoratedWindow.kt: -------------------------------------------------------------------------------- 1 | package org.pushingpixels.aurora.demo.bugs 2 | 3 | import androidx.compose.foundation.background 4 | import androidx.compose.foundation.layout.* 5 | import androidx.compose.foundation.window.WindowDraggableArea 6 | import androidx.compose.ui.Alignment 7 | import androidx.compose.ui.Modifier 8 | import androidx.compose.ui.graphics.Color 9 | import androidx.compose.ui.unit.DpSize 10 | import androidx.compose.ui.unit.dp 11 | import androidx.compose.ui.window.* 12 | 13 | fun main() = application { 14 | val state = rememberWindowState( 15 | placement = WindowPlacement.Floating, 16 | position = WindowPosition.Aligned(Alignment.Center), 17 | size = DpSize(600.dp, 400.dp) 18 | ) 19 | Window( 20 | onCloseRequest = ::exitApplication, 21 | undecorated = true, 22 | resizable = true, 23 | state = state 24 | ) { 25 | Column(Modifier.fillMaxSize()) { 26 | WindowDraggableArea { 27 | Box(modifier = Modifier.fillMaxWidth().height(24.dp).background(Color.Blue)) 28 | } 29 | Box(modifier = Modifier.fillMaxWidth().height(32.dp).background(Color.Green)) 30 | Box(modifier = Modifier.fillMaxWidth().weight(1.0f).background(Color.Red)) 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/filetypes/gitattributes.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/filetypes/gitignore.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/bg.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/ca.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/cl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/cn.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/cz.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/de.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/dk.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/es.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/fi.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/fr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/gb.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/gr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/hu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/il.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/it.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/jp.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/mx.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/nl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/no.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/pl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/ro.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/ru.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/se.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/th.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/tr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/tw.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/flags/vn.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/accessibility_new-24px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/account_box-24px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/add_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/add_circle_outline-24px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/alarm_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/apps-24px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/archive_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/backup-24px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/battery_full-24px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/brightness_medium-24px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/chat_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/close_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/content_copy_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/content_cut_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/content_paste_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/delete_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/devices_other-24px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/drafts_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/folder_open_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/format_bold_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/format_italic_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/format_strikethrough_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/format_underlined_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/forward_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/fullscreen_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/help-24px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/help_outline_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/history_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/inbox_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/info-24px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/keyboard_capslock-24px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/location_on-24px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/lock_open-24px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/mail_outline_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/markunread_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/menu_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/mode_edit_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/more_horiz_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/perm_device_information-24px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/person_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/person_outline_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/refresh_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/remove_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/remove_circle_outline-24px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/reply_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/select_all-24px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/send_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/star-black-48dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/star_border-black-48dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/star_border_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/star_half-black-48dp.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/storage-24px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/view_list_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/visibility-24px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/volume_up-24px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/watch_later_black_24dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/waves-24px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/wifi-24px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/wifi-white-18dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/material/wifi-white-36dp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/radiance_menu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/random/marker.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 12 | 13 | 14 | 15 | 16 | 17 | 19 | 20 | 21 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/random/pattern.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/random/pattern2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/random/sample.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 11 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/random/text.svg: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | My 12 | cat 13 | is 14 | Grumpy! 15 | 16 | 17 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/random/text2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | GRADIENT 14 | TEXT 15 | EVERYWHERE 16 | 17 | 18 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/random/text3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | GRADIENT 10 | TEXT 11 | EVERYWHERE 12 | 13 | 14 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/tango/internet-group-chat.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/align-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/bar-chart.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/browser.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/bullseye.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/button.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/check-square-o.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/cog.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/combobox.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/dot-circle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/file-tree.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/folder-open.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/form.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/globe.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/grid-big-o.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/grid-h.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/grid-small.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/layout.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/lines.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/menu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/modal-list.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/plus.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/progressbar.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/slider.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/spinner.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/split-h.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/square-shadow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/table.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/tabs.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/text-input.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/text-label.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/user-card.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /demo/src/desktopMain/kotlin/org/pushingpixels/aurora/demo/svg/vaadin/viewport.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /demo/src/desktopMain/resources/FileIconVectors.license: -------------------------------------------------------------------------------- 1 | License file for SVG files from https://github.com/dmhendricks/file-icon-vectors 2 | 3 | The MIT License (MIT) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation 6 | files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, 7 | modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the 8 | Software is furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the 11 | Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 14 | WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 15 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 16 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /demo/src/desktopMain/resources/FlagIconCss.license: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013 Panayiotis Lipiridis 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 9 | of the Software, and to permit persons to whom the Software is furnished to do 10 | so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /demo/src/desktopMain/resources/org/pushingpixels/aurora/demo/appmenubutton-tooltip-main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/demo/src/desktopMain/resources/org/pushingpixels/aurora/demo/appmenubutton-tooltip-main.png -------------------------------------------------------------------------------- /demo/src/desktopMain/resources/org/pushingpixels/aurora/demo/visor.colorschemes: -------------------------------------------------------------------------------- 1 | Visor Active { 2 | kind=Light 3 | colorUltraLight=#ABCCE1 4 | colorExtraLight=#9EC3DB 5 | colorLight=#96B6CE 6 | colorMid=#90ABC0 7 | colorDark=#718091 8 | colorUltraDark=#747E8A 9 | colorForeground=#4D4D4D 10 | } 11 | 12 | Visor Enabled { 13 | kind=Light 14 | colorUltraLight=#FAFCFF 15 | colorExtraLight=#F1F6FA 16 | colorLight=#CBD5DE 17 | colorMid=#B9BDC2 18 | colorDark=#64676B 19 | colorUltraDark=#474A4C 20 | colorForeground=#303234 21 | } 22 | 23 | Visor Disabled { 24 | kind=Light 25 | colorUltraLight=#FAFBFC 26 | colorExtraLight=#F1F3F5 27 | colorLight=#E3E5E8 28 | colorMid=#D5D8DC 29 | colorDark=#B9BDC2 30 | colorUltraDark=#73787D 31 | colorForeground=#7E8287 32 | } 33 | 34 | Visor Active Destinations { 35 | kind=Light 36 | colorUltraLight=#C6D7E1 37 | colorExtraLight=#BDCFDB 38 | colorLight=#B2C2CE 39 | colorMid=#A8B6C0 40 | colorDark=#818991 41 | colorUltraDark=#7F848A 42 | colorForeground=#4D4D4D 43 | } 44 | 45 | Visor Enabled Destinations { 46 | kind=Light 47 | colorUltraLight=#D0E0EB 48 | colorExtraLight=#C9DAE7 49 | colorLight=#C4D3DE 50 | colorMid=#C0CCD6 51 | colorDark=#B0B5BB 52 | colorUltraDark=#B0B3B8 53 | colorForeground=#4D4D4D 54 | } 55 | 56 | Visor Threads Highlight { 57 | kind=Dark 58 | colorUltraLight=#5CA5FF 59 | colorExtraLight=#3077FF 60 | colorLight=#2665D3 61 | colorMid=#214A8C 62 | colorDark=#18385C 63 | colorUltraDark=#181C2A 64 | colorForeground=#FFFFFF 65 | } 66 | 67 | Visor Threads Highlight Light { 68 | kind=Dark 69 | colorBackground=#1589AD 70 | colorForeground=#FFFFFF 71 | } 72 | -------------------------------------------------------------------------------- /docs/images/component/walkthrough/borders.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/component/walkthrough/borders.png -------------------------------------------------------------------------------- /docs/images/component/walkthrough/box-with-highlights.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/component/walkthrough/box-with-highlights.png -------------------------------------------------------------------------------- /docs/images/component/walkthrough/breadcrumb-bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/component/walkthrough/breadcrumb-bar.png -------------------------------------------------------------------------------- /docs/images/component/walkthrough/combo-dropdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/component/walkthrough/combo-dropdown.png -------------------------------------------------------------------------------- /docs/images/component/walkthrough/command-basics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/component/walkthrough/command-basics.png -------------------------------------------------------------------------------- /docs/images/component/walkthrough/command-button-gap-scaling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/component/walkthrough/command-button-gap-scaling.png -------------------------------------------------------------------------------- /docs/images/component/walkthrough/command-button-halignment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/component/walkthrough/command-button-halignment.png -------------------------------------------------------------------------------- /docs/images/component/walkthrough/command-button-panels.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/component/walkthrough/command-button-panels.png -------------------------------------------------------------------------------- /docs/images/component/walkthrough/command-content-menu-backgrounds.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/component/walkthrough/command-content-menu-backgrounds.png -------------------------------------------------------------------------------- /docs/images/component/walkthrough/command-context-menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/component/walkthrough/command-context-menu.png -------------------------------------------------------------------------------- /docs/images/component/walkthrough/command-custom-popup-simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/component/walkthrough/command-custom-popup-simple.png -------------------------------------------------------------------------------- /docs/images/component/walkthrough/command-popup-dismiss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/component/walkthrough/command-popup-dismiss.png -------------------------------------------------------------------------------- /docs/images/component/walkthrough/command-popups.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/component/walkthrough/command-popups.png -------------------------------------------------------------------------------- /docs/images/component/walkthrough/command-secondary-complex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/component/walkthrough/command-secondary-complex.png -------------------------------------------------------------------------------- /docs/images/component/walkthrough/command-secondary-scrollable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/component/walkthrough/command-secondary-scrollable.png -------------------------------------------------------------------------------- /docs/images/component/walkthrough/command-secondary-simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/component/walkthrough/command-secondary-simple.png -------------------------------------------------------------------------------- /docs/images/component/walkthrough/command-title-action.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/component/walkthrough/command-title-action.png -------------------------------------------------------------------------------- /docs/images/component/walkthrough/command-title-popup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/component/walkthrough/command-title-popup.png -------------------------------------------------------------------------------- /docs/images/component/walkthrough/command-tooltips.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/component/walkthrough/command-tooltips.png -------------------------------------------------------------------------------- /docs/images/component/walkthrough/intro-text-alignment-changed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/component/walkthrough/intro-text-alignment-changed.png -------------------------------------------------------------------------------- /docs/images/component/walkthrough/intro-text-alignment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/component/walkthrough/intro-text-alignment.png -------------------------------------------------------------------------------- /docs/images/component/walkthrough/intro-text-styling-bold-italic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/component/walkthrough/intro-text-styling-bold-italic.png -------------------------------------------------------------------------------- /docs/images/component/walkthrough/intro-text-styling-bold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/component/walkthrough/intro-text-styling-bold.png -------------------------------------------------------------------------------- /docs/images/component/walkthrough/intro-text-styling-italic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/component/walkthrough/intro-text-styling-italic.png -------------------------------------------------------------------------------- /docs/images/component/walkthrough/intro-text-styling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/component/walkthrough/intro-text-styling.png -------------------------------------------------------------------------------- /docs/images/helloworld.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/helloworld.png -------------------------------------------------------------------------------- /docs/images/logo/auroraicon-1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/logo/auroraicon-1024.png -------------------------------------------------------------------------------- /docs/images/logo/auroraicon-128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/logo/auroraicon-128.png -------------------------------------------------------------------------------- /docs/images/logo/auroraicon-256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/logo/auroraicon-256.png -------------------------------------------------------------------------------- /docs/images/logo/auroraicon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/logo/auroraicon-512.png -------------------------------------------------------------------------------- /docs/images/logo/auroraicon-64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/logo/auroraicon-64.png -------------------------------------------------------------------------------- /docs/images/theming/color-scheme-association-kinds.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/color-scheme-association-kinds.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/aqua.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/aqua.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/barbypink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/barbypink.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/bottlegreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/bottlegreen.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/brown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/brown.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/charcoal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/charcoal.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/creme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/creme.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/darkviolet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/darkviolet.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/deriveddesaturate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/deriveddesaturate.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/derivedhueshift.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/derivedhueshift.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/derivedinvert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/derivedinvert.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/derivednegate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/derivednegate.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/derivedsaturate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/derivedsaturate.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/derivedshade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/derivedshade.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/derivedshift.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/derivedshift.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/derivedtint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/derivedtint.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/derivedtone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/derivedtone.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/desertsand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/desertsand.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/ebony.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/ebony.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/jadeforest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/jadeforest.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/lightaqua.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/lightaqua.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/limegreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/limegreen.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/olive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/olive.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/orange.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/purple.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/raspberry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/raspberry.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/sepia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/sepia.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/steelblue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/steelblue.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/sunglare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/sunglare.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/sunset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/sunset.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/terracotta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/terracotta.png -------------------------------------------------------------------------------- /docs/images/theming/colorschemes/ultramarine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/colorschemes/ultramarine.png -------------------------------------------------------------------------------- /docs/images/theming/painters/decoration/areas-control-pane.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/painters/decoration/areas-control-pane.png -------------------------------------------------------------------------------- /docs/images/theming/painters/decoration/areas-footer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/painters/decoration/areas-footer.png -------------------------------------------------------------------------------- /docs/images/theming/painters/decoration/areas-header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/painters/decoration/areas-header.png -------------------------------------------------------------------------------- /docs/images/theming/painters/decoration/areas-title.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/painters/decoration/areas-title.png -------------------------------------------------------------------------------- /docs/images/theming/painters/decoration/areas-toolbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/painters/decoration/areas-toolbar.png -------------------------------------------------------------------------------- /docs/images/theming/painters/decoration/full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/painters/decoration/full.png -------------------------------------------------------------------------------- /docs/images/theming/painters/highlight/highlights.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/painters/highlight/highlights.png -------------------------------------------------------------------------------- /docs/images/theming/painters/overlay/gemini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/painters/overlay/gemini.png -------------------------------------------------------------------------------- /docs/images/theming/painters/overlay/nebulabrickwall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/painters/overlay/nebulabrickwall.png -------------------------------------------------------------------------------- /docs/images/theming/painters/overlay/twilight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/painters/overlay/twilight.png -------------------------------------------------------------------------------- /docs/images/theming/skins/autumn-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/autumn-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/autumn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/autumn.png -------------------------------------------------------------------------------- /docs/images/theming/skins/business-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/business-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/business.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/business.png -------------------------------------------------------------------------------- /docs/images/theming/skins/businessblacksteel-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/businessblacksteel-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/businessblacksteel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/businessblacksteel.png -------------------------------------------------------------------------------- /docs/images/theming/skins/businessbluesteel-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/businessbluesteel-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/businessbluesteel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/businessbluesteel.png -------------------------------------------------------------------------------- /docs/images/theming/skins/cerulean-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/cerulean-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/cerulean.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/cerulean.png -------------------------------------------------------------------------------- /docs/images/theming/skins/creme-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/creme-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/creme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/creme.png -------------------------------------------------------------------------------- /docs/images/theming/skins/cremecoffee-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/cremecoffee-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/cremecoffee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/cremecoffee.png -------------------------------------------------------------------------------- /docs/images/theming/skins/dust-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/dust-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/dust.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/dust.png -------------------------------------------------------------------------------- /docs/images/theming/skins/dustcoffee-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/dustcoffee-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/dustcoffee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/dustcoffee.png -------------------------------------------------------------------------------- /docs/images/theming/skins/gemini-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/gemini-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/gemini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/gemini.png -------------------------------------------------------------------------------- /docs/images/theming/skins/graphite-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/graphite-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/graphite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/graphite.png -------------------------------------------------------------------------------- /docs/images/theming/skins/graphiteaqua-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/graphiteaqua-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/graphiteaqua.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/graphiteaqua.png -------------------------------------------------------------------------------- /docs/images/theming/skins/graphitechalk-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/graphitechalk-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/graphitechalk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/graphitechalk.png -------------------------------------------------------------------------------- /docs/images/theming/skins/graphiteelectric-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/graphiteelectric-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/graphiteelectric.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/graphiteelectric.png -------------------------------------------------------------------------------- /docs/images/theming/skins/graphiteglass-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/graphiteglass-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/graphiteglass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/graphiteglass.png -------------------------------------------------------------------------------- /docs/images/theming/skins/graphitegold-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/graphitegold-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/graphitegold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/graphitegold.png -------------------------------------------------------------------------------- /docs/images/theming/skins/graphitesienna-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/graphitesienna-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/graphitesienna.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/graphitesienna.png -------------------------------------------------------------------------------- /docs/images/theming/skins/graphitesunset-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/graphitesunset-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/graphitesunset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/graphitesunset.png -------------------------------------------------------------------------------- /docs/images/theming/skins/greenmagic-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/greenmagic-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/greenmagic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/greenmagic.png -------------------------------------------------------------------------------- /docs/images/theming/skins/magellan-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/magellan-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/magellan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/magellan.png -------------------------------------------------------------------------------- /docs/images/theming/skins/mariner-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/mariner-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/mariner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/mariner.png -------------------------------------------------------------------------------- /docs/images/theming/skins/mistaqua-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/mistaqua-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/mistaqua.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/mistaqua.png -------------------------------------------------------------------------------- /docs/images/theming/skins/mistsilver-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/mistsilver-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/mistsilver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/mistsilver.png -------------------------------------------------------------------------------- /docs/images/theming/skins/moderate-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/moderate-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/moderate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/moderate.png -------------------------------------------------------------------------------- /docs/images/theming/skins/nebula-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/nebula-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/nebula.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/nebula.png -------------------------------------------------------------------------------- /docs/images/theming/skins/nebulaamethyst-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/nebulaamethyst-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/nebulaamethyst.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/nebulaamethyst.png -------------------------------------------------------------------------------- /docs/images/theming/skins/nebulabrickwall-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/nebulabrickwall-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/nebulabrickwall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/nebulabrickwall.png -------------------------------------------------------------------------------- /docs/images/theming/skins/nightshade-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/nightshade-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/nightshade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/nightshade.png -------------------------------------------------------------------------------- /docs/images/theming/skins/raven-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/raven-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/raven.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/raven.png -------------------------------------------------------------------------------- /docs/images/theming/skins/sahara-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/sahara-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/sahara.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/sahara.png -------------------------------------------------------------------------------- /docs/images/theming/skins/sentinel-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/sentinel-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/sentinel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/sentinel.png -------------------------------------------------------------------------------- /docs/images/theming/skins/twilight-filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/twilight-filtered.png -------------------------------------------------------------------------------- /docs/images/theming/skins/twilight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/skins/twilight.png -------------------------------------------------------------------------------- /docs/images/theming/states/component-states-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/states/component-states-basic.png -------------------------------------------------------------------------------- /docs/images/theming/states/component-states-custom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/states/component-states-custom.png -------------------------------------------------------------------------------- /docs/images/theming/states/component-states-extended.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/states/component-states-extended.png -------------------------------------------------------------------------------- /docs/images/theming/states/component-states-icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/states/component-states-icons.png -------------------------------------------------------------------------------- /docs/images/theming/states/component-states-mixed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/states/component-states-mixed.png -------------------------------------------------------------------------------- /docs/images/theming/titlepane/titlepane-auroraintegrated1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/titlepane/titlepane-auroraintegrated1.png -------------------------------------------------------------------------------- /docs/images/theming/titlepane/titlepane-auroraintegrated2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/titlepane/titlepane-auroraintegrated2.png -------------------------------------------------------------------------------- /docs/images/theming/titlepane/titlepane-auroraplain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/titlepane/titlepane-auroraplain.png -------------------------------------------------------------------------------- /docs/images/theming/titlepane/titlepane-button-icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/titlepane/titlepane-button-icons.png -------------------------------------------------------------------------------- /docs/images/theming/titlepane/titlepane-layout-default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/titlepane/titlepane-layout-default.png -------------------------------------------------------------------------------- /docs/images/theming/titlepane/titlepane-layout-gnome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/titlepane/titlepane-layout-gnome.png -------------------------------------------------------------------------------- /docs/images/theming/titlepane/titlepane-layout-kde.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/titlepane/titlepane-layout-kde.png -------------------------------------------------------------------------------- /docs/images/theming/titlepane/titlepane-layout-macos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/titlepane/titlepane-layout-macos.png -------------------------------------------------------------------------------- /docs/images/theming/titlepane/titlepane-layout-windows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/titlepane/titlepane-layout-windows.png -------------------------------------------------------------------------------- /docs/images/theming/titlepane/titlepane-none.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/titlepane/titlepane-none.png -------------------------------------------------------------------------------- /docs/images/theming/titlepane/titlepane-system.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/theming/titlepane/titlepane-system.png -------------------------------------------------------------------------------- /docs/images/window/locale-switcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/window/locale-switcher.png -------------------------------------------------------------------------------- /docs/images/window/menubar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/window/menubar.png -------------------------------------------------------------------------------- /docs/images/window/skin-switcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/docs/images/window/skin-switcher.png -------------------------------------------------------------------------------- /docs/theming/painters/fill.md: -------------------------------------------------------------------------------- 1 | ## Aurora theming - fill painters 2 | 3 | The only painting method in `AuroraFillPainter` is 4 | 5 | ```kotlin 6 | fun paintContourBackground( 7 | drawScope: DrawScope, 8 | size: Size, 9 | outline: Outline, 10 | fillScheme: AuroraColorScheme, 11 | alpha: Float 12 | ) 13 | ``` 14 | 15 | The `outline` parameter specifies the actual shape to fill and the `fillScheme` specifies the Aurora color scheme to be used to compute the colors. 16 | 17 | Important thing to note - a fill painter **should not** paint the focus ring or the border; these are painted by separate painters. 18 | 19 | Applications that wish to provide a custom (branding) fill painter may utilize the existing `FractionBasedFillPainter` base class. Most core Aurora fill painters extend this class. 20 | 21 | ### Management API 22 | 23 | If you wish to use the fill painter of the current skin to provide additional custom painting in your application, call: 24 | 25 | * `AuroraSkin.painters` to retrieve the painters associated with the current skin. 26 | * `AuroraPainters.fillPainter` to retrieve the fill painter of the current skin. 27 | * `AuroraFillPainter.paintContourBackground()` to paint the background on the specific draw scope. 28 | -------------------------------------------------------------------------------- /docs/theming/painters/overview.md: -------------------------------------------------------------------------------- 1 | ## Aurora theming - painters overview 2 | 3 | An Aurora **painter** encapsulates common painting logic. For example, in Aurora, borders of buttons, comboboxes, progress bars and more are painted with the same look. Instead of replicating this code across different composable, it is extracted into a common painter. In addition to code reuse, it: 4 | 5 | * Makes it easier to tweak an existing painting sequence. 6 | * Lets applications to specify a custom (branding) painter which is applied to all relevant composables. 7 | * Lets applications and third-party developers to provide consistent appearance of custom components without locking themselves to low-level implementation details of Aurora. 8 | 9 | Aurora uses four types of painters which are used on different types of controls and window areas. The core library bundles a number of painter implementations which are available as officially supported APIs. Interested applications can also create custom implementation of the relevant painter interfaces and combine them together in a skin that creates a unique visual appearance based on the specific design requirements. 10 | 11 | ### Painter types 12 | 13 | Aurora uses the following painter types: 14 | 15 | * [Fill painters](fill.md) 16 | * [Border painters](border.md) 17 | * [Decoration painters](decoration.md) 18 | * [Overlay painters](overlay.md) 19 | 20 | The vast majority of Aurora visuals are painted by using these painters. The links above provide more technical information on how to specify custom painters and how to use them to paint custom components and window areas. Applications that wish to provide consistent appearance under different Aurora skins are strongly encouraged to use the published painter APIs. 21 | 22 | The Aurora painting layer provides a convenient API for the applications that wish to paint custom composables in a way that is consistent with other Aurora visuals. 23 | -------------------------------------------------------------------------------- /docs/window/RadianceInterop.md: -------------------------------------------------------------------------------- 1 | ### Window - Radiance interoperability 2 | 3 | In addition to [core Swing interoperability](https://github.com/JetBrains/compose-multiplatform/tree/master/tutorials/Swing_Integration), Aurora supports integrating with [Radiance](https://github.com/kirill-grouchnikov/radiance). 4 | 5 | To start, add a dependency on the latest Radiance binaries: 6 | 7 | ```kotlin 8 | dependencies { 9 | ... 10 | implementation("org.pushing-pixels:radiance-theming:6.0.1") 11 | } 12 | ``` 13 | 14 | Then, before creating your first `AuroraWindow`, set Radiance skin in your `auroraApplication` function: 15 | 16 | ```kotlin 17 | RadianceThemingCortex.GlobalScope.setSkin(MarinerSkin()) 18 | ``` 19 | 20 | Now, Swing content created within `SwingPanel` scope will be themed by Radiance: 21 | 22 | ```kotlin 23 | SwingPanel( 24 | modifier = Modifier.fillMaxWidth().height(90.dp), 25 | factory = { 26 | JPanel().apply { 27 | layout = FlowLayout(FlowLayout.CENTER) 28 | add(swingButton("Hello, Swing!") { println("I come from Swing") }) 29 | } 30 | } 31 | ) 32 | ``` 33 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx2048m 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | # Kotlin code style for this project: "official" or "obsolete": 15 | kotlin.code.style=official 16 | 17 | kotlin.mpp.import.enableKgpDependencyResolution=false 18 | 19 | org.jetbrains.dokka.experimental.gradle.pluginMode=V2Enabled 20 | org.jetbrains.dokka.experimental.gradle.pluginMode.noWarn=true 21 | 22 | SONATYPE_HOST=DEFAULT 23 | RELEASE_SIGNING_ENABLED=true 24 | 25 | GROUP=org.pushing-pixels 26 | VERSION_NAME=2.0-SNAPSHOT 27 | VERSION_CODENAME=Everest 28 | 29 | POM_DESCRIPTION=Building modern, elegant and fast desktop Compose applications 30 | 31 | POM_URL=https://github.com/kirill-grouchnikov/aurora 32 | POM_SCM_URL=https://github.com/kirill-grouchnikov/aurora 33 | POM_SCM_CONNECTION=scm:git:git://github.com/kirill-grouchnikov/aurora 34 | POM_SCM_DEV_CONNECTION=scm:git:ssh://git@github.com/kirill-grouchnikov/aurora 35 | 36 | POM_LICENCE_NAME=Apache License, Version 2.0 37 | POM_LICENCE_URL=https://opensource.org/licenses/Apache-2.0 38 | POM_LICENCE_DIST=repo 39 | 40 | POM_DEVELOPER_ID=kirill-grouchnikov 41 | POM_DEVELOPER_NAME=Kirill Grouchnikov 42 | -------------------------------------------------------------------------------- /gradle/libs.versions.toml: -------------------------------------------------------------------------------- 1 | [versions] 2 | kotlin = "2.1.20" 3 | coroutines = "1.10.2" 4 | compose = "1.8.0" 5 | dokka = "2.0.0" 6 | batik = "1.19" 7 | 8 | versionchecker = "0.52.0" 9 | mavenpublish = "0.31.0" 10 | 11 | [plugins] 12 | jetbrainsCompose = { id = "org.jetbrains.compose", version.ref = "compose" } 13 | compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } 14 | 15 | [libraries] 16 | compose-desktop = { module = "org.jetbrains.compose:compose-gradle-plugin", version.ref = "compose" } 17 | kotlin-gradlePlugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } 18 | kotlin-coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" } 19 | dokka-gradlePlugin = { module = "org.jetbrains.dokka:dokka-gradle-plugin", version.ref = "dokka"} 20 | batik = { module = "org.apache.xmlgraphics:batik-all", version.ref = "batik" } 21 | 22 | versionchecker-gradlePlugin = { module = "com.github.ben-manes:gradle-versions-plugin", version.ref = "versionchecker" } 23 | mavenpublish-gradlePlugin = { module = "com.vanniktech:gradle-maven-publish-plugin", version.ref = "mavenpublish" } 24 | 25 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kirill-grouchnikov/aurora/006d36c9c70658a838a7422767cd0c1cf86edb4b/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /scripts/java11.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | echo Setting JAVA_HOME 3 | set JAVA_HOME=C:\Program Files\Java\jdk-11.0.9 4 | echo setting PATH 5 | set PATH=C:\Program Files\Java\jdk-11.0.9\bin;%PATH% 6 | echo Display java version 7 | java -version 8 | -------------------------------------------------------------------------------- /scripts/screenshot/doc-robot-schemes.sh: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020-2025 Aurora, Kirill Grouchnikov. All Rights Reserved. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export JAVA_HOME=`/usr/libexec/java_home -v 22` 17 | alias JAVA="java" 18 | 19 | AURORA_VERSION=2.0-SNAPSHOT 20 | KOTLIN_VERSION=2.1.20 21 | KOTLIN_COROUTINES_VERSION=1.6.4 22 | COMPOSE_VERSION=1.8.0-rc01 23 | CLASSPATH=../../drop/$AURORA_VERSION/aurora-screenshot-desktop-$AURORA_VERSION.jar:../../demo/build/libs/aurora-demo-desktop.jar:../build/libs/:../../build/libs/* 24 | 25 | java -cp $CLASSPATH org.pushingpixels.aurora.tools.screenshot.theming.schemes.AuroraColorSchemesDriverKt \ 26 | ../../docs/images/theming/colorschemes 27 | -------------------------------------------------------------------------------- /scripts/screenshot/doc-robot-skins-icons.sh: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020-2025 Aurora, Kirill Grouchnikov. All Rights Reserved. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export JAVA_HOME=`/usr/libexec/java_home -v 22` 17 | alias JAVA="java" 18 | 19 | AURORA_VERSION=2.0-SNAPSHOT 20 | KOTLIN_VERSION=2.1.20 21 | KOTLIN_COROUTINES_VERSION=1.6.4 22 | COMPOSE_VERSION=1.8.0-rc01 23 | CLASSPATH=../../drop/$AURORA_VERSION/aurora-screenshot-desktop-$AURORA_VERSION.jar:../../demo/build/libs/aurora-demo-desktop.jar:../build/libs/:../../build/libs/* 24 | 25 | java -cp $CLASSPATH org.pushingpixels.aurora.tools.screenshot.theming.skins.AuroraSkinsIconFilterDriverKt \ 26 | ../../docs/images/theming/skins 27 | -------------------------------------------------------------------------------- /scripts/screenshot/doc-robot-skins.sh: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020-2025 Aurora, Kirill Grouchnikov. All Rights Reserved. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export JAVA_HOME=`/usr/libexec/java_home -v 22` 17 | alias JAVA="java" 18 | 19 | AURORA_VERSION=2.0-SNAPSHOT 20 | KOTLIN_VERSION=2.1.20 21 | KOTLIN_COROUTINES_VERSION=1.6.4 22 | COMPOSE_VERSION=1.8.0-rc01 23 | CLASSPATH=../../drop/$AURORA_VERSION/aurora-screenshot-desktop-$AURORA_VERSION.jar:../../demo/build/libs/aurora-demo-desktop.jar:../build/libs/:../../build/libs/* 24 | 25 | java -cp $CLASSPATH org.pushingpixels.aurora.tools.screenshot.theming.skins.AuroraSkinsDriverKt \ 26 | ../../docs/images/theming/skins 27 | -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- 1 | include( 2 | ":common", 3 | ":theming", 4 | ":component", 5 | ":window", 6 | ":tools:svg-transcoder", 7 | ":tools:svg-transcoder-gradle-plugin", 8 | ":tools:screenshot", 9 | ":demo" 10 | ) 11 | -------------------------------------------------------------------------------- /theming/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | kotlin("multiplatform") 3 | alias(libs.plugins.jetbrainsCompose) 4 | alias(libs.plugins.compose.compiler) 5 | id("com.vanniktech.maven.publish") 6 | id("org.jetbrains.dokka") 7 | `maven-publish` 8 | } 9 | 10 | kotlin { 11 | jvm("desktop") 12 | sourceSets { 13 | named("commonMain") { 14 | dependencies { 15 | api(compose.runtime) 16 | api(compose.foundation) 17 | implementation(project(":common")) 18 | } 19 | } 20 | named("desktopMain") { 21 | dependencies { 22 | api(compose.desktop.common) 23 | implementation(project(":common")) 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /theming/gradle.properties: -------------------------------------------------------------------------------- 1 | POM_ARTIFACT_ID=aurora-theming 2 | POM_NAME=Aurora Theming 3 | POM_PACKAGING=jar 4 | 5 | -------------------------------------------------------------------------------- /theming/src/commonMain/kotlin/org/pushingpixels/aurora/theming/AuroraTrait.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.theming 17 | 18 | /** 19 | * Base interface for Aurora traits 20 | * 21 | * @author Kirill Grouchnikov 22 | */ 23 | interface AuroraTrait { 24 | /** 25 | * The display name of `this` trait. 26 | */ 27 | val displayName: String 28 | } -------------------------------------------------------------------------------- /theming/src/commonMain/kotlin/org/pushingpixels/aurora/theming/colorscheme/HueShiftColorScheme.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.theming.colorscheme 17 | 18 | import org.pushingpixels.aurora.common.withHueShift 19 | 20 | /** 21 | * Hue-shifted color scheme. A hue-shifted color scheme is a color scheme that 22 | * is hue-shifted in HSB space. 23 | * 24 | * @author Kirill Grouchnikov 25 | */ 26 | class HueShiftColorScheme( 27 | origScheme: AuroraColorScheme, 28 | hueShiftFactor: Float 29 | ) : BaseColorScheme( 30 | displayName = "Hue-shift ${origScheme.displayName} ${(100 * hueShiftFactor).toInt()}%", 31 | isDark = origScheme.isDark, 32 | ultraLight = origScheme.ultraLightColor.withHueShift(hueShiftFactor), 33 | extraLight = origScheme.extraLightColor.withHueShift(hueShiftFactor), 34 | light = origScheme.lightColor.withHueShift(hueShiftFactor), 35 | mid = origScheme.midColor.withHueShift(hueShiftFactor), 36 | dark = origScheme.darkColor.withHueShift(hueShiftFactor), 37 | ultraDark = origScheme.ultraDarkColor.withHueShift(hueShiftFactor), 38 | foreground = origScheme.foregroundColor.withHueShift(hueShiftFactor / 2.0f) 39 | ) -------------------------------------------------------------------------------- /theming/src/commonMain/kotlin/org/pushingpixels/aurora/theming/colorscheme/InvertedColorScheme.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.theming.colorscheme 17 | 18 | import org.pushingpixels.aurora.common.inverted 19 | 20 | /** 21 | * Implementation of inverted color scheme. Inverted color scheme is based on 22 | * some original color scheme, switching the dark colors by light colors and 23 | * inverting the foreground color. 24 | * 25 | * @author Kirill Grouchnikov 26 | */ 27 | class InvertedColorScheme(origScheme: AuroraColorScheme) : 28 | BaseColorScheme( 29 | displayName = "Negated ${origScheme.displayName}", 30 | isDark = origScheme.isDark, 31 | ultraLight = origScheme.ultraDarkColor.inverted(), 32 | extraLight = origScheme.darkColor.inverted(), 33 | light = origScheme.midColor.inverted(), 34 | mid = origScheme.lightColor.inverted(), 35 | dark = origScheme.extraLightColor.inverted(), 36 | ultraDark = origScheme.ultraLightColor.inverted(), 37 | foreground = origScheme.foregroundColor.inverted() 38 | ) -------------------------------------------------------------------------------- /theming/src/commonMain/kotlin/org/pushingpixels/aurora/theming/colorscheme/NegatedColorScheme.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.theming.colorscheme 17 | 18 | import org.pushingpixels.aurora.common.inverted 19 | 20 | /** 21 | * Implementation of negated color scheme. Negated color scheme is based on some 22 | * original color scheme, negating all the colors. 23 | * 24 | * @author Kirill Grouchnikov 25 | */ 26 | class NegatedColorScheme(origScheme: AuroraColorScheme) : 27 | BaseColorScheme( 28 | displayName = "Negated ${origScheme.displayName}", 29 | isDark = origScheme.isDark, 30 | ultraLight = origScheme.ultraLightColor.inverted(), 31 | extraLight = origScheme.extraLightColor.inverted(), 32 | light = origScheme.lightColor.inverted(), 33 | mid = origScheme.midColor.inverted(), 34 | dark = origScheme.darkColor.inverted(), 35 | ultraDark = origScheme.ultraDarkColor.inverted(), 36 | foreground = origScheme.foregroundColor.inverted() 37 | ) 38 | -------------------------------------------------------------------------------- /theming/src/commonMain/kotlin/org/pushingpixels/aurora/theming/colorscheme/SaturatedColorScheme.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.theming.colorscheme 17 | 18 | import org.pushingpixels.aurora.common.withSaturation 19 | 20 | /** 21 | * Saturated color scheme. A saturated color scheme is a color scheme that is 22 | * saturated / desaturated (using HSV). 23 | * 24 | * @author Kirill Grouchnikov 25 | * @see ShiftColorScheme 26 | */ 27 | class SaturatedColorScheme(origScheme: AuroraColorScheme, saturationFactor: Float) : BaseColorScheme( 28 | displayName = "Saturated (${(100 * saturationFactor).toInt()}%) ${origScheme.displayName}", 29 | isDark = origScheme.isDark, 30 | ultraLight = origScheme.ultraLightColor.withSaturation(saturationFactor), 31 | extraLight = origScheme.extraLightColor.withSaturation(saturationFactor), 32 | light = origScheme.lightColor.withSaturation(saturationFactor), 33 | mid = origScheme.midColor.withSaturation(saturationFactor), 34 | dark = origScheme.darkColor.withSaturation(saturationFactor), 35 | ultraDark = origScheme.ultraDarkColor.withSaturation(saturationFactor), 36 | foreground = origScheme.foregroundColor 37 | ) 38 | -------------------------------------------------------------------------------- /theming/src/commonMain/kotlin/org/pushingpixels/aurora/theming/colorscheme/SchemeBaseColors.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.theming.colorscheme 17 | 18 | import androidx.compose.ui.graphics.Color 19 | 20 | interface SchemeBaseColors { 21 | val foregroundColor: Color 22 | val ultraLightColor: Color 23 | val extraLightColor: Color 24 | val lightColor: Color 25 | val midColor: Color 26 | val darkColor: Color 27 | val ultraDarkColor: Color 28 | } -------------------------------------------------------------------------------- /theming/src/commonMain/kotlin/org/pushingpixels/aurora/theming/painter/border/AuroraBorderPainter.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.theming.painter.border 17 | 18 | import androidx.compose.ui.geometry.Size 19 | import androidx.compose.ui.graphics.Color 20 | import androidx.compose.ui.graphics.Outline 21 | import androidx.compose.ui.graphics.drawscope.DrawScope 22 | import org.pushingpixels.aurora.theming.AuroraTrait 23 | import org.pushingpixels.aurora.theming.colorscheme.AuroraColorScheme 24 | 25 | interface AuroraBorderPainter: AuroraTrait { 26 | fun paintBorder( 27 | drawScope: DrawScope, 28 | size: Size, 29 | outline: Outline, 30 | outlineInner: Outline?, 31 | borderScheme: AuroraColorScheme, 32 | alpha: Float 33 | ) 34 | 35 | val isPaintingInnerOutline: Boolean 36 | 37 | fun getRepresentativeColor(borderScheme: AuroraColorScheme): Color 38 | } 39 | -------------------------------------------------------------------------------- /theming/src/commonMain/kotlin/org/pushingpixels/aurora/theming/painter/border/ClassicBorderPainter.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.theming.painter.border 17 | 18 | /** 19 | * Border painter that returns images with classic appearance. 20 | * 21 | * @author Kirill Grouchnikov 22 | */ 23 | class ClassicBorderPainter : FractionBasedBorderPainter( 24 | 0.0f to { it.darkColor }, 25 | 1.0f to { it.darkColor }, 26 | displayName = "Classic" 27 | ) -------------------------------------------------------------------------------- /theming/src/commonMain/kotlin/org/pushingpixels/aurora/theming/painter/border/FlatBorderPainter.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.theming.painter.border 17 | 18 | /** 19 | * Border painter that draws flat appearance. 20 | * 21 | * @author Kirill Grouchnikov 22 | */ 23 | class FlatBorderPainter : FractionBasedBorderPainter( 24 | 0.0f to { it.ultraDarkColor }, 25 | 1.0f to { it.ultraDarkColor }, 26 | displayName = "Flat" 27 | ) -------------------------------------------------------------------------------- /theming/src/commonMain/kotlin/org/pushingpixels/aurora/theming/painter/border/GlassBorderPainter.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.theming.painter.border 17 | 18 | /** 19 | * Border painter that draws glass appearance. 20 | * 21 | * @author Kirill Grouchnikov 22 | */ 23 | class GlassBorderPainter : FractionBasedBorderPainter( 24 | 0.0f to { it.darkColor }, 25 | 1.0f to { it.darkColor }, 26 | displayName = "Classic" 27 | ) -------------------------------------------------------------------------------- /theming/src/commonMain/kotlin/org/pushingpixels/aurora/theming/painter/border/StandardBorderPainter.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.theming.painter.border 17 | 18 | import org.pushingpixels.aurora.common.interpolateTowards 19 | 20 | open class StandardBorderPainter : FractionBasedBorderPainter( 21 | 0.0f to { it.ultraDarkColor }, 22 | 0.5f to { it.darkColor }, 23 | 1.0f to { it.darkColor.interpolateTowards(it.midColor, 0.5f) }, 24 | displayName = "Standard" 25 | ) 26 | -------------------------------------------------------------------------------- /theming/src/commonMain/kotlin/org/pushingpixels/aurora/theming/painter/fill/AuroraFillPainter.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.theming.painter.fill 17 | 18 | import androidx.compose.ui.geometry.Size 19 | import androidx.compose.ui.graphics.Color 20 | import androidx.compose.ui.graphics.Outline 21 | import androidx.compose.ui.graphics.drawscope.DrawScope 22 | import org.pushingpixels.aurora.theming.AuroraTrait 23 | import org.pushingpixels.aurora.theming.colorscheme.AuroraColorScheme 24 | 25 | interface AuroraFillPainter: AuroraTrait { 26 | fun paintContourBackground( 27 | drawScope: DrawScope, 28 | size: Size, 29 | outline: Outline, 30 | fillScheme: AuroraColorScheme, 31 | alpha: Float 32 | ) 33 | 34 | fun getRepresentativeColor(fillScheme: AuroraColorScheme): Color 35 | } -------------------------------------------------------------------------------- /theming/src/commonMain/kotlin/org/pushingpixels/aurora/theming/painter/fill/ClassicFillPainter.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.theming.painter.fill 17 | 18 | import org.pushingpixels.aurora.common.interpolateTowards 19 | 20 | /** 21 | * Fill painter that returns images with classic appearance. 22 | * 23 | * @author Kirill Grouchnikov 24 | */ 25 | open class ClassicFillPainter : FractionBasedFillPainter( 26 | 0.0f to { it.midColor.interpolateTowards(it.ultraLightColor, 0.5f) }, 27 | 0.5f to { it.midColor.interpolateTowards(it.ultraLightColor, 0.7f) }, 28 | 1.0f to { it.ultraLightColor }, 29 | displayName = "Classic" 30 | ) { 31 | companion object { 32 | /** Reusable instance of this painter. */ 33 | val Instance = ClassicFillPainter() 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /theming/src/commonMain/kotlin/org/pushingpixels/aurora/theming/painter/fill/GlassFillPainter.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.theming.painter.fill 17 | 18 | import org.pushingpixels.aurora.common.interpolateTowards 19 | 20 | /** 21 | * Fill painter that returns images with glass appearance. 22 | * 23 | * @author Kirill Grouchnikov 24 | */ 25 | class GlassFillPainter : FractionBasedFillPainter( 26 | 0.0f to { it.midColor.interpolateTowards(it.ultraLightColor, 0.4f) }, 27 | 0.4999999f to { it.midColor.interpolateTowards(it.ultraLightColor, 0.52f) } , 28 | 0.5f to { it.midColor }, 29 | 1.0f to { it.midColor.interpolateTowards(it.ultraLightColor, 0.7f) }, 30 | displayName = "Glass" 31 | ) 32 | -------------------------------------------------------------------------------- /theming/src/commonMain/kotlin/org/pushingpixels/aurora/theming/painter/fill/MatteFillPainter.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.theming.painter.fill 17 | 18 | import org.pushingpixels.aurora.common.interpolateTowards 19 | 20 | /** 21 | * Fill painter that returns images with matte appearance. 22 | * 23 | * @author Kirill Grouchnikov 24 | */ 25 | class MatteFillPainter : FractionBasedFillPainter( 26 | 0.0f to { it.midColor.interpolateTowards(it.ultraLightColor, 0.35f) }, 27 | 0.5f to { it.midColor.interpolateTowards(it.ultraLightColor, 0.49f) }, 28 | 1.0f to { it.midColor.interpolateTowards(it.ultraLightColor, 0.7f) }, 29 | displayName = "Matte" 30 | ) 31 | -------------------------------------------------------------------------------- /theming/src/commonMain/kotlin/org/pushingpixels/aurora/theming/painter/fill/StandardFillPainter.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.theming.painter.fill 17 | 18 | import org.pushingpixels.aurora.common.interpolateTowards 19 | 20 | /** 21 | * Fill painter that paints a subtle gradient appearance. 22 | * 23 | * @author Kirill Grouchnikov 24 | */ 25 | open class StandardFillPainter : FractionBasedFillPainter( 26 | 0.0f to { it.darkColor.interpolateTowards(it.midColor, 0.4f) }, 27 | 0.5f to { it.midColor }, 28 | 1.0f to { it.ultraLightColor }, 29 | displayName = "Standard" 30 | ) -------------------------------------------------------------------------------- /theming/src/commonMain/kotlin/org/pushingpixels/aurora/theming/painter/fill/SubduedFillPainter.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.theming.painter.fill 17 | 18 | import org.pushingpixels.aurora.common.interpolateTowards 19 | 20 | /** 21 | * Fill painter that returns images with subdued gradient appearance. 22 | * 23 | * @author Kirill Grouchnikov 24 | */ 25 | class SubduedFillPainter : FractionBasedFillPainter( 26 | 0.0f to { it.darkColor.interpolateTowards(it.midColor, 0.12f) }, 27 | 0.5f to { it.midColor }, 28 | 1.0f to { it.ultraLightColor }, 29 | displayName = "Subdued" 30 | ) -------------------------------------------------------------------------------- /theming/src/commonMain/kotlin/org/pushingpixels/aurora/theming/painter/overlay/AuroraOverlayPainter.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.theming.painter.overlay 17 | 18 | import androidx.compose.ui.graphics.drawscope.DrawScope 19 | import org.pushingpixels.aurora.theming.AuroraTrait 20 | import org.pushingpixels.aurora.theming.DecorationAreaType 21 | import org.pushingpixels.aurora.theming.colorscheme.AuroraSkinColors 22 | 23 | /** 24 | * Overlay painter interface. 25 | * 26 | * @author Kirill Grouchnikov 27 | */ 28 | interface AuroraOverlayPainter : AuroraTrait { 29 | /** 30 | * Paints the overlay. 31 | * 32 | * @param drawScope Draw scope. 33 | * @param decorationAreaType Decoration area type. 34 | * @param width Width. 35 | * @param height Height. 36 | * @param colors Colors for painting the overlay. 37 | */ 38 | fun paintOverlay( 39 | drawScope: DrawScope, 40 | decorationAreaType: DecorationAreaType, 41 | width: Float, 42 | height: Float, 43 | colors: AuroraSkinColors 44 | ) 45 | } -------------------------------------------------------------------------------- /theming/src/commonMain/kotlin/org/pushingpixels/aurora/theming/shaper/RectangularButtonShaper.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.theming.shaper 17 | 18 | import androidx.compose.ui.unit.Density 19 | 20 | /** 21 | * Interface for rectangular-based button shapers. 22 | * 23 | * @author Kirill Grouchnikov 24 | */ 25 | interface RectangularButtonShaper { 26 | /** 27 | * Returns the corner radius of a button. 28 | * 29 | * @param insets Button insets. 30 | * @return Corner radius of a button. 31 | */ 32 | fun getCornerRadius(width: Float, height: Float, insets: Float, density: Density): Float 33 | } -------------------------------------------------------------------------------- /theming/src/desktopMain/resources/org/pushingpixels/aurora/theming/autumn.colorschemes: -------------------------------------------------------------------------------- 1 | Autumn Active { 2 | kind=Light 3 | colorUltraLight=#FDDDAC 4 | colorExtraLight=#FCEF9F 5 | colorLight=#FCD592 6 | colorMid=#F9BE84 7 | colorDark=#F8B87A 8 | colorUltraDark=#AC623B 9 | colorForeground=#AC623B 10 | } 11 | 12 | Autumn Enabled { 13 | kind=Light 14 | colorUltraLight=#FFF2DF 15 | colorExtraLight=#FFE3C5 16 | colorLight=#FDD1A4 17 | colorMid=#FBCD9C 18 | colorDark=#FCC896 19 | colorUltraDark=#AC623B 20 | colorForeground=#AC623B 21 | colorAccentedBackgroundFill=#FFDDB9 22 | } 23 | 24 | Autumn Background { 25 | kind=Light 26 | colorUltraLight=#FFF2DF 27 | colorExtraLight=#FFE3C5 28 | colorLight=#FEDAB5 29 | colorMid=#FED8B2 30 | colorDark=#FDD4AA 31 | colorUltraDark=#FDD1A5 32 | colorForeground=#AC623B 33 | colorAccentedBackgroundFill=#FFDDB9 34 | } 35 | 36 | -------------------------------------------------------------------------------- /theming/src/desktopMain/resources/org/pushingpixels/aurora/theming/greenmagic.colorschemes: -------------------------------------------------------------------------------- 1 | Green Magic Active { 2 | kind=Light 3 | colorUltraLight=#34D984 4 | colorExtraLight=#2BD59B 5 | colorLight=#1CC2AA 6 | colorMid=#07A0AA 7 | colorDark=#0A3269 8 | colorUltraDark=#061349 9 | colorForeground=#000000 10 | } 11 | 12 | Green Magic Enabled { 13 | kind=Light 14 | colorUltraLight=#CAE8BD 15 | colorExtraLight=#B3EABD 16 | colorLight=#9FDDB8 17 | colorMid=#72CAAC 18 | colorDark=#3F5368 19 | colorUltraDark=#35444F 20 | colorForeground=#1B1B1B 21 | } 22 | 23 | Green Magic Disabled { 24 | kind=Light 25 | colorUltraLight=#D3E8CA 26 | colorExtraLight=#C4EACB 27 | colorLight=#B2DDC3 28 | colorMid=#8CCAB5 29 | colorDark=#4B5968 30 | colorUltraDark=#3D474F 31 | colorForeground=#5BA581 32 | } 33 | 34 | Green Magic Footer Fill { 35 | kind=Light 36 | colorBackground=#9EDDB8 37 | colorForeground=#5BA581 38 | colorSeparatorPrimary=#589288 39 | colorSeparatorSecondary=#CAE8BD 40 | } 41 | -------------------------------------------------------------------------------- /theming/src/desktopMain/resources/org/pushingpixels/aurora/theming/mist.colorschemes: -------------------------------------------------------------------------------- 1 | Mist Enabled { 2 | kind=Light 3 | colorUltraLight=#F4F6F9 4 | colorExtraLight=#EBF0F4 5 | colorLight=#C3CDD7 6 | colorMid=#B0B5BA 7 | colorDark=#4E5358 8 | colorUltraDark=#1F2429 9 | colorForeground=#0F1419 10 | } 11 | 12 | Mist Disabled { 13 | kind=Light 14 | colorUltraLight=#E8E9EA 15 | colorExtraLight=#DFE1E3 16 | colorLight=#D2D5D7 17 | colorMid=#C5C9CC 18 | colorDark=#ABAFB4 19 | colorUltraDark=#6A6F73 20 | colorForeground=#797D82 21 | } 22 | 23 | Mist Control Pane Background { 24 | kind=Light 25 | colorUltraLight=#DAE6EE 26 | colorExtraLight=#D5E2EB 27 | colorLight=#D0DBE4 28 | colorMid=#CDD6DD 29 | colorDark=#BFC4C8 30 | colorUltraDark=#C0C2C6 31 | colorForeground=#898989 32 | } 33 | 34 | Mist Silver Active { 35 | kind=Light 36 | colorUltraLight=#FBFCFF 37 | colorExtraLight=#F2F6FB 38 | colorLight=#CED7E0 39 | colorMid=#BDC2C6 40 | colorDark=#737679 41 | colorUltraDark=#5E6062 42 | colorForeground=#424345 43 | } 44 | 45 | Mist Silver Light Blue { 46 | kind=Light 47 | colorUltraLight=#DAE6EE 48 | colorExtraLight=#D5E2EB 49 | colorLight=#D0DBE4 50 | colorMid=#CDD6DD 51 | colorDark=#BFC4C8 52 | colorUltraDark=#C0C2C6 53 | colorForeground=#0F1419 54 | } 55 | 56 | 57 | -------------------------------------------------------------------------------- /tools/screenshot/build.gradle.kts: -------------------------------------------------------------------------------- 1 | import org.jetbrains.compose.compose 2 | 3 | plugins { 4 | kotlin("multiplatform") 5 | alias(libs.plugins.jetbrainsCompose) 6 | alias(libs.plugins.compose.compiler) 7 | id("com.vanniktech.maven.publish") 8 | id("org.jetbrains.dokka") 9 | `maven-publish` 10 | } 11 | 12 | kotlin { 13 | jvm("desktop") 14 | sourceSets { 15 | named("desktopMain") { 16 | dependencies { 17 | api(compose.desktop.currentOs) 18 | implementation(libs.kotlin.coroutines) 19 | implementation(project(":common")) 20 | implementation(project(":component")) 21 | implementation(project(":theming")) 22 | implementation(project(":window")) 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /tools/screenshot/gradle.properties: -------------------------------------------------------------------------------- 1 | POM_ARTIFACT_ID=aurora-tools-screenshot 2 | POM_NAME=Aurora SVG Screenshot 3 | POM_PACKAGING=jar 4 | 5 | -------------------------------------------------------------------------------- /tools/screenshot/src/desktopMain/kotlin/org/pushingpixels/aurora/tools/screenshot/svg/radiance_menu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /tools/screenshot/src/desktopMain/kotlin/org/pushingpixels/aurora/tools/screenshot/theming/skins/AuroraSkinsDriver.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.tools.screenshot.theming.skins 17 | 18 | import org.pushingpixels.aurora.theming.IconFilterStrategy 19 | import org.pushingpixels.aurora.theming.getAuroraSkins 20 | import org.pushingpixels.aurora.tools.screenshot.screenshot 21 | import org.pushingpixels.aurora.window.auroraApplication 22 | import java.util.* 23 | import java.util.concurrent.atomic.AtomicInteger 24 | 25 | fun main(args: Array) = auroraApplication { 26 | val auroraSkins = getAuroraSkins() 27 | val counter = AtomicInteger(auroraSkins.size) 28 | for (auroraSkinDef in auroraSkins) { 29 | val skinName = auroraSkinDef.first 30 | val skinDefinition = auroraSkinDef.second 31 | val filename = 32 | args[0] + "/" + skinName.replace(" ", "").lowercase(Locale.getDefault()) + ".png" 33 | println("Writing $filename") 34 | screenshot(skinDefinition.invoke(), filename, IconFilterStrategy.Original, counter) 35 | } 36 | } 37 | 38 | -------------------------------------------------------------------------------- /tools/screenshot/src/desktopMain/kotlin/org/pushingpixels/aurora/tools/screenshot/theming/skins/AuroraSkinsIconFilterDriver.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.tools.screenshot.theming.skins 17 | 18 | import org.pushingpixels.aurora.theming.IconFilterStrategy 19 | import org.pushingpixels.aurora.theming.getAuroraSkins 20 | import org.pushingpixels.aurora.tools.screenshot.screenshot 21 | import org.pushingpixels.aurora.window.auroraApplication 22 | import java.util.* 23 | import java.util.concurrent.atomic.AtomicInteger 24 | 25 | fun main(args: Array) = auroraApplication { 26 | val auroraSkins = getAuroraSkins() 27 | val counter = AtomicInteger(auroraSkins.size) 28 | for (auroraSkinDef in auroraSkins) { 29 | val skinName = auroraSkinDef.first 30 | val skinDefinition = auroraSkinDef.second 31 | val filename = 32 | args[0] + "/" + skinName.replace(" ", "") 33 | .lowercase(Locale.getDefault()) + "-filtered.png" 34 | println("Writing $filename") 35 | screenshot( 36 | skinDefinition.invoke(), 37 | filename, 38 | IconFilterStrategy.ThemedFollowColorScheme, 39 | counter 40 | ) 41 | } 42 | } 43 | 44 | -------------------------------------------------------------------------------- /tools/svg-transcoder-gradle-plugin/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | `java-gradle-plugin` 3 | `kotlin-dsl` 4 | groovy 5 | id("com.vanniktech.maven.publish") 6 | `maven-publish` 7 | } 8 | 9 | dependencies { 10 | implementation(gradleApi()) 11 | implementation(project(":tools:svg-transcoder")) 12 | } 13 | 14 | gradlePlugin { 15 | plugins.register("org.pushing-pixels.aurora.tools.svgtranscoder.gradle") { 16 | id = "org.pushing-pixels.aurora.tools.svgtranscoder.gradle" 17 | implementationClass = "org.pushingpixels.aurora.tools.svgtranscoder.gradle.AuroraSvgTranscoderGradlePlugin" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /tools/svg-transcoder-gradle-plugin/gradle.properties: -------------------------------------------------------------------------------- 1 | POM_ARTIFACT_ID=aurora-tools-svg-transcoder-gradle-plugin 2 | POM_NAME=Gradle plugin for transcoding vector icons with Aurora 3 | POM_PACKAGING=jar 4 | 5 | -------------------------------------------------------------------------------- /tools/svg-transcoder-gradle-plugin/src/main/kotlin/org/pushingpixels/aurora/tools/svgtranscoder/gradle/AuroraSvgTranscoderGradlePlugin.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.tools.svgtranscoder.gradle 17 | 18 | import org.gradle.api.Plugin 19 | import org.gradle.api.Project 20 | 21 | class AuroraSvgTranscoderGradlePlugin : Plugin { 22 | override fun apply(project: Project) { 23 | project.tasks.register("transcode", TranscodeTask::class.java) 24 | project.tasks.register("transcodeDeep", TranscodeDeepTask::class.java) 25 | } 26 | } -------------------------------------------------------------------------------- /tools/svg-transcoder/build.gradle.kts: -------------------------------------------------------------------------------- 1 | import org.jetbrains.compose.compose 2 | 3 | plugins { 4 | kotlin("multiplatform") 5 | alias(libs.plugins.jetbrainsCompose) 6 | alias(libs.plugins.compose.compiler) 7 | id("com.vanniktech.maven.publish") 8 | id("org.jetbrains.dokka") 9 | `maven-publish` 10 | } 11 | 12 | kotlin { 13 | jvm("desktop") 14 | sourceSets { 15 | named("desktopMain") { 16 | dependencies { 17 | api(compose.desktop.common) 18 | implementation(libs.batik) 19 | } 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /tools/svg-transcoder/gradle.properties: -------------------------------------------------------------------------------- 1 | POM_ARTIFACT_ID=aurora-tools-svg-transcoder 2 | POM_NAME=Aurora SVG Transcoder 3 | POM_PACKAGING=jar 4 | 5 | -------------------------------------------------------------------------------- /tools/svg-transcoder/src/desktopMain/kotlin/org/pushingpixels/aurora/tools/svgtranscoder/TranscoderListener.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020-2025 Aurora, Kirill Grouchnikov 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.pushingpixels.aurora.tools.svgtranscoder 17 | 18 | import java.io.Writer 19 | 20 | /** 21 | * Transcoder listener. 22 | * 23 | * @author Kirill Grouchnikov. 24 | */ 25 | interface TranscoderListener { 26 | /** 27 | * Returns the writer for the Compose contents. 28 | * 29 | * @return Writer for the Compose contents. 30 | */ 31 | val writer: Writer 32 | 33 | /** 34 | * Called when the transcoding process is finished. 35 | */ 36 | fun finished() 37 | } 38 | -------------------------------------------------------------------------------- /versions.md: -------------------------------------------------------------------------------- 1 | ## Aurora release history 2 | 3 | 4 | | Version | Codename | Release date | Details | 5 | | :---: | --- | --- | --- | 6 | | 1.0 | **Arctic** | December 6, 2021 | [Announcement](https://www.pushing-pixels.org/2021/12/07/aurora-1-0-0.html) | 7 | | 1.1 | **Blizzard** | February 24, 2022 | [Announcement](https://www.pushing-pixels.org/2022/02/24/aurora-1-1-0.html) | 8 | | 1.2 | **Cryo** | October 12, 2022 | [Announcement](https://www.pushing-pixels.org/2022/10/13/aurora-1-2-0.html) | 9 | | 1.3 | **December** | December 1, 2022 | [Announcement](https://www.pushing-pixels.org/2022/12/01/aurora-1-3-0.html) | 10 | 11 |

12 | 13 |

14 | -------------------------------------------------------------------------------- /window/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | kotlin("multiplatform") 3 | alias(libs.plugins.jetbrainsCompose) 4 | alias(libs.plugins.compose.compiler) 5 | id("com.vanniktech.maven.publish") 6 | id("org.jetbrains.dokka") 7 | `maven-publish` 8 | } 9 | 10 | kotlin { 11 | jvm("desktop") 12 | sourceSets { 13 | named("commonMain") { 14 | dependencies { 15 | api(compose.runtime) 16 | api(compose.foundation) 17 | implementation(project(":component")) 18 | implementation(project(":theming")) 19 | } 20 | } 21 | named("desktopMain") { 22 | dependencies { 23 | api(compose.desktop.common) 24 | implementation(project(":common")) 25 | implementation(project(":component")) 26 | implementation(project(":theming")) 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /window/gradle.properties: -------------------------------------------------------------------------------- 1 | POM_ARTIFACT_ID=aurora-window 2 | POM_NAME=Aurora Window Layer 3 | POM_PACKAGING=jar 4 | 5 | --------------------------------------------------------------------------------