├── .gitignore
├── Bin32
├── Register32bit.bat
└── UnRegister32bit.bat
├── Bin64
├── Register64bit.bat
└── UnRegister64bit.bat
├── Build.bat
├── Debug
└── Preview Handlers
│ ├── PreviewHandler Host
│ ├── PreviewHost.dpr
│ ├── PreviewHost.dproj
│ ├── PreviewHost.res
│ ├── uHostPreview.pas
│ ├── uMain.dfm
│ └── uMain.pas
│ └── PreviewHandler Host_Without_TShellListView
│ ├── PreviewHost.dpr
│ ├── PreviewHost.dproj
│ ├── PreviewHost.res
│ ├── uHostPreview.pas
│ ├── uMain.dfm
│ └── uMain.pas
├── Ext
├── SVGIconImageList
│ ├── Image32
│ │ └── source
│ │ │ ├── Clipper.Core.pas
│ │ │ ├── Clipper.Engine.pas
│ │ │ ├── Clipper.Minkowski.pas
│ │ │ ├── Clipper.Offset.pas
│ │ │ ├── Clipper.RectClip.pas
│ │ │ ├── Clipper.inc
│ │ │ ├── Clipper.pas
│ │ │ ├── Img32.CQ.pas
│ │ │ ├── Img32.Clipper2.pas
│ │ │ ├── Img32.Draw.pas
│ │ │ ├── Img32.Extra.pas
│ │ │ ├── Img32.FMX.pas
│ │ │ ├── Img32.Fmt.BMP.pas
│ │ │ ├── Img32.Fmt.GIF.pas
│ │ │ ├── Img32.Fmt.JPG.pas
│ │ │ ├── Img32.Fmt.PNG.pas
│ │ │ ├── Img32.Fmt.QOI.pas
│ │ │ ├── Img32.Fmt.SVG.pas
│ │ │ ├── Img32.Layers.pas
│ │ │ ├── Img32.Panels.dcr
│ │ │ ├── Img32.Panels.pas
│ │ │ ├── Img32.Resamplers.pas
│ │ │ ├── Img32.SVG.Core.pas
│ │ │ ├── Img32.SVG.HashConsts.inc
│ │ │ ├── Img32.SVG.HtmlColorConsts.inc
│ │ │ ├── Img32.SVG.HtmlHashConsts.inc
│ │ │ ├── Img32.SVG.HtmlValues.inc
│ │ │ ├── Img32.SVG.Path.pas
│ │ │ ├── Img32.SVG.PathDesign.pas
│ │ │ ├── Img32.SVG.Reader.pas
│ │ │ ├── Img32.Storage.pas
│ │ │ ├── Img32.Text.pas
│ │ │ ├── Img32.Transform.pas
│ │ │ ├── Img32.Vector.pas
│ │ │ ├── Img32.Vectorizer.pas
│ │ │ ├── Img32.inc
│ │ │ └── Img32.pas
│ └── Source
│ │ ├── Browser.IconifyApi.pas
│ │ ├── D2DSVGFactory.pas
│ │ ├── FMX.Image32SVG.pas
│ │ ├── FMX.ImageSVG.pas
│ │ ├── FMX.ImageSkiaSVG.pas
│ │ ├── FMX.SVGIconImage.pas
│ │ ├── FMX.SVGIconImageList.pas
│ │ ├── FMX.SVGIconsUtils.pas
│ │ ├── Image32SVGFactory.pas
│ │ ├── SVGIconImage.pas
│ │ ├── SVGIconImageCollection.pas
│ │ ├── SVGIconImageList.inc
│ │ ├── SVGIconImageList.pas
│ │ ├── SVGIconImageListBase.pas
│ │ ├── SVGIconItems.pas
│ │ ├── SVGIconUtils.pas
│ │ ├── SVGIconVirtualImageList.pas
│ │ ├── SVGInterfaces.pas
│ │ ├── SVGMessaging.pas
│ │ ├── SkiaSVGFactory.pas
│ │ ├── Winapi.D2DMissing.pas
│ │ ├── dlgExportPNG.dfm
│ │ └── dlgExportPNG.pas
├── StyledComponents
│ ├── packages
│ │ ├── D12
│ │ │ ├── 1.Vcl.StyledComponents.groupproj
│ │ │ ├── 2.Vcl.StyledAnimatedComponents.groupproj
│ │ │ ├── StyledAnimatedComponents.dpk
│ │ │ ├── StyledAnimatedComponents.dproj
│ │ │ ├── StyledComponents.dpk
│ │ │ ├── StyledComponents.dproj
│ │ │ ├── dclStyledAnimatedComponents.dpk
│ │ │ ├── dclStyledAnimatedComponents.dproj
│ │ │ ├── dclStyledComponents.dpk
│ │ │ └── dclStyledComponents.dproj
│ │ ├── StyledAnimatedButton.dcr
│ │ ├── StyledAnimatedTaskDialog.dcr
│ │ ├── StyledAnimatedToolBar.dcr
│ │ ├── StyledButton.dcr
│ │ ├── StyledButtonGroup.dcr
│ │ ├── StyledCategoryButtons.dcr
│ │ ├── StyledComponentsSplash.res
│ │ ├── StyledDbNavigator.dcr
│ │ ├── StyledTaskDialog.dcr
│ │ ├── StyledToolBar.dcr
│ │ ├── Vcl.StyledAnimatedComponentsRegister.pas
│ │ ├── Vcl.StyledAttributesFrameUnit.dfm
│ │ ├── Vcl.StyledAttributesFrameUnit.pas
│ │ ├── Vcl.StyledButtonCustomEditorUnit.dfm
│ │ ├── Vcl.StyledButtonCustomEditorUnit.pas
│ │ ├── Vcl.StyledButtonEditorUnit.dfm
│ │ ├── Vcl.StyledButtonEditorUnit.pas
│ │ └── Vcl.StyledComponentsRegister.pas
│ └── source
│ │ ├── Animations.RES
│ │ ├── Animations.rc
│ │ ├── BuildResFileOfAnimations.cmd
│ │ ├── CommandLinkBMP.RES
│ │ ├── CommandLinkPNG.RES
│ │ ├── Skia.Vcl.StyledTaskDialogAnimatedUnit.dfm
│ │ ├── Skia.Vcl.StyledTaskDialogAnimatedUnit.pas
│ │ ├── StyledButtonsBMP.RES
│ │ ├── StyledButtonsPNG.RES
│ │ ├── StyledComponents.inc
│ │ ├── StyledNavButtonsBMP.RES
│ │ ├── StyledNavButtonsPNG.RES
│ │ ├── Vcl.AngularButtonStyles.pas
│ │ ├── Vcl.BootstrapButtonStyles.pas
│ │ ├── Vcl.ButtonStylesAttributes.pas
│ │ ├── Vcl.ColorButtonStyles.pas
│ │ ├── Vcl.SkAnimatedImageHelper.pas
│ │ ├── Vcl.StandardButtonStyles.pas
│ │ ├── Vcl.StyledAnimatedButton.pas
│ │ ├── Vcl.StyledAnimatedTaskDialog.pas
│ │ ├── Vcl.StyledAnimatedToolbar.pas
│ │ ├── Vcl.StyledButton.pas
│ │ ├── Vcl.StyledButtonGroup.pas
│ │ ├── Vcl.StyledCategoryButtons.pas
│ │ ├── Vcl.StyledCmpMessages.pas
│ │ ├── Vcl.StyledCmpStrUtils.pas
│ │ ├── Vcl.StyledCompResources.dfm
│ │ ├── Vcl.StyledComponentsHooks.pas
│ │ ├── Vcl.StyledDbNavigator.pas
│ │ ├── Vcl.StyledGraphicsUtils.pas
│ │ ├── Vcl.StyledMessagesHooks.pas
│ │ ├── Vcl.StyledTaskDialog.pas
│ │ ├── Vcl.StyledTaskDialogFormUnit.dfm
│ │ ├── Vcl.StyledTaskDialogFormUnit.pas
│ │ ├── Vcl.StyledTaskDialogStdUnit.dfm
│ │ ├── Vcl.StyledTaskDialogStdUnit.pas
│ │ ├── Vcl.StyledToolbar.pas
│ │ └── Vcl.TemplateButtonStyles.pas
├── SynEdit
│ └── Source
│ │ ├── DPageSetup.dfm
│ │ ├── DPageSetup.pas
│ │ ├── FSynHighlightProp.dfm
│ │ ├── FSynHighlightProp.pas
│ │ ├── FTestPrintPreview.dfm
│ │ ├── FTestPrintPreview.pas
│ │ ├── Page.bmp
│ │ ├── SynAccessibility.pas
│ │ ├── SynAutoCorrect.pas
│ │ ├── SynAutoCorrectEditor.dfm
│ │ ├── SynAutoCorrectEditor.pas
│ │ ├── SynCompletionProposal.pas
│ │ ├── SynDBEdit.pas
│ │ ├── SynDWrite.pas
│ │ ├── SynEdit.inc
│ │ ├── SynEdit.pas
│ │ ├── SynEdit.res
│ │ ├── SynEditCodeFolding.pas
│ │ ├── SynEditDataObject.pas
│ │ ├── SynEditDragDrop.pas
│ │ ├── SynEditExport.pas
│ │ ├── SynEditHighlighter.pas
│ │ ├── SynEditHighlighterOptions.pas
│ │ ├── SynEditJedi.inc
│ │ ├── SynEditKbdHandler.pas
│ │ ├── SynEditKeyCmdEditor.dfm
│ │ ├── SynEditKeyCmdEditor.pas
│ │ ├── SynEditKeyCmds.pas
│ │ ├── SynEditKeyCmdsEditor.dfm
│ │ ├── SynEditKeyCmdsEditor.pas
│ │ ├── SynEditKeyConst.pas
│ │ ├── SynEditMiscClasses.pas
│ │ ├── SynEditMiscProcs.pas
│ │ ├── SynEditOptionsDialog.dfm
│ │ ├── SynEditOptionsDialog.pas
│ │ ├── SynEditPlugins.pas
│ │ ├── SynEditPrint.pas
│ │ ├── SynEditPrintHeaderFooter.pas
│ │ ├── SynEditPrintMargins.pas
│ │ ├── SynEditPrintMarginsDialog.dfm
│ │ ├── SynEditPrintMarginsDialog.pas
│ │ ├── SynEditPrintPreview.pas
│ │ ├── SynEditPrintTypes.pas
│ │ ├── SynEditPrinterInfo.pas
│ │ ├── SynEditPropertyReg.pas
│ │ ├── SynEditPythonBehaviour.pas
│ │ ├── SynEditReg.dcr
│ │ ├── SynEditReg.pas
│ │ ├── SynEditReg.res
│ │ ├── SynEditRegexSearch.pas
│ │ ├── SynEditScrollBars.pas
│ │ ├── SynEditSearch.pas
│ │ ├── SynEditStrConst.pas
│ │ ├── SynEditTextBuffer.pas
│ │ ├── SynEditTypes.pas
│ │ ├── SynEditUndo.pas
│ │ ├── SynEditWildcardSearch.pas
│ │ ├── SynEditWordWrap.pas
│ │ ├── SynExportHTML.pas
│ │ ├── SynExportRTF.pas
│ │ ├── SynExportTeX.pas
│ │ ├── SynHighlighterADSP21xx.pas
│ │ ├── SynHighlighterAWK.pas
│ │ ├── SynHighlighterAsm.pas
│ │ ├── SynHighlighterBaan.pas
│ │ ├── SynHighlighterBat.pas
│ │ ├── SynHighlighterCAC.pas
│ │ ├── SynHighlighterCPM.pas
│ │ ├── SynHighlighterCS.pas
│ │ ├── SynHighlighterCache.pas
│ │ ├── SynHighlighterCobol.pas
│ │ ├── SynHighlighterCpp.pas
│ │ ├── SynHighlighterCss.pas
│ │ ├── SynHighlighterDOT.pas
│ │ ├── SynHighlighterDWS.pas
│ │ ├── SynHighlighterDfm.pas
│ │ ├── SynHighlighterDml.pas
│ │ ├── SynHighlighterEiffel.pas
│ │ ├── SynHighlighterFortran.pas
│ │ ├── SynHighlighterFoxpro.pas
│ │ ├── SynHighlighterGWS.pas
│ │ ├── SynHighlighterGalaxy.pas
│ │ ├── SynHighlighterGeneral.pas
│ │ ├── SynHighlighterHC11.pas
│ │ ├── SynHighlighterHP48.pas
│ │ ├── SynHighlighterHaskell.pas
│ │ ├── SynHighlighterHtml.pas
│ │ ├── SynHighlighterIDL.pas
│ │ ├── SynHighlighterIni.pas
│ │ ├── SynHighlighterInno.pas
│ │ ├── SynHighlighterJSON.pas
│ │ ├── SynHighlighterJScript.pas
│ │ ├── SynHighlighterJava.pas
│ │ ├── SynHighlighterKix.pas
│ │ ├── SynHighlighterLDraw.pas
│ │ ├── SynHighlighterLLVM.pas
│ │ ├── SynHighlighterM3.pas
│ │ ├── SynHighlighterManager.pas
│ │ ├── SynHighlighterModelica.pas
│ │ ├── SynHighlighterMsg.pas
│ │ ├── SynHighlighterMulti.pas
│ │ ├── SynHighlighterOmni.pas
│ │ ├── SynHighlighterPHP.pas
│ │ ├── SynHighlighterPas.pas
│ │ ├── SynHighlighterPerl.pas
│ │ ├── SynHighlighterProgress.pas
│ │ ├── SynHighlighterPython.pas
│ │ ├── SynHighlighterRC.pas
│ │ ├── SynHighlighterRexx.pas
│ │ ├── SynHighlighterRuby.pas
│ │ ├── SynHighlighterSDD.pas
│ │ ├── SynHighlighterSQL.pas
│ │ ├── SynHighlighterST.pas
│ │ ├── SynHighlighterSml.pas
│ │ ├── SynHighlighterTclTk.pas
│ │ ├── SynHighlighterTeX.pas
│ │ ├── SynHighlighterUNIXShellScript.pas
│ │ ├── SynHighlighterURI.pas
│ │ ├── SynHighlighterUnreal.pas
│ │ ├── SynHighlighterVB.pas
│ │ ├── SynHighlighterVBScript.pas
│ │ ├── SynHighlighterVrml97.pas
│ │ ├── SynHighlighterWebIDL.pas
│ │ ├── SynHighlighterXML.pas
│ │ ├── SynHighlighterYAML.pas
│ │ ├── SynMacroRecorder.pas
│ │ ├── SynOmniSetupDialog.dfm
│ │ ├── SynOmniSetupDialog.pas
│ │ ├── SynSpellCheck.dcr
│ │ ├── SynSpellCheck.pas
│ │ ├── SynURIOpener.pas
│ │ ├── SynUnicode.pas
│ │ ├── dlgConfirmReplace.dfm
│ │ ├── dlgConfirmReplace.pas
│ │ ├── dlgReplaceText.dfm
│ │ ├── dlgReplaceText.pas
│ │ ├── dlgSearchText.dfm
│ │ └── dlgSearchText.pas
└── VCLStyleUtils
│ ├── Common
│ ├── AwesomeFont.RC
│ ├── AwesomeFont.RES
│ ├── AwesomeFont_zip.RC
│ ├── AwesomeFont_zip.RES
│ ├── CompileResources.bat
│ ├── CompileResources_zip.bat
│ ├── VCL.Styles.Utils.inc
│ ├── Vcl.PlatformVclStylesActnCtrls.pas
│ ├── Vcl.Styles.ColorTabs.pas
│ ├── Vcl.Styles.ControlColor.pas
│ ├── Vcl.Styles.DPIAware.pas
│ ├── Vcl.Styles.DateTimePickers.pas
│ ├── Vcl.Styles.DbGrid.pas
│ ├── Vcl.Styles.Ext.pas
│ ├── Vcl.Styles.Fixes.pas
│ ├── Vcl.Styles.FontAwesome.pas
│ ├── Vcl.Styles.FormStyleHooks.pas
│ ├── Vcl.Styles.Hooks.pas
│ ├── Vcl.Styles.NC.pas
│ ├── Vcl.Styles.OwnerDrawFix.pas
│ ├── Vcl.Styles.Preview.pas
│ ├── Vcl.Styles.Register.pas
│ ├── Vcl.Styles.Utils.ComCtrls.pas
│ ├── Vcl.Styles.Utils.Forms.pas
│ ├── Vcl.Styles.Utils.Graphics.pas
│ ├── Vcl.Styles.Utils.Menus.pas
│ ├── Vcl.Styles.Utils.Misc.pas
│ ├── Vcl.Styles.Utils.ScreenTips.pas
│ ├── Vcl.Styles.Utils.StdCtrls.pas
│ ├── Vcl.Styles.Utils.SysControls.pas
│ ├── Vcl.Styles.Utils.SysStyleHook.pas
│ ├── Vcl.Styles.Utils.SystemMenu.pas
│ ├── Vcl.Styles.Utils.pas
│ ├── Vcl.Styles.UxTheme.pas
│ └── Vcl.Styles.WebBrowser.pas
│ └── DDetours
│ └── Source
│ ├── CPUID.pas
│ ├── DDetours.pas
│ ├── DDetoursDefs.inc
│ ├── InstDecode.pas
│ ├── LegacyTypes.pas
│ ├── ModRmFlagsTables.inc
│ ├── OpCodesTables.inc
│ └── TlHelp32.inc
├── Icons
├── folder-yellow-svg.svg
├── logo.ico
├── logo.svg
├── logo_512.png
├── setup.ico
├── setup.svg
├── setup_512.png
├── svg-logo-v.svg
└── svgfolder_multires.ico
├── Images
├── About.png
├── Context-Menu.png
├── ExportToPNG.png
├── PreviewDelphiLogos.png
├── PreviewThumbnailsDark.png
├── PreviewThumbnailsLight.png
├── SVGIconImageListBanner.png
├── SVGPreviewHandler.png
├── SVGTextEditorDark.png
├── SVGTextEditorLight.png
├── SearchText.png
├── SettingsFont.png
├── SettingsPreview.png
├── SettingsTextColors.png
├── SettingsTheme.png
├── Setup.png
├── XYplorer_Preview.png
└── XYplorer_Settings.png
├── LICENSE
├── README.htm
├── README.md
├── Setup
├── License_ENG.rtf
├── Licenza_ITA.rtf
├── SVGShellExtensions.iss
├── Settings.ini
├── SupportingDelphi.jpg
├── WizEtheaImage.bmp
├── WizEtheaSmallImage.bmp
├── WizEtheaSmallImage110x106.bmp
├── WizEtheaSmallImage119x123.bmp
├── WizEtheaSmallImage138x140.bmp
├── WizEtheaSmallImage64x68.bmp
├── WizEtheaSmallImage83x80.bmp
└── WizEtheaSmallImage92x97.bmp
├── Source
├── ChildForm.dfm
├── ChildForm.pas
├── DPageSetup.dfm
├── DPageSetup.pas
├── DResources.dfm
├── DResources.pas
├── EditorMainForm.dfm
├── EditorMainForm.pas
├── EtheaMultires.ico
├── FSplash.dfm
├── FSplash.pas
├── FTestPrintPreview.dfm
├── FTestPrintPreview.pas
├── Main.pas
├── PreviewForm.dfm
├── PreviewForm.pas
├── SVGShellExtensions.dpr
├── SVGShellExtensions.dproj
├── SVGShellExtensions.res
├── SVGShellExtensions32.dpr
├── SVGShellExtensions32.dproj
├── SVGShellExtensions32.res
├── SVGShellExtensionsGroup.groupproj
├── SVGTextEditor.dpr
├── SVGTextEditor.dproj
├── SVGTextEditor.res
├── SettingsForm.dfm
├── SettingsForm.pas
├── SynEditOptionsDialog.dfm
├── SynEditOptionsDialog.pas
├── dlgConfirmReplace.dfm
├── dlgConfirmReplace.pas
├── dlgReplaceText.dfm
├── dlgReplaceText.pas
├── dlgSearchText.dfm
├── dlgSearchText.pas
├── uAbout.dfm
├── uAbout.pas
├── uCommonPreviewHandler.pas
├── uDragDropUtils.pas
├── uFilePreviewHandler.pas
├── uLogExcept.pas
├── uMisc.pas
├── uPreviewContainer.dfm
├── uPreviewContainer.pas
├── uPreviewHandler.pas
├── uPreviewHandlerRegister.pas
├── uRegistry.pas
├── uSVGContextMenuHandler.pas
├── uSVGPreviewHandler.pas
├── uSVGThumbnailHandler.pas
├── uSettings.pas
├── uStackTrace.pas
├── uStreamAdapter.pas
├── uStreamPreviewHandler.pas
└── uThumbnailHandlerRegister.pas
├── Unregister_Register.cmd
└── Unregister_Register_Program_Files.cmd
/.gitignore:
--------------------------------------------------------------------------------
1 | # Uncomment these types if you want even more clean repository. But be careful.
2 | # It can make harm to an existing project source. Read explanations below.
3 | #
4 | # Resource files are binaries containing manifest, project icon and version info.
5 | # They can not be viewed as text or compared by diff-tools. Consider replacing them with .rc files.
6 | #*.res
7 | #
8 | # Type library file (binary). In old Delphi versions it should be stored.
9 | # Since Delphi 2009 it is produced from .ridl file and can safely be ignored.
10 | #*.tlb
11 | #
12 | # Diagram Portfolio file. Used by the diagram editor up to Delphi 7.
13 | # Uncomment this if you are not using diagrams or use newer Delphi version.
14 | #*.ddp
15 | #
16 | # Visual LiveBindings file. Added in Delphi XE2.
17 | # Uncomment this if you are not using LiveBindings Designer.
18 | #*.vlb
19 | #
20 | # Deployment Manager configuration file for your project. Added in Delphi XE2.
21 | # Uncomment this if it is not mobile development and you do not use remote debug feature.
22 | #*.deployproj
23 | #
24 | # C++ object files produced when C/C++ Output file generation is configured.
25 | # Uncomment this if you are not using external objects (zlib library for example).
26 | #*.obj
27 | #
28 |
29 | # Delphi compiler-generated binaries (safe to delete)
30 | *.exe
31 | *.dll
32 | *.bpl
33 | *.bpi
34 | *.dcp
35 | *.so
36 | *.apk
37 | *.drc
38 | *.map
39 | *.dres
40 | *.rsm
41 | *.tds
42 | *.dcu
43 | *.lib
44 | *.a
45 | *.o
46 | *.ocx
47 |
48 | # Delphi autogenerated files (duplicated info)
49 | *.cfg
50 | *.hpp
51 | *Resource.rc
52 |
53 | # Delphi local files (user-specific info)
54 | *.local
55 | *.identcache
56 | *.projdata
57 | *.tvsconfig
58 | *.dsk
59 |
60 | # Delphi history and backups
61 | __history/
62 | __recovery/
63 | *.~*
64 |
65 | # Castalia statistics file (since XE7 Castalia is distributed with Delphi)
66 | *.stat
67 |
68 | # Boss dependency manager vendor folder https://github.com/HashLoad/boss
69 | modules/
70 |
--------------------------------------------------------------------------------
/Bin32/Register32bit.bat:
--------------------------------------------------------------------------------
1 | %systemroot%\SysWoW64\regsvr32 "D:\ETHEA\SVGShellExtensions\Bin32\SVGShellExtensions32.dll"
--------------------------------------------------------------------------------
/Bin32/UnRegister32bit.bat:
--------------------------------------------------------------------------------
1 | %systemroot%\SysWoW64\regsvr32 /u "D:\ETHEA\SVGShellExtensions\Bin32\SVGShellExtensions32.dll"
--------------------------------------------------------------------------------
/Bin64/Register64bit.bat:
--------------------------------------------------------------------------------
1 | %systemroot%\System32\regsvr32 "D:\ETHEA\SVGShellExtensions\Bin64\SVGShellExtensions.dll"
--------------------------------------------------------------------------------
/Bin64/UnRegister64bit.bat:
--------------------------------------------------------------------------------
1 | %systemroot%\System32\regsvr32 /u "D:\ETHEA\SVGShellExtensions\Bin64\SVGShellExtensions.dll"
2 | rem %systemroot%\System32\regsvr32 /u "C:\Program Files\Ethea\SVGShellExtensions\SVGShellExtensions.dll"
--------------------------------------------------------------------------------
/Build.bat:
--------------------------------------------------------------------------------
1 | call "C:\BDS\Studio\23.0\bin\rsvars.bat"
2 | msbuild.exe "Source\SVGShellExtensions.dproj" /target:Clean;Build /p:Platform=Win64 /p:config=release
3 | msbuild.exe "Source\SVGShellExtensions32.dproj" /target:Clean;Build /p:Platform=Win32 /p:config=release
4 | msbuild.exe "Source\SVGTextEditor.dproj" /target:Clean;Build /p:Platform=Win64 /p:config=release
5 | msbuild.exe "Source\SVGTextEditor.dproj" /target:Clean;Build /p:Platform=Win32 /p:config=release
6 |
7 | call D:\ETHEA\Certificate\SignFileWithSectico.bat D:\ETHEA\SVGShellExtensions\Bin32\SVGTextEditor.exe
8 | call D:\ETHEA\Certificate\SignFileWithSectico.bat D:\ETHEA\SVGShellExtensions\Bin64\SVGTextEditor.exe
9 |
10 | :INNO
11 | "C:\Program Files (x86)\Inno Setup 6\iscc.exe" "D:\ETHEA\SVGShellExtensions\Setup\SVGShellExtensions.iss"
12 | set INNO_STATUS=%ERRORLEVEL%
13 | if %INNO_STATUS%==0 GOTO SIGNSETUP
14 | pause
15 | EXIT
16 |
17 | :SIGNSETUP
18 | call D:\ETHEA\Certificate\SignFileWithSectico.bat D:\ETHEA\SVGShellExtensions\Setup\Output\SVGShellExtensionsSetup.exe
19 |
20 | :END
21 | pause
22 |
--------------------------------------------------------------------------------
/Debug/Preview Handlers/PreviewHandler Host/PreviewHost.dpr:
--------------------------------------------------------------------------------
1 | program PreviewHost;
2 |
3 | uses
4 | Vcl.Forms,
5 | uMain in 'uMain.pas' {FrmMain},
6 | uHostPreview in 'uHostPreview.pas';
7 |
8 | {$R *.res}
9 |
10 | begin
11 | Application.Initialize;
12 | Application.MainFormOnTaskbar := True;
13 | Application.CreateForm(TFrmMain, FrmMain);
14 | Application.Run;
15 | end.
16 |
--------------------------------------------------------------------------------
/Debug/Preview Handlers/PreviewHandler Host/PreviewHost.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EtheaDev/SVGShellExtensions/829e1f39c62ffa6902f389ea2f6b5fc546d0180d/Debug/Preview Handlers/PreviewHandler Host/PreviewHost.res
--------------------------------------------------------------------------------
/Debug/Preview Handlers/PreviewHandler Host/uMain.dfm:
--------------------------------------------------------------------------------
1 | object FrmMain: TFrmMain
2 | Left = 0
3 | Top = 0
4 | Caption = 'Preview Handler Host Demo'
5 | ClientHeight = 559
6 | ClientWidth = 960
7 | Color = clBtnFace
8 | Font.Charset = DEFAULT_CHARSET
9 | Font.Color = clWindowText
10 | Font.Height = -11
11 | Font.Name = 'Tahoma'
12 | Font.Style = []
13 | OldCreateOrder = False
14 | OnCreate = FormCreate
15 | OnDestroy = FormDestroy
16 | PixelsPerInch = 96
17 | TextHeight = 13
18 | object Splitter1: TSplitter
19 | Left = 417
20 | Top = 0
21 | Width = 4
22 | Height = 559
23 | AutoSnap = False
24 | ExplicitLeft = 217
25 | ExplicitHeight = 338
26 | end
27 | object Panel1: TPanel
28 | Left = 421
29 | Top = 0
30 | Width = 539
31 | Height = 559
32 | Align = alClient
33 | TabOrder = 0
34 | end
35 | object Panel3: TPanel
36 | Left = 0
37 | Top = 0
38 | Width = 417
39 | Height = 559
40 | Align = alLeft
41 | TabOrder = 1
42 | object ShellListView1: TShellListView
43 | Left = 1
44 | Top = 1
45 | Width = 415
46 | Height = 557
47 | ObjectTypes = [otFolders, otNonFolders]
48 | Root = 'D:\ETHEA\SVGIconImageList\Demo\svg_examples'
49 | Sorted = True
50 | Align = alClient
51 | ReadOnly = False
52 | HideSelection = False
53 | OnChange = ShellListView1Change
54 | TabOrder = 0
55 | end
56 | end
57 | end
58 |
--------------------------------------------------------------------------------
/Debug/Preview Handlers/PreviewHandler Host/uMain.pas:
--------------------------------------------------------------------------------
1 | unit uMain;
2 |
3 | interface
4 |
5 | uses
6 | Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
7 | Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.OleCtnrs, uHostPreview,
8 | Vcl.ExtCtrls, Vcl.ComCtrls, Vcl.Shell.ShellCtrls;
9 |
10 | type
11 | TFrmMain = class(TForm)
12 | Panel1: TPanel;
13 | Panel3: TPanel;
14 | ShellListView1: TShellListView;
15 | Splitter1: TSplitter;
16 | procedure ShellListView1Change(Sender: TObject; Item: TListItem;
17 | Change: TItemChange);
18 | procedure FormCreate(Sender: TObject);
19 | procedure FormDestroy(Sender: TObject);
20 | private
21 | FFileName: string;
22 | { Private declarations }
23 | FPreview: THostPreviewHandler;
24 | procedure LoadPreview(const FileName: string);
25 | public
26 | { Public declarations }
27 | end;
28 |
29 | var
30 | FrmMain: TFrmMain;
31 |
32 | implementation
33 |
34 |
35 | {$R *.dfm}
36 |
37 | type
38 | THostPreviewHandlerClass=class(THostPreviewHandler);
39 |
40 |
41 | procedure TFrmMain.FormCreate(Sender: TObject);
42 | begin
43 | FPreview := nil;
44 | end;
45 |
46 | procedure TFrmMain.FormDestroy(Sender: TObject);
47 | begin
48 | if FPreview<>nil then
49 | FPreview.Free;
50 | end;
51 |
52 | procedure TFrmMain.LoadPreview(const FileName: string);
53 | begin
54 | if FPreview = nil then
55 | FPreview := THostPreviewHandler.Create(Self);
56 |
57 | // if FPreview<>nil then
58 | // FPreview.Free;
59 |
60 | FPreview.Top := 0;
61 | FPreview.Left := 0;
62 | FPreview.Width := Panel1.ClientWidth;
63 | FPreview.Height := Panel1.ClientHeight;
64 | FPreview.Parent := Panel1;
65 | FPreview.Align := alClient;
66 | //FPreview.FileName:='C:\Users\Dexter\Desktop\RAD Studio Projects\XE2\delphi-preview-handler\main.pas';
67 | //FPreview.FileName:='C:\Users\Dexter\Desktop\RAD Studio Projects\2010\SMBIOS Delphi\Docs\DSP0119.pdf';
68 | //FPreview.FileName:='C:\Users\Dexter\Desktop\seleccion\RePLE.msg';
69 | FPreview.FileName:=FileName;
70 | THostPreviewHandlerClass(FPreview).Paint;
71 | end;
72 |
73 | procedure TFrmMain.ShellListView1Change(Sender: TObject; Item: TListItem;
74 | Change: TItemChange);
75 | var
76 | LFileName: string;
77 | begin
78 | if (ShellListView1.SelectedFolder<>nil) then
79 | begin
80 | LFileName := ShellListView1.SelectedFolder.PathName;
81 | if (LFileName <> FFileName) and FileExists(LFileName) then
82 | begin
83 | LoadPreview(LFileName);
84 | FFileName := LFileName;
85 | end;
86 | end;
87 | end;
88 |
89 | end.
90 |
--------------------------------------------------------------------------------
/Debug/Preview Handlers/PreviewHandler Host_Without_TShellListView/PreviewHost.dpr:
--------------------------------------------------------------------------------
1 | program PreviewHost;
2 |
3 | uses
4 | Vcl.Forms,
5 | uMain in 'uMain.pas' {FrmMain},
6 | uHostPreview in 'uHostPreview.pas';
7 |
8 | {$R *.res}
9 |
10 | begin
11 | Application.Initialize;
12 | Application.MainFormOnTaskbar := True;
13 | Application.CreateForm(TFrmMain, FrmMain);
14 | Application.Run;
15 | end.
16 |
--------------------------------------------------------------------------------
/Debug/Preview Handlers/PreviewHandler Host_Without_TShellListView/PreviewHost.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EtheaDev/SVGShellExtensions/829e1f39c62ffa6902f389ea2f6b5fc546d0180d/Debug/Preview Handlers/PreviewHandler Host_Without_TShellListView/PreviewHost.res
--------------------------------------------------------------------------------
/Debug/Preview Handlers/PreviewHandler Host_Without_TShellListView/uMain.dfm:
--------------------------------------------------------------------------------
1 | object FrmMain: TFrmMain
2 | Left = 0
3 | Top = 0
4 | Caption = 'Preview Handler Host Demo'
5 | ClientHeight = 480
6 | ClientWidth = 432
7 | Color = clBtnFace
8 | Font.Charset = DEFAULT_CHARSET
9 | Font.Color = clWindowText
10 | Font.Height = -11
11 | Font.Name = 'Tahoma'
12 | Font.Style = []
13 | OldCreateOrder = False
14 | OnCreate = FormCreate
15 | PixelsPerInch = 96
16 | TextHeight = 13
17 | object Panel3: TPanel
18 | Left = 0
19 | Top = 0
20 | Width = 432
21 | Height = 49
22 | Align = alTop
23 | TabOrder = 0
24 | DesignSize = (
25 | 432
26 | 49)
27 | object EditFileName: TEdit
28 | Left = 16
29 | Top = 16
30 | Width = 322
31 | Height = 21
32 | Anchors = [akLeft, akTop, akRight]
33 | Enabled = False
34 | TabOrder = 0
35 | end
36 | object Button1: TButton
37 | Left = 344
38 | Top = 13
39 | Width = 75
40 | Height = 25
41 | Anchors = [akTop, akRight]
42 | Caption = 'Select File'
43 | TabOrder = 1
44 | OnClick = Button1Click
45 | end
46 | end
47 | object RadioGroup: TRadioGroup
48 | Left = 8
49 | Top = 64
50 | Width = 137
51 | Height = 193
52 | Caption = 'Thumbnail size'
53 | Items.Strings = (
54 | 'Small'
55 | 'Medium'
56 | 'Large'
57 | 'Huge')
58 | TabOrder = 1
59 | OnClick = RadioGroupClick
60 | end
61 | object Panel1: TPanel
62 | Left = 224
63 | Top = 64
64 | Width = 185
65 | Height = 177
66 | TabOrder = 2
67 | end
68 | object OpenDialog1: TOpenDialog
69 | Left = 360
70 | Top = 424
71 | end
72 | end
73 |
--------------------------------------------------------------------------------
/Debug/Preview Handlers/PreviewHandler Host_Without_TShellListView/uMain.pas:
--------------------------------------------------------------------------------
1 | unit uMain;
2 | interface
3 | uses
4 | Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
5 | Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.OleCtnrs,
6 | Vcl.ExtCtrls, Vcl.ComCtrls;
7 | type
8 | TFrmMain = class(TForm)
9 | Panel3: TPanel;
10 | EditFileName: TEdit;
11 | Button1: TButton;
12 | OpenDialog1: TOpenDialog;
13 | RadioGroup: TRadioGroup;
14 | Panel1: TPanel;
15 | procedure FormCreate(Sender: TObject);
16 | procedure Button1Click(Sender: TObject);
17 | procedure RadioGroupClick(Sender: TObject);
18 | private
19 | { Private declarations }
20 | procedure LoadPreview(const FileName: string);
21 | public
22 | { Public declarations }
23 | end;
24 | var
25 | FrmMain: TFrmMain;
26 |
27 | implementation
28 |
29 | uses
30 | Winapi.ActiveX;
31 | {$R *.dfm}
32 |
33 |
34 | procedure TFrmMain.Button1Click(Sender: TObject);
35 | begin
36 | if OpenDialog1.Execute() then
37 | begin
38 | EditFileName.Text:= OpenDialog1.FileName;
39 | //LoadPreview(EditFileName.Text);
40 | end;
41 | end;
42 | procedure TFrmMain.FormCreate(Sender: TObject);
43 | begin
44 | ReportMemoryLeaksOnShutdown := True;
45 | end;
46 |
47 | procedure TFrmMain.LoadPreview(const FileName: string);
48 | begin
49 | end;
50 | procedure TFrmMain.RadioGroupClick(Sender: TObject);
51 | begin
52 | (*
53 | case RadioGroup.ItemIndex of
54 | 0: Print(32);
55 | 1: Print(64);
56 | 2: Print(128);
57 | 3: Print(256);
58 | end;
59 | *)
60 | end;
61 |
62 | end.
63 |
--------------------------------------------------------------------------------
/Ext/SVGIconImageList/Image32/source/Clipper.Minkowski.pas:
--------------------------------------------------------------------------------
1 | unit Clipper.Minkowski;
2 |
3 | (*******************************************************************************
4 | * Author : Angus Johnson *
5 | * Date : 21 December 2023 *
6 | * Copyright : Angus Johnson 2010-2022 *
7 | * Purpose : Minkowski Addition and Difference *
8 | * License : https://www.boost.org/LICENSE_1_0.txt *
9 | *******************************************************************************)
10 |
11 | {$I Clipper.inc}
12 |
13 | interface
14 |
15 | uses
16 | Classes, Math, Clipper.Core;
17 |
18 | function MinkowskiSum(const Pattern, Path: TPath64;
19 | PathIsClosed: Boolean): TPaths64; overload;
20 | function MinkowskiSum(const Pattern, Path: TPathD;
21 | PathIsClosed: Boolean; decimalPlaces: integer = 2): TPathsD; overload;
22 | function MinkowskiDiff(const path1, path2: TPath64): TPaths64; overload;
23 | function MinkowskiDiff(const Pattern, Path: TPathD;
24 | PathIsClosed: Boolean; decimalPlaces: integer): TPathsD; overload;
25 |
26 | implementation
27 |
28 | uses
29 | Clipper;
30 |
31 | function AddPoints(val1, val2: TPoint64): TPoint64;
32 | {$IFDEF INLINING} inline; {$ENDIF}
33 | begin
34 | Result.X := val1.X + val2.X;
35 | Result.Y := val1.Y + val2.Y;
36 | end;
37 | //------------------------------------------------------------------------------
38 |
39 | function SubtractPoints(val1, val2: TPoint64): TPoint64;
40 | {$IFDEF INLINING} inline; {$ENDIF}
41 | begin
42 | Result.X := val1.X - val2.X;
43 | Result.Y := val1.Y - val2.Y;
44 | end;
45 | //------------------------------------------------------------------------------
46 |
47 | function Minkowski(const Base, Path: TPath64;
48 | IsSum: Boolean; IsClosed: Boolean): TPaths64;
49 | var
50 | i,j,k,g,h, delta, baseLen, pathLen: integer;
51 | tmp: TPaths64;
52 | quad: TPath64;
53 | begin
54 | delta := Iif(IsClosed, 0 , 1);
55 | baseLen := Length(Base);
56 | pathLen := Length(Path);
57 | setLength(tmp, pathLen);
58 |
59 | for i := 0 to pathLen -1 do
60 | begin
61 | setLength(tmp[i], baseLen);
62 | if IsSum then
63 | for j := 0 to baseLen -1 do
64 | tmp[i][j] := AddPoints(Path[i], Base[j])
65 | else
66 | for j := 0 to baseLen -1 do
67 | tmp[i][j] := SubtractPoints(Path[i], Base[j]);
68 | end;
69 |
70 | SetLength(quad, 4);
71 | SetLength(Result, (pathLen - delta) * baseLen);
72 | g := Iif(IsClosed, pathLen - 1, 0);
73 |
74 | for i := delta to pathLen - 1 do
75 | begin
76 | h := baseLen - 1;
77 | k := (i - delta) * baseLen;
78 | for j := 0 to baseLen - 1 do
79 | begin
80 | quad[0] := tmp[g][h];
81 | quad[1] := tmp[i][h];
82 | quad[2] := tmp[i][(j)];
83 | quad[3] := tmp[g][(j)];
84 | if not IsPositive(quad) then
85 | Result[k + j] := ReversePath(quad) else
86 | Result[k + j] := copy(quad, 0, 4);
87 | h := j;
88 | end;
89 | g := i;
90 | end;
91 | end;
92 | //------------------------------------------------------------------------------
93 |
94 | function MinkowskiSum(const Pattern, Path: TPath64; PathIsClosed: Boolean): TPaths64;
95 | begin
96 | Result := Union( Minkowski(Pattern, Path, true, PathIsClosed), frNonZero);
97 | end;
98 | //------------------------------------------------------------------------------
99 |
100 | function MinkowskiSum(const Pattern, Path: TPathD;
101 | PathIsClosed: Boolean; decimalPlaces: integer): TPathsD;
102 | var
103 | tmp: TPaths64;
104 | scale: double;
105 | begin
106 | scale := Power(10, decimalPlaces);
107 | tmp := Union( Minkowski(ScalePath(Pattern, scale),
108 | ScalePath(Path, scale), true, PathIsClosed), frNonZero);
109 | Result := ScalePathsD(tmp, 1/scale);
110 | end;
111 | //------------------------------------------------------------------------------
112 |
113 | function MinkowskiDiff(const path1, path2: TPath64): TPaths64;
114 | begin
115 | Result := Union( Minkowski(path1, path2, false, true), frNonZero);
116 | end;
117 | //------------------------------------------------------------------------------
118 |
119 | function MinkowskiDiff(const Pattern, Path: TPathD;
120 | PathIsClosed: Boolean; decimalPlaces: integer): TPathsD;
121 | var
122 | tmp: TPaths64;
123 | scale: double;
124 | begin
125 | scale := Power(10, decimalPlaces);
126 | tmp := Union( Minkowski(ScalePath(Pattern, scale),
127 | ScalePath(Path, scale), false, PathIsClosed), frNonZero);
128 | Result := ScalePathsD(tmp, 1/scale);
129 | end;
130 | //------------------------------------------------------------------------------
131 |
132 | end.
133 |
134 |
--------------------------------------------------------------------------------
/Ext/SVGIconImageList/Image32/source/Clipper.inc:
--------------------------------------------------------------------------------
1 |
2 | ///////////////////////////////////////////////////////////////////////////////
3 | //USER DEFINED PREPROCESSOR DIRECTIVES
4 | ///////////////////////////////////////////////////////////////////////////////
5 |
6 | //For user defined Z-coordinates, defined in Clipper's 'SetZ' callback event
7 | {.$DEFINE USINGZ}
8 |
9 | ///////////////////////////////////////////////////////////////////////////////
10 | //COMPILER DEFINED PREPROCESSOR DIRECTIVES (ie. do not touch ;))
11 | ///////////////////////////////////////////////////////////////////////////////
12 |
13 | {$IFDEF FPC}
14 | {$DEFINE INLINING}
15 | {$MODE DELPHI}
16 | {$ELSE}
17 | {$IF COMPILERVERSION < 14}
18 | Requires Delphi version 6 or above.
19 | {$IFEND}
20 | {$IF COMPILERVERSION >= 18} //Delphi 2007
21 | {$DEFINE RECORD_METHODS}
22 | {$DEFINE STRICT}
23 | {$IF COMPILERVERSION >= 19} //Delphi 2009
24 | //While "inlining" is supported from D2005, it's buggy (see QC41166) until D2009
25 | {$DEFINE INLINING}
26 | {$IF COMPILERVERSION >= 23} //Delphi XE2+
27 | {$DEFINE XPLAT_GENERICS}
28 | {$DEFINE ROUNDINGMODE}
29 | {$IF COMPILERVERSION >= 24} //Delphi XE3+
30 | {$LEGACYIFEND ON}
31 | {$IFEND}
32 | {$IFEND}
33 | {$IFEND}
34 | {$IFEND}
35 | {$ENDIF}
36 |
37 | {$IFDEF DEBUG}
38 | {$UNDEF INLINING}
39 | {$ENDIF}
40 |
--------------------------------------------------------------------------------
/Ext/SVGIconImageList/Image32/source/Img32.Panels.dcr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EtheaDev/SVGShellExtensions/829e1f39c62ffa6902f389ea2f6b5fc546d0180d/Ext/SVGIconImageList/Image32/source/Img32.Panels.dcr
--------------------------------------------------------------------------------
/Ext/SVGIconImageList/Image32/source/Img32.SVG.HtmlValues.inc:
--------------------------------------------------------------------------------
1 | //hash identifiers with appended underscores refer to
2 | //case sensitive string values (ie they contain capitals)
3 | h_038_aacute : val := 225;
4 | h_038_aacute_ : val := 193;
5 | h_038_acirc : val := 226;
6 | h_038_acirc_ : val := 194;
7 | h_038_acute : val := 180;
8 | h_038_aelig : val := 230;
9 | h_038_aelig_ : val := 198;
10 | h_038_agrave : val := 224;
11 | h_038_agrave_ : val := 192;
12 | h_038_alefsym : val := $2135;
13 | h_038_alpha : val := $3B1;
14 | h_038_Alpha_ : val := $391;
15 | h_038_amp : val := $26;
16 | h_038_apos : val := $27;
17 | h_038_aring_ : val := 197;
18 | h_038_aring : val := 229;
19 | h_038_ast : val := $2A;
20 | h_038_atilde_ : val := 195;
21 | h_038_atilde : val := 227;
22 | h_038_auml_ : val := 196;
23 | h_038_auml : val := 228;
24 | h_038_bull : val := $2022;
25 | h_038_cap : val := $2229;
26 | h_038_clubs : val := $2663;
27 | h_038_cup : val := $222A;
28 | h_038_brvbar : val := 166;
29 | h_038_ccedil : val := 231;
30 | h_038_cedil : val := 184;
31 | h_038_cent : val := 162;
32 | h_038_copy : val := 169;
33 | h_038_curren : val := 164;
34 | h_038_deg : val := 176;
35 | h_038_diams : val := $2666;
36 | h_038_divide : val := $F7;
37 | h_038_eacute_ : val := 201;
38 | h_038_eacute : val := 233;
39 | h_038_ecirc_ : val := 202;
40 | h_038_ecirc : val := 234;
41 | h_038_egrave : val := 232;
42 | h_038_egrave_ : val := 200;
43 | h_038_eth : val := 240;
44 | h_038_euml_ : val := 203;
45 | h_038_euml : val := 235;
46 | h_038_euro : val := 128;
47 | h_038_frac12 : val := 189;
48 | h_038_frac14 : val := 188;
49 | h_038_frac34 : val := 190;
50 | h_038_ge : val := $2265;
51 | h_038_gt : val := $3E;
52 | h_038_hearts : val := $2665;
53 | h_038_iacute_ : val := 205;
54 | h_038_iacute : val := 237;
55 | h_038_icirc_ : val := 206;
56 | h_038_icirc : val := 238;
57 | h_038_iexcl : val := 161;
58 | h_038_igrave_ : val := 204;
59 | h_038_igrave : val := 236;
60 | h_038_int : val := $222B;
61 | h_038_iquest : val := 191;
62 | h_038_iuml_ : val := 207;
63 | h_038_iuml : val := 239;
64 | h_038_laquo : val := 171;
65 | h_038_le : val := $2264;
66 | h_038_lt : val := $3C;
67 | h_038_macr : val := 175;
68 | h_038_micro : val := 181;
69 | h_038_middot : val := 183;
70 | h_038_nbsp : val := 32;
71 | h_038_not : val := 172;
72 | h_038_ntilde : val := 241;
73 | h_038_oacute_ : val := 211;
74 | h_038_oacute : val := 243;
75 | h_038_ocirc_ : val := 212;
76 | h_038_ocirc : val := 244;
77 | h_038_ograve_ : val := 210;
78 | h_038_ograve : val := 242;
79 | h_038_ordf : val := 170;
80 | h_038_ordm : val := 186;
81 | h_038_oslash : val := 248;
82 | h_038_otilde_ : val := 213;
83 | h_038_otilde : val := 245;
84 | h_038_ouml_ : val := 214;
85 | h_038_ouml : val := 246;
86 | h_038_para : val := 182;
87 | h_038_plusmn : val := 177;
88 | h_038_pound : val := 163;
89 | h_038_quot : val := $22;
90 | h_038_raquo : val := 187;
91 | h_038_reg : val := 174;
92 | h_038_sect : val := 167;
93 | h_038_shy : val := 173;
94 | h_038_spades : val := $2660;
95 | h_038_sup1 : val := 185;
96 | h_038_sup2 : val := 178;
97 | h_038_sup3 : val := 179;
98 | h_038_szlig : val := 223;
99 | h_038_thorn : val := 254;
100 | h_038_times : val := 215;
101 | h_038_uacute_ : val := 218;
102 | h_038_uacute : val := 250;
103 | h_038_ucirc : val := 251;
104 | h_038_ucirc_ : val := 219;
105 | h_038_ugrave_ : val := 217;
106 | h_038_ugrave : val := 249;
107 | h_038_uml : val := 168;
108 | h_038_uuml_ : val := 220;
109 | h_038_uuml : val := 252;
110 | h_038_yacute : val := 253;
111 | h_038_yen : val := 165;
112 |
--------------------------------------------------------------------------------
/Ext/SVGIconImageList/Source/FMX.SVGIconsUtils.pas:
--------------------------------------------------------------------------------
1 | {******************************************************************************}
2 | { }
3 | { SVGIconImageList: An extended ImageList for Delphi/FMX }
4 | { to simplify use of SVG Icons (resize, opacity and more...) }
5 | { }
6 | { Copyright (c) 2019-2025 (Ethea S.r.l.) }
7 | { Author: Carlo Barazzetta }
8 | { Contributors: }
9 | { }
10 | { https://github.com/EtheaDev/SVGIconImageList }
11 | { }
12 | {******************************************************************************}
13 | { }
14 | { Licensed under the Apache License, Version 2.0 (the "License"); }
15 | { you may not use this file except in compliance with the License. }
16 | { You may obtain a copy of the License at }
17 | { }
18 | { http://www.apache.org/licenses/LICENSE-2.0 }
19 | { }
20 | { Unless required by applicable law or agreed to in writing, software }
21 | { distributed under the License is distributed on an "AS IS" BASIS, }
22 | { WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. }
23 | { See the License for the specific language governing permissions and }
24 | { limitations under the License. }
25 | { }
26 | {******************************************************************************}
27 | unit FMX.SVGIconsUtils;
28 |
29 | interface
30 |
31 | Uses
32 | System.Types
33 | , FMX.ListBox
34 | ;
35 |
36 | function UpdateSVGIconListView(const AListBox: TListBox): Integer;
37 |
38 | implementation
39 |
40 | uses
41 | FMX.SVGIconImageList
42 | , System.SysUtils
43 | , System.Classes
44 | ;
45 |
46 | function UpdateSVGIconListView(const AListBox: TListBox): Integer;
47 | var
48 | I: Integer;
49 | LItem: TSVGIconSourceItem;
50 | LListItem: TListBoxItem;
51 | LSVGIconImageList: TSVGIconImageList;
52 | begin
53 | LSVGIconImageList := AListBox.Images as TSVGIconImageList;
54 |
55 | AListBox.Items.BeginUpdate;
56 | try
57 | AListBox.Clear;
58 | Result := LSVGIconImageList.Source.Count;
59 | for I := 0 to Result -1 do
60 | begin
61 | LItem := LSVGIconImageList.Source.Items[I] as TSVGIconSourceItem;
62 | LListItem := TListBoxItem.Create(AListBox);
63 | LListItem.StyleLookup := 'CustomListBoxItemStyle';
64 | LListItem.Text := Format('%d.%s', [LItem.Index,Litem.IconName]);
65 | LListItem.ImageIndex := I;
66 |
67 | AListBox.AddObject(LListItem);
68 | end;
69 | finally
70 | AListBox.Items.EndUpdate;
71 | end;
72 | end;
73 |
74 | end.
75 |
--------------------------------------------------------------------------------
/Ext/SVGIconImageList/Source/SVGIconImageList.inc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EtheaDev/SVGShellExtensions/829e1f39c62ffa6902f389ea2f6b5fc546d0180d/Ext/SVGIconImageList/Source/SVGIconImageList.inc
--------------------------------------------------------------------------------
/Ext/StyledComponents/packages/D12/1.Vcl.StyledComponents.groupproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | {EDD8D142-65E5-48C2-83D1-BD82B331C67A}
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | Default.Personality.12
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 | {F870FD7C-4984-4784-8B29-4CDB55E64524}
51 | Release
52 | Win32;Win64
53 | True
54 |
55 |
56 | {03F938E4-4CBD-4FD4-86A2-084115D91AA9}
57 | Release
58 | Win32;Win64
59 | True
60 |
61 |
62 |
63 |
--------------------------------------------------------------------------------
/Ext/StyledComponents/packages/D12/2.Vcl.StyledAnimatedComponents.groupproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | {C2368AEE-8E75-4300-B331-E1E8DBE3BC14}
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | Default.Personality.12
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 | {18935916-9466-4807-98CC-6A91C06F1F85}
51 | Release
52 | Win32;Win64
53 | True
54 |
55 |
56 | {EBF448F0-3AF1-4B95-B1AD-5874F1BABAEC}
57 | Release
58 | Win32;Win64
59 | True
60 |
61 |
62 |
63 |
--------------------------------------------------------------------------------
/Ext/StyledComponents/packages/D12/StyledAnimatedComponents.dpk:
--------------------------------------------------------------------------------
1 | {******************************************************************************}
2 | { }
3 | { StyledAnimatedComponents: a set of StyledComponents with animations }
4 | { using Skia4Delphi (needs Skia Package already installed }
5 | { }
6 | { Copyright (c) 2022-2025 (Ethea S.r.l.) }
7 | { Author: Carlo Barazzetta }
8 | { Contributors: }
9 | { }
10 | { https://github.com/EtheaDev/StyledComponents }
11 | { }
12 | {******************************************************************************}
13 | { }
14 | { Licensed under the Apache License, Version 2.0 (the "License"); }
15 | { you may not use this file except in compliance with the License. }
16 | { You may obtain a copy of the License at }
17 | { }
18 | { http://www.apache.org/licenses/LICENSE-2.0 }
19 | { }
20 | { Unless required by applicable law or agreed to in writing, software }
21 | { distributed under the License is distributed on an "AS IS" BASIS, }
22 | { WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. }
23 | { See the License for the specific language governing permissions and }
24 | { limitations under the License. }
25 | { }
26 | {******************************************************************************}
27 | package StyledAnimatedComponents;
28 |
29 | {$R *.res}
30 | {$R '..\StyledAnimatedButton.dcr'}
31 | {$R '..\StyledAnimatedTaskDialog.dcr'}
32 | {$R '..\StyledAnimatedToolbar.dcr'}
33 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
34 | {$ALIGN 8}
35 | {$ASSERTIONS ON}
36 | {$BOOLEVAL OFF}
37 | {$DEBUGINFO OFF}
38 | {$EXTENDEDSYNTAX ON}
39 | {$IMPORTEDDATA ON}
40 | {$IOCHECKS ON}
41 | {$LOCALSYMBOLS OFF}
42 | {$LONGSTRINGS ON}
43 | {$OPENSTRINGS ON}
44 | {$OPTIMIZATION ON}
45 | {$OVERFLOWCHECKS OFF}
46 | {$RANGECHECKS OFF}
47 | {$REFERENCEINFO OFF}
48 | {$SAFEDIVIDE OFF}
49 | {$STACKFRAMES OFF}
50 | {$TYPEDADDRESS OFF}
51 | {$VARSTRINGCHECKS ON}
52 | {$WRITEABLECONST OFF}
53 | {$MINENUMSIZE 1}
54 | {$IMAGEBASE $400000}
55 | {$DEFINE RELEASE}
56 | {$ENDIF IMPLICITBUILDING}
57 | {$DESCRIPTION 'Ethea Styled Components with Animations by Skia4Delphi'}
58 | {$LIBSUFFIX AUTO}
59 | {$RUNONLY}
60 | {$IMPLICITBUILD OFF}
61 |
62 | requires
63 | StyledComponents,
64 | Skia.Package.VCL,
65 | Skia.Package.RTL;
66 |
67 | contains
68 | Vcl.SkAnimatedImageHelper in '..\..\source\Vcl.SkAnimatedImageHelper.pas',
69 | Vcl.StyledAnimatedButton in '..\..\source\Vcl.StyledAnimatedButton.pas',
70 | Vcl.StyledAnimatedTaskDialog in '..\..\source\Vcl.StyledAnimatedTaskDialog.pas',
71 | Skia.Vcl.StyledTaskDialogAnimatedUnit in '..\..\source\Skia.Vcl.StyledTaskDialogAnimatedUnit.pas' {StyledTaskDialogAnimated},
72 | Vcl.StyledAnimatedToolbar in '..\..\source\Vcl.StyledAnimatedToolbar.pas';
73 |
74 | end.
75 |
76 |
--------------------------------------------------------------------------------
/Ext/StyledComponents/packages/D12/StyledComponents.dpk:
--------------------------------------------------------------------------------
1 | {******************************************************************************}
2 | { }
3 | { StyledComponents: a set of Styled VCL Component }
4 | { }
5 | { Copyright (c) 2022-2025 (Ethea S.r.l.) }
6 | { Author: Carlo Barazzetta }
7 | { Contributors: }
8 | { }
9 | { https://github.com/EtheaDev/StyledComponents }
10 | { }
11 | {******************************************************************************}
12 | { }
13 | { Licensed under the Apache License, Version 2.0 (the "License"); }
14 | { you may not use this file except in compliance with the License. }
15 | { You may obtain a copy of the License at }
16 | { }
17 | { http://www.apache.org/licenses/LICENSE-2.0 }
18 | { }
19 | { Unless required by applicable law or agreed to in writing, software }
20 | { distributed under the License is distributed on an "AS IS" BASIS, }
21 | { WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. }
22 | { See the License for the specific language governing permissions and }
23 | { limitations under the License. }
24 | { }
25 | {******************************************************************************}
26 | package StyledComponents;
27 |
28 | {$R *.res}
29 | {$R '..\StyledButton.dcr'}
30 | {$R '..\StyledTaskDialog.dcr'}
31 | {$R '..\StyledToolbar.dcr'}
32 | {$R '..\StyledDbNavigator.dcr'}
33 | {$R '..\StyledButtonGroup.dcr'}
34 | {$R '..\StyledCategoryButtons.dcr'}
35 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
36 | {$ALIGN 8}
37 | {$ASSERTIONS ON}
38 | {$BOOLEVAL OFF}
39 | {$DEBUGINFO OFF}
40 | {$EXTENDEDSYNTAX ON}
41 | {$IMPORTEDDATA ON}
42 | {$IOCHECKS ON}
43 | {$LOCALSYMBOLS OFF}
44 | {$LONGSTRINGS ON}
45 | {$OPENSTRINGS ON}
46 | {$OPTIMIZATION ON}
47 | {$OVERFLOWCHECKS OFF}
48 | {$RANGECHECKS OFF}
49 | {$REFERENCEINFO OFF}
50 | {$SAFEDIVIDE OFF}
51 | {$STACKFRAMES OFF}
52 | {$TYPEDADDRESS OFF}
53 | {$VARSTRINGCHECKS ON}
54 | {$WRITEABLECONST OFF}
55 | {$MINENUMSIZE 1}
56 | {$IMAGEBASE $400000}
57 | {$DEFINE RELEASE}
58 | {$ENDIF IMPLICITBUILDING}
59 | {$DESCRIPTION 'Ethea Styled Components Library'}
60 | {$LIBSUFFIX AUTO}
61 | {$RUNONLY}
62 | {$IMPLICITBUILD OFF}
63 |
64 | requires
65 | rtl,
66 | vcl,
67 | vclimg,
68 | dbrtl,
69 | vcldb,
70 | bindcomp;
71 |
72 | contains
73 | Vcl.StyledButton in '..\..\source\Vcl.StyledButton.pas',
74 | Vcl.ButtonStylesAttributes in '..\..\source\Vcl.ButtonStylesAttributes.pas',
75 | Vcl.StandardButtonStyles in '..\..\source\Vcl.StandardButtonStyles.pas',
76 | Vcl.ColorButtonStyles in '..\..\source\Vcl.ColorButtonStyles.pas',
77 | Vcl.BootstrapButtonStyles in '..\..\source\Vcl.BootstrapButtonStyles.pas',
78 | Vcl.AngularButtonStyles in '..\..\source\Vcl.AngularButtonStyles.pas',
79 | Vcl.StyledTaskDialog in '..\..\source\Vcl.StyledTaskDialog.pas',
80 | Vcl.StyledCmpMessages in '..\..\source\Vcl.StyledCmpMessages.pas',
81 | Vcl.StyledCmpStrUtils in '..\..\source\Vcl.StyledCmpStrUtils.pas',
82 | Vcl.StyledTaskDialogStdUnit in '..\..\source\Vcl.StyledTaskDialogStdUnit.pas',
83 | Vcl.StyledTaskDialogFormUnit in '..\..\source\Vcl.StyledTaskDialogFormUnit.pas' {StyledTaskDialogForm},
84 | Vcl.StyledToolbar in '..\..\source\Vcl.StyledToolbar.pas',
85 | Vcl.StyledDbNavigator in '..\..\source\Vcl.StyledDbNavigator.pas',
86 | Vcl.StyledButtonGroup in '..\..\source\Vcl.StyledButtonGroup.pas',
87 | Vcl.StyledCategoryButtons in '..\..\source\Vcl.StyledCategoryButtons.pas';
88 |
89 | end.
90 |
91 |
--------------------------------------------------------------------------------
/Ext/StyledComponents/packages/D12/dclStyledAnimatedComponents.dpk:
--------------------------------------------------------------------------------
1 | {******************************************************************************}
2 | { }
3 | { StyledAnimatedComponents: a set of StyledComponents with animations }
4 | { using Skia4Delphi (needs Skia Package already installed }
5 | { }
6 | { Copyright (c) 2022-2025 (Ethea S.r.l.) }
7 | { Author: Carlo Barazzetta }
8 | { Contributors: }
9 | { }
10 | { https://github.com/EtheaDev/StyledComponents }
11 | { }
12 | {******************************************************************************}
13 | { }
14 | { Licensed under the Apache License, Version 2.0 (the "License"); }
15 | { you may not use this file except in compliance with the License. }
16 | { You may obtain a copy of the License at }
17 | { }
18 | { http://www.apache.org/licenses/LICENSE-2.0 }
19 | { }
20 | { Unless required by applicable law or agreed to in writing, software }
21 | { distributed under the License is distributed on an "AS IS" BASIS, }
22 | { WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. }
23 | { See the License for the specific language governing permissions and }
24 | { limitations under the License. }
25 | { }
26 | {******************************************************************************}
27 | package dclStyledAnimatedComponents;
28 |
29 | {$R *.res}
30 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
31 | {$ALIGN 8}
32 | {$ASSERTIONS ON}
33 | {$BOOLEVAL OFF}
34 | {$DEBUGINFO OFF}
35 | {$EXTENDEDSYNTAX ON}
36 | {$IMPORTEDDATA ON}
37 | {$IOCHECKS ON}
38 | {$LOCALSYMBOLS OFF}
39 | {$LONGSTRINGS ON}
40 | {$OPENSTRINGS ON}
41 | {$OPTIMIZATION ON}
42 | {$OVERFLOWCHECKS OFF}
43 | {$RANGECHECKS OFF}
44 | {$REFERENCEINFO OFF}
45 | {$SAFEDIVIDE OFF}
46 | {$STACKFRAMES OFF}
47 | {$TYPEDADDRESS OFF}
48 | {$VARSTRINGCHECKS ON}
49 | {$WRITEABLECONST OFF}
50 | {$MINENUMSIZE 1}
51 | {$IMAGEBASE $400000}
52 | {$DEFINE RELEASE}
53 | {$ENDIF IMPLICITBUILDING}
54 | {$DESCRIPTION 'Ethea Styled Components with Animations by Skia4Delphi'}
55 | {$LIBSUFFIX AUTO}
56 | {$DESIGNONLY}
57 | {$IMPLICITBUILD OFF}
58 |
59 | requires
60 | DesignIDE,
61 | StyledAnimatedComponents,
62 | dclStyledComponents,
63 | Skia.Package.VCL.Designtime;
64 |
65 | contains
66 | Vcl.StyledAnimatedComponentsRegister in '..\Vcl.StyledAnimatedComponentsRegister.pas';
67 |
68 | end.
69 |
--------------------------------------------------------------------------------
/Ext/StyledComponents/packages/D12/dclStyledComponents.dpk:
--------------------------------------------------------------------------------
1 | {******************************************************************************}
2 | { }
3 | { StyledComponents: a set of Styled VCL Component }
4 | { }
5 | { Copyright (c) 2022-2025 (Ethea S.r.l.) }
6 | { Author: Carlo Barazzetta }
7 | { Contributors: }
8 | { }
9 | { https://github.com/EtheaDev/StyledComponents }
10 | { }
11 | {******************************************************************************}
12 | { }
13 | { Licensed under the Apache License, Version 2.0 (the "License"); }
14 | { you may not use this file except in compliance with the License. }
15 | { You may obtain a copy of the License at }
16 | { }
17 | { http://www.apache.org/licenses/LICENSE-2.0 }
18 | { }
19 | { Unless required by applicable law or agreed to in writing, software }
20 | { distributed under the License is distributed on an "AS IS" BASIS, }
21 | { WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. }
22 | { See the License for the specific language governing permissions and }
23 | { limitations under the License. }
24 | { }
25 | {******************************************************************************}
26 | package dclStyledComponents;
27 |
28 | {$R *.res}
29 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
30 | {$ALIGN 8}
31 | {$ASSERTIONS ON}
32 | {$BOOLEVAL OFF}
33 | {$DEBUGINFO OFF}
34 | {$EXTENDEDSYNTAX ON}
35 | {$IMPORTEDDATA ON}
36 | {$IOCHECKS ON}
37 | {$LOCALSYMBOLS OFF}
38 | {$LONGSTRINGS ON}
39 | {$OPENSTRINGS ON}
40 | {$OPTIMIZATION ON}
41 | {$OVERFLOWCHECKS OFF}
42 | {$RANGECHECKS OFF}
43 | {$REFERENCEINFO OFF}
44 | {$SAFEDIVIDE OFF}
45 | {$STACKFRAMES OFF}
46 | {$TYPEDADDRESS OFF}
47 | {$VARSTRINGCHECKS ON}
48 | {$WRITEABLECONST OFF}
49 | {$MINENUMSIZE 1}
50 | {$IMAGEBASE $400000}
51 | {$DEFINE RELEASE}
52 | {$ENDIF IMPLICITBUILDING}
53 | {$DESCRIPTION 'Ethea Styled Components Library'}
54 | {$LIBSUFFIX AUTO}
55 | {$DESIGNONLY}
56 | {$IMPLICITBUILD OFF}
57 |
58 | requires
59 | DesignIDE,
60 | StyledComponents;
61 |
62 | contains
63 | Vcl.StyledComponentsRegister in '..\Vcl.StyledComponentsRegister.pas',
64 | Vcl.StyledButtonEditorUnit in '..\Vcl.StyledButtonEditorUnit.pas' {StyledButtonEditor};
65 |
66 | end.
67 |
--------------------------------------------------------------------------------
/Ext/StyledComponents/packages/StyledAnimatedButton.dcr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EtheaDev/SVGShellExtensions/829e1f39c62ffa6902f389ea2f6b5fc546d0180d/Ext/StyledComponents/packages/StyledAnimatedButton.dcr
--------------------------------------------------------------------------------
/Ext/StyledComponents/packages/StyledAnimatedTaskDialog.dcr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EtheaDev/SVGShellExtensions/829e1f39c62ffa6902f389ea2f6b5fc546d0180d/Ext/StyledComponents/packages/StyledAnimatedTaskDialog.dcr
--------------------------------------------------------------------------------
/Ext/StyledComponents/packages/StyledAnimatedToolBar.dcr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EtheaDev/SVGShellExtensions/829e1f39c62ffa6902f389ea2f6b5fc546d0180d/Ext/StyledComponents/packages/StyledAnimatedToolBar.dcr
--------------------------------------------------------------------------------
/Ext/StyledComponents/packages/StyledButton.dcr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EtheaDev/SVGShellExtensions/829e1f39c62ffa6902f389ea2f6b5fc546d0180d/Ext/StyledComponents/packages/StyledButton.dcr
--------------------------------------------------------------------------------
/Ext/StyledComponents/packages/StyledButtonGroup.dcr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EtheaDev/SVGShellExtensions/829e1f39c62ffa6902f389ea2f6b5fc546d0180d/Ext/StyledComponents/packages/StyledButtonGroup.dcr
--------------------------------------------------------------------------------
/Ext/StyledComponents/packages/StyledCategoryButtons.dcr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EtheaDev/SVGShellExtensions/829e1f39c62ffa6902f389ea2f6b5fc546d0180d/Ext/StyledComponents/packages/StyledCategoryButtons.dcr
--------------------------------------------------------------------------------
/Ext/StyledComponents/packages/StyledComponentsSplash.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EtheaDev/SVGShellExtensions/829e1f39c62ffa6902f389ea2f6b5fc546d0180d/Ext/StyledComponents/packages/StyledComponentsSplash.res
--------------------------------------------------------------------------------
/Ext/StyledComponents/packages/StyledDbNavigator.dcr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EtheaDev/SVGShellExtensions/829e1f39c62ffa6902f389ea2f6b5fc546d0180d/Ext/StyledComponents/packages/StyledDbNavigator.dcr
--------------------------------------------------------------------------------
/Ext/StyledComponents/packages/StyledTaskDialog.dcr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EtheaDev/SVGShellExtensions/829e1f39c62ffa6902f389ea2f6b5fc546d0180d/Ext/StyledComponents/packages/StyledTaskDialog.dcr
--------------------------------------------------------------------------------
/Ext/StyledComponents/packages/StyledToolBar.dcr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EtheaDev/SVGShellExtensions/829e1f39c62ffa6902f389ea2f6b5fc546d0180d/Ext/StyledComponents/packages/StyledToolBar.dcr
--------------------------------------------------------------------------------
/Ext/StyledComponents/source/Animations.RES:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EtheaDev/SVGShellExtensions/829e1f39c62ffa6902f389ea2f6b5fc546d0180d/Ext/StyledComponents/source/Animations.RES
--------------------------------------------------------------------------------
/Ext/StyledComponents/source/Animations.rc:
--------------------------------------------------------------------------------
1 | LOTTIE_INFORMATION RCDATA "..\Animations\information.json"
2 | LOTTIE_CUSTOM RCDATA "..\Animations\custom.json"
3 | LOTTIE_ERROR RCDATA "..\Animations\error.json"
4 | LOTTIE_WARNING RCDATA "..\Animations\warning.json"
5 | LOTTIE_SHIELD RCDATA "..\Animations\shield.json"
6 | LOTTIE_NOTIFY RCDATA "..\Animations\notify.json"
7 | LOTTIE_QUESTION RCDATA "..\Animations\question.json"
--------------------------------------------------------------------------------
/Ext/StyledComponents/source/BuildResFileOfAnimations.cmd:
--------------------------------------------------------------------------------
1 | @echo Buid Animations.res file from Animations.rc
2 | BRCC32.EXE Animations.rc
3 | pause
--------------------------------------------------------------------------------
/Ext/StyledComponents/source/CommandLinkBMP.RES:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EtheaDev/SVGShellExtensions/829e1f39c62ffa6902f389ea2f6b5fc546d0180d/Ext/StyledComponents/source/CommandLinkBMP.RES
--------------------------------------------------------------------------------
/Ext/StyledComponents/source/CommandLinkPNG.RES:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EtheaDev/SVGShellExtensions/829e1f39c62ffa6902f389ea2f6b5fc546d0180d/Ext/StyledComponents/source/CommandLinkPNG.RES
--------------------------------------------------------------------------------
/Ext/StyledComponents/source/Skia.Vcl.StyledTaskDialogAnimatedUnit.dfm:
--------------------------------------------------------------------------------
1 | inherited StyledTaskDialogAnimatedForm: TStyledTaskDialogAnimatedForm
2 | Caption = 'StyledTaskDialogAnimatedForm'
3 | TextHeight = 15
4 | inherited FooterPanel: TPanel
5 | inherited FooterIconPanel: TPanel
6 | object SkFooterAnimatedImage: TSkAnimatedImage
7 | Left = 0
8 | Top = 0
9 | Width = 25
10 | Height = 25
11 | Align = alTop
12 | end
13 | end
14 | end
15 | inherited CenterPanel: TPanel
16 | inherited ImagePanel: TPanel
17 | inherited IconContainer: TPanel
18 | object SkAnimatedImage: TSkAnimatedImage
19 | Left = 0
20 | Top = 0
21 | Width = 64
22 | Height = 64
23 | Align = alClient
24 | end
25 | end
26 | end
27 | end
28 | end
29 |
--------------------------------------------------------------------------------
/Ext/StyledComponents/source/StyledButtonsBMP.RES:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EtheaDev/SVGShellExtensions/829e1f39c62ffa6902f389ea2f6b5fc546d0180d/Ext/StyledComponents/source/StyledButtonsBMP.RES
--------------------------------------------------------------------------------
/Ext/StyledComponents/source/StyledButtonsPNG.RES:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EtheaDev/SVGShellExtensions/829e1f39c62ffa6902f389ea2f6b5fc546d0180d/Ext/StyledComponents/source/StyledButtonsPNG.RES
--------------------------------------------------------------------------------
/Ext/StyledComponents/source/StyledComponents.inc:
--------------------------------------------------------------------------------
1 | {.$Define ItaMessages}
2 | {.$Define FraMessages}
3 | {.$DEFINE Use_Large_Dialog_Icons}
4 |
5 | {$DEFINE INCLUDE_AngularButtonStyles}
6 | {$DEFINE INCLUDE_BootstrapButtonStyles}
7 | {$DEFINE INCLUDE_ColorButtonStyles}
8 |
9 | // Delphi XE6
10 | {$IFDEF VER270}
11 | {$DEFINE DXE6+}
12 | {$ENDIF}
13 |
14 | // Delphi XE7
15 | {$IFDEF VER280}
16 | {$DEFINE DXE6+}
17 | {$DEFINE DXE7+}
18 | {$ENDIF}
19 |
20 | // Delphi XE8
21 | {$IFDEF VER290}
22 | {$DEFINE DXE6+}
23 | {$DEFINE DXE7+}
24 | {$DEFINE DXE8+}
25 | {$ENDIF}
26 |
27 | // Delphi 10 Seattle
28 | {$IFDEF VER300}
29 | {$DEFINE DXE6+}
30 | {$DEFINE DXE7+}
31 | {$DEFINE DXE8+}
32 | {$DEFINE D10_0+}
33 | {$ENDIF}
34 |
35 | // Delphi 10.1 Berlin
36 | {$IFDEF VER310}
37 | {$DEFINE DXE6+}
38 | {$DEFINE DXE7+}
39 | {$DEFINE DXE8+}
40 | {$DEFINE D10_0+}
41 | {$DEFINE D10_1+}
42 | {$ENDIF}
43 |
44 | // Delphi 10.2 Tokyo
45 | {$IFDEF VER320}
46 | {$DEFINE DXE6+}
47 | {$DEFINE DXE7+}
48 | {$DEFINE DXE8+}
49 | {$DEFINE D10_0+}
50 | {$DEFINE D10_1+}
51 | {$DEFINE D10_2+}
52 | {$ENDIF}
53 |
54 | // Delphi 10.3 Rio
55 | {$IFDEF VER330}
56 | {$DEFINE DXE6+}
57 | {$DEFINE DXE7+}
58 | {$DEFINE DXE8+}
59 | {$DEFINE D10_0+}
60 | {$DEFINE D10_1+}
61 | {$DEFINE D10_2+}
62 | {$DEFINE D10_3+}
63 | {$ENDIF}
64 |
65 | // Delphi 10.4 Sydney
66 | {$IFDEF VER340}
67 | {$DEFINE DXE6+}
68 | {$DEFINE DXE7+}
69 | {$DEFINE DXE8+}
70 | {$DEFINE D10_0+}
71 | {$DEFINE D10_1+}
72 | {$DEFINE D10_2+}
73 | {$DEFINE D10_3+}
74 | {$DEFINE D10_4+}
75 | {$ENDIF}
76 |
77 | // Delphi 11 Alexandria
78 | {$IFDEF VER350}
79 | {$DEFINE DXE6+}
80 | {$DEFINE DXE7+}
81 | {$DEFINE DXE8+}
82 | {$DEFINE D10_0+}
83 | {$DEFINE D10_1+}
84 | {$DEFINE D10_2+}
85 | {$DEFINE D10_3+}
86 | {$DEFINE D10_4+}
87 | {$DEFINE D11+}
88 | {$ENDIF}
89 |
90 | // Delphi 12 Athens
91 | {$IFDEF VER360}
92 | {$DEFINE DXE6+}
93 | {$DEFINE DXE7+}
94 | {$DEFINE DXE8+}
95 | {$DEFINE D10_0+}
96 | {$DEFINE D10_1+}
97 | {$DEFINE D10_2+}
98 | {$DEFINE D10_3+}
99 | {$DEFINE D10_4+}
100 | {$DEFINE D11+}
101 | {$DEFINE D12+}
102 | {$ENDIF}
103 |
104 | {$IFDEF DXE6+}
105 | {$Define GDIPlusSupport}
106 | {.$Define DrawTextWithGDIPlus}
107 | {$Define DrawRectWithGDIPlus}
108 | {$ENDIF}
109 |
110 | {$IFDEF D10_3+}
111 | {$Define HiDPISupport}
112 | {$ENDIF}
113 |
114 |
--------------------------------------------------------------------------------
/Ext/StyledComponents/source/StyledNavButtonsBMP.RES:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EtheaDev/SVGShellExtensions/829e1f39c62ffa6902f389ea2f6b5fc546d0180d/Ext/StyledComponents/source/StyledNavButtonsBMP.RES
--------------------------------------------------------------------------------
/Ext/StyledComponents/source/StyledNavButtonsPNG.RES:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EtheaDev/SVGShellExtensions/829e1f39c62ffa6902f389ea2f6b5fc546d0180d/Ext/StyledComponents/source/StyledNavButtonsPNG.RES
--------------------------------------------------------------------------------
/Ext/StyledComponents/source/Vcl.StyledAnimatedTaskDialog.pas:
--------------------------------------------------------------------------------
1 | {******************************************************************************}
2 | { }
3 | { StyledAnimatedTaskDialog: a Task Dialog Component with StyleButtons }
4 | { and animations using Skia4Delphi }
5 | { }
6 | { Copyright (c) 2022-2025 (Ethea S.r.l.) }
7 | { Author: Carlo Barazzetta }
8 | { Contributors: }
9 | { }
10 | { https://github.com/EtheaDev/StyledComponents }
11 | { }
12 | {******************************************************************************}
13 | { }
14 | { Licensed under the Apache License, Version 2.0 (the "License"); }
15 | { you may not use this file except in compliance with the License. }
16 | { You may obtain a copy of the License at }
17 | { }
18 | { http://www.apache.org/licenses/LICENSE-2.0 }
19 | { }
20 | { Unless required by applicable law or agreed to in writing, software }
21 | { distributed under the License is distributed on an "AS IS" BASIS, }
22 | { WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. }
23 | { See the License for the specific language governing permissions and }
24 | { limitations under the License. }
25 | { }
26 | {******************************************************************************}
27 | unit Vcl.StyledAnimatedTaskDialog;
28 |
29 | {$INCLUDE StyledComponents.inc}
30 |
31 | interface
32 |
33 | uses
34 | System.SysUtils
35 | , System.Classes
36 | , WinApi.Windows
37 | , Vcl.StyledTaskDialog
38 | ;
39 |
40 | //{$WARN SYMBOL_PLATFORM OFF}
41 | type
42 | TStyledAnimatedTaskDialog = class(TStyledTaskDialog)
43 | private
44 | strict protected
45 | public
46 | end;
47 |
48 | implementation
49 |
50 | uses
51 | Skia.Vcl.StyledTaskDialogAnimatedUnit //to register StyledTaskDialogAnimatedUnit
52 | ;
53 |
54 | initialization
55 |
56 | finalization
57 |
58 | end.
59 |
--------------------------------------------------------------------------------
/Ext/StyledComponents/source/Vcl.StyledCmpMessages.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EtheaDev/SVGShellExtensions/829e1f39c62ffa6902f389ea2f6b5fc546d0180d/Ext/StyledComponents/source/Vcl.StyledCmpMessages.pas
--------------------------------------------------------------------------------
/Ext/StyledComponents/source/Vcl.StyledCmpStrUtils.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EtheaDev/SVGShellExtensions/829e1f39c62ffa6902f389ea2f6b5fc546d0180d/Ext/StyledComponents/source/Vcl.StyledCmpStrUtils.pas
--------------------------------------------------------------------------------
/Ext/StyledComponents/source/Vcl.StyledCompResources.dfm:
--------------------------------------------------------------------------------
1 | object StyledCompResourcesData: TStyledCompResourcesData
2 | Height = 192
3 | Width = 320
4 | object SVGIconImageCollection: TSVGIconImageCollection
5 | SVGIconItems = <
6 | item
7 | IconName = 'Warning'
8 | SVGText =
9 | ''
15 | FixedColor = clYellow
16 | end
17 | item
18 | IconName = 'Error'
19 | SVGText =
20 | '