Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@
###############################################################################
# Handle image files by git lfs
###############################################################################
*.pdf filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
*.bmp filter=lfs diff=lfs merge=lfs -text
Expand Down Expand Up @@ -137,6 +138,10 @@
*.heic filter=lfs diff=lfs merge=lfs -text
*.hif filter=lfs diff=lfs merge=lfs -text
*.avif filter=lfs diff=lfs merge=lfs -text
*.hvc1 filter=lfs diff=lfs merge=lfs -text
*.hvcc filter=lfs diff=lfs merge=lfs -text
*.yuv filter=lfs diff=lfs merge=lfs -text
*.bit filter=lfs diff=lfs merge=lfs -text
###############################################################################
# Handle ICC files by git lfs
###############################################################################
Expand Down
2 changes: 1 addition & 1 deletion .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

* When first cloning the repo, make sure to run `git submodule update --init --recursive` otherwise the submodules (e.g. `shared-infrastructure`) will be missing.

* Run `dotnet build` in the root of the repo, or open the ImageSharp.Drawing.sln file in Visual Studio and build from there.
* Run `dotnet build` in the root of the repo, or open the ImageSharp.Drawing.slnx file in Visual Studio and build from there.

#### **Running tests and Debugging**

Expand Down
37 changes: 19 additions & 18 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,48 +64,48 @@ jobs:
matrix:
options:
- os: ubuntu-latest
framework: net10.0
sdk: 10.0.x
framework: net11.0
sdk: 11.0.x
sdk-preview: true
runtime: -x64
codecov: false
- os: macos-26
framework: net10.0
sdk: 10.0.x
framework: net11.0
sdk: 11.0.x
sdk-preview: true
runtime: -x64
codecov: false
- os: windows-latest
framework: net10.0
sdk: 10.0.x
framework: net11.0
sdk: 11.0.x
sdk-preview: true
runtime: -x64
codecov: false
- os: ubuntu-22.04-arm
framework: net10.0
sdk: 10.0.x
framework: net11.0
sdk: 11.0.x
sdk-preview: true
runtime: -x64
codecov: false

- os: ubuntu-latest
framework: net8.0
sdk: 8.0.x
framework: net10.0
sdk: 10.0.x
runtime: -x64
codecov: false
- os: macos-26
framework: net8.0
sdk: 8.0.x
framework: net10.0
sdk: 10.0.x
runtime: -x64
codecov: true
- os: windows-latest
framework: net8.0
sdk: 8.0.x
framework: net10.0
sdk: 10.0.x
runtime: -x64
codecov: false
- os: ubuntu-22.04-arm
framework: net8.0
sdk: 8.0.x
framework: net10.0
sdk: 10.0.x
runtime: -x64
codecov: false

Expand Down Expand Up @@ -169,14 +169,15 @@ jobs:
uses: actions/setup-dotnet@v6
with:
dotnet-version: |
8.0.x
10.0.x

- name: DotNet Setup Preview
if: ${{ matrix.options.sdk-preview == true }}
uses: actions/setup-dotnet@v6
with:
dotnet-quality: preview
dotnet-version: |
10.0.x
11.0.x

- name: DotNet Build
if: ${{ matrix.options.sdk-preview != true }}
Expand Down
522 changes: 0 additions & 522 deletions ImageSharp.Drawing.All.sln

This file was deleted.

304 changes: 304 additions & 0 deletions ImageSharp.Drawing.All.slnx

Large diffs are not rendered by default.

493 changes: 0 additions & 493 deletions ImageSharp.Drawing.sln

This file was deleted.

302 changes: 302 additions & 0 deletions ImageSharp.Drawing.slnx

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ SixLabors.ImageSharp.Drawing

