Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
064c11d
Remove property for getting command line arguments.
ronaldvanmanen Jun 11, 2024
6c0b493
Remove property for initializing subsystems.
ronaldvanmanen Jun 11, 2024
4e06cba
Remove wrapper AudoDeviceSpec.
ronaldvanmanen Jun 11, 2024
b2527a8
Calculate frame rate in Render method.
ronaldvanmanen Jun 12, 2024
a595137
Set SDL_AUDIODRIVER environment variable on Windows to "directsound" …
ronaldvanmanen Jun 12, 2024
b866c70
Remove user data object from audio device callback.
ronaldvanmanen Jun 12, 2024
240b566
Rename file to match class name.
ronaldvanmanen Jun 14, 2024
3ff680d
Use simple using statement.
ronaldvanmanen Jun 14, 2024
855080a
Move extensions to main library..
ronaldvanmanen Jun 16, 2024
bb422cb
Remove redundant inner event loop.
ronaldvanmanen Jun 18, 2024
8293dd7
Introduce specific enumeration for packed colors.
ronaldvanmanen Jun 19, 2024
7bcb21c
Texture class should be either abstract or sealed.
ronaldvanmanen Jun 19, 2024
b91d70e
Use handle instead of implicit conversion operator.
ronaldvanmanen Jun 19, 2024
aafec87
Make generic Surface and Texture classes wrap untyped equivalents.
ronaldvanmanen Jun 20, 2024
c9aaa81
Fix absolute size of 2-byte colors.
ronaldvanmanen Jun 20, 2024
e6ed768
Add support for packed color formats YUY2, UYVY, and YVYU.
ronaldvanmanen Jun 20, 2024
1b9f520
Add missing target frameworks.
ronaldvanmanen Jun 20, 2024
9e3ac8a
Allow the configuration and framework to be choosen when launching a …
ronaldvanmanen Jun 20, 2024
50b4464
Fix failing tests due to SDL not being initialized/deinitialized and …
ronaldvanmanen Jun 25, 2024
492f8c2
Add tests for Texture.
ronaldvanmanen Jun 25, 2024
707e8d4
Rename SDL2Sharp.UnitTests and SDL2Sharp.Interop.UnitTests to SDL2Sha…
ronaldvanmanen Jun 25, 2024
5a01de8
Rename PackedMemoryImage to MemoryImage and use it instead of Memory2D.
ronaldvanmanen Jun 26, 2024
70e3c09
Fix naming of static fields.
ronaldvanmanen Jul 15, 2024
4cf8039
Allow developer to specify the filename of the bitmap to view when ru…
ronaldvanmanen Jul 15, 2024
4d68a32
Allow developer to specify the filename of the WAVE file to play when…
ronaldvanmanen Jul 15, 2024
0da64f2
Major overhaul.
ronaldvanmanen Jul 15, 2024
f8c0b47
Add support for planar texture formats (NV12, NV21, YV12 and IYUV).
ronaldvanmanen Jul 15, 2024
9629292
Finish Ray Tracing sample.
ronaldvanmanen Jul 9, 2024
5d6325d
Use Texture.Update because it is slightly faster than Texture.WithLock.
ronaldvanmanen Jul 12, 2024
74b7d9f
Add properties to return the output width and output height of a Rend…
ronaldvanmanen Jul 12, 2024
c395501
Add support for display information.
ronaldvanmanen Jul 12, 2024
449eb8d
Another mayor overhaul.
ronaldvanmanen Jul 16, 2024
49f2bea
Support .NET 8.0 only (Remove support for multiple frameworks).
ronaldvanmanen Jul 24, 2024
b6a80d7
Generate interop code using latest codegen.
ronaldvanmanen Jul 24, 2024
fade7bb
Replace attributes with static interface members.
ronaldvanmanen Jul 24, 2024
dc5e921
Disable DotNet analyzer rules CA1401 and SYLIB1054.
ronaldvanmanen Jul 25, 2024
b933a24
Refactor error handling.
ronaldvanmanen Jul 25, 2024
4e3d838
Minor code cleanup and fixes.
ronaldvanmanen Jul 25, 2024
1a946a2
Yet another mayor overhaul.
ronaldvanmanen Jul 25, 2024
961e9ca
Fix formatting rules.
ronaldvanmanen Aug 4, 2024
7b11627
Order modifiers.
ronaldvanmanen Aug 4, 2024
7654907
Disable code analysis for generated code.
ronaldvanmanen Aug 4, 2024
ae98c8f
Generate specific interop code for .NET 8.0, .NET 6.0, and .NET Stand…
ronaldvanmanen Jul 27, 2024
a0e1904
Replace generic NV* classes with specific NV12* and NV21* classes.
ronaldvanmanen Aug 11, 2024
679bc5e
Remove unnecessary new constraint.
ronaldvanmanen Aug 11, 2024
e585100
Refactor pixel formats (change casing and namespace).
ronaldvanmanen Aug 12, 2024
55494ab
Check format before wrapping texture.
ronaldvanmanen Aug 16, 2024
f536279
Fix method Surface.WithLock<TPackedPixel>(SurfaceLockCallback<TPacked…
ronaldvanmanen Aug 16, 2024
b395fd6
Update package references.
ronaldvanmanen Aug 16, 2024
3b1f957
Set next-version to 0.4.0.
ronaldvanmanen Aug 19, 2024
031e2b2
Redesign application framework.
ronaldvanmanen Aug 16, 2024
8d002c8
Replace specific methods for casting texture to YUV with generic method.
ronaldvanmanen Aug 19, 2024
9c84969
Upgrade Nuke to v9.0.4 and only support .NET 8.0.
ronaldvanmanen Feb 7, 2025
a71785a
Move code used by samples to the specific sample projects.
ronaldvanmanen Feb 7, 2025
cbead0d
Make constructor internal.
ronaldvanmanen Feb 11, 2025
2b568f2
Remove unused code.
ronaldvanmanen Feb 11, 2025
6452d0a
Yet another major overhaul.
ronaldvanmanen Feb 11, 2025
7f69e58
Redesign Disposable implementation.
ronaldvanmanen Mar 2, 2025
53719f4
Fix NuGet configuration.
ronaldvanmanen Sep 28, 2025
2ae7400
Fix tests failing due to SDL being disposed to early when tests are r…
ronaldvanmanen Sep 29, 2025
3b74174
Change minial SDK version to 8.0.20.
ronaldvanmanen Sep 29, 2025
133c09f
Group tests in collections to delineate the "parallelism" boundary.
ronaldvanmanen Sep 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
21 changes: 17 additions & 4 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ charset = utf-8-bom

# XML project files
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}]
indent_size = 4
indent_size = 2

