mirror of
				https://github.com/maxartz15/MoonWorksDearImGuiScaffold.git
				synced 2025-10-31 13:36:07 +01:00 
			
		
		
		
	initial commit
This commit is contained in:
		
							
								
								
									
										5
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| *.dll filter=lfs diff=lfs merge=lfs -text | ||||
| *.dylib filter=lfs diff=lfs merge=lfs -text | ||||
| *.so filter=lfs diff=lfs merge=lfs -text | ||||
| *.so.* filter=lfs diff=lfs merge=lfs -text | ||||
| *.refresh filter=lfs diff=lfs merge=lfs -text | ||||
							
								
								
									
										347
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										347
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,347 @@ | ||||
| ## Ignore Visual Studio temporary files, build results, and | ||||
| ## files generated by popular Visual Studio add-ons. | ||||
| ## | ||||
| ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore | ||||
|  | ||||
| imgui.ini | ||||
|  | ||||
| # User-specific files | ||||
| *.rsuser | ||||
| *.suo | ||||
| *.user | ||||
| *.userosscache | ||||
| *.sln.docstates | ||||
|  | ||||
| # Build results | ||||
| [Dd]ebug/ | ||||
| [Dd]ebugPublic/ | ||||
| [Rr]elease/ | ||||
| [Rr]eleases/ | ||||
| [Aa][Rr][Mm]/ | ||||
| [Aa][Rr][Mm]64/ | ||||
| bld/ | ||||
| [Bb]in/ | ||||
| [Oo]bj/ | ||||
| [Ll]og/ | ||||
| [Ll]ogs/ | ||||
|  | ||||
| # Visual Studio 2015/2017 cache/options directory | ||||
| .vs/ | ||||
| # Uncomment if you have tasks that create the project's static files in wwwroot | ||||
| #wwwroot/ | ||||
|  | ||||
| # Visual Studio 2017 auto generated files | ||||
| Generated\ Files/ | ||||
|  | ||||
| # MSTest test Results | ||||
| [Tt]est[Rr]esult*/ | ||||
| [Bb]uild[Ll]og.* | ||||
|  | ||||
| # NUnit | ||||
| *.VisualState.xml | ||||
| TestResult.xml | ||||
| nunit-*.xml | ||||
|  | ||||
| # Build Results of an ATL Project | ||||
| [Dd]ebugPS/ | ||||
| [Rr]eleasePS/ | ||||
| dlldata.c | ||||
|  | ||||
| # Benchmark Results | ||||
| BenchmarkDotNet.Artifacts/ | ||||
|  | ||||
| # .NET Core | ||||
| project.lock.json | ||||
| project.fragment.lock.json | ||||
| artifacts/ | ||||
|  | ||||
| # StyleCop | ||||
| StyleCopReport.xml | ||||
|  | ||||
| # Files built by Visual Studio | ||||
| *_i.c | ||||
| *_p.c | ||||
| *_h.h | ||||
| *.ilk | ||||
| *.meta | ||||
| *.obj | ||||
| *.iobj | ||||
| *.pch | ||||
| *.pdb | ||||
| *.ipdb | ||||
| *.pgc | ||||
| *.pgd | ||||
| *.rsp | ||||
| *.sbr | ||||
| *.tlb | ||||
| *.tli | ||||
| *.tlh | ||||
| *.tmp | ||||
| *.tmp_proj | ||||
| *_wpftmp.csproj | ||||
| *.log | ||||
| *.vspscc | ||||
| *.vssscc | ||||
| .builds | ||||
| *.pidb | ||||
| *.svclog | ||||
| *.scc | ||||
|  | ||||
| # Chutzpah Test files | ||||
| _Chutzpah* | ||||
|  | ||||
| # Visual C++ cache files | ||||
| ipch/ | ||||
| *.aps | ||||
| *.ncb | ||||
| *.opendb | ||||
| *.opensdf | ||||
| *.sdf | ||||
| *.cachefile | ||||
| *.VC.db | ||||
| *.VC.VC.opendb | ||||
|  | ||||
| # Visual Studio profiler | ||||
| *.psess | ||||
| *.vsp | ||||
| *.vspx | ||||
| *.sap | ||||
|  | ||||
| # Visual Studio Trace Files | ||||
| *.e2e | ||||
|  | ||||
| # TFS 2012 Local Workspace | ||||
| $tf/ | ||||
|  | ||||
| # Guidance Automation Toolkit | ||||
| *.gpState | ||||
|  | ||||
| # ReSharper is a .NET coding add-in | ||||
| _ReSharper*/ | ||||
| *.[Rr]e[Ss]harper | ||||
| *.DotSettings.user | ||||
|  | ||||
| # TeamCity is a build add-in | ||||
| _TeamCity* | ||||
|  | ||||
| # DotCover is a Code Coverage Tool | ||||
| *.dotCover | ||||
|  | ||||
| # AxoCover is a Code Coverage Tool | ||||
| .axoCover/* | ||||
| !.axoCover/settings.json | ||||
|  | ||||
| # Coverlet is a free, cross platform Code Coverage Tool | ||||
| coverage*[.json, .xml, .info] | ||||
|  | ||||
| # Visual Studio code coverage results | ||||
| *.coverage | ||||
| *.coveragexml | ||||
|  | ||||
| # NCrunch | ||||
| _NCrunch_* | ||||
| .*crunch*.local.xml | ||||
| nCrunchTemp_* | ||||
|  | ||||
| # MightyMoose | ||||
| *.mm.* | ||||
| AutoTest.Net/ | ||||
|  | ||||
| # Web workbench (sass) | ||||
| .sass-cache/ | ||||
|  | ||||
| # Installshield output folder | ||||
| [Ee]xpress/ | ||||
|  | ||||
| # DocProject is a documentation generator add-in | ||||
| DocProject/buildhelp/ | ||||
| DocProject/Help/*.HxT | ||||
| DocProject/Help/*.HxC | ||||
| DocProject/Help/*.hhc | ||||
| DocProject/Help/*.hhk | ||||
| DocProject/Help/*.hhp | ||||
| DocProject/Help/Html2 | ||||
| DocProject/Help/html | ||||
|  | ||||
| # Click-Once directory | ||||
| publish/ | ||||
|  | ||||
| # Publish Web Output | ||||
| *.[Pp]ublish.xml | ||||
| *.azurePubxml | ||||
| # Note: Comment the next line if you want to checkin your web deploy settings, | ||||
| # but database connection strings (with potential passwords) will be unencrypted | ||||
| *.pubxml | ||||
| *.publishproj | ||||
|  | ||||
| # Microsoft Azure Web App publish settings. Comment the next line if you want to | ||||
| # checkin your Azure Web App publish settings, but sensitive information contained | ||||
| # in these scripts will be unencrypted | ||||
| PublishScripts/ | ||||
|  | ||||
| # NuGet Packages | ||||
| *.nupkg | ||||
| # NuGet Symbol Packages | ||||
| *.snupkg | ||||
| # The packages folder can be ignored because of Package Restore | ||||
| **/[Pp]ackages/* | ||||
| # except build/, which is used as an MSBuild target. | ||||
| !**/[Pp]ackages/build/ | ||||
| # Uncomment if necessary however generally it will be regenerated when needed | ||||
| #!**/[Pp]ackages/repositories.config | ||||
| # NuGet v3's project.json files produces more ignorable files | ||||
| *.nuget.props | ||||
| *.nuget.targets | ||||
|  | ||||
| # Microsoft Azure Build Output | ||||
| csx/ | ||||
| *.build.csdef | ||||
|  | ||||
| # Microsoft Azure Emulator | ||||
| ecf/ | ||||
| rcf/ | ||||
|  | ||||
| # Windows Store app package directories and files | ||||
| AppPackages/ | ||||
| BundleArtifacts/ | ||||
| Package.StoreAssociation.xml | ||||
| _pkginfo.txt | ||||
| *.appx | ||||
| *.appxbundle | ||||
| *.appxupload | ||||
|  | ||||
| # Visual Studio cache files | ||||
| # files ending in .cache can be ignored | ||||
| *.[Cc]ache | ||||
| # but keep track of directories ending in .cache | ||||
| !?*.[Cc]ache/ | ||||
|  | ||||
| # Others | ||||
| ClientBin/ | ||||
| ~$* | ||||
| *~ | ||||
| *.dbmdl | ||||
| *.dbproj.schemaview | ||||
| *.jfm | ||||
| *.pfx | ||||
| *.publishsettings | ||||
| orleans.codegen.cs | ||||
|  | ||||
| # Including strong name files can present a security risk | ||||
| # (https://github.com/github/gitignore/pull/2483#issue-259490424) | ||||
| #*.snk | ||||
|  | ||||
| # Since there are multiple workflows, uncomment next line to ignore bower_components | ||||
| # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) | ||||
| #bower_components/ | ||||
|  | ||||
| # 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 ;-) | ||||
| _UpgradeReport_Files/ | ||||
| Backup*/ | ||||
| UpgradeLog*.XML | ||||
| UpgradeLog*.htm | ||||
| ServiceFabricBackup/ | ||||
| *.rptproj.bak | ||||
|  | ||||
| # SQL Server files | ||||
| *.mdf | ||||
| *.ldf | ||||
| *.ndf | ||||
|  | ||||
| # Business Intelligence projects | ||||
| *.rdl.data | ||||
| *.bim.layout | ||||
| *.bim_*.settings | ||||
| *.rptproj.rsuser | ||||
| *- [Bb]ackup.rdl | ||||
| *- [Bb]ackup ([0-9]).rdl | ||||
| *- [Bb]ackup ([0-9][0-9]).rdl | ||||
|  | ||||
| # Microsoft Fakes | ||||
| FakesAssemblies/ | ||||
|  | ||||
| # GhostDoc plugin setting file | ||||
| *.GhostDoc.xml | ||||
|  | ||||
| # Node.js Tools for Visual Studio | ||||
| .ntvs_analysis.dat | ||||
| node_modules/ | ||||
|  | ||||
| # Visual Studio 6 build log | ||||
| *.plg | ||||
|  | ||||
| # Visual Studio 6 workspace options file | ||||
| *.opt | ||||
|  | ||||
| # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) | ||||
| *.vbw | ||||
|  | ||||
| # Visual Studio LightSwitch build output | ||||
| **/*.HTMLClient/GeneratedArtifacts | ||||
| **/*.DesktopClient/GeneratedArtifacts | ||||
| **/*.DesktopClient/ModelManifest.xml | ||||
| **/*.Server/GeneratedArtifacts | ||||
| **/*.Server/ModelManifest.xml | ||||
| _Pvt_Extensions | ||||
|  | ||||
| # Paket dependency manager | ||||
| .paket/paket.exe | ||||
| paket-files/ | ||||
|  | ||||
| # FAKE - F# Make | ||||
| .fake/ | ||||
|  | ||||
| # CodeRush personal settings | ||||
| .cr/personal | ||||
|  | ||||
| # Python Tools for Visual Studio (PTVS) | ||||
| __pycache__/ | ||||
| *.pyc | ||||
|  | ||||
| # Cake - Uncomment if you are using it | ||||
| # tools/** | ||||
| # !tools/packages.config | ||||
|  | ||||
| # Tabs Studio | ||||
| *.tss | ||||
|  | ||||
| # Telerik's JustMock configuration file | ||||
| *.jmconfig | ||||
|  | ||||
| # BizTalk build output | ||||
| *.btp.cs | ||||
| *.btm.cs | ||||
| *.odx.cs | ||||
| *.xsd.cs | ||||
|  | ||||
| # OpenCover UI analysis results | ||||
| OpenCover/ | ||||
|  | ||||
| # Azure Stream Analytics local run output | ||||
| ASALocalRun/ | ||||
|  | ||||
| # MSBuild Binary and Structured Log | ||||
| *.binlog | ||||
|  | ||||
| # NVidia Nsight GPU debugger configuration file | ||||
| *.nvuser | ||||
|  | ||||
| # MFractors (Xamarin productivity tool) working folder | ||||
| .mfractor/ | ||||
|  | ||||
| # Local History for Visual Studio | ||||
| .localhistory/ | ||||
|  | ||||
| # BeatPulse healthcheck temp database | ||||
| healthchecksdb | ||||
|  | ||||
| # Backup folder for Package Reference Convert tool in Visual Studio 2017 | ||||
| MigrationBackup/ | ||||
|  | ||||
| # Ionide (cross platform F# VS Code tools) working folder | ||||
| .ionide/ | ||||
							
								
								
									
										3
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| [submodule "lib/MoonWorks"] | ||||
| 	path = lib/MoonWorks | ||||
| 	url = https://gitea.moonside.games/MoonsideGames/MoonWorks.git | ||||
							
								
								
									
										16
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | ||||
| { | ||||
|   "version": "0.2.0", | ||||
|   "configurations": [ | ||||
|     { | ||||
|       "name": "Attach to .NET 8 Debugger", | ||||
|       "type": "coreclr", | ||||
|       "request": "launch", | ||||
|       "preLaunchTask": "Build: .NET 8 Debug", | ||||
|       "program": "${workspaceFolder}/bin/Debug/net8.0/MoonWorksDearImGuiScaffold.dll", | ||||
|       "args": [], | ||||
|       "cwd": "${workspaceFolder}/bin/Debug/net8.0", | ||||
|       "console": "integratedTerminal", | ||||
|       "internalConsoleOptions": "neverOpen" | ||||
|     } | ||||
|   ] | ||||
| } | ||||
							
								
								
									
										129
									
								
								.vscode/tasks.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										129
									
								
								.vscode/tasks.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,129 @@ | ||||
| { | ||||
|   "version": "2.0.0", | ||||
|   "options": { | ||||
|     "cwd": "${workspaceRoot}" | ||||
|   }, | ||||
|   "windows": { | ||||
|     "options": { | ||||
|       "shell": { | ||||
|         "executable": "cmd.exe", | ||||
|         "args": [ | ||||
|           "/d", | ||||
|           "/c" | ||||
|         ] | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   "presentation": { | ||||
|     "reveal": "always", | ||||
|     "focus": true, | ||||
|     "panel": "shared" | ||||
|   }, | ||||
|   "tasks": [ | ||||
|     { | ||||
|       "label": "Build & Run with Hot Reload: .NET 8 Debug", | ||||
|       "command": "dotnet", | ||||
|       "args": [ | ||||
|         "watch" | ||||
|       ], | ||||
|       "type": "shell", | ||||
|       "group": { | ||||
|         "kind": "build", | ||||
|         "isDefault": true | ||||
|       }, | ||||
|       "problemMatcher": [] | ||||
|     }, | ||||
|     { | ||||
|       "label": "Build & Run: .NET 8 Debug", | ||||
|       "type": "shell", | ||||
|       "dependsOrder": "sequence", | ||||
|       "dependsOn": [ | ||||
|         "Build: .NET 8 Debug", | ||||
|         "Run: .NET 8 Debug" | ||||
|       ], | ||||
|       "group": { | ||||
|         "kind": "build", | ||||
|         "isDefault": true | ||||
|       }, | ||||
|       "problemMatcher": [] | ||||
|     }, | ||||
|     { | ||||
|       "label": "Build: .NET 8 Debug", | ||||
|       "command": "dotnet", | ||||
|       "args": [ | ||||
|         "build", | ||||
|         "./MoonWorksDearImGuiScaffold.csproj", | ||||
|         "-p:SolutionDir=${workspaceFolder}/" | ||||
|       ], | ||||
|       "type": "shell", | ||||
|       "group": { | ||||
|         "kind": "build", | ||||
|         "isDefault": true | ||||
|       }, | ||||
|       "problemMatcher": [] | ||||
|     }, | ||||
|     { | ||||
|       "label": "Run: .NET 8 Debug", | ||||
|       "command": "MoonWorksDearImGuiScaffold", | ||||
|       "windows": { | ||||
| 		"command": "MoonWorksDearImGuiScaffold.exe" | ||||
| 	  }, | ||||
|       "options": { | ||||
|         "cwd": "${workspaceFolder}/bin/Debug/net8.0" | ||||
|       }, | ||||
|       "type": "process", | ||||
|       "group": { | ||||
|         "kind": "build", | ||||
|         "isDefault": true | ||||
|       }, | ||||
|       "problemMatcher": [] | ||||
|     }, | ||||
|     { | ||||
|       "label": "Build: .NET 8 Release", | ||||
|       "command": "dotnet", | ||||
|       "args": [ | ||||
|         "build", | ||||
|         "./MoonWorksDearImGuiScaffold.csproj", | ||||
|         "--configuration", | ||||
|         "Release", | ||||
|         "-p:SolutionDir=${workspaceFolder}/" | ||||
|       ], | ||||
|       "type": "shell", | ||||
|       "group": { | ||||
|         "kind": "build", | ||||
|         "isDefault": true | ||||
|       }, | ||||
|       "problemMatcher": [] | ||||
|     }, | ||||
|     { | ||||
|       "label": "Run: .NET 8 Release", | ||||
|       "command": "MoonWorksDearImGuiScaffold", | ||||
|       "windows": { | ||||
|         "command": "MoonWorksDearImGuiScaffold.exe" | ||||
|       }, | ||||
|       "options": { | ||||
|         "cwd": "${workspaceFolder}/bin/Debug/net8.0" | ||||
|       }, | ||||
|       "type": "process", | ||||
|       "group": { | ||||
|         "kind": "build", | ||||
|         "isDefault": true | ||||
|       }, | ||||
|       "problemMatcher": [] | ||||
|     }, | ||||
|     { | ||||
|       "label": "Build & Run: .NET 8 Release", | ||||
|       "dependsOrder": "sequence", | ||||
|       "dependsOn": [ | ||||
|         "Build: .NET 8 Release", | ||||
|         "Run: .NET 8 Release" | ||||
|       ], | ||||
|       "type": "shell", | ||||
|       "group": { | ||||
|         "kind": "build", | ||||
|         "isDefault": true | ||||
|       }, | ||||
|       "problemMatcher": [] | ||||
|     } | ||||
|   ] | ||||
| } | ||||
							
								
								
									
										
											BIN
										
									
								
								Content/Shaders/ImGui.frag.refresh
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Content/Shaders/ImGui.frag.refresh
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Content/Shaders/ImGui.vert.refresh
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Content/Shaders/ImGui.vert.refresh
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										27
									
								
								CopyMoonlibs.targets
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								CopyMoonlibs.targets
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||
|  | ||||
| 	<Target Name="Runtime ID"  AfterTargets="Build"> | ||||
|     	<Message Text="Runtime ID: $(RuntimeIdentifier)" Importance="high"/> | ||||
| 	</Target> | ||||
|  | ||||
| 	<ItemGroup Condition="$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))"> | ||||
| 		<Content Include=".\moonlibs\x64\**\*.*"> | ||||
| 			<Link>%(RecursiveDir)%(Filename)%(Extension)</Link> | ||||
| 			<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | ||||
| 		</Content> | ||||
| 	</ItemGroup> | ||||
| 	<ItemGroup Condition="$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))"> | ||||
| 		<Content Include=".\moonlibs\lib64\**\*.*"> | ||||
| 			<Link>%(RecursiveDir)%(Filename)%(Extension)</Link> | ||||
| 			<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | ||||
| 		</Content> | ||||
| 	</ItemGroup> | ||||
| 	<ItemGroup Condition="$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))"> | ||||
| 		<Content Include=".\moonlibs\osx\**\*.*" > | ||||
| 			<Link>%(RecursiveDir)%(Filename)%(Extension)</Link> | ||||
| 			<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | ||||
| 		</Content> | ||||
| 	</ItemGroup> | ||||
|  | ||||
| </Project> | ||||
							
								
								
									
										32
									
								
								MoonWorksDearImGuiScaffold.csproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								MoonWorksDearImGuiScaffold.csproj
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| <Project Sdk="Microsoft.NET.Sdk"> | ||||
| 	<PropertyGroup> | ||||
| 		<OutputType>Exe</OutputType> | ||||
| 		<TargetFramework>net8.0</TargetFramework> | ||||
| 		<TargetName>MoonWorksDearImGuiScaffold</TargetName> | ||||
| 		<GenerateAssemblyInfo>false</GenerateAssemblyInfo> | ||||
| 		<GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute> | ||||
| 		<StartupObject>MoonWorksDearImGuiScaffold.Program</StartupObject> | ||||
| 		<AssemblyName>MoonWorksDearImGuiScaffold</AssemblyName> | ||||
| 		<RootNamespace>MoonWorksDearImGuiScaffold</RootNamespace> | ||||
| 		<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch> | ||||
| 		<AllowUnsafeBlocks>true</AllowUnsafeBlocks> | ||||
| 		<ApplicationIcon /> | ||||
| 	</PropertyGroup> | ||||
|  | ||||
| 	<ItemGroup> | ||||
| 		<Content Include="Content\**\*.*"> | ||||
| 			<CopyToOutputDirectory>Always</CopyToOutputDirectory> | ||||
| 		</Content> | ||||
| 	</ItemGroup> | ||||
|  | ||||
| 	<PropertyGroup> | ||||
| 		<DefaultItemExcludes>$(DefaultItemExcludes);lib\**\*</DefaultItemExcludes> | ||||
| 	</PropertyGroup> | ||||
|  | ||||
| 	<ItemGroup> | ||||
| 		<ProjectReference Include="lib\MoonWorks\MoonWorks.csproj" /> | ||||
| 		<ProjectReference Include="lib\ImGui.NET\ImGui.NET.csproj" /> | ||||
| 	</ItemGroup> | ||||
|  | ||||
| 	<Import Project=".\CopyMoonlibs.targets" /> | ||||
| </Project> | ||||
							
								
								
									
										64
									
								
								MoonWorksDearImGuiScaffold.sln
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								MoonWorksDearImGuiScaffold.sln
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,64 @@ | ||||
|  | ||||
| Microsoft Visual Studio Solution File, Format Version 12.00 | ||||
| # Visual Studio Version 17 | ||||
| VisualStudioVersion = 17.0.31903.59 | ||||
| MinimumVisualStudioVersion = 10.0.40219.1 | ||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MoonWorksDearImGuiScaffold", "MoonWorksDearImGuiScaffold.csproj", "{6CCE887D-748D-4806-8900-E79945B03F06}" | ||||
| EndProject | ||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MoonWorks", "lib\MoonWorks\MoonWorks.csproj", "{181A0E72-417D-49B2-89F6-1D042CE8AF7D}" | ||||
| EndProject | ||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "dav1dfile-CS", "lib\MoonWorks\lib\dav1dfile\csharp\dav1dfile-CS.csproj", "{2F4FA1A6-02D5-480A-9C83-E9B40C6D29AC}" | ||||
| EndProject | ||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FAudio-CS.Core", "lib\MoonWorks\lib\FAudio\csharp\FAudio-CS.Core.csproj", "{5B6ACF3C-BB48-432F-98D2-35BE84A00539}" | ||||
| EndProject | ||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RefreshCS", "lib\MoonWorks\lib\RefreshCS\RefreshCS.csproj", "{CCFCA552-3DEA-4F4E-938D-F5ED022063D2}" | ||||
| EndProject | ||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SDL2-CS.Core", "lib\MoonWorks\lib\SDL2-CS\SDL2-CS.Core.csproj", "{1243BB8E-F065-446A-9B1C-629D731F3B63}" | ||||
| EndProject | ||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WellspringCS", "lib\MoonWorks\lib\WellspringCS\WellspringCS.csproj", "{00D0DD4D-959F-4B95-85D9-B3CC9AD2AA66}" | ||||
| EndProject | ||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImGui.NET", "lib\ImGui.NET\ImGui.NET.csproj", "{3ABD7C60-D069-484F-A0B2-2F0C2C1BD5A5}" | ||||
| EndProject | ||||
| Global | ||||
| 	GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||||
| 		Debug|x64 = Debug|x64 | ||||
| 		Release|x64 = Release|x64 | ||||
| 	EndGlobalSection | ||||
| 	GlobalSection(SolutionProperties) = preSolution | ||||
| 		HideSolutionNode = FALSE | ||||
| 	EndGlobalSection | ||||
| 	GlobalSection(ProjectConfigurationPlatforms) = postSolution | ||||
| 		{6CCE887D-748D-4806-8900-E79945B03F06}.Debug|x64.ActiveCfg = Debug|Any CPU | ||||
| 		{6CCE887D-748D-4806-8900-E79945B03F06}.Debug|x64.Build.0 = Debug|Any CPU | ||||
| 		{6CCE887D-748D-4806-8900-E79945B03F06}.Release|x64.ActiveCfg = Release|Any CPU | ||||
| 		{6CCE887D-748D-4806-8900-E79945B03F06}.Release|x64.Build.0 = Release|Any CPU | ||||
| 		{181A0E72-417D-49B2-89F6-1D042CE8AF7D}.Debug|x64.ActiveCfg = Debug|Any CPU | ||||
| 		{181A0E72-417D-49B2-89F6-1D042CE8AF7D}.Debug|x64.Build.0 = Debug|Any CPU | ||||
| 		{181A0E72-417D-49B2-89F6-1D042CE8AF7D}.Release|x64.ActiveCfg = Release|Any CPU | ||||
| 		{181A0E72-417D-49B2-89F6-1D042CE8AF7D}.Release|x64.Build.0 = Release|Any CPU | ||||
| 		{2F4FA1A6-02D5-480A-9C83-E9B40C6D29AC}.Debug|x64.ActiveCfg = Debug|x64 | ||||
| 		{2F4FA1A6-02D5-480A-9C83-E9B40C6D29AC}.Debug|x64.Build.0 = Debug|x64 | ||||
| 		{2F4FA1A6-02D5-480A-9C83-E9B40C6D29AC}.Release|x64.ActiveCfg = Release|x64 | ||||
| 		{2F4FA1A6-02D5-480A-9C83-E9B40C6D29AC}.Release|x64.Build.0 = Release|x64 | ||||
| 		{5B6ACF3C-BB48-432F-98D2-35BE84A00539}.Debug|x64.ActiveCfg = Debug|x64 | ||||
| 		{5B6ACF3C-BB48-432F-98D2-35BE84A00539}.Debug|x64.Build.0 = Debug|x64 | ||||
| 		{5B6ACF3C-BB48-432F-98D2-35BE84A00539}.Release|x64.ActiveCfg = Release|x64 | ||||
| 		{5B6ACF3C-BB48-432F-98D2-35BE84A00539}.Release|x64.Build.0 = Release|x64 | ||||
| 		{CCFCA552-3DEA-4F4E-938D-F5ED022063D2}.Debug|x64.ActiveCfg = Debug|x64 | ||||
| 		{CCFCA552-3DEA-4F4E-938D-F5ED022063D2}.Debug|x64.Build.0 = Debug|x64 | ||||
| 		{CCFCA552-3DEA-4F4E-938D-F5ED022063D2}.Release|x64.ActiveCfg = Release|x64 | ||||
| 		{CCFCA552-3DEA-4F4E-938D-F5ED022063D2}.Release|x64.Build.0 = Release|x64 | ||||
| 		{1243BB8E-F065-446A-9B1C-629D731F3B63}.Debug|x64.ActiveCfg = Debug|x64 | ||||
| 		{1243BB8E-F065-446A-9B1C-629D731F3B63}.Debug|x64.Build.0 = Debug|x64 | ||||
| 		{1243BB8E-F065-446A-9B1C-629D731F3B63}.Release|x64.ActiveCfg = Release|x64 | ||||
| 		{1243BB8E-F065-446A-9B1C-629D731F3B63}.Release|x64.Build.0 = Release|x64 | ||||
| 		{00D0DD4D-959F-4B95-85D9-B3CC9AD2AA66}.Debug|x64.ActiveCfg = Debug|x64 | ||||
| 		{00D0DD4D-959F-4B95-85D9-B3CC9AD2AA66}.Debug|x64.Build.0 = Debug|x64 | ||||
| 		{00D0DD4D-959F-4B95-85D9-B3CC9AD2AA66}.Release|x64.ActiveCfg = Release|x64 | ||||
| 		{00D0DD4D-959F-4B95-85D9-B3CC9AD2AA66}.Release|x64.Build.0 = Release|x64 | ||||
| 		{3ABD7C60-D069-484F-A0B2-2F0C2C1BD5A5}.Debug|x64.ActiveCfg = Debug|Any CPU | ||||
| 		{3ABD7C60-D069-484F-A0B2-2F0C2C1BD5A5}.Debug|x64.Build.0 = Debug|Any CPU | ||||
| 		{3ABD7C60-D069-484F-A0B2-2F0C2C1BD5A5}.Release|x64.ActiveCfg = Release|Any CPU | ||||
| 		{3ABD7C60-D069-484F-A0B2-2F0C2C1BD5A5}.Release|x64.Build.0 = Release|Any CPU | ||||
| 	EndGlobalSection | ||||
| EndGlobal | ||||
							
								
								
									
										3
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| # MoonWorksDearImGuiScaffold | ||||
|  | ||||
| This is a project that you can use to get a MoonWorks + Dear ImGui application up and running. | ||||
							
								
								
									
										17
									
								
								lib/ImGui.NET/Delegates.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								lib/ImGui.NET/Delegates.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public delegate void Platform_CreateWindow(ImGuiViewportPtr vp);                    // Create a new platform window for the given viewport | ||||
|     public delegate void Platform_DestroyWindow(ImGuiViewportPtr vp); | ||||
|     public delegate void Platform_ShowWindow(ImGuiViewportPtr vp);                      // Newly created windows are initially hidden so SetWindowPos/Size/Title can be called on them first | ||||
|     public delegate void Platform_SetWindowPos(ImGuiViewportPtr vp, Vector2 pos); | ||||
|     public unsafe delegate void Platform_GetWindowPos(ImGuiViewportPtr vp, Vector2* outPos); | ||||
|     public delegate void Platform_SetWindowSize(ImGuiViewportPtr vp, Vector2 size); | ||||
|     public unsafe delegate void Platform_GetWindowSize(ImGuiViewportPtr vp, Vector2* outSize); | ||||
|     public delegate void Platform_SetWindowFocus(ImGuiViewportPtr vp);                  // Move window to front and set input focus | ||||
|     public delegate byte Platform_GetWindowFocus(ImGuiViewportPtr vp); | ||||
|     public delegate byte Platform_GetWindowMinimized(ImGuiViewportPtr vp); | ||||
|     public delegate void Platform_SetWindowTitle(ImGuiViewportPtr vp, IntPtr title); | ||||
| } | ||||
							
								
								
									
										48
									
								
								lib/ImGui.NET/Generated/ImColor.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								lib/ImGui.NET/Generated/ImColor.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,48 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImColor | ||||
|     { | ||||
|         public Vector4 Value; | ||||
|     } | ||||
|     public unsafe partial struct ImColorPtr | ||||
|     { | ||||
|         public ImColor* NativePtr { get; } | ||||
|         public ImColorPtr(ImColor* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImColorPtr(IntPtr nativePtr) => NativePtr = (ImColor*)nativePtr; | ||||
|         public static implicit operator ImColorPtr(ImColor* nativePtr) => new ImColorPtr(nativePtr); | ||||
|         public static implicit operator ImColor* (ImColorPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImColorPtr(IntPtr nativePtr) => new ImColorPtr(nativePtr); | ||||
|         public ref Vector4 Value => ref Unsafe.AsRef<Vector4>(&NativePtr->Value); | ||||
|         public void Destroy() | ||||
|         { | ||||
|             ImGuiNative.ImColor_destroy((ImColor*)(NativePtr)); | ||||
|         } | ||||
|         public ImColor HSV(float h, float s, float v) | ||||
|         { | ||||
|             ImColor __retval; | ||||
|             float a = 1.0f; | ||||
|             ImGuiNative.ImColor_HSV(&__retval, h, s, v, a); | ||||
|             return __retval; | ||||
|         } | ||||
|         public ImColor HSV(float h, float s, float v, float a) | ||||
|         { | ||||
|             ImColor __retval; | ||||
|             ImGuiNative.ImColor_HSV(&__retval, h, s, v, a); | ||||
|             return __retval; | ||||
|         } | ||||
|         public void SetHSV(float h, float s, float v) | ||||
|         { | ||||
|             float a = 1.0f; | ||||
|             ImGuiNative.ImColor_SetHSV((ImColor*)(NativePtr), h, s, v, a); | ||||
|         } | ||||
|         public void SetHSV(float h, float s, float v, float a) | ||||
|         { | ||||
|             ImGuiNative.ImColor_SetHSV((ImColor*)(NativePtr), h, s, v, a); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										24
									
								
								lib/ImGui.NET/Generated/ImDrawChannel.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								lib/ImGui.NET/Generated/ImDrawChannel.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImDrawChannel | ||||
|     { | ||||
|         public ImVector _CmdBuffer; | ||||
|         public ImVector _IdxBuffer; | ||||
|     } | ||||
|     public unsafe partial struct ImDrawChannelPtr | ||||
|     { | ||||
|         public ImDrawChannel* NativePtr { get; } | ||||
|         public ImDrawChannelPtr(ImDrawChannel* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImDrawChannelPtr(IntPtr nativePtr) => NativePtr = (ImDrawChannel*)nativePtr; | ||||
|         public static implicit operator ImDrawChannelPtr(ImDrawChannel* nativePtr) => new ImDrawChannelPtr(nativePtr); | ||||
|         public static implicit operator ImDrawChannel* (ImDrawChannelPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImDrawChannelPtr(IntPtr nativePtr) => new ImDrawChannelPtr(nativePtr); | ||||
|         public ImPtrVector<ImDrawCmdPtr> _CmdBuffer => new ImPtrVector<ImDrawCmdPtr>(NativePtr->_CmdBuffer, Unsafe.SizeOf<ImDrawCmd>()); | ||||
|         public ImVector<ushort> _IdxBuffer => new ImVector<ushort>(NativePtr->_IdxBuffer); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										43
									
								
								lib/ImGui.NET/Generated/ImDrawCmd.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								lib/ImGui.NET/Generated/ImDrawCmd.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,43 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImDrawCmd | ||||
|     { | ||||
|         public Vector4 ClipRect; | ||||
|         public IntPtr TextureId; | ||||
|         public uint VtxOffset; | ||||
|         public uint IdxOffset; | ||||
|         public uint ElemCount; | ||||
|         public IntPtr UserCallback; | ||||
|         public void* UserCallbackData; | ||||
|     } | ||||
|     public unsafe partial struct ImDrawCmdPtr | ||||
|     { | ||||
|         public ImDrawCmd* NativePtr { get; } | ||||
|         public ImDrawCmdPtr(ImDrawCmd* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImDrawCmdPtr(IntPtr nativePtr) => NativePtr = (ImDrawCmd*)nativePtr; | ||||
|         public static implicit operator ImDrawCmdPtr(ImDrawCmd* nativePtr) => new ImDrawCmdPtr(nativePtr); | ||||
|         public static implicit operator ImDrawCmd* (ImDrawCmdPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImDrawCmdPtr(IntPtr nativePtr) => new ImDrawCmdPtr(nativePtr); | ||||
|         public ref Vector4 ClipRect => ref Unsafe.AsRef<Vector4>(&NativePtr->ClipRect); | ||||
|         public ref IntPtr TextureId => ref Unsafe.AsRef<IntPtr>(&NativePtr->TextureId); | ||||
|         public ref uint VtxOffset => ref Unsafe.AsRef<uint>(&NativePtr->VtxOffset); | ||||
|         public ref uint IdxOffset => ref Unsafe.AsRef<uint>(&NativePtr->IdxOffset); | ||||
|         public ref uint ElemCount => ref Unsafe.AsRef<uint>(&NativePtr->ElemCount); | ||||
|         public ref IntPtr UserCallback => ref Unsafe.AsRef<IntPtr>(&NativePtr->UserCallback); | ||||
|         public IntPtr UserCallbackData { get => (IntPtr)NativePtr->UserCallbackData; set => NativePtr->UserCallbackData = (void*)value; } | ||||
|         public void Destroy() | ||||
|         { | ||||
|             ImGuiNative.ImDrawCmd_destroy((ImDrawCmd*)(NativePtr)); | ||||
|         } | ||||
|         public IntPtr GetTexID() | ||||
|         { | ||||
|             IntPtr ret = ImGuiNative.ImDrawCmd_GetTexID((ImDrawCmd*)(NativePtr)); | ||||
|             return ret; | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										26
									
								
								lib/ImGui.NET/Generated/ImDrawCmdHeader.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								lib/ImGui.NET/Generated/ImDrawCmdHeader.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImDrawCmdHeader | ||||
|     { | ||||
|         public Vector4 ClipRect; | ||||
|         public IntPtr TextureId; | ||||
|         public uint VtxOffset; | ||||
|     } | ||||
|     public unsafe partial struct ImDrawCmdHeaderPtr | ||||
|     { | ||||
|         public ImDrawCmdHeader* NativePtr { get; } | ||||
|         public ImDrawCmdHeaderPtr(ImDrawCmdHeader* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImDrawCmdHeaderPtr(IntPtr nativePtr) => NativePtr = (ImDrawCmdHeader*)nativePtr; | ||||
|         public static implicit operator ImDrawCmdHeaderPtr(ImDrawCmdHeader* nativePtr) => new ImDrawCmdHeaderPtr(nativePtr); | ||||
|         public static implicit operator ImDrawCmdHeader* (ImDrawCmdHeaderPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImDrawCmdHeaderPtr(IntPtr nativePtr) => new ImDrawCmdHeaderPtr(nativePtr); | ||||
|         public ref Vector4 ClipRect => ref Unsafe.AsRef<Vector4>(&NativePtr->ClipRect); | ||||
|         public ref IntPtr TextureId => ref Unsafe.AsRef<IntPtr>(&NativePtr->TextureId); | ||||
|         public ref uint VtxOffset => ref Unsafe.AsRef<uint>(&NativePtr->VtxOffset); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										59
									
								
								lib/ImGui.NET/Generated/ImDrawData.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								lib/ImGui.NET/Generated/ImDrawData.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,59 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImDrawData | ||||
|     { | ||||
|         public byte Valid; | ||||
|         public int CmdListsCount; | ||||
|         public int TotalIdxCount; | ||||
|         public int TotalVtxCount; | ||||
|         public ImVector CmdLists; | ||||
|         public Vector2 DisplayPos; | ||||
|         public Vector2 DisplaySize; | ||||
|         public Vector2 FramebufferScale; | ||||
|         public ImGuiViewport* OwnerViewport; | ||||
|     } | ||||
|     public unsafe partial struct ImDrawDataPtr | ||||
|     { | ||||
|         public ImDrawData* NativePtr { get; } | ||||
|         public ImDrawDataPtr(ImDrawData* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImDrawDataPtr(IntPtr nativePtr) => NativePtr = (ImDrawData*)nativePtr; | ||||
|         public static implicit operator ImDrawDataPtr(ImDrawData* nativePtr) => new ImDrawDataPtr(nativePtr); | ||||
|         public static implicit operator ImDrawData* (ImDrawDataPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImDrawDataPtr(IntPtr nativePtr) => new ImDrawDataPtr(nativePtr); | ||||
|         public ref bool Valid => ref Unsafe.AsRef<bool>(&NativePtr->Valid); | ||||
|         public ref int CmdListsCount => ref Unsafe.AsRef<int>(&NativePtr->CmdListsCount); | ||||
|         public ref int TotalIdxCount => ref Unsafe.AsRef<int>(&NativePtr->TotalIdxCount); | ||||
|         public ref int TotalVtxCount => ref Unsafe.AsRef<int>(&NativePtr->TotalVtxCount); | ||||
|         public ImVector<ImDrawListPtr> CmdLists => new ImVector<ImDrawListPtr>(NativePtr->CmdLists); | ||||
|         public ref Vector2 DisplayPos => ref Unsafe.AsRef<Vector2>(&NativePtr->DisplayPos); | ||||
|         public ref Vector2 DisplaySize => ref Unsafe.AsRef<Vector2>(&NativePtr->DisplaySize); | ||||
|         public ref Vector2 FramebufferScale => ref Unsafe.AsRef<Vector2>(&NativePtr->FramebufferScale); | ||||
|         public ImGuiViewportPtr OwnerViewport => new ImGuiViewportPtr(NativePtr->OwnerViewport); | ||||
|         public void AddDrawList(ImDrawListPtr draw_list) | ||||
|         { | ||||
|             ImDrawList* native_draw_list = draw_list.NativePtr; | ||||
|             ImGuiNative.ImDrawData_AddDrawList((ImDrawData*)(NativePtr), native_draw_list); | ||||
|         } | ||||
|         public void Clear() | ||||
|         { | ||||
|             ImGuiNative.ImDrawData_Clear((ImDrawData*)(NativePtr)); | ||||
|         } | ||||
|         public void DeIndexAllBuffers() | ||||
|         { | ||||
|             ImGuiNative.ImDrawData_DeIndexAllBuffers((ImDrawData*)(NativePtr)); | ||||
|         } | ||||
|         public void Destroy() | ||||
|         { | ||||
|             ImGuiNative.ImDrawData_destroy((ImDrawData*)(NativePtr)); | ||||
|         } | ||||
|         public void ScaleClipRects(Vector2 fb_scale) | ||||
|         { | ||||
|             ImGuiNative.ImDrawData_ScaleClipRects((ImDrawData*)(NativePtr), fb_scale); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										21
									
								
								lib/ImGui.NET/Generated/ImDrawFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								lib/ImGui.NET/Generated/ImDrawFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [System.Flags] | ||||
|     public enum ImDrawFlags | ||||
|     { | ||||
|         None = 0, | ||||
|         Closed = 1, | ||||
|         RoundCornersTopLeft = 16, | ||||
|         RoundCornersTopRight = 32, | ||||
|         RoundCornersBottomLeft = 64, | ||||
|         RoundCornersBottomRight = 128, | ||||
|         RoundCornersNone = 256, | ||||
|         RoundCornersTop = 48, | ||||
|         RoundCornersBottom = 192, | ||||
|         RoundCornersLeft = 80, | ||||
|         RoundCornersRight = 160, | ||||
|         RoundCornersAll = 240, | ||||
|         RoundCornersDefault = 240, | ||||
|         RoundCornersMask = 496, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										731
									
								
								lib/ImGui.NET/Generated/ImDrawList.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										731
									
								
								lib/ImGui.NET/Generated/ImDrawList.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,731 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImDrawList | ||||
|     { | ||||
|         public ImVector CmdBuffer; | ||||
|         public ImVector IdxBuffer; | ||||
|         public ImVector VtxBuffer; | ||||
|         public ImDrawListFlags Flags; | ||||
|         public uint _VtxCurrentIdx; | ||||
|         public IntPtr _Data; | ||||
|         public byte* _OwnerName; | ||||
|         public ImDrawVert* _VtxWritePtr; | ||||
|         public ushort* _IdxWritePtr; | ||||
|         public ImVector _ClipRectStack; | ||||
|         public ImVector _TextureIdStack; | ||||
|         public ImVector _Path; | ||||
|         public ImDrawCmdHeader _CmdHeader; | ||||
|         public ImDrawListSplitter _Splitter; | ||||
|         public float _FringeScale; | ||||
|     } | ||||
|     public unsafe partial struct ImDrawListPtr | ||||
|     { | ||||
|         public ImDrawList* NativePtr { get; } | ||||
|         public ImDrawListPtr(ImDrawList* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImDrawListPtr(IntPtr nativePtr) => NativePtr = (ImDrawList*)nativePtr; | ||||
|         public static implicit operator ImDrawListPtr(ImDrawList* nativePtr) => new ImDrawListPtr(nativePtr); | ||||
|         public static implicit operator ImDrawList* (ImDrawListPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImDrawListPtr(IntPtr nativePtr) => new ImDrawListPtr(nativePtr); | ||||
|         public ImPtrVector<ImDrawCmdPtr> CmdBuffer => new ImPtrVector<ImDrawCmdPtr>(NativePtr->CmdBuffer, Unsafe.SizeOf<ImDrawCmd>()); | ||||
|         public ImVector<ushort> IdxBuffer => new ImVector<ushort>(NativePtr->IdxBuffer); | ||||
|         public ImPtrVector<ImDrawVertPtr> VtxBuffer => new ImPtrVector<ImDrawVertPtr>(NativePtr->VtxBuffer, Unsafe.SizeOf<ImDrawVert>()); | ||||
|         public ref ImDrawListFlags Flags => ref Unsafe.AsRef<ImDrawListFlags>(&NativePtr->Flags); | ||||
|         public ref uint _VtxCurrentIdx => ref Unsafe.AsRef<uint>(&NativePtr->_VtxCurrentIdx); | ||||
|         public ref IntPtr _Data => ref Unsafe.AsRef<IntPtr>(&NativePtr->_Data); | ||||
|         public NullTerminatedString _OwnerName => new NullTerminatedString(NativePtr->_OwnerName); | ||||
|         public ImDrawVertPtr _VtxWritePtr => new ImDrawVertPtr(NativePtr->_VtxWritePtr); | ||||
|         public IntPtr _IdxWritePtr { get => (IntPtr)NativePtr->_IdxWritePtr; set => NativePtr->_IdxWritePtr = (ushort*)value; } | ||||
|         public ImVector<Vector4> _ClipRectStack => new ImVector<Vector4>(NativePtr->_ClipRectStack); | ||||
|         public ImVector<IntPtr> _TextureIdStack => new ImVector<IntPtr>(NativePtr->_TextureIdStack); | ||||
|         public ImVector<Vector2> _Path => new ImVector<Vector2>(NativePtr->_Path); | ||||
|         public ref ImDrawCmdHeader _CmdHeader => ref Unsafe.AsRef<ImDrawCmdHeader>(&NativePtr->_CmdHeader); | ||||
|         public ref ImDrawListSplitter _Splitter => ref Unsafe.AsRef<ImDrawListSplitter>(&NativePtr->_Splitter); | ||||
|         public ref float _FringeScale => ref Unsafe.AsRef<float>(&NativePtr->_FringeScale); | ||||
|         public int _CalcCircleAutoSegmentCount(float radius) | ||||
|         { | ||||
|             int ret = ImGuiNative.ImDrawList__CalcCircleAutoSegmentCount((ImDrawList*)(NativePtr), radius); | ||||
|             return ret; | ||||
|         } | ||||
|         public void _ClearFreeMemory() | ||||
|         { | ||||
|             ImGuiNative.ImDrawList__ClearFreeMemory((ImDrawList*)(NativePtr)); | ||||
|         } | ||||
|         public void _OnChangedClipRect() | ||||
|         { | ||||
|             ImGuiNative.ImDrawList__OnChangedClipRect((ImDrawList*)(NativePtr)); | ||||
|         } | ||||
|         public void _OnChangedTextureID() | ||||
|         { | ||||
|             ImGuiNative.ImDrawList__OnChangedTextureID((ImDrawList*)(NativePtr)); | ||||
|         } | ||||
|         public void _OnChangedVtxOffset() | ||||
|         { | ||||
|             ImGuiNative.ImDrawList__OnChangedVtxOffset((ImDrawList*)(NativePtr)); | ||||
|         } | ||||
|         public void _PathArcToFastEx(Vector2 center, float radius, int a_min_sample, int a_max_sample, int a_step) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList__PathArcToFastEx((ImDrawList*)(NativePtr), center, radius, a_min_sample, a_max_sample, a_step); | ||||
|         } | ||||
|         public void _PathArcToN(Vector2 center, float radius, float a_min, float a_max, int num_segments) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList__PathArcToN((ImDrawList*)(NativePtr), center, radius, a_min, a_max, num_segments); | ||||
|         } | ||||
|         public void _PopUnusedDrawCmd() | ||||
|         { | ||||
|             ImGuiNative.ImDrawList__PopUnusedDrawCmd((ImDrawList*)(NativePtr)); | ||||
|         } | ||||
|         public void _ResetForNewFrame() | ||||
|         { | ||||
|             ImGuiNative.ImDrawList__ResetForNewFrame((ImDrawList*)(NativePtr)); | ||||
|         } | ||||
|         public void _TryMergeDrawCmds() | ||||
|         { | ||||
|             ImGuiNative.ImDrawList__TryMergeDrawCmds((ImDrawList*)(NativePtr)); | ||||
|         } | ||||
|         public void AddBezierCubic(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, uint col, float thickness) | ||||
|         { | ||||
|             int num_segments = 0; | ||||
|             ImGuiNative.ImDrawList_AddBezierCubic((ImDrawList*)(NativePtr), p1, p2, p3, p4, col, thickness, num_segments); | ||||
|         } | ||||
|         public void AddBezierCubic(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, uint col, float thickness, int num_segments) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_AddBezierCubic((ImDrawList*)(NativePtr), p1, p2, p3, p4, col, thickness, num_segments); | ||||
|         } | ||||
|         public void AddBezierQuadratic(Vector2 p1, Vector2 p2, Vector2 p3, uint col, float thickness) | ||||
|         { | ||||
|             int num_segments = 0; | ||||
|             ImGuiNative.ImDrawList_AddBezierQuadratic((ImDrawList*)(NativePtr), p1, p2, p3, col, thickness, num_segments); | ||||
|         } | ||||
|         public void AddBezierQuadratic(Vector2 p1, Vector2 p2, Vector2 p3, uint col, float thickness, int num_segments) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_AddBezierQuadratic((ImDrawList*)(NativePtr), p1, p2, p3, col, thickness, num_segments); | ||||
|         } | ||||
|         public void AddCallback(IntPtr callback, IntPtr callback_data) | ||||
|         { | ||||
|             void* native_callback_data = (void*)callback_data.ToPointer(); | ||||
|             ImGuiNative.ImDrawList_AddCallback((ImDrawList*)(NativePtr), callback, native_callback_data); | ||||
|         } | ||||
|         public void AddCircle(Vector2 center, float radius, uint col) | ||||
|         { | ||||
|             int num_segments = 0; | ||||
|             float thickness = 1.0f; | ||||
|             ImGuiNative.ImDrawList_AddCircle((ImDrawList*)(NativePtr), center, radius, col, num_segments, thickness); | ||||
|         } | ||||
|         public void AddCircle(Vector2 center, float radius, uint col, int num_segments) | ||||
|         { | ||||
|             float thickness = 1.0f; | ||||
|             ImGuiNative.ImDrawList_AddCircle((ImDrawList*)(NativePtr), center, radius, col, num_segments, thickness); | ||||
|         } | ||||
|         public void AddCircle(Vector2 center, float radius, uint col, int num_segments, float thickness) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_AddCircle((ImDrawList*)(NativePtr), center, radius, col, num_segments, thickness); | ||||
|         } | ||||
|         public void AddCircleFilled(Vector2 center, float radius, uint col) | ||||
|         { | ||||
|             int num_segments = 0; | ||||
|             ImGuiNative.ImDrawList_AddCircleFilled((ImDrawList*)(NativePtr), center, radius, col, num_segments); | ||||
|         } | ||||
|         public void AddCircleFilled(Vector2 center, float radius, uint col, int num_segments) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_AddCircleFilled((ImDrawList*)(NativePtr), center, radius, col, num_segments); | ||||
|         } | ||||
|         public void AddConvexPolyFilled(ref Vector2 points, int num_points, uint col) | ||||
|         { | ||||
|             fixed (Vector2* native_points = &points) | ||||
|             { | ||||
|                 ImGuiNative.ImDrawList_AddConvexPolyFilled((ImDrawList*)(NativePtr), native_points, num_points, col); | ||||
|             } | ||||
|         } | ||||
|         public void AddDrawCmd() | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_AddDrawCmd((ImDrawList*)(NativePtr)); | ||||
|         } | ||||
|         public void AddEllipse(Vector2 center, float radius_x, float radius_y, uint col) | ||||
|         { | ||||
|             float rot = 0.0f; | ||||
|             int num_segments = 0; | ||||
|             float thickness = 1.0f; | ||||
|             ImGuiNative.ImDrawList_AddEllipse((ImDrawList*)(NativePtr), center, radius_x, radius_y, col, rot, num_segments, thickness); | ||||
|         } | ||||
|         public void AddEllipse(Vector2 center, float radius_x, float radius_y, uint col, float rot) | ||||
|         { | ||||
|             int num_segments = 0; | ||||
|             float thickness = 1.0f; | ||||
|             ImGuiNative.ImDrawList_AddEllipse((ImDrawList*)(NativePtr), center, radius_x, radius_y, col, rot, num_segments, thickness); | ||||
|         } | ||||
|         public void AddEllipse(Vector2 center, float radius_x, float radius_y, uint col, float rot, int num_segments) | ||||
|         { | ||||
|             float thickness = 1.0f; | ||||
|             ImGuiNative.ImDrawList_AddEllipse((ImDrawList*)(NativePtr), center, radius_x, radius_y, col, rot, num_segments, thickness); | ||||
|         } | ||||
|         public void AddEllipse(Vector2 center, float radius_x, float radius_y, uint col, float rot, int num_segments, float thickness) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_AddEllipse((ImDrawList*)(NativePtr), center, radius_x, radius_y, col, rot, num_segments, thickness); | ||||
|         } | ||||
|         public void AddEllipseFilled(Vector2 center, float radius_x, float radius_y, uint col) | ||||
|         { | ||||
|             float rot = 0.0f; | ||||
|             int num_segments = 0; | ||||
|             ImGuiNative.ImDrawList_AddEllipseFilled((ImDrawList*)(NativePtr), center, radius_x, radius_y, col, rot, num_segments); | ||||
|         } | ||||
|         public void AddEllipseFilled(Vector2 center, float radius_x, float radius_y, uint col, float rot) | ||||
|         { | ||||
|             int num_segments = 0; | ||||
|             ImGuiNative.ImDrawList_AddEllipseFilled((ImDrawList*)(NativePtr), center, radius_x, radius_y, col, rot, num_segments); | ||||
|         } | ||||
|         public void AddEllipseFilled(Vector2 center, float radius_x, float radius_y, uint col, float rot, int num_segments) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_AddEllipseFilled((ImDrawList*)(NativePtr), center, radius_x, radius_y, col, rot, num_segments); | ||||
|         } | ||||
|         public void AddImage(IntPtr user_texture_id, Vector2 p_min, Vector2 p_max) | ||||
|         { | ||||
|             Vector2 uv_min = new Vector2(); | ||||
|             Vector2 uv_max = new Vector2(1, 1); | ||||
|             uint col = 4294967295; | ||||
|             ImGuiNative.ImDrawList_AddImage((ImDrawList*)(NativePtr), user_texture_id, p_min, p_max, uv_min, uv_max, col); | ||||
|         } | ||||
|         public void AddImage(IntPtr user_texture_id, Vector2 p_min, Vector2 p_max, Vector2 uv_min) | ||||
|         { | ||||
|             Vector2 uv_max = new Vector2(1, 1); | ||||
|             uint col = 4294967295; | ||||
|             ImGuiNative.ImDrawList_AddImage((ImDrawList*)(NativePtr), user_texture_id, p_min, p_max, uv_min, uv_max, col); | ||||
|         } | ||||
|         public void AddImage(IntPtr user_texture_id, Vector2 p_min, Vector2 p_max, Vector2 uv_min, Vector2 uv_max) | ||||
|         { | ||||
|             uint col = 4294967295; | ||||
|             ImGuiNative.ImDrawList_AddImage((ImDrawList*)(NativePtr), user_texture_id, p_min, p_max, uv_min, uv_max, col); | ||||
|         } | ||||
|         public void AddImage(IntPtr user_texture_id, Vector2 p_min, Vector2 p_max, Vector2 uv_min, Vector2 uv_max, uint col) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_AddImage((ImDrawList*)(NativePtr), user_texture_id, p_min, p_max, uv_min, uv_max, col); | ||||
|         } | ||||
|         public void AddImageQuad(IntPtr user_texture_id, Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4) | ||||
|         { | ||||
|             Vector2 uv1 = new Vector2(); | ||||
|             Vector2 uv2 = new Vector2(1, 0); | ||||
|             Vector2 uv3 = new Vector2(1, 1); | ||||
|             Vector2 uv4 = new Vector2(0, 1); | ||||
|             uint col = 4294967295; | ||||
|             ImGuiNative.ImDrawList_AddImageQuad((ImDrawList*)(NativePtr), user_texture_id, p1, p2, p3, p4, uv1, uv2, uv3, uv4, col); | ||||
|         } | ||||
|         public void AddImageQuad(IntPtr user_texture_id, Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, Vector2 uv1) | ||||
|         { | ||||
|             Vector2 uv2 = new Vector2(1, 0); | ||||
|             Vector2 uv3 = new Vector2(1, 1); | ||||
|             Vector2 uv4 = new Vector2(0, 1); | ||||
|             uint col = 4294967295; | ||||
|             ImGuiNative.ImDrawList_AddImageQuad((ImDrawList*)(NativePtr), user_texture_id, p1, p2, p3, p4, uv1, uv2, uv3, uv4, col); | ||||
|         } | ||||
|         public void AddImageQuad(IntPtr user_texture_id, Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, Vector2 uv1, Vector2 uv2) | ||||
|         { | ||||
|             Vector2 uv3 = new Vector2(1, 1); | ||||
|             Vector2 uv4 = new Vector2(0, 1); | ||||
|             uint col = 4294967295; | ||||
|             ImGuiNative.ImDrawList_AddImageQuad((ImDrawList*)(NativePtr), user_texture_id, p1, p2, p3, p4, uv1, uv2, uv3, uv4, col); | ||||
|         } | ||||
|         public void AddImageQuad(IntPtr user_texture_id, Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, Vector2 uv1, Vector2 uv2, Vector2 uv3) | ||||
|         { | ||||
|             Vector2 uv4 = new Vector2(0, 1); | ||||
|             uint col = 4294967295; | ||||
|             ImGuiNative.ImDrawList_AddImageQuad((ImDrawList*)(NativePtr), user_texture_id, p1, p2, p3, p4, uv1, uv2, uv3, uv4, col); | ||||
|         } | ||||
|         public void AddImageQuad(IntPtr user_texture_id, Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, Vector2 uv1, Vector2 uv2, Vector2 uv3, Vector2 uv4) | ||||
|         { | ||||
|             uint col = 4294967295; | ||||
|             ImGuiNative.ImDrawList_AddImageQuad((ImDrawList*)(NativePtr), user_texture_id, p1, p2, p3, p4, uv1, uv2, uv3, uv4, col); | ||||
|         } | ||||
|         public void AddImageQuad(IntPtr user_texture_id, Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, Vector2 uv1, Vector2 uv2, Vector2 uv3, Vector2 uv4, uint col) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_AddImageQuad((ImDrawList*)(NativePtr), user_texture_id, p1, p2, p3, p4, uv1, uv2, uv3, uv4, col); | ||||
|         } | ||||
|         public void AddImageRounded(IntPtr user_texture_id, Vector2 p_min, Vector2 p_max, Vector2 uv_min, Vector2 uv_max, uint col, float rounding) | ||||
|         { | ||||
|             ImDrawFlags flags = (ImDrawFlags)0; | ||||
|             ImGuiNative.ImDrawList_AddImageRounded((ImDrawList*)(NativePtr), user_texture_id, p_min, p_max, uv_min, uv_max, col, rounding, flags); | ||||
|         } | ||||
|         public void AddImageRounded(IntPtr user_texture_id, Vector2 p_min, Vector2 p_max, Vector2 uv_min, Vector2 uv_max, uint col, float rounding, ImDrawFlags flags) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_AddImageRounded((ImDrawList*)(NativePtr), user_texture_id, p_min, p_max, uv_min, uv_max, col, rounding, flags); | ||||
|         } | ||||
|         public void AddLine(Vector2 p1, Vector2 p2, uint col) | ||||
|         { | ||||
|             float thickness = 1.0f; | ||||
|             ImGuiNative.ImDrawList_AddLine((ImDrawList*)(NativePtr), p1, p2, col, thickness); | ||||
|         } | ||||
|         public void AddLine(Vector2 p1, Vector2 p2, uint col, float thickness) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_AddLine((ImDrawList*)(NativePtr), p1, p2, col, thickness); | ||||
|         } | ||||
|         public void AddNgon(Vector2 center, float radius, uint col, int num_segments) | ||||
|         { | ||||
|             float thickness = 1.0f; | ||||
|             ImGuiNative.ImDrawList_AddNgon((ImDrawList*)(NativePtr), center, radius, col, num_segments, thickness); | ||||
|         } | ||||
|         public void AddNgon(Vector2 center, float radius, uint col, int num_segments, float thickness) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_AddNgon((ImDrawList*)(NativePtr), center, radius, col, num_segments, thickness); | ||||
|         } | ||||
|         public void AddNgonFilled(Vector2 center, float radius, uint col, int num_segments) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_AddNgonFilled((ImDrawList*)(NativePtr), center, radius, col, num_segments); | ||||
|         } | ||||
|         public void AddPolyline(ref Vector2 points, int num_points, uint col, ImDrawFlags flags, float thickness) | ||||
|         { | ||||
|             fixed (Vector2* native_points = &points) | ||||
|             { | ||||
|                 ImGuiNative.ImDrawList_AddPolyline((ImDrawList*)(NativePtr), native_points, num_points, col, flags, thickness); | ||||
|             } | ||||
|         } | ||||
|         public void AddQuad(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, uint col) | ||||
|         { | ||||
|             float thickness = 1.0f; | ||||
|             ImGuiNative.ImDrawList_AddQuad((ImDrawList*)(NativePtr), p1, p2, p3, p4, col, thickness); | ||||
|         } | ||||
|         public void AddQuad(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, uint col, float thickness) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_AddQuad((ImDrawList*)(NativePtr), p1, p2, p3, p4, col, thickness); | ||||
|         } | ||||
|         public void AddQuadFilled(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, uint col) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_AddQuadFilled((ImDrawList*)(NativePtr), p1, p2, p3, p4, col); | ||||
|         } | ||||
|         public void AddRect(Vector2 p_min, Vector2 p_max, uint col) | ||||
|         { | ||||
|             float rounding = 0.0f; | ||||
|             ImDrawFlags flags = (ImDrawFlags)0; | ||||
|             float thickness = 1.0f; | ||||
|             ImGuiNative.ImDrawList_AddRect((ImDrawList*)(NativePtr), p_min, p_max, col, rounding, flags, thickness); | ||||
|         } | ||||
|         public void AddRect(Vector2 p_min, Vector2 p_max, uint col, float rounding) | ||||
|         { | ||||
|             ImDrawFlags flags = (ImDrawFlags)0; | ||||
|             float thickness = 1.0f; | ||||
|             ImGuiNative.ImDrawList_AddRect((ImDrawList*)(NativePtr), p_min, p_max, col, rounding, flags, thickness); | ||||
|         } | ||||
|         public void AddRect(Vector2 p_min, Vector2 p_max, uint col, float rounding, ImDrawFlags flags) | ||||
|         { | ||||
|             float thickness = 1.0f; | ||||
|             ImGuiNative.ImDrawList_AddRect((ImDrawList*)(NativePtr), p_min, p_max, col, rounding, flags, thickness); | ||||
|         } | ||||
|         public void AddRect(Vector2 p_min, Vector2 p_max, uint col, float rounding, ImDrawFlags flags, float thickness) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_AddRect((ImDrawList*)(NativePtr), p_min, p_max, col, rounding, flags, thickness); | ||||
|         } | ||||
|         public void AddRectFilled(Vector2 p_min, Vector2 p_max, uint col) | ||||
|         { | ||||
|             float rounding = 0.0f; | ||||
|             ImDrawFlags flags = (ImDrawFlags)0; | ||||
|             ImGuiNative.ImDrawList_AddRectFilled((ImDrawList*)(NativePtr), p_min, p_max, col, rounding, flags); | ||||
|         } | ||||
|         public void AddRectFilled(Vector2 p_min, Vector2 p_max, uint col, float rounding) | ||||
|         { | ||||
|             ImDrawFlags flags = (ImDrawFlags)0; | ||||
|             ImGuiNative.ImDrawList_AddRectFilled((ImDrawList*)(NativePtr), p_min, p_max, col, rounding, flags); | ||||
|         } | ||||
|         public void AddRectFilled(Vector2 p_min, Vector2 p_max, uint col, float rounding, ImDrawFlags flags) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_AddRectFilled((ImDrawList*)(NativePtr), p_min, p_max, col, rounding, flags); | ||||
|         } | ||||
|         public void AddRectFilledMultiColor(Vector2 p_min, Vector2 p_max, uint col_upr_left, uint col_upr_right, uint col_bot_right, uint col_bot_left) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_AddRectFilledMultiColor((ImDrawList*)(NativePtr), p_min, p_max, col_upr_left, col_upr_right, col_bot_right, col_bot_left); | ||||
|         } | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         public void AddText(Vector2 pos, uint col, ReadOnlySpan<char> text_begin) | ||||
|         { | ||||
|             byte* native_text_begin; | ||||
|             int text_begin_byteCount = 0; | ||||
|                 text_begin_byteCount = Encoding.UTF8.GetByteCount(text_begin); | ||||
|                 if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_text_begin = Util.Allocate(text_begin_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_text_begin_stackBytes = stackalloc byte[text_begin_byteCount + 1]; | ||||
|                     native_text_begin = native_text_begin_stackBytes; | ||||
|                 } | ||||
|                 int native_text_begin_offset = Util.GetUtf8(text_begin, native_text_begin, text_begin_byteCount); | ||||
|                 native_text_begin[native_text_begin_offset] = 0; | ||||
|             ImGuiNative.ImDrawList_AddText_Vec2((ImDrawList*)(NativePtr), pos, col, native_text_begin, native_text_begin+text_begin_byteCount); | ||||
|             if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_text_begin); | ||||
|             } | ||||
|         } | ||||
| #endif | ||||
|         public void AddText(Vector2 pos, uint col, string text_begin) | ||||
|         { | ||||
|             byte* native_text_begin; | ||||
|             int text_begin_byteCount = 0; | ||||
|                 text_begin_byteCount = Encoding.UTF8.GetByteCount(text_begin); | ||||
|                 if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_text_begin = Util.Allocate(text_begin_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_text_begin_stackBytes = stackalloc byte[text_begin_byteCount + 1]; | ||||
|                     native_text_begin = native_text_begin_stackBytes; | ||||
|                 } | ||||
|                 int native_text_begin_offset = Util.GetUtf8(text_begin, native_text_begin, text_begin_byteCount); | ||||
|                 native_text_begin[native_text_begin_offset] = 0; | ||||
|             ImGuiNative.ImDrawList_AddText_Vec2((ImDrawList*)(NativePtr), pos, col, native_text_begin, native_text_begin+text_begin_byteCount); | ||||
|             if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_text_begin); | ||||
|             } | ||||
|         } | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         public void AddText(ImFontPtr font, float font_size, Vector2 pos, uint col, ReadOnlySpan<char> text_begin) | ||||
|         { | ||||
|             ImFont* native_font = font.NativePtr; | ||||
|             byte* native_text_begin; | ||||
|             int text_begin_byteCount = 0; | ||||
|                 text_begin_byteCount = Encoding.UTF8.GetByteCount(text_begin); | ||||
|                 if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_text_begin = Util.Allocate(text_begin_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_text_begin_stackBytes = stackalloc byte[text_begin_byteCount + 1]; | ||||
|                     native_text_begin = native_text_begin_stackBytes; | ||||
|                 } | ||||
|                 int native_text_begin_offset = Util.GetUtf8(text_begin, native_text_begin, text_begin_byteCount); | ||||
|                 native_text_begin[native_text_begin_offset] = 0; | ||||
|             float wrap_width = 0.0f; | ||||
|             Vector4* cpu_fine_clip_rect = null; | ||||
|             ImGuiNative.ImDrawList_AddText_FontPtr((ImDrawList*)(NativePtr), native_font, font_size, pos, col, native_text_begin, native_text_begin+text_begin_byteCount, wrap_width, cpu_fine_clip_rect); | ||||
|             if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_text_begin); | ||||
|             } | ||||
|         } | ||||
| #endif | ||||
|         public void AddText(ImFontPtr font, float font_size, Vector2 pos, uint col, string text_begin) | ||||
|         { | ||||
|             ImFont* native_font = font.NativePtr; | ||||
|             byte* native_text_begin; | ||||
|             int text_begin_byteCount = 0; | ||||
|                 text_begin_byteCount = Encoding.UTF8.GetByteCount(text_begin); | ||||
|                 if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_text_begin = Util.Allocate(text_begin_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_text_begin_stackBytes = stackalloc byte[text_begin_byteCount + 1]; | ||||
|                     native_text_begin = native_text_begin_stackBytes; | ||||
|                 } | ||||
|                 int native_text_begin_offset = Util.GetUtf8(text_begin, native_text_begin, text_begin_byteCount); | ||||
|                 native_text_begin[native_text_begin_offset] = 0; | ||||
|             float wrap_width = 0.0f; | ||||
|             Vector4* cpu_fine_clip_rect = null; | ||||
|             ImGuiNative.ImDrawList_AddText_FontPtr((ImDrawList*)(NativePtr), native_font, font_size, pos, col, native_text_begin, native_text_begin+text_begin_byteCount, wrap_width, cpu_fine_clip_rect); | ||||
|             if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_text_begin); | ||||
|             } | ||||
|         } | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         public void AddText(ImFontPtr font, float font_size, Vector2 pos, uint col, ReadOnlySpan<char> text_begin, float wrap_width) | ||||
|         { | ||||
|             ImFont* native_font = font.NativePtr; | ||||
|             byte* native_text_begin; | ||||
|             int text_begin_byteCount = 0; | ||||
|                 text_begin_byteCount = Encoding.UTF8.GetByteCount(text_begin); | ||||
|                 if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_text_begin = Util.Allocate(text_begin_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_text_begin_stackBytes = stackalloc byte[text_begin_byteCount + 1]; | ||||
|                     native_text_begin = native_text_begin_stackBytes; | ||||
|                 } | ||||
|                 int native_text_begin_offset = Util.GetUtf8(text_begin, native_text_begin, text_begin_byteCount); | ||||
|                 native_text_begin[native_text_begin_offset] = 0; | ||||
|             Vector4* cpu_fine_clip_rect = null; | ||||
|             ImGuiNative.ImDrawList_AddText_FontPtr((ImDrawList*)(NativePtr), native_font, font_size, pos, col, native_text_begin, native_text_begin+text_begin_byteCount, wrap_width, cpu_fine_clip_rect); | ||||
|             if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_text_begin); | ||||
|             } | ||||
|         } | ||||
| #endif | ||||
|         public void AddText(ImFontPtr font, float font_size, Vector2 pos, uint col, string text_begin, float wrap_width) | ||||
|         { | ||||
|             ImFont* native_font = font.NativePtr; | ||||
|             byte* native_text_begin; | ||||
|             int text_begin_byteCount = 0; | ||||
|                 text_begin_byteCount = Encoding.UTF8.GetByteCount(text_begin); | ||||
|                 if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_text_begin = Util.Allocate(text_begin_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_text_begin_stackBytes = stackalloc byte[text_begin_byteCount + 1]; | ||||
|                     native_text_begin = native_text_begin_stackBytes; | ||||
|                 } | ||||
|                 int native_text_begin_offset = Util.GetUtf8(text_begin, native_text_begin, text_begin_byteCount); | ||||
|                 native_text_begin[native_text_begin_offset] = 0; | ||||
|             Vector4* cpu_fine_clip_rect = null; | ||||
|             ImGuiNative.ImDrawList_AddText_FontPtr((ImDrawList*)(NativePtr), native_font, font_size, pos, col, native_text_begin, native_text_begin+text_begin_byteCount, wrap_width, cpu_fine_clip_rect); | ||||
|             if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_text_begin); | ||||
|             } | ||||
|         } | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         public void AddText(ImFontPtr font, float font_size, Vector2 pos, uint col, ReadOnlySpan<char> text_begin, float wrap_width, ref Vector4 cpu_fine_clip_rect) | ||||
|         { | ||||
|             ImFont* native_font = font.NativePtr; | ||||
|             byte* native_text_begin; | ||||
|             int text_begin_byteCount = 0; | ||||
|                 text_begin_byteCount = Encoding.UTF8.GetByteCount(text_begin); | ||||
|                 if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_text_begin = Util.Allocate(text_begin_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_text_begin_stackBytes = stackalloc byte[text_begin_byteCount + 1]; | ||||
|                     native_text_begin = native_text_begin_stackBytes; | ||||
|                 } | ||||
|                 int native_text_begin_offset = Util.GetUtf8(text_begin, native_text_begin, text_begin_byteCount); | ||||
|                 native_text_begin[native_text_begin_offset] = 0; | ||||
|             fixed (Vector4* native_cpu_fine_clip_rect = &cpu_fine_clip_rect) | ||||
|             { | ||||
|                 ImGuiNative.ImDrawList_AddText_FontPtr((ImDrawList*)(NativePtr), native_font, font_size, pos, col, native_text_begin, native_text_begin+text_begin_byteCount, wrap_width, native_cpu_fine_clip_rect); | ||||
|                 if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     Util.Free(native_text_begin); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
| #endif | ||||
|         public void AddText(ImFontPtr font, float font_size, Vector2 pos, uint col, string text_begin, float wrap_width, ref Vector4 cpu_fine_clip_rect) | ||||
|         { | ||||
|             ImFont* native_font = font.NativePtr; | ||||
|             byte* native_text_begin; | ||||
|             int text_begin_byteCount = 0; | ||||
|                 text_begin_byteCount = Encoding.UTF8.GetByteCount(text_begin); | ||||
|                 if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_text_begin = Util.Allocate(text_begin_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_text_begin_stackBytes = stackalloc byte[text_begin_byteCount + 1]; | ||||
|                     native_text_begin = native_text_begin_stackBytes; | ||||
|                 } | ||||
|                 int native_text_begin_offset = Util.GetUtf8(text_begin, native_text_begin, text_begin_byteCount); | ||||
|                 native_text_begin[native_text_begin_offset] = 0; | ||||
|             fixed (Vector4* native_cpu_fine_clip_rect = &cpu_fine_clip_rect) | ||||
|             { | ||||
|                 ImGuiNative.ImDrawList_AddText_FontPtr((ImDrawList*)(NativePtr), native_font, font_size, pos, col, native_text_begin, native_text_begin+text_begin_byteCount, wrap_width, native_cpu_fine_clip_rect); | ||||
|                 if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     Util.Free(native_text_begin); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         public void AddTriangle(Vector2 p1, Vector2 p2, Vector2 p3, uint col) | ||||
|         { | ||||
|             float thickness = 1.0f; | ||||
|             ImGuiNative.ImDrawList_AddTriangle((ImDrawList*)(NativePtr), p1, p2, p3, col, thickness); | ||||
|         } | ||||
|         public void AddTriangle(Vector2 p1, Vector2 p2, Vector2 p3, uint col, float thickness) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_AddTriangle((ImDrawList*)(NativePtr), p1, p2, p3, col, thickness); | ||||
|         } | ||||
|         public void AddTriangleFilled(Vector2 p1, Vector2 p2, Vector2 p3, uint col) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_AddTriangleFilled((ImDrawList*)(NativePtr), p1, p2, p3, col); | ||||
|         } | ||||
|         public void ChannelsMerge() | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_ChannelsMerge((ImDrawList*)(NativePtr)); | ||||
|         } | ||||
|         public void ChannelsSetCurrent(int n) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_ChannelsSetCurrent((ImDrawList*)(NativePtr), n); | ||||
|         } | ||||
|         public void ChannelsSplit(int count) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_ChannelsSplit((ImDrawList*)(NativePtr), count); | ||||
|         } | ||||
|         public ImDrawListPtr CloneOutput() | ||||
|         { | ||||
|             ImDrawList* ret = ImGuiNative.ImDrawList_CloneOutput((ImDrawList*)(NativePtr)); | ||||
|             return new ImDrawListPtr(ret); | ||||
|         } | ||||
|         public void Destroy() | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_destroy((ImDrawList*)(NativePtr)); | ||||
|         } | ||||
|         public Vector2 GetClipRectMax() | ||||
|         { | ||||
|             Vector2 __retval; | ||||
|             ImGuiNative.ImDrawList_GetClipRectMax(&__retval, (ImDrawList*)(NativePtr)); | ||||
|             return __retval; | ||||
|         } | ||||
|         public Vector2 GetClipRectMin() | ||||
|         { | ||||
|             Vector2 __retval; | ||||
|             ImGuiNative.ImDrawList_GetClipRectMin(&__retval, (ImDrawList*)(NativePtr)); | ||||
|             return __retval; | ||||
|         } | ||||
|         public void PathArcTo(Vector2 center, float radius, float a_min, float a_max) | ||||
|         { | ||||
|             int num_segments = 0; | ||||
|             ImGuiNative.ImDrawList_PathArcTo((ImDrawList*)(NativePtr), center, radius, a_min, a_max, num_segments); | ||||
|         } | ||||
|         public void PathArcTo(Vector2 center, float radius, float a_min, float a_max, int num_segments) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_PathArcTo((ImDrawList*)(NativePtr), center, radius, a_min, a_max, num_segments); | ||||
|         } | ||||
|         public void PathArcToFast(Vector2 center, float radius, int a_min_of_12, int a_max_of_12) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_PathArcToFast((ImDrawList*)(NativePtr), center, radius, a_min_of_12, a_max_of_12); | ||||
|         } | ||||
|         public void PathBezierCubicCurveTo(Vector2 p2, Vector2 p3, Vector2 p4) | ||||
|         { | ||||
|             int num_segments = 0; | ||||
|             ImGuiNative.ImDrawList_PathBezierCubicCurveTo((ImDrawList*)(NativePtr), p2, p3, p4, num_segments); | ||||
|         } | ||||
|         public void PathBezierCubicCurveTo(Vector2 p2, Vector2 p3, Vector2 p4, int num_segments) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_PathBezierCubicCurveTo((ImDrawList*)(NativePtr), p2, p3, p4, num_segments); | ||||
|         } | ||||
|         public void PathBezierQuadraticCurveTo(Vector2 p2, Vector2 p3) | ||||
|         { | ||||
|             int num_segments = 0; | ||||
|             ImGuiNative.ImDrawList_PathBezierQuadraticCurveTo((ImDrawList*)(NativePtr), p2, p3, num_segments); | ||||
|         } | ||||
|         public void PathBezierQuadraticCurveTo(Vector2 p2, Vector2 p3, int num_segments) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_PathBezierQuadraticCurveTo((ImDrawList*)(NativePtr), p2, p3, num_segments); | ||||
|         } | ||||
|         public void PathClear() | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_PathClear((ImDrawList*)(NativePtr)); | ||||
|         } | ||||
|         public void PathEllipticalArcTo(Vector2 center, float radius_x, float radius_y, float rot, float a_min, float a_max) | ||||
|         { | ||||
|             int num_segments = 0; | ||||
|             ImGuiNative.ImDrawList_PathEllipticalArcTo((ImDrawList*)(NativePtr), center, radius_x, radius_y, rot, a_min, a_max, num_segments); | ||||
|         } | ||||
|         public void PathEllipticalArcTo(Vector2 center, float radius_x, float radius_y, float rot, float a_min, float a_max, int num_segments) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_PathEllipticalArcTo((ImDrawList*)(NativePtr), center, radius_x, radius_y, rot, a_min, a_max, num_segments); | ||||
|         } | ||||
|         public void PathFillConvex(uint col) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_PathFillConvex((ImDrawList*)(NativePtr), col); | ||||
|         } | ||||
|         public void PathLineTo(Vector2 pos) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_PathLineTo((ImDrawList*)(NativePtr), pos); | ||||
|         } | ||||
|         public void PathLineToMergeDuplicate(Vector2 pos) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_PathLineToMergeDuplicate((ImDrawList*)(NativePtr), pos); | ||||
|         } | ||||
|         public void PathRect(Vector2 rect_min, Vector2 rect_max) | ||||
|         { | ||||
|             float rounding = 0.0f; | ||||
|             ImDrawFlags flags = (ImDrawFlags)0; | ||||
|             ImGuiNative.ImDrawList_PathRect((ImDrawList*)(NativePtr), rect_min, rect_max, rounding, flags); | ||||
|         } | ||||
|         public void PathRect(Vector2 rect_min, Vector2 rect_max, float rounding) | ||||
|         { | ||||
|             ImDrawFlags flags = (ImDrawFlags)0; | ||||
|             ImGuiNative.ImDrawList_PathRect((ImDrawList*)(NativePtr), rect_min, rect_max, rounding, flags); | ||||
|         } | ||||
|         public void PathRect(Vector2 rect_min, Vector2 rect_max, float rounding, ImDrawFlags flags) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_PathRect((ImDrawList*)(NativePtr), rect_min, rect_max, rounding, flags); | ||||
|         } | ||||
|         public void PathStroke(uint col) | ||||
|         { | ||||
|             ImDrawFlags flags = (ImDrawFlags)0; | ||||
|             float thickness = 1.0f; | ||||
|             ImGuiNative.ImDrawList_PathStroke((ImDrawList*)(NativePtr), col, flags, thickness); | ||||
|         } | ||||
|         public void PathStroke(uint col, ImDrawFlags flags) | ||||
|         { | ||||
|             float thickness = 1.0f; | ||||
|             ImGuiNative.ImDrawList_PathStroke((ImDrawList*)(NativePtr), col, flags, thickness); | ||||
|         } | ||||
|         public void PathStroke(uint col, ImDrawFlags flags, float thickness) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_PathStroke((ImDrawList*)(NativePtr), col, flags, thickness); | ||||
|         } | ||||
|         public void PopClipRect() | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_PopClipRect((ImDrawList*)(NativePtr)); | ||||
|         } | ||||
|         public void PopTextureID() | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_PopTextureID((ImDrawList*)(NativePtr)); | ||||
|         } | ||||
|         public void PrimQuadUV(Vector2 a, Vector2 b, Vector2 c, Vector2 d, Vector2 uv_a, Vector2 uv_b, Vector2 uv_c, Vector2 uv_d, uint col) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_PrimQuadUV((ImDrawList*)(NativePtr), a, b, c, d, uv_a, uv_b, uv_c, uv_d, col); | ||||
|         } | ||||
|         public void PrimRect(Vector2 a, Vector2 b, uint col) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_PrimRect((ImDrawList*)(NativePtr), a, b, col); | ||||
|         } | ||||
|         public void PrimRectUV(Vector2 a, Vector2 b, Vector2 uv_a, Vector2 uv_b, uint col) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_PrimRectUV((ImDrawList*)(NativePtr), a, b, uv_a, uv_b, col); | ||||
|         } | ||||
|         public void PrimReserve(int idx_count, int vtx_count) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_PrimReserve((ImDrawList*)(NativePtr), idx_count, vtx_count); | ||||
|         } | ||||
|         public void PrimUnreserve(int idx_count, int vtx_count) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_PrimUnreserve((ImDrawList*)(NativePtr), idx_count, vtx_count); | ||||
|         } | ||||
|         public void PrimVtx(Vector2 pos, Vector2 uv, uint col) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_PrimVtx((ImDrawList*)(NativePtr), pos, uv, col); | ||||
|         } | ||||
|         public void PrimWriteIdx(ushort idx) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_PrimWriteIdx((ImDrawList*)(NativePtr), idx); | ||||
|         } | ||||
|         public void PrimWriteVtx(Vector2 pos, Vector2 uv, uint col) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_PrimWriteVtx((ImDrawList*)(NativePtr), pos, uv, col); | ||||
|         } | ||||
|         public void PushClipRect(Vector2 clip_rect_min, Vector2 clip_rect_max) | ||||
|         { | ||||
|             byte intersect_with_current_clip_rect = 0; | ||||
|             ImGuiNative.ImDrawList_PushClipRect((ImDrawList*)(NativePtr), clip_rect_min, clip_rect_max, intersect_with_current_clip_rect); | ||||
|         } | ||||
|         public void PushClipRect(Vector2 clip_rect_min, Vector2 clip_rect_max, bool intersect_with_current_clip_rect) | ||||
|         { | ||||
|             byte native_intersect_with_current_clip_rect = intersect_with_current_clip_rect ? (byte)1 : (byte)0; | ||||
|             ImGuiNative.ImDrawList_PushClipRect((ImDrawList*)(NativePtr), clip_rect_min, clip_rect_max, native_intersect_with_current_clip_rect); | ||||
|         } | ||||
|         public void PushClipRectFullScreen() | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_PushClipRectFullScreen((ImDrawList*)(NativePtr)); | ||||
|         } | ||||
|         public void PushTextureID(IntPtr texture_id) | ||||
|         { | ||||
|             ImGuiNative.ImDrawList_PushTextureID((ImDrawList*)(NativePtr), texture_id); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										12
									
								
								lib/ImGui.NET/Generated/ImDrawListFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								lib/ImGui.NET/Generated/ImDrawListFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [System.Flags] | ||||
|     public enum ImDrawListFlags | ||||
|     { | ||||
|         None = 0, | ||||
|         AntiAliasedLines = 1, | ||||
|         AntiAliasedLinesUseTex = 2, | ||||
|         AntiAliasedFill = 4, | ||||
|         AllowVtxOffset = 8, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										53
									
								
								lib/ImGui.NET/Generated/ImDrawListSplitter.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								lib/ImGui.NET/Generated/ImDrawListSplitter.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,53 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImDrawListSplitter | ||||
|     { | ||||
|         public int _Current; | ||||
|         public int _Count; | ||||
|         public ImVector _Channels; | ||||
|     } | ||||
|     public unsafe partial struct ImDrawListSplitterPtr | ||||
|     { | ||||
|         public ImDrawListSplitter* NativePtr { get; } | ||||
|         public ImDrawListSplitterPtr(ImDrawListSplitter* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImDrawListSplitterPtr(IntPtr nativePtr) => NativePtr = (ImDrawListSplitter*)nativePtr; | ||||
|         public static implicit operator ImDrawListSplitterPtr(ImDrawListSplitter* nativePtr) => new ImDrawListSplitterPtr(nativePtr); | ||||
|         public static implicit operator ImDrawListSplitter* (ImDrawListSplitterPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImDrawListSplitterPtr(IntPtr nativePtr) => new ImDrawListSplitterPtr(nativePtr); | ||||
|         public ref int _Current => ref Unsafe.AsRef<int>(&NativePtr->_Current); | ||||
|         public ref int _Count => ref Unsafe.AsRef<int>(&NativePtr->_Count); | ||||
|         public ImPtrVector<ImDrawChannelPtr> _Channels => new ImPtrVector<ImDrawChannelPtr>(NativePtr->_Channels, Unsafe.SizeOf<ImDrawChannel>()); | ||||
|         public void Clear() | ||||
|         { | ||||
|             ImGuiNative.ImDrawListSplitter_Clear((ImDrawListSplitter*)(NativePtr)); | ||||
|         } | ||||
|         public void ClearFreeMemory() | ||||
|         { | ||||
|             ImGuiNative.ImDrawListSplitter_ClearFreeMemory((ImDrawListSplitter*)(NativePtr)); | ||||
|         } | ||||
|         public void Destroy() | ||||
|         { | ||||
|             ImGuiNative.ImDrawListSplitter_destroy((ImDrawListSplitter*)(NativePtr)); | ||||
|         } | ||||
|         public void Merge(ImDrawListPtr draw_list) | ||||
|         { | ||||
|             ImDrawList* native_draw_list = draw_list.NativePtr; | ||||
|             ImGuiNative.ImDrawListSplitter_Merge((ImDrawListSplitter*)(NativePtr), native_draw_list); | ||||
|         } | ||||
|         public void SetCurrentChannel(ImDrawListPtr draw_list, int channel_idx) | ||||
|         { | ||||
|             ImDrawList* native_draw_list = draw_list.NativePtr; | ||||
|             ImGuiNative.ImDrawListSplitter_SetCurrentChannel((ImDrawListSplitter*)(NativePtr), native_draw_list, channel_idx); | ||||
|         } | ||||
|         public void Split(ImDrawListPtr draw_list, int count) | ||||
|         { | ||||
|             ImDrawList* native_draw_list = draw_list.NativePtr; | ||||
|             ImGuiNative.ImDrawListSplitter_Split((ImDrawListSplitter*)(NativePtr), native_draw_list, count); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										26
									
								
								lib/ImGui.NET/Generated/ImDrawVert.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								lib/ImGui.NET/Generated/ImDrawVert.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImDrawVert | ||||
|     { | ||||
|         public Vector2 pos; | ||||
|         public Vector2 uv; | ||||
|         public uint col; | ||||
|     } | ||||
|     public unsafe partial struct ImDrawVertPtr | ||||
|     { | ||||
|         public ImDrawVert* NativePtr { get; } | ||||
|         public ImDrawVertPtr(ImDrawVert* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImDrawVertPtr(IntPtr nativePtr) => NativePtr = (ImDrawVert*)nativePtr; | ||||
|         public static implicit operator ImDrawVertPtr(ImDrawVert* nativePtr) => new ImDrawVertPtr(nativePtr); | ||||
|         public static implicit operator ImDrawVert* (ImDrawVertPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImDrawVertPtr(IntPtr nativePtr) => new ImDrawVertPtr(nativePtr); | ||||
|         public ref Vector2 pos => ref Unsafe.AsRef<Vector2>(&NativePtr->pos); | ||||
|         public ref Vector2 uv => ref Unsafe.AsRef<Vector2>(&NativePtr->uv); | ||||
|         public ref uint col => ref Unsafe.AsRef<uint>(&NativePtr->col); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										442
									
								
								lib/ImGui.NET/Generated/ImFont.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										442
									
								
								lib/ImGui.NET/Generated/ImFont.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,442 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImFont | ||||
|     { | ||||
|         public ImVector IndexAdvanceX; | ||||
|         public float FallbackAdvanceX; | ||||
|         public float FontSize; | ||||
|         public ImVector IndexLookup; | ||||
|         public ImVector Glyphs; | ||||
|         public ImFontGlyph* FallbackGlyph; | ||||
|         public ImFontAtlas* ContainerAtlas; | ||||
|         public ImFontConfig* ConfigData; | ||||
|         public short ConfigDataCount; | ||||
|         public ushort FallbackChar; | ||||
|         public ushort EllipsisChar; | ||||
|         public short EllipsisCharCount; | ||||
|         public float EllipsisWidth; | ||||
|         public float EllipsisCharStep; | ||||
|         public byte DirtyLookupTables; | ||||
|         public float Scale; | ||||
|         public float Ascent; | ||||
|         public float Descent; | ||||
|         public int MetricsTotalSurface; | ||||
|         public fixed byte Used4kPagesMap[2]; | ||||
|     } | ||||
|     public unsafe partial struct ImFontPtr | ||||
|     { | ||||
|         public ImFont* NativePtr { get; } | ||||
|         public ImFontPtr(ImFont* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImFontPtr(IntPtr nativePtr) => NativePtr = (ImFont*)nativePtr; | ||||
|         public static implicit operator ImFontPtr(ImFont* nativePtr) => new ImFontPtr(nativePtr); | ||||
|         public static implicit operator ImFont* (ImFontPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImFontPtr(IntPtr nativePtr) => new ImFontPtr(nativePtr); | ||||
|         public ImVector<float> IndexAdvanceX => new ImVector<float>(NativePtr->IndexAdvanceX); | ||||
|         public ref float FallbackAdvanceX => ref Unsafe.AsRef<float>(&NativePtr->FallbackAdvanceX); | ||||
|         public ref float FontSize => ref Unsafe.AsRef<float>(&NativePtr->FontSize); | ||||
|         public ImVector<ushort> IndexLookup => new ImVector<ushort>(NativePtr->IndexLookup); | ||||
|         public ImPtrVector<ImFontGlyphPtr> Glyphs => new ImPtrVector<ImFontGlyphPtr>(NativePtr->Glyphs, Unsafe.SizeOf<ImFontGlyph>()); | ||||
|         public ImFontGlyphPtr FallbackGlyph => new ImFontGlyphPtr(NativePtr->FallbackGlyph); | ||||
|         public ImFontAtlasPtr ContainerAtlas => new ImFontAtlasPtr(NativePtr->ContainerAtlas); | ||||
|         public ImFontConfigPtr ConfigData => new ImFontConfigPtr(NativePtr->ConfigData); | ||||
|         public ref short ConfigDataCount => ref Unsafe.AsRef<short>(&NativePtr->ConfigDataCount); | ||||
|         public ref ushort FallbackChar => ref Unsafe.AsRef<ushort>(&NativePtr->FallbackChar); | ||||
|         public ref ushort EllipsisChar => ref Unsafe.AsRef<ushort>(&NativePtr->EllipsisChar); | ||||
|         public ref short EllipsisCharCount => ref Unsafe.AsRef<short>(&NativePtr->EllipsisCharCount); | ||||
|         public ref float EllipsisWidth => ref Unsafe.AsRef<float>(&NativePtr->EllipsisWidth); | ||||
|         public ref float EllipsisCharStep => ref Unsafe.AsRef<float>(&NativePtr->EllipsisCharStep); | ||||
|         public ref bool DirtyLookupTables => ref Unsafe.AsRef<bool>(&NativePtr->DirtyLookupTables); | ||||
|         public ref float Scale => ref Unsafe.AsRef<float>(&NativePtr->Scale); | ||||
|         public ref float Ascent => ref Unsafe.AsRef<float>(&NativePtr->Ascent); | ||||
|         public ref float Descent => ref Unsafe.AsRef<float>(&NativePtr->Descent); | ||||
|         public ref int MetricsTotalSurface => ref Unsafe.AsRef<int>(&NativePtr->MetricsTotalSurface); | ||||
|         public RangeAccessor<byte> Used4kPagesMap => new RangeAccessor<byte>(NativePtr->Used4kPagesMap, 2); | ||||
|         public void AddGlyph(ImFontConfigPtr src_cfg, ushort c, float x0, float y0, float x1, float y1, float u0, float v0, float u1, float v1, float advance_x) | ||||
|         { | ||||
|             ImFontConfig* native_src_cfg = src_cfg.NativePtr; | ||||
|             ImGuiNative.ImFont_AddGlyph((ImFont*)(NativePtr), native_src_cfg, c, x0, y0, x1, y1, u0, v0, u1, v1, advance_x); | ||||
|         } | ||||
|         public void AddRemapChar(ushort dst, ushort src) | ||||
|         { | ||||
|             byte overwrite_dst = 1; | ||||
|             ImGuiNative.ImFont_AddRemapChar((ImFont*)(NativePtr), dst, src, overwrite_dst); | ||||
|         } | ||||
|         public void AddRemapChar(ushort dst, ushort src, bool overwrite_dst) | ||||
|         { | ||||
|             byte native_overwrite_dst = overwrite_dst ? (byte)1 : (byte)0; | ||||
|             ImGuiNative.ImFont_AddRemapChar((ImFont*)(NativePtr), dst, src, native_overwrite_dst); | ||||
|         } | ||||
|         public void BuildLookupTable() | ||||
|         { | ||||
|             ImGuiNative.ImFont_BuildLookupTable((ImFont*)(NativePtr)); | ||||
|         } | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         public Vector2 CalcTextSizeA(float size, float max_width, float wrap_width, ReadOnlySpan<char> text_begin) | ||||
|         { | ||||
|             Vector2 __retval; | ||||
|             byte* native_text_begin; | ||||
|             int text_begin_byteCount = 0; | ||||
|                 text_begin_byteCount = Encoding.UTF8.GetByteCount(text_begin); | ||||
|                 if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_text_begin = Util.Allocate(text_begin_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_text_begin_stackBytes = stackalloc byte[text_begin_byteCount + 1]; | ||||
|                     native_text_begin = native_text_begin_stackBytes; | ||||
|                 } | ||||
|                 int native_text_begin_offset = Util.GetUtf8(text_begin, native_text_begin, text_begin_byteCount); | ||||
|                 native_text_begin[native_text_begin_offset] = 0; | ||||
|             byte** remaining = null; | ||||
|             ImGuiNative.ImFont_CalcTextSizeA(&__retval, (ImFont*)(NativePtr), size, max_width, wrap_width, native_text_begin, native_text_begin+text_begin_byteCount, remaining); | ||||
|             if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_text_begin); | ||||
|             } | ||||
|             return __retval; | ||||
|         } | ||||
| #endif | ||||
|         public Vector2 CalcTextSizeA(float size, float max_width, float wrap_width, string text_begin) | ||||
|         { | ||||
|             Vector2 __retval; | ||||
|             byte* native_text_begin; | ||||
|             int text_begin_byteCount = 0; | ||||
|                 text_begin_byteCount = Encoding.UTF8.GetByteCount(text_begin); | ||||
|                 if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_text_begin = Util.Allocate(text_begin_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_text_begin_stackBytes = stackalloc byte[text_begin_byteCount + 1]; | ||||
|                     native_text_begin = native_text_begin_stackBytes; | ||||
|                 } | ||||
|                 int native_text_begin_offset = Util.GetUtf8(text_begin, native_text_begin, text_begin_byteCount); | ||||
|                 native_text_begin[native_text_begin_offset] = 0; | ||||
|             byte** remaining = null; | ||||
|             ImGuiNative.ImFont_CalcTextSizeA(&__retval, (ImFont*)(NativePtr), size, max_width, wrap_width, native_text_begin, native_text_begin+text_begin_byteCount, remaining); | ||||
|             if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_text_begin); | ||||
|             } | ||||
|             return __retval; | ||||
|         } | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         public Vector2 CalcTextSizeA(float size, float max_width, float wrap_width, ReadOnlySpan<char> text_begin, ref byte* remaining) | ||||
|         { | ||||
|             Vector2 __retval; | ||||
|             byte* native_text_begin; | ||||
|             int text_begin_byteCount = 0; | ||||
|                 text_begin_byteCount = Encoding.UTF8.GetByteCount(text_begin); | ||||
|                 if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_text_begin = Util.Allocate(text_begin_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_text_begin_stackBytes = stackalloc byte[text_begin_byteCount + 1]; | ||||
|                     native_text_begin = native_text_begin_stackBytes; | ||||
|                 } | ||||
|                 int native_text_begin_offset = Util.GetUtf8(text_begin, native_text_begin, text_begin_byteCount); | ||||
|                 native_text_begin[native_text_begin_offset] = 0; | ||||
|             fixed (byte** native_remaining = &remaining) | ||||
|             { | ||||
|                 ImGuiNative.ImFont_CalcTextSizeA(&__retval, (ImFont*)(NativePtr), size, max_width, wrap_width, native_text_begin, native_text_begin+text_begin_byteCount, native_remaining); | ||||
|                 if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     Util.Free(native_text_begin); | ||||
|                 } | ||||
|                 return __retval; | ||||
|             } | ||||
|         } | ||||
| #endif | ||||
|         public Vector2 CalcTextSizeA(float size, float max_width, float wrap_width, string text_begin, ref byte* remaining) | ||||
|         { | ||||
|             Vector2 __retval; | ||||
|             byte* native_text_begin; | ||||
|             int text_begin_byteCount = 0; | ||||
|                 text_begin_byteCount = Encoding.UTF8.GetByteCount(text_begin); | ||||
|                 if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_text_begin = Util.Allocate(text_begin_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_text_begin_stackBytes = stackalloc byte[text_begin_byteCount + 1]; | ||||
|                     native_text_begin = native_text_begin_stackBytes; | ||||
|                 } | ||||
|                 int native_text_begin_offset = Util.GetUtf8(text_begin, native_text_begin, text_begin_byteCount); | ||||
|                 native_text_begin[native_text_begin_offset] = 0; | ||||
|             fixed (byte** native_remaining = &remaining) | ||||
|             { | ||||
|                 ImGuiNative.ImFont_CalcTextSizeA(&__retval, (ImFont*)(NativePtr), size, max_width, wrap_width, native_text_begin, native_text_begin+text_begin_byteCount, native_remaining); | ||||
|                 if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     Util.Free(native_text_begin); | ||||
|                 } | ||||
|                 return __retval; | ||||
|             } | ||||
|         } | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         public string CalcWordWrapPositionA(float scale, ReadOnlySpan<char> text, float wrap_width) | ||||
|         { | ||||
|             byte* native_text; | ||||
|             int text_byteCount = 0; | ||||
|             if (text != null) | ||||
|             { | ||||
|                 text_byteCount = Encoding.UTF8.GetByteCount(text); | ||||
|                 if (text_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_text = Util.Allocate(text_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_text_stackBytes = stackalloc byte[text_byteCount + 1]; | ||||
|                     native_text = native_text_stackBytes; | ||||
|                 } | ||||
|                 int native_text_offset = Util.GetUtf8(text, native_text, text_byteCount); | ||||
|                 native_text[native_text_offset] = 0; | ||||
|             } | ||||
|             else { native_text = null; } | ||||
|             byte* ret = ImGuiNative.ImFont_CalcWordWrapPositionA((ImFont*)(NativePtr), scale, native_text, native_text+text_byteCount, wrap_width); | ||||
|             if (text_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_text); | ||||
|             } | ||||
|             return Util.StringFromPtr(ret); | ||||
|         } | ||||
| #endif | ||||
|         public string CalcWordWrapPositionA(float scale, string text, float wrap_width) | ||||
|         { | ||||
|             byte* native_text; | ||||
|             int text_byteCount = 0; | ||||
|             if (text != null) | ||||
|             { | ||||
|                 text_byteCount = Encoding.UTF8.GetByteCount(text); | ||||
|                 if (text_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_text = Util.Allocate(text_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_text_stackBytes = stackalloc byte[text_byteCount + 1]; | ||||
|                     native_text = native_text_stackBytes; | ||||
|                 } | ||||
|                 int native_text_offset = Util.GetUtf8(text, native_text, text_byteCount); | ||||
|                 native_text[native_text_offset] = 0; | ||||
|             } | ||||
|             else { native_text = null; } | ||||
|             byte* ret = ImGuiNative.ImFont_CalcWordWrapPositionA((ImFont*)(NativePtr), scale, native_text, native_text+text_byteCount, wrap_width); | ||||
|             if (text_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_text); | ||||
|             } | ||||
|             return Util.StringFromPtr(ret); | ||||
|         } | ||||
|         public void ClearOutputData() | ||||
|         { | ||||
|             ImGuiNative.ImFont_ClearOutputData((ImFont*)(NativePtr)); | ||||
|         } | ||||
|         public void Destroy() | ||||
|         { | ||||
|             ImGuiNative.ImFont_destroy((ImFont*)(NativePtr)); | ||||
|         } | ||||
|         public ImFontGlyphPtr FindGlyph(ushort c) | ||||
|         { | ||||
|             ImFontGlyph* ret = ImGuiNative.ImFont_FindGlyph((ImFont*)(NativePtr), c); | ||||
|             return new ImFontGlyphPtr(ret); | ||||
|         } | ||||
|         public ImFontGlyphPtr FindGlyphNoFallback(ushort c) | ||||
|         { | ||||
|             ImFontGlyph* ret = ImGuiNative.ImFont_FindGlyphNoFallback((ImFont*)(NativePtr), c); | ||||
|             return new ImFontGlyphPtr(ret); | ||||
|         } | ||||
|         public float GetCharAdvance(ushort c) | ||||
|         { | ||||
|             float ret = ImGuiNative.ImFont_GetCharAdvance((ImFont*)(NativePtr), c); | ||||
|             return ret; | ||||
|         } | ||||
|         public string GetDebugName() | ||||
|         { | ||||
|             byte* ret = ImGuiNative.ImFont_GetDebugName((ImFont*)(NativePtr)); | ||||
|             return Util.StringFromPtr(ret); | ||||
|         } | ||||
|         public void GrowIndex(int new_size) | ||||
|         { | ||||
|             ImGuiNative.ImFont_GrowIndex((ImFont*)(NativePtr), new_size); | ||||
|         } | ||||
|         public bool IsLoaded() | ||||
|         { | ||||
|             byte ret = ImGuiNative.ImFont_IsLoaded((ImFont*)(NativePtr)); | ||||
|             return ret != 0; | ||||
|         } | ||||
|         public void RenderChar(ImDrawListPtr draw_list, float size, Vector2 pos, uint col, ushort c) | ||||
|         { | ||||
|             ImDrawList* native_draw_list = draw_list.NativePtr; | ||||
|             ImGuiNative.ImFont_RenderChar((ImFont*)(NativePtr), native_draw_list, size, pos, col, c); | ||||
|         } | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         public void RenderText(ImDrawListPtr draw_list, float size, Vector2 pos, uint col, Vector4 clip_rect, ReadOnlySpan<char> text_begin) | ||||
|         { | ||||
|             ImDrawList* native_draw_list = draw_list.NativePtr; | ||||
|             byte* native_text_begin; | ||||
|             int text_begin_byteCount = 0; | ||||
|                 text_begin_byteCount = Encoding.UTF8.GetByteCount(text_begin); | ||||
|                 if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_text_begin = Util.Allocate(text_begin_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_text_begin_stackBytes = stackalloc byte[text_begin_byteCount + 1]; | ||||
|                     native_text_begin = native_text_begin_stackBytes; | ||||
|                 } | ||||
|                 int native_text_begin_offset = Util.GetUtf8(text_begin, native_text_begin, text_begin_byteCount); | ||||
|                 native_text_begin[native_text_begin_offset] = 0; | ||||
|             float wrap_width = 0.0f; | ||||
|             byte cpu_fine_clip = 0; | ||||
|             ImGuiNative.ImFont_RenderText((ImFont*)(NativePtr), native_draw_list, size, pos, col, clip_rect, native_text_begin, native_text_begin+text_begin_byteCount, wrap_width, cpu_fine_clip); | ||||
|             if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_text_begin); | ||||
|             } | ||||
|         } | ||||
| #endif | ||||
|         public void RenderText(ImDrawListPtr draw_list, float size, Vector2 pos, uint col, Vector4 clip_rect, string text_begin) | ||||
|         { | ||||
|             ImDrawList* native_draw_list = draw_list.NativePtr; | ||||
|             byte* native_text_begin; | ||||
|             int text_begin_byteCount = 0; | ||||
|                 text_begin_byteCount = Encoding.UTF8.GetByteCount(text_begin); | ||||
|                 if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_text_begin = Util.Allocate(text_begin_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_text_begin_stackBytes = stackalloc byte[text_begin_byteCount + 1]; | ||||
|                     native_text_begin = native_text_begin_stackBytes; | ||||
|                 } | ||||
|                 int native_text_begin_offset = Util.GetUtf8(text_begin, native_text_begin, text_begin_byteCount); | ||||
|                 native_text_begin[native_text_begin_offset] = 0; | ||||
|             float wrap_width = 0.0f; | ||||
|             byte cpu_fine_clip = 0; | ||||
|             ImGuiNative.ImFont_RenderText((ImFont*)(NativePtr), native_draw_list, size, pos, col, clip_rect, native_text_begin, native_text_begin+text_begin_byteCount, wrap_width, cpu_fine_clip); | ||||
|             if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_text_begin); | ||||
|             } | ||||
|         } | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         public void RenderText(ImDrawListPtr draw_list, float size, Vector2 pos, uint col, Vector4 clip_rect, ReadOnlySpan<char> text_begin, float wrap_width) | ||||
|         { | ||||
|             ImDrawList* native_draw_list = draw_list.NativePtr; | ||||
|             byte* native_text_begin; | ||||
|             int text_begin_byteCount = 0; | ||||
|                 text_begin_byteCount = Encoding.UTF8.GetByteCount(text_begin); | ||||
|                 if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_text_begin = Util.Allocate(text_begin_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_text_begin_stackBytes = stackalloc byte[text_begin_byteCount + 1]; | ||||
|                     native_text_begin = native_text_begin_stackBytes; | ||||
|                 } | ||||
|                 int native_text_begin_offset = Util.GetUtf8(text_begin, native_text_begin, text_begin_byteCount); | ||||
|                 native_text_begin[native_text_begin_offset] = 0; | ||||
|             byte cpu_fine_clip = 0; | ||||
|             ImGuiNative.ImFont_RenderText((ImFont*)(NativePtr), native_draw_list, size, pos, col, clip_rect, native_text_begin, native_text_begin+text_begin_byteCount, wrap_width, cpu_fine_clip); | ||||
|             if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_text_begin); | ||||
|             } | ||||
|         } | ||||
| #endif | ||||
|         public void RenderText(ImDrawListPtr draw_list, float size, Vector2 pos, uint col, Vector4 clip_rect, string text_begin, float wrap_width) | ||||
|         { | ||||
|             ImDrawList* native_draw_list = draw_list.NativePtr; | ||||
|             byte* native_text_begin; | ||||
|             int text_begin_byteCount = 0; | ||||
|                 text_begin_byteCount = Encoding.UTF8.GetByteCount(text_begin); | ||||
|                 if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_text_begin = Util.Allocate(text_begin_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_text_begin_stackBytes = stackalloc byte[text_begin_byteCount + 1]; | ||||
|                     native_text_begin = native_text_begin_stackBytes; | ||||
|                 } | ||||
|                 int native_text_begin_offset = Util.GetUtf8(text_begin, native_text_begin, text_begin_byteCount); | ||||
|                 native_text_begin[native_text_begin_offset] = 0; | ||||
|             byte cpu_fine_clip = 0; | ||||
|             ImGuiNative.ImFont_RenderText((ImFont*)(NativePtr), native_draw_list, size, pos, col, clip_rect, native_text_begin, native_text_begin+text_begin_byteCount, wrap_width, cpu_fine_clip); | ||||
|             if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_text_begin); | ||||
|             } | ||||
|         } | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         public void RenderText(ImDrawListPtr draw_list, float size, Vector2 pos, uint col, Vector4 clip_rect, ReadOnlySpan<char> text_begin, float wrap_width, bool cpu_fine_clip) | ||||
|         { | ||||
|             ImDrawList* native_draw_list = draw_list.NativePtr; | ||||
|             byte* native_text_begin; | ||||
|             int text_begin_byteCount = 0; | ||||
|                 text_begin_byteCount = Encoding.UTF8.GetByteCount(text_begin); | ||||
|                 if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_text_begin = Util.Allocate(text_begin_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_text_begin_stackBytes = stackalloc byte[text_begin_byteCount + 1]; | ||||
|                     native_text_begin = native_text_begin_stackBytes; | ||||
|                 } | ||||
|                 int native_text_begin_offset = Util.GetUtf8(text_begin, native_text_begin, text_begin_byteCount); | ||||
|                 native_text_begin[native_text_begin_offset] = 0; | ||||
|             byte native_cpu_fine_clip = cpu_fine_clip ? (byte)1 : (byte)0; | ||||
|             ImGuiNative.ImFont_RenderText((ImFont*)(NativePtr), native_draw_list, size, pos, col, clip_rect, native_text_begin, native_text_begin+text_begin_byteCount, wrap_width, native_cpu_fine_clip); | ||||
|             if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_text_begin); | ||||
|             } | ||||
|         } | ||||
| #endif | ||||
|         public void RenderText(ImDrawListPtr draw_list, float size, Vector2 pos, uint col, Vector4 clip_rect, string text_begin, float wrap_width, bool cpu_fine_clip) | ||||
|         { | ||||
|             ImDrawList* native_draw_list = draw_list.NativePtr; | ||||
|             byte* native_text_begin; | ||||
|             int text_begin_byteCount = 0; | ||||
|                 text_begin_byteCount = Encoding.UTF8.GetByteCount(text_begin); | ||||
|                 if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_text_begin = Util.Allocate(text_begin_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_text_begin_stackBytes = stackalloc byte[text_begin_byteCount + 1]; | ||||
|                     native_text_begin = native_text_begin_stackBytes; | ||||
|                 } | ||||
|                 int native_text_begin_offset = Util.GetUtf8(text_begin, native_text_begin, text_begin_byteCount); | ||||
|                 native_text_begin[native_text_begin_offset] = 0; | ||||
|             byte native_cpu_fine_clip = cpu_fine_clip ? (byte)1 : (byte)0; | ||||
|             ImGuiNative.ImFont_RenderText((ImFont*)(NativePtr), native_draw_list, size, pos, col, clip_rect, native_text_begin, native_text_begin+text_begin_byteCount, wrap_width, native_cpu_fine_clip); | ||||
|             if (text_begin_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_text_begin); | ||||
|             } | ||||
|         } | ||||
|         public void SetGlyphVisible(ushort c, bool visible) | ||||
|         { | ||||
|             byte native_visible = visible ? (byte)1 : (byte)0; | ||||
|             ImGuiNative.ImFont_SetGlyphVisible((ImFont*)(NativePtr), c, native_visible); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										803
									
								
								lib/ImGui.NET/Generated/ImFontAtlas.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										803
									
								
								lib/ImGui.NET/Generated/ImFontAtlas.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,803 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImFontAtlas | ||||
|     { | ||||
|         public ImFontAtlasFlags Flags; | ||||
|         public IntPtr TexID; | ||||
|         public int TexDesiredWidth; | ||||
|         public int TexGlyphPadding; | ||||
|         public byte Locked; | ||||
|         public void* UserData; | ||||
|         public byte TexReady; | ||||
|         public byte TexPixelsUseColors; | ||||
|         public byte* TexPixelsAlpha8; | ||||
|         public uint* TexPixelsRGBA32; | ||||
|         public int TexWidth; | ||||
|         public int TexHeight; | ||||
|         public Vector2 TexUvScale; | ||||
|         public Vector2 TexUvWhitePixel; | ||||
|         public ImVector Fonts; | ||||
|         public ImVector CustomRects; | ||||
|         public ImVector ConfigData; | ||||
|         public Vector4 TexUvLines_0; | ||||
|         public Vector4 TexUvLines_1; | ||||
|         public Vector4 TexUvLines_2; | ||||
|         public Vector4 TexUvLines_3; | ||||
|         public Vector4 TexUvLines_4; | ||||
|         public Vector4 TexUvLines_5; | ||||
|         public Vector4 TexUvLines_6; | ||||
|         public Vector4 TexUvLines_7; | ||||
|         public Vector4 TexUvLines_8; | ||||
|         public Vector4 TexUvLines_9; | ||||
|         public Vector4 TexUvLines_10; | ||||
|         public Vector4 TexUvLines_11; | ||||
|         public Vector4 TexUvLines_12; | ||||
|         public Vector4 TexUvLines_13; | ||||
|         public Vector4 TexUvLines_14; | ||||
|         public Vector4 TexUvLines_15; | ||||
|         public Vector4 TexUvLines_16; | ||||
|         public Vector4 TexUvLines_17; | ||||
|         public Vector4 TexUvLines_18; | ||||
|         public Vector4 TexUvLines_19; | ||||
|         public Vector4 TexUvLines_20; | ||||
|         public Vector4 TexUvLines_21; | ||||
|         public Vector4 TexUvLines_22; | ||||
|         public Vector4 TexUvLines_23; | ||||
|         public Vector4 TexUvLines_24; | ||||
|         public Vector4 TexUvLines_25; | ||||
|         public Vector4 TexUvLines_26; | ||||
|         public Vector4 TexUvLines_27; | ||||
|         public Vector4 TexUvLines_28; | ||||
|         public Vector4 TexUvLines_29; | ||||
|         public Vector4 TexUvLines_30; | ||||
|         public Vector4 TexUvLines_31; | ||||
|         public Vector4 TexUvLines_32; | ||||
|         public Vector4 TexUvLines_33; | ||||
|         public Vector4 TexUvLines_34; | ||||
|         public Vector4 TexUvLines_35; | ||||
|         public Vector4 TexUvLines_36; | ||||
|         public Vector4 TexUvLines_37; | ||||
|         public Vector4 TexUvLines_38; | ||||
|         public Vector4 TexUvLines_39; | ||||
|         public Vector4 TexUvLines_40; | ||||
|         public Vector4 TexUvLines_41; | ||||
|         public Vector4 TexUvLines_42; | ||||
|         public Vector4 TexUvLines_43; | ||||
|         public Vector4 TexUvLines_44; | ||||
|         public Vector4 TexUvLines_45; | ||||
|         public Vector4 TexUvLines_46; | ||||
|         public Vector4 TexUvLines_47; | ||||
|         public Vector4 TexUvLines_48; | ||||
|         public Vector4 TexUvLines_49; | ||||
|         public Vector4 TexUvLines_50; | ||||
|         public Vector4 TexUvLines_51; | ||||
|         public Vector4 TexUvLines_52; | ||||
|         public Vector4 TexUvLines_53; | ||||
|         public Vector4 TexUvLines_54; | ||||
|         public Vector4 TexUvLines_55; | ||||
|         public Vector4 TexUvLines_56; | ||||
|         public Vector4 TexUvLines_57; | ||||
|         public Vector4 TexUvLines_58; | ||||
|         public Vector4 TexUvLines_59; | ||||
|         public Vector4 TexUvLines_60; | ||||
|         public Vector4 TexUvLines_61; | ||||
|         public Vector4 TexUvLines_62; | ||||
|         public Vector4 TexUvLines_63; | ||||
|         public IntPtr* FontBuilderIO; | ||||
|         public uint FontBuilderFlags; | ||||
|         public int PackIdMouseCursors; | ||||
|         public int PackIdLines; | ||||
|     } | ||||
|     public unsafe partial struct ImFontAtlasPtr | ||||
|     { | ||||
|         public ImFontAtlas* NativePtr { get; } | ||||
|         public ImFontAtlasPtr(ImFontAtlas* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImFontAtlasPtr(IntPtr nativePtr) => NativePtr = (ImFontAtlas*)nativePtr; | ||||
|         public static implicit operator ImFontAtlasPtr(ImFontAtlas* nativePtr) => new ImFontAtlasPtr(nativePtr); | ||||
|         public static implicit operator ImFontAtlas* (ImFontAtlasPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImFontAtlasPtr(IntPtr nativePtr) => new ImFontAtlasPtr(nativePtr); | ||||
|         public ref ImFontAtlasFlags Flags => ref Unsafe.AsRef<ImFontAtlasFlags>(&NativePtr->Flags); | ||||
|         public ref IntPtr TexID => ref Unsafe.AsRef<IntPtr>(&NativePtr->TexID); | ||||
|         public ref int TexDesiredWidth => ref Unsafe.AsRef<int>(&NativePtr->TexDesiredWidth); | ||||
|         public ref int TexGlyphPadding => ref Unsafe.AsRef<int>(&NativePtr->TexGlyphPadding); | ||||
|         public ref bool Locked => ref Unsafe.AsRef<bool>(&NativePtr->Locked); | ||||
|         public IntPtr UserData { get => (IntPtr)NativePtr->UserData; set => NativePtr->UserData = (void*)value; } | ||||
|         public ref bool TexReady => ref Unsafe.AsRef<bool>(&NativePtr->TexReady); | ||||
|         public ref bool TexPixelsUseColors => ref Unsafe.AsRef<bool>(&NativePtr->TexPixelsUseColors); | ||||
|         public IntPtr TexPixelsAlpha8 { get => (IntPtr)NativePtr->TexPixelsAlpha8; set => NativePtr->TexPixelsAlpha8 = (byte*)value; } | ||||
|         public IntPtr TexPixelsRGBA32 { get => (IntPtr)NativePtr->TexPixelsRGBA32; set => NativePtr->TexPixelsRGBA32 = (uint*)value; } | ||||
|         public ref int TexWidth => ref Unsafe.AsRef<int>(&NativePtr->TexWidth); | ||||
|         public ref int TexHeight => ref Unsafe.AsRef<int>(&NativePtr->TexHeight); | ||||
|         public ref Vector2 TexUvScale => ref Unsafe.AsRef<Vector2>(&NativePtr->TexUvScale); | ||||
|         public ref Vector2 TexUvWhitePixel => ref Unsafe.AsRef<Vector2>(&NativePtr->TexUvWhitePixel); | ||||
|         public ImVector<ImFontPtr> Fonts => new ImVector<ImFontPtr>(NativePtr->Fonts); | ||||
|         public ImPtrVector<ImFontAtlasCustomRectPtr> CustomRects => new ImPtrVector<ImFontAtlasCustomRectPtr>(NativePtr->CustomRects, Unsafe.SizeOf<ImFontAtlasCustomRect>()); | ||||
|         public ImPtrVector<ImFontConfigPtr> ConfigData => new ImPtrVector<ImFontConfigPtr>(NativePtr->ConfigData, Unsafe.SizeOf<ImFontConfig>()); | ||||
|         public RangeAccessor<Vector4> TexUvLines => new RangeAccessor<Vector4>(&NativePtr->TexUvLines_0, 64); | ||||
|         public IntPtr FontBuilderIO { get => (IntPtr)NativePtr->FontBuilderIO; set => NativePtr->FontBuilderIO = (IntPtr*)value; } | ||||
|         public ref uint FontBuilderFlags => ref Unsafe.AsRef<uint>(&NativePtr->FontBuilderFlags); | ||||
|         public ref int PackIdMouseCursors => ref Unsafe.AsRef<int>(&NativePtr->PackIdMouseCursors); | ||||
|         public ref int PackIdLines => ref Unsafe.AsRef<int>(&NativePtr->PackIdLines); | ||||
|         public int AddCustomRectFontGlyph(ImFontPtr font, ushort id, int width, int height, float advance_x) | ||||
|         { | ||||
|             ImFont* native_font = font.NativePtr; | ||||
|             Vector2 offset = new Vector2(); | ||||
|             int ret = ImGuiNative.ImFontAtlas_AddCustomRectFontGlyph((ImFontAtlas*)(NativePtr), native_font, id, width, height, advance_x, offset); | ||||
|             return ret; | ||||
|         } | ||||
|         public int AddCustomRectFontGlyph(ImFontPtr font, ushort id, int width, int height, float advance_x, Vector2 offset) | ||||
|         { | ||||
|             ImFont* native_font = font.NativePtr; | ||||
|             int ret = ImGuiNative.ImFontAtlas_AddCustomRectFontGlyph((ImFontAtlas*)(NativePtr), native_font, id, width, height, advance_x, offset); | ||||
|             return ret; | ||||
|         } | ||||
|         public int AddCustomRectRegular(int width, int height) | ||||
|         { | ||||
|             int ret = ImGuiNative.ImFontAtlas_AddCustomRectRegular((ImFontAtlas*)(NativePtr), width, height); | ||||
|             return ret; | ||||
|         } | ||||
|         public ImFontPtr AddFont(ImFontConfigPtr font_cfg) | ||||
|         { | ||||
|             ImFontConfig* native_font_cfg = font_cfg.NativePtr; | ||||
|             ImFont* ret = ImGuiNative.ImFontAtlas_AddFont((ImFontAtlas*)(NativePtr), native_font_cfg); | ||||
|             return new ImFontPtr(ret); | ||||
|         } | ||||
|         public ImFontPtr AddFontDefault() | ||||
|         { | ||||
|             ImFontConfig* font_cfg = null; | ||||
|             ImFont* ret = ImGuiNative.ImFontAtlas_AddFontDefault((ImFontAtlas*)(NativePtr), font_cfg); | ||||
|             return new ImFontPtr(ret); | ||||
|         } | ||||
|         public ImFontPtr AddFontDefault(ImFontConfigPtr font_cfg) | ||||
|         { | ||||
|             ImFontConfig* native_font_cfg = font_cfg.NativePtr; | ||||
|             ImFont* ret = ImGuiNative.ImFontAtlas_AddFontDefault((ImFontAtlas*)(NativePtr), native_font_cfg); | ||||
|             return new ImFontPtr(ret); | ||||
|         } | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         public ImFontPtr AddFontFromFileTTF(ReadOnlySpan<char> filename, float size_pixels) | ||||
|         { | ||||
|             byte* native_filename; | ||||
|             int filename_byteCount = 0; | ||||
|             if (filename != null) | ||||
|             { | ||||
|                 filename_byteCount = Encoding.UTF8.GetByteCount(filename); | ||||
|                 if (filename_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_filename = Util.Allocate(filename_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_filename_stackBytes = stackalloc byte[filename_byteCount + 1]; | ||||
|                     native_filename = native_filename_stackBytes; | ||||
|                 } | ||||
|                 int native_filename_offset = Util.GetUtf8(filename, native_filename, filename_byteCount); | ||||
|                 native_filename[native_filename_offset] = 0; | ||||
|             } | ||||
|             else { native_filename = null; } | ||||
|             ImFontConfig* font_cfg = null; | ||||
|             ushort* glyph_ranges = null; | ||||
|             ImFont* ret = ImGuiNative.ImFontAtlas_AddFontFromFileTTF((ImFontAtlas*)(NativePtr), native_filename, size_pixels, font_cfg, glyph_ranges); | ||||
|             if (filename_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_filename); | ||||
|             } | ||||
|             return new ImFontPtr(ret); | ||||
|         } | ||||
| #endif | ||||
|         public ImFontPtr AddFontFromFileTTF(string filename, float size_pixels) | ||||
|         { | ||||
|             byte* native_filename; | ||||
|             int filename_byteCount = 0; | ||||
|             if (filename != null) | ||||
|             { | ||||
|                 filename_byteCount = Encoding.UTF8.GetByteCount(filename); | ||||
|                 if (filename_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_filename = Util.Allocate(filename_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_filename_stackBytes = stackalloc byte[filename_byteCount + 1]; | ||||
|                     native_filename = native_filename_stackBytes; | ||||
|                 } | ||||
|                 int native_filename_offset = Util.GetUtf8(filename, native_filename, filename_byteCount); | ||||
|                 native_filename[native_filename_offset] = 0; | ||||
|             } | ||||
|             else { native_filename = null; } | ||||
|             ImFontConfig* font_cfg = null; | ||||
|             ushort* glyph_ranges = null; | ||||
|             ImFont* ret = ImGuiNative.ImFontAtlas_AddFontFromFileTTF((ImFontAtlas*)(NativePtr), native_filename, size_pixels, font_cfg, glyph_ranges); | ||||
|             if (filename_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_filename); | ||||
|             } | ||||
|             return new ImFontPtr(ret); | ||||
|         } | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         public ImFontPtr AddFontFromFileTTF(ReadOnlySpan<char> filename, float size_pixels, ImFontConfigPtr font_cfg) | ||||
|         { | ||||
|             byte* native_filename; | ||||
|             int filename_byteCount = 0; | ||||
|             if (filename != null) | ||||
|             { | ||||
|                 filename_byteCount = Encoding.UTF8.GetByteCount(filename); | ||||
|                 if (filename_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_filename = Util.Allocate(filename_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_filename_stackBytes = stackalloc byte[filename_byteCount + 1]; | ||||
|                     native_filename = native_filename_stackBytes; | ||||
|                 } | ||||
|                 int native_filename_offset = Util.GetUtf8(filename, native_filename, filename_byteCount); | ||||
|                 native_filename[native_filename_offset] = 0; | ||||
|             } | ||||
|             else { native_filename = null; } | ||||
|             ImFontConfig* native_font_cfg = font_cfg.NativePtr; | ||||
|             ushort* glyph_ranges = null; | ||||
|             ImFont* ret = ImGuiNative.ImFontAtlas_AddFontFromFileTTF((ImFontAtlas*)(NativePtr), native_filename, size_pixels, native_font_cfg, glyph_ranges); | ||||
|             if (filename_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_filename); | ||||
|             } | ||||
|             return new ImFontPtr(ret); | ||||
|         } | ||||
| #endif | ||||
|         public ImFontPtr AddFontFromFileTTF(string filename, float size_pixels, ImFontConfigPtr font_cfg) | ||||
|         { | ||||
|             byte* native_filename; | ||||
|             int filename_byteCount = 0; | ||||
|             if (filename != null) | ||||
|             { | ||||
|                 filename_byteCount = Encoding.UTF8.GetByteCount(filename); | ||||
|                 if (filename_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_filename = Util.Allocate(filename_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_filename_stackBytes = stackalloc byte[filename_byteCount + 1]; | ||||
|                     native_filename = native_filename_stackBytes; | ||||
|                 } | ||||
|                 int native_filename_offset = Util.GetUtf8(filename, native_filename, filename_byteCount); | ||||
|                 native_filename[native_filename_offset] = 0; | ||||
|             } | ||||
|             else { native_filename = null; } | ||||
|             ImFontConfig* native_font_cfg = font_cfg.NativePtr; | ||||
|             ushort* glyph_ranges = null; | ||||
|             ImFont* ret = ImGuiNative.ImFontAtlas_AddFontFromFileTTF((ImFontAtlas*)(NativePtr), native_filename, size_pixels, native_font_cfg, glyph_ranges); | ||||
|             if (filename_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_filename); | ||||
|             } | ||||
|             return new ImFontPtr(ret); | ||||
|         } | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         public ImFontPtr AddFontFromFileTTF(ReadOnlySpan<char> filename, float size_pixels, ImFontConfigPtr font_cfg, IntPtr glyph_ranges) | ||||
|         { | ||||
|             byte* native_filename; | ||||
|             int filename_byteCount = 0; | ||||
|             if (filename != null) | ||||
|             { | ||||
|                 filename_byteCount = Encoding.UTF8.GetByteCount(filename); | ||||
|                 if (filename_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_filename = Util.Allocate(filename_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_filename_stackBytes = stackalloc byte[filename_byteCount + 1]; | ||||
|                     native_filename = native_filename_stackBytes; | ||||
|                 } | ||||
|                 int native_filename_offset = Util.GetUtf8(filename, native_filename, filename_byteCount); | ||||
|                 native_filename[native_filename_offset] = 0; | ||||
|             } | ||||
|             else { native_filename = null; } | ||||
|             ImFontConfig* native_font_cfg = font_cfg.NativePtr; | ||||
|             ushort* native_glyph_ranges = (ushort*)glyph_ranges.ToPointer(); | ||||
|             ImFont* ret = ImGuiNative.ImFontAtlas_AddFontFromFileTTF((ImFontAtlas*)(NativePtr), native_filename, size_pixels, native_font_cfg, native_glyph_ranges); | ||||
|             if (filename_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_filename); | ||||
|             } | ||||
|             return new ImFontPtr(ret); | ||||
|         } | ||||
| #endif | ||||
|         public ImFontPtr AddFontFromFileTTF(string filename, float size_pixels, ImFontConfigPtr font_cfg, IntPtr glyph_ranges) | ||||
|         { | ||||
|             byte* native_filename; | ||||
|             int filename_byteCount = 0; | ||||
|             if (filename != null) | ||||
|             { | ||||
|                 filename_byteCount = Encoding.UTF8.GetByteCount(filename); | ||||
|                 if (filename_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_filename = Util.Allocate(filename_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_filename_stackBytes = stackalloc byte[filename_byteCount + 1]; | ||||
|                     native_filename = native_filename_stackBytes; | ||||
|                 } | ||||
|                 int native_filename_offset = Util.GetUtf8(filename, native_filename, filename_byteCount); | ||||
|                 native_filename[native_filename_offset] = 0; | ||||
|             } | ||||
|             else { native_filename = null; } | ||||
|             ImFontConfig* native_font_cfg = font_cfg.NativePtr; | ||||
|             ushort* native_glyph_ranges = (ushort*)glyph_ranges.ToPointer(); | ||||
|             ImFont* ret = ImGuiNative.ImFontAtlas_AddFontFromFileTTF((ImFontAtlas*)(NativePtr), native_filename, size_pixels, native_font_cfg, native_glyph_ranges); | ||||
|             if (filename_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_filename); | ||||
|             } | ||||
|             return new ImFontPtr(ret); | ||||
|         } | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         public ImFontPtr AddFontFromMemoryCompressedBase85TTF(ReadOnlySpan<char> compressed_font_data_base85, float size_pixels) | ||||
|         { | ||||
|             byte* native_compressed_font_data_base85; | ||||
|             int compressed_font_data_base85_byteCount = 0; | ||||
|             if (compressed_font_data_base85 != null) | ||||
|             { | ||||
|                 compressed_font_data_base85_byteCount = Encoding.UTF8.GetByteCount(compressed_font_data_base85); | ||||
|                 if (compressed_font_data_base85_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_compressed_font_data_base85 = Util.Allocate(compressed_font_data_base85_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_compressed_font_data_base85_stackBytes = stackalloc byte[compressed_font_data_base85_byteCount + 1]; | ||||
|                     native_compressed_font_data_base85 = native_compressed_font_data_base85_stackBytes; | ||||
|                 } | ||||
|                 int native_compressed_font_data_base85_offset = Util.GetUtf8(compressed_font_data_base85, native_compressed_font_data_base85, compressed_font_data_base85_byteCount); | ||||
|                 native_compressed_font_data_base85[native_compressed_font_data_base85_offset] = 0; | ||||
|             } | ||||
|             else { native_compressed_font_data_base85 = null; } | ||||
|             ImFontConfig* font_cfg = null; | ||||
|             ushort* glyph_ranges = null; | ||||
|             ImFont* ret = ImGuiNative.ImFontAtlas_AddFontFromMemoryCompressedBase85TTF((ImFontAtlas*)(NativePtr), native_compressed_font_data_base85, size_pixels, font_cfg, glyph_ranges); | ||||
|             if (compressed_font_data_base85_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_compressed_font_data_base85); | ||||
|             } | ||||
|             return new ImFontPtr(ret); | ||||
|         } | ||||
| #endif | ||||
|         public ImFontPtr AddFontFromMemoryCompressedBase85TTF(string compressed_font_data_base85, float size_pixels) | ||||
|         { | ||||
|             byte* native_compressed_font_data_base85; | ||||
|             int compressed_font_data_base85_byteCount = 0; | ||||
|             if (compressed_font_data_base85 != null) | ||||
|             { | ||||
|                 compressed_font_data_base85_byteCount = Encoding.UTF8.GetByteCount(compressed_font_data_base85); | ||||
|                 if (compressed_font_data_base85_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_compressed_font_data_base85 = Util.Allocate(compressed_font_data_base85_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_compressed_font_data_base85_stackBytes = stackalloc byte[compressed_font_data_base85_byteCount + 1]; | ||||
|                     native_compressed_font_data_base85 = native_compressed_font_data_base85_stackBytes; | ||||
|                 } | ||||
|                 int native_compressed_font_data_base85_offset = Util.GetUtf8(compressed_font_data_base85, native_compressed_font_data_base85, compressed_font_data_base85_byteCount); | ||||
|                 native_compressed_font_data_base85[native_compressed_font_data_base85_offset] = 0; | ||||
|             } | ||||
|             else { native_compressed_font_data_base85 = null; } | ||||
|             ImFontConfig* font_cfg = null; | ||||
|             ushort* glyph_ranges = null; | ||||
|             ImFont* ret = ImGuiNative.ImFontAtlas_AddFontFromMemoryCompressedBase85TTF((ImFontAtlas*)(NativePtr), native_compressed_font_data_base85, size_pixels, font_cfg, glyph_ranges); | ||||
|             if (compressed_font_data_base85_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_compressed_font_data_base85); | ||||
|             } | ||||
|             return new ImFontPtr(ret); | ||||
|         } | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         public ImFontPtr AddFontFromMemoryCompressedBase85TTF(ReadOnlySpan<char> compressed_font_data_base85, float size_pixels, ImFontConfigPtr font_cfg) | ||||
|         { | ||||
|             byte* native_compressed_font_data_base85; | ||||
|             int compressed_font_data_base85_byteCount = 0; | ||||
|             if (compressed_font_data_base85 != null) | ||||
|             { | ||||
|                 compressed_font_data_base85_byteCount = Encoding.UTF8.GetByteCount(compressed_font_data_base85); | ||||
|                 if (compressed_font_data_base85_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_compressed_font_data_base85 = Util.Allocate(compressed_font_data_base85_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_compressed_font_data_base85_stackBytes = stackalloc byte[compressed_font_data_base85_byteCount + 1]; | ||||
|                     native_compressed_font_data_base85 = native_compressed_font_data_base85_stackBytes; | ||||
|                 } | ||||
|                 int native_compressed_font_data_base85_offset = Util.GetUtf8(compressed_font_data_base85, native_compressed_font_data_base85, compressed_font_data_base85_byteCount); | ||||
|                 native_compressed_font_data_base85[native_compressed_font_data_base85_offset] = 0; | ||||
|             } | ||||
|             else { native_compressed_font_data_base85 = null; } | ||||
|             ImFontConfig* native_font_cfg = font_cfg.NativePtr; | ||||
|             ushort* glyph_ranges = null; | ||||
|             ImFont* ret = ImGuiNative.ImFontAtlas_AddFontFromMemoryCompressedBase85TTF((ImFontAtlas*)(NativePtr), native_compressed_font_data_base85, size_pixels, native_font_cfg, glyph_ranges); | ||||
|             if (compressed_font_data_base85_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_compressed_font_data_base85); | ||||
|             } | ||||
|             return new ImFontPtr(ret); | ||||
|         } | ||||
| #endif | ||||
|         public ImFontPtr AddFontFromMemoryCompressedBase85TTF(string compressed_font_data_base85, float size_pixels, ImFontConfigPtr font_cfg) | ||||
|         { | ||||
|             byte* native_compressed_font_data_base85; | ||||
|             int compressed_font_data_base85_byteCount = 0; | ||||
|             if (compressed_font_data_base85 != null) | ||||
|             { | ||||
|                 compressed_font_data_base85_byteCount = Encoding.UTF8.GetByteCount(compressed_font_data_base85); | ||||
|                 if (compressed_font_data_base85_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_compressed_font_data_base85 = Util.Allocate(compressed_font_data_base85_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_compressed_font_data_base85_stackBytes = stackalloc byte[compressed_font_data_base85_byteCount + 1]; | ||||
|                     native_compressed_font_data_base85 = native_compressed_font_data_base85_stackBytes; | ||||
|                 } | ||||
|                 int native_compressed_font_data_base85_offset = Util.GetUtf8(compressed_font_data_base85, native_compressed_font_data_base85, compressed_font_data_base85_byteCount); | ||||
|                 native_compressed_font_data_base85[native_compressed_font_data_base85_offset] = 0; | ||||
|             } | ||||
|             else { native_compressed_font_data_base85 = null; } | ||||
|             ImFontConfig* native_font_cfg = font_cfg.NativePtr; | ||||
|             ushort* glyph_ranges = null; | ||||
|             ImFont* ret = ImGuiNative.ImFontAtlas_AddFontFromMemoryCompressedBase85TTF((ImFontAtlas*)(NativePtr), native_compressed_font_data_base85, size_pixels, native_font_cfg, glyph_ranges); | ||||
|             if (compressed_font_data_base85_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_compressed_font_data_base85); | ||||
|             } | ||||
|             return new ImFontPtr(ret); | ||||
|         } | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         public ImFontPtr AddFontFromMemoryCompressedBase85TTF(ReadOnlySpan<char> compressed_font_data_base85, float size_pixels, ImFontConfigPtr font_cfg, IntPtr glyph_ranges) | ||||
|         { | ||||
|             byte* native_compressed_font_data_base85; | ||||
|             int compressed_font_data_base85_byteCount = 0; | ||||
|             if (compressed_font_data_base85 != null) | ||||
|             { | ||||
|                 compressed_font_data_base85_byteCount = Encoding.UTF8.GetByteCount(compressed_font_data_base85); | ||||
|                 if (compressed_font_data_base85_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_compressed_font_data_base85 = Util.Allocate(compressed_font_data_base85_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_compressed_font_data_base85_stackBytes = stackalloc byte[compressed_font_data_base85_byteCount + 1]; | ||||
|                     native_compressed_font_data_base85 = native_compressed_font_data_base85_stackBytes; | ||||
|                 } | ||||
|                 int native_compressed_font_data_base85_offset = Util.GetUtf8(compressed_font_data_base85, native_compressed_font_data_base85, compressed_font_data_base85_byteCount); | ||||
|                 native_compressed_font_data_base85[native_compressed_font_data_base85_offset] = 0; | ||||
|             } | ||||
|             else { native_compressed_font_data_base85 = null; } | ||||
|             ImFontConfig* native_font_cfg = font_cfg.NativePtr; | ||||
|             ushort* native_glyph_ranges = (ushort*)glyph_ranges.ToPointer(); | ||||
|             ImFont* ret = ImGuiNative.ImFontAtlas_AddFontFromMemoryCompressedBase85TTF((ImFontAtlas*)(NativePtr), native_compressed_font_data_base85, size_pixels, native_font_cfg, native_glyph_ranges); | ||||
|             if (compressed_font_data_base85_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_compressed_font_data_base85); | ||||
|             } | ||||
|             return new ImFontPtr(ret); | ||||
|         } | ||||
| #endif | ||||
|         public ImFontPtr AddFontFromMemoryCompressedBase85TTF(string compressed_font_data_base85, float size_pixels, ImFontConfigPtr font_cfg, IntPtr glyph_ranges) | ||||
|         { | ||||
|             byte* native_compressed_font_data_base85; | ||||
|             int compressed_font_data_base85_byteCount = 0; | ||||
|             if (compressed_font_data_base85 != null) | ||||
|             { | ||||
|                 compressed_font_data_base85_byteCount = Encoding.UTF8.GetByteCount(compressed_font_data_base85); | ||||
|                 if (compressed_font_data_base85_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_compressed_font_data_base85 = Util.Allocate(compressed_font_data_base85_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_compressed_font_data_base85_stackBytes = stackalloc byte[compressed_font_data_base85_byteCount + 1]; | ||||
|                     native_compressed_font_data_base85 = native_compressed_font_data_base85_stackBytes; | ||||
|                 } | ||||
|                 int native_compressed_font_data_base85_offset = Util.GetUtf8(compressed_font_data_base85, native_compressed_font_data_base85, compressed_font_data_base85_byteCount); | ||||
|                 native_compressed_font_data_base85[native_compressed_font_data_base85_offset] = 0; | ||||
|             } | ||||
|             else { native_compressed_font_data_base85 = null; } | ||||
|             ImFontConfig* native_font_cfg = font_cfg.NativePtr; | ||||
|             ushort* native_glyph_ranges = (ushort*)glyph_ranges.ToPointer(); | ||||
|             ImFont* ret = ImGuiNative.ImFontAtlas_AddFontFromMemoryCompressedBase85TTF((ImFontAtlas*)(NativePtr), native_compressed_font_data_base85, size_pixels, native_font_cfg, native_glyph_ranges); | ||||
|             if (compressed_font_data_base85_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_compressed_font_data_base85); | ||||
|             } | ||||
|             return new ImFontPtr(ret); | ||||
|         } | ||||
|         public ImFontPtr AddFontFromMemoryCompressedTTF(IntPtr compressed_font_data, int compressed_font_data_size, float size_pixels) | ||||
|         { | ||||
|             void* native_compressed_font_data = (void*)compressed_font_data.ToPointer(); | ||||
|             ImFontConfig* font_cfg = null; | ||||
|             ushort* glyph_ranges = null; | ||||
|             ImFont* ret = ImGuiNative.ImFontAtlas_AddFontFromMemoryCompressedTTF((ImFontAtlas*)(NativePtr), native_compressed_font_data, compressed_font_data_size, size_pixels, font_cfg, glyph_ranges); | ||||
|             return new ImFontPtr(ret); | ||||
|         } | ||||
|         public ImFontPtr AddFontFromMemoryCompressedTTF(IntPtr compressed_font_data, int compressed_font_data_size, float size_pixels, ImFontConfigPtr font_cfg) | ||||
|         { | ||||
|             void* native_compressed_font_data = (void*)compressed_font_data.ToPointer(); | ||||
|             ImFontConfig* native_font_cfg = font_cfg.NativePtr; | ||||
|             ushort* glyph_ranges = null; | ||||
|             ImFont* ret = ImGuiNative.ImFontAtlas_AddFontFromMemoryCompressedTTF((ImFontAtlas*)(NativePtr), native_compressed_font_data, compressed_font_data_size, size_pixels, native_font_cfg, glyph_ranges); | ||||
|             return new ImFontPtr(ret); | ||||
|         } | ||||
|         public ImFontPtr AddFontFromMemoryCompressedTTF(IntPtr compressed_font_data, int compressed_font_data_size, float size_pixels, ImFontConfigPtr font_cfg, IntPtr glyph_ranges) | ||||
|         { | ||||
|             void* native_compressed_font_data = (void*)compressed_font_data.ToPointer(); | ||||
|             ImFontConfig* native_font_cfg = font_cfg.NativePtr; | ||||
|             ushort* native_glyph_ranges = (ushort*)glyph_ranges.ToPointer(); | ||||
|             ImFont* ret = ImGuiNative.ImFontAtlas_AddFontFromMemoryCompressedTTF((ImFontAtlas*)(NativePtr), native_compressed_font_data, compressed_font_data_size, size_pixels, native_font_cfg, native_glyph_ranges); | ||||
|             return new ImFontPtr(ret); | ||||
|         } | ||||
|         public ImFontPtr AddFontFromMemoryTTF(IntPtr font_data, int font_data_size, float size_pixels) | ||||
|         { | ||||
|             void* native_font_data = (void*)font_data.ToPointer(); | ||||
|             ImFontConfig* font_cfg = null; | ||||
|             ushort* glyph_ranges = null; | ||||
|             ImFont* ret = ImGuiNative.ImFontAtlas_AddFontFromMemoryTTF((ImFontAtlas*)(NativePtr), native_font_data, font_data_size, size_pixels, font_cfg, glyph_ranges); | ||||
|             return new ImFontPtr(ret); | ||||
|         } | ||||
|         public ImFontPtr AddFontFromMemoryTTF(IntPtr font_data, int font_data_size, float size_pixels, ImFontConfigPtr font_cfg) | ||||
|         { | ||||
|             void* native_font_data = (void*)font_data.ToPointer(); | ||||
|             ImFontConfig* native_font_cfg = font_cfg.NativePtr; | ||||
|             ushort* glyph_ranges = null; | ||||
|             ImFont* ret = ImGuiNative.ImFontAtlas_AddFontFromMemoryTTF((ImFontAtlas*)(NativePtr), native_font_data, font_data_size, size_pixels, native_font_cfg, glyph_ranges); | ||||
|             return new ImFontPtr(ret); | ||||
|         } | ||||
|         public ImFontPtr AddFontFromMemoryTTF(IntPtr font_data, int font_data_size, float size_pixels, ImFontConfigPtr font_cfg, IntPtr glyph_ranges) | ||||
|         { | ||||
|             void* native_font_data = (void*)font_data.ToPointer(); | ||||
|             ImFontConfig* native_font_cfg = font_cfg.NativePtr; | ||||
|             ushort* native_glyph_ranges = (ushort*)glyph_ranges.ToPointer(); | ||||
|             ImFont* ret = ImGuiNative.ImFontAtlas_AddFontFromMemoryTTF((ImFontAtlas*)(NativePtr), native_font_data, font_data_size, size_pixels, native_font_cfg, native_glyph_ranges); | ||||
|             return new ImFontPtr(ret); | ||||
|         } | ||||
|         public bool Build() | ||||
|         { | ||||
|             byte ret = ImGuiNative.ImFontAtlas_Build((ImFontAtlas*)(NativePtr)); | ||||
|             return ret != 0; | ||||
|         } | ||||
|         public void CalcCustomRectUV(ImFontAtlasCustomRectPtr rect, out Vector2 out_uv_min, out Vector2 out_uv_max) | ||||
|         { | ||||
|             ImFontAtlasCustomRect* native_rect = rect.NativePtr; | ||||
|             fixed (Vector2* native_out_uv_min = &out_uv_min) | ||||
|             { | ||||
|                 fixed (Vector2* native_out_uv_max = &out_uv_max) | ||||
|                 { | ||||
|                     ImGuiNative.ImFontAtlas_CalcCustomRectUV((ImFontAtlas*)(NativePtr), native_rect, native_out_uv_min, native_out_uv_max); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         public void Clear() | ||||
|         { | ||||
|             ImGuiNative.ImFontAtlas_Clear((ImFontAtlas*)(NativePtr)); | ||||
|         } | ||||
|         public void ClearFonts() | ||||
|         { | ||||
|             ImGuiNative.ImFontAtlas_ClearFonts((ImFontAtlas*)(NativePtr)); | ||||
|         } | ||||
|         public void ClearInputData() | ||||
|         { | ||||
|             ImGuiNative.ImFontAtlas_ClearInputData((ImFontAtlas*)(NativePtr)); | ||||
|         } | ||||
|         public void ClearTexData() | ||||
|         { | ||||
|             ImGuiNative.ImFontAtlas_ClearTexData((ImFontAtlas*)(NativePtr)); | ||||
|         } | ||||
|         public void Destroy() | ||||
|         { | ||||
|             ImGuiNative.ImFontAtlas_destroy((ImFontAtlas*)(NativePtr)); | ||||
|         } | ||||
|         public ImFontAtlasCustomRectPtr GetCustomRectByIndex(int index) | ||||
|         { | ||||
|             ImFontAtlasCustomRect* ret = ImGuiNative.ImFontAtlas_GetCustomRectByIndex((ImFontAtlas*)(NativePtr), index); | ||||
|             return new ImFontAtlasCustomRectPtr(ret); | ||||
|         } | ||||
|         public IntPtr GetGlyphRangesChineseFull() | ||||
|         { | ||||
|             ushort* ret = ImGuiNative.ImFontAtlas_GetGlyphRangesChineseFull((ImFontAtlas*)(NativePtr)); | ||||
|             return (IntPtr)ret; | ||||
|         } | ||||
|         public IntPtr GetGlyphRangesChineseSimplifiedCommon() | ||||
|         { | ||||
|             ushort* ret = ImGuiNative.ImFontAtlas_GetGlyphRangesChineseSimplifiedCommon((ImFontAtlas*)(NativePtr)); | ||||
|             return (IntPtr)ret; | ||||
|         } | ||||
|         public IntPtr GetGlyphRangesCyrillic() | ||||
|         { | ||||
|             ushort* ret = ImGuiNative.ImFontAtlas_GetGlyphRangesCyrillic((ImFontAtlas*)(NativePtr)); | ||||
|             return (IntPtr)ret; | ||||
|         } | ||||
|         public IntPtr GetGlyphRangesDefault() | ||||
|         { | ||||
|             ushort* ret = ImGuiNative.ImFontAtlas_GetGlyphRangesDefault((ImFontAtlas*)(NativePtr)); | ||||
|             return (IntPtr)ret; | ||||
|         } | ||||
|         public IntPtr GetGlyphRangesGreek() | ||||
|         { | ||||
|             ushort* ret = ImGuiNative.ImFontAtlas_GetGlyphRangesGreek((ImFontAtlas*)(NativePtr)); | ||||
|             return (IntPtr)ret; | ||||
|         } | ||||
|         public IntPtr GetGlyphRangesJapanese() | ||||
|         { | ||||
|             ushort* ret = ImGuiNative.ImFontAtlas_GetGlyphRangesJapanese((ImFontAtlas*)(NativePtr)); | ||||
|             return (IntPtr)ret; | ||||
|         } | ||||
|         public IntPtr GetGlyphRangesKorean() | ||||
|         { | ||||
|             ushort* ret = ImGuiNative.ImFontAtlas_GetGlyphRangesKorean((ImFontAtlas*)(NativePtr)); | ||||
|             return (IntPtr)ret; | ||||
|         } | ||||
|         public IntPtr GetGlyphRangesThai() | ||||
|         { | ||||
|             ushort* ret = ImGuiNative.ImFontAtlas_GetGlyphRangesThai((ImFontAtlas*)(NativePtr)); | ||||
|             return (IntPtr)ret; | ||||
|         } | ||||
|         public IntPtr GetGlyphRangesVietnamese() | ||||
|         { | ||||
|             ushort* ret = ImGuiNative.ImFontAtlas_GetGlyphRangesVietnamese((ImFontAtlas*)(NativePtr)); | ||||
|             return (IntPtr)ret; | ||||
|         } | ||||
|         public bool GetMouseCursorTexData(ImGuiMouseCursor cursor, out Vector2 out_offset, out Vector2 out_size, out Vector2 out_uv_border, out Vector2 out_uv_fill) | ||||
|         { | ||||
|             fixed (Vector2* native_out_offset = &out_offset) | ||||
|             { | ||||
|                 fixed (Vector2* native_out_size = &out_size) | ||||
|                 { | ||||
|                     fixed (Vector2* native_out_uv_border = &out_uv_border) | ||||
|                     { | ||||
|                         fixed (Vector2* native_out_uv_fill = &out_uv_fill) | ||||
|                         { | ||||
|                             byte ret = ImGuiNative.ImFontAtlas_GetMouseCursorTexData((ImFontAtlas*)(NativePtr), cursor, native_out_offset, native_out_size, native_out_uv_border, native_out_uv_fill); | ||||
|                             return ret != 0; | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         public void GetTexDataAsAlpha8(out byte* out_pixels, out int out_width, out int out_height) | ||||
|         { | ||||
|             int* out_bytes_per_pixel = null; | ||||
|             fixed (byte** native_out_pixels = &out_pixels) | ||||
|             { | ||||
|                 fixed (int* native_out_width = &out_width) | ||||
|                 { | ||||
|                     fixed (int* native_out_height = &out_height) | ||||
|                     { | ||||
|                         ImGuiNative.ImFontAtlas_GetTexDataAsAlpha8((ImFontAtlas*)(NativePtr), native_out_pixels, native_out_width, native_out_height, out_bytes_per_pixel); | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         public void GetTexDataAsAlpha8(out byte* out_pixels, out int out_width, out int out_height, out int out_bytes_per_pixel) | ||||
|         { | ||||
|             fixed (byte** native_out_pixels = &out_pixels) | ||||
|             { | ||||
|                 fixed (int* native_out_width = &out_width) | ||||
|                 { | ||||
|                     fixed (int* native_out_height = &out_height) | ||||
|                     { | ||||
|                         fixed (int* native_out_bytes_per_pixel = &out_bytes_per_pixel) | ||||
|                         { | ||||
|                             ImGuiNative.ImFontAtlas_GetTexDataAsAlpha8((ImFontAtlas*)(NativePtr), native_out_pixels, native_out_width, native_out_height, native_out_bytes_per_pixel); | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         public void GetTexDataAsAlpha8(out IntPtr out_pixels, out int out_width, out int out_height) | ||||
|         { | ||||
|             int* out_bytes_per_pixel = null; | ||||
|             fixed (IntPtr* native_out_pixels = &out_pixels) | ||||
|             { | ||||
|                 fixed (int* native_out_width = &out_width) | ||||
|                 { | ||||
|                     fixed (int* native_out_height = &out_height) | ||||
|                     { | ||||
|                         ImGuiNative.ImFontAtlas_GetTexDataAsAlpha8((ImFontAtlas*)(NativePtr), native_out_pixels, native_out_width, native_out_height, out_bytes_per_pixel); | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         public void GetTexDataAsAlpha8(out IntPtr out_pixels, out int out_width, out int out_height, out int out_bytes_per_pixel) | ||||
|         { | ||||
|             fixed (IntPtr* native_out_pixels = &out_pixels) | ||||
|             { | ||||
|                 fixed (int* native_out_width = &out_width) | ||||
|                 { | ||||
|                     fixed (int* native_out_height = &out_height) | ||||
|                     { | ||||
|                         fixed (int* native_out_bytes_per_pixel = &out_bytes_per_pixel) | ||||
|                         { | ||||
|                             ImGuiNative.ImFontAtlas_GetTexDataAsAlpha8((ImFontAtlas*)(NativePtr), native_out_pixels, native_out_width, native_out_height, native_out_bytes_per_pixel); | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         public void GetTexDataAsRGBA32(out byte* out_pixels, out int out_width, out int out_height) | ||||
|         { | ||||
|             int* out_bytes_per_pixel = null; | ||||
|             fixed (byte** native_out_pixels = &out_pixels) | ||||
|             { | ||||
|                 fixed (int* native_out_width = &out_width) | ||||
|                 { | ||||
|                     fixed (int* native_out_height = &out_height) | ||||
|                     { | ||||
|                         ImGuiNative.ImFontAtlas_GetTexDataAsRGBA32((ImFontAtlas*)(NativePtr), native_out_pixels, native_out_width, native_out_height, out_bytes_per_pixel); | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         public void GetTexDataAsRGBA32(out byte* out_pixels, out int out_width, out int out_height, out int out_bytes_per_pixel) | ||||
|         { | ||||
|             fixed (byte** native_out_pixels = &out_pixels) | ||||
|             { | ||||
|                 fixed (int* native_out_width = &out_width) | ||||
|                 { | ||||
|                     fixed (int* native_out_height = &out_height) | ||||
|                     { | ||||
|                         fixed (int* native_out_bytes_per_pixel = &out_bytes_per_pixel) | ||||
|                         { | ||||
|                             ImGuiNative.ImFontAtlas_GetTexDataAsRGBA32((ImFontAtlas*)(NativePtr), native_out_pixels, native_out_width, native_out_height, native_out_bytes_per_pixel); | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         public void GetTexDataAsRGBA32(out IntPtr out_pixels, out int out_width, out int out_height) | ||||
|         { | ||||
|             int* out_bytes_per_pixel = null; | ||||
|             fixed (IntPtr* native_out_pixels = &out_pixels) | ||||
|             { | ||||
|                 fixed (int* native_out_width = &out_width) | ||||
|                 { | ||||
|                     fixed (int* native_out_height = &out_height) | ||||
|                     { | ||||
|                         ImGuiNative.ImFontAtlas_GetTexDataAsRGBA32((ImFontAtlas*)(NativePtr), native_out_pixels, native_out_width, native_out_height, out_bytes_per_pixel); | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         public void GetTexDataAsRGBA32(out IntPtr out_pixels, out int out_width, out int out_height, out int out_bytes_per_pixel) | ||||
|         { | ||||
|             fixed (IntPtr* native_out_pixels = &out_pixels) | ||||
|             { | ||||
|                 fixed (int* native_out_width = &out_width) | ||||
|                 { | ||||
|                     fixed (int* native_out_height = &out_height) | ||||
|                     { | ||||
|                         fixed (int* native_out_bytes_per_pixel = &out_bytes_per_pixel) | ||||
|                         { | ||||
|                             ImGuiNative.ImFontAtlas_GetTexDataAsRGBA32((ImFontAtlas*)(NativePtr), native_out_pixels, native_out_width, native_out_height, native_out_bytes_per_pixel); | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         public bool IsBuilt() | ||||
|         { | ||||
|             byte ret = ImGuiNative.ImFontAtlas_IsBuilt((ImFontAtlas*)(NativePtr)); | ||||
|             return ret != 0; | ||||
|         } | ||||
|         public void SetTexID(IntPtr id) | ||||
|         { | ||||
|             ImGuiNative.ImFontAtlas_SetTexID((ImFontAtlas*)(NativePtr), id); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										45
									
								
								lib/ImGui.NET/Generated/ImFontAtlasCustomRect.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								lib/ImGui.NET/Generated/ImFontAtlasCustomRect.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,45 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImFontAtlasCustomRect | ||||
|     { | ||||
|         public ushort Width; | ||||
|         public ushort Height; | ||||
|         public ushort X; | ||||
|         public ushort Y; | ||||
|         public uint GlyphID; | ||||
|         public float GlyphAdvanceX; | ||||
|         public Vector2 GlyphOffset; | ||||
|         public ImFont* Font; | ||||
|     } | ||||
|     public unsafe partial struct ImFontAtlasCustomRectPtr | ||||
|     { | ||||
|         public ImFontAtlasCustomRect* NativePtr { get; } | ||||
|         public ImFontAtlasCustomRectPtr(ImFontAtlasCustomRect* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImFontAtlasCustomRectPtr(IntPtr nativePtr) => NativePtr = (ImFontAtlasCustomRect*)nativePtr; | ||||
|         public static implicit operator ImFontAtlasCustomRectPtr(ImFontAtlasCustomRect* nativePtr) => new ImFontAtlasCustomRectPtr(nativePtr); | ||||
|         public static implicit operator ImFontAtlasCustomRect* (ImFontAtlasCustomRectPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImFontAtlasCustomRectPtr(IntPtr nativePtr) => new ImFontAtlasCustomRectPtr(nativePtr); | ||||
|         public ref ushort Width => ref Unsafe.AsRef<ushort>(&NativePtr->Width); | ||||
|         public ref ushort Height => ref Unsafe.AsRef<ushort>(&NativePtr->Height); | ||||
|         public ref ushort X => ref Unsafe.AsRef<ushort>(&NativePtr->X); | ||||
|         public ref ushort Y => ref Unsafe.AsRef<ushort>(&NativePtr->Y); | ||||
|         public ref uint GlyphID => ref Unsafe.AsRef<uint>(&NativePtr->GlyphID); | ||||
|         public ref float GlyphAdvanceX => ref Unsafe.AsRef<float>(&NativePtr->GlyphAdvanceX); | ||||
|         public ref Vector2 GlyphOffset => ref Unsafe.AsRef<Vector2>(&NativePtr->GlyphOffset); | ||||
|         public ImFontPtr Font => new ImFontPtr(NativePtr->Font); | ||||
|         public void Destroy() | ||||
|         { | ||||
|             ImGuiNative.ImFontAtlasCustomRect_destroy((ImFontAtlasCustomRect*)(NativePtr)); | ||||
|         } | ||||
|         public bool IsPacked() | ||||
|         { | ||||
|             byte ret = ImGuiNative.ImFontAtlasCustomRect_IsPacked((ImFontAtlasCustomRect*)(NativePtr)); | ||||
|             return ret != 0; | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										11
									
								
								lib/ImGui.NET/Generated/ImFontAtlasFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								lib/ImGui.NET/Generated/ImFontAtlasFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [System.Flags] | ||||
|     public enum ImFontAtlasFlags | ||||
|     { | ||||
|         None = 0, | ||||
|         NoPowerOfTwoHeight = 1, | ||||
|         NoMouseCursors = 2, | ||||
|         NoBakedLines = 4, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										64
									
								
								lib/ImGui.NET/Generated/ImFontConfig.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								lib/ImGui.NET/Generated/ImFontConfig.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,64 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImFontConfig | ||||
|     { | ||||
|         public void* FontData; | ||||
|         public int FontDataSize; | ||||
|         public byte FontDataOwnedByAtlas; | ||||
|         public int FontNo; | ||||
|         public float SizePixels; | ||||
|         public int OversampleH; | ||||
|         public int OversampleV; | ||||
|         public byte PixelSnapH; | ||||
|         public Vector2 GlyphExtraSpacing; | ||||
|         public Vector2 GlyphOffset; | ||||
|         public ushort* GlyphRanges; | ||||
|         public float GlyphMinAdvanceX; | ||||
|         public float GlyphMaxAdvanceX; | ||||
|         public byte MergeMode; | ||||
|         public uint FontBuilderFlags; | ||||
|         public float RasterizerMultiply; | ||||
|         public float RasterizerDensity; | ||||
|         public ushort EllipsisChar; | ||||
|         public fixed byte Name[40]; | ||||
|         public ImFont* DstFont; | ||||
|     } | ||||
|     public unsafe partial struct ImFontConfigPtr | ||||
|     { | ||||
|         public ImFontConfig* NativePtr { get; } | ||||
|         public ImFontConfigPtr(ImFontConfig* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImFontConfigPtr(IntPtr nativePtr) => NativePtr = (ImFontConfig*)nativePtr; | ||||
|         public static implicit operator ImFontConfigPtr(ImFontConfig* nativePtr) => new ImFontConfigPtr(nativePtr); | ||||
|         public static implicit operator ImFontConfig* (ImFontConfigPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImFontConfigPtr(IntPtr nativePtr) => new ImFontConfigPtr(nativePtr); | ||||
|         public IntPtr FontData { get => (IntPtr)NativePtr->FontData; set => NativePtr->FontData = (void*)value; } | ||||
|         public ref int FontDataSize => ref Unsafe.AsRef<int>(&NativePtr->FontDataSize); | ||||
|         public ref bool FontDataOwnedByAtlas => ref Unsafe.AsRef<bool>(&NativePtr->FontDataOwnedByAtlas); | ||||
|         public ref int FontNo => ref Unsafe.AsRef<int>(&NativePtr->FontNo); | ||||
|         public ref float SizePixels => ref Unsafe.AsRef<float>(&NativePtr->SizePixels); | ||||
|         public ref int OversampleH => ref Unsafe.AsRef<int>(&NativePtr->OversampleH); | ||||
|         public ref int OversampleV => ref Unsafe.AsRef<int>(&NativePtr->OversampleV); | ||||
|         public ref bool PixelSnapH => ref Unsafe.AsRef<bool>(&NativePtr->PixelSnapH); | ||||
|         public ref Vector2 GlyphExtraSpacing => ref Unsafe.AsRef<Vector2>(&NativePtr->GlyphExtraSpacing); | ||||
|         public ref Vector2 GlyphOffset => ref Unsafe.AsRef<Vector2>(&NativePtr->GlyphOffset); | ||||
|         public IntPtr GlyphRanges { get => (IntPtr)NativePtr->GlyphRanges; set => NativePtr->GlyphRanges = (ushort*)value; } | ||||
|         public ref float GlyphMinAdvanceX => ref Unsafe.AsRef<float>(&NativePtr->GlyphMinAdvanceX); | ||||
|         public ref float GlyphMaxAdvanceX => ref Unsafe.AsRef<float>(&NativePtr->GlyphMaxAdvanceX); | ||||
|         public ref bool MergeMode => ref Unsafe.AsRef<bool>(&NativePtr->MergeMode); | ||||
|         public ref uint FontBuilderFlags => ref Unsafe.AsRef<uint>(&NativePtr->FontBuilderFlags); | ||||
|         public ref float RasterizerMultiply => ref Unsafe.AsRef<float>(&NativePtr->RasterizerMultiply); | ||||
|         public ref float RasterizerDensity => ref Unsafe.AsRef<float>(&NativePtr->RasterizerDensity); | ||||
|         public ref ushort EllipsisChar => ref Unsafe.AsRef<ushort>(&NativePtr->EllipsisChar); | ||||
|         public RangeAccessor<byte> Name => new RangeAccessor<byte>(NativePtr->Name, 40); | ||||
|         public ImFontPtr DstFont => new ImFontPtr(NativePtr->DstFont); | ||||
|         public void Destroy() | ||||
|         { | ||||
|             ImGuiNative.ImFontConfig_destroy((ImFontConfig*)(NativePtr)); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										44
									
								
								lib/ImGui.NET/Generated/ImFontGlyph.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								lib/ImGui.NET/Generated/ImFontGlyph.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImFontGlyph | ||||
|     { | ||||
|         public uint Colored; | ||||
|         public uint Visible; | ||||
|         public uint Codepoint; | ||||
|         public float AdvanceX; | ||||
|         public float X0; | ||||
|         public float Y0; | ||||
|         public float X1; | ||||
|         public float Y1; | ||||
|         public float U0; | ||||
|         public float V0; | ||||
|         public float U1; | ||||
|         public float V1; | ||||
|     } | ||||
|     public unsafe partial struct ImFontGlyphPtr | ||||
|     { | ||||
|         public ImFontGlyph* NativePtr { get; } | ||||
|         public ImFontGlyphPtr(ImFontGlyph* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImFontGlyphPtr(IntPtr nativePtr) => NativePtr = (ImFontGlyph*)nativePtr; | ||||
|         public static implicit operator ImFontGlyphPtr(ImFontGlyph* nativePtr) => new ImFontGlyphPtr(nativePtr); | ||||
|         public static implicit operator ImFontGlyph* (ImFontGlyphPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImFontGlyphPtr(IntPtr nativePtr) => new ImFontGlyphPtr(nativePtr); | ||||
|         public ref uint Colored => ref Unsafe.AsRef<uint>(&NativePtr->Colored); | ||||
|         public ref uint Visible => ref Unsafe.AsRef<uint>(&NativePtr->Visible); | ||||
|         public ref uint Codepoint => ref Unsafe.AsRef<uint>(&NativePtr->Codepoint); | ||||
|         public ref float AdvanceX => ref Unsafe.AsRef<float>(&NativePtr->AdvanceX); | ||||
|         public ref float X0 => ref Unsafe.AsRef<float>(&NativePtr->X0); | ||||
|         public ref float Y0 => ref Unsafe.AsRef<float>(&NativePtr->Y0); | ||||
|         public ref float X1 => ref Unsafe.AsRef<float>(&NativePtr->X1); | ||||
|         public ref float Y1 => ref Unsafe.AsRef<float>(&NativePtr->Y1); | ||||
|         public ref float U0 => ref Unsafe.AsRef<float>(&NativePtr->U0); | ||||
|         public ref float V0 => ref Unsafe.AsRef<float>(&NativePtr->V0); | ||||
|         public ref float U1 => ref Unsafe.AsRef<float>(&NativePtr->U1); | ||||
|         public ref float V1 => ref Unsafe.AsRef<float>(&NativePtr->V1); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										109
									
								
								lib/ImGui.NET/Generated/ImFontGlyphRangesBuilder.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										109
									
								
								lib/ImGui.NET/Generated/ImFontGlyphRangesBuilder.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,109 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImFontGlyphRangesBuilder | ||||
|     { | ||||
|         public ImVector UsedChars; | ||||
|     } | ||||
|     public unsafe partial struct ImFontGlyphRangesBuilderPtr | ||||
|     { | ||||
|         public ImFontGlyphRangesBuilder* NativePtr { get; } | ||||
|         public ImFontGlyphRangesBuilderPtr(ImFontGlyphRangesBuilder* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImFontGlyphRangesBuilderPtr(IntPtr nativePtr) => NativePtr = (ImFontGlyphRangesBuilder*)nativePtr; | ||||
|         public static implicit operator ImFontGlyphRangesBuilderPtr(ImFontGlyphRangesBuilder* nativePtr) => new ImFontGlyphRangesBuilderPtr(nativePtr); | ||||
|         public static implicit operator ImFontGlyphRangesBuilder* (ImFontGlyphRangesBuilderPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImFontGlyphRangesBuilderPtr(IntPtr nativePtr) => new ImFontGlyphRangesBuilderPtr(nativePtr); | ||||
|         public ImVector<uint> UsedChars => new ImVector<uint>(NativePtr->UsedChars); | ||||
|         public void AddChar(ushort c) | ||||
|         { | ||||
|             ImGuiNative.ImFontGlyphRangesBuilder_AddChar((ImFontGlyphRangesBuilder*)(NativePtr), c); | ||||
|         } | ||||
|         public void AddRanges(IntPtr ranges) | ||||
|         { | ||||
|             ushort* native_ranges = (ushort*)ranges.ToPointer(); | ||||
|             ImGuiNative.ImFontGlyphRangesBuilder_AddRanges((ImFontGlyphRangesBuilder*)(NativePtr), native_ranges); | ||||
|         } | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         public void AddText(ReadOnlySpan<char> text) | ||||
|         { | ||||
|             byte* native_text; | ||||
|             int text_byteCount = 0; | ||||
|             if (text != null) | ||||
|             { | ||||
|                 text_byteCount = Encoding.UTF8.GetByteCount(text); | ||||
|                 if (text_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_text = Util.Allocate(text_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_text_stackBytes = stackalloc byte[text_byteCount + 1]; | ||||
|                     native_text = native_text_stackBytes; | ||||
|                 } | ||||
|                 int native_text_offset = Util.GetUtf8(text, native_text, text_byteCount); | ||||
|                 native_text[native_text_offset] = 0; | ||||
|             } | ||||
|             else { native_text = null; } | ||||
|             ImGuiNative.ImFontGlyphRangesBuilder_AddText((ImFontGlyphRangesBuilder*)(NativePtr), native_text, native_text+text_byteCount); | ||||
|             if (text_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_text); | ||||
|             } | ||||
|         } | ||||
| #endif | ||||
|         public void AddText(string text) | ||||
|         { | ||||
|             byte* native_text; | ||||
|             int text_byteCount = 0; | ||||
|             if (text != null) | ||||
|             { | ||||
|                 text_byteCount = Encoding.UTF8.GetByteCount(text); | ||||
|                 if (text_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_text = Util.Allocate(text_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_text_stackBytes = stackalloc byte[text_byteCount + 1]; | ||||
|                     native_text = native_text_stackBytes; | ||||
|                 } | ||||
|                 int native_text_offset = Util.GetUtf8(text, native_text, text_byteCount); | ||||
|                 native_text[native_text_offset] = 0; | ||||
|             } | ||||
|             else { native_text = null; } | ||||
|             ImGuiNative.ImFontGlyphRangesBuilder_AddText((ImFontGlyphRangesBuilder*)(NativePtr), native_text, native_text+text_byteCount); | ||||
|             if (text_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_text); | ||||
|             } | ||||
|         } | ||||
|         public void BuildRanges(out ImVector out_ranges) | ||||
|         { | ||||
|             fixed (ImVector* native_out_ranges = &out_ranges) | ||||
|             { | ||||
|                 ImGuiNative.ImFontGlyphRangesBuilder_BuildRanges((ImFontGlyphRangesBuilder*)(NativePtr), native_out_ranges); | ||||
|             } | ||||
|         } | ||||
|         public void Clear() | ||||
|         { | ||||
|             ImGuiNative.ImFontGlyphRangesBuilder_Clear((ImFontGlyphRangesBuilder*)(NativePtr)); | ||||
|         } | ||||
|         public void Destroy() | ||||
|         { | ||||
|             ImGuiNative.ImFontGlyphRangesBuilder_destroy((ImFontGlyphRangesBuilder*)(NativePtr)); | ||||
|         } | ||||
|         public bool GetBit(uint n) | ||||
|         { | ||||
|             byte ret = ImGuiNative.ImFontGlyphRangesBuilder_GetBit((ImFontGlyphRangesBuilder*)(NativePtr), n); | ||||
|             return ret != 0; | ||||
|         } | ||||
|         public void SetBit(uint n) | ||||
|         { | ||||
|             ImGuiNative.ImFontGlyphRangesBuilder_SetBit((ImFontGlyphRangesBuilder*)(NativePtr), n); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										28311
									
								
								lib/ImGui.NET/Generated/ImGui.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28311
									
								
								lib/ImGui.NET/Generated/ImGui.gen.cs
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										15
									
								
								lib/ImGui.NET/Generated/ImGuiBackendFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								lib/ImGui.NET/Generated/ImGuiBackendFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [System.Flags] | ||||
|     public enum ImGuiBackendFlags | ||||
|     { | ||||
|         None = 0, | ||||
|         HasGamepad = 1, | ||||
|         HasMouseCursors = 2, | ||||
|         HasSetMousePos = 4, | ||||
|         RendererHasVtxOffset = 8, | ||||
|         PlatformHasViewports = 1024, | ||||
|         HasMouseHoveredViewport = 2048, | ||||
|         RendererHasViewports = 4096, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										13
									
								
								lib/ImGui.NET/Generated/ImGuiButtonFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								lib/ImGui.NET/Generated/ImGuiButtonFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [System.Flags] | ||||
|     public enum ImGuiButtonFlags | ||||
|     { | ||||
|         None = 0, | ||||
|         MouseButtonLeft = 1, | ||||
|         MouseButtonRight = 2, | ||||
|         MouseButtonMiddle = 4, | ||||
|         MouseButtonMask = 7, | ||||
|         MouseButtonDefault = 1, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										16
									
								
								lib/ImGui.NET/Generated/ImGuiChildFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								lib/ImGui.NET/Generated/ImGuiChildFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [System.Flags] | ||||
|     public enum ImGuiChildFlags | ||||
|     { | ||||
|         None = 0, | ||||
|         Border = 1, | ||||
|         AlwaysUseWindowPadding = 2, | ||||
|         ResizeX = 4, | ||||
|         ResizeY = 8, | ||||
|         AutoResizeX = 16, | ||||
|         AutoResizeY = 32, | ||||
|         AlwaysAutoResize = 64, | ||||
|         FrameStyle = 128, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										62
									
								
								lib/ImGui.NET/Generated/ImGuiCol.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								lib/ImGui.NET/Generated/ImGuiCol.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,62 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public enum ImGuiCol | ||||
|     { | ||||
|         Text = 0, | ||||
|         TextDisabled = 1, | ||||
|         WindowBg = 2, | ||||
|         ChildBg = 3, | ||||
|         PopupBg = 4, | ||||
|         Border = 5, | ||||
|         BorderShadow = 6, | ||||
|         FrameBg = 7, | ||||
|         FrameBgHovered = 8, | ||||
|         FrameBgActive = 9, | ||||
|         TitleBg = 10, | ||||
|         TitleBgActive = 11, | ||||
|         TitleBgCollapsed = 12, | ||||
|         MenuBarBg = 13, | ||||
|         ScrollbarBg = 14, | ||||
|         ScrollbarGrab = 15, | ||||
|         ScrollbarGrabHovered = 16, | ||||
|         ScrollbarGrabActive = 17, | ||||
|         CheckMark = 18, | ||||
|         SliderGrab = 19, | ||||
|         SliderGrabActive = 20, | ||||
|         Button = 21, | ||||
|         ButtonHovered = 22, | ||||
|         ButtonActive = 23, | ||||
|         Header = 24, | ||||
|         HeaderHovered = 25, | ||||
|         HeaderActive = 26, | ||||
|         Separator = 27, | ||||
|         SeparatorHovered = 28, | ||||
|         SeparatorActive = 29, | ||||
|         ResizeGrip = 30, | ||||
|         ResizeGripHovered = 31, | ||||
|         ResizeGripActive = 32, | ||||
|         Tab = 33, | ||||
|         TabHovered = 34, | ||||
|         TabActive = 35, | ||||
|         TabUnfocused = 36, | ||||
|         TabUnfocusedActive = 37, | ||||
|         DockingPreview = 38, | ||||
|         DockingEmptyBg = 39, | ||||
|         PlotLines = 40, | ||||
|         PlotLinesHovered = 41, | ||||
|         PlotHistogram = 42, | ||||
|         PlotHistogramHovered = 43, | ||||
|         TableHeaderBg = 44, | ||||
|         TableBorderStrong = 45, | ||||
|         TableBorderLight = 46, | ||||
|         TableRowBg = 47, | ||||
|         TableRowBgAlt = 48, | ||||
|         TextSelectedBg = 49, | ||||
|         DragDropTarget = 50, | ||||
|         NavHighlight = 51, | ||||
|         NavWindowingHighlight = 52, | ||||
|         NavWindowingDimBg = 53, | ||||
|         ModalWindowDimBg = 54, | ||||
|         COUNT = 55, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										36
									
								
								lib/ImGui.NET/Generated/ImGuiColorEditFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								lib/ImGui.NET/Generated/ImGuiColorEditFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [System.Flags] | ||||
|     public enum ImGuiColorEditFlags | ||||
|     { | ||||
|         None = 0, | ||||
|         NoAlpha = 2, | ||||
|         NoPicker = 4, | ||||
|         NoOptions = 8, | ||||
|         NoSmallPreview = 16, | ||||
|         NoInputs = 32, | ||||
|         NoTooltip = 64, | ||||
|         NoLabel = 128, | ||||
|         NoSidePreview = 256, | ||||
|         NoDragDrop = 512, | ||||
|         NoBorder = 1024, | ||||
|         AlphaBar = 65536, | ||||
|         AlphaPreview = 131072, | ||||
|         AlphaPreviewHalf = 262144, | ||||
|         HDR = 524288, | ||||
|         DisplayRGB = 1048576, | ||||
|         DisplayHSV = 2097152, | ||||
|         DisplayHex = 4194304, | ||||
|         Uint8 = 8388608, | ||||
|         Float = 16777216, | ||||
|         PickerHueBar = 33554432, | ||||
|         PickerHueWheel = 67108864, | ||||
|         InputRGB = 134217728, | ||||
|         InputHSV = 268435456, | ||||
|         DefaultOptions = 177209344, | ||||
|         DisplayMask = 7340032, | ||||
|         DataTypeMask = 25165824, | ||||
|         PickerMask = 100663296, | ||||
|         InputMask = 402653184, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										17
									
								
								lib/ImGui.NET/Generated/ImGuiComboFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								lib/ImGui.NET/Generated/ImGuiComboFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [System.Flags] | ||||
|     public enum ImGuiComboFlags | ||||
|     { | ||||
|         None = 0, | ||||
|         PopupAlignLeft = 1, | ||||
|         HeightSmall = 2, | ||||
|         HeightRegular = 4, | ||||
|         HeightLarge = 8, | ||||
|         HeightLargest = 16, | ||||
|         NoArrowButton = 32, | ||||
|         NoPreview = 64, | ||||
|         WidthFitPreview = 128, | ||||
|         HeightMask = 30, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										11
									
								
								lib/ImGui.NET/Generated/ImGuiCond.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								lib/ImGui.NET/Generated/ImGuiCond.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public enum ImGuiCond | ||||
|     { | ||||
|         None = 0, | ||||
|         Always = 1, | ||||
|         Once = 2, | ||||
|         FirstUseEver = 4, | ||||
|         Appearing = 8, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										20
									
								
								lib/ImGui.NET/Generated/ImGuiConfigFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								lib/ImGui.NET/Generated/ImGuiConfigFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [System.Flags] | ||||
|     public enum ImGuiConfigFlags | ||||
|     { | ||||
|         None = 0, | ||||
|         NavEnableKeyboard = 1, | ||||
|         NavEnableGamepad = 2, | ||||
|         NavEnableSetMousePos = 4, | ||||
|         NavNoCaptureKeyboard = 8, | ||||
|         NoMouse = 16, | ||||
|         NoMouseCursorChange = 32, | ||||
|         DockingEnable = 64, | ||||
|         ViewportsEnable = 1024, | ||||
|         DpiEnableScaleViewports = 16384, | ||||
|         DpiEnableScaleFonts = 32768, | ||||
|         IsSRGB = 1048576, | ||||
|         IsTouchScreen = 2097152, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										17
									
								
								lib/ImGui.NET/Generated/ImGuiDataType.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								lib/ImGui.NET/Generated/ImGuiDataType.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public enum ImGuiDataType | ||||
|     { | ||||
|         S8 = 0, | ||||
|         U8 = 1, | ||||
|         S16 = 2, | ||||
|         U16 = 3, | ||||
|         S32 = 4, | ||||
|         U32 = 5, | ||||
|         S64 = 6, | ||||
|         U64 = 7, | ||||
|         Float = 8, | ||||
|         Double = 9, | ||||
|         COUNT = 10, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										12
									
								
								lib/ImGui.NET/Generated/ImGuiDir.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								lib/ImGui.NET/Generated/ImGuiDir.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public enum ImGuiDir | ||||
|     { | ||||
|         None = -1, | ||||
|         Left = 0, | ||||
|         Right = 1, | ||||
|         Up = 2, | ||||
|         Down = 3, | ||||
|         COUNT = 4, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										15
									
								
								lib/ImGui.NET/Generated/ImGuiDockNodeFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								lib/ImGui.NET/Generated/ImGuiDockNodeFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [System.Flags] | ||||
|     public enum ImGuiDockNodeFlags | ||||
|     { | ||||
|         None = 0, | ||||
|         KeepAliveOnly = 1, | ||||
|         NoDockingOverCentralNode = 4, | ||||
|         PassthruCentralNode = 8, | ||||
|         NoDockingSplit = 16, | ||||
|         NoResize = 32, | ||||
|         AutoHideTabBar = 64, | ||||
|         NoUndocking = 128, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										18
									
								
								lib/ImGui.NET/Generated/ImGuiDragDropFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								lib/ImGui.NET/Generated/ImGuiDragDropFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [System.Flags] | ||||
|     public enum ImGuiDragDropFlags | ||||
|     { | ||||
|         None = 0, | ||||
|         SourceNoPreviewTooltip = 1, | ||||
|         SourceNoDisableHover = 2, | ||||
|         SourceNoHoldToOpenOthers = 4, | ||||
|         SourceAllowNullID = 8, | ||||
|         SourceExtern = 16, | ||||
|         SourceAutoExpirePayload = 32, | ||||
|         AcceptBeforeDelivery = 1024, | ||||
|         AcceptNoDrawDefaultRect = 2048, | ||||
|         AcceptNoPreviewTooltip = 4096, | ||||
|         AcceptPeekOnly = 3072, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										14
									
								
								lib/ImGui.NET/Generated/ImGuiFocusedFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								lib/ImGui.NET/Generated/ImGuiFocusedFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [System.Flags] | ||||
|     public enum ImGuiFocusedFlags | ||||
|     { | ||||
|         None = 0, | ||||
|         ChildWindows = 1, | ||||
|         RootWindow = 2, | ||||
|         AnyWindow = 4, | ||||
|         NoPopupHierarchy = 8, | ||||
|         DockHierarchy = 16, | ||||
|         RootAndChildWindows = 3, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										28
									
								
								lib/ImGui.NET/Generated/ImGuiHoveredFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								lib/ImGui.NET/Generated/ImGuiHoveredFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [System.Flags] | ||||
|     public enum ImGuiHoveredFlags | ||||
|     { | ||||
|         None = 0, | ||||
|         ChildWindows = 1, | ||||
|         RootWindow = 2, | ||||
|         AnyWindow = 4, | ||||
|         NoPopupHierarchy = 8, | ||||
|         DockHierarchy = 16, | ||||
|         AllowWhenBlockedByPopup = 32, | ||||
|         AllowWhenBlockedByActiveItem = 128, | ||||
|         AllowWhenOverlappedByItem = 256, | ||||
|         AllowWhenOverlappedByWindow = 512, | ||||
|         AllowWhenDisabled = 1024, | ||||
|         NoNavOverride = 2048, | ||||
|         AllowWhenOverlapped = 768, | ||||
|         RectOnly = 928, | ||||
|         RootAndChildWindows = 3, | ||||
|         ForTooltip = 4096, | ||||
|         Stationary = 8192, | ||||
|         DelayNone = 16384, | ||||
|         DelayShort = 32768, | ||||
|         DelayNormal = 65536, | ||||
|         NoSharedDelay = 131072, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										503
									
								
								lib/ImGui.NET/Generated/ImGuiIO.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										503
									
								
								lib/ImGui.NET/Generated/ImGuiIO.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,503 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImGuiIO | ||||
|     { | ||||
|         public ImGuiConfigFlags ConfigFlags; | ||||
|         public ImGuiBackendFlags BackendFlags; | ||||
|         public Vector2 DisplaySize; | ||||
|         public float DeltaTime; | ||||
|         public float IniSavingRate; | ||||
|         public byte* IniFilename; | ||||
|         public byte* LogFilename; | ||||
|         public void* UserData; | ||||
|         public ImFontAtlas* Fonts; | ||||
|         public float FontGlobalScale; | ||||
|         public byte FontAllowUserScaling; | ||||
|         public ImFont* FontDefault; | ||||
|         public Vector2 DisplayFramebufferScale; | ||||
|         public byte ConfigDockingNoSplit; | ||||
|         public byte ConfigDockingWithShift; | ||||
|         public byte ConfigDockingAlwaysTabBar; | ||||
|         public byte ConfigDockingTransparentPayload; | ||||
|         public byte ConfigViewportsNoAutoMerge; | ||||
|         public byte ConfigViewportsNoTaskBarIcon; | ||||
|         public byte ConfigViewportsNoDecoration; | ||||
|         public byte ConfigViewportsNoDefaultParent; | ||||
|         public byte MouseDrawCursor; | ||||
|         public byte ConfigMacOSXBehaviors; | ||||
|         public byte ConfigInputTrickleEventQueue; | ||||
|         public byte ConfigInputTextCursorBlink; | ||||
|         public byte ConfigInputTextEnterKeepActive; | ||||
|         public byte ConfigDragClickToInputText; | ||||
|         public byte ConfigWindowsResizeFromEdges; | ||||
|         public byte ConfigWindowsMoveFromTitleBarOnly; | ||||
|         public float ConfigMemoryCompactTimer; | ||||
|         public float MouseDoubleClickTime; | ||||
|         public float MouseDoubleClickMaxDist; | ||||
|         public float MouseDragThreshold; | ||||
|         public float KeyRepeatDelay; | ||||
|         public float KeyRepeatRate; | ||||
|         public byte ConfigDebugBeginReturnValueOnce; | ||||
|         public byte ConfigDebugBeginReturnValueLoop; | ||||
|         public byte ConfigDebugIgnoreFocusLoss; | ||||
|         public byte ConfigDebugIniSettings; | ||||
|         public byte* BackendPlatformName; | ||||
|         public byte* BackendRendererName; | ||||
|         public void* BackendPlatformUserData; | ||||
|         public void* BackendRendererUserData; | ||||
|         public void* BackendLanguageUserData; | ||||
|         public IntPtr GetClipboardTextFn; | ||||
|         public IntPtr SetClipboardTextFn; | ||||
|         public void* ClipboardUserData; | ||||
|         public IntPtr SetPlatformImeDataFn; | ||||
|         public ushort PlatformLocaleDecimalPoint; | ||||
|         public byte WantCaptureMouse; | ||||
|         public byte WantCaptureKeyboard; | ||||
|         public byte WantTextInput; | ||||
|         public byte WantSetMousePos; | ||||
|         public byte WantSaveIniSettings; | ||||
|         public byte NavActive; | ||||
|         public byte NavVisible; | ||||
|         public float Framerate; | ||||
|         public int MetricsRenderVertices; | ||||
|         public int MetricsRenderIndices; | ||||
|         public int MetricsRenderWindows; | ||||
|         public int MetricsActiveWindows; | ||||
|         public Vector2 MouseDelta; | ||||
|         public void* _UnusedPadding; | ||||
|         public IntPtr Ctx; | ||||
|         public Vector2 MousePos; | ||||
|         public fixed byte MouseDown[5]; | ||||
|         public float MouseWheel; | ||||
|         public float MouseWheelH; | ||||
|         public ImGuiMouseSource MouseSource; | ||||
|         public uint MouseHoveredViewport; | ||||
|         public byte KeyCtrl; | ||||
|         public byte KeyShift; | ||||
|         public byte KeyAlt; | ||||
|         public byte KeySuper; | ||||
|         public ImGuiKey KeyMods; | ||||
|         public ImGuiKeyData KeysData_0; | ||||
|         public ImGuiKeyData KeysData_1; | ||||
|         public ImGuiKeyData KeysData_2; | ||||
|         public ImGuiKeyData KeysData_3; | ||||
|         public ImGuiKeyData KeysData_4; | ||||
|         public ImGuiKeyData KeysData_5; | ||||
|         public ImGuiKeyData KeysData_6; | ||||
|         public ImGuiKeyData KeysData_7; | ||||
|         public ImGuiKeyData KeysData_8; | ||||
|         public ImGuiKeyData KeysData_9; | ||||
|         public ImGuiKeyData KeysData_10; | ||||
|         public ImGuiKeyData KeysData_11; | ||||
|         public ImGuiKeyData KeysData_12; | ||||
|         public ImGuiKeyData KeysData_13; | ||||
|         public ImGuiKeyData KeysData_14; | ||||
|         public ImGuiKeyData KeysData_15; | ||||
|         public ImGuiKeyData KeysData_16; | ||||
|         public ImGuiKeyData KeysData_17; | ||||
|         public ImGuiKeyData KeysData_18; | ||||
|         public ImGuiKeyData KeysData_19; | ||||
|         public ImGuiKeyData KeysData_20; | ||||
|         public ImGuiKeyData KeysData_21; | ||||
|         public ImGuiKeyData KeysData_22; | ||||
|         public ImGuiKeyData KeysData_23; | ||||
|         public ImGuiKeyData KeysData_24; | ||||
|         public ImGuiKeyData KeysData_25; | ||||
|         public ImGuiKeyData KeysData_26; | ||||
|         public ImGuiKeyData KeysData_27; | ||||
|         public ImGuiKeyData KeysData_28; | ||||
|         public ImGuiKeyData KeysData_29; | ||||
|         public ImGuiKeyData KeysData_30; | ||||
|         public ImGuiKeyData KeysData_31; | ||||
|         public ImGuiKeyData KeysData_32; | ||||
|         public ImGuiKeyData KeysData_33; | ||||
|         public ImGuiKeyData KeysData_34; | ||||
|         public ImGuiKeyData KeysData_35; | ||||
|         public ImGuiKeyData KeysData_36; | ||||
|         public ImGuiKeyData KeysData_37; | ||||
|         public ImGuiKeyData KeysData_38; | ||||
|         public ImGuiKeyData KeysData_39; | ||||
|         public ImGuiKeyData KeysData_40; | ||||
|         public ImGuiKeyData KeysData_41; | ||||
|         public ImGuiKeyData KeysData_42; | ||||
|         public ImGuiKeyData KeysData_43; | ||||
|         public ImGuiKeyData KeysData_44; | ||||
|         public ImGuiKeyData KeysData_45; | ||||
|         public ImGuiKeyData KeysData_46; | ||||
|         public ImGuiKeyData KeysData_47; | ||||
|         public ImGuiKeyData KeysData_48; | ||||
|         public ImGuiKeyData KeysData_49; | ||||
|         public ImGuiKeyData KeysData_50; | ||||
|         public ImGuiKeyData KeysData_51; | ||||
|         public ImGuiKeyData KeysData_52; | ||||
|         public ImGuiKeyData KeysData_53; | ||||
|         public ImGuiKeyData KeysData_54; | ||||
|         public ImGuiKeyData KeysData_55; | ||||
|         public ImGuiKeyData KeysData_56; | ||||
|         public ImGuiKeyData KeysData_57; | ||||
|         public ImGuiKeyData KeysData_58; | ||||
|         public ImGuiKeyData KeysData_59; | ||||
|         public ImGuiKeyData KeysData_60; | ||||
|         public ImGuiKeyData KeysData_61; | ||||
|         public ImGuiKeyData KeysData_62; | ||||
|         public ImGuiKeyData KeysData_63; | ||||
|         public ImGuiKeyData KeysData_64; | ||||
|         public ImGuiKeyData KeysData_65; | ||||
|         public ImGuiKeyData KeysData_66; | ||||
|         public ImGuiKeyData KeysData_67; | ||||
|         public ImGuiKeyData KeysData_68; | ||||
|         public ImGuiKeyData KeysData_69; | ||||
|         public ImGuiKeyData KeysData_70; | ||||
|         public ImGuiKeyData KeysData_71; | ||||
|         public ImGuiKeyData KeysData_72; | ||||
|         public ImGuiKeyData KeysData_73; | ||||
|         public ImGuiKeyData KeysData_74; | ||||
|         public ImGuiKeyData KeysData_75; | ||||
|         public ImGuiKeyData KeysData_76; | ||||
|         public ImGuiKeyData KeysData_77; | ||||
|         public ImGuiKeyData KeysData_78; | ||||
|         public ImGuiKeyData KeysData_79; | ||||
|         public ImGuiKeyData KeysData_80; | ||||
|         public ImGuiKeyData KeysData_81; | ||||
|         public ImGuiKeyData KeysData_82; | ||||
|         public ImGuiKeyData KeysData_83; | ||||
|         public ImGuiKeyData KeysData_84; | ||||
|         public ImGuiKeyData KeysData_85; | ||||
|         public ImGuiKeyData KeysData_86; | ||||
|         public ImGuiKeyData KeysData_87; | ||||
|         public ImGuiKeyData KeysData_88; | ||||
|         public ImGuiKeyData KeysData_89; | ||||
|         public ImGuiKeyData KeysData_90; | ||||
|         public ImGuiKeyData KeysData_91; | ||||
|         public ImGuiKeyData KeysData_92; | ||||
|         public ImGuiKeyData KeysData_93; | ||||
|         public ImGuiKeyData KeysData_94; | ||||
|         public ImGuiKeyData KeysData_95; | ||||
|         public ImGuiKeyData KeysData_96; | ||||
|         public ImGuiKeyData KeysData_97; | ||||
|         public ImGuiKeyData KeysData_98; | ||||
|         public ImGuiKeyData KeysData_99; | ||||
|         public ImGuiKeyData KeysData_100; | ||||
|         public ImGuiKeyData KeysData_101; | ||||
|         public ImGuiKeyData KeysData_102; | ||||
|         public ImGuiKeyData KeysData_103; | ||||
|         public ImGuiKeyData KeysData_104; | ||||
|         public ImGuiKeyData KeysData_105; | ||||
|         public ImGuiKeyData KeysData_106; | ||||
|         public ImGuiKeyData KeysData_107; | ||||
|         public ImGuiKeyData KeysData_108; | ||||
|         public ImGuiKeyData KeysData_109; | ||||
|         public ImGuiKeyData KeysData_110; | ||||
|         public ImGuiKeyData KeysData_111; | ||||
|         public ImGuiKeyData KeysData_112; | ||||
|         public ImGuiKeyData KeysData_113; | ||||
|         public ImGuiKeyData KeysData_114; | ||||
|         public ImGuiKeyData KeysData_115; | ||||
|         public ImGuiKeyData KeysData_116; | ||||
|         public ImGuiKeyData KeysData_117; | ||||
|         public ImGuiKeyData KeysData_118; | ||||
|         public ImGuiKeyData KeysData_119; | ||||
|         public ImGuiKeyData KeysData_120; | ||||
|         public ImGuiKeyData KeysData_121; | ||||
|         public ImGuiKeyData KeysData_122; | ||||
|         public ImGuiKeyData KeysData_123; | ||||
|         public ImGuiKeyData KeysData_124; | ||||
|         public ImGuiKeyData KeysData_125; | ||||
|         public ImGuiKeyData KeysData_126; | ||||
|         public ImGuiKeyData KeysData_127; | ||||
|         public ImGuiKeyData KeysData_128; | ||||
|         public ImGuiKeyData KeysData_129; | ||||
|         public ImGuiKeyData KeysData_130; | ||||
|         public ImGuiKeyData KeysData_131; | ||||
|         public ImGuiKeyData KeysData_132; | ||||
|         public ImGuiKeyData KeysData_133; | ||||
|         public ImGuiKeyData KeysData_134; | ||||
|         public ImGuiKeyData KeysData_135; | ||||
|         public ImGuiKeyData KeysData_136; | ||||
|         public ImGuiKeyData KeysData_137; | ||||
|         public ImGuiKeyData KeysData_138; | ||||
|         public ImGuiKeyData KeysData_139; | ||||
|         public ImGuiKeyData KeysData_140; | ||||
|         public ImGuiKeyData KeysData_141; | ||||
|         public ImGuiKeyData KeysData_142; | ||||
|         public ImGuiKeyData KeysData_143; | ||||
|         public ImGuiKeyData KeysData_144; | ||||
|         public ImGuiKeyData KeysData_145; | ||||
|         public ImGuiKeyData KeysData_146; | ||||
|         public ImGuiKeyData KeysData_147; | ||||
|         public ImGuiKeyData KeysData_148; | ||||
|         public ImGuiKeyData KeysData_149; | ||||
|         public ImGuiKeyData KeysData_150; | ||||
|         public ImGuiKeyData KeysData_151; | ||||
|         public ImGuiKeyData KeysData_152; | ||||
|         public ImGuiKeyData KeysData_153; | ||||
|         public byte WantCaptureMouseUnlessPopupClose; | ||||
|         public Vector2 MousePosPrev; | ||||
|         public Vector2 MouseClickedPos_0; | ||||
|         public Vector2 MouseClickedPos_1; | ||||
|         public Vector2 MouseClickedPos_2; | ||||
|         public Vector2 MouseClickedPos_3; | ||||
|         public Vector2 MouseClickedPos_4; | ||||
|         public fixed double MouseClickedTime[5]; | ||||
|         public fixed byte MouseClicked[5]; | ||||
|         public fixed byte MouseDoubleClicked[5]; | ||||
|         public fixed ushort MouseClickedCount[5]; | ||||
|         public fixed ushort MouseClickedLastCount[5]; | ||||
|         public fixed byte MouseReleased[5]; | ||||
|         public fixed byte MouseDownOwned[5]; | ||||
|         public fixed byte MouseDownOwnedUnlessPopupClose[5]; | ||||
|         public byte MouseWheelRequestAxisSwap; | ||||
|         public fixed float MouseDownDuration[5]; | ||||
|         public fixed float MouseDownDurationPrev[5]; | ||||
|         public Vector2 MouseDragMaxDistanceAbs_0; | ||||
|         public Vector2 MouseDragMaxDistanceAbs_1; | ||||
|         public Vector2 MouseDragMaxDistanceAbs_2; | ||||
|         public Vector2 MouseDragMaxDistanceAbs_3; | ||||
|         public Vector2 MouseDragMaxDistanceAbs_4; | ||||
|         public fixed float MouseDragMaxDistanceSqr[5]; | ||||
|         public float PenPressure; | ||||
|         public byte AppFocusLost; | ||||
|         public byte AppAcceptingEvents; | ||||
|         public sbyte BackendUsingLegacyKeyArrays; | ||||
|         public byte BackendUsingLegacyNavInputArray; | ||||
|         public ushort InputQueueSurrogate; | ||||
|         public ImVector InputQueueCharacters; | ||||
|     } | ||||
|     public unsafe partial struct ImGuiIOPtr | ||||
|     { | ||||
|         public ImGuiIO* NativePtr { get; } | ||||
|         public ImGuiIOPtr(ImGuiIO* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImGuiIOPtr(IntPtr nativePtr) => NativePtr = (ImGuiIO*)nativePtr; | ||||
|         public static implicit operator ImGuiIOPtr(ImGuiIO* nativePtr) => new ImGuiIOPtr(nativePtr); | ||||
|         public static implicit operator ImGuiIO* (ImGuiIOPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImGuiIOPtr(IntPtr nativePtr) => new ImGuiIOPtr(nativePtr); | ||||
|         public ref ImGuiConfigFlags ConfigFlags => ref Unsafe.AsRef<ImGuiConfigFlags>(&NativePtr->ConfigFlags); | ||||
|         public ref ImGuiBackendFlags BackendFlags => ref Unsafe.AsRef<ImGuiBackendFlags>(&NativePtr->BackendFlags); | ||||
|         public ref Vector2 DisplaySize => ref Unsafe.AsRef<Vector2>(&NativePtr->DisplaySize); | ||||
|         public ref float DeltaTime => ref Unsafe.AsRef<float>(&NativePtr->DeltaTime); | ||||
|         public ref float IniSavingRate => ref Unsafe.AsRef<float>(&NativePtr->IniSavingRate); | ||||
|         public NullTerminatedString IniFilename => new NullTerminatedString(NativePtr->IniFilename); | ||||
|         public NullTerminatedString LogFilename => new NullTerminatedString(NativePtr->LogFilename); | ||||
|         public IntPtr UserData { get => (IntPtr)NativePtr->UserData; set => NativePtr->UserData = (void*)value; } | ||||
|         public ImFontAtlasPtr Fonts => new ImFontAtlasPtr(NativePtr->Fonts); | ||||
|         public ref float FontGlobalScale => ref Unsafe.AsRef<float>(&NativePtr->FontGlobalScale); | ||||
|         public ref bool FontAllowUserScaling => ref Unsafe.AsRef<bool>(&NativePtr->FontAllowUserScaling); | ||||
|         public ImFontPtr FontDefault => new ImFontPtr(NativePtr->FontDefault); | ||||
|         public ref Vector2 DisplayFramebufferScale => ref Unsafe.AsRef<Vector2>(&NativePtr->DisplayFramebufferScale); | ||||
|         public ref bool ConfigDockingNoSplit => ref Unsafe.AsRef<bool>(&NativePtr->ConfigDockingNoSplit); | ||||
|         public ref bool ConfigDockingWithShift => ref Unsafe.AsRef<bool>(&NativePtr->ConfigDockingWithShift); | ||||
|         public ref bool ConfigDockingAlwaysTabBar => ref Unsafe.AsRef<bool>(&NativePtr->ConfigDockingAlwaysTabBar); | ||||
|         public ref bool ConfigDockingTransparentPayload => ref Unsafe.AsRef<bool>(&NativePtr->ConfigDockingTransparentPayload); | ||||
|         public ref bool ConfigViewportsNoAutoMerge => ref Unsafe.AsRef<bool>(&NativePtr->ConfigViewportsNoAutoMerge); | ||||
|         public ref bool ConfigViewportsNoTaskBarIcon => ref Unsafe.AsRef<bool>(&NativePtr->ConfigViewportsNoTaskBarIcon); | ||||
|         public ref bool ConfigViewportsNoDecoration => ref Unsafe.AsRef<bool>(&NativePtr->ConfigViewportsNoDecoration); | ||||
|         public ref bool ConfigViewportsNoDefaultParent => ref Unsafe.AsRef<bool>(&NativePtr->ConfigViewportsNoDefaultParent); | ||||
|         public ref bool MouseDrawCursor => ref Unsafe.AsRef<bool>(&NativePtr->MouseDrawCursor); | ||||
|         public ref bool ConfigMacOSXBehaviors => ref Unsafe.AsRef<bool>(&NativePtr->ConfigMacOSXBehaviors); | ||||
|         public ref bool ConfigInputTrickleEventQueue => ref Unsafe.AsRef<bool>(&NativePtr->ConfigInputTrickleEventQueue); | ||||
|         public ref bool ConfigInputTextCursorBlink => ref Unsafe.AsRef<bool>(&NativePtr->ConfigInputTextCursorBlink); | ||||
|         public ref bool ConfigInputTextEnterKeepActive => ref Unsafe.AsRef<bool>(&NativePtr->ConfigInputTextEnterKeepActive); | ||||
|         public ref bool ConfigDragClickToInputText => ref Unsafe.AsRef<bool>(&NativePtr->ConfigDragClickToInputText); | ||||
|         public ref bool ConfigWindowsResizeFromEdges => ref Unsafe.AsRef<bool>(&NativePtr->ConfigWindowsResizeFromEdges); | ||||
|         public ref bool ConfigWindowsMoveFromTitleBarOnly => ref Unsafe.AsRef<bool>(&NativePtr->ConfigWindowsMoveFromTitleBarOnly); | ||||
|         public ref float ConfigMemoryCompactTimer => ref Unsafe.AsRef<float>(&NativePtr->ConfigMemoryCompactTimer); | ||||
|         public ref float MouseDoubleClickTime => ref Unsafe.AsRef<float>(&NativePtr->MouseDoubleClickTime); | ||||
|         public ref float MouseDoubleClickMaxDist => ref Unsafe.AsRef<float>(&NativePtr->MouseDoubleClickMaxDist); | ||||
|         public ref float MouseDragThreshold => ref Unsafe.AsRef<float>(&NativePtr->MouseDragThreshold); | ||||
|         public ref float KeyRepeatDelay => ref Unsafe.AsRef<float>(&NativePtr->KeyRepeatDelay); | ||||
|         public ref float KeyRepeatRate => ref Unsafe.AsRef<float>(&NativePtr->KeyRepeatRate); | ||||
|         public ref bool ConfigDebugBeginReturnValueOnce => ref Unsafe.AsRef<bool>(&NativePtr->ConfigDebugBeginReturnValueOnce); | ||||
|         public ref bool ConfigDebugBeginReturnValueLoop => ref Unsafe.AsRef<bool>(&NativePtr->ConfigDebugBeginReturnValueLoop); | ||||
|         public ref bool ConfigDebugIgnoreFocusLoss => ref Unsafe.AsRef<bool>(&NativePtr->ConfigDebugIgnoreFocusLoss); | ||||
|         public ref bool ConfigDebugIniSettings => ref Unsafe.AsRef<bool>(&NativePtr->ConfigDebugIniSettings); | ||||
|         public NullTerminatedString BackendPlatformName => new NullTerminatedString(NativePtr->BackendPlatformName); | ||||
|         public NullTerminatedString BackendRendererName => new NullTerminatedString(NativePtr->BackendRendererName); | ||||
|         public IntPtr BackendPlatformUserData { get => (IntPtr)NativePtr->BackendPlatformUserData; set => NativePtr->BackendPlatformUserData = (void*)value; } | ||||
|         public IntPtr BackendRendererUserData { get => (IntPtr)NativePtr->BackendRendererUserData; set => NativePtr->BackendRendererUserData = (void*)value; } | ||||
|         public IntPtr BackendLanguageUserData { get => (IntPtr)NativePtr->BackendLanguageUserData; set => NativePtr->BackendLanguageUserData = (void*)value; } | ||||
|         public ref IntPtr GetClipboardTextFn => ref Unsafe.AsRef<IntPtr>(&NativePtr->GetClipboardTextFn); | ||||
|         public ref IntPtr SetClipboardTextFn => ref Unsafe.AsRef<IntPtr>(&NativePtr->SetClipboardTextFn); | ||||
|         public IntPtr ClipboardUserData { get => (IntPtr)NativePtr->ClipboardUserData; set => NativePtr->ClipboardUserData = (void*)value; } | ||||
|         public ref IntPtr SetPlatformImeDataFn => ref Unsafe.AsRef<IntPtr>(&NativePtr->SetPlatformImeDataFn); | ||||
|         public ref ushort PlatformLocaleDecimalPoint => ref Unsafe.AsRef<ushort>(&NativePtr->PlatformLocaleDecimalPoint); | ||||
|         public ref bool WantCaptureMouse => ref Unsafe.AsRef<bool>(&NativePtr->WantCaptureMouse); | ||||
|         public ref bool WantCaptureKeyboard => ref Unsafe.AsRef<bool>(&NativePtr->WantCaptureKeyboard); | ||||
|         public ref bool WantTextInput => ref Unsafe.AsRef<bool>(&NativePtr->WantTextInput); | ||||
|         public ref bool WantSetMousePos => ref Unsafe.AsRef<bool>(&NativePtr->WantSetMousePos); | ||||
|         public ref bool WantSaveIniSettings => ref Unsafe.AsRef<bool>(&NativePtr->WantSaveIniSettings); | ||||
|         public ref bool NavActive => ref Unsafe.AsRef<bool>(&NativePtr->NavActive); | ||||
|         public ref bool NavVisible => ref Unsafe.AsRef<bool>(&NativePtr->NavVisible); | ||||
|         public ref float Framerate => ref Unsafe.AsRef<float>(&NativePtr->Framerate); | ||||
|         public ref int MetricsRenderVertices => ref Unsafe.AsRef<int>(&NativePtr->MetricsRenderVertices); | ||||
|         public ref int MetricsRenderIndices => ref Unsafe.AsRef<int>(&NativePtr->MetricsRenderIndices); | ||||
|         public ref int MetricsRenderWindows => ref Unsafe.AsRef<int>(&NativePtr->MetricsRenderWindows); | ||||
|         public ref int MetricsActiveWindows => ref Unsafe.AsRef<int>(&NativePtr->MetricsActiveWindows); | ||||
|         public ref Vector2 MouseDelta => ref Unsafe.AsRef<Vector2>(&NativePtr->MouseDelta); | ||||
|         public IntPtr _UnusedPadding { get => (IntPtr)NativePtr->_UnusedPadding; set => NativePtr->_UnusedPadding = (void*)value; } | ||||
|         public ref IntPtr Ctx => ref Unsafe.AsRef<IntPtr>(&NativePtr->Ctx); | ||||
|         public ref Vector2 MousePos => ref Unsafe.AsRef<Vector2>(&NativePtr->MousePos); | ||||
|         public RangeAccessor<bool> MouseDown => new RangeAccessor<bool>(NativePtr->MouseDown, 5); | ||||
|         public ref float MouseWheel => ref Unsafe.AsRef<float>(&NativePtr->MouseWheel); | ||||
|         public ref float MouseWheelH => ref Unsafe.AsRef<float>(&NativePtr->MouseWheelH); | ||||
|         public ref ImGuiMouseSource MouseSource => ref Unsafe.AsRef<ImGuiMouseSource>(&NativePtr->MouseSource); | ||||
|         public ref uint MouseHoveredViewport => ref Unsafe.AsRef<uint>(&NativePtr->MouseHoveredViewport); | ||||
|         public ref bool KeyCtrl => ref Unsafe.AsRef<bool>(&NativePtr->KeyCtrl); | ||||
|         public ref bool KeyShift => ref Unsafe.AsRef<bool>(&NativePtr->KeyShift); | ||||
|         public ref bool KeyAlt => ref Unsafe.AsRef<bool>(&NativePtr->KeyAlt); | ||||
|         public ref bool KeySuper => ref Unsafe.AsRef<bool>(&NativePtr->KeySuper); | ||||
|         public ref ImGuiKey KeyMods => ref Unsafe.AsRef<ImGuiKey>(&NativePtr->KeyMods); | ||||
|         public RangeAccessor<ImGuiKeyData> KeysData => new RangeAccessor<ImGuiKeyData>(&NativePtr->KeysData_0, 154); | ||||
|         public ref bool WantCaptureMouseUnlessPopupClose => ref Unsafe.AsRef<bool>(&NativePtr->WantCaptureMouseUnlessPopupClose); | ||||
|         public ref Vector2 MousePosPrev => ref Unsafe.AsRef<Vector2>(&NativePtr->MousePosPrev); | ||||
|         public RangeAccessor<Vector2> MouseClickedPos => new RangeAccessor<Vector2>(&NativePtr->MouseClickedPos_0, 5); | ||||
|         public RangeAccessor<double> MouseClickedTime => new RangeAccessor<double>(NativePtr->MouseClickedTime, 5); | ||||
|         public RangeAccessor<bool> MouseClicked => new RangeAccessor<bool>(NativePtr->MouseClicked, 5); | ||||
|         public RangeAccessor<bool> MouseDoubleClicked => new RangeAccessor<bool>(NativePtr->MouseDoubleClicked, 5); | ||||
|         public RangeAccessor<ushort> MouseClickedCount => new RangeAccessor<ushort>(NativePtr->MouseClickedCount, 5); | ||||
|         public RangeAccessor<ushort> MouseClickedLastCount => new RangeAccessor<ushort>(NativePtr->MouseClickedLastCount, 5); | ||||
|         public RangeAccessor<bool> MouseReleased => new RangeAccessor<bool>(NativePtr->MouseReleased, 5); | ||||
|         public RangeAccessor<bool> MouseDownOwned => new RangeAccessor<bool>(NativePtr->MouseDownOwned, 5); | ||||
|         public RangeAccessor<bool> MouseDownOwnedUnlessPopupClose => new RangeAccessor<bool>(NativePtr->MouseDownOwnedUnlessPopupClose, 5); | ||||
|         public ref bool MouseWheelRequestAxisSwap => ref Unsafe.AsRef<bool>(&NativePtr->MouseWheelRequestAxisSwap); | ||||
|         public RangeAccessor<float> MouseDownDuration => new RangeAccessor<float>(NativePtr->MouseDownDuration, 5); | ||||
|         public RangeAccessor<float> MouseDownDurationPrev => new RangeAccessor<float>(NativePtr->MouseDownDurationPrev, 5); | ||||
|         public RangeAccessor<Vector2> MouseDragMaxDistanceAbs => new RangeAccessor<Vector2>(&NativePtr->MouseDragMaxDistanceAbs_0, 5); | ||||
|         public RangeAccessor<float> MouseDragMaxDistanceSqr => new RangeAccessor<float>(NativePtr->MouseDragMaxDistanceSqr, 5); | ||||
|         public ref float PenPressure => ref Unsafe.AsRef<float>(&NativePtr->PenPressure); | ||||
|         public ref bool AppFocusLost => ref Unsafe.AsRef<bool>(&NativePtr->AppFocusLost); | ||||
|         public ref bool AppAcceptingEvents => ref Unsafe.AsRef<bool>(&NativePtr->AppAcceptingEvents); | ||||
|         public ref sbyte BackendUsingLegacyKeyArrays => ref Unsafe.AsRef<sbyte>(&NativePtr->BackendUsingLegacyKeyArrays); | ||||
|         public ref bool BackendUsingLegacyNavInputArray => ref Unsafe.AsRef<bool>(&NativePtr->BackendUsingLegacyNavInputArray); | ||||
|         public ref ushort InputQueueSurrogate => ref Unsafe.AsRef<ushort>(&NativePtr->InputQueueSurrogate); | ||||
|         public ImVector<ushort> InputQueueCharacters => new ImVector<ushort>(NativePtr->InputQueueCharacters); | ||||
|         public void AddFocusEvent(bool focused) | ||||
|         { | ||||
|             byte native_focused = focused ? (byte)1 : (byte)0; | ||||
|             ImGuiNative.ImGuiIO_AddFocusEvent((ImGuiIO*)(NativePtr), native_focused); | ||||
|         } | ||||
|         public void AddInputCharacter(uint c) | ||||
|         { | ||||
|             ImGuiNative.ImGuiIO_AddInputCharacter((ImGuiIO*)(NativePtr), c); | ||||
|         } | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         public void AddInputCharactersUTF8(ReadOnlySpan<char> str) | ||||
|         { | ||||
|             byte* native_str; | ||||
|             int str_byteCount = 0; | ||||
|             if (str != null) | ||||
|             { | ||||
|                 str_byteCount = Encoding.UTF8.GetByteCount(str); | ||||
|                 if (str_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_str = Util.Allocate(str_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_str_stackBytes = stackalloc byte[str_byteCount + 1]; | ||||
|                     native_str = native_str_stackBytes; | ||||
|                 } | ||||
|                 int native_str_offset = Util.GetUtf8(str, native_str, str_byteCount); | ||||
|                 native_str[native_str_offset] = 0; | ||||
|             } | ||||
|             else { native_str = null; } | ||||
|             ImGuiNative.ImGuiIO_AddInputCharactersUTF8((ImGuiIO*)(NativePtr), native_str); | ||||
|             if (str_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_str); | ||||
|             } | ||||
|         } | ||||
| #endif | ||||
|         public void AddInputCharactersUTF8(string str) | ||||
|         { | ||||
|             byte* native_str; | ||||
|             int str_byteCount = 0; | ||||
|             if (str != null) | ||||
|             { | ||||
|                 str_byteCount = Encoding.UTF8.GetByteCount(str); | ||||
|                 if (str_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_str = Util.Allocate(str_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_str_stackBytes = stackalloc byte[str_byteCount + 1]; | ||||
|                     native_str = native_str_stackBytes; | ||||
|                 } | ||||
|                 int native_str_offset = Util.GetUtf8(str, native_str, str_byteCount); | ||||
|                 native_str[native_str_offset] = 0; | ||||
|             } | ||||
|             else { native_str = null; } | ||||
|             ImGuiNative.ImGuiIO_AddInputCharactersUTF8((ImGuiIO*)(NativePtr), native_str); | ||||
|             if (str_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_str); | ||||
|             } | ||||
|         } | ||||
|         public void AddInputCharacterUTF16(ushort c) | ||||
|         { | ||||
|             ImGuiNative.ImGuiIO_AddInputCharacterUTF16((ImGuiIO*)(NativePtr), c); | ||||
|         } | ||||
|         public void AddKeyAnalogEvent(ImGuiKey key, bool down, float v) | ||||
|         { | ||||
|             byte native_down = down ? (byte)1 : (byte)0; | ||||
|             ImGuiNative.ImGuiIO_AddKeyAnalogEvent((ImGuiIO*)(NativePtr), key, native_down, v); | ||||
|         } | ||||
|         public void AddKeyEvent(ImGuiKey key, bool down) | ||||
|         { | ||||
|             byte native_down = down ? (byte)1 : (byte)0; | ||||
|             ImGuiNative.ImGuiIO_AddKeyEvent((ImGuiIO*)(NativePtr), key, native_down); | ||||
|         } | ||||
|         public void AddMouseButtonEvent(int button, bool down) | ||||
|         { | ||||
|             byte native_down = down ? (byte)1 : (byte)0; | ||||
|             ImGuiNative.ImGuiIO_AddMouseButtonEvent((ImGuiIO*)(NativePtr), button, native_down); | ||||
|         } | ||||
|         public void AddMousePosEvent(float x, float y) | ||||
|         { | ||||
|             ImGuiNative.ImGuiIO_AddMousePosEvent((ImGuiIO*)(NativePtr), x, y); | ||||
|         } | ||||
|         public void AddMouseSourceEvent(ImGuiMouseSource source) | ||||
|         { | ||||
|             ImGuiNative.ImGuiIO_AddMouseSourceEvent((ImGuiIO*)(NativePtr), source); | ||||
|         } | ||||
|         public void AddMouseViewportEvent(uint id) | ||||
|         { | ||||
|             ImGuiNative.ImGuiIO_AddMouseViewportEvent((ImGuiIO*)(NativePtr), id); | ||||
|         } | ||||
|         public void AddMouseWheelEvent(float wheel_x, float wheel_y) | ||||
|         { | ||||
|             ImGuiNative.ImGuiIO_AddMouseWheelEvent((ImGuiIO*)(NativePtr), wheel_x, wheel_y); | ||||
|         } | ||||
|         public void ClearEventsQueue() | ||||
|         { | ||||
|             ImGuiNative.ImGuiIO_ClearEventsQueue((ImGuiIO*)(NativePtr)); | ||||
|         } | ||||
|         public void ClearInputKeys() | ||||
|         { | ||||
|             ImGuiNative.ImGuiIO_ClearInputKeys((ImGuiIO*)(NativePtr)); | ||||
|         } | ||||
|         public void Destroy() | ||||
|         { | ||||
|             ImGuiNative.ImGuiIO_destroy((ImGuiIO*)(NativePtr)); | ||||
|         } | ||||
|         public void SetAppAcceptingEvents(bool accepting_events) | ||||
|         { | ||||
|             byte native_accepting_events = accepting_events ? (byte)1 : (byte)0; | ||||
|             ImGuiNative.ImGuiIO_SetAppAcceptingEvents((ImGuiIO*)(NativePtr), native_accepting_events); | ||||
|         } | ||||
|         public void SetKeyEventNativeData(ImGuiKey key, int native_keycode, int native_scancode) | ||||
|         { | ||||
|             int native_legacy_index = -1; | ||||
|             ImGuiNative.ImGuiIO_SetKeyEventNativeData((ImGuiIO*)(NativePtr), key, native_keycode, native_scancode, native_legacy_index); | ||||
|         } | ||||
|         public void SetKeyEventNativeData(ImGuiKey key, int native_keycode, int native_scancode, int native_legacy_index) | ||||
|         { | ||||
|             ImGuiNative.ImGuiIO_SetKeyEventNativeData((ImGuiIO*)(NativePtr), key, native_keycode, native_scancode, native_legacy_index); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										121
									
								
								lib/ImGui.NET/Generated/ImGuiInputTextCallbackData.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										121
									
								
								lib/ImGui.NET/Generated/ImGuiInputTextCallbackData.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,121 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImGuiInputTextCallbackData | ||||
|     { | ||||
|         public IntPtr Ctx; | ||||
|         public ImGuiInputTextFlags EventFlag; | ||||
|         public ImGuiInputTextFlags Flags; | ||||
|         public void* UserData; | ||||
|         public ushort EventChar; | ||||
|         public ImGuiKey EventKey; | ||||
|         public byte* Buf; | ||||
|         public int BufTextLen; | ||||
|         public int BufSize; | ||||
|         public byte BufDirty; | ||||
|         public int CursorPos; | ||||
|         public int SelectionStart; | ||||
|         public int SelectionEnd; | ||||
|     } | ||||
|     public unsafe partial struct ImGuiInputTextCallbackDataPtr | ||||
|     { | ||||
|         public ImGuiInputTextCallbackData* NativePtr { get; } | ||||
|         public ImGuiInputTextCallbackDataPtr(ImGuiInputTextCallbackData* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImGuiInputTextCallbackDataPtr(IntPtr nativePtr) => NativePtr = (ImGuiInputTextCallbackData*)nativePtr; | ||||
|         public static implicit operator ImGuiInputTextCallbackDataPtr(ImGuiInputTextCallbackData* nativePtr) => new ImGuiInputTextCallbackDataPtr(nativePtr); | ||||
|         public static implicit operator ImGuiInputTextCallbackData* (ImGuiInputTextCallbackDataPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImGuiInputTextCallbackDataPtr(IntPtr nativePtr) => new ImGuiInputTextCallbackDataPtr(nativePtr); | ||||
|         public ref IntPtr Ctx => ref Unsafe.AsRef<IntPtr>(&NativePtr->Ctx); | ||||
|         public ref ImGuiInputTextFlags EventFlag => ref Unsafe.AsRef<ImGuiInputTextFlags>(&NativePtr->EventFlag); | ||||
|         public ref ImGuiInputTextFlags Flags => ref Unsafe.AsRef<ImGuiInputTextFlags>(&NativePtr->Flags); | ||||
|         public IntPtr UserData { get => (IntPtr)NativePtr->UserData; set => NativePtr->UserData = (void*)value; } | ||||
|         public ref ushort EventChar => ref Unsafe.AsRef<ushort>(&NativePtr->EventChar); | ||||
|         public ref ImGuiKey EventKey => ref Unsafe.AsRef<ImGuiKey>(&NativePtr->EventKey); | ||||
|         public IntPtr Buf { get => (IntPtr)NativePtr->Buf; set => NativePtr->Buf = (byte*)value; } | ||||
|         public ref int BufTextLen => ref Unsafe.AsRef<int>(&NativePtr->BufTextLen); | ||||
|         public ref int BufSize => ref Unsafe.AsRef<int>(&NativePtr->BufSize); | ||||
|         public ref bool BufDirty => ref Unsafe.AsRef<bool>(&NativePtr->BufDirty); | ||||
|         public ref int CursorPos => ref Unsafe.AsRef<int>(&NativePtr->CursorPos); | ||||
|         public ref int SelectionStart => ref Unsafe.AsRef<int>(&NativePtr->SelectionStart); | ||||
|         public ref int SelectionEnd => ref Unsafe.AsRef<int>(&NativePtr->SelectionEnd); | ||||
|         public void ClearSelection() | ||||
|         { | ||||
|             ImGuiNative.ImGuiInputTextCallbackData_ClearSelection((ImGuiInputTextCallbackData*)(NativePtr)); | ||||
|         } | ||||
|         public void DeleteChars(int pos, int bytes_count) | ||||
|         { | ||||
|             ImGuiNative.ImGuiInputTextCallbackData_DeleteChars((ImGuiInputTextCallbackData*)(NativePtr), pos, bytes_count); | ||||
|         } | ||||
|         public void Destroy() | ||||
|         { | ||||
|             ImGuiNative.ImGuiInputTextCallbackData_destroy((ImGuiInputTextCallbackData*)(NativePtr)); | ||||
|         } | ||||
|         public bool HasSelection() | ||||
|         { | ||||
|             byte ret = ImGuiNative.ImGuiInputTextCallbackData_HasSelection((ImGuiInputTextCallbackData*)(NativePtr)); | ||||
|             return ret != 0; | ||||
|         } | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         public void InsertChars(int pos, ReadOnlySpan<char> text) | ||||
|         { | ||||
|             byte* native_text; | ||||
|             int text_byteCount = 0; | ||||
|             if (text != null) | ||||
|             { | ||||
|                 text_byteCount = Encoding.UTF8.GetByteCount(text); | ||||
|                 if (text_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_text = Util.Allocate(text_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_text_stackBytes = stackalloc byte[text_byteCount + 1]; | ||||
|                     native_text = native_text_stackBytes; | ||||
|                 } | ||||
|                 int native_text_offset = Util.GetUtf8(text, native_text, text_byteCount); | ||||
|                 native_text[native_text_offset] = 0; | ||||
|             } | ||||
|             else { native_text = null; } | ||||
|             ImGuiNative.ImGuiInputTextCallbackData_InsertChars((ImGuiInputTextCallbackData*)(NativePtr), pos, native_text, native_text+text_byteCount); | ||||
|             if (text_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_text); | ||||
|             } | ||||
|         } | ||||
| #endif | ||||
|         public void InsertChars(int pos, string text) | ||||
|         { | ||||
|             byte* native_text; | ||||
|             int text_byteCount = 0; | ||||
|             if (text != null) | ||||
|             { | ||||
|                 text_byteCount = Encoding.UTF8.GetByteCount(text); | ||||
|                 if (text_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_text = Util.Allocate(text_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_text_stackBytes = stackalloc byte[text_byteCount + 1]; | ||||
|                     native_text = native_text_stackBytes; | ||||
|                 } | ||||
|                 int native_text_offset = Util.GetUtf8(text, native_text, text_byteCount); | ||||
|                 native_text[native_text_offset] = 0; | ||||
|             } | ||||
|             else { native_text = null; } | ||||
|             ImGuiNative.ImGuiInputTextCallbackData_InsertChars((ImGuiInputTextCallbackData*)(NativePtr), pos, native_text, native_text+text_byteCount); | ||||
|             if (text_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_text); | ||||
|             } | ||||
|         } | ||||
|         public void SelectAll() | ||||
|         { | ||||
|             ImGuiNative.ImGuiInputTextCallbackData_SelectAll((ImGuiInputTextCallbackData*)(NativePtr)); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										29
									
								
								lib/ImGui.NET/Generated/ImGuiInputTextFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								lib/ImGui.NET/Generated/ImGuiInputTextFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,29 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [System.Flags] | ||||
|     public enum ImGuiInputTextFlags | ||||
|     { | ||||
|         None = 0, | ||||
|         CharsDecimal = 1, | ||||
|         CharsHexadecimal = 2, | ||||
|         CharsUppercase = 4, | ||||
|         CharsNoBlank = 8, | ||||
|         AutoSelectAll = 16, | ||||
|         EnterReturnsTrue = 32, | ||||
|         CallbackCompletion = 64, | ||||
|         CallbackHistory = 128, | ||||
|         CallbackAlways = 256, | ||||
|         CallbackCharFilter = 512, | ||||
|         AllowTabInput = 1024, | ||||
|         CtrlEnterForNewLine = 2048, | ||||
|         NoHorizontalScroll = 4096, | ||||
|         AlwaysOverwrite = 8192, | ||||
|         ReadOnly = 16384, | ||||
|         Password = 32768, | ||||
|         NoUndoRedo = 65536, | ||||
|         CharsScientific = 131072, | ||||
|         CallbackResize = 262144, | ||||
|         CallbackEdit = 524288, | ||||
|         EscapeClearsAll = 1048576, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										174
									
								
								lib/ImGui.NET/Generated/ImGuiKey.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										174
									
								
								lib/ImGui.NET/Generated/ImGuiKey.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,174 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public enum ImGuiKey | ||||
|     { | ||||
|         None = 0, | ||||
|         Tab = 512, | ||||
|         LeftArrow = 513, | ||||
|         RightArrow = 514, | ||||
|         UpArrow = 515, | ||||
|         DownArrow = 516, | ||||
|         PageUp = 517, | ||||
|         PageDown = 518, | ||||
|         Home = 519, | ||||
|         End = 520, | ||||
|         Insert = 521, | ||||
|         Delete = 522, | ||||
|         Backspace = 523, | ||||
|         Space = 524, | ||||
|         Enter = 525, | ||||
|         Escape = 526, | ||||
|         LeftCtrl = 527, | ||||
|         LeftShift = 528, | ||||
|         LeftAlt = 529, | ||||
|         LeftSuper = 530, | ||||
|         RightCtrl = 531, | ||||
|         RightShift = 532, | ||||
|         RightAlt = 533, | ||||
|         RightSuper = 534, | ||||
|         Menu = 535, | ||||
|         _0 = 536, | ||||
|         _1 = 537, | ||||
|         _2 = 538, | ||||
|         _3 = 539, | ||||
|         _4 = 540, | ||||
|         _5 = 541, | ||||
|         _6 = 542, | ||||
|         _7 = 543, | ||||
|         _8 = 544, | ||||
|         _9 = 545, | ||||
|         A = 546, | ||||
|         B = 547, | ||||
|         C = 548, | ||||
|         D = 549, | ||||
|         E = 550, | ||||
|         F = 551, | ||||
|         G = 552, | ||||
|         H = 553, | ||||
|         I = 554, | ||||
|         J = 555, | ||||
|         K = 556, | ||||
|         L = 557, | ||||
|         M = 558, | ||||
|         N = 559, | ||||
|         O = 560, | ||||
|         P = 561, | ||||
|         Q = 562, | ||||
|         R = 563, | ||||
|         S = 564, | ||||
|         T = 565, | ||||
|         U = 566, | ||||
|         V = 567, | ||||
|         W = 568, | ||||
|         X = 569, | ||||
|         Y = 570, | ||||
|         Z = 571, | ||||
|         F1 = 572, | ||||
|         F2 = 573, | ||||
|         F3 = 574, | ||||
|         F4 = 575, | ||||
|         F5 = 576, | ||||
|         F6 = 577, | ||||
|         F7 = 578, | ||||
|         F8 = 579, | ||||
|         F9 = 580, | ||||
|         F10 = 581, | ||||
|         F11 = 582, | ||||
|         F12 = 583, | ||||
|         F13 = 584, | ||||
|         F14 = 585, | ||||
|         F15 = 586, | ||||
|         F16 = 587, | ||||
|         F17 = 588, | ||||
|         F18 = 589, | ||||
|         F19 = 590, | ||||
|         F20 = 591, | ||||
|         F21 = 592, | ||||
|         F22 = 593, | ||||
|         F23 = 594, | ||||
|         F24 = 595, | ||||
|         Apostrophe = 596, | ||||
|         Comma = 597, | ||||
|         Minus = 598, | ||||
|         Period = 599, | ||||
|         Slash = 600, | ||||
|         Semicolon = 601, | ||||
|         Equal = 602, | ||||
|         LeftBracket = 603, | ||||
|         Backslash = 604, | ||||
|         RightBracket = 605, | ||||
|         GraveAccent = 606, | ||||
|         CapsLock = 607, | ||||
|         ScrollLock = 608, | ||||
|         NumLock = 609, | ||||
|         PrintScreen = 610, | ||||
|         Pause = 611, | ||||
|         Keypad0 = 612, | ||||
|         Keypad1 = 613, | ||||
|         Keypad2 = 614, | ||||
|         Keypad3 = 615, | ||||
|         Keypad4 = 616, | ||||
|         Keypad5 = 617, | ||||
|         Keypad6 = 618, | ||||
|         Keypad7 = 619, | ||||
|         Keypad8 = 620, | ||||
|         Keypad9 = 621, | ||||
|         KeypadDecimal = 622, | ||||
|         KeypadDivide = 623, | ||||
|         KeypadMultiply = 624, | ||||
|         KeypadSubtract = 625, | ||||
|         KeypadAdd = 626, | ||||
|         KeypadEnter = 627, | ||||
|         KeypadEqual = 628, | ||||
|         AppBack = 629, | ||||
|         AppForward = 630, | ||||
|         GamepadStart = 631, | ||||
|         GamepadBack = 632, | ||||
|         GamepadFaceLeft = 633, | ||||
|         GamepadFaceRight = 634, | ||||
|         GamepadFaceUp = 635, | ||||
|         GamepadFaceDown = 636, | ||||
|         GamepadDpadLeft = 637, | ||||
|         GamepadDpadRight = 638, | ||||
|         GamepadDpadUp = 639, | ||||
|         GamepadDpadDown = 640, | ||||
|         GamepadL1 = 641, | ||||
|         GamepadR1 = 642, | ||||
|         GamepadL2 = 643, | ||||
|         GamepadR2 = 644, | ||||
|         GamepadL3 = 645, | ||||
|         GamepadR3 = 646, | ||||
|         GamepadLStickLeft = 647, | ||||
|         GamepadLStickRight = 648, | ||||
|         GamepadLStickUp = 649, | ||||
|         GamepadLStickDown = 650, | ||||
|         GamepadRStickLeft = 651, | ||||
|         GamepadRStickRight = 652, | ||||
|         GamepadRStickUp = 653, | ||||
|         GamepadRStickDown = 654, | ||||
|         MouseLeft = 655, | ||||
|         MouseRight = 656, | ||||
|         MouseMiddle = 657, | ||||
|         MouseX1 = 658, | ||||
|         MouseX2 = 659, | ||||
|         MouseWheelX = 660, | ||||
|         MouseWheelY = 661, | ||||
|         ReservedForModCtrl = 662, | ||||
|         ReservedForModShift = 663, | ||||
|         ReservedForModAlt = 664, | ||||
|         ReservedForModSuper = 665, | ||||
|         COUNT = 666, | ||||
|         ModNone = 0, | ||||
|         ModCtrl = 4096, | ||||
|         ModShift = 8192, | ||||
|         ModAlt = 16384, | ||||
|         ModSuper = 32768, | ||||
|         ModShortcut = 2048, | ||||
|         ModMask = 63488, | ||||
|         NamedKey_BEGIN = 512, | ||||
|         NamedKey_END = 666, | ||||
|         NamedKey_COUNT = 154, | ||||
|         KeysData_SIZE = 154, | ||||
|         KeysData_OFFSET = 512, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										28
									
								
								lib/ImGui.NET/Generated/ImGuiKeyData.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								lib/ImGui.NET/Generated/ImGuiKeyData.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImGuiKeyData | ||||
|     { | ||||
|         public byte Down; | ||||
|         public float DownDuration; | ||||
|         public float DownDurationPrev; | ||||
|         public float AnalogValue; | ||||
|     } | ||||
|     public unsafe partial struct ImGuiKeyDataPtr | ||||
|     { | ||||
|         public ImGuiKeyData* NativePtr { get; } | ||||
|         public ImGuiKeyDataPtr(ImGuiKeyData* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImGuiKeyDataPtr(IntPtr nativePtr) => NativePtr = (ImGuiKeyData*)nativePtr; | ||||
|         public static implicit operator ImGuiKeyDataPtr(ImGuiKeyData* nativePtr) => new ImGuiKeyDataPtr(nativePtr); | ||||
|         public static implicit operator ImGuiKeyData* (ImGuiKeyDataPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImGuiKeyDataPtr(IntPtr nativePtr) => new ImGuiKeyDataPtr(nativePtr); | ||||
|         public ref bool Down => ref Unsafe.AsRef<bool>(&NativePtr->Down); | ||||
|         public ref float DownDuration => ref Unsafe.AsRef<float>(&NativePtr->DownDuration); | ||||
|         public ref float DownDurationPrev => ref Unsafe.AsRef<float>(&NativePtr->DownDurationPrev); | ||||
|         public ref float AnalogValue => ref Unsafe.AsRef<float>(&NativePtr->AnalogValue); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										60
									
								
								lib/ImGui.NET/Generated/ImGuiListClipper.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								lib/ImGui.NET/Generated/ImGuiListClipper.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,60 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImGuiListClipper | ||||
|     { | ||||
|         public IntPtr Ctx; | ||||
|         public int DisplayStart; | ||||
|         public int DisplayEnd; | ||||
|         public int ItemsCount; | ||||
|         public float ItemsHeight; | ||||
|         public float StartPosY; | ||||
|         public void* TempData; | ||||
|     } | ||||
|     public unsafe partial struct ImGuiListClipperPtr | ||||
|     { | ||||
|         public ImGuiListClipper* NativePtr { get; } | ||||
|         public ImGuiListClipperPtr(ImGuiListClipper* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImGuiListClipperPtr(IntPtr nativePtr) => NativePtr = (ImGuiListClipper*)nativePtr; | ||||
|         public static implicit operator ImGuiListClipperPtr(ImGuiListClipper* nativePtr) => new ImGuiListClipperPtr(nativePtr); | ||||
|         public static implicit operator ImGuiListClipper* (ImGuiListClipperPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImGuiListClipperPtr(IntPtr nativePtr) => new ImGuiListClipperPtr(nativePtr); | ||||
|         public ref IntPtr Ctx => ref Unsafe.AsRef<IntPtr>(&NativePtr->Ctx); | ||||
|         public ref int DisplayStart => ref Unsafe.AsRef<int>(&NativePtr->DisplayStart); | ||||
|         public ref int DisplayEnd => ref Unsafe.AsRef<int>(&NativePtr->DisplayEnd); | ||||
|         public ref int ItemsCount => ref Unsafe.AsRef<int>(&NativePtr->ItemsCount); | ||||
|         public ref float ItemsHeight => ref Unsafe.AsRef<float>(&NativePtr->ItemsHeight); | ||||
|         public ref float StartPosY => ref Unsafe.AsRef<float>(&NativePtr->StartPosY); | ||||
|         public IntPtr TempData { get => (IntPtr)NativePtr->TempData; set => NativePtr->TempData = (void*)value; } | ||||
|         public void Begin(int items_count) | ||||
|         { | ||||
|             float items_height = -1.0f; | ||||
|             ImGuiNative.ImGuiListClipper_Begin((ImGuiListClipper*)(NativePtr), items_count, items_height); | ||||
|         } | ||||
|         public void Begin(int items_count, float items_height) | ||||
|         { | ||||
|             ImGuiNative.ImGuiListClipper_Begin((ImGuiListClipper*)(NativePtr), items_count, items_height); | ||||
|         } | ||||
|         public void Destroy() | ||||
|         { | ||||
|             ImGuiNative.ImGuiListClipper_destroy((ImGuiListClipper*)(NativePtr)); | ||||
|         } | ||||
|         public void End() | ||||
|         { | ||||
|             ImGuiNative.ImGuiListClipper_End((ImGuiListClipper*)(NativePtr)); | ||||
|         } | ||||
|         public void IncludeItemByIndex(int item_index) | ||||
|         { | ||||
|             ImGuiNative.ImGuiListClipper_IncludeItemByIndex((ImGuiListClipper*)(NativePtr), item_index); | ||||
|         } | ||||
|         public bool Step() | ||||
|         { | ||||
|             byte ret = ImGuiNative.ImGuiListClipper_Step((ImGuiListClipper*)(NativePtr)); | ||||
|             return ret != 0; | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										12
									
								
								lib/ImGui.NET/Generated/ImGuiModFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								lib/ImGui.NET/Generated/ImGuiModFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [System.Flags] | ||||
|     public enum ImGuiModFlags | ||||
|     { | ||||
|         None = 0, | ||||
|         Ctrl = 1, | ||||
|         Shift = 2, | ||||
|         Alt = 4, | ||||
|         Super = 8, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										10
									
								
								lib/ImGui.NET/Generated/ImGuiMouseButton.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								lib/ImGui.NET/Generated/ImGuiMouseButton.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public enum ImGuiMouseButton | ||||
|     { | ||||
|         Left = 0, | ||||
|         Right = 1, | ||||
|         Middle = 2, | ||||
|         COUNT = 5, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										17
									
								
								lib/ImGui.NET/Generated/ImGuiMouseCursor.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								lib/ImGui.NET/Generated/ImGuiMouseCursor.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public enum ImGuiMouseCursor | ||||
|     { | ||||
|         None = -1, | ||||
|         Arrow = 0, | ||||
|         TextInput = 1, | ||||
|         ResizeAll = 2, | ||||
|         ResizeNS = 3, | ||||
|         ResizeEW = 4, | ||||
|         ResizeNESW = 5, | ||||
|         ResizeNWSE = 6, | ||||
|         Hand = 7, | ||||
|         NotAllowed = 8, | ||||
|         COUNT = 9, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										10
									
								
								lib/ImGui.NET/Generated/ImGuiMouseSource.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								lib/ImGui.NET/Generated/ImGuiMouseSource.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public enum ImGuiMouseSource | ||||
|     { | ||||
|         Mouse = 0, | ||||
|         TouchScreen = 1, | ||||
|         Pen = 2, | ||||
|         COUNT = 3, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										1296
									
								
								lib/ImGui.NET/Generated/ImGuiNative.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1296
									
								
								lib/ImGui.NET/Generated/ImGuiNative.gen.cs
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										23
									
								
								lib/ImGui.NET/Generated/ImGuiNavInput.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								lib/ImGui.NET/Generated/ImGuiNavInput.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public enum ImGuiNavInput | ||||
|     { | ||||
|         Activate = 0, | ||||
|         Cancel = 1, | ||||
|         Input = 2, | ||||
|         Menu = 3, | ||||
|         DpadLeft = 4, | ||||
|         DpadRight = 5, | ||||
|         DpadUp = 6, | ||||
|         DpadDown = 7, | ||||
|         LStickLeft = 8, | ||||
|         LStickRight = 9, | ||||
|         LStickUp = 10, | ||||
|         LStickDown = 11, | ||||
|         FocusPrev = 12, | ||||
|         FocusNext = 13, | ||||
|         TweakSlow = 14, | ||||
|         TweakFast = 15, | ||||
|         COUNT = 16, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										26
									
								
								lib/ImGui.NET/Generated/ImGuiOnceUponAFrame.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								lib/ImGui.NET/Generated/ImGuiOnceUponAFrame.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImGuiOnceUponAFrame | ||||
|     { | ||||
|         public int RefFrame; | ||||
|     } | ||||
|     public unsafe partial struct ImGuiOnceUponAFramePtr | ||||
|     { | ||||
|         public ImGuiOnceUponAFrame* NativePtr { get; } | ||||
|         public ImGuiOnceUponAFramePtr(ImGuiOnceUponAFrame* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImGuiOnceUponAFramePtr(IntPtr nativePtr) => NativePtr = (ImGuiOnceUponAFrame*)nativePtr; | ||||
|         public static implicit operator ImGuiOnceUponAFramePtr(ImGuiOnceUponAFrame* nativePtr) => new ImGuiOnceUponAFramePtr(nativePtr); | ||||
|         public static implicit operator ImGuiOnceUponAFrame* (ImGuiOnceUponAFramePtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImGuiOnceUponAFramePtr(IntPtr nativePtr) => new ImGuiOnceUponAFramePtr(nativePtr); | ||||
|         public ref int RefFrame => ref Unsafe.AsRef<int>(&NativePtr->RefFrame); | ||||
|         public void Destroy() | ||||
|         { | ||||
|             ImGuiNative.ImGuiOnceUponAFrame_destroy((ImGuiOnceUponAFrame*)(NativePtr)); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										110
									
								
								lib/ImGui.NET/Generated/ImGuiPayload.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										110
									
								
								lib/ImGui.NET/Generated/ImGuiPayload.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,110 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImGuiPayload | ||||
|     { | ||||
|         public void* Data; | ||||
|         public int DataSize; | ||||
|         public uint SourceId; | ||||
|         public uint SourceParentId; | ||||
|         public int DataFrameCount; | ||||
|         public fixed byte DataType[33]; | ||||
|         public byte Preview; | ||||
|         public byte Delivery; | ||||
|     } | ||||
|     public unsafe partial struct ImGuiPayloadPtr | ||||
|     { | ||||
|         public ImGuiPayload* NativePtr { get; } | ||||
|         public ImGuiPayloadPtr(ImGuiPayload* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImGuiPayloadPtr(IntPtr nativePtr) => NativePtr = (ImGuiPayload*)nativePtr; | ||||
|         public static implicit operator ImGuiPayloadPtr(ImGuiPayload* nativePtr) => new ImGuiPayloadPtr(nativePtr); | ||||
|         public static implicit operator ImGuiPayload* (ImGuiPayloadPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImGuiPayloadPtr(IntPtr nativePtr) => new ImGuiPayloadPtr(nativePtr); | ||||
|         public IntPtr Data { get => (IntPtr)NativePtr->Data; set => NativePtr->Data = (void*)value; } | ||||
|         public ref int DataSize => ref Unsafe.AsRef<int>(&NativePtr->DataSize); | ||||
|         public ref uint SourceId => ref Unsafe.AsRef<uint>(&NativePtr->SourceId); | ||||
|         public ref uint SourceParentId => ref Unsafe.AsRef<uint>(&NativePtr->SourceParentId); | ||||
|         public ref int DataFrameCount => ref Unsafe.AsRef<int>(&NativePtr->DataFrameCount); | ||||
|         public RangeAccessor<byte> DataType => new RangeAccessor<byte>(NativePtr->DataType, 33); | ||||
|         public ref bool Preview => ref Unsafe.AsRef<bool>(&NativePtr->Preview); | ||||
|         public ref bool Delivery => ref Unsafe.AsRef<bool>(&NativePtr->Delivery); | ||||
|         public void Clear() | ||||
|         { | ||||
|             ImGuiNative.ImGuiPayload_Clear((ImGuiPayload*)(NativePtr)); | ||||
|         } | ||||
|         public void Destroy() | ||||
|         { | ||||
|             ImGuiNative.ImGuiPayload_destroy((ImGuiPayload*)(NativePtr)); | ||||
|         } | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         public bool IsDataType(ReadOnlySpan<char> type) | ||||
|         { | ||||
|             byte* native_type; | ||||
|             int type_byteCount = 0; | ||||
|             if (type != null) | ||||
|             { | ||||
|                 type_byteCount = Encoding.UTF8.GetByteCount(type); | ||||
|                 if (type_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_type = Util.Allocate(type_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_type_stackBytes = stackalloc byte[type_byteCount + 1]; | ||||
|                     native_type = native_type_stackBytes; | ||||
|                 } | ||||
|                 int native_type_offset = Util.GetUtf8(type, native_type, type_byteCount); | ||||
|                 native_type[native_type_offset] = 0; | ||||
|             } | ||||
|             else { native_type = null; } | ||||
|             byte ret = ImGuiNative.ImGuiPayload_IsDataType((ImGuiPayload*)(NativePtr), native_type); | ||||
|             if (type_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_type); | ||||
|             } | ||||
|             return ret != 0; | ||||
|         } | ||||
| #endif | ||||
|         public bool IsDataType(string type) | ||||
|         { | ||||
|             byte* native_type; | ||||
|             int type_byteCount = 0; | ||||
|             if (type != null) | ||||
|             { | ||||
|                 type_byteCount = Encoding.UTF8.GetByteCount(type); | ||||
|                 if (type_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_type = Util.Allocate(type_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_type_stackBytes = stackalloc byte[type_byteCount + 1]; | ||||
|                     native_type = native_type_stackBytes; | ||||
|                 } | ||||
|                 int native_type_offset = Util.GetUtf8(type, native_type, type_byteCount); | ||||
|                 native_type[native_type_offset] = 0; | ||||
|             } | ||||
|             else { native_type = null; } | ||||
|             byte ret = ImGuiNative.ImGuiPayload_IsDataType((ImGuiPayload*)(NativePtr), native_type); | ||||
|             if (type_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_type); | ||||
|             } | ||||
|             return ret != 0; | ||||
|         } | ||||
|         public bool IsDelivery() | ||||
|         { | ||||
|             byte ret = ImGuiNative.ImGuiPayload_IsDelivery((ImGuiPayload*)(NativePtr)); | ||||
|             return ret != 0; | ||||
|         } | ||||
|         public bool IsPreview() | ||||
|         { | ||||
|             byte ret = ImGuiNative.ImGuiPayload_IsPreview((ImGuiPayload*)(NativePtr)); | ||||
|             return ret != 0; | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										74
									
								
								lib/ImGui.NET/Generated/ImGuiPlatformIO.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								lib/ImGui.NET/Generated/ImGuiPlatformIO.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,74 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImGuiPlatformIO | ||||
|     { | ||||
|         public IntPtr Platform_CreateWindow; | ||||
|         public IntPtr Platform_DestroyWindow; | ||||
|         public IntPtr Platform_ShowWindow; | ||||
|         public IntPtr Platform_SetWindowPos; | ||||
|         public IntPtr Platform_GetWindowPos; | ||||
|         public IntPtr Platform_SetWindowSize; | ||||
|         public IntPtr Platform_GetWindowSize; | ||||
|         public IntPtr Platform_SetWindowFocus; | ||||
|         public IntPtr Platform_GetWindowFocus; | ||||
|         public IntPtr Platform_GetWindowMinimized; | ||||
|         public IntPtr Platform_SetWindowTitle; | ||||
|         public IntPtr Platform_SetWindowAlpha; | ||||
|         public IntPtr Platform_UpdateWindow; | ||||
|         public IntPtr Platform_RenderWindow; | ||||
|         public IntPtr Platform_SwapBuffers; | ||||
|         public IntPtr Platform_GetWindowDpiScale; | ||||
|         public IntPtr Platform_OnChangedViewport; | ||||
|         public IntPtr Platform_CreateVkSurface; | ||||
|         public IntPtr Renderer_CreateWindow; | ||||
|         public IntPtr Renderer_DestroyWindow; | ||||
|         public IntPtr Renderer_SetWindowSize; | ||||
|         public IntPtr Renderer_RenderWindow; | ||||
|         public IntPtr Renderer_SwapBuffers; | ||||
|         public ImVector Monitors; | ||||
|         public ImVector Viewports; | ||||
|     } | ||||
|     public unsafe partial struct ImGuiPlatformIOPtr | ||||
|     { | ||||
|         public ImGuiPlatformIO* NativePtr { get; } | ||||
|         public ImGuiPlatformIOPtr(ImGuiPlatformIO* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImGuiPlatformIOPtr(IntPtr nativePtr) => NativePtr = (ImGuiPlatformIO*)nativePtr; | ||||
|         public static implicit operator ImGuiPlatformIOPtr(ImGuiPlatformIO* nativePtr) => new ImGuiPlatformIOPtr(nativePtr); | ||||
|         public static implicit operator ImGuiPlatformIO* (ImGuiPlatformIOPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImGuiPlatformIOPtr(IntPtr nativePtr) => new ImGuiPlatformIOPtr(nativePtr); | ||||
|         public ref IntPtr Platform_CreateWindow => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_CreateWindow); | ||||
|         public ref IntPtr Platform_DestroyWindow => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_DestroyWindow); | ||||
|         public ref IntPtr Platform_ShowWindow => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_ShowWindow); | ||||
|         public ref IntPtr Platform_SetWindowPos => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_SetWindowPos); | ||||
|         public ref IntPtr Platform_GetWindowPos => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_GetWindowPos); | ||||
|         public ref IntPtr Platform_SetWindowSize => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_SetWindowSize); | ||||
|         public ref IntPtr Platform_GetWindowSize => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_GetWindowSize); | ||||
|         public ref IntPtr Platform_SetWindowFocus => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_SetWindowFocus); | ||||
|         public ref IntPtr Platform_GetWindowFocus => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_GetWindowFocus); | ||||
|         public ref IntPtr Platform_GetWindowMinimized => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_GetWindowMinimized); | ||||
|         public ref IntPtr Platform_SetWindowTitle => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_SetWindowTitle); | ||||
|         public ref IntPtr Platform_SetWindowAlpha => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_SetWindowAlpha); | ||||
|         public ref IntPtr Platform_UpdateWindow => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_UpdateWindow); | ||||
|         public ref IntPtr Platform_RenderWindow => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_RenderWindow); | ||||
|         public ref IntPtr Platform_SwapBuffers => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_SwapBuffers); | ||||
|         public ref IntPtr Platform_GetWindowDpiScale => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_GetWindowDpiScale); | ||||
|         public ref IntPtr Platform_OnChangedViewport => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_OnChangedViewport); | ||||
|         public ref IntPtr Platform_CreateVkSurface => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_CreateVkSurface); | ||||
|         public ref IntPtr Renderer_CreateWindow => ref Unsafe.AsRef<IntPtr>(&NativePtr->Renderer_CreateWindow); | ||||
|         public ref IntPtr Renderer_DestroyWindow => ref Unsafe.AsRef<IntPtr>(&NativePtr->Renderer_DestroyWindow); | ||||
|         public ref IntPtr Renderer_SetWindowSize => ref Unsafe.AsRef<IntPtr>(&NativePtr->Renderer_SetWindowSize); | ||||
|         public ref IntPtr Renderer_RenderWindow => ref Unsafe.AsRef<IntPtr>(&NativePtr->Renderer_RenderWindow); | ||||
|         public ref IntPtr Renderer_SwapBuffers => ref Unsafe.AsRef<IntPtr>(&NativePtr->Renderer_SwapBuffers); | ||||
|         public ImPtrVector<ImGuiPlatformMonitorPtr> Monitors => new ImPtrVector<ImGuiPlatformMonitorPtr>(NativePtr->Monitors, Unsafe.SizeOf<ImGuiPlatformMonitor>()); | ||||
|         public ImVector<ImGuiViewportPtr> Viewports => new ImVector<ImGuiViewportPtr>(NativePtr->Viewports); | ||||
|         public void Destroy() | ||||
|         { | ||||
|             ImGuiNative.ImGuiPlatformIO_destroy((ImGuiPlatformIO*)(NativePtr)); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										30
									
								
								lib/ImGui.NET/Generated/ImGuiPlatformImeData.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								lib/ImGui.NET/Generated/ImGuiPlatformImeData.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImGuiPlatformImeData | ||||
|     { | ||||
|         public byte WantVisible; | ||||
|         public Vector2 InputPos; | ||||
|         public float InputLineHeight; | ||||
|     } | ||||
|     public unsafe partial struct ImGuiPlatformImeDataPtr | ||||
|     { | ||||
|         public ImGuiPlatformImeData* NativePtr { get; } | ||||
|         public ImGuiPlatformImeDataPtr(ImGuiPlatformImeData* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImGuiPlatformImeDataPtr(IntPtr nativePtr) => NativePtr = (ImGuiPlatformImeData*)nativePtr; | ||||
|         public static implicit operator ImGuiPlatformImeDataPtr(ImGuiPlatformImeData* nativePtr) => new ImGuiPlatformImeDataPtr(nativePtr); | ||||
|         public static implicit operator ImGuiPlatformImeData* (ImGuiPlatformImeDataPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImGuiPlatformImeDataPtr(IntPtr nativePtr) => new ImGuiPlatformImeDataPtr(nativePtr); | ||||
|         public ref bool WantVisible => ref Unsafe.AsRef<bool>(&NativePtr->WantVisible); | ||||
|         public ref Vector2 InputPos => ref Unsafe.AsRef<Vector2>(&NativePtr->InputPos); | ||||
|         public ref float InputLineHeight => ref Unsafe.AsRef<float>(&NativePtr->InputLineHeight); | ||||
|         public void Destroy() | ||||
|         { | ||||
|             ImGuiNative.ImGuiPlatformImeData_destroy((ImGuiPlatformImeData*)(NativePtr)); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										36
									
								
								lib/ImGui.NET/Generated/ImGuiPlatformMonitor.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								lib/ImGui.NET/Generated/ImGuiPlatformMonitor.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImGuiPlatformMonitor | ||||
|     { | ||||
|         public Vector2 MainPos; | ||||
|         public Vector2 MainSize; | ||||
|         public Vector2 WorkPos; | ||||
|         public Vector2 WorkSize; | ||||
|         public float DpiScale; | ||||
|         public void* PlatformHandle; | ||||
|     } | ||||
|     public unsafe partial struct ImGuiPlatformMonitorPtr | ||||
|     { | ||||
|         public ImGuiPlatformMonitor* NativePtr { get; } | ||||
|         public ImGuiPlatformMonitorPtr(ImGuiPlatformMonitor* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImGuiPlatformMonitorPtr(IntPtr nativePtr) => NativePtr = (ImGuiPlatformMonitor*)nativePtr; | ||||
|         public static implicit operator ImGuiPlatformMonitorPtr(ImGuiPlatformMonitor* nativePtr) => new ImGuiPlatformMonitorPtr(nativePtr); | ||||
|         public static implicit operator ImGuiPlatformMonitor* (ImGuiPlatformMonitorPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImGuiPlatformMonitorPtr(IntPtr nativePtr) => new ImGuiPlatformMonitorPtr(nativePtr); | ||||
|         public ref Vector2 MainPos => ref Unsafe.AsRef<Vector2>(&NativePtr->MainPos); | ||||
|         public ref Vector2 MainSize => ref Unsafe.AsRef<Vector2>(&NativePtr->MainSize); | ||||
|         public ref Vector2 WorkPos => ref Unsafe.AsRef<Vector2>(&NativePtr->WorkPos); | ||||
|         public ref Vector2 WorkSize => ref Unsafe.AsRef<Vector2>(&NativePtr->WorkSize); | ||||
|         public ref float DpiScale => ref Unsafe.AsRef<float>(&NativePtr->DpiScale); | ||||
|         public IntPtr PlatformHandle { get => (IntPtr)NativePtr->PlatformHandle; set => NativePtr->PlatformHandle = (void*)value; } | ||||
|         public void Destroy() | ||||
|         { | ||||
|             ImGuiNative.ImGuiPlatformMonitor_destroy((ImGuiPlatformMonitor*)(NativePtr)); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										18
									
								
								lib/ImGui.NET/Generated/ImGuiPopupFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								lib/ImGui.NET/Generated/ImGuiPopupFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [System.Flags] | ||||
|     public enum ImGuiPopupFlags | ||||
|     { | ||||
|         None = 0, | ||||
|         MouseButtonLeft = 0, | ||||
|         MouseButtonRight = 1, | ||||
|         MouseButtonMiddle = 2, | ||||
|         MouseButtonMask = 31, | ||||
|         MouseButtonDefault = 1, | ||||
|         NoOpenOverExistingPopup = 32, | ||||
|         NoOpenOverItems = 64, | ||||
|         AnyPopupId = 128, | ||||
|         AnyPopupLevel = 256, | ||||
|         AnyPopup = 384, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										13
									
								
								lib/ImGui.NET/Generated/ImGuiSelectableFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								lib/ImGui.NET/Generated/ImGuiSelectableFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [System.Flags] | ||||
|     public enum ImGuiSelectableFlags | ||||
|     { | ||||
|         None = 0, | ||||
|         DontClosePopups = 1, | ||||
|         SpanAllColumns = 2, | ||||
|         AllowDoubleClick = 4, | ||||
|         Disabled = 8, | ||||
|         AllowOverlap = 16, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										28
									
								
								lib/ImGui.NET/Generated/ImGuiSizeCallbackData.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								lib/ImGui.NET/Generated/ImGuiSizeCallbackData.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImGuiSizeCallbackData | ||||
|     { | ||||
|         public void* UserData; | ||||
|         public Vector2 Pos; | ||||
|         public Vector2 CurrentSize; | ||||
|         public Vector2 DesiredSize; | ||||
|     } | ||||
|     public unsafe partial struct ImGuiSizeCallbackDataPtr | ||||
|     { | ||||
|         public ImGuiSizeCallbackData* NativePtr { get; } | ||||
|         public ImGuiSizeCallbackDataPtr(ImGuiSizeCallbackData* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImGuiSizeCallbackDataPtr(IntPtr nativePtr) => NativePtr = (ImGuiSizeCallbackData*)nativePtr; | ||||
|         public static implicit operator ImGuiSizeCallbackDataPtr(ImGuiSizeCallbackData* nativePtr) => new ImGuiSizeCallbackDataPtr(nativePtr); | ||||
|         public static implicit operator ImGuiSizeCallbackData* (ImGuiSizeCallbackDataPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImGuiSizeCallbackDataPtr(IntPtr nativePtr) => new ImGuiSizeCallbackDataPtr(nativePtr); | ||||
|         public IntPtr UserData { get => (IntPtr)NativePtr->UserData; set => NativePtr->UserData = (void*)value; } | ||||
|         public ref Vector2 Pos => ref Unsafe.AsRef<Vector2>(&NativePtr->Pos); | ||||
|         public ref Vector2 CurrentSize => ref Unsafe.AsRef<Vector2>(&NativePtr->CurrentSize); | ||||
|         public ref Vector2 DesiredSize => ref Unsafe.AsRef<Vector2>(&NativePtr->DesiredSize); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										13
									
								
								lib/ImGui.NET/Generated/ImGuiSliderFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								lib/ImGui.NET/Generated/ImGuiSliderFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [System.Flags] | ||||
|     public enum ImGuiSliderFlags | ||||
|     { | ||||
|         None = 0, | ||||
|         AlwaysClamp = 16, | ||||
|         Logarithmic = 32, | ||||
|         NoRoundToFormat = 64, | ||||
|         NoInput = 128, | ||||
|         InvalidMask = 1879048207, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										9
									
								
								lib/ImGui.NET/Generated/ImGuiSortDirection.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								lib/ImGui.NET/Generated/ImGuiSortDirection.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public enum ImGuiSortDirection | ||||
|     { | ||||
|         None = 0, | ||||
|         Ascending = 1, | ||||
|         Descending = 2, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										137
									
								
								lib/ImGui.NET/Generated/ImGuiStorage.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										137
									
								
								lib/ImGui.NET/Generated/ImGuiStorage.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,137 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImGuiStorage | ||||
|     { | ||||
|         public ImVector Data; | ||||
|     } | ||||
|     public unsafe partial struct ImGuiStoragePtr | ||||
|     { | ||||
|         public ImGuiStorage* NativePtr { get; } | ||||
|         public ImGuiStoragePtr(ImGuiStorage* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImGuiStoragePtr(IntPtr nativePtr) => NativePtr = (ImGuiStorage*)nativePtr; | ||||
|         public static implicit operator ImGuiStoragePtr(ImGuiStorage* nativePtr) => new ImGuiStoragePtr(nativePtr); | ||||
|         public static implicit operator ImGuiStorage* (ImGuiStoragePtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImGuiStoragePtr(IntPtr nativePtr) => new ImGuiStoragePtr(nativePtr); | ||||
|         public ImPtrVector<ImGuiStoragePairPtr> Data => new ImPtrVector<ImGuiStoragePairPtr>(NativePtr->Data, Unsafe.SizeOf<ImGuiStoragePair>()); | ||||
|         public void BuildSortByKey() | ||||
|         { | ||||
|             ImGuiNative.ImGuiStorage_BuildSortByKey((ImGuiStorage*)(NativePtr)); | ||||
|         } | ||||
|         public void Clear() | ||||
|         { | ||||
|             ImGuiNative.ImGuiStorage_Clear((ImGuiStorage*)(NativePtr)); | ||||
|         } | ||||
|         public bool GetBool(uint key) | ||||
|         { | ||||
|             byte default_val = 0; | ||||
|             byte ret = ImGuiNative.ImGuiStorage_GetBool((ImGuiStorage*)(NativePtr), key, default_val); | ||||
|             return ret != 0; | ||||
|         } | ||||
|         public bool GetBool(uint key, bool default_val) | ||||
|         { | ||||
|             byte native_default_val = default_val ? (byte)1 : (byte)0; | ||||
|             byte ret = ImGuiNative.ImGuiStorage_GetBool((ImGuiStorage*)(NativePtr), key, native_default_val); | ||||
|             return ret != 0; | ||||
|         } | ||||
|         public byte* GetBoolRef(uint key) | ||||
|         { | ||||
|             byte default_val = 0; | ||||
|             byte* ret = ImGuiNative.ImGuiStorage_GetBoolRef((ImGuiStorage*)(NativePtr), key, default_val); | ||||
|             return ret; | ||||
|         } | ||||
|         public byte* GetBoolRef(uint key, bool default_val) | ||||
|         { | ||||
|             byte native_default_val = default_val ? (byte)1 : (byte)0; | ||||
|             byte* ret = ImGuiNative.ImGuiStorage_GetBoolRef((ImGuiStorage*)(NativePtr), key, native_default_val); | ||||
|             return ret; | ||||
|         } | ||||
|         public float GetFloat(uint key) | ||||
|         { | ||||
|             float default_val = 0.0f; | ||||
|             float ret = ImGuiNative.ImGuiStorage_GetFloat((ImGuiStorage*)(NativePtr), key, default_val); | ||||
|             return ret; | ||||
|         } | ||||
|         public float GetFloat(uint key, float default_val) | ||||
|         { | ||||
|             float ret = ImGuiNative.ImGuiStorage_GetFloat((ImGuiStorage*)(NativePtr), key, default_val); | ||||
|             return ret; | ||||
|         } | ||||
|         public float* GetFloatRef(uint key) | ||||
|         { | ||||
|             float default_val = 0.0f; | ||||
|             float* ret = ImGuiNative.ImGuiStorage_GetFloatRef((ImGuiStorage*)(NativePtr), key, default_val); | ||||
|             return ret; | ||||
|         } | ||||
|         public float* GetFloatRef(uint key, float default_val) | ||||
|         { | ||||
|             float* ret = ImGuiNative.ImGuiStorage_GetFloatRef((ImGuiStorage*)(NativePtr), key, default_val); | ||||
|             return ret; | ||||
|         } | ||||
|         public int GetInt(uint key) | ||||
|         { | ||||
|             int default_val = 0; | ||||
|             int ret = ImGuiNative.ImGuiStorage_GetInt((ImGuiStorage*)(NativePtr), key, default_val); | ||||
|             return ret; | ||||
|         } | ||||
|         public int GetInt(uint key, int default_val) | ||||
|         { | ||||
|             int ret = ImGuiNative.ImGuiStorage_GetInt((ImGuiStorage*)(NativePtr), key, default_val); | ||||
|             return ret; | ||||
|         } | ||||
|         public int* GetIntRef(uint key) | ||||
|         { | ||||
|             int default_val = 0; | ||||
|             int* ret = ImGuiNative.ImGuiStorage_GetIntRef((ImGuiStorage*)(NativePtr), key, default_val); | ||||
|             return ret; | ||||
|         } | ||||
|         public int* GetIntRef(uint key, int default_val) | ||||
|         { | ||||
|             int* ret = ImGuiNative.ImGuiStorage_GetIntRef((ImGuiStorage*)(NativePtr), key, default_val); | ||||
|             return ret; | ||||
|         } | ||||
|         public IntPtr GetVoidPtr(uint key) | ||||
|         { | ||||
|             void* ret = ImGuiNative.ImGuiStorage_GetVoidPtr((ImGuiStorage*)(NativePtr), key); | ||||
|             return (IntPtr)ret; | ||||
|         } | ||||
|         public void** GetVoidPtrRef(uint key) | ||||
|         { | ||||
|             void* default_val = null; | ||||
|             void** ret = ImGuiNative.ImGuiStorage_GetVoidPtrRef((ImGuiStorage*)(NativePtr), key, default_val); | ||||
|             return ret; | ||||
|         } | ||||
|         public void** GetVoidPtrRef(uint key, IntPtr default_val) | ||||
|         { | ||||
|             void* native_default_val = (void*)default_val.ToPointer(); | ||||
|             void** ret = ImGuiNative.ImGuiStorage_GetVoidPtrRef((ImGuiStorage*)(NativePtr), key, native_default_val); | ||||
|             return ret; | ||||
|         } | ||||
|         public void SetAllInt(int val) | ||||
|         { | ||||
|             ImGuiNative.ImGuiStorage_SetAllInt((ImGuiStorage*)(NativePtr), val); | ||||
|         } | ||||
|         public void SetBool(uint key, bool val) | ||||
|         { | ||||
|             byte native_val = val ? (byte)1 : (byte)0; | ||||
|             ImGuiNative.ImGuiStorage_SetBool((ImGuiStorage*)(NativePtr), key, native_val); | ||||
|         } | ||||
|         public void SetFloat(uint key, float val) | ||||
|         { | ||||
|             ImGuiNative.ImGuiStorage_SetFloat((ImGuiStorage*)(NativePtr), key, val); | ||||
|         } | ||||
|         public void SetInt(uint key, int val) | ||||
|         { | ||||
|             ImGuiNative.ImGuiStorage_SetInt((ImGuiStorage*)(NativePtr), key, val); | ||||
|         } | ||||
|         public void SetVoidPtr(uint key, IntPtr val) | ||||
|         { | ||||
|             void* native_val = (void*)val.ToPointer(); | ||||
|             ImGuiNative.ImGuiStorage_SetVoidPtr((ImGuiStorage*)(NativePtr), key, native_val); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										186
									
								
								lib/ImGui.NET/Generated/ImGuiStyle.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										186
									
								
								lib/ImGui.NET/Generated/ImGuiStyle.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,186 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImGuiStyle | ||||
|     { | ||||
|         public float Alpha; | ||||
|         public float DisabledAlpha; | ||||
|         public Vector2 WindowPadding; | ||||
|         public float WindowRounding; | ||||
|         public float WindowBorderSize; | ||||
|         public Vector2 WindowMinSize; | ||||
|         public Vector2 WindowTitleAlign; | ||||
|         public ImGuiDir WindowMenuButtonPosition; | ||||
|         public float ChildRounding; | ||||
|         public float ChildBorderSize; | ||||
|         public float PopupRounding; | ||||
|         public float PopupBorderSize; | ||||
|         public Vector2 FramePadding; | ||||
|         public float FrameRounding; | ||||
|         public float FrameBorderSize; | ||||
|         public Vector2 ItemSpacing; | ||||
|         public Vector2 ItemInnerSpacing; | ||||
|         public Vector2 CellPadding; | ||||
|         public Vector2 TouchExtraPadding; | ||||
|         public float IndentSpacing; | ||||
|         public float ColumnsMinSpacing; | ||||
|         public float ScrollbarSize; | ||||
|         public float ScrollbarRounding; | ||||
|         public float GrabMinSize; | ||||
|         public float GrabRounding; | ||||
|         public float LogSliderDeadzone; | ||||
|         public float TabRounding; | ||||
|         public float TabBorderSize; | ||||
|         public float TabMinWidthForCloseButton; | ||||
|         public float TabBarBorderSize; | ||||
|         public float TableAngledHeadersAngle; | ||||
|         public ImGuiDir ColorButtonPosition; | ||||
|         public Vector2 ButtonTextAlign; | ||||
|         public Vector2 SelectableTextAlign; | ||||
|         public float SeparatorTextBorderSize; | ||||
|         public Vector2 SeparatorTextAlign; | ||||
|         public Vector2 SeparatorTextPadding; | ||||
|         public Vector2 DisplayWindowPadding; | ||||
|         public Vector2 DisplaySafeAreaPadding; | ||||
|         public float DockingSeparatorSize; | ||||
|         public float MouseCursorScale; | ||||
|         public byte AntiAliasedLines; | ||||
|         public byte AntiAliasedLinesUseTex; | ||||
|         public byte AntiAliasedFill; | ||||
|         public float CurveTessellationTol; | ||||
|         public float CircleTessellationMaxError; | ||||
|         public Vector4 Colors_0; | ||||
|         public Vector4 Colors_1; | ||||
|         public Vector4 Colors_2; | ||||
|         public Vector4 Colors_3; | ||||
|         public Vector4 Colors_4; | ||||
|         public Vector4 Colors_5; | ||||
|         public Vector4 Colors_6; | ||||
|         public Vector4 Colors_7; | ||||
|         public Vector4 Colors_8; | ||||
|         public Vector4 Colors_9; | ||||
|         public Vector4 Colors_10; | ||||
|         public Vector4 Colors_11; | ||||
|         public Vector4 Colors_12; | ||||
|         public Vector4 Colors_13; | ||||
|         public Vector4 Colors_14; | ||||
|         public Vector4 Colors_15; | ||||
|         public Vector4 Colors_16; | ||||
|         public Vector4 Colors_17; | ||||
|         public Vector4 Colors_18; | ||||
|         public Vector4 Colors_19; | ||||
|         public Vector4 Colors_20; | ||||
|         public Vector4 Colors_21; | ||||
|         public Vector4 Colors_22; | ||||
|         public Vector4 Colors_23; | ||||
|         public Vector4 Colors_24; | ||||
|         public Vector4 Colors_25; | ||||
|         public Vector4 Colors_26; | ||||
|         public Vector4 Colors_27; | ||||
|         public Vector4 Colors_28; | ||||
|         public Vector4 Colors_29; | ||||
|         public Vector4 Colors_30; | ||||
|         public Vector4 Colors_31; | ||||
|         public Vector4 Colors_32; | ||||
|         public Vector4 Colors_33; | ||||
|         public Vector4 Colors_34; | ||||
|         public Vector4 Colors_35; | ||||
|         public Vector4 Colors_36; | ||||
|         public Vector4 Colors_37; | ||||
|         public Vector4 Colors_38; | ||||
|         public Vector4 Colors_39; | ||||
|         public Vector4 Colors_40; | ||||
|         public Vector4 Colors_41; | ||||
|         public Vector4 Colors_42; | ||||
|         public Vector4 Colors_43; | ||||
|         public Vector4 Colors_44; | ||||
|         public Vector4 Colors_45; | ||||
|         public Vector4 Colors_46; | ||||
|         public Vector4 Colors_47; | ||||
|         public Vector4 Colors_48; | ||||
|         public Vector4 Colors_49; | ||||
|         public Vector4 Colors_50; | ||||
|         public Vector4 Colors_51; | ||||
|         public Vector4 Colors_52; | ||||
|         public Vector4 Colors_53; | ||||
|         public Vector4 Colors_54; | ||||
|         public float HoverStationaryDelay; | ||||
|         public float HoverDelayShort; | ||||
|         public float HoverDelayNormal; | ||||
|         public ImGuiHoveredFlags HoverFlagsForTooltipMouse; | ||||
|         public ImGuiHoveredFlags HoverFlagsForTooltipNav; | ||||
|     } | ||||
|     public unsafe partial struct ImGuiStylePtr | ||||
|     { | ||||
|         public ImGuiStyle* NativePtr { get; } | ||||
|         public ImGuiStylePtr(ImGuiStyle* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImGuiStylePtr(IntPtr nativePtr) => NativePtr = (ImGuiStyle*)nativePtr; | ||||
|         public static implicit operator ImGuiStylePtr(ImGuiStyle* nativePtr) => new ImGuiStylePtr(nativePtr); | ||||
|         public static implicit operator ImGuiStyle* (ImGuiStylePtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImGuiStylePtr(IntPtr nativePtr) => new ImGuiStylePtr(nativePtr); | ||||
|         public ref float Alpha => ref Unsafe.AsRef<float>(&NativePtr->Alpha); | ||||
|         public ref float DisabledAlpha => ref Unsafe.AsRef<float>(&NativePtr->DisabledAlpha); | ||||
|         public ref Vector2 WindowPadding => ref Unsafe.AsRef<Vector2>(&NativePtr->WindowPadding); | ||||
|         public ref float WindowRounding => ref Unsafe.AsRef<float>(&NativePtr->WindowRounding); | ||||
|         public ref float WindowBorderSize => ref Unsafe.AsRef<float>(&NativePtr->WindowBorderSize); | ||||
|         public ref Vector2 WindowMinSize => ref Unsafe.AsRef<Vector2>(&NativePtr->WindowMinSize); | ||||
|         public ref Vector2 WindowTitleAlign => ref Unsafe.AsRef<Vector2>(&NativePtr->WindowTitleAlign); | ||||
|         public ref ImGuiDir WindowMenuButtonPosition => ref Unsafe.AsRef<ImGuiDir>(&NativePtr->WindowMenuButtonPosition); | ||||
|         public ref float ChildRounding => ref Unsafe.AsRef<float>(&NativePtr->ChildRounding); | ||||
|         public ref float ChildBorderSize => ref Unsafe.AsRef<float>(&NativePtr->ChildBorderSize); | ||||
|         public ref float PopupRounding => ref Unsafe.AsRef<float>(&NativePtr->PopupRounding); | ||||
|         public ref float PopupBorderSize => ref Unsafe.AsRef<float>(&NativePtr->PopupBorderSize); | ||||
|         public ref Vector2 FramePadding => ref Unsafe.AsRef<Vector2>(&NativePtr->FramePadding); | ||||
|         public ref float FrameRounding => ref Unsafe.AsRef<float>(&NativePtr->FrameRounding); | ||||
|         public ref float FrameBorderSize => ref Unsafe.AsRef<float>(&NativePtr->FrameBorderSize); | ||||
|         public ref Vector2 ItemSpacing => ref Unsafe.AsRef<Vector2>(&NativePtr->ItemSpacing); | ||||
|         public ref Vector2 ItemInnerSpacing => ref Unsafe.AsRef<Vector2>(&NativePtr->ItemInnerSpacing); | ||||
|         public ref Vector2 CellPadding => ref Unsafe.AsRef<Vector2>(&NativePtr->CellPadding); | ||||
|         public ref Vector2 TouchExtraPadding => ref Unsafe.AsRef<Vector2>(&NativePtr->TouchExtraPadding); | ||||
|         public ref float IndentSpacing => ref Unsafe.AsRef<float>(&NativePtr->IndentSpacing); | ||||
|         public ref float ColumnsMinSpacing => ref Unsafe.AsRef<float>(&NativePtr->ColumnsMinSpacing); | ||||
|         public ref float ScrollbarSize => ref Unsafe.AsRef<float>(&NativePtr->ScrollbarSize); | ||||
|         public ref float ScrollbarRounding => ref Unsafe.AsRef<float>(&NativePtr->ScrollbarRounding); | ||||
|         public ref float GrabMinSize => ref Unsafe.AsRef<float>(&NativePtr->GrabMinSize); | ||||
|         public ref float GrabRounding => ref Unsafe.AsRef<float>(&NativePtr->GrabRounding); | ||||
|         public ref float LogSliderDeadzone => ref Unsafe.AsRef<float>(&NativePtr->LogSliderDeadzone); | ||||
|         public ref float TabRounding => ref Unsafe.AsRef<float>(&NativePtr->TabRounding); | ||||
|         public ref float TabBorderSize => ref Unsafe.AsRef<float>(&NativePtr->TabBorderSize); | ||||
|         public ref float TabMinWidthForCloseButton => ref Unsafe.AsRef<float>(&NativePtr->TabMinWidthForCloseButton); | ||||
|         public ref float TabBarBorderSize => ref Unsafe.AsRef<float>(&NativePtr->TabBarBorderSize); | ||||
|         public ref float TableAngledHeadersAngle => ref Unsafe.AsRef<float>(&NativePtr->TableAngledHeadersAngle); | ||||
|         public ref ImGuiDir ColorButtonPosition => ref Unsafe.AsRef<ImGuiDir>(&NativePtr->ColorButtonPosition); | ||||
|         public ref Vector2 ButtonTextAlign => ref Unsafe.AsRef<Vector2>(&NativePtr->ButtonTextAlign); | ||||
|         public ref Vector2 SelectableTextAlign => ref Unsafe.AsRef<Vector2>(&NativePtr->SelectableTextAlign); | ||||
|         public ref float SeparatorTextBorderSize => ref Unsafe.AsRef<float>(&NativePtr->SeparatorTextBorderSize); | ||||
|         public ref Vector2 SeparatorTextAlign => ref Unsafe.AsRef<Vector2>(&NativePtr->SeparatorTextAlign); | ||||
|         public ref Vector2 SeparatorTextPadding => ref Unsafe.AsRef<Vector2>(&NativePtr->SeparatorTextPadding); | ||||
|         public ref Vector2 DisplayWindowPadding => ref Unsafe.AsRef<Vector2>(&NativePtr->DisplayWindowPadding); | ||||
|         public ref Vector2 DisplaySafeAreaPadding => ref Unsafe.AsRef<Vector2>(&NativePtr->DisplaySafeAreaPadding); | ||||
|         public ref float DockingSeparatorSize => ref Unsafe.AsRef<float>(&NativePtr->DockingSeparatorSize); | ||||
|         public ref float MouseCursorScale => ref Unsafe.AsRef<float>(&NativePtr->MouseCursorScale); | ||||
|         public ref bool AntiAliasedLines => ref Unsafe.AsRef<bool>(&NativePtr->AntiAliasedLines); | ||||
|         public ref bool AntiAliasedLinesUseTex => ref Unsafe.AsRef<bool>(&NativePtr->AntiAliasedLinesUseTex); | ||||
|         public ref bool AntiAliasedFill => ref Unsafe.AsRef<bool>(&NativePtr->AntiAliasedFill); | ||||
|         public ref float CurveTessellationTol => ref Unsafe.AsRef<float>(&NativePtr->CurveTessellationTol); | ||||
|         public ref float CircleTessellationMaxError => ref Unsafe.AsRef<float>(&NativePtr->CircleTessellationMaxError); | ||||
|         public RangeAccessor<Vector4> Colors => new RangeAccessor<Vector4>(&NativePtr->Colors_0, 55); | ||||
|         public ref float HoverStationaryDelay => ref Unsafe.AsRef<float>(&NativePtr->HoverStationaryDelay); | ||||
|         public ref float HoverDelayShort => ref Unsafe.AsRef<float>(&NativePtr->HoverDelayShort); | ||||
|         public ref float HoverDelayNormal => ref Unsafe.AsRef<float>(&NativePtr->HoverDelayNormal); | ||||
|         public ref ImGuiHoveredFlags HoverFlagsForTooltipMouse => ref Unsafe.AsRef<ImGuiHoveredFlags>(&NativePtr->HoverFlagsForTooltipMouse); | ||||
|         public ref ImGuiHoveredFlags HoverFlagsForTooltipNav => ref Unsafe.AsRef<ImGuiHoveredFlags>(&NativePtr->HoverFlagsForTooltipNav); | ||||
|         public void Destroy() | ||||
|         { | ||||
|             ImGuiNative.ImGuiStyle_destroy((ImGuiStyle*)(NativePtr)); | ||||
|         } | ||||
|         public void ScaleAllSizes(float scale_factor) | ||||
|         { | ||||
|             ImGuiNative.ImGuiStyle_ScaleAllSizes((ImGuiStyle*)(NativePtr), scale_factor); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										37
									
								
								lib/ImGui.NET/Generated/ImGuiStyleVar.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								lib/ImGui.NET/Generated/ImGuiStyleVar.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,37 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public enum ImGuiStyleVar | ||||
|     { | ||||
|         Alpha = 0, | ||||
|         DisabledAlpha = 1, | ||||
|         WindowPadding = 2, | ||||
|         WindowRounding = 3, | ||||
|         WindowBorderSize = 4, | ||||
|         WindowMinSize = 5, | ||||
|         WindowTitleAlign = 6, | ||||
|         ChildRounding = 7, | ||||
|         ChildBorderSize = 8, | ||||
|         PopupRounding = 9, | ||||
|         PopupBorderSize = 10, | ||||
|         FramePadding = 11, | ||||
|         FrameRounding = 12, | ||||
|         FrameBorderSize = 13, | ||||
|         ItemSpacing = 14, | ||||
|         ItemInnerSpacing = 15, | ||||
|         IndentSpacing = 16, | ||||
|         CellPadding = 17, | ||||
|         ScrollbarSize = 18, | ||||
|         ScrollbarRounding = 19, | ||||
|         GrabMinSize = 20, | ||||
|         GrabRounding = 21, | ||||
|         TabRounding = 22, | ||||
|         TabBarBorderSize = 23, | ||||
|         ButtonTextAlign = 24, | ||||
|         SelectableTextAlign = 25, | ||||
|         SeparatorTextBorderSize = 26, | ||||
|         SeparatorTextAlign = 27, | ||||
|         SeparatorTextPadding = 28, | ||||
|         DockingSeparatorSize = 29, | ||||
|         COUNT = 30, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										18
									
								
								lib/ImGui.NET/Generated/ImGuiTabBarFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								lib/ImGui.NET/Generated/ImGuiTabBarFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [System.Flags] | ||||
|     public enum ImGuiTabBarFlags | ||||
|     { | ||||
|         None = 0, | ||||
|         Reorderable = 1, | ||||
|         AutoSelectNewTabs = 2, | ||||
|         TabListPopupButton = 4, | ||||
|         NoCloseWithMiddleMouseButton = 8, | ||||
|         NoTabListScrollingButtons = 16, | ||||
|         NoTooltip = 32, | ||||
|         FittingPolicyResizeDown = 64, | ||||
|         FittingPolicyScroll = 128, | ||||
|         FittingPolicyMask = 192, | ||||
|         FittingPolicyDefault = 64, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										16
									
								
								lib/ImGui.NET/Generated/ImGuiTabItemFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								lib/ImGui.NET/Generated/ImGuiTabItemFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [System.Flags] | ||||
|     public enum ImGuiTabItemFlags | ||||
|     { | ||||
|         None = 0, | ||||
|         UnsavedDocument = 1, | ||||
|         SetSelected = 2, | ||||
|         NoCloseWithMiddleMouseButton = 4, | ||||
|         NoPushId = 8, | ||||
|         NoTooltip = 16, | ||||
|         NoReorder = 32, | ||||
|         Leading = 64, | ||||
|         Trailing = 128, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										10
									
								
								lib/ImGui.NET/Generated/ImGuiTableBgTarget.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								lib/ImGui.NET/Generated/ImGuiTableBgTarget.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public enum ImGuiTableBgTarget | ||||
|     { | ||||
|         None = 0, | ||||
|         RowBg0 = 1, | ||||
|         RowBg1 = 2, | ||||
|         CellBg = 3, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										35
									
								
								lib/ImGui.NET/Generated/ImGuiTableColumnFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								lib/ImGui.NET/Generated/ImGuiTableColumnFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,35 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [System.Flags] | ||||
|     public enum ImGuiTableColumnFlags | ||||
|     { | ||||
|         None = 0, | ||||
|         Disabled = 1, | ||||
|         DefaultHide = 2, | ||||
|         DefaultSort = 4, | ||||
|         WidthStretch = 8, | ||||
|         WidthFixed = 16, | ||||
|         NoResize = 32, | ||||
|         NoReorder = 64, | ||||
|         NoHide = 128, | ||||
|         NoClip = 256, | ||||
|         NoSort = 512, | ||||
|         NoSortAscending = 1024, | ||||
|         NoSortDescending = 2048, | ||||
|         NoHeaderLabel = 4096, | ||||
|         NoHeaderWidth = 8192, | ||||
|         PreferSortAscending = 16384, | ||||
|         PreferSortDescending = 32768, | ||||
|         IndentEnable = 65536, | ||||
|         IndentDisable = 131072, | ||||
|         AngledHeader = 262144, | ||||
|         IsEnabled = 16777216, | ||||
|         IsVisible = 33554432, | ||||
|         IsSorted = 67108864, | ||||
|         IsHovered = 134217728, | ||||
|         WidthMask = 24, | ||||
|         IndentMask = 196608, | ||||
|         StatusMask = 251658240, | ||||
|         NoDirectResize = 1073741824, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										32
									
								
								lib/ImGui.NET/Generated/ImGuiTableColumnSortSpecs.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								lib/ImGui.NET/Generated/ImGuiTableColumnSortSpecs.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImGuiTableColumnSortSpecs | ||||
|     { | ||||
|         public uint ColumnUserID; | ||||
|         public short ColumnIndex; | ||||
|         public short SortOrder; | ||||
|         public ImGuiSortDirection SortDirection; | ||||
|     } | ||||
|     public unsafe partial struct ImGuiTableColumnSortSpecsPtr | ||||
|     { | ||||
|         public ImGuiTableColumnSortSpecs* NativePtr { get; } | ||||
|         public ImGuiTableColumnSortSpecsPtr(ImGuiTableColumnSortSpecs* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImGuiTableColumnSortSpecsPtr(IntPtr nativePtr) => NativePtr = (ImGuiTableColumnSortSpecs*)nativePtr; | ||||
|         public static implicit operator ImGuiTableColumnSortSpecsPtr(ImGuiTableColumnSortSpecs* nativePtr) => new ImGuiTableColumnSortSpecsPtr(nativePtr); | ||||
|         public static implicit operator ImGuiTableColumnSortSpecs* (ImGuiTableColumnSortSpecsPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImGuiTableColumnSortSpecsPtr(IntPtr nativePtr) => new ImGuiTableColumnSortSpecsPtr(nativePtr); | ||||
|         public ref uint ColumnUserID => ref Unsafe.AsRef<uint>(&NativePtr->ColumnUserID); | ||||
|         public ref short ColumnIndex => ref Unsafe.AsRef<short>(&NativePtr->ColumnIndex); | ||||
|         public ref short SortOrder => ref Unsafe.AsRef<short>(&NativePtr->SortOrder); | ||||
|         public ref ImGuiSortDirection SortDirection => ref Unsafe.AsRef<ImGuiSortDirection>(&NativePtr->SortDirection); | ||||
|         public void Destroy() | ||||
|         { | ||||
|             ImGuiNative.ImGuiTableColumnSortSpecs_destroy((ImGuiTableColumnSortSpecs*)(NativePtr)); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										44
									
								
								lib/ImGui.NET/Generated/ImGuiTableFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								lib/ImGui.NET/Generated/ImGuiTableFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [System.Flags] | ||||
|     public enum ImGuiTableFlags | ||||
|     { | ||||
|         None = 0, | ||||
|         Resizable = 1, | ||||
|         Reorderable = 2, | ||||
|         Hideable = 4, | ||||
|         Sortable = 8, | ||||
|         NoSavedSettings = 16, | ||||
|         ContextMenuInBody = 32, | ||||
|         RowBg = 64, | ||||
|         BordersInnerH = 128, | ||||
|         BordersOuterH = 256, | ||||
|         BordersInnerV = 512, | ||||
|         BordersOuterV = 1024, | ||||
|         BordersH = 384, | ||||
|         BordersV = 1536, | ||||
|         BordersInner = 640, | ||||
|         BordersOuter = 1280, | ||||
|         Borders = 1920, | ||||
|         NoBordersInBody = 2048, | ||||
|         NoBordersInBodyUntilResize = 4096, | ||||
|         SizingFixedFit = 8192, | ||||
|         SizingFixedSame = 16384, | ||||
|         SizingStretchProp = 24576, | ||||
|         SizingStretchSame = 32768, | ||||
|         NoHostExtendX = 65536, | ||||
|         NoHostExtendY = 131072, | ||||
|         NoKeepColumnsVisible = 262144, | ||||
|         PreciseWidths = 524288, | ||||
|         NoClip = 1048576, | ||||
|         PadOuterX = 2097152, | ||||
|         NoPadOuterX = 4194304, | ||||
|         NoPadInnerX = 8388608, | ||||
|         ScrollX = 16777216, | ||||
|         ScrollY = 33554432, | ||||
|         SortMulti = 67108864, | ||||
|         SortTristate = 134217728, | ||||
|         HighlightHoveredColumn = 268435456, | ||||
|         SizingMask = 57344, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										9
									
								
								lib/ImGui.NET/Generated/ImGuiTableRowFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								lib/ImGui.NET/Generated/ImGuiTableRowFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [System.Flags] | ||||
|     public enum ImGuiTableRowFlags | ||||
|     { | ||||
|         None = 0, | ||||
|         Headers = 1, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										30
									
								
								lib/ImGui.NET/Generated/ImGuiTableSortSpecs.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								lib/ImGui.NET/Generated/ImGuiTableSortSpecs.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImGuiTableSortSpecs | ||||
|     { | ||||
|         public ImGuiTableColumnSortSpecs* Specs; | ||||
|         public int SpecsCount; | ||||
|         public byte SpecsDirty; | ||||
|     } | ||||
|     public unsafe partial struct ImGuiTableSortSpecsPtr | ||||
|     { | ||||
|         public ImGuiTableSortSpecs* NativePtr { get; } | ||||
|         public ImGuiTableSortSpecsPtr(ImGuiTableSortSpecs* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImGuiTableSortSpecsPtr(IntPtr nativePtr) => NativePtr = (ImGuiTableSortSpecs*)nativePtr; | ||||
|         public static implicit operator ImGuiTableSortSpecsPtr(ImGuiTableSortSpecs* nativePtr) => new ImGuiTableSortSpecsPtr(nativePtr); | ||||
|         public static implicit operator ImGuiTableSortSpecs* (ImGuiTableSortSpecsPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImGuiTableSortSpecsPtr(IntPtr nativePtr) => new ImGuiTableSortSpecsPtr(nativePtr); | ||||
|         public ImGuiTableColumnSortSpecsPtr Specs => new ImGuiTableColumnSortSpecsPtr(NativePtr->Specs); | ||||
|         public ref int SpecsCount => ref Unsafe.AsRef<int>(&NativePtr->SpecsCount); | ||||
|         public ref bool SpecsDirty => ref Unsafe.AsRef<bool>(&NativePtr->SpecsDirty); | ||||
|         public void Destroy() | ||||
|         { | ||||
|             ImGuiNative.ImGuiTableSortSpecs_destroy((ImGuiTableSortSpecs*)(NativePtr)); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										167
									
								
								lib/ImGui.NET/Generated/ImGuiTextBuffer.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										167
									
								
								lib/ImGui.NET/Generated/ImGuiTextBuffer.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,167 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImGuiTextBuffer | ||||
|     { | ||||
|         public ImVector Buf; | ||||
|     } | ||||
|     public unsafe partial struct ImGuiTextBufferPtr | ||||
|     { | ||||
|         public ImGuiTextBuffer* NativePtr { get; } | ||||
|         public ImGuiTextBufferPtr(ImGuiTextBuffer* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImGuiTextBufferPtr(IntPtr nativePtr) => NativePtr = (ImGuiTextBuffer*)nativePtr; | ||||
|         public static implicit operator ImGuiTextBufferPtr(ImGuiTextBuffer* nativePtr) => new ImGuiTextBufferPtr(nativePtr); | ||||
|         public static implicit operator ImGuiTextBuffer* (ImGuiTextBufferPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImGuiTextBufferPtr(IntPtr nativePtr) => new ImGuiTextBufferPtr(nativePtr); | ||||
|         public ImVector<byte> Buf => new ImVector<byte>(NativePtr->Buf); | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         public void append(ReadOnlySpan<char> str) | ||||
|         { | ||||
|             byte* native_str; | ||||
|             int str_byteCount = 0; | ||||
|             if (str != null) | ||||
|             { | ||||
|                 str_byteCount = Encoding.UTF8.GetByteCount(str); | ||||
|                 if (str_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_str = Util.Allocate(str_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_str_stackBytes = stackalloc byte[str_byteCount + 1]; | ||||
|                     native_str = native_str_stackBytes; | ||||
|                 } | ||||
|                 int native_str_offset = Util.GetUtf8(str, native_str, str_byteCount); | ||||
|                 native_str[native_str_offset] = 0; | ||||
|             } | ||||
|             else { native_str = null; } | ||||
|             ImGuiNative.ImGuiTextBuffer_append((ImGuiTextBuffer*)(NativePtr), native_str, native_str+str_byteCount); | ||||
|             if (str_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_str); | ||||
|             } | ||||
|         } | ||||
| #endif | ||||
|         public void append(string str) | ||||
|         { | ||||
|             byte* native_str; | ||||
|             int str_byteCount = 0; | ||||
|             if (str != null) | ||||
|             { | ||||
|                 str_byteCount = Encoding.UTF8.GetByteCount(str); | ||||
|                 if (str_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_str = Util.Allocate(str_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_str_stackBytes = stackalloc byte[str_byteCount + 1]; | ||||
|                     native_str = native_str_stackBytes; | ||||
|                 } | ||||
|                 int native_str_offset = Util.GetUtf8(str, native_str, str_byteCount); | ||||
|                 native_str[native_str_offset] = 0; | ||||
|             } | ||||
|             else { native_str = null; } | ||||
|             ImGuiNative.ImGuiTextBuffer_append((ImGuiTextBuffer*)(NativePtr), native_str, native_str+str_byteCount); | ||||
|             if (str_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_str); | ||||
|             } | ||||
|         } | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         public void appendf(ReadOnlySpan<char> fmt) | ||||
|         { | ||||
|             byte* native_fmt; | ||||
|             int fmt_byteCount = 0; | ||||
|             if (fmt != null) | ||||
|             { | ||||
|                 fmt_byteCount = Encoding.UTF8.GetByteCount(fmt); | ||||
|                 if (fmt_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_fmt = Util.Allocate(fmt_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_fmt_stackBytes = stackalloc byte[fmt_byteCount + 1]; | ||||
|                     native_fmt = native_fmt_stackBytes; | ||||
|                 } | ||||
|                 int native_fmt_offset = Util.GetUtf8(fmt, native_fmt, fmt_byteCount); | ||||
|                 native_fmt[native_fmt_offset] = 0; | ||||
|             } | ||||
|             else { native_fmt = null; } | ||||
|             ImGuiNative.ImGuiTextBuffer_appendf((ImGuiTextBuffer*)(NativePtr), native_fmt); | ||||
|             if (fmt_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_fmt); | ||||
|             } | ||||
|         } | ||||
| #endif | ||||
|         public void appendf(string fmt) | ||||
|         { | ||||
|             byte* native_fmt; | ||||
|             int fmt_byteCount = 0; | ||||
|             if (fmt != null) | ||||
|             { | ||||
|                 fmt_byteCount = Encoding.UTF8.GetByteCount(fmt); | ||||
|                 if (fmt_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_fmt = Util.Allocate(fmt_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_fmt_stackBytes = stackalloc byte[fmt_byteCount + 1]; | ||||
|                     native_fmt = native_fmt_stackBytes; | ||||
|                 } | ||||
|                 int native_fmt_offset = Util.GetUtf8(fmt, native_fmt, fmt_byteCount); | ||||
|                 native_fmt[native_fmt_offset] = 0; | ||||
|             } | ||||
|             else { native_fmt = null; } | ||||
|             ImGuiNative.ImGuiTextBuffer_appendf((ImGuiTextBuffer*)(NativePtr), native_fmt); | ||||
|             if (fmt_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_fmt); | ||||
|             } | ||||
|         } | ||||
|         public string begin() | ||||
|         { | ||||
|             byte* ret = ImGuiNative.ImGuiTextBuffer_begin((ImGuiTextBuffer*)(NativePtr)); | ||||
|             return Util.StringFromPtr(ret); | ||||
|         } | ||||
|         public string c_str() | ||||
|         { | ||||
|             byte* ret = ImGuiNative.ImGuiTextBuffer_c_str((ImGuiTextBuffer*)(NativePtr)); | ||||
|             return Util.StringFromPtr(ret); | ||||
|         } | ||||
|         public void clear() | ||||
|         { | ||||
|             ImGuiNative.ImGuiTextBuffer_clear((ImGuiTextBuffer*)(NativePtr)); | ||||
|         } | ||||
|         public void Destroy() | ||||
|         { | ||||
|             ImGuiNative.ImGuiTextBuffer_destroy((ImGuiTextBuffer*)(NativePtr)); | ||||
|         } | ||||
|         public bool empty() | ||||
|         { | ||||
|             byte ret = ImGuiNative.ImGuiTextBuffer_empty((ImGuiTextBuffer*)(NativePtr)); | ||||
|             return ret != 0; | ||||
|         } | ||||
|         public string end() | ||||
|         { | ||||
|             byte* ret = ImGuiNative.ImGuiTextBuffer_end((ImGuiTextBuffer*)(NativePtr)); | ||||
|             return Util.StringFromPtr(ret); | ||||
|         } | ||||
|         public void reserve(int capacity) | ||||
|         { | ||||
|             ImGuiNative.ImGuiTextBuffer_reserve((ImGuiTextBuffer*)(NativePtr), capacity); | ||||
|         } | ||||
|         public int size() | ||||
|         { | ||||
|             int ret = ImGuiNative.ImGuiTextBuffer_size((ImGuiTextBuffer*)(NativePtr)); | ||||
|             return ret; | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										237
									
								
								lib/ImGui.NET/Generated/ImGuiTextFilter.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										237
									
								
								lib/ImGui.NET/Generated/ImGuiTextFilter.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,237 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImGuiTextFilter | ||||
|     { | ||||
|         public fixed byte InputBuf[256]; | ||||
|         public ImVector Filters; | ||||
|         public int CountGrep; | ||||
|     } | ||||
|     public unsafe partial struct ImGuiTextFilterPtr | ||||
|     { | ||||
|         public ImGuiTextFilter* NativePtr { get; } | ||||
|         public ImGuiTextFilterPtr(ImGuiTextFilter* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImGuiTextFilterPtr(IntPtr nativePtr) => NativePtr = (ImGuiTextFilter*)nativePtr; | ||||
|         public static implicit operator ImGuiTextFilterPtr(ImGuiTextFilter* nativePtr) => new ImGuiTextFilterPtr(nativePtr); | ||||
|         public static implicit operator ImGuiTextFilter* (ImGuiTextFilterPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImGuiTextFilterPtr(IntPtr nativePtr) => new ImGuiTextFilterPtr(nativePtr); | ||||
|         public RangeAccessor<byte> InputBuf => new RangeAccessor<byte>(NativePtr->InputBuf, 256); | ||||
|         public ImPtrVector<ImGuiTextRangePtr> Filters => new ImPtrVector<ImGuiTextRangePtr>(NativePtr->Filters, Unsafe.SizeOf<ImGuiTextRange>()); | ||||
|         public ref int CountGrep => ref Unsafe.AsRef<int>(&NativePtr->CountGrep); | ||||
|         public void Build() | ||||
|         { | ||||
|             ImGuiNative.ImGuiTextFilter_Build((ImGuiTextFilter*)(NativePtr)); | ||||
|         } | ||||
|         public void Clear() | ||||
|         { | ||||
|             ImGuiNative.ImGuiTextFilter_Clear((ImGuiTextFilter*)(NativePtr)); | ||||
|         } | ||||
|         public void Destroy() | ||||
|         { | ||||
|             ImGuiNative.ImGuiTextFilter_destroy((ImGuiTextFilter*)(NativePtr)); | ||||
|         } | ||||
|         public bool Draw() | ||||
|         { | ||||
|             byte* native_label; | ||||
|             int label_byteCount = 0; | ||||
|                 label_byteCount = Encoding.UTF8.GetByteCount("Filter(inc,-exc)"); | ||||
|                 if (label_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_label = Util.Allocate(label_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_label_stackBytes = stackalloc byte[label_byteCount + 1]; | ||||
|                     native_label = native_label_stackBytes; | ||||
|                 } | ||||
|                 int native_label_offset = Util.GetUtf8("Filter(inc,-exc)", native_label, label_byteCount); | ||||
|                 native_label[native_label_offset] = 0; | ||||
|             float width = 0.0f; | ||||
|             byte ret = ImGuiNative.ImGuiTextFilter_Draw((ImGuiTextFilter*)(NativePtr), native_label, width); | ||||
|             if (label_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_label); | ||||
|             } | ||||
|             return ret != 0; | ||||
|         } | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         public bool Draw(ReadOnlySpan<char> label) | ||||
|         { | ||||
|             byte* native_label; | ||||
|             int label_byteCount = 0; | ||||
|             if (label != null) | ||||
|             { | ||||
|                 label_byteCount = Encoding.UTF8.GetByteCount(label); | ||||
|                 if (label_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_label = Util.Allocate(label_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_label_stackBytes = stackalloc byte[label_byteCount + 1]; | ||||
|                     native_label = native_label_stackBytes; | ||||
|                 } | ||||
|                 int native_label_offset = Util.GetUtf8(label, native_label, label_byteCount); | ||||
|                 native_label[native_label_offset] = 0; | ||||
|             } | ||||
|             else { native_label = null; } | ||||
|             float width = 0.0f; | ||||
|             byte ret = ImGuiNative.ImGuiTextFilter_Draw((ImGuiTextFilter*)(NativePtr), native_label, width); | ||||
|             if (label_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_label); | ||||
|             } | ||||
|             return ret != 0; | ||||
|         } | ||||
| #endif | ||||
|         public bool Draw(string label) | ||||
|         { | ||||
|             byte* native_label; | ||||
|             int label_byteCount = 0; | ||||
|             if (label != null) | ||||
|             { | ||||
|                 label_byteCount = Encoding.UTF8.GetByteCount(label); | ||||
|                 if (label_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_label = Util.Allocate(label_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_label_stackBytes = stackalloc byte[label_byteCount + 1]; | ||||
|                     native_label = native_label_stackBytes; | ||||
|                 } | ||||
|                 int native_label_offset = Util.GetUtf8(label, native_label, label_byteCount); | ||||
|                 native_label[native_label_offset] = 0; | ||||
|             } | ||||
|             else { native_label = null; } | ||||
|             float width = 0.0f; | ||||
|             byte ret = ImGuiNative.ImGuiTextFilter_Draw((ImGuiTextFilter*)(NativePtr), native_label, width); | ||||
|             if (label_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_label); | ||||
|             } | ||||
|             return ret != 0; | ||||
|         } | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         public bool Draw(ReadOnlySpan<char> label, float width) | ||||
|         { | ||||
|             byte* native_label; | ||||
|             int label_byteCount = 0; | ||||
|             if (label != null) | ||||
|             { | ||||
|                 label_byteCount = Encoding.UTF8.GetByteCount(label); | ||||
|                 if (label_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_label = Util.Allocate(label_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_label_stackBytes = stackalloc byte[label_byteCount + 1]; | ||||
|                     native_label = native_label_stackBytes; | ||||
|                 } | ||||
|                 int native_label_offset = Util.GetUtf8(label, native_label, label_byteCount); | ||||
|                 native_label[native_label_offset] = 0; | ||||
|             } | ||||
|             else { native_label = null; } | ||||
|             byte ret = ImGuiNative.ImGuiTextFilter_Draw((ImGuiTextFilter*)(NativePtr), native_label, width); | ||||
|             if (label_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_label); | ||||
|             } | ||||
|             return ret != 0; | ||||
|         } | ||||
| #endif | ||||
|         public bool Draw(string label, float width) | ||||
|         { | ||||
|             byte* native_label; | ||||
|             int label_byteCount = 0; | ||||
|             if (label != null) | ||||
|             { | ||||
|                 label_byteCount = Encoding.UTF8.GetByteCount(label); | ||||
|                 if (label_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_label = Util.Allocate(label_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_label_stackBytes = stackalloc byte[label_byteCount + 1]; | ||||
|                     native_label = native_label_stackBytes; | ||||
|                 } | ||||
|                 int native_label_offset = Util.GetUtf8(label, native_label, label_byteCount); | ||||
|                 native_label[native_label_offset] = 0; | ||||
|             } | ||||
|             else { native_label = null; } | ||||
|             byte ret = ImGuiNative.ImGuiTextFilter_Draw((ImGuiTextFilter*)(NativePtr), native_label, width); | ||||
|             if (label_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_label); | ||||
|             } | ||||
|             return ret != 0; | ||||
|         } | ||||
|         public bool IsActive() | ||||
|         { | ||||
|             byte ret = ImGuiNative.ImGuiTextFilter_IsActive((ImGuiTextFilter*)(NativePtr)); | ||||
|             return ret != 0; | ||||
|         } | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         public bool PassFilter(ReadOnlySpan<char> text) | ||||
|         { | ||||
|             byte* native_text; | ||||
|             int text_byteCount = 0; | ||||
|             if (text != null) | ||||
|             { | ||||
|                 text_byteCount = Encoding.UTF8.GetByteCount(text); | ||||
|                 if (text_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_text = Util.Allocate(text_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_text_stackBytes = stackalloc byte[text_byteCount + 1]; | ||||
|                     native_text = native_text_stackBytes; | ||||
|                 } | ||||
|                 int native_text_offset = Util.GetUtf8(text, native_text, text_byteCount); | ||||
|                 native_text[native_text_offset] = 0; | ||||
|             } | ||||
|             else { native_text = null; } | ||||
|             byte ret = ImGuiNative.ImGuiTextFilter_PassFilter((ImGuiTextFilter*)(NativePtr), native_text, native_text+text_byteCount); | ||||
|             if (text_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_text); | ||||
|             } | ||||
|             return ret != 0; | ||||
|         } | ||||
| #endif | ||||
|         public bool PassFilter(string text) | ||||
|         { | ||||
|             byte* native_text; | ||||
|             int text_byteCount = 0; | ||||
|             if (text != null) | ||||
|             { | ||||
|                 text_byteCount = Encoding.UTF8.GetByteCount(text); | ||||
|                 if (text_byteCount > Util.StackAllocationSizeLimit) | ||||
|                 { | ||||
|                     native_text = Util.Allocate(text_byteCount + 1); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     byte* native_text_stackBytes = stackalloc byte[text_byteCount + 1]; | ||||
|                     native_text = native_text_stackBytes; | ||||
|                 } | ||||
|                 int native_text_offset = Util.GetUtf8(text, native_text, text_byteCount); | ||||
|                 native_text[native_text_offset] = 0; | ||||
|             } | ||||
|             else { native_text = null; } | ||||
|             byte ret = ImGuiNative.ImGuiTextFilter_PassFilter((ImGuiTextFilter*)(NativePtr), native_text, native_text+text_byteCount); | ||||
|             if (text_byteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(native_text); | ||||
|             } | ||||
|             return ret != 0; | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										40
									
								
								lib/ImGui.NET/Generated/ImGuiTextRange.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								lib/ImGui.NET/Generated/ImGuiTextRange.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImGuiTextRange | ||||
|     { | ||||
|         public byte* b; | ||||
|         public byte* e; | ||||
|     } | ||||
|     public unsafe partial struct ImGuiTextRangePtr | ||||
|     { | ||||
|         public ImGuiTextRange* NativePtr { get; } | ||||
|         public ImGuiTextRangePtr(ImGuiTextRange* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImGuiTextRangePtr(IntPtr nativePtr) => NativePtr = (ImGuiTextRange*)nativePtr; | ||||
|         public static implicit operator ImGuiTextRangePtr(ImGuiTextRange* nativePtr) => new ImGuiTextRangePtr(nativePtr); | ||||
|         public static implicit operator ImGuiTextRange* (ImGuiTextRangePtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImGuiTextRangePtr(IntPtr nativePtr) => new ImGuiTextRangePtr(nativePtr); | ||||
|         public IntPtr b { get => (IntPtr)NativePtr->b; set => NativePtr->b = (byte*)value; } | ||||
|         public IntPtr e { get => (IntPtr)NativePtr->e; set => NativePtr->e = (byte*)value; } | ||||
|         public void Destroy() | ||||
|         { | ||||
|             ImGuiNative.ImGuiTextRange_destroy((ImGuiTextRange*)(NativePtr)); | ||||
|         } | ||||
|         public bool empty() | ||||
|         { | ||||
|             byte ret = ImGuiNative.ImGuiTextRange_empty((ImGuiTextRange*)(NativePtr)); | ||||
|             return ret != 0; | ||||
|         } | ||||
|         public void split(byte separator, out ImVector @out) | ||||
|         { | ||||
|             fixed (ImVector* native_out = &@out) | ||||
|             { | ||||
|                 ImGuiNative.ImGuiTextRange_split((ImGuiTextRange*)(NativePtr), separator, native_out); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										24
									
								
								lib/ImGui.NET/Generated/ImGuiTreeNodeFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								lib/ImGui.NET/Generated/ImGuiTreeNodeFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [System.Flags] | ||||
|     public enum ImGuiTreeNodeFlags | ||||
|     { | ||||
|         None = 0, | ||||
|         Selected = 1, | ||||
|         Framed = 2, | ||||
|         AllowOverlap = 4, | ||||
|         NoTreePushOnOpen = 8, | ||||
|         NoAutoOpenOnLog = 16, | ||||
|         DefaultOpen = 32, | ||||
|         OpenOnDoubleClick = 64, | ||||
|         OpenOnArrow = 128, | ||||
|         Leaf = 256, | ||||
|         Bullet = 512, | ||||
|         FramePadding = 1024, | ||||
|         SpanAvailWidth = 2048, | ||||
|         SpanFullWidth = 4096, | ||||
|         SpanAllColumns = 8192, | ||||
|         NavLeftJumpsBackHere = 16384, | ||||
|         CollapsingHeader = 26, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										70
									
								
								lib/ImGui.NET/Generated/ImGuiViewport.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								lib/ImGui.NET/Generated/ImGuiViewport.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,70 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImGuiViewport | ||||
|     { | ||||
|         public uint ID; | ||||
|         public ImGuiViewportFlags Flags; | ||||
|         public Vector2 Pos; | ||||
|         public Vector2 Size; | ||||
|         public Vector2 WorkPos; | ||||
|         public Vector2 WorkSize; | ||||
|         public float DpiScale; | ||||
|         public uint ParentViewportId; | ||||
|         public ImDrawData* DrawData; | ||||
|         public void* RendererUserData; | ||||
|         public void* PlatformUserData; | ||||
|         public void* PlatformHandle; | ||||
|         public void* PlatformHandleRaw; | ||||
|         public byte PlatformWindowCreated; | ||||
|         public byte PlatformRequestMove; | ||||
|         public byte PlatformRequestResize; | ||||
|         public byte PlatformRequestClose; | ||||
|     } | ||||
|     public unsafe partial struct ImGuiViewportPtr | ||||
|     { | ||||
|         public ImGuiViewport* NativePtr { get; } | ||||
|         public ImGuiViewportPtr(ImGuiViewport* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImGuiViewportPtr(IntPtr nativePtr) => NativePtr = (ImGuiViewport*)nativePtr; | ||||
|         public static implicit operator ImGuiViewportPtr(ImGuiViewport* nativePtr) => new ImGuiViewportPtr(nativePtr); | ||||
|         public static implicit operator ImGuiViewport* (ImGuiViewportPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImGuiViewportPtr(IntPtr nativePtr) => new ImGuiViewportPtr(nativePtr); | ||||
|         public ref uint ID => ref Unsafe.AsRef<uint>(&NativePtr->ID); | ||||
|         public ref ImGuiViewportFlags Flags => ref Unsafe.AsRef<ImGuiViewportFlags>(&NativePtr->Flags); | ||||
|         public ref Vector2 Pos => ref Unsafe.AsRef<Vector2>(&NativePtr->Pos); | ||||
|         public ref Vector2 Size => ref Unsafe.AsRef<Vector2>(&NativePtr->Size); | ||||
|         public ref Vector2 WorkPos => ref Unsafe.AsRef<Vector2>(&NativePtr->WorkPos); | ||||
|         public ref Vector2 WorkSize => ref Unsafe.AsRef<Vector2>(&NativePtr->WorkSize); | ||||
|         public ref float DpiScale => ref Unsafe.AsRef<float>(&NativePtr->DpiScale); | ||||
|         public ref uint ParentViewportId => ref Unsafe.AsRef<uint>(&NativePtr->ParentViewportId); | ||||
|         public ImDrawDataPtr DrawData => new ImDrawDataPtr(NativePtr->DrawData); | ||||
|         public IntPtr RendererUserData { get => (IntPtr)NativePtr->RendererUserData; set => NativePtr->RendererUserData = (void*)value; } | ||||
|         public IntPtr PlatformUserData { get => (IntPtr)NativePtr->PlatformUserData; set => NativePtr->PlatformUserData = (void*)value; } | ||||
|         public IntPtr PlatformHandle { get => (IntPtr)NativePtr->PlatformHandle; set => NativePtr->PlatformHandle = (void*)value; } | ||||
|         public IntPtr PlatformHandleRaw { get => (IntPtr)NativePtr->PlatformHandleRaw; set => NativePtr->PlatformHandleRaw = (void*)value; } | ||||
|         public ref bool PlatformWindowCreated => ref Unsafe.AsRef<bool>(&NativePtr->PlatformWindowCreated); | ||||
|         public ref bool PlatformRequestMove => ref Unsafe.AsRef<bool>(&NativePtr->PlatformRequestMove); | ||||
|         public ref bool PlatformRequestResize => ref Unsafe.AsRef<bool>(&NativePtr->PlatformRequestResize); | ||||
|         public ref bool PlatformRequestClose => ref Unsafe.AsRef<bool>(&NativePtr->PlatformRequestClose); | ||||
|         public void Destroy() | ||||
|         { | ||||
|             ImGuiNative.ImGuiViewport_destroy((ImGuiViewport*)(NativePtr)); | ||||
|         } | ||||
|         public Vector2 GetCenter() | ||||
|         { | ||||
|             Vector2 __retval; | ||||
|             ImGuiNative.ImGuiViewport_GetCenter(&__retval, (ImGuiViewport*)(NativePtr)); | ||||
|             return __retval; | ||||
|         } | ||||
|         public Vector2 GetWorkCenter() | ||||
|         { | ||||
|             Vector2 __retval; | ||||
|             ImGuiNative.ImGuiViewport_GetWorkCenter(&__retval, (ImGuiViewport*)(NativePtr)); | ||||
|             return __retval; | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										22
									
								
								lib/ImGui.NET/Generated/ImGuiViewportFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								lib/ImGui.NET/Generated/ImGuiViewportFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [System.Flags] | ||||
|     public enum ImGuiViewportFlags | ||||
|     { | ||||
|         None = 0, | ||||
|         IsPlatformWindow = 1, | ||||
|         IsPlatformMonitor = 2, | ||||
|         OwnedByApp = 4, | ||||
|         NoDecoration = 8, | ||||
|         NoTaskBarIcon = 16, | ||||
|         NoFocusOnAppearing = 32, | ||||
|         NoFocusOnClick = 64, | ||||
|         NoInputs = 128, | ||||
|         NoRendererClear = 256, | ||||
|         NoAutoMerge = 512, | ||||
|         TopMost = 1024, | ||||
|         CanHostOtherWindows = 2048, | ||||
|         IsMinimized = 4096, | ||||
|         IsFocused = 8192, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										40
									
								
								lib/ImGui.NET/Generated/ImGuiWindowClass.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								lib/ImGui.NET/Generated/ImGuiWindowClass.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct ImGuiWindowClass | ||||
|     { | ||||
|         public uint ClassId; | ||||
|         public uint ParentViewportId; | ||||
|         public ImGuiViewportFlags ViewportFlagsOverrideSet; | ||||
|         public ImGuiViewportFlags ViewportFlagsOverrideClear; | ||||
|         public ImGuiTabItemFlags TabItemFlagsOverrideSet; | ||||
|         public ImGuiDockNodeFlags DockNodeFlagsOverrideSet; | ||||
|         public byte DockingAlwaysTabBar; | ||||
|         public byte DockingAllowUnclassed; | ||||
|     } | ||||
|     public unsafe partial struct ImGuiWindowClassPtr | ||||
|     { | ||||
|         public ImGuiWindowClass* NativePtr { get; } | ||||
|         public ImGuiWindowClassPtr(ImGuiWindowClass* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImGuiWindowClassPtr(IntPtr nativePtr) => NativePtr = (ImGuiWindowClass*)nativePtr; | ||||
|         public static implicit operator ImGuiWindowClassPtr(ImGuiWindowClass* nativePtr) => new ImGuiWindowClassPtr(nativePtr); | ||||
|         public static implicit operator ImGuiWindowClass* (ImGuiWindowClassPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImGuiWindowClassPtr(IntPtr nativePtr) => new ImGuiWindowClassPtr(nativePtr); | ||||
|         public ref uint ClassId => ref Unsafe.AsRef<uint>(&NativePtr->ClassId); | ||||
|         public ref uint ParentViewportId => ref Unsafe.AsRef<uint>(&NativePtr->ParentViewportId); | ||||
|         public ref ImGuiViewportFlags ViewportFlagsOverrideSet => ref Unsafe.AsRef<ImGuiViewportFlags>(&NativePtr->ViewportFlagsOverrideSet); | ||||
|         public ref ImGuiViewportFlags ViewportFlagsOverrideClear => ref Unsafe.AsRef<ImGuiViewportFlags>(&NativePtr->ViewportFlagsOverrideClear); | ||||
|         public ref ImGuiTabItemFlags TabItemFlagsOverrideSet => ref Unsafe.AsRef<ImGuiTabItemFlags>(&NativePtr->TabItemFlagsOverrideSet); | ||||
|         public ref ImGuiDockNodeFlags DockNodeFlagsOverrideSet => ref Unsafe.AsRef<ImGuiDockNodeFlags>(&NativePtr->DockNodeFlagsOverrideSet); | ||||
|         public ref bool DockingAlwaysTabBar => ref Unsafe.AsRef<bool>(&NativePtr->DockingAlwaysTabBar); | ||||
|         public ref bool DockingAllowUnclassed => ref Unsafe.AsRef<bool>(&NativePtr->DockingAllowUnclassed); | ||||
|         public void Destroy() | ||||
|         { | ||||
|             ImGuiNative.ImGuiWindowClass_destroy((ImGuiWindowClass*)(NativePtr)); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										38
									
								
								lib/ImGui.NET/Generated/ImGuiWindowFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								lib/ImGui.NET/Generated/ImGuiWindowFlags.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [System.Flags] | ||||
|     public enum ImGuiWindowFlags | ||||
|     { | ||||
|         None = 0, | ||||
|         NoTitleBar = 1, | ||||
|         NoResize = 2, | ||||
|         NoMove = 4, | ||||
|         NoScrollbar = 8, | ||||
|         NoScrollWithMouse = 16, | ||||
|         NoCollapse = 32, | ||||
|         AlwaysAutoResize = 64, | ||||
|         NoBackground = 128, | ||||
|         NoSavedSettings = 256, | ||||
|         NoMouseInputs = 512, | ||||
|         MenuBar = 1024, | ||||
|         HorizontalScrollbar = 2048, | ||||
|         NoFocusOnAppearing = 4096, | ||||
|         NoBringToFrontOnFocus = 8192, | ||||
|         AlwaysVerticalScrollbar = 16384, | ||||
|         AlwaysHorizontalScrollbar = 32768, | ||||
|         NoNavInputs = 65536, | ||||
|         NoNavFocus = 131072, | ||||
|         UnsavedDocument = 262144, | ||||
|         NoDocking = 524288, | ||||
|         NoNav = 196608, | ||||
|         NoDecoration = 43, | ||||
|         NoInputs = 197120, | ||||
|         NavFlattened = 8388608, | ||||
|         ChildWindow = 16777216, | ||||
|         Tooltip = 33554432, | ||||
|         Popup = 67108864, | ||||
|         Modal = 134217728, | ||||
|         ChildMenu = 268435456, | ||||
|         DockNodeHost = 536870912, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										48
									
								
								lib/ImGui.NET/Generated/STB_TexteditState.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								lib/ImGui.NET/Generated/STB_TexteditState.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,48 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct STB_TexteditState | ||||
|     { | ||||
|         public int cursor; | ||||
|         public int select_start; | ||||
|         public int select_end; | ||||
|         public byte insert_mode; | ||||
|         public int row_count_per_page; | ||||
|         public byte cursor_at_end_of_line; | ||||
|         public byte initialized; | ||||
|         public byte has_preferred_x; | ||||
|         public byte single_line; | ||||
|         public byte padding1; | ||||
|         public byte padding2; | ||||
|         public byte padding3; | ||||
|         public float preferred_x; | ||||
|         public StbUndoState undostate; | ||||
|     } | ||||
|     public unsafe partial struct STB_TexteditStatePtr | ||||
|     { | ||||
|         public STB_TexteditState* NativePtr { get; } | ||||
|         public STB_TexteditStatePtr(STB_TexteditState* nativePtr) => NativePtr = nativePtr; | ||||
|         public STB_TexteditStatePtr(IntPtr nativePtr) => NativePtr = (STB_TexteditState*)nativePtr; | ||||
|         public static implicit operator STB_TexteditStatePtr(STB_TexteditState* nativePtr) => new STB_TexteditStatePtr(nativePtr); | ||||
|         public static implicit operator STB_TexteditState* (STB_TexteditStatePtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator STB_TexteditStatePtr(IntPtr nativePtr) => new STB_TexteditStatePtr(nativePtr); | ||||
|         public ref int cursor => ref Unsafe.AsRef<int>(&NativePtr->cursor); | ||||
|         public ref int select_start => ref Unsafe.AsRef<int>(&NativePtr->select_start); | ||||
|         public ref int select_end => ref Unsafe.AsRef<int>(&NativePtr->select_end); | ||||
|         public ref byte insert_mode => ref Unsafe.AsRef<byte>(&NativePtr->insert_mode); | ||||
|         public ref int row_count_per_page => ref Unsafe.AsRef<int>(&NativePtr->row_count_per_page); | ||||
|         public ref byte cursor_at_end_of_line => ref Unsafe.AsRef<byte>(&NativePtr->cursor_at_end_of_line); | ||||
|         public ref byte initialized => ref Unsafe.AsRef<byte>(&NativePtr->initialized); | ||||
|         public ref byte has_preferred_x => ref Unsafe.AsRef<byte>(&NativePtr->has_preferred_x); | ||||
|         public ref byte single_line => ref Unsafe.AsRef<byte>(&NativePtr->single_line); | ||||
|         public ref byte padding1 => ref Unsafe.AsRef<byte>(&NativePtr->padding1); | ||||
|         public ref byte padding2 => ref Unsafe.AsRef<byte>(&NativePtr->padding2); | ||||
|         public ref byte padding3 => ref Unsafe.AsRef<byte>(&NativePtr->padding3); | ||||
|         public ref float preferred_x => ref Unsafe.AsRef<float>(&NativePtr->preferred_x); | ||||
|         public ref StbUndoState undostate => ref Unsafe.AsRef<StbUndoState>(&NativePtr->undostate); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										32
									
								
								lib/ImGui.NET/Generated/StbTexteditRow.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								lib/ImGui.NET/Generated/StbTexteditRow.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct StbTexteditRow | ||||
|     { | ||||
|         public float x0; | ||||
|         public float x1; | ||||
|         public float baseline_y_delta; | ||||
|         public float ymin; | ||||
|         public float ymax; | ||||
|         public int num_chars; | ||||
|     } | ||||
|     public unsafe partial struct StbTexteditRowPtr | ||||
|     { | ||||
|         public StbTexteditRow* NativePtr { get; } | ||||
|         public StbTexteditRowPtr(StbTexteditRow* nativePtr) => NativePtr = nativePtr; | ||||
|         public StbTexteditRowPtr(IntPtr nativePtr) => NativePtr = (StbTexteditRow*)nativePtr; | ||||
|         public static implicit operator StbTexteditRowPtr(StbTexteditRow* nativePtr) => new StbTexteditRowPtr(nativePtr); | ||||
|         public static implicit operator StbTexteditRow* (StbTexteditRowPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator StbTexteditRowPtr(IntPtr nativePtr) => new StbTexteditRowPtr(nativePtr); | ||||
|         public ref float x0 => ref Unsafe.AsRef<float>(&NativePtr->x0); | ||||
|         public ref float x1 => ref Unsafe.AsRef<float>(&NativePtr->x1); | ||||
|         public ref float baseline_y_delta => ref Unsafe.AsRef<float>(&NativePtr->baseline_y_delta); | ||||
|         public ref float ymin => ref Unsafe.AsRef<float>(&NativePtr->ymin); | ||||
|         public ref float ymax => ref Unsafe.AsRef<float>(&NativePtr->ymax); | ||||
|         public ref int num_chars => ref Unsafe.AsRef<int>(&NativePtr->num_chars); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										28
									
								
								lib/ImGui.NET/Generated/StbUndoRecord.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								lib/ImGui.NET/Generated/StbUndoRecord.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct StbUndoRecord | ||||
|     { | ||||
|         public int where; | ||||
|         public int insert_length; | ||||
|         public int delete_length; | ||||
|         public int char_storage; | ||||
|     } | ||||
|     public unsafe partial struct StbUndoRecordPtr | ||||
|     { | ||||
|         public StbUndoRecord* NativePtr { get; } | ||||
|         public StbUndoRecordPtr(StbUndoRecord* nativePtr) => NativePtr = nativePtr; | ||||
|         public StbUndoRecordPtr(IntPtr nativePtr) => NativePtr = (StbUndoRecord*)nativePtr; | ||||
|         public static implicit operator StbUndoRecordPtr(StbUndoRecord* nativePtr) => new StbUndoRecordPtr(nativePtr); | ||||
|         public static implicit operator StbUndoRecord* (StbUndoRecordPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator StbUndoRecordPtr(IntPtr nativePtr) => new StbUndoRecordPtr(nativePtr); | ||||
|         public ref int where => ref Unsafe.AsRef<int>(&NativePtr->where); | ||||
|         public ref int insert_length => ref Unsafe.AsRef<int>(&NativePtr->insert_length); | ||||
|         public ref int delete_length => ref Unsafe.AsRef<int>(&NativePtr->delete_length); | ||||
|         public ref int char_storage => ref Unsafe.AsRef<int>(&NativePtr->char_storage); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										130
									
								
								lib/ImGui.NET/Generated/StbUndoState.gen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										130
									
								
								lib/ImGui.NET/Generated/StbUndoState.gen.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,130 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe partial struct StbUndoState | ||||
|     { | ||||
|         public StbUndoRecord undo_rec_0; | ||||
|         public StbUndoRecord undo_rec_1; | ||||
|         public StbUndoRecord undo_rec_2; | ||||
|         public StbUndoRecord undo_rec_3; | ||||
|         public StbUndoRecord undo_rec_4; | ||||
|         public StbUndoRecord undo_rec_5; | ||||
|         public StbUndoRecord undo_rec_6; | ||||
|         public StbUndoRecord undo_rec_7; | ||||
|         public StbUndoRecord undo_rec_8; | ||||
|         public StbUndoRecord undo_rec_9; | ||||
|         public StbUndoRecord undo_rec_10; | ||||
|         public StbUndoRecord undo_rec_11; | ||||
|         public StbUndoRecord undo_rec_12; | ||||
|         public StbUndoRecord undo_rec_13; | ||||
|         public StbUndoRecord undo_rec_14; | ||||
|         public StbUndoRecord undo_rec_15; | ||||
|         public StbUndoRecord undo_rec_16; | ||||
|         public StbUndoRecord undo_rec_17; | ||||
|         public StbUndoRecord undo_rec_18; | ||||
|         public StbUndoRecord undo_rec_19; | ||||
|         public StbUndoRecord undo_rec_20; | ||||
|         public StbUndoRecord undo_rec_21; | ||||
|         public StbUndoRecord undo_rec_22; | ||||
|         public StbUndoRecord undo_rec_23; | ||||
|         public StbUndoRecord undo_rec_24; | ||||
|         public StbUndoRecord undo_rec_25; | ||||
|         public StbUndoRecord undo_rec_26; | ||||
|         public StbUndoRecord undo_rec_27; | ||||
|         public StbUndoRecord undo_rec_28; | ||||
|         public StbUndoRecord undo_rec_29; | ||||
|         public StbUndoRecord undo_rec_30; | ||||
|         public StbUndoRecord undo_rec_31; | ||||
|         public StbUndoRecord undo_rec_32; | ||||
|         public StbUndoRecord undo_rec_33; | ||||
|         public StbUndoRecord undo_rec_34; | ||||
|         public StbUndoRecord undo_rec_35; | ||||
|         public StbUndoRecord undo_rec_36; | ||||
|         public StbUndoRecord undo_rec_37; | ||||
|         public StbUndoRecord undo_rec_38; | ||||
|         public StbUndoRecord undo_rec_39; | ||||
|         public StbUndoRecord undo_rec_40; | ||||
|         public StbUndoRecord undo_rec_41; | ||||
|         public StbUndoRecord undo_rec_42; | ||||
|         public StbUndoRecord undo_rec_43; | ||||
|         public StbUndoRecord undo_rec_44; | ||||
|         public StbUndoRecord undo_rec_45; | ||||
|         public StbUndoRecord undo_rec_46; | ||||
|         public StbUndoRecord undo_rec_47; | ||||
|         public StbUndoRecord undo_rec_48; | ||||
|         public StbUndoRecord undo_rec_49; | ||||
|         public StbUndoRecord undo_rec_50; | ||||
|         public StbUndoRecord undo_rec_51; | ||||
|         public StbUndoRecord undo_rec_52; | ||||
|         public StbUndoRecord undo_rec_53; | ||||
|         public StbUndoRecord undo_rec_54; | ||||
|         public StbUndoRecord undo_rec_55; | ||||
|         public StbUndoRecord undo_rec_56; | ||||
|         public StbUndoRecord undo_rec_57; | ||||
|         public StbUndoRecord undo_rec_58; | ||||
|         public StbUndoRecord undo_rec_59; | ||||
|         public StbUndoRecord undo_rec_60; | ||||
|         public StbUndoRecord undo_rec_61; | ||||
|         public StbUndoRecord undo_rec_62; | ||||
|         public StbUndoRecord undo_rec_63; | ||||
|         public StbUndoRecord undo_rec_64; | ||||
|         public StbUndoRecord undo_rec_65; | ||||
|         public StbUndoRecord undo_rec_66; | ||||
|         public StbUndoRecord undo_rec_67; | ||||
|         public StbUndoRecord undo_rec_68; | ||||
|         public StbUndoRecord undo_rec_69; | ||||
|         public StbUndoRecord undo_rec_70; | ||||
|         public StbUndoRecord undo_rec_71; | ||||
|         public StbUndoRecord undo_rec_72; | ||||
|         public StbUndoRecord undo_rec_73; | ||||
|         public StbUndoRecord undo_rec_74; | ||||
|         public StbUndoRecord undo_rec_75; | ||||
|         public StbUndoRecord undo_rec_76; | ||||
|         public StbUndoRecord undo_rec_77; | ||||
|         public StbUndoRecord undo_rec_78; | ||||
|         public StbUndoRecord undo_rec_79; | ||||
|         public StbUndoRecord undo_rec_80; | ||||
|         public StbUndoRecord undo_rec_81; | ||||
|         public StbUndoRecord undo_rec_82; | ||||
|         public StbUndoRecord undo_rec_83; | ||||
|         public StbUndoRecord undo_rec_84; | ||||
|         public StbUndoRecord undo_rec_85; | ||||
|         public StbUndoRecord undo_rec_86; | ||||
|         public StbUndoRecord undo_rec_87; | ||||
|         public StbUndoRecord undo_rec_88; | ||||
|         public StbUndoRecord undo_rec_89; | ||||
|         public StbUndoRecord undo_rec_90; | ||||
|         public StbUndoRecord undo_rec_91; | ||||
|         public StbUndoRecord undo_rec_92; | ||||
|         public StbUndoRecord undo_rec_93; | ||||
|         public StbUndoRecord undo_rec_94; | ||||
|         public StbUndoRecord undo_rec_95; | ||||
|         public StbUndoRecord undo_rec_96; | ||||
|         public StbUndoRecord undo_rec_97; | ||||
|         public StbUndoRecord undo_rec_98; | ||||
|         public fixed ushort undo_char[999]; | ||||
|         public short undo_point; | ||||
|         public short redo_point; | ||||
|         public int undo_char_point; | ||||
|         public int redo_char_point; | ||||
|     } | ||||
|     public unsafe partial struct StbUndoStatePtr | ||||
|     { | ||||
|         public StbUndoState* NativePtr { get; } | ||||
|         public StbUndoStatePtr(StbUndoState* nativePtr) => NativePtr = nativePtr; | ||||
|         public StbUndoStatePtr(IntPtr nativePtr) => NativePtr = (StbUndoState*)nativePtr; | ||||
|         public static implicit operator StbUndoStatePtr(StbUndoState* nativePtr) => new StbUndoStatePtr(nativePtr); | ||||
|         public static implicit operator StbUndoState* (StbUndoStatePtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator StbUndoStatePtr(IntPtr nativePtr) => new StbUndoStatePtr(nativePtr); | ||||
|         public RangeAccessor<StbUndoRecord> undo_rec => new RangeAccessor<StbUndoRecord>(&NativePtr->undo_rec_0, 99); | ||||
|         public RangeAccessor<ushort> undo_char => new RangeAccessor<ushort>(NativePtr->undo_char, 999); | ||||
|         public ref short undo_point => ref Unsafe.AsRef<short>(&NativePtr->undo_point); | ||||
|         public ref short redo_point => ref Unsafe.AsRef<short>(&NativePtr->redo_point); | ||||
|         public ref int undo_char_point => ref Unsafe.AsRef<int>(&NativePtr->undo_char_point); | ||||
|         public ref int redo_char_point => ref Unsafe.AsRef<int>(&NativePtr->redo_char_point); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										485
									
								
								lib/ImGui.NET/ImGui.Manual.ReadOnlySpan.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										485
									
								
								lib/ImGui.NET/ImGui.Manual.ReadOnlySpan.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,485 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| // NOTE: | ||||
| // This is a direct copy from ImGui.Manual.cs with all string parameters (not ref string) changed to ReadOnlySpan<char>. | ||||
| // This is far from ideal right now, maybe we could update the generator to do this for us. | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public static unsafe partial class ImGui | ||||
|     { | ||||
|         public static bool InputText( | ||||
|             ReadOnlySpan<char> label, | ||||
|             byte[] buf, | ||||
|             uint buf_size) | ||||
|         { | ||||
|             return InputText(label, buf, buf_size, 0, null, IntPtr.Zero); | ||||
|         } | ||||
|  | ||||
|         public static bool InputText( | ||||
|             ReadOnlySpan<char> label, | ||||
|             byte[] buf, | ||||
|             uint buf_size, | ||||
|             ImGuiInputTextFlags flags) | ||||
|         { | ||||
|             return InputText(label, buf, buf_size, flags, null, IntPtr.Zero); | ||||
|         } | ||||
|  | ||||
|         public static bool InputText( | ||||
|             ReadOnlySpan<char> label, | ||||
|             byte[] buf, | ||||
|             uint buf_size, | ||||
|             ImGuiInputTextFlags flags, | ||||
|             ImGuiInputTextCallback callback) | ||||
|         { | ||||
|             return InputText(label, buf, buf_size, flags, callback, IntPtr.Zero); | ||||
|         } | ||||
|  | ||||
|         public static bool InputText( | ||||
|             ReadOnlySpan<char> label, | ||||
|             byte[] buf, | ||||
|             uint buf_size, | ||||
|             ImGuiInputTextFlags flags, | ||||
|             ImGuiInputTextCallback callback, | ||||
|             IntPtr user_data) | ||||
|         { | ||||
|             int utf8LabelByteCount = Encoding.UTF8.GetByteCount(label); | ||||
|             byte* utf8LabelBytes; | ||||
|             if (utf8LabelByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 utf8LabelBytes = Util.Allocate(utf8LabelByteCount + 1); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 byte* stackPtr = stackalloc byte[utf8LabelByteCount + 1]; | ||||
|                 utf8LabelBytes = stackPtr; | ||||
|             } | ||||
|             Util.GetUtf8(label, utf8LabelBytes, utf8LabelByteCount); | ||||
|  | ||||
|             bool ret; | ||||
|             fixed (byte* bufPtr = buf) | ||||
|             { | ||||
|                 ret = ImGuiNative.igInputText(utf8LabelBytes, bufPtr, buf_size, flags, callback, user_data.ToPointer()) != 0; | ||||
|             } | ||||
|  | ||||
|             if (utf8LabelByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(utf8LabelBytes); | ||||
|             } | ||||
|  | ||||
|             return ret; | ||||
|         } | ||||
|  | ||||
|         public static bool InputText( | ||||
|             ReadOnlySpan<char> label, | ||||
|             ref string input, | ||||
|             uint maxLength) => InputText(label, ref input, maxLength, 0, null, IntPtr.Zero); | ||||
|  | ||||
|         public static bool InputText( | ||||
|             ReadOnlySpan<char> label, | ||||
|             ref string input, | ||||
|             uint maxLength, | ||||
|             ImGuiInputTextFlags flags) => InputText(label, ref input, maxLength, flags, null, IntPtr.Zero); | ||||
|  | ||||
|         public static bool InputText( | ||||
|             ReadOnlySpan<char> label, | ||||
|             ref string input, | ||||
|             uint maxLength, | ||||
|             ImGuiInputTextFlags flags, | ||||
|             ImGuiInputTextCallback callback) => InputText(label, ref input, maxLength, flags, callback, IntPtr.Zero); | ||||
|  | ||||
|         public static bool InputText( | ||||
|             ReadOnlySpan<char> label, | ||||
|             ref string input, | ||||
|             uint maxLength, | ||||
|             ImGuiInputTextFlags flags, | ||||
|             ImGuiInputTextCallback callback, | ||||
|             IntPtr user_data) | ||||
|         { | ||||
|             int utf8LabelByteCount = Encoding.UTF8.GetByteCount(label); | ||||
|             byte* utf8LabelBytes; | ||||
|             if (utf8LabelByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 utf8LabelBytes = Util.Allocate(utf8LabelByteCount + 1); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 byte* stackPtr = stackalloc byte[utf8LabelByteCount + 1]; | ||||
|                 utf8LabelBytes = stackPtr; | ||||
|             } | ||||
|             Util.GetUtf8(label, utf8LabelBytes, utf8LabelByteCount); | ||||
|  | ||||
|             int utf8InputByteCount = Encoding.UTF8.GetByteCount(input); | ||||
|             int inputBufSize = Math.Max((int)maxLength + 1, utf8InputByteCount + 1); | ||||
|  | ||||
|             byte* utf8InputBytes; | ||||
|             byte* originalUtf8InputBytes; | ||||
|             if (inputBufSize > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 utf8InputBytes = Util.Allocate(inputBufSize); | ||||
|                 originalUtf8InputBytes = Util.Allocate(inputBufSize); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 byte* inputStackBytes = stackalloc byte[inputBufSize]; | ||||
|                 utf8InputBytes = inputStackBytes; | ||||
|                 byte* originalInputStackBytes = stackalloc byte[inputBufSize]; | ||||
|                 originalUtf8InputBytes = originalInputStackBytes; | ||||
|             } | ||||
|             Util.GetUtf8(input, utf8InputBytes, inputBufSize); | ||||
|             uint clearBytesCount = (uint)(inputBufSize - utf8InputByteCount); | ||||
|             Unsafe.InitBlockUnaligned(utf8InputBytes + utf8InputByteCount, 0, clearBytesCount); | ||||
|             Unsafe.CopyBlock(originalUtf8InputBytes, utf8InputBytes, (uint)inputBufSize); | ||||
|  | ||||
|             byte result = ImGuiNative.igInputText( | ||||
|                 utf8LabelBytes, | ||||
|                 utf8InputBytes, | ||||
|                 (uint)inputBufSize, | ||||
|                 flags, | ||||
|                 callback, | ||||
|                 user_data.ToPointer()); | ||||
|             if (!Util.AreStringsEqual(originalUtf8InputBytes, inputBufSize, utf8InputBytes)) | ||||
|             { | ||||
|                 input = Util.StringFromPtr(utf8InputBytes); | ||||
|             } | ||||
|  | ||||
|             if (utf8LabelByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(utf8LabelBytes); | ||||
|             } | ||||
|             if (inputBufSize > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(utf8InputBytes); | ||||
|                 Util.Free(originalUtf8InputBytes); | ||||
|             } | ||||
|  | ||||
|             return result != 0; | ||||
|         } | ||||
|  | ||||
|         public static bool InputTextMultiline( | ||||
|             ReadOnlySpan<char> label, | ||||
|             ref string input, | ||||
|             uint maxLength, | ||||
|             Vector2 size) => InputTextMultiline(label, ref input, maxLength, size, 0, null, IntPtr.Zero); | ||||
|  | ||||
|         public static bool InputTextMultiline( | ||||
|             ReadOnlySpan<char> label, | ||||
|             ref string input, | ||||
|             uint maxLength, | ||||
|             Vector2 size, | ||||
|             ImGuiInputTextFlags flags) => InputTextMultiline(label, ref input, maxLength, size, flags, null, IntPtr.Zero); | ||||
|  | ||||
|         public static bool InputTextMultiline( | ||||
|             ReadOnlySpan<char> label, | ||||
|             ref string input, | ||||
|             uint maxLength, | ||||
|             Vector2 size, | ||||
|             ImGuiInputTextFlags flags, | ||||
|             ImGuiInputTextCallback callback) => InputTextMultiline(label, ref input, maxLength, size, flags, callback, IntPtr.Zero); | ||||
|  | ||||
|         public static bool InputTextMultiline( | ||||
|             ReadOnlySpan<char> label, | ||||
|             ref string input, | ||||
|             uint maxLength, | ||||
|             Vector2 size, | ||||
|             ImGuiInputTextFlags flags, | ||||
|             ImGuiInputTextCallback callback, | ||||
|             IntPtr user_data) | ||||
|         { | ||||
|             int utf8LabelByteCount = Encoding.UTF8.GetByteCount(label); | ||||
|             byte* utf8LabelBytes; | ||||
|             if (utf8LabelByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 utf8LabelBytes = Util.Allocate(utf8LabelByteCount + 1); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 byte* stackPtr = stackalloc byte[utf8LabelByteCount + 1]; | ||||
|                 utf8LabelBytes = stackPtr; | ||||
|             } | ||||
|             Util.GetUtf8(label, utf8LabelBytes, utf8LabelByteCount); | ||||
|  | ||||
|             int utf8InputByteCount = Encoding.UTF8.GetByteCount(input); | ||||
|             int inputBufSize = Math.Max((int)maxLength + 1, utf8InputByteCount + 1); | ||||
|  | ||||
|             byte* utf8InputBytes; | ||||
|             byte* originalUtf8InputBytes; | ||||
|             if (inputBufSize > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 utf8InputBytes = Util.Allocate(inputBufSize); | ||||
|                 originalUtf8InputBytes = Util.Allocate(inputBufSize); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 byte* inputStackBytes = stackalloc byte[inputBufSize]; | ||||
|                 utf8InputBytes = inputStackBytes; | ||||
|                 byte* originalInputStackBytes = stackalloc byte[inputBufSize]; | ||||
|                 originalUtf8InputBytes = originalInputStackBytes; | ||||
|             } | ||||
|             Util.GetUtf8(input, utf8InputBytes, inputBufSize); | ||||
|             uint clearBytesCount = (uint)(inputBufSize - utf8InputByteCount); | ||||
|             Unsafe.InitBlockUnaligned(utf8InputBytes + utf8InputByteCount, 0, clearBytesCount); | ||||
|             Unsafe.CopyBlock(originalUtf8InputBytes, utf8InputBytes, (uint)inputBufSize); | ||||
|  | ||||
|             byte result = ImGuiNative.igInputTextMultiline( | ||||
|                 utf8LabelBytes, | ||||
|                 utf8InputBytes, | ||||
|                 (uint)inputBufSize, | ||||
|                 size, | ||||
|                 flags, | ||||
|                 callback, | ||||
|                 user_data.ToPointer()); | ||||
|             if (!Util.AreStringsEqual(originalUtf8InputBytes, inputBufSize, utf8InputBytes)) | ||||
|             { | ||||
|                 input = Util.StringFromPtr(utf8InputBytes); | ||||
|             } | ||||
|  | ||||
|             if (utf8LabelByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(utf8LabelBytes); | ||||
|             } | ||||
|             if (inputBufSize > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(utf8InputBytes); | ||||
|                 Util.Free(originalUtf8InputBytes); | ||||
|             } | ||||
|  | ||||
|             return result != 0; | ||||
|         } | ||||
|  | ||||
|         public static bool InputTextWithHint( | ||||
|             ReadOnlySpan<char> label, | ||||
|             ReadOnlySpan<char> hint, | ||||
|             ref string input, | ||||
|             uint maxLength) => InputTextWithHint(label, hint, ref input, maxLength, 0, null, IntPtr.Zero); | ||||
|  | ||||
|         public static bool InputTextWithHint( | ||||
|             ReadOnlySpan<char> label, | ||||
|             ReadOnlySpan<char> hint, | ||||
|             ref string input, | ||||
|             uint maxLength, | ||||
|             ImGuiInputTextFlags flags) => InputTextWithHint(label, hint, ref input, maxLength, flags, null, IntPtr.Zero); | ||||
|  | ||||
|         public static bool InputTextWithHint( | ||||
|             ReadOnlySpan<char> label, | ||||
|             ReadOnlySpan<char> hint, | ||||
|             ref string input, | ||||
|             uint maxLength, | ||||
|             ImGuiInputTextFlags flags, | ||||
|             ImGuiInputTextCallback callback) => InputTextWithHint(label, hint, ref input, maxLength, flags, callback, IntPtr.Zero); | ||||
|  | ||||
|         public static bool InputTextWithHint( | ||||
|             ReadOnlySpan<char> label, | ||||
|             ReadOnlySpan<char> hint, | ||||
|             ref string input, | ||||
|             uint maxLength, | ||||
|             ImGuiInputTextFlags flags, | ||||
|             ImGuiInputTextCallback callback, | ||||
|             IntPtr user_data) | ||||
|         { | ||||
|             int utf8LabelByteCount = Encoding.UTF8.GetByteCount(label); | ||||
|             byte* utf8LabelBytes; | ||||
|             if (utf8LabelByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 utf8LabelBytes = Util.Allocate(utf8LabelByteCount + 1); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 byte* stackPtr = stackalloc byte[utf8LabelByteCount + 1]; | ||||
|                 utf8LabelBytes = stackPtr; | ||||
|             } | ||||
|             Util.GetUtf8(label, utf8LabelBytes, utf8LabelByteCount); | ||||
|  | ||||
|             int utf8HintByteCount = Encoding.UTF8.GetByteCount(hint); | ||||
|             byte* utf8HintBytes; | ||||
|             if (utf8HintByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 utf8HintBytes = Util.Allocate(utf8HintByteCount + 1); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 byte* stackPtr = stackalloc byte[utf8HintByteCount + 1]; | ||||
|                 utf8HintBytes = stackPtr; | ||||
|             } | ||||
|             Util.GetUtf8(hint, utf8HintBytes, utf8HintByteCount); | ||||
|  | ||||
|             int utf8InputByteCount = Encoding.UTF8.GetByteCount(input); | ||||
|             int inputBufSize = Math.Max((int)maxLength + 1, utf8InputByteCount + 1); | ||||
|  | ||||
|             byte* utf8InputBytes; | ||||
|             byte* originalUtf8InputBytes; | ||||
|             if (inputBufSize > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 utf8InputBytes = Util.Allocate(inputBufSize); | ||||
|                 originalUtf8InputBytes = Util.Allocate(inputBufSize); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 byte* inputStackBytes = stackalloc byte[inputBufSize]; | ||||
|                 utf8InputBytes = inputStackBytes; | ||||
|                 byte* originalInputStackBytes = stackalloc byte[inputBufSize]; | ||||
|                 originalUtf8InputBytes = originalInputStackBytes; | ||||
|             } | ||||
|             Util.GetUtf8(input, utf8InputBytes, inputBufSize); | ||||
|             uint clearBytesCount = (uint)(inputBufSize - utf8InputByteCount); | ||||
|             Unsafe.InitBlockUnaligned(utf8InputBytes + utf8InputByteCount, 0, clearBytesCount); | ||||
|             Unsafe.CopyBlock(originalUtf8InputBytes, utf8InputBytes, (uint)inputBufSize); | ||||
|  | ||||
|             byte result = ImGuiNative.igInputTextWithHint( | ||||
|                 utf8LabelBytes, | ||||
|                 utf8HintBytes, | ||||
|                 utf8InputBytes, | ||||
|                 (uint)inputBufSize, | ||||
|                 flags, | ||||
|                 callback, | ||||
|                 user_data.ToPointer()); | ||||
|             if (!Util.AreStringsEqual(originalUtf8InputBytes, inputBufSize, utf8InputBytes)) | ||||
|             { | ||||
|                 input = Util.StringFromPtr(utf8InputBytes); | ||||
|             } | ||||
|  | ||||
|             if (utf8LabelByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(utf8LabelBytes); | ||||
|             } | ||||
|             if (utf8HintByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(utf8HintBytes); | ||||
|             } | ||||
|             if (inputBufSize > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(utf8InputBytes); | ||||
|                 Util.Free(originalUtf8InputBytes); | ||||
|             } | ||||
|  | ||||
|             return result != 0; | ||||
|         } | ||||
|  | ||||
|         public static Vector2 CalcTextSize(ReadOnlySpan<char> text, int start) | ||||
|             => CalcTextSizeImpl(text, start); | ||||
|  | ||||
|         public static Vector2 CalcTextSize(ReadOnlySpan<char> text, float wrapWidth) | ||||
|             => CalcTextSizeImpl(text, wrapWidth: wrapWidth); | ||||
|  | ||||
|         public static Vector2 CalcTextSize(ReadOnlySpan<char> text, int start, int length) | ||||
|             => CalcTextSizeImpl(text, start, length); | ||||
|  | ||||
|         public static Vector2 CalcTextSize(ReadOnlySpan<char> text, int start, bool hideTextAfterDoubleHash) | ||||
|             => CalcTextSizeImpl(text, start, hideTextAfterDoubleHash: hideTextAfterDoubleHash); | ||||
|  | ||||
|         public static Vector2 CalcTextSize(ReadOnlySpan<char> text, int start, float wrapWidth) | ||||
|             => CalcTextSizeImpl(text, start, wrapWidth: wrapWidth); | ||||
|  | ||||
|         public static Vector2 CalcTextSize(ReadOnlySpan<char> text, int start, int length, bool hideTextAfterDoubleHash) | ||||
|             => CalcTextSizeImpl(text, start, length, hideTextAfterDoubleHash); | ||||
|  | ||||
|         public static Vector2 CalcTextSize(ReadOnlySpan<char> text, int start, int length, float wrapWidth) | ||||
|             => CalcTextSizeImpl(text, start, length, wrapWidth: wrapWidth); | ||||
|  | ||||
|         public static Vector2 CalcTextSize(ReadOnlySpan<char> text, int start, int length, bool hideTextAfterDoubleHash, float wrapWidth) | ||||
|             => CalcTextSizeImpl(text, start, length, hideTextAfterDoubleHash, wrapWidth); | ||||
|  | ||||
|         private static Vector2 CalcTextSizeImpl( | ||||
|             ReadOnlySpan<char> text, | ||||
|             int start = 0, | ||||
|             int? length = null, | ||||
|             bool hideTextAfterDoubleHash = false, | ||||
|             float wrapWidth = -1.0f) | ||||
|         { | ||||
|             return CalcTextSize(text.Slice(start, length ?? text.Length-start), hideTextAfterDoubleHash, wrapWidth); | ||||
|         } | ||||
|  | ||||
|         public static bool InputText( | ||||
|             ReadOnlySpan<char> label, | ||||
|             IntPtr buf, | ||||
|             uint buf_size) | ||||
|         { | ||||
|             return InputText(label, buf, buf_size, 0, null, IntPtr.Zero); | ||||
|         } | ||||
|  | ||||
|         public static bool InputText( | ||||
|             ReadOnlySpan<char> label, | ||||
|             IntPtr buf, | ||||
|             uint buf_size, | ||||
|             ImGuiInputTextFlags flags) | ||||
|         { | ||||
|             return InputText(label, buf, buf_size, flags, null, IntPtr.Zero); | ||||
|         } | ||||
|  | ||||
|         public static bool InputText( | ||||
|             ReadOnlySpan<char> label, | ||||
|             IntPtr buf, | ||||
|             uint buf_size, | ||||
|             ImGuiInputTextFlags flags, | ||||
|             ImGuiInputTextCallback callback) | ||||
|         { | ||||
|             return InputText(label, buf, buf_size, flags, callback, IntPtr.Zero); | ||||
|         } | ||||
|  | ||||
|         public static bool InputText( | ||||
|             ReadOnlySpan<char> label, | ||||
|             IntPtr buf, | ||||
|             uint buf_size, | ||||
|             ImGuiInputTextFlags flags, | ||||
|             ImGuiInputTextCallback callback, | ||||
|             IntPtr user_data) | ||||
|         { | ||||
|             int utf8LabelByteCount = Encoding.UTF8.GetByteCount(label); | ||||
|             byte* utf8LabelBytes; | ||||
|             if (utf8LabelByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 utf8LabelBytes = Util.Allocate(utf8LabelByteCount + 1); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 byte* stackPtr = stackalloc byte[utf8LabelByteCount + 1]; | ||||
|                 utf8LabelBytes = stackPtr; | ||||
|             } | ||||
|             Util.GetUtf8(label, utf8LabelBytes, utf8LabelByteCount); | ||||
|  | ||||
|             bool ret = ImGuiNative.igInputText(utf8LabelBytes, (byte*)buf.ToPointer(), buf_size, flags, callback, user_data.ToPointer()) != 0; | ||||
|  | ||||
|             if (utf8LabelByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(utf8LabelBytes); | ||||
|             } | ||||
|  | ||||
|             return ret; | ||||
|         } | ||||
|  | ||||
|         public static bool Begin(ReadOnlySpan<char> name, ImGuiWindowFlags flags) | ||||
|         { | ||||
|             int utf8NameByteCount = Encoding.UTF8.GetByteCount(name); | ||||
|             byte* utf8NameBytes; | ||||
|             if (utf8NameByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 utf8NameBytes = Util.Allocate(utf8NameByteCount + 1); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 byte* stackPtr = stackalloc byte[utf8NameByteCount + 1]; | ||||
|                 utf8NameBytes = stackPtr; | ||||
|             } | ||||
|             Util.GetUtf8(name, utf8NameBytes, utf8NameByteCount); | ||||
|  | ||||
|             byte* p_open = null; | ||||
|             byte ret = ImGuiNative.igBegin(utf8NameBytes, p_open, flags); | ||||
|  | ||||
|             if (utf8NameByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(utf8NameBytes); | ||||
|             } | ||||
|  | ||||
|             return ret != 0; | ||||
|         } | ||||
|  | ||||
|         public static bool MenuItem(ReadOnlySpan<char> label, bool enabled) | ||||
|         { | ||||
|             return MenuItem(label, string.Empty, false, enabled); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| #endif | ||||
							
								
								
									
										481
									
								
								lib/ImGui.NET/ImGui.Manual.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										481
									
								
								lib/ImGui.NET/ImGui.Manual.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,481 @@ | ||||
| using System; | ||||
| using System.Numerics; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Runtime.InteropServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public static unsafe partial class ImGui | ||||
|     { | ||||
|         public static bool InputText( | ||||
|             string label, | ||||
|             byte[] buf, | ||||
|             uint buf_size) | ||||
|         { | ||||
|             return InputText(label, buf, buf_size, 0, null, IntPtr.Zero); | ||||
|         } | ||||
|  | ||||
|         public static bool InputText( | ||||
|             string label, | ||||
|             byte[] buf, | ||||
|             uint buf_size, | ||||
|             ImGuiInputTextFlags flags) | ||||
|         { | ||||
|             return InputText(label, buf, buf_size, flags, null, IntPtr.Zero); | ||||
|         } | ||||
|  | ||||
|         public static bool InputText( | ||||
|             string label, | ||||
|             byte[] buf, | ||||
|             uint buf_size, | ||||
|             ImGuiInputTextFlags flags, | ||||
|             ImGuiInputTextCallback callback) | ||||
|         { | ||||
|             return InputText(label, buf, buf_size, flags, callback, IntPtr.Zero); | ||||
|         } | ||||
|  | ||||
|         public static bool InputText( | ||||
|             string label, | ||||
|             byte[] buf, | ||||
|             uint buf_size, | ||||
|             ImGuiInputTextFlags flags, | ||||
|             ImGuiInputTextCallback callback, | ||||
|             IntPtr user_data) | ||||
|         { | ||||
|             int utf8LabelByteCount = Encoding.UTF8.GetByteCount(label); | ||||
|             byte* utf8LabelBytes; | ||||
|             if (utf8LabelByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 utf8LabelBytes = Util.Allocate(utf8LabelByteCount + 1); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 byte* stackPtr = stackalloc byte[utf8LabelByteCount + 1]; | ||||
|                 utf8LabelBytes = stackPtr; | ||||
|             } | ||||
|             Util.GetUtf8(label, utf8LabelBytes, utf8LabelByteCount); | ||||
|  | ||||
|             bool ret; | ||||
|             fixed (byte* bufPtr = buf) | ||||
|             { | ||||
|                 ret = ImGuiNative.igInputText(utf8LabelBytes, bufPtr, buf_size, flags, callback, user_data.ToPointer()) != 0; | ||||
|             } | ||||
|  | ||||
|             if (utf8LabelByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(utf8LabelBytes); | ||||
|             } | ||||
|  | ||||
|             return ret; | ||||
|         } | ||||
|  | ||||
|         public static bool InputText( | ||||
|             string label, | ||||
|             ref string input, | ||||
|             uint maxLength) => InputText(label, ref input, maxLength, 0, null, IntPtr.Zero); | ||||
|  | ||||
|         public static bool InputText( | ||||
|             string label, | ||||
|             ref string input, | ||||
|             uint maxLength, | ||||
|             ImGuiInputTextFlags flags) => InputText(label, ref input, maxLength, flags, null, IntPtr.Zero); | ||||
|  | ||||
|         public static bool InputText( | ||||
|             string label, | ||||
|             ref string input, | ||||
|             uint maxLength, | ||||
|             ImGuiInputTextFlags flags, | ||||
|             ImGuiInputTextCallback callback) => InputText(label, ref input, maxLength, flags, callback, IntPtr.Zero); | ||||
|  | ||||
|         public static bool InputText( | ||||
|             string label, | ||||
|             ref string input, | ||||
|             uint maxLength, | ||||
|             ImGuiInputTextFlags flags, | ||||
|             ImGuiInputTextCallback callback, | ||||
|             IntPtr user_data) | ||||
|         { | ||||
|             int utf8LabelByteCount = Encoding.UTF8.GetByteCount(label); | ||||
|             byte* utf8LabelBytes; | ||||
|             if (utf8LabelByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 utf8LabelBytes = Util.Allocate(utf8LabelByteCount + 1); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 byte* stackPtr = stackalloc byte[utf8LabelByteCount + 1]; | ||||
|                 utf8LabelBytes = stackPtr; | ||||
|             } | ||||
|             Util.GetUtf8(label, utf8LabelBytes, utf8LabelByteCount); | ||||
|  | ||||
|             int utf8InputByteCount = Encoding.UTF8.GetByteCount(input); | ||||
|             int inputBufSize = Math.Max((int)maxLength + 1, utf8InputByteCount + 1); | ||||
|  | ||||
|             byte* utf8InputBytes; | ||||
|             byte* originalUtf8InputBytes; | ||||
|             if (inputBufSize > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 utf8InputBytes = Util.Allocate(inputBufSize); | ||||
|                 originalUtf8InputBytes = Util.Allocate(inputBufSize); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 byte* inputStackBytes = stackalloc byte[inputBufSize]; | ||||
|                 utf8InputBytes = inputStackBytes; | ||||
|                 byte* originalInputStackBytes = stackalloc byte[inputBufSize]; | ||||
|                 originalUtf8InputBytes = originalInputStackBytes; | ||||
|             } | ||||
|             Util.GetUtf8(input, utf8InputBytes, inputBufSize); | ||||
|             uint clearBytesCount = (uint)(inputBufSize - utf8InputByteCount); | ||||
|             Unsafe.InitBlockUnaligned(utf8InputBytes + utf8InputByteCount, 0, clearBytesCount); | ||||
|             Unsafe.CopyBlock(originalUtf8InputBytes, utf8InputBytes, (uint)inputBufSize); | ||||
|  | ||||
|             byte result = ImGuiNative.igInputText( | ||||
|                 utf8LabelBytes, | ||||
|                 utf8InputBytes, | ||||
|                 (uint)inputBufSize, | ||||
|                 flags, | ||||
|                 callback, | ||||
|                 user_data.ToPointer()); | ||||
|             if (!Util.AreStringsEqual(originalUtf8InputBytes, inputBufSize, utf8InputBytes)) | ||||
|             { | ||||
|                 input = Util.StringFromPtr(utf8InputBytes); | ||||
|             } | ||||
|  | ||||
|             if (utf8LabelByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(utf8LabelBytes); | ||||
|             } | ||||
|             if (inputBufSize > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(utf8InputBytes); | ||||
|                 Util.Free(originalUtf8InputBytes); | ||||
|             } | ||||
|  | ||||
|             return result != 0; | ||||
|         } | ||||
|  | ||||
|         public static bool InputTextMultiline( | ||||
|             string label, | ||||
|             ref string input, | ||||
|             uint maxLength, | ||||
|             Vector2 size) => InputTextMultiline(label, ref input, maxLength, size, 0, null, IntPtr.Zero); | ||||
|  | ||||
|         public static bool InputTextMultiline( | ||||
|             string label, | ||||
|             ref string input, | ||||
|             uint maxLength, | ||||
|             Vector2 size, | ||||
|             ImGuiInputTextFlags flags) => InputTextMultiline(label, ref input, maxLength, size, flags, null, IntPtr.Zero); | ||||
|  | ||||
|         public static bool InputTextMultiline( | ||||
|             string label, | ||||
|             ref string input, | ||||
|             uint maxLength, | ||||
|             Vector2 size, | ||||
|             ImGuiInputTextFlags flags, | ||||
|             ImGuiInputTextCallback callback) => InputTextMultiline(label, ref input, maxLength, size, flags, callback, IntPtr.Zero); | ||||
|  | ||||
|         public static bool InputTextMultiline( | ||||
|             string label, | ||||
|             ref string input, | ||||
|             uint maxLength, | ||||
|             Vector2 size, | ||||
|             ImGuiInputTextFlags flags, | ||||
|             ImGuiInputTextCallback callback, | ||||
|             IntPtr user_data) | ||||
|         { | ||||
|             int utf8LabelByteCount = Encoding.UTF8.GetByteCount(label); | ||||
|             byte* utf8LabelBytes; | ||||
|             if (utf8LabelByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 utf8LabelBytes = Util.Allocate(utf8LabelByteCount + 1); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 byte* stackPtr = stackalloc byte[utf8LabelByteCount + 1]; | ||||
|                 utf8LabelBytes = stackPtr; | ||||
|             } | ||||
|             Util.GetUtf8(label, utf8LabelBytes, utf8LabelByteCount); | ||||
|  | ||||
|             int utf8InputByteCount = Encoding.UTF8.GetByteCount(input); | ||||
|             int inputBufSize = Math.Max((int)maxLength + 1, utf8InputByteCount + 1); | ||||
|  | ||||
|             byte* utf8InputBytes; | ||||
|             byte* originalUtf8InputBytes; | ||||
|             if (inputBufSize > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 utf8InputBytes = Util.Allocate(inputBufSize); | ||||
|                 originalUtf8InputBytes = Util.Allocate(inputBufSize); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 byte* inputStackBytes = stackalloc byte[inputBufSize]; | ||||
|                 utf8InputBytes = inputStackBytes; | ||||
|                 byte* originalInputStackBytes = stackalloc byte[inputBufSize]; | ||||
|                 originalUtf8InputBytes = originalInputStackBytes; | ||||
|             } | ||||
|             Util.GetUtf8(input, utf8InputBytes, inputBufSize); | ||||
|             uint clearBytesCount = (uint)(inputBufSize - utf8InputByteCount); | ||||
|             Unsafe.InitBlockUnaligned(utf8InputBytes + utf8InputByteCount, 0, clearBytesCount); | ||||
|             Unsafe.CopyBlock(originalUtf8InputBytes, utf8InputBytes, (uint)inputBufSize); | ||||
|  | ||||
|             byte result = ImGuiNative.igInputTextMultiline( | ||||
|                 utf8LabelBytes, | ||||
|                 utf8InputBytes, | ||||
|                 (uint)inputBufSize, | ||||
|                 size, | ||||
|                 flags, | ||||
|                 callback, | ||||
|                 user_data.ToPointer()); | ||||
|             if (!Util.AreStringsEqual(originalUtf8InputBytes, inputBufSize, utf8InputBytes)) | ||||
|             { | ||||
|                 input = Util.StringFromPtr(utf8InputBytes); | ||||
|             } | ||||
|  | ||||
|             if (utf8LabelByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(utf8LabelBytes); | ||||
|             } | ||||
|             if (inputBufSize > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(utf8InputBytes); | ||||
|                 Util.Free(originalUtf8InputBytes); | ||||
|             } | ||||
|  | ||||
|             return result != 0; | ||||
|         } | ||||
|  | ||||
|         public static bool InputTextWithHint( | ||||
|             string label, | ||||
|             string hint, | ||||
|             ref string input, | ||||
|             uint maxLength) => InputTextWithHint(label, hint, ref input, maxLength, 0, null, IntPtr.Zero); | ||||
|  | ||||
|         public static bool InputTextWithHint( | ||||
|             string label, | ||||
|             string hint, | ||||
|             ref string input, | ||||
|             uint maxLength, | ||||
|             ImGuiInputTextFlags flags) => InputTextWithHint(label, hint, ref input, maxLength, flags, null, IntPtr.Zero); | ||||
|  | ||||
|         public static bool InputTextWithHint( | ||||
|             string label, | ||||
|             string hint, | ||||
|             ref string input, | ||||
|             uint maxLength, | ||||
|             ImGuiInputTextFlags flags, | ||||
|             ImGuiInputTextCallback callback) => InputTextWithHint(label, hint, ref input, maxLength, flags, callback, IntPtr.Zero); | ||||
|  | ||||
|         public static bool InputTextWithHint( | ||||
|             string label, | ||||
|             string hint, | ||||
|             ref string input, | ||||
|             uint maxLength, | ||||
|             ImGuiInputTextFlags flags, | ||||
|             ImGuiInputTextCallback callback, | ||||
|             IntPtr user_data) | ||||
|         { | ||||
|             int utf8LabelByteCount = Encoding.UTF8.GetByteCount(label); | ||||
|             byte* utf8LabelBytes; | ||||
|             if (utf8LabelByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 utf8LabelBytes = Util.Allocate(utf8LabelByteCount + 1); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 byte* stackPtr = stackalloc byte[utf8LabelByteCount + 1]; | ||||
|                 utf8LabelBytes = stackPtr; | ||||
|             } | ||||
|             Util.GetUtf8(label, utf8LabelBytes, utf8LabelByteCount); | ||||
|  | ||||
|             int utf8HintByteCount = Encoding.UTF8.GetByteCount(hint); | ||||
|             byte* utf8HintBytes; | ||||
|             if (utf8HintByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 utf8HintBytes = Util.Allocate(utf8HintByteCount + 1); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 byte* stackPtr = stackalloc byte[utf8HintByteCount + 1]; | ||||
|                 utf8HintBytes = stackPtr; | ||||
|             } | ||||
|             Util.GetUtf8(hint, utf8HintBytes, utf8HintByteCount); | ||||
|  | ||||
|             int utf8InputByteCount = Encoding.UTF8.GetByteCount(input); | ||||
|             int inputBufSize = Math.Max((int)maxLength + 1, utf8InputByteCount + 1); | ||||
|  | ||||
|             byte* utf8InputBytes; | ||||
|             byte* originalUtf8InputBytes; | ||||
|             if (inputBufSize > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 utf8InputBytes = Util.Allocate(inputBufSize); | ||||
|                 originalUtf8InputBytes = Util.Allocate(inputBufSize); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 byte* inputStackBytes = stackalloc byte[inputBufSize]; | ||||
|                 utf8InputBytes = inputStackBytes; | ||||
|                 byte* originalInputStackBytes = stackalloc byte[inputBufSize]; | ||||
|                 originalUtf8InputBytes = originalInputStackBytes; | ||||
|             } | ||||
|             Util.GetUtf8(input, utf8InputBytes, inputBufSize); | ||||
|             uint clearBytesCount = (uint)(inputBufSize - utf8InputByteCount); | ||||
|             Unsafe.InitBlockUnaligned(utf8InputBytes + utf8InputByteCount, 0, clearBytesCount); | ||||
|             Unsafe.CopyBlock(originalUtf8InputBytes, utf8InputBytes, (uint)inputBufSize); | ||||
|  | ||||
|             byte result = ImGuiNative.igInputTextWithHint( | ||||
|                 utf8LabelBytes, | ||||
|                 utf8HintBytes, | ||||
|                 utf8InputBytes, | ||||
|                 (uint)inputBufSize, | ||||
|                 flags, | ||||
|                 callback, | ||||
|                 user_data.ToPointer()); | ||||
|             if (!Util.AreStringsEqual(originalUtf8InputBytes, inputBufSize, utf8InputBytes)) | ||||
|             { | ||||
|                 input = Util.StringFromPtr(utf8InputBytes); | ||||
|             } | ||||
|  | ||||
|             if (utf8LabelByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(utf8LabelBytes); | ||||
|             } | ||||
|             if (utf8HintByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(utf8HintBytes); | ||||
|             } | ||||
|             if (inputBufSize > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(utf8InputBytes); | ||||
|                 Util.Free(originalUtf8InputBytes); | ||||
|             } | ||||
|  | ||||
|             return result != 0; | ||||
|         } | ||||
|  | ||||
|         public static Vector2 CalcTextSize(string text, int start) | ||||
|             => CalcTextSizeImpl(text, start); | ||||
|  | ||||
|         public static Vector2 CalcTextSize(string text, float wrapWidth) | ||||
|             => CalcTextSizeImpl(text, wrapWidth: wrapWidth); | ||||
|  | ||||
|         public static Vector2 CalcTextSize(string text, int start, int length) | ||||
|             => CalcTextSizeImpl(text, start, length); | ||||
|  | ||||
|         public static Vector2 CalcTextSize(string text, int start, bool hideTextAfterDoubleHash) | ||||
|             => CalcTextSizeImpl(text, start, hideTextAfterDoubleHash: hideTextAfterDoubleHash); | ||||
|  | ||||
|         public static Vector2 CalcTextSize(string text, int start, float wrapWidth) | ||||
|             => CalcTextSizeImpl(text, start, wrapWidth: wrapWidth); | ||||
|  | ||||
|         public static Vector2 CalcTextSize(string text, int start, int length, bool hideTextAfterDoubleHash) | ||||
|             => CalcTextSizeImpl(text, start, length, hideTextAfterDoubleHash); | ||||
|  | ||||
|         public static Vector2 CalcTextSize(string text, int start, int length, float wrapWidth) | ||||
|             => CalcTextSizeImpl(text, start, length, wrapWidth: wrapWidth); | ||||
|  | ||||
|         public static Vector2 CalcTextSize(string text, int start, int length, bool hideTextAfterDoubleHash, float wrapWidth) | ||||
|             => CalcTextSizeImpl(text, start, length, hideTextAfterDoubleHash, wrapWidth); | ||||
|  | ||||
|         private static Vector2 CalcTextSizeImpl( | ||||
|             string text, | ||||
|             int start = 0, | ||||
|             int? length = null, | ||||
|             bool hideTextAfterDoubleHash = false, | ||||
|             float wrapWidth = -1.0f) | ||||
|         { | ||||
|             return CalcTextSize(text.Substring(start, length ?? text.Length-start), hideTextAfterDoubleHash, wrapWidth); | ||||
|         } | ||||
|  | ||||
|         public static bool InputText( | ||||
|             string label, | ||||
|             IntPtr buf, | ||||
|             uint buf_size) | ||||
|         { | ||||
|             return InputText(label, buf, buf_size, 0, null, IntPtr.Zero); | ||||
|         } | ||||
|  | ||||
|         public static bool InputText( | ||||
|             string label, | ||||
|             IntPtr buf, | ||||
|             uint buf_size, | ||||
|             ImGuiInputTextFlags flags) | ||||
|         { | ||||
|             return InputText(label, buf, buf_size, flags, null, IntPtr.Zero); | ||||
|         } | ||||
|  | ||||
|         public static bool InputText( | ||||
|             string label, | ||||
|             IntPtr buf, | ||||
|             uint buf_size, | ||||
|             ImGuiInputTextFlags flags, | ||||
|             ImGuiInputTextCallback callback) | ||||
|         { | ||||
|             return InputText(label, buf, buf_size, flags, callback, IntPtr.Zero); | ||||
|         } | ||||
|  | ||||
|         public static bool InputText( | ||||
|             string label, | ||||
|             IntPtr buf, | ||||
|             uint buf_size, | ||||
|             ImGuiInputTextFlags flags, | ||||
|             ImGuiInputTextCallback callback, | ||||
|             IntPtr user_data) | ||||
|         { | ||||
|             int utf8LabelByteCount = Encoding.UTF8.GetByteCount(label); | ||||
|             byte* utf8LabelBytes; | ||||
|             if (utf8LabelByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 utf8LabelBytes = Util.Allocate(utf8LabelByteCount + 1); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 byte* stackPtr = stackalloc byte[utf8LabelByteCount + 1]; | ||||
|                 utf8LabelBytes = stackPtr; | ||||
|             } | ||||
|             Util.GetUtf8(label, utf8LabelBytes, utf8LabelByteCount); | ||||
|  | ||||
|             bool ret = ImGuiNative.igInputText(utf8LabelBytes, (byte*)buf.ToPointer(), buf_size, flags, callback, user_data.ToPointer()) != 0; | ||||
|  | ||||
|             if (utf8LabelByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(utf8LabelBytes); | ||||
|             } | ||||
|  | ||||
|             return ret; | ||||
|         } | ||||
|  | ||||
|         public static bool Begin(string name, ImGuiWindowFlags flags) | ||||
|         { | ||||
|             int utf8NameByteCount = Encoding.UTF8.GetByteCount(name); | ||||
|             byte* utf8NameBytes; | ||||
|             if (utf8NameByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 utf8NameBytes = Util.Allocate(utf8NameByteCount + 1); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 byte* stackPtr = stackalloc byte[utf8NameByteCount + 1]; | ||||
|                 utf8NameBytes = stackPtr; | ||||
|             } | ||||
|             Util.GetUtf8(name, utf8NameBytes, utf8NameByteCount); | ||||
|  | ||||
|             byte* p_open = null; | ||||
|             byte ret = ImGuiNative.igBegin(utf8NameBytes, p_open, flags); | ||||
|  | ||||
|             if (utf8NameByteCount > Util.StackAllocationSizeLimit) | ||||
|             { | ||||
|                 Util.Free(utf8NameBytes); | ||||
|             } | ||||
|  | ||||
|             return ret != 0; | ||||
|         } | ||||
|  | ||||
|         public static bool MenuItem(string label, bool enabled) | ||||
|         { | ||||
|             return MenuItem(label, string.Empty, false, enabled); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										60
									
								
								lib/ImGui.NET/ImGui.NET.csproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								lib/ImGui.NET/ImGui.NET.csproj
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,60 @@ | ||||
| <Project Sdk="Microsoft.NET.Sdk"> | ||||
|   <PropertyGroup> | ||||
|     <Description>A .NET wrapper for the Dear ImGui library.</Description> | ||||
|     <AssemblyVersion>1.90.0.1</AssemblyVersion> | ||||
|     <Authors>Eric Mellino</Authors> | ||||
|     <TargetFrameworks>netstandard2.0;net6.0</TargetFrameworks> | ||||
|     <AllowUnsafeBlocks>true</AllowUnsafeBlocks> | ||||
|     <DebugType>portable</DebugType> | ||||
|     <AssemblyName>ImGui.NET</AssemblyName> | ||||
|     <PackageId>ImGui.NET</PackageId> | ||||
|     <PackagePrereleaseIdentifier></PackagePrereleaseIdentifier> | ||||
|     <PackageVersion>$(AssemblyVersion)$(PackagePrereleaseIdentifier)</PackageVersion> | ||||
|     <PackageTags>ImGui ImGui.NET Immediate Mode GUI</PackageTags> | ||||
|     <PackageProjectUrl>https://github.com/mellinoe/imgui.net</PackageProjectUrl> | ||||
|     <DocumentationFile Condition="'$(Configuration)' == 'Release'">$(OutputPath)\ImGui.NET.xml</DocumentationFile> | ||||
|     <RootNamespace>ImGuiNET</RootNamespace> | ||||
|   </PropertyGroup> | ||||
|   <ItemGroup> | ||||
|     <PackageReference Include="System.Numerics.Vectors" Version="4.4.0" /> | ||||
|     <PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="4.4.0" /> | ||||
|     <PackageReference Include="System.Buffers" Version="4.4.0" /> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleToAttribute"> | ||||
|       <_Parameter1>ImPlot.NET</_Parameter1> | ||||
|     </AssemblyAttribute> | ||||
|     <AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleToAttribute"> | ||||
|       <_Parameter1>ImNodes.NET</_Parameter1> | ||||
|     </AssemblyAttribute> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <Content Include="..\..\deps\cimgui\win-x86\cimgui.dll"> | ||||
|       <PackagePath>runtimes/win-x86/native</PackagePath> | ||||
|       <Pack>true</Pack> | ||||
|     </Content> | ||||
|     <Content Include="..\..\deps\cimgui\win-x64\cimgui.dll"> | ||||
|       <PackagePath>runtimes/win-x64/native</PackagePath> | ||||
|       <Pack>true</Pack> | ||||
|     </Content> | ||||
|     <Content Include="..\..\deps\cimgui\win-arm64\cimgui.dll"> | ||||
|       <PackagePath>runtimes/win-arm64/native</PackagePath> | ||||
|       <Pack>true</Pack> | ||||
|     </Content> | ||||
|     <Content Include="..\..\deps\cimgui\linux-x64\cimgui.so"> | ||||
|       <PackagePath>runtimes/linux-x64/native/libcimgui.so</PackagePath> | ||||
|       <Pack>true</Pack> | ||||
|     </Content> | ||||
|     <Content Include="..\..\deps\cimgui\osx\cimgui.dylib"> | ||||
|       <PackagePath>runtimes/osx/native/libcimgui.dylib</PackagePath> | ||||
|       <Pack>true</Pack> | ||||
|     </Content> | ||||
|     <Content Include="build\net40\ImGui.NET.targets"> | ||||
|       <PackagePath>build/net40/ImGui.NET.targets</PackagePath> | ||||
|       <Pack>true</Pack> | ||||
|     </Content> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <Folder Include="Generated\" /> | ||||
|   </ItemGroup> | ||||
| </Project> | ||||
							
								
								
									
										13
									
								
								lib/ImGui.NET/ImGuiNative.Manual.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								lib/ImGui.NET/ImGuiNative.Manual.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| using System; | ||||
| using System.Runtime.InteropServices; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public static unsafe partial class ImGuiNative | ||||
|     { | ||||
|         [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] | ||||
|         public static extern void ImGuiPlatformIO_Set_Platform_GetWindowPos(ImGuiPlatformIO* platform_io, IntPtr funcPtr); | ||||
|         [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] | ||||
|         public static extern void ImGuiPlatformIO_Set_Platform_GetWindowSize(ImGuiPlatformIO* platform_io, IntPtr funcPtr); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										4
									
								
								lib/ImGui.NET/ImGuiSizeCallback.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								lib/ImGui.NET/ImGuiSizeCallback.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe delegate void ImGuiSizeCallback(ImGuiSizeCallbackData* data); | ||||
| } | ||||
							
								
								
									
										7
									
								
								lib/ImGui.NET/ImGuiTextEditCallback.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								lib/ImGui.NET/ImGuiTextEditCallback.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| using System.Runtime.InteropServices; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     [UnmanagedFunctionPointer(CallingConvention.Cdecl)] | ||||
|     public unsafe delegate int ImGuiInputTextCallback(ImGuiInputTextCallbackData* data); | ||||
| } | ||||
							
								
								
									
										82
									
								
								lib/ImGui.NET/ImVector.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								lib/ImGui.NET/ImVector.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,82 @@ | ||||
| using System; | ||||
| using System.Runtime.CompilerServices; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe struct ImVector | ||||
|     { | ||||
|         public readonly int Size; | ||||
|         public readonly int Capacity; | ||||
|         public readonly IntPtr Data; | ||||
|  | ||||
|         public ImVector(int size, int capacity, IntPtr data) | ||||
|         { | ||||
|             Size = size; | ||||
|             Capacity = capacity; | ||||
|             Data = data; | ||||
|         } | ||||
|  | ||||
|         public ref T Ref<T>(int index) | ||||
|         { | ||||
|             return ref Unsafe.AsRef<T>((byte*)Data + index * Unsafe.SizeOf<T>()); | ||||
|         } | ||||
|  | ||||
|         public IntPtr Address<T>(int index) | ||||
|         { | ||||
|             return (IntPtr)((byte*)Data + index * Unsafe.SizeOf<T>()); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     public unsafe struct ImVector<T> | ||||
|     { | ||||
|         public readonly int Size; | ||||
|         public readonly int Capacity; | ||||
|         public readonly IntPtr Data; | ||||
|  | ||||
|         public ImVector(ImVector vector) | ||||
|         { | ||||
|             Size = vector.Size; | ||||
|             Capacity = vector.Capacity; | ||||
|             Data = vector.Data; | ||||
|         } | ||||
|  | ||||
|         public ImVector(int size, int capacity, IntPtr data) | ||||
|         { | ||||
|             Size = size; | ||||
|             Capacity = capacity; | ||||
|             Data = data; | ||||
|         } | ||||
|  | ||||
|         public ref T this[int index] => ref Unsafe.AsRef<T>((byte*)Data + index * Unsafe.SizeOf<T>()); | ||||
|     } | ||||
|  | ||||
|     public unsafe struct ImPtrVector<T> | ||||
|     { | ||||
|         public readonly int Size; | ||||
|         public readonly int Capacity; | ||||
|         public readonly IntPtr Data; | ||||
|         private readonly int _stride; | ||||
|  | ||||
|         public ImPtrVector(ImVector vector, int stride) | ||||
|             : this(vector.Size, vector.Capacity, vector.Data, stride) | ||||
|         { } | ||||
|  | ||||
|         public ImPtrVector(int size, int capacity, IntPtr data, int stride) | ||||
|         { | ||||
|             Size = size; | ||||
|             Capacity = capacity; | ||||
|             Data = data; | ||||
|             _stride = stride; | ||||
|         } | ||||
|  | ||||
|         public T this[int index] | ||||
|         { | ||||
|             get | ||||
|             { | ||||
|                 byte* address = (byte*)Data + index * _stride; | ||||
|                 T ret = Unsafe.Read<T>(&address); | ||||
|                 return ret; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										29
									
								
								lib/ImGui.NET/NullTerminatedString.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								lib/ImGui.NET/NullTerminatedString.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,29 @@ | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe struct NullTerminatedString | ||||
|     { | ||||
|         public readonly byte* Data; | ||||
|  | ||||
|         public NullTerminatedString(byte* data) | ||||
|         { | ||||
|             Data = data; | ||||
|         } | ||||
|  | ||||
|         public override string ToString() | ||||
|         { | ||||
|             int length = 0; | ||||
|             byte* ptr = Data; | ||||
|             while (*ptr != 0) | ||||
|             { | ||||
|                 length += 1; | ||||
|                 ptr += 1; | ||||
|             } | ||||
|  | ||||
|             return Encoding.ASCII.GetString(Data, length); | ||||
|         } | ||||
|  | ||||
|         public static implicit operator string(NullTerminatedString nts) => nts.ToString(); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										32
									
								
								lib/ImGui.NET/Pair.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								lib/ImGui.NET/Pair.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| using System; | ||||
| using System.Runtime.InteropServices; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public struct ImGuiStoragePair | ||||
|     { | ||||
|         public uint Key; | ||||
|         public UnionValue Value; | ||||
|     } | ||||
|  | ||||
|     public unsafe struct ImGuiStoragePairPtr | ||||
|     { | ||||
|         public ImGuiStoragePair* NativePtr { get; } | ||||
|         public ImGuiStoragePairPtr(ImGuiStoragePair* nativePtr) => NativePtr = nativePtr; | ||||
|         public ImGuiStoragePairPtr(IntPtr nativePtr) => NativePtr = (ImGuiStoragePair*)nativePtr; | ||||
|         public static implicit operator ImGuiStoragePairPtr(ImGuiStoragePair* nativePtr) => new ImGuiStoragePairPtr(nativePtr); | ||||
|         public static implicit operator ImGuiStoragePair*(ImGuiStoragePairPtr wrappedPtr) => wrappedPtr.NativePtr; | ||||
|         public static implicit operator ImGuiStoragePairPtr(IntPtr nativePtr) => new ImGuiStoragePairPtr(nativePtr); | ||||
|     } | ||||
|  | ||||
|     [StructLayout(LayoutKind.Explicit)] | ||||
|     public struct UnionValue | ||||
|     { | ||||
|         [FieldOffset(0)] | ||||
|         public int ValueI32; | ||||
|         [FieldOffset(0)] | ||||
|         public float ValueF32; | ||||
|         [FieldOffset(0)] | ||||
|         public IntPtr ValuePtr; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										68
									
								
								lib/ImGui.NET/RangeAccessor.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								lib/ImGui.NET/RangeAccessor.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,68 @@ | ||||
| using System; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     public unsafe struct RangeAccessor<T> where T : struct | ||||
|     { | ||||
|         private static readonly int s_sizeOfT = Unsafe.SizeOf<T>(); | ||||
|  | ||||
|         public readonly void* Data; | ||||
|         public readonly int Count; | ||||
|  | ||||
|         public RangeAccessor(IntPtr data, int count) : this(data.ToPointer(), count) { } | ||||
|         public RangeAccessor(void* data, int count) | ||||
|         { | ||||
|             Data = data; | ||||
|             Count = count; | ||||
|         } | ||||
|  | ||||
|         public ref T this[int index] | ||||
|         { | ||||
|             get | ||||
|             { | ||||
|                 if (index < 0 || index >= Count) | ||||
|                 { | ||||
|                     throw new IndexOutOfRangeException(); | ||||
|                 } | ||||
|  | ||||
|                 return ref Unsafe.AsRef<T>((byte*)Data + s_sizeOfT * index); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     public unsafe struct RangePtrAccessor<T> where T : struct | ||||
|     { | ||||
|         public readonly void* Data; | ||||
|         public readonly int Count; | ||||
|  | ||||
|         public RangePtrAccessor(IntPtr data, int count) : this(data.ToPointer(), count) { } | ||||
|         public RangePtrAccessor(void* data, int count) | ||||
|         { | ||||
|             Data = data; | ||||
|             Count = count; | ||||
|         } | ||||
|  | ||||
|         public T this[int index] | ||||
|         { | ||||
|             get | ||||
|             { | ||||
|                 if (index < 0 || index >= Count) | ||||
|                 { | ||||
|                     throw new IndexOutOfRangeException(); | ||||
|                 } | ||||
|  | ||||
|                 return Unsafe.Read<T>((byte*)Data + sizeof(void*) * index); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     public static class RangeAccessorExtensions | ||||
|     { | ||||
|         public static unsafe string GetStringASCII(this RangeAccessor<byte> stringAccessor) | ||||
|         { | ||||
|             return Encoding.ASCII.GetString((byte*)stringAccessor.Data, stringAccessor.Count); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										97
									
								
								lib/ImGui.NET/Util.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										97
									
								
								lib/ImGui.NET/Util.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,97 @@ | ||||
| using System; | ||||
| using System.Runtime.InteropServices; | ||||
| using System.Text; | ||||
|  | ||||
| namespace ImGuiNET | ||||
| { | ||||
|     internal static unsafe class Util | ||||
|     { | ||||
|         internal const int StackAllocationSizeLimit = 2048; | ||||
|  | ||||
|         public static string StringFromPtr(byte* ptr) | ||||
|         { | ||||
|             int characters = 0; | ||||
|             while (ptr[characters] != 0) | ||||
|             { | ||||
|                 characters++; | ||||
|             } | ||||
|  | ||||
|             return Encoding.UTF8.GetString(ptr, characters); | ||||
|         } | ||||
|  | ||||
|         internal static bool AreStringsEqual(byte* a, int aLength, byte* b) | ||||
|         { | ||||
|             for (int i = 0; i < aLength; i++) | ||||
|             { | ||||
|                 if (a[i] != b[i]) { return false; } | ||||
|             } | ||||
|  | ||||
|             if (b[aLength] != 0) { return false; } | ||||
|  | ||||
|             return true; | ||||
|         } | ||||
|  | ||||
|         internal static byte* Allocate(int byteCount) => (byte*)Marshal.AllocHGlobal(byteCount); | ||||
|  | ||||
|         internal static void Free(byte* ptr) => Marshal.FreeHGlobal((IntPtr)ptr); | ||||
|  | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         internal static int CalcSizeInUtf8(ReadOnlySpan<char> s, int start, int length) | ||||
| #else | ||||
|         internal static int CalcSizeInUtf8(string s, int start, int length) | ||||
| #endif | ||||
|         { | ||||
|             if (start < 0 || length < 0 || start + length > s.Length) | ||||
|             { | ||||
|                 throw new ArgumentOutOfRangeException(); | ||||
|             } | ||||
|             if(s.Length == 0) return 0; | ||||
|  | ||||
|             fixed (char* utf16Ptr = s) | ||||
|             { | ||||
|                 return Encoding.UTF8.GetByteCount(utf16Ptr + start, length); | ||||
|             } | ||||
|         } | ||||
|  | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         internal static int GetUtf8(ReadOnlySpan<char> s, byte* utf8Bytes, int utf8ByteCount) | ||||
|         { | ||||
|             if (s.IsEmpty) | ||||
|             { | ||||
|                 return 0; | ||||
|             } | ||||
|  | ||||
|             fixed (char* utf16Ptr = s) | ||||
|             { | ||||
|                 return Encoding.UTF8.GetBytes(utf16Ptr, s.Length, utf8Bytes, utf8ByteCount); | ||||
|             } | ||||
|         } | ||||
| #endif | ||||
|  | ||||
|         internal static int GetUtf8(string s, byte* utf8Bytes, int utf8ByteCount) | ||||
|         { | ||||
|             fixed (char* utf16Ptr = s) | ||||
|             { | ||||
|                 return Encoding.UTF8.GetBytes(utf16Ptr, s.Length, utf8Bytes, utf8ByteCount); | ||||
|             } | ||||
|         } | ||||
|  | ||||
| #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER | ||||
|         internal static int GetUtf8(ReadOnlySpan<char> s, int start, int length, byte* utf8Bytes, int utf8ByteCount) | ||||
| #else | ||||
|         internal static int GetUtf8(string s, int start, int length, byte* utf8Bytes, int utf8ByteCount) | ||||
| #endif | ||||
|         { | ||||
|             if (start < 0 || length < 0 || start + length > s.Length) | ||||
|             { | ||||
|                 throw new ArgumentOutOfRangeException(); | ||||
|             } | ||||
|             if (s.Length == 0) return 0; | ||||
|  | ||||
|             fixed (char* utf16Ptr = s) | ||||
|             { | ||||
|                 return Encoding.UTF8.GetBytes(utf16Ptr + start, length, utf8Bytes, utf8ByteCount); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user