diff --git a/.gitattributes b/.gitattributes
index 7ff73f4..1ff0c42 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,26 +1,63 @@
-# Auto detect text files
+###############################################################################
+# Set default behavior to automatically normalize line endings.
+###############################################################################
* text=auto
-# Custom for Visual Studio
-*.cs diff=csharp text=auto eol=lf
-*.vb diff=csharp text=auto eol=lf
-*.fs diff=csharp text=auto eol=lf
-*.fsi diff=csharp text=auto eol=lf
-*.fsx diff=csharp text=auto eol=lf
-*.sln text eol=crlf merge=union
-*.csproj merge=union
-*.vbproj merge=union
-*.fsproj merge=union
-*.dbproj merge=union
+###############################################################################
+# Set default behavior for command prompt diff.
+#
+# This is need for earlier builds of msysgit that does not have it on by
+# default for csharp files.
+# Note: This is only used by command line
+###############################################################################
+#*.cs diff=csharp
-# Standard to msysgit
-*.doc diff=astextplain
-*.DOC diff=astextplain
-*.docx diff=astextplain
-*.DOCX diff=astextplain
-*.dot diff=astextplain
-*.DOT diff=astextplain
-*.pdf diff=astextplain
-*.PDF diff=astextplain
-*.rtf diff=astextplain
-*.RTF diff=astextplain
+###############################################################################
+# Set the merge driver for project and solution files
+#
+# Merging from the command prompt will add diff markers to the files if there
+# are conflicts (Merging from VS is not affected by the settings below, in VS
+# the diff markers are never inserted). Diff markers may cause the following
+# file extensions to fail to load in VS. An alternative would be to treat
+# these files as binary and thus will always conflict and require user
+# intervention with every merge. To do so, just uncomment the entries below
+###############################################################################
+#*.sln merge=binary
+#*.csproj merge=binary
+#*.vbproj merge=binary
+#*.vcxproj merge=binary
+#*.vcproj merge=binary
+#*.dbproj merge=binary
+#*.fsproj merge=binary
+#*.lsproj merge=binary
+#*.wixproj merge=binary
+#*.modelproj merge=binary
+#*.sqlproj merge=binary
+#*.wwaproj merge=binary
+
+###############################################################################
+# behavior for image files
+#
+# image files are treated as binary by default.
+###############################################################################
+#*.jpg binary
+#*.png binary
+#*.gif binary
+
+###############################################################################
+# diff behavior for common document formats
+#
+# Convert binary document formats to text before diffing them. This feature
+# is only available from the command line. Turn it on by uncommenting the
+# entries below.
+###############################################################################
+#*.doc diff=astextplain
+#*.DOC diff=astextplain
+#*.docx diff=astextplain
+#*.DOCX diff=astextplain
+#*.dot diff=astextplain
+#*.DOT diff=astextplain
+#*.pdf diff=astextplain
+#*.PDF diff=astextplain
+#*.rtf diff=astextplain
+#*.RTF diff=astextplain
diff --git a/.gitignore b/.gitignore
index 9399ea2..3a2238d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,28 +4,49 @@
# User-specific files
*.suo
*.user
+*.userosscache
*.sln.docstates
-# Xamarin Studio / monodevelop user-specific
+# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
-*.dll.mdb
-*.exe.mdb
# Build results
-
[Dd]ebug/
+[Dd]ebugPublic/
[Rr]elease/
-x64/
-build/
+[Rr]eleases/
+[Xx]64/
+[Xx]86/
+[Bb]uild/
+bld/
[Bb]in/
[Oo]bj/
+# Visual Studio 2015 cache/options directory
+.vs/
+# Uncomment if you have tasks that create the project's static files in wwwroot
+#wwwroot/
+
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
+# NUNIT
+*.VisualState.xml
+TestResult.xml
+
+# Build Results of an ATL Project
+[Dd]ebugPS/
+[Rr]eleasePS/
+dlldata.c
+
+# DNX
+project.lock.json
+artifacts/
+
*_i.c
*_p.c
+*_i.h
*.ilk
*.meta
*.obj
@@ -45,24 +66,30 @@ build/
*.vssscc
.builds
*.pidb
-*.log
+*.svclog
*.scc
+# Chutzpah Test files
+_Chutzpah*
+
# Visual C++ cache files
ipch/
*.aps
*.ncb
+*.opendb
*.opensdf
*.sdf
*.cachefile
+*.VC.db
# Visual Studio profiler
*.psess
*.vsp
*.vspx
+*.sap
-# Other Visual Studio data
-.vs/
+# TFS 2012 Local Workspace
+$tf/
# Guidance Automation Toolkit
*.gpState
@@ -70,6 +97,10 @@ ipch/
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
+*.DotSettings.user
+
+# JustCode is a .NET coding add-in
+.JustCode
# TeamCity is a build add-in
_TeamCity*
@@ -78,8 +109,16 @@ _TeamCity*
*.dotCover
# NCrunch
-*.ncrunch*
+_NCrunch_*
.*crunch*.local.xml
+nCrunchTemp_*
+
+# MightyMoose
+*.mm.*
+AutoTest.Net/
+
+# Web workbench (sass)
+.sass-cache/
# Installshield output folder
[Ee]xpress/
@@ -98,92 +137,109 @@ DocProject/Help/html
publish/
# Publish Web Output
-*.Publish.xml
+*.[Pp]ublish.xml
+*.azurePubxml
+
+# TODO: Un-comment the next line if you do not want to checkin
+# your web deploy settings because they may include unencrypted
+# passwords
+#*.pubxml
+*.publishproj
+
+# NuGet Packages
+*.nupkg
+# The packages folder can be ignored because of Package Restore
+**/packages/*
+# except build/, which is used as an MSBuild target.
+!**/packages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/packages/repositories.config
+# NuGet v3's project.json files produces more ignoreable files
+*.nuget.props
+*.nuget.targets
+
+# Microsoft Azure Build Output
+csx/
+*.build.csdef
-# Enable nuget.exe in the .nuget folder (though normally executables are not tracked)
-!.nuget/NuGet.exe
+# Microsoft Azure Emulator
+ecf/
+rcf/
-# Windows Azure Build Output
-csx
-*.build.csdef
+# Microsoft Azure ApplicationInsights config file
+ApplicationInsights.config
# Windows Store app package directory
AppPackages/
+BundleArtifacts/
+
+# Visual Studio cache files
+# files ending in .cache can be ignored
+*.[Cc]ache
+# but keep track of directories ending in .cache
+!*.[Cc]ache/
# Others
-sql/
-*.Cache
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
-*.[Pp]ublish.xml
+*.dbproj.schemaview
*.pfx
*.publishsettings
+node_modules/
+orleans.codegen.cs
# RIA/Silverlight projects
Generated_Code/
-# Backup & report files from converting an old project file to a newer
-# Visual Studio version. Backup files are not needed, because we have git ;-)
+# Backup & report files from converting an old project file
+# to a newer Visual Studio version. Backup files are not needed,
+# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# SQL Server files
-App_Data/*.mdf
-App_Data/*.ldf
+*.mdf
+*.ldf
+# Business Intelligence projects
+*.rdl.data
+*.bim.layout
+*.bim_*.settings
-#LightSwitch generated files
-GeneratedArtifacts/
-_Pvt_Extensions/
-ModelManifest.xml
-
-# =========================
-# Windows detritus
-# =========================
+# Microsoft Fakes
+FakesAssemblies/
-# Windows image file caches
-Thumbs.db
-ehthumbs.db
+# GhostDoc plugin setting file
+*.GhostDoc.xml
-# Folder config file
-Desktop.ini
+# Node.js Tools for Visual Studio
+.ntvs_analysis.dat
-# Recycle Bin used on file shares
-$RECYCLE.BIN/
+# Visual Studio 6 build log
+*.plg
-# Mac desktop service store files
-.DS_Store
+# Visual Studio 6 workspace options file
+*.opt
-# ===================================================
-# Exclude F# project specific directories and files
-# ===================================================
+# Visual Studio LightSwitch build output
+**/*.HTMLClient/GeneratedArtifacts
+**/*.DesktopClient/GeneratedArtifacts
+**/*.DesktopClient/ModelManifest.xml
+**/*.Server/GeneratedArtifacts
+**/*.Server/ModelManifest.xml
+_Pvt_Extensions
-# NuGet Packages Directory
-packages/
-
-# Generated documentation folder
-docs/output/
-
-# Temp folder used for publishing docs
-temp/
-
-# Test results produced by build
-TestResults.xml
+# LightSwitch generated files
+GeneratedArtifacts/
+ModelManifest.xml
-# Nuget outputs
-nuget/*.nupkg
-release.cmd
-release.sh
-localpackages/
-paket-files
-*.orig
+# Paket dependency manager
.paket/paket.exe
-docs/content/license.md
-docs/content/release-notes.md
-.fake
-docs/tools/FSharp.Formatting.svclog
+
+# FAKE - F# Make
+.fake/
\ No newline at end of file
diff --git a/.paket/paket.bootstrapper.exe b/.paket/paket.bootstrapper.exe
deleted file mode 100644
index 559b71e..0000000
Binary files a/.paket/paket.bootstrapper.exe and /dev/null differ
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
deleted file mode 100644
index 7b809b1..0000000
--- a/.vscode/tasks.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "version": "0.1.0",
- "command": "./build.sh",
- "isShellCommand": true,
- "showOutput": "silent",
-
- "tasks": [
- {
- "taskName": "Build",
- "args": ["Build"],
- "isBuildCommand": true
- },
- {
- "taskName": "Test",
- "args": ["Test"],
- "isTestCommand": true
- }
- ]
-}
\ No newline at end of file
diff --git a/Settings.FSharpLint b/Settings.FSharpLint
deleted file mode 100644
index 26efc6b..0000000
--- a/Settings.FSharpLint
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
- False
-
-
-
-
-
\ No newline at end of file
diff --git a/SharpVG.sln b/SharpVG.sln
index 2531447..3072008 100644
--- a/SharpVG.sln
+++ b/SharpVG.sln
@@ -1,17 +1,15 @@
+
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25123.0
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".paket", ".paket", "{E62B2A1D-7377-42A1-B323-F9D8A9538F35}"
- ProjectSection(SolutionItems) = preProject
- paket.dependencies = paket.dependencies
- EndProjectSection
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "SharpVG", "SharpVG\SharpVG.fsproj", "{B5154113-511A-4461-A276-6C7572A63050}"
EndProject
-Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "SharpVG", "SharpVG\SharpVG.fsproj", "{3F724B6D-CB2E-48AC-8BE8-405B5C2D591C}"
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Tests", "Tests\Tests.fsproj", "{E0FA27A9-D79C-4B0B-8267-E365EEE77DB7}"
EndProject
-Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Tests", "Tests\Tests.fsproj", "{6E568661-AD6D-4DE5-89C9-54820AA92859}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Examples", "Examples", "{A77A1550-1934-4901-A691-A07CB3C80D27}"
EndProject
-Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "TriangleExample", "TriangleExample\TriangleExample.fsproj", "{FA4BE1AF-15CE-4CD5-905A-63C54C0D8397}"
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Triangle", "Triangle\Triangle.fsproj", "{58DDE05F-0D65-483F-A091-E684A66790C6}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -19,20 +17,23 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {3F724B6D-CB2E-48AC-8BE8-405B5C2D591C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {3F724B6D-CB2E-48AC-8BE8-405B5C2D591C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {3F724B6D-CB2E-48AC-8BE8-405B5C2D591C}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {3F724B6D-CB2E-48AC-8BE8-405B5C2D591C}.Release|Any CPU.Build.0 = Release|Any CPU
- {6E568661-AD6D-4DE5-89C9-54820AA92859}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {6E568661-AD6D-4DE5-89C9-54820AA92859}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {6E568661-AD6D-4DE5-89C9-54820AA92859}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {6E568661-AD6D-4DE5-89C9-54820AA92859}.Release|Any CPU.Build.0 = Release|Any CPU
- {FA4BE1AF-15CE-4CD5-905A-63C54C0D8397}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {FA4BE1AF-15CE-4CD5-905A-63C54C0D8397}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {FA4BE1AF-15CE-4CD5-905A-63C54C0D8397}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {FA4BE1AF-15CE-4CD5-905A-63C54C0D8397}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B5154113-511A-4461-A276-6C7572A63050}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B5154113-511A-4461-A276-6C7572A63050}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B5154113-511A-4461-A276-6C7572A63050}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B5154113-511A-4461-A276-6C7572A63050}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E0FA27A9-D79C-4B0B-8267-E365EEE77DB7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E0FA27A9-D79C-4B0B-8267-E365EEE77DB7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E0FA27A9-D79C-4B0B-8267-E365EEE77DB7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E0FA27A9-D79C-4B0B-8267-E365EEE77DB7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {58DDE05F-0D65-483F-A091-E684A66790C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {58DDE05F-0D65-483F-A091-E684A66790C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {58DDE05F-0D65-483F-A091-E684A66790C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {58DDE05F-0D65-483F-A091-E684A66790C6}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {58DDE05F-0D65-483F-A091-E684A66790C6} = {A77A1550-1934-4901-A691-A07CB3C80D27}
+ EndGlobalSection
EndGlobal
diff --git a/SharpVG/SharpVG.fsproj b/SharpVG/SharpVG.fsproj
index eae112b..9c6f93f 100644
--- a/SharpVG/SharpVG.fsproj
+++ b/SharpVG/SharpVG.fsproj
@@ -1,18 +1,18 @@
-
+
Debug
AnyCPU
2.0
- 3f724b6d-cb2e-48ac-8be8-405b5c2d591c
+ b5154113-511a-4461-a276-6c7572a63050
Library
SharpVG
SharpVG
- v4.6.1
+ v4.5.2
4.4.0.0
+ true
SharpVG
-
true
@@ -22,7 +22,6 @@
bin\Debug\
DEBUG;TRACE
3
- AnyCPU
bin\Debug\SharpVG.XML
@@ -32,9 +31,44 @@
bin\Release\
TRACE
3
- AnyCPU
bin\Release\SharpVG.XML
+
+
+
+ True
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
11
@@ -51,43 +85,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- True
-
-
-
-
-
-
-
-
- This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
-
-
-
+
-
-
-
-
+
+ ..\packages\FsCheck.2.5.0\lib\net45\FsCheck.dll
+ True
+
+
+ ..\packages\FsCheck.Xunit.2.5.0\lib\net45\FsCheck.Xunit.dll
True
+
+ ..\packages\FSharp.Core.3.1.2.5\lib\net40\FSharp.Core.dll
+ True
+
+
+ ..\packages\log4net.2.0.5\lib\net45-full\log4net.dll
+ True
+
+
SharpVG
- {3f724b6d-cb2e-48ac-8be8-405b5c2d591c}
+ {b5154113-511a-4461-a276-6c7572a63050}
True
+
+ ..\packages\xunit.abstractions.2.0.0\lib\net35\xunit.abstractions.dll
+ True
+
+
+ ..\packages\xunit.extensibility.core.2.1.0\lib\dotnet\xunit.core.dll
+ True
+
+
+ ..\packages\xunit.extensibility.execution.2.1.0\lib\net45\xunit.execution.desktop.dll
+ True
+
-
-
-
-
- ..\packages\FsCheck\lib\net45\FsCheck.dll
- True
- True
-
-
-
-
-
-
- ..\packages\FsCheck\lib\portable-net45+netcore45\FsCheck.dll
- True
- True
-
-
-
-
-
-
- ..\packages\FsCheck\lib\portable-net45+netcore45+wp8\FsCheck.dll
- True
- True
-
-
-
-
-
-
- ..\packages\FsCheck\lib\portable-net45+netcore45+wpa81+wp8\FsCheck.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\packages\FsCheck.Xunit\lib\net45\FsCheck.Xunit.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\packages\log4net\lib\net35-client\log4net.dll
- True
- True
-
-
-
-
-
-
- ..\packages\log4net\lib\net40-client\log4net.dll
- True
- True
-
-
-
-
-
-
- ..\packages\log4net\lib\net40-full\log4net.dll
- True
- True
-
-
-
-
-
-
- ..\packages\log4net\lib\net20-full\log4net.dll
- True
- True
-
-
-
-
-
-
- ..\packages\log4net\lib\net45-full\log4net.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\packages\xunit.abstractions\lib\net35\xunit.abstractions.dll
- True
- True
-
-
-
-
-
-
- ..\packages\xunit.abstractions\lib\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.abstractions.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\packages\xunit.extensibility.core\lib\portable-net45+win8+wp8+wpa81\xunit.core.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\packages\xunit.extensibility.execution\lib\win8\xunit.execution.dotnet.dll
- True
- True
-
-
-
-
-
-
- ..\packages\xunit.extensibility.execution\lib\net45\xunit.execution.desktop.dll
- True
- True
-
-
-
-
-
-
- ..\packages\xunit.extensibility.execution\lib\monoandroid\xunit.execution.dotnet.dll
- True
- True
-
-
-
-
-
-
- ..\packages\xunit.extensibility.execution\lib\monotouch\xunit.execution.dotnet.dll
- True
- True
-
-
-
-
-
-
- ..\packages\xunit.extensibility.execution\lib\wp8\xunit.execution.dotnet.dll
- True
- True
-
-
-
-
-
-
- ..\packages\xunit.extensibility.execution\lib\wpa81\xunit.execution.dotnet.dll
- True
- True
-
-
-
-
-
-
- ..\packages\xunit.extensibility.execution\lib\xamarinios\xunit.execution.dotnet.dll
- True
- True
-
-
-
-
-
-
- ..\packages\xunit.extensibility.execution\lib\portable-net45+win8+wp8+wpa81\xunit.execution.dotnet.dll
- True
- True
-
-
-
-
-
+
+
+ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
+
+
+
+
\ No newline at end of file
diff --git a/Tests/packages.config b/Tests/packages.config
index 34c89fe..eb8676c 100644
--- a/Tests/packages.config
+++ b/Tests/packages.config
@@ -1,4 +1,11 @@
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Tests/paket.references b/Tests/paket.references
deleted file mode 100644
index 1269d85..0000000
--- a/Tests/paket.references
+++ /dev/null
@@ -1,3 +0,0 @@
-FsCheck.Xunit
-Xunit.Runner.VisualStudio
-log4net
diff --git a/TriangleExample/App.config b/TriangleExample/App.config
deleted file mode 100644
index 9868bb4..0000000
--- a/TriangleExample/App.config
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/TriangleExample/AssemblyInfo.fs b/TriangleExample/AssemblyInfo.fs
deleted file mode 100644
index cc80574..0000000
--- a/TriangleExample/AssemblyInfo.fs
+++ /dev/null
@@ -1,41 +0,0 @@
-namespace TriangleExample.AssemblyInfo
-
-open System.Reflection
-open System.Runtime.CompilerServices
-open System.Runtime.InteropServices
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[]
-[]
-[]
-[]
-[]
-[]
-[]
-[]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// []
-[]
-[]
-
-do
- ()
\ No newline at end of file
diff --git a/TriangleExample/Triangle.fs b/TriangleExample/Triangle.fs
deleted file mode 100644
index edca60d..0000000
--- a/TriangleExample/Triangle.fs
+++ /dev/null
@@ -1,70 +0,0 @@
-module Triangle
-
-open SharpVG
-open System.Diagnostics
-open System.IO
-
-type Triangle =
- {
- A : point
- B : point
- C : point
- }
-
-let midpoint a b =
- let (ax, ay), (bx, by) = Point.toDoubles a, Point.toDoubles b
- { X = Pixels((ax + bx) / 2.0); Y = Pixels((ay + by) / 2.0) }
-
-let insideTriangles t =
- [
- { A = t.A; B = midpoint t.A t.B; C = midpoint t.A t.C }
- { A = midpoint t.A t.B; B = t.B; C = midpoint t.B t.C }
- { A = midpoint t.A t.C; B = midpoint t.B t.C; C = t.C }
- ]
-
-let triangleToPolygon t =
- [t.A; t.B; t.C] |> Element.ofPolygon
-
-let rec recursiveTriangles t iteration =
- let it = t |> List.map insideTriangles |> List.concat;
- if iteration > 1 then
- recursiveTriangles it (iteration - 1)
- else
- it
-
-[]
-let main argv =
-
- // Helper Functions
- let saveToFile name lines =
- File.WriteAllLines(name, [lines]);
-
- let openFile (name:string) =
- Process.Start(name) |> ignore
-
- // Initialization
- let fileName = ".\\triangle.html"
- let style = { Stroke = Some(Name colors.Black); StrokeWidth = Some(Pixels 1.0); Fill = Some(Name colors.White); Opacity = None }
- let namedStyle = style |> NamedStyle.ofStyle "standard"
- let (iterations, triangleLength, margin) = (7, 1000.0, 100.0)
- let startingTriangle =
- [{
- A = { X = Pixels(0.0); Y = Pixels(0.0) };
- B = { X = Pixels(triangleLength / 2.0); Y = Pixels(sqrt (0.75 * triangleLength * triangleLength)) };
- C = { X = Pixels(triangleLength); Y = Pixels(0.0) }
- }]
-
- // Execute
- recursiveTriangles startingTriangle iterations
- |> List.map (triangleToPolygon >> (Element.withNamedStyle namedStyle))
- |> Group.ofList
- |> Group.withTransform (Transform.createWithScale (1.0, -1.0) |> Transform.withTranslate (margin, triangleLength))
- |> Svg.ofGroup
- |> Svg.withStyle namedStyle
- |> Svg.withSize {Height = Pixels triangleLength; Width = Pixels (triangleLength + margin)}
- |> Svg.withViewbox {Minimums = { X = Pixels 0.0; Y = Pixels 0.0}; Size = {Height = Pixels triangleLength; Width = Pixels (triangleLength + margin) }}
- |> Svg.toHtml "SVG Triangle Example"
- |> saveToFile fileName
-
- openFile fileName
- 0
diff --git a/TriangleExample/TriangleExample.fsproj b/TriangleExample/TriangleExample.fsproj
deleted file mode 100644
index 2271dd5..0000000
--- a/TriangleExample/TriangleExample.fsproj
+++ /dev/null
@@ -1,86 +0,0 @@
-
-
-
-
- Debug
- AnyCPU
- 2.0
- fa4be1af-15ce-4cd5-905a-63c54c0d8397
- Exe
- TriangleExample
- TriangleExample
- v4.6.1
- true
- 4.4.0.0
- TriangleExample
-
-
-
- true
- full
- false
- false
- bin\Debug\
- DEBUG;TRACE
- 3
- AnyCPU
- bin\Debug\TriangleExample.XML
- true
-
-
- pdbonly
- true
- true
- bin\Release\
- TRACE
- 3
- AnyCPU
- bin\Release\TriangleExample.XML
- true
-
-
-
-
- True
-
-
-
-
-
-
-
-
-
-
-
-
-
- SharpVG
- {3f724b6d-cb2e-48ac-8be8-405b5c2d591c}
- True
-
-
-
- 11
-
-
-
-
- $(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets
-
-
-
-
- $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets
-
-
-
-
-
-
\ No newline at end of file
diff --git a/TriangleExample/paket.references b/TriangleExample/paket.references
deleted file mode 100644
index e69de29..0000000
diff --git a/build.cmd b/build.cmd
deleted file mode 100644
index 36717dd..0000000
--- a/build.cmd
+++ /dev/null
@@ -1,20 +0,0 @@
-@echo off
-SETLOCAL
-
-cls
-
-.paket\paket.bootstrapper.exe
-if errorlevel 1 (
- exit /b %errorlevel%
-)
-
-.paket\paket.exe restore
-if errorlevel 1 (
- exit /b %errorlevel%
-)
-
-SET TARGET=Default
-
-IF NOT [%1]==[] (SET TARGET=%~1)
-
-"packages\build\FAKE\tools\Fake.exe" "build.fsx" "target="%TARGET%""
\ No newline at end of file
diff --git a/build.fsx b/build.fsx
deleted file mode 100644
index 2c74ed4..0000000
--- a/build.fsx
+++ /dev/null
@@ -1,50 +0,0 @@
-// include Fake lib
-#r "packages/FAKE/tools/FakeLib.dll"
-open Fake
-open Fake.Testing
-
-// Properties
-let buildObjDir = "./SharpVG/obj"
-let buildBinDir = "./SharpVG/bin"
-let testObjDir = "./Tests/obj"
-let testBinDir = "./Tests/bin"
-
-// Targets
-Target "Clean" (fun _ ->
- CleanDirs [buildObjDir; buildBinDir]
- CleanDirs [testObjDir; testBinDir]
-)
-
-Target "Build" (fun _ ->
- MSBuildWithDefaults "Build" ["./SharpVG.sln"]
- |> Log "AppBuild-Output: "
-)
-
-// define test dlls
-let testDlls = !! (testBinDir @@ "/Release/Tests.dll")
-
-Target "Test" (fun _ ->
- testDlls
- |> xUnit2 (fun p ->
- {p with
- HtmlOutputPath = Some (testBinDir @@ "/Release/xunit.html")
- })
-)
-
-Target "Help" <| fun () ->
- printfn ""
- printfn " Please specify the target by calling 'build '"
- printfn ""
- printfn " Targets for building:"
- printfn " * Build"
- printfn " * Test"
- printfn " * Clean"
- printfn " * Help"
-
-// Dependencies
-"Clean"
-"Build"
-"Build" ==> "Test"
-
-// start build
-RunTargetOrDefault "Build"
\ No newline at end of file
diff --git a/build.sh b/build.sh
deleted file mode 100755
index 957bf54..0000000
--- a/build.sh
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/bash
-if test "$OS" = "Windows_NT"
-then
- # use .Net
-
- .paket/paket.bootstrapper.exe
- exit_code=$?
- if [ $exit_code -ne 0 ]; then
- exit $exit_code
- fi
-
- .paket/paket.exe restore
- exit_code=$?
- if [ $exit_code -ne 0 ]; then
- exit $exit_code
- fi
-
- .paket/paket.exe update
- exit_code=$?
- if [ $exit_code -ne 0 ]; then
- exit $exit_code
- fi
-
- packages/build/FAKE/tools/FAKE.exe $@ --fsiargs -d:MONO build.fsx
-else
- # use mono
-
- mono .paket/paket.bootstrapper.exe
- exit_code=$?
- if [ $exit_code -ne 0 ]; then
- exit $exit_code
- fi
-
- mono .paket/paket.exe restore
- exit_code=$?
- if [ $exit_code -ne 0 ]; then
- exit $exit_code
- fi
-
- mono .paket/paket.exe update
- exit_code=$?
- if [ $exit_code -ne 0 ]; then
- exit $exit_code
- fi
-
- mono packages/FAKE/tools/FAKE.exe $@ --fsiargs -d:MONO build.fsx
-fi
\ No newline at end of file
diff --git a/paket.dependencies b/paket.dependencies
deleted file mode 100644
index ddd00be..0000000
--- a/paket.dependencies
+++ /dev/null
@@ -1,6 +0,0 @@
-source https://nuget.org/api/v2
-nuget FsCheck.Xunit
-nuget Xunit.Runner.Console
-nuget Xunit.Runner.VisualStudio
-nuget FAKE
-nuget log4net
\ No newline at end of file
diff --git a/paket.lock b/paket.lock
deleted file mode 100644
index 29e437e..0000000
--- a/paket.lock
+++ /dev/null
@@ -1,141 +0,0 @@
-NUGET
- remote: https://www.nuget.org/api/v2
- specs:
- FAKE (4.25.4)
- FsCheck (2.4)
- FSharp.Core (>= 3.1.2.5)
- FsCheck.Xunit (2.4)
- FsCheck (>= 2.4)
- xunit.extensibility.execution (>= 2.1 < 3.0)
- FSharp.Core (4.0.0.1)
- log4net (2.0.5)
- System.Collections (4.0.10) - framework: dnxcore50
- System.Diagnostics.Debug (>= 4.0) - framework: dnxcore50
- System.Resources.ResourceManager (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0.20) - framework: dnxcore50
- System.Runtime.Extensions (>= 4.0) - framework: dnxcore50
- System.Threading (>= 4.0) - framework: dnxcore50
- System.Diagnostics.Contracts (4.0) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Diagnostics.Debug (4.0.10) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Globalization (4.0.10) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.IO (4.0.10) - framework: dnxcore50
- System.Globalization (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0.20) - framework: dnxcore50
- System.Text.Encoding (>= 4.0) - framework: dnxcore50
- System.Text.Encoding (>= 4.0.10) - framework: dnxcore50
- System.Text.Encoding.Extensions (>= 4.0) - framework: dnxcore50
- System.Threading (>= 4.0) - framework: dnxcore50
- System.Threading.Tasks (>= 4.0) - framework: dnxcore50
- System.Linq (4.0) - framework: dnxcore50
- System.Collections (>= 4.0.10) - framework: dnxcore50
- System.Diagnostics.Debug (>= 4.0.10) - framework: dnxcore50
- System.Resources.ResourceManager (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0.20) - framework: dnxcore50
- System.Runtime.Extensions (>= 4.0.10) - framework: dnxcore50
- System.Linq.Expressions (4.0.10) - framework: dnxcore50
- System.Collections (>= 4.0) - framework: dnxcore50
- System.Diagnostics.Debug (>= 4.0) - framework: dnxcore50
- System.Globalization (>= 4.0) - framework: dnxcore50
- System.IO (>= 4.0) - framework: dnxcore50
- System.Linq (>= 4.0) - framework: dnxcore50
- System.ObjectModel (>= 4.0) - framework: dnxcore50
- System.Reflection (>= 4.0) - framework: dnxcore50
- System.Reflection.Emit (>= 4.0) - framework: dnxcore50
- System.Reflection.Extensions (>= 4.0) - framework: dnxcore50
- System.Reflection.Primitives (>= 4.0) - framework: dnxcore50
- System.Reflection.TypeExtensions (>= 4.0) - framework: dnxcore50
- System.Resources.ResourceManager (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0.20) - framework: dnxcore50
- System.Runtime.Extensions (>= 4.0) - framework: dnxcore50
- System.Threading (>= 4.0) - framework: dnxcore50
- System.ObjectModel (4.0.10) - framework: dnxcore50
- System.Collections (>= 4.0.10) - framework: dnxcore50
- System.Diagnostics.Debug (>= 4.0.10) - framework: dnxcore50
- System.Resources.ResourceManager (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0.20) - framework: dnxcore50
- System.Threading (>= 4.0.10) - framework: dnxcore50
- System.Private.Uri (4.0) - framework: dnxcore50
- System.Reflection (4.0.10) - framework: dnxcore50
- System.IO (>= 4.0) - framework: dnxcore50
- System.Reflection.Primitives (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0.20) - framework: dnxcore50
- System.Reflection.Emit (4.0) - framework: dnxcore50
- System.IO (>= 4.0) - framework: dnxcore50
- System.Reflection (>= 4.0) - framework: dnxcore50
- System.Reflection.Emit.ILGeneration (>= 4.0) - framework: dnxcore50
- System.Reflection.Primitives (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Reflection.Emit.ILGeneration (4.0) - framework: dnxcore50
- System.Reflection (>= 4.0) - framework: dnxcore50
- System.Reflection.Primitives (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Reflection.Extensions (4.0) - framework: dnxcore50
- System.Diagnostics.Debug (>= 4.0.10) - framework: dnxcore50
- System.Reflection (>= 4.0) - framework: dnxcore50
- System.Reflection (>= 4.0.10) - framework: dnxcore50
- System.Reflection.Primitives (>= 4.0) - framework: dnxcore50
- System.Reflection.TypeExtensions (>= 4.0) - framework: dnxcore50
- System.Resources.ResourceManager (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0.20) - framework: dnxcore50
- System.Runtime.Extensions (>= 4.0.10) - framework: dnxcore50
- System.Reflection.Primitives (4.0) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Threading (>= 4.0) - framework: dnxcore50
- System.Reflection.TypeExtensions (4.0) - framework: dnxcore50
- System.Diagnostics.Contracts (>= 4.0) - framework: dnxcore50
- System.Diagnostics.Debug (>= 4.0.10) - framework: dnxcore50
- System.Linq (>= 4.0) - framework: dnxcore50
- System.Reflection (>= 4.0) - framework: dnxcore50
- System.Reflection (>= 4.0.10) - framework: dnxcore50
- System.Reflection.Primitives (>= 4.0) - framework: dnxcore50
- System.Resources.ResourceManager (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0.20) - framework: dnxcore50
- System.Runtime.Extensions (>= 4.0.10) - framework: dnxcore50
- System.Resources.ResourceManager (4.0) - framework: dnxcore50
- System.Globalization (>= 4.0) - framework: dnxcore50
- System.Reflection (>= 4.0) - framework: dnxcore50
- System.Reflection (>= 4.0.10) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0.20) - framework: dnxcore50
- System.Runtime (4.0.20) - framework: dnxcore50
- System.Private.Uri (>= 4.0) - framework: dnxcore50
- System.Runtime.Extensions (4.0.10) - framework: dnxcore50
- System.Runtime (>= 4.0.20) - framework: dnxcore50
- System.Text.Encoding (4.0.10) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Text.Encoding.Extensions (4.0.10) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Text.Encoding (>= 4.0.10) - framework: dnxcore50
- System.Threading (4.0.10) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Threading.Tasks (>= 4.0) - framework: dnxcore50
- System.Threading.Tasks (4.0.10) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- xunit.abstractions (2.0) - framework: >= net45, dnx451, dnxcore50, monoandroid, monotouch, xamarinios, winv4.5, wpv8.0, wpav8.1
- xunit.extensibility.core (2.1) - framework: >= net45, dnx451, dnxcore50, monoandroid, monotouch, xamarinios, winv4.5, wpv8.0, wpav8.1
- xunit.abstractions (2.0)
- xunit.extensibility.execution (2.1)
- System.Collections (>= 4.0) - framework: dnxcore50
- System.Diagnostics.Debug (>= 4.0) - framework: dnxcore50
- System.Globalization (>= 4.0) - framework: dnxcore50
- System.IO (>= 4.0) - framework: dnxcore50
- System.Linq (>= 4.0) - framework: dnxcore50
- System.Linq.Expressions (>= 4.0) - framework: dnxcore50
- System.Reflection (>= 4.0) - framework: dnxcore50
- System.Reflection.Extensions (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Runtime.Extensions (>= 4.0) - framework: dnxcore50
- System.Text.Encoding (>= 4.0) - framework: dnxcore50
- System.Threading (>= 4.0) - framework: dnxcore50
- System.Threading.Tasks (>= 4.0) - framework: dnxcore50
- xunit.abstractions (>= 2.0) - framework: dnxcore50
- xunit.extensibility.core (2.1) - framework: >= net45, dnx451, dnxcore50, monoandroid, monotouch, xamarinios, winv4.5, wpv8.0, wpav8.1
- xunit.runner.console (2.1)
- xunit.runner.visualstudio (2.1)