# XML config files
[*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}]
Expand Down Expand Up @@ -96,16 +96,16 @@ dotnet_naming_symbols.constants.required_modifiers = const

dotnet_naming_style.constant_style.capitalization = pascal_case

# Static fields are camelCase and start with s_
# Static fields are camelCase and start with _
dotnet_naming_rule.static_fields_should_be_camel_case.severity = suggestion
dotnet_naming_rule.static_fields_should_be_camel_case.symbols = static_fields
dotnet_naming_rule.static_fields_should_be_camel_case.style = static_field_style
dotnet_naming_rule.static_fields_should_be_camel_case.style = instance_field_style

dotnet_naming_symbols.static_fields.applicable_kinds = field
dotnet_naming_symbols.static_fields.required_modifiers = static

dotnet_naming_style.static_field_style.capitalization = camel_case
dotnet_naming_style.static_field_style.required_prefix = s_
dotnet_naming_style.static_field_style.required_prefix = _

# Instance fields are camelCase and start with _
dotnet_naming_rule.instance_fields_should_be_camel_case.severity = suggestion
Expand Down Expand Up @@ -321,3 +321,16 @@ dotnet_diagnostic.IDE2004.severity = warning
# Not enforced as a build 'warning' for 'VisualStudio' layer due to large number of false positives from https://github.com/dotnet/roslyn-analyzers/issues/3857 and https://github.com/dotnet/roslyn-analyzers/issues/3858
# Additionally, there is a risk of accidentally breaking an internal API that partners rely on though IVT.
dotnet_diagnostic.CA1822.severity = suggestion

###############################################################################
# Set dotnet analyzer rules to:
# disable CA1401: P/Invoke method '*' should not be visible
# disable SYSLIB1054: Mark the method '*' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time
###############################################################################
[*.cs]
dotnet_diagnostic.CA1401.severity = silent
dotnet_diagnostic.SYSLIB1054.severity = silent
csharp_style_prefer_top_level_statements = true:silent
csharp_style_prefer_primary_constructors = true:suggestion

dotnet_diagnostic.IDE0130.severity = silent
14 changes: 7 additions & 7 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,11 @@ jobs:
name: windows-latest
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Cache: .nuke/temp, ~/.nuget/packages'
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
.nuke/temp
Expand All @@ -49,27 +49,27 @@ jobs:
AZURE_DEVOPS_PAT: ${{ secrets.AZURE_DEVOPS_PAT }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: 'Publish: log'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: log
path: artifacts/log
- name: 'Publish: bin'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: bin
path: artifacts/bin
- name: 'Publish: obj'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: obj
path: artifacts/obj
- name: 'Publish: tst'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: tst
path: artifacts/tst
- name: 'Publish: pkg'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: pkg
path: artifacts/pkg
12 changes: 6 additions & 6 deletions .github/workflows/test-ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,11 @@ jobs:
name: ubuntu-latest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Cache: .nuke/temp, ~/.nuget/packages'
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
.nuke/temp
Expand All @@ -49,22 +49,22 @@ jobs:
AZURE_DEVOPS_PAT: ${{ secrets.AZURE_DEVOPS_PAT }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: 'Publish: log'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: log
path: artifacts/log
- name: 'Publish: bin'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: bin
path: artifacts/bin
- name: 'Publish: obj'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: obj
path: artifacts/obj
- name: 'Publish: tst'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: tst
path: artifacts/tst
12 changes: 6 additions & 6 deletions .github/workflows/test-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,11 @@ jobs:
name: windows-latest
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Cache: .nuke/temp, ~/.nuget/packages'
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
.nuke/temp
Expand All @@ -49,22 +49,22 @@ jobs:
AZURE_DEVOPS_PAT: ${{ secrets.AZURE_DEVOPS_PAT }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: 'Publish: log'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: log
path: artifacts/log
- name: 'Publish: bin'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: bin
path: artifacts/bin
- name: 'Publish: obj'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: obj
path: artifacts/obj
- name: 'Publish: tst'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: tst
path: artifacts/tst
138 changes: 72 additions & 66 deletions .nuke/build.schema.json
Original file line number Diff line number Diff line change
@@ -1,23 +1,51 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/build",
"title": "Build Schema",
"definitions": {
"build": {
"type": "object",
"Host": {
"type": "string",
"enum": [
"AppVeyor",
"AzurePipelines",
"Bamboo",
"Bitbucket",
"Bitrise",
"GitHubActions",
"GitLab",
"Jenkins",
"Rider",
"SpaceAutomation",
"TeamCity",
"Terminal",
"TravisCI",
"VisualStudio",
"VSCode"
]
},
"ExecutableTarget": {
"type": "string",
"enum": [
"Clean",
"Compile",
"Generate",
"Pack",
"Release",
"Restore",
"Setup",
"Test"
]
},
"Verbosity": {
"type": "string",
"description": "",
"enum": [
"Verbose",
"Normal",
"Minimal",
"Quiet"
]
},
"NukeBuild": {
"properties": {
"Architecture": {
"type": "string",
"description": "Platform architecture to use for testing. Default is the processor architecture of the underlying operating system"
},
"Configuration": {
"type": "string",
"description": "Configuration to build. Default is 'Debug' (local) or 'Release' (server)",
"enum": [
"Debug",
"Release"
]
},
"Continue": {
"type": "boolean",
"description": "Indicates to continue a previously failed build attempt"
Expand All @@ -27,25 +55,8 @@
"description": "Shows the help text for this build assembly"
},
"Host": {
"type": "string",
"description": "Host for execution. Default is 'automatic'",
"enum": [
"AppVeyor",
"AzurePipelines",
"Bamboo",
"Bitbucket",
"Bitrise",
"GitHubActions",
"GitLab",
"Jenkins",
"Rider",
"SpaceAutomation",
"TeamCity",
"Terminal",
"TravisCI",
"VisualStudio",
"VSCode"
]
"$ref": "#/definitions/Host"
},
"NoLogo": {
"type": "boolean",
Expand Down Expand Up @@ -74,51 +85,46 @@
"type": "array",
"description": "List of targets to be skipped. Empty list skips all dependencies",
"items": {
"type": "string",
"enum": [
"Clean",
"Compile",
"Generate",
"Pack",
"Release",
"Restore",
"Setup",
"Test"
]
"$ref": "#/definitions/ExecutableTarget"
}
},
"Solution": {
"type": "string",
"description": "Path to a solution file that is automatically loaded"
},
"Target": {
"type": "array",
"description": "List of targets to be invoked. Default is '{default_target}'",
"items": {
"type": "string",
"enum": [
"Clean",
"Compile",
"Generate",
"Pack",
"Release",
"Restore",
"Setup",
"Test"
]
"$ref": "#/definitions/ExecutableTarget"
}
},
"Verbosity": {
"type": "string",
"description": "Logging verbosity during build execution. Default is 'Normal'",
"$ref": "#/definitions/Verbosity"
}
}
}
},
"allOf": [
{
"properties": {
"Architecture": {
"type": "string",
"description": "Platform architecture to use for testing. Default is the processor architecture of the underlying operating system"
},
"Configuration": {
"type": "string",
"description": "Configuration to build. Default is 'Debug' (local) or 'Release' (server)",
"enum": [
"Minimal",
"Normal",
"Quiet",
"Verbose"
"Debug",
"Release"
]
},
"Solution": {
"type": "string",
"description": "Path to a solution file that is automatically loaded"
}
}
},
{
"$ref": "#/definitions/NukeBuild"
}
}
]
}
Loading
Loading