**ImageSharp.Drawing** is a cross-platform 2D drawing library built on top of [ImageSharp](https://github.com/SixLabors/ImageSharp). It adds a rich vector drawing model for composing raster images, rendering text, shaping paths, masking image-processing operations, and targeting CPU or WebGPU-backed drawing surfaces from the same `DrawingCanvas` API.

The core package targets .NET 8 and provides the default CPU backend. The optional `SixLabors.ImageSharp.Drawing.WebGPU` package adds GPU-backed rendering for native windows, external surfaces, and offscreen render targets.
The core package targets .NET 10 and provides the default CPU backend. The optional `SixLabors.ImageSharp.Drawing.WebGPU` package adds GPU-backed rendering for native windows, external surfaces, and offscreen render targets.

## Capabilities

Expand Down Expand Up @@ -115,12 +115,12 @@ If you prefer, you can compile ImageSharp.Drawing yourself (please do and help!)

- Using [Visual Studio 2022](https://visualstudio.microsoft.com/vs/)
- Make sure you have the latest version installed
- Make sure you have [the .NET 8 SDK](https://www.microsoft.com/net/core#windows) installed
- Make sure you have [the .NET 10 SDK](https://www.microsoft.com/net/core#windows) installed

Alternatively, you can work from command line and/or with a lightweight editor on **both Linux/Unix and Windows**:

- [Visual Studio Code](https://code.visualstudio.com/) with [C# Extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp)
- [the .NET 8 SDK](https://www.microsoft.com/net/core#linuxubuntu)
- [the .NET 10 SDK](https://www.microsoft.com/net/core#linuxubuntu)

To clone ImageSharp.Drawing locally, click the "Clone in [YOUR_OS]" button above or run the following git commands:

Expand Down
105 changes: 0 additions & 105 deletions WinFormsSamples.sln

This file was deleted.

16 changes: 16 additions & 0 deletions WinFormsSamples.slnx
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<Solution>
<Configurations>
<Platform Name="Any CPU" />
<Platform Name="x64" />
<Platform Name="x86" />
</Configurations>
<Folder Name="/samples/">
<Project Path="samples/DrawingBackendBenchmark/DrawingBackendBenchmark.csproj" />
<Project Path="samples/WebGPUExternalSurfaceDemo/WebGPUExternalSurfaceDemo.csproj" />
</Folder>
<Folder Name="/src/">
<Project Path="src/ImageSharp.Drawing.WebGPU.ShaderGen/ImageSharp.Drawing.WebGPU.ShaderGen.csproj" />
<Project Path="src/ImageSharp.Drawing.WebGPU/ImageSharp.Drawing.WebGPU.csproj" />
<Project Path="src/ImageSharp.Drawing/ImageSharp.Drawing.csproj" />
</Folder>
</Solution>
2 changes: 1 addition & 1 deletion ci-build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ param(
[string]$targetFramework
)

$solution = Join-Path $PSScriptRoot "ImageSharp.Drawing.sln"
$solution = Join-Path $PSScriptRoot "ImageSharp.Drawing.slnx"

dotnet clean $solution -c Release

Expand Down
6 changes: 3 additions & 3 deletions ci-local.ps1
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
$env:CI = "true"
$env:SIXLABORS_TESTING = "True"

$solution = Join-Path $PSScriptRoot "ImageSharp.Drawing.sln"
$solution = Join-Path $PSScriptRoot "ImageSharp.Drawing.slnx"

# Build (ci-build.ps1 net8.0)
# Build (ci-build.ps1 net10.0)
dotnet clean $solution -c Release
dotnet build $solution -c Release -f net8.0
dotnet build $solution -c Release -f net10.0

# Pack (ci-pack.ps1)
dotnet clean $solution -c Release
Expand Down
2 changes: 1 addition & 1 deletion ci-pack.ps1
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
$solution = Join-Path $PSScriptRoot "ImageSharp.Drawing.sln"
$solution = Join-Path $PSScriptRoot "ImageSharp.Drawing.slnx"

dotnet clean $solution -c Release

Expand Down
2 changes: 1 addition & 1 deletion ci-test.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ param(
)

$netFxRegex = '^net\d+'
$solution = Join-Path $PSScriptRoot "ImageSharp.Drawing.sln"
$solution = Join-Path $PSScriptRoot "ImageSharp.Drawing.slnx"

if ($codecov -eq 'true') {

Expand Down
18 changes: 18 additions & 0 deletions global.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// Pins the .NET SDK to major version 10 or later for all SixLabors repositories.
// The build copies this file to consuming repositories together with .editorconfig and
// the other shared config files (see msbuild/targets/SixLabors.Src.targets).
{
"sdk": {
// The floor, not an exact build: resolution never selects an SDK below major 10.
"version": "10.0.0",

// Select the newest installed SDK at or above the floor. This spans feature bands,
// minor versions, and major versions, so a machine with only stable 10.0.x SDKs
// resolves the newest of those, and a machine with a newer SDK resolves that instead.
"rollForward": "latestMajor",

// Let the CLI and Visual Studio select preview SDKs when one is installed.
// Machines and CI lanes without a preview SDK are unaffected.
"allowPrerelease": true
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@
<Choose>
<When Condition="$(SIXLABORS_TESTING_PREVIEW) == true">
<PropertyGroup>
<TargetFrameworks>net8.0;net10.0</TargetFrameworks>
<TargetFrameworks>net10.0;net11.0</TargetFrameworks>
</PropertyGroup>
</When>
<Otherwise>
<PropertyGroup>
<TargetFrameworks>net8.0</TargetFrameworks>
<TargetFrameworks>net10.0</TargetFrameworks>
</PropertyGroup>
</Otherwise>
</Choose>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk" TreatAsLocalProperty="TargetFramework;TargetFrameworks">
<PropertyGroup>
<TargetFramework>net8.0-windows</TargetFramework>
<TargetFramework>net10.0-windows</TargetFramework>
<OutputType>WinExe</OutputType>
<UseWindowsForms>true</UseWindowsForms>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk" TreatAsLocalProperty="TargetFramework;TargetFrameworks">
<PropertyGroup>
<TargetFramework>net8.0-windows</TargetFramework>
<TargetFramework>net10.0-windows</TargetFramework>
<OutputType>WinExe</OutputType>
<UseWindowsForms>true</UseWindowsForms>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
Expand Down
4 changes: 2 additions & 2 deletions samples/WebGPUWindowDemo/WebGPUWindowDemo.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@
<Choose>
<When Condition="$(SIXLABORS_TESTING_PREVIEW) == true">
<PropertyGroup>
<TargetFrameworks>net8.0;net10.0</TargetFrameworks>
<TargetFrameworks>net10.0;net11.0</TargetFrameworks>
</PropertyGroup>
</When>
<Otherwise>
<PropertyGroup>
<TargetFrameworks>net8.0</TargetFrameworks>
<TargetFrameworks>net10.0</TargetFrameworks>
</PropertyGroup>
</Otherwise>
</Choose>
Expand Down
Loading
Loading