├── .gitignore
├── LICENSE
├── Libraries
├── Readme.md
├── net46
│ ├── SharpVectors.Notifications.Wpf.dll
│ ├── SharpVectors.Notifications.Wpf.xml
│ ├── SharpVectors.ShellFileDialogs.dll
│ ├── SharpVectors.ShellFileDialogs.dll.config
│ └── SharpVectors.ShellFileDialogs.xml
├── net48
│ ├── SharpVectors.Notifications.Wpf.dll
│ ├── SharpVectors.Notifications.Wpf.xml
│ ├── SharpVectors.ShellFileDialogs.dll
│ ├── SharpVectors.ShellFileDialogs.dll.config
│ └── SharpVectors.ShellFileDialogs.xml
├── netcoreapp3.1
│ ├── SharpVectors.Notifications.Wpf.deps.json
│ ├── SharpVectors.Notifications.Wpf.dll
│ └── SharpVectors.Notifications.Wpf.xml
└── netstandard2.1
│ ├── SharpVectors.ShellFileDialogs.deps.json
│ ├── SharpVectors.ShellFileDialogs.dll
│ ├── SharpVectors.ShellFileDialogs.dll.config
│ └── SharpVectors.ShellFileDialogs.xml
├── Output
├── net46
│ ├── SharpVectors.Converters.Wpf.dll
│ ├── SharpVectors.Core.dll
│ ├── SharpVectors.Css.dll
│ ├── SharpVectors.Dom.dll
│ ├── SharpVectors.Model.dll
│ ├── SharpVectors.Rendering.Gdi.dll
│ ├── SharpVectors.Rendering.Wpf.dll
│ ├── SharpVectors.Runtime.Wpf.dll
│ ├── SvgViewer.exe
│ └── SvgViewer.exe.config
├── net48
│ ├── SharpVectors.Converters.Wpf.dll
│ ├── SharpVectors.Core.dll
│ ├── SharpVectors.Css.dll
│ ├── SharpVectors.Dom.dll
│ ├── SharpVectors.Model.dll
│ ├── SharpVectors.Rendering.Gdi.dll
│ ├── SharpVectors.Rendering.Wpf.dll
│ ├── SharpVectors.Runtime.Wpf.dll
│ ├── SvgViewer.exe
│ └── SvgViewer.exe.config
└── netcoreapp3.1
│ ├── SharpVectors.Converters.Wpf.dll
│ ├── SharpVectors.Core.dll
│ ├── SharpVectors.Css.dll
│ ├── SharpVectors.Dom.dll
│ ├── SharpVectors.Model.dll
│ ├── SharpVectors.Rendering.Gdi.dll
│ ├── SharpVectors.Rendering.Wpf.dll
│ ├── SharpVectors.Runtime.Wpf.dll
│ ├── SvgViewer.deps.json
│ ├── SvgViewer.dll
│ ├── SvgViewer.dll.config
│ ├── SvgViewer.exe
│ ├── SvgViewer.runtimeconfig.dev.json
│ └── SvgViewer.runtimeconfig.json
├── README.md
└── Source
├── Readme.md
├── SharpVectorsSvgViewer.sln
└── SvgViewer
├── App.xaml
├── App.xaml.cs
├── MainWindow.xaml
├── MainWindow.xaml.cs
├── MouseHandlingMode.cs
├── Properties
├── AssemblyInfo.cs
├── Resources.Designer.cs
├── Resources.resx
├── Settings.Designer.cs
└── Settings.settings
├── SvgViewer.VS2017.csproj
├── SvgViewer.csproj
└── app.config
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 | ##
4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
5 |
6 | # User-specific files
7 | *.rsuser
8 | *.suo
9 | *.user
10 | *.userosscache
11 | *.sln.docstates
12 |
13 | # User-specific files (MonoDevelop/Xamarin Studio)
14 | *.userprefs
15 |
16 | # Mono auto generated files
17 | mono_crash.*
18 |
19 | # Build results
20 | [Dd]ebug/
21 | [Dd]ebugPublic/
22 | [Rr]elease/
23 | [Rr]eleases/
24 | x64/
25 | x86/
26 | [Aa][Rr][Mm]/
27 | [Aa][Rr][Mm]64/
28 | bld/
29 | [Bb]in/
30 | [Oo]bj/
31 | [Ll]og/
32 | [Ll]ogs/
33 |
34 | # Visual Studio 2015/2017 cache/options directory
35 | .vs/
36 | # Uncomment if you have tasks that create the project's static files in wwwroot
37 | #wwwroot/
38 |
39 | # Visual Studio 2017 auto generated files
40 | Generated\ Files/
41 |
42 | # MSTest test Results
43 | [Tt]est[Rr]esult*/
44 | [Bb]uild[Ll]og.*
45 |
46 | # NUnit
47 | *.VisualState.xml
48 | TestResult.xml
49 | nunit-*.xml
50 |
51 | # Build Results of an ATL Project
52 | [Dd]ebugPS/
53 | [Rr]eleasePS/
54 | dlldata.c
55 |
56 | # Benchmark Results
57 | BenchmarkDotNet.Artifacts/
58 |
59 | # .NET Core
60 | project.lock.json
61 | project.fragment.lock.json
62 | artifacts/
63 |
64 | # StyleCop
65 | StyleCopReport.xml
66 |
67 | # Files built by Visual Studio
68 | *_i.c
69 | *_p.c
70 | *_h.h
71 | *.ilk
72 | *.meta
73 | *.obj
74 | *.iobj
75 | *.pch
76 | *.pdb
77 | *.ipdb
78 | *.pgc
79 | *.pgd
80 | *.rsp
81 | *.sbr
82 | *.tlb
83 | *.tli
84 | *.tlh
85 | *.tmp
86 | *.tmp_proj
87 | *_wpftmp.csproj
88 | *.log
89 | *.vspscc
90 | *.vssscc
91 | .builds
92 | *.pidb
93 | *.svclog
94 | *.scc
95 |
96 | # Chutzpah Test files
97 | _Chutzpah*
98 |
99 | # Visual C++ cache files
100 | ipch/
101 | *.aps
102 | *.ncb
103 | *.opendb
104 | *.opensdf
105 | *.sdf
106 | *.cachefile
107 | *.VC.db
108 | *.VC.VC.opendb
109 |
110 | # Visual Studio profiler
111 | *.psess
112 | *.vsp
113 | *.vspx
114 | *.sap
115 |
116 | # Visual Studio Trace Files
117 | *.e2e
118 |
119 | # TFS 2012 Local Workspace
120 | $tf/
121 |
122 | # Guidance Automation Toolkit
123 | *.gpState
124 |
125 | # ReSharper is a .NET coding add-in
126 | _ReSharper*/
127 | *.[Rr]e[Ss]harper
128 | *.DotSettings.user
129 |
130 | # TeamCity is a build add-in
131 | _TeamCity*
132 |
133 | # DotCover is a Code Coverage Tool
134 | *.dotCover
135 |
136 | # AxoCover is a Code Coverage Tool
137 | .axoCover/*
138 | !.axoCover/settings.json
139 |
140 | # Visual Studio code coverage results
141 | *.coverage
142 | *.coveragexml
143 |
144 | # NCrunch
145 | _NCrunch_*
146 | .*crunch*.local.xml
147 | nCrunchTemp_*
148 |
149 | # MightyMoose
150 | *.mm.*
151 | AutoTest.Net/
152 |
153 | # Web workbench (sass)
154 | .sass-cache/
155 |
156 | # Installshield output folder
157 | [Ee]xpress/
158 |
159 | # DocProject is a documentation generator add-in
160 | DocProject/buildhelp/
161 | DocProject/Help/*.HxT
162 | DocProject/Help/*.HxC
163 | DocProject/Help/*.hhc
164 | DocProject/Help/*.hhk
165 | DocProject/Help/*.hhp
166 | DocProject/Help/Html2
167 | DocProject/Help/html
168 |
169 | # Click-Once directory
170 | publish/
171 |
172 | # Publish Web Output
173 | *.[Pp]ublish.xml
174 | *.azurePubxml
175 | # Note: Comment the next line if you want to checkin your web deploy settings,
176 | # but database connection strings (with potential passwords) will be unencrypted
177 | *.pubxml
178 | *.publishproj
179 |
180 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
181 | # checkin your Azure Web App publish settings, but sensitive information contained
182 | # in these scripts will be unencrypted
183 | PublishScripts/
184 |
185 | # NuGet Packages
186 | *.nupkg
187 | # NuGet Symbol Packages
188 | *.snupkg
189 | # The packages folder can be ignored because of Package Restore
190 | **/[Pp]ackages/*
191 | # except build/, which is used as an MSBuild target.
192 | !**/[Pp]ackages/build/
193 | # Uncomment if necessary however generally it will be regenerated when needed
194 | #!**/[Pp]ackages/repositories.config
195 | # NuGet v3's project.json files produces more ignorable files
196 | *.nuget.props
197 | *.nuget.targets
198 |
199 | # Microsoft Azure Build Output
200 | csx/
201 | *.build.csdef
202 |
203 | # Microsoft Azure Emulator
204 | ecf/
205 | rcf/
206 |
207 | # Windows Store app package directories and files
208 | AppPackages/
209 | BundleArtifacts/
210 | Package.StoreAssociation.xml
211 | _pkginfo.txt
212 | *.appx
213 | *.appxbundle
214 | *.appxupload
215 |
216 | # Visual Studio cache files
217 | # files ending in .cache can be ignored
218 | *.[Cc]ache
219 | # but keep track of directories ending in .cache
220 | !?*.[Cc]ache/
221 |
222 | # Others
223 | ClientBin/
224 | ~$*
225 | *~
226 | *.dbmdl
227 | *.dbproj.schemaview
228 | *.jfm
229 | *.pfx
230 | *.publishsettings
231 | orleans.codegen.cs
232 |
233 | # Including strong name files can present a security risk
234 | # (https://github.com/github/gitignore/pull/2483#issue-259490424)
235 | #*.snk
236 |
237 | # Since there are multiple workflows, uncomment next line to ignore bower_components
238 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
239 | #bower_components/
240 |
241 | # RIA/Silverlight projects
242 | Generated_Code/
243 |
244 | # Backup & report files from converting an old project file
245 | # to a newer Visual Studio version. Backup files are not needed,
246 | # because we have git ;-)
247 | _UpgradeReport_Files/
248 | Backup*/
249 | UpgradeLog*.XML
250 | UpgradeLog*.htm
251 | ServiceFabricBackup/
252 | *.rptproj.bak
253 |
254 | # SQL Server files
255 | *.mdf
256 | *.ldf
257 | *.ndf
258 |
259 | # Business Intelligence projects
260 | *.rdl.data
261 | *.bim.layout
262 | *.bim_*.settings
263 | *.rptproj.rsuser
264 | *- [Bb]ackup.rdl
265 | *- [Bb]ackup ([0-9]).rdl
266 | *- [Bb]ackup ([0-9][0-9]).rdl
267 |
268 | # Microsoft Fakes
269 | FakesAssemblies/
270 |
271 | # GhostDoc plugin setting file
272 | *.GhostDoc.xml
273 |
274 | # Node.js Tools for Visual Studio
275 | .ntvs_analysis.dat
276 | node_modules/
277 |
278 | # Visual Studio 6 build log
279 | *.plg
280 |
281 | # Visual Studio 6 workspace options file
282 | *.opt
283 |
284 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
285 | *.vbw
286 |
287 | # Visual Studio LightSwitch build output
288 | **/*.HTMLClient/GeneratedArtifacts
289 | **/*.DesktopClient/GeneratedArtifacts
290 | **/*.DesktopClient/ModelManifest.xml
291 | **/*.Server/GeneratedArtifacts
292 | **/*.Server/ModelManifest.xml
293 | _Pvt_Extensions
294 |
295 | # Paket dependency manager
296 | .paket/paket.exe
297 | paket-files/
298 |
299 | # FAKE - F# Make
300 | .fake/
301 |
302 | # CodeRush personal settings
303 | .cr/personal
304 |
305 | # Python Tools for Visual Studio (PTVS)
306 | __pycache__/
307 | *.pyc
308 |
309 | # Cake - Uncomment if you are using it
310 | # tools/**
311 | # !tools/packages.config
312 |
313 | # Tabs Studio
314 | *.tss
315 |
316 | # Telerik's JustMock configuration file
317 | *.jmconfig
318 |
319 | # BizTalk build output
320 | *.btp.cs
321 | *.btm.cs
322 | *.odx.cs
323 | *.xsd.cs
324 |
325 | # OpenCover UI analysis results
326 | OpenCover/
327 |
328 | # Azure Stream Analytics local run output
329 | ASALocalRun/
330 |
331 | # MSBuild Binary and Structured Log
332 | *.binlog
333 |
334 | # NVidia Nsight GPU debugger configuration file
335 | *.nvuser
336 |
337 | # MFractors (Xamarin productivity tool) working folder
338 | .mfractor/
339 |
340 | # Local History for Visual Studio
341 | .localhistory/
342 |
343 | # BeatPulse healthcheck temp database
344 | healthchecksdb
345 |
346 | # Backup folder for Package Reference Convert tool in Visual Studio 2017
347 | MigrationBackup/
348 |
349 | # Ionide (cross platform F# VS Code tools) working folder
350 | .ionide/
351 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | BSD 3-Clause License
2 |
3 | Copyright (c) 2020, ElinamLLC
4 | All rights reserved.
5 |
6 | Redistribution and use in source and binary forms, with or without
7 | modification, are permitted provided that the following conditions are met:
8 |
9 | 1. Redistributions of source code must retain the above copyright notice, this
10 | list of conditions and the following disclaimer.
11 |
12 | 2. Redistributions in binary form must reproduce the above copyright notice,
13 | this list of conditions and the following disclaimer in the documentation
14 | and/or other materials provided with the distribution.
15 |
16 | 3. Neither the name of the copyright holder nor the names of its
17 | contributors may be used to endorse or promote products derived from
18 | this software without specific prior written permission.
19 |
20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 |
--------------------------------------------------------------------------------
/Libraries/Readme.md:
--------------------------------------------------------------------------------
1 | ## SharpVectors: Libraries
2 |
3 | The directory contains third-party libraries customized and/or built for the multi-platform sample projects and test applications.
4 |
5 | The following are the list of the libraries and with a short description.
6 |
7 | * **ICSharpCode.TextEditor.dll** This the source code text editing component found in Windows Forms versions of the SharpDevelop IDE. The source code is archived.
8 | This is used as SVG editor and viewer in Windows Forms samples and test applications.
9 | Link: https://github.com/icsharpcode/SharpDevelop
10 | * **SharpVectors.HtmlRenderer.WinForms.dll** This is a customized version an HTML Rendering control. This packs all the necessary codes in a single DLL for used by Windows Forms samples and test applications in places where the FlowDocument is used in WPF samples.
11 | Link: https://github.com/ArthurHub/HTML-Renderer
12 | * **SharpVectors.ShellFileDialogs.dll** This is a customized version of ShellFileDialogs library, which is a extracted from the Microsoft Windows API Code Pack library (currently archived).
13 | This is used for post-Windows Vista modern Folder Browser dialog in both Windows Forms and WPF samples and test applications.
14 | Link: https://github.com/Jehoel/ShellFileDialogs
15 | * **WeifenLuo.WinFormsUI.Docking.dll** This a multi-platform built of the popular Windows Forms docking library or DockPanelSuite.
16 | This is used by the Windows Forms samples and test applications.
17 | Link: https://github.com/dockpanelsuite/dockpanelsuite
18 | * **WeifenLuo.WinFormsUI.Docking.ThemeVS2015.dll** The VS2015 theme library for the DockPanelSuite.
19 |
20 | The source codes are not included in the SharpVectors repository to reduce the size. Any of these dependencies can be dropped at anytime without notice. Please do not use these in your applications.
21 |
22 |
--------------------------------------------------------------------------------
/Libraries/net46/SharpVectors.Notifications.Wpf.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Libraries/net46/SharpVectors.Notifications.Wpf.dll
--------------------------------------------------------------------------------
/Libraries/net46/SharpVectors.Notifications.Wpf.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SharpVectors.Notifications.Wpf
5 |
6 |
7 |
8 | progress was finished
9 |
10 |
11 | progress was finished
12 |
13 |
14 |
15 | Interaction logic for ToastWindow.xaml
16 |
17 |
18 | NotificationsOverlayWindow
19 |
20 |
21 |
22 |
23 | InitializeComponent
24 |
25 |
26 |
27 |
28 | Логика взаимодействия для NotificationInfoView.xaml
29 |
30 |
31 | NotificationInfoView
32 |
33 |
34 |
35 |
36 | InitializeComponent
37 |
38 |
39 |
40 |
41 | Логика взаимодействия для NotificationProgress.xaml
42 |
43 |
44 | NotificationProgress
45 |
46 |
47 |
48 |
49 | InitializeComponent
50 |
51 |
52 |
53 | Видимость
54 |
55 |
56 | Видимость
57 |
58 |
59 | Видимость
60 |
61 |
62 | Видимость
63 |
64 |
65 |
66 |
--------------------------------------------------------------------------------
/Libraries/net46/SharpVectors.ShellFileDialogs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Libraries/net46/SharpVectors.ShellFileDialogs.dll
--------------------------------------------------------------------------------
/Libraries/net46/SharpVectors.ShellFileDialogs.dll.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Libraries/net46/SharpVectors.ShellFileDialogs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SharpVectors.ShellFileDialogs
5 |
6 |
7 |
8 | 0-based index of the filter to select.
9 |
10 |
11 | Shows the file open dialog for multiple filename selections. Returns null if the dialog cancelled. Otherwise returns all selected paths.
12 | 0-based index of the filter to select.
13 |
14 |
15 | Shows the file open dialog for a single filename selection. Returns null if the dialog cancelled. Otherwise returns the selected path.
16 | 0-based index of the filter to select.
17 |
18 |
19 | Shows the folder browser dialog. Returns null if the dialog cancelled. Otherwise returns the selected path.
20 |
21 |
22 |
23 | S_OK
24 |
25 |
26 |
27 |
28 | S_FALSE
29 |
30 |
31 |
32 |
33 | E_INVALIDARG
34 |
35 |
36 |
37 |
38 | E_OUTOFMEMORY
39 |
40 |
41 |
42 |
43 | E_NOINTERFACE
44 |
45 |
46 |
47 |
48 | E_FAIL
49 |
50 |
51 |
52 |
53 | E_ELEMENTNOTFOUND
54 |
55 |
56 |
57 |
58 | TYPE_E_ELEMENTNOTFOUND
59 |
60 |
61 |
62 |
63 | NO_OBJECT
64 |
65 |
66 |
67 |
68 | Win32 Error code: ERROR_CANCELLED
69 |
70 |
71 |
72 |
73 | ERROR_CANCELLED
74 |
75 |
76 |
77 |
78 | The requested resource is in use
79 |
80 |
81 |
82 |
83 | The requested resources is read-only.
84 |
85 |
86 |
87 |
88 | Indicate flags that modify the property store object retrieved by methods
89 | that create a property store, such as IShellItem2::GetPropertyStore or
90 | IPropertyStoreFactory::GetPropertyStore.
91 |
92 |
93 |
94 |
95 | Meaning to a calling process: Return a read-only property store that contains all
96 | properties. Slow items (offline files) are not opened.
97 | Combination with other flags: Can be overridden by other flags.
98 |
99 |
100 |
101 |
102 | Meaning to a calling process: Include only properties directly from the property
103 | handler, which opens the file on the disk, network, or device. Meaning to a file
104 | folder: Only include properties directly from the handler.
105 |
106 | Meaning to other folders: When delegating to a file folder, pass this flag on
107 | to the file folder; do not do any multiplexing (MUX). When not delegating to a
108 | file folder, ignore this flag instead of returning a failure code.
109 |
110 | Combination with other flags: Cannot be combined with GPS_TEMPORARY,
111 | GPS_FASTPROPERTIESONLY, or GPS_BESTEFFORT.
112 |
113 |
114 |
115 |
116 | Meaning to a calling process: Can write properties to the item.
117 | Note: The store may contain fewer properties than a read-only store.
118 |
119 | Meaning to a file folder: ReadWrite.
120 |
121 | Meaning to other folders: ReadWrite. Note: When using default MUX,
122 | return a single unmultiplexed store because the default MUX does not support ReadWrite.
123 |
124 | Combination with other flags: Cannot be combined with GPS_TEMPORARY, GPS_FASTPROPERTIESONLY,
125 | GPS_BESTEFFORT, or GPS_DELAYCREATION. Implies GPS_HANDLERPROPERTIESONLY.
126 |
127 |
128 |
129 |
130 | Meaning to a calling process: Provides a writable store, with no initial properties,
131 | that exists for the lifetime of the Shell item instance; basically, a property bag
132 | attached to the item instance.
133 |
134 | Meaning to a file folder: Not applicable. Handled by the Shell item.
135 |
136 | Meaning to other folders: Not applicable. Handled by the Shell item.
137 |
138 | Combination with other flags: Cannot be combined with any other flag. Implies GPS_READWRITE
139 |
140 |
141 |
142 |
143 | Meaning to a calling process: Provides a store that does not involve reading from the
144 | disk or network. Note: Some values may be different, or missing, compared to a store
145 | without this flag.
146 |
147 | Meaning to a file folder: Include the "innate" and "fallback" stores only. Do not load the handler.
148 |
149 | Meaning to other folders: Include only properties that are available in memory or can
150 | be computed very quickly (no properties from disk, network, or peripheral IO devices).
151 | This is normally only data sources from the IDLIST. When delegating to other folders, pass this flag on to them.
152 |
153 | Combination with other flags: Cannot be combined with GPS_TEMPORARY, GPS_READWRITE,
154 | GPS_HANDLERPROPERTIESONLY, or GPS_DELAYCREATION.
155 |
156 |
157 |
158 |
159 | Meaning to a calling process: Open a slow item (offline file) if necessary.
160 | Meaning to a file folder: Retrieve a file from offline storage, if necessary.
161 | Note: Without this flag, the handler is not created for offline files.
162 |
163 | Meaning to other folders: Do not return any properties that are very slow.
164 |
165 | Combination with other flags: Cannot be combined with GPS_TEMPORARY or GPS_FASTPROPERTIESONLY.
166 |
167 |
168 |
169 |
170 | Meaning to a calling process: Delay memory-intensive operations, such as file access, until
171 | a property is requested that requires such access.
172 |
173 | Meaning to a file folder: Do not create the handler until needed; for example, either
174 | GetCount/GetAt or GetValue, where the innate store does not satisfy the request.
175 | Note: GetValue might fail due to file access problems.
176 |
177 | Meaning to other folders: If the folder has memory-intensive properties, such as
178 | delegating to a file folder or network access, it can optimize performance by
179 | supporting IDelayedPropertyStoreFactory and splitting up its properties into a
180 | fast and a slow store. It can then use delayed MUX to recombine them.
181 |
182 | Combination with other flags: Cannot be combined with GPS_TEMPORARY or
183 | GPS_READWRITE
184 |
185 |
186 |
187 |
188 | Meaning to a calling process: Succeed at getting the store, even if some
189 | properties are not returned. Note: Some values may be different, or missing,
190 | compared to a store without this flag.
191 |
192 | Meaning to a file folder: Succeed and return a store, even if the handler or
193 | innate store has an error during creation. Only fail if substores fail.
194 |
195 | Meaning to other folders: Succeed on getting the store, even if some properties
196 | are not returned.
197 |
198 | Combination with other flags: Cannot be combined with GPS_TEMPORARY,
199 | GPS_READWRITE, or GPS_HANDLERPROPERTIESONLY.
200 |
201 |
202 |
203 |
204 | Mask for valid GETPROPERTYSTOREFLAGS values.
205 |
206 |
207 |
208 |
209 | The specified items can be copied.
210 |
211 |
212 |
213 |
214 | The specified items can be moved.
215 |
216 |
217 |
218 |
219 | Shortcuts can be created for the specified items. This flag has the same value as DROPEFFECT.
220 | The normal use of this flag is to add a Create Shortcut item to the shortcut menu that is displayed
221 | during drag-and-drop operations. However, SFGAO_CANLINK also adds a Create Shortcut item to the Microsoft
222 | Windows Explorer's File menu and to normal shortcut menus.
223 | If this item is selected, your application's IContextMenu::InvokeCommand is invoked with the lpVerb
224 | member of the CMINVOKECOMMANDINFO structure set to "link." Your application is responsible for creating the link.
225 |
226 |
227 |
228 |
229 | The specified items can be bound to an IStorage interface through IShellFolder::BindToObject.
230 |
231 |
232 |
233 |
234 | The specified items can be renamed.
235 |
236 |
237 |
238 |
239 | The specified items can be deleted.
240 |
241 |
242 |
243 |
244 | The specified items have property sheets.
245 |
246 |
247 |
248 |
249 | The specified items are drop targets.
250 |
251 |
252 |
253 |
254 | This flag is a mask for the capability flags.
255 |
256 |
257 |
258 |
259 | Windows 7 and later. The specified items are system items.
260 |
261 |
262 |
263 |
264 | The specified items are encrypted.
265 |
266 |
267 |
268 |
269 | Indicates that accessing the object = through IStream or other storage interfaces,
270 | is a slow operation.
271 | Applications should avoid accessing items flagged with SFGAO_ISSLOW.
272 |
273 |
274 |
275 |
276 | The specified items are ghosted icons.
277 |
278 |
279 |
280 |
281 | The specified items are shortcuts.
282 |
283 |
284 |
285 |
286 | The specified folder objects are shared.
287 |
288 |
289 |
290 |
291 | The specified items are read-only. In the case of folders, this means
292 | that new items cannot be created in those folders.
293 |
294 |
295 |
296 |
297 | The item is hidden and should not be displayed unless the
298 | Show hidden files and folders option is enabled in Folder Settings.
299 |
300 |
301 |
302 |
303 | This flag is a mask for the display attributes.
304 |
305 |
306 |
307 |
308 | The specified folders contain one or more file system folders.
309 |
310 |
311 |
312 |
313 | The specified items are folders.
314 |
315 |
316 |
317 |
318 | The specified folders or file objects are part of the file system
319 | that is, they are files, directories, or root directories).
320 |
321 |
322 |
323 |
324 | The specified folders have subfolders = and are, therefore,
325 | expandable in the left pane of Windows Explorer).
326 |
327 |
328 |
329 |
330 | This flag is a mask for the contents attributes.
331 |
332 |
333 |
334 |
335 | When specified as input, SFGAO_VALIDATE instructs the folder to validate that the items
336 | pointed to by the contents of apidl exist. If one or more of those items do not exist,
337 | IShellFolder::GetAttributesOf returns a failure code.
338 | When used with the file system folder, SFGAO_VALIDATE instructs the folder to discard cached
339 | properties retrieved by clients of IShellFolder2::GetDetailsEx that may
340 | have accumulated for the specified items.
341 |
342 |
343 |
344 |
345 | The specified items are on removable media or are themselves removable devices.
346 |
347 |
348 |
349 |
350 | The specified items are compressed.
351 |
352 |
353 |
354 |
355 | The specified items can be browsed in place.
356 |
357 |
358 |
359 |
360 | The items are nonenumerated items.
361 |
362 |
363 |
364 |
365 | The objects contain new content.
366 |
367 |
368 |
369 |
370 | It is possible to create monikers for the specified file objects or folders.
371 |
372 |
373 |
374 |
375 | Not supported.
376 |
377 |
378 |
379 |
380 | Indicates that the item has a stream associated with it that can be accessed
381 | by a call to IShellFolder::BindToObject with IID_IStream in the riid parameter.
382 |
383 |
384 |
385 |
386 | Children of this item are accessible through IStream or IStorage.
387 | Those children are flagged with SFGAO_STORAGE or SFGAO_STREAM.
388 |
389 |
390 |
391 |
392 | This flag is a mask for the storage capability attributes.
393 |
394 |
395 |
396 |
397 | Mask used by PKEY_SFGAOFlags to remove certain values that are considered
398 | to cause slow calculations or lack context.
399 | Equal to SFGAO_VALIDATE | SFGAO_ISSLOW | SFGAO_HASSUBFOLDER.
400 |
401 |
402 |
403 | Returns null if the string couldn't be parsed.
404 |
405 |
406 |
407 | Defines a unique key for a Shell Property
408 |
409 |
410 |
411 |
412 | A unique GUID for the property
413 |
414 |
415 |
416 |
417 | Property identifier (PID)
418 |
419 |
420 |
421 |
422 | PropertyKey Constructor
423 |
424 | A unique GUID for the property
425 | Property identifier (PID)
426 |
427 |
428 |
429 | PropertyKey Constructor
430 |
431 | A string represenstion of a GUID for the property
432 | Property identifier (PID)
433 |
434 |
435 |
436 | Returns whether this object is equal to another. This is vital for performance of value types.
437 |
438 | The object to compare against.
439 | Equality result.
440 |
441 |
442 |
443 | Returns the hash code of the object. This is vital for performance of value types.
444 |
445 |
446 |
447 |
448 |
449 | Returns whether this object is equal to another. This is vital for performance of value types.
450 |
451 | The object to compare against.
452 | Equality result.
453 |
454 |
455 |
456 | Implements the == (equality) operator.
457 |
458 | First property key to compare.
459 | Second property key to compare.
460 | true if object a equals object b. false otherwise.
461 |
462 |
463 |
464 | Implements the != (inequality) operator.
465 |
466 | First property key to compare
467 | Second property key to compare.
468 | true if object a does not equal object b. false otherwise.
469 |
470 |
471 |
472 | Override ToString() to provide a user friendly string representation
473 |
474 | String representing the property key
475 |
476 |
477 |
478 |
--------------------------------------------------------------------------------
/Libraries/net48/SharpVectors.Notifications.Wpf.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Libraries/net48/SharpVectors.Notifications.Wpf.dll
--------------------------------------------------------------------------------
/Libraries/net48/SharpVectors.Notifications.Wpf.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SharpVectors.Notifications.Wpf
5 |
6 |
7 |
8 | progress was finished
9 |
10 |
11 | progress was finished
12 |
13 |
14 |
15 | Interaction logic for ToastWindow.xaml
16 |
17 |
18 | NotificationsOverlayWindow
19 |
20 |
21 |
22 |
23 | InitializeComponent
24 |
25 |
26 |
27 |
28 | Логика взаимодействия для NotificationInfoView.xaml
29 |
30 |
31 | NotificationInfoView
32 |
33 |
34 |
35 |
36 | InitializeComponent
37 |
38 |
39 |
40 |
41 | Логика взаимодействия для NotificationProgress.xaml
42 |
43 |
44 | NotificationProgress
45 |
46 |
47 |
48 |
49 | InitializeComponent
50 |
51 |
52 |
53 | Видимость
54 |
55 |
56 | Видимость
57 |
58 |
59 | Видимость
60 |
61 |
62 | Видимость
63 |
64 |
65 |
66 |
--------------------------------------------------------------------------------
/Libraries/net48/SharpVectors.ShellFileDialogs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Libraries/net48/SharpVectors.ShellFileDialogs.dll
--------------------------------------------------------------------------------
/Libraries/net48/SharpVectors.ShellFileDialogs.dll.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Libraries/net48/SharpVectors.ShellFileDialogs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SharpVectors.ShellFileDialogs
5 |
6 |
7 |
8 | 0-based index of the filter to select.
9 |
10 |
11 | Shows the file open dialog for multiple filename selections. Returns null if the dialog cancelled. Otherwise returns all selected paths.
12 | 0-based index of the filter to select.
13 |
14 |
15 | Shows the file open dialog for a single filename selection. Returns null if the dialog cancelled. Otherwise returns the selected path.
16 | 0-based index of the filter to select.
17 |
18 |
19 | Shows the folder browser dialog. Returns null if the dialog cancelled. Otherwise returns the selected path.
20 |
21 |
22 |
23 | S_OK
24 |
25 |
26 |
27 |
28 | S_FALSE
29 |
30 |
31 |
32 |
33 | E_INVALIDARG
34 |
35 |
36 |
37 |
38 | E_OUTOFMEMORY
39 |
40 |
41 |
42 |
43 | E_NOINTERFACE
44 |
45 |
46 |
47 |
48 | E_FAIL
49 |
50 |
51 |
52 |
53 | E_ELEMENTNOTFOUND
54 |
55 |
56 |
57 |
58 | TYPE_E_ELEMENTNOTFOUND
59 |
60 |
61 |
62 |
63 | NO_OBJECT
64 |
65 |
66 |
67 |
68 | Win32 Error code: ERROR_CANCELLED
69 |
70 |
71 |
72 |
73 | ERROR_CANCELLED
74 |
75 |
76 |
77 |
78 | The requested resource is in use
79 |
80 |
81 |
82 |
83 | The requested resources is read-only.
84 |
85 |
86 |
87 |
88 | Indicate flags that modify the property store object retrieved by methods
89 | that create a property store, such as IShellItem2::GetPropertyStore or
90 | IPropertyStoreFactory::GetPropertyStore.
91 |
92 |
93 |
94 |
95 | Meaning to a calling process: Return a read-only property store that contains all
96 | properties. Slow items (offline files) are not opened.
97 | Combination with other flags: Can be overridden by other flags.
98 |
99 |
100 |
101 |
102 | Meaning to a calling process: Include only properties directly from the property
103 | handler, which opens the file on the disk, network, or device. Meaning to a file
104 | folder: Only include properties directly from the handler.
105 |
106 | Meaning to other folders: When delegating to a file folder, pass this flag on
107 | to the file folder; do not do any multiplexing (MUX). When not delegating to a
108 | file folder, ignore this flag instead of returning a failure code.
109 |
110 | Combination with other flags: Cannot be combined with GPS_TEMPORARY,
111 | GPS_FASTPROPERTIESONLY, or GPS_BESTEFFORT.
112 |
113 |
114 |
115 |
116 | Meaning to a calling process: Can write properties to the item.
117 | Note: The store may contain fewer properties than a read-only store.
118 |
119 | Meaning to a file folder: ReadWrite.
120 |
121 | Meaning to other folders: ReadWrite. Note: When using default MUX,
122 | return a single unmultiplexed store because the default MUX does not support ReadWrite.
123 |
124 | Combination with other flags: Cannot be combined with GPS_TEMPORARY, GPS_FASTPROPERTIESONLY,
125 | GPS_BESTEFFORT, or GPS_DELAYCREATION. Implies GPS_HANDLERPROPERTIESONLY.
126 |
127 |
128 |
129 |
130 | Meaning to a calling process: Provides a writable store, with no initial properties,
131 | that exists for the lifetime of the Shell item instance; basically, a property bag
132 | attached to the item instance.
133 |
134 | Meaning to a file folder: Not applicable. Handled by the Shell item.
135 |
136 | Meaning to other folders: Not applicable. Handled by the Shell item.
137 |
138 | Combination with other flags: Cannot be combined with any other flag. Implies GPS_READWRITE
139 |
140 |
141 |
142 |
143 | Meaning to a calling process: Provides a store that does not involve reading from the
144 | disk or network. Note: Some values may be different, or missing, compared to a store
145 | without this flag.
146 |
147 | Meaning to a file folder: Include the "innate" and "fallback" stores only. Do not load the handler.
148 |
149 | Meaning to other folders: Include only properties that are available in memory or can
150 | be computed very quickly (no properties from disk, network, or peripheral IO devices).
151 | This is normally only data sources from the IDLIST. When delegating to other folders, pass this flag on to them.
152 |
153 | Combination with other flags: Cannot be combined with GPS_TEMPORARY, GPS_READWRITE,
154 | GPS_HANDLERPROPERTIESONLY, or GPS_DELAYCREATION.
155 |
156 |
157 |
158 |
159 | Meaning to a calling process: Open a slow item (offline file) if necessary.
160 | Meaning to a file folder: Retrieve a file from offline storage, if necessary.
161 | Note: Without this flag, the handler is not created for offline files.
162 |
163 | Meaning to other folders: Do not return any properties that are very slow.
164 |
165 | Combination with other flags: Cannot be combined with GPS_TEMPORARY or GPS_FASTPROPERTIESONLY.
166 |
167 |
168 |
169 |
170 | Meaning to a calling process: Delay memory-intensive operations, such as file access, until
171 | a property is requested that requires such access.
172 |
173 | Meaning to a file folder: Do not create the handler until needed; for example, either
174 | GetCount/GetAt or GetValue, where the innate store does not satisfy the request.
175 | Note: GetValue might fail due to file access problems.
176 |
177 | Meaning to other folders: If the folder has memory-intensive properties, such as
178 | delegating to a file folder or network access, it can optimize performance by
179 | supporting IDelayedPropertyStoreFactory and splitting up its properties into a
180 | fast and a slow store. It can then use delayed MUX to recombine them.
181 |
182 | Combination with other flags: Cannot be combined with GPS_TEMPORARY or
183 | GPS_READWRITE
184 |
185 |
186 |
187 |
188 | Meaning to a calling process: Succeed at getting the store, even if some
189 | properties are not returned. Note: Some values may be different, or missing,
190 | compared to a store without this flag.
191 |
192 | Meaning to a file folder: Succeed and return a store, even if the handler or
193 | innate store has an error during creation. Only fail if substores fail.
194 |
195 | Meaning to other folders: Succeed on getting the store, even if some properties
196 | are not returned.
197 |
198 | Combination with other flags: Cannot be combined with GPS_TEMPORARY,
199 | GPS_READWRITE, or GPS_HANDLERPROPERTIESONLY.
200 |
201 |
202 |
203 |
204 | Mask for valid GETPROPERTYSTOREFLAGS values.
205 |
206 |
207 |
208 |
209 | The specified items can be copied.
210 |
211 |
212 |
213 |
214 | The specified items can be moved.
215 |
216 |
217 |
218 |
219 | Shortcuts can be created for the specified items. This flag has the same value as DROPEFFECT.
220 | The normal use of this flag is to add a Create Shortcut item to the shortcut menu that is displayed
221 | during drag-and-drop operations. However, SFGAO_CANLINK also adds a Create Shortcut item to the Microsoft
222 | Windows Explorer's File menu and to normal shortcut menus.
223 | If this item is selected, your application's IContextMenu::InvokeCommand is invoked with the lpVerb
224 | member of the CMINVOKECOMMANDINFO structure set to "link." Your application is responsible for creating the link.
225 |
226 |
227 |
228 |
229 | The specified items can be bound to an IStorage interface through IShellFolder::BindToObject.
230 |
231 |
232 |
233 |
234 | The specified items can be renamed.
235 |
236 |
237 |
238 |
239 | The specified items can be deleted.
240 |
241 |
242 |
243 |
244 | The specified items have property sheets.
245 |
246 |
247 |
248 |
249 | The specified items are drop targets.
250 |
251 |
252 |
253 |
254 | This flag is a mask for the capability flags.
255 |
256 |
257 |
258 |
259 | Windows 7 and later. The specified items are system items.
260 |
261 |
262 |
263 |
264 | The specified items are encrypted.
265 |
266 |
267 |
268 |
269 | Indicates that accessing the object = through IStream or other storage interfaces,
270 | is a slow operation.
271 | Applications should avoid accessing items flagged with SFGAO_ISSLOW.
272 |
273 |
274 |
275 |
276 | The specified items are ghosted icons.
277 |
278 |
279 |
280 |
281 | The specified items are shortcuts.
282 |
283 |
284 |
285 |
286 | The specified folder objects are shared.
287 |
288 |
289 |
290 |
291 | The specified items are read-only. In the case of folders, this means
292 | that new items cannot be created in those folders.
293 |
294 |
295 |
296 |
297 | The item is hidden and should not be displayed unless the
298 | Show hidden files and folders option is enabled in Folder Settings.
299 |
300 |
301 |
302 |
303 | This flag is a mask for the display attributes.
304 |
305 |
306 |
307 |
308 | The specified folders contain one or more file system folders.
309 |
310 |
311 |
312 |
313 | The specified items are folders.
314 |
315 |
316 |
317 |
318 | The specified folders or file objects are part of the file system
319 | that is, they are files, directories, or root directories).
320 |
321 |
322 |
323 |
324 | The specified folders have subfolders = and are, therefore,
325 | expandable in the left pane of Windows Explorer).
326 |
327 |
328 |
329 |
330 | This flag is a mask for the contents attributes.
331 |
332 |
333 |
334 |
335 | When specified as input, SFGAO_VALIDATE instructs the folder to validate that the items
336 | pointed to by the contents of apidl exist. If one or more of those items do not exist,
337 | IShellFolder::GetAttributesOf returns a failure code.
338 | When used with the file system folder, SFGAO_VALIDATE instructs the folder to discard cached
339 | properties retrieved by clients of IShellFolder2::GetDetailsEx that may
340 | have accumulated for the specified items.
341 |
342 |
343 |
344 |
345 | The specified items are on removable media or are themselves removable devices.
346 |
347 |
348 |
349 |
350 | The specified items are compressed.
351 |
352 |
353 |
354 |
355 | The specified items can be browsed in place.
356 |
357 |
358 |
359 |
360 | The items are nonenumerated items.
361 |
362 |
363 |
364 |
365 | The objects contain new content.
366 |
367 |
368 |
369 |
370 | It is possible to create monikers for the specified file objects or folders.
371 |
372 |
373 |
374 |
375 | Not supported.
376 |
377 |
378 |
379 |
380 | Indicates that the item has a stream associated with it that can be accessed
381 | by a call to IShellFolder::BindToObject with IID_IStream in the riid parameter.
382 |
383 |
384 |
385 |
386 | Children of this item are accessible through IStream or IStorage.
387 | Those children are flagged with SFGAO_STORAGE or SFGAO_STREAM.
388 |
389 |
390 |
391 |
392 | This flag is a mask for the storage capability attributes.
393 |
394 |
395 |
396 |
397 | Mask used by PKEY_SFGAOFlags to remove certain values that are considered
398 | to cause slow calculations or lack context.
399 | Equal to SFGAO_VALIDATE | SFGAO_ISSLOW | SFGAO_HASSUBFOLDER.
400 |
401 |
402 |
403 | Returns null if the string couldn't be parsed.
404 |
405 |
406 |
407 | Defines a unique key for a Shell Property
408 |
409 |
410 |
411 |
412 | A unique GUID for the property
413 |
414 |
415 |
416 |
417 | Property identifier (PID)
418 |
419 |
420 |
421 |
422 | PropertyKey Constructor
423 |
424 | A unique GUID for the property
425 | Property identifier (PID)
426 |
427 |
428 |
429 | PropertyKey Constructor
430 |
431 | A string represenstion of a GUID for the property
432 | Property identifier (PID)
433 |
434 |
435 |
436 | Returns whether this object is equal to another. This is vital for performance of value types.
437 |
438 | The object to compare against.
439 | Equality result.
440 |
441 |
442 |
443 | Returns the hash code of the object. This is vital for performance of value types.
444 |
445 |
446 |
447 |
448 |
449 | Returns whether this object is equal to another. This is vital for performance of value types.
450 |
451 | The object to compare against.
452 | Equality result.
453 |
454 |
455 |
456 | Implements the == (equality) operator.
457 |
458 | First property key to compare.
459 | Second property key to compare.
460 | true if object a equals object b. false otherwise.
461 |
462 |
463 |
464 | Implements the != (inequality) operator.
465 |
466 | First property key to compare
467 | Second property key to compare.
468 | true if object a does not equal object b. false otherwise.
469 |
470 |
471 |
472 | Override ToString() to provide a user friendly string representation
473 |
474 | String representing the property key
475 |
476 |
477 |
478 |
--------------------------------------------------------------------------------
/Libraries/netcoreapp3.1/SharpVectors.Notifications.Wpf.deps.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeTarget": {
3 | "name": ".NETCoreApp,Version=v3.1",
4 | "signature": ""
5 | },
6 | "compilationOptions": {},
7 | "targets": {
8 | ".NETCoreApp,Version=v3.1": {
9 | "SharpVectors.Notifications.Wpf/1.0.0": {
10 | "runtime": {
11 | "SharpVectors.Notifications.Wpf.dll": {}
12 | }
13 | }
14 | }
15 | },
16 | "libraries": {
17 | "SharpVectors.Notifications.Wpf/1.0.0": {
18 | "type": "project",
19 | "serviceable": false,
20 | "sha512": ""
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/Libraries/netcoreapp3.1/SharpVectors.Notifications.Wpf.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Libraries/netcoreapp3.1/SharpVectors.Notifications.Wpf.dll
--------------------------------------------------------------------------------
/Libraries/netcoreapp3.1/SharpVectors.Notifications.Wpf.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SharpVectors.Notifications.Wpf
5 |
6 |
7 |
8 | progress was finished
9 |
10 |
11 | progress was finished
12 |
13 |
14 |
15 | Interaction logic for ToastWindow.xaml
16 |
17 |
18 | NotificationsOverlayWindow
19 |
20 |
21 |
22 |
23 | InitializeComponent
24 |
25 |
26 |
27 |
28 | Логика взаимодействия для NotificationInfoView.xaml
29 |
30 |
31 | NotificationInfoView
32 |
33 |
34 |
35 |
36 | InitializeComponent
37 |
38 |
39 |
40 |
41 | Логика взаимодействия для NotificationProgress.xaml
42 |
43 |
44 | NotificationProgress
45 |
46 |
47 |
48 |
49 | InitializeComponent
50 |
51 |
52 |
53 | Видимость
54 |
55 |
56 | Видимость
57 |
58 |
59 | Видимость
60 |
61 |
62 | Видимость
63 |
64 |
65 |
66 |
--------------------------------------------------------------------------------
/Libraries/netstandard2.1/SharpVectors.ShellFileDialogs.deps.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeTarget": {
3 | "name": ".NETStandard,Version=v2.1/",
4 | "signature": ""
5 | },
6 | "compilationOptions": {},
7 | "targets": {
8 | ".NETStandard,Version=v2.1": {},
9 | ".NETStandard,Version=v2.1/": {
10 | "SharpVectors.ShellFileDialogs/1.0.0": {
11 | "runtime": {
12 | "SharpVectors.ShellFileDialogs.dll": {}
13 | }
14 | }
15 | }
16 | },
17 | "libraries": {
18 | "SharpVectors.ShellFileDialogs/1.0.0": {
19 | "type": "project",
20 | "serviceable": false,
21 | "sha512": ""
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/Libraries/netstandard2.1/SharpVectors.ShellFileDialogs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Libraries/netstandard2.1/SharpVectors.ShellFileDialogs.dll
--------------------------------------------------------------------------------
/Libraries/netstandard2.1/SharpVectors.ShellFileDialogs.dll.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Libraries/netstandard2.1/SharpVectors.ShellFileDialogs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SharpVectors.ShellFileDialogs
5 |
6 |
7 |
8 | 0-based index of the filter to select.
9 |
10 |
11 | Shows the file open dialog for multiple filename selections. Returns null if the dialog cancelled. Otherwise returns all selected paths.
12 | 0-based index of the filter to select.
13 |
14 |
15 | Shows the file open dialog for a single filename selection. Returns null if the dialog cancelled. Otherwise returns the selected path.
16 | 0-based index of the filter to select.
17 |
18 |
19 | Shows the folder browser dialog. Returns null if the dialog cancelled. Otherwise returns the selected path.
20 |
21 |
22 |
23 | S_OK
24 |
25 |
26 |
27 |
28 | S_FALSE
29 |
30 |
31 |
32 |
33 | E_INVALIDARG
34 |
35 |
36 |
37 |
38 | E_OUTOFMEMORY
39 |
40 |
41 |
42 |
43 | E_NOINTERFACE
44 |
45 |
46 |
47 |
48 | E_FAIL
49 |
50 |
51 |
52 |
53 | E_ELEMENTNOTFOUND
54 |
55 |
56 |
57 |
58 | TYPE_E_ELEMENTNOTFOUND
59 |
60 |
61 |
62 |
63 | NO_OBJECT
64 |
65 |
66 |
67 |
68 | Win32 Error code: ERROR_CANCELLED
69 |
70 |
71 |
72 |
73 | ERROR_CANCELLED
74 |
75 |
76 |
77 |
78 | The requested resource is in use
79 |
80 |
81 |
82 |
83 | The requested resources is read-only.
84 |
85 |
86 |
87 |
88 | Indicate flags that modify the property store object retrieved by methods
89 | that create a property store, such as IShellItem2::GetPropertyStore or
90 | IPropertyStoreFactory::GetPropertyStore.
91 |
92 |
93 |
94 |
95 | Meaning to a calling process: Return a read-only property store that contains all
96 | properties. Slow items (offline files) are not opened.
97 | Combination with other flags: Can be overridden by other flags.
98 |
99 |
100 |
101 |
102 | Meaning to a calling process: Include only properties directly from the property
103 | handler, which opens the file on the disk, network, or device. Meaning to a file
104 | folder: Only include properties directly from the handler.
105 |
106 | Meaning to other folders: When delegating to a file folder, pass this flag on
107 | to the file folder; do not do any multiplexing (MUX). When not delegating to a
108 | file folder, ignore this flag instead of returning a failure code.
109 |
110 | Combination with other flags: Cannot be combined with GPS_TEMPORARY,
111 | GPS_FASTPROPERTIESONLY, or GPS_BESTEFFORT.
112 |
113 |
114 |
115 |
116 | Meaning to a calling process: Can write properties to the item.
117 | Note: The store may contain fewer properties than a read-only store.
118 |
119 | Meaning to a file folder: ReadWrite.
120 |
121 | Meaning to other folders: ReadWrite. Note: When using default MUX,
122 | return a single unmultiplexed store because the default MUX does not support ReadWrite.
123 |
124 | Combination with other flags: Cannot be combined with GPS_TEMPORARY, GPS_FASTPROPERTIESONLY,
125 | GPS_BESTEFFORT, or GPS_DELAYCREATION. Implies GPS_HANDLERPROPERTIESONLY.
126 |
127 |
128 |
129 |
130 | Meaning to a calling process: Provides a writable store, with no initial properties,
131 | that exists for the lifetime of the Shell item instance; basically, a property bag
132 | attached to the item instance.
133 |
134 | Meaning to a file folder: Not applicable. Handled by the Shell item.
135 |
136 | Meaning to other folders: Not applicable. Handled by the Shell item.
137 |
138 | Combination with other flags: Cannot be combined with any other flag. Implies GPS_READWRITE
139 |
140 |
141 |
142 |
143 | Meaning to a calling process: Provides a store that does not involve reading from the
144 | disk or network. Note: Some values may be different, or missing, compared to a store
145 | without this flag.
146 |
147 | Meaning to a file folder: Include the "innate" and "fallback" stores only. Do not load the handler.
148 |
149 | Meaning to other folders: Include only properties that are available in memory or can
150 | be computed very quickly (no properties from disk, network, or peripheral IO devices).
151 | This is normally only data sources from the IDLIST. When delegating to other folders, pass this flag on to them.
152 |
153 | Combination with other flags: Cannot be combined with GPS_TEMPORARY, GPS_READWRITE,
154 | GPS_HANDLERPROPERTIESONLY, or GPS_DELAYCREATION.
155 |
156 |
157 |
158 |
159 | Meaning to a calling process: Open a slow item (offline file) if necessary.
160 | Meaning to a file folder: Retrieve a file from offline storage, if necessary.
161 | Note: Without this flag, the handler is not created for offline files.
162 |
163 | Meaning to other folders: Do not return any properties that are very slow.
164 |
165 | Combination with other flags: Cannot be combined with GPS_TEMPORARY or GPS_FASTPROPERTIESONLY.
166 |
167 |
168 |
169 |
170 | Meaning to a calling process: Delay memory-intensive operations, such as file access, until
171 | a property is requested that requires such access.
172 |
173 | Meaning to a file folder: Do not create the handler until needed; for example, either
174 | GetCount/GetAt or GetValue, where the innate store does not satisfy the request.
175 | Note: GetValue might fail due to file access problems.
176 |
177 | Meaning to other folders: If the folder has memory-intensive properties, such as
178 | delegating to a file folder or network access, it can optimize performance by
179 | supporting IDelayedPropertyStoreFactory and splitting up its properties into a
180 | fast and a slow store. It can then use delayed MUX to recombine them.
181 |
182 | Combination with other flags: Cannot be combined with GPS_TEMPORARY or
183 | GPS_READWRITE
184 |
185 |
186 |
187 |
188 | Meaning to a calling process: Succeed at getting the store, even if some
189 | properties are not returned. Note: Some values may be different, or missing,
190 | compared to a store without this flag.
191 |
192 | Meaning to a file folder: Succeed and return a store, even if the handler or
193 | innate store has an error during creation. Only fail if substores fail.
194 |
195 | Meaning to other folders: Succeed on getting the store, even if some properties
196 | are not returned.
197 |
198 | Combination with other flags: Cannot be combined with GPS_TEMPORARY,
199 | GPS_READWRITE, or GPS_HANDLERPROPERTIESONLY.
200 |
201 |
202 |
203 |
204 | Mask for valid GETPROPERTYSTOREFLAGS values.
205 |
206 |
207 |
208 |
209 | The specified items can be copied.
210 |
211 |
212 |
213 |
214 | The specified items can be moved.
215 |
216 |
217 |
218 |
219 | Shortcuts can be created for the specified items. This flag has the same value as DROPEFFECT.
220 | The normal use of this flag is to add a Create Shortcut item to the shortcut menu that is displayed
221 | during drag-and-drop operations. However, SFGAO_CANLINK also adds a Create Shortcut item to the Microsoft
222 | Windows Explorer's File menu and to normal shortcut menus.
223 | If this item is selected, your application's IContextMenu::InvokeCommand is invoked with the lpVerb
224 | member of the CMINVOKECOMMANDINFO structure set to "link." Your application is responsible for creating the link.
225 |
226 |
227 |
228 |
229 | The specified items can be bound to an IStorage interface through IShellFolder::BindToObject.
230 |
231 |
232 |
233 |
234 | The specified items can be renamed.
235 |
236 |
237 |
238 |
239 | The specified items can be deleted.
240 |
241 |
242 |
243 |
244 | The specified items have property sheets.
245 |
246 |
247 |
248 |
249 | The specified items are drop targets.
250 |
251 |
252 |
253 |
254 | This flag is a mask for the capability flags.
255 |
256 |
257 |
258 |
259 | Windows 7 and later. The specified items are system items.
260 |
261 |
262 |
263 |
264 | The specified items are encrypted.
265 |
266 |
267 |
268 |
269 | Indicates that accessing the object = through IStream or other storage interfaces,
270 | is a slow operation.
271 | Applications should avoid accessing items flagged with SFGAO_ISSLOW.
272 |
273 |
274 |
275 |
276 | The specified items are ghosted icons.
277 |
278 |
279 |
280 |
281 | The specified items are shortcuts.
282 |
283 |
284 |
285 |
286 | The specified folder objects are shared.
287 |
288 |
289 |
290 |
291 | The specified items are read-only. In the case of folders, this means
292 | that new items cannot be created in those folders.
293 |
294 |
295 |
296 |
297 | The item is hidden and should not be displayed unless the
298 | Show hidden files and folders option is enabled in Folder Settings.
299 |
300 |
301 |
302 |
303 | This flag is a mask for the display attributes.
304 |
305 |
306 |
307 |
308 | The specified folders contain one or more file system folders.
309 |
310 |
311 |
312 |
313 | The specified items are folders.
314 |
315 |
316 |
317 |
318 | The specified folders or file objects are part of the file system
319 | that is, they are files, directories, or root directories).
320 |
321 |
322 |
323 |
324 | The specified folders have subfolders = and are, therefore,
325 | expandable in the left pane of Windows Explorer).
326 |
327 |
328 |
329 |
330 | This flag is a mask for the contents attributes.
331 |
332 |
333 |
334 |
335 | When specified as input, SFGAO_VALIDATE instructs the folder to validate that the items
336 | pointed to by the contents of apidl exist. If one or more of those items do not exist,
337 | IShellFolder::GetAttributesOf returns a failure code.
338 | When used with the file system folder, SFGAO_VALIDATE instructs the folder to discard cached
339 | properties retrieved by clients of IShellFolder2::GetDetailsEx that may
340 | have accumulated for the specified items.
341 |
342 |
343 |
344 |
345 | The specified items are on removable media or are themselves removable devices.
346 |
347 |
348 |
349 |
350 | The specified items are compressed.
351 |
352 |
353 |
354 |
355 | The specified items can be browsed in place.
356 |
357 |
358 |
359 |
360 | The items are nonenumerated items.
361 |
362 |
363 |
364 |
365 | The objects contain new content.
366 |
367 |
368 |
369 |
370 | It is possible to create monikers for the specified file objects or folders.
371 |
372 |
373 |
374 |
375 | Not supported.
376 |
377 |
378 |
379 |
380 | Indicates that the item has a stream associated with it that can be accessed
381 | by a call to IShellFolder::BindToObject with IID_IStream in the riid parameter.
382 |
383 |
384 |
385 |
386 | Children of this item are accessible through IStream or IStorage.
387 | Those children are flagged with SFGAO_STORAGE or SFGAO_STREAM.
388 |
389 |
390 |
391 |
392 | This flag is a mask for the storage capability attributes.
393 |
394 |
395 |
396 |
397 | Mask used by PKEY_SFGAOFlags to remove certain values that are considered
398 | to cause slow calculations or lack context.
399 | Equal to SFGAO_VALIDATE | SFGAO_ISSLOW | SFGAO_HASSUBFOLDER.
400 |
401 |
402 |
403 | Returns null if the string couldn't be parsed.
404 |
405 |
406 |
407 | Defines a unique key for a Shell Property
408 |
409 |
410 |
411 |
412 | A unique GUID for the property
413 |
414 |
415 |
416 |
417 | Property identifier (PID)
418 |
419 |
420 |
421 |
422 | PropertyKey Constructor
423 |
424 | A unique GUID for the property
425 | Property identifier (PID)
426 |
427 |
428 |
429 | PropertyKey Constructor
430 |
431 | A string represenstion of a GUID for the property
432 | Property identifier (PID)
433 |
434 |
435 |
436 | Returns whether this object is equal to another. This is vital for performance of value types.
437 |
438 | The object to compare against.
439 | Equality result.
440 |
441 |
442 |
443 | Returns the hash code of the object. This is vital for performance of value types.
444 |
445 |
446 |
447 |
448 |
449 | Returns whether this object is equal to another. This is vital for performance of value types.
450 |
451 | The object to compare against.
452 | Equality result.
453 |
454 |
455 |
456 | Implements the == (equality) operator.
457 |
458 | First property key to compare.
459 | Second property key to compare.
460 | true if object a equals object b. false otherwise.
461 |
462 |
463 |
464 | Implements the != (inequality) operator.
465 |
466 | First property key to compare
467 | Second property key to compare.
468 | true if object a does not equal object b. false otherwise.
469 |
470 |
471 |
472 | Override ToString() to provide a user friendly string representation
473 |
474 | String representing the property key
475 |
476 |
477 |
478 |
--------------------------------------------------------------------------------
/Output/net46/SharpVectors.Converters.Wpf.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/net46/SharpVectors.Converters.Wpf.dll
--------------------------------------------------------------------------------
/Output/net46/SharpVectors.Core.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/net46/SharpVectors.Core.dll
--------------------------------------------------------------------------------
/Output/net46/SharpVectors.Css.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/net46/SharpVectors.Css.dll
--------------------------------------------------------------------------------
/Output/net46/SharpVectors.Dom.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/net46/SharpVectors.Dom.dll
--------------------------------------------------------------------------------
/Output/net46/SharpVectors.Model.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/net46/SharpVectors.Model.dll
--------------------------------------------------------------------------------
/Output/net46/SharpVectors.Rendering.Gdi.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/net46/SharpVectors.Rendering.Gdi.dll
--------------------------------------------------------------------------------
/Output/net46/SharpVectors.Rendering.Wpf.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/net46/SharpVectors.Rendering.Wpf.dll
--------------------------------------------------------------------------------
/Output/net46/SharpVectors.Runtime.Wpf.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/net46/SharpVectors.Runtime.Wpf.dll
--------------------------------------------------------------------------------
/Output/net46/SvgViewer.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/net46/SvgViewer.exe
--------------------------------------------------------------------------------
/Output/net46/SvgViewer.exe.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Output/net48/SharpVectors.Converters.Wpf.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/net48/SharpVectors.Converters.Wpf.dll
--------------------------------------------------------------------------------
/Output/net48/SharpVectors.Core.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/net48/SharpVectors.Core.dll
--------------------------------------------------------------------------------
/Output/net48/SharpVectors.Css.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/net48/SharpVectors.Css.dll
--------------------------------------------------------------------------------
/Output/net48/SharpVectors.Dom.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/net48/SharpVectors.Dom.dll
--------------------------------------------------------------------------------
/Output/net48/SharpVectors.Model.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/net48/SharpVectors.Model.dll
--------------------------------------------------------------------------------
/Output/net48/SharpVectors.Rendering.Gdi.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/net48/SharpVectors.Rendering.Gdi.dll
--------------------------------------------------------------------------------
/Output/net48/SharpVectors.Rendering.Wpf.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/net48/SharpVectors.Rendering.Wpf.dll
--------------------------------------------------------------------------------
/Output/net48/SharpVectors.Runtime.Wpf.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/net48/SharpVectors.Runtime.Wpf.dll
--------------------------------------------------------------------------------
/Output/net48/SvgViewer.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/net48/SvgViewer.exe
--------------------------------------------------------------------------------
/Output/net48/SvgViewer.exe.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Output/netcoreapp3.1/SharpVectors.Converters.Wpf.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/netcoreapp3.1/SharpVectors.Converters.Wpf.dll
--------------------------------------------------------------------------------
/Output/netcoreapp3.1/SharpVectors.Core.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/netcoreapp3.1/SharpVectors.Core.dll
--------------------------------------------------------------------------------
/Output/netcoreapp3.1/SharpVectors.Css.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/netcoreapp3.1/SharpVectors.Css.dll
--------------------------------------------------------------------------------
/Output/netcoreapp3.1/SharpVectors.Dom.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/netcoreapp3.1/SharpVectors.Dom.dll
--------------------------------------------------------------------------------
/Output/netcoreapp3.1/SharpVectors.Model.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/netcoreapp3.1/SharpVectors.Model.dll
--------------------------------------------------------------------------------
/Output/netcoreapp3.1/SharpVectors.Rendering.Gdi.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/netcoreapp3.1/SharpVectors.Rendering.Gdi.dll
--------------------------------------------------------------------------------
/Output/netcoreapp3.1/SharpVectors.Rendering.Wpf.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/netcoreapp3.1/SharpVectors.Rendering.Wpf.dll
--------------------------------------------------------------------------------
/Output/netcoreapp3.1/SharpVectors.Runtime.Wpf.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/netcoreapp3.1/SharpVectors.Runtime.Wpf.dll
--------------------------------------------------------------------------------
/Output/netcoreapp3.1/SvgViewer.deps.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeTarget": {
3 | "name": ".NETCoreApp,Version=v3.1",
4 | "signature": ""
5 | },
6 | "compilationOptions": {},
7 | "targets": {
8 | ".NETCoreApp,Version=v3.1": {
9 | "SvgViewer/1.0.0": {
10 | "dependencies": {
11 | "Microsoft.CodeAnalysis.FxCopAnalyzers": "3.3.0",
12 | "SharpVectors.Reloaded": "1.6.0"
13 | },
14 | "runtime": {
15 | "SvgViewer.dll": {}
16 | }
17 | },
18 | "Microsoft.CodeAnalysis.FxCopAnalyzers/3.3.0": {
19 | "dependencies": {
20 | "Microsoft.CodeAnalysis.VersionCheckAnalyzer": "3.3.0",
21 | "Microsoft.CodeQuality.Analyzers": "3.3.0",
22 | "Microsoft.NetCore.Analyzers": "3.3.0",
23 | "Microsoft.NetFramework.Analyzers": "3.3.0"
24 | }
25 | },
26 | "Microsoft.CodeAnalysis.VersionCheckAnalyzer/3.3.0": {},
27 | "Microsoft.CodeQuality.Analyzers/3.3.0": {},
28 | "Microsoft.NetCore.Analyzers/3.3.0": {},
29 | "Microsoft.NetFramework.Analyzers/3.3.0": {},
30 | "SharpVectors.Reloaded/1.6.0": {
31 | "runtime": {
32 | "lib/netcoreapp3.1/SharpVectors.Converters.Wpf.dll": {
33 | "assemblyVersion": "1.6.0.0",
34 | "fileVersion": "1.6.0.0"
35 | },
36 | "lib/netcoreapp3.1/SharpVectors.Core.dll": {
37 | "assemblyVersion": "1.6.0.0",
38 | "fileVersion": "1.6.0.0"
39 | },
40 | "lib/netcoreapp3.1/SharpVectors.Css.dll": {
41 | "assemblyVersion": "1.6.0.0",
42 | "fileVersion": "1.6.0.0"
43 | },
44 | "lib/netcoreapp3.1/SharpVectors.Dom.dll": {
45 | "assemblyVersion": "1.6.0.0",
46 | "fileVersion": "1.6.0.0"
47 | },
48 | "lib/netcoreapp3.1/SharpVectors.Model.dll": {
49 | "assemblyVersion": "1.6.0.0",
50 | "fileVersion": "1.6.0.0"
51 | },
52 | "lib/netcoreapp3.1/SharpVectors.Rendering.Gdi.dll": {
53 | "assemblyVersion": "1.6.0.0",
54 | "fileVersion": "1.6.0.0"
55 | },
56 | "lib/netcoreapp3.1/SharpVectors.Rendering.Wpf.dll": {
57 | "assemblyVersion": "1.6.0.0",
58 | "fileVersion": "1.6.0.0"
59 | },
60 | "lib/netcoreapp3.1/SharpVectors.Runtime.Wpf.dll": {
61 | "assemblyVersion": "1.6.0.0",
62 | "fileVersion": "1.6.0.0"
63 | }
64 | }
65 | }
66 | }
67 | },
68 | "libraries": {
69 | "SvgViewer/1.0.0": {
70 | "type": "project",
71 | "serviceable": false,
72 | "sha512": ""
73 | },
74 | "Microsoft.CodeAnalysis.FxCopAnalyzers/3.3.0": {
75 | "type": "package",
76 | "serviceable": true,
77 | "sha512": "sha512-k3Icqx8kc+NrHImuiB8Jc/wd32Xeyd2B/7HOR5Qu9pyKzXQ4ikPeBAwzG2FSTuYhyIuNWvwL5k9yYBbbVz6w9w==",
78 | "path": "microsoft.codeanalysis.fxcopanalyzers/3.3.0",
79 | "hashPath": "microsoft.codeanalysis.fxcopanalyzers.3.3.0.nupkg.sha512"
80 | },
81 | "Microsoft.CodeAnalysis.VersionCheckAnalyzer/3.3.0": {
82 | "type": "package",
83 | "serviceable": true,
84 | "sha512": "sha512-xjLM3DRFZMan3nQyBQEM1mBw6VqQybi4iMJhMFW6Ic1E1GCvqJR3ABOwEL7WtQjDUzxyrGld9bASnAos7G/Xyg==",
85 | "path": "microsoft.codeanalysis.versioncheckanalyzer/3.3.0",
86 | "hashPath": "microsoft.codeanalysis.versioncheckanalyzer.3.3.0.nupkg.sha512"
87 | },
88 | "Microsoft.CodeQuality.Analyzers/3.3.0": {
89 | "type": "package",
90 | "serviceable": true,
91 | "sha512": "sha512-zZ3miq6u22UFQKhfJyLnVEJ+DgeOopLh3eKJnKAcOetPP2hiv3wa7kHZlBDeTvtqJQiAQhAVbttket8XxjN1zw==",
92 | "path": "microsoft.codequality.analyzers/3.3.0",
93 | "hashPath": "microsoft.codequality.analyzers.3.3.0.nupkg.sha512"
94 | },
95 | "Microsoft.NetCore.Analyzers/3.3.0": {
96 | "type": "package",
97 | "serviceable": true,
98 | "sha512": "sha512-6qptTHUu1Wfszuf83NhU0IoAb4j7YWOpJs6oc6S4G/nI6aGGWKH/Xi5Vs9L/8lrI74ijEEzPcIwafSQW5ASHtA==",
99 | "path": "microsoft.netcore.analyzers/3.3.0",
100 | "hashPath": "microsoft.netcore.analyzers.3.3.0.nupkg.sha512"
101 | },
102 | "Microsoft.NetFramework.Analyzers/3.3.0": {
103 | "type": "package",
104 | "serviceable": true,
105 | "sha512": "sha512-JTfMic5fEFWICePbr7GXOGPranqS9Qxu2U/BZEcnnGbK1SFW8TxRyGp6O1L52xsbfOdqmzjc0t5ubhDrjj+Xpg==",
106 | "path": "microsoft.netframework.analyzers/3.3.0",
107 | "hashPath": "microsoft.netframework.analyzers.3.3.0.nupkg.sha512"
108 | },
109 | "SharpVectors.Reloaded/1.6.0": {
110 | "type": "package",
111 | "serviceable": true,
112 | "sha512": "sha512-1YyfNpC9ARGQN2rQeEebhIPErcMCOxGxNL/oLcnKbnDI+OEgDzsd4efIk54Ac3R0FvlOC0hx3q4tLhRWsC1XIg==",
113 | "path": "sharpvectors.reloaded/1.6.0",
114 | "hashPath": "sharpvectors.reloaded.1.6.0.nupkg.sha512"
115 | }
116 | }
117 | }
--------------------------------------------------------------------------------
/Output/netcoreapp3.1/SvgViewer.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/netcoreapp3.1/SvgViewer.dll
--------------------------------------------------------------------------------
/Output/netcoreapp3.1/SvgViewer.dll.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Output/netcoreapp3.1/SvgViewer.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElinamLLC/SvgViewer/f8ae4485bea8edee22685205919c51f075e7fbb2/Output/netcoreapp3.1/SvgViewer.exe
--------------------------------------------------------------------------------
/Output/netcoreapp3.1/SvgViewer.runtimeconfig.dev.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeOptions": {
3 | "additionalProbingPaths": [
4 | "C:\\Users\\Paul Selormey\\.dotnet\\store\\|arch|\\|tfm|",
5 | "C:\\Users\\Paul Selormey\\.nuget\\packages",
6 | "C:\\Microsoft\\Xamarin\\NuGet",
7 | "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
8 | ]
9 | }
10 | }
--------------------------------------------------------------------------------
/Output/netcoreapp3.1/SvgViewer.runtimeconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeOptions": {
3 | "tfm": "netcoreapp3.1",
4 | "framework": {
5 | "name": "Microsoft.WindowsDesktop.App",
6 | "version": "3.1.0"
7 | }
8 | }
9 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## SvgViewer
2 | SharpVectors based SVG viewer application. The purpose is to showcase the features of the SharpVectors library.
3 |
4 | ## Installation
5 | The SharpVectors viewer application targets the following frameworks
6 | * .NET Framework, Version 4.6
7 | * .NET Framework, Version 4.8
8 | * .NET Core, Version 3.1
9 |
--------------------------------------------------------------------------------
/Source/Readme.md:
--------------------------------------------------------------------------------
1 | ## Applications
2 | The SVG# Reloaded comes with one main end-user application, an SVG Viewer or Browser.
3 | The viewer is named SharpVectorSquiggle or Squiggle.NET or simply Squiggle, after a similar viewer in the
4 | [Batik SVG Toolkit](http://xmlgraphics.apache.org/batik/) (since the target is to produce something similar to the [Batik Squiggle](http://xmlgraphics.apache.org/batik/tools/browser.html)).
5 |
6 |
--------------------------------------------------------------------------------
/Source/SharpVectorsSvgViewer.sln:
--------------------------------------------------------------------------------
1 | Microsoft Visual Studio Solution File, Format Version 12.00
2 | # Visual Studio Version 16
3 | VisualStudioVersion = 16.0.29613.14
4 | MinimumVisualStudioVersion = 10.0.40219.1
5 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SvgViewer.Wpf", "SvgViewer\SvgViewer.csproj", "{950268C7-328C-4921-A554-B806DD966869}"
6 | EndProject
7 | Global
8 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
9 | Debug|Any CPU = Debug|Any CPU
10 | Release|Any CPU = Release|Any CPU
11 | EndGlobalSection
12 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
13 | {950268C7-328C-4921-A554-B806DD966869}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
14 | {950268C7-328C-4921-A554-B806DD966869}.Debug|Any CPU.Build.0 = Debug|Any CPU
15 | {950268C7-328C-4921-A554-B806DD966869}.Release|Any CPU.ActiveCfg = Release|Any CPU
16 | {950268C7-328C-4921-A554-B806DD966869}.Release|Any CPU.Build.0 = Release|Any CPU
17 | EndGlobalSection
18 | GlobalSection(SolutionProperties) = preSolution
19 | HideSolutionNode = FALSE
20 | EndGlobalSection
21 | GlobalSection(NestedProjects) = preSolution
22 | {950268C7-328C-4921-A554-B806DD966869} = {B86D794E-1A2E-4F5D-AEFB-30D6A2A295E2}
23 | EndGlobalSection
24 | GlobalSection(ExtensibilityGlobals) = postSolution
25 | SolutionGuid = {ECBBFB65-D6D1-4727-BE82-54D52CE8FCF3}
26 | EndGlobalSection
27 | EndGlobal
28 |
--------------------------------------------------------------------------------
/Source/SvgViewer/App.xaml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Source/SvgViewer/App.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Configuration;
4 | using System.Data;
5 | using System.Linq;
6 | using System.Windows;
7 |
8 | namespace SharpVectors.Squiggle
9 | {
10 | ///
11 | /// Interaction logic for App.xaml
12 | ///
13 | public partial class App : Application
14 | {
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Source/SvgViewer/MainWindow.xaml:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
24 |
26 |
27 |
28 |
29 |
30 |
33 |
35 |
36 |
37 |
40 |
41 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/Source/SvgViewer/MainWindow.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using System.Linq;
4 | using System.Text;
5 | using System.ComponentModel;
6 | using System.Collections.Generic;
7 |
8 | using System.Windows;
9 | using System.Windows.Controls;
10 | //using System.Windows.Data;
11 | //using System.Windows.Documents;
12 | using System.Windows.Input;
13 | using System.Windows.Media;
14 | //using System.Windows.Media.Imaging;
15 | //using System.Windows.Navigation;
16 |
17 | using Microsoft.Win32;
18 |
19 | using SharpVectors.Runtime;
20 | using SharpVectors.Converters;
21 | using SharpVectors.Renderers.Wpf;
22 |
23 | namespace SharpVectors.Squiggle
24 | {
25 | ///
26 | /// Interaction logic for MainWindow.xaml
27 | ///
28 | public partial class MainWindow : Window
29 | {
30 | #region Private Fields
31 |
32 | private delegate void FileChangedToUIThread(FileSystemEventArgs e);
33 |
34 | private string _titleBase;
35 |
36 | //private string _svgFilePath;
37 | //private string _xamlFilePath;
38 |
39 | private FileSystemWatcher _fileWatcher;
40 |
41 | ///
42 | /// Specifies the current state of the mouse handling logic.
43 | ///
44 | private MouseHandlingMode mouseHandlingMode = MouseHandlingMode.None;
45 |
46 | ///
47 | /// The point that was clicked relative to the ZoomAndPanControl.
48 | ///
49 | private Point origZoomAndPanControlMouseDownPoint;
50 |
51 | ///
52 | /// The point that was clicked relative to the content that is contained within the ZoomAndPanControl.
53 | ///
54 | private Point origContentMouseDownPoint;
55 |
56 | ///
57 | /// Records which mouse button clicked during mouse dragging.
58 | ///
59 | private MouseButton mouseButtonDown;
60 |
61 | private FileSvgReader _fileReader;
62 | private WpfDrawingSettings _wpfSettings;
63 |
64 | #endregion
65 |
66 | #region Constructors and Destructor
67 |
68 | public MainWindow()
69 | {
70 | InitializeComponent();
71 |
72 | _titleBase = this.Title;
73 |
74 | this.Loaded += new RoutedEventHandler(OnWindowLoaded);
75 | //this.Unloaded += new RoutedEventHandler(OnWindowUnloaded);
76 | this.Closing += new CancelEventHandler(OnWindowClosing);
77 |
78 | _wpfSettings = new WpfDrawingSettings();
79 | _wpfSettings.CultureInfo = _wpfSettings.NeutralCultureInfo;
80 |
81 | _fileReader = new FileSvgReader(_wpfSettings);
82 | _fileReader.SaveXaml = false;
83 | _fileReader.SaveZaml = false;
84 | }
85 |
86 | #endregion
87 |
88 | #region Protected Methods
89 |
90 | protected override void OnInitialized(EventArgs e)
91 | {
92 | base.OnInitialized(e);
93 |
94 | double width = SystemParameters.PrimaryScreenWidth;
95 | double height = SystemParameters.PrimaryScreenHeight;
96 |
97 | this.Width = Math.Min(1600, width) * 0.85;
98 | this.Height = height * 0.85;
99 |
100 | this.Left = (width - this.Width) / 2.0;
101 | this.Top = (height - this.Height) / 2.0;
102 |
103 | this.WindowStartupLocation = WindowStartupLocation.Manual;
104 | }
105 |
106 | #endregion
107 |
108 | #region Private Event Handlers
109 |
110 | private void OnWindowLoaded(object sender, RoutedEventArgs e)
111 | {
112 | }
113 |
114 | private void OnWindowUnloaded(object sender, RoutedEventArgs e)
115 | {
116 | }
117 |
118 | private void OnWindowClosing(object sender, CancelEventArgs e)
119 | {
120 | }
121 |
122 | #region Drag/Drop Methods
123 |
124 | private void OnDragEnter(object sender, DragEventArgs de)
125 | {
126 | if (de.Data.GetDataPresent(DataFormats.Text) ||
127 | de.Data.GetDataPresent(DataFormats.FileDrop))
128 | {
129 | de.Effects = DragDropEffects.Copy;
130 | }
131 | else
132 | {
133 | de.Effects = DragDropEffects.None;
134 | }
135 | }
136 |
137 | private void OnDragLeave(object sender, DragEventArgs e)
138 | {
139 |
140 | }
141 |
142 | private void OnDragDrop(object sender, DragEventArgs de)
143 | {
144 | string fileName = "";
145 | if (de.Data.GetDataPresent(DataFormats.Text))
146 | {
147 | fileName = (string)de.Data.GetData(DataFormats.Text);
148 | }
149 | else if (de.Data.GetDataPresent(DataFormats.FileDrop))
150 | {
151 | string[] fileNames;
152 | fileNames = (string[])de.Data.GetData(DataFormats.FileDrop);
153 | fileName = fileNames[0];
154 | }
155 |
156 | if (!String.IsNullOrEmpty(fileName))
157 | {
158 | }
159 | if (String.IsNullOrEmpty(fileName) || !File.Exists(fileName))
160 | {
161 | return;
162 | }
163 |
164 | this.CloseFile();
165 |
166 | try
167 | {
168 | this.Cursor = Cursors.Wait;
169 | this.ForceCursor = true;
170 |
171 | this.LoadFile(fileName);
172 | }
173 | catch (Exception ex)
174 | {
175 | MessageBox.Show(ex.ToString(), _titleBase,
176 | MessageBoxButton.OK, MessageBoxImage.Error);
177 | }
178 | finally
179 | {
180 | this.Cursor = Cursors.Arrow;
181 | this.ForceCursor = false;
182 | }
183 | }
184 |
185 | #endregion
186 |
187 | #region FileSystemWatcher Event Handlers
188 |
189 | private void OnFileChangedToUIThread(FileSystemEventArgs e)
190 | {
191 | // Stop watching.
192 | _fileWatcher.EnableRaisingEvents = false;
193 |
194 | try
195 | {
196 | this.Cursor = Cursors.Wait;
197 | this.ForceCursor = true;
198 |
199 | this.LoadFile(e.FullPath);
200 | }
201 | catch (Exception ex)
202 | {
203 | MessageBox.Show(ex.ToString(), _titleBase,
204 | MessageBoxButton.OK, MessageBoxImage.Error);
205 | }
206 | finally
207 | {
208 | this.Cursor = Cursors.Arrow;
209 | this.ForceCursor = false;
210 | }
211 | }
212 |
213 | // Define the event handlers.
214 | private void OnFileChanged(object source, FileSystemEventArgs e)
215 | {
216 | if (e.ChangeType == WatcherChangeTypes.Changed)
217 | {
218 | this.Dispatcher.BeginInvoke(new FileChangedToUIThread(OnFileChangedToUIThread),
219 | System.Windows.Threading.DispatcherPriority.Normal, e);
220 | }
221 | }
222 |
223 | private void OnFileRenamed(object source, RenamedEventArgs e)
224 | {
225 | }
226 |
227 | #endregion
228 |
229 | #region Private Zoom Panel Handlers
230 |
231 | ///
232 | /// Event raised on mouse down in the ZoomAndPanControl.
233 | ///
234 | private void OnZoomPanMouseDown(object sender, MouseButtonEventArgs e)
235 | {
236 | svgViewer.Focus();
237 | Keyboard.Focus(svgViewer);
238 |
239 | mouseButtonDown = e.ChangedButton;
240 | origZoomAndPanControlMouseDownPoint = e.GetPosition(zoomPanControl);
241 | origContentMouseDownPoint = e.GetPosition(svgViewer);
242 |
243 | if ((Keyboard.Modifiers & ModifierKeys.Shift) != 0 &&
244 | (e.ChangedButton == MouseButton.Left ||
245 | e.ChangedButton == MouseButton.Right))
246 | {
247 | // Shift + left- or right-down initiates zooming mode.
248 | mouseHandlingMode = MouseHandlingMode.Zooming;
249 | }
250 | else if (mouseButtonDown == MouseButton.Left)
251 | {
252 | // Just a plain old left-down initiates panning mode.
253 | mouseHandlingMode = MouseHandlingMode.Panning;
254 | }
255 |
256 | if (mouseHandlingMode != MouseHandlingMode.None)
257 | {
258 | // Capture the mouse so that we eventually receive the mouse up event.
259 | zoomPanControl.CaptureMouse();
260 | e.Handled = true;
261 | }
262 | }
263 |
264 | ///
265 | /// Event raised on mouse up in the ZoomAndPanControl.
266 | ///
267 | private void OnZoomPanMouseUp(object sender, MouseButtonEventArgs e)
268 | {
269 | if (mouseHandlingMode != MouseHandlingMode.None)
270 | {
271 | if (mouseHandlingMode == MouseHandlingMode.Zooming)
272 | {
273 | if (mouseButtonDown == MouseButton.Left)
274 | {
275 | // Shift + left-click zooms in on the content.
276 | ZoomIn();
277 | }
278 | else if (mouseButtonDown == MouseButton.Right)
279 | {
280 | // Shift + left-click zooms out from the content.
281 | ZoomOut();
282 | }
283 | }
284 |
285 | zoomPanControl.ReleaseMouseCapture();
286 | mouseHandlingMode = MouseHandlingMode.None;
287 | e.Handled = true;
288 | }
289 | }
290 |
291 | ///
292 | /// Event raised on mouse move in the ZoomAndPanControl.
293 | ///
294 | private void OnZoomPanMouseMove(object sender, MouseEventArgs e)
295 | {
296 | if (mouseHandlingMode == MouseHandlingMode.Panning)
297 | {
298 | //
299 | // The user is left-dragging the mouse.
300 | // Pan the viewport by the appropriate amount.
301 | //
302 | Point curContentMousePoint = e.GetPosition(svgViewer);
303 | Vector dragOffset = curContentMousePoint - origContentMouseDownPoint;
304 |
305 | zoomPanControl.ContentOffsetX -= dragOffset.X;
306 | zoomPanControl.ContentOffsetY -= dragOffset.Y;
307 |
308 | e.Handled = true;
309 | }
310 | }
311 |
312 | ///
313 | /// Event raised by rotating the mouse wheel
314 | ///
315 | private void OnZoomPanMouseWheel(object sender, MouseWheelEventArgs e)
316 | {
317 | e.Handled = true;
318 |
319 | if (e.Delta > 0)
320 | {
321 | ZoomIn();
322 | }
323 | else if (e.Delta < 0)
324 | {
325 | ZoomOut();
326 | }
327 | }
328 |
329 | ///
330 | /// The 'ZoomIn' command (bound to the plus key) was executed.
331 | ///
332 | private void OnZoomIn(object sender, ExecutedRoutedEventArgs e)
333 | {
334 | ZoomIn();
335 | }
336 |
337 | ///
338 | /// The 'ZoomOut' command (bound to the minus key) was executed.
339 | ///
340 | private void OnZoomOut(object sender, ExecutedRoutedEventArgs e)
341 | {
342 | ZoomOut();
343 | }
344 |
345 | ///
346 | /// Zoom the viewport out by a small increment.
347 | ///
348 | private void ZoomOut()
349 | {
350 | zoomPanControl.ContentScale -= 0.1;
351 | }
352 |
353 | ///
354 | /// Zoom the viewport in by a small increment.
355 | ///
356 | private void ZoomIn()
357 | {
358 | zoomPanControl.ContentScale += 0.1;
359 | }
360 |
361 | #endregion
362 |
363 | #endregion
364 |
365 | #region Private Methods
366 |
367 | private void LoadFile(string fileName)
368 | {
369 | string fileExt = Path.GetExtension(fileName);
370 | if (string.IsNullOrEmpty(fileExt))
371 | {
372 | return;
373 | }
374 |
375 | if (_fileWatcher != null)
376 | {
377 | _fileWatcher.EnableRaisingEvents = false;
378 | }
379 |
380 | if (string.Equals(fileExt, ".svgz", StringComparison.OrdinalIgnoreCase) ||
381 | string.Equals(fileExt, ".svg", StringComparison.OrdinalIgnoreCase))
382 | {
383 | try
384 | {
385 | this.CloseFile();
386 |
387 | DrawingGroup drawing = _fileReader.Read(fileName);
388 |
389 | svgViewer.UnloadDiagrams();
390 |
391 | if (drawing != null)
392 | {
393 | svgViewer.RenderDiagrams(drawing);
394 | }
395 | else
396 | {
397 | return;
398 | }
399 | zoomPanControl.InvalidateMeasure();
400 |
401 | Rect bounds = drawing.Bounds;
402 |
403 | //zoomPanControl.AnimatedScaleToFit();
404 | //Rect rect = new Rect(0, 0,
405 | // mainFrame.RenderSize.Width, mainFrame.RenderSize.Height);
406 | //Rect rect = new Rect(0, 0,
407 | // bounds.Width, bounds.Height);
408 | if (bounds.IsEmpty)
409 | {
410 | bounds = new Rect(0, 0,
411 | mainFrame.ActualWidth, mainFrame.ActualHeight);
412 | }
413 | zoomPanControl.AnimatedZoomTo(bounds);
414 |
415 | if (_fileWatcher == null)
416 | {
417 | // Create a new FileSystemWatcher and set its properties.
418 | _fileWatcher = new FileSystemWatcher();
419 | // Watch for changes in LastAccess and LastWrite times
420 | _fileWatcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite;
421 |
422 | _fileWatcher.IncludeSubdirectories = false;
423 |
424 | // Add event handlers.
425 | _fileWatcher.Changed += new FileSystemEventHandler(OnFileChanged);
426 | _fileWatcher.Created += new FileSystemEventHandler(OnFileChanged);
427 | _fileWatcher.Deleted += new FileSystemEventHandler(OnFileChanged);
428 | _fileWatcher.Renamed += new RenamedEventHandler(OnFileRenamed);
429 | }
430 |
431 | _fileWatcher.Path = Path.GetDirectoryName(fileName);
432 | // Only watch current file
433 | _fileWatcher.Filter = Path.GetFileName(fileName);
434 | // Begin watching.
435 | _fileWatcher.EnableRaisingEvents = true;
436 | }
437 | catch
438 | {
439 | //svgViewer.Source = null;
440 | svgViewer.UnloadDiagrams();
441 | }
442 | }
443 | }
444 |
445 | private void CloseFile()
446 | {
447 | try
448 | {
449 | if (svgViewer != null)
450 | {
451 | //svgViewer.Source = null;
452 | svgViewer.UnloadDiagrams();
453 | }
454 | }
455 | catch
456 | {
457 | }
458 | }
459 |
460 | #endregion
461 | }
462 | }
463 |
--------------------------------------------------------------------------------
/Source/SvgViewer/MouseHandlingMode.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace SharpVectors.Squiggle
4 | {
5 | ///
6 | /// Defines the current state of the mouse handling logic.
7 | ///
8 | public enum MouseHandlingMode
9 | {
10 | ///
11 | /// Not in any special mode.
12 | ///
13 | None,
14 |
15 | ///
16 | /// The user is left-dragging rectangles with the mouse.
17 | ///
18 | DraggingRectangles,
19 |
20 | ///
21 | /// The user is left-mouse-button-dragging to pan the viewport.
22 | ///
23 | Panning,
24 |
25 | ///
26 | /// The user is holding down shift and left-clicking or right-clicking to zoom in or out.
27 | ///
28 | Zooming,
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/Source/SvgViewer/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Resources;
3 | using System.Runtime.CompilerServices;
4 | using System.Runtime.InteropServices;
5 | using System.Windows;
6 |
7 | // General Information about an assembly is controlled through the following
8 | // set of attributes. Change these attribute values to modify the information
9 | // associated with an assembly.
10 | [assembly: AssemblyTitle("SharpVectors.Squiggle")]
11 | [assembly: AssemblyDescription("")]
12 | [assembly: AssemblyConfiguration("")]
13 | [assembly: AssemblyCompany("")]
14 | [assembly: AssemblyProduct("SharpVectors.Squiggle")]
15 | [assembly: AssemblyCopyright("Copyright © 2010")]
16 | [assembly: AssemblyTrademark("")]
17 | [assembly: AssemblyCulture("")]
18 |
19 | // Setting ComVisible to false makes the types in this assembly not visible
20 | // to COM components. If you need to access a type in this assembly from
21 | // COM, set the ComVisible attribute to true on that type.
22 | [assembly: ComVisible(false)]
23 |
24 | //In order to begin building localizable applications, set
25 | //CultureYouAreCodingWith in your .csproj file
26 | //inside a . For example, if you are using US english
27 | //in your source files, set the to en-US. Then uncomment
28 | //the NeutralResourceLanguage attribute below. Update the "en-US" in
29 | //the line below to match the UICulture setting in the project file.
30 |
31 | //[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
32 |
33 |
34 | [assembly: ThemeInfo(
35 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
36 | //(used if a resource is not found in the page,
37 | // or application resource dictionaries)
38 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
39 | //(used if a resource is not found in the page,
40 | // app, or any theme specific resource dictionaries)
41 | )]
42 |
43 |
44 | // Version information for an assembly consists of the following four values:
45 | //
46 | // Major Version
47 | // Minor Version
48 | // Build Number
49 | // Revision
50 | //
51 | // You can specify all the values or you can default the Build and Revision Numbers
52 | // by using the '*' as shown below:
53 | // [assembly: AssemblyVersion("1.0.*")]
54 | [assembly: AssemblyVersion("1.6.0.0")]
55 | [assembly: AssemblyFileVersion("1.6.0.0")]
56 |
--------------------------------------------------------------------------------
/Source/SvgViewer/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace SharpVectors.Squiggle.Properties {
12 | using System;
13 |
14 |
15 | ///
16 | /// A strongly-typed resource class, for looking up localized strings, etc.
17 | ///
18 | // This class was auto-generated by the StronglyTypedResourceBuilder
19 | // class via a tool like ResGen or Visual Studio.
20 | // To add or remove a member, edit your .ResX file then rerun ResGen
21 | // with the /str option, or rebuild your VS project.
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Resources {
26 |
27 | private static global::System.Resources.ResourceManager resourceMan;
28 |
29 | private static global::System.Globalization.CultureInfo resourceCulture;
30 |
31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 | internal Resources() {
33 | }
34 |
35 | ///
36 | /// Returns the cached ResourceManager instance used by this class.
37 | ///
38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39 | internal static global::System.Resources.ResourceManager ResourceManager {
40 | get {
41 | if (object.ReferenceEquals(resourceMan, null)) {
42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SharpVectors.Squiggle.Properties.Resources", typeof(Resources).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// Overrides the current thread's CurrentUICulture property for all
51 | /// resource lookups using this strongly typed resource class.
52 | ///
53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54 | internal static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/Source/SvgViewer/Properties/Resources.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 | text/microsoft-resx
107 |
108 |
109 | 2.0
110 |
111 |
112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
113 |
114 |
115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
--------------------------------------------------------------------------------
/Source/SvgViewer/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace SharpVectors.Squiggle.Properties {
12 |
13 |
14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.8.0.0")]
16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
17 |
18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
19 |
20 | public static Settings Default {
21 | get {
22 | return defaultInstance;
23 | }
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/Source/SvgViewer/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Source/SvgViewer/SvgViewer.VS2017.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | net46;net48
4 | WinExe
5 | true
6 | true
7 | SharpVectors.Squiggle
8 | SharpVectors.Squiggle
9 | false
10 | true
11 | false
12 | false
13 |
14 |
15 | full
16 | true
17 | DEBUG;TRACE
18 | Output\
19 |
20 |
21 | TRACE
22 | Output\
23 |
24 |
25 | $(DefineConstants);DOTNET40;NETFULL
26 | $(DefineConstants);DOTNET45;NETFULL
27 | $(DefineConstants);DOTNET46;NETFULL
28 | $(DefineConstants);DOTNET47;NETFULL
29 | $(DefineConstants);DOTNET48;NETFULL
30 | $(DefineConstants);NETCORE
31 | $(DefineConstants);NETSTANDARD
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 | all
45 | runtime; build; native; contentfiles; analyzers; buildtransitive
46 |
47 |
48 |
49 |
50 | MSBuild:Compile
51 |
52 |
53 | MSBuild:Compile
54 |
55 |
56 |
--------------------------------------------------------------------------------
/Source/SvgViewer/SvgViewer.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | net46;net48;netcoreapp3.1
4 | WinExe
5 | true
6 | SharpVectors.Squiggle
7 | SvgViewer
8 | false
9 | true
10 | false
11 | false
12 |
13 |
14 | full
15 | true
16 | DEBUG;TRACE
17 | ..\..\Output\
18 |
19 |
20 | TRACE
21 | ..\..\Output\
22 |
23 |
24 | $(DefineConstants);DOTNET40;NETFULL
25 | $(DefineConstants);DOTNET45;NETFULL
26 | $(DefineConstants);DOTNET46;NETFULL
27 | $(DefineConstants);DOTNET47;NETFULL
28 | $(DefineConstants);DOTNET48;NETFULL
29 | $(DefineConstants);NETCORE
30 | $(DefineConstants);NETSTANDARD
31 |
32 |
33 |
34 | all
35 | runtime; build; native; contentfiles; analyzers; buildtransitive
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/Source/SvgViewer/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------