commit b49ad727eee161f50d4aff52106f4b8dc572de1f Author: Braedon Lewis Date: Sun Mar 19 12:57:34 2023 -0400 Initial commit diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..426d76d --- /dev/null +++ b/.gitignore @@ -0,0 +1,398 @@ +## 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/main/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[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/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# 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 +*.tlog +*.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 +coverage*.xml +coverage*.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 6 auto-generated project file (contains which files were open etc.) +*.vbp + +# Visual Studio 6 workspace and project file (working project files containing files to include in project) +*.dsw +*.dsp + +# Visual Studio 6 technical files +*.ncb +*.aps + +# 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/ + +# Visual Studio History (VSHistory) files +.vshistory/ + +# 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/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +# VS Code files for those working on multiple tools +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +# Windows Installer files from build outputs +*.cab +*.msi +*.msix +*.msm +*.msp + +# JetBrains Rider +*.sln.iml diff --git a/beef/BeefProj.toml b/beef/BeefProj.toml new file mode 100644 index 0000000..a6a50ca --- /dev/null +++ b/beef/BeefProj.toml @@ -0,0 +1,6 @@ +FileVersion = 1 + +[Project] +Name = "raylib-beef" +StartupObject = "beef.Program" +DefaultNamespace = "beef" diff --git a/beef/BeefSpace.toml b/beef/BeefSpace.toml new file mode 100644 index 0000000..88f36d8 --- /dev/null +++ b/beef/BeefSpace.toml @@ -0,0 +1,5 @@ +FileVersion = 1 +Projects = {raylib-beef = {Path = "."}} + +[Workspace] +StartupProject = "raylib-beef" diff --git a/beef/BeefSpace_User.toml b/beef/BeefSpace_User.toml new file mode 100644 index 0000000..75a5801 --- /dev/null +++ b/beef/BeefSpace_User.toml @@ -0,0 +1,113 @@ +FileVersion = 1 +LastConfig = "Debug" +LastPlatform = "Win64" +RecentFilesList = ["src\\Program.bf"] + +[MainWindow] +X = -1840 +Y = 127 +Width = 1468 +Height = 908 +ShowKind = "Maximized" + +[MainDockingFrame] +Type = "DockingFrame" +SplitType = 2 + +[[MainDockingFrame.DockedWidgets]] +RequestedWidth = 350.0 +RequestedHeight = 200.0 +SizePriority = 200.0 +Type = "DockingFrame" +SplitType = 1 + +[[MainDockingFrame.DockedWidgets.DockedWidgets]] +RequestedWidth = 200.0 +RequestedHeight = 200.0 +Type = "TabbedView" + +[[MainDockingFrame.DockedWidgets.DockedWidgets.Tabs]] +Active = true +TabLabel = "Workspace" +TabWidth = 115.0 +Type = "ProjectPanel" + +[[MainDockingFrame.DockedWidgets.DockedWidgets]] +IsFillWidget = true +Permanent = true +RequestedWidth = 150.0 +RequestedHeight = 150.0 +SizePriority = 150.0 +DefaultDocumentsTabbedView = true +Type = "TabbedView" + +[[MainDockingFrame.DockedWidgets.DockedWidgets.Tabs]] +Active = true +TabLabel = "Program.bf" +TabWidth = 106.0 +Type = "SourceViewPanel" +FilePath = "src\\Program.bf" +CursorPos = 76 +ProjectName = "raylib-beef" + +[[MainDockingFrame.DockedWidgets]] +RequestedWidth = 250.0 +RequestedHeight = 250.0 +Type = "DockingFrame" +SplitType = 1 + +[[MainDockingFrame.DockedWidgets.DockedWidgets]] +RequestedWidth = 250.0 +RequestedHeight = 250.0 +SizePriority = 0.2994652 +Type = "TabbedView" + +[[MainDockingFrame.DockedWidgets.DockedWidgets.Tabs]] +TabLabel = "Memory" +TabWidth = 99.0 +Type = "MemoryPanel" +AutoResize = "Auto_Mul8" +RequestedWidth = 300.0 + +[[MainDockingFrame.DockedWidgets.DockedWidgets.Tabs]] +TabLabel = "Watch" +TabWidth = 86.0 +Type = "WatchPanel" +Columns = [{Width = 200.0}, {Width = 200.0}, {Width = 200.0}] + +[[MainDockingFrame.DockedWidgets.DockedWidgets.Tabs]] +Active = true +TabLabel = "Auto" +TabWidth = 77.0 +Type = "AutoWatchPanel" +Columns = [{Width = 200.0}, {Width = 200.0}, {Width = 200.0}] + +[[MainDockingFrame.DockedWidgets.DockedWidgets]] +RequestedWidth = 250.0 +RequestedHeight = 250.0 +SizePriority = 0.7005348 +Type = "TabbedView" + +[[MainDockingFrame.DockedWidgets.DockedWidgets.Tabs]] +TabLabel = "Threads" +TabWidth = 97.0 +Type = "ThreadPanel" + +[[MainDockingFrame.DockedWidgets.DockedWidgets.Tabs]] +TabLabel = "Call Stack" +TabWidth = 105.0 +Type = "CallStackPanel" + +[[MainDockingFrame.DockedWidgets.DockedWidgets.Tabs]] +TabLabel = "Immediate" +TabWidth = 111.0 +Type = "ImmediatePanel" + +[[MainDockingFrame.DockedWidgets.DockedWidgets.Tabs]] +Active = true +TabLabel = "Output" +TabWidth = 90.0 +Type = "OutputPanel" + +[[BookmarkFolders]] +Title = "" diff --git a/beef/build/Debug_Win64/corlib/build.dat b/beef/build/Debug_Win64/corlib/build.dat new file mode 100644 index 0000000..3e7b3a0 Binary files /dev/null and b/beef/build/Debug_Win64/corlib/build.dat differ diff --git a/beef/build/Debug_Win64/corlib/corlib__.lib b/beef/build/Debug_Win64/corlib/corlib__.lib new file mode 100644 index 0000000..6ce227d Binary files /dev/null and b/beef/build/Debug_Win64/corlib/corlib__.lib differ diff --git a/beef/build/Debug_Win64/raylib-beef/Beef042Dbg64.dll b/beef/build/Debug_Win64/raylib-beef/Beef042Dbg64.dll new file mode 100644 index 0000000..7f186fe Binary files /dev/null and b/beef/build/Debug_Win64/raylib-beef/Beef042Dbg64.dll differ diff --git a/beef/build/Debug_Win64/raylib-beef/Beef042RT64.dll b/beef/build/Debug_Win64/raylib-beef/Beef042RT64.dll new file mode 100644 index 0000000..797b5a5 Binary files /dev/null and b/beef/build/Debug_Win64/raylib-beef/Beef042RT64.dll differ diff --git a/beef/build/Debug_Win64/raylib-beef/build.dat b/beef/build/Debug_Win64/raylib-beef/build.dat new file mode 100644 index 0000000..02c6e14 Binary files /dev/null and b/beef/build/Debug_Win64/raylib-beef/build.dat differ diff --git a/beef/build/Debug_Win64/raylib-beef/raylib-beef.exe b/beef/build/Debug_Win64/raylib-beef/raylib-beef.exe new file mode 100644 index 0000000..8dd0a3f Binary files /dev/null and b/beef/build/Debug_Win64/raylib-beef/raylib-beef.exe differ diff --git a/beef/build/Debug_Win64/raylib-beef/raylib-beef.exe.build.txt b/beef/build/Debug_Win64/raylib-beef/raylib-beef.exe.build.txt new file mode 100644 index 0000000..59f12a3 --- /dev/null +++ b/beef/build/Debug_Win64/raylib-beef/raylib-beef.exe.build.txt @@ -0,0 +1,2 @@ +IDE Process 8516 +-out:c:\Dev\raylib-beef\beef\build\Debug_Win64\raylib-beef\raylib-beef.exe C:\Dev\raylib-beef\beef/build/Debug_Win64/corlib/corlib__.lib C:\Dev\raylib-beef\beef/build/Debug_Win64/raylib-beef/raylib-beef__.lib C:\Dev\raylib-beef\beef/build/Debug_Win64/raylib-beef/vdata.obj -defaultlib:libcmtd -nologo -incremental:no -pdb:c:\Dev\raylib-beef\beef\build\Debug_Win64\raylib-beef\raylib-beef.pdb -debug -opt:noref -libpath:"C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22000.0\um\x64" -libpath:"C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22000.0\ucrt\x64" -libpath:"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\lib\x64" -libpath:"C:\Program Files\BeefLang\bin\lib\x64" -libpath:c:\Dev\raylib-beef\beef\build\Debug_Win64\raylib-beef Beef042RT64.lib Beef042Dbg64.lib /ignore:4099 \ No newline at end of file diff --git a/beef/build/Debug_Win64/raylib-beef/raylib-beef__.lib b/beef/build/Debug_Win64/raylib-beef/raylib-beef__.lib new file mode 100644 index 0000000..55a9bba Binary files /dev/null and b/beef/build/Debug_Win64/raylib-beef/raylib-beef__.lib differ diff --git a/beef/build/Debug_Win64/raylib-beef/raylib-beef__emit.zip b/beef/build/Debug_Win64/raylib-beef/raylib-beef__emit.zip new file mode 100644 index 0000000..a42f64a Binary files /dev/null and b/beef/build/Debug_Win64/raylib-beef/raylib-beef__emit.zip differ diff --git a/beef/recovery/Material_65E3F51EBA04C43B014C1B8CB85947E5.bf b/beef/recovery/Material_65E3F51EBA04C43B014C1B8CB85947E5.bf new file mode 100644 index 0000000..9dc3ca8 --- /dev/null +++ b/beef/recovery/Material_65E3F51EBA04C43B014C1B8CB85947E5.bf @@ -0,0 +1,24 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct Material +{ + /// Material shader + public Shader shader; + + /// Material maps array (MAX_MATERIAL_MAPS) + public MaterialMap * maps; + + /// Material generic parameters (if required) + public float[4] @params; + + public this(Shader shader, MaterialMap * maps, float[4] @params) + { + this.shader = shader; + this.maps = maps; + this.params = @params; + } +} diff --git a/beef/recovery/Output_ED6325C5977DB8FA4BE0C46EC88ACA39.bf b/beef/recovery/Output_ED6325C5977DB8FA4BE0C46EC88ACA39.bf new file mode 100644 index 0000000..9da59dc --- /dev/null +++ b/beef/recovery/Output_ED6325C5977DB8FA4BE0C46EC88ACA39.bf @@ -0,0 +1,2077 @@ +using System; +using System.Interop; + +namespace Raylib_Beef +{ + public static class Raylib + { + [CallingConvention(.Cdecl), LinkName("InitWindow")] + /// Initialize window and OpenGL context + public static extern void InitWindow(int width, int height, char8* title); + + [CallingConvention(.Cdecl), LinkName("WindowShouldClose")] + /// Check if KEY_ESCAPE pressed or Close icon pressed + public static extern bool WindowShouldClose(); + + [CallingConvention(.Cdecl), LinkName("CloseWindow")] + /// Close window and unload OpenGL context + public static extern void CloseWindow(); + + [CallingConvention(.Cdecl), LinkName("IsWindowReady")] + /// Check if window has been initialized successfully + public static extern bool IsWindowReady(); + + [CallingConvention(.Cdecl), LinkName("IsWindowFullscreen")] + /// Check if window is currently fullscreen + public static extern bool IsWindowFullscreen(); + + [CallingConvention(.Cdecl), LinkName("IsWindowHidden")] + /// Check if window is currently hidden (only PLATFORM_DESKTOP) + public static extern bool IsWindowHidden(); + + [CallingConvention(.Cdecl), LinkName("IsWindowMinimized")] + /// Check if window is currently minimized (only PLATFORM_DESKTOP) + public static extern bool IsWindowMinimized(); + + [CallingConvention(.Cdecl), LinkName("IsWindowMaximized")] + /// Check if window is currently maximized (only PLATFORM_DESKTOP) + public static extern bool IsWindowMaximized(); + + [CallingConvention(.Cdecl), LinkName("IsWindowFocused")] + /// Check if window is currently focused (only PLATFORM_DESKTOP) + public static extern bool IsWindowFocused(); + + [CallingConvention(.Cdecl), LinkName("IsWindowResized")] + /// Check if window has been resized last frame + public static extern bool IsWindowResized(); + + [CallingConvention(.Cdecl), LinkName("IsWindowState")] + /// Check if one specific window flag is enabled + public static extern bool IsWindowState(c_uint flag); + + [CallingConvention(.Cdecl), LinkName("SetWindowState")] + /// Set window configuration state using flags (only PLATFORM_DESKTOP) + public static extern void SetWindowState(c_uint flags); + + [CallingConvention(.Cdecl), LinkName("ClearWindowState")] + /// Clear window configuration state flags + public static extern void ClearWindowState(c_uint flags); + + [CallingConvention(.Cdecl), LinkName("ToggleFullscreen")] + /// Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP) + public static extern void ToggleFullscreen(); + + [CallingConvention(.Cdecl), LinkName("MaximizeWindow")] + /// Set window state: maximized, if resizable (only PLATFORM_DESKTOP) + public static extern void MaximizeWindow(); + + [CallingConvention(.Cdecl), LinkName("MinimizeWindow")] + /// Set window state: minimized, if resizable (only PLATFORM_DESKTOP) + public static extern void MinimizeWindow(); + + [CallingConvention(.Cdecl), LinkName("RestoreWindow")] + /// Set window state: not minimized/maximized (only PLATFORM_DESKTOP) + public static extern void RestoreWindow(); + + [CallingConvention(.Cdecl), LinkName("SetWindowIcon")] + /// Set icon for window (single image, RGBA 32bit, only PLATFORM_DESKTOP) + public static extern void SetWindowIcon(Image image); + + [CallingConvention(.Cdecl), LinkName("SetWindowIcons")] + /// Set icon for window (multiple images, RGBA 32bit, only PLATFORM_DESKTOP) + public static extern void SetWindowIcons(Image * images, int count); + + [CallingConvention(.Cdecl), LinkName("SetWindowTitle")] + /// Set title for window (only PLATFORM_DESKTOP) + public static extern void SetWindowTitle(char8* title); + + [CallingConvention(.Cdecl), LinkName("SetWindowPosition")] + /// Set window position on screen (only PLATFORM_DESKTOP) + public static extern void SetWindowPosition(int x, int y); + + [CallingConvention(.Cdecl), LinkName("SetWindowMonitor")] + /// Set monitor for the current window (fullscreen mode) + public static extern void SetWindowMonitor(int monitor); + + [CallingConvention(.Cdecl), LinkName("SetWindowMinSize")] + /// Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE) + public static extern void SetWindowMinSize(int width, int height); + + [CallingConvention(.Cdecl), LinkName("SetWindowSize")] + /// Set window dimensions + public static extern void SetWindowSize(int width, int height); + + [CallingConvention(.Cdecl), LinkName("SetWindowOpacity")] + /// Set window opacity [0.0f..1.0f] (only PLATFORM_DESKTOP) + public static extern void SetWindowOpacity(float opacity); + + [CallingConvention(.Cdecl), LinkName("GetWindowHandle")] + /// Get native window handle + public static extern void * GetWindowHandle(); + + [CallingConvention(.Cdecl), LinkName("GetScreenWidth")] + /// Get current screen width + public static extern int GetScreenWidth(); + + [CallingConvention(.Cdecl), LinkName("GetScreenHeight")] + /// Get current screen height + public static extern int GetScreenHeight(); + + [CallingConvention(.Cdecl), LinkName("GetRenderWidth")] + /// Get current render width (it considers HiDPI) + public static extern int GetRenderWidth(); + + [CallingConvention(.Cdecl), LinkName("GetRenderHeight")] + /// Get current render height (it considers HiDPI) + public static extern int GetRenderHeight(); + + [CallingConvention(.Cdecl), LinkName("GetMonitorCount")] + /// Get number of connected monitors + public static extern int GetMonitorCount(); + + [CallingConvention(.Cdecl), LinkName("GetCurrentMonitor")] + /// Get current connected monitor + public static extern int GetCurrentMonitor(); + + [CallingConvention(.Cdecl), LinkName("GetMonitorPosition")] + /// Get specified monitor position + public static extern Vector2 GetMonitorPosition(int monitor); + + [CallingConvention(.Cdecl), LinkName("GetMonitorWidth")] + /// Get specified monitor width (current video mode used by monitor) + public static extern int GetMonitorWidth(int monitor); + + [CallingConvention(.Cdecl), LinkName("GetMonitorHeight")] + /// Get specified monitor height (current video mode used by monitor) + public static extern int GetMonitorHeight(int monitor); + + [CallingConvention(.Cdecl), LinkName("GetMonitorPhysicalWidth")] + /// Get specified monitor physical width in millimetres + public static extern int GetMonitorPhysicalWidth(int monitor); + + [CallingConvention(.Cdecl), LinkName("GetMonitorPhysicalHeight")] + /// Get specified monitor physical height in millimetres + public static extern int GetMonitorPhysicalHeight(int monitor); + + [CallingConvention(.Cdecl), LinkName("GetMonitorRefreshRate")] + /// Get specified monitor refresh rate + public static extern int GetMonitorRefreshRate(int monitor); + + [CallingConvention(.Cdecl), LinkName("GetWindowPosition")] + /// Get window position XY on monitor + public static extern Vector2 GetWindowPosition(); + + [CallingConvention(.Cdecl), LinkName("GetWindowScaleDPI")] + /// Get window scale DPI factor + public static extern Vector2 GetWindowScaleDPI(); + + [CallingConvention(.Cdecl), LinkName("GetMonitorName")] + /// Get the human-readable, UTF-8 encoded name of the primary monitor + public static extern char8* GetMonitorName(int monitor); + + [CallingConvention(.Cdecl), LinkName("SetClipboardText")] + /// Set clipboard text content + public static extern void SetClipboardText(char8* text); + + [CallingConvention(.Cdecl), LinkName("GetClipboardText")] + /// Get clipboard text content + public static extern char8* GetClipboardText(); + + [CallingConvention(.Cdecl), LinkName("EnableEventWaiting")] + /// Enable waiting for events on EndDrawing(), no automatic event polling + public static extern void EnableEventWaiting(); + + [CallingConvention(.Cdecl), LinkName("DisableEventWaiting")] + /// Disable waiting for events on EndDrawing(), automatic events polling + public static extern void DisableEventWaiting(); + + [CallingConvention(.Cdecl), LinkName("SwapScreenBuffer")] + /// Swap back buffer with front buffer (screen drawing) + public static extern void SwapScreenBuffer(); + + [CallingConvention(.Cdecl), LinkName("PollInputEvents")] + /// Register all input events + public static extern void PollInputEvents(); + + [CallingConvention(.Cdecl), LinkName("WaitTime")] + /// Wait for some time (halt program execution) + public static extern void WaitTime(double seconds); + + [CallingConvention(.Cdecl), LinkName("ShowCursor")] + /// Shows cursor + public static extern void ShowCursor(); + + [CallingConvention(.Cdecl), LinkName("HideCursor")] + /// Hides cursor + public static extern void HideCursor(); + + [CallingConvention(.Cdecl), LinkName("IsCursorHidden")] + /// Check if cursor is not visible + public static extern bool IsCursorHidden(); + + [CallingConvention(.Cdecl), LinkName("EnableCursor")] + /// Enables cursor (unlock cursor) + public static extern void EnableCursor(); + + [CallingConvention(.Cdecl), LinkName("DisableCursor")] + /// Disables cursor (lock cursor) + public static extern void DisableCursor(); + + [CallingConvention(.Cdecl), LinkName("IsCursorOnScreen")] + /// Check if cursor is on the screen + public static extern bool IsCursorOnScreen(); + + [CallingConvention(.Cdecl), LinkName("ClearBackground")] + /// Set background color (framebuffer clear color) + public static extern void ClearBackground(Color color); + + [CallingConvention(.Cdecl), LinkName("BeginDrawing")] + /// Setup canvas (framebuffer) to start drawing + public static extern void BeginDrawing(); + + [CallingConvention(.Cdecl), LinkName("EndDrawing")] + /// End canvas drawing and swap buffers (double buffering) + public static extern void EndDrawing(); + + [CallingConvention(.Cdecl), LinkName("BeginMode2D")] + /// Begin 2D mode with custom camera (2D) + public static extern void BeginMode2D(Camera2D camera); + + [CallingConvention(.Cdecl), LinkName("EndMode2D")] + /// Ends 2D mode with custom camera + public static extern void EndMode2D(); + + [CallingConvention(.Cdecl), LinkName("BeginMode3D")] + /// Begin 3D mode with custom camera (3D) + public static extern void BeginMode3D(Camera3D camera); + + [CallingConvention(.Cdecl), LinkName("EndMode3D")] + /// Ends 3D mode and returns to default 2D orthographic mode + public static extern void EndMode3D(); + + [CallingConvention(.Cdecl), LinkName("BeginTextureMode")] + /// Begin drawing to render texture + public static extern void BeginTextureMode(RenderTexture2D target); + + [CallingConvention(.Cdecl), LinkName("EndTextureMode")] + /// Ends drawing to render texture + public static extern void EndTextureMode(); + + [CallingConvention(.Cdecl), LinkName("BeginShaderMode")] + /// Begin custom shader drawing + public static extern void BeginShaderMode(Shader shader); + + [CallingConvention(.Cdecl), LinkName("EndShaderMode")] + /// End custom shader drawing (use default shader) + public static extern void EndShaderMode(); + + [CallingConvention(.Cdecl), LinkName("BeginBlendMode")] + /// Begin blending mode (alpha, additive, multiplied, subtract, custom) + public static extern void BeginBlendMode(int mode); + + [CallingConvention(.Cdecl), LinkName("EndBlendMode")] + /// End blending mode (reset to default: alpha blending) + public static extern void EndBlendMode(); + + [CallingConvention(.Cdecl), LinkName("BeginScissorMode")] + /// Begin scissor mode (define screen area for following drawing) + public static extern void BeginScissorMode(int x, int y, int width, int height); + + [CallingConvention(.Cdecl), LinkName("EndScissorMode")] + /// End scissor mode + public static extern void EndScissorMode(); + + [CallingConvention(.Cdecl), LinkName("BeginVrStereoMode")] + /// Begin stereo rendering (requires VR simulator) + public static extern void BeginVrStereoMode(VrStereoConfig config); + + [CallingConvention(.Cdecl), LinkName("EndVrStereoMode")] + /// End stereo rendering (requires VR simulator) + public static extern void EndVrStereoMode(); + + [CallingConvention(.Cdecl), LinkName("LoadVrStereoConfig")] + /// Load VR stereo config for VR simulator device parameters + public static extern VrStereoConfig LoadVrStereoConfig(VrDeviceInfo device); + + [CallingConvention(.Cdecl), LinkName("UnloadVrStereoConfig")] + /// Unload VR stereo config + public static extern void UnloadVrStereoConfig(VrStereoConfig config); + + [CallingConvention(.Cdecl), LinkName("LoadShader")] + /// Load shader from files and bind default locations + public static extern Shader LoadShader(char8* vsFileName, char8* fsFileName); + + [CallingConvention(.Cdecl), LinkName("LoadShaderFromMemory")] + /// Load shader from code strings and bind default locations + public static extern Shader LoadShaderFromMemory(char8* vsCode, char8* fsCode); + + [CallingConvention(.Cdecl), LinkName("IsShaderReady")] + /// Check if a shader is ready + public static extern bool IsShaderReady(Shader shader); + + [CallingConvention(.Cdecl), LinkName("GetShaderLocation")] + /// Get shader uniform location + public static extern int GetShaderLocation(Shader shader, char8* uniformName); + + [CallingConvention(.Cdecl), LinkName("GetShaderLocationAttrib")] + /// Get shader attribute location + public static extern int GetShaderLocationAttrib(Shader shader, char8* attribName); + + [CallingConvention(.Cdecl), LinkName("SetShaderValue")] + /// Set shader uniform value + public static extern void SetShaderValue(Shader shader, int locIndex, const void * value, int uniformType); + + [CallingConvention(.Cdecl), LinkName("SetShaderValueV")] + /// Set shader uniform value vector + public static extern void SetShaderValueV(Shader shader, int locIndex, const void * value, int uniformType, int count); + + [CallingConvention(.Cdecl), LinkName("SetShaderValueMatrix")] + /// Set shader uniform value (matrix 4x4) + public static extern void SetShaderValueMatrix(Shader shader, int locIndex, Matrix mat); + + [CallingConvention(.Cdecl), LinkName("SetShaderValueTexture")] + /// Set shader uniform value for texture (sampler2d) + public static extern void SetShaderValueTexture(Shader shader, int locIndex, Texture2D texture); + + [CallingConvention(.Cdecl), LinkName("UnloadShader")] + /// Unload shader from GPU memory (VRAM) + public static extern void UnloadShader(Shader shader); + + [CallingConvention(.Cdecl), LinkName("GetMouseRay")] + /// Get a ray trace from mouse position + public static extern Ray GetMouseRay(Vector2 mousePosition, Camera camera); + + [CallingConvention(.Cdecl), LinkName("GetCameraMatrix")] + /// Get camera transform matrix (view matrix) + public static extern Matrix GetCameraMatrix(Camera camera); + + [CallingConvention(.Cdecl), LinkName("GetCameraMatrix2D")] + /// Get camera 2d transform matrix + public static extern Matrix GetCameraMatrix2D(Camera2D camera); + + [CallingConvention(.Cdecl), LinkName("GetWorldToScreen")] + /// Get the screen space position for a 3d world space position + public static extern Vector2 GetWorldToScreen(Vector3 position, Camera camera); + + [CallingConvention(.Cdecl), LinkName("GetScreenToWorld2D")] + /// Get the world space position for a 2d camera screen space position + public static extern Vector2 GetScreenToWorld2D(Vector2 position, Camera2D camera); + + [CallingConvention(.Cdecl), LinkName("GetWorldToScreenEx")] + /// Get size position for a 3d world space position + public static extern Vector2 GetWorldToScreenEx(Vector3 position, Camera camera, int width, int height); + + [CallingConvention(.Cdecl), LinkName("GetWorldToScreen2D")] + /// Get the screen space position for a 2d camera world space position + public static extern Vector2 GetWorldToScreen2D(Vector2 position, Camera2D camera); + + [CallingConvention(.Cdecl), LinkName("SetTargetFPS")] + /// Set target FPS (maximum) + public static extern void SetTargetFPS(int fps); + + [CallingConvention(.Cdecl), LinkName("GetFPS")] + /// Get current FPS + public static extern int GetFPS(); + + [CallingConvention(.Cdecl), LinkName("GetFrameTime")] + /// Get time in seconds for last frame drawn (delta time) + public static extern float GetFrameTime(); + + [CallingConvention(.Cdecl), LinkName("GetTime")] + /// Get elapsed time in seconds since InitWindow() + public static extern double GetTime(); + + [CallingConvention(.Cdecl), LinkName("GetRandomValue")] + /// Get a random value between min and max (both included) + public static extern int GetRandomValue(int min, int max); + + [CallingConvention(.Cdecl), LinkName("SetRandomSeed")] + /// Set the seed for the random number generator + public static extern void SetRandomSeed(c_uint seed); + + [CallingConvention(.Cdecl), LinkName("TakeScreenshot")] + /// Takes a screenshot of current screen (filename extension defines format) + public static extern void TakeScreenshot(char8* fileName); + + [CallingConvention(.Cdecl), LinkName("SetConfigFlags")] + /// Setup init configuration flags (view FLAGS) + public static extern void SetConfigFlags(c_uint flags); + + [CallingConvention(.Cdecl), LinkName("TraceLog")] + /// Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...) + public static extern void TraceLog(int logLevel, char8* text, ... args); + + [CallingConvention(.Cdecl), LinkName("SetTraceLogLevel")] + /// Set the current threshold (minimum) log level + public static extern void SetTraceLogLevel(int logLevel); + + [CallingConvention(.Cdecl), LinkName("MemAlloc")] + /// Internal memory allocator + public static extern void * MemAlloc(c_uint size); + + [CallingConvention(.Cdecl), LinkName("MemRealloc")] + /// Internal memory reallocator + public static extern void * MemRealloc(void * ptr, c_uint size); + + [CallingConvention(.Cdecl), LinkName("MemFree")] + /// Internal memory free + public static extern void MemFree(void * ptr); + + [CallingConvention(.Cdecl), LinkName("OpenURL")] + /// Open URL with default system browser (if available) + public static extern void OpenURL(char8* url); + + [CallingConvention(.Cdecl), LinkName("SetTraceLogCallback")] + /// Set custom trace log + public static extern void SetTraceLogCallback(TraceLogCallback callback); + + [CallingConvention(.Cdecl), LinkName("SetLoadFileDataCallback")] + /// Set custom file binary data loader + public static extern void SetLoadFileDataCallback(LoadFileDataCallback callback); + + [CallingConvention(.Cdecl), LinkName("SetSaveFileDataCallback")] + /// Set custom file binary data saver + public static extern void SetSaveFileDataCallback(SaveFileDataCallback callback); + + [CallingConvention(.Cdecl), LinkName("SetLoadFileTextCallback")] + /// Set custom file text data loader + public static extern void SetLoadFileTextCallback(LoadFileTextCallback callback); + + [CallingConvention(.Cdecl), LinkName("SetSaveFileTextCallback")] + /// Set custom file text data saver + public static extern void SetSaveFileTextCallback(SaveFileTextCallback callback); + + [CallingConvention(.Cdecl), LinkName("LoadFileData")] + /// Load file data as byte array (read) + public static extern unsigned char * LoadFileData(char8* fileName, unsigned int * bytesRead); + + [CallingConvention(.Cdecl), LinkName("UnloadFileData")] + /// Unload file data allocated by LoadFileData() + public static extern void UnloadFileData(unsigned char * data); + + [CallingConvention(.Cdecl), LinkName("SaveFileData")] + /// Save data to file from byte array (write), returns true on success + public static extern bool SaveFileData(char8* fileName, void * data, c_uint bytesToWrite); + + [CallingConvention(.Cdecl), LinkName("ExportDataAsCode")] + /// Export data to code (.h), returns true on success + public static extern bool ExportDataAsCode(const unsigned char * data, c_uint size, char8* fileName); + + [CallingConvention(.Cdecl), LinkName("LoadFileText")] + /// Load text data from file (read), returns a '\0' terminated string + public static extern char8* LoadFileText(char8* fileName); + + [CallingConvention(.Cdecl), LinkName("UnloadFileText")] + /// Unload file text data allocated by LoadFileText() + public static extern void UnloadFileText(char8* text); + + [CallingConvention(.Cdecl), LinkName("SaveFileText")] + /// Save text data to file (write), string must be '\0' terminated, returns true on success + public static extern bool SaveFileText(char8* fileName, char8* text); + + [CallingConvention(.Cdecl), LinkName("FileExists")] + /// Check if file exists + public static extern bool FileExists(char8* fileName); + + [CallingConvention(.Cdecl), LinkName("DirectoryExists")] + /// Check if a directory path exists + public static extern bool DirectoryExists(char8* dirPath); + + [CallingConvention(.Cdecl), LinkName("IsFileExtension")] + /// Check file extension (including point: .png, .wav) + public static extern bool IsFileExtension(char8* fileName, char8* ext); + + [CallingConvention(.Cdecl), LinkName("GetFileLength")] + /// Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h) + public static extern int GetFileLength(char8* fileName); + + [CallingConvention(.Cdecl), LinkName("GetFileExtension")] + /// Get pointer to extension for a filename string (includes dot: '.png') + public static extern char8* GetFileExtension(char8* fileName); + + [CallingConvention(.Cdecl), LinkName("GetFileName")] + /// Get pointer to filename for a path string + public static extern char8* GetFileName(char8* filePath); + + [CallingConvention(.Cdecl), LinkName("GetFileNameWithoutExt")] + /// Get filename string without extension (uses static string) + public static extern char8* GetFileNameWithoutExt(char8* filePath); + + [CallingConvention(.Cdecl), LinkName("GetDirectoryPath")] + /// Get full path for a given fileName with path (uses static string) + public static extern char8* GetDirectoryPath(char8* filePath); + + [CallingConvention(.Cdecl), LinkName("GetPrevDirectoryPath")] + /// Get previous directory path for a given path (uses static string) + public static extern char8* GetPrevDirectoryPath(char8* dirPath); + + [CallingConvention(.Cdecl), LinkName("GetWorkingDirectory")] + /// Get current working directory (uses static string) + public static extern char8* GetWorkingDirectory(); + + [CallingConvention(.Cdecl), LinkName("GetApplicationDirectory")] + /// Get the directory if the running application (uses static string) + public static extern char8* GetApplicationDirectory(); + + [CallingConvention(.Cdecl), LinkName("ChangeDirectory")] + /// Change working directory, return true on success + public static extern bool ChangeDirectory(char8* dir); + + [CallingConvention(.Cdecl), LinkName("IsPathFile")] + /// Check if a given path is a file or a directory + public static extern bool IsPathFile(char8* path); + + [CallingConvention(.Cdecl), LinkName("LoadDirectoryFiles")] + /// Load directory filepaths + public static extern FilePathList LoadDirectoryFiles(char8* dirPath); + + [CallingConvention(.Cdecl), LinkName("LoadDirectoryFilesEx")] + /// Load directory filepaths with extension filtering and recursive directory scan + public static extern FilePathList LoadDirectoryFilesEx(char8* basePath, char8* filter, bool scanSubdirs); + + [CallingConvention(.Cdecl), LinkName("UnloadDirectoryFiles")] + /// Unload filepaths + public static extern void UnloadDirectoryFiles(FilePathList files); + + [CallingConvention(.Cdecl), LinkName("IsFileDropped")] + /// Check if a file has been dropped into window + public static extern bool IsFileDropped(); + + [CallingConvention(.Cdecl), LinkName("LoadDroppedFiles")] + /// Load dropped filepaths + public static extern FilePathList LoadDroppedFiles(); + + [CallingConvention(.Cdecl), LinkName("UnloadDroppedFiles")] + /// Unload dropped filepaths + public static extern void UnloadDroppedFiles(FilePathList files); + + [CallingConvention(.Cdecl), LinkName("GetFileModTime")] + /// Get file modification time (last write time) + public static extern long GetFileModTime(char8* fileName); + + [CallingConvention(.Cdecl), LinkName("CompressData")] + /// Compress data (DEFLATE algorithm), memory must be MemFree() + public static extern unsigned char * CompressData(const unsigned char * data, int dataSize, int * compDataSize); + + [CallingConvention(.Cdecl), LinkName("DecompressData")] + /// Decompress data (DEFLATE algorithm), memory must be MemFree() + public static extern unsigned char * DecompressData(const unsigned char * compData, int compDataSize, int * dataSize); + + [CallingConvention(.Cdecl), LinkName("EncodeDataBase64")] + /// Encode data to Base64 string, memory must be MemFree() + public static extern char8* EncodeDataBase64(const unsigned char * data, int dataSize, int * outputSize); + + [CallingConvention(.Cdecl), LinkName("DecodeDataBase64")] + /// Decode Base64 string data, memory must be MemFree() + public static extern unsigned char * DecodeDataBase64(const unsigned char * data, int * outputSize); + + [CallingConvention(.Cdecl), LinkName("IsKeyPressed")] + /// Check if a key has been pressed once + public static extern bool IsKeyPressed(int key); + + [CallingConvention(.Cdecl), LinkName("IsKeyDown")] + /// Check if a key is being pressed + public static extern bool IsKeyDown(int key); + + [CallingConvention(.Cdecl), LinkName("IsKeyReleased")] + /// Check if a key has been released once + public static extern bool IsKeyReleased(int key); + + [CallingConvention(.Cdecl), LinkName("IsKeyUp")] + /// Check if a key is NOT being pressed + public static extern bool IsKeyUp(int key); + + [CallingConvention(.Cdecl), LinkName("SetExitKey")] + /// Set a custom key to exit program (default is ESC) + public static extern void SetExitKey(int key); + + [CallingConvention(.Cdecl), LinkName("GetKeyPressed")] + /// Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty + public static extern int GetKeyPressed(); + + [CallingConvention(.Cdecl), LinkName("GetCharPressed")] + /// Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty + public static extern int GetCharPressed(); + + [CallingConvention(.Cdecl), LinkName("IsGamepadAvailable")] + /// Check if a gamepad is available + public static extern bool IsGamepadAvailable(int gamepad); + + [CallingConvention(.Cdecl), LinkName("GetGamepadName")] + /// Get gamepad internal name id + public static extern char8* GetGamepadName(int gamepad); + + [CallingConvention(.Cdecl), LinkName("IsGamepadButtonPressed")] + /// Check if a gamepad button has been pressed once + public static extern bool IsGamepadButtonPressed(int gamepad, int button); + + [CallingConvention(.Cdecl), LinkName("IsGamepadButtonDown")] + /// Check if a gamepad button is being pressed + public static extern bool IsGamepadButtonDown(int gamepad, int button); + + [CallingConvention(.Cdecl), LinkName("IsGamepadButtonReleased")] + /// Check if a gamepad button has been released once + public static extern bool IsGamepadButtonReleased(int gamepad, int button); + + [CallingConvention(.Cdecl), LinkName("IsGamepadButtonUp")] + /// Check if a gamepad button is NOT being pressed + public static extern bool IsGamepadButtonUp(int gamepad, int button); + + [CallingConvention(.Cdecl), LinkName("GetGamepadButtonPressed")] + /// Get the last gamepad button pressed + public static extern int GetGamepadButtonPressed(); + + [CallingConvention(.Cdecl), LinkName("GetGamepadAxisCount")] + /// Get gamepad axis count for a gamepad + public static extern int GetGamepadAxisCount(int gamepad); + + [CallingConvention(.Cdecl), LinkName("GetGamepadAxisMovement")] + /// Get axis movement value for a gamepad axis + public static extern float GetGamepadAxisMovement(int gamepad, int axis); + + [CallingConvention(.Cdecl), LinkName("SetGamepadMappings")] + /// Set internal gamepad mappings (SDL_GameControllerDB) + public static extern int SetGamepadMappings(char8* mappings); + + [CallingConvention(.Cdecl), LinkName("IsMouseButtonPressed")] + /// Check if a mouse button has been pressed once + public static extern bool IsMouseButtonPressed(int button); + + [CallingConvention(.Cdecl), LinkName("IsMouseButtonDown")] + /// Check if a mouse button is being pressed + public static extern bool IsMouseButtonDown(int button); + + [CallingConvention(.Cdecl), LinkName("IsMouseButtonReleased")] + /// Check if a mouse button has been released once + public static extern bool IsMouseButtonReleased(int button); + + [CallingConvention(.Cdecl), LinkName("IsMouseButtonUp")] + /// Check if a mouse button is NOT being pressed + public static extern bool IsMouseButtonUp(int button); + + [CallingConvention(.Cdecl), LinkName("GetMouseX")] + /// Get mouse position X + public static extern int GetMouseX(); + + [CallingConvention(.Cdecl), LinkName("GetMouseY")] + /// Get mouse position Y + public static extern int GetMouseY(); + + [CallingConvention(.Cdecl), LinkName("GetMousePosition")] + /// Get mouse position XY + public static extern Vector2 GetMousePosition(); + + [CallingConvention(.Cdecl), LinkName("GetMouseDelta")] + /// Get mouse delta between frames + public static extern Vector2 GetMouseDelta(); + + [CallingConvention(.Cdecl), LinkName("SetMousePosition")] + /// Set mouse position XY + public static extern void SetMousePosition(int x, int y); + + [CallingConvention(.Cdecl), LinkName("SetMouseOffset")] + /// Set mouse offset + public static extern void SetMouseOffset(int offsetX, int offsetY); + + [CallingConvention(.Cdecl), LinkName("SetMouseScale")] + /// Set mouse scaling + public static extern void SetMouseScale(float scaleX, float scaleY); + + [CallingConvention(.Cdecl), LinkName("GetMouseWheelMove")] + /// Get mouse wheel movement for X or Y, whichever is larger + public static extern float GetMouseWheelMove(); + + [CallingConvention(.Cdecl), LinkName("GetMouseWheelMoveV")] + /// Get mouse wheel movement for both X and Y + public static extern Vector2 GetMouseWheelMoveV(); + + [CallingConvention(.Cdecl), LinkName("SetMouseCursor")] + /// Set mouse cursor + public static extern void SetMouseCursor(int cursor); + + [CallingConvention(.Cdecl), LinkName("GetTouchX")] + /// Get touch position X for touch point 0 (relative to screen size) + public static extern int GetTouchX(); + + [CallingConvention(.Cdecl), LinkName("GetTouchY")] + /// Get touch position Y for touch point 0 (relative to screen size) + public static extern int GetTouchY(); + + [CallingConvention(.Cdecl), LinkName("GetTouchPosition")] + /// Get touch position XY for a touch point index (relative to screen size) + public static extern Vector2 GetTouchPosition(int index); + + [CallingConvention(.Cdecl), LinkName("GetTouchPointId")] + /// Get touch point identifier for given index + public static extern int GetTouchPointId(int index); + + [CallingConvention(.Cdecl), LinkName("GetTouchPointCount")] + /// Get number of touch points + public static extern int GetTouchPointCount(); + + [CallingConvention(.Cdecl), LinkName("SetGesturesEnabled")] + /// Enable a set of gestures using flags + public static extern void SetGesturesEnabled(c_uint flags); + + [CallingConvention(.Cdecl), LinkName("IsGestureDetected")] + /// Check if a gesture have been detected + public static extern bool IsGestureDetected(int gesture); + + [CallingConvention(.Cdecl), LinkName("GetGestureDetected")] + /// Get latest detected gesture + public static extern int GetGestureDetected(); + + [CallingConvention(.Cdecl), LinkName("GetGestureHoldDuration")] + /// Get gesture hold time in milliseconds + public static extern float GetGestureHoldDuration(); + + [CallingConvention(.Cdecl), LinkName("GetGestureDragVector")] + /// Get gesture drag vector + public static extern Vector2 GetGestureDragVector(); + + [CallingConvention(.Cdecl), LinkName("GetGestureDragAngle")] + /// Get gesture drag angle + public static extern float GetGestureDragAngle(); + + [CallingConvention(.Cdecl), LinkName("GetGesturePinchVector")] + /// Get gesture pinch delta + public static extern Vector2 GetGesturePinchVector(); + + [CallingConvention(.Cdecl), LinkName("GetGesturePinchAngle")] + /// Get gesture pinch angle + public static extern float GetGesturePinchAngle(); + + [CallingConvention(.Cdecl), LinkName("UpdateCamera")] + /// Update camera position for selected mode + public static extern void UpdateCamera(Camera * camera, int mode); + + [CallingConvention(.Cdecl), LinkName("UpdateCameraPro")] + /// Update camera movement/rotation + public static extern void UpdateCameraPro(Camera * camera, Vector3 movement, Vector3 rotation, float zoom); + + [CallingConvention(.Cdecl), LinkName("SetShapesTexture")] + /// Set texture and rectangle to be used on shapes drawing + public static extern void SetShapesTexture(Texture2D texture, Rectangle source); + + [CallingConvention(.Cdecl), LinkName("DrawPixel")] + /// Draw a pixel + public static extern void DrawPixel(int posX, int posY, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawPixelV")] + /// Draw a pixel (Vector version) + public static extern void DrawPixelV(Vector2 position, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawLine")] + /// Draw a line + public static extern void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawLineV")] + /// Draw a line (Vector version) + public static extern void DrawLineV(Vector2 startPos, Vector2 endPos, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawLineEx")] + /// Draw a line defining thickness + public static extern void DrawLineEx(Vector2 startPos, Vector2 endPos, float thick, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawLineBezier")] + /// Draw a line using cubic-bezier curves in-out + public static extern void DrawLineBezier(Vector2 startPos, Vector2 endPos, float thick, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawLineBezierQuad")] + /// Draw line using quadratic bezier curves with a control point + public static extern void DrawLineBezierQuad(Vector2 startPos, Vector2 endPos, Vector2 controlPos, float thick, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawLineBezierCubic")] + /// Draw line using cubic bezier curves with 2 control points + public static extern void DrawLineBezierCubic(Vector2 startPos, Vector2 endPos, Vector2 startControlPos, Vector2 endControlPos, float thick, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawLineStrip")] + /// Draw lines sequence + public static extern void DrawLineStrip(Vector2 * points, int pointCount, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCircle")] + /// Draw a color-filled circle + public static extern void DrawCircle(int centerX, int centerY, float radius, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCircleSector")] + /// Draw a piece of a circle + public static extern void DrawCircleSector(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCircleSectorLines")] + /// Draw circle sector outline + public static extern void DrawCircleSectorLines(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCircleGradient")] + /// Draw a gradient-filled circle + public static extern void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Color color2); + + [CallingConvention(.Cdecl), LinkName("DrawCircleV")] + /// Draw a color-filled circle (Vector version) + public static extern void DrawCircleV(Vector2 center, float radius, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCircleLines")] + /// Draw circle outline + public static extern void DrawCircleLines(int centerX, int centerY, float radius, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawEllipse")] + /// Draw ellipse + public static extern void DrawEllipse(int centerX, int centerY, float radiusH, float radiusV, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawEllipseLines")] + /// Draw ellipse outline + public static extern void DrawEllipseLines(int centerX, int centerY, float radiusH, float radiusV, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRing")] + /// Draw ring + public static extern void DrawRing(Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRingLines")] + /// Draw ring outline + public static extern void DrawRingLines(Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRectangle")] + /// Draw a color-filled rectangle + public static extern void DrawRectangle(int posX, int posY, int width, int height, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleV")] + /// Draw a color-filled rectangle (Vector version) + public static extern void DrawRectangleV(Vector2 position, Vector2 size, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleRec")] + /// Draw a color-filled rectangle + public static extern void DrawRectangleRec(Rectangle rec, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRectanglePro")] + /// Draw a color-filled rectangle with pro parameters + public static extern void DrawRectanglePro(Rectangle rec, Vector2 origin, float rotation, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleGradientV")] + /// Draw a vertical-gradient-filled rectangle + public static extern void DrawRectangleGradientV(int posX, int posY, int width, int height, Color color1, Color color2); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleGradientH")] + /// Draw a horizontal-gradient-filled rectangle + public static extern void DrawRectangleGradientH(int posX, int posY, int width, int height, Color color1, Color color2); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleGradientEx")] + /// Draw a gradient-filled rectangle with custom vertex colors + public static extern void DrawRectangleGradientEx(Rectangle rec, Color col1, Color col2, Color col3, Color col4); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleLines")] + /// Draw rectangle outline + public static extern void DrawRectangleLines(int posX, int posY, int width, int height, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleLinesEx")] + /// Draw rectangle outline with extended parameters + public static extern void DrawRectangleLinesEx(Rectangle rec, float lineThick, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleRounded")] + /// Draw rectangle with rounded edges + public static extern void DrawRectangleRounded(Rectangle rec, float roundness, int segments, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleRoundedLines")] + /// Draw rectangle with rounded edges outline + public static extern void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, float lineThick, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawTriangle")] + /// Draw a color-filled triangle (vertex in counter-clockwise order!) + public static extern void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawTriangleLines")] + /// Draw triangle outline (vertex in counter-clockwise order!) + public static extern void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawTriangleFan")] + /// Draw a triangle fan defined by points (first vertex is the center) + public static extern void DrawTriangleFan(Vector2 * points, int pointCount, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawTriangleStrip")] + /// Draw a triangle strip defined by points + public static extern void DrawTriangleStrip(Vector2 * points, int pointCount, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawPoly")] + /// Draw a regular polygon (Vector version) + public static extern void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawPolyLines")] + /// Draw a polygon outline of n sides + public static extern void DrawPolyLines(Vector2 center, int sides, float radius, float rotation, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawPolyLinesEx")] + /// Draw a polygon outline of n sides with extended parameters + public static extern void DrawPolyLinesEx(Vector2 center, int sides, float radius, float rotation, float lineThick, Color color); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionRecs")] + /// Check collision between two rectangles + public static extern bool CheckCollisionRecs(Rectangle rec1, Rectangle rec2); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionCircles")] + /// Check collision between two circles + public static extern bool CheckCollisionCircles(Vector2 center1, float radius1, Vector2 center2, float radius2); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionCircleRec")] + /// Check collision between circle and rectangle + public static extern bool CheckCollisionCircleRec(Vector2 center, float radius, Rectangle rec); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionPointRec")] + /// Check if point is inside rectangle + public static extern bool CheckCollisionPointRec(Vector2 point, Rectangle rec); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionPointCircle")] + /// Check if point is inside circle + public static extern bool CheckCollisionPointCircle(Vector2 point, Vector2 center, float radius); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionPointTriangle")] + /// Check if point is inside a triangle + public static extern bool CheckCollisionPointTriangle(Vector2 point, Vector2 p1, Vector2 p2, Vector2 p3); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionPointPoly")] + /// Check if point is within a polygon described by array of vertices + public static extern bool CheckCollisionPointPoly(Vector2 point, Vector2 * points, int pointCount); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionLines")] + /// Check the collision between two lines defined by two points each, returns collision point by reference + public static extern bool CheckCollisionLines(Vector2 startPos1, Vector2 endPos1, Vector2 startPos2, Vector2 endPos2, Vector2 * collisionPoint); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionPointLine")] + /// Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold] + public static extern bool CheckCollisionPointLine(Vector2 point, Vector2 p1, Vector2 p2, int threshold); + + [CallingConvention(.Cdecl), LinkName("GetCollisionRec")] + /// Get collision rectangle for two rectangles collision + public static extern Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2); + + [CallingConvention(.Cdecl), LinkName("LoadImage")] + /// Load image from file into CPU memory (RAM) + public static extern Image LoadImage(char8* fileName); + + [CallingConvention(.Cdecl), LinkName("LoadImageRaw")] + /// Load image from RAW file data + public static extern Image LoadImageRaw(char8* fileName, int width, int height, int format, int headerSize); + + [CallingConvention(.Cdecl), LinkName("LoadImageAnim")] + /// Load image sequence from file (frames appended to image.data) + public static extern Image LoadImageAnim(char8* fileName, int * frames); + + [CallingConvention(.Cdecl), LinkName("LoadImageFromMemory")] + /// Load image from memory buffer, fileType refers to extension: i.e. '.png' + public static extern Image LoadImageFromMemory(char8* fileType, const unsigned char * fileData, int dataSize); + + [CallingConvention(.Cdecl), LinkName("LoadImageFromTexture")] + /// Load image from GPU texture data + public static extern Image LoadImageFromTexture(Texture2D texture); + + [CallingConvention(.Cdecl), LinkName("LoadImageFromScreen")] + /// Load image from screen buffer and (screenshot) + public static extern Image LoadImageFromScreen(); + + [CallingConvention(.Cdecl), LinkName("IsImageReady")] + /// Check if an image is ready + public static extern bool IsImageReady(Image image); + + [CallingConvention(.Cdecl), LinkName("UnloadImage")] + /// Unload image from CPU memory (RAM) + public static extern void UnloadImage(Image image); + + [CallingConvention(.Cdecl), LinkName("ExportImage")] + /// Export image data to file, returns true on success + public static extern bool ExportImage(Image image, char8* fileName); + + [CallingConvention(.Cdecl), LinkName("ExportImageAsCode")] + /// Export image as code file defining an array of bytes, returns true on success + public static extern bool ExportImageAsCode(Image image, char8* fileName); + + [CallingConvention(.Cdecl), LinkName("GenImageColor")] + /// Generate image: plain color + public static extern Image GenImageColor(int width, int height, Color color); + + [CallingConvention(.Cdecl), LinkName("GenImageGradientV")] + /// Generate image: vertical gradient + public static extern Image GenImageGradientV(int width, int height, Color top, Color bottom); + + [CallingConvention(.Cdecl), LinkName("GenImageGradientH")] + /// Generate image: horizontal gradient + public static extern Image GenImageGradientH(int width, int height, Color left, Color right); + + [CallingConvention(.Cdecl), LinkName("GenImageGradientRadial")] + /// Generate image: radial gradient + public static extern Image GenImageGradientRadial(int width, int height, float density, Color inner, Color outer); + + [CallingConvention(.Cdecl), LinkName("GenImageChecked")] + /// Generate image: checked + public static extern Image GenImageChecked(int width, int height, int checksX, int checksY, Color col1, Color col2); + + [CallingConvention(.Cdecl), LinkName("GenImageWhiteNoise")] + /// Generate image: white noise + public static extern Image GenImageWhiteNoise(int width, int height, float factor); + + [CallingConvention(.Cdecl), LinkName("GenImagePerlinNoise")] + /// Generate image: perlin noise + public static extern Image GenImagePerlinNoise(int width, int height, int offsetX, int offsetY, float scale); + + [CallingConvention(.Cdecl), LinkName("GenImageCellular")] + /// Generate image: cellular algorithm, bigger tileSize means bigger cells + public static extern Image GenImageCellular(int width, int height, int tileSize); + + [CallingConvention(.Cdecl), LinkName("GenImageText")] + /// Generate image: grayscale image from text data + public static extern Image GenImageText(int width, int height, char8* text); + + [CallingConvention(.Cdecl), LinkName("ImageCopy")] + /// Create an image duplicate (useful for transformations) + public static extern Image ImageCopy(Image image); + + [CallingConvention(.Cdecl), LinkName("ImageFromImage")] + /// Create an image from another image piece + public static extern Image ImageFromImage(Image image, Rectangle rec); + + [CallingConvention(.Cdecl), LinkName("ImageText")] + /// Create an image from text (default font) + public static extern Image ImageText(char8* text, int fontSize, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageTextEx")] + /// Create an image from text (custom sprite font) + public static extern Image ImageTextEx(Font font, char8* text, float fontSize, float spacing, Color tint); + + [CallingConvention(.Cdecl), LinkName("ImageFormat")] + /// Convert image data to desired format + public static extern void ImageFormat(Image * image, int newFormat); + + [CallingConvention(.Cdecl), LinkName("ImageToPOT")] + /// Convert image to POT (power-of-two) + public static extern void ImageToPOT(Image * image, Color fill); + + [CallingConvention(.Cdecl), LinkName("ImageCrop")] + /// Crop an image to a defined rectangle + public static extern void ImageCrop(Image * image, Rectangle crop); + + [CallingConvention(.Cdecl), LinkName("ImageAlphaCrop")] + /// Crop image depending on alpha value + public static extern void ImageAlphaCrop(Image * image, float threshold); + + [CallingConvention(.Cdecl), LinkName("ImageAlphaClear")] + /// Clear alpha channel to desired color + public static extern void ImageAlphaClear(Image * image, Color color, float threshold); + + [CallingConvention(.Cdecl), LinkName("ImageAlphaMask")] + /// Apply alpha mask to image + public static extern void ImageAlphaMask(Image * image, Image alphaMask); + + [CallingConvention(.Cdecl), LinkName("ImageAlphaPremultiply")] + /// Premultiply alpha channel + public static extern void ImageAlphaPremultiply(Image * image); + + [CallingConvention(.Cdecl), LinkName("ImageBlurGaussian")] + /// Apply Gaussian blur using a box blur approximation + public static extern void ImageBlurGaussian(Image * image, int blurSize); + + [CallingConvention(.Cdecl), LinkName("ImageResize")] + /// Resize image (Bicubic scaling algorithm) + public static extern void ImageResize(Image * image, int newWidth, int newHeight); + + [CallingConvention(.Cdecl), LinkName("ImageResizeNN")] + /// Resize image (Nearest-Neighbor scaling algorithm) + public static extern void ImageResizeNN(Image * image, int newWidth, int newHeight); + + [CallingConvention(.Cdecl), LinkName("ImageResizeCanvas")] + /// Resize canvas and fill with color + public static extern void ImageResizeCanvas(Image * image, int newWidth, int newHeight, int offsetX, int offsetY, Color fill); + + [CallingConvention(.Cdecl), LinkName("ImageMipmaps")] + /// Compute all mipmap levels for a provided image + public static extern void ImageMipmaps(Image * image); + + [CallingConvention(.Cdecl), LinkName("ImageDither")] + /// Dither image data to 16bpp or lower (Floyd-Steinberg dithering) + public static extern void ImageDither(Image * image, int rBpp, int gBpp, int bBpp, int aBpp); + + [CallingConvention(.Cdecl), LinkName("ImageFlipVertical")] + /// Flip image vertically + public static extern void ImageFlipVertical(Image * image); + + [CallingConvention(.Cdecl), LinkName("ImageFlipHorizontal")] + /// Flip image horizontally + public static extern void ImageFlipHorizontal(Image * image); + + [CallingConvention(.Cdecl), LinkName("ImageRotateCW")] + /// Rotate image clockwise 90deg + public static extern void ImageRotateCW(Image * image); + + [CallingConvention(.Cdecl), LinkName("ImageRotateCCW")] + /// Rotate image counter-clockwise 90deg + public static extern void ImageRotateCCW(Image * image); + + [CallingConvention(.Cdecl), LinkName("ImageColorTint")] + /// Modify image color: tint + public static extern void ImageColorTint(Image * image, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageColorInvert")] + /// Modify image color: invert + public static extern void ImageColorInvert(Image * image); + + [CallingConvention(.Cdecl), LinkName("ImageColorGrayscale")] + /// Modify image color: grayscale + public static extern void ImageColorGrayscale(Image * image); + + [CallingConvention(.Cdecl), LinkName("ImageColorContrast")] + /// Modify image color: contrast (-100 to 100) + public static extern void ImageColorContrast(Image * image, float contrast); + + [CallingConvention(.Cdecl), LinkName("ImageColorBrightness")] + /// Modify image color: brightness (-255 to 255) + public static extern void ImageColorBrightness(Image * image, int brightness); + + [CallingConvention(.Cdecl), LinkName("ImageColorReplace")] + /// Modify image color: replace color + public static extern void ImageColorReplace(Image * image, Color color, Color replace); + + [CallingConvention(.Cdecl), LinkName("LoadImageColors")] + /// Load color data from image as a Color array (RGBA - 32bit) + public static extern Color * LoadImageColors(Image image); + + [CallingConvention(.Cdecl), LinkName("LoadImagePalette")] + /// Load colors palette from image as a Color array (RGBA - 32bit) + public static extern Color * LoadImagePalette(Image image, int maxPaletteSize, int * colorCount); + + [CallingConvention(.Cdecl), LinkName("UnloadImageColors")] + /// Unload color data loaded with LoadImageColors() + public static extern void UnloadImageColors(Color * colors); + + [CallingConvention(.Cdecl), LinkName("UnloadImagePalette")] + /// Unload colors palette loaded with LoadImagePalette() + public static extern void UnloadImagePalette(Color * colors); + + [CallingConvention(.Cdecl), LinkName("GetImageAlphaBorder")] + /// Get image alpha border rectangle + public static extern Rectangle GetImageAlphaBorder(Image image, float threshold); + + [CallingConvention(.Cdecl), LinkName("GetImageColor")] + /// Get image pixel color at (x, y) position + public static extern Color GetImageColor(Image image, int x, int y); + + [CallingConvention(.Cdecl), LinkName("ImageClearBackground")] + /// Clear image background with given color + public static extern void ImageClearBackground(Image * dst, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawPixel")] + /// Draw pixel within an image + public static extern void ImageDrawPixel(Image * dst, int posX, int posY, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawPixelV")] + /// Draw pixel within an image (Vector version) + public static extern void ImageDrawPixelV(Image * dst, Vector2 position, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawLine")] + /// Draw line within an image + public static extern void ImageDrawLine(Image * dst, int startPosX, int startPosY, int endPosX, int endPosY, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawLineV")] + /// Draw line within an image (Vector version) + public static extern void ImageDrawLineV(Image * dst, Vector2 start, Vector2 end, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawCircle")] + /// Draw a filled circle within an image + public static extern void ImageDrawCircle(Image * dst, int centerX, int centerY, int radius, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawCircleV")] + /// Draw a filled circle within an image (Vector version) + public static extern void ImageDrawCircleV(Image * dst, Vector2 center, int radius, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawCircleLines")] + /// Draw circle outline within an image + public static extern void ImageDrawCircleLines(Image * dst, int centerX, int centerY, int radius, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawCircleLinesV")] + /// Draw circle outline within an image (Vector version) + public static extern void ImageDrawCircleLinesV(Image * dst, Vector2 center, int radius, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawRectangle")] + /// Draw rectangle within an image + public static extern void ImageDrawRectangle(Image * dst, int posX, int posY, int width, int height, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawRectangleV")] + /// Draw rectangle within an image (Vector version) + public static extern void ImageDrawRectangleV(Image * dst, Vector2 position, Vector2 size, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawRectangleRec")] + /// Draw rectangle within an image + public static extern void ImageDrawRectangleRec(Image * dst, Rectangle rec, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawRectangleLines")] + /// Draw rectangle lines within an image + public static extern void ImageDrawRectangleLines(Image * dst, Rectangle rec, int thick, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDraw")] + /// Draw a source image within a destination image (tint applied to source) + public static extern void ImageDraw(Image * dst, Image src, Rectangle srcRec, Rectangle dstRec, Color tint); + + [CallingConvention(.Cdecl), LinkName("ImageDrawText")] + /// Draw text (using default font) within an image (destination) + public static extern void ImageDrawText(Image * dst, char8* text, int posX, int posY, int fontSize, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawTextEx")] + /// Draw text (custom sprite font) within an image (destination) + public static extern void ImageDrawTextEx(Image * dst, Font font, char8* text, Vector2 position, float fontSize, float spacing, Color tint); + + [CallingConvention(.Cdecl), LinkName("LoadTexture")] + /// Load texture from file into GPU memory (VRAM) + public static extern Texture2D LoadTexture(char8* fileName); + + [CallingConvention(.Cdecl), LinkName("LoadTextureFromImage")] + /// Load texture from image data + public static extern Texture2D LoadTextureFromImage(Image image); + + [CallingConvention(.Cdecl), LinkName("LoadTextureCubemap")] + /// Load cubemap from image, multiple image cubemap layouts supported + public static extern TextureCubemap LoadTextureCubemap(Image image, int layout); + + [CallingConvention(.Cdecl), LinkName("LoadRenderTexture")] + /// Load texture for rendering (framebuffer) + public static extern RenderTexture2D LoadRenderTexture(int width, int height); + + [CallingConvention(.Cdecl), LinkName("IsTextureReady")] + /// Check if a texture is ready + public static extern bool IsTextureReady(Texture2D texture); + + [CallingConvention(.Cdecl), LinkName("UnloadTexture")] + /// Unload texture from GPU memory (VRAM) + public static extern void UnloadTexture(Texture2D texture); + + [CallingConvention(.Cdecl), LinkName("IsRenderTextureReady")] + /// Check if a render texture is ready + public static extern bool IsRenderTextureReady(RenderTexture2D target); + + [CallingConvention(.Cdecl), LinkName("UnloadRenderTexture")] + /// Unload render texture from GPU memory (VRAM) + public static extern void UnloadRenderTexture(RenderTexture2D target); + + [CallingConvention(.Cdecl), LinkName("UpdateTexture")] + /// Update GPU texture with new data + public static extern void UpdateTexture(Texture2D texture, const void * pixels); + + [CallingConvention(.Cdecl), LinkName("UpdateTextureRec")] + /// Update GPU texture rectangle with new data + public static extern void UpdateTextureRec(Texture2D texture, Rectangle rec, const void * pixels); + + [CallingConvention(.Cdecl), LinkName("GenTextureMipmaps")] + /// Generate GPU mipmaps for a texture + public static extern void GenTextureMipmaps(Texture2D * texture); + + [CallingConvention(.Cdecl), LinkName("SetTextureFilter")] + /// Set texture scaling filter mode + public static extern void SetTextureFilter(Texture2D texture, int filter); + + [CallingConvention(.Cdecl), LinkName("SetTextureWrap")] + /// Set texture wrapping mode + public static extern void SetTextureWrap(Texture2D texture, int wrap); + + [CallingConvention(.Cdecl), LinkName("DrawTexture")] + /// Draw a Texture2D + public static extern void DrawTexture(Texture2D texture, int posX, int posY, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawTextureV")] + /// Draw a Texture2D with position defined as Vector2 + public static extern void DrawTextureV(Texture2D texture, Vector2 position, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawTextureEx")] + /// Draw a Texture2D with extended parameters + public static extern void DrawTextureEx(Texture2D texture, Vector2 position, float rotation, float scale, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawTextureRec")] + /// Draw a part of a texture defined by a rectangle + public static extern void DrawTextureRec(Texture2D texture, Rectangle source, Vector2 position, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawTexturePro")] + /// Draw a part of a texture defined by a rectangle with 'pro' parameters + public static extern void DrawTexturePro(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawTextureNPatch")] + /// Draws a texture (or part of it) that stretches or shrinks nicely + public static extern void DrawTextureNPatch(Texture2D texture, NPatchInfo nPatchInfo, Rectangle dest, Vector2 origin, float rotation, Color tint); + + [CallingConvention(.Cdecl), LinkName("Fade")] + /// Get color with alpha applied, alpha goes from 0.0f to 1.0f + public static extern Color Fade(Color color, float alpha); + + [CallingConvention(.Cdecl), LinkName("ColorToInt")] + /// Get hexadecimal value for a Color + public static extern int ColorToInt(Color color); + + [CallingConvention(.Cdecl), LinkName("ColorNormalize")] + /// Get Color normalized as float [0..1] + public static extern Vector4 ColorNormalize(Color color); + + [CallingConvention(.Cdecl), LinkName("ColorFromNormalized")] + /// Get Color from normalized values [0..1] + public static extern Color ColorFromNormalized(Vector4 normalized); + + [CallingConvention(.Cdecl), LinkName("ColorToHSV")] + /// Get HSV values for a Color, hue [0..360], saturation/value [0..1] + public static extern Vector3 ColorToHSV(Color color); + + [CallingConvention(.Cdecl), LinkName("ColorFromHSV")] + /// Get a Color from HSV values, hue [0..360], saturation/value [0..1] + public static extern Color ColorFromHSV(float hue, float saturation, float value); + + [CallingConvention(.Cdecl), LinkName("ColorTint")] + /// Get color multiplied with another color + public static extern Color ColorTint(Color color, Color tint); + + [CallingConvention(.Cdecl), LinkName("ColorBrightness")] + /// Get color with brightness correction, brightness factor goes from -1.0f to 1.0f + public static extern Color ColorBrightness(Color color, float factor); + + [CallingConvention(.Cdecl), LinkName("ColorContrast")] + /// Get color with contrast correction, contrast values between -1.0f and 1.0f + public static extern Color ColorContrast(Color color, float contrast); + + [CallingConvention(.Cdecl), LinkName("ColorAlpha")] + /// Get color with alpha applied, alpha goes from 0.0f to 1.0f + public static extern Color ColorAlpha(Color color, float alpha); + + [CallingConvention(.Cdecl), LinkName("ColorAlphaBlend")] + /// Get src alpha-blended into dst color with tint + public static extern Color ColorAlphaBlend(Color dst, Color src, Color tint); + + [CallingConvention(.Cdecl), LinkName("GetColor")] + /// Get Color structure from hexadecimal value + public static extern Color GetColor(c_uint hexValue); + + [CallingConvention(.Cdecl), LinkName("GetPixelColor")] + /// Get Color from a source pixel pointer of certain format + public static extern Color GetPixelColor(void * srcPtr, int format); + + [CallingConvention(.Cdecl), LinkName("SetPixelColor")] + /// Set color formatted into destination pixel pointer + public static extern void SetPixelColor(void * dstPtr, Color color, int format); + + [CallingConvention(.Cdecl), LinkName("GetPixelDataSize")] + /// Get pixel data size in bytes for certain format + public static extern int GetPixelDataSize(int width, int height, int format); + + [CallingConvention(.Cdecl), LinkName("GetFontDefault")] + /// Get the default Font + public static extern Font GetFontDefault(); + + [CallingConvention(.Cdecl), LinkName("LoadFont")] + /// Load font from file into GPU memory (VRAM) + public static extern Font LoadFont(char8* fileName); + + [CallingConvention(.Cdecl), LinkName("LoadFontEx")] + /// Load font from file with extended parameters, use NULL for fontChars and 0 for glyphCount to load the default character set + public static extern Font LoadFontEx(char8* fileName, int fontSize, int * fontChars, int glyphCount); + + [CallingConvention(.Cdecl), LinkName("LoadFontFromImage")] + /// Load font from Image (XNA style) + public static extern Font LoadFontFromImage(Image image, Color key, int firstChar); + + [CallingConvention(.Cdecl), LinkName("LoadFontFromMemory")] + /// Load font from memory buffer, fileType refers to extension: i.e. '.ttf' + public static extern Font LoadFontFromMemory(char8* fileType, const unsigned char * fileData, int dataSize, int fontSize, int * fontChars, int glyphCount); + + [CallingConvention(.Cdecl), LinkName("IsFontReady")] + /// Check if a font is ready + public static extern bool IsFontReady(Font font); + + [CallingConvention(.Cdecl), LinkName("LoadFontData")] + /// Load font data for further use + public static extern GlyphInfo * LoadFontData(const unsigned char * fileData, int dataSize, int fontSize, int * fontChars, int glyphCount, int type); + + [CallingConvention(.Cdecl), LinkName("GenImageFontAtlas")] + /// Generate image font atlas using chars info + public static extern Image GenImageFontAtlas(const GlyphInfo * chars, Rectangle ** recs, int glyphCount, int fontSize, int padding, int packMethod); + + [CallingConvention(.Cdecl), LinkName("UnloadFontData")] + /// Unload font chars info data (RAM) + public static extern void UnloadFontData(GlyphInfo * chars, int glyphCount); + + [CallingConvention(.Cdecl), LinkName("UnloadFont")] + /// Unload font from GPU memory (VRAM) + public static extern void UnloadFont(Font font); + + [CallingConvention(.Cdecl), LinkName("ExportFontAsCode")] + /// Export font as code file, returns true on success + public static extern bool ExportFontAsCode(Font font, char8* fileName); + + [CallingConvention(.Cdecl), LinkName("DrawFPS")] + /// Draw current FPS + public static extern void DrawFPS(int posX, int posY); + + [CallingConvention(.Cdecl), LinkName("DrawText")] + /// Draw text (using default font) + public static extern void DrawText(char8* text, int posX, int posY, int fontSize, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawTextEx")] + /// Draw text using font and additional parameters + public static extern void DrawTextEx(Font font, char8* text, Vector2 position, float fontSize, float spacing, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawTextPro")] + /// Draw text using Font and pro parameters (rotation) + public static extern void DrawTextPro(Font font, char8* text, Vector2 position, Vector2 origin, float rotation, float fontSize, float spacing, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawTextCodepoint")] + /// Draw one character (codepoint) + public static extern void DrawTextCodepoint(Font font, int codepoint, Vector2 position, float fontSize, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawTextCodepoints")] + /// Draw multiple character (codepoint) + public static extern void DrawTextCodepoints(Font font, const int * codepoints, int count, Vector2 position, float fontSize, float spacing, Color tint); + + [CallingConvention(.Cdecl), LinkName("MeasureText")] + /// Measure string width for default font + public static extern int MeasureText(char8* text, int fontSize); + + [CallingConvention(.Cdecl), LinkName("MeasureTextEx")] + /// Measure string size for Font + public static extern Vector2 MeasureTextEx(Font font, char8* text, float fontSize, float spacing); + + [CallingConvention(.Cdecl), LinkName("GetGlyphIndex")] + /// Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found + public static extern int GetGlyphIndex(Font font, int codepoint); + + [CallingConvention(.Cdecl), LinkName("GetGlyphInfo")] + /// Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found + public static extern GlyphInfo GetGlyphInfo(Font font, int codepoint); + + [CallingConvention(.Cdecl), LinkName("GetGlyphAtlasRec")] + /// Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found + public static extern Rectangle GetGlyphAtlasRec(Font font, int codepoint); + + [CallingConvention(.Cdecl), LinkName("LoadUTF8")] + /// Load UTF-8 text encoded from codepoints array + public static extern char8* LoadUTF8(const int * codepoints, int length); + + [CallingConvention(.Cdecl), LinkName("UnloadUTF8")] + /// Unload UTF-8 text encoded from codepoints array + public static extern void UnloadUTF8(char8* text); + + [CallingConvention(.Cdecl), LinkName("LoadCodepoints")] + /// Load all codepoints from a UTF-8 text string, codepoints count returned by parameter + public static extern int * LoadCodepoints(char8* text, int * count); + + [CallingConvention(.Cdecl), LinkName("UnloadCodepoints")] + /// Unload codepoints data from memory + public static extern void UnloadCodepoints(int * codepoints); + + [CallingConvention(.Cdecl), LinkName("GetCodepointCount")] + /// Get total number of codepoints in a UTF-8 encoded string + public static extern int GetCodepointCount(char8* text); + + [CallingConvention(.Cdecl), LinkName("GetCodepoint")] + /// Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure + public static extern int GetCodepoint(char8* text, int * codepointSize); + + [CallingConvention(.Cdecl), LinkName("GetCodepointNext")] + /// Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure + public static extern int GetCodepointNext(char8* text, int * codepointSize); + + [CallingConvention(.Cdecl), LinkName("GetCodepointPrevious")] + /// Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure + public static extern int GetCodepointPrevious(char8* text, int * codepointSize); + + [CallingConvention(.Cdecl), LinkName("CodepointToUTF8")] + /// Encode one codepoint into UTF-8 byte array (array length returned as parameter) + public static extern char8* CodepointToUTF8(int codepoint, int * utf8Size); + + [CallingConvention(.Cdecl), LinkName("TextCopy")] + /// Copy one string to another, returns bytes copied + public static extern int TextCopy(char8* dst, char8* src); + + [CallingConvention(.Cdecl), LinkName("TextIsEqual")] + /// Check if two text string are equal + public static extern bool TextIsEqual(char8* text1, char8* text2); + + [CallingConvention(.Cdecl), LinkName("TextLength")] + /// Get text length, checks for '\0' ending + public static extern c_uint TextLength(char8* text); + + [CallingConvention(.Cdecl), LinkName("TextFormat")] + /// Text formatting with variables (sprintf() style) + public static extern char8* TextFormat(char8* text, ... args); + + [CallingConvention(.Cdecl), LinkName("TextSubtext")] + /// Get a piece of a text string + public static extern char8* TextSubtext(char8* text, int position, int length); + + [CallingConvention(.Cdecl), LinkName("TextReplace")] + /// Replace text string (WARNING: memory must be freed!) + public static extern char8* TextReplace(char8* text, char8* replace, char8* by); + + [CallingConvention(.Cdecl), LinkName("TextInsert")] + /// Insert text in a position (WARNING: memory must be freed!) + public static extern char8* TextInsert(char8* text, char8* insert, int position); + + [CallingConvention(.Cdecl), LinkName("TextJoin")] + /// Join text strings with delimiter + public static extern char8* TextJoin(const char ** textList, int count, char8* delimiter); + + [CallingConvention(.Cdecl), LinkName("TextSplit")] + /// Split text into multiple strings + public static extern const char ** TextSplit(char8* text, char delimiter, int * count); + + [CallingConvention(.Cdecl), LinkName("TextAppend")] + /// Append text at specific position and move cursor! + public static extern void TextAppend(char8* text, char8* append, int * position); + + [CallingConvention(.Cdecl), LinkName("TextFindIndex")] + /// Find first text occurrence within a string + public static extern int TextFindIndex(char8* text, char8* find); + + [CallingConvention(.Cdecl), LinkName("TextToUpper")] + /// Get upper case version of provided string + public static extern char8* TextToUpper(char8* text); + + [CallingConvention(.Cdecl), LinkName("TextToLower")] + /// Get lower case version of provided string + public static extern char8* TextToLower(char8* text); + + [CallingConvention(.Cdecl), LinkName("TextToPascal")] + /// Get Pascal case notation version of provided string + public static extern char8* TextToPascal(char8* text); + + [CallingConvention(.Cdecl), LinkName("TextToInteger")] + /// Get integer value from text (negative values not supported) + public static extern int TextToInteger(char8* text); + + [CallingConvention(.Cdecl), LinkName("DrawLine3D")] + /// Draw a line in 3D world space + public static extern void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawPoint3D")] + /// Draw a point in 3D space, actually a small line + public static extern void DrawPoint3D(Vector3 position, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCircle3D")] + /// Draw a circle in 3D world space + public static extern void DrawCircle3D(Vector3 center, float radius, Vector3 rotationAxis, float rotationAngle, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawTriangle3D")] + /// Draw a color-filled triangle (vertex in counter-clockwise order!) + public static extern void DrawTriangle3D(Vector3 v1, Vector3 v2, Vector3 v3, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawTriangleStrip3D")] + /// Draw a triangle strip defined by points + public static extern void DrawTriangleStrip3D(Vector3 * points, int pointCount, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCube")] + /// Draw cube + public static extern void DrawCube(Vector3 position, float width, float height, float length, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCubeV")] + /// Draw cube (Vector version) + public static extern void DrawCubeV(Vector3 position, Vector3 size, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCubeWires")] + /// Draw cube wires + public static extern void DrawCubeWires(Vector3 position, float width, float height, float length, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCubeWiresV")] + /// Draw cube wires (Vector version) + public static extern void DrawCubeWiresV(Vector3 position, Vector3 size, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawSphere")] + /// Draw sphere + public static extern void DrawSphere(Vector3 centerPos, float radius, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawSphereEx")] + /// Draw sphere with extended parameters + public static extern void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawSphereWires")] + /// Draw sphere wires + public static extern void DrawSphereWires(Vector3 centerPos, float radius, int rings, int slices, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCylinder")] + /// Draw a cylinder/cone + public static extern void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCylinderEx")] + /// Draw a cylinder with base at startPos and top at endPos + public static extern void DrawCylinderEx(Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCylinderWires")] + /// Draw a cylinder/cone wires + public static extern void DrawCylinderWires(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCylinderWiresEx")] + /// Draw a cylinder wires with base at startPos and top at endPos + public static extern void DrawCylinderWiresEx(Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCapsule")] + /// Draw a capsule with the center of its sphere caps at startPos and endPos + public static extern void DrawCapsule(Vector3 startPos, Vector3 endPos, float radius, int slices, int rings, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCapsuleWires")] + /// Draw capsule wireframe with the center of its sphere caps at startPos and endPos + public static extern void DrawCapsuleWires(Vector3 startPos, Vector3 endPos, float radius, int slices, int rings, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawPlane")] + /// Draw a plane XZ + public static extern void DrawPlane(Vector3 centerPos, Vector2 size, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRay")] + /// Draw a ray line + public static extern void DrawRay(Ray ray, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawGrid")] + /// Draw a grid (centered at (0, 0, 0)) + public static extern void DrawGrid(int slices, float spacing); + + [CallingConvention(.Cdecl), LinkName("LoadModel")] + /// Load model from files (meshes and materials) + public static extern Model LoadModel(char8* fileName); + + [CallingConvention(.Cdecl), LinkName("LoadModelFromMesh")] + /// Load model from generated mesh (default material) + public static extern Model LoadModelFromMesh(Mesh mesh); + + [CallingConvention(.Cdecl), LinkName("IsModelReady")] + /// Check if a model is ready + public static extern bool IsModelReady(Model model); + + [CallingConvention(.Cdecl), LinkName("UnloadModel")] + /// Unload model (including meshes) from memory (RAM and/or VRAM) + public static extern void UnloadModel(Model model); + + [CallingConvention(.Cdecl), LinkName("GetModelBoundingBox")] + /// Compute model bounding box limits (considers all meshes) + public static extern BoundingBox GetModelBoundingBox(Model model); + + [CallingConvention(.Cdecl), LinkName("DrawModel")] + /// Draw a model (with texture if set) + public static extern void DrawModel(Model model, Vector3 position, float scale, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawModelEx")] + /// Draw a model with extended parameters + public static extern void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawModelWires")] + /// Draw a model wires (with texture if set) + public static extern void DrawModelWires(Model model, Vector3 position, float scale, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawModelWiresEx")] + /// Draw a model wires (with texture if set) with extended parameters + public static extern void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawBoundingBox")] + /// Draw bounding box (wires) + public static extern void DrawBoundingBox(BoundingBox box, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawBillboard")] + /// Draw a billboard texture + public static extern void DrawBillboard(Camera camera, Texture2D texture, Vector3 position, float size, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawBillboardRec")] + /// Draw a billboard texture defined by source + public static extern void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector2 size, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawBillboardPro")] + /// Draw a billboard texture defined by source and rotation + public static extern void DrawBillboardPro(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector3 up, Vector2 size, Vector2 origin, float rotation, Color tint); + + [CallingConvention(.Cdecl), LinkName("UploadMesh")] + /// Upload mesh vertex data in GPU and provide VAO/VBO ids + public static extern void UploadMesh(Mesh * mesh, bool dynamic); + + [CallingConvention(.Cdecl), LinkName("UpdateMeshBuffer")] + /// Update mesh vertex data in GPU for a specific buffer index + public static extern void UpdateMeshBuffer(Mesh mesh, int index, const void * data, int dataSize, int offset); + + [CallingConvention(.Cdecl), LinkName("UnloadMesh")] + /// Unload mesh data from CPU and GPU + public static extern void UnloadMesh(Mesh mesh); + + [CallingConvention(.Cdecl), LinkName("DrawMesh")] + /// Draw a 3d mesh with material and transform + public static extern void DrawMesh(Mesh mesh, Material material, Matrix transform); + + [CallingConvention(.Cdecl), LinkName("DrawMeshInstanced")] + /// Draw multiple mesh instances with material and different transforms + public static extern void DrawMeshInstanced(Mesh mesh, Material material, const Matrix * transforms, int instances); + + [CallingConvention(.Cdecl), LinkName("ExportMesh")] + /// Export mesh data to file, returns true on success + public static extern bool ExportMesh(Mesh mesh, char8* fileName); + + [CallingConvention(.Cdecl), LinkName("GetMeshBoundingBox")] + /// Compute mesh bounding box limits + public static extern BoundingBox GetMeshBoundingBox(Mesh mesh); + + [CallingConvention(.Cdecl), LinkName("GenMeshTangents")] + /// Compute mesh tangents + public static extern void GenMeshTangents(Mesh * mesh); + + [CallingConvention(.Cdecl), LinkName("GenMeshPoly")] + /// Generate polygonal mesh + public static extern Mesh GenMeshPoly(int sides, float radius); + + [CallingConvention(.Cdecl), LinkName("GenMeshPlane")] + /// Generate plane mesh (with subdivisions) + public static extern Mesh GenMeshPlane(float width, float length, int resX, int resZ); + + [CallingConvention(.Cdecl), LinkName("GenMeshCube")] + /// Generate cuboid mesh + public static extern Mesh GenMeshCube(float width, float height, float length); + + [CallingConvention(.Cdecl), LinkName("GenMeshSphere")] + /// Generate sphere mesh (standard sphere) + public static extern Mesh GenMeshSphere(float radius, int rings, int slices); + + [CallingConvention(.Cdecl), LinkName("GenMeshHemiSphere")] + /// Generate half-sphere mesh (no bottom cap) + public static extern Mesh GenMeshHemiSphere(float radius, int rings, int slices); + + [CallingConvention(.Cdecl), LinkName("GenMeshCylinder")] + /// Generate cylinder mesh + public static extern Mesh GenMeshCylinder(float radius, float height, int slices); + + [CallingConvention(.Cdecl), LinkName("GenMeshCone")] + /// Generate cone/pyramid mesh + public static extern Mesh GenMeshCone(float radius, float height, int slices); + + [CallingConvention(.Cdecl), LinkName("GenMeshTorus")] + /// Generate torus mesh + public static extern Mesh GenMeshTorus(float radius, float size, int radSeg, int sides); + + [CallingConvention(.Cdecl), LinkName("GenMeshKnot")] + /// Generate trefoil knot mesh + public static extern Mesh GenMeshKnot(float radius, float size, int radSeg, int sides); + + [CallingConvention(.Cdecl), LinkName("GenMeshHeightmap")] + /// Generate heightmap mesh from image data + public static extern Mesh GenMeshHeightmap(Image heightmap, Vector3 size); + + [CallingConvention(.Cdecl), LinkName("GenMeshCubicmap")] + /// Generate cubes-based map mesh from image data + public static extern Mesh GenMeshCubicmap(Image cubicmap, Vector3 cubeSize); + + [CallingConvention(.Cdecl), LinkName("LoadMaterials")] + /// Load materials from model file + public static extern Material * LoadMaterials(char8* fileName, int * materialCount); + + [CallingConvention(.Cdecl), LinkName("LoadMaterialDefault")] + /// Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps) + public static extern Material LoadMaterialDefault(); + + [CallingConvention(.Cdecl), LinkName("IsMaterialReady")] + /// Check if a material is ready + public static extern bool IsMaterialReady(Material material); + + [CallingConvention(.Cdecl), LinkName("UnloadMaterial")] + /// Unload material from GPU memory (VRAM) + public static extern void UnloadMaterial(Material material); + + [CallingConvention(.Cdecl), LinkName("SetMaterialTexture")] + /// Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...) + public static extern void SetMaterialTexture(Material * material, int mapType, Texture2D texture); + + [CallingConvention(.Cdecl), LinkName("SetModelMeshMaterial")] + /// Set material for a mesh + public static extern void SetModelMeshMaterial(Model * model, int meshId, int materialId); + + [CallingConvention(.Cdecl), LinkName("LoadModelAnimations")] + /// Load model animations from file + public static extern ModelAnimation * LoadModelAnimations(char8* fileName, unsigned int * animCount); + + [CallingConvention(.Cdecl), LinkName("UpdateModelAnimation")] + /// Update model animation pose + public static extern void UpdateModelAnimation(Model model, ModelAnimation anim, int frame); + + [CallingConvention(.Cdecl), LinkName("UnloadModelAnimation")] + /// Unload animation data + public static extern void UnloadModelAnimation(ModelAnimation anim); + + [CallingConvention(.Cdecl), LinkName("UnloadModelAnimations")] + /// Unload animation array data + public static extern void UnloadModelAnimations(ModelAnimation * animations, c_uint count); + + [CallingConvention(.Cdecl), LinkName("IsModelAnimationValid")] + /// Check model animation skeleton match + public static extern bool IsModelAnimationValid(Model model, ModelAnimation anim); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionSpheres")] + /// Check collision between two spheres + public static extern bool CheckCollisionSpheres(Vector3 center1, float radius1, Vector3 center2, float radius2); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionBoxes")] + /// Check collision between two bounding boxes + public static extern bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionBoxSphere")] + /// Check collision between box and sphere + public static extern bool CheckCollisionBoxSphere(BoundingBox box, Vector3 center, float radius); + + [CallingConvention(.Cdecl), LinkName("GetRayCollisionSphere")] + /// Get collision info between ray and sphere + public static extern RayCollision GetRayCollisionSphere(Ray ray, Vector3 center, float radius); + + [CallingConvention(.Cdecl), LinkName("GetRayCollisionBox")] + /// Get collision info between ray and box + public static extern RayCollision GetRayCollisionBox(Ray ray, BoundingBox box); + + [CallingConvention(.Cdecl), LinkName("GetRayCollisionMesh")] + /// Get collision info between ray and mesh + public static extern RayCollision GetRayCollisionMesh(Ray ray, Mesh mesh, Matrix transform); + + [CallingConvention(.Cdecl), LinkName("GetRayCollisionTriangle")] + /// Get collision info between ray and triangle + public static extern RayCollision GetRayCollisionTriangle(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3); + + [CallingConvention(.Cdecl), LinkName("GetRayCollisionQuad")] + /// Get collision info between ray and quad + public static extern RayCollision GetRayCollisionQuad(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3, Vector3 p4); + + [CallingConvention(.Cdecl), LinkName("InitAudioDevice")] + /// Initialize audio device and context + public static extern void InitAudioDevice(); + + [CallingConvention(.Cdecl), LinkName("CloseAudioDevice")] + /// Close the audio device and context + public static extern void CloseAudioDevice(); + + [CallingConvention(.Cdecl), LinkName("IsAudioDeviceReady")] + /// Check if audio device has been initialized successfully + public static extern bool IsAudioDeviceReady(); + + [CallingConvention(.Cdecl), LinkName("SetMasterVolume")] + /// Set master volume (listener) + public static extern void SetMasterVolume(float volume); + + [CallingConvention(.Cdecl), LinkName("LoadWave")] + /// Load wave data from file + public static extern Wave LoadWave(char8* fileName); + + [CallingConvention(.Cdecl), LinkName("LoadWaveFromMemory")] + /// Load wave from memory buffer, fileType refers to extension: i.e. '.wav' + public static extern Wave LoadWaveFromMemory(char8* fileType, const unsigned char * fileData, int dataSize); + + [CallingConvention(.Cdecl), LinkName("IsWaveReady")] + /// Checks if wave data is ready + public static extern bool IsWaveReady(Wave wave); + + [CallingConvention(.Cdecl), LinkName("LoadSound")] + /// Load sound from file + public static extern Sound LoadSound(char8* fileName); + + [CallingConvention(.Cdecl), LinkName("LoadSoundFromWave")] + /// Load sound from wave data + public static extern Sound LoadSoundFromWave(Wave wave); + + [CallingConvention(.Cdecl), LinkName("IsSoundReady")] + /// Checks if a sound is ready + public static extern bool IsSoundReady(Sound sound); + + [CallingConvention(.Cdecl), LinkName("UpdateSound")] + /// Update sound buffer with new data + public static extern void UpdateSound(Sound sound, const void * data, int sampleCount); + + [CallingConvention(.Cdecl), LinkName("UnloadWave")] + /// Unload wave data + public static extern void UnloadWave(Wave wave); + + [CallingConvention(.Cdecl), LinkName("UnloadSound")] + /// Unload sound + public static extern void UnloadSound(Sound sound); + + [CallingConvention(.Cdecl), LinkName("ExportWave")] + /// Export wave data to file, returns true on success + public static extern bool ExportWave(Wave wave, char8* fileName); + + [CallingConvention(.Cdecl), LinkName("ExportWaveAsCode")] + /// Export wave sample data to code (.h), returns true on success + public static extern bool ExportWaveAsCode(Wave wave, char8* fileName); + + [CallingConvention(.Cdecl), LinkName("PlaySound")] + /// Play a sound + public static extern void PlaySound(Sound sound); + + [CallingConvention(.Cdecl), LinkName("StopSound")] + /// Stop playing a sound + public static extern void StopSound(Sound sound); + + [CallingConvention(.Cdecl), LinkName("PauseSound")] + /// Pause a sound + public static extern void PauseSound(Sound sound); + + [CallingConvention(.Cdecl), LinkName("ResumeSound")] + /// Resume a paused sound + public static extern void ResumeSound(Sound sound); + + [CallingConvention(.Cdecl), LinkName("IsSoundPlaying")] + /// Check if a sound is currently playing + public static extern bool IsSoundPlaying(Sound sound); + + [CallingConvention(.Cdecl), LinkName("SetSoundVolume")] + /// Set volume for a sound (1.0 is max level) + public static extern void SetSoundVolume(Sound sound, float volume); + + [CallingConvention(.Cdecl), LinkName("SetSoundPitch")] + /// Set pitch for a sound (1.0 is base level) + public static extern void SetSoundPitch(Sound sound, float pitch); + + [CallingConvention(.Cdecl), LinkName("SetSoundPan")] + /// Set pan for a sound (0.5 is center) + public static extern void SetSoundPan(Sound sound, float pan); + + [CallingConvention(.Cdecl), LinkName("WaveCopy")] + /// Copy a wave to a new wave + public static extern Wave WaveCopy(Wave wave); + + [CallingConvention(.Cdecl), LinkName("WaveCrop")] + /// Crop a wave to defined samples range + public static extern void WaveCrop(Wave * wave, int initSample, int finalSample); + + [CallingConvention(.Cdecl), LinkName("WaveFormat")] + /// Convert wave data to desired format + public static extern void WaveFormat(Wave * wave, int sampleRate, int sampleSize, int channels); + + [CallingConvention(.Cdecl), LinkName("LoadWaveSamples")] + /// Load samples data from wave as a 32bit float data array + public static extern float * LoadWaveSamples(Wave wave); + + [CallingConvention(.Cdecl), LinkName("UnloadWaveSamples")] + /// Unload samples data loaded with LoadWaveSamples() + public static extern void UnloadWaveSamples(float * samples); + + [CallingConvention(.Cdecl), LinkName("LoadMusicStream")] + /// Load music stream from file + public static extern Music LoadMusicStream(char8* fileName); + + [CallingConvention(.Cdecl), LinkName("LoadMusicStreamFromMemory")] + /// Load music stream from data + public static extern Music LoadMusicStreamFromMemory(char8* fileType, const unsigned char * data, int dataSize); + + [CallingConvention(.Cdecl), LinkName("IsMusicReady")] + /// Checks if a music stream is ready + public static extern bool IsMusicReady(Music music); + + [CallingConvention(.Cdecl), LinkName("UnloadMusicStream")] + /// Unload music stream + public static extern void UnloadMusicStream(Music music); + + [CallingConvention(.Cdecl), LinkName("PlayMusicStream")] + /// Start music playing + public static extern void PlayMusicStream(Music music); + + [CallingConvention(.Cdecl), LinkName("IsMusicStreamPlaying")] + /// Check if music is playing + public static extern bool IsMusicStreamPlaying(Music music); + + [CallingConvention(.Cdecl), LinkName("UpdateMusicStream")] + /// Updates buffers for music streaming + public static extern void UpdateMusicStream(Music music); + + [CallingConvention(.Cdecl), LinkName("StopMusicStream")] + /// Stop music playing + public static extern void StopMusicStream(Music music); + + [CallingConvention(.Cdecl), LinkName("PauseMusicStream")] + /// Pause music playing + public static extern void PauseMusicStream(Music music); + + [CallingConvention(.Cdecl), LinkName("ResumeMusicStream")] + /// Resume playing paused music + public static extern void ResumeMusicStream(Music music); + + [CallingConvention(.Cdecl), LinkName("SeekMusicStream")] + /// Seek music to a position (in seconds) + public static extern void SeekMusicStream(Music music, float position); + + [CallingConvention(.Cdecl), LinkName("SetMusicVolume")] + /// Set volume for music (1.0 is max level) + public static extern void SetMusicVolume(Music music, float volume); + + [CallingConvention(.Cdecl), LinkName("SetMusicPitch")] + /// Set pitch for a music (1.0 is base level) + public static extern void SetMusicPitch(Music music, float pitch); + + [CallingConvention(.Cdecl), LinkName("SetMusicPan")] + /// Set pan for a music (0.5 is center) + public static extern void SetMusicPan(Music music, float pan); + + [CallingConvention(.Cdecl), LinkName("GetMusicTimeLength")] + /// Get music time length (in seconds) + public static extern float GetMusicTimeLength(Music music); + + [CallingConvention(.Cdecl), LinkName("GetMusicTimePlayed")] + /// Get current music time played (in seconds) + public static extern float GetMusicTimePlayed(Music music); + + [CallingConvention(.Cdecl), LinkName("LoadAudioStream")] + /// Load audio stream (to stream raw audio pcm data) + public static extern AudioStream LoadAudioStream(c_uint sampleRate, c_uint sampleSize, c_uint channels); + + [CallingConvention(.Cdecl), LinkName("IsAudioStreamReady")] + /// Checks if an audio stream is ready + public static extern bool IsAudioStreamReady(AudioStream stream); + + [CallingConvention(.Cdecl), LinkName("UnloadAudioStream")] + /// Unload audio stream and free memory + public static extern void UnloadAudioStream(AudioStream stream); + + [CallingConvention(.Cdecl), LinkName("UpdateAudioStream")] + /// Update audio stream buffers with data + public static extern void UpdateAudioStream(AudioStream stream, const void * data, int frameCount); + + [CallingConvention(.Cdecl), LinkName("IsAudioStreamProcessed")] + /// Check if any audio stream buffers requires refill + public static extern bool IsAudioStreamProcessed(AudioStream stream); + + [CallingConvention(.Cdecl), LinkName("PlayAudioStream")] + /// Play audio stream + public static extern void PlayAudioStream(AudioStream stream); + + [CallingConvention(.Cdecl), LinkName("PauseAudioStream")] + /// Pause audio stream + public static extern void PauseAudioStream(AudioStream stream); + + [CallingConvention(.Cdecl), LinkName("ResumeAudioStream")] + /// Resume audio stream + public static extern void ResumeAudioStream(AudioStream stream); + + [CallingConvention(.Cdecl), LinkName("IsAudioStreamPlaying")] + /// Check if audio stream is playing + public static extern bool IsAudioStreamPlaying(AudioStream stream); + + [CallingConvention(.Cdecl), LinkName("StopAudioStream")] + /// Stop audio stream + public static extern void StopAudioStream(AudioStream stream); + + [CallingConvention(.Cdecl), LinkName("SetAudioStreamVolume")] + /// Set volume for audio stream (1.0 is max level) + public static extern void SetAudioStreamVolume(AudioStream stream, float volume); + + [CallingConvention(.Cdecl), LinkName("SetAudioStreamPitch")] + /// Set pitch for audio stream (1.0 is base level) + public static extern void SetAudioStreamPitch(AudioStream stream, float pitch); + + [CallingConvention(.Cdecl), LinkName("SetAudioStreamPan")] + /// Set pan for audio stream (0.5 is centered) + public static extern void SetAudioStreamPan(AudioStream stream, float pan); + + [CallingConvention(.Cdecl), LinkName("SetAudioStreamBufferSizeDefault")] + /// Default size for new audio streams + public static extern void SetAudioStreamBufferSizeDefault(int size); + + [CallingConvention(.Cdecl), LinkName("SetAudioStreamCallback")] + /// Audio thread callback to request new data + public static extern void SetAudioStreamCallback(AudioStream stream, AudioCallback callback); + + [CallingConvention(.Cdecl), LinkName("AttachAudioStreamProcessor")] + /// Attach audio stream processor to stream + public static extern void AttachAudioStreamProcessor(AudioStream stream, AudioCallback processor); + + [CallingConvention(.Cdecl), LinkName("DetachAudioStreamProcessor")] + /// Detach audio stream processor from stream + public static extern void DetachAudioStreamProcessor(AudioStream stream, AudioCallback processor); + + [CallingConvention(.Cdecl), LinkName("AttachAudioMixedProcessor")] + /// Attach audio stream processor to the entire audio pipeline + public static extern void AttachAudioMixedProcessor(AudioCallback processor); + + [CallingConvention(.Cdecl), LinkName("DetachAudioMixedProcessor")] + /// Detach audio stream processor from the entire audio pipeline + public static extern void DetachAudioMixedProcessor(AudioCallback processor); + + } +} diff --git a/beef/recovery/Program_9CD33CC5116FD7C0FF9AA1893A3FA518.bf b/beef/recovery/Program_9CD33CC5116FD7C0FF9AA1893A3FA518.bf new file mode 100644 index 0000000..51f11f2 --- /dev/null +++ b/beef/recovery/Program_9CD33CC5116FD7C0FF9AA1893A3FA518.bf @@ -0,0 +1,11 @@ +namespace beef; + +using Raylib; + +class Program +{ + public static int Main() + { + return 0; + } +} \ No newline at end of file diff --git a/beef/recovery/Raylib_61745037C490FE35B4128EB7C738167F.bf b/beef/recovery/Raylib_61745037C490FE35B4128EB7C738167F.bf new file mode 100644 index 0000000..6e6ed3b --- /dev/null +++ b/beef/recovery/Raylib_61745037C490FE35B4128EB7C738167F.bf @@ -0,0 +1,2076 @@ +using System; +using System.Interop; + +namespace Raylib; + +static +{ + [CallingConvention(.Cdecl), LinkName("InitWindow")] + /// Initialize window and OpenGL context + public static extern void InitWindow(int width, int height, char8 * title); + + [CallingConvention(.Cdecl), LinkName("WindowShouldClose")] + /// Check if KEY_ESCAPE pressed or Close icon pressed + public static extern bool WindowShouldClose(); + + [CallingConvention(.Cdecl), LinkName("CloseWindow")] + /// Close window and unload OpenGL context + public static extern void CloseWindow(); + + [CallingConvention(.Cdecl), LinkName("IsWindowReady")] + /// Check if window has been initialized successfully + public static extern bool IsWindowReady(); + + [CallingConvention(.Cdecl), LinkName("IsWindowFullscreen")] + /// Check if window is currently fullscreen + public static extern bool IsWindowFullscreen(); + + [CallingConvention(.Cdecl), LinkName("IsWindowHidden")] + /// Check if window is currently hidden (only PLATFORM_DESKTOP) + public static extern bool IsWindowHidden(); + + [CallingConvention(.Cdecl), LinkName("IsWindowMinimized")] + /// Check if window is currently minimized (only PLATFORM_DESKTOP) + public static extern bool IsWindowMinimized(); + + [CallingConvention(.Cdecl), LinkName("IsWindowMaximized")] + /// Check if window is currently maximized (only PLATFORM_DESKTOP) + public static extern bool IsWindowMaximized(); + + [CallingConvention(.Cdecl), LinkName("IsWindowFocused")] + /// Check if window is currently focused (only PLATFORM_DESKTOP) + public static extern bool IsWindowFocused(); + + [CallingConvention(.Cdecl), LinkName("IsWindowResized")] + /// Check if window has been resized last frame + public static extern bool IsWindowResized(); + + [CallingConvention(.Cdecl), LinkName("IsWindowState")] + /// Check if one specific window flag is enabled + public static extern bool IsWindowState(int flag); + + [CallingConvention(.Cdecl), LinkName("SetWindowState")] + /// Set window configuration state using flags (only PLATFORM_DESKTOP) + public static extern void SetWindowState(int flags); + + [CallingConvention(.Cdecl), LinkName("ClearWindowState")] + /// Clear window configuration state flags + public static extern void ClearWindowState(int flags); + + [CallingConvention(.Cdecl), LinkName("ToggleFullscreen")] + /// Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP) + public static extern void ToggleFullscreen(); + + [CallingConvention(.Cdecl), LinkName("MaximizeWindow")] + /// Set window state: maximized, if resizable (only PLATFORM_DESKTOP) + public static extern void MaximizeWindow(); + + [CallingConvention(.Cdecl), LinkName("MinimizeWindow")] + /// Set window state: minimized, if resizable (only PLATFORM_DESKTOP) + public static extern void MinimizeWindow(); + + [CallingConvention(.Cdecl), LinkName("RestoreWindow")] + /// Set window state: not minimized/maximized (only PLATFORM_DESKTOP) + public static extern void RestoreWindow(); + + [CallingConvention(.Cdecl), LinkName("SetWindowIcon")] + /// Set icon for window (single image, RGBA 32bit, only PLATFORM_DESKTOP) + public static extern void SetWindowIcon(Image image); + + [CallingConvention(.Cdecl), LinkName("SetWindowIcons")] + /// Set icon for window (multiple images, RGBA 32bit, only PLATFORM_DESKTOP) + public static extern void SetWindowIcons(Image * images, int count); + + [CallingConvention(.Cdecl), LinkName("SetWindowTitle")] + /// Set title for window (only PLATFORM_DESKTOP) + public static extern void SetWindowTitle(char8 * title); + + [CallingConvention(.Cdecl), LinkName("SetWindowPosition")] + /// Set window position on screen (only PLATFORM_DESKTOP) + public static extern void SetWindowPosition(int x, int y); + + [CallingConvention(.Cdecl), LinkName("SetWindowMonitor")] + /// Set monitor for the current window (fullscreen mode) + public static extern void SetWindowMonitor(int monitor); + + [CallingConvention(.Cdecl), LinkName("SetWindowMinSize")] + /// Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE) + public static extern void SetWindowMinSize(int width, int height); + + [CallingConvention(.Cdecl), LinkName("SetWindowSize")] + /// Set window dimensions + public static extern void SetWindowSize(int width, int height); + + [CallingConvention(.Cdecl), LinkName("SetWindowOpacity")] + /// Set window opacity [0.0f..1.0f] (only PLATFORM_DESKTOP) + public static extern void SetWindowOpacity(float opacity); + + [CallingConvention(.Cdecl), LinkName("GetWindowHandle")] + /// Get native window handle + public static extern void * GetWindowHandle(); + + [CallingConvention(.Cdecl), LinkName("GetScreenWidth")] + /// Get current screen width + public static extern int GetScreenWidth(); + + [CallingConvention(.Cdecl), LinkName("GetScreenHeight")] + /// Get current screen height + public static extern int GetScreenHeight(); + + [CallingConvention(.Cdecl), LinkName("GetRenderWidth")] + /// Get current render width (it considers HiDPI) + public static extern int GetRenderWidth(); + + [CallingConvention(.Cdecl), LinkName("GetRenderHeight")] + /// Get current render height (it considers HiDPI) + public static extern int GetRenderHeight(); + + [CallingConvention(.Cdecl), LinkName("GetMonitorCount")] + /// Get number of connected monitors + public static extern int GetMonitorCount(); + + [CallingConvention(.Cdecl), LinkName("GetCurrentMonitor")] + /// Get current connected monitor + public static extern int GetCurrentMonitor(); + + [CallingConvention(.Cdecl), LinkName("GetMonitorPosition")] + /// Get specified monitor position + public static extern Vector2 GetMonitorPosition(int monitor); + + [CallingConvention(.Cdecl), LinkName("GetMonitorWidth")] + /// Get specified monitor width (current video mode used by monitor) + public static extern int GetMonitorWidth(int monitor); + + [CallingConvention(.Cdecl), LinkName("GetMonitorHeight")] + /// Get specified monitor height (current video mode used by monitor) + public static extern int GetMonitorHeight(int monitor); + + [CallingConvention(.Cdecl), LinkName("GetMonitorPhysicalWidth")] + /// Get specified monitor physical width in millimetres + public static extern int GetMonitorPhysicalWidth(int monitor); + + [CallingConvention(.Cdecl), LinkName("GetMonitorPhysicalHeight")] + /// Get specified monitor physical height in millimetres + public static extern int GetMonitorPhysicalHeight(int monitor); + + [CallingConvention(.Cdecl), LinkName("GetMonitorRefreshRate")] + /// Get specified monitor refresh rate + public static extern int GetMonitorRefreshRate(int monitor); + + [CallingConvention(.Cdecl), LinkName("GetWindowPosition")] + /// Get window position XY on monitor + public static extern Vector2 GetWindowPosition(); + + [CallingConvention(.Cdecl), LinkName("GetWindowScaleDPI")] + /// Get window scale DPI factor + public static extern Vector2 GetWindowScaleDPI(); + + [CallingConvention(.Cdecl), LinkName("GetMonitorName")] + /// Get the human-readable, UTF-8 encoded name of the primary monitor + public static extern char8 * GetMonitorName(int monitor); + + [CallingConvention(.Cdecl), LinkName("SetClipboardText")] + /// Set clipboard text content + public static extern void SetClipboardText(char8 * text); + + [CallingConvention(.Cdecl), LinkName("GetClipboardText")] + /// Get clipboard text content + public static extern char8 * GetClipboardText(); + + [CallingConvention(.Cdecl), LinkName("EnableEventWaiting")] + /// Enable waiting for events on EndDrawing(), no automatic event polling + public static extern void EnableEventWaiting(); + + [CallingConvention(.Cdecl), LinkName("DisableEventWaiting")] + /// Disable waiting for events on EndDrawing(), automatic events polling + public static extern void DisableEventWaiting(); + + [CallingConvention(.Cdecl), LinkName("SwapScreenBuffer")] + /// Swap back buffer with front buffer (screen drawing) + public static extern void SwapScreenBuffer(); + + [CallingConvention(.Cdecl), LinkName("PollInputEvents")] + /// Register all input events + public static extern void PollInputEvents(); + + [CallingConvention(.Cdecl), LinkName("WaitTime")] + /// Wait for some time (halt program execution) + public static extern void WaitTime(double seconds); + + [CallingConvention(.Cdecl), LinkName("ShowCursor")] + /// Shows cursor + public static extern void ShowCursor(); + + [CallingConvention(.Cdecl), LinkName("HideCursor")] + /// Hides cursor + public static extern void HideCursor(); + + [CallingConvention(.Cdecl), LinkName("IsCursorHidden")] + /// Check if cursor is not visible + public static extern bool IsCursorHidden(); + + [CallingConvention(.Cdecl), LinkName("EnableCursor")] + /// Enables cursor (unlock cursor) + public static extern void EnableCursor(); + + [CallingConvention(.Cdecl), LinkName("DisableCursor")] + /// Disables cursor (lock cursor) + public static extern void DisableCursor(); + + [CallingConvention(.Cdecl), LinkName("IsCursorOnScreen")] + /// Check if cursor is on the screen + public static extern bool IsCursorOnScreen(); + + [CallingConvention(.Cdecl), LinkName("ClearBackground")] + /// Set background color (framebuffer clear color) + public static extern void ClearBackground(Color color); + + [CallingConvention(.Cdecl), LinkName("BeginDrawing")] + /// Setup canvas (framebuffer) to start drawing + public static extern void BeginDrawing(); + + [CallingConvention(.Cdecl), LinkName("EndDrawing")] + /// End canvas drawing and swap buffers (double buffering) + public static extern void EndDrawing(); + + [CallingConvention(.Cdecl), LinkName("BeginMode2D")] + /// Begin 2D mode with custom camera (2D) + public static extern void BeginMode2D(Camera2D camera); + + [CallingConvention(.Cdecl), LinkName("EndMode2D")] + /// Ends 2D mode with custom camera + public static extern void EndMode2D(); + + [CallingConvention(.Cdecl), LinkName("BeginMode3D")] + /// Begin 3D mode with custom camera (3D) + public static extern void BeginMode3D(Camera3D camera); + + [CallingConvention(.Cdecl), LinkName("EndMode3D")] + /// Ends 3D mode and returns to default 2D orthographic mode + public static extern void EndMode3D(); + + [CallingConvention(.Cdecl), LinkName("BeginTextureMode")] + /// Begin drawing to render texture + public static extern void BeginTextureMode(RenderTexture2D target); + + [CallingConvention(.Cdecl), LinkName("EndTextureMode")] + /// Ends drawing to render texture + public static extern void EndTextureMode(); + + [CallingConvention(.Cdecl), LinkName("BeginShaderMode")] + /// Begin custom shader drawing + public static extern void BeginShaderMode(Shader shader); + + [CallingConvention(.Cdecl), LinkName("EndShaderMode")] + /// End custom shader drawing (use default shader) + public static extern void EndShaderMode(); + + [CallingConvention(.Cdecl), LinkName("BeginBlendMode")] + /// Begin blending mode (alpha, additive, multiplied, subtract, custom) + public static extern void BeginBlendMode(int mode); + + [CallingConvention(.Cdecl), LinkName("EndBlendMode")] + /// End blending mode (reset to default: alpha blending) + public static extern void EndBlendMode(); + + [CallingConvention(.Cdecl), LinkName("BeginScissorMode")] + /// Begin scissor mode (define screen area for following drawing) + public static extern void BeginScissorMode(int x, int y, int width, int height); + + [CallingConvention(.Cdecl), LinkName("EndScissorMode")] + /// End scissor mode + public static extern void EndScissorMode(); + + [CallingConvention(.Cdecl), LinkName("BeginVrStereoMode")] + /// Begin stereo rendering (requires VR simulator) + public static extern void BeginVrStereoMode(VrStereoConfig config); + + [CallingConvention(.Cdecl), LinkName("EndVrStereoMode")] + /// End stereo rendering (requires VR simulator) + public static extern void EndVrStereoMode(); + + [CallingConvention(.Cdecl), LinkName("LoadVrStereoConfig")] + /// Load VR stereo config for VR simulator device parameters + public static extern VrStereoConfig LoadVrStereoConfig(VrDeviceInfo device); + + [CallingConvention(.Cdecl), LinkName("UnloadVrStereoConfig")] + /// Unload VR stereo config + public static extern void UnloadVrStereoConfig(VrStereoConfig config); + + [CallingConvention(.Cdecl), LinkName("LoadShader")] + /// Load shader from files and bind default locations + public static extern Shader LoadShader(char8 * vsFileName, char8 * fsFileName); + + [CallingConvention(.Cdecl), LinkName("LoadShaderFromMemory")] + /// Load shader from code strings and bind default locations + public static extern Shader LoadShaderFromMemory(char8 * vsCode, char8 * fsCode); + + [CallingConvention(.Cdecl), LinkName("IsShaderReady")] + /// Check if a shader is ready + public static extern bool IsShaderReady(Shader shader); + + [CallingConvention(.Cdecl), LinkName("GetShaderLocation")] + /// Get shader uniform location + public static extern int GetShaderLocation(Shader shader, char8 * uniformName); + + [CallingConvention(.Cdecl), LinkName("GetShaderLocationAttrib")] + /// Get shader attribute location + public static extern int GetShaderLocationAttrib(Shader shader, char8 * attribName); + + [CallingConvention(.Cdecl), LinkName("SetShaderValue")] + /// Set shader uniform value + public static extern void SetShaderValue(Shader shader, int locIndex, void * value, int uniformType); + + [CallingConvention(.Cdecl), LinkName("SetShaderValueV")] + /// Set shader uniform value vector + public static extern void SetShaderValueV(Shader shader, int locIndex, void * value, int uniformType, int count); + + [CallingConvention(.Cdecl), LinkName("SetShaderValueMatrix")] + /// Set shader uniform value (matrix 4x4) + public static extern void SetShaderValueMatrix(Shader shader, int locIndex, Matrix mat); + + [CallingConvention(.Cdecl), LinkName("SetShaderValueTexture")] + /// Set shader uniform value for texture (sampler2d) + public static extern void SetShaderValueTexture(Shader shader, int locIndex, Texture2D texture); + + [CallingConvention(.Cdecl), LinkName("UnloadShader")] + /// Unload shader from GPU memory (VRAM) + public static extern void UnloadShader(Shader shader); + + [CallingConvention(.Cdecl), LinkName("GetMouseRay")] + /// Get a ray trace from mouse position + public static extern Ray GetMouseRay(Vector2 mousePosition, Camera camera); + + [CallingConvention(.Cdecl), LinkName("GetCameraMatrix")] + /// Get camera transform matrix (view matrix) + public static extern Matrix GetCameraMatrix(Camera camera); + + [CallingConvention(.Cdecl), LinkName("GetCameraMatrix2D")] + /// Get camera 2d transform matrix + public static extern Matrix GetCameraMatrix2D(Camera2D camera); + + [CallingConvention(.Cdecl), LinkName("GetWorldToScreen")] + /// Get the screen space position for a 3d world space position + public static extern Vector2 GetWorldToScreen(Vector3 position, Camera camera); + + [CallingConvention(.Cdecl), LinkName("GetScreenToWorld2D")] + /// Get the world space position for a 2d camera screen space position + public static extern Vector2 GetScreenToWorld2D(Vector2 position, Camera2D camera); + + [CallingConvention(.Cdecl), LinkName("GetWorldToScreenEx")] + /// Get size position for a 3d world space position + public static extern Vector2 GetWorldToScreenEx(Vector3 position, Camera camera, int width, int height); + + [CallingConvention(.Cdecl), LinkName("GetWorldToScreen2D")] + /// Get the screen space position for a 2d camera world space position + public static extern Vector2 GetWorldToScreen2D(Vector2 position, Camera2D camera); + + [CallingConvention(.Cdecl), LinkName("SetTargetFPS")] + /// Set target FPS (maximum) + public static extern void SetTargetFPS(int fps); + + [CallingConvention(.Cdecl), LinkName("GetFPS")] + /// Get current FPS + public static extern int GetFPS(); + + [CallingConvention(.Cdecl), LinkName("GetFrameTime")] + /// Get time in seconds for last frame drawn (delta time) + public static extern float GetFrameTime(); + + [CallingConvention(.Cdecl), LinkName("GetTime")] + /// Get elapsed time in seconds since InitWindow() + public static extern double GetTime(); + + [CallingConvention(.Cdecl), LinkName("GetRandomValue")] + /// Get a random value between min and max (both included) + public static extern int GetRandomValue(int min, int max); + + [CallingConvention(.Cdecl), LinkName("SetRandomSeed")] + /// Set the seed for the random number generator + public static extern void SetRandomSeed(int seed); + + [CallingConvention(.Cdecl), LinkName("TakeScreenshot")] + /// Takes a screenshot of current screen (filename extension defines format) + public static extern void TakeScreenshot(char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("SetConfigFlags")] + /// Setup init configuration flags (view FLAGS) + public static extern void SetConfigFlags(int flags); + + [CallingConvention(.Cdecl), LinkName("TraceLog")] + /// Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...) + public static extern void TraceLog(int logLevel, char8 * text); + + [CallingConvention(.Cdecl), LinkName("SetTraceLogLevel")] + /// Set the current threshold (minimum) log level + public static extern void SetTraceLogLevel(int logLevel); + + [CallingConvention(.Cdecl), LinkName("MemAlloc")] + /// Internal memory allocator + public static extern void * MemAlloc(int size); + + [CallingConvention(.Cdecl), LinkName("MemRealloc")] + /// Internal memory reallocator + public static extern void * MemRealloc(void * ptr, int size); + + [CallingConvention(.Cdecl), LinkName("MemFree")] + /// Internal memory free + public static extern void MemFree(void * ptr); + + [CallingConvention(.Cdecl), LinkName("OpenURL")] + /// Open URL with default system browser (if available) + public static extern void OpenURL(char8 * url); + + [CallingConvention(.Cdecl), LinkName("SetTraceLogCallback")] + /// Set custom trace log + public static extern void SetTraceLogCallback(TraceLogCallback callback); + + [CallingConvention(.Cdecl), LinkName("SetLoadFileDataCallback")] + /// Set custom file binary data loader + public static extern void SetLoadFileDataCallback(LoadFileDataCallback callback); + + [CallingConvention(.Cdecl), LinkName("SetSaveFileDataCallback")] + /// Set custom file binary data saver + public static extern void SetSaveFileDataCallback(SaveFileDataCallback callback); + + [CallingConvention(.Cdecl), LinkName("SetLoadFileTextCallback")] + /// Set custom file text data loader + public static extern void SetLoadFileTextCallback(LoadFileTextCallback callback); + + [CallingConvention(.Cdecl), LinkName("SetSaveFileTextCallback")] + /// Set custom file text data saver + public static extern void SetSaveFileTextCallback(SaveFileTextCallback callback); + + [CallingConvention(.Cdecl), LinkName("LoadFileData")] + /// Load file data as byte array (read) + public static extern char8 * LoadFileData(char8 * fileName, int * bytesRead); + + [CallingConvention(.Cdecl), LinkName("UnloadFileData")] + /// Unload file data allocated by LoadFileData() + public static extern void UnloadFileData(char8 * data); + + [CallingConvention(.Cdecl), LinkName("SaveFileData")] + /// Save data to file from byte array (write), returns true on success + public static extern bool SaveFileData(char8 * fileName, void * data, int bytesToWrite); + + [CallingConvention(.Cdecl), LinkName("ExportDataAsCode")] + /// Export data to code (.h), returns true on success + public static extern bool ExportDataAsCode(char8 * data, int size, char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("LoadFileText")] + /// Load text data from file (read), returns a '\0' terminated string + public static extern char8 * LoadFileText(char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("UnloadFileText")] + /// Unload file text data allocated by LoadFileText() + public static extern void UnloadFileText(char8 * text); + + [CallingConvention(.Cdecl), LinkName("SaveFileText")] + /// Save text data to file (write), string must be '\0' terminated, returns true on success + public static extern bool SaveFileText(char8 * fileName, char8 * text); + + [CallingConvention(.Cdecl), LinkName("FileExists")] + /// Check if file exists + public static extern bool FileExists(char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("DirectoryExists")] + /// Check if a directory path exists + public static extern bool DirectoryExists(char8 * dirPath); + + [CallingConvention(.Cdecl), LinkName("IsFileExtension")] + /// Check file extension (including point: .png, .wav) + public static extern bool IsFileExtension(char8 * fileName, char8 * ext); + + [CallingConvention(.Cdecl), LinkName("GetFileLength")] + /// Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h) + public static extern int GetFileLength(char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("GetFileExtension")] + /// Get pointer to extension for a filename string (includes dot: '.png') + public static extern char8 * GetFileExtension(char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("GetFileName")] + /// Get pointer to filename for a path string + public static extern char8 * GetFileName(char8 * filePath); + + [CallingConvention(.Cdecl), LinkName("GetFileNameWithoutExt")] + /// Get filename string without extension (uses static string) + public static extern char8 * GetFileNameWithoutExt(char8 * filePath); + + [CallingConvention(.Cdecl), LinkName("GetDirectoryPath")] + /// Get full path for a given fileName with path (uses static string) + public static extern char8 * GetDirectoryPath(char8 * filePath); + + [CallingConvention(.Cdecl), LinkName("GetPrevDirectoryPath")] + /// Get previous directory path for a given path (uses static string) + public static extern char8 * GetPrevDirectoryPath(char8 * dirPath); + + [CallingConvention(.Cdecl), LinkName("GetWorkingDirectory")] + /// Get current working directory (uses static string) + public static extern char8 * GetWorkingDirectory(); + + [CallingConvention(.Cdecl), LinkName("GetApplicationDirectory")] + /// Get the directory if the running application (uses static string) + public static extern char8 * GetApplicationDirectory(); + + [CallingConvention(.Cdecl), LinkName("ChangeDirectory")] + /// Change working directory, return true on success + public static extern bool ChangeDirectory(char8 * dir); + + [CallingConvention(.Cdecl), LinkName("IsPathFile")] + /// Check if a given path is a file or a directory + public static extern bool IsPathFile(char8 * path); + + [CallingConvention(.Cdecl), LinkName("LoadDirectoryFiles")] + /// Load directory filepaths + public static extern FilePathList LoadDirectoryFiles(char8 * dirPath); + + [CallingConvention(.Cdecl), LinkName("LoadDirectoryFilesEx")] + /// Load directory filepaths with extension filtering and recursive directory scan + public static extern FilePathList LoadDirectoryFilesEx(char8 * basePath, char8 * filter, bool scanSubdirs); + + [CallingConvention(.Cdecl), LinkName("UnloadDirectoryFiles")] + /// Unload filepaths + public static extern void UnloadDirectoryFiles(FilePathList files); + + [CallingConvention(.Cdecl), LinkName("IsFileDropped")] + /// Check if a file has been dropped into window + public static extern bool IsFileDropped(); + + [CallingConvention(.Cdecl), LinkName("LoadDroppedFiles")] + /// Load dropped filepaths + public static extern FilePathList LoadDroppedFiles(); + + [CallingConvention(.Cdecl), LinkName("UnloadDroppedFiles")] + /// Unload dropped filepaths + public static extern void UnloadDroppedFiles(FilePathList files); + + [CallingConvention(.Cdecl), LinkName("GetFileModTime")] + /// Get file modification time (last write time) + public static extern int32 GetFileModTime(char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("CompressData")] + /// Compress data (DEFLATE algorithm), memory must be MemFree() + public static extern char8 * CompressData(char8 * data, int dataSize, int * compDataSize); + + [CallingConvention(.Cdecl), LinkName("DecompressData")] + /// Decompress data (DEFLATE algorithm), memory must be MemFree() + public static extern char8 * DecompressData(char8 * compData, int compDataSize, int * dataSize); + + [CallingConvention(.Cdecl), LinkName("EncodeDataBase64")] + /// Encode data to Base64 string, memory must be MemFree() + public static extern char8 * EncodeDataBase64(char8 * data, int dataSize, int * outputSize); + + [CallingConvention(.Cdecl), LinkName("DecodeDataBase64")] + /// Decode Base64 string data, memory must be MemFree() + public static extern char8 * DecodeDataBase64(char8 * data, int * outputSize); + + [CallingConvention(.Cdecl), LinkName("IsKeyPressed")] + /// Check if a key has been pressed once + public static extern bool IsKeyPressed(int key); + + [CallingConvention(.Cdecl), LinkName("IsKeyDown")] + /// Check if a key is being pressed + public static extern bool IsKeyDown(int key); + + [CallingConvention(.Cdecl), LinkName("IsKeyReleased")] + /// Check if a key has been released once + public static extern bool IsKeyReleased(int key); + + [CallingConvention(.Cdecl), LinkName("IsKeyUp")] + /// Check if a key is NOT being pressed + public static extern bool IsKeyUp(int key); + + [CallingConvention(.Cdecl), LinkName("SetExitKey")] + /// Set a custom key to exit program (default is ESC) + public static extern void SetExitKey(int key); + + [CallingConvention(.Cdecl), LinkName("GetKeyPressed")] + /// Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty + public static extern int GetKeyPressed(); + + [CallingConvention(.Cdecl), LinkName("GetCharPressed")] + /// Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty + public static extern int GetCharPressed(); + + [CallingConvention(.Cdecl), LinkName("IsGamepadAvailable")] + /// Check if a gamepad is available + public static extern bool IsGamepadAvailable(int gamepad); + + [CallingConvention(.Cdecl), LinkName("GetGamepadName")] + /// Get gamepad internal name id + public static extern char8 * GetGamepadName(int gamepad); + + [CallingConvention(.Cdecl), LinkName("IsGamepadButtonPressed")] + /// Check if a gamepad button has been pressed once + public static extern bool IsGamepadButtonPressed(int gamepad, int button); + + [CallingConvention(.Cdecl), LinkName("IsGamepadButtonDown")] + /// Check if a gamepad button is being pressed + public static extern bool IsGamepadButtonDown(int gamepad, int button); + + [CallingConvention(.Cdecl), LinkName("IsGamepadButtonReleased")] + /// Check if a gamepad button has been released once + public static extern bool IsGamepadButtonReleased(int gamepad, int button); + + [CallingConvention(.Cdecl), LinkName("IsGamepadButtonUp")] + /// Check if a gamepad button is NOT being pressed + public static extern bool IsGamepadButtonUp(int gamepad, int button); + + [CallingConvention(.Cdecl), LinkName("GetGamepadButtonPressed")] + /// Get the last gamepad button pressed + public static extern int GetGamepadButtonPressed(); + + [CallingConvention(.Cdecl), LinkName("GetGamepadAxisCount")] + /// Get gamepad axis count for a gamepad + public static extern int GetGamepadAxisCount(int gamepad); + + [CallingConvention(.Cdecl), LinkName("GetGamepadAxisMovement")] + /// Get axis movement value for a gamepad axis + public static extern float GetGamepadAxisMovement(int gamepad, int axis); + + [CallingConvention(.Cdecl), LinkName("SetGamepadMappings")] + /// Set internal gamepad mappings (SDL_GameControllerDB) + public static extern int SetGamepadMappings(char8 * mappings); + + [CallingConvention(.Cdecl), LinkName("IsMouseButtonPressed")] + /// Check if a mouse button has been pressed once + public static extern bool IsMouseButtonPressed(int button); + + [CallingConvention(.Cdecl), LinkName("IsMouseButtonDown")] + /// Check if a mouse button is being pressed + public static extern bool IsMouseButtonDown(int button); + + [CallingConvention(.Cdecl), LinkName("IsMouseButtonReleased")] + /// Check if a mouse button has been released once + public static extern bool IsMouseButtonReleased(int button); + + [CallingConvention(.Cdecl), LinkName("IsMouseButtonUp")] + /// Check if a mouse button is NOT being pressed + public static extern bool IsMouseButtonUp(int button); + + [CallingConvention(.Cdecl), LinkName("GetMouseX")] + /// Get mouse position X + public static extern int GetMouseX(); + + [CallingConvention(.Cdecl), LinkName("GetMouseY")] + /// Get mouse position Y + public static extern int GetMouseY(); + + [CallingConvention(.Cdecl), LinkName("GetMousePosition")] + /// Get mouse position XY + public static extern Vector2 GetMousePosition(); + + [CallingConvention(.Cdecl), LinkName("GetMouseDelta")] + /// Get mouse delta between frames + public static extern Vector2 GetMouseDelta(); + + [CallingConvention(.Cdecl), LinkName("SetMousePosition")] + /// Set mouse position XY + public static extern void SetMousePosition(int x, int y); + + [CallingConvention(.Cdecl), LinkName("SetMouseOffset")] + /// Set mouse offset + public static extern void SetMouseOffset(int offsetX, int offsetY); + + [CallingConvention(.Cdecl), LinkName("SetMouseScale")] + /// Set mouse scaling + public static extern void SetMouseScale(float scaleX, float scaleY); + + [CallingConvention(.Cdecl), LinkName("GetMouseWheelMove")] + /// Get mouse wheel movement for X or Y, whichever is larger + public static extern float GetMouseWheelMove(); + + [CallingConvention(.Cdecl), LinkName("GetMouseWheelMoveV")] + /// Get mouse wheel movement for both X and Y + public static extern Vector2 GetMouseWheelMoveV(); + + [CallingConvention(.Cdecl), LinkName("SetMouseCursor")] + /// Set mouse cursor + public static extern void SetMouseCursor(int cursor); + + [CallingConvention(.Cdecl), LinkName("GetTouchX")] + /// Get touch position X for touch point 0 (relative to screen size) + public static extern int GetTouchX(); + + [CallingConvention(.Cdecl), LinkName("GetTouchY")] + /// Get touch position Y for touch point 0 (relative to screen size) + public static extern int GetTouchY(); + + [CallingConvention(.Cdecl), LinkName("GetTouchPosition")] + /// Get touch position XY for a touch point index (relative to screen size) + public static extern Vector2 GetTouchPosition(int index); + + [CallingConvention(.Cdecl), LinkName("GetTouchPointId")] + /// Get touch point identifier for given index + public static extern int GetTouchPointId(int index); + + [CallingConvention(.Cdecl), LinkName("GetTouchPointCount")] + /// Get number of touch points + public static extern int GetTouchPointCount(); + + [CallingConvention(.Cdecl), LinkName("SetGesturesEnabled")] + /// Enable a set of gestures using flags + public static extern void SetGesturesEnabled(int flags); + + [CallingConvention(.Cdecl), LinkName("IsGestureDetected")] + /// Check if a gesture have been detected + public static extern bool IsGestureDetected(int gesture); + + [CallingConvention(.Cdecl), LinkName("GetGestureDetected")] + /// Get latest detected gesture + public static extern int GetGestureDetected(); + + [CallingConvention(.Cdecl), LinkName("GetGestureHoldDuration")] + /// Get gesture hold time in milliseconds + public static extern float GetGestureHoldDuration(); + + [CallingConvention(.Cdecl), LinkName("GetGestureDragVector")] + /// Get gesture drag vector + public static extern Vector2 GetGestureDragVector(); + + [CallingConvention(.Cdecl), LinkName("GetGestureDragAngle")] + /// Get gesture drag angle + public static extern float GetGestureDragAngle(); + + [CallingConvention(.Cdecl), LinkName("GetGesturePinchVector")] + /// Get gesture pinch delta + public static extern Vector2 GetGesturePinchVector(); + + [CallingConvention(.Cdecl), LinkName("GetGesturePinchAngle")] + /// Get gesture pinch angle + public static extern float GetGesturePinchAngle(); + + [CallingConvention(.Cdecl), LinkName("UpdateCamera")] + /// Update camera position for selected mode + public static extern void UpdateCamera(Camera * camera, int mode); + + [CallingConvention(.Cdecl), LinkName("UpdateCameraPro")] + /// Update camera movement/rotation + public static extern void UpdateCameraPro(Camera * camera, Vector3 movement, Vector3 rotation, float zoom); + + [CallingConvention(.Cdecl), LinkName("SetShapesTexture")] + /// Set texture and rectangle to be used on shapes drawing + public static extern void SetShapesTexture(Texture2D texture, Rectangle source); + + [CallingConvention(.Cdecl), LinkName("DrawPixel")] + /// Draw a pixel + public static extern void DrawPixel(int posX, int posY, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawPixelV")] + /// Draw a pixel (Vector version) + public static extern void DrawPixelV(Vector2 position, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawLine")] + /// Draw a line + public static extern void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawLineV")] + /// Draw a line (Vector version) + public static extern void DrawLineV(Vector2 startPos, Vector2 endPos, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawLineEx")] + /// Draw a line defining thickness + public static extern void DrawLineEx(Vector2 startPos, Vector2 endPos, float thick, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawLineBezier")] + /// Draw a line using cubic-bezier curves in-out + public static extern void DrawLineBezier(Vector2 startPos, Vector2 endPos, float thick, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawLineBezierQuad")] + /// Draw line using quadratic bezier curves with a control point + public static extern void DrawLineBezierQuad(Vector2 startPos, Vector2 endPos, Vector2 controlPos, float thick, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawLineBezierCubic")] + /// Draw line using cubic bezier curves with 2 control points + public static extern void DrawLineBezierCubic(Vector2 startPos, Vector2 endPos, Vector2 startControlPos, Vector2 endControlPos, float thick, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawLineStrip")] + /// Draw lines sequence + public static extern void DrawLineStrip(Vector2 * points, int pointCount, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCircle")] + /// Draw a color-filled circle + public static extern void DrawCircle(int centerX, int centerY, float radius, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCircleSector")] + /// Draw a piece of a circle + public static extern void DrawCircleSector(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCircleSectorLines")] + /// Draw circle sector outline + public static extern void DrawCircleSectorLines(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCircleGradient")] + /// Draw a gradient-filled circle + public static extern void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Color color2); + + [CallingConvention(.Cdecl), LinkName("DrawCircleV")] + /// Draw a color-filled circle (Vector version) + public static extern void DrawCircleV(Vector2 center, float radius, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCircleLines")] + /// Draw circle outline + public static extern void DrawCircleLines(int centerX, int centerY, float radius, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawEllipse")] + /// Draw ellipse + public static extern void DrawEllipse(int centerX, int centerY, float radiusH, float radiusV, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawEllipseLines")] + /// Draw ellipse outline + public static extern void DrawEllipseLines(int centerX, int centerY, float radiusH, float radiusV, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRing")] + /// Draw ring + public static extern void DrawRing(Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRingLines")] + /// Draw ring outline + public static extern void DrawRingLines(Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRectangle")] + /// Draw a color-filled rectangle + public static extern void DrawRectangle(int posX, int posY, int width, int height, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleV")] + /// Draw a color-filled rectangle (Vector version) + public static extern void DrawRectangleV(Vector2 position, Vector2 size, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleRec")] + /// Draw a color-filled rectangle + public static extern void DrawRectangleRec(Rectangle rec, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRectanglePro")] + /// Draw a color-filled rectangle with pro parameters + public static extern void DrawRectanglePro(Rectangle rec, Vector2 origin, float rotation, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleGradientV")] + /// Draw a vertical-gradient-filled rectangle + public static extern void DrawRectangleGradientV(int posX, int posY, int width, int height, Color color1, Color color2); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleGradientH")] + /// Draw a horizontal-gradient-filled rectangle + public static extern void DrawRectangleGradientH(int posX, int posY, int width, int height, Color color1, Color color2); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleGradientEx")] + /// Draw a gradient-filled rectangle with custom vertex colors + public static extern void DrawRectangleGradientEx(Rectangle rec, Color col1, Color col2, Color col3, Color col4); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleLines")] + /// Draw rectangle outline + public static extern void DrawRectangleLines(int posX, int posY, int width, int height, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleLinesEx")] + /// Draw rectangle outline with extended parameters + public static extern void DrawRectangleLinesEx(Rectangle rec, float lineThick, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleRounded")] + /// Draw rectangle with rounded edges + public static extern void DrawRectangleRounded(Rectangle rec, float roundness, int segments, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleRoundedLines")] + /// Draw rectangle with rounded edges outline + public static extern void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, float lineThick, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawTriangle")] + /// Draw a color-filled triangle (vertex in counter-clockwise order!) + public static extern void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawTriangleLines")] + /// Draw triangle outline (vertex in counter-clockwise order!) + public static extern void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawTriangleFan")] + /// Draw a triangle fan defined by points (first vertex is the center) + public static extern void DrawTriangleFan(Vector2 * points, int pointCount, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawTriangleStrip")] + /// Draw a triangle strip defined by points + public static extern void DrawTriangleStrip(Vector2 * points, int pointCount, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawPoly")] + /// Draw a regular polygon (Vector version) + public static extern void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawPolyLines")] + /// Draw a polygon outline of n sides + public static extern void DrawPolyLines(Vector2 center, int sides, float radius, float rotation, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawPolyLinesEx")] + /// Draw a polygon outline of n sides with extended parameters + public static extern void DrawPolyLinesEx(Vector2 center, int sides, float radius, float rotation, float lineThick, Color color); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionRecs")] + /// Check collision between two rectangles + public static extern bool CheckCollisionRecs(Rectangle rec1, Rectangle rec2); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionCircles")] + /// Check collision between two circles + public static extern bool CheckCollisionCircles(Vector2 center1, float radius1, Vector2 center2, float radius2); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionCircleRec")] + /// Check collision between circle and rectangle + public static extern bool CheckCollisionCircleRec(Vector2 center, float radius, Rectangle rec); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionPointRec")] + /// Check if point is inside rectangle + public static extern bool CheckCollisionPointRec(Vector2 point, Rectangle rec); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionPointCircle")] + /// Check if point is inside circle + public static extern bool CheckCollisionPointCircle(Vector2 point, Vector2 center, float radius); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionPointTriangle")] + /// Check if point is inside a triangle + public static extern bool CheckCollisionPointTriangle(Vector2 point, Vector2 p1, Vector2 p2, Vector2 p3); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionPointPoly")] + /// Check if point is within a polygon described by array of vertices + public static extern bool CheckCollisionPointPoly(Vector2 point, Vector2 * points, int pointCount); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionLines")] + /// Check the collision between two lines defined by two points each, returns collision point by reference + public static extern bool CheckCollisionLines(Vector2 startPos1, Vector2 endPos1, Vector2 startPos2, Vector2 endPos2, Vector2 * collisionPoint); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionPointLine")] + /// Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold] + public static extern bool CheckCollisionPointLine(Vector2 point, Vector2 p1, Vector2 p2, int threshold); + + [CallingConvention(.Cdecl), LinkName("GetCollisionRec")] + /// Get collision rectangle for two rectangles collision + public static extern Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2); + + [CallingConvention(.Cdecl), LinkName("LoadImage")] + /// Load image from file into CPU memory (RAM) + public static extern Image LoadImage(char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("LoadImageRaw")] + /// Load image from RAW file data + public static extern Image LoadImageRaw(char8 * fileName, int width, int height, int format, int headerSize); + + [CallingConvention(.Cdecl), LinkName("LoadImageAnim")] + /// Load image sequence from file (frames appended to image.data) + public static extern Image LoadImageAnim(char8 * fileName, int * frames); + + [CallingConvention(.Cdecl), LinkName("LoadImageFromMemory")] + /// Load image from memory buffer, fileType refers to extension: i.e. '.png' + public static extern Image LoadImageFromMemory(char8 * fileType, char8 * fileData, int dataSize); + + [CallingConvention(.Cdecl), LinkName("LoadImageFromTexture")] + /// Load image from GPU texture data + public static extern Image LoadImageFromTexture(Texture2D texture); + + [CallingConvention(.Cdecl), LinkName("LoadImageFromScreen")] + /// Load image from screen buffer and (screenshot) + public static extern Image LoadImageFromScreen(); + + [CallingConvention(.Cdecl), LinkName("IsImageReady")] + /// Check if an image is ready + public static extern bool IsImageReady(Image image); + + [CallingConvention(.Cdecl), LinkName("UnloadImage")] + /// Unload image from CPU memory (RAM) + public static extern void UnloadImage(Image image); + + [CallingConvention(.Cdecl), LinkName("ExportImage")] + /// Export image data to file, returns true on success + public static extern bool ExportImage(Image image, char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("ExportImageAsCode")] + /// Export image as code file defining an array of bytes, returns true on success + public static extern bool ExportImageAsCode(Image image, char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("GenImageColor")] + /// Generate image: plain color + public static extern Image GenImageColor(int width, int height, Color color); + + [CallingConvention(.Cdecl), LinkName("GenImageGradientV")] + /// Generate image: vertical gradient + public static extern Image GenImageGradientV(int width, int height, Color top, Color bottom); + + [CallingConvention(.Cdecl), LinkName("GenImageGradientH")] + /// Generate image: horizontal gradient + public static extern Image GenImageGradientH(int width, int height, Color left, Color right); + + [CallingConvention(.Cdecl), LinkName("GenImageGradientRadial")] + /// Generate image: radial gradient + public static extern Image GenImageGradientRadial(int width, int height, float density, Color inner, Color outer); + + [CallingConvention(.Cdecl), LinkName("GenImageChecked")] + /// Generate image: checked + public static extern Image GenImageChecked(int width, int height, int checksX, int checksY, Color col1, Color col2); + + [CallingConvention(.Cdecl), LinkName("GenImageWhiteNoise")] + /// Generate image: white noise + public static extern Image GenImageWhiteNoise(int width, int height, float factor); + + [CallingConvention(.Cdecl), LinkName("GenImagePerlinNoise")] + /// Generate image: perlin noise + public static extern Image GenImagePerlinNoise(int width, int height, int offsetX, int offsetY, float scale); + + [CallingConvention(.Cdecl), LinkName("GenImageCellular")] + /// Generate image: cellular algorithm, bigger tileSize means bigger cells + public static extern Image GenImageCellular(int width, int height, int tileSize); + + [CallingConvention(.Cdecl), LinkName("GenImageText")] + /// Generate image: grayscale image from text data + public static extern Image GenImageText(int width, int height, char8 * text); + + [CallingConvention(.Cdecl), LinkName("ImageCopy")] + /// Create an image duplicate (useful for transformations) + public static extern Image ImageCopy(Image image); + + [CallingConvention(.Cdecl), LinkName("ImageFromImage")] + /// Create an image from another image piece + public static extern Image ImageFromImage(Image image, Rectangle rec); + + [CallingConvention(.Cdecl), LinkName("ImageText")] + /// Create an image from text (default font) + public static extern Image ImageText(char8 * text, int fontSize, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageTextEx")] + /// Create an image from text (custom sprite font) + public static extern Image ImageTextEx(Font font, char8 * text, float fontSize, float spacing, Color tint); + + [CallingConvention(.Cdecl), LinkName("ImageFormat")] + /// Convert image data to desired format + public static extern void ImageFormat(Image * image, int newFormat); + + [CallingConvention(.Cdecl), LinkName("ImageToPOT")] + /// Convert image to POT (power-of-two) + public static extern void ImageToPOT(Image * image, Color fill); + + [CallingConvention(.Cdecl), LinkName("ImageCrop")] + /// Crop an image to a defined rectangle + public static extern void ImageCrop(Image * image, Rectangle crop); + + [CallingConvention(.Cdecl), LinkName("ImageAlphaCrop")] + /// Crop image depending on alpha value + public static extern void ImageAlphaCrop(Image * image, float threshold); + + [CallingConvention(.Cdecl), LinkName("ImageAlphaClear")] + /// Clear alpha channel to desired color + public static extern void ImageAlphaClear(Image * image, Color color, float threshold); + + [CallingConvention(.Cdecl), LinkName("ImageAlphaMask")] + /// Apply alpha mask to image + public static extern void ImageAlphaMask(Image * image, Image alphaMask); + + [CallingConvention(.Cdecl), LinkName("ImageAlphaPremultiply")] + /// Premultiply alpha channel + public static extern void ImageAlphaPremultiply(Image * image); + + [CallingConvention(.Cdecl), LinkName("ImageBlurGaussian")] + /// Apply Gaussian blur using a box blur approximation + public static extern void ImageBlurGaussian(Image * image, int blurSize); + + [CallingConvention(.Cdecl), LinkName("ImageResize")] + /// Resize image (Bicubic scaling algorithm) + public static extern void ImageResize(Image * image, int newWidth, int newHeight); + + [CallingConvention(.Cdecl), LinkName("ImageResizeNN")] + /// Resize image (Nearest-Neighbor scaling algorithm) + public static extern void ImageResizeNN(Image * image, int newWidth, int newHeight); + + [CallingConvention(.Cdecl), LinkName("ImageResizeCanvas")] + /// Resize canvas and fill with color + public static extern void ImageResizeCanvas(Image * image, int newWidth, int newHeight, int offsetX, int offsetY, Color fill); + + [CallingConvention(.Cdecl), LinkName("ImageMipmaps")] + /// Compute all mipmap levels for a provided image + public static extern void ImageMipmaps(Image * image); + + [CallingConvention(.Cdecl), LinkName("ImageDither")] + /// Dither image data to 16bpp or lower (Floyd-Steinberg dithering) + public static extern void ImageDither(Image * image, int rBpp, int gBpp, int bBpp, int aBpp); + + [CallingConvention(.Cdecl), LinkName("ImageFlipVertical")] + /// Flip image vertically + public static extern void ImageFlipVertical(Image * image); + + [CallingConvention(.Cdecl), LinkName("ImageFlipHorizontal")] + /// Flip image horizontally + public static extern void ImageFlipHorizontal(Image * image); + + [CallingConvention(.Cdecl), LinkName("ImageRotateCW")] + /// Rotate image clockwise 90deg + public static extern void ImageRotateCW(Image * image); + + [CallingConvention(.Cdecl), LinkName("ImageRotateCCW")] + /// Rotate image counter-clockwise 90deg + public static extern void ImageRotateCCW(Image * image); + + [CallingConvention(.Cdecl), LinkName("ImageColorTint")] + /// Modify image color: tint + public static extern void ImageColorTint(Image * image, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageColorInvert")] + /// Modify image color: invert + public static extern void ImageColorInvert(Image * image); + + [CallingConvention(.Cdecl), LinkName("ImageColorGrayscale")] + /// Modify image color: grayscale + public static extern void ImageColorGrayscale(Image * image); + + [CallingConvention(.Cdecl), LinkName("ImageColorContrast")] + /// Modify image color: contrast (-100 to 100) + public static extern void ImageColorContrast(Image * image, float contrast); + + [CallingConvention(.Cdecl), LinkName("ImageColorBrightness")] + /// Modify image color: brightness (-255 to 255) + public static extern void ImageColorBrightness(Image * image, int brightness); + + [CallingConvention(.Cdecl), LinkName("ImageColorReplace")] + /// Modify image color: replace color + public static extern void ImageColorReplace(Image * image, Color color, Color replace); + + [CallingConvention(.Cdecl), LinkName("LoadImageColors")] + /// Load color data from image as a Color array (RGBA - 32bit) + public static extern Color * LoadImageColors(Image image); + + [CallingConvention(.Cdecl), LinkName("LoadImagePalette")] + /// Load colors palette from image as a Color array (RGBA - 32bit) + public static extern Color * LoadImagePalette(Image image, int maxPaletteSize, int * colorCount); + + [CallingConvention(.Cdecl), LinkName("UnloadImageColors")] + /// Unload color data loaded with LoadImageColors() + public static extern void UnloadImageColors(Color * colors); + + [CallingConvention(.Cdecl), LinkName("UnloadImagePalette")] + /// Unload colors palette loaded with LoadImagePalette() + public static extern void UnloadImagePalette(Color * colors); + + [CallingConvention(.Cdecl), LinkName("GetImageAlphaBorder")] + /// Get image alpha border rectangle + public static extern Rectangle GetImageAlphaBorder(Image image, float threshold); + + [CallingConvention(.Cdecl), LinkName("GetImageColor")] + /// Get image pixel color at (x, y) position + public static extern Color GetImageColor(Image image, int x, int y); + + [CallingConvention(.Cdecl), LinkName("ImageClearBackground")] + /// Clear image background with given color + public static extern void ImageClearBackground(Image * dst, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawPixel")] + /// Draw pixel within an image + public static extern void ImageDrawPixel(Image * dst, int posX, int posY, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawPixelV")] + /// Draw pixel within an image (Vector version) + public static extern void ImageDrawPixelV(Image * dst, Vector2 position, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawLine")] + /// Draw line within an image + public static extern void ImageDrawLine(Image * dst, int startPosX, int startPosY, int endPosX, int endPosY, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawLineV")] + /// Draw line within an image (Vector version) + public static extern void ImageDrawLineV(Image * dst, Vector2 start, Vector2 end, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawCircle")] + /// Draw a filled circle within an image + public static extern void ImageDrawCircle(Image * dst, int centerX, int centerY, int radius, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawCircleV")] + /// Draw a filled circle within an image (Vector version) + public static extern void ImageDrawCircleV(Image * dst, Vector2 center, int radius, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawCircleLines")] + /// Draw circle outline within an image + public static extern void ImageDrawCircleLines(Image * dst, int centerX, int centerY, int radius, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawCircleLinesV")] + /// Draw circle outline within an image (Vector version) + public static extern void ImageDrawCircleLinesV(Image * dst, Vector2 center, int radius, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawRectangle")] + /// Draw rectangle within an image + public static extern void ImageDrawRectangle(Image * dst, int posX, int posY, int width, int height, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawRectangleV")] + /// Draw rectangle within an image (Vector version) + public static extern void ImageDrawRectangleV(Image * dst, Vector2 position, Vector2 size, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawRectangleRec")] + /// Draw rectangle within an image + public static extern void ImageDrawRectangleRec(Image * dst, Rectangle rec, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawRectangleLines")] + /// Draw rectangle lines within an image + public static extern void ImageDrawRectangleLines(Image * dst, Rectangle rec, int thick, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDraw")] + /// Draw a source image within a destination image (tint applied to source) + public static extern void ImageDraw(Image * dst, Image src, Rectangle srcRec, Rectangle dstRec, Color tint); + + [CallingConvention(.Cdecl), LinkName("ImageDrawText")] + /// Draw text (using default font) within an image (destination) + public static extern void ImageDrawText(Image * dst, char8 * text, int posX, int posY, int fontSize, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawTextEx")] + /// Draw text (custom sprite font) within an image (destination) + public static extern void ImageDrawTextEx(Image * dst, Font font, char8 * text, Vector2 position, float fontSize, float spacing, Color tint); + + [CallingConvention(.Cdecl), LinkName("LoadTexture")] + /// Load texture from file into GPU memory (VRAM) + public static extern Texture2D LoadTexture(char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("LoadTextureFromImage")] + /// Load texture from image data + public static extern Texture2D LoadTextureFromImage(Image image); + + [CallingConvention(.Cdecl), LinkName("LoadTextureCubemap")] + /// Load cubemap from image, multiple image cubemap layouts supported + public static extern TextureCubemap LoadTextureCubemap(Image image, int layout); + + [CallingConvention(.Cdecl), LinkName("LoadRenderTexture")] + /// Load texture for rendering (framebuffer) + public static extern RenderTexture2D LoadRenderTexture(int width, int height); + + [CallingConvention(.Cdecl), LinkName("IsTextureReady")] + /// Check if a texture is ready + public static extern bool IsTextureReady(Texture2D texture); + + [CallingConvention(.Cdecl), LinkName("UnloadTexture")] + /// Unload texture from GPU memory (VRAM) + public static extern void UnloadTexture(Texture2D texture); + + [CallingConvention(.Cdecl), LinkName("IsRenderTextureReady")] + /// Check if a render texture is ready + public static extern bool IsRenderTextureReady(RenderTexture2D target); + + [CallingConvention(.Cdecl), LinkName("UnloadRenderTexture")] + /// Unload render texture from GPU memory (VRAM) + public static extern void UnloadRenderTexture(RenderTexture2D target); + + [CallingConvention(.Cdecl), LinkName("UpdateTexture")] + /// Update GPU texture with new data + public static extern void UpdateTexture(Texture2D texture, void * pixels); + + [CallingConvention(.Cdecl), LinkName("UpdateTextureRec")] + /// Update GPU texture rectangle with new data + public static extern void UpdateTextureRec(Texture2D texture, Rectangle rec, void * pixels); + + [CallingConvention(.Cdecl), LinkName("GenTextureMipmaps")] + /// Generate GPU mipmaps for a texture + public static extern void GenTextureMipmaps(Texture2D * texture); + + [CallingConvention(.Cdecl), LinkName("SetTextureFilter")] + /// Set texture scaling filter mode + public static extern void SetTextureFilter(Texture2D texture, int filter); + + [CallingConvention(.Cdecl), LinkName("SetTextureWrap")] + /// Set texture wrapping mode + public static extern void SetTextureWrap(Texture2D texture, int wrap); + + [CallingConvention(.Cdecl), LinkName("DrawTexture")] + /// Draw a Texture2D + public static extern void DrawTexture(Texture2D texture, int posX, int posY, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawTextureV")] + /// Draw a Texture2D with position defined as Vector2 + public static extern void DrawTextureV(Texture2D texture, Vector2 position, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawTextureEx")] + /// Draw a Texture2D with extended parameters + public static extern void DrawTextureEx(Texture2D texture, Vector2 position, float rotation, float scale, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawTextureRec")] + /// Draw a part of a texture defined by a rectangle + public static extern void DrawTextureRec(Texture2D texture, Rectangle source, Vector2 position, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawTexturePro")] + /// Draw a part of a texture defined by a rectangle with 'pro' parameters + public static extern void DrawTexturePro(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawTextureNPatch")] + /// Draws a texture (or part of it) that stretches or shrinks nicely + public static extern void DrawTextureNPatch(Texture2D texture, NPatchInfo nPatchInfo, Rectangle dest, Vector2 origin, float rotation, Color tint); + + [CallingConvention(.Cdecl), LinkName("Fade")] + /// Get color with alpha applied, alpha goes from 0.0f to 1.0f + public static extern Color Fade(Color color, float alpha); + + [CallingConvention(.Cdecl), LinkName("ColorToInt")] + /// Get hexadecimal value for a Color + public static extern int ColorToInt(Color color); + + [CallingConvention(.Cdecl), LinkName("ColorNormalize")] + /// Get Color normalized as float [0..1] + public static extern Vector4 ColorNormalize(Color color); + + [CallingConvention(.Cdecl), LinkName("ColorFromNormalized")] + /// Get Color from normalized values [0..1] + public static extern Color ColorFromNormalized(Vector4 normalized); + + [CallingConvention(.Cdecl), LinkName("ColorToHSV")] + /// Get HSV values for a Color, hue [0..360], saturation/value [0..1] + public static extern Vector3 ColorToHSV(Color color); + + [CallingConvention(.Cdecl), LinkName("ColorFromHSV")] + /// Get a Color from HSV values, hue [0..360], saturation/value [0..1] + public static extern Color ColorFromHSV(float hue, float saturation, float value); + + [CallingConvention(.Cdecl), LinkName("ColorTint")] + /// Get color multiplied with another color + public static extern Color ColorTint(Color color, Color tint); + + [CallingConvention(.Cdecl), LinkName("ColorBrightness")] + /// Get color with brightness correction, brightness factor goes from -1.0f to 1.0f + public static extern Color ColorBrightness(Color color, float factor); + + [CallingConvention(.Cdecl), LinkName("ColorContrast")] + /// Get color with contrast correction, contrast values between -1.0f and 1.0f + public static extern Color ColorContrast(Color color, float contrast); + + [CallingConvention(.Cdecl), LinkName("ColorAlpha")] + /// Get color with alpha applied, alpha goes from 0.0f to 1.0f + public static extern Color ColorAlpha(Color color, float alpha); + + [CallingConvention(.Cdecl), LinkName("ColorAlphaBlend")] + /// Get src alpha-blended into dst color with tint + public static extern Color ColorAlphaBlend(Color dst, Color src, Color tint); + + [CallingConvention(.Cdecl), LinkName("GetColor")] + /// Get Color structure from hexadecimal value + public static extern Color GetColor(int hexValue); + + [CallingConvention(.Cdecl), LinkName("GetPixelColor")] + /// Get Color from a source pixel pointer of certain format + public static extern Color GetPixelColor(void * srcPtr, int format); + + [CallingConvention(.Cdecl), LinkName("SetPixelColor")] + /// Set color formatted into destination pixel pointer + public static extern void SetPixelColor(void * dstPtr, Color color, int format); + + [CallingConvention(.Cdecl), LinkName("GetPixelDataSize")] + /// Get pixel data size in bytes for certain format + public static extern int GetPixelDataSize(int width, int height, int format); + + [CallingConvention(.Cdecl), LinkName("GetFontDefault")] + /// Get the default Font + public static extern Font GetFontDefault(); + + [CallingConvention(.Cdecl), LinkName("LoadFont")] + /// Load font from file into GPU memory (VRAM) + public static extern Font LoadFont(char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("LoadFontEx")] + /// Load font from file with extended parameters, use NULL for fontChars and 0 for glyphCount to load the default character set + public static extern Font LoadFontEx(char8 * fileName, int fontSize, int * fontChars, int glyphCount); + + [CallingConvention(.Cdecl), LinkName("LoadFontFromImage")] + /// Load font from Image (XNA style) + public static extern Font LoadFontFromImage(Image image, Color key, int firstChar); + + [CallingConvention(.Cdecl), LinkName("LoadFontFromMemory")] + /// Load font from memory buffer, fileType refers to extension: i.e. '.ttf' + public static extern Font LoadFontFromMemory(char8 * fileType, char8 * fileData, int dataSize, int fontSize, int * fontChars, int glyphCount); + + [CallingConvention(.Cdecl), LinkName("IsFontReady")] + /// Check if a font is ready + public static extern bool IsFontReady(Font font); + + [CallingConvention(.Cdecl), LinkName("LoadFontData")] + /// Load font data for further use + public static extern GlyphInfo * LoadFontData(char8 * fileData, int dataSize, int fontSize, int * fontChars, int glyphCount, int type); + + [CallingConvention(.Cdecl), LinkName("GenImageFontAtlas")] + /// Generate image font atlas using chars info + public static extern Image GenImageFontAtlas(GlyphInfo * chars, Rectangle ** recs, int glyphCount, int fontSize, int padding, int packMethod); + + [CallingConvention(.Cdecl), LinkName("UnloadFontData")] + /// Unload font chars info data (RAM) + public static extern void UnloadFontData(GlyphInfo * chars, int glyphCount); + + [CallingConvention(.Cdecl), LinkName("UnloadFont")] + /// Unload font from GPU memory (VRAM) + public static extern void UnloadFont(Font font); + + [CallingConvention(.Cdecl), LinkName("ExportFontAsCode")] + /// Export font as code file, returns true on success + public static extern bool ExportFontAsCode(Font font, char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("DrawFPS")] + /// Draw current FPS + public static extern void DrawFPS(int posX, int posY); + + [CallingConvention(.Cdecl), LinkName("DrawText")] + /// Draw text (using default font) + public static extern void DrawText(char8 * text, int posX, int posY, int fontSize, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawTextEx")] + /// Draw text using font and additional parameters + public static extern void DrawTextEx(Font font, char8 * text, Vector2 position, float fontSize, float spacing, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawTextPro")] + /// Draw text using Font and pro parameters (rotation) + public static extern void DrawTextPro(Font font, char8 * text, Vector2 position, Vector2 origin, float rotation, float fontSize, float spacing, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawTextCodepoint")] + /// Draw one character (codepoint) + public static extern void DrawTextCodepoint(Font font, int codepoint, Vector2 position, float fontSize, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawTextCodepoints")] + /// Draw multiple character (codepoint) + public static extern void DrawTextCodepoints(Font font, int * codepoints, int count, Vector2 position, float fontSize, float spacing, Color tint); + + [CallingConvention(.Cdecl), LinkName("MeasureText")] + /// Measure string width for default font + public static extern int MeasureText(char8 * text, int fontSize); + + [CallingConvention(.Cdecl), LinkName("MeasureTextEx")] + /// Measure string size for Font + public static extern Vector2 MeasureTextEx(Font font, char8 * text, float fontSize, float spacing); + + [CallingConvention(.Cdecl), LinkName("GetGlyphIndex")] + /// Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found + public static extern int GetGlyphIndex(Font font, int codepoint); + + [CallingConvention(.Cdecl), LinkName("GetGlyphInfo")] + /// Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found + public static extern GlyphInfo GetGlyphInfo(Font font, int codepoint); + + [CallingConvention(.Cdecl), LinkName("GetGlyphAtlasRec")] + /// Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found + public static extern Rectangle GetGlyphAtlasRec(Font font, int codepoint); + + [CallingConvention(.Cdecl), LinkName("LoadUTF8")] + /// Load UTF-8 text encoded from codepoints array + public static extern char8 * LoadUTF8(int * codepoints, int length); + + [CallingConvention(.Cdecl), LinkName("UnloadUTF8")] + /// Unload UTF-8 text encoded from codepoints array + public static extern void UnloadUTF8(char8 * text); + + [CallingConvention(.Cdecl), LinkName("LoadCodepoints")] + /// Load all codepoints from a UTF-8 text string, codepoints count returned by parameter + public static extern int * LoadCodepoints(char8 * text, int * count); + + [CallingConvention(.Cdecl), LinkName("UnloadCodepoints")] + /// Unload codepoints data from memory + public static extern void UnloadCodepoints(int * codepoints); + + [CallingConvention(.Cdecl), LinkName("GetCodepointCount")] + /// Get total number of codepoints in a UTF-8 encoded string + public static extern int GetCodepointCount(char8 * text); + + [CallingConvention(.Cdecl), LinkName("GetCodepoint")] + /// Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure + public static extern int GetCodepoint(char8 * text, int * codepointSize); + + [CallingConvention(.Cdecl), LinkName("GetCodepointNext")] + /// Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure + public static extern int GetCodepointNext(char8 * text, int * codepointSize); + + [CallingConvention(.Cdecl), LinkName("GetCodepointPrevious")] + /// Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure + public static extern int GetCodepointPrevious(char8 * text, int * codepointSize); + + [CallingConvention(.Cdecl), LinkName("CodepointToUTF8")] + /// Encode one codepoint into UTF-8 byte array (array length returned as parameter) + public static extern char8 * CodepointToUTF8(int codepoint, int * utf8Size); + + [CallingConvention(.Cdecl), LinkName("TextCopy")] + /// Copy one string to another, returns bytes copied + public static extern int TextCopy(char8 * dst, char8 * src); + + [CallingConvention(.Cdecl), LinkName("TextIsEqual")] + /// Check if two text string are equal + public static extern bool TextIsEqual(char8 * text1, char8 * text2); + + [CallingConvention(.Cdecl), LinkName("TextLength")] + /// Get text length, checks for '\0' ending + public static extern int TextLength(char8 * text); + + [CallingConvention(.Cdecl), LinkName("TextFormat")] + /// Text formatting with variables (sprintf() style) + public static extern char8 * TextFormat(char8 * text); + + [CallingConvention(.Cdecl), LinkName("TextSubtext")] + /// Get a piece of a text string + public static extern char8 * TextSubtext(char8 * text, int position, int length); + + [CallingConvention(.Cdecl), LinkName("TextReplace")] + /// Replace text string (WARNING: memory must be freed!) + public static extern char8 * TextReplace(char8 * text, char8 * replace, char8 * by); + + [CallingConvention(.Cdecl), LinkName("TextInsert")] + /// Insert text in a position (WARNING: memory must be freed!) + public static extern char8 * TextInsert(char8 * text, char8 * insert, int position); + + [CallingConvention(.Cdecl), LinkName("TextJoin")] + /// Join text strings with delimiter + public static extern char8 * TextJoin(char8 ** textList, int count, char8 * delimiter); + + [CallingConvention(.Cdecl), LinkName("TextSplit")] + /// Split text into multiple strings + public static extern char8 ** TextSplit(char8 * text, char8 delimiter, int * count); + + [CallingConvention(.Cdecl), LinkName("TextAppend")] + /// Append text at specific position and move cursor! + public static extern void TextAppend(char8 * text, char8 * @append, int * position); + + [CallingConvention(.Cdecl), LinkName("TextFindIndex")] + /// Find first text occurrence within a string + public static extern int TextFindIndex(char8 * text, char8 * find); + + [CallingConvention(.Cdecl), LinkName("TextToUpper")] + /// Get upper case version of provided string + public static extern char8 * TextToUpper(char8 * text); + + [CallingConvention(.Cdecl), LinkName("TextToLower")] + /// Get lower case version of provided string + public static extern char8 * TextToLower(char8 * text); + + [CallingConvention(.Cdecl), LinkName("TextToPascal")] + /// Get Pascal case notation version of provided string + public static extern char8 * TextToPascal(char8 * text); + + [CallingConvention(.Cdecl), LinkName("TextToInteger")] + /// Get integer value from text (negative values not supported) + public static extern int TextToInteger(char8 * text); + + [CallingConvention(.Cdecl), LinkName("DrawLine3D")] + /// Draw a line in 3D world space + public static extern void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawPoint3D")] + /// Draw a point in 3D space, actually a small line + public static extern void DrawPoint3D(Vector3 position, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCircle3D")] + /// Draw a circle in 3D world space + public static extern void DrawCircle3D(Vector3 center, float radius, Vector3 rotationAxis, float rotationAngle, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawTriangle3D")] + /// Draw a color-filled triangle (vertex in counter-clockwise order!) + public static extern void DrawTriangle3D(Vector3 v1, Vector3 v2, Vector3 v3, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawTriangleStrip3D")] + /// Draw a triangle strip defined by points + public static extern void DrawTriangleStrip3D(Vector3 * points, int pointCount, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCube")] + /// Draw cube + public static extern void DrawCube(Vector3 position, float width, float height, float length, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCubeV")] + /// Draw cube (Vector version) + public static extern void DrawCubeV(Vector3 position, Vector3 size, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCubeWires")] + /// Draw cube wires + public static extern void DrawCubeWires(Vector3 position, float width, float height, float length, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCubeWiresV")] + /// Draw cube wires (Vector version) + public static extern void DrawCubeWiresV(Vector3 position, Vector3 size, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawSphere")] + /// Draw sphere + public static extern void DrawSphere(Vector3 centerPos, float radius, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawSphereEx")] + /// Draw sphere with extended parameters + public static extern void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawSphereWires")] + /// Draw sphere wires + public static extern void DrawSphereWires(Vector3 centerPos, float radius, int rings, int slices, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCylinder")] + /// Draw a cylinder/cone + public static extern void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCylinderEx")] + /// Draw a cylinder with base at startPos and top at endPos + public static extern void DrawCylinderEx(Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCylinderWires")] + /// Draw a cylinder/cone wires + public static extern void DrawCylinderWires(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCylinderWiresEx")] + /// Draw a cylinder wires with base at startPos and top at endPos + public static extern void DrawCylinderWiresEx(Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCapsule")] + /// Draw a capsule with the center of its sphere caps at startPos and endPos + public static extern void DrawCapsule(Vector3 startPos, Vector3 endPos, float radius, int slices, int rings, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCapsuleWires")] + /// Draw capsule wireframe with the center of its sphere caps at startPos and endPos + public static extern void DrawCapsuleWires(Vector3 startPos, Vector3 endPos, float radius, int slices, int rings, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawPlane")] + /// Draw a plane XZ + public static extern void DrawPlane(Vector3 centerPos, Vector2 size, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRay")] + /// Draw a ray line + public static extern void DrawRay(Ray ray, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawGrid")] + /// Draw a grid (centered at (0, 0, 0)) + public static extern void DrawGrid(int slices, float spacing); + + [CallingConvention(.Cdecl), LinkName("LoadModel")] + /// Load model from files (meshes and materials) + public static extern Model LoadModel(char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("LoadModelFromMesh")] + /// Load model from generated mesh (default material) + public static extern Model LoadModelFromMesh(Mesh mesh); + + [CallingConvention(.Cdecl), LinkName("IsModelReady")] + /// Check if a model is ready + public static extern bool IsModelReady(Model model); + + [CallingConvention(.Cdecl), LinkName("UnloadModel")] + /// Unload model (including meshes) from memory (RAM and/or VRAM) + public static extern void UnloadModel(Model model); + + [CallingConvention(.Cdecl), LinkName("GetModelBoundingBox")] + /// Compute model bounding box limits (considers all meshes) + public static extern BoundingBox GetModelBoundingBox(Model model); + + [CallingConvention(.Cdecl), LinkName("DrawModel")] + /// Draw a model (with texture if set) + public static extern void DrawModel(Model model, Vector3 position, float scale, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawModelEx")] + /// Draw a model with extended parameters + public static extern void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawModelWires")] + /// Draw a model wires (with texture if set) + public static extern void DrawModelWires(Model model, Vector3 position, float scale, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawModelWiresEx")] + /// Draw a model wires (with texture if set) with extended parameters + public static extern void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawBoundingBox")] + /// Draw bounding box (wires) + public static extern void DrawBoundingBox(BoundingBox @box, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawBillboard")] + /// Draw a billboard texture + public static extern void DrawBillboard(Camera camera, Texture2D texture, Vector3 position, float size, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawBillboardRec")] + /// Draw a billboard texture defined by source + public static extern void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector2 size, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawBillboardPro")] + /// Draw a billboard texture defined by source and rotation + public static extern void DrawBillboardPro(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector3 up, Vector2 size, Vector2 origin, float rotation, Color tint); + + [CallingConvention(.Cdecl), LinkName("UploadMesh")] + /// Upload mesh vertex data in GPU and provide VAO/VBO ids + public static extern void UploadMesh(Mesh * mesh, bool dynamic); + + [CallingConvention(.Cdecl), LinkName("UpdateMeshBuffer")] + /// Update mesh vertex data in GPU for a specific buffer index + public static extern void UpdateMeshBuffer(Mesh mesh, int index, void * data, int dataSize, int offset); + + [CallingConvention(.Cdecl), LinkName("UnloadMesh")] + /// Unload mesh data from CPU and GPU + public static extern void UnloadMesh(Mesh mesh); + + [CallingConvention(.Cdecl), LinkName("DrawMesh")] + /// Draw a 3d mesh with material and transform + public static extern void DrawMesh(Mesh mesh, Material material, Matrix transform); + + [CallingConvention(.Cdecl), LinkName("DrawMeshInstanced")] + /// Draw multiple mesh instances with material and different transforms + public static extern void DrawMeshInstanced(Mesh mesh, Material material, Matrix * transforms, int instances); + + [CallingConvention(.Cdecl), LinkName("ExportMesh")] + /// Export mesh data to file, returns true on success + public static extern bool ExportMesh(Mesh mesh, char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("GetMeshBoundingBox")] + /// Compute mesh bounding box limits + public static extern BoundingBox GetMeshBoundingBox(Mesh mesh); + + [CallingConvention(.Cdecl), LinkName("GenMeshTangents")] + /// Compute mesh tangents + public static extern void GenMeshTangents(Mesh * mesh); + + [CallingConvention(.Cdecl), LinkName("GenMeshPoly")] + /// Generate polygonal mesh + public static extern Mesh GenMeshPoly(int sides, float radius); + + [CallingConvention(.Cdecl), LinkName("GenMeshPlane")] + /// Generate plane mesh (with subdivisions) + public static extern Mesh GenMeshPlane(float width, float length, int resX, int resZ); + + [CallingConvention(.Cdecl), LinkName("GenMeshCube")] + /// Generate cuboid mesh + public static extern Mesh GenMeshCube(float width, float height, float length); + + [CallingConvention(.Cdecl), LinkName("GenMeshSphere")] + /// Generate sphere mesh (standard sphere) + public static extern Mesh GenMeshSphere(float radius, int rings, int slices); + + [CallingConvention(.Cdecl), LinkName("GenMeshHemiSphere")] + /// Generate half-sphere mesh (no bottom cap) + public static extern Mesh GenMeshHemiSphere(float radius, int rings, int slices); + + [CallingConvention(.Cdecl), LinkName("GenMeshCylinder")] + /// Generate cylinder mesh + public static extern Mesh GenMeshCylinder(float radius, float height, int slices); + + [CallingConvention(.Cdecl), LinkName("GenMeshCone")] + /// Generate cone/pyramid mesh + public static extern Mesh GenMeshCone(float radius, float height, int slices); + + [CallingConvention(.Cdecl), LinkName("GenMeshTorus")] + /// Generate torus mesh + public static extern Mesh GenMeshTorus(float radius, float size, int radSeg, int sides); + + [CallingConvention(.Cdecl), LinkName("GenMeshKnot")] + /// Generate trefoil knot mesh + public static extern Mesh GenMeshKnot(float radius, float size, int radSeg, int sides); + + [CallingConvention(.Cdecl), LinkName("GenMeshHeightmap")] + /// Generate heightmap mesh from image data + public static extern Mesh GenMeshHeightmap(Image heightmap, Vector3 size); + + [CallingConvention(.Cdecl), LinkName("GenMeshCubicmap")] + /// Generate cubes-based map mesh from image data + public static extern Mesh GenMeshCubicmap(Image cubicmap, Vector3 cubeSize); + + [CallingConvention(.Cdecl), LinkName("LoadMaterials")] + /// Load materials from model file + public static extern Material * LoadMaterials(char8 * fileName, int * materialCount); + + [CallingConvention(.Cdecl), LinkName("LoadMaterialDefault")] + /// Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps) + public static extern Material LoadMaterialDefault(); + + [CallingConvention(.Cdecl), LinkName("IsMaterialReady")] + /// Check if a material is ready + public static extern bool IsMaterialReady(Material material); + + [CallingConvention(.Cdecl), LinkName("UnloadMaterial")] + /// Unload material from GPU memory (VRAM) + public static extern void UnloadMaterial(Material material); + + [CallingConvention(.Cdecl), LinkName("SetMaterialTexture")] + /// Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...) + public static extern void SetMaterialTexture(Material * material, int mapType, Texture2D texture); + + [CallingConvention(.Cdecl), LinkName("SetModelMeshMaterial")] + /// Set material for a mesh + public static extern void SetModelMeshMaterial(Model * model, int meshId, int materialId); + + [CallingConvention(.Cdecl), LinkName("LoadModelAnimations")] + /// Load model animations from file + public static extern ModelAnimation * LoadModelAnimations(char8 * fileName, int * animCount); + + [CallingConvention(.Cdecl), LinkName("UpdateModelAnimation")] + /// Update model animation pose + public static extern void UpdateModelAnimation(Model model, ModelAnimation anim, int frame); + + [CallingConvention(.Cdecl), LinkName("UnloadModelAnimation")] + /// Unload animation data + public static extern void UnloadModelAnimation(ModelAnimation anim); + + [CallingConvention(.Cdecl), LinkName("UnloadModelAnimations")] + /// Unload animation array data + public static extern void UnloadModelAnimations(ModelAnimation * animations, int count); + + [CallingConvention(.Cdecl), LinkName("IsModelAnimationValid")] + /// Check model animation skeleton match + public static extern bool IsModelAnimationValid(Model model, ModelAnimation anim); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionSpheres")] + /// Check collision between two spheres + public static extern bool CheckCollisionSpheres(Vector3 center1, float radius1, Vector3 center2, float radius2); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionBoxes")] + /// Check collision between two bounding boxes + public static extern bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionBoxSphere")] + /// Check collision between box and sphere + public static extern bool CheckCollisionBoxSphere(BoundingBox @box, Vector3 center, float radius); + + [CallingConvention(.Cdecl), LinkName("GetRayCollisionSphere")] + /// Get collision info between ray and sphere + public static extern RayCollision GetRayCollisionSphere(Ray ray, Vector3 center, float radius); + + [CallingConvention(.Cdecl), LinkName("GetRayCollisionBox")] + /// Get collision info between ray and box + public static extern RayCollision GetRayCollisionBox(Ray ray, BoundingBox @box); + + [CallingConvention(.Cdecl), LinkName("GetRayCollisionMesh")] + /// Get collision info between ray and mesh + public static extern RayCollision GetRayCollisionMesh(Ray ray, Mesh mesh, Matrix transform); + + [CallingConvention(.Cdecl), LinkName("GetRayCollisionTriangle")] + /// Get collision info between ray and triangle + public static extern RayCollision GetRayCollisionTriangle(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3); + + [CallingConvention(.Cdecl), LinkName("GetRayCollisionQuad")] + /// Get collision info between ray and quad + public static extern RayCollision GetRayCollisionQuad(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3, Vector3 p4); + + [CallingConvention(.Cdecl), LinkName("InitAudioDevice")] + /// Initialize audio device and context + public static extern void InitAudioDevice(); + + [CallingConvention(.Cdecl), LinkName("CloseAudioDevice")] + /// Close the audio device and context + public static extern void CloseAudioDevice(); + + [CallingConvention(.Cdecl), LinkName("IsAudioDeviceReady")] + /// Check if audio device has been initialized successfully + public static extern bool IsAudioDeviceReady(); + + [CallingConvention(.Cdecl), LinkName("SetMasterVolume")] + /// Set master volume (listener) + public static extern void SetMasterVolume(float volume); + + [CallingConvention(.Cdecl), LinkName("LoadWave")] + /// Load wave data from file + public static extern Wave LoadWave(char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("LoadWaveFromMemory")] + /// Load wave from memory buffer, fileType refers to extension: i.e. '.wav' + public static extern Wave LoadWaveFromMemory(char8 * fileType, char8 * fileData, int dataSize); + + [CallingConvention(.Cdecl), LinkName("IsWaveReady")] + /// Checks if wave data is ready + public static extern bool IsWaveReady(Wave wave); + + [CallingConvention(.Cdecl), LinkName("LoadSound")] + /// Load sound from file + public static extern Sound LoadSound(char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("LoadSoundFromWave")] + /// Load sound from wave data + public static extern Sound LoadSoundFromWave(Wave wave); + + [CallingConvention(.Cdecl), LinkName("IsSoundReady")] + /// Checks if a sound is ready + public static extern bool IsSoundReady(Sound sound); + + [CallingConvention(.Cdecl), LinkName("UpdateSound")] + /// Update sound buffer with new data + public static extern void UpdateSound(Sound sound, void * data, int sampleCount); + + [CallingConvention(.Cdecl), LinkName("UnloadWave")] + /// Unload wave data + public static extern void UnloadWave(Wave wave); + + [CallingConvention(.Cdecl), LinkName("UnloadSound")] + /// Unload sound + public static extern void UnloadSound(Sound sound); + + [CallingConvention(.Cdecl), LinkName("ExportWave")] + /// Export wave data to file, returns true on success + public static extern bool ExportWave(Wave wave, char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("ExportWaveAsCode")] + /// Export wave sample data to code (.h), returns true on success + public static extern bool ExportWaveAsCode(Wave wave, char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("PlaySound")] + /// Play a sound + public static extern void PlaySound(Sound sound); + + [CallingConvention(.Cdecl), LinkName("StopSound")] + /// Stop playing a sound + public static extern void StopSound(Sound sound); + + [CallingConvention(.Cdecl), LinkName("PauseSound")] + /// Pause a sound + public static extern void PauseSound(Sound sound); + + [CallingConvention(.Cdecl), LinkName("ResumeSound")] + /// Resume a paused sound + public static extern void ResumeSound(Sound sound); + + [CallingConvention(.Cdecl), LinkName("IsSoundPlaying")] + /// Check if a sound is currently playing + public static extern bool IsSoundPlaying(Sound sound); + + [CallingConvention(.Cdecl), LinkName("SetSoundVolume")] + /// Set volume for a sound (1.0 is max level) + public static extern void SetSoundVolume(Sound sound, float volume); + + [CallingConvention(.Cdecl), LinkName("SetSoundPitch")] + /// Set pitch for a sound (1.0 is base level) + public static extern void SetSoundPitch(Sound sound, float pitch); + + [CallingConvention(.Cdecl), LinkName("SetSoundPan")] + /// Set pan for a sound (0.5 is center) + public static extern void SetSoundPan(Sound sound, float pan); + + [CallingConvention(.Cdecl), LinkName("WaveCopy")] + /// Copy a wave to a new wave + public static extern Wave WaveCopy(Wave wave); + + [CallingConvention(.Cdecl), LinkName("WaveCrop")] + /// Crop a wave to defined samples range + public static extern void WaveCrop(Wave * wave, int initSample, int finalSample); + + [CallingConvention(.Cdecl), LinkName("WaveFormat")] + /// Convert wave data to desired format + public static extern void WaveFormat(Wave * wave, int sampleRate, int sampleSize, int channels); + + [CallingConvention(.Cdecl), LinkName("LoadWaveSamples")] + /// Load samples data from wave as a 32bit float data array + public static extern float * LoadWaveSamples(Wave wave); + + [CallingConvention(.Cdecl), LinkName("UnloadWaveSamples")] + /// Unload samples data loaded with LoadWaveSamples() + public static extern void UnloadWaveSamples(float * samples); + + [CallingConvention(.Cdecl), LinkName("LoadMusicStream")] + /// Load music stream from file + public static extern Music LoadMusicStream(char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("LoadMusicStreamFromMemory")] + /// Load music stream from data + public static extern Music LoadMusicStreamFromMemory(char8 * fileType, char8 * data, int dataSize); + + [CallingConvention(.Cdecl), LinkName("IsMusicReady")] + /// Checks if a music stream is ready + public static extern bool IsMusicReady(Music music); + + [CallingConvention(.Cdecl), LinkName("UnloadMusicStream")] + /// Unload music stream + public static extern void UnloadMusicStream(Music music); + + [CallingConvention(.Cdecl), LinkName("PlayMusicStream")] + /// Start music playing + public static extern void PlayMusicStream(Music music); + + [CallingConvention(.Cdecl), LinkName("IsMusicStreamPlaying")] + /// Check if music is playing + public static extern bool IsMusicStreamPlaying(Music music); + + [CallingConvention(.Cdecl), LinkName("UpdateMusicStream")] + /// Updates buffers for music streaming + public static extern void UpdateMusicStream(Music music); + + [CallingConvention(.Cdecl), LinkName("StopMusicStream")] + /// Stop music playing + public static extern void StopMusicStream(Music music); + + [CallingConvention(.Cdecl), LinkName("PauseMusicStream")] + /// Pause music playing + public static extern void PauseMusicStream(Music music); + + [CallingConvention(.Cdecl), LinkName("ResumeMusicStream")] + /// Resume playing paused music + public static extern void ResumeMusicStream(Music music); + + [CallingConvention(.Cdecl), LinkName("SeekMusicStream")] + /// Seek music to a position (in seconds) + public static extern void SeekMusicStream(Music music, float position); + + [CallingConvention(.Cdecl), LinkName("SetMusicVolume")] + /// Set volume for music (1.0 is max level) + public static extern void SetMusicVolume(Music music, float volume); + + [CallingConvention(.Cdecl), LinkName("SetMusicPitch")] + /// Set pitch for a music (1.0 is base level) + public static extern void SetMusicPitch(Music music, float pitch); + + [CallingConvention(.Cdecl), LinkName("SetMusicPan")] + /// Set pan for a music (0.5 is center) + public static extern void SetMusicPan(Music music, float pan); + + [CallingConvention(.Cdecl), LinkName("GetMusicTimeLength")] + /// Get music time length (in seconds) + public static extern float GetMusicTimeLength(Music music); + + [CallingConvention(.Cdecl), LinkName("GetMusicTimePlayed")] + /// Get current music time played (in seconds) + public static extern float GetMusicTimePlayed(Music music); + + [CallingConvention(.Cdecl), LinkName("LoadAudioStream")] + /// Load audio stream (to stream raw audio pcm data) + public static extern AudioStream LoadAudioStream(int sampleRate, int sampleSize, int channels); + + [CallingConvention(.Cdecl), LinkName("IsAudioStreamReady")] + /// Checks if an audio stream is ready + public static extern bool IsAudioStreamReady(AudioStream stream); + + [CallingConvention(.Cdecl), LinkName("UnloadAudioStream")] + /// Unload audio stream and free memory + public static extern void UnloadAudioStream(AudioStream stream); + + [CallingConvention(.Cdecl), LinkName("UpdateAudioStream")] + /// Update audio stream buffers with data + public static extern void UpdateAudioStream(AudioStream stream, void * data, int frameCount); + + [CallingConvention(.Cdecl), LinkName("IsAudioStreamProcessed")] + /// Check if any audio stream buffers requires refill + public static extern bool IsAudioStreamProcessed(AudioStream stream); + + [CallingConvention(.Cdecl), LinkName("PlayAudioStream")] + /// Play audio stream + public static extern void PlayAudioStream(AudioStream stream); + + [CallingConvention(.Cdecl), LinkName("PauseAudioStream")] + /// Pause audio stream + public static extern void PauseAudioStream(AudioStream stream); + + [CallingConvention(.Cdecl), LinkName("ResumeAudioStream")] + /// Resume audio stream + public static extern void ResumeAudioStream(AudioStream stream); + + [CallingConvention(.Cdecl), LinkName("IsAudioStreamPlaying")] + /// Check if audio stream is playing + public static extern bool IsAudioStreamPlaying(AudioStream stream); + + [CallingConvention(.Cdecl), LinkName("StopAudioStream")] + /// Stop audio stream + public static extern void StopAudioStream(AudioStream stream); + + [CallingConvention(.Cdecl), LinkName("SetAudioStreamVolume")] + /// Set volume for audio stream (1.0 is max level) + public static extern void SetAudioStreamVolume(AudioStream stream, float volume); + + [CallingConvention(.Cdecl), LinkName("SetAudioStreamPitch")] + /// Set pitch for audio stream (1.0 is base level) + public static extern void SetAudioStreamPitch(AudioStream stream, float pitch); + + [CallingConvention(.Cdecl), LinkName("SetAudioStreamPan")] + /// Set pan for audio stream (0.5 is centered) + public static extern void SetAudioStreamPan(AudioStream stream, float pan); + + [CallingConvention(.Cdecl), LinkName("SetAudioStreamBufferSizeDefault")] + /// Default size for new audio streams + public static extern void SetAudioStreamBufferSizeDefault(int size); + + [CallingConvention(.Cdecl), LinkName("SetAudioStreamCallback")] + /// Audio thread callback to request new data + public static extern void SetAudioStreamCallback(AudioStream stream, AudioCallback callback); + + [CallingConvention(.Cdecl), LinkName("AttachAudioStreamProcessor")] + /// Attach audio stream processor to stream + public static extern void AttachAudioStreamProcessor(AudioStream stream, AudioCallback processor); + + [CallingConvention(.Cdecl), LinkName("DetachAudioStreamProcessor")] + /// Detach audio stream processor from stream + public static extern void DetachAudioStreamProcessor(AudioStream stream, AudioCallback processor); + + [CallingConvention(.Cdecl), LinkName("AttachAudioMixedProcessor")] + /// Attach audio stream processor to the entire audio pipeline + public static extern void AttachAudioMixedProcessor(AudioCallback processor); + + [CallingConvention(.Cdecl), LinkName("DetachAudioMixedProcessor")] + /// Detach audio stream processor from the entire audio pipeline + public static extern void DetachAudioMixedProcessor(AudioCallback processor); + +} diff --git a/beef/recovery/RenderTexture_049E45A26EED18AEA81D51D8ADBC97CD.bf b/beef/recovery/RenderTexture_049E45A26EED18AEA81D51D8ADBC97CD.bf new file mode 100644 index 0000000..ac10c99 --- /dev/null +++ b/beef/recovery/RenderTexture_049E45A26EED18AEA81D51D8ADBC97CD.bf @@ -0,0 +1,25 @@ +using System; + +namespace Raylib; + +ty + +[CRepr] +public struct RenderTexture +{ + // OpenGL framebuffer object id + public int id; + + // Color buffer attachment texture + public Texture texture; + + // Depth buffer attachment texture + public Texture depth; + + public this(int id, Texture texture, Texture depth) + { + this.id = id; + this.texture = texture; + this.depth = depth; + } +} diff --git a/beef/recovery/index.txt b/beef/recovery/index.txt new file mode 100644 index 0000000..522d916 --- /dev/null +++ b/beef/recovery/index.txt @@ -0,0 +1,2 @@ +c:\Dev\raylib-beef\beef\src\test\Material.bf BFC698AC4E10695ED31AAB47ADBB91F6 0880BB8D2D2DD86E15919D346569685C 222 +c:\Dev\raylib-beef\beef\src\test\Raylib.bf 23F18076295C7EFD5C4FB3F597CD1B2D 1578C895B1171CBF04FBBB82851AC82F 88968 diff --git a/beef/src/Program.bf b/beef/src/Program.bf new file mode 100644 index 0000000..51f11f2 --- /dev/null +++ b/beef/src/Program.bf @@ -0,0 +1,11 @@ +namespace beef; + +using Raylib; + +class Program +{ + public static int Main() + { + return 0; + } +} \ No newline at end of file diff --git a/beef/src/test/AudioStream.bf b/beef/src/test/AudioStream.bf new file mode 100644 index 0000000..c566a97 --- /dev/null +++ b/beef/src/test/AudioStream.bf @@ -0,0 +1,32 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct AudioStream +{ + /// Pointer to internal data used by the audio system + public rAudioBuffer * buffer; + + /// Pointer to internal data processor, useful for audio effects + public rAudioProcessor * processor; + + /// Frequency (samples per second) + public int sampleRate; + + /// Bit depth (bits per sample): 8, 16, 32 (24 not supported) + public int sampleSize; + + /// Number of channels (1-mono, 2-stereo, ...) + public int channels; + + public this(rAudioBuffer * buffer, rAudioProcessor * processor, int sampleRate, int sampleSize, int channels) + { + this.buffer = buffer; + this.processor = processor; + this.sampleRate = sampleRate; + this.sampleSize = sampleSize; + this.channels = channels; + } +} diff --git a/beef/src/test/BoneInfo.bf b/beef/src/test/BoneInfo.bf new file mode 100644 index 0000000..e49b071 --- /dev/null +++ b/beef/src/test/BoneInfo.bf @@ -0,0 +1,20 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct BoneInfo +{ + /// Bone name + public char8[32] name; + + /// Bone parent + public int parent; + + public this(char8[32] name, int parent) + { + this.name = name; + this.parent = parent; + } +} diff --git a/beef/src/test/BoundingBox.bf b/beef/src/test/BoundingBox.bf new file mode 100644 index 0000000..0876bbd --- /dev/null +++ b/beef/src/test/BoundingBox.bf @@ -0,0 +1,20 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct BoundingBox +{ + /// Minimum vertex box-corner + public Vector3 min; + + /// Maximum vertex box-corner + public Vector3 max; + + public this(Vector3 min, Vector3 max) + { + this.min = min; + this.max = max; + } +} diff --git a/beef/src/test/Callbacks.bf b/beef/src/test/Callbacks.bf new file mode 100644 index 0000000..78fdd81 --- /dev/null +++ b/beef/src/test/Callbacks.bf @@ -0,0 +1,25 @@ +using System; +using System.Interop; + +namespace Raylib; + +static +{ + /// Logging: Redirect trace log messages + public function void TraceLogCallback(int logLevel, char8 * text, void* args); + + /// FileIO: Load binary data + public function char8 * LoadFileDataCallback(char8 * fileName, int * bytesRead); + + /// FileIO: Save binary data + public function bool SaveFileDataCallback(char8 * fileName, void * data, int bytesToWrite); + + /// FileIO: Load text data + public function char8 * LoadFileTextCallback(char8 * fileName); + + /// FileIO: Save text data + public function bool SaveFileTextCallback(char8 * fileName, char8 * text); + + public function void AudioCallback(void * bufferData, int frames); + +} diff --git a/beef/src/test/Camera2D.bf b/beef/src/test/Camera2D.bf new file mode 100644 index 0000000..27ba7b1 --- /dev/null +++ b/beef/src/test/Camera2D.bf @@ -0,0 +1,28 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct Camera2D +{ + /// Camera offset (displacement from target) + public Vector2 offset; + + /// Camera target (rotation and zoom origin) + public Vector2 target; + + /// Camera rotation in degrees + public float rotation; + + /// Camera zoom (scaling), should be 1.0f by default + public float zoom; + + public this(Vector2 offset, Vector2 target, float rotation, float zoom) + { + this.offset = offset; + this.target = target; + this.rotation = rotation; + this.zoom = zoom; + } +} diff --git a/beef/src/test/Camera3D.bf b/beef/src/test/Camera3D.bf new file mode 100644 index 0000000..d22f8bc --- /dev/null +++ b/beef/src/test/Camera3D.bf @@ -0,0 +1,34 @@ +using System; +using System.Interop; + +namespace Raylib; + +typealias Camera = Camera3D; + +[CRepr] +public struct Camera3D +{ + /// Camera position + public Vector3 position; + + /// Camera target it looks-at + public Vector3 target; + + /// Camera up vector (rotation over its axis) + public Vector3 up; + + /// Camera field-of-view aperture in Y (degrees) in perspective, used as near plane width in orthographic + public float fovy; + + /// Camera projection: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC + public int projection; + + public this(Vector3 position, Vector3 target, Vector3 up, float fovy, int projection) + { + this.position = position; + this.target = target; + this.up = up; + this.fovy = fovy; + this.projection = projection; + } +} diff --git a/beef/src/test/Color.bf b/beef/src/test/Color.bf new file mode 100644 index 0000000..11685a7 --- /dev/null +++ b/beef/src/test/Color.bf @@ -0,0 +1,28 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct Color +{ + /// Color red value + public char8 r; + + /// Color green value + public char8 g; + + /// Color blue value + public char8 b; + + /// Color alpha value + public char8 a; + + public this(char8 r, char8 g, char8 b, char8 a) + { + this.r = r; + this.g = g; + this.b = b; + this.a = a; + } +} diff --git a/beef/src/test/FilePathList.bf b/beef/src/test/FilePathList.bf new file mode 100644 index 0000000..a354afc --- /dev/null +++ b/beef/src/test/FilePathList.bf @@ -0,0 +1,24 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct FilePathList +{ + /// Filepaths max entries + public int capacity; + + /// Filepaths entries count + public int count; + + /// Filepaths entries + public char8 ** paths; + + public this(int capacity, int count, char8 ** paths) + { + this.capacity = capacity; + this.count = count; + this.paths = paths; + } +} diff --git a/beef/src/test/Font.bf b/beef/src/test/Font.bf new file mode 100644 index 0000000..c4827d2 --- /dev/null +++ b/beef/src/test/Font.bf @@ -0,0 +1,36 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct Font +{ + /// Base size (default chars height) + public int baseSize; + + /// Number of glyph characters + public int glyphCount; + + /// Padding around the glyph characters + public int glyphPadding; + + /// Texture atlas containing the glyphs + public Texture2D texture; + + /// Rectangles in texture for the glyphs + public Rectangle * recs; + + /// Glyphs info data + public GlyphInfo * glyphs; + + public this(int baseSize, int glyphCount, int glyphPadding, Texture2D texture, Rectangle * recs, GlyphInfo * glyphs) + { + this.baseSize = baseSize; + this.glyphCount = glyphCount; + this.glyphPadding = glyphPadding; + this.texture = texture; + this.recs = recs; + this.glyphs = glyphs; + } +} diff --git a/beef/src/test/GlyphInfo.bf b/beef/src/test/GlyphInfo.bf new file mode 100644 index 0000000..21de5d2 --- /dev/null +++ b/beef/src/test/GlyphInfo.bf @@ -0,0 +1,32 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct GlyphInfo +{ + /// Character value (Unicode) + public int value; + + /// Character offset X when drawing + public int offsetX; + + /// Character offset Y when drawing + public int offsetY; + + /// Character advance position X + public int advanceX; + + /// Character image data + public Image image; + + public this(int value, int offsetX, int offsetY, int advanceX, Image image) + { + this.value = value; + this.offsetX = offsetX; + this.offsetY = offsetY; + this.advanceX = advanceX; + this.image = image; + } +} diff --git a/beef/src/test/Image.bf b/beef/src/test/Image.bf new file mode 100644 index 0000000..b232dba --- /dev/null +++ b/beef/src/test/Image.bf @@ -0,0 +1,32 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct Image +{ + /// Image raw data + public void * data; + + /// Image base width + public int width; + + /// Image base height + public int height; + + /// Mipmap levels, 1 by default + public int mipmaps; + + /// Data format (PixelFormat type) + public int format; + + public this(void * data, int width, int height, int mipmaps, int format) + { + this.data = data; + this.width = width; + this.height = height; + this.mipmaps = mipmaps; + this.format = format; + } +} diff --git a/beef/src/test/Material.bf b/beef/src/test/Material.bf new file mode 100644 index 0000000..9dc3ca8 --- /dev/null +++ b/beef/src/test/Material.bf @@ -0,0 +1,24 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct Material +{ + /// Material shader + public Shader shader; + + /// Material maps array (MAX_MATERIAL_MAPS) + public MaterialMap * maps; + + /// Material generic parameters (if required) + public float[4] @params; + + public this(Shader shader, MaterialMap * maps, float[4] @params) + { + this.shader = shader; + this.maps = maps; + this.params = @params; + } +} diff --git a/beef/src/test/MaterialMap.bf b/beef/src/test/MaterialMap.bf new file mode 100644 index 0000000..6b06287 --- /dev/null +++ b/beef/src/test/MaterialMap.bf @@ -0,0 +1,24 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct MaterialMap +{ + /// Material map texture + public Texture2D texture; + + /// Material map color + public Color color; + + /// Material map value + public float value; + + public this(Texture2D texture, Color color, float value) + { + this.texture = texture; + this.color = color; + this.value = value; + } +} diff --git a/beef/src/test/Matrix.bf b/beef/src/test/Matrix.bf new file mode 100644 index 0000000..252981a --- /dev/null +++ b/beef/src/test/Matrix.bf @@ -0,0 +1,76 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct Matrix +{ + /// Matrix first row (4 components) + public float m0; + + /// Matrix first row (4 components) + public float m4; + + /// Matrix first row (4 components) + public float m8; + + /// Matrix first row (4 components) + public float m12; + + /// Matrix second row (4 components) + public float m1; + + /// Matrix second row (4 components) + public float m5; + + /// Matrix second row (4 components) + public float m9; + + /// Matrix second row (4 components) + public float m13; + + /// Matrix third row (4 components) + public float m2; + + /// Matrix third row (4 components) + public float m6; + + /// Matrix third row (4 components) + public float m10; + + /// Matrix third row (4 components) + public float m14; + + /// Matrix fourth row (4 components) + public float m3; + + /// Matrix fourth row (4 components) + public float m7; + + /// Matrix fourth row (4 components) + public float m11; + + /// Matrix fourth row (4 components) + public float m15; + + public this(float m0, float m4, float m8, float m12, float m1, float m5, float m9, float m13, float m2, float m6, float m10, float m14, float m3, float m7, float m11, float m15) + { + this.m0 = m0; + this.m4 = m4; + this.m8 = m8; + this.m12 = m12; + this.m1 = m1; + this.m5 = m5; + this.m9 = m9; + this.m13 = m13; + this.m2 = m2; + this.m6 = m6; + this.m10 = m10; + this.m14 = m14; + this.m3 = m3; + this.m7 = m7; + this.m11 = m11; + this.m15 = m15; + } +} diff --git a/beef/src/test/Mesh.bf b/beef/src/test/Mesh.bf new file mode 100644 index 0000000..b0eec92 --- /dev/null +++ b/beef/src/test/Mesh.bf @@ -0,0 +1,72 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct Mesh +{ + /// Number of vertices stored in arrays + public int vertexCount; + + /// Number of triangles stored (indexed or not) + public int triangleCount; + + /// Vertex position (XYZ - 3 components per vertex) (shader-location = 0) + public float * vertices; + + /// Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) + public float * texcoords; + + /// Vertex texture second coordinates (UV - 2 components per vertex) (shader-location = 5) + public float * texcoords2; + + /// Vertex normals (XYZ - 3 components per vertex) (shader-location = 2) + public float * normals; + + /// Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4) + public float * tangents; + + /// Vertex colors (RGBA - 4 components per vertex) (shader-location = 3) + public char8 * colors; + + /// Vertex indices (in case vertex data comes indexed) + public short * indices; + + /// Animated vertex positions (after bones transformations) + public float * animVertices; + + /// Animated normals (after bones transformations) + public float * animNormals; + + /// Vertex bone ids, max 255 bone ids, up to 4 bones influence by vertex (skinning) + public char8 * boneIds; + + /// Vertex bone weight, up to 4 bones influence by vertex (skinning) + public float * boneWeights; + + /// OpenGL Vertex Array Object id + public int vaoId; + + /// OpenGL Vertex Buffer Objects id (default vertex data) + public int * vboId; + + public this(int vertexCount, int triangleCount, float * vertices, float * texcoords, float * texcoords2, float * normals, float * tangents, char8 * colors, short * indices, float * animVertices, float * animNormals, char8 * boneIds, float * boneWeights, int vaoId, int * vboId) + { + this.vertexCount = vertexCount; + this.triangleCount = triangleCount; + this.vertices = vertices; + this.texcoords = texcoords; + this.texcoords2 = texcoords2; + this.normals = normals; + this.tangents = tangents; + this.colors = colors; + this.indices = indices; + this.animVertices = animVertices; + this.animNormals = animNormals; + this.boneIds = boneIds; + this.boneWeights = boneWeights; + this.vaoId = vaoId; + this.vboId = vboId; + } +} diff --git a/beef/src/test/Model.bf b/beef/src/test/Model.bf new file mode 100644 index 0000000..43dfe1e --- /dev/null +++ b/beef/src/test/Model.bf @@ -0,0 +1,48 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct Model +{ + /// Local transform matrix + public Matrix transform; + + /// Number of meshes + public int meshCount; + + /// Number of materials + public int materialCount; + + /// Meshes array + public Mesh * meshes; + + /// Materials array + public Material * materials; + + /// Mesh material number + public int * meshMaterial; + + /// Number of bones + public int boneCount; + + /// Bones information (skeleton) + public BoneInfo * bones; + + /// Bones base transformation (pose) + public Transform * bindPose; + + public this(Matrix transform, int meshCount, int materialCount, Mesh * meshes, Material * materials, int * meshMaterial, int boneCount, BoneInfo * bones, Transform * bindPose) + { + this.transform = transform; + this.meshCount = meshCount; + this.materialCount = materialCount; + this.meshes = meshes; + this.materials = materials; + this.meshMaterial = meshMaterial; + this.boneCount = boneCount; + this.bones = bones; + this.bindPose = bindPose; + } +} diff --git a/beef/src/test/ModelAnimation.bf b/beef/src/test/ModelAnimation.bf new file mode 100644 index 0000000..d3f2ba2 --- /dev/null +++ b/beef/src/test/ModelAnimation.bf @@ -0,0 +1,28 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct ModelAnimation +{ + /// Number of bones + public int boneCount; + + /// Number of animation frames + public int frameCount; + + /// Bones information (skeleton) + public BoneInfo * bones; + + /// Poses array by frame + public Transform ** framePoses; + + public this(int boneCount, int frameCount, BoneInfo * bones, Transform ** framePoses) + { + this.boneCount = boneCount; + this.frameCount = frameCount; + this.bones = bones; + this.framePoses = framePoses; + } +} diff --git a/beef/src/test/Music.bf b/beef/src/test/Music.bf new file mode 100644 index 0000000..c03d988 --- /dev/null +++ b/beef/src/test/Music.bf @@ -0,0 +1,32 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct Music +{ + /// Audio stream + public AudioStream stream; + + /// Total number of frames (considering channels) + public int frameCount; + + /// Music looping enable + public bool looping; + + /// Type of music context (audio filetype) + public int ctxType; + + /// Audio context data, depends on type + public void * ctxData; + + public this(AudioStream stream, int frameCount, bool looping, int ctxType, void * ctxData) + { + this.stream = stream; + this.frameCount = frameCount; + this.looping = looping; + this.ctxType = ctxType; + this.ctxData = ctxData; + } +} diff --git a/beef/src/test/NPatchInfo.bf b/beef/src/test/NPatchInfo.bf new file mode 100644 index 0000000..67dc823 --- /dev/null +++ b/beef/src/test/NPatchInfo.bf @@ -0,0 +1,36 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct NPatchInfo +{ + /// Texture source rectangle + public Rectangle source; + + /// Left border offset + public int left; + + /// Top border offset + public int top; + + /// Right border offset + public int right; + + /// Bottom border offset + public int bottom; + + /// Layout of the n-patch: 3x3, 1x3 or 3x1 + public int layout; + + public this(Rectangle source, int left, int top, int right, int bottom, int layout) + { + this.source = source; + this.left = left; + this.top = top; + this.right = right; + this.bottom = bottom; + this.layout = layout; + } +} diff --git a/beef/src/test/Ray.bf b/beef/src/test/Ray.bf new file mode 100644 index 0000000..e064850 --- /dev/null +++ b/beef/src/test/Ray.bf @@ -0,0 +1,20 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct Ray +{ + /// Ray position (origin) + public Vector3 position; + + /// Ray direction + public Vector3 direction; + + public this(Vector3 position, Vector3 direction) + { + this.position = position; + this.direction = direction; + } +} diff --git a/beef/src/test/RayCollision.bf b/beef/src/test/RayCollision.bf new file mode 100644 index 0000000..8396347 --- /dev/null +++ b/beef/src/test/RayCollision.bf @@ -0,0 +1,28 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct RayCollision +{ + /// Did the ray hit something? + public bool hit; + + /// Distance to the nearest hit + public float distance; + + /// Point of the nearest hit + public Vector3 point; + + /// Surface normal of hit + public Vector3 normal; + + public this(bool hit, float distance, Vector3 point, Vector3 normal) + { + this.hit = hit; + this.distance = distance; + this.point = point; + this.normal = normal; + } +} diff --git a/beef/src/test/Raylib.bf b/beef/src/test/Raylib.bf new file mode 100644 index 0000000..6e6ed3b --- /dev/null +++ b/beef/src/test/Raylib.bf @@ -0,0 +1,2076 @@ +using System; +using System.Interop; + +namespace Raylib; + +static +{ + [CallingConvention(.Cdecl), LinkName("InitWindow")] + /// Initialize window and OpenGL context + public static extern void InitWindow(int width, int height, char8 * title); + + [CallingConvention(.Cdecl), LinkName("WindowShouldClose")] + /// Check if KEY_ESCAPE pressed or Close icon pressed + public static extern bool WindowShouldClose(); + + [CallingConvention(.Cdecl), LinkName("CloseWindow")] + /// Close window and unload OpenGL context + public static extern void CloseWindow(); + + [CallingConvention(.Cdecl), LinkName("IsWindowReady")] + /// Check if window has been initialized successfully + public static extern bool IsWindowReady(); + + [CallingConvention(.Cdecl), LinkName("IsWindowFullscreen")] + /// Check if window is currently fullscreen + public static extern bool IsWindowFullscreen(); + + [CallingConvention(.Cdecl), LinkName("IsWindowHidden")] + /// Check if window is currently hidden (only PLATFORM_DESKTOP) + public static extern bool IsWindowHidden(); + + [CallingConvention(.Cdecl), LinkName("IsWindowMinimized")] + /// Check if window is currently minimized (only PLATFORM_DESKTOP) + public static extern bool IsWindowMinimized(); + + [CallingConvention(.Cdecl), LinkName("IsWindowMaximized")] + /// Check if window is currently maximized (only PLATFORM_DESKTOP) + public static extern bool IsWindowMaximized(); + + [CallingConvention(.Cdecl), LinkName("IsWindowFocused")] + /// Check if window is currently focused (only PLATFORM_DESKTOP) + public static extern bool IsWindowFocused(); + + [CallingConvention(.Cdecl), LinkName("IsWindowResized")] + /// Check if window has been resized last frame + public static extern bool IsWindowResized(); + + [CallingConvention(.Cdecl), LinkName("IsWindowState")] + /// Check if one specific window flag is enabled + public static extern bool IsWindowState(int flag); + + [CallingConvention(.Cdecl), LinkName("SetWindowState")] + /// Set window configuration state using flags (only PLATFORM_DESKTOP) + public static extern void SetWindowState(int flags); + + [CallingConvention(.Cdecl), LinkName("ClearWindowState")] + /// Clear window configuration state flags + public static extern void ClearWindowState(int flags); + + [CallingConvention(.Cdecl), LinkName("ToggleFullscreen")] + /// Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP) + public static extern void ToggleFullscreen(); + + [CallingConvention(.Cdecl), LinkName("MaximizeWindow")] + /// Set window state: maximized, if resizable (only PLATFORM_DESKTOP) + public static extern void MaximizeWindow(); + + [CallingConvention(.Cdecl), LinkName("MinimizeWindow")] + /// Set window state: minimized, if resizable (only PLATFORM_DESKTOP) + public static extern void MinimizeWindow(); + + [CallingConvention(.Cdecl), LinkName("RestoreWindow")] + /// Set window state: not minimized/maximized (only PLATFORM_DESKTOP) + public static extern void RestoreWindow(); + + [CallingConvention(.Cdecl), LinkName("SetWindowIcon")] + /// Set icon for window (single image, RGBA 32bit, only PLATFORM_DESKTOP) + public static extern void SetWindowIcon(Image image); + + [CallingConvention(.Cdecl), LinkName("SetWindowIcons")] + /// Set icon for window (multiple images, RGBA 32bit, only PLATFORM_DESKTOP) + public static extern void SetWindowIcons(Image * images, int count); + + [CallingConvention(.Cdecl), LinkName("SetWindowTitle")] + /// Set title for window (only PLATFORM_DESKTOP) + public static extern void SetWindowTitle(char8 * title); + + [CallingConvention(.Cdecl), LinkName("SetWindowPosition")] + /// Set window position on screen (only PLATFORM_DESKTOP) + public static extern void SetWindowPosition(int x, int y); + + [CallingConvention(.Cdecl), LinkName("SetWindowMonitor")] + /// Set monitor for the current window (fullscreen mode) + public static extern void SetWindowMonitor(int monitor); + + [CallingConvention(.Cdecl), LinkName("SetWindowMinSize")] + /// Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE) + public static extern void SetWindowMinSize(int width, int height); + + [CallingConvention(.Cdecl), LinkName("SetWindowSize")] + /// Set window dimensions + public static extern void SetWindowSize(int width, int height); + + [CallingConvention(.Cdecl), LinkName("SetWindowOpacity")] + /// Set window opacity [0.0f..1.0f] (only PLATFORM_DESKTOP) + public static extern void SetWindowOpacity(float opacity); + + [CallingConvention(.Cdecl), LinkName("GetWindowHandle")] + /// Get native window handle + public static extern void * GetWindowHandle(); + + [CallingConvention(.Cdecl), LinkName("GetScreenWidth")] + /// Get current screen width + public static extern int GetScreenWidth(); + + [CallingConvention(.Cdecl), LinkName("GetScreenHeight")] + /// Get current screen height + public static extern int GetScreenHeight(); + + [CallingConvention(.Cdecl), LinkName("GetRenderWidth")] + /// Get current render width (it considers HiDPI) + public static extern int GetRenderWidth(); + + [CallingConvention(.Cdecl), LinkName("GetRenderHeight")] + /// Get current render height (it considers HiDPI) + public static extern int GetRenderHeight(); + + [CallingConvention(.Cdecl), LinkName("GetMonitorCount")] + /// Get number of connected monitors + public static extern int GetMonitorCount(); + + [CallingConvention(.Cdecl), LinkName("GetCurrentMonitor")] + /// Get current connected monitor + public static extern int GetCurrentMonitor(); + + [CallingConvention(.Cdecl), LinkName("GetMonitorPosition")] + /// Get specified monitor position + public static extern Vector2 GetMonitorPosition(int monitor); + + [CallingConvention(.Cdecl), LinkName("GetMonitorWidth")] + /// Get specified monitor width (current video mode used by monitor) + public static extern int GetMonitorWidth(int monitor); + + [CallingConvention(.Cdecl), LinkName("GetMonitorHeight")] + /// Get specified monitor height (current video mode used by monitor) + public static extern int GetMonitorHeight(int monitor); + + [CallingConvention(.Cdecl), LinkName("GetMonitorPhysicalWidth")] + /// Get specified monitor physical width in millimetres + public static extern int GetMonitorPhysicalWidth(int monitor); + + [CallingConvention(.Cdecl), LinkName("GetMonitorPhysicalHeight")] + /// Get specified monitor physical height in millimetres + public static extern int GetMonitorPhysicalHeight(int monitor); + + [CallingConvention(.Cdecl), LinkName("GetMonitorRefreshRate")] + /// Get specified monitor refresh rate + public static extern int GetMonitorRefreshRate(int monitor); + + [CallingConvention(.Cdecl), LinkName("GetWindowPosition")] + /// Get window position XY on monitor + public static extern Vector2 GetWindowPosition(); + + [CallingConvention(.Cdecl), LinkName("GetWindowScaleDPI")] + /// Get window scale DPI factor + public static extern Vector2 GetWindowScaleDPI(); + + [CallingConvention(.Cdecl), LinkName("GetMonitorName")] + /// Get the human-readable, UTF-8 encoded name of the primary monitor + public static extern char8 * GetMonitorName(int monitor); + + [CallingConvention(.Cdecl), LinkName("SetClipboardText")] + /// Set clipboard text content + public static extern void SetClipboardText(char8 * text); + + [CallingConvention(.Cdecl), LinkName("GetClipboardText")] + /// Get clipboard text content + public static extern char8 * GetClipboardText(); + + [CallingConvention(.Cdecl), LinkName("EnableEventWaiting")] + /// Enable waiting for events on EndDrawing(), no automatic event polling + public static extern void EnableEventWaiting(); + + [CallingConvention(.Cdecl), LinkName("DisableEventWaiting")] + /// Disable waiting for events on EndDrawing(), automatic events polling + public static extern void DisableEventWaiting(); + + [CallingConvention(.Cdecl), LinkName("SwapScreenBuffer")] + /// Swap back buffer with front buffer (screen drawing) + public static extern void SwapScreenBuffer(); + + [CallingConvention(.Cdecl), LinkName("PollInputEvents")] + /// Register all input events + public static extern void PollInputEvents(); + + [CallingConvention(.Cdecl), LinkName("WaitTime")] + /// Wait for some time (halt program execution) + public static extern void WaitTime(double seconds); + + [CallingConvention(.Cdecl), LinkName("ShowCursor")] + /// Shows cursor + public static extern void ShowCursor(); + + [CallingConvention(.Cdecl), LinkName("HideCursor")] + /// Hides cursor + public static extern void HideCursor(); + + [CallingConvention(.Cdecl), LinkName("IsCursorHidden")] + /// Check if cursor is not visible + public static extern bool IsCursorHidden(); + + [CallingConvention(.Cdecl), LinkName("EnableCursor")] + /// Enables cursor (unlock cursor) + public static extern void EnableCursor(); + + [CallingConvention(.Cdecl), LinkName("DisableCursor")] + /// Disables cursor (lock cursor) + public static extern void DisableCursor(); + + [CallingConvention(.Cdecl), LinkName("IsCursorOnScreen")] + /// Check if cursor is on the screen + public static extern bool IsCursorOnScreen(); + + [CallingConvention(.Cdecl), LinkName("ClearBackground")] + /// Set background color (framebuffer clear color) + public static extern void ClearBackground(Color color); + + [CallingConvention(.Cdecl), LinkName("BeginDrawing")] + /// Setup canvas (framebuffer) to start drawing + public static extern void BeginDrawing(); + + [CallingConvention(.Cdecl), LinkName("EndDrawing")] + /// End canvas drawing and swap buffers (double buffering) + public static extern void EndDrawing(); + + [CallingConvention(.Cdecl), LinkName("BeginMode2D")] + /// Begin 2D mode with custom camera (2D) + public static extern void BeginMode2D(Camera2D camera); + + [CallingConvention(.Cdecl), LinkName("EndMode2D")] + /// Ends 2D mode with custom camera + public static extern void EndMode2D(); + + [CallingConvention(.Cdecl), LinkName("BeginMode3D")] + /// Begin 3D mode with custom camera (3D) + public static extern void BeginMode3D(Camera3D camera); + + [CallingConvention(.Cdecl), LinkName("EndMode3D")] + /// Ends 3D mode and returns to default 2D orthographic mode + public static extern void EndMode3D(); + + [CallingConvention(.Cdecl), LinkName("BeginTextureMode")] + /// Begin drawing to render texture + public static extern void BeginTextureMode(RenderTexture2D target); + + [CallingConvention(.Cdecl), LinkName("EndTextureMode")] + /// Ends drawing to render texture + public static extern void EndTextureMode(); + + [CallingConvention(.Cdecl), LinkName("BeginShaderMode")] + /// Begin custom shader drawing + public static extern void BeginShaderMode(Shader shader); + + [CallingConvention(.Cdecl), LinkName("EndShaderMode")] + /// End custom shader drawing (use default shader) + public static extern void EndShaderMode(); + + [CallingConvention(.Cdecl), LinkName("BeginBlendMode")] + /// Begin blending mode (alpha, additive, multiplied, subtract, custom) + public static extern void BeginBlendMode(int mode); + + [CallingConvention(.Cdecl), LinkName("EndBlendMode")] + /// End blending mode (reset to default: alpha blending) + public static extern void EndBlendMode(); + + [CallingConvention(.Cdecl), LinkName("BeginScissorMode")] + /// Begin scissor mode (define screen area for following drawing) + public static extern void BeginScissorMode(int x, int y, int width, int height); + + [CallingConvention(.Cdecl), LinkName("EndScissorMode")] + /// End scissor mode + public static extern void EndScissorMode(); + + [CallingConvention(.Cdecl), LinkName("BeginVrStereoMode")] + /// Begin stereo rendering (requires VR simulator) + public static extern void BeginVrStereoMode(VrStereoConfig config); + + [CallingConvention(.Cdecl), LinkName("EndVrStereoMode")] + /// End stereo rendering (requires VR simulator) + public static extern void EndVrStereoMode(); + + [CallingConvention(.Cdecl), LinkName("LoadVrStereoConfig")] + /// Load VR stereo config for VR simulator device parameters + public static extern VrStereoConfig LoadVrStereoConfig(VrDeviceInfo device); + + [CallingConvention(.Cdecl), LinkName("UnloadVrStereoConfig")] + /// Unload VR stereo config + public static extern void UnloadVrStereoConfig(VrStereoConfig config); + + [CallingConvention(.Cdecl), LinkName("LoadShader")] + /// Load shader from files and bind default locations + public static extern Shader LoadShader(char8 * vsFileName, char8 * fsFileName); + + [CallingConvention(.Cdecl), LinkName("LoadShaderFromMemory")] + /// Load shader from code strings and bind default locations + public static extern Shader LoadShaderFromMemory(char8 * vsCode, char8 * fsCode); + + [CallingConvention(.Cdecl), LinkName("IsShaderReady")] + /// Check if a shader is ready + public static extern bool IsShaderReady(Shader shader); + + [CallingConvention(.Cdecl), LinkName("GetShaderLocation")] + /// Get shader uniform location + public static extern int GetShaderLocation(Shader shader, char8 * uniformName); + + [CallingConvention(.Cdecl), LinkName("GetShaderLocationAttrib")] + /// Get shader attribute location + public static extern int GetShaderLocationAttrib(Shader shader, char8 * attribName); + + [CallingConvention(.Cdecl), LinkName("SetShaderValue")] + /// Set shader uniform value + public static extern void SetShaderValue(Shader shader, int locIndex, void * value, int uniformType); + + [CallingConvention(.Cdecl), LinkName("SetShaderValueV")] + /// Set shader uniform value vector + public static extern void SetShaderValueV(Shader shader, int locIndex, void * value, int uniformType, int count); + + [CallingConvention(.Cdecl), LinkName("SetShaderValueMatrix")] + /// Set shader uniform value (matrix 4x4) + public static extern void SetShaderValueMatrix(Shader shader, int locIndex, Matrix mat); + + [CallingConvention(.Cdecl), LinkName("SetShaderValueTexture")] + /// Set shader uniform value for texture (sampler2d) + public static extern void SetShaderValueTexture(Shader shader, int locIndex, Texture2D texture); + + [CallingConvention(.Cdecl), LinkName("UnloadShader")] + /// Unload shader from GPU memory (VRAM) + public static extern void UnloadShader(Shader shader); + + [CallingConvention(.Cdecl), LinkName("GetMouseRay")] + /// Get a ray trace from mouse position + public static extern Ray GetMouseRay(Vector2 mousePosition, Camera camera); + + [CallingConvention(.Cdecl), LinkName("GetCameraMatrix")] + /// Get camera transform matrix (view matrix) + public static extern Matrix GetCameraMatrix(Camera camera); + + [CallingConvention(.Cdecl), LinkName("GetCameraMatrix2D")] + /// Get camera 2d transform matrix + public static extern Matrix GetCameraMatrix2D(Camera2D camera); + + [CallingConvention(.Cdecl), LinkName("GetWorldToScreen")] + /// Get the screen space position for a 3d world space position + public static extern Vector2 GetWorldToScreen(Vector3 position, Camera camera); + + [CallingConvention(.Cdecl), LinkName("GetScreenToWorld2D")] + /// Get the world space position for a 2d camera screen space position + public static extern Vector2 GetScreenToWorld2D(Vector2 position, Camera2D camera); + + [CallingConvention(.Cdecl), LinkName("GetWorldToScreenEx")] + /// Get size position for a 3d world space position + public static extern Vector2 GetWorldToScreenEx(Vector3 position, Camera camera, int width, int height); + + [CallingConvention(.Cdecl), LinkName("GetWorldToScreen2D")] + /// Get the screen space position for a 2d camera world space position + public static extern Vector2 GetWorldToScreen2D(Vector2 position, Camera2D camera); + + [CallingConvention(.Cdecl), LinkName("SetTargetFPS")] + /// Set target FPS (maximum) + public static extern void SetTargetFPS(int fps); + + [CallingConvention(.Cdecl), LinkName("GetFPS")] + /// Get current FPS + public static extern int GetFPS(); + + [CallingConvention(.Cdecl), LinkName("GetFrameTime")] + /// Get time in seconds for last frame drawn (delta time) + public static extern float GetFrameTime(); + + [CallingConvention(.Cdecl), LinkName("GetTime")] + /// Get elapsed time in seconds since InitWindow() + public static extern double GetTime(); + + [CallingConvention(.Cdecl), LinkName("GetRandomValue")] + /// Get a random value between min and max (both included) + public static extern int GetRandomValue(int min, int max); + + [CallingConvention(.Cdecl), LinkName("SetRandomSeed")] + /// Set the seed for the random number generator + public static extern void SetRandomSeed(int seed); + + [CallingConvention(.Cdecl), LinkName("TakeScreenshot")] + /// Takes a screenshot of current screen (filename extension defines format) + public static extern void TakeScreenshot(char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("SetConfigFlags")] + /// Setup init configuration flags (view FLAGS) + public static extern void SetConfigFlags(int flags); + + [CallingConvention(.Cdecl), LinkName("TraceLog")] + /// Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...) + public static extern void TraceLog(int logLevel, char8 * text); + + [CallingConvention(.Cdecl), LinkName("SetTraceLogLevel")] + /// Set the current threshold (minimum) log level + public static extern void SetTraceLogLevel(int logLevel); + + [CallingConvention(.Cdecl), LinkName("MemAlloc")] + /// Internal memory allocator + public static extern void * MemAlloc(int size); + + [CallingConvention(.Cdecl), LinkName("MemRealloc")] + /// Internal memory reallocator + public static extern void * MemRealloc(void * ptr, int size); + + [CallingConvention(.Cdecl), LinkName("MemFree")] + /// Internal memory free + public static extern void MemFree(void * ptr); + + [CallingConvention(.Cdecl), LinkName("OpenURL")] + /// Open URL with default system browser (if available) + public static extern void OpenURL(char8 * url); + + [CallingConvention(.Cdecl), LinkName("SetTraceLogCallback")] + /// Set custom trace log + public static extern void SetTraceLogCallback(TraceLogCallback callback); + + [CallingConvention(.Cdecl), LinkName("SetLoadFileDataCallback")] + /// Set custom file binary data loader + public static extern void SetLoadFileDataCallback(LoadFileDataCallback callback); + + [CallingConvention(.Cdecl), LinkName("SetSaveFileDataCallback")] + /// Set custom file binary data saver + public static extern void SetSaveFileDataCallback(SaveFileDataCallback callback); + + [CallingConvention(.Cdecl), LinkName("SetLoadFileTextCallback")] + /// Set custom file text data loader + public static extern void SetLoadFileTextCallback(LoadFileTextCallback callback); + + [CallingConvention(.Cdecl), LinkName("SetSaveFileTextCallback")] + /// Set custom file text data saver + public static extern void SetSaveFileTextCallback(SaveFileTextCallback callback); + + [CallingConvention(.Cdecl), LinkName("LoadFileData")] + /// Load file data as byte array (read) + public static extern char8 * LoadFileData(char8 * fileName, int * bytesRead); + + [CallingConvention(.Cdecl), LinkName("UnloadFileData")] + /// Unload file data allocated by LoadFileData() + public static extern void UnloadFileData(char8 * data); + + [CallingConvention(.Cdecl), LinkName("SaveFileData")] + /// Save data to file from byte array (write), returns true on success + public static extern bool SaveFileData(char8 * fileName, void * data, int bytesToWrite); + + [CallingConvention(.Cdecl), LinkName("ExportDataAsCode")] + /// Export data to code (.h), returns true on success + public static extern bool ExportDataAsCode(char8 * data, int size, char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("LoadFileText")] + /// Load text data from file (read), returns a '\0' terminated string + public static extern char8 * LoadFileText(char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("UnloadFileText")] + /// Unload file text data allocated by LoadFileText() + public static extern void UnloadFileText(char8 * text); + + [CallingConvention(.Cdecl), LinkName("SaveFileText")] + /// Save text data to file (write), string must be '\0' terminated, returns true on success + public static extern bool SaveFileText(char8 * fileName, char8 * text); + + [CallingConvention(.Cdecl), LinkName("FileExists")] + /// Check if file exists + public static extern bool FileExists(char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("DirectoryExists")] + /// Check if a directory path exists + public static extern bool DirectoryExists(char8 * dirPath); + + [CallingConvention(.Cdecl), LinkName("IsFileExtension")] + /// Check file extension (including point: .png, .wav) + public static extern bool IsFileExtension(char8 * fileName, char8 * ext); + + [CallingConvention(.Cdecl), LinkName("GetFileLength")] + /// Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h) + public static extern int GetFileLength(char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("GetFileExtension")] + /// Get pointer to extension for a filename string (includes dot: '.png') + public static extern char8 * GetFileExtension(char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("GetFileName")] + /// Get pointer to filename for a path string + public static extern char8 * GetFileName(char8 * filePath); + + [CallingConvention(.Cdecl), LinkName("GetFileNameWithoutExt")] + /// Get filename string without extension (uses static string) + public static extern char8 * GetFileNameWithoutExt(char8 * filePath); + + [CallingConvention(.Cdecl), LinkName("GetDirectoryPath")] + /// Get full path for a given fileName with path (uses static string) + public static extern char8 * GetDirectoryPath(char8 * filePath); + + [CallingConvention(.Cdecl), LinkName("GetPrevDirectoryPath")] + /// Get previous directory path for a given path (uses static string) + public static extern char8 * GetPrevDirectoryPath(char8 * dirPath); + + [CallingConvention(.Cdecl), LinkName("GetWorkingDirectory")] + /// Get current working directory (uses static string) + public static extern char8 * GetWorkingDirectory(); + + [CallingConvention(.Cdecl), LinkName("GetApplicationDirectory")] + /// Get the directory if the running application (uses static string) + public static extern char8 * GetApplicationDirectory(); + + [CallingConvention(.Cdecl), LinkName("ChangeDirectory")] + /// Change working directory, return true on success + public static extern bool ChangeDirectory(char8 * dir); + + [CallingConvention(.Cdecl), LinkName("IsPathFile")] + /// Check if a given path is a file or a directory + public static extern bool IsPathFile(char8 * path); + + [CallingConvention(.Cdecl), LinkName("LoadDirectoryFiles")] + /// Load directory filepaths + public static extern FilePathList LoadDirectoryFiles(char8 * dirPath); + + [CallingConvention(.Cdecl), LinkName("LoadDirectoryFilesEx")] + /// Load directory filepaths with extension filtering and recursive directory scan + public static extern FilePathList LoadDirectoryFilesEx(char8 * basePath, char8 * filter, bool scanSubdirs); + + [CallingConvention(.Cdecl), LinkName("UnloadDirectoryFiles")] + /// Unload filepaths + public static extern void UnloadDirectoryFiles(FilePathList files); + + [CallingConvention(.Cdecl), LinkName("IsFileDropped")] + /// Check if a file has been dropped into window + public static extern bool IsFileDropped(); + + [CallingConvention(.Cdecl), LinkName("LoadDroppedFiles")] + /// Load dropped filepaths + public static extern FilePathList LoadDroppedFiles(); + + [CallingConvention(.Cdecl), LinkName("UnloadDroppedFiles")] + /// Unload dropped filepaths + public static extern void UnloadDroppedFiles(FilePathList files); + + [CallingConvention(.Cdecl), LinkName("GetFileModTime")] + /// Get file modification time (last write time) + public static extern int32 GetFileModTime(char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("CompressData")] + /// Compress data (DEFLATE algorithm), memory must be MemFree() + public static extern char8 * CompressData(char8 * data, int dataSize, int * compDataSize); + + [CallingConvention(.Cdecl), LinkName("DecompressData")] + /// Decompress data (DEFLATE algorithm), memory must be MemFree() + public static extern char8 * DecompressData(char8 * compData, int compDataSize, int * dataSize); + + [CallingConvention(.Cdecl), LinkName("EncodeDataBase64")] + /// Encode data to Base64 string, memory must be MemFree() + public static extern char8 * EncodeDataBase64(char8 * data, int dataSize, int * outputSize); + + [CallingConvention(.Cdecl), LinkName("DecodeDataBase64")] + /// Decode Base64 string data, memory must be MemFree() + public static extern char8 * DecodeDataBase64(char8 * data, int * outputSize); + + [CallingConvention(.Cdecl), LinkName("IsKeyPressed")] + /// Check if a key has been pressed once + public static extern bool IsKeyPressed(int key); + + [CallingConvention(.Cdecl), LinkName("IsKeyDown")] + /// Check if a key is being pressed + public static extern bool IsKeyDown(int key); + + [CallingConvention(.Cdecl), LinkName("IsKeyReleased")] + /// Check if a key has been released once + public static extern bool IsKeyReleased(int key); + + [CallingConvention(.Cdecl), LinkName("IsKeyUp")] + /// Check if a key is NOT being pressed + public static extern bool IsKeyUp(int key); + + [CallingConvention(.Cdecl), LinkName("SetExitKey")] + /// Set a custom key to exit program (default is ESC) + public static extern void SetExitKey(int key); + + [CallingConvention(.Cdecl), LinkName("GetKeyPressed")] + /// Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty + public static extern int GetKeyPressed(); + + [CallingConvention(.Cdecl), LinkName("GetCharPressed")] + /// Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty + public static extern int GetCharPressed(); + + [CallingConvention(.Cdecl), LinkName("IsGamepadAvailable")] + /// Check if a gamepad is available + public static extern bool IsGamepadAvailable(int gamepad); + + [CallingConvention(.Cdecl), LinkName("GetGamepadName")] + /// Get gamepad internal name id + public static extern char8 * GetGamepadName(int gamepad); + + [CallingConvention(.Cdecl), LinkName("IsGamepadButtonPressed")] + /// Check if a gamepad button has been pressed once + public static extern bool IsGamepadButtonPressed(int gamepad, int button); + + [CallingConvention(.Cdecl), LinkName("IsGamepadButtonDown")] + /// Check if a gamepad button is being pressed + public static extern bool IsGamepadButtonDown(int gamepad, int button); + + [CallingConvention(.Cdecl), LinkName("IsGamepadButtonReleased")] + /// Check if a gamepad button has been released once + public static extern bool IsGamepadButtonReleased(int gamepad, int button); + + [CallingConvention(.Cdecl), LinkName("IsGamepadButtonUp")] + /// Check if a gamepad button is NOT being pressed + public static extern bool IsGamepadButtonUp(int gamepad, int button); + + [CallingConvention(.Cdecl), LinkName("GetGamepadButtonPressed")] + /// Get the last gamepad button pressed + public static extern int GetGamepadButtonPressed(); + + [CallingConvention(.Cdecl), LinkName("GetGamepadAxisCount")] + /// Get gamepad axis count for a gamepad + public static extern int GetGamepadAxisCount(int gamepad); + + [CallingConvention(.Cdecl), LinkName("GetGamepadAxisMovement")] + /// Get axis movement value for a gamepad axis + public static extern float GetGamepadAxisMovement(int gamepad, int axis); + + [CallingConvention(.Cdecl), LinkName("SetGamepadMappings")] + /// Set internal gamepad mappings (SDL_GameControllerDB) + public static extern int SetGamepadMappings(char8 * mappings); + + [CallingConvention(.Cdecl), LinkName("IsMouseButtonPressed")] + /// Check if a mouse button has been pressed once + public static extern bool IsMouseButtonPressed(int button); + + [CallingConvention(.Cdecl), LinkName("IsMouseButtonDown")] + /// Check if a mouse button is being pressed + public static extern bool IsMouseButtonDown(int button); + + [CallingConvention(.Cdecl), LinkName("IsMouseButtonReleased")] + /// Check if a mouse button has been released once + public static extern bool IsMouseButtonReleased(int button); + + [CallingConvention(.Cdecl), LinkName("IsMouseButtonUp")] + /// Check if a mouse button is NOT being pressed + public static extern bool IsMouseButtonUp(int button); + + [CallingConvention(.Cdecl), LinkName("GetMouseX")] + /// Get mouse position X + public static extern int GetMouseX(); + + [CallingConvention(.Cdecl), LinkName("GetMouseY")] + /// Get mouse position Y + public static extern int GetMouseY(); + + [CallingConvention(.Cdecl), LinkName("GetMousePosition")] + /// Get mouse position XY + public static extern Vector2 GetMousePosition(); + + [CallingConvention(.Cdecl), LinkName("GetMouseDelta")] + /// Get mouse delta between frames + public static extern Vector2 GetMouseDelta(); + + [CallingConvention(.Cdecl), LinkName("SetMousePosition")] + /// Set mouse position XY + public static extern void SetMousePosition(int x, int y); + + [CallingConvention(.Cdecl), LinkName("SetMouseOffset")] + /// Set mouse offset + public static extern void SetMouseOffset(int offsetX, int offsetY); + + [CallingConvention(.Cdecl), LinkName("SetMouseScale")] + /// Set mouse scaling + public static extern void SetMouseScale(float scaleX, float scaleY); + + [CallingConvention(.Cdecl), LinkName("GetMouseWheelMove")] + /// Get mouse wheel movement for X or Y, whichever is larger + public static extern float GetMouseWheelMove(); + + [CallingConvention(.Cdecl), LinkName("GetMouseWheelMoveV")] + /// Get mouse wheel movement for both X and Y + public static extern Vector2 GetMouseWheelMoveV(); + + [CallingConvention(.Cdecl), LinkName("SetMouseCursor")] + /// Set mouse cursor + public static extern void SetMouseCursor(int cursor); + + [CallingConvention(.Cdecl), LinkName("GetTouchX")] + /// Get touch position X for touch point 0 (relative to screen size) + public static extern int GetTouchX(); + + [CallingConvention(.Cdecl), LinkName("GetTouchY")] + /// Get touch position Y for touch point 0 (relative to screen size) + public static extern int GetTouchY(); + + [CallingConvention(.Cdecl), LinkName("GetTouchPosition")] + /// Get touch position XY for a touch point index (relative to screen size) + public static extern Vector2 GetTouchPosition(int index); + + [CallingConvention(.Cdecl), LinkName("GetTouchPointId")] + /// Get touch point identifier for given index + public static extern int GetTouchPointId(int index); + + [CallingConvention(.Cdecl), LinkName("GetTouchPointCount")] + /// Get number of touch points + public static extern int GetTouchPointCount(); + + [CallingConvention(.Cdecl), LinkName("SetGesturesEnabled")] + /// Enable a set of gestures using flags + public static extern void SetGesturesEnabled(int flags); + + [CallingConvention(.Cdecl), LinkName("IsGestureDetected")] + /// Check if a gesture have been detected + public static extern bool IsGestureDetected(int gesture); + + [CallingConvention(.Cdecl), LinkName("GetGestureDetected")] + /// Get latest detected gesture + public static extern int GetGestureDetected(); + + [CallingConvention(.Cdecl), LinkName("GetGestureHoldDuration")] + /// Get gesture hold time in milliseconds + public static extern float GetGestureHoldDuration(); + + [CallingConvention(.Cdecl), LinkName("GetGestureDragVector")] + /// Get gesture drag vector + public static extern Vector2 GetGestureDragVector(); + + [CallingConvention(.Cdecl), LinkName("GetGestureDragAngle")] + /// Get gesture drag angle + public static extern float GetGestureDragAngle(); + + [CallingConvention(.Cdecl), LinkName("GetGesturePinchVector")] + /// Get gesture pinch delta + public static extern Vector2 GetGesturePinchVector(); + + [CallingConvention(.Cdecl), LinkName("GetGesturePinchAngle")] + /// Get gesture pinch angle + public static extern float GetGesturePinchAngle(); + + [CallingConvention(.Cdecl), LinkName("UpdateCamera")] + /// Update camera position for selected mode + public static extern void UpdateCamera(Camera * camera, int mode); + + [CallingConvention(.Cdecl), LinkName("UpdateCameraPro")] + /// Update camera movement/rotation + public static extern void UpdateCameraPro(Camera * camera, Vector3 movement, Vector3 rotation, float zoom); + + [CallingConvention(.Cdecl), LinkName("SetShapesTexture")] + /// Set texture and rectangle to be used on shapes drawing + public static extern void SetShapesTexture(Texture2D texture, Rectangle source); + + [CallingConvention(.Cdecl), LinkName("DrawPixel")] + /// Draw a pixel + public static extern void DrawPixel(int posX, int posY, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawPixelV")] + /// Draw a pixel (Vector version) + public static extern void DrawPixelV(Vector2 position, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawLine")] + /// Draw a line + public static extern void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawLineV")] + /// Draw a line (Vector version) + public static extern void DrawLineV(Vector2 startPos, Vector2 endPos, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawLineEx")] + /// Draw a line defining thickness + public static extern void DrawLineEx(Vector2 startPos, Vector2 endPos, float thick, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawLineBezier")] + /// Draw a line using cubic-bezier curves in-out + public static extern void DrawLineBezier(Vector2 startPos, Vector2 endPos, float thick, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawLineBezierQuad")] + /// Draw line using quadratic bezier curves with a control point + public static extern void DrawLineBezierQuad(Vector2 startPos, Vector2 endPos, Vector2 controlPos, float thick, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawLineBezierCubic")] + /// Draw line using cubic bezier curves with 2 control points + public static extern void DrawLineBezierCubic(Vector2 startPos, Vector2 endPos, Vector2 startControlPos, Vector2 endControlPos, float thick, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawLineStrip")] + /// Draw lines sequence + public static extern void DrawLineStrip(Vector2 * points, int pointCount, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCircle")] + /// Draw a color-filled circle + public static extern void DrawCircle(int centerX, int centerY, float radius, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCircleSector")] + /// Draw a piece of a circle + public static extern void DrawCircleSector(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCircleSectorLines")] + /// Draw circle sector outline + public static extern void DrawCircleSectorLines(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCircleGradient")] + /// Draw a gradient-filled circle + public static extern void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Color color2); + + [CallingConvention(.Cdecl), LinkName("DrawCircleV")] + /// Draw a color-filled circle (Vector version) + public static extern void DrawCircleV(Vector2 center, float radius, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCircleLines")] + /// Draw circle outline + public static extern void DrawCircleLines(int centerX, int centerY, float radius, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawEllipse")] + /// Draw ellipse + public static extern void DrawEllipse(int centerX, int centerY, float radiusH, float radiusV, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawEllipseLines")] + /// Draw ellipse outline + public static extern void DrawEllipseLines(int centerX, int centerY, float radiusH, float radiusV, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRing")] + /// Draw ring + public static extern void DrawRing(Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRingLines")] + /// Draw ring outline + public static extern void DrawRingLines(Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRectangle")] + /// Draw a color-filled rectangle + public static extern void DrawRectangle(int posX, int posY, int width, int height, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleV")] + /// Draw a color-filled rectangle (Vector version) + public static extern void DrawRectangleV(Vector2 position, Vector2 size, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleRec")] + /// Draw a color-filled rectangle + public static extern void DrawRectangleRec(Rectangle rec, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRectanglePro")] + /// Draw a color-filled rectangle with pro parameters + public static extern void DrawRectanglePro(Rectangle rec, Vector2 origin, float rotation, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleGradientV")] + /// Draw a vertical-gradient-filled rectangle + public static extern void DrawRectangleGradientV(int posX, int posY, int width, int height, Color color1, Color color2); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleGradientH")] + /// Draw a horizontal-gradient-filled rectangle + public static extern void DrawRectangleGradientH(int posX, int posY, int width, int height, Color color1, Color color2); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleGradientEx")] + /// Draw a gradient-filled rectangle with custom vertex colors + public static extern void DrawRectangleGradientEx(Rectangle rec, Color col1, Color col2, Color col3, Color col4); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleLines")] + /// Draw rectangle outline + public static extern void DrawRectangleLines(int posX, int posY, int width, int height, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleLinesEx")] + /// Draw rectangle outline with extended parameters + public static extern void DrawRectangleLinesEx(Rectangle rec, float lineThick, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleRounded")] + /// Draw rectangle with rounded edges + public static extern void DrawRectangleRounded(Rectangle rec, float roundness, int segments, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRectangleRoundedLines")] + /// Draw rectangle with rounded edges outline + public static extern void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, float lineThick, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawTriangle")] + /// Draw a color-filled triangle (vertex in counter-clockwise order!) + public static extern void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawTriangleLines")] + /// Draw triangle outline (vertex in counter-clockwise order!) + public static extern void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawTriangleFan")] + /// Draw a triangle fan defined by points (first vertex is the center) + public static extern void DrawTriangleFan(Vector2 * points, int pointCount, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawTriangleStrip")] + /// Draw a triangle strip defined by points + public static extern void DrawTriangleStrip(Vector2 * points, int pointCount, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawPoly")] + /// Draw a regular polygon (Vector version) + public static extern void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawPolyLines")] + /// Draw a polygon outline of n sides + public static extern void DrawPolyLines(Vector2 center, int sides, float radius, float rotation, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawPolyLinesEx")] + /// Draw a polygon outline of n sides with extended parameters + public static extern void DrawPolyLinesEx(Vector2 center, int sides, float radius, float rotation, float lineThick, Color color); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionRecs")] + /// Check collision between two rectangles + public static extern bool CheckCollisionRecs(Rectangle rec1, Rectangle rec2); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionCircles")] + /// Check collision between two circles + public static extern bool CheckCollisionCircles(Vector2 center1, float radius1, Vector2 center2, float radius2); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionCircleRec")] + /// Check collision between circle and rectangle + public static extern bool CheckCollisionCircleRec(Vector2 center, float radius, Rectangle rec); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionPointRec")] + /// Check if point is inside rectangle + public static extern bool CheckCollisionPointRec(Vector2 point, Rectangle rec); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionPointCircle")] + /// Check if point is inside circle + public static extern bool CheckCollisionPointCircle(Vector2 point, Vector2 center, float radius); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionPointTriangle")] + /// Check if point is inside a triangle + public static extern bool CheckCollisionPointTriangle(Vector2 point, Vector2 p1, Vector2 p2, Vector2 p3); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionPointPoly")] + /// Check if point is within a polygon described by array of vertices + public static extern bool CheckCollisionPointPoly(Vector2 point, Vector2 * points, int pointCount); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionLines")] + /// Check the collision between two lines defined by two points each, returns collision point by reference + public static extern bool CheckCollisionLines(Vector2 startPos1, Vector2 endPos1, Vector2 startPos2, Vector2 endPos2, Vector2 * collisionPoint); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionPointLine")] + /// Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold] + public static extern bool CheckCollisionPointLine(Vector2 point, Vector2 p1, Vector2 p2, int threshold); + + [CallingConvention(.Cdecl), LinkName("GetCollisionRec")] + /// Get collision rectangle for two rectangles collision + public static extern Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2); + + [CallingConvention(.Cdecl), LinkName("LoadImage")] + /// Load image from file into CPU memory (RAM) + public static extern Image LoadImage(char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("LoadImageRaw")] + /// Load image from RAW file data + public static extern Image LoadImageRaw(char8 * fileName, int width, int height, int format, int headerSize); + + [CallingConvention(.Cdecl), LinkName("LoadImageAnim")] + /// Load image sequence from file (frames appended to image.data) + public static extern Image LoadImageAnim(char8 * fileName, int * frames); + + [CallingConvention(.Cdecl), LinkName("LoadImageFromMemory")] + /// Load image from memory buffer, fileType refers to extension: i.e. '.png' + public static extern Image LoadImageFromMemory(char8 * fileType, char8 * fileData, int dataSize); + + [CallingConvention(.Cdecl), LinkName("LoadImageFromTexture")] + /// Load image from GPU texture data + public static extern Image LoadImageFromTexture(Texture2D texture); + + [CallingConvention(.Cdecl), LinkName("LoadImageFromScreen")] + /// Load image from screen buffer and (screenshot) + public static extern Image LoadImageFromScreen(); + + [CallingConvention(.Cdecl), LinkName("IsImageReady")] + /// Check if an image is ready + public static extern bool IsImageReady(Image image); + + [CallingConvention(.Cdecl), LinkName("UnloadImage")] + /// Unload image from CPU memory (RAM) + public static extern void UnloadImage(Image image); + + [CallingConvention(.Cdecl), LinkName("ExportImage")] + /// Export image data to file, returns true on success + public static extern bool ExportImage(Image image, char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("ExportImageAsCode")] + /// Export image as code file defining an array of bytes, returns true on success + public static extern bool ExportImageAsCode(Image image, char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("GenImageColor")] + /// Generate image: plain color + public static extern Image GenImageColor(int width, int height, Color color); + + [CallingConvention(.Cdecl), LinkName("GenImageGradientV")] + /// Generate image: vertical gradient + public static extern Image GenImageGradientV(int width, int height, Color top, Color bottom); + + [CallingConvention(.Cdecl), LinkName("GenImageGradientH")] + /// Generate image: horizontal gradient + public static extern Image GenImageGradientH(int width, int height, Color left, Color right); + + [CallingConvention(.Cdecl), LinkName("GenImageGradientRadial")] + /// Generate image: radial gradient + public static extern Image GenImageGradientRadial(int width, int height, float density, Color inner, Color outer); + + [CallingConvention(.Cdecl), LinkName("GenImageChecked")] + /// Generate image: checked + public static extern Image GenImageChecked(int width, int height, int checksX, int checksY, Color col1, Color col2); + + [CallingConvention(.Cdecl), LinkName("GenImageWhiteNoise")] + /// Generate image: white noise + public static extern Image GenImageWhiteNoise(int width, int height, float factor); + + [CallingConvention(.Cdecl), LinkName("GenImagePerlinNoise")] + /// Generate image: perlin noise + public static extern Image GenImagePerlinNoise(int width, int height, int offsetX, int offsetY, float scale); + + [CallingConvention(.Cdecl), LinkName("GenImageCellular")] + /// Generate image: cellular algorithm, bigger tileSize means bigger cells + public static extern Image GenImageCellular(int width, int height, int tileSize); + + [CallingConvention(.Cdecl), LinkName("GenImageText")] + /// Generate image: grayscale image from text data + public static extern Image GenImageText(int width, int height, char8 * text); + + [CallingConvention(.Cdecl), LinkName("ImageCopy")] + /// Create an image duplicate (useful for transformations) + public static extern Image ImageCopy(Image image); + + [CallingConvention(.Cdecl), LinkName("ImageFromImage")] + /// Create an image from another image piece + public static extern Image ImageFromImage(Image image, Rectangle rec); + + [CallingConvention(.Cdecl), LinkName("ImageText")] + /// Create an image from text (default font) + public static extern Image ImageText(char8 * text, int fontSize, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageTextEx")] + /// Create an image from text (custom sprite font) + public static extern Image ImageTextEx(Font font, char8 * text, float fontSize, float spacing, Color tint); + + [CallingConvention(.Cdecl), LinkName("ImageFormat")] + /// Convert image data to desired format + public static extern void ImageFormat(Image * image, int newFormat); + + [CallingConvention(.Cdecl), LinkName("ImageToPOT")] + /// Convert image to POT (power-of-two) + public static extern void ImageToPOT(Image * image, Color fill); + + [CallingConvention(.Cdecl), LinkName("ImageCrop")] + /// Crop an image to a defined rectangle + public static extern void ImageCrop(Image * image, Rectangle crop); + + [CallingConvention(.Cdecl), LinkName("ImageAlphaCrop")] + /// Crop image depending on alpha value + public static extern void ImageAlphaCrop(Image * image, float threshold); + + [CallingConvention(.Cdecl), LinkName("ImageAlphaClear")] + /// Clear alpha channel to desired color + public static extern void ImageAlphaClear(Image * image, Color color, float threshold); + + [CallingConvention(.Cdecl), LinkName("ImageAlphaMask")] + /// Apply alpha mask to image + public static extern void ImageAlphaMask(Image * image, Image alphaMask); + + [CallingConvention(.Cdecl), LinkName("ImageAlphaPremultiply")] + /// Premultiply alpha channel + public static extern void ImageAlphaPremultiply(Image * image); + + [CallingConvention(.Cdecl), LinkName("ImageBlurGaussian")] + /// Apply Gaussian blur using a box blur approximation + public static extern void ImageBlurGaussian(Image * image, int blurSize); + + [CallingConvention(.Cdecl), LinkName("ImageResize")] + /// Resize image (Bicubic scaling algorithm) + public static extern void ImageResize(Image * image, int newWidth, int newHeight); + + [CallingConvention(.Cdecl), LinkName("ImageResizeNN")] + /// Resize image (Nearest-Neighbor scaling algorithm) + public static extern void ImageResizeNN(Image * image, int newWidth, int newHeight); + + [CallingConvention(.Cdecl), LinkName("ImageResizeCanvas")] + /// Resize canvas and fill with color + public static extern void ImageResizeCanvas(Image * image, int newWidth, int newHeight, int offsetX, int offsetY, Color fill); + + [CallingConvention(.Cdecl), LinkName("ImageMipmaps")] + /// Compute all mipmap levels for a provided image + public static extern void ImageMipmaps(Image * image); + + [CallingConvention(.Cdecl), LinkName("ImageDither")] + /// Dither image data to 16bpp or lower (Floyd-Steinberg dithering) + public static extern void ImageDither(Image * image, int rBpp, int gBpp, int bBpp, int aBpp); + + [CallingConvention(.Cdecl), LinkName("ImageFlipVertical")] + /// Flip image vertically + public static extern void ImageFlipVertical(Image * image); + + [CallingConvention(.Cdecl), LinkName("ImageFlipHorizontal")] + /// Flip image horizontally + public static extern void ImageFlipHorizontal(Image * image); + + [CallingConvention(.Cdecl), LinkName("ImageRotateCW")] + /// Rotate image clockwise 90deg + public static extern void ImageRotateCW(Image * image); + + [CallingConvention(.Cdecl), LinkName("ImageRotateCCW")] + /// Rotate image counter-clockwise 90deg + public static extern void ImageRotateCCW(Image * image); + + [CallingConvention(.Cdecl), LinkName("ImageColorTint")] + /// Modify image color: tint + public static extern void ImageColorTint(Image * image, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageColorInvert")] + /// Modify image color: invert + public static extern void ImageColorInvert(Image * image); + + [CallingConvention(.Cdecl), LinkName("ImageColorGrayscale")] + /// Modify image color: grayscale + public static extern void ImageColorGrayscale(Image * image); + + [CallingConvention(.Cdecl), LinkName("ImageColorContrast")] + /// Modify image color: contrast (-100 to 100) + public static extern void ImageColorContrast(Image * image, float contrast); + + [CallingConvention(.Cdecl), LinkName("ImageColorBrightness")] + /// Modify image color: brightness (-255 to 255) + public static extern void ImageColorBrightness(Image * image, int brightness); + + [CallingConvention(.Cdecl), LinkName("ImageColorReplace")] + /// Modify image color: replace color + public static extern void ImageColorReplace(Image * image, Color color, Color replace); + + [CallingConvention(.Cdecl), LinkName("LoadImageColors")] + /// Load color data from image as a Color array (RGBA - 32bit) + public static extern Color * LoadImageColors(Image image); + + [CallingConvention(.Cdecl), LinkName("LoadImagePalette")] + /// Load colors palette from image as a Color array (RGBA - 32bit) + public static extern Color * LoadImagePalette(Image image, int maxPaletteSize, int * colorCount); + + [CallingConvention(.Cdecl), LinkName("UnloadImageColors")] + /// Unload color data loaded with LoadImageColors() + public static extern void UnloadImageColors(Color * colors); + + [CallingConvention(.Cdecl), LinkName("UnloadImagePalette")] + /// Unload colors palette loaded with LoadImagePalette() + public static extern void UnloadImagePalette(Color * colors); + + [CallingConvention(.Cdecl), LinkName("GetImageAlphaBorder")] + /// Get image alpha border rectangle + public static extern Rectangle GetImageAlphaBorder(Image image, float threshold); + + [CallingConvention(.Cdecl), LinkName("GetImageColor")] + /// Get image pixel color at (x, y) position + public static extern Color GetImageColor(Image image, int x, int y); + + [CallingConvention(.Cdecl), LinkName("ImageClearBackground")] + /// Clear image background with given color + public static extern void ImageClearBackground(Image * dst, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawPixel")] + /// Draw pixel within an image + public static extern void ImageDrawPixel(Image * dst, int posX, int posY, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawPixelV")] + /// Draw pixel within an image (Vector version) + public static extern void ImageDrawPixelV(Image * dst, Vector2 position, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawLine")] + /// Draw line within an image + public static extern void ImageDrawLine(Image * dst, int startPosX, int startPosY, int endPosX, int endPosY, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawLineV")] + /// Draw line within an image (Vector version) + public static extern void ImageDrawLineV(Image * dst, Vector2 start, Vector2 end, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawCircle")] + /// Draw a filled circle within an image + public static extern void ImageDrawCircle(Image * dst, int centerX, int centerY, int radius, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawCircleV")] + /// Draw a filled circle within an image (Vector version) + public static extern void ImageDrawCircleV(Image * dst, Vector2 center, int radius, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawCircleLines")] + /// Draw circle outline within an image + public static extern void ImageDrawCircleLines(Image * dst, int centerX, int centerY, int radius, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawCircleLinesV")] + /// Draw circle outline within an image (Vector version) + public static extern void ImageDrawCircleLinesV(Image * dst, Vector2 center, int radius, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawRectangle")] + /// Draw rectangle within an image + public static extern void ImageDrawRectangle(Image * dst, int posX, int posY, int width, int height, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawRectangleV")] + /// Draw rectangle within an image (Vector version) + public static extern void ImageDrawRectangleV(Image * dst, Vector2 position, Vector2 size, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawRectangleRec")] + /// Draw rectangle within an image + public static extern void ImageDrawRectangleRec(Image * dst, Rectangle rec, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawRectangleLines")] + /// Draw rectangle lines within an image + public static extern void ImageDrawRectangleLines(Image * dst, Rectangle rec, int thick, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDraw")] + /// Draw a source image within a destination image (tint applied to source) + public static extern void ImageDraw(Image * dst, Image src, Rectangle srcRec, Rectangle dstRec, Color tint); + + [CallingConvention(.Cdecl), LinkName("ImageDrawText")] + /// Draw text (using default font) within an image (destination) + public static extern void ImageDrawText(Image * dst, char8 * text, int posX, int posY, int fontSize, Color color); + + [CallingConvention(.Cdecl), LinkName("ImageDrawTextEx")] + /// Draw text (custom sprite font) within an image (destination) + public static extern void ImageDrawTextEx(Image * dst, Font font, char8 * text, Vector2 position, float fontSize, float spacing, Color tint); + + [CallingConvention(.Cdecl), LinkName("LoadTexture")] + /// Load texture from file into GPU memory (VRAM) + public static extern Texture2D LoadTexture(char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("LoadTextureFromImage")] + /// Load texture from image data + public static extern Texture2D LoadTextureFromImage(Image image); + + [CallingConvention(.Cdecl), LinkName("LoadTextureCubemap")] + /// Load cubemap from image, multiple image cubemap layouts supported + public static extern TextureCubemap LoadTextureCubemap(Image image, int layout); + + [CallingConvention(.Cdecl), LinkName("LoadRenderTexture")] + /// Load texture for rendering (framebuffer) + public static extern RenderTexture2D LoadRenderTexture(int width, int height); + + [CallingConvention(.Cdecl), LinkName("IsTextureReady")] + /// Check if a texture is ready + public static extern bool IsTextureReady(Texture2D texture); + + [CallingConvention(.Cdecl), LinkName("UnloadTexture")] + /// Unload texture from GPU memory (VRAM) + public static extern void UnloadTexture(Texture2D texture); + + [CallingConvention(.Cdecl), LinkName("IsRenderTextureReady")] + /// Check if a render texture is ready + public static extern bool IsRenderTextureReady(RenderTexture2D target); + + [CallingConvention(.Cdecl), LinkName("UnloadRenderTexture")] + /// Unload render texture from GPU memory (VRAM) + public static extern void UnloadRenderTexture(RenderTexture2D target); + + [CallingConvention(.Cdecl), LinkName("UpdateTexture")] + /// Update GPU texture with new data + public static extern void UpdateTexture(Texture2D texture, void * pixels); + + [CallingConvention(.Cdecl), LinkName("UpdateTextureRec")] + /// Update GPU texture rectangle with new data + public static extern void UpdateTextureRec(Texture2D texture, Rectangle rec, void * pixels); + + [CallingConvention(.Cdecl), LinkName("GenTextureMipmaps")] + /// Generate GPU mipmaps for a texture + public static extern void GenTextureMipmaps(Texture2D * texture); + + [CallingConvention(.Cdecl), LinkName("SetTextureFilter")] + /// Set texture scaling filter mode + public static extern void SetTextureFilter(Texture2D texture, int filter); + + [CallingConvention(.Cdecl), LinkName("SetTextureWrap")] + /// Set texture wrapping mode + public static extern void SetTextureWrap(Texture2D texture, int wrap); + + [CallingConvention(.Cdecl), LinkName("DrawTexture")] + /// Draw a Texture2D + public static extern void DrawTexture(Texture2D texture, int posX, int posY, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawTextureV")] + /// Draw a Texture2D with position defined as Vector2 + public static extern void DrawTextureV(Texture2D texture, Vector2 position, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawTextureEx")] + /// Draw a Texture2D with extended parameters + public static extern void DrawTextureEx(Texture2D texture, Vector2 position, float rotation, float scale, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawTextureRec")] + /// Draw a part of a texture defined by a rectangle + public static extern void DrawTextureRec(Texture2D texture, Rectangle source, Vector2 position, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawTexturePro")] + /// Draw a part of a texture defined by a rectangle with 'pro' parameters + public static extern void DrawTexturePro(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawTextureNPatch")] + /// Draws a texture (or part of it) that stretches or shrinks nicely + public static extern void DrawTextureNPatch(Texture2D texture, NPatchInfo nPatchInfo, Rectangle dest, Vector2 origin, float rotation, Color tint); + + [CallingConvention(.Cdecl), LinkName("Fade")] + /// Get color with alpha applied, alpha goes from 0.0f to 1.0f + public static extern Color Fade(Color color, float alpha); + + [CallingConvention(.Cdecl), LinkName("ColorToInt")] + /// Get hexadecimal value for a Color + public static extern int ColorToInt(Color color); + + [CallingConvention(.Cdecl), LinkName("ColorNormalize")] + /// Get Color normalized as float [0..1] + public static extern Vector4 ColorNormalize(Color color); + + [CallingConvention(.Cdecl), LinkName("ColorFromNormalized")] + /// Get Color from normalized values [0..1] + public static extern Color ColorFromNormalized(Vector4 normalized); + + [CallingConvention(.Cdecl), LinkName("ColorToHSV")] + /// Get HSV values for a Color, hue [0..360], saturation/value [0..1] + public static extern Vector3 ColorToHSV(Color color); + + [CallingConvention(.Cdecl), LinkName("ColorFromHSV")] + /// Get a Color from HSV values, hue [0..360], saturation/value [0..1] + public static extern Color ColorFromHSV(float hue, float saturation, float value); + + [CallingConvention(.Cdecl), LinkName("ColorTint")] + /// Get color multiplied with another color + public static extern Color ColorTint(Color color, Color tint); + + [CallingConvention(.Cdecl), LinkName("ColorBrightness")] + /// Get color with brightness correction, brightness factor goes from -1.0f to 1.0f + public static extern Color ColorBrightness(Color color, float factor); + + [CallingConvention(.Cdecl), LinkName("ColorContrast")] + /// Get color with contrast correction, contrast values between -1.0f and 1.0f + public static extern Color ColorContrast(Color color, float contrast); + + [CallingConvention(.Cdecl), LinkName("ColorAlpha")] + /// Get color with alpha applied, alpha goes from 0.0f to 1.0f + public static extern Color ColorAlpha(Color color, float alpha); + + [CallingConvention(.Cdecl), LinkName("ColorAlphaBlend")] + /// Get src alpha-blended into dst color with tint + public static extern Color ColorAlphaBlend(Color dst, Color src, Color tint); + + [CallingConvention(.Cdecl), LinkName("GetColor")] + /// Get Color structure from hexadecimal value + public static extern Color GetColor(int hexValue); + + [CallingConvention(.Cdecl), LinkName("GetPixelColor")] + /// Get Color from a source pixel pointer of certain format + public static extern Color GetPixelColor(void * srcPtr, int format); + + [CallingConvention(.Cdecl), LinkName("SetPixelColor")] + /// Set color formatted into destination pixel pointer + public static extern void SetPixelColor(void * dstPtr, Color color, int format); + + [CallingConvention(.Cdecl), LinkName("GetPixelDataSize")] + /// Get pixel data size in bytes for certain format + public static extern int GetPixelDataSize(int width, int height, int format); + + [CallingConvention(.Cdecl), LinkName("GetFontDefault")] + /// Get the default Font + public static extern Font GetFontDefault(); + + [CallingConvention(.Cdecl), LinkName("LoadFont")] + /// Load font from file into GPU memory (VRAM) + public static extern Font LoadFont(char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("LoadFontEx")] + /// Load font from file with extended parameters, use NULL for fontChars and 0 for glyphCount to load the default character set + public static extern Font LoadFontEx(char8 * fileName, int fontSize, int * fontChars, int glyphCount); + + [CallingConvention(.Cdecl), LinkName("LoadFontFromImage")] + /// Load font from Image (XNA style) + public static extern Font LoadFontFromImage(Image image, Color key, int firstChar); + + [CallingConvention(.Cdecl), LinkName("LoadFontFromMemory")] + /// Load font from memory buffer, fileType refers to extension: i.e. '.ttf' + public static extern Font LoadFontFromMemory(char8 * fileType, char8 * fileData, int dataSize, int fontSize, int * fontChars, int glyphCount); + + [CallingConvention(.Cdecl), LinkName("IsFontReady")] + /// Check if a font is ready + public static extern bool IsFontReady(Font font); + + [CallingConvention(.Cdecl), LinkName("LoadFontData")] + /// Load font data for further use + public static extern GlyphInfo * LoadFontData(char8 * fileData, int dataSize, int fontSize, int * fontChars, int glyphCount, int type); + + [CallingConvention(.Cdecl), LinkName("GenImageFontAtlas")] + /// Generate image font atlas using chars info + public static extern Image GenImageFontAtlas(GlyphInfo * chars, Rectangle ** recs, int glyphCount, int fontSize, int padding, int packMethod); + + [CallingConvention(.Cdecl), LinkName("UnloadFontData")] + /// Unload font chars info data (RAM) + public static extern void UnloadFontData(GlyphInfo * chars, int glyphCount); + + [CallingConvention(.Cdecl), LinkName("UnloadFont")] + /// Unload font from GPU memory (VRAM) + public static extern void UnloadFont(Font font); + + [CallingConvention(.Cdecl), LinkName("ExportFontAsCode")] + /// Export font as code file, returns true on success + public static extern bool ExportFontAsCode(Font font, char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("DrawFPS")] + /// Draw current FPS + public static extern void DrawFPS(int posX, int posY); + + [CallingConvention(.Cdecl), LinkName("DrawText")] + /// Draw text (using default font) + public static extern void DrawText(char8 * text, int posX, int posY, int fontSize, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawTextEx")] + /// Draw text using font and additional parameters + public static extern void DrawTextEx(Font font, char8 * text, Vector2 position, float fontSize, float spacing, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawTextPro")] + /// Draw text using Font and pro parameters (rotation) + public static extern void DrawTextPro(Font font, char8 * text, Vector2 position, Vector2 origin, float rotation, float fontSize, float spacing, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawTextCodepoint")] + /// Draw one character (codepoint) + public static extern void DrawTextCodepoint(Font font, int codepoint, Vector2 position, float fontSize, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawTextCodepoints")] + /// Draw multiple character (codepoint) + public static extern void DrawTextCodepoints(Font font, int * codepoints, int count, Vector2 position, float fontSize, float spacing, Color tint); + + [CallingConvention(.Cdecl), LinkName("MeasureText")] + /// Measure string width for default font + public static extern int MeasureText(char8 * text, int fontSize); + + [CallingConvention(.Cdecl), LinkName("MeasureTextEx")] + /// Measure string size for Font + public static extern Vector2 MeasureTextEx(Font font, char8 * text, float fontSize, float spacing); + + [CallingConvention(.Cdecl), LinkName("GetGlyphIndex")] + /// Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found + public static extern int GetGlyphIndex(Font font, int codepoint); + + [CallingConvention(.Cdecl), LinkName("GetGlyphInfo")] + /// Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found + public static extern GlyphInfo GetGlyphInfo(Font font, int codepoint); + + [CallingConvention(.Cdecl), LinkName("GetGlyphAtlasRec")] + /// Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found + public static extern Rectangle GetGlyphAtlasRec(Font font, int codepoint); + + [CallingConvention(.Cdecl), LinkName("LoadUTF8")] + /// Load UTF-8 text encoded from codepoints array + public static extern char8 * LoadUTF8(int * codepoints, int length); + + [CallingConvention(.Cdecl), LinkName("UnloadUTF8")] + /// Unload UTF-8 text encoded from codepoints array + public static extern void UnloadUTF8(char8 * text); + + [CallingConvention(.Cdecl), LinkName("LoadCodepoints")] + /// Load all codepoints from a UTF-8 text string, codepoints count returned by parameter + public static extern int * LoadCodepoints(char8 * text, int * count); + + [CallingConvention(.Cdecl), LinkName("UnloadCodepoints")] + /// Unload codepoints data from memory + public static extern void UnloadCodepoints(int * codepoints); + + [CallingConvention(.Cdecl), LinkName("GetCodepointCount")] + /// Get total number of codepoints in a UTF-8 encoded string + public static extern int GetCodepointCount(char8 * text); + + [CallingConvention(.Cdecl), LinkName("GetCodepoint")] + /// Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure + public static extern int GetCodepoint(char8 * text, int * codepointSize); + + [CallingConvention(.Cdecl), LinkName("GetCodepointNext")] + /// Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure + public static extern int GetCodepointNext(char8 * text, int * codepointSize); + + [CallingConvention(.Cdecl), LinkName("GetCodepointPrevious")] + /// Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure + public static extern int GetCodepointPrevious(char8 * text, int * codepointSize); + + [CallingConvention(.Cdecl), LinkName("CodepointToUTF8")] + /// Encode one codepoint into UTF-8 byte array (array length returned as parameter) + public static extern char8 * CodepointToUTF8(int codepoint, int * utf8Size); + + [CallingConvention(.Cdecl), LinkName("TextCopy")] + /// Copy one string to another, returns bytes copied + public static extern int TextCopy(char8 * dst, char8 * src); + + [CallingConvention(.Cdecl), LinkName("TextIsEqual")] + /// Check if two text string are equal + public static extern bool TextIsEqual(char8 * text1, char8 * text2); + + [CallingConvention(.Cdecl), LinkName("TextLength")] + /// Get text length, checks for '\0' ending + public static extern int TextLength(char8 * text); + + [CallingConvention(.Cdecl), LinkName("TextFormat")] + /// Text formatting with variables (sprintf() style) + public static extern char8 * TextFormat(char8 * text); + + [CallingConvention(.Cdecl), LinkName("TextSubtext")] + /// Get a piece of a text string + public static extern char8 * TextSubtext(char8 * text, int position, int length); + + [CallingConvention(.Cdecl), LinkName("TextReplace")] + /// Replace text string (WARNING: memory must be freed!) + public static extern char8 * TextReplace(char8 * text, char8 * replace, char8 * by); + + [CallingConvention(.Cdecl), LinkName("TextInsert")] + /// Insert text in a position (WARNING: memory must be freed!) + public static extern char8 * TextInsert(char8 * text, char8 * insert, int position); + + [CallingConvention(.Cdecl), LinkName("TextJoin")] + /// Join text strings with delimiter + public static extern char8 * TextJoin(char8 ** textList, int count, char8 * delimiter); + + [CallingConvention(.Cdecl), LinkName("TextSplit")] + /// Split text into multiple strings + public static extern char8 ** TextSplit(char8 * text, char8 delimiter, int * count); + + [CallingConvention(.Cdecl), LinkName("TextAppend")] + /// Append text at specific position and move cursor! + public static extern void TextAppend(char8 * text, char8 * @append, int * position); + + [CallingConvention(.Cdecl), LinkName("TextFindIndex")] + /// Find first text occurrence within a string + public static extern int TextFindIndex(char8 * text, char8 * find); + + [CallingConvention(.Cdecl), LinkName("TextToUpper")] + /// Get upper case version of provided string + public static extern char8 * TextToUpper(char8 * text); + + [CallingConvention(.Cdecl), LinkName("TextToLower")] + /// Get lower case version of provided string + public static extern char8 * TextToLower(char8 * text); + + [CallingConvention(.Cdecl), LinkName("TextToPascal")] + /// Get Pascal case notation version of provided string + public static extern char8 * TextToPascal(char8 * text); + + [CallingConvention(.Cdecl), LinkName("TextToInteger")] + /// Get integer value from text (negative values not supported) + public static extern int TextToInteger(char8 * text); + + [CallingConvention(.Cdecl), LinkName("DrawLine3D")] + /// Draw a line in 3D world space + public static extern void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawPoint3D")] + /// Draw a point in 3D space, actually a small line + public static extern void DrawPoint3D(Vector3 position, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCircle3D")] + /// Draw a circle in 3D world space + public static extern void DrawCircle3D(Vector3 center, float radius, Vector3 rotationAxis, float rotationAngle, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawTriangle3D")] + /// Draw a color-filled triangle (vertex in counter-clockwise order!) + public static extern void DrawTriangle3D(Vector3 v1, Vector3 v2, Vector3 v3, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawTriangleStrip3D")] + /// Draw a triangle strip defined by points + public static extern void DrawTriangleStrip3D(Vector3 * points, int pointCount, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCube")] + /// Draw cube + public static extern void DrawCube(Vector3 position, float width, float height, float length, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCubeV")] + /// Draw cube (Vector version) + public static extern void DrawCubeV(Vector3 position, Vector3 size, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCubeWires")] + /// Draw cube wires + public static extern void DrawCubeWires(Vector3 position, float width, float height, float length, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCubeWiresV")] + /// Draw cube wires (Vector version) + public static extern void DrawCubeWiresV(Vector3 position, Vector3 size, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawSphere")] + /// Draw sphere + public static extern void DrawSphere(Vector3 centerPos, float radius, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawSphereEx")] + /// Draw sphere with extended parameters + public static extern void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawSphereWires")] + /// Draw sphere wires + public static extern void DrawSphereWires(Vector3 centerPos, float radius, int rings, int slices, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCylinder")] + /// Draw a cylinder/cone + public static extern void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCylinderEx")] + /// Draw a cylinder with base at startPos and top at endPos + public static extern void DrawCylinderEx(Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCylinderWires")] + /// Draw a cylinder/cone wires + public static extern void DrawCylinderWires(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCylinderWiresEx")] + /// Draw a cylinder wires with base at startPos and top at endPos + public static extern void DrawCylinderWiresEx(Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCapsule")] + /// Draw a capsule with the center of its sphere caps at startPos and endPos + public static extern void DrawCapsule(Vector3 startPos, Vector3 endPos, float radius, int slices, int rings, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawCapsuleWires")] + /// Draw capsule wireframe with the center of its sphere caps at startPos and endPos + public static extern void DrawCapsuleWires(Vector3 startPos, Vector3 endPos, float radius, int slices, int rings, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawPlane")] + /// Draw a plane XZ + public static extern void DrawPlane(Vector3 centerPos, Vector2 size, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawRay")] + /// Draw a ray line + public static extern void DrawRay(Ray ray, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawGrid")] + /// Draw a grid (centered at (0, 0, 0)) + public static extern void DrawGrid(int slices, float spacing); + + [CallingConvention(.Cdecl), LinkName("LoadModel")] + /// Load model from files (meshes and materials) + public static extern Model LoadModel(char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("LoadModelFromMesh")] + /// Load model from generated mesh (default material) + public static extern Model LoadModelFromMesh(Mesh mesh); + + [CallingConvention(.Cdecl), LinkName("IsModelReady")] + /// Check if a model is ready + public static extern bool IsModelReady(Model model); + + [CallingConvention(.Cdecl), LinkName("UnloadModel")] + /// Unload model (including meshes) from memory (RAM and/or VRAM) + public static extern void UnloadModel(Model model); + + [CallingConvention(.Cdecl), LinkName("GetModelBoundingBox")] + /// Compute model bounding box limits (considers all meshes) + public static extern BoundingBox GetModelBoundingBox(Model model); + + [CallingConvention(.Cdecl), LinkName("DrawModel")] + /// Draw a model (with texture if set) + public static extern void DrawModel(Model model, Vector3 position, float scale, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawModelEx")] + /// Draw a model with extended parameters + public static extern void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawModelWires")] + /// Draw a model wires (with texture if set) + public static extern void DrawModelWires(Model model, Vector3 position, float scale, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawModelWiresEx")] + /// Draw a model wires (with texture if set) with extended parameters + public static extern void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawBoundingBox")] + /// Draw bounding box (wires) + public static extern void DrawBoundingBox(BoundingBox @box, Color color); + + [CallingConvention(.Cdecl), LinkName("DrawBillboard")] + /// Draw a billboard texture + public static extern void DrawBillboard(Camera camera, Texture2D texture, Vector3 position, float size, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawBillboardRec")] + /// Draw a billboard texture defined by source + public static extern void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector2 size, Color tint); + + [CallingConvention(.Cdecl), LinkName("DrawBillboardPro")] + /// Draw a billboard texture defined by source and rotation + public static extern void DrawBillboardPro(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector3 up, Vector2 size, Vector2 origin, float rotation, Color tint); + + [CallingConvention(.Cdecl), LinkName("UploadMesh")] + /// Upload mesh vertex data in GPU and provide VAO/VBO ids + public static extern void UploadMesh(Mesh * mesh, bool dynamic); + + [CallingConvention(.Cdecl), LinkName("UpdateMeshBuffer")] + /// Update mesh vertex data in GPU for a specific buffer index + public static extern void UpdateMeshBuffer(Mesh mesh, int index, void * data, int dataSize, int offset); + + [CallingConvention(.Cdecl), LinkName("UnloadMesh")] + /// Unload mesh data from CPU and GPU + public static extern void UnloadMesh(Mesh mesh); + + [CallingConvention(.Cdecl), LinkName("DrawMesh")] + /// Draw a 3d mesh with material and transform + public static extern void DrawMesh(Mesh mesh, Material material, Matrix transform); + + [CallingConvention(.Cdecl), LinkName("DrawMeshInstanced")] + /// Draw multiple mesh instances with material and different transforms + public static extern void DrawMeshInstanced(Mesh mesh, Material material, Matrix * transforms, int instances); + + [CallingConvention(.Cdecl), LinkName("ExportMesh")] + /// Export mesh data to file, returns true on success + public static extern bool ExportMesh(Mesh mesh, char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("GetMeshBoundingBox")] + /// Compute mesh bounding box limits + public static extern BoundingBox GetMeshBoundingBox(Mesh mesh); + + [CallingConvention(.Cdecl), LinkName("GenMeshTangents")] + /// Compute mesh tangents + public static extern void GenMeshTangents(Mesh * mesh); + + [CallingConvention(.Cdecl), LinkName("GenMeshPoly")] + /// Generate polygonal mesh + public static extern Mesh GenMeshPoly(int sides, float radius); + + [CallingConvention(.Cdecl), LinkName("GenMeshPlane")] + /// Generate plane mesh (with subdivisions) + public static extern Mesh GenMeshPlane(float width, float length, int resX, int resZ); + + [CallingConvention(.Cdecl), LinkName("GenMeshCube")] + /// Generate cuboid mesh + public static extern Mesh GenMeshCube(float width, float height, float length); + + [CallingConvention(.Cdecl), LinkName("GenMeshSphere")] + /// Generate sphere mesh (standard sphere) + public static extern Mesh GenMeshSphere(float radius, int rings, int slices); + + [CallingConvention(.Cdecl), LinkName("GenMeshHemiSphere")] + /// Generate half-sphere mesh (no bottom cap) + public static extern Mesh GenMeshHemiSphere(float radius, int rings, int slices); + + [CallingConvention(.Cdecl), LinkName("GenMeshCylinder")] + /// Generate cylinder mesh + public static extern Mesh GenMeshCylinder(float radius, float height, int slices); + + [CallingConvention(.Cdecl), LinkName("GenMeshCone")] + /// Generate cone/pyramid mesh + public static extern Mesh GenMeshCone(float radius, float height, int slices); + + [CallingConvention(.Cdecl), LinkName("GenMeshTorus")] + /// Generate torus mesh + public static extern Mesh GenMeshTorus(float radius, float size, int radSeg, int sides); + + [CallingConvention(.Cdecl), LinkName("GenMeshKnot")] + /// Generate trefoil knot mesh + public static extern Mesh GenMeshKnot(float radius, float size, int radSeg, int sides); + + [CallingConvention(.Cdecl), LinkName("GenMeshHeightmap")] + /// Generate heightmap mesh from image data + public static extern Mesh GenMeshHeightmap(Image heightmap, Vector3 size); + + [CallingConvention(.Cdecl), LinkName("GenMeshCubicmap")] + /// Generate cubes-based map mesh from image data + public static extern Mesh GenMeshCubicmap(Image cubicmap, Vector3 cubeSize); + + [CallingConvention(.Cdecl), LinkName("LoadMaterials")] + /// Load materials from model file + public static extern Material * LoadMaterials(char8 * fileName, int * materialCount); + + [CallingConvention(.Cdecl), LinkName("LoadMaterialDefault")] + /// Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps) + public static extern Material LoadMaterialDefault(); + + [CallingConvention(.Cdecl), LinkName("IsMaterialReady")] + /// Check if a material is ready + public static extern bool IsMaterialReady(Material material); + + [CallingConvention(.Cdecl), LinkName("UnloadMaterial")] + /// Unload material from GPU memory (VRAM) + public static extern void UnloadMaterial(Material material); + + [CallingConvention(.Cdecl), LinkName("SetMaterialTexture")] + /// Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...) + public static extern void SetMaterialTexture(Material * material, int mapType, Texture2D texture); + + [CallingConvention(.Cdecl), LinkName("SetModelMeshMaterial")] + /// Set material for a mesh + public static extern void SetModelMeshMaterial(Model * model, int meshId, int materialId); + + [CallingConvention(.Cdecl), LinkName("LoadModelAnimations")] + /// Load model animations from file + public static extern ModelAnimation * LoadModelAnimations(char8 * fileName, int * animCount); + + [CallingConvention(.Cdecl), LinkName("UpdateModelAnimation")] + /// Update model animation pose + public static extern void UpdateModelAnimation(Model model, ModelAnimation anim, int frame); + + [CallingConvention(.Cdecl), LinkName("UnloadModelAnimation")] + /// Unload animation data + public static extern void UnloadModelAnimation(ModelAnimation anim); + + [CallingConvention(.Cdecl), LinkName("UnloadModelAnimations")] + /// Unload animation array data + public static extern void UnloadModelAnimations(ModelAnimation * animations, int count); + + [CallingConvention(.Cdecl), LinkName("IsModelAnimationValid")] + /// Check model animation skeleton match + public static extern bool IsModelAnimationValid(Model model, ModelAnimation anim); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionSpheres")] + /// Check collision between two spheres + public static extern bool CheckCollisionSpheres(Vector3 center1, float radius1, Vector3 center2, float radius2); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionBoxes")] + /// Check collision between two bounding boxes + public static extern bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2); + + [CallingConvention(.Cdecl), LinkName("CheckCollisionBoxSphere")] + /// Check collision between box and sphere + public static extern bool CheckCollisionBoxSphere(BoundingBox @box, Vector3 center, float radius); + + [CallingConvention(.Cdecl), LinkName("GetRayCollisionSphere")] + /// Get collision info between ray and sphere + public static extern RayCollision GetRayCollisionSphere(Ray ray, Vector3 center, float radius); + + [CallingConvention(.Cdecl), LinkName("GetRayCollisionBox")] + /// Get collision info between ray and box + public static extern RayCollision GetRayCollisionBox(Ray ray, BoundingBox @box); + + [CallingConvention(.Cdecl), LinkName("GetRayCollisionMesh")] + /// Get collision info between ray and mesh + public static extern RayCollision GetRayCollisionMesh(Ray ray, Mesh mesh, Matrix transform); + + [CallingConvention(.Cdecl), LinkName("GetRayCollisionTriangle")] + /// Get collision info between ray and triangle + public static extern RayCollision GetRayCollisionTriangle(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3); + + [CallingConvention(.Cdecl), LinkName("GetRayCollisionQuad")] + /// Get collision info between ray and quad + public static extern RayCollision GetRayCollisionQuad(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3, Vector3 p4); + + [CallingConvention(.Cdecl), LinkName("InitAudioDevice")] + /// Initialize audio device and context + public static extern void InitAudioDevice(); + + [CallingConvention(.Cdecl), LinkName("CloseAudioDevice")] + /// Close the audio device and context + public static extern void CloseAudioDevice(); + + [CallingConvention(.Cdecl), LinkName("IsAudioDeviceReady")] + /// Check if audio device has been initialized successfully + public static extern bool IsAudioDeviceReady(); + + [CallingConvention(.Cdecl), LinkName("SetMasterVolume")] + /// Set master volume (listener) + public static extern void SetMasterVolume(float volume); + + [CallingConvention(.Cdecl), LinkName("LoadWave")] + /// Load wave data from file + public static extern Wave LoadWave(char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("LoadWaveFromMemory")] + /// Load wave from memory buffer, fileType refers to extension: i.e. '.wav' + public static extern Wave LoadWaveFromMemory(char8 * fileType, char8 * fileData, int dataSize); + + [CallingConvention(.Cdecl), LinkName("IsWaveReady")] + /// Checks if wave data is ready + public static extern bool IsWaveReady(Wave wave); + + [CallingConvention(.Cdecl), LinkName("LoadSound")] + /// Load sound from file + public static extern Sound LoadSound(char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("LoadSoundFromWave")] + /// Load sound from wave data + public static extern Sound LoadSoundFromWave(Wave wave); + + [CallingConvention(.Cdecl), LinkName("IsSoundReady")] + /// Checks if a sound is ready + public static extern bool IsSoundReady(Sound sound); + + [CallingConvention(.Cdecl), LinkName("UpdateSound")] + /// Update sound buffer with new data + public static extern void UpdateSound(Sound sound, void * data, int sampleCount); + + [CallingConvention(.Cdecl), LinkName("UnloadWave")] + /// Unload wave data + public static extern void UnloadWave(Wave wave); + + [CallingConvention(.Cdecl), LinkName("UnloadSound")] + /// Unload sound + public static extern void UnloadSound(Sound sound); + + [CallingConvention(.Cdecl), LinkName("ExportWave")] + /// Export wave data to file, returns true on success + public static extern bool ExportWave(Wave wave, char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("ExportWaveAsCode")] + /// Export wave sample data to code (.h), returns true on success + public static extern bool ExportWaveAsCode(Wave wave, char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("PlaySound")] + /// Play a sound + public static extern void PlaySound(Sound sound); + + [CallingConvention(.Cdecl), LinkName("StopSound")] + /// Stop playing a sound + public static extern void StopSound(Sound sound); + + [CallingConvention(.Cdecl), LinkName("PauseSound")] + /// Pause a sound + public static extern void PauseSound(Sound sound); + + [CallingConvention(.Cdecl), LinkName("ResumeSound")] + /// Resume a paused sound + public static extern void ResumeSound(Sound sound); + + [CallingConvention(.Cdecl), LinkName("IsSoundPlaying")] + /// Check if a sound is currently playing + public static extern bool IsSoundPlaying(Sound sound); + + [CallingConvention(.Cdecl), LinkName("SetSoundVolume")] + /// Set volume for a sound (1.0 is max level) + public static extern void SetSoundVolume(Sound sound, float volume); + + [CallingConvention(.Cdecl), LinkName("SetSoundPitch")] + /// Set pitch for a sound (1.0 is base level) + public static extern void SetSoundPitch(Sound sound, float pitch); + + [CallingConvention(.Cdecl), LinkName("SetSoundPan")] + /// Set pan for a sound (0.5 is center) + public static extern void SetSoundPan(Sound sound, float pan); + + [CallingConvention(.Cdecl), LinkName("WaveCopy")] + /// Copy a wave to a new wave + public static extern Wave WaveCopy(Wave wave); + + [CallingConvention(.Cdecl), LinkName("WaveCrop")] + /// Crop a wave to defined samples range + public static extern void WaveCrop(Wave * wave, int initSample, int finalSample); + + [CallingConvention(.Cdecl), LinkName("WaveFormat")] + /// Convert wave data to desired format + public static extern void WaveFormat(Wave * wave, int sampleRate, int sampleSize, int channels); + + [CallingConvention(.Cdecl), LinkName("LoadWaveSamples")] + /// Load samples data from wave as a 32bit float data array + public static extern float * LoadWaveSamples(Wave wave); + + [CallingConvention(.Cdecl), LinkName("UnloadWaveSamples")] + /// Unload samples data loaded with LoadWaveSamples() + public static extern void UnloadWaveSamples(float * samples); + + [CallingConvention(.Cdecl), LinkName("LoadMusicStream")] + /// Load music stream from file + public static extern Music LoadMusicStream(char8 * fileName); + + [CallingConvention(.Cdecl), LinkName("LoadMusicStreamFromMemory")] + /// Load music stream from data + public static extern Music LoadMusicStreamFromMemory(char8 * fileType, char8 * data, int dataSize); + + [CallingConvention(.Cdecl), LinkName("IsMusicReady")] + /// Checks if a music stream is ready + public static extern bool IsMusicReady(Music music); + + [CallingConvention(.Cdecl), LinkName("UnloadMusicStream")] + /// Unload music stream + public static extern void UnloadMusicStream(Music music); + + [CallingConvention(.Cdecl), LinkName("PlayMusicStream")] + /// Start music playing + public static extern void PlayMusicStream(Music music); + + [CallingConvention(.Cdecl), LinkName("IsMusicStreamPlaying")] + /// Check if music is playing + public static extern bool IsMusicStreamPlaying(Music music); + + [CallingConvention(.Cdecl), LinkName("UpdateMusicStream")] + /// Updates buffers for music streaming + public static extern void UpdateMusicStream(Music music); + + [CallingConvention(.Cdecl), LinkName("StopMusicStream")] + /// Stop music playing + public static extern void StopMusicStream(Music music); + + [CallingConvention(.Cdecl), LinkName("PauseMusicStream")] + /// Pause music playing + public static extern void PauseMusicStream(Music music); + + [CallingConvention(.Cdecl), LinkName("ResumeMusicStream")] + /// Resume playing paused music + public static extern void ResumeMusicStream(Music music); + + [CallingConvention(.Cdecl), LinkName("SeekMusicStream")] + /// Seek music to a position (in seconds) + public static extern void SeekMusicStream(Music music, float position); + + [CallingConvention(.Cdecl), LinkName("SetMusicVolume")] + /// Set volume for music (1.0 is max level) + public static extern void SetMusicVolume(Music music, float volume); + + [CallingConvention(.Cdecl), LinkName("SetMusicPitch")] + /// Set pitch for a music (1.0 is base level) + public static extern void SetMusicPitch(Music music, float pitch); + + [CallingConvention(.Cdecl), LinkName("SetMusicPan")] + /// Set pan for a music (0.5 is center) + public static extern void SetMusicPan(Music music, float pan); + + [CallingConvention(.Cdecl), LinkName("GetMusicTimeLength")] + /// Get music time length (in seconds) + public static extern float GetMusicTimeLength(Music music); + + [CallingConvention(.Cdecl), LinkName("GetMusicTimePlayed")] + /// Get current music time played (in seconds) + public static extern float GetMusicTimePlayed(Music music); + + [CallingConvention(.Cdecl), LinkName("LoadAudioStream")] + /// Load audio stream (to stream raw audio pcm data) + public static extern AudioStream LoadAudioStream(int sampleRate, int sampleSize, int channels); + + [CallingConvention(.Cdecl), LinkName("IsAudioStreamReady")] + /// Checks if an audio stream is ready + public static extern bool IsAudioStreamReady(AudioStream stream); + + [CallingConvention(.Cdecl), LinkName("UnloadAudioStream")] + /// Unload audio stream and free memory + public static extern void UnloadAudioStream(AudioStream stream); + + [CallingConvention(.Cdecl), LinkName("UpdateAudioStream")] + /// Update audio stream buffers with data + public static extern void UpdateAudioStream(AudioStream stream, void * data, int frameCount); + + [CallingConvention(.Cdecl), LinkName("IsAudioStreamProcessed")] + /// Check if any audio stream buffers requires refill + public static extern bool IsAudioStreamProcessed(AudioStream stream); + + [CallingConvention(.Cdecl), LinkName("PlayAudioStream")] + /// Play audio stream + public static extern void PlayAudioStream(AudioStream stream); + + [CallingConvention(.Cdecl), LinkName("PauseAudioStream")] + /// Pause audio stream + public static extern void PauseAudioStream(AudioStream stream); + + [CallingConvention(.Cdecl), LinkName("ResumeAudioStream")] + /// Resume audio stream + public static extern void ResumeAudioStream(AudioStream stream); + + [CallingConvention(.Cdecl), LinkName("IsAudioStreamPlaying")] + /// Check if audio stream is playing + public static extern bool IsAudioStreamPlaying(AudioStream stream); + + [CallingConvention(.Cdecl), LinkName("StopAudioStream")] + /// Stop audio stream + public static extern void StopAudioStream(AudioStream stream); + + [CallingConvention(.Cdecl), LinkName("SetAudioStreamVolume")] + /// Set volume for audio stream (1.0 is max level) + public static extern void SetAudioStreamVolume(AudioStream stream, float volume); + + [CallingConvention(.Cdecl), LinkName("SetAudioStreamPitch")] + /// Set pitch for audio stream (1.0 is base level) + public static extern void SetAudioStreamPitch(AudioStream stream, float pitch); + + [CallingConvention(.Cdecl), LinkName("SetAudioStreamPan")] + /// Set pan for audio stream (0.5 is centered) + public static extern void SetAudioStreamPan(AudioStream stream, float pan); + + [CallingConvention(.Cdecl), LinkName("SetAudioStreamBufferSizeDefault")] + /// Default size for new audio streams + public static extern void SetAudioStreamBufferSizeDefault(int size); + + [CallingConvention(.Cdecl), LinkName("SetAudioStreamCallback")] + /// Audio thread callback to request new data + public static extern void SetAudioStreamCallback(AudioStream stream, AudioCallback callback); + + [CallingConvention(.Cdecl), LinkName("AttachAudioStreamProcessor")] + /// Attach audio stream processor to stream + public static extern void AttachAudioStreamProcessor(AudioStream stream, AudioCallback processor); + + [CallingConvention(.Cdecl), LinkName("DetachAudioStreamProcessor")] + /// Detach audio stream processor from stream + public static extern void DetachAudioStreamProcessor(AudioStream stream, AudioCallback processor); + + [CallingConvention(.Cdecl), LinkName("AttachAudioMixedProcessor")] + /// Attach audio stream processor to the entire audio pipeline + public static extern void AttachAudioMixedProcessor(AudioCallback processor); + + [CallingConvention(.Cdecl), LinkName("DetachAudioMixedProcessor")] + /// Detach audio stream processor from the entire audio pipeline + public static extern void DetachAudioMixedProcessor(AudioCallback processor); + +} diff --git a/beef/src/test/Rectangle.bf b/beef/src/test/Rectangle.bf new file mode 100644 index 0000000..f5fd5aa --- /dev/null +++ b/beef/src/test/Rectangle.bf @@ -0,0 +1,28 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct Rectangle +{ + /// Rectangle top-left corner position x + public float x; + + /// Rectangle top-left corner position y + public float y; + + /// Rectangle width + public float width; + + /// Rectangle height + public float height; + + public this(float x, float y, float width, float height) + { + this.x = x; + this.y = y; + this.width = width; + this.height = height; + } +} diff --git a/beef/src/test/RenderTexture.bf b/beef/src/test/RenderTexture.bf new file mode 100644 index 0000000..e982956 --- /dev/null +++ b/beef/src/test/RenderTexture.bf @@ -0,0 +1,26 @@ +using System; +using System.Interop; + +namespace Raylib; + +typealias RenderTexture2D = RenderTexture; + +[CRepr] +public struct RenderTexture +{ + /// OpenGL framebuffer object id + public int id; + + /// Color buffer attachment texture + public Texture texture; + + /// Depth buffer attachment texture + public Texture depth; + + public this(int id, Texture texture, Texture depth) + { + this.id = id; + this.texture = texture; + this.depth = depth; + } +} diff --git a/beef/src/test/Shader.bf b/beef/src/test/Shader.bf new file mode 100644 index 0000000..ce1690e --- /dev/null +++ b/beef/src/test/Shader.bf @@ -0,0 +1,20 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct Shader +{ + /// Shader program id + public int id; + + /// Shader locations array (RL_MAX_SHADER_LOCATIONS) + public int * locs; + + public this(int id, int * locs) + { + this.id = id; + this.locs = locs; + } +} diff --git a/beef/src/test/Sound.bf b/beef/src/test/Sound.bf new file mode 100644 index 0000000..b148a84 --- /dev/null +++ b/beef/src/test/Sound.bf @@ -0,0 +1,20 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct Sound +{ + /// Audio stream + public AudioStream stream; + + /// Total number of frames (considering channels) + public int frameCount; + + public this(AudioStream stream, int frameCount) + { + this.stream = stream; + this.frameCount = frameCount; + } +} diff --git a/beef/src/test/Texture.bf b/beef/src/test/Texture.bf new file mode 100644 index 0000000..1d0fc1d --- /dev/null +++ b/beef/src/test/Texture.bf @@ -0,0 +1,34 @@ +using System; +using System.Interop; + +namespace Raylib; + +typealias Texture2D = Texture; + +[CRepr] +public struct Texture +{ + /// OpenGL texture id + public int id; + + /// Texture base width + public int width; + + /// Texture base height + public int height; + + /// Mipmap levels, 1 by default + public int mipmaps; + + /// Data format (PixelFormat type) + public int format; + + public this(int id, int width, int height, int mipmaps, int format) + { + this.id = id; + this.width = width; + this.height = height; + this.mipmaps = mipmaps; + this.format = format; + } +} diff --git a/beef/src/test/Transform.bf b/beef/src/test/Transform.bf new file mode 100644 index 0000000..c9ea5b4 --- /dev/null +++ b/beef/src/test/Transform.bf @@ -0,0 +1,24 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct Transform +{ + /// Translation + public Vector3 translation; + + /// Rotation + public Quaternion rotation; + + /// Scale + public Vector3 scale; + + public this(Vector3 translation, Quaternion rotation, Vector3 scale) + { + this.translation = translation; + this.rotation = rotation; + this.scale = scale; + } +} diff --git a/beef/src/test/Vector2.bf b/beef/src/test/Vector2.bf new file mode 100644 index 0000000..c49262a --- /dev/null +++ b/beef/src/test/Vector2.bf @@ -0,0 +1,20 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct Vector2 +{ + /// Vector x component + public float x; + + /// Vector y component + public float y; + + public this(float x, float y) + { + this.x = x; + this.y = y; + } +} diff --git a/beef/src/test/Vector3.bf b/beef/src/test/Vector3.bf new file mode 100644 index 0000000..9280501 --- /dev/null +++ b/beef/src/test/Vector3.bf @@ -0,0 +1,24 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct Vector3 +{ + /// Vector x component + public float x; + + /// Vector y component + public float y; + + /// Vector z component + public float z; + + public this(float x, float y, float z) + { + this.x = x; + this.y = y; + this.z = z; + } +} diff --git a/beef/src/test/Vector4.bf b/beef/src/test/Vector4.bf new file mode 100644 index 0000000..7bb9fc3 --- /dev/null +++ b/beef/src/test/Vector4.bf @@ -0,0 +1,30 @@ +using System; +using System.Interop; + +namespace Raylib; + +typealias Quaternion = Vector4; + +[CRepr] +public struct Vector4 +{ + /// Vector x component + public float x; + + /// Vector y component + public float y; + + /// Vector z component + public float z; + + /// Vector w component + public float w; + + public this(float x, float y, float z, float w) + { + this.x = x; + this.y = y; + this.z = z; + this.w = w; + } +} diff --git a/beef/src/test/VrDeviceInfo.bf b/beef/src/test/VrDeviceInfo.bf new file mode 100644 index 0000000..f630160 --- /dev/null +++ b/beef/src/test/VrDeviceInfo.bf @@ -0,0 +1,52 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct VrDeviceInfo +{ + /// Horizontal resolution in pixels + public int hResolution; + + /// Vertical resolution in pixels + public int vResolution; + + /// Horizontal size in meters + public float hScreenSize; + + /// Vertical size in meters + public float vScreenSize; + + /// Screen center in meters + public float vScreenCenter; + + /// Distance between eye and display in meters + public float eyeToScreenDistance; + + /// Lens separation distance in meters + public float lensSeparationDistance; + + /// IPD (distance between pupils) in meters + public float interpupillaryDistance; + + /// Lens distortion constant parameters + public float[4] lensDistortionValues; + + /// Chromatic aberration correction parameters + public float[4] chromaAbCorrection; + + public this(int hResolution, int vResolution, float hScreenSize, float vScreenSize, float vScreenCenter, float eyeToScreenDistance, float lensSeparationDistance, float interpupillaryDistance, float[4] lensDistortionValues, float[4] chromaAbCorrection) + { + this.hResolution = hResolution; + this.vResolution = vResolution; + this.hScreenSize = hScreenSize; + this.vScreenSize = vScreenSize; + this.vScreenCenter = vScreenCenter; + this.eyeToScreenDistance = eyeToScreenDistance; + this.lensSeparationDistance = lensSeparationDistance; + this.interpupillaryDistance = interpupillaryDistance; + this.lensDistortionValues = lensDistortionValues; + this.chromaAbCorrection = chromaAbCorrection; + } +} diff --git a/beef/src/test/VrStereoConfig.bf b/beef/src/test/VrStereoConfig.bf new file mode 100644 index 0000000..3a5a83b --- /dev/null +++ b/beef/src/test/VrStereoConfig.bf @@ -0,0 +1,44 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct VrStereoConfig +{ + /// VR projection matrices (per eye) + public Matrix[2] projection; + + /// VR view offset matrices (per eye) + public Matrix[2] viewOffset; + + /// VR left lens center + public float[2] leftLensCenter; + + /// VR right lens center + public float[2] rightLensCenter; + + /// VR left screen center + public float[2] leftScreenCenter; + + /// VR right screen center + public float[2] rightScreenCenter; + + /// VR distortion scale + public float[2] scale; + + /// VR distortion scale in + public float[2] scaleIn; + + public this(Matrix[2] projection, Matrix[2] viewOffset, float[2] leftLensCenter, float[2] rightLensCenter, float[2] leftScreenCenter, float[2] rightScreenCenter, float[2] scale, float[2] scaleIn) + { + this.projection = projection; + this.viewOffset = viewOffset; + this.leftLensCenter = leftLensCenter; + this.rightLensCenter = rightLensCenter; + this.leftScreenCenter = leftScreenCenter; + this.rightScreenCenter = rightScreenCenter; + this.scale = scale; + this.scaleIn = scaleIn; + } +} diff --git a/beef/src/test/Wave.bf b/beef/src/test/Wave.bf new file mode 100644 index 0000000..1b9d304 --- /dev/null +++ b/beef/src/test/Wave.bf @@ -0,0 +1,32 @@ +using System; +using System.Interop; + +namespace Raylib; + +[CRepr] +public struct Wave +{ + /// Total number of frames (considering channels) + public int frameCount; + + /// Frequency (samples per second) + public int sampleRate; + + /// Bit depth (bits per sample): 8, 16, 32 (24 not supported) + public int sampleSize; + + /// Number of channels (1-mono, 2-stereo, ...) + public int channels; + + /// Buffer data pointer + public void * data; + + public this(int frameCount, int sampleRate, int sampleSize, int channels, void * data) + { + this.frameCount = frameCount; + this.sampleRate = sampleRate; + this.sampleSize = sampleSize; + this.channels = channels; + this.data = data; + } +} diff --git a/generator/API.cs b/generator/API.cs new file mode 100644 index 0000000..cb47d49 --- /dev/null +++ b/generator/API.cs @@ -0,0 +1,140 @@ +using Newtonsoft.Json; + +namespace RaylibBeefGenerator +{ + // Root myDeserializedClass = JsonConvert.DeserializeObject(myJsonResponse); + public class Alias + { + [JsonProperty("type")] + public string Type { get; set; } = string.Empty; + + [JsonProperty("name")] + public string Name { get; set; } = string.Empty; + + [JsonProperty("description")] + public string Description { get; set; } = string.Empty; + } + + public class Callback + { + [JsonProperty("name")] + public string Name { get; set; } = string.Empty; + + [JsonProperty("description")] + public string Description { get; set; } = string.Empty; + + [JsonProperty("returnType")] + public string ReturnType { get; set; } = string.Empty; + + [JsonProperty("params")] + public List Params { get; set; } = new(); + } + + public class Define + { + [JsonProperty("name")] + public string Name { get; set; } = string.Empty; + + [JsonProperty("type")] + public string Type { get; set; } = string.Empty; + + [JsonProperty("value")] + public object Value { get; set; } = string.Empty; + + [JsonProperty("description")] + public string Description { get; set; } = string.Empty; + } + + public class Enum + { + [JsonProperty("name")] + public string Name { get; set; } = string.Empty; + + [JsonProperty("description")] + public string Description { get; set; } = string.Empty; + + [JsonProperty("values")] + public List Values { get; set; } = new(); + } + + public class Field + { + [JsonProperty("type")] + public string Type { get; set; } = string.Empty; + + [JsonProperty("name")] + public string Name { get; set; } = string.Empty; + + [JsonProperty("description")] + public string Description { get; set; } = string.Empty; + } + + public class Function + { + [JsonProperty("name")] + public string Name { get; set; } = string.Empty; + + [JsonProperty("description")] + public string Description { get; set; } = string.Empty; + + [JsonProperty("returnType")] + public string ReturnType { get; set; } = string.Empty; + + [JsonProperty("params")] + public List Params { get; set; } = new(); + } + + public class Param + { + [JsonProperty("type")] + public string Type { get; set; } = string.Empty; + + [JsonProperty("name")] + public string Name { get; set; } = string.Empty; + } + + public class Root + { + [JsonProperty("defines")] + public List Defines { get; set; } = new(); + + [JsonProperty("structs")] + public List Structs { get; set; } = new(); + + [JsonProperty("aliases")] + public List Aliases { get; set; } = new(); + + [JsonProperty("enums")] + public List Enums { get; set; } = new(); + + [JsonProperty("callbacks")] + public List Callbacks { get; set; } = new(); + + [JsonProperty("functions")] + public List Functions { get; set; } = new(); + } + + public class Struct + { + [JsonProperty("name")] + public string Name { get; set; } = string.Empty; + + [JsonProperty("description")] + public string Description { get; set; } = string.Empty; + + [JsonProperty("fields")] + public List Fields { get; set; } = new(); + } + + public class Value + { + [JsonProperty("name")] + public string Name { get; set; } = string.Empty; + + [JsonProperty("value")] + public int? Value_ { get; set; } = 0; + + [JsonProperty("description")] + public string Description { get; set; } = string.Empty; + } +} diff --git a/generator/Program.cs b/generator/Program.cs new file mode 100644 index 0000000..5667e7f --- /dev/null +++ b/generator/Program.cs @@ -0,0 +1,226 @@ +using Newtonsoft.Json; +using System; +using System.Text; +using System.Text.RegularExpressions; + +namespace RaylibBeefGenerator +{ + public static class Program + { + // Number of tabs we are in. + private static int TabIndex = 0; + + // Current Output Beef Code + private static StringBuilder OutputString = new StringBuilder(); + + private static string OutputDir = @"C:\Dev\raylib-beef\beef\src\test\"; + + private static Root API; + + #region Output Defines + private static string Namespace = "Raylib"; + #endregion + + public static void Main(string[] args) + { + string raylibjson = @"C:\Dev\raylib-beef\raylib-api\raylib.json"; + + API = JsonConvert.DeserializeObject(File.ReadAllText(raylibjson)); + + RaylibBf(); + + for (int i = 0; i < API.Structs.Count; i++) + { + StructBf(API.Structs[i]); + } + + OutputString.Clear(); + OutputString = new(); + + UniversalHeader(); + + AppendLine($"static"); + AppendLine("{"); + IncreaseTab(); + for (int i = 0; i < API.Callbacks.Count; i++) + { + var callback = API.Callbacks[i]; + + if (!string.IsNullOrEmpty(callback.Description)) AppendLine($"/// {callback.Description}"); + AppendLine($"public function {callback.ReturnType.ConvertTypes()} {callback.Name}({callback.Params.Parameters2String()});"); + AppendLine(""); + } + DecreaseTab(); + AppendLine("}"); + + WriteToFile("Callbacks"); + } + + public static void StructBf(Struct structu) + { + OutputString.Clear(); + OutputString = new(); + + UniversalHeader(); + + var alias = API.Aliases.Find(c => c.Type == structu.Name); + if (alias != null) + { + AppendLine($"typealias {alias.Name} = {alias.Type};"); + AppendLine(""); + } + + AppendLine($"[CRepr]"); + AppendLine($"public struct {structu.Name}"); + AppendLine("{"); + IncreaseTab(); + + var constructorLine = "public this("; + + for (int i = 0; i < structu.Fields.Count; i++) + { + var field = structu.Fields[i]; + AppendLine($"/// {field.Description}"); + AppendLine($"public {field.Type.ConvertTypes()} {field.Name.ConvertName()};"); + AppendLine(""); + + constructorLine += $"{field.Type.ConvertTypes()} {field.Name}"; + if (i < structu.Fields.Count - 1) constructorLine += ", "; + } + + constructorLine += ")"; + AppendLine(constructorLine); + AppendLine("{"); + IncreaseTab(); + + for (int i = 0; i < structu.Fields.Count; i++) + { + var field = structu.Fields[i]; + AppendLine($"this.{field.Name} = {field.Name};"); + } + + DecreaseTab(); + AppendLine("}"); + + DecreaseTab(); + AppendLine("}"); + WriteToFile($"{structu.Name}"); + } + + public static void RaylibBf() + { + OutputString.Clear(); + OutputString = new(); + + UniversalHeader(); + + AppendLine("static"); + AppendLine("{"); + IncreaseTab(); + for (int i = 0; i < API.Functions.Count; i++) + { + var func = API.Functions[i]; + + AppendLine($"[CallingConvention(.Cdecl), LinkName(\"{func.Name}\")]"); + AppendLine($"/// {func.Description}"); + AppendLine($"public static extern {func.ReturnType.ConvertTypes()} {func.Name.ConvertName()}({Parameters2String(func.Params)});"); + AppendLine(""); + } + DecreaseTab(); + AppendLine("}"); + + WriteToFile("Raylib"); + } + + public static string Parameters2String(this List @params) + { + var paramStr = string.Empty; + + for (int p = 0; p < @params.Count; p++) + { + var param = @params[p]; + var t = ConvertTypes(param.Type); + if (t == "...") { paramStr = paramStr[..^2]; continue; }; // Dunno what this is about, or how to convert it. + + paramStr += $"{t} {param.Name.ConvertName()}"; + if (p < @params.Count - 1) + paramStr += ", "; + } + + return paramStr; + } + + public static void UniversalHeader() + { + AppendLine("using System;"); + AppendLine("using System.Interop;"); + AppendLine(""); + AppendLine($"namespace {Namespace};"); + AppendLine(""); + } + + public static void WriteToFile(string name) + { + File.WriteAllText(OutputDir + name + ".bf", OutputString.ToString()); + } + + /// + /// Converts the API types to Beef types. + /// + public static string ConvertTypes(this string input) + { + input = ReplaceWholeWord(input, "char", "char8"); + input = ReplaceWholeWord(input, "long", "int32"); + input = ReplaceWholeWord(input, "va_list", "void*"); + + if (input.StartsWith("const")) + input = input.Remove(0, 6); + if (input.StartsWith("unsigned")) + input = input.Remove(0, 9); + + switch (input) + { + case "unsigned int": + return "c_uint"; + default: + return input; + } + } + + public static string ConvertName(this string input) + { + input = ReplaceWholeWord(input, "append", "@append"); + input = ReplaceWholeWord(input, "box", "@box"); + input = ReplaceWholeWord(input, "params", "@params"); + + return input; + } + + public static string ReplaceWholeWord(this string original, string wordToFind, string replacement, RegexOptions regexOptions = RegexOptions.None) + { + string pattern = @$"\b{wordToFind}\b"; + return Regex.Replace(original, pattern, replacement); + } + + public static void AppendLine(string content) + { + var output = string.Empty; + for (int i = 0; i < TabIndex; i++) + { + output += " "; + } + output += content; + OutputString.AppendLine(output); + } + + public static void IncreaseTab() + { + TabIndex++; + } + + public static void DecreaseTab() + { + TabIndex--; + } + } +} \ No newline at end of file diff --git a/generator/generator.csproj b/generator/generator.csproj new file mode 100644 index 0000000..7d211a9 --- /dev/null +++ b/generator/generator.csproj @@ -0,0 +1,14 @@ + + + + Exe + net6.0 + enable + enable + + + + + + + diff --git a/raylib-api/.gitignore b/raylib-api/.gitignore new file mode 100644 index 0000000..2b5c1aa --- /dev/null +++ b/raylib-api/.gitignore @@ -0,0 +1,2 @@ +vendor +package-lock.json \ No newline at end of file diff --git a/raylib-api/LICENSE.md b/raylib-api/LICENSE.md new file mode 100644 index 0000000..77fda14 --- /dev/null +++ b/raylib-api/LICENSE.md @@ -0,0 +1,18 @@ +# License + +Copyright (c) 2023 Rob Loach (@RobLoach) + +This software is provided "as-is", without any express or implied warranty. In no event +will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, including commercial +applications, and to alter it and redistribute it freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not claim that you + wrote the original software. If you use this software in a product, an acknowledgment + in the product documentation would be appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be misrepresented + as being the original software. + + 3. This notice may not be removed or altered from any source distribution. \ No newline at end of file diff --git a/raylib-api/Makefile b/raylib-api/Makefile new file mode 100644 index 0000000..21c2933 --- /dev/null +++ b/raylib-api/Makefile @@ -0,0 +1,46 @@ +RAYLIB_VERSION?=4.5.0 +PARSER?=vendor/raylib-parser/parser/raylib_parser +RAYLIB?=vendor/raylib +EXTENSION?=txt +FORMAT?=DEFAULT + +all: + FORMAT=DEFAULT EXTENSION=txt $(MAKE) parse + FORMAT=JSON EXTENSION=json $(MAKE) parse + FORMAT=XML EXTENSION=xml $(MAKE) parse + FORMAT=LUA EXTENSION=lua $(MAKE) parse + +vendor/raylib-parser: + git clone https://github.com/raysan5/raylib.git --depth 2 vendor/raylib-parser + +vendor/raylib: + git clone https://github.com/raysan5/raylib.git --depth 1 --branch $(RAYLIB_VERSION) vendor/raylib + +vendor/reasings: + git clone https://github.com/raylib-extras/reasings.git --depth 1 vendor/reasings + +vendor/rmem: + git clone https://github.com/raylib-extras/rmem.git --depth 1 vendor/rmem + +vendor/raygui: + git clone https://github.com/raysan5/raygui.git --depth 1 vendor/raygui + +vendor/rres: + git clone https://github.com/raysan5/rres.git --depth 1 vendor/rres + +vendor: vendor/raylib-parser vendor/raylib vendor/reasings vendor/rmem vendor/raygui vendor/rres + +$(PARSER): vendor + $(MAKE) -C vendor/raylib-parser/parser + +parse: $(PARSER) + $(PARSER) -i $(RAYLIB)/src/raylib.h -o raylib.$(EXTENSION) -f $(FORMAT) -d RLAPI + $(PARSER) -i $(RAYLIB)/src/raymath.h -o raymath.$(EXTENSION) -f $(FORMAT) -d RMAPI + $(PARSER) -i $(RAYLIB)/src/rlgl.h -o rlgl.$(EXTENSION) -f $(FORMAT) -d RLAPI -t "RLGL IMPLEMENTATION" + $(PARSER) -i vendor/reasings/src/reasings.h -o reasings.$(EXTENSION) -f $(FORMAT) -d EASEDEF + $(PARSER) -i vendor/raygui/src/raygui.h -o raygui.$(EXTENSION) -f $(FORMAT) -d RAYGUIAPI -t "RAYGUI IMPLEMENTATION" + $(PARSER) -i vendor/rmem/src/rmem.h -o rmem.$(EXTENSION) -f $(FORMAT) -d RMEMAPI -t "RMEM IMPLEMENTATION" + $(PARSER) -i vendor/rres/src/rres.h -o rres.$(EXTENSION) -f $(FORMAT) -d RRESAPI -t "RRES IMPLEMENTATION" + +clean: + rm -rf vendor diff --git a/raylib-api/README.md b/raylib-api/README.md new file mode 100644 index 0000000..52812b7 --- /dev/null +++ b/raylib-api/README.md @@ -0,0 +1,58 @@ +# raylib-api [![@raylib/api](http://img.shields.io/npm/v/@raylib/api.svg)](https://npmjs.org/package/@raylib/api "@raylib/api on npm") + +Exports of the [raylib](https://github.com/raysan5/raylib/) API through [raylib's parser](https://github.com/raysan5/raylib/tree/master/parser). + +**Target Version:** 4.5.0 + +## Features + +Versioned exports of the latest raylib APIs through the latest version of the [parser](https://github.com/raysan5/raylib/tree/master/parser): + +- reasings +- raygui +- raylib +- raymath +- rlgl +- rmem +- rres + +## Usage + +Since this is just data, there are a few ways to use *raylib-api*... + +### [Node.js](https://www.npmjs.com/package/@raylib/api) + +``` bash +npm install @raylib/api +``` + +``` js +const raylibApi = require('@raylib/api') +``` + +### git + +``` bash +# Clone +git clone https://github.com/RobLoach/raylib-api.git + +# Submodule +git submodule add https://github.com/RobLoach/raylib-api.git +``` + +## Update + +To update the exported APIs based on the latest parser, run: + +``` +make +``` + +See [Makefile](Makefile) for more. + +## License + +*raylib-api* is licensed under an unmodified zlib/libpng license, which is an OSI-certified, +BSD-like license that allows static linking with closed source software. Check [LICENSE](LICENSE) for further details. + +*Copyright (c) 2022 Rob Loach ([@RobLoach](https://twitter.com/RobLoach))* diff --git a/raylib-api/index.js b/raylib-api/index.js new file mode 100644 index 0000000..d886966 --- /dev/null +++ b/raylib-api/index.js @@ -0,0 +1,9 @@ +module.exports = { + raylib: require('./raylib.json'), + raymath: require('./raymath.json'), + rlgl: require('./rlgl.json'), + rmem: require('./rmem.json'), + reasings: require('./reasings.json'), + raygui: require('./raygui.json'), + rres: require('./rres.json') +} diff --git a/raylib-api/package.json b/raylib-api/package.json new file mode 100644 index 0000000..df9455b --- /dev/null +++ b/raylib-api/package.json @@ -0,0 +1,28 @@ +{ + "name": "@raylib/api", + "version": "4.5.0", + "description": "raylib-api: Exports of the raylib API in various file formats.", + "main": "index.js", + "scripts": { + "test": "node index.js", + "update": "make" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/RobLoach/raylib-api.git" + }, + "keywords": [ + "raylib" + ], + "files": [ + "*.json", + "*.md", + "*.js" + ], + "author": "Rob Loach", + "license": "Zlib", + "bugs": { + "url": "https://github.com/RobLoach/raylib-api/issues" + }, + "homepage": "https://github.com/RobLoach/raylib-api#readme" +} diff --git a/raylib-api/raygui.json b/raylib-api/raygui.json new file mode 100644 index 0000000..6e398e7 --- /dev/null +++ b/raylib-api/raygui.json @@ -0,0 +1,2954 @@ +{ + "defines": [ + { + "name": "RAYGUI_H", + "type": "GUARD", + "value": "", + "description": "" + }, + { + "name": "RAYGUI_VERSION", + "type": "STRING", + "value": "3.2", + "description": "" + }, + { + "name": "RAYGUIAPI", + "type": "UNKNOWN", + "value": "__declspec(dllexport)", + "description": "We are building the library as a Win32 shared library (.dll)" + }, + { + "name": "RAYGUI_MALLOC(sz)", + "type": "MACRO", + "value": "malloc(sz)", + "description": "" + }, + { + "name": "RAYGUI_CALLOC(n,sz)", + "type": "MACRO", + "value": "calloc(n,sz)", + "description": "" + }, + { + "name": "RAYGUI_FREE(p)", + "type": "MACRO", + "value": "free(p)", + "description": "" + }, + { + "name": "RAYGUI_SUPPORT_LOG_INFO", + "type": "GUARD", + "value": "", + "description": "" + }, + { + "name": "RAYGUI_LOG(...)", + "type": "MACRO", + "value": "printf(__VA_ARGS__)", + "description": "" + }, + { + "name": "SCROLLBAR_LEFT_SIDE", + "type": "INT", + "value": 0, + "description": "" + }, + { + "name": "SCROLLBAR_RIGHT_SIDE", + "type": "INT", + "value": 1, + "description": "" + } + ], + "structs": [ + { + "name": "Vector2", + "description": "Vector2 type", + "fields": [ + { + "type": "float", + "name": "x", + "description": "" + }, + { + "type": "float", + "name": "y", + "description": "" + } + ] + }, + { + "name": "Vector3", + "description": "Vector3 type // -- ConvertHSVtoRGB(), ConvertRGBtoHSV()", + "fields": [ + { + "type": "float", + "name": "x", + "description": "" + }, + { + "type": "float", + "name": "y", + "description": "" + }, + { + "type": "float", + "name": "z", + "description": "" + } + ] + }, + { + "name": "Color", + "description": "Color type, RGBA (32bit)", + "fields": [ + { + "type": "unsigned char", + "name": "r", + "description": "" + }, + { + "type": "unsigned char", + "name": "g", + "description": "" + }, + { + "type": "unsigned char", + "name": "b", + "description": "" + }, + { + "type": "unsigned char", + "name": "a", + "description": "" + } + ] + }, + { + "name": "Rectangle", + "description": "Rectangle type", + "fields": [ + { + "type": "float", + "name": "x", + "description": "" + }, + { + "type": "float", + "name": "y", + "description": "" + }, + { + "type": "float", + "name": "width", + "description": "" + }, + { + "type": "float", + "name": "height", + "description": "" + } + ] + }, + { + "name": "Texture2D", + "description": "It should be redesigned to be provided by user", + "fields": [ + { + "type": "unsigned int", + "name": "id", + "description": "OpenGL texture id" + }, + { + "type": "int", + "name": "width", + "description": "Texture base width" + }, + { + "type": "int", + "name": "height", + "description": "Texture base height" + }, + { + "type": "int", + "name": "mipmaps", + "description": "Mipmap levels, 1 by default" + }, + { + "type": "int", + "name": "format", + "description": "Data format (PixelFormat type)" + } + ] + }, + { + "name": "Image", + "description": "Image, pixel data stored in CPU memory (RAM)", + "fields": [ + { + "type": "void *", + "name": "data", + "description": "Image raw data" + }, + { + "type": "int", + "name": "width", + "description": "Image base width" + }, + { + "type": "int", + "name": "height", + "description": "Image base height" + }, + { + "type": "int", + "name": "mipmaps", + "description": "Mipmap levels, 1 by default" + }, + { + "type": "int", + "name": "format", + "description": "Data format (PixelFormat type)" + } + ] + }, + { + "name": "GlyphInfo", + "description": "GlyphInfo, font characters glyphs info", + "fields": [ + { + "type": "int", + "name": "value", + "description": "Character value (Unicode)" + }, + { + "type": "int", + "name": "offsetX", + "description": "Character offset X when drawing" + }, + { + "type": "int", + "name": "offsetY", + "description": "Character offset Y when drawing" + }, + { + "type": "int", + "name": "advanceX", + "description": "Character advance position X" + }, + { + "type": "Image", + "name": "image", + "description": "Character image data" + } + ] + }, + { + "name": "Font", + "description": "It should be redesigned to be provided by user", + "fields": [ + { + "type": "int", + "name": "baseSize", + "description": "Base size (default chars height)" + }, + { + "type": "int", + "name": "glyphCount", + "description": "Number of glyph characters" + }, + { + "type": "int", + "name": "glyphPadding", + "description": "Padding around the glyph characters" + }, + { + "type": "Texture2D", + "name": "texture", + "description": "Texture atlas containing the glyphs" + }, + { + "type": "Rectangle *", + "name": "recs", + "description": "Rectangles in texture for the glyphs" + }, + { + "type": "GlyphInfo *", + "name": "glyphs", + "description": "Glyphs info data" + } + ] + }, + { + "name": "GuiStyleProp", + "description": "Style property", + "fields": [ + { + "type": "unsigned short", + "name": "controlId", + "description": "" + }, + { + "type": "unsigned short", + "name": "propertyId", + "description": "" + }, + { + "type": "unsigned int", + "name": "propertyValue", + "description": "" + } + ] + } + ], + "aliases": [ + ], + "enums": [ + { + "name": "GuiState", + "description": "Gui control state", + "values": [ + { + "name": "STATE_NORMAL", + "value": 0, + "description": "" + }, + { + "name": "STATE_FOCUSED", + "value": 1, + "description": "" + }, + { + "name": "STATE_PRESSED", + "value": 2, + "description": "" + }, + { + "name": "STATE_DISABLED", + "value": 3, + "description": "" + } + ] + }, + { + "name": "GuiTextAlignment", + "description": "Gui control text alignment", + "values": [ + { + "name": "TEXT_ALIGN_LEFT", + "value": 0, + "description": "" + }, + { + "name": "TEXT_ALIGN_CENTER", + "value": 1, + "description": "" + }, + { + "name": "TEXT_ALIGN_RIGHT", + "value": 2, + "description": "" + } + ] + }, + { + "name": "GuiControl", + "description": "Gui controls", + "values": [ + { + "name": "DEFAULT", + "value": 0, + "description": "" + }, + { + "name": "LABEL", + "value": 1, + "description": "Used also for: LABELBUTTON" + }, + { + "name": "BUTTON", + "value": 2, + "description": "" + }, + { + "name": "TOGGLE", + "value": 3, + "description": "Used also for: TOGGLEGROUP" + }, + { + "name": "SLIDER", + "value": 4, + "description": "Used also for: SLIDERBAR" + }, + { + "name": "PROGRESSBAR", + "value": 5, + "description": "" + }, + { + "name": "CHECKBOX", + "value": 6, + "description": "" + }, + { + "name": "COMBOBOX", + "value": 7, + "description": "" + }, + { + "name": "DROPDOWNBOX", + "value": 8, + "description": "" + }, + { + "name": "TEXTBOX", + "value": 9, + "description": "Used also for: TEXTBOXMULTI" + }, + { + "name": "VALUEBOX", + "value": 10, + "description": "" + }, + { + "name": "SPINNER", + "value": 11, + "description": "Uses: BUTTON, VALUEBOX" + }, + { + "name": "LISTVIEW", + "value": 12, + "description": "" + }, + { + "name": "COLORPICKER", + "value": 13, + "description": "" + }, + { + "name": "SCROLLBAR", + "value": 14, + "description": "" + }, + { + "name": "STATUSBAR", + "value": 15, + "description": "" + } + ] + }, + { + "name": "GuiControlProperty", + "description": "Gui base properties for every control", + "values": [ + { + "name": "BORDER_COLOR_NORMAL", + "value": 0, + "description": "" + }, + { + "name": "BASE_COLOR_NORMAL", + "value": 1, + "description": "" + }, + { + "name": "TEXT_COLOR_NORMAL", + "value": 2, + "description": "" + }, + { + "name": "BORDER_COLOR_FOCUSED", + "value": 3, + "description": "" + }, + { + "name": "BASE_COLOR_FOCUSED", + "value": 4, + "description": "" + }, + { + "name": "TEXT_COLOR_FOCUSED", + "value": 5, + "description": "" + }, + { + "name": "BORDER_COLOR_PRESSED", + "value": 6, + "description": "" + }, + { + "name": "BASE_COLOR_PRESSED", + "value": 7, + "description": "" + }, + { + "name": "TEXT_COLOR_PRESSED", + "value": 8, + "description": "" + }, + { + "name": "BORDER_COLOR_DISABLED", + "value": 9, + "description": "" + }, + { + "name": "BASE_COLOR_DISABLED", + "value": 10, + "description": "" + }, + { + "name": "TEXT_COLOR_DISABLED", + "value": 11, + "description": "" + }, + { + "name": "BORDER_WIDTH", + "value": 12, + "description": "" + }, + { + "name": "TEXT_PADDING", + "value": 13, + "description": "" + }, + { + "name": "TEXT_ALIGNMENT", + "value": 14, + "description": "" + }, + { + "name": "RESERVED", + "value": 15, + "description": "" + } + ] + }, + { + "name": "GuiDefaultProperty", + "description": "DEFAULT extended properties", + "values": [ + { + "name": "TEXT_SIZE", + "value": 16, + "description": "Text size (glyphs max height)" + }, + { + "name": "TEXT_SPACING", + "value": 17, + "description": "Text spacing between glyphs" + }, + { + "name": "LINE_COLOR", + "value": 18, + "description": "Line control color" + }, + { + "name": "BACKGROUND_COLOR", + "value": 19, + "description": "Background color" + } + ] + }, + { + "name": "GuiToggleProperty", + "description": "Toggle/ToggleGroup", + "values": [ + { + "name": "GROUP_PADDING", + "value": 16, + "description": "ToggleGroup separation between toggles" + } + ] + }, + { + "name": "GuiSliderProperty", + "description": "Slider/SliderBar", + "values": [ + { + "name": "SLIDER_WIDTH", + "value": 16, + "description": "Slider size of internal bar" + }, + { + "name": "SLIDER_PADDING", + "value": 17, + "description": "Slider/SliderBar internal bar padding" + } + ] + }, + { + "name": "GuiProgressBarProperty", + "description": "ProgressBar", + "values": [ + { + "name": "PROGRESS_PADDING", + "value": 16, + "description": "ProgressBar internal padding" + } + ] + }, + { + "name": "GuiScrollBarProperty", + "description": "ScrollBar", + "values": [ + { + "name": "ARROWS_SIZE", + "value": 16, + "description": "" + }, + { + "name": "ARROWS_VISIBLE", + "value": 17, + "description": "" + }, + { + "name": "SCROLL_SLIDER_PADDING", + "value": 18, + "description": "(SLIDERBAR, SLIDER_PADDING)" + }, + { + "name": "SCROLL_SLIDER_SIZE", + "value": 19, + "description": "" + }, + { + "name": "SCROLL_PADDING", + "value": 20, + "description": "" + }, + { + "name": "SCROLL_SPEED", + "value": 21, + "description": "" + } + ] + }, + { + "name": "GuiCheckBoxProperty", + "description": "CheckBox", + "values": [ + { + "name": "CHECK_PADDING", + "value": 16, + "description": "CheckBox internal check padding" + } + ] + }, + { + "name": "GuiComboBoxProperty", + "description": "ComboBox", + "values": [ + { + "name": "COMBO_BUTTON_WIDTH", + "value": 16, + "description": "ComboBox right button width" + }, + { + "name": "COMBO_BUTTON_SPACING", + "value": 17, + "description": "ComboBox button separation" + } + ] + }, + { + "name": "GuiDropdownBoxProperty", + "description": "DropdownBox", + "values": [ + { + "name": "ARROW_PADDING", + "value": 16, + "description": "DropdownBox arrow separation from border and items" + }, + { + "name": "DROPDOWN_ITEMS_SPACING", + "value": 17, + "description": "DropdownBox items separation" + } + ] + }, + { + "name": "GuiTextBoxProperty", + "description": "TextBox/TextBoxMulti/ValueBox/Spinner", + "values": [ + { + "name": "TEXT_INNER_PADDING", + "value": 16, + "description": "TextBox/TextBoxMulti/ValueBox/Spinner inner text padding" + }, + { + "name": "TEXT_LINES_SPACING", + "value": 17, + "description": "TextBoxMulti lines separation" + } + ] + }, + { + "name": "GuiSpinnerProperty", + "description": "Spinner", + "values": [ + { + "name": "SPIN_BUTTON_WIDTH", + "value": 16, + "description": "Spinner left/right buttons width" + }, + { + "name": "SPIN_BUTTON_SPACING", + "value": 17, + "description": "Spinner buttons separation" + } + ] + }, + { + "name": "GuiListViewProperty", + "description": "ListView", + "values": [ + { + "name": "LIST_ITEMS_HEIGHT", + "value": 16, + "description": "ListView items height" + }, + { + "name": "LIST_ITEMS_SPACING", + "value": 17, + "description": "ListView items separation" + }, + { + "name": "SCROLLBAR_WIDTH", + "value": 18, + "description": "ListView scrollbar size (usually width)" + }, + { + "name": "SCROLLBAR_SIDE", + "value": 19, + "description": "ListView scrollbar side (0-left, 1-right)" + } + ] + }, + { + "name": "GuiColorPickerProperty", + "description": "ColorPicker", + "values": [ + { + "name": "COLOR_SELECTOR_SIZE", + "value": 16, + "description": "" + }, + { + "name": "HUEBAR_WIDTH", + "value": 17, + "description": "ColorPicker right hue bar width" + }, + { + "name": "HUEBAR_PADDING", + "value": 18, + "description": "ColorPicker right hue bar separation from panel" + }, + { + "name": "HUEBAR_SELECTOR_HEIGHT", + "value": 19, + "description": "ColorPicker right hue bar selector height" + }, + { + "name": "HUEBAR_SELECTOR_OVERFLOW", + "value": 20, + "description": "ColorPicker right hue bar selector overflow" + } + ] + }, + { + "name": "GuiIconName", + "description": "", + "values": [ + { + "name": "ICON_NONE", + "value": 0, + "description": "" + }, + { + "name": "ICON_FOLDER_FILE_OPEN", + "value": 1, + "description": "" + }, + { + "name": "ICON_FILE_SAVE_CLASSIC", + "value": 2, + "description": "" + }, + { + "name": "ICON_FOLDER_OPEN", + "value": 3, + "description": "" + }, + { + "name": "ICON_FOLDER_SAVE", + "value": 4, + "description": "" + }, + { + "name": "ICON_FILE_OPEN", + "value": 5, + "description": "" + }, + { + "name": "ICON_FILE_SAVE", + "value": 6, + "description": "" + }, + { + "name": "ICON_FILE_EXPORT", + "value": 7, + "description": "" + }, + { + "name": "ICON_FILE_ADD", + "value": 8, + "description": "" + }, + { + "name": "ICON_FILE_DELETE", + "value": 9, + "description": "" + }, + { + "name": "ICON_FILETYPE_TEXT", + "value": 10, + "description": "" + }, + { + "name": "ICON_FILETYPE_AUDIO", + "value": 11, + "description": "" + }, + { + "name": "ICON_FILETYPE_IMAGE", + "value": 12, + "description": "" + }, + { + "name": "ICON_FILETYPE_PLAY", + "value": 13, + "description": "" + }, + { + "name": "ICON_FILETYPE_VIDEO", + "value": 14, + "description": "" + }, + { + "name": "ICON_FILETYPE_INFO", + "value": 15, + "description": "" + }, + { + "name": "ICON_FILE_COPY", + "value": 16, + "description": "" + }, + { + "name": "ICON_FILE_CUT", + "value": 17, + "description": "" + }, + { + "name": "ICON_FILE_PASTE", + "value": 18, + "description": "" + }, + { + "name": "ICON_CURSOR_HAND", + "value": 19, + "description": "" + }, + { + "name": "ICON_CURSOR_POINTER", + "value": 20, + "description": "" + }, + { + "name": "ICON_CURSOR_CLASSIC", + "value": 21, + "description": "" + }, + { + "name": "ICON_PENCIL", + "value": 22, + "description": "" + }, + { + "name": "ICON_PENCIL_BIG", + "value": 23, + "description": "" + }, + { + "name": "ICON_BRUSH_CLASSIC", + "value": 24, + "description": "" + }, + { + "name": "ICON_BRUSH_PAINTER", + "value": 25, + "description": "" + }, + { + "name": "ICON_WATER_DROP", + "value": 26, + "description": "" + }, + { + "name": "ICON_COLOR_PICKER", + "value": 27, + "description": "" + }, + { + "name": "ICON_RUBBER", + "value": 28, + "description": "" + }, + { + "name": "ICON_COLOR_BUCKET", + "value": 29, + "description": "" + }, + { + "name": "ICON_TEXT_T", + "value": 30, + "description": "" + }, + { + "name": "ICON_TEXT_A", + "value": 31, + "description": "" + }, + { + "name": "ICON_SCALE", + "value": 32, + "description": "" + }, + { + "name": "ICON_RESIZE", + "value": 33, + "description": "" + }, + { + "name": "ICON_FILTER_POINT", + "value": 34, + "description": "" + }, + { + "name": "ICON_FILTER_BILINEAR", + "value": 35, + "description": "" + }, + { + "name": "ICON_CROP", + "value": 36, + "description": "" + }, + { + "name": "ICON_CROP_ALPHA", + "value": 37, + "description": "" + }, + { + "name": "ICON_SQUARE_TOGGLE", + "value": 38, + "description": "" + }, + { + "name": "ICON_SYMMETRY", + "value": 39, + "description": "" + }, + { + "name": "ICON_SYMMETRY_HORIZONTAL", + "value": 40, + "description": "" + }, + { + "name": "ICON_SYMMETRY_VERTICAL", + "value": 41, + "description": "" + }, + { + "name": "ICON_LENS", + "value": 42, + "description": "" + }, + { + "name": "ICON_LENS_BIG", + "value": 43, + "description": "" + }, + { + "name": "ICON_EYE_ON", + "value": 44, + "description": "" + }, + { + "name": "ICON_EYE_OFF", + "value": 45, + "description": "" + }, + { + "name": "ICON_FILTER_TOP", + "value": 46, + "description": "" + }, + { + "name": "ICON_FILTER", + "value": 47, + "description": "" + }, + { + "name": "ICON_TARGET_POINT", + "value": 48, + "description": "" + }, + { + "name": "ICON_TARGET_SMALL", + "value": 49, + "description": "" + }, + { + "name": "ICON_TARGET_BIG", + "value": 50, + "description": "" + }, + { + "name": "ICON_TARGET_MOVE", + "value": 51, + "description": "" + }, + { + "name": "ICON_CURSOR_MOVE", + "value": 52, + "description": "" + }, + { + "name": "ICON_CURSOR_SCALE", + "value": 53, + "description": "" + }, + { + "name": "ICON_CURSOR_SCALE_RIGHT", + "value": 54, + "description": "" + }, + { + "name": "ICON_CURSOR_SCALE_LEFT", + "value": 55, + "description": "" + }, + { + "name": "ICON_UNDO", + "value": 56, + "description": "" + }, + { + "name": "ICON_REDO", + "value": 57, + "description": "" + }, + { + "name": "ICON_REREDO", + "value": 58, + "description": "" + }, + { + "name": "ICON_MUTATE", + "value": 59, + "description": "" + }, + { + "name": "ICON_ROTATE", + "value": 60, + "description": "" + }, + { + "name": "ICON_REPEAT", + "value": 61, + "description": "" + }, + { + "name": "ICON_SHUFFLE", + "value": 62, + "description": "" + }, + { + "name": "ICON_EMPTYBOX", + "value": 63, + "description": "" + }, + { + "name": "ICON_TARGET", + "value": 64, + "description": "" + }, + { + "name": "ICON_TARGET_SMALL_FILL", + "value": 65, + "description": "" + }, + { + "name": "ICON_TARGET_BIG_FILL", + "value": 66, + "description": "" + }, + { + "name": "ICON_TARGET_MOVE_FILL", + "value": 67, + "description": "" + }, + { + "name": "ICON_CURSOR_MOVE_FILL", + "value": 68, + "description": "" + }, + { + "name": "ICON_CURSOR_SCALE_FILL", + "value": 69, + "description": "" + }, + { + "name": "ICON_CURSOR_SCALE_RIGHT_FILL", + "value": 70, + "description": "" + }, + { + "name": "ICON_CURSOR_SCALE_LEFT_FILL", + "value": 71, + "description": "" + }, + { + "name": "ICON_UNDO_FILL", + "value": 72, + "description": "" + }, + { + "name": "ICON_REDO_FILL", + "value": 73, + "description": "" + }, + { + "name": "ICON_REREDO_FILL", + "value": 74, + "description": "" + }, + { + "name": "ICON_MUTATE_FILL", + "value": 75, + "description": "" + }, + { + "name": "ICON_ROTATE_FILL", + "value": 76, + "description": "" + }, + { + "name": "ICON_REPEAT_FILL", + "value": 77, + "description": "" + }, + { + "name": "ICON_SHUFFLE_FILL", + "value": 78, + "description": "" + }, + { + "name": "ICON_EMPTYBOX_SMALL", + "value": 79, + "description": "" + }, + { + "name": "ICON_BOX", + "value": 80, + "description": "" + }, + { + "name": "ICON_BOX_TOP", + "value": 81, + "description": "" + }, + { + "name": "ICON_BOX_TOP_RIGHT", + "value": 82, + "description": "" + }, + { + "name": "ICON_BOX_RIGHT", + "value": 83, + "description": "" + }, + { + "name": "ICON_BOX_BOTTOM_RIGHT", + "value": 84, + "description": "" + }, + { + "name": "ICON_BOX_BOTTOM", + "value": 85, + "description": "" + }, + { + "name": "ICON_BOX_BOTTOM_LEFT", + "value": 86, + "description": "" + }, + { + "name": "ICON_BOX_LEFT", + "value": 87, + "description": "" + }, + { + "name": "ICON_BOX_TOP_LEFT", + "value": 88, + "description": "" + }, + { + "name": "ICON_BOX_CENTER", + "value": 89, + "description": "" + }, + { + "name": "ICON_BOX_CIRCLE_MASK", + "value": 90, + "description": "" + }, + { + "name": "ICON_POT", + "value": 91, + "description": "" + }, + { + "name": "ICON_ALPHA_MULTIPLY", + "value": 92, + "description": "" + }, + { + "name": "ICON_ALPHA_CLEAR", + "value": 93, + "description": "" + }, + { + "name": "ICON_DITHERING", + "value": 94, + "description": "" + }, + { + "name": "ICON_MIPMAPS", + "value": 95, + "description": "" + }, + { + "name": "ICON_BOX_GRID", + "value": 96, + "description": "" + }, + { + "name": "ICON_GRID", + "value": 97, + "description": "" + }, + { + "name": "ICON_BOX_CORNERS_SMALL", + "value": 98, + "description": "" + }, + { + "name": "ICON_BOX_CORNERS_BIG", + "value": 99, + "description": "" + }, + { + "name": "ICON_FOUR_BOXES", + "value": 100, + "description": "" + }, + { + "name": "ICON_GRID_FILL", + "value": 101, + "description": "" + }, + { + "name": "ICON_BOX_MULTISIZE", + "value": 102, + "description": "" + }, + { + "name": "ICON_ZOOM_SMALL", + "value": 103, + "description": "" + }, + { + "name": "ICON_ZOOM_MEDIUM", + "value": 104, + "description": "" + }, + { + "name": "ICON_ZOOM_BIG", + "value": 105, + "description": "" + }, + { + "name": "ICON_ZOOM_ALL", + "value": 106, + "description": "" + }, + { + "name": "ICON_ZOOM_CENTER", + "value": 107, + "description": "" + }, + { + "name": "ICON_BOX_DOTS_SMALL", + "value": 108, + "description": "" + }, + { + "name": "ICON_BOX_DOTS_BIG", + "value": 109, + "description": "" + }, + { + "name": "ICON_BOX_CONCENTRIC", + "value": 110, + "description": "" + }, + { + "name": "ICON_BOX_GRID_BIG", + "value": 111, + "description": "" + }, + { + "name": "ICON_OK_TICK", + "value": 112, + "description": "" + }, + { + "name": "ICON_CROSS", + "value": 113, + "description": "" + }, + { + "name": "ICON_ARROW_LEFT", + "value": 114, + "description": "" + }, + { + "name": "ICON_ARROW_RIGHT", + "value": 115, + "description": "" + }, + { + "name": "ICON_ARROW_DOWN", + "value": 116, + "description": "" + }, + { + "name": "ICON_ARROW_UP", + "value": 117, + "description": "" + }, + { + "name": "ICON_ARROW_LEFT_FILL", + "value": 118, + "description": "" + }, + { + "name": "ICON_ARROW_RIGHT_FILL", + "value": 119, + "description": "" + }, + { + "name": "ICON_ARROW_DOWN_FILL", + "value": 120, + "description": "" + }, + { + "name": "ICON_ARROW_UP_FILL", + "value": 121, + "description": "" + }, + { + "name": "ICON_AUDIO", + "value": 122, + "description": "" + }, + { + "name": "ICON_FX", + "value": 123, + "description": "" + }, + { + "name": "ICON_WAVE", + "value": 124, + "description": "" + }, + { + "name": "ICON_WAVE_SINUS", + "value": 125, + "description": "" + }, + { + "name": "ICON_WAVE_SQUARE", + "value": 126, + "description": "" + }, + { + "name": "ICON_WAVE_TRIANGULAR", + "value": 127, + "description": "" + }, + { + "name": "ICON_CROSS_SMALL", + "value": 128, + "description": "" + }, + { + "name": "ICON_PLAYER_PREVIOUS", + "value": 129, + "description": "" + }, + { + "name": "ICON_PLAYER_PLAY_BACK", + "value": 130, + "description": "" + }, + { + "name": "ICON_PLAYER_PLAY", + "value": 131, + "description": "" + }, + { + "name": "ICON_PLAYER_PAUSE", + "value": 132, + "description": "" + }, + { + "name": "ICON_PLAYER_STOP", + "value": 133, + "description": "" + }, + { + "name": "ICON_PLAYER_NEXT", + "value": 134, + "description": "" + }, + { + "name": "ICON_PLAYER_RECORD", + "value": 135, + "description": "" + }, + { + "name": "ICON_MAGNET", + "value": 136, + "description": "" + }, + { + "name": "ICON_LOCK_CLOSE", + "value": 137, + "description": "" + }, + { + "name": "ICON_LOCK_OPEN", + "value": 138, + "description": "" + }, + { + "name": "ICON_CLOCK", + "value": 139, + "description": "" + }, + { + "name": "ICON_TOOLS", + "value": 140, + "description": "" + }, + { + "name": "ICON_GEAR", + "value": 141, + "description": "" + }, + { + "name": "ICON_GEAR_BIG", + "value": 142, + "description": "" + }, + { + "name": "ICON_BIN", + "value": 143, + "description": "" + }, + { + "name": "ICON_HAND_POINTER", + "value": 144, + "description": "" + }, + { + "name": "ICON_LASER", + "value": 145, + "description": "" + }, + { + "name": "ICON_COIN", + "value": 146, + "description": "" + }, + { + "name": "ICON_EXPLOSION", + "value": 147, + "description": "" + }, + { + "name": "ICON_1UP", + "value": 148, + "description": "" + }, + { + "name": "ICON_PLAYER", + "value": 149, + "description": "" + }, + { + "name": "ICON_PLAYER_JUMP", + "value": 150, + "description": "" + }, + { + "name": "ICON_KEY", + "value": 151, + "description": "" + }, + { + "name": "ICON_DEMON", + "value": 152, + "description": "" + }, + { + "name": "ICON_TEXT_POPUP", + "value": 153, + "description": "" + }, + { + "name": "ICON_GEAR_EX", + "value": 154, + "description": "" + }, + { + "name": "ICON_CRACK", + "value": 155, + "description": "" + }, + { + "name": "ICON_CRACK_POINTS", + "value": 156, + "description": "" + }, + { + "name": "ICON_STAR", + "value": 157, + "description": "" + }, + { + "name": "ICON_DOOR", + "value": 158, + "description": "" + }, + { + "name": "ICON_EXIT", + "value": 159, + "description": "" + }, + { + "name": "ICON_MODE_2D", + "value": 160, + "description": "" + }, + { + "name": "ICON_MODE_3D", + "value": 161, + "description": "" + }, + { + "name": "ICON_CUBE", + "value": 162, + "description": "" + }, + { + "name": "ICON_CUBE_FACE_TOP", + "value": 163, + "description": "" + }, + { + "name": "ICON_CUBE_FACE_LEFT", + "value": 164, + "description": "" + }, + { + "name": "ICON_CUBE_FACE_FRONT", + "value": 165, + "description": "" + }, + { + "name": "ICON_CUBE_FACE_BOTTOM", + "value": 166, + "description": "" + }, + { + "name": "ICON_CUBE_FACE_RIGHT", + "value": 167, + "description": "" + }, + { + "name": "ICON_CUBE_FACE_BACK", + "value": 168, + "description": "" + }, + { + "name": "ICON_CAMERA", + "value": 169, + "description": "" + }, + { + "name": "ICON_SPECIAL", + "value": 170, + "description": "" + }, + { + "name": "ICON_LINK_NET", + "value": 171, + "description": "" + }, + { + "name": "ICON_LINK_BOXES", + "value": 172, + "description": "" + }, + { + "name": "ICON_LINK_MULTI", + "value": 173, + "description": "" + }, + { + "name": "ICON_LINK", + "value": 174, + "description": "" + }, + { + "name": "ICON_LINK_BROKE", + "value": 175, + "description": "" + }, + { + "name": "ICON_TEXT_NOTES", + "value": 176, + "description": "" + }, + { + "name": "ICON_NOTEBOOK", + "value": 177, + "description": "" + }, + { + "name": "ICON_SUITCASE", + "value": 178, + "description": "" + }, + { + "name": "ICON_SUITCASE_ZIP", + "value": 179, + "description": "" + }, + { + "name": "ICON_MAILBOX", + "value": 180, + "description": "" + }, + { + "name": "ICON_MONITOR", + "value": 181, + "description": "" + }, + { + "name": "ICON_PRINTER", + "value": 182, + "description": "" + }, + { + "name": "ICON_PHOTO_CAMERA", + "value": 183, + "description": "" + }, + { + "name": "ICON_PHOTO_CAMERA_FLASH", + "value": 184, + "description": "" + }, + { + "name": "ICON_HOUSE", + "value": 185, + "description": "" + }, + { + "name": "ICON_HEART", + "value": 186, + "description": "" + }, + { + "name": "ICON_CORNER", + "value": 187, + "description": "" + }, + { + "name": "ICON_VERTICAL_BARS", + "value": 188, + "description": "" + }, + { + "name": "ICON_VERTICAL_BARS_FILL", + "value": 189, + "description": "" + }, + { + "name": "ICON_LIFE_BARS", + "value": 190, + "description": "" + }, + { + "name": "ICON_INFO", + "value": 191, + "description": "" + }, + { + "name": "ICON_CROSSLINE", + "value": 192, + "description": "" + }, + { + "name": "ICON_HELP", + "value": 193, + "description": "" + }, + { + "name": "ICON_FILETYPE_ALPHA", + "value": 194, + "description": "" + }, + { + "name": "ICON_FILETYPE_HOME", + "value": 195, + "description": "" + }, + { + "name": "ICON_LAYERS_VISIBLE", + "value": 196, + "description": "" + }, + { + "name": "ICON_LAYERS", + "value": 197, + "description": "" + }, + { + "name": "ICON_WINDOW", + "value": 198, + "description": "" + }, + { + "name": "ICON_HIDPI", + "value": 199, + "description": "" + }, + { + "name": "ICON_FILETYPE_BINARY", + "value": 200, + "description": "" + }, + { + "name": "ICON_HEX", + "value": 201, + "description": "" + }, + { + "name": "ICON_SHIELD", + "value": 202, + "description": "" + }, + { + "name": "ICON_FILE_NEW", + "value": 203, + "description": "" + }, + { + "name": "ICON_FOLDER_ADD", + "value": 204, + "description": "" + }, + { + "name": "ICON_ALARM", + "value": 205, + "description": "" + }, + { + "name": "ICON_CPU", + "value": 206, + "description": "" + }, + { + "name": "ICON_ROM", + "value": 207, + "description": "" + }, + { + "name": "ICON_STEP_OVER", + "value": 208, + "description": "" + }, + { + "name": "ICON_STEP_INTO", + "value": 209, + "description": "" + }, + { + "name": "ICON_STEP_OUT", + "value": 210, + "description": "" + }, + { + "name": "ICON_RESTART", + "value": 211, + "description": "" + }, + { + "name": "ICON_BREAKPOINT_ON", + "value": 212, + "description": "" + }, + { + "name": "ICON_BREAKPOINT_OFF", + "value": 213, + "description": "" + }, + { + "name": "ICON_BURGER_MENU", + "value": 214, + "description": "" + }, + { + "name": "ICON_CASE_SENSITIVE", + "value": 215, + "description": "" + }, + { + "name": "ICON_REG_EXP", + "value": 216, + "description": "" + }, + { + "name": "ICON_FOLDER", + "value": 217, + "description": "" + }, + { + "name": "ICON_FILE", + "value": 218, + "description": "" + }, + { + "name": "ICON_219", + "value": 219, + "description": "" + }, + { + "name": "ICON_220", + "value": 220, + "description": "" + }, + { + "name": "ICON_221", + "value": 221, + "description": "" + }, + { + "name": "ICON_222", + "value": 222, + "description": "" + }, + { + "name": "ICON_223", + "value": 223, + "description": "" + }, + { + "name": "ICON_224", + "value": 224, + "description": "" + }, + { + "name": "ICON_225", + "value": 225, + "description": "" + }, + { + "name": "ICON_226", + "value": 226, + "description": "" + }, + { + "name": "ICON_227", + "value": 227, + "description": "" + }, + { + "name": "ICON_228", + "value": 228, + "description": "" + }, + { + "name": "ICON_229", + "value": 229, + "description": "" + }, + { + "name": "ICON_230", + "value": 230, + "description": "" + }, + { + "name": "ICON_231", + "value": 231, + "description": "" + }, + { + "name": "ICON_232", + "value": 232, + "description": "" + }, + { + "name": "ICON_233", + "value": 233, + "description": "" + }, + { + "name": "ICON_234", + "value": 234, + "description": "" + }, + { + "name": "ICON_235", + "value": 235, + "description": "" + }, + { + "name": "ICON_236", + "value": 236, + "description": "" + }, + { + "name": "ICON_237", + "value": 237, + "description": "" + }, + { + "name": "ICON_238", + "value": 238, + "description": "" + }, + { + "name": "ICON_239", + "value": 239, + "description": "" + }, + { + "name": "ICON_240", + "value": 240, + "description": "" + }, + { + "name": "ICON_241", + "value": 241, + "description": "" + }, + { + "name": "ICON_242", + "value": 242, + "description": "" + }, + { + "name": "ICON_243", + "value": 243, + "description": "" + }, + { + "name": "ICON_244", + "value": 244, + "description": "" + }, + { + "name": "ICON_245", + "value": 245, + "description": "" + }, + { + "name": "ICON_246", + "value": 246, + "description": "" + }, + { + "name": "ICON_247", + "value": 247, + "description": "" + }, + { + "name": "ICON_248", + "value": 248, + "description": "" + }, + { + "name": "ICON_249", + "value": 249, + "description": "" + }, + { + "name": "ICON_250", + "value": 250, + "description": "" + }, + { + "name": "ICON_251", + "value": 251, + "description": "" + }, + { + "name": "ICON_252", + "value": 252, + "description": "" + }, + { + "name": "ICON_253", + "value": 253, + "description": "" + }, + { + "name": "ICON_254", + "value": 254, + "description": "" + }, + { + "name": "ICON_255", + "value": 255, + "description": "" + } + ] + } + ], + "callbacks": [ + ], + "functions": [ + { + "name": "GuiEnable", + "description": "Enable gui controls (global state)", + "returnType": "void" + }, + { + "name": "GuiDisable", + "description": "Disable gui controls (global state)", + "returnType": "void" + }, + { + "name": "GuiLock", + "description": "Lock gui controls (global state)", + "returnType": "void" + }, + { + "name": "GuiUnlock", + "description": "Unlock gui controls (global state)", + "returnType": "void" + }, + { + "name": "GuiIsLocked", + "description": "Check if gui is locked (global state)", + "returnType": "bool" + }, + { + "name": "GuiFade", + "description": "Set gui controls alpha (global state), alpha goes from 0.0f to 1.0f", + "returnType": "void", + "params": [ + { + "type": "float", + "name": "alpha" + } + ] + }, + { + "name": "GuiSetState", + "description": "Set gui state (global state)", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "state" + } + ] + }, + { + "name": "GuiGetState", + "description": "Get gui state (global state)", + "returnType": "int" + }, + { + "name": "GuiSetFont", + "description": "Set gui custom font (global state)", + "returnType": "void", + "params": [ + { + "type": "Font", + "name": "font" + } + ] + }, + { + "name": "GuiGetFont", + "description": "Get gui custom font (global state)", + "returnType": "Font" + }, + { + "name": "GuiSetStyle", + "description": "Set one style property", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "control" + }, + { + "type": "int", + "name": "property" + }, + { + "type": "int", + "name": "value" + } + ] + }, + { + "name": "GuiGetStyle", + "description": "Get one style property", + "returnType": "int", + "params": [ + { + "type": "int", + "name": "control" + }, + { + "type": "int", + "name": "property" + } + ] + }, + { + "name": "GuiWindowBox", + "description": "Window Box control, shows a window that can be closed", + "returnType": "bool", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "title" + } + ] + }, + { + "name": "GuiGroupBox", + "description": "Group Box control with text name", + "returnType": "void", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "text" + } + ] + }, + { + "name": "GuiLine", + "description": "Line separator control, could contain text", + "returnType": "void", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "text" + } + ] + }, + { + "name": "GuiPanel", + "description": "Panel control, useful to group controls", + "returnType": "void", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "text" + } + ] + }, + { + "name": "GuiTabBar", + "description": "Tab Bar control, returns TAB to be closed or -1", + "returnType": "int", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char **", + "name": "text" + }, + { + "type": "int", + "name": "count" + }, + { + "type": "int *", + "name": "active" + } + ] + }, + { + "name": "GuiScrollPanel", + "description": "Scroll Panel control", + "returnType": "Rectangle", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "text" + }, + { + "type": "Rectangle", + "name": "content" + }, + { + "type": "Vector2 *", + "name": "scroll" + } + ] + }, + { + "name": "GuiLabel", + "description": "Label control, shows text", + "returnType": "void", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "text" + } + ] + }, + { + "name": "GuiButton", + "description": "Button control, returns true when clicked", + "returnType": "bool", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "text" + } + ] + }, + { + "name": "GuiLabelButton", + "description": "Label button control, show true when clicked", + "returnType": "bool", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "text" + } + ] + }, + { + "name": "GuiToggle", + "description": "Toggle Button control, returns true when active", + "returnType": "bool", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "text" + }, + { + "type": "bool", + "name": "active" + } + ] + }, + { + "name": "GuiToggleGroup", + "description": "Toggle Group control, returns active toggle index", + "returnType": "int", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "text" + }, + { + "type": "int", + "name": "active" + } + ] + }, + { + "name": "GuiCheckBox", + "description": "Check Box control, returns true when active", + "returnType": "bool", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "text" + }, + { + "type": "bool", + "name": "checked" + } + ] + }, + { + "name": "GuiComboBox", + "description": "Combo Box control, returns selected item index", + "returnType": "int", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "text" + }, + { + "type": "int", + "name": "active" + } + ] + }, + { + "name": "GuiDropdownBox", + "description": "Dropdown Box control, returns selected item", + "returnType": "bool", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "text" + }, + { + "type": "int *", + "name": "active" + }, + { + "type": "bool", + "name": "editMode" + } + ] + }, + { + "name": "GuiSpinner", + "description": "Spinner control, returns selected value", + "returnType": "bool", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "text" + }, + { + "type": "int *", + "name": "value" + }, + { + "type": "int", + "name": "minValue" + }, + { + "type": "int", + "name": "maxValue" + }, + { + "type": "bool", + "name": "editMode" + } + ] + }, + { + "name": "GuiValueBox", + "description": "Value Box control, updates input text with numbers", + "returnType": "bool", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "text" + }, + { + "type": "int *", + "name": "value" + }, + { + "type": "int", + "name": "minValue" + }, + { + "type": "int", + "name": "maxValue" + }, + { + "type": "bool", + "name": "editMode" + } + ] + }, + { + "name": "GuiTextBox", + "description": "Text Box control, updates input text", + "returnType": "bool", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "char *", + "name": "text" + }, + { + "type": "int", + "name": "textSize" + }, + { + "type": "bool", + "name": "editMode" + } + ] + }, + { + "name": "GuiTextBoxMulti", + "description": "Text Box control with multiple lines", + "returnType": "bool", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "char *", + "name": "text" + }, + { + "type": "int", + "name": "textSize" + }, + { + "type": "bool", + "name": "editMode" + } + ] + }, + { + "name": "GuiSlider", + "description": "Slider control, returns selected value", + "returnType": "float", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "textLeft" + }, + { + "type": "const char *", + "name": "textRight" + }, + { + "type": "float", + "name": "value" + }, + { + "type": "float", + "name": "minValue" + }, + { + "type": "float", + "name": "maxValue" + } + ] + }, + { + "name": "GuiSliderBar", + "description": "Slider Bar control, returns selected value", + "returnType": "float", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "textLeft" + }, + { + "type": "const char *", + "name": "textRight" + }, + { + "type": "float", + "name": "value" + }, + { + "type": "float", + "name": "minValue" + }, + { + "type": "float", + "name": "maxValue" + } + ] + }, + { + "name": "GuiProgressBar", + "description": "Progress Bar control, shows current progress value", + "returnType": "float", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "textLeft" + }, + { + "type": "const char *", + "name": "textRight" + }, + { + "type": "float", + "name": "value" + }, + { + "type": "float", + "name": "minValue" + }, + { + "type": "float", + "name": "maxValue" + } + ] + }, + { + "name": "GuiStatusBar", + "description": "Status Bar control, shows info text", + "returnType": "void", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "text" + } + ] + }, + { + "name": "GuiDummyRec", + "description": "Dummy control for placeholders", + "returnType": "void", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "text" + } + ] + }, + { + "name": "GuiGrid", + "description": "Grid control, returns mouse cell position", + "returnType": "Vector2", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "text" + }, + { + "type": "float", + "name": "spacing" + }, + { + "type": "int", + "name": "subdivs" + } + ] + }, + { + "name": "GuiListView", + "description": "List View control, returns selected list item index", + "returnType": "int", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "text" + }, + { + "type": "int *", + "name": "scrollIndex" + }, + { + "type": "int", + "name": "active" + } + ] + }, + { + "name": "GuiListViewEx", + "description": "List View with extended parameters", + "returnType": "int", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char **", + "name": "text" + }, + { + "type": "int", + "name": "count" + }, + { + "type": "int *", + "name": "focus" + }, + { + "type": "int *", + "name": "scrollIndex" + }, + { + "type": "int", + "name": "active" + } + ] + }, + { + "name": "GuiMessageBox", + "description": "Message Box control, displays a message", + "returnType": "int", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "title" + }, + { + "type": "const char *", + "name": "message" + }, + { + "type": "const char *", + "name": "buttons" + } + ] + }, + { + "name": "GuiTextInputBox", + "description": "Text Input Box control, ask for text, supports secret", + "returnType": "int", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "title" + }, + { + "type": "const char *", + "name": "message" + }, + { + "type": "const char *", + "name": "buttons" + }, + { + "type": "char *", + "name": "text" + }, + { + "type": "int", + "name": "textMaxSize" + }, + { + "type": "int *", + "name": "secretViewActive" + } + ] + }, + { + "name": "GuiColorPicker", + "description": "Color Picker control (multiple color controls)", + "returnType": "Color", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "text" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "GuiColorPanel", + "description": "Color Panel control", + "returnType": "Color", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "text" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "GuiColorBarAlpha", + "description": "Color Bar Alpha control", + "returnType": "float", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "text" + }, + { + "type": "float", + "name": "alpha" + } + ] + }, + { + "name": "GuiColorBarHue", + "description": "Color Bar Hue control", + "returnType": "float", + "params": [ + { + "type": "Rectangle", + "name": "bounds" + }, + { + "type": "const char *", + "name": "text" + }, + { + "type": "float", + "name": "value" + } + ] + }, + { + "name": "GuiLoadStyle", + "description": "Load style file over global style variable (.rgs)", + "returnType": "void", + "params": [ + { + "type": "const char *", + "name": "fileName" + } + ] + }, + { + "name": "GuiLoadStyleDefault", + "description": "Load style default over global style", + "returnType": "void" + }, + { + "name": "GuiEnableTooltip", + "description": "Enable gui tooltips (global state)", + "returnType": "void" + }, + { + "name": "GuiDisableTooltip", + "description": "Disable gui tooltips (global state)", + "returnType": "void" + }, + { + "name": "GuiSetTooltip", + "description": "Set tooltip string", + "returnType": "void", + "params": [ + { + "type": "const char *", + "name": "tooltip" + } + ] + }, + { + "name": "GuiIconText", + "description": "Get text with icon id prepended (if supported)", + "returnType": "const char *", + "params": [ + { + "type": "int", + "name": "iconId" + }, + { + "type": "const char *", + "name": "text" + } + ] + }, + { + "name": "GuiGetIcons", + "description": "Get raygui icons data pointer", + "returnType": "unsigned int *" + }, + { + "name": "GuiLoadIcons", + "description": "Load raygui icons file (.rgi) into internal icons data", + "returnType": "char **", + "params": [ + { + "type": "const char *", + "name": "fileName" + }, + { + "type": "bool", + "name": "loadIconsName" + } + ] + }, + { + "name": "GuiDrawIcon", + "description": "", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "iconId" + }, + { + "type": "int", + "name": "posX" + }, + { + "type": "int", + "name": "posY" + }, + { + "type": "int", + "name": "pixelSize" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "GuiSetIconScale", + "description": "Set icon drawing size", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "scale" + } + ] + } + ] +} diff --git a/raylib-api/raygui.lua b/raylib-api/raygui.lua new file mode 100644 index 0000000..b219476 --- /dev/null +++ b/raylib-api/raygui.lua @@ -0,0 +1,2543 @@ +return { + defines = { + { + name = "RAYGUI_H", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RAYGUI_VERSION", + type = "STRING", + value = "3.2", + description = "" + }, + { + name = "RAYGUIAPI", + type = "UNKNOWN", + value = "__declspec(dllexport)", + description = "We are building the library as a Win32 shared library (.dll)" + }, + { + name = "RAYGUI_MALLOC(sz)", + type = "MACRO", + value = "malloc(sz)", + description = "" + }, + { + name = "RAYGUI_CALLOC(n,sz)", + type = "MACRO", + value = "calloc(n,sz)", + description = "" + }, + { + name = "RAYGUI_FREE(p)", + type = "MACRO", + value = "free(p)", + description = "" + }, + { + name = "RAYGUI_SUPPORT_LOG_INFO", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RAYGUI_LOG(...)", + type = "MACRO", + value = "printf(__VA_ARGS__)", + description = "" + }, + { + name = "SCROLLBAR_LEFT_SIDE", + type = "INT", + value = 0, + description = "" + }, + { + name = "SCROLLBAR_RIGHT_SIDE", + type = "INT", + value = 1, + description = "" + } + }, + structs = { + { + name = "Vector2", + description = "Vector2 type", + fields = { + { + type = "float", + name = "x", + description = "" + }, + { + type = "float", + name = "y", + description = "" + } + } + }, + { + name = "Vector3", + description = "Vector3 type // -- ConvertHSVtoRGB(), ConvertRGBtoHSV()", + fields = { + { + type = "float", + name = "x", + description = "" + }, + { + type = "float", + name = "y", + description = "" + }, + { + type = "float", + name = "z", + description = "" + } + } + }, + { + name = "Color", + description = "Color type, RGBA (32bit)", + fields = { + { + type = "unsigned char", + name = "r", + description = "" + }, + { + type = "unsigned char", + name = "g", + description = "" + }, + { + type = "unsigned char", + name = "b", + description = "" + }, + { + type = "unsigned char", + name = "a", + description = "" + } + } + }, + { + name = "Rectangle", + description = "Rectangle type", + fields = { + { + type = "float", + name = "x", + description = "" + }, + { + type = "float", + name = "y", + description = "" + }, + { + type = "float", + name = "width", + description = "" + }, + { + type = "float", + name = "height", + description = "" + } + } + }, + { + name = "Texture2D", + description = "It should be redesigned to be provided by user", + fields = { + { + type = "unsigned int", + name = "id", + description = "OpenGL texture id" + }, + { + type = "int", + name = "width", + description = "Texture base width" + }, + { + type = "int", + name = "height", + description = "Texture base height" + }, + { + type = "int", + name = "mipmaps", + description = "Mipmap levels, 1 by default" + }, + { + type = "int", + name = "format", + description = "Data format (PixelFormat type)" + } + } + }, + { + name = "Image", + description = "Image, pixel data stored in CPU memory (RAM)", + fields = { + { + type = "void *", + name = "data", + description = "Image raw data" + }, + { + type = "int", + name = "width", + description = "Image base width" + }, + { + type = "int", + name = "height", + description = "Image base height" + }, + { + type = "int", + name = "mipmaps", + description = "Mipmap levels, 1 by default" + }, + { + type = "int", + name = "format", + description = "Data format (PixelFormat type)" + } + } + }, + { + name = "GlyphInfo", + description = "GlyphInfo, font characters glyphs info", + fields = { + { + type = "int", + name = "value", + description = "Character value (Unicode)" + }, + { + type = "int", + name = "offsetX", + description = "Character offset X when drawing" + }, + { + type = "int", + name = "offsetY", + description = "Character offset Y when drawing" + }, + { + type = "int", + name = "advanceX", + description = "Character advance position X" + }, + { + type = "Image", + name = "image", + description = "Character image data" + } + } + }, + { + name = "Font", + description = "It should be redesigned to be provided by user", + fields = { + { + type = "int", + name = "baseSize", + description = "Base size (default chars height)" + }, + { + type = "int", + name = "glyphCount", + description = "Number of glyph characters" + }, + { + type = "int", + name = "glyphPadding", + description = "Padding around the glyph characters" + }, + { + type = "Texture2D", + name = "texture", + description = "Texture atlas containing the glyphs" + }, + { + type = "Rectangle *", + name = "recs", + description = "Rectangles in texture for the glyphs" + }, + { + type = "GlyphInfo *", + name = "glyphs", + description = "Glyphs info data" + } + } + }, + { + name = "GuiStyleProp", + description = "Style property", + fields = { + { + type = "unsigned short", + name = "controlId", + description = "" + }, + { + type = "unsigned short", + name = "propertyId", + description = "" + }, + { + type = "unsigned int", + name = "propertyValue", + description = "" + } + } + } + }, + aliases = { + }, + enums = { + { + name = "GuiState", + description = "Gui control state", + values = { + { + name = "STATE_NORMAL", + value = 0, + description = "" + }, + { + name = "STATE_FOCUSED", + value = 1, + description = "" + }, + { + name = "STATE_PRESSED", + value = 2, + description = "" + }, + { + name = "STATE_DISABLED", + value = 3, + description = "" + } + } + }, + { + name = "GuiTextAlignment", + description = "Gui control text alignment", + values = { + { + name = "TEXT_ALIGN_LEFT", + value = 0, + description = "" + }, + { + name = "TEXT_ALIGN_CENTER", + value = 1, + description = "" + }, + { + name = "TEXT_ALIGN_RIGHT", + value = 2, + description = "" + } + } + }, + { + name = "GuiControl", + description = "Gui controls", + values = { + { + name = "DEFAULT", + value = 0, + description = "" + }, + { + name = "LABEL", + value = 1, + description = "Used also for: LABELBUTTON" + }, + { + name = "BUTTON", + value = 2, + description = "" + }, + { + name = "TOGGLE", + value = 3, + description = "Used also for: TOGGLEGROUP" + }, + { + name = "SLIDER", + value = 4, + description = "Used also for: SLIDERBAR" + }, + { + name = "PROGRESSBAR", + value = 5, + description = "" + }, + { + name = "CHECKBOX", + value = 6, + description = "" + }, + { + name = "COMBOBOX", + value = 7, + description = "" + }, + { + name = "DROPDOWNBOX", + value = 8, + description = "" + }, + { + name = "TEXTBOX", + value = 9, + description = "Used also for: TEXTBOXMULTI" + }, + { + name = "VALUEBOX", + value = 10, + description = "" + }, + { + name = "SPINNER", + value = 11, + description = "Uses: BUTTON, VALUEBOX" + }, + { + name = "LISTVIEW", + value = 12, + description = "" + }, + { + name = "COLORPICKER", + value = 13, + description = "" + }, + { + name = "SCROLLBAR", + value = 14, + description = "" + }, + { + name = "STATUSBAR", + value = 15, + description = "" + } + } + }, + { + name = "GuiControlProperty", + description = "Gui base properties for every control", + values = { + { + name = "BORDER_COLOR_NORMAL", + value = 0, + description = "" + }, + { + name = "BASE_COLOR_NORMAL", + value = 1, + description = "" + }, + { + name = "TEXT_COLOR_NORMAL", + value = 2, + description = "" + }, + { + name = "BORDER_COLOR_FOCUSED", + value = 3, + description = "" + }, + { + name = "BASE_COLOR_FOCUSED", + value = 4, + description = "" + }, + { + name = "TEXT_COLOR_FOCUSED", + value = 5, + description = "" + }, + { + name = "BORDER_COLOR_PRESSED", + value = 6, + description = "" + }, + { + name = "BASE_COLOR_PRESSED", + value = 7, + description = "" + }, + { + name = "TEXT_COLOR_PRESSED", + value = 8, + description = "" + }, + { + name = "BORDER_COLOR_DISABLED", + value = 9, + description = "" + }, + { + name = "BASE_COLOR_DISABLED", + value = 10, + description = "" + }, + { + name = "TEXT_COLOR_DISABLED", + value = 11, + description = "" + }, + { + name = "BORDER_WIDTH", + value = 12, + description = "" + }, + { + name = "TEXT_PADDING", + value = 13, + description = "" + }, + { + name = "TEXT_ALIGNMENT", + value = 14, + description = "" + }, + { + name = "RESERVED", + value = 15, + description = "" + } + } + }, + { + name = "GuiDefaultProperty", + description = "DEFAULT extended properties", + values = { + { + name = "TEXT_SIZE", + value = 16, + description = "Text size (glyphs max height)" + }, + { + name = "TEXT_SPACING", + value = 17, + description = "Text spacing between glyphs" + }, + { + name = "LINE_COLOR", + value = 18, + description = "Line control color" + }, + { + name = "BACKGROUND_COLOR", + value = 19, + description = "Background color" + } + } + }, + { + name = "GuiToggleProperty", + description = "Toggle/ToggleGroup", + values = { + { + name = "GROUP_PADDING", + value = 16, + description = "ToggleGroup separation between toggles" + } + } + }, + { + name = "GuiSliderProperty", + description = "Slider/SliderBar", + values = { + { + name = "SLIDER_WIDTH", + value = 16, + description = "Slider size of internal bar" + }, + { + name = "SLIDER_PADDING", + value = 17, + description = "Slider/SliderBar internal bar padding" + } + } + }, + { + name = "GuiProgressBarProperty", + description = "ProgressBar", + values = { + { + name = "PROGRESS_PADDING", + value = 16, + description = "ProgressBar internal padding" + } + } + }, + { + name = "GuiScrollBarProperty", + description = "ScrollBar", + values = { + { + name = "ARROWS_SIZE", + value = 16, + description = "" + }, + { + name = "ARROWS_VISIBLE", + value = 17, + description = "" + }, + { + name = "SCROLL_SLIDER_PADDING", + value = 18, + description = "(SLIDERBAR, SLIDER_PADDING)" + }, + { + name = "SCROLL_SLIDER_SIZE", + value = 19, + description = "" + }, + { + name = "SCROLL_PADDING", + value = 20, + description = "" + }, + { + name = "SCROLL_SPEED", + value = 21, + description = "" + } + } + }, + { + name = "GuiCheckBoxProperty", + description = "CheckBox", + values = { + { + name = "CHECK_PADDING", + value = 16, + description = "CheckBox internal check padding" + } + } + }, + { + name = "GuiComboBoxProperty", + description = "ComboBox", + values = { + { + name = "COMBO_BUTTON_WIDTH", + value = 16, + description = "ComboBox right button width" + }, + { + name = "COMBO_BUTTON_SPACING", + value = 17, + description = "ComboBox button separation" + } + } + }, + { + name = "GuiDropdownBoxProperty", + description = "DropdownBox", + values = { + { + name = "ARROW_PADDING", + value = 16, + description = "DropdownBox arrow separation from border and items" + }, + { + name = "DROPDOWN_ITEMS_SPACING", + value = 17, + description = "DropdownBox items separation" + } + } + }, + { + name = "GuiTextBoxProperty", + description = "TextBox/TextBoxMulti/ValueBox/Spinner", + values = { + { + name = "TEXT_INNER_PADDING", + value = 16, + description = "TextBox/TextBoxMulti/ValueBox/Spinner inner text padding" + }, + { + name = "TEXT_LINES_SPACING", + value = 17, + description = "TextBoxMulti lines separation" + } + } + }, + { + name = "GuiSpinnerProperty", + description = "Spinner", + values = { + { + name = "SPIN_BUTTON_WIDTH", + value = 16, + description = "Spinner left/right buttons width" + }, + { + name = "SPIN_BUTTON_SPACING", + value = 17, + description = "Spinner buttons separation" + } + } + }, + { + name = "GuiListViewProperty", + description = "ListView", + values = { + { + name = "LIST_ITEMS_HEIGHT", + value = 16, + description = "ListView items height" + }, + { + name = "LIST_ITEMS_SPACING", + value = 17, + description = "ListView items separation" + }, + { + name = "SCROLLBAR_WIDTH", + value = 18, + description = "ListView scrollbar size (usually width)" + }, + { + name = "SCROLLBAR_SIDE", + value = 19, + description = "ListView scrollbar side (0-left, 1-right)" + } + } + }, + { + name = "GuiColorPickerProperty", + description = "ColorPicker", + values = { + { + name = "COLOR_SELECTOR_SIZE", + value = 16, + description = "" + }, + { + name = "HUEBAR_WIDTH", + value = 17, + description = "ColorPicker right hue bar width" + }, + { + name = "HUEBAR_PADDING", + value = 18, + description = "ColorPicker right hue bar separation from panel" + }, + { + name = "HUEBAR_SELECTOR_HEIGHT", + value = 19, + description = "ColorPicker right hue bar selector height" + }, + { + name = "HUEBAR_SELECTOR_OVERFLOW", + value = 20, + description = "ColorPicker right hue bar selector overflow" + } + } + }, + { + name = "GuiIconName", + description = "", + values = { + { + name = "ICON_NONE", + value = 0, + description = "" + }, + { + name = "ICON_FOLDER_FILE_OPEN", + value = 1, + description = "" + }, + { + name = "ICON_FILE_SAVE_CLASSIC", + value = 2, + description = "" + }, + { + name = "ICON_FOLDER_OPEN", + value = 3, + description = "" + }, + { + name = "ICON_FOLDER_SAVE", + value = 4, + description = "" + }, + { + name = "ICON_FILE_OPEN", + value = 5, + description = "" + }, + { + name = "ICON_FILE_SAVE", + value = 6, + description = "" + }, + { + name = "ICON_FILE_EXPORT", + value = 7, + description = "" + }, + { + name = "ICON_FILE_ADD", + value = 8, + description = "" + }, + { + name = "ICON_FILE_DELETE", + value = 9, + description = "" + }, + { + name = "ICON_FILETYPE_TEXT", + value = 10, + description = "" + }, + { + name = "ICON_FILETYPE_AUDIO", + value = 11, + description = "" + }, + { + name = "ICON_FILETYPE_IMAGE", + value = 12, + description = "" + }, + { + name = "ICON_FILETYPE_PLAY", + value = 13, + description = "" + }, + { + name = "ICON_FILETYPE_VIDEO", + value = 14, + description = "" + }, + { + name = "ICON_FILETYPE_INFO", + value = 15, + description = "" + }, + { + name = "ICON_FILE_COPY", + value = 16, + description = "" + }, + { + name = "ICON_FILE_CUT", + value = 17, + description = "" + }, + { + name = "ICON_FILE_PASTE", + value = 18, + description = "" + }, + { + name = "ICON_CURSOR_HAND", + value = 19, + description = "" + }, + { + name = "ICON_CURSOR_POINTER", + value = 20, + description = "" + }, + { + name = "ICON_CURSOR_CLASSIC", + value = 21, + description = "" + }, + { + name = "ICON_PENCIL", + value = 22, + description = "" + }, + { + name = "ICON_PENCIL_BIG", + value = 23, + description = "" + }, + { + name = "ICON_BRUSH_CLASSIC", + value = 24, + description = "" + }, + { + name = "ICON_BRUSH_PAINTER", + value = 25, + description = "" + }, + { + name = "ICON_WATER_DROP", + value = 26, + description = "" + }, + { + name = "ICON_COLOR_PICKER", + value = 27, + description = "" + }, + { + name = "ICON_RUBBER", + value = 28, + description = "" + }, + { + name = "ICON_COLOR_BUCKET", + value = 29, + description = "" + }, + { + name = "ICON_TEXT_T", + value = 30, + description = "" + }, + { + name = "ICON_TEXT_A", + value = 31, + description = "" + }, + { + name = "ICON_SCALE", + value = 32, + description = "" + }, + { + name = "ICON_RESIZE", + value = 33, + description = "" + }, + { + name = "ICON_FILTER_POINT", + value = 34, + description = "" + }, + { + name = "ICON_FILTER_BILINEAR", + value = 35, + description = "" + }, + { + name = "ICON_CROP", + value = 36, + description = "" + }, + { + name = "ICON_CROP_ALPHA", + value = 37, + description = "" + }, + { + name = "ICON_SQUARE_TOGGLE", + value = 38, + description = "" + }, + { + name = "ICON_SYMMETRY", + value = 39, + description = "" + }, + { + name = "ICON_SYMMETRY_HORIZONTAL", + value = 40, + description = "" + }, + { + name = "ICON_SYMMETRY_VERTICAL", + value = 41, + description = "" + }, + { + name = "ICON_LENS", + value = 42, + description = "" + }, + { + name = "ICON_LENS_BIG", + value = 43, + description = "" + }, + { + name = "ICON_EYE_ON", + value = 44, + description = "" + }, + { + name = "ICON_EYE_OFF", + value = 45, + description = "" + }, + { + name = "ICON_FILTER_TOP", + value = 46, + description = "" + }, + { + name = "ICON_FILTER", + value = 47, + description = "" + }, + { + name = "ICON_TARGET_POINT", + value = 48, + description = "" + }, + { + name = "ICON_TARGET_SMALL", + value = 49, + description = "" + }, + { + name = "ICON_TARGET_BIG", + value = 50, + description = "" + }, + { + name = "ICON_TARGET_MOVE", + value = 51, + description = "" + }, + { + name = "ICON_CURSOR_MOVE", + value = 52, + description = "" + }, + { + name = "ICON_CURSOR_SCALE", + value = 53, + description = "" + }, + { + name = "ICON_CURSOR_SCALE_RIGHT", + value = 54, + description = "" + }, + { + name = "ICON_CURSOR_SCALE_LEFT", + value = 55, + description = "" + }, + { + name = "ICON_UNDO", + value = 56, + description = "" + }, + { + name = "ICON_REDO", + value = 57, + description = "" + }, + { + name = "ICON_REREDO", + value = 58, + description = "" + }, + { + name = "ICON_MUTATE", + value = 59, + description = "" + }, + { + name = "ICON_ROTATE", + value = 60, + description = "" + }, + { + name = "ICON_REPEAT", + value = 61, + description = "" + }, + { + name = "ICON_SHUFFLE", + value = 62, + description = "" + }, + { + name = "ICON_EMPTYBOX", + value = 63, + description = "" + }, + { + name = "ICON_TARGET", + value = 64, + description = "" + }, + { + name = "ICON_TARGET_SMALL_FILL", + value = 65, + description = "" + }, + { + name = "ICON_TARGET_BIG_FILL", + value = 66, + description = "" + }, + { + name = "ICON_TARGET_MOVE_FILL", + value = 67, + description = "" + }, + { + name = "ICON_CURSOR_MOVE_FILL", + value = 68, + description = "" + }, + { + name = "ICON_CURSOR_SCALE_FILL", + value = 69, + description = "" + }, + { + name = "ICON_CURSOR_SCALE_RIGHT_FILL", + value = 70, + description = "" + }, + { + name = "ICON_CURSOR_SCALE_LEFT_FILL", + value = 71, + description = "" + }, + { + name = "ICON_UNDO_FILL", + value = 72, + description = "" + }, + { + name = "ICON_REDO_FILL", + value = 73, + description = "" + }, + { + name = "ICON_REREDO_FILL", + value = 74, + description = "" + }, + { + name = "ICON_MUTATE_FILL", + value = 75, + description = "" + }, + { + name = "ICON_ROTATE_FILL", + value = 76, + description = "" + }, + { + name = "ICON_REPEAT_FILL", + value = 77, + description = "" + }, + { + name = "ICON_SHUFFLE_FILL", + value = 78, + description = "" + }, + { + name = "ICON_EMPTYBOX_SMALL", + value = 79, + description = "" + }, + { + name = "ICON_BOX", + value = 80, + description = "" + }, + { + name = "ICON_BOX_TOP", + value = 81, + description = "" + }, + { + name = "ICON_BOX_TOP_RIGHT", + value = 82, + description = "" + }, + { + name = "ICON_BOX_RIGHT", + value = 83, + description = "" + }, + { + name = "ICON_BOX_BOTTOM_RIGHT", + value = 84, + description = "" + }, + { + name = "ICON_BOX_BOTTOM", + value = 85, + description = "" + }, + { + name = "ICON_BOX_BOTTOM_LEFT", + value = 86, + description = "" + }, + { + name = "ICON_BOX_LEFT", + value = 87, + description = "" + }, + { + name = "ICON_BOX_TOP_LEFT", + value = 88, + description = "" + }, + { + name = "ICON_BOX_CENTER", + value = 89, + description = "" + }, + { + name = "ICON_BOX_CIRCLE_MASK", + value = 90, + description = "" + }, + { + name = "ICON_POT", + value = 91, + description = "" + }, + { + name = "ICON_ALPHA_MULTIPLY", + value = 92, + description = "" + }, + { + name = "ICON_ALPHA_CLEAR", + value = 93, + description = "" + }, + { + name = "ICON_DITHERING", + value = 94, + description = "" + }, + { + name = "ICON_MIPMAPS", + value = 95, + description = "" + }, + { + name = "ICON_BOX_GRID", + value = 96, + description = "" + }, + { + name = "ICON_GRID", + value = 97, + description = "" + }, + { + name = "ICON_BOX_CORNERS_SMALL", + value = 98, + description = "" + }, + { + name = "ICON_BOX_CORNERS_BIG", + value = 99, + description = "" + }, + { + name = "ICON_FOUR_BOXES", + value = 100, + description = "" + }, + { + name = "ICON_GRID_FILL", + value = 101, + description = "" + }, + { + name = "ICON_BOX_MULTISIZE", + value = 102, + description = "" + }, + { + name = "ICON_ZOOM_SMALL", + value = 103, + description = "" + }, + { + name = "ICON_ZOOM_MEDIUM", + value = 104, + description = "" + }, + { + name = "ICON_ZOOM_BIG", + value = 105, + description = "" + }, + { + name = "ICON_ZOOM_ALL", + value = 106, + description = "" + }, + { + name = "ICON_ZOOM_CENTER", + value = 107, + description = "" + }, + { + name = "ICON_BOX_DOTS_SMALL", + value = 108, + description = "" + }, + { + name = "ICON_BOX_DOTS_BIG", + value = 109, + description = "" + }, + { + name = "ICON_BOX_CONCENTRIC", + value = 110, + description = "" + }, + { + name = "ICON_BOX_GRID_BIG", + value = 111, + description = "" + }, + { + name = "ICON_OK_TICK", + value = 112, + description = "" + }, + { + name = "ICON_CROSS", + value = 113, + description = "" + }, + { + name = "ICON_ARROW_LEFT", + value = 114, + description = "" + }, + { + name = "ICON_ARROW_RIGHT", + value = 115, + description = "" + }, + { + name = "ICON_ARROW_DOWN", + value = 116, + description = "" + }, + { + name = "ICON_ARROW_UP", + value = 117, + description = "" + }, + { + name = "ICON_ARROW_LEFT_FILL", + value = 118, + description = "" + }, + { + name = "ICON_ARROW_RIGHT_FILL", + value = 119, + description = "" + }, + { + name = "ICON_ARROW_DOWN_FILL", + value = 120, + description = "" + }, + { + name = "ICON_ARROW_UP_FILL", + value = 121, + description = "" + }, + { + name = "ICON_AUDIO", + value = 122, + description = "" + }, + { + name = "ICON_FX", + value = 123, + description = "" + }, + { + name = "ICON_WAVE", + value = 124, + description = "" + }, + { + name = "ICON_WAVE_SINUS", + value = 125, + description = "" + }, + { + name = "ICON_WAVE_SQUARE", + value = 126, + description = "" + }, + { + name = "ICON_WAVE_TRIANGULAR", + value = 127, + description = "" + }, + { + name = "ICON_CROSS_SMALL", + value = 128, + description = "" + }, + { + name = "ICON_PLAYER_PREVIOUS", + value = 129, + description = "" + }, + { + name = "ICON_PLAYER_PLAY_BACK", + value = 130, + description = "" + }, + { + name = "ICON_PLAYER_PLAY", + value = 131, + description = "" + }, + { + name = "ICON_PLAYER_PAUSE", + value = 132, + description = "" + }, + { + name = "ICON_PLAYER_STOP", + value = 133, + description = "" + }, + { + name = "ICON_PLAYER_NEXT", + value = 134, + description = "" + }, + { + name = "ICON_PLAYER_RECORD", + value = 135, + description = "" + }, + { + name = "ICON_MAGNET", + value = 136, + description = "" + }, + { + name = "ICON_LOCK_CLOSE", + value = 137, + description = "" + }, + { + name = "ICON_LOCK_OPEN", + value = 138, + description = "" + }, + { + name = "ICON_CLOCK", + value = 139, + description = "" + }, + { + name = "ICON_TOOLS", + value = 140, + description = "" + }, + { + name = "ICON_GEAR", + value = 141, + description = "" + }, + { + name = "ICON_GEAR_BIG", + value = 142, + description = "" + }, + { + name = "ICON_BIN", + value = 143, + description = "" + }, + { + name = "ICON_HAND_POINTER", + value = 144, + description = "" + }, + { + name = "ICON_LASER", + value = 145, + description = "" + }, + { + name = "ICON_COIN", + value = 146, + description = "" + }, + { + name = "ICON_EXPLOSION", + value = 147, + description = "" + }, + { + name = "ICON_1UP", + value = 148, + description = "" + }, + { + name = "ICON_PLAYER", + value = 149, + description = "" + }, + { + name = "ICON_PLAYER_JUMP", + value = 150, + description = "" + }, + { + name = "ICON_KEY", + value = 151, + description = "" + }, + { + name = "ICON_DEMON", + value = 152, + description = "" + }, + { + name = "ICON_TEXT_POPUP", + value = 153, + description = "" + }, + { + name = "ICON_GEAR_EX", + value = 154, + description = "" + }, + { + name = "ICON_CRACK", + value = 155, + description = "" + }, + { + name = "ICON_CRACK_POINTS", + value = 156, + description = "" + }, + { + name = "ICON_STAR", + value = 157, + description = "" + }, + { + name = "ICON_DOOR", + value = 158, + description = "" + }, + { + name = "ICON_EXIT", + value = 159, + description = "" + }, + { + name = "ICON_MODE_2D", + value = 160, + description = "" + }, + { + name = "ICON_MODE_3D", + value = 161, + description = "" + }, + { + name = "ICON_CUBE", + value = 162, + description = "" + }, + { + name = "ICON_CUBE_FACE_TOP", + value = 163, + description = "" + }, + { + name = "ICON_CUBE_FACE_LEFT", + value = 164, + description = "" + }, + { + name = "ICON_CUBE_FACE_FRONT", + value = 165, + description = "" + }, + { + name = "ICON_CUBE_FACE_BOTTOM", + value = 166, + description = "" + }, + { + name = "ICON_CUBE_FACE_RIGHT", + value = 167, + description = "" + }, + { + name = "ICON_CUBE_FACE_BACK", + value = 168, + description = "" + }, + { + name = "ICON_CAMERA", + value = 169, + description = "" + }, + { + name = "ICON_SPECIAL", + value = 170, + description = "" + }, + { + name = "ICON_LINK_NET", + value = 171, + description = "" + }, + { + name = "ICON_LINK_BOXES", + value = 172, + description = "" + }, + { + name = "ICON_LINK_MULTI", + value = 173, + description = "" + }, + { + name = "ICON_LINK", + value = 174, + description = "" + }, + { + name = "ICON_LINK_BROKE", + value = 175, + description = "" + }, + { + name = "ICON_TEXT_NOTES", + value = 176, + description = "" + }, + { + name = "ICON_NOTEBOOK", + value = 177, + description = "" + }, + { + name = "ICON_SUITCASE", + value = 178, + description = "" + }, + { + name = "ICON_SUITCASE_ZIP", + value = 179, + description = "" + }, + { + name = "ICON_MAILBOX", + value = 180, + description = "" + }, + { + name = "ICON_MONITOR", + value = 181, + description = "" + }, + { + name = "ICON_PRINTER", + value = 182, + description = "" + }, + { + name = "ICON_PHOTO_CAMERA", + value = 183, + description = "" + }, + { + name = "ICON_PHOTO_CAMERA_FLASH", + value = 184, + description = "" + }, + { + name = "ICON_HOUSE", + value = 185, + description = "" + }, + { + name = "ICON_HEART", + value = 186, + description = "" + }, + { + name = "ICON_CORNER", + value = 187, + description = "" + }, + { + name = "ICON_VERTICAL_BARS", + value = 188, + description = "" + }, + { + name = "ICON_VERTICAL_BARS_FILL", + value = 189, + description = "" + }, + { + name = "ICON_LIFE_BARS", + value = 190, + description = "" + }, + { + name = "ICON_INFO", + value = 191, + description = "" + }, + { + name = "ICON_CROSSLINE", + value = 192, + description = "" + }, + { + name = "ICON_HELP", + value = 193, + description = "" + }, + { + name = "ICON_FILETYPE_ALPHA", + value = 194, + description = "" + }, + { + name = "ICON_FILETYPE_HOME", + value = 195, + description = "" + }, + { + name = "ICON_LAYERS_VISIBLE", + value = 196, + description = "" + }, + { + name = "ICON_LAYERS", + value = 197, + description = "" + }, + { + name = "ICON_WINDOW", + value = 198, + description = "" + }, + { + name = "ICON_HIDPI", + value = 199, + description = "" + }, + { + name = "ICON_FILETYPE_BINARY", + value = 200, + description = "" + }, + { + name = "ICON_HEX", + value = 201, + description = "" + }, + { + name = "ICON_SHIELD", + value = 202, + description = "" + }, + { + name = "ICON_FILE_NEW", + value = 203, + description = "" + }, + { + name = "ICON_FOLDER_ADD", + value = 204, + description = "" + }, + { + name = "ICON_ALARM", + value = 205, + description = "" + }, + { + name = "ICON_CPU", + value = 206, + description = "" + }, + { + name = "ICON_ROM", + value = 207, + description = "" + }, + { + name = "ICON_STEP_OVER", + value = 208, + description = "" + }, + { + name = "ICON_STEP_INTO", + value = 209, + description = "" + }, + { + name = "ICON_STEP_OUT", + value = 210, + description = "" + }, + { + name = "ICON_RESTART", + value = 211, + description = "" + }, + { + name = "ICON_BREAKPOINT_ON", + value = 212, + description = "" + }, + { + name = "ICON_BREAKPOINT_OFF", + value = 213, + description = "" + }, + { + name = "ICON_BURGER_MENU", + value = 214, + description = "" + }, + { + name = "ICON_CASE_SENSITIVE", + value = 215, + description = "" + }, + { + name = "ICON_REG_EXP", + value = 216, + description = "" + }, + { + name = "ICON_FOLDER", + value = 217, + description = "" + }, + { + name = "ICON_FILE", + value = 218, + description = "" + }, + { + name = "ICON_219", + value = 219, + description = "" + }, + { + name = "ICON_220", + value = 220, + description = "" + }, + { + name = "ICON_221", + value = 221, + description = "" + }, + { + name = "ICON_222", + value = 222, + description = "" + }, + { + name = "ICON_223", + value = 223, + description = "" + }, + { + name = "ICON_224", + value = 224, + description = "" + }, + { + name = "ICON_225", + value = 225, + description = "" + }, + { + name = "ICON_226", + value = 226, + description = "" + }, + { + name = "ICON_227", + value = 227, + description = "" + }, + { + name = "ICON_228", + value = 228, + description = "" + }, + { + name = "ICON_229", + value = 229, + description = "" + }, + { + name = "ICON_230", + value = 230, + description = "" + }, + { + name = "ICON_231", + value = 231, + description = "" + }, + { + name = "ICON_232", + value = 232, + description = "" + }, + { + name = "ICON_233", + value = 233, + description = "" + }, + { + name = "ICON_234", + value = 234, + description = "" + }, + { + name = "ICON_235", + value = 235, + description = "" + }, + { + name = "ICON_236", + value = 236, + description = "" + }, + { + name = "ICON_237", + value = 237, + description = "" + }, + { + name = "ICON_238", + value = 238, + description = "" + }, + { + name = "ICON_239", + value = 239, + description = "" + }, + { + name = "ICON_240", + value = 240, + description = "" + }, + { + name = "ICON_241", + value = 241, + description = "" + }, + { + name = "ICON_242", + value = 242, + description = "" + }, + { + name = "ICON_243", + value = 243, + description = "" + }, + { + name = "ICON_244", + value = 244, + description = "" + }, + { + name = "ICON_245", + value = 245, + description = "" + }, + { + name = "ICON_246", + value = 246, + description = "" + }, + { + name = "ICON_247", + value = 247, + description = "" + }, + { + name = "ICON_248", + value = 248, + description = "" + }, + { + name = "ICON_249", + value = 249, + description = "" + }, + { + name = "ICON_250", + value = 250, + description = "" + }, + { + name = "ICON_251", + value = 251, + description = "" + }, + { + name = "ICON_252", + value = 252, + description = "" + }, + { + name = "ICON_253", + value = 253, + description = "" + }, + { + name = "ICON_254", + value = 254, + description = "" + }, + { + name = "ICON_255", + value = 255, + description = "" + } + } + } + }, + callbacks = { + }, + functions = { + { + name = "GuiEnable", + description = "Enable gui controls (global state)", + returnType = "void" + }, + { + name = "GuiDisable", + description = "Disable gui controls (global state)", + returnType = "void" + }, + { + name = "GuiLock", + description = "Lock gui controls (global state)", + returnType = "void" + }, + { + name = "GuiUnlock", + description = "Unlock gui controls (global state)", + returnType = "void" + }, + { + name = "GuiIsLocked", + description = "Check if gui is locked (global state)", + returnType = "bool" + }, + { + name = "GuiFade", + description = "Set gui controls alpha (global state), alpha goes from 0.0f to 1.0f", + returnType = "void", + params = { + {type = "float", name = "alpha"} + } + }, + { + name = "GuiSetState", + description = "Set gui state (global state)", + returnType = "void", + params = { + {type = "int", name = "state"} + } + }, + { + name = "GuiGetState", + description = "Get gui state (global state)", + returnType = "int" + }, + { + name = "GuiSetFont", + description = "Set gui custom font (global state)", + returnType = "void", + params = { + {type = "Font", name = "font"} + } + }, + { + name = "GuiGetFont", + description = "Get gui custom font (global state)", + returnType = "Font" + }, + { + name = "GuiSetStyle", + description = "Set one style property", + returnType = "void", + params = { + {type = "int", name = "control"}, + {type = "int", name = "property"}, + {type = "int", name = "value"} + } + }, + { + name = "GuiGetStyle", + description = "Get one style property", + returnType = "int", + params = { + {type = "int", name = "control"}, + {type = "int", name = "property"} + } + }, + { + name = "GuiWindowBox", + description = "Window Box control, shows a window that can be closed", + returnType = "bool", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "title"} + } + }, + { + name = "GuiGroupBox", + description = "Group Box control with text name", + returnType = "void", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"} + } + }, + { + name = "GuiLine", + description = "Line separator control, could contain text", + returnType = "void", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"} + } + }, + { + name = "GuiPanel", + description = "Panel control, useful to group controls", + returnType = "void", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"} + } + }, + { + name = "GuiTabBar", + description = "Tab Bar control, returns TAB to be closed or -1", + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char **", name = "text"}, + {type = "int", name = "count"}, + {type = "int *", name = "active"} + } + }, + { + name = "GuiScrollPanel", + description = "Scroll Panel control", + returnType = "Rectangle", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "Rectangle", name = "content"}, + {type = "Vector2 *", name = "scroll"} + } + }, + { + name = "GuiLabel", + description = "Label control, shows text", + returnType = "void", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"} + } + }, + { + name = "GuiButton", + description = "Button control, returns true when clicked", + returnType = "bool", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"} + } + }, + { + name = "GuiLabelButton", + description = "Label button control, show true when clicked", + returnType = "bool", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"} + } + }, + { + name = "GuiToggle", + description = "Toggle Button control, returns true when active", + returnType = "bool", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "bool", name = "active"} + } + }, + { + name = "GuiToggleGroup", + description = "Toggle Group control, returns active toggle index", + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "int", name = "active"} + } + }, + { + name = "GuiCheckBox", + description = "Check Box control, returns true when active", + returnType = "bool", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "bool", name = "checked"} + } + }, + { + name = "GuiComboBox", + description = "Combo Box control, returns selected item index", + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "int", name = "active"} + } + }, + { + name = "GuiDropdownBox", + description = "Dropdown Box control, returns selected item", + returnType = "bool", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "int *", name = "active"}, + {type = "bool", name = "editMode"} + } + }, + { + name = "GuiSpinner", + description = "Spinner control, returns selected value", + returnType = "bool", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "int *", name = "value"}, + {type = "int", name = "minValue"}, + {type = "int", name = "maxValue"}, + {type = "bool", name = "editMode"} + } + }, + { + name = "GuiValueBox", + description = "Value Box control, updates input text with numbers", + returnType = "bool", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "int *", name = "value"}, + {type = "int", name = "minValue"}, + {type = "int", name = "maxValue"}, + {type = "bool", name = "editMode"} + } + }, + { + name = "GuiTextBox", + description = "Text Box control, updates input text", + returnType = "bool", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "char *", name = "text"}, + {type = "int", name = "textSize"}, + {type = "bool", name = "editMode"} + } + }, + { + name = "GuiTextBoxMulti", + description = "Text Box control with multiple lines", + returnType = "bool", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "char *", name = "text"}, + {type = "int", name = "textSize"}, + {type = "bool", name = "editMode"} + } + }, + { + name = "GuiSlider", + description = "Slider control, returns selected value", + returnType = "float", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "textLeft"}, + {type = "const char *", name = "textRight"}, + {type = "float", name = "value"}, + {type = "float", name = "minValue"}, + {type = "float", name = "maxValue"} + } + }, + { + name = "GuiSliderBar", + description = "Slider Bar control, returns selected value", + returnType = "float", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "textLeft"}, + {type = "const char *", name = "textRight"}, + {type = "float", name = "value"}, + {type = "float", name = "minValue"}, + {type = "float", name = "maxValue"} + } + }, + { + name = "GuiProgressBar", + description = "Progress Bar control, shows current progress value", + returnType = "float", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "textLeft"}, + {type = "const char *", name = "textRight"}, + {type = "float", name = "value"}, + {type = "float", name = "minValue"}, + {type = "float", name = "maxValue"} + } + }, + { + name = "GuiStatusBar", + description = "Status Bar control, shows info text", + returnType = "void", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"} + } + }, + { + name = "GuiDummyRec", + description = "Dummy control for placeholders", + returnType = "void", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"} + } + }, + { + name = "GuiGrid", + description = "Grid control, returns mouse cell position", + returnType = "Vector2", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "float", name = "spacing"}, + {type = "int", name = "subdivs"} + } + }, + { + name = "GuiListView", + description = "List View control, returns selected list item index", + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "int *", name = "scrollIndex"}, + {type = "int", name = "active"} + } + }, + { + name = "GuiListViewEx", + description = "List View with extended parameters", + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char **", name = "text"}, + {type = "int", name = "count"}, + {type = "int *", name = "focus"}, + {type = "int *", name = "scrollIndex"}, + {type = "int", name = "active"} + } + }, + { + name = "GuiMessageBox", + description = "Message Box control, displays a message", + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "title"}, + {type = "const char *", name = "message"}, + {type = "const char *", name = "buttons"} + } + }, + { + name = "GuiTextInputBox", + description = "Text Input Box control, ask for text, supports secret", + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "title"}, + {type = "const char *", name = "message"}, + {type = "const char *", name = "buttons"}, + {type = "char *", name = "text"}, + {type = "int", name = "textMaxSize"}, + {type = "int *", name = "secretViewActive"} + } + }, + { + name = "GuiColorPicker", + description = "Color Picker control (multiple color controls)", + returnType = "Color", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "Color", name = "color"} + } + }, + { + name = "GuiColorPanel", + description = "Color Panel control", + returnType = "Color", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "Color", name = "color"} + } + }, + { + name = "GuiColorBarAlpha", + description = "Color Bar Alpha control", + returnType = "float", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "float", name = "alpha"} + } + }, + { + name = "GuiColorBarHue", + description = "Color Bar Hue control", + returnType = "float", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "float", name = "value"} + } + }, + { + name = "GuiLoadStyle", + description = "Load style file over global style variable (.rgs)", + returnType = "void", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "GuiLoadStyleDefault", + description = "Load style default over global style", + returnType = "void" + }, + { + name = "GuiEnableTooltip", + description = "Enable gui tooltips (global state)", + returnType = "void" + }, + { + name = "GuiDisableTooltip", + description = "Disable gui tooltips (global state)", + returnType = "void" + }, + { + name = "GuiSetTooltip", + description = "Set tooltip string", + returnType = "void", + params = { + {type = "const char *", name = "tooltip"} + } + }, + { + name = "GuiIconText", + description = "Get text with icon id prepended (if supported)", + returnType = "const char *", + params = { + {type = "int", name = "iconId"}, + {type = "const char *", name = "text"} + } + }, + { + name = "GuiGetIcons", + description = "Get raygui icons data pointer", + returnType = "unsigned int *" + }, + { + name = "GuiLoadIcons", + description = "Load raygui icons file (.rgi) into internal icons data", + returnType = "char **", + params = { + {type = "const char *", name = "fileName"}, + {type = "bool", name = "loadIconsName"} + } + }, + { + name = "GuiDrawIcon", + description = "", + returnType = "void", + params = { + {type = "int", name = "iconId"}, + {type = "int", name = "posX"}, + {type = "int", name = "posY"}, + {type = "int", name = "pixelSize"}, + {type = "Color", name = "color"} + } + }, + { + name = "GuiSetIconScale", + description = "Set icon drawing size", + returnType = "void", + params = { + {type = "int", name = "scale"} + } + } + } +} diff --git a/raylib-api/raygui.txt b/raylib-api/raygui.txt new file mode 100644 index 0000000..70a5300 --- /dev/null +++ b/raylib-api/raygui.txt @@ -0,0 +1,874 @@ + +Defines found: 10 + +Define 001: RAYGUI_H + Name: RAYGUI_H + Type: GUARD + Value: + Description: +Define 002: RAYGUI_VERSION + Name: RAYGUI_VERSION + Type: STRING + Value: "3.2" + Description: +Define 003: RAYGUIAPI + Name: RAYGUIAPI + Type: UNKNOWN + Value: __declspec(dllexport) + Description: We are building the library as a Win32 shared library (.dll) +Define 004: RAYGUI_MALLOC(sz) + Name: RAYGUI_MALLOC(sz) + Type: MACRO + Value: malloc(sz) + Description: +Define 005: RAYGUI_CALLOC(n,sz) + Name: RAYGUI_CALLOC(n,sz) + Type: MACRO + Value: calloc(n,sz) + Description: +Define 006: RAYGUI_FREE(p) + Name: RAYGUI_FREE(p) + Type: MACRO + Value: free(p) + Description: +Define 007: RAYGUI_SUPPORT_LOG_INFO + Name: RAYGUI_SUPPORT_LOG_INFO + Type: GUARD + Value: + Description: +Define 008: RAYGUI_LOG(...) + Name: RAYGUI_LOG(...) + Type: MACRO + Value: printf(__VA_ARGS__) + Description: +Define 009: SCROLLBAR_LEFT_SIDE + Name: SCROLLBAR_LEFT_SIDE + Type: INT + Value: 0 + Description: +Define 010: SCROLLBAR_RIGHT_SIDE + Name: SCROLLBAR_RIGHT_SIDE + Type: INT + Value: 1 + Description: + +Structures found: 9 + +Struct 01: Vector2 (2 fields) + Name: Vector2 + Description: Vector2 type + Field[1]: float x + Field[2]: float y +Struct 02: Vector3 (3 fields) + Name: Vector3 + Description: Vector3 type // -- ConvertHSVtoRGB(), ConvertRGBtoHSV() + Field[1]: float x + Field[2]: float y + Field[3]: float z +Struct 03: Color (4 fields) + Name: Color + Description: Color type, RGBA (32bit) + Field[1]: unsigned char r + Field[2]: unsigned char g + Field[3]: unsigned char b + Field[4]: unsigned char a +Struct 04: Rectangle (4 fields) + Name: Rectangle + Description: Rectangle type + Field[1]: float x + Field[2]: float y + Field[3]: float width + Field[4]: float height +Struct 05: Texture2D (5 fields) + Name: Texture2D + Description: It should be redesigned to be provided by user + Field[1]: unsigned int id // OpenGL texture id + Field[2]: int width // Texture base width + Field[3]: int height // Texture base height + Field[4]: int mipmaps // Mipmap levels, 1 by default + Field[5]: int format // Data format (PixelFormat type) +Struct 06: Image (5 fields) + Name: Image + Description: Image, pixel data stored in CPU memory (RAM) + Field[1]: void * data // Image raw data + Field[2]: int width // Image base width + Field[3]: int height // Image base height + Field[4]: int mipmaps // Mipmap levels, 1 by default + Field[5]: int format // Data format (PixelFormat type) +Struct 07: GlyphInfo (5 fields) + Name: GlyphInfo + Description: GlyphInfo, font characters glyphs info + Field[1]: int value // Character value (Unicode) + Field[2]: int offsetX // Character offset X when drawing + Field[3]: int offsetY // Character offset Y when drawing + Field[4]: int advanceX // Character advance position X + Field[5]: Image image // Character image data +Struct 08: Font (6 fields) + Name: Font + Description: It should be redesigned to be provided by user + Field[1]: int baseSize // Base size (default chars height) + Field[2]: int glyphCount // Number of glyph characters + Field[3]: int glyphPadding // Padding around the glyph characters + Field[4]: Texture2D texture // Texture atlas containing the glyphs + Field[5]: Rectangle * recs // Rectangles in texture for the glyphs + Field[6]: GlyphInfo * glyphs // Glyphs info data +Struct 09: GuiStyleProp (3 fields) + Name: GuiStyleProp + Description: Style property + Field[1]: unsigned short controlId + Field[2]: unsigned short propertyId + Field[3]: unsigned int propertyValue + +Aliases found: 0 + + +Enums found: 17 + +Enum 01: GuiState (4 values) + Name: GuiState + Description: Gui control state + Value[STATE_NORMAL]: 0 + Value[STATE_FOCUSED]: 1 + Value[STATE_PRESSED]: 2 + Value[STATE_DISABLED]: 3 +Enum 02: GuiTextAlignment (3 values) + Name: GuiTextAlignment + Description: Gui control text alignment + Value[TEXT_ALIGN_LEFT]: 0 + Value[TEXT_ALIGN_CENTER]: 1 + Value[TEXT_ALIGN_RIGHT]: 2 +Enum 03: GuiControl (16 values) + Name: GuiControl + Description: Gui controls + Value[DEFAULT]: 0 + Value[LABEL]: 1 + Value[BUTTON]: 2 + Value[TOGGLE]: 3 + Value[SLIDER]: 4 + Value[PROGRESSBAR]: 5 + Value[CHECKBOX]: 6 + Value[COMBOBOX]: 7 + Value[DROPDOWNBOX]: 8 + Value[TEXTBOX]: 9 + Value[VALUEBOX]: 10 + Value[SPINNER]: 11 + Value[LISTVIEW]: 12 + Value[COLORPICKER]: 13 + Value[SCROLLBAR]: 14 + Value[STATUSBAR]: 15 +Enum 04: GuiControlProperty (16 values) + Name: GuiControlProperty + Description: Gui base properties for every control + Value[BORDER_COLOR_NORMAL]: 0 + Value[BASE_COLOR_NORMAL]: 1 + Value[TEXT_COLOR_NORMAL]: 2 + Value[BORDER_COLOR_FOCUSED]: 3 + Value[BASE_COLOR_FOCUSED]: 4 + Value[TEXT_COLOR_FOCUSED]: 5 + Value[BORDER_COLOR_PRESSED]: 6 + Value[BASE_COLOR_PRESSED]: 7 + Value[TEXT_COLOR_PRESSED]: 8 + Value[BORDER_COLOR_DISABLED]: 9 + Value[BASE_COLOR_DISABLED]: 10 + Value[TEXT_COLOR_DISABLED]: 11 + Value[BORDER_WIDTH]: 12 + Value[TEXT_PADDING]: 13 + Value[TEXT_ALIGNMENT]: 14 + Value[RESERVED]: 15 +Enum 05: GuiDefaultProperty (4 values) + Name: GuiDefaultProperty + Description: DEFAULT extended properties + Value[TEXT_SIZE]: 16 + Value[TEXT_SPACING]: 17 + Value[LINE_COLOR]: 18 + Value[BACKGROUND_COLOR]: 19 +Enum 06: GuiToggleProperty (1 values) + Name: GuiToggleProperty + Description: Toggle/ToggleGroup + Value[GROUP_PADDING]: 16 +Enum 07: GuiSliderProperty (2 values) + Name: GuiSliderProperty + Description: Slider/SliderBar + Value[SLIDER_WIDTH]: 16 + Value[SLIDER_PADDING]: 17 +Enum 08: GuiProgressBarProperty (1 values) + Name: GuiProgressBarProperty + Description: ProgressBar + Value[PROGRESS_PADDING]: 16 +Enum 09: GuiScrollBarProperty (6 values) + Name: GuiScrollBarProperty + Description: ScrollBar + Value[ARROWS_SIZE]: 16 + Value[ARROWS_VISIBLE]: 17 + Value[SCROLL_SLIDER_PADDING]: 18 + Value[SCROLL_SLIDER_SIZE]: 19 + Value[SCROLL_PADDING]: 20 + Value[SCROLL_SPEED]: 21 +Enum 10: GuiCheckBoxProperty (1 values) + Name: GuiCheckBoxProperty + Description: CheckBox + Value[CHECK_PADDING]: 16 +Enum 11: GuiComboBoxProperty (2 values) + Name: GuiComboBoxProperty + Description: ComboBox + Value[COMBO_BUTTON_WIDTH]: 16 + Value[COMBO_BUTTON_SPACING]: 17 +Enum 12: GuiDropdownBoxProperty (2 values) + Name: GuiDropdownBoxProperty + Description: DropdownBox + Value[ARROW_PADDING]: 16 + Value[DROPDOWN_ITEMS_SPACING]: 17 +Enum 13: GuiTextBoxProperty (2 values) + Name: GuiTextBoxProperty + Description: TextBox/TextBoxMulti/ValueBox/Spinner + Value[TEXT_INNER_PADDING]: 16 + Value[TEXT_LINES_SPACING]: 17 +Enum 14: GuiSpinnerProperty (2 values) + Name: GuiSpinnerProperty + Description: Spinner + Value[SPIN_BUTTON_WIDTH]: 16 + Value[SPIN_BUTTON_SPACING]: 17 +Enum 15: GuiListViewProperty (4 values) + Name: GuiListViewProperty + Description: ListView + Value[LIST_ITEMS_HEIGHT]: 16 + Value[LIST_ITEMS_SPACING]: 17 + Value[SCROLLBAR_WIDTH]: 18 + Value[SCROLLBAR_SIDE]: 19 +Enum 16: GuiColorPickerProperty (5 values) + Name: GuiColorPickerProperty + Description: ColorPicker + Value[COLOR_SELECTOR_SIZE]: 16 + Value[HUEBAR_WIDTH]: 17 + Value[HUEBAR_PADDING]: 18 + Value[HUEBAR_SELECTOR_HEIGHT]: 19 + Value[HUEBAR_SELECTOR_OVERFLOW]: 20 +Enum 17: GuiIconName (256 values) + Name: GuiIconName + Description: + Value[ICON_NONE]: 0 + Value[ICON_FOLDER_FILE_OPEN]: 1 + Value[ICON_FILE_SAVE_CLASSIC]: 2 + Value[ICON_FOLDER_OPEN]: 3 + Value[ICON_FOLDER_SAVE]: 4 + Value[ICON_FILE_OPEN]: 5 + Value[ICON_FILE_SAVE]: 6 + Value[ICON_FILE_EXPORT]: 7 + Value[ICON_FILE_ADD]: 8 + Value[ICON_FILE_DELETE]: 9 + Value[ICON_FILETYPE_TEXT]: 10 + Value[ICON_FILETYPE_AUDIO]: 11 + Value[ICON_FILETYPE_IMAGE]: 12 + Value[ICON_FILETYPE_PLAY]: 13 + Value[ICON_FILETYPE_VIDEO]: 14 + Value[ICON_FILETYPE_INFO]: 15 + Value[ICON_FILE_COPY]: 16 + Value[ICON_FILE_CUT]: 17 + Value[ICON_FILE_PASTE]: 18 + Value[ICON_CURSOR_HAND]: 19 + Value[ICON_CURSOR_POINTER]: 20 + Value[ICON_CURSOR_CLASSIC]: 21 + Value[ICON_PENCIL]: 22 + Value[ICON_PENCIL_BIG]: 23 + Value[ICON_BRUSH_CLASSIC]: 24 + Value[ICON_BRUSH_PAINTER]: 25 + Value[ICON_WATER_DROP]: 26 + Value[ICON_COLOR_PICKER]: 27 + Value[ICON_RUBBER]: 28 + Value[ICON_COLOR_BUCKET]: 29 + Value[ICON_TEXT_T]: 30 + Value[ICON_TEXT_A]: 31 + Value[ICON_SCALE]: 32 + Value[ICON_RESIZE]: 33 + Value[ICON_FILTER_POINT]: 34 + Value[ICON_FILTER_BILINEAR]: 35 + Value[ICON_CROP]: 36 + Value[ICON_CROP_ALPHA]: 37 + Value[ICON_SQUARE_TOGGLE]: 38 + Value[ICON_SYMMETRY]: 39 + Value[ICON_SYMMETRY_HORIZONTAL]: 40 + Value[ICON_SYMMETRY_VERTICAL]: 41 + Value[ICON_LENS]: 42 + Value[ICON_LENS_BIG]: 43 + Value[ICON_EYE_ON]: 44 + Value[ICON_EYE_OFF]: 45 + Value[ICON_FILTER_TOP]: 46 + Value[ICON_FILTER]: 47 + Value[ICON_TARGET_POINT]: 48 + Value[ICON_TARGET_SMALL]: 49 + Value[ICON_TARGET_BIG]: 50 + Value[ICON_TARGET_MOVE]: 51 + Value[ICON_CURSOR_MOVE]: 52 + Value[ICON_CURSOR_SCALE]: 53 + Value[ICON_CURSOR_SCALE_RIGHT]: 54 + Value[ICON_CURSOR_SCALE_LEFT]: 55 + Value[ICON_UNDO]: 56 + Value[ICON_REDO]: 57 + Value[ICON_REREDO]: 58 + Value[ICON_MUTATE]: 59 + Value[ICON_ROTATE]: 60 + Value[ICON_REPEAT]: 61 + Value[ICON_SHUFFLE]: 62 + Value[ICON_EMPTYBOX]: 63 + Value[ICON_TARGET]: 64 + Value[ICON_TARGET_SMALL_FILL]: 65 + Value[ICON_TARGET_BIG_FILL]: 66 + Value[ICON_TARGET_MOVE_FILL]: 67 + Value[ICON_CURSOR_MOVE_FILL]: 68 + Value[ICON_CURSOR_SCALE_FILL]: 69 + Value[ICON_CURSOR_SCALE_RIGHT_FILL]: 70 + Value[ICON_CURSOR_SCALE_LEFT_FILL]: 71 + Value[ICON_UNDO_FILL]: 72 + Value[ICON_REDO_FILL]: 73 + Value[ICON_REREDO_FILL]: 74 + Value[ICON_MUTATE_FILL]: 75 + Value[ICON_ROTATE_FILL]: 76 + Value[ICON_REPEAT_FILL]: 77 + Value[ICON_SHUFFLE_FILL]: 78 + Value[ICON_EMPTYBOX_SMALL]: 79 + Value[ICON_BOX]: 80 + Value[ICON_BOX_TOP]: 81 + Value[ICON_BOX_TOP_RIGHT]: 82 + Value[ICON_BOX_RIGHT]: 83 + Value[ICON_BOX_BOTTOM_RIGHT]: 84 + Value[ICON_BOX_BOTTOM]: 85 + Value[ICON_BOX_BOTTOM_LEFT]: 86 + Value[ICON_BOX_LEFT]: 87 + Value[ICON_BOX_TOP_LEFT]: 88 + Value[ICON_BOX_CENTER]: 89 + Value[ICON_BOX_CIRCLE_MASK]: 90 + Value[ICON_POT]: 91 + Value[ICON_ALPHA_MULTIPLY]: 92 + Value[ICON_ALPHA_CLEAR]: 93 + Value[ICON_DITHERING]: 94 + Value[ICON_MIPMAPS]: 95 + Value[ICON_BOX_GRID]: 96 + Value[ICON_GRID]: 97 + Value[ICON_BOX_CORNERS_SMALL]: 98 + Value[ICON_BOX_CORNERS_BIG]: 99 + Value[ICON_FOUR_BOXES]: 100 + Value[ICON_GRID_FILL]: 101 + Value[ICON_BOX_MULTISIZE]: 102 + Value[ICON_ZOOM_SMALL]: 103 + Value[ICON_ZOOM_MEDIUM]: 104 + Value[ICON_ZOOM_BIG]: 105 + Value[ICON_ZOOM_ALL]: 106 + Value[ICON_ZOOM_CENTER]: 107 + Value[ICON_BOX_DOTS_SMALL]: 108 + Value[ICON_BOX_DOTS_BIG]: 109 + Value[ICON_BOX_CONCENTRIC]: 110 + Value[ICON_BOX_GRID_BIG]: 111 + Value[ICON_OK_TICK]: 112 + Value[ICON_CROSS]: 113 + Value[ICON_ARROW_LEFT]: 114 + Value[ICON_ARROW_RIGHT]: 115 + Value[ICON_ARROW_DOWN]: 116 + Value[ICON_ARROW_UP]: 117 + Value[ICON_ARROW_LEFT_FILL]: 118 + Value[ICON_ARROW_RIGHT_FILL]: 119 + Value[ICON_ARROW_DOWN_FILL]: 120 + Value[ICON_ARROW_UP_FILL]: 121 + Value[ICON_AUDIO]: 122 + Value[ICON_FX]: 123 + Value[ICON_WAVE]: 124 + Value[ICON_WAVE_SINUS]: 125 + Value[ICON_WAVE_SQUARE]: 126 + Value[ICON_WAVE_TRIANGULAR]: 127 + Value[ICON_CROSS_SMALL]: 128 + Value[ICON_PLAYER_PREVIOUS]: 129 + Value[ICON_PLAYER_PLAY_BACK]: 130 + Value[ICON_PLAYER_PLAY]: 131 + Value[ICON_PLAYER_PAUSE]: 132 + Value[ICON_PLAYER_STOP]: 133 + Value[ICON_PLAYER_NEXT]: 134 + Value[ICON_PLAYER_RECORD]: 135 + Value[ICON_MAGNET]: 136 + Value[ICON_LOCK_CLOSE]: 137 + Value[ICON_LOCK_OPEN]: 138 + Value[ICON_CLOCK]: 139 + Value[ICON_TOOLS]: 140 + Value[ICON_GEAR]: 141 + Value[ICON_GEAR_BIG]: 142 + Value[ICON_BIN]: 143 + Value[ICON_HAND_POINTER]: 144 + Value[ICON_LASER]: 145 + Value[ICON_COIN]: 146 + Value[ICON_EXPLOSION]: 147 + Value[ICON_1UP]: 148 + Value[ICON_PLAYER]: 149 + Value[ICON_PLAYER_JUMP]: 150 + Value[ICON_KEY]: 151 + Value[ICON_DEMON]: 152 + Value[ICON_TEXT_POPUP]: 153 + Value[ICON_GEAR_EX]: 154 + Value[ICON_CRACK]: 155 + Value[ICON_CRACK_POINTS]: 156 + Value[ICON_STAR]: 157 + Value[ICON_DOOR]: 158 + Value[ICON_EXIT]: 159 + Value[ICON_MODE_2D]: 160 + Value[ICON_MODE_3D]: 161 + Value[ICON_CUBE]: 162 + Value[ICON_CUBE_FACE_TOP]: 163 + Value[ICON_CUBE_FACE_LEFT]: 164 + Value[ICON_CUBE_FACE_FRONT]: 165 + Value[ICON_CUBE_FACE_BOTTOM]: 166 + Value[ICON_CUBE_FACE_RIGHT]: 167 + Value[ICON_CUBE_FACE_BACK]: 168 + Value[ICON_CAMERA]: 169 + Value[ICON_SPECIAL]: 170 + Value[ICON_LINK_NET]: 171 + Value[ICON_LINK_BOXES]: 172 + Value[ICON_LINK_MULTI]: 173 + Value[ICON_LINK]: 174 + Value[ICON_LINK_BROKE]: 175 + Value[ICON_TEXT_NOTES]: 176 + Value[ICON_NOTEBOOK]: 177 + Value[ICON_SUITCASE]: 178 + Value[ICON_SUITCASE_ZIP]: 179 + Value[ICON_MAILBOX]: 180 + Value[ICON_MONITOR]: 181 + Value[ICON_PRINTER]: 182 + Value[ICON_PHOTO_CAMERA]: 183 + Value[ICON_PHOTO_CAMERA_FLASH]: 184 + Value[ICON_HOUSE]: 185 + Value[ICON_HEART]: 186 + Value[ICON_CORNER]: 187 + Value[ICON_VERTICAL_BARS]: 188 + Value[ICON_VERTICAL_BARS_FILL]: 189 + Value[ICON_LIFE_BARS]: 190 + Value[ICON_INFO]: 191 + Value[ICON_CROSSLINE]: 192 + Value[ICON_HELP]: 193 + Value[ICON_FILETYPE_ALPHA]: 194 + Value[ICON_FILETYPE_HOME]: 195 + Value[ICON_LAYERS_VISIBLE]: 196 + Value[ICON_LAYERS]: 197 + Value[ICON_WINDOW]: 198 + Value[ICON_HIDPI]: 199 + Value[ICON_FILETYPE_BINARY]: 200 + Value[ICON_HEX]: 201 + Value[ICON_SHIELD]: 202 + Value[ICON_FILE_NEW]: 203 + Value[ICON_FOLDER_ADD]: 204 + Value[ICON_ALARM]: 205 + Value[ICON_CPU]: 206 + Value[ICON_ROM]: 207 + Value[ICON_STEP_OVER]: 208 + Value[ICON_STEP_INTO]: 209 + Value[ICON_STEP_OUT]: 210 + Value[ICON_RESTART]: 211 + Value[ICON_BREAKPOINT_ON]: 212 + Value[ICON_BREAKPOINT_OFF]: 213 + Value[ICON_BURGER_MENU]: 214 + Value[ICON_CASE_SENSITIVE]: 215 + Value[ICON_REG_EXP]: 216 + Value[ICON_FOLDER]: 217 + Value[ICON_FILE]: 218 + Value[ICON_219]: 219 + Value[ICON_220]: 220 + Value[ICON_221]: 221 + Value[ICON_222]: 222 + Value[ICON_223]: 223 + Value[ICON_224]: 224 + Value[ICON_225]: 225 + Value[ICON_226]: 226 + Value[ICON_227]: 227 + Value[ICON_228]: 228 + Value[ICON_229]: 229 + Value[ICON_230]: 230 + Value[ICON_231]: 231 + Value[ICON_232]: 232 + Value[ICON_233]: 233 + Value[ICON_234]: 234 + Value[ICON_235]: 235 + Value[ICON_236]: 236 + Value[ICON_237]: 237 + Value[ICON_238]: 238 + Value[ICON_239]: 239 + Value[ICON_240]: 240 + Value[ICON_241]: 241 + Value[ICON_242]: 242 + Value[ICON_243]: 243 + Value[ICON_244]: 244 + Value[ICON_245]: 245 + Value[ICON_246]: 246 + Value[ICON_247]: 247 + Value[ICON_248]: 248 + Value[ICON_249]: 249 + Value[ICON_250]: 250 + Value[ICON_251]: 251 + Value[ICON_252]: 252 + Value[ICON_253]: 253 + Value[ICON_254]: 254 + Value[ICON_255]: 255 + +Callbacks found: 0 + + +Functions found: 54 + +Function 001: GuiEnable() (0 input parameters) + Name: GuiEnable + Return type: void + Description: Enable gui controls (global state) + No input parameters +Function 002: GuiDisable() (0 input parameters) + Name: GuiDisable + Return type: void + Description: Disable gui controls (global state) + No input parameters +Function 003: GuiLock() (0 input parameters) + Name: GuiLock + Return type: void + Description: Lock gui controls (global state) + No input parameters +Function 004: GuiUnlock() (0 input parameters) + Name: GuiUnlock + Return type: void + Description: Unlock gui controls (global state) + No input parameters +Function 005: GuiIsLocked() (0 input parameters) + Name: GuiIsLocked + Return type: bool + Description: Check if gui is locked (global state) + No input parameters +Function 006: GuiFade() (1 input parameters) + Name: GuiFade + Return type: void + Description: Set gui controls alpha (global state), alpha goes from 0.0f to 1.0f + Param[1]: alpha (type: float) +Function 007: GuiSetState() (1 input parameters) + Name: GuiSetState + Return type: void + Description: Set gui state (global state) + Param[1]: state (type: int) +Function 008: GuiGetState() (0 input parameters) + Name: GuiGetState + Return type: int + Description: Get gui state (global state) + No input parameters +Function 009: GuiSetFont() (1 input parameters) + Name: GuiSetFont + Return type: void + Description: Set gui custom font (global state) + Param[1]: font (type: Font) +Function 010: GuiGetFont() (0 input parameters) + Name: GuiGetFont + Return type: Font + Description: Get gui custom font (global state) + No input parameters +Function 011: GuiSetStyle() (3 input parameters) + Name: GuiSetStyle + Return type: void + Description: Set one style property + Param[1]: control (type: int) + Param[2]: property (type: int) + Param[3]: value (type: int) +Function 012: GuiGetStyle() (2 input parameters) + Name: GuiGetStyle + Return type: int + Description: Get one style property + Param[1]: control (type: int) + Param[2]: property (type: int) +Function 013: GuiWindowBox() (2 input parameters) + Name: GuiWindowBox + Return type: bool + Description: Window Box control, shows a window that can be closed + Param[1]: bounds (type: Rectangle) + Param[2]: title (type: const char *) +Function 014: GuiGroupBox() (2 input parameters) + Name: GuiGroupBox + Return type: void + Description: Group Box control with text name + Param[1]: bounds (type: Rectangle) + Param[2]: text (type: const char *) +Function 015: GuiLine() (2 input parameters) + Name: GuiLine + Return type: void + Description: Line separator control, could contain text + Param[1]: bounds (type: Rectangle) + Param[2]: text (type: const char *) +Function 016: GuiPanel() (2 input parameters) + Name: GuiPanel + Return type: void + Description: Panel control, useful to group controls + Param[1]: bounds (type: Rectangle) + Param[2]: text (type: const char *) +Function 017: GuiTabBar() (4 input parameters) + Name: GuiTabBar + Return type: int + Description: Tab Bar control, returns TAB to be closed or -1 + Param[1]: bounds (type: Rectangle) + Param[2]: text (type: const char **) + Param[3]: count (type: int) + Param[4]: active (type: int *) +Function 018: GuiScrollPanel() (4 input parameters) + Name: GuiScrollPanel + Return type: Rectangle + Description: Scroll Panel control + Param[1]: bounds (type: Rectangle) + Param[2]: text (type: const char *) + Param[3]: content (type: Rectangle) + Param[4]: scroll (type: Vector2 *) +Function 019: GuiLabel() (2 input parameters) + Name: GuiLabel + Return type: void + Description: Label control, shows text + Param[1]: bounds (type: Rectangle) + Param[2]: text (type: const char *) +Function 020: GuiButton() (2 input parameters) + Name: GuiButton + Return type: bool + Description: Button control, returns true when clicked + Param[1]: bounds (type: Rectangle) + Param[2]: text (type: const char *) +Function 021: GuiLabelButton() (2 input parameters) + Name: GuiLabelButton + Return type: bool + Description: Label button control, show true when clicked + Param[1]: bounds (type: Rectangle) + Param[2]: text (type: const char *) +Function 022: GuiToggle() (3 input parameters) + Name: GuiToggle + Return type: bool + Description: Toggle Button control, returns true when active + Param[1]: bounds (type: Rectangle) + Param[2]: text (type: const char *) + Param[3]: active (type: bool) +Function 023: GuiToggleGroup() (3 input parameters) + Name: GuiToggleGroup + Return type: int + Description: Toggle Group control, returns active toggle index + Param[1]: bounds (type: Rectangle) + Param[2]: text (type: const char *) + Param[3]: active (type: int) +Function 024: GuiCheckBox() (3 input parameters) + Name: GuiCheckBox + Return type: bool + Description: Check Box control, returns true when active + Param[1]: bounds (type: Rectangle) + Param[2]: text (type: const char *) + Param[3]: checked (type: bool) +Function 025: GuiComboBox() (3 input parameters) + Name: GuiComboBox + Return type: int + Description: Combo Box control, returns selected item index + Param[1]: bounds (type: Rectangle) + Param[2]: text (type: const char *) + Param[3]: active (type: int) +Function 026: GuiDropdownBox() (4 input parameters) + Name: GuiDropdownBox + Return type: bool + Description: Dropdown Box control, returns selected item + Param[1]: bounds (type: Rectangle) + Param[2]: text (type: const char *) + Param[3]: active (type: int *) + Param[4]: editMode (type: bool) +Function 027: GuiSpinner() (6 input parameters) + Name: GuiSpinner + Return type: bool + Description: Spinner control, returns selected value + Param[1]: bounds (type: Rectangle) + Param[2]: text (type: const char *) + Param[3]: value (type: int *) + Param[4]: minValue (type: int) + Param[5]: maxValue (type: int) + Param[6]: editMode (type: bool) +Function 028: GuiValueBox() (6 input parameters) + Name: GuiValueBox + Return type: bool + Description: Value Box control, updates input text with numbers + Param[1]: bounds (type: Rectangle) + Param[2]: text (type: const char *) + Param[3]: value (type: int *) + Param[4]: minValue (type: int) + Param[5]: maxValue (type: int) + Param[6]: editMode (type: bool) +Function 029: GuiTextBox() (4 input parameters) + Name: GuiTextBox + Return type: bool + Description: Text Box control, updates input text + Param[1]: bounds (type: Rectangle) + Param[2]: text (type: char *) + Param[3]: textSize (type: int) + Param[4]: editMode (type: bool) +Function 030: GuiTextBoxMulti() (4 input parameters) + Name: GuiTextBoxMulti + Return type: bool + Description: Text Box control with multiple lines + Param[1]: bounds (type: Rectangle) + Param[2]: text (type: char *) + Param[3]: textSize (type: int) + Param[4]: editMode (type: bool) +Function 031: GuiSlider() (6 input parameters) + Name: GuiSlider + Return type: float + Description: Slider control, returns selected value + Param[1]: bounds (type: Rectangle) + Param[2]: textLeft (type: const char *) + Param[3]: textRight (type: const char *) + Param[4]: value (type: float) + Param[5]: minValue (type: float) + Param[6]: maxValue (type: float) +Function 032: GuiSliderBar() (6 input parameters) + Name: GuiSliderBar + Return type: float + Description: Slider Bar control, returns selected value + Param[1]: bounds (type: Rectangle) + Param[2]: textLeft (type: const char *) + Param[3]: textRight (type: const char *) + Param[4]: value (type: float) + Param[5]: minValue (type: float) + Param[6]: maxValue (type: float) +Function 033: GuiProgressBar() (6 input parameters) + Name: GuiProgressBar + Return type: float + Description: Progress Bar control, shows current progress value + Param[1]: bounds (type: Rectangle) + Param[2]: textLeft (type: const char *) + Param[3]: textRight (type: const char *) + Param[4]: value (type: float) + Param[5]: minValue (type: float) + Param[6]: maxValue (type: float) +Function 034: GuiStatusBar() (2 input parameters) + Name: GuiStatusBar + Return type: void + Description: Status Bar control, shows info text + Param[1]: bounds (type: Rectangle) + Param[2]: text (type: const char *) +Function 035: GuiDummyRec() (2 input parameters) + Name: GuiDummyRec + Return type: void + Description: Dummy control for placeholders + Param[1]: bounds (type: Rectangle) + Param[2]: text (type: const char *) +Function 036: GuiGrid() (4 input parameters) + Name: GuiGrid + Return type: Vector2 + Description: Grid control, returns mouse cell position + Param[1]: bounds (type: Rectangle) + Param[2]: text (type: const char *) + Param[3]: spacing (type: float) + Param[4]: subdivs (type: int) +Function 037: GuiListView() (4 input parameters) + Name: GuiListView + Return type: int + Description: List View control, returns selected list item index + Param[1]: bounds (type: Rectangle) + Param[2]: text (type: const char *) + Param[3]: scrollIndex (type: int *) + Param[4]: active (type: int) +Function 038: GuiListViewEx() (6 input parameters) + Name: GuiListViewEx + Return type: int + Description: List View with extended parameters + Param[1]: bounds (type: Rectangle) + Param[2]: text (type: const char **) + Param[3]: count (type: int) + Param[4]: focus (type: int *) + Param[5]: scrollIndex (type: int *) + Param[6]: active (type: int) +Function 039: GuiMessageBox() (4 input parameters) + Name: GuiMessageBox + Return type: int + Description: Message Box control, displays a message + Param[1]: bounds (type: Rectangle) + Param[2]: title (type: const char *) + Param[3]: message (type: const char *) + Param[4]: buttons (type: const char *) +Function 040: GuiTextInputBox() (7 input parameters) + Name: GuiTextInputBox + Return type: int + Description: Text Input Box control, ask for text, supports secret + Param[1]: bounds (type: Rectangle) + Param[2]: title (type: const char *) + Param[3]: message (type: const char *) + Param[4]: buttons (type: const char *) + Param[5]: text (type: char *) + Param[6]: textMaxSize (type: int) + Param[7]: secretViewActive (type: int *) +Function 041: GuiColorPicker() (3 input parameters) + Name: GuiColorPicker + Return type: Color + Description: Color Picker control (multiple color controls) + Param[1]: bounds (type: Rectangle) + Param[2]: text (type: const char *) + Param[3]: color (type: Color) +Function 042: GuiColorPanel() (3 input parameters) + Name: GuiColorPanel + Return type: Color + Description: Color Panel control + Param[1]: bounds (type: Rectangle) + Param[2]: text (type: const char *) + Param[3]: color (type: Color) +Function 043: GuiColorBarAlpha() (3 input parameters) + Name: GuiColorBarAlpha + Return type: float + Description: Color Bar Alpha control + Param[1]: bounds (type: Rectangle) + Param[2]: text (type: const char *) + Param[3]: alpha (type: float) +Function 044: GuiColorBarHue() (3 input parameters) + Name: GuiColorBarHue + Return type: float + Description: Color Bar Hue control + Param[1]: bounds (type: Rectangle) + Param[2]: text (type: const char *) + Param[3]: value (type: float) +Function 045: GuiLoadStyle() (1 input parameters) + Name: GuiLoadStyle + Return type: void + Description: Load style file over global style variable (.rgs) + Param[1]: fileName (type: const char *) +Function 046: GuiLoadStyleDefault() (0 input parameters) + Name: GuiLoadStyleDefault + Return type: void + Description: Load style default over global style + No input parameters +Function 047: GuiEnableTooltip() (0 input parameters) + Name: GuiEnableTooltip + Return type: void + Description: Enable gui tooltips (global state) + No input parameters +Function 048: GuiDisableTooltip() (0 input parameters) + Name: GuiDisableTooltip + Return type: void + Description: Disable gui tooltips (global state) + No input parameters +Function 049: GuiSetTooltip() (1 input parameters) + Name: GuiSetTooltip + Return type: void + Description: Set tooltip string + Param[1]: tooltip (type: const char *) +Function 050: GuiIconText() (2 input parameters) + Name: GuiIconText + Return type: const char * + Description: Get text with icon id prepended (if supported) + Param[1]: iconId (type: int) + Param[2]: text (type: const char *) +Function 051: GuiGetIcons() (0 input parameters) + Name: GuiGetIcons + Return type: unsigned int * + Description: Get raygui icons data pointer + No input parameters +Function 052: GuiLoadIcons() (2 input parameters) + Name: GuiLoadIcons + Return type: char ** + Description: Load raygui icons file (.rgi) into internal icons data + Param[1]: fileName (type: const char *) + Param[2]: loadIconsName (type: bool) +Function 053: GuiDrawIcon() (5 input parameters) + Name: GuiDrawIcon + Return type: void + Description: + Param[1]: iconId (type: int) + Param[2]: posX (type: int) + Param[3]: posY (type: int) + Param[4]: pixelSize (type: int) + Param[5]: color (type: Color) +Function 054: GuiSetIconScale() (1 input parameters) + Name: GuiSetIconScale + Return type: void + Description: Set icon drawing size + Param[1]: scale (type: int) diff --git a/raylib-api/raygui.xml b/raylib-api/raygui.xml new file mode 100644 index 0000000..1d8c365 --- /dev/null +++ b/raylib-api/raygui.xml @@ -0,0 +1,686 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/raylib-api/raylib.json b/raylib-api/raylib.json new file mode 100644 index 0000000..62d9f44 --- /dev/null +++ b/raylib-api/raylib.json @@ -0,0 +1,10933 @@ +{ + "defines": [ + { + "name": "RAYLIB_H", + "type": "GUARD", + "value": "", + "description": "" + }, + { + "name": "RAYLIB_VERSION_MAJOR", + "type": "INT", + "value": 4, + "description": "" + }, + { + "name": "RAYLIB_VERSION_MINOR", + "type": "INT", + "value": 5, + "description": "" + }, + { + "name": "RAYLIB_VERSION_PATCH", + "type": "INT", + "value": 0, + "description": "" + }, + { + "name": "RAYLIB_VERSION", + "type": "STRING", + "value": "4.5", + "description": "" + }, + { + "name": "__declspec(x)", + "type": "MACRO", + "value": "__attribute__((x))", + "description": "" + }, + { + "name": "RLAPI", + "type": "UNKNOWN", + "value": "__declspec(dllexport)", + "description": "We are building the library as a Win32 shared library (.dll)" + }, + { + "name": "PI", + "type": "FLOAT", + "value": 3.14159265358979323846, + "description": "" + }, + { + "name": "DEG2RAD", + "type": "FLOAT_MATH", + "value": "(PI/180.0f)", + "description": "" + }, + { + "name": "RAD2DEG", + "type": "FLOAT_MATH", + "value": "(180.0f/PI)", + "description": "" + }, + { + "name": "RL_MALLOC(sz)", + "type": "MACRO", + "value": "malloc(sz)", + "description": "" + }, + { + "name": "RL_CALLOC(n,sz)", + "type": "MACRO", + "value": "calloc(n,sz)", + "description": "" + }, + { + "name": "RL_REALLOC(ptr,sz)", + "type": "MACRO", + "value": "realloc(ptr,sz)", + "description": "" + }, + { + "name": "RL_FREE(ptr)", + "type": "MACRO", + "value": "free(ptr)", + "description": "" + }, + { + "name": "CLITERAL(type)", + "type": "MACRO", + "value": "type", + "description": "" + }, + { + "name": "RL_COLOR_TYPE", + "type": "GUARD", + "value": "", + "description": "" + }, + { + "name": "RL_RECTANGLE_TYPE", + "type": "GUARD", + "value": "", + "description": "" + }, + { + "name": "RL_VECTOR2_TYPE", + "type": "GUARD", + "value": "", + "description": "" + }, + { + "name": "RL_VECTOR3_TYPE", + "type": "GUARD", + "value": "", + "description": "" + }, + { + "name": "RL_VECTOR4_TYPE", + "type": "GUARD", + "value": "", + "description": "" + }, + { + "name": "RL_QUATERNION_TYPE", + "type": "GUARD", + "value": "", + "description": "" + }, + { + "name": "RL_MATRIX_TYPE", + "type": "GUARD", + "value": "", + "description": "" + }, + { + "name": "LIGHTGRAY", + "type": "COLOR", + "value": "CLITERAL(Color){ 200, 200, 200, 255 }", + "description": "Light Gray" + }, + { + "name": "GRAY", + "type": "COLOR", + "value": "CLITERAL(Color){ 130, 130, 130, 255 }", + "description": "Gray" + }, + { + "name": "DARKGRAY", + "type": "COLOR", + "value": "CLITERAL(Color){ 80, 80, 80, 255 }", + "description": "Dark Gray" + }, + { + "name": "YELLOW", + "type": "COLOR", + "value": "CLITERAL(Color){ 253, 249, 0, 255 }", + "description": "Yellow" + }, + { + "name": "GOLD", + "type": "COLOR", + "value": "CLITERAL(Color){ 255, 203, 0, 255 }", + "description": "Gold" + }, + { + "name": "ORANGE", + "type": "COLOR", + "value": "CLITERAL(Color){ 255, 161, 0, 255 }", + "description": "Orange" + }, + { + "name": "PINK", + "type": "COLOR", + "value": "CLITERAL(Color){ 255, 109, 194, 255 }", + "description": "Pink" + }, + { + "name": "RED", + "type": "COLOR", + "value": "CLITERAL(Color){ 230, 41, 55, 255 }", + "description": "Red" + }, + { + "name": "MAROON", + "type": "COLOR", + "value": "CLITERAL(Color){ 190, 33, 55, 255 }", + "description": "Maroon" + }, + { + "name": "GREEN", + "type": "COLOR", + "value": "CLITERAL(Color){ 0, 228, 48, 255 }", + "description": "Green" + }, + { + "name": "LIME", + "type": "COLOR", + "value": "CLITERAL(Color){ 0, 158, 47, 255 }", + "description": "Lime" + }, + { + "name": "DARKGREEN", + "type": "COLOR", + "value": "CLITERAL(Color){ 0, 117, 44, 255 }", + "description": "Dark Green" + }, + { + "name": "SKYBLUE", + "type": "COLOR", + "value": "CLITERAL(Color){ 102, 191, 255, 255 }", + "description": "Sky Blue" + }, + { + "name": "BLUE", + "type": "COLOR", + "value": "CLITERAL(Color){ 0, 121, 241, 255 }", + "description": "Blue" + }, + { + "name": "DARKBLUE", + "type": "COLOR", + "value": "CLITERAL(Color){ 0, 82, 172, 255 }", + "description": "Dark Blue" + }, + { + "name": "PURPLE", + "type": "COLOR", + "value": "CLITERAL(Color){ 200, 122, 255, 255 }", + "description": "Purple" + }, + { + "name": "VIOLET", + "type": "COLOR", + "value": "CLITERAL(Color){ 135, 60, 190, 255 }", + "description": "Violet" + }, + { + "name": "DARKPURPLE", + "type": "COLOR", + "value": "CLITERAL(Color){ 112, 31, 126, 255 }", + "description": "Dark Purple" + }, + { + "name": "BEIGE", + "type": "COLOR", + "value": "CLITERAL(Color){ 211, 176, 131, 255 }", + "description": "Beige" + }, + { + "name": "BROWN", + "type": "COLOR", + "value": "CLITERAL(Color){ 127, 106, 79, 255 }", + "description": "Brown" + }, + { + "name": "DARKBROWN", + "type": "COLOR", + "value": "CLITERAL(Color){ 76, 63, 47, 255 }", + "description": "Dark Brown" + }, + { + "name": "WHITE", + "type": "COLOR", + "value": "CLITERAL(Color){ 255, 255, 255, 255 }", + "description": "White" + }, + { + "name": "BLACK", + "type": "COLOR", + "value": "CLITERAL(Color){ 0, 0, 0, 255 }", + "description": "Black" + }, + { + "name": "BLANK", + "type": "COLOR", + "value": "CLITERAL(Color){ 0, 0, 0, 0 }", + "description": "Blank (Transparent)" + }, + { + "name": "MAGENTA", + "type": "COLOR", + "value": "CLITERAL(Color){ 255, 0, 255, 255 }", + "description": "Magenta" + }, + { + "name": "RAYWHITE", + "type": "COLOR", + "value": "CLITERAL(Color){ 245, 245, 245, 255 }", + "description": "My own White (raylib logo)" + }, + { + "name": "RL_BOOL_TYPE", + "type": "GUARD", + "value": "", + "description": "" + }, + { + "name": "MOUSE_LEFT_BUTTON", + "type": "UNKNOWN", + "value": "MOUSE_BUTTON_LEFT", + "description": "" + }, + { + "name": "MOUSE_RIGHT_BUTTON", + "type": "UNKNOWN", + "value": "MOUSE_BUTTON_RIGHT", + "description": "" + }, + { + "name": "MOUSE_MIDDLE_BUTTON", + "type": "UNKNOWN", + "value": "MOUSE_BUTTON_MIDDLE", + "description": "" + }, + { + "name": "MATERIAL_MAP_DIFFUSE", + "type": "UNKNOWN", + "value": "MATERIAL_MAP_ALBEDO", + "description": "" + }, + { + "name": "MATERIAL_MAP_SPECULAR", + "type": "UNKNOWN", + "value": "MATERIAL_MAP_METALNESS", + "description": "" + }, + { + "name": "SHADER_LOC_MAP_DIFFUSE", + "type": "UNKNOWN", + "value": "SHADER_LOC_MAP_ALBEDO", + "description": "" + }, + { + "name": "SHADER_LOC_MAP_SPECULAR", + "type": "UNKNOWN", + "value": "SHADER_LOC_MAP_METALNESS", + "description": "" + } + ], + "structs": [ + { + "name": "Vector2", + "description": "Vector2, 2 components", + "fields": [ + { + "type": "float", + "name": "x", + "description": "Vector x component" + }, + { + "type": "float", + "name": "y", + "description": "Vector y component" + } + ] + }, + { + "name": "Vector3", + "description": "Vector3, 3 components", + "fields": [ + { + "type": "float", + "name": "x", + "description": "Vector x component" + }, + { + "type": "float", + "name": "y", + "description": "Vector y component" + }, + { + "type": "float", + "name": "z", + "description": "Vector z component" + } + ] + }, + { + "name": "Vector4", + "description": "Vector4, 4 components", + "fields": [ + { + "type": "float", + "name": "x", + "description": "Vector x component" + }, + { + "type": "float", + "name": "y", + "description": "Vector y component" + }, + { + "type": "float", + "name": "z", + "description": "Vector z component" + }, + { + "type": "float", + "name": "w", + "description": "Vector w component" + } + ] + }, + { + "name": "Matrix", + "description": "Matrix, 4x4 components, column major, OpenGL style, right-handed", + "fields": [ + { + "type": "float", + "name": "m0", + "description": "Matrix first row (4 components)" + }, + { + "type": "float", + "name": "m4", + "description": "Matrix first row (4 components)" + }, + { + "type": "float", + "name": "m8", + "description": "Matrix first row (4 components)" + }, + { + "type": "float", + "name": "m12", + "description": "Matrix first row (4 components)" + }, + { + "type": "float", + "name": "m1", + "description": "Matrix second row (4 components)" + }, + { + "type": "float", + "name": "m5", + "description": "Matrix second row (4 components)" + }, + { + "type": "float", + "name": "m9", + "description": "Matrix second row (4 components)" + }, + { + "type": "float", + "name": "m13", + "description": "Matrix second row (4 components)" + }, + { + "type": "float", + "name": "m2", + "description": "Matrix third row (4 components)" + }, + { + "type": "float", + "name": "m6", + "description": "Matrix third row (4 components)" + }, + { + "type": "float", + "name": "m10", + "description": "Matrix third row (4 components)" + }, + { + "type": "float", + "name": "m14", + "description": "Matrix third row (4 components)" + }, + { + "type": "float", + "name": "m3", + "description": "Matrix fourth row (4 components)" + }, + { + "type": "float", + "name": "m7", + "description": "Matrix fourth row (4 components)" + }, + { + "type": "float", + "name": "m11", + "description": "Matrix fourth row (4 components)" + }, + { + "type": "float", + "name": "m15", + "description": "Matrix fourth row (4 components)" + } + ] + }, + { + "name": "Color", + "description": "Color, 4 components, R8G8B8A8 (32bit)", + "fields": [ + { + "type": "unsigned char", + "name": "r", + "description": "Color red value" + }, + { + "type": "unsigned char", + "name": "g", + "description": "Color green value" + }, + { + "type": "unsigned char", + "name": "b", + "description": "Color blue value" + }, + { + "type": "unsigned char", + "name": "a", + "description": "Color alpha value" + } + ] + }, + { + "name": "Rectangle", + "description": "Rectangle, 4 components", + "fields": [ + { + "type": "float", + "name": "x", + "description": "Rectangle top-left corner position x" + }, + { + "type": "float", + "name": "y", + "description": "Rectangle top-left corner position y" + }, + { + "type": "float", + "name": "width", + "description": "Rectangle width" + }, + { + "type": "float", + "name": "height", + "description": "Rectangle height" + } + ] + }, + { + "name": "Image", + "description": "Image, pixel data stored in CPU memory (RAM)", + "fields": [ + { + "type": "void *", + "name": "data", + "description": "Image raw data" + }, + { + "type": "int", + "name": "width", + "description": "Image base width" + }, + { + "type": "int", + "name": "height", + "description": "Image base height" + }, + { + "type": "int", + "name": "mipmaps", + "description": "Mipmap levels, 1 by default" + }, + { + "type": "int", + "name": "format", + "description": "Data format (PixelFormat type)" + } + ] + }, + { + "name": "Texture", + "description": "Texture, tex data stored in GPU memory (VRAM)", + "fields": [ + { + "type": "unsigned int", + "name": "id", + "description": "OpenGL texture id" + }, + { + "type": "int", + "name": "width", + "description": "Texture base width" + }, + { + "type": "int", + "name": "height", + "description": "Texture base height" + }, + { + "type": "int", + "name": "mipmaps", + "description": "Mipmap levels, 1 by default" + }, + { + "type": "int", + "name": "format", + "description": "Data format (PixelFormat type)" + } + ] + }, + { + "name": "RenderTexture", + "description": "RenderTexture, fbo for texture rendering", + "fields": [ + { + "type": "unsigned int", + "name": "id", + "description": "OpenGL framebuffer object id" + }, + { + "type": "Texture", + "name": "texture", + "description": "Color buffer attachment texture" + }, + { + "type": "Texture", + "name": "depth", + "description": "Depth buffer attachment texture" + } + ] + }, + { + "name": "NPatchInfo", + "description": "NPatchInfo, n-patch layout info", + "fields": [ + { + "type": "Rectangle", + "name": "source", + "description": "Texture source rectangle" + }, + { + "type": "int", + "name": "left", + "description": "Left border offset" + }, + { + "type": "int", + "name": "top", + "description": "Top border offset" + }, + { + "type": "int", + "name": "right", + "description": "Right border offset" + }, + { + "type": "int", + "name": "bottom", + "description": "Bottom border offset" + }, + { + "type": "int", + "name": "layout", + "description": "Layout of the n-patch: 3x3, 1x3 or 3x1" + } + ] + }, + { + "name": "GlyphInfo", + "description": "GlyphInfo, font characters glyphs info", + "fields": [ + { + "type": "int", + "name": "value", + "description": "Character value (Unicode)" + }, + { + "type": "int", + "name": "offsetX", + "description": "Character offset X when drawing" + }, + { + "type": "int", + "name": "offsetY", + "description": "Character offset Y when drawing" + }, + { + "type": "int", + "name": "advanceX", + "description": "Character advance position X" + }, + { + "type": "Image", + "name": "image", + "description": "Character image data" + } + ] + }, + { + "name": "Font", + "description": "Font, font texture and GlyphInfo array data", + "fields": [ + { + "type": "int", + "name": "baseSize", + "description": "Base size (default chars height)" + }, + { + "type": "int", + "name": "glyphCount", + "description": "Number of glyph characters" + }, + { + "type": "int", + "name": "glyphPadding", + "description": "Padding around the glyph characters" + }, + { + "type": "Texture2D", + "name": "texture", + "description": "Texture atlas containing the glyphs" + }, + { + "type": "Rectangle *", + "name": "recs", + "description": "Rectangles in texture for the glyphs" + }, + { + "type": "GlyphInfo *", + "name": "glyphs", + "description": "Glyphs info data" + } + ] + }, + { + "name": "Camera3D", + "description": "Camera, defines position/orientation in 3d space", + "fields": [ + { + "type": "Vector3", + "name": "position", + "description": "Camera position" + }, + { + "type": "Vector3", + "name": "target", + "description": "Camera target it looks-at" + }, + { + "type": "Vector3", + "name": "up", + "description": "Camera up vector (rotation over its axis)" + }, + { + "type": "float", + "name": "fovy", + "description": "Camera field-of-view aperture in Y (degrees) in perspective, used as near plane width in orthographic" + }, + { + "type": "int", + "name": "projection", + "description": "Camera projection: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC" + } + ] + }, + { + "name": "Camera2D", + "description": "Camera2D, defines position/orientation in 2d space", + "fields": [ + { + "type": "Vector2", + "name": "offset", + "description": "Camera offset (displacement from target)" + }, + { + "type": "Vector2", + "name": "target", + "description": "Camera target (rotation and zoom origin)" + }, + { + "type": "float", + "name": "rotation", + "description": "Camera rotation in degrees" + }, + { + "type": "float", + "name": "zoom", + "description": "Camera zoom (scaling), should be 1.0f by default" + } + ] + }, + { + "name": "Mesh", + "description": "Mesh, vertex data and vao/vbo", + "fields": [ + { + "type": "int", + "name": "vertexCount", + "description": "Number of vertices stored in arrays" + }, + { + "type": "int", + "name": "triangleCount", + "description": "Number of triangles stored (indexed or not)" + }, + { + "type": "float *", + "name": "vertices", + "description": "Vertex position (XYZ - 3 components per vertex) (shader-location = 0)" + }, + { + "type": "float *", + "name": "texcoords", + "description": "Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1)" + }, + { + "type": "float *", + "name": "texcoords2", + "description": "Vertex texture second coordinates (UV - 2 components per vertex) (shader-location = 5)" + }, + { + "type": "float *", + "name": "normals", + "description": "Vertex normals (XYZ - 3 components per vertex) (shader-location = 2)" + }, + { + "type": "float *", + "name": "tangents", + "description": "Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4)" + }, + { + "type": "unsigned char *", + "name": "colors", + "description": "Vertex colors (RGBA - 4 components per vertex) (shader-location = 3)" + }, + { + "type": "unsigned short *", + "name": "indices", + "description": "Vertex indices (in case vertex data comes indexed)" + }, + { + "type": "float *", + "name": "animVertices", + "description": "Animated vertex positions (after bones transformations)" + }, + { + "type": "float *", + "name": "animNormals", + "description": "Animated normals (after bones transformations)" + }, + { + "type": "unsigned char *", + "name": "boneIds", + "description": "Vertex bone ids, max 255 bone ids, up to 4 bones influence by vertex (skinning)" + }, + { + "type": "float *", + "name": "boneWeights", + "description": "Vertex bone weight, up to 4 bones influence by vertex (skinning)" + }, + { + "type": "unsigned int", + "name": "vaoId", + "description": "OpenGL Vertex Array Object id" + }, + { + "type": "unsigned int *", + "name": "vboId", + "description": "OpenGL Vertex Buffer Objects id (default vertex data)" + } + ] + }, + { + "name": "Shader", + "description": "Shader", + "fields": [ + { + "type": "unsigned int", + "name": "id", + "description": "Shader program id" + }, + { + "type": "int *", + "name": "locs", + "description": "Shader locations array (RL_MAX_SHADER_LOCATIONS)" + } + ] + }, + { + "name": "MaterialMap", + "description": "MaterialMap", + "fields": [ + { + "type": "Texture2D", + "name": "texture", + "description": "Material map texture" + }, + { + "type": "Color", + "name": "color", + "description": "Material map color" + }, + { + "type": "float", + "name": "value", + "description": "Material map value" + } + ] + }, + { + "name": "Material", + "description": "Material, includes shader and maps", + "fields": [ + { + "type": "Shader", + "name": "shader", + "description": "Material shader" + }, + { + "type": "MaterialMap *", + "name": "maps", + "description": "Material maps array (MAX_MATERIAL_MAPS)" + }, + { + "type": "float[4]", + "name": "params", + "description": "Material generic parameters (if required)" + } + ] + }, + { + "name": "Transform", + "description": "Transform, vertex transformation data", + "fields": [ + { + "type": "Vector3", + "name": "translation", + "description": "Translation" + }, + { + "type": "Quaternion", + "name": "rotation", + "description": "Rotation" + }, + { + "type": "Vector3", + "name": "scale", + "description": "Scale" + } + ] + }, + { + "name": "BoneInfo", + "description": "Bone, skeletal animation bone", + "fields": [ + { + "type": "char[32]", + "name": "name", + "description": "Bone name" + }, + { + "type": "int", + "name": "parent", + "description": "Bone parent" + } + ] + }, + { + "name": "Model", + "description": "Model, meshes, materials and animation data", + "fields": [ + { + "type": "Matrix", + "name": "transform", + "description": "Local transform matrix" + }, + { + "type": "int", + "name": "meshCount", + "description": "Number of meshes" + }, + { + "type": "int", + "name": "materialCount", + "description": "Number of materials" + }, + { + "type": "Mesh *", + "name": "meshes", + "description": "Meshes array" + }, + { + "type": "Material *", + "name": "materials", + "description": "Materials array" + }, + { + "type": "int *", + "name": "meshMaterial", + "description": "Mesh material number" + }, + { + "type": "int", + "name": "boneCount", + "description": "Number of bones" + }, + { + "type": "BoneInfo *", + "name": "bones", + "description": "Bones information (skeleton)" + }, + { + "type": "Transform *", + "name": "bindPose", + "description": "Bones base transformation (pose)" + } + ] + }, + { + "name": "ModelAnimation", + "description": "ModelAnimation", + "fields": [ + { + "type": "int", + "name": "boneCount", + "description": "Number of bones" + }, + { + "type": "int", + "name": "frameCount", + "description": "Number of animation frames" + }, + { + "type": "BoneInfo *", + "name": "bones", + "description": "Bones information (skeleton)" + }, + { + "type": "Transform **", + "name": "framePoses", + "description": "Poses array by frame" + } + ] + }, + { + "name": "Ray", + "description": "Ray, ray for raycasting", + "fields": [ + { + "type": "Vector3", + "name": "position", + "description": "Ray position (origin)" + }, + { + "type": "Vector3", + "name": "direction", + "description": "Ray direction" + } + ] + }, + { + "name": "RayCollision", + "description": "RayCollision, ray hit information", + "fields": [ + { + "type": "bool", + "name": "hit", + "description": "Did the ray hit something?" + }, + { + "type": "float", + "name": "distance", + "description": "Distance to the nearest hit" + }, + { + "type": "Vector3", + "name": "point", + "description": "Point of the nearest hit" + }, + { + "type": "Vector3", + "name": "normal", + "description": "Surface normal of hit" + } + ] + }, + { + "name": "BoundingBox", + "description": "BoundingBox", + "fields": [ + { + "type": "Vector3", + "name": "min", + "description": "Minimum vertex box-corner" + }, + { + "type": "Vector3", + "name": "max", + "description": "Maximum vertex box-corner" + } + ] + }, + { + "name": "Wave", + "description": "Wave, audio wave data", + "fields": [ + { + "type": "unsigned int", + "name": "frameCount", + "description": "Total number of frames (considering channels)" + }, + { + "type": "unsigned int", + "name": "sampleRate", + "description": "Frequency (samples per second)" + }, + { + "type": "unsigned int", + "name": "sampleSize", + "description": "Bit depth (bits per sample): 8, 16, 32 (24 not supported)" + }, + { + "type": "unsigned int", + "name": "channels", + "description": "Number of channels (1-mono, 2-stereo, ...)" + }, + { + "type": "void *", + "name": "data", + "description": "Buffer data pointer" + } + ] + }, + { + "name": "AudioStream", + "description": "AudioStream, custom audio stream", + "fields": [ + { + "type": "rAudioBuffer *", + "name": "buffer", + "description": "Pointer to internal data used by the audio system" + }, + { + "type": "rAudioProcessor *", + "name": "processor", + "description": "Pointer to internal data processor, useful for audio effects" + }, + { + "type": "unsigned int", + "name": "sampleRate", + "description": "Frequency (samples per second)" + }, + { + "type": "unsigned int", + "name": "sampleSize", + "description": "Bit depth (bits per sample): 8, 16, 32 (24 not supported)" + }, + { + "type": "unsigned int", + "name": "channels", + "description": "Number of channels (1-mono, 2-stereo, ...)" + } + ] + }, + { + "name": "Sound", + "description": "Sound", + "fields": [ + { + "type": "AudioStream", + "name": "stream", + "description": "Audio stream" + }, + { + "type": "unsigned int", + "name": "frameCount", + "description": "Total number of frames (considering channels)" + } + ] + }, + { + "name": "Music", + "description": "Music, audio stream, anything longer than ~10 seconds should be streamed", + "fields": [ + { + "type": "AudioStream", + "name": "stream", + "description": "Audio stream" + }, + { + "type": "unsigned int", + "name": "frameCount", + "description": "Total number of frames (considering channels)" + }, + { + "type": "bool", + "name": "looping", + "description": "Music looping enable" + }, + { + "type": "int", + "name": "ctxType", + "description": "Type of music context (audio filetype)" + }, + { + "type": "void *", + "name": "ctxData", + "description": "Audio context data, depends on type" + } + ] + }, + { + "name": "VrDeviceInfo", + "description": "VrDeviceInfo, Head-Mounted-Display device parameters", + "fields": [ + { + "type": "int", + "name": "hResolution", + "description": "Horizontal resolution in pixels" + }, + { + "type": "int", + "name": "vResolution", + "description": "Vertical resolution in pixels" + }, + { + "type": "float", + "name": "hScreenSize", + "description": "Horizontal size in meters" + }, + { + "type": "float", + "name": "vScreenSize", + "description": "Vertical size in meters" + }, + { + "type": "float", + "name": "vScreenCenter", + "description": "Screen center in meters" + }, + { + "type": "float", + "name": "eyeToScreenDistance", + "description": "Distance between eye and display in meters" + }, + { + "type": "float", + "name": "lensSeparationDistance", + "description": "Lens separation distance in meters" + }, + { + "type": "float", + "name": "interpupillaryDistance", + "description": "IPD (distance between pupils) in meters" + }, + { + "type": "float[4]", + "name": "lensDistortionValues", + "description": "Lens distortion constant parameters" + }, + { + "type": "float[4]", + "name": "chromaAbCorrection", + "description": "Chromatic aberration correction parameters" + } + ] + }, + { + "name": "VrStereoConfig", + "description": "VrStereoConfig, VR stereo rendering configuration for simulator", + "fields": [ + { + "type": "Matrix[2]", + "name": "projection", + "description": "VR projection matrices (per eye)" + }, + { + "type": "Matrix[2]", + "name": "viewOffset", + "description": "VR view offset matrices (per eye)" + }, + { + "type": "float[2]", + "name": "leftLensCenter", + "description": "VR left lens center" + }, + { + "type": "float[2]", + "name": "rightLensCenter", + "description": "VR right lens center" + }, + { + "type": "float[2]", + "name": "leftScreenCenter", + "description": "VR left screen center" + }, + { + "type": "float[2]", + "name": "rightScreenCenter", + "description": "VR right screen center" + }, + { + "type": "float[2]", + "name": "scale", + "description": "VR distortion scale" + }, + { + "type": "float[2]", + "name": "scaleIn", + "description": "VR distortion scale in" + } + ] + }, + { + "name": "FilePathList", + "description": "File path list", + "fields": [ + { + "type": "unsigned int", + "name": "capacity", + "description": "Filepaths max entries" + }, + { + "type": "unsigned int", + "name": "count", + "description": "Filepaths entries count" + }, + { + "type": "char **", + "name": "paths", + "description": "Filepaths entries" + } + ] + } + ], + "aliases": [ + { + "type": "Vector4", + "name": "Quaternion", + "description": "Quaternion, 4 components (Vector4 alias)" + }, + { + "type": "Texture", + "name": "Texture2D", + "description": "Texture2D, same as Texture" + }, + { + "type": "Texture", + "name": "TextureCubemap", + "description": "TextureCubemap, same as Texture" + }, + { + "type": "RenderTexture", + "name": "RenderTexture2D", + "description": "RenderTexture2D, same as RenderTexture" + }, + { + "type": "Camera3D", + "name": "Camera", + "description": "Camera type fallback, defaults to Camera3D" + } + ], + "enums": [ + { + "name": "ConfigFlags", + "description": "System/Window config flags", + "values": [ + { + "name": "FLAG_VSYNC_HINT", + "value": 64, + "description": "Set to try enabling V-Sync on GPU" + }, + { + "name": "FLAG_FULLSCREEN_MODE", + "value": 2, + "description": "Set to run program in fullscreen" + }, + { + "name": "FLAG_WINDOW_RESIZABLE", + "value": 4, + "description": "Set to allow resizable window" + }, + { + "name": "FLAG_WINDOW_UNDECORATED", + "value": 8, + "description": "Set to disable window decoration (frame and buttons)" + }, + { + "name": "FLAG_WINDOW_HIDDEN", + "value": 128, + "description": "Set to hide window" + }, + { + "name": "FLAG_WINDOW_MINIMIZED", + "value": 512, + "description": "Set to minimize window (iconify)" + }, + { + "name": "FLAG_WINDOW_MAXIMIZED", + "value": 1024, + "description": "Set to maximize window (expanded to monitor)" + }, + { + "name": "FLAG_WINDOW_UNFOCUSED", + "value": 2048, + "description": "Set to window non focused" + }, + { + "name": "FLAG_WINDOW_TOPMOST", + "value": 4096, + "description": "Set to window always on top" + }, + { + "name": "FLAG_WINDOW_ALWAYS_RUN", + "value": 256, + "description": "Set to allow windows running while minimized" + }, + { + "name": "FLAG_WINDOW_TRANSPARENT", + "value": 16, + "description": "Set to allow transparent framebuffer" + }, + { + "name": "FLAG_WINDOW_HIGHDPI", + "value": 8192, + "description": "Set to support HighDPI" + }, + { + "name": "FLAG_WINDOW_MOUSE_PASSTHROUGH", + "value": 16384, + "description": "Set to support mouse passthrough, only supported when FLAG_WINDOW_UNDECORATED" + }, + { + "name": "FLAG_MSAA_4X_HINT", + "value": 32, + "description": "Set to try enabling MSAA 4X" + }, + { + "name": "FLAG_INTERLACED_HINT", + "value": 65536, + "description": "Set to try enabling interlaced video format (for V3D)" + } + ] + }, + { + "name": "TraceLogLevel", + "description": "Trace log level", + "values": [ + { + "name": "LOG_ALL", + "value": 0, + "description": "Display all logs" + }, + { + "name": "LOG_TRACE", + "value": 1, + "description": "Trace logging, intended for internal use only" + }, + { + "name": "LOG_DEBUG", + "value": 2, + "description": "Debug logging, used for internal debugging, it should be disabled on release builds" + }, + { + "name": "LOG_INFO", + "value": 3, + "description": "Info logging, used for program execution info" + }, + { + "name": "LOG_WARNING", + "value": 4, + "description": "Warning logging, used on recoverable failures" + }, + { + "name": "LOG_ERROR", + "value": 5, + "description": "Error logging, used on unrecoverable failures" + }, + { + "name": "LOG_FATAL", + "value": 6, + "description": "Fatal logging, used to abort program: exit(EXIT_FAILURE)" + }, + { + "name": "LOG_NONE", + "value": 7, + "description": "Disable logging" + } + ] + }, + { + "name": "KeyboardKey", + "description": "Keyboard keys (US keyboard layout)", + "values": [ + { + "name": "KEY_NULL", + "value": 0, + "description": "Key: NULL, used for no key pressed" + }, + { + "name": "KEY_APOSTROPHE", + "value": 39, + "description": "Key: '" + }, + { + "name": "KEY_COMMA", + "value": 44, + "description": "Key: ," + }, + { + "name": "KEY_MINUS", + "value": 45, + "description": "Key: -" + }, + { + "name": "KEY_PERIOD", + "value": 46, + "description": "Key: ." + }, + { + "name": "KEY_SLASH", + "value": 47, + "description": "Key: /" + }, + { + "name": "KEY_ZERO", + "value": 48, + "description": "Key: 0" + }, + { + "name": "KEY_ONE", + "value": 49, + "description": "Key: 1" + }, + { + "name": "KEY_TWO", + "value": 50, + "description": "Key: 2" + }, + { + "name": "KEY_THREE", + "value": 51, + "description": "Key: 3" + }, + { + "name": "KEY_FOUR", + "value": 52, + "description": "Key: 4" + }, + { + "name": "KEY_FIVE", + "value": 53, + "description": "Key: 5" + }, + { + "name": "KEY_SIX", + "value": 54, + "description": "Key: 6" + }, + { + "name": "KEY_SEVEN", + "value": 55, + "description": "Key: 7" + }, + { + "name": "KEY_EIGHT", + "value": 56, + "description": "Key: 8" + }, + { + "name": "KEY_NINE", + "value": 57, + "description": "Key: 9" + }, + { + "name": "KEY_SEMICOLON", + "value": 59, + "description": "Key: ;" + }, + { + "name": "KEY_EQUAL", + "value": 61, + "description": "Key: =" + }, + { + "name": "KEY_A", + "value": 65, + "description": "Key: A | a" + }, + { + "name": "KEY_B", + "value": 66, + "description": "Key: B | b" + }, + { + "name": "KEY_C", + "value": 67, + "description": "Key: C | c" + }, + { + "name": "KEY_D", + "value": 68, + "description": "Key: D | d" + }, + { + "name": "KEY_E", + "value": 69, + "description": "Key: E | e" + }, + { + "name": "KEY_F", + "value": 70, + "description": "Key: F | f" + }, + { + "name": "KEY_G", + "value": 71, + "description": "Key: G | g" + }, + { + "name": "KEY_H", + "value": 72, + "description": "Key: H | h" + }, + { + "name": "KEY_I", + "value": 73, + "description": "Key: I | i" + }, + { + "name": "KEY_J", + "value": 74, + "description": "Key: J | j" + }, + { + "name": "KEY_K", + "value": 75, + "description": "Key: K | k" + }, + { + "name": "KEY_L", + "value": 76, + "description": "Key: L | l" + }, + { + "name": "KEY_M", + "value": 77, + "description": "Key: M | m" + }, + { + "name": "KEY_N", + "value": 78, + "description": "Key: N | n" + }, + { + "name": "KEY_O", + "value": 79, + "description": "Key: O | o" + }, + { + "name": "KEY_P", + "value": 80, + "description": "Key: P | p" + }, + { + "name": "KEY_Q", + "value": 81, + "description": "Key: Q | q" + }, + { + "name": "KEY_R", + "value": 82, + "description": "Key: R | r" + }, + { + "name": "KEY_S", + "value": 83, + "description": "Key: S | s" + }, + { + "name": "KEY_T", + "value": 84, + "description": "Key: T | t" + }, + { + "name": "KEY_U", + "value": 85, + "description": "Key: U | u" + }, + { + "name": "KEY_V", + "value": 86, + "description": "Key: V | v" + }, + { + "name": "KEY_W", + "value": 87, + "description": "Key: W | w" + }, + { + "name": "KEY_X", + "value": 88, + "description": "Key: X | x" + }, + { + "name": "KEY_Y", + "value": 89, + "description": "Key: Y | y" + }, + { + "name": "KEY_Z", + "value": 90, + "description": "Key: Z | z" + }, + { + "name": "KEY_LEFT_BRACKET", + "value": 91, + "description": "Key: [" + }, + { + "name": "KEY_BACKSLASH", + "value": 92, + "description": "Key: '\\'" + }, + { + "name": "KEY_RIGHT_BRACKET", + "value": 93, + "description": "Key: ]" + }, + { + "name": "KEY_GRAVE", + "value": 96, + "description": "Key: `" + }, + { + "name": "KEY_SPACE", + "value": 32, + "description": "Key: Space" + }, + { + "name": "KEY_ESCAPE", + "value": 256, + "description": "Key: Esc" + }, + { + "name": "KEY_ENTER", + "value": 257, + "description": "Key: Enter" + }, + { + "name": "KEY_TAB", + "value": 258, + "description": "Key: Tab" + }, + { + "name": "KEY_BACKSPACE", + "value": 259, + "description": "Key: Backspace" + }, + { + "name": "KEY_INSERT", + "value": 260, + "description": "Key: Ins" + }, + { + "name": "KEY_DELETE", + "value": 261, + "description": "Key: Del" + }, + { + "name": "KEY_RIGHT", + "value": 262, + "description": "Key: Cursor right" + }, + { + "name": "KEY_LEFT", + "value": 263, + "description": "Key: Cursor left" + }, + { + "name": "KEY_DOWN", + "value": 264, + "description": "Key: Cursor down" + }, + { + "name": "KEY_UP", + "value": 265, + "description": "Key: Cursor up" + }, + { + "name": "KEY_PAGE_UP", + "value": 266, + "description": "Key: Page up" + }, + { + "name": "KEY_PAGE_DOWN", + "value": 267, + "description": "Key: Page down" + }, + { + "name": "KEY_HOME", + "value": 268, + "description": "Key: Home" + }, + { + "name": "KEY_END", + "value": 269, + "description": "Key: End" + }, + { + "name": "KEY_CAPS_LOCK", + "value": 280, + "description": "Key: Caps lock" + }, + { + "name": "KEY_SCROLL_LOCK", + "value": 281, + "description": "Key: Scroll down" + }, + { + "name": "KEY_NUM_LOCK", + "value": 282, + "description": "Key: Num lock" + }, + { + "name": "KEY_PRINT_SCREEN", + "value": 283, + "description": "Key: Print screen" + }, + { + "name": "KEY_PAUSE", + "value": 284, + "description": "Key: Pause" + }, + { + "name": "KEY_F1", + "value": 290, + "description": "Key: F1" + }, + { + "name": "KEY_F2", + "value": 291, + "description": "Key: F2" + }, + { + "name": "KEY_F3", + "value": 292, + "description": "Key: F3" + }, + { + "name": "KEY_F4", + "value": 293, + "description": "Key: F4" + }, + { + "name": "KEY_F5", + "value": 294, + "description": "Key: F5" + }, + { + "name": "KEY_F6", + "value": 295, + "description": "Key: F6" + }, + { + "name": "KEY_F7", + "value": 296, + "description": "Key: F7" + }, + { + "name": "KEY_F8", + "value": 297, + "description": "Key: F8" + }, + { + "name": "KEY_F9", + "value": 298, + "description": "Key: F9" + }, + { + "name": "KEY_F10", + "value": 299, + "description": "Key: F10" + }, + { + "name": "KEY_F11", + "value": 300, + "description": "Key: F11" + }, + { + "name": "KEY_F12", + "value": 301, + "description": "Key: F12" + }, + { + "name": "KEY_LEFT_SHIFT", + "value": 340, + "description": "Key: Shift left" + }, + { + "name": "KEY_LEFT_CONTROL", + "value": 341, + "description": "Key: Control left" + }, + { + "name": "KEY_LEFT_ALT", + "value": 342, + "description": "Key: Alt left" + }, + { + "name": "KEY_LEFT_SUPER", + "value": 343, + "description": "Key: Super left" + }, + { + "name": "KEY_RIGHT_SHIFT", + "value": 344, + "description": "Key: Shift right" + }, + { + "name": "KEY_RIGHT_CONTROL", + "value": 345, + "description": "Key: Control right" + }, + { + "name": "KEY_RIGHT_ALT", + "value": 346, + "description": "Key: Alt right" + }, + { + "name": "KEY_RIGHT_SUPER", + "value": 347, + "description": "Key: Super right" + }, + { + "name": "KEY_KB_MENU", + "value": 348, + "description": "Key: KB menu" + }, + { + "name": "KEY_KP_0", + "value": 320, + "description": "Key: Keypad 0" + }, + { + "name": "KEY_KP_1", + "value": 321, + "description": "Key: Keypad 1" + }, + { + "name": "KEY_KP_2", + "value": 322, + "description": "Key: Keypad 2" + }, + { + "name": "KEY_KP_3", + "value": 323, + "description": "Key: Keypad 3" + }, + { + "name": "KEY_KP_4", + "value": 324, + "description": "Key: Keypad 4" + }, + { + "name": "KEY_KP_5", + "value": 325, + "description": "Key: Keypad 5" + }, + { + "name": "KEY_KP_6", + "value": 326, + "description": "Key: Keypad 6" + }, + { + "name": "KEY_KP_7", + "value": 327, + "description": "Key: Keypad 7" + }, + { + "name": "KEY_KP_8", + "value": 328, + "description": "Key: Keypad 8" + }, + { + "name": "KEY_KP_9", + "value": 329, + "description": "Key: Keypad 9" + }, + { + "name": "KEY_KP_DECIMAL", + "value": 330, + "description": "Key: Keypad ." + }, + { + "name": "KEY_KP_DIVIDE", + "value": 331, + "description": "Key: Keypad /" + }, + { + "name": "KEY_KP_MULTIPLY", + "value": 332, + "description": "Key: Keypad *" + }, + { + "name": "KEY_KP_SUBTRACT", + "value": 333, + "description": "Key: Keypad -" + }, + { + "name": "KEY_KP_ADD", + "value": 334, + "description": "Key: Keypad +" + }, + { + "name": "KEY_KP_ENTER", + "value": 335, + "description": "Key: Keypad Enter" + }, + { + "name": "KEY_KP_EQUAL", + "value": 336, + "description": "Key: Keypad =" + }, + { + "name": "KEY_BACK", + "value": 4, + "description": "Key: Android back button" + }, + { + "name": "KEY_MENU", + "value": 82, + "description": "Key: Android menu button" + }, + { + "name": "KEY_VOLUME_UP", + "value": 24, + "description": "Key: Android volume up button" + }, + { + "name": "KEY_VOLUME_DOWN", + "value": 25, + "description": "Key: Android volume down button" + } + ] + }, + { + "name": "MouseButton", + "description": "Mouse buttons", + "values": [ + { + "name": "MOUSE_BUTTON_LEFT", + "value": 0, + "description": "Mouse button left" + }, + { + "name": "MOUSE_BUTTON_RIGHT", + "value": 1, + "description": "Mouse button right" + }, + { + "name": "MOUSE_BUTTON_MIDDLE", + "value": 2, + "description": "Mouse button middle (pressed wheel)" + }, + { + "name": "MOUSE_BUTTON_SIDE", + "value": 3, + "description": "Mouse button side (advanced mouse device)" + }, + { + "name": "MOUSE_BUTTON_EXTRA", + "value": 4, + "description": "Mouse button extra (advanced mouse device)" + }, + { + "name": "MOUSE_BUTTON_FORWARD", + "value": 5, + "description": "Mouse button forward (advanced mouse device)" + }, + { + "name": "MOUSE_BUTTON_BACK", + "value": 6, + "description": "Mouse button back (advanced mouse device)" + } + ] + }, + { + "name": "MouseCursor", + "description": "Mouse cursor", + "values": [ + { + "name": "MOUSE_CURSOR_DEFAULT", + "value": 0, + "description": "Default pointer shape" + }, + { + "name": "MOUSE_CURSOR_ARROW", + "value": 1, + "description": "Arrow shape" + }, + { + "name": "MOUSE_CURSOR_IBEAM", + "value": 2, + "description": "Text writing cursor shape" + }, + { + "name": "MOUSE_CURSOR_CROSSHAIR", + "value": 3, + "description": "Cross shape" + }, + { + "name": "MOUSE_CURSOR_POINTING_HAND", + "value": 4, + "description": "Pointing hand cursor" + }, + { + "name": "MOUSE_CURSOR_RESIZE_EW", + "value": 5, + "description": "Horizontal resize/move arrow shape" + }, + { + "name": "MOUSE_CURSOR_RESIZE_NS", + "value": 6, + "description": "Vertical resize/move arrow shape" + }, + { + "name": "MOUSE_CURSOR_RESIZE_NWSE", + "value": 7, + "description": "Top-left to bottom-right diagonal resize/move arrow shape" + }, + { + "name": "MOUSE_CURSOR_RESIZE_NESW", + "value": 8, + "description": "The top-right to bottom-left diagonal resize/move arrow shape" + }, + { + "name": "MOUSE_CURSOR_RESIZE_ALL", + "value": 9, + "description": "The omnidirectional resize/move cursor shape" + }, + { + "name": "MOUSE_CURSOR_NOT_ALLOWED", + "value": 10, + "description": "The operation-not-allowed shape" + } + ] + }, + { + "name": "GamepadButton", + "description": "Gamepad buttons", + "values": [ + { + "name": "GAMEPAD_BUTTON_UNKNOWN", + "value": 0, + "description": "Unknown button, just for error checking" + }, + { + "name": "GAMEPAD_BUTTON_LEFT_FACE_UP", + "value": 1, + "description": "Gamepad left DPAD up button" + }, + { + "name": "GAMEPAD_BUTTON_LEFT_FACE_RIGHT", + "value": 2, + "description": "Gamepad left DPAD right button" + }, + { + "name": "GAMEPAD_BUTTON_LEFT_FACE_DOWN", + "value": 3, + "description": "Gamepad left DPAD down button" + }, + { + "name": "GAMEPAD_BUTTON_LEFT_FACE_LEFT", + "value": 4, + "description": "Gamepad left DPAD left button" + }, + { + "name": "GAMEPAD_BUTTON_RIGHT_FACE_UP", + "value": 5, + "description": "Gamepad right button up (i.e. PS3: Triangle, Xbox: Y)" + }, + { + "name": "GAMEPAD_BUTTON_RIGHT_FACE_RIGHT", + "value": 6, + "description": "Gamepad right button right (i.e. PS3: Square, Xbox: X)" + }, + { + "name": "GAMEPAD_BUTTON_RIGHT_FACE_DOWN", + "value": 7, + "description": "Gamepad right button down (i.e. PS3: Cross, Xbox: A)" + }, + { + "name": "GAMEPAD_BUTTON_RIGHT_FACE_LEFT", + "value": 8, + "description": "Gamepad right button left (i.e. PS3: Circle, Xbox: B)" + }, + { + "name": "GAMEPAD_BUTTON_LEFT_TRIGGER_1", + "value": 9, + "description": "Gamepad top/back trigger left (first), it could be a trailing button" + }, + { + "name": "GAMEPAD_BUTTON_LEFT_TRIGGER_2", + "value": 10, + "description": "Gamepad top/back trigger left (second), it could be a trailing button" + }, + { + "name": "GAMEPAD_BUTTON_RIGHT_TRIGGER_1", + "value": 11, + "description": "Gamepad top/back trigger right (one), it could be a trailing button" + }, + { + "name": "GAMEPAD_BUTTON_RIGHT_TRIGGER_2", + "value": 12, + "description": "Gamepad top/back trigger right (second), it could be a trailing button" + }, + { + "name": "GAMEPAD_BUTTON_MIDDLE_LEFT", + "value": 13, + "description": "Gamepad center buttons, left one (i.e. PS3: Select)" + }, + { + "name": "GAMEPAD_BUTTON_MIDDLE", + "value": 14, + "description": "Gamepad center buttons, middle one (i.e. PS3: PS, Xbox: XBOX)" + }, + { + "name": "GAMEPAD_BUTTON_MIDDLE_RIGHT", + "value": 15, + "description": "Gamepad center buttons, right one (i.e. PS3: Start)" + }, + { + "name": "GAMEPAD_BUTTON_LEFT_THUMB", + "value": 16, + "description": "Gamepad joystick pressed button left" + }, + { + "name": "GAMEPAD_BUTTON_RIGHT_THUMB", + "value": 17, + "description": "Gamepad joystick pressed button right" + } + ] + }, + { + "name": "GamepadAxis", + "description": "Gamepad axis", + "values": [ + { + "name": "GAMEPAD_AXIS_LEFT_X", + "value": 0, + "description": "Gamepad left stick X axis" + }, + { + "name": "GAMEPAD_AXIS_LEFT_Y", + "value": 1, + "description": "Gamepad left stick Y axis" + }, + { + "name": "GAMEPAD_AXIS_RIGHT_X", + "value": 2, + "description": "Gamepad right stick X axis" + }, + { + "name": "GAMEPAD_AXIS_RIGHT_Y", + "value": 3, + "description": "Gamepad right stick Y axis" + }, + { + "name": "GAMEPAD_AXIS_LEFT_TRIGGER", + "value": 4, + "description": "Gamepad back trigger left, pressure level: [1..-1]" + }, + { + "name": "GAMEPAD_AXIS_RIGHT_TRIGGER", + "value": 5, + "description": "Gamepad back trigger right, pressure level: [1..-1]" + } + ] + }, + { + "name": "MaterialMapIndex", + "description": "Material map index", + "values": [ + { + "name": "MATERIAL_MAP_ALBEDO", + "value": 0, + "description": "Albedo material (same as: MATERIAL_MAP_DIFFUSE)" + }, + { + "name": "MATERIAL_MAP_METALNESS", + "value": 1, + "description": "Metalness material (same as: MATERIAL_MAP_SPECULAR)" + }, + { + "name": "MATERIAL_MAP_NORMAL", + "value": 2, + "description": "Normal material" + }, + { + "name": "MATERIAL_MAP_ROUGHNESS", + "value": 3, + "description": "Roughness material" + }, + { + "name": "MATERIAL_MAP_OCCLUSION", + "value": 4, + "description": "Ambient occlusion material" + }, + { + "name": "MATERIAL_MAP_EMISSION", + "value": 5, + "description": "Emission material" + }, + { + "name": "MATERIAL_MAP_HEIGHT", + "value": 6, + "description": "Heightmap material" + }, + { + "name": "MATERIAL_MAP_CUBEMAP", + "value": 7, + "description": "Cubemap material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" + }, + { + "name": "MATERIAL_MAP_IRRADIANCE", + "value": 8, + "description": "Irradiance material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" + }, + { + "name": "MATERIAL_MAP_PREFILTER", + "value": 9, + "description": "Prefilter material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" + }, + { + "name": "MATERIAL_MAP_BRDF", + "value": 10, + "description": "Brdf material" + } + ] + }, + { + "name": "ShaderLocationIndex", + "description": "Shader location index", + "values": [ + { + "name": "SHADER_LOC_VERTEX_POSITION", + "value": 0, + "description": "Shader location: vertex attribute: position" + }, + { + "name": "SHADER_LOC_VERTEX_TEXCOORD01", + "value": 1, + "description": "Shader location: vertex attribute: texcoord01" + }, + { + "name": "SHADER_LOC_VERTEX_TEXCOORD02", + "value": 2, + "description": "Shader location: vertex attribute: texcoord02" + }, + { + "name": "SHADER_LOC_VERTEX_NORMAL", + "value": 3, + "description": "Shader location: vertex attribute: normal" + }, + { + "name": "SHADER_LOC_VERTEX_TANGENT", + "value": 4, + "description": "Shader location: vertex attribute: tangent" + }, + { + "name": "SHADER_LOC_VERTEX_COLOR", + "value": 5, + "description": "Shader location: vertex attribute: color" + }, + { + "name": "SHADER_LOC_MATRIX_MVP", + "value": 6, + "description": "Shader location: matrix uniform: model-view-projection" + }, + { + "name": "SHADER_LOC_MATRIX_VIEW", + "value": 7, + "description": "Shader location: matrix uniform: view (camera transform)" + }, + { + "name": "SHADER_LOC_MATRIX_PROJECTION", + "value": 8, + "description": "Shader location: matrix uniform: projection" + }, + { + "name": "SHADER_LOC_MATRIX_MODEL", + "value": 9, + "description": "Shader location: matrix uniform: model (transform)" + }, + { + "name": "SHADER_LOC_MATRIX_NORMAL", + "value": 10, + "description": "Shader location: matrix uniform: normal" + }, + { + "name": "SHADER_LOC_VECTOR_VIEW", + "value": 11, + "description": "Shader location: vector uniform: view" + }, + { + "name": "SHADER_LOC_COLOR_DIFFUSE", + "value": 12, + "description": "Shader location: vector uniform: diffuse color" + }, + { + "name": "SHADER_LOC_COLOR_SPECULAR", + "value": 13, + "description": "Shader location: vector uniform: specular color" + }, + { + "name": "SHADER_LOC_COLOR_AMBIENT", + "value": 14, + "description": "Shader location: vector uniform: ambient color" + }, + { + "name": "SHADER_LOC_MAP_ALBEDO", + "value": 15, + "description": "Shader location: sampler2d texture: albedo (same as: SHADER_LOC_MAP_DIFFUSE)" + }, + { + "name": "SHADER_LOC_MAP_METALNESS", + "value": 16, + "description": "Shader location: sampler2d texture: metalness (same as: SHADER_LOC_MAP_SPECULAR)" + }, + { + "name": "SHADER_LOC_MAP_NORMAL", + "value": 17, + "description": "Shader location: sampler2d texture: normal" + }, + { + "name": "SHADER_LOC_MAP_ROUGHNESS", + "value": 18, + "description": "Shader location: sampler2d texture: roughness" + }, + { + "name": "SHADER_LOC_MAP_OCCLUSION", + "value": 19, + "description": "Shader location: sampler2d texture: occlusion" + }, + { + "name": "SHADER_LOC_MAP_EMISSION", + "value": 20, + "description": "Shader location: sampler2d texture: emission" + }, + { + "name": "SHADER_LOC_MAP_HEIGHT", + "value": 21, + "description": "Shader location: sampler2d texture: height" + }, + { + "name": "SHADER_LOC_MAP_CUBEMAP", + "value": 22, + "description": "Shader location: samplerCube texture: cubemap" + }, + { + "name": "SHADER_LOC_MAP_IRRADIANCE", + "value": 23, + "description": "Shader location: samplerCube texture: irradiance" + }, + { + "name": "SHADER_LOC_MAP_PREFILTER", + "value": 24, + "description": "Shader location: samplerCube texture: prefilter" + }, + { + "name": "SHADER_LOC_MAP_BRDF", + "value": 25, + "description": "Shader location: sampler2d texture: brdf" + } + ] + }, + { + "name": "ShaderUniformDataType", + "description": "Shader uniform data type", + "values": [ + { + "name": "SHADER_UNIFORM_FLOAT", + "value": 0, + "description": "Shader uniform type: float" + }, + { + "name": "SHADER_UNIFORM_VEC2", + "value": 1, + "description": "Shader uniform type: vec2 (2 float)" + }, + { + "name": "SHADER_UNIFORM_VEC3", + "value": 2, + "description": "Shader uniform type: vec3 (3 float)" + }, + { + "name": "SHADER_UNIFORM_VEC4", + "value": 3, + "description": "Shader uniform type: vec4 (4 float)" + }, + { + "name": "SHADER_UNIFORM_INT", + "value": 4, + "description": "Shader uniform type: int" + }, + { + "name": "SHADER_UNIFORM_IVEC2", + "value": 5, + "description": "Shader uniform type: ivec2 (2 int)" + }, + { + "name": "SHADER_UNIFORM_IVEC3", + "value": 6, + "description": "Shader uniform type: ivec3 (3 int)" + }, + { + "name": "SHADER_UNIFORM_IVEC4", + "value": 7, + "description": "Shader uniform type: ivec4 (4 int)" + }, + { + "name": "SHADER_UNIFORM_SAMPLER2D", + "value": 8, + "description": "Shader uniform type: sampler2d" + } + ] + }, + { + "name": "ShaderAttributeDataType", + "description": "Shader attribute data types", + "values": [ + { + "name": "SHADER_ATTRIB_FLOAT", + "value": 0, + "description": "Shader attribute type: float" + }, + { + "name": "SHADER_ATTRIB_VEC2", + "value": 1, + "description": "Shader attribute type: vec2 (2 float)" + }, + { + "name": "SHADER_ATTRIB_VEC3", + "value": 2, + "description": "Shader attribute type: vec3 (3 float)" + }, + { + "name": "SHADER_ATTRIB_VEC4", + "value": 3, + "description": "Shader attribute type: vec4 (4 float)" + } + ] + }, + { + "name": "PixelFormat", + "description": "Pixel formats", + "values": [ + { + "name": "PIXELFORMAT_UNCOMPRESSED_GRAYSCALE", + "value": 1, + "description": "8 bit per pixel (no alpha)" + }, + { + "name": "PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA", + "value": 2, + "description": "8*2 bpp (2 channels)" + }, + { + "name": "PIXELFORMAT_UNCOMPRESSED_R5G6B5", + "value": 3, + "description": "16 bpp" + }, + { + "name": "PIXELFORMAT_UNCOMPRESSED_R8G8B8", + "value": 4, + "description": "24 bpp" + }, + { + "name": "PIXELFORMAT_UNCOMPRESSED_R5G5B5A1", + "value": 5, + "description": "16 bpp (1 bit alpha)" + }, + { + "name": "PIXELFORMAT_UNCOMPRESSED_R4G4B4A4", + "value": 6, + "description": "16 bpp (4 bit alpha)" + }, + { + "name": "PIXELFORMAT_UNCOMPRESSED_R8G8B8A8", + "value": 7, + "description": "32 bpp" + }, + { + "name": "PIXELFORMAT_UNCOMPRESSED_R32", + "value": 8, + "description": "32 bpp (1 channel - float)" + }, + { + "name": "PIXELFORMAT_UNCOMPRESSED_R32G32B32", + "value": 9, + "description": "32*3 bpp (3 channels - float)" + }, + { + "name": "PIXELFORMAT_UNCOMPRESSED_R32G32B32A32", + "value": 10, + "description": "32*4 bpp (4 channels - float)" + }, + { + "name": "PIXELFORMAT_COMPRESSED_DXT1_RGB", + "value": 11, + "description": "4 bpp (no alpha)" + }, + { + "name": "PIXELFORMAT_COMPRESSED_DXT1_RGBA", + "value": 12, + "description": "4 bpp (1 bit alpha)" + }, + { + "name": "PIXELFORMAT_COMPRESSED_DXT3_RGBA", + "value": 13, + "description": "8 bpp" + }, + { + "name": "PIXELFORMAT_COMPRESSED_DXT5_RGBA", + "value": 14, + "description": "8 bpp" + }, + { + "name": "PIXELFORMAT_COMPRESSED_ETC1_RGB", + "value": 15, + "description": "4 bpp" + }, + { + "name": "PIXELFORMAT_COMPRESSED_ETC2_RGB", + "value": 16, + "description": "4 bpp" + }, + { + "name": "PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA", + "value": 17, + "description": "8 bpp" + }, + { + "name": "PIXELFORMAT_COMPRESSED_PVRT_RGB", + "value": 18, + "description": "4 bpp" + }, + { + "name": "PIXELFORMAT_COMPRESSED_PVRT_RGBA", + "value": 19, + "description": "4 bpp" + }, + { + "name": "PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA", + "value": 20, + "description": "8 bpp" + }, + { + "name": "PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA", + "value": 21, + "description": "2 bpp" + } + ] + }, + { + "name": "TextureFilter", + "description": "Texture parameters: filter mode", + "values": [ + { + "name": "TEXTURE_FILTER_POINT", + "value": 0, + "description": "No filter, just pixel approximation" + }, + { + "name": "TEXTURE_FILTER_BILINEAR", + "value": 1, + "description": "Linear filtering" + }, + { + "name": "TEXTURE_FILTER_TRILINEAR", + "value": 2, + "description": "Trilinear filtering (linear with mipmaps)" + }, + { + "name": "TEXTURE_FILTER_ANISOTROPIC_4X", + "value": 3, + "description": "Anisotropic filtering 4x" + }, + { + "name": "TEXTURE_FILTER_ANISOTROPIC_8X", + "value": 4, + "description": "Anisotropic filtering 8x" + }, + { + "name": "TEXTURE_FILTER_ANISOTROPIC_16X", + "value": 5, + "description": "Anisotropic filtering 16x" + } + ] + }, + { + "name": "TextureWrap", + "description": "Texture parameters: wrap mode", + "values": [ + { + "name": "TEXTURE_WRAP_REPEAT", + "value": 0, + "description": "Repeats texture in tiled mode" + }, + { + "name": "TEXTURE_WRAP_CLAMP", + "value": 1, + "description": "Clamps texture to edge pixel in tiled mode" + }, + { + "name": "TEXTURE_WRAP_MIRROR_REPEAT", + "value": 2, + "description": "Mirrors and repeats the texture in tiled mode" + }, + { + "name": "TEXTURE_WRAP_MIRROR_CLAMP", + "value": 3, + "description": "Mirrors and clamps to border the texture in tiled mode" + } + ] + }, + { + "name": "CubemapLayout", + "description": "Cubemap layouts", + "values": [ + { + "name": "CUBEMAP_LAYOUT_AUTO_DETECT", + "value": 0, + "description": "Automatically detect layout type" + }, + { + "name": "CUBEMAP_LAYOUT_LINE_VERTICAL", + "value": 1, + "description": "Layout is defined by a vertical line with faces" + }, + { + "name": "CUBEMAP_LAYOUT_LINE_HORIZONTAL", + "value": 2, + "description": "Layout is defined by a horizontal line with faces" + }, + { + "name": "CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR", + "value": 3, + "description": "Layout is defined by a 3x4 cross with cubemap faces" + }, + { + "name": "CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE", + "value": 4, + "description": "Layout is defined by a 4x3 cross with cubemap faces" + }, + { + "name": "CUBEMAP_LAYOUT_PANORAMA", + "value": 5, + "description": "Layout is defined by a panorama image (equirrectangular map)" + } + ] + }, + { + "name": "FontType", + "description": "Font type, defines generation method", + "values": [ + { + "name": "FONT_DEFAULT", + "value": 0, + "description": "Default font generation, anti-aliased" + }, + { + "name": "FONT_BITMAP", + "value": 1, + "description": "Bitmap font generation, no anti-aliasing" + }, + { + "name": "FONT_SDF", + "value": 2, + "description": "SDF font generation, requires external shader" + } + ] + }, + { + "name": "BlendMode", + "description": "Color blending modes (pre-defined)", + "values": [ + { + "name": "BLEND_ALPHA", + "value": 0, + "description": "Blend textures considering alpha (default)" + }, + { + "name": "BLEND_ADDITIVE", + "value": 1, + "description": "Blend textures adding colors" + }, + { + "name": "BLEND_MULTIPLIED", + "value": 2, + "description": "Blend textures multiplying colors" + }, + { + "name": "BLEND_ADD_COLORS", + "value": 3, + "description": "Blend textures adding colors (alternative)" + }, + { + "name": "BLEND_SUBTRACT_COLORS", + "value": 4, + "description": "Blend textures subtracting colors (alternative)" + }, + { + "name": "BLEND_ALPHA_PREMULTIPLY", + "value": 5, + "description": "Blend premultiplied textures considering alpha" + }, + { + "name": "BLEND_CUSTOM", + "value": 6, + "description": "Blend textures using custom src/dst factors (use rlSetBlendFactors())" + }, + { + "name": "BLEND_CUSTOM_SEPARATE", + "value": 7, + "description": "Blend textures using custom rgb/alpha separate src/dst factors (use rlSetBlendFactorsSeparate())" + } + ] + }, + { + "name": "Gesture", + "description": "Gesture", + "values": [ + { + "name": "GESTURE_NONE", + "value": 0, + "description": "No gesture" + }, + { + "name": "GESTURE_TAP", + "value": 1, + "description": "Tap gesture" + }, + { + "name": "GESTURE_DOUBLETAP", + "value": 2, + "description": "Double tap gesture" + }, + { + "name": "GESTURE_HOLD", + "value": 4, + "description": "Hold gesture" + }, + { + "name": "GESTURE_DRAG", + "value": 8, + "description": "Drag gesture" + }, + { + "name": "GESTURE_SWIPE_RIGHT", + "value": 16, + "description": "Swipe right gesture" + }, + { + "name": "GESTURE_SWIPE_LEFT", + "value": 32, + "description": "Swipe left gesture" + }, + { + "name": "GESTURE_SWIPE_UP", + "value": 64, + "description": "Swipe up gesture" + }, + { + "name": "GESTURE_SWIPE_DOWN", + "value": 128, + "description": "Swipe down gesture" + }, + { + "name": "GESTURE_PINCH_IN", + "value": 256, + "description": "Pinch in gesture" + }, + { + "name": "GESTURE_PINCH_OUT", + "value": 512, + "description": "Pinch out gesture" + } + ] + }, + { + "name": "CameraMode", + "description": "Camera system modes", + "values": [ + { + "name": "CAMERA_CUSTOM", + "value": 0, + "description": "Custom camera" + }, + { + "name": "CAMERA_FREE", + "value": 1, + "description": "Free camera" + }, + { + "name": "CAMERA_ORBITAL", + "value": 2, + "description": "Orbital camera" + }, + { + "name": "CAMERA_FIRST_PERSON", + "value": 3, + "description": "First person camera" + }, + { + "name": "CAMERA_THIRD_PERSON", + "value": 4, + "description": "Third person camera" + } + ] + }, + { + "name": "CameraProjection", + "description": "Camera projection", + "values": [ + { + "name": "CAMERA_PERSPECTIVE", + "value": 0, + "description": "Perspective projection" + }, + { + "name": "CAMERA_ORTHOGRAPHIC", + "value": 1, + "description": "Orthographic projection" + } + ] + }, + { + "name": "NPatchLayout", + "description": "N-patch layout", + "values": [ + { + "name": "NPATCH_NINE_PATCH", + "value": 0, + "description": "Npatch layout: 3x3 tiles" + }, + { + "name": "NPATCH_THREE_PATCH_VERTICAL", + "value": 1, + "description": "Npatch layout: 1x3 tiles" + }, + { + "name": "NPATCH_THREE_PATCH_HORIZONTAL", + "value": 2, + "description": "Npatch layout: 3x1 tiles" + } + ] + } + ], + "callbacks": [ + { + "name": "TraceLogCallback", + "description": "Logging: Redirect trace log messages", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "logLevel" + }, + { + "type": "const char *", + "name": "text" + }, + { + "type": "va_list", + "name": "args" + } + ] + }, + { + "name": "LoadFileDataCallback", + "description": "FileIO: Load binary data", + "returnType": "unsigned char *", + "params": [ + { + "type": "const char *", + "name": "fileName" + }, + { + "type": "unsigned int *", + "name": "bytesRead" + } + ] + }, + { + "name": "SaveFileDataCallback", + "description": "FileIO: Save binary data", + "returnType": "bool", + "params": [ + { + "type": "const char *", + "name": "fileName" + }, + { + "type": "void *", + "name": "data" + }, + { + "type": "unsigned int", + "name": "bytesToWrite" + } + ] + }, + { + "name": "LoadFileTextCallback", + "description": "FileIO: Load text data", + "returnType": "char *", + "params": [ + { + "type": "const char *", + "name": "fileName" + } + ] + }, + { + "name": "SaveFileTextCallback", + "description": "FileIO: Save text data", + "returnType": "bool", + "params": [ + { + "type": "const char *", + "name": "fileName" + }, + { + "type": "char *", + "name": "text" + } + ] + }, + { + "name": "AudioCallback", + "description": "", + "returnType": "void", + "params": [ + { + "type": "void *", + "name": "bufferData" + }, + { + "type": "unsigned int", + "name": "frames" + } + ] + } + ], + "functions": [ + { + "name": "InitWindow", + "description": "Initialize window and OpenGL context", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + }, + { + "type": "const char *", + "name": "title" + } + ] + }, + { + "name": "WindowShouldClose", + "description": "Check if KEY_ESCAPE pressed or Close icon pressed", + "returnType": "bool" + }, + { + "name": "CloseWindow", + "description": "Close window and unload OpenGL context", + "returnType": "void" + }, + { + "name": "IsWindowReady", + "description": "Check if window has been initialized successfully", + "returnType": "bool" + }, + { + "name": "IsWindowFullscreen", + "description": "Check if window is currently fullscreen", + "returnType": "bool" + }, + { + "name": "IsWindowHidden", + "description": "Check if window is currently hidden (only PLATFORM_DESKTOP)", + "returnType": "bool" + }, + { + "name": "IsWindowMinimized", + "description": "Check if window is currently minimized (only PLATFORM_DESKTOP)", + "returnType": "bool" + }, + { + "name": "IsWindowMaximized", + "description": "Check if window is currently maximized (only PLATFORM_DESKTOP)", + "returnType": "bool" + }, + { + "name": "IsWindowFocused", + "description": "Check if window is currently focused (only PLATFORM_DESKTOP)", + "returnType": "bool" + }, + { + "name": "IsWindowResized", + "description": "Check if window has been resized last frame", + "returnType": "bool" + }, + { + "name": "IsWindowState", + "description": "Check if one specific window flag is enabled", + "returnType": "bool", + "params": [ + { + "type": "unsigned int", + "name": "flag" + } + ] + }, + { + "name": "SetWindowState", + "description": "Set window configuration state using flags (only PLATFORM_DESKTOP)", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "flags" + } + ] + }, + { + "name": "ClearWindowState", + "description": "Clear window configuration state flags", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "flags" + } + ] + }, + { + "name": "ToggleFullscreen", + "description": "Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP)", + "returnType": "void" + }, + { + "name": "MaximizeWindow", + "description": "Set window state: maximized, if resizable (only PLATFORM_DESKTOP)", + "returnType": "void" + }, + { + "name": "MinimizeWindow", + "description": "Set window state: minimized, if resizable (only PLATFORM_DESKTOP)", + "returnType": "void" + }, + { + "name": "RestoreWindow", + "description": "Set window state: not minimized/maximized (only PLATFORM_DESKTOP)", + "returnType": "void" + }, + { + "name": "SetWindowIcon", + "description": "Set icon for window (single image, RGBA 32bit, only PLATFORM_DESKTOP)", + "returnType": "void", + "params": [ + { + "type": "Image", + "name": "image" + } + ] + }, + { + "name": "SetWindowIcons", + "description": "Set icon for window (multiple images, RGBA 32bit, only PLATFORM_DESKTOP)", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "images" + }, + { + "type": "int", + "name": "count" + } + ] + }, + { + "name": "SetWindowTitle", + "description": "Set title for window (only PLATFORM_DESKTOP)", + "returnType": "void", + "params": [ + { + "type": "const char *", + "name": "title" + } + ] + }, + { + "name": "SetWindowPosition", + "description": "Set window position on screen (only PLATFORM_DESKTOP)", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "x" + }, + { + "type": "int", + "name": "y" + } + ] + }, + { + "name": "SetWindowMonitor", + "description": "Set monitor for the current window (fullscreen mode)", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "monitor" + } + ] + }, + { + "name": "SetWindowMinSize", + "description": "Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE)", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + } + ] + }, + { + "name": "SetWindowSize", + "description": "Set window dimensions", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + } + ] + }, + { + "name": "SetWindowOpacity", + "description": "Set window opacity [0.0f..1.0f] (only PLATFORM_DESKTOP)", + "returnType": "void", + "params": [ + { + "type": "float", + "name": "opacity" + } + ] + }, + { + "name": "GetWindowHandle", + "description": "Get native window handle", + "returnType": "void *" + }, + { + "name": "GetScreenWidth", + "description": "Get current screen width", + "returnType": "int" + }, + { + "name": "GetScreenHeight", + "description": "Get current screen height", + "returnType": "int" + }, + { + "name": "GetRenderWidth", + "description": "Get current render width (it considers HiDPI)", + "returnType": "int" + }, + { + "name": "GetRenderHeight", + "description": "Get current render height (it considers HiDPI)", + "returnType": "int" + }, + { + "name": "GetMonitorCount", + "description": "Get number of connected monitors", + "returnType": "int" + }, + { + "name": "GetCurrentMonitor", + "description": "Get current connected monitor", + "returnType": "int" + }, + { + "name": "GetMonitorPosition", + "description": "Get specified monitor position", + "returnType": "Vector2", + "params": [ + { + "type": "int", + "name": "monitor" + } + ] + }, + { + "name": "GetMonitorWidth", + "description": "Get specified monitor width (current video mode used by monitor)", + "returnType": "int", + "params": [ + { + "type": "int", + "name": "monitor" + } + ] + }, + { + "name": "GetMonitorHeight", + "description": "Get specified monitor height (current video mode used by monitor)", + "returnType": "int", + "params": [ + { + "type": "int", + "name": "monitor" + } + ] + }, + { + "name": "GetMonitorPhysicalWidth", + "description": "Get specified monitor physical width in millimetres", + "returnType": "int", + "params": [ + { + "type": "int", + "name": "monitor" + } + ] + }, + { + "name": "GetMonitorPhysicalHeight", + "description": "Get specified monitor physical height in millimetres", + "returnType": "int", + "params": [ + { + "type": "int", + "name": "monitor" + } + ] + }, + { + "name": "GetMonitorRefreshRate", + "description": "Get specified monitor refresh rate", + "returnType": "int", + "params": [ + { + "type": "int", + "name": "monitor" + } + ] + }, + { + "name": "GetWindowPosition", + "description": "Get window position XY on monitor", + "returnType": "Vector2" + }, + { + "name": "GetWindowScaleDPI", + "description": "Get window scale DPI factor", + "returnType": "Vector2" + }, + { + "name": "GetMonitorName", + "description": "Get the human-readable, UTF-8 encoded name of the primary monitor", + "returnType": "const char *", + "params": [ + { + "type": "int", + "name": "monitor" + } + ] + }, + { + "name": "SetClipboardText", + "description": "Set clipboard text content", + "returnType": "void", + "params": [ + { + "type": "const char *", + "name": "text" + } + ] + }, + { + "name": "GetClipboardText", + "description": "Get clipboard text content", + "returnType": "const char *" + }, + { + "name": "EnableEventWaiting", + "description": "Enable waiting for events on EndDrawing(), no automatic event polling", + "returnType": "void" + }, + { + "name": "DisableEventWaiting", + "description": "Disable waiting for events on EndDrawing(), automatic events polling", + "returnType": "void" + }, + { + "name": "SwapScreenBuffer", + "description": "Swap back buffer with front buffer (screen drawing)", + "returnType": "void" + }, + { + "name": "PollInputEvents", + "description": "Register all input events", + "returnType": "void" + }, + { + "name": "WaitTime", + "description": "Wait for some time (halt program execution)", + "returnType": "void", + "params": [ + { + "type": "double", + "name": "seconds" + } + ] + }, + { + "name": "ShowCursor", + "description": "Shows cursor", + "returnType": "void" + }, + { + "name": "HideCursor", + "description": "Hides cursor", + "returnType": "void" + }, + { + "name": "IsCursorHidden", + "description": "Check if cursor is not visible", + "returnType": "bool" + }, + { + "name": "EnableCursor", + "description": "Enables cursor (unlock cursor)", + "returnType": "void" + }, + { + "name": "DisableCursor", + "description": "Disables cursor (lock cursor)", + "returnType": "void" + }, + { + "name": "IsCursorOnScreen", + "description": "Check if cursor is on the screen", + "returnType": "bool" + }, + { + "name": "ClearBackground", + "description": "Set background color (framebuffer clear color)", + "returnType": "void", + "params": [ + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "BeginDrawing", + "description": "Setup canvas (framebuffer) to start drawing", + "returnType": "void" + }, + { + "name": "EndDrawing", + "description": "End canvas drawing and swap buffers (double buffering)", + "returnType": "void" + }, + { + "name": "BeginMode2D", + "description": "Begin 2D mode with custom camera (2D)", + "returnType": "void", + "params": [ + { + "type": "Camera2D", + "name": "camera" + } + ] + }, + { + "name": "EndMode2D", + "description": "Ends 2D mode with custom camera", + "returnType": "void" + }, + { + "name": "BeginMode3D", + "description": "Begin 3D mode with custom camera (3D)", + "returnType": "void", + "params": [ + { + "type": "Camera3D", + "name": "camera" + } + ] + }, + { + "name": "EndMode3D", + "description": "Ends 3D mode and returns to default 2D orthographic mode", + "returnType": "void" + }, + { + "name": "BeginTextureMode", + "description": "Begin drawing to render texture", + "returnType": "void", + "params": [ + { + "type": "RenderTexture2D", + "name": "target" + } + ] + }, + { + "name": "EndTextureMode", + "description": "Ends drawing to render texture", + "returnType": "void" + }, + { + "name": "BeginShaderMode", + "description": "Begin custom shader drawing", + "returnType": "void", + "params": [ + { + "type": "Shader", + "name": "shader" + } + ] + }, + { + "name": "EndShaderMode", + "description": "End custom shader drawing (use default shader)", + "returnType": "void" + }, + { + "name": "BeginBlendMode", + "description": "Begin blending mode (alpha, additive, multiplied, subtract, custom)", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "mode" + } + ] + }, + { + "name": "EndBlendMode", + "description": "End blending mode (reset to default: alpha blending)", + "returnType": "void" + }, + { + "name": "BeginScissorMode", + "description": "Begin scissor mode (define screen area for following drawing)", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "x" + }, + { + "type": "int", + "name": "y" + }, + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + } + ] + }, + { + "name": "EndScissorMode", + "description": "End scissor mode", + "returnType": "void" + }, + { + "name": "BeginVrStereoMode", + "description": "Begin stereo rendering (requires VR simulator)", + "returnType": "void", + "params": [ + { + "type": "VrStereoConfig", + "name": "config" + } + ] + }, + { + "name": "EndVrStereoMode", + "description": "End stereo rendering (requires VR simulator)", + "returnType": "void" + }, + { + "name": "LoadVrStereoConfig", + "description": "Load VR stereo config for VR simulator device parameters", + "returnType": "VrStereoConfig", + "params": [ + { + "type": "VrDeviceInfo", + "name": "device" + } + ] + }, + { + "name": "UnloadVrStereoConfig", + "description": "Unload VR stereo config", + "returnType": "void", + "params": [ + { + "type": "VrStereoConfig", + "name": "config" + } + ] + }, + { + "name": "LoadShader", + "description": "Load shader from files and bind default locations", + "returnType": "Shader", + "params": [ + { + "type": "const char *", + "name": "vsFileName" + }, + { + "type": "const char *", + "name": "fsFileName" + } + ] + }, + { + "name": "LoadShaderFromMemory", + "description": "Load shader from code strings and bind default locations", + "returnType": "Shader", + "params": [ + { + "type": "const char *", + "name": "vsCode" + }, + { + "type": "const char *", + "name": "fsCode" + } + ] + }, + { + "name": "IsShaderReady", + "description": "Check if a shader is ready", + "returnType": "bool", + "params": [ + { + "type": "Shader", + "name": "shader" + } + ] + }, + { + "name": "GetShaderLocation", + "description": "Get shader uniform location", + "returnType": "int", + "params": [ + { + "type": "Shader", + "name": "shader" + }, + { + "type": "const char *", + "name": "uniformName" + } + ] + }, + { + "name": "GetShaderLocationAttrib", + "description": "Get shader attribute location", + "returnType": "int", + "params": [ + { + "type": "Shader", + "name": "shader" + }, + { + "type": "const char *", + "name": "attribName" + } + ] + }, + { + "name": "SetShaderValue", + "description": "Set shader uniform value", + "returnType": "void", + "params": [ + { + "type": "Shader", + "name": "shader" + }, + { + "type": "int", + "name": "locIndex" + }, + { + "type": "const void *", + "name": "value" + }, + { + "type": "int", + "name": "uniformType" + } + ] + }, + { + "name": "SetShaderValueV", + "description": "Set shader uniform value vector", + "returnType": "void", + "params": [ + { + "type": "Shader", + "name": "shader" + }, + { + "type": "int", + "name": "locIndex" + }, + { + "type": "const void *", + "name": "value" + }, + { + "type": "int", + "name": "uniformType" + }, + { + "type": "int", + "name": "count" + } + ] + }, + { + "name": "SetShaderValueMatrix", + "description": "Set shader uniform value (matrix 4x4)", + "returnType": "void", + "params": [ + { + "type": "Shader", + "name": "shader" + }, + { + "type": "int", + "name": "locIndex" + }, + { + "type": "Matrix", + "name": "mat" + } + ] + }, + { + "name": "SetShaderValueTexture", + "description": "Set shader uniform value for texture (sampler2d)", + "returnType": "void", + "params": [ + { + "type": "Shader", + "name": "shader" + }, + { + "type": "int", + "name": "locIndex" + }, + { + "type": "Texture2D", + "name": "texture" + } + ] + }, + { + "name": "UnloadShader", + "description": "Unload shader from GPU memory (VRAM)", + "returnType": "void", + "params": [ + { + "type": "Shader", + "name": "shader" + } + ] + }, + { + "name": "GetMouseRay", + "description": "Get a ray trace from mouse position", + "returnType": "Ray", + "params": [ + { + "type": "Vector2", + "name": "mousePosition" + }, + { + "type": "Camera", + "name": "camera" + } + ] + }, + { + "name": "GetCameraMatrix", + "description": "Get camera transform matrix (view matrix)", + "returnType": "Matrix", + "params": [ + { + "type": "Camera", + "name": "camera" + } + ] + }, + { + "name": "GetCameraMatrix2D", + "description": "Get camera 2d transform matrix", + "returnType": "Matrix", + "params": [ + { + "type": "Camera2D", + "name": "camera" + } + ] + }, + { + "name": "GetWorldToScreen", + "description": "Get the screen space position for a 3d world space position", + "returnType": "Vector2", + "params": [ + { + "type": "Vector3", + "name": "position" + }, + { + "type": "Camera", + "name": "camera" + } + ] + }, + { + "name": "GetScreenToWorld2D", + "description": "Get the world space position for a 2d camera screen space position", + "returnType": "Vector2", + "params": [ + { + "type": "Vector2", + "name": "position" + }, + { + "type": "Camera2D", + "name": "camera" + } + ] + }, + { + "name": "GetWorldToScreenEx", + "description": "Get size position for a 3d world space position", + "returnType": "Vector2", + "params": [ + { + "type": "Vector3", + "name": "position" + }, + { + "type": "Camera", + "name": "camera" + }, + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + } + ] + }, + { + "name": "GetWorldToScreen2D", + "description": "Get the screen space position for a 2d camera world space position", + "returnType": "Vector2", + "params": [ + { + "type": "Vector2", + "name": "position" + }, + { + "type": "Camera2D", + "name": "camera" + } + ] + }, + { + "name": "SetTargetFPS", + "description": "Set target FPS (maximum)", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "fps" + } + ] + }, + { + "name": "GetFPS", + "description": "Get current FPS", + "returnType": "int" + }, + { + "name": "GetFrameTime", + "description": "Get time in seconds for last frame drawn (delta time)", + "returnType": "float" + }, + { + "name": "GetTime", + "description": "Get elapsed time in seconds since InitWindow()", + "returnType": "double" + }, + { + "name": "GetRandomValue", + "description": "Get a random value between min and max (both included)", + "returnType": "int", + "params": [ + { + "type": "int", + "name": "min" + }, + { + "type": "int", + "name": "max" + } + ] + }, + { + "name": "SetRandomSeed", + "description": "Set the seed for the random number generator", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "seed" + } + ] + }, + { + "name": "TakeScreenshot", + "description": "Takes a screenshot of current screen (filename extension defines format)", + "returnType": "void", + "params": [ + { + "type": "const char *", + "name": "fileName" + } + ] + }, + { + "name": "SetConfigFlags", + "description": "Setup init configuration flags (view FLAGS)", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "flags" + } + ] + }, + { + "name": "TraceLog", + "description": "Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...)", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "logLevel" + }, + { + "type": "const char *", + "name": "text" + }, + { + "type": "...", + "name": "args" + } + ] + }, + { + "name": "SetTraceLogLevel", + "description": "Set the current threshold (minimum) log level", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "logLevel" + } + ] + }, + { + "name": "MemAlloc", + "description": "Internal memory allocator", + "returnType": "void *", + "params": [ + { + "type": "unsigned int", + "name": "size" + } + ] + }, + { + "name": "MemRealloc", + "description": "Internal memory reallocator", + "returnType": "void *", + "params": [ + { + "type": "void *", + "name": "ptr" + }, + { + "type": "unsigned int", + "name": "size" + } + ] + }, + { + "name": "MemFree", + "description": "Internal memory free", + "returnType": "void", + "params": [ + { + "type": "void *", + "name": "ptr" + } + ] + }, + { + "name": "OpenURL", + "description": "Open URL with default system browser (if available)", + "returnType": "void", + "params": [ + { + "type": "const char *", + "name": "url" + } + ] + }, + { + "name": "SetTraceLogCallback", + "description": "Set custom trace log", + "returnType": "void", + "params": [ + { + "type": "TraceLogCallback", + "name": "callback" + } + ] + }, + { + "name": "SetLoadFileDataCallback", + "description": "Set custom file binary data loader", + "returnType": "void", + "params": [ + { + "type": "LoadFileDataCallback", + "name": "callback" + } + ] + }, + { + "name": "SetSaveFileDataCallback", + "description": "Set custom file binary data saver", + "returnType": "void", + "params": [ + { + "type": "SaveFileDataCallback", + "name": "callback" + } + ] + }, + { + "name": "SetLoadFileTextCallback", + "description": "Set custom file text data loader", + "returnType": "void", + "params": [ + { + "type": "LoadFileTextCallback", + "name": "callback" + } + ] + }, + { + "name": "SetSaveFileTextCallback", + "description": "Set custom file text data saver", + "returnType": "void", + "params": [ + { + "type": "SaveFileTextCallback", + "name": "callback" + } + ] + }, + { + "name": "LoadFileData", + "description": "Load file data as byte array (read)", + "returnType": "unsigned char *", + "params": [ + { + "type": "const char *", + "name": "fileName" + }, + { + "type": "unsigned int *", + "name": "bytesRead" + } + ] + }, + { + "name": "UnloadFileData", + "description": "Unload file data allocated by LoadFileData()", + "returnType": "void", + "params": [ + { + "type": "unsigned char *", + "name": "data" + } + ] + }, + { + "name": "SaveFileData", + "description": "Save data to file from byte array (write), returns true on success", + "returnType": "bool", + "params": [ + { + "type": "const char *", + "name": "fileName" + }, + { + "type": "void *", + "name": "data" + }, + { + "type": "unsigned int", + "name": "bytesToWrite" + } + ] + }, + { + "name": "ExportDataAsCode", + "description": "Export data to code (.h), returns true on success", + "returnType": "bool", + "params": [ + { + "type": "const unsigned char *", + "name": "data" + }, + { + "type": "unsigned int", + "name": "size" + }, + { + "type": "const char *", + "name": "fileName" + } + ] + }, + { + "name": "LoadFileText", + "description": "Load text data from file (read), returns a '\\0' terminated string", + "returnType": "char *", + "params": [ + { + "type": "const char *", + "name": "fileName" + } + ] + }, + { + "name": "UnloadFileText", + "description": "Unload file text data allocated by LoadFileText()", + "returnType": "void", + "params": [ + { + "type": "char *", + "name": "text" + } + ] + }, + { + "name": "SaveFileText", + "description": "Save text data to file (write), string must be '\\0' terminated, returns true on success", + "returnType": "bool", + "params": [ + { + "type": "const char *", + "name": "fileName" + }, + { + "type": "char *", + "name": "text" + } + ] + }, + { + "name": "FileExists", + "description": "Check if file exists", + "returnType": "bool", + "params": [ + { + "type": "const char *", + "name": "fileName" + } + ] + }, + { + "name": "DirectoryExists", + "description": "Check if a directory path exists", + "returnType": "bool", + "params": [ + { + "type": "const char *", + "name": "dirPath" + } + ] + }, + { + "name": "IsFileExtension", + "description": "Check file extension (including point: .png, .wav)", + "returnType": "bool", + "params": [ + { + "type": "const char *", + "name": "fileName" + }, + { + "type": "const char *", + "name": "ext" + } + ] + }, + { + "name": "GetFileLength", + "description": "Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h)", + "returnType": "int", + "params": [ + { + "type": "const char *", + "name": "fileName" + } + ] + }, + { + "name": "GetFileExtension", + "description": "Get pointer to extension for a filename string (includes dot: '.png')", + "returnType": "const char *", + "params": [ + { + "type": "const char *", + "name": "fileName" + } + ] + }, + { + "name": "GetFileName", + "description": "Get pointer to filename for a path string", + "returnType": "const char *", + "params": [ + { + "type": "const char *", + "name": "filePath" + } + ] + }, + { + "name": "GetFileNameWithoutExt", + "description": "Get filename string without extension (uses static string)", + "returnType": "const char *", + "params": [ + { + "type": "const char *", + "name": "filePath" + } + ] + }, + { + "name": "GetDirectoryPath", + "description": "Get full path for a given fileName with path (uses static string)", + "returnType": "const char *", + "params": [ + { + "type": "const char *", + "name": "filePath" + } + ] + }, + { + "name": "GetPrevDirectoryPath", + "description": "Get previous directory path for a given path (uses static string)", + "returnType": "const char *", + "params": [ + { + "type": "const char *", + "name": "dirPath" + } + ] + }, + { + "name": "GetWorkingDirectory", + "description": "Get current working directory (uses static string)", + "returnType": "const char *" + }, + { + "name": "GetApplicationDirectory", + "description": "Get the directory if the running application (uses static string)", + "returnType": "const char *" + }, + { + "name": "ChangeDirectory", + "description": "Change working directory, return true on success", + "returnType": "bool", + "params": [ + { + "type": "const char *", + "name": "dir" + } + ] + }, + { + "name": "IsPathFile", + "description": "Check if a given path is a file or a directory", + "returnType": "bool", + "params": [ + { + "type": "const char *", + "name": "path" + } + ] + }, + { + "name": "LoadDirectoryFiles", + "description": "Load directory filepaths", + "returnType": "FilePathList", + "params": [ + { + "type": "const char *", + "name": "dirPath" + } + ] + }, + { + "name": "LoadDirectoryFilesEx", + "description": "Load directory filepaths with extension filtering and recursive directory scan", + "returnType": "FilePathList", + "params": [ + { + "type": "const char *", + "name": "basePath" + }, + { + "type": "const char *", + "name": "filter" + }, + { + "type": "bool", + "name": "scanSubdirs" + } + ] + }, + { + "name": "UnloadDirectoryFiles", + "description": "Unload filepaths", + "returnType": "void", + "params": [ + { + "type": "FilePathList", + "name": "files" + } + ] + }, + { + "name": "IsFileDropped", + "description": "Check if a file has been dropped into window", + "returnType": "bool" + }, + { + "name": "LoadDroppedFiles", + "description": "Load dropped filepaths", + "returnType": "FilePathList" + }, + { + "name": "UnloadDroppedFiles", + "description": "Unload dropped filepaths", + "returnType": "void", + "params": [ + { + "type": "FilePathList", + "name": "files" + } + ] + }, + { + "name": "GetFileModTime", + "description": "Get file modification time (last write time)", + "returnType": "long", + "params": [ + { + "type": "const char *", + "name": "fileName" + } + ] + }, + { + "name": "CompressData", + "description": "Compress data (DEFLATE algorithm), memory must be MemFree()", + "returnType": "unsigned char *", + "params": [ + { + "type": "const unsigned char *", + "name": "data" + }, + { + "type": "int", + "name": "dataSize" + }, + { + "type": "int *", + "name": "compDataSize" + } + ] + }, + { + "name": "DecompressData", + "description": "Decompress data (DEFLATE algorithm), memory must be MemFree()", + "returnType": "unsigned char *", + "params": [ + { + "type": "const unsigned char *", + "name": "compData" + }, + { + "type": "int", + "name": "compDataSize" + }, + { + "type": "int *", + "name": "dataSize" + } + ] + }, + { + "name": "EncodeDataBase64", + "description": "Encode data to Base64 string, memory must be MemFree()", + "returnType": "char *", + "params": [ + { + "type": "const unsigned char *", + "name": "data" + }, + { + "type": "int", + "name": "dataSize" + }, + { + "type": "int *", + "name": "outputSize" + } + ] + }, + { + "name": "DecodeDataBase64", + "description": "Decode Base64 string data, memory must be MemFree()", + "returnType": "unsigned char *", + "params": [ + { + "type": "const unsigned char *", + "name": "data" + }, + { + "type": "int *", + "name": "outputSize" + } + ] + }, + { + "name": "IsKeyPressed", + "description": "Check if a key has been pressed once", + "returnType": "bool", + "params": [ + { + "type": "int", + "name": "key" + } + ] + }, + { + "name": "IsKeyDown", + "description": "Check if a key is being pressed", + "returnType": "bool", + "params": [ + { + "type": "int", + "name": "key" + } + ] + }, + { + "name": "IsKeyReleased", + "description": "Check if a key has been released once", + "returnType": "bool", + "params": [ + { + "type": "int", + "name": "key" + } + ] + }, + { + "name": "IsKeyUp", + "description": "Check if a key is NOT being pressed", + "returnType": "bool", + "params": [ + { + "type": "int", + "name": "key" + } + ] + }, + { + "name": "SetExitKey", + "description": "Set a custom key to exit program (default is ESC)", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "key" + } + ] + }, + { + "name": "GetKeyPressed", + "description": "Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty", + "returnType": "int" + }, + { + "name": "GetCharPressed", + "description": "Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty", + "returnType": "int" + }, + { + "name": "IsGamepadAvailable", + "description": "Check if a gamepad is available", + "returnType": "bool", + "params": [ + { + "type": "int", + "name": "gamepad" + } + ] + }, + { + "name": "GetGamepadName", + "description": "Get gamepad internal name id", + "returnType": "const char *", + "params": [ + { + "type": "int", + "name": "gamepad" + } + ] + }, + { + "name": "IsGamepadButtonPressed", + "description": "Check if a gamepad button has been pressed once", + "returnType": "bool", + "params": [ + { + "type": "int", + "name": "gamepad" + }, + { + "type": "int", + "name": "button" + } + ] + }, + { + "name": "IsGamepadButtonDown", + "description": "Check if a gamepad button is being pressed", + "returnType": "bool", + "params": [ + { + "type": "int", + "name": "gamepad" + }, + { + "type": "int", + "name": "button" + } + ] + }, + { + "name": "IsGamepadButtonReleased", + "description": "Check if a gamepad button has been released once", + "returnType": "bool", + "params": [ + { + "type": "int", + "name": "gamepad" + }, + { + "type": "int", + "name": "button" + } + ] + }, + { + "name": "IsGamepadButtonUp", + "description": "Check if a gamepad button is NOT being pressed", + "returnType": "bool", + "params": [ + { + "type": "int", + "name": "gamepad" + }, + { + "type": "int", + "name": "button" + } + ] + }, + { + "name": "GetGamepadButtonPressed", + "description": "Get the last gamepad button pressed", + "returnType": "int" + }, + { + "name": "GetGamepadAxisCount", + "description": "Get gamepad axis count for a gamepad", + "returnType": "int", + "params": [ + { + "type": "int", + "name": "gamepad" + } + ] + }, + { + "name": "GetGamepadAxisMovement", + "description": "Get axis movement value for a gamepad axis", + "returnType": "float", + "params": [ + { + "type": "int", + "name": "gamepad" + }, + { + "type": "int", + "name": "axis" + } + ] + }, + { + "name": "SetGamepadMappings", + "description": "Set internal gamepad mappings (SDL_GameControllerDB)", + "returnType": "int", + "params": [ + { + "type": "const char *", + "name": "mappings" + } + ] + }, + { + "name": "IsMouseButtonPressed", + "description": "Check if a mouse button has been pressed once", + "returnType": "bool", + "params": [ + { + "type": "int", + "name": "button" + } + ] + }, + { + "name": "IsMouseButtonDown", + "description": "Check if a mouse button is being pressed", + "returnType": "bool", + "params": [ + { + "type": "int", + "name": "button" + } + ] + }, + { + "name": "IsMouseButtonReleased", + "description": "Check if a mouse button has been released once", + "returnType": "bool", + "params": [ + { + "type": "int", + "name": "button" + } + ] + }, + { + "name": "IsMouseButtonUp", + "description": "Check if a mouse button is NOT being pressed", + "returnType": "bool", + "params": [ + { + "type": "int", + "name": "button" + } + ] + }, + { + "name": "GetMouseX", + "description": "Get mouse position X", + "returnType": "int" + }, + { + "name": "GetMouseY", + "description": "Get mouse position Y", + "returnType": "int" + }, + { + "name": "GetMousePosition", + "description": "Get mouse position XY", + "returnType": "Vector2" + }, + { + "name": "GetMouseDelta", + "description": "Get mouse delta between frames", + "returnType": "Vector2" + }, + { + "name": "SetMousePosition", + "description": "Set mouse position XY", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "x" + }, + { + "type": "int", + "name": "y" + } + ] + }, + { + "name": "SetMouseOffset", + "description": "Set mouse offset", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "offsetX" + }, + { + "type": "int", + "name": "offsetY" + } + ] + }, + { + "name": "SetMouseScale", + "description": "Set mouse scaling", + "returnType": "void", + "params": [ + { + "type": "float", + "name": "scaleX" + }, + { + "type": "float", + "name": "scaleY" + } + ] + }, + { + "name": "GetMouseWheelMove", + "description": "Get mouse wheel movement for X or Y, whichever is larger", + "returnType": "float" + }, + { + "name": "GetMouseWheelMoveV", + "description": "Get mouse wheel movement for both X and Y", + "returnType": "Vector2" + }, + { + "name": "SetMouseCursor", + "description": "Set mouse cursor", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "cursor" + } + ] + }, + { + "name": "GetTouchX", + "description": "Get touch position X for touch point 0 (relative to screen size)", + "returnType": "int" + }, + { + "name": "GetTouchY", + "description": "Get touch position Y for touch point 0 (relative to screen size)", + "returnType": "int" + }, + { + "name": "GetTouchPosition", + "description": "Get touch position XY for a touch point index (relative to screen size)", + "returnType": "Vector2", + "params": [ + { + "type": "int", + "name": "index" + } + ] + }, + { + "name": "GetTouchPointId", + "description": "Get touch point identifier for given index", + "returnType": "int", + "params": [ + { + "type": "int", + "name": "index" + } + ] + }, + { + "name": "GetTouchPointCount", + "description": "Get number of touch points", + "returnType": "int" + }, + { + "name": "SetGesturesEnabled", + "description": "Enable a set of gestures using flags", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "flags" + } + ] + }, + { + "name": "IsGestureDetected", + "description": "Check if a gesture have been detected", + "returnType": "bool", + "params": [ + { + "type": "int", + "name": "gesture" + } + ] + }, + { + "name": "GetGestureDetected", + "description": "Get latest detected gesture", + "returnType": "int" + }, + { + "name": "GetGestureHoldDuration", + "description": "Get gesture hold time in milliseconds", + "returnType": "float" + }, + { + "name": "GetGestureDragVector", + "description": "Get gesture drag vector", + "returnType": "Vector2" + }, + { + "name": "GetGestureDragAngle", + "description": "Get gesture drag angle", + "returnType": "float" + }, + { + "name": "GetGesturePinchVector", + "description": "Get gesture pinch delta", + "returnType": "Vector2" + }, + { + "name": "GetGesturePinchAngle", + "description": "Get gesture pinch angle", + "returnType": "float" + }, + { + "name": "UpdateCamera", + "description": "Update camera position for selected mode", + "returnType": "void", + "params": [ + { + "type": "Camera *", + "name": "camera" + }, + { + "type": "int", + "name": "mode" + } + ] + }, + { + "name": "UpdateCameraPro", + "description": "Update camera movement/rotation", + "returnType": "void", + "params": [ + { + "type": "Camera *", + "name": "camera" + }, + { + "type": "Vector3", + "name": "movement" + }, + { + "type": "Vector3", + "name": "rotation" + }, + { + "type": "float", + "name": "zoom" + } + ] + }, + { + "name": "SetShapesTexture", + "description": "Set texture and rectangle to be used on shapes drawing", + "returnType": "void", + "params": [ + { + "type": "Texture2D", + "name": "texture" + }, + { + "type": "Rectangle", + "name": "source" + } + ] + }, + { + "name": "DrawPixel", + "description": "Draw a pixel", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "posX" + }, + { + "type": "int", + "name": "posY" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawPixelV", + "description": "Draw a pixel (Vector version)", + "returnType": "void", + "params": [ + { + "type": "Vector2", + "name": "position" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawLine", + "description": "Draw a line", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "startPosX" + }, + { + "type": "int", + "name": "startPosY" + }, + { + "type": "int", + "name": "endPosX" + }, + { + "type": "int", + "name": "endPosY" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawLineV", + "description": "Draw a line (Vector version)", + "returnType": "void", + "params": [ + { + "type": "Vector2", + "name": "startPos" + }, + { + "type": "Vector2", + "name": "endPos" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawLineEx", + "description": "Draw a line defining thickness", + "returnType": "void", + "params": [ + { + "type": "Vector2", + "name": "startPos" + }, + { + "type": "Vector2", + "name": "endPos" + }, + { + "type": "float", + "name": "thick" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawLineBezier", + "description": "Draw a line using cubic-bezier curves in-out", + "returnType": "void", + "params": [ + { + "type": "Vector2", + "name": "startPos" + }, + { + "type": "Vector2", + "name": "endPos" + }, + { + "type": "float", + "name": "thick" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawLineBezierQuad", + "description": "Draw line using quadratic bezier curves with a control point", + "returnType": "void", + "params": [ + { + "type": "Vector2", + "name": "startPos" + }, + { + "type": "Vector2", + "name": "endPos" + }, + { + "type": "Vector2", + "name": "controlPos" + }, + { + "type": "float", + "name": "thick" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawLineBezierCubic", + "description": "Draw line using cubic bezier curves with 2 control points", + "returnType": "void", + "params": [ + { + "type": "Vector2", + "name": "startPos" + }, + { + "type": "Vector2", + "name": "endPos" + }, + { + "type": "Vector2", + "name": "startControlPos" + }, + { + "type": "Vector2", + "name": "endControlPos" + }, + { + "type": "float", + "name": "thick" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawLineStrip", + "description": "Draw lines sequence", + "returnType": "void", + "params": [ + { + "type": "Vector2 *", + "name": "points" + }, + { + "type": "int", + "name": "pointCount" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawCircle", + "description": "Draw a color-filled circle", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "centerX" + }, + { + "type": "int", + "name": "centerY" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawCircleSector", + "description": "Draw a piece of a circle", + "returnType": "void", + "params": [ + { + "type": "Vector2", + "name": "center" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "float", + "name": "startAngle" + }, + { + "type": "float", + "name": "endAngle" + }, + { + "type": "int", + "name": "segments" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawCircleSectorLines", + "description": "Draw circle sector outline", + "returnType": "void", + "params": [ + { + "type": "Vector2", + "name": "center" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "float", + "name": "startAngle" + }, + { + "type": "float", + "name": "endAngle" + }, + { + "type": "int", + "name": "segments" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawCircleGradient", + "description": "Draw a gradient-filled circle", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "centerX" + }, + { + "type": "int", + "name": "centerY" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "Color", + "name": "color1" + }, + { + "type": "Color", + "name": "color2" + } + ] + }, + { + "name": "DrawCircleV", + "description": "Draw a color-filled circle (Vector version)", + "returnType": "void", + "params": [ + { + "type": "Vector2", + "name": "center" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawCircleLines", + "description": "Draw circle outline", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "centerX" + }, + { + "type": "int", + "name": "centerY" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawEllipse", + "description": "Draw ellipse", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "centerX" + }, + { + "type": "int", + "name": "centerY" + }, + { + "type": "float", + "name": "radiusH" + }, + { + "type": "float", + "name": "radiusV" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawEllipseLines", + "description": "Draw ellipse outline", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "centerX" + }, + { + "type": "int", + "name": "centerY" + }, + { + "type": "float", + "name": "radiusH" + }, + { + "type": "float", + "name": "radiusV" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawRing", + "description": "Draw ring", + "returnType": "void", + "params": [ + { + "type": "Vector2", + "name": "center" + }, + { + "type": "float", + "name": "innerRadius" + }, + { + "type": "float", + "name": "outerRadius" + }, + { + "type": "float", + "name": "startAngle" + }, + { + "type": "float", + "name": "endAngle" + }, + { + "type": "int", + "name": "segments" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawRingLines", + "description": "Draw ring outline", + "returnType": "void", + "params": [ + { + "type": "Vector2", + "name": "center" + }, + { + "type": "float", + "name": "innerRadius" + }, + { + "type": "float", + "name": "outerRadius" + }, + { + "type": "float", + "name": "startAngle" + }, + { + "type": "float", + "name": "endAngle" + }, + { + "type": "int", + "name": "segments" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawRectangle", + "description": "Draw a color-filled rectangle", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "posX" + }, + { + "type": "int", + "name": "posY" + }, + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawRectangleV", + "description": "Draw a color-filled rectangle (Vector version)", + "returnType": "void", + "params": [ + { + "type": "Vector2", + "name": "position" + }, + { + "type": "Vector2", + "name": "size" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawRectangleRec", + "description": "Draw a color-filled rectangle", + "returnType": "void", + "params": [ + { + "type": "Rectangle", + "name": "rec" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawRectanglePro", + "description": "Draw a color-filled rectangle with pro parameters", + "returnType": "void", + "params": [ + { + "type": "Rectangle", + "name": "rec" + }, + { + "type": "Vector2", + "name": "origin" + }, + { + "type": "float", + "name": "rotation" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawRectangleGradientV", + "description": "Draw a vertical-gradient-filled rectangle", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "posX" + }, + { + "type": "int", + "name": "posY" + }, + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + }, + { + "type": "Color", + "name": "color1" + }, + { + "type": "Color", + "name": "color2" + } + ] + }, + { + "name": "DrawRectangleGradientH", + "description": "Draw a horizontal-gradient-filled rectangle", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "posX" + }, + { + "type": "int", + "name": "posY" + }, + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + }, + { + "type": "Color", + "name": "color1" + }, + { + "type": "Color", + "name": "color2" + } + ] + }, + { + "name": "DrawRectangleGradientEx", + "description": "Draw a gradient-filled rectangle with custom vertex colors", + "returnType": "void", + "params": [ + { + "type": "Rectangle", + "name": "rec" + }, + { + "type": "Color", + "name": "col1" + }, + { + "type": "Color", + "name": "col2" + }, + { + "type": "Color", + "name": "col3" + }, + { + "type": "Color", + "name": "col4" + } + ] + }, + { + "name": "DrawRectangleLines", + "description": "Draw rectangle outline", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "posX" + }, + { + "type": "int", + "name": "posY" + }, + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawRectangleLinesEx", + "description": "Draw rectangle outline with extended parameters", + "returnType": "void", + "params": [ + { + "type": "Rectangle", + "name": "rec" + }, + { + "type": "float", + "name": "lineThick" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawRectangleRounded", + "description": "Draw rectangle with rounded edges", + "returnType": "void", + "params": [ + { + "type": "Rectangle", + "name": "rec" + }, + { + "type": "float", + "name": "roundness" + }, + { + "type": "int", + "name": "segments" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawRectangleRoundedLines", + "description": "Draw rectangle with rounded edges outline", + "returnType": "void", + "params": [ + { + "type": "Rectangle", + "name": "rec" + }, + { + "type": "float", + "name": "roundness" + }, + { + "type": "int", + "name": "segments" + }, + { + "type": "float", + "name": "lineThick" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawTriangle", + "description": "Draw a color-filled triangle (vertex in counter-clockwise order!)", + "returnType": "void", + "params": [ + { + "type": "Vector2", + "name": "v1" + }, + { + "type": "Vector2", + "name": "v2" + }, + { + "type": "Vector2", + "name": "v3" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawTriangleLines", + "description": "Draw triangle outline (vertex in counter-clockwise order!)", + "returnType": "void", + "params": [ + { + "type": "Vector2", + "name": "v1" + }, + { + "type": "Vector2", + "name": "v2" + }, + { + "type": "Vector2", + "name": "v3" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawTriangleFan", + "description": "Draw a triangle fan defined by points (first vertex is the center)", + "returnType": "void", + "params": [ + { + "type": "Vector2 *", + "name": "points" + }, + { + "type": "int", + "name": "pointCount" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawTriangleStrip", + "description": "Draw a triangle strip defined by points", + "returnType": "void", + "params": [ + { + "type": "Vector2 *", + "name": "points" + }, + { + "type": "int", + "name": "pointCount" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawPoly", + "description": "Draw a regular polygon (Vector version)", + "returnType": "void", + "params": [ + { + "type": "Vector2", + "name": "center" + }, + { + "type": "int", + "name": "sides" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "float", + "name": "rotation" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawPolyLines", + "description": "Draw a polygon outline of n sides", + "returnType": "void", + "params": [ + { + "type": "Vector2", + "name": "center" + }, + { + "type": "int", + "name": "sides" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "float", + "name": "rotation" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawPolyLinesEx", + "description": "Draw a polygon outline of n sides with extended parameters", + "returnType": "void", + "params": [ + { + "type": "Vector2", + "name": "center" + }, + { + "type": "int", + "name": "sides" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "float", + "name": "rotation" + }, + { + "type": "float", + "name": "lineThick" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "CheckCollisionRecs", + "description": "Check collision between two rectangles", + "returnType": "bool", + "params": [ + { + "type": "Rectangle", + "name": "rec1" + }, + { + "type": "Rectangle", + "name": "rec2" + } + ] + }, + { + "name": "CheckCollisionCircles", + "description": "Check collision between two circles", + "returnType": "bool", + "params": [ + { + "type": "Vector2", + "name": "center1" + }, + { + "type": "float", + "name": "radius1" + }, + { + "type": "Vector2", + "name": "center2" + }, + { + "type": "float", + "name": "radius2" + } + ] + }, + { + "name": "CheckCollisionCircleRec", + "description": "Check collision between circle and rectangle", + "returnType": "bool", + "params": [ + { + "type": "Vector2", + "name": "center" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "Rectangle", + "name": "rec" + } + ] + }, + { + "name": "CheckCollisionPointRec", + "description": "Check if point is inside rectangle", + "returnType": "bool", + "params": [ + { + "type": "Vector2", + "name": "point" + }, + { + "type": "Rectangle", + "name": "rec" + } + ] + }, + { + "name": "CheckCollisionPointCircle", + "description": "Check if point is inside circle", + "returnType": "bool", + "params": [ + { + "type": "Vector2", + "name": "point" + }, + { + "type": "Vector2", + "name": "center" + }, + { + "type": "float", + "name": "radius" + } + ] + }, + { + "name": "CheckCollisionPointTriangle", + "description": "Check if point is inside a triangle", + "returnType": "bool", + "params": [ + { + "type": "Vector2", + "name": "point" + }, + { + "type": "Vector2", + "name": "p1" + }, + { + "type": "Vector2", + "name": "p2" + }, + { + "type": "Vector2", + "name": "p3" + } + ] + }, + { + "name": "CheckCollisionPointPoly", + "description": "Check if point is within a polygon described by array of vertices", + "returnType": "bool", + "params": [ + { + "type": "Vector2", + "name": "point" + }, + { + "type": "Vector2 *", + "name": "points" + }, + { + "type": "int", + "name": "pointCount" + } + ] + }, + { + "name": "CheckCollisionLines", + "description": "Check the collision between two lines defined by two points each, returns collision point by reference", + "returnType": "bool", + "params": [ + { + "type": "Vector2", + "name": "startPos1" + }, + { + "type": "Vector2", + "name": "endPos1" + }, + { + "type": "Vector2", + "name": "startPos2" + }, + { + "type": "Vector2", + "name": "endPos2" + }, + { + "type": "Vector2 *", + "name": "collisionPoint" + } + ] + }, + { + "name": "CheckCollisionPointLine", + "description": "Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold]", + "returnType": "bool", + "params": [ + { + "type": "Vector2", + "name": "point" + }, + { + "type": "Vector2", + "name": "p1" + }, + { + "type": "Vector2", + "name": "p2" + }, + { + "type": "int", + "name": "threshold" + } + ] + }, + { + "name": "GetCollisionRec", + "description": "Get collision rectangle for two rectangles collision", + "returnType": "Rectangle", + "params": [ + { + "type": "Rectangle", + "name": "rec1" + }, + { + "type": "Rectangle", + "name": "rec2" + } + ] + }, + { + "name": "LoadImage", + "description": "Load image from file into CPU memory (RAM)", + "returnType": "Image", + "params": [ + { + "type": "const char *", + "name": "fileName" + } + ] + }, + { + "name": "LoadImageRaw", + "description": "Load image from RAW file data", + "returnType": "Image", + "params": [ + { + "type": "const char *", + "name": "fileName" + }, + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + }, + { + "type": "int", + "name": "format" + }, + { + "type": "int", + "name": "headerSize" + } + ] + }, + { + "name": "LoadImageAnim", + "description": "Load image sequence from file (frames appended to image.data)", + "returnType": "Image", + "params": [ + { + "type": "const char *", + "name": "fileName" + }, + { + "type": "int *", + "name": "frames" + } + ] + }, + { + "name": "LoadImageFromMemory", + "description": "Load image from memory buffer, fileType refers to extension: i.e. '.png'", + "returnType": "Image", + "params": [ + { + "type": "const char *", + "name": "fileType" + }, + { + "type": "const unsigned char *", + "name": "fileData" + }, + { + "type": "int", + "name": "dataSize" + } + ] + }, + { + "name": "LoadImageFromTexture", + "description": "Load image from GPU texture data", + "returnType": "Image", + "params": [ + { + "type": "Texture2D", + "name": "texture" + } + ] + }, + { + "name": "LoadImageFromScreen", + "description": "Load image from screen buffer and (screenshot)", + "returnType": "Image" + }, + { + "name": "IsImageReady", + "description": "Check if an image is ready", + "returnType": "bool", + "params": [ + { + "type": "Image", + "name": "image" + } + ] + }, + { + "name": "UnloadImage", + "description": "Unload image from CPU memory (RAM)", + "returnType": "void", + "params": [ + { + "type": "Image", + "name": "image" + } + ] + }, + { + "name": "ExportImage", + "description": "Export image data to file, returns true on success", + "returnType": "bool", + "params": [ + { + "type": "Image", + "name": "image" + }, + { + "type": "const char *", + "name": "fileName" + } + ] + }, + { + "name": "ExportImageAsCode", + "description": "Export image as code file defining an array of bytes, returns true on success", + "returnType": "bool", + "params": [ + { + "type": "Image", + "name": "image" + }, + { + "type": "const char *", + "name": "fileName" + } + ] + }, + { + "name": "GenImageColor", + "description": "Generate image: plain color", + "returnType": "Image", + "params": [ + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "GenImageGradientV", + "description": "Generate image: vertical gradient", + "returnType": "Image", + "params": [ + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + }, + { + "type": "Color", + "name": "top" + }, + { + "type": "Color", + "name": "bottom" + } + ] + }, + { + "name": "GenImageGradientH", + "description": "Generate image: horizontal gradient", + "returnType": "Image", + "params": [ + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + }, + { + "type": "Color", + "name": "left" + }, + { + "type": "Color", + "name": "right" + } + ] + }, + { + "name": "GenImageGradientRadial", + "description": "Generate image: radial gradient", + "returnType": "Image", + "params": [ + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + }, + { + "type": "float", + "name": "density" + }, + { + "type": "Color", + "name": "inner" + }, + { + "type": "Color", + "name": "outer" + } + ] + }, + { + "name": "GenImageChecked", + "description": "Generate image: checked", + "returnType": "Image", + "params": [ + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + }, + { + "type": "int", + "name": "checksX" + }, + { + "type": "int", + "name": "checksY" + }, + { + "type": "Color", + "name": "col1" + }, + { + "type": "Color", + "name": "col2" + } + ] + }, + { + "name": "GenImageWhiteNoise", + "description": "Generate image: white noise", + "returnType": "Image", + "params": [ + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + }, + { + "type": "float", + "name": "factor" + } + ] + }, + { + "name": "GenImagePerlinNoise", + "description": "Generate image: perlin noise", + "returnType": "Image", + "params": [ + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + }, + { + "type": "int", + "name": "offsetX" + }, + { + "type": "int", + "name": "offsetY" + }, + { + "type": "float", + "name": "scale" + } + ] + }, + { + "name": "GenImageCellular", + "description": "Generate image: cellular algorithm, bigger tileSize means bigger cells", + "returnType": "Image", + "params": [ + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + }, + { + "type": "int", + "name": "tileSize" + } + ] + }, + { + "name": "GenImageText", + "description": "Generate image: grayscale image from text data", + "returnType": "Image", + "params": [ + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + }, + { + "type": "const char *", + "name": "text" + } + ] + }, + { + "name": "ImageCopy", + "description": "Create an image duplicate (useful for transformations)", + "returnType": "Image", + "params": [ + { + "type": "Image", + "name": "image" + } + ] + }, + { + "name": "ImageFromImage", + "description": "Create an image from another image piece", + "returnType": "Image", + "params": [ + { + "type": "Image", + "name": "image" + }, + { + "type": "Rectangle", + "name": "rec" + } + ] + }, + { + "name": "ImageText", + "description": "Create an image from text (default font)", + "returnType": "Image", + "params": [ + { + "type": "const char *", + "name": "text" + }, + { + "type": "int", + "name": "fontSize" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "ImageTextEx", + "description": "Create an image from text (custom sprite font)", + "returnType": "Image", + "params": [ + { + "type": "Font", + "name": "font" + }, + { + "type": "const char *", + "name": "text" + }, + { + "type": "float", + "name": "fontSize" + }, + { + "type": "float", + "name": "spacing" + }, + { + "type": "Color", + "name": "tint" + } + ] + }, + { + "name": "ImageFormat", + "description": "Convert image data to desired format", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "image" + }, + { + "type": "int", + "name": "newFormat" + } + ] + }, + { + "name": "ImageToPOT", + "description": "Convert image to POT (power-of-two)", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "image" + }, + { + "type": "Color", + "name": "fill" + } + ] + }, + { + "name": "ImageCrop", + "description": "Crop an image to a defined rectangle", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "image" + }, + { + "type": "Rectangle", + "name": "crop" + } + ] + }, + { + "name": "ImageAlphaCrop", + "description": "Crop image depending on alpha value", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "image" + }, + { + "type": "float", + "name": "threshold" + } + ] + }, + { + "name": "ImageAlphaClear", + "description": "Clear alpha channel to desired color", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "image" + }, + { + "type": "Color", + "name": "color" + }, + { + "type": "float", + "name": "threshold" + } + ] + }, + { + "name": "ImageAlphaMask", + "description": "Apply alpha mask to image", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "image" + }, + { + "type": "Image", + "name": "alphaMask" + } + ] + }, + { + "name": "ImageAlphaPremultiply", + "description": "Premultiply alpha channel", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "image" + } + ] + }, + { + "name": "ImageBlurGaussian", + "description": "Apply Gaussian blur using a box blur approximation", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "image" + }, + { + "type": "int", + "name": "blurSize" + } + ] + }, + { + "name": "ImageResize", + "description": "Resize image (Bicubic scaling algorithm)", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "image" + }, + { + "type": "int", + "name": "newWidth" + }, + { + "type": "int", + "name": "newHeight" + } + ] + }, + { + "name": "ImageResizeNN", + "description": "Resize image (Nearest-Neighbor scaling algorithm)", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "image" + }, + { + "type": "int", + "name": "newWidth" + }, + { + "type": "int", + "name": "newHeight" + } + ] + }, + { + "name": "ImageResizeCanvas", + "description": "Resize canvas and fill with color", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "image" + }, + { + "type": "int", + "name": "newWidth" + }, + { + "type": "int", + "name": "newHeight" + }, + { + "type": "int", + "name": "offsetX" + }, + { + "type": "int", + "name": "offsetY" + }, + { + "type": "Color", + "name": "fill" + } + ] + }, + { + "name": "ImageMipmaps", + "description": "Compute all mipmap levels for a provided image", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "image" + } + ] + }, + { + "name": "ImageDither", + "description": "Dither image data to 16bpp or lower (Floyd-Steinberg dithering)", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "image" + }, + { + "type": "int", + "name": "rBpp" + }, + { + "type": "int", + "name": "gBpp" + }, + { + "type": "int", + "name": "bBpp" + }, + { + "type": "int", + "name": "aBpp" + } + ] + }, + { + "name": "ImageFlipVertical", + "description": "Flip image vertically", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "image" + } + ] + }, + { + "name": "ImageFlipHorizontal", + "description": "Flip image horizontally", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "image" + } + ] + }, + { + "name": "ImageRotateCW", + "description": "Rotate image clockwise 90deg", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "image" + } + ] + }, + { + "name": "ImageRotateCCW", + "description": "Rotate image counter-clockwise 90deg", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "image" + } + ] + }, + { + "name": "ImageColorTint", + "description": "Modify image color: tint", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "image" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "ImageColorInvert", + "description": "Modify image color: invert", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "image" + } + ] + }, + { + "name": "ImageColorGrayscale", + "description": "Modify image color: grayscale", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "image" + } + ] + }, + { + "name": "ImageColorContrast", + "description": "Modify image color: contrast (-100 to 100)", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "image" + }, + { + "type": "float", + "name": "contrast" + } + ] + }, + { + "name": "ImageColorBrightness", + "description": "Modify image color: brightness (-255 to 255)", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "image" + }, + { + "type": "int", + "name": "brightness" + } + ] + }, + { + "name": "ImageColorReplace", + "description": "Modify image color: replace color", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "image" + }, + { + "type": "Color", + "name": "color" + }, + { + "type": "Color", + "name": "replace" + } + ] + }, + { + "name": "LoadImageColors", + "description": "Load color data from image as a Color array (RGBA - 32bit)", + "returnType": "Color *", + "params": [ + { + "type": "Image", + "name": "image" + } + ] + }, + { + "name": "LoadImagePalette", + "description": "Load colors palette from image as a Color array (RGBA - 32bit)", + "returnType": "Color *", + "params": [ + { + "type": "Image", + "name": "image" + }, + { + "type": "int", + "name": "maxPaletteSize" + }, + { + "type": "int *", + "name": "colorCount" + } + ] + }, + { + "name": "UnloadImageColors", + "description": "Unload color data loaded with LoadImageColors()", + "returnType": "void", + "params": [ + { + "type": "Color *", + "name": "colors" + } + ] + }, + { + "name": "UnloadImagePalette", + "description": "Unload colors palette loaded with LoadImagePalette()", + "returnType": "void", + "params": [ + { + "type": "Color *", + "name": "colors" + } + ] + }, + { + "name": "GetImageAlphaBorder", + "description": "Get image alpha border rectangle", + "returnType": "Rectangle", + "params": [ + { + "type": "Image", + "name": "image" + }, + { + "type": "float", + "name": "threshold" + } + ] + }, + { + "name": "GetImageColor", + "description": "Get image pixel color at (x, y) position", + "returnType": "Color", + "params": [ + { + "type": "Image", + "name": "image" + }, + { + "type": "int", + "name": "x" + }, + { + "type": "int", + "name": "y" + } + ] + }, + { + "name": "ImageClearBackground", + "description": "Clear image background with given color", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "dst" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "ImageDrawPixel", + "description": "Draw pixel within an image", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "dst" + }, + { + "type": "int", + "name": "posX" + }, + { + "type": "int", + "name": "posY" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "ImageDrawPixelV", + "description": "Draw pixel within an image (Vector version)", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "dst" + }, + { + "type": "Vector2", + "name": "position" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "ImageDrawLine", + "description": "Draw line within an image", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "dst" + }, + { + "type": "int", + "name": "startPosX" + }, + { + "type": "int", + "name": "startPosY" + }, + { + "type": "int", + "name": "endPosX" + }, + { + "type": "int", + "name": "endPosY" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "ImageDrawLineV", + "description": "Draw line within an image (Vector version)", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "dst" + }, + { + "type": "Vector2", + "name": "start" + }, + { + "type": "Vector2", + "name": "end" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "ImageDrawCircle", + "description": "Draw a filled circle within an image", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "dst" + }, + { + "type": "int", + "name": "centerX" + }, + { + "type": "int", + "name": "centerY" + }, + { + "type": "int", + "name": "radius" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "ImageDrawCircleV", + "description": "Draw a filled circle within an image (Vector version)", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "dst" + }, + { + "type": "Vector2", + "name": "center" + }, + { + "type": "int", + "name": "radius" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "ImageDrawCircleLines", + "description": "Draw circle outline within an image", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "dst" + }, + { + "type": "int", + "name": "centerX" + }, + { + "type": "int", + "name": "centerY" + }, + { + "type": "int", + "name": "radius" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "ImageDrawCircleLinesV", + "description": "Draw circle outline within an image (Vector version)", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "dst" + }, + { + "type": "Vector2", + "name": "center" + }, + { + "type": "int", + "name": "radius" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "ImageDrawRectangle", + "description": "Draw rectangle within an image", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "dst" + }, + { + "type": "int", + "name": "posX" + }, + { + "type": "int", + "name": "posY" + }, + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "ImageDrawRectangleV", + "description": "Draw rectangle within an image (Vector version)", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "dst" + }, + { + "type": "Vector2", + "name": "position" + }, + { + "type": "Vector2", + "name": "size" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "ImageDrawRectangleRec", + "description": "Draw rectangle within an image", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "dst" + }, + { + "type": "Rectangle", + "name": "rec" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "ImageDrawRectangleLines", + "description": "Draw rectangle lines within an image", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "dst" + }, + { + "type": "Rectangle", + "name": "rec" + }, + { + "type": "int", + "name": "thick" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "ImageDraw", + "description": "Draw a source image within a destination image (tint applied to source)", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "dst" + }, + { + "type": "Image", + "name": "src" + }, + { + "type": "Rectangle", + "name": "srcRec" + }, + { + "type": "Rectangle", + "name": "dstRec" + }, + { + "type": "Color", + "name": "tint" + } + ] + }, + { + "name": "ImageDrawText", + "description": "Draw text (using default font) within an image (destination)", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "dst" + }, + { + "type": "const char *", + "name": "text" + }, + { + "type": "int", + "name": "posX" + }, + { + "type": "int", + "name": "posY" + }, + { + "type": "int", + "name": "fontSize" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "ImageDrawTextEx", + "description": "Draw text (custom sprite font) within an image (destination)", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "dst" + }, + { + "type": "Font", + "name": "font" + }, + { + "type": "const char *", + "name": "text" + }, + { + "type": "Vector2", + "name": "position" + }, + { + "type": "float", + "name": "fontSize" + }, + { + "type": "float", + "name": "spacing" + }, + { + "type": "Color", + "name": "tint" + } + ] + }, + { + "name": "LoadTexture", + "description": "Load texture from file into GPU memory (VRAM)", + "returnType": "Texture2D", + "params": [ + { + "type": "const char *", + "name": "fileName" + } + ] + }, + { + "name": "LoadTextureFromImage", + "description": "Load texture from image data", + "returnType": "Texture2D", + "params": [ + { + "type": "Image", + "name": "image" + } + ] + }, + { + "name": "LoadTextureCubemap", + "description": "Load cubemap from image, multiple image cubemap layouts supported", + "returnType": "TextureCubemap", + "params": [ + { + "type": "Image", + "name": "image" + }, + { + "type": "int", + "name": "layout" + } + ] + }, + { + "name": "LoadRenderTexture", + "description": "Load texture for rendering (framebuffer)", + "returnType": "RenderTexture2D", + "params": [ + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + } + ] + }, + { + "name": "IsTextureReady", + "description": "Check if a texture is ready", + "returnType": "bool", + "params": [ + { + "type": "Texture2D", + "name": "texture" + } + ] + }, + { + "name": "UnloadTexture", + "description": "Unload texture from GPU memory (VRAM)", + "returnType": "void", + "params": [ + { + "type": "Texture2D", + "name": "texture" + } + ] + }, + { + "name": "IsRenderTextureReady", + "description": "Check if a render texture is ready", + "returnType": "bool", + "params": [ + { + "type": "RenderTexture2D", + "name": "target" + } + ] + }, + { + "name": "UnloadRenderTexture", + "description": "Unload render texture from GPU memory (VRAM)", + "returnType": "void", + "params": [ + { + "type": "RenderTexture2D", + "name": "target" + } + ] + }, + { + "name": "UpdateTexture", + "description": "Update GPU texture with new data", + "returnType": "void", + "params": [ + { + "type": "Texture2D", + "name": "texture" + }, + { + "type": "const void *", + "name": "pixels" + } + ] + }, + { + "name": "UpdateTextureRec", + "description": "Update GPU texture rectangle with new data", + "returnType": "void", + "params": [ + { + "type": "Texture2D", + "name": "texture" + }, + { + "type": "Rectangle", + "name": "rec" + }, + { + "type": "const void *", + "name": "pixels" + } + ] + }, + { + "name": "GenTextureMipmaps", + "description": "Generate GPU mipmaps for a texture", + "returnType": "void", + "params": [ + { + "type": "Texture2D *", + "name": "texture" + } + ] + }, + { + "name": "SetTextureFilter", + "description": "Set texture scaling filter mode", + "returnType": "void", + "params": [ + { + "type": "Texture2D", + "name": "texture" + }, + { + "type": "int", + "name": "filter" + } + ] + }, + { + "name": "SetTextureWrap", + "description": "Set texture wrapping mode", + "returnType": "void", + "params": [ + { + "type": "Texture2D", + "name": "texture" + }, + { + "type": "int", + "name": "wrap" + } + ] + }, + { + "name": "DrawTexture", + "description": "Draw a Texture2D", + "returnType": "void", + "params": [ + { + "type": "Texture2D", + "name": "texture" + }, + { + "type": "int", + "name": "posX" + }, + { + "type": "int", + "name": "posY" + }, + { + "type": "Color", + "name": "tint" + } + ] + }, + { + "name": "DrawTextureV", + "description": "Draw a Texture2D with position defined as Vector2", + "returnType": "void", + "params": [ + { + "type": "Texture2D", + "name": "texture" + }, + { + "type": "Vector2", + "name": "position" + }, + { + "type": "Color", + "name": "tint" + } + ] + }, + { + "name": "DrawTextureEx", + "description": "Draw a Texture2D with extended parameters", + "returnType": "void", + "params": [ + { + "type": "Texture2D", + "name": "texture" + }, + { + "type": "Vector2", + "name": "position" + }, + { + "type": "float", + "name": "rotation" + }, + { + "type": "float", + "name": "scale" + }, + { + "type": "Color", + "name": "tint" + } + ] + }, + { + "name": "DrawTextureRec", + "description": "Draw a part of a texture defined by a rectangle", + "returnType": "void", + "params": [ + { + "type": "Texture2D", + "name": "texture" + }, + { + "type": "Rectangle", + "name": "source" + }, + { + "type": "Vector2", + "name": "position" + }, + { + "type": "Color", + "name": "tint" + } + ] + }, + { + "name": "DrawTexturePro", + "description": "Draw a part of a texture defined by a rectangle with 'pro' parameters", + "returnType": "void", + "params": [ + { + "type": "Texture2D", + "name": "texture" + }, + { + "type": "Rectangle", + "name": "source" + }, + { + "type": "Rectangle", + "name": "dest" + }, + { + "type": "Vector2", + "name": "origin" + }, + { + "type": "float", + "name": "rotation" + }, + { + "type": "Color", + "name": "tint" + } + ] + }, + { + "name": "DrawTextureNPatch", + "description": "Draws a texture (or part of it) that stretches or shrinks nicely", + "returnType": "void", + "params": [ + { + "type": "Texture2D", + "name": "texture" + }, + { + "type": "NPatchInfo", + "name": "nPatchInfo" + }, + { + "type": "Rectangle", + "name": "dest" + }, + { + "type": "Vector2", + "name": "origin" + }, + { + "type": "float", + "name": "rotation" + }, + { + "type": "Color", + "name": "tint" + } + ] + }, + { + "name": "Fade", + "description": "Get color with alpha applied, alpha goes from 0.0f to 1.0f", + "returnType": "Color", + "params": [ + { + "type": "Color", + "name": "color" + }, + { + "type": "float", + "name": "alpha" + } + ] + }, + { + "name": "ColorToInt", + "description": "Get hexadecimal value for a Color", + "returnType": "int", + "params": [ + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "ColorNormalize", + "description": "Get Color normalized as float [0..1]", + "returnType": "Vector4", + "params": [ + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "ColorFromNormalized", + "description": "Get Color from normalized values [0..1]", + "returnType": "Color", + "params": [ + { + "type": "Vector4", + "name": "normalized" + } + ] + }, + { + "name": "ColorToHSV", + "description": "Get HSV values for a Color, hue [0..360], saturation/value [0..1]", + "returnType": "Vector3", + "params": [ + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "ColorFromHSV", + "description": "Get a Color from HSV values, hue [0..360], saturation/value [0..1]", + "returnType": "Color", + "params": [ + { + "type": "float", + "name": "hue" + }, + { + "type": "float", + "name": "saturation" + }, + { + "type": "float", + "name": "value" + } + ] + }, + { + "name": "ColorTint", + "description": "Get color multiplied with another color", + "returnType": "Color", + "params": [ + { + "type": "Color", + "name": "color" + }, + { + "type": "Color", + "name": "tint" + } + ] + }, + { + "name": "ColorBrightness", + "description": "Get color with brightness correction, brightness factor goes from -1.0f to 1.0f", + "returnType": "Color", + "params": [ + { + "type": "Color", + "name": "color" + }, + { + "type": "float", + "name": "factor" + } + ] + }, + { + "name": "ColorContrast", + "description": "Get color with contrast correction, contrast values between -1.0f and 1.0f", + "returnType": "Color", + "params": [ + { + "type": "Color", + "name": "color" + }, + { + "type": "float", + "name": "contrast" + } + ] + }, + { + "name": "ColorAlpha", + "description": "Get color with alpha applied, alpha goes from 0.0f to 1.0f", + "returnType": "Color", + "params": [ + { + "type": "Color", + "name": "color" + }, + { + "type": "float", + "name": "alpha" + } + ] + }, + { + "name": "ColorAlphaBlend", + "description": "Get src alpha-blended into dst color with tint", + "returnType": "Color", + "params": [ + { + "type": "Color", + "name": "dst" + }, + { + "type": "Color", + "name": "src" + }, + { + "type": "Color", + "name": "tint" + } + ] + }, + { + "name": "GetColor", + "description": "Get Color structure from hexadecimal value", + "returnType": "Color", + "params": [ + { + "type": "unsigned int", + "name": "hexValue" + } + ] + }, + { + "name": "GetPixelColor", + "description": "Get Color from a source pixel pointer of certain format", + "returnType": "Color", + "params": [ + { + "type": "void *", + "name": "srcPtr" + }, + { + "type": "int", + "name": "format" + } + ] + }, + { + "name": "SetPixelColor", + "description": "Set color formatted into destination pixel pointer", + "returnType": "void", + "params": [ + { + "type": "void *", + "name": "dstPtr" + }, + { + "type": "Color", + "name": "color" + }, + { + "type": "int", + "name": "format" + } + ] + }, + { + "name": "GetPixelDataSize", + "description": "Get pixel data size in bytes for certain format", + "returnType": "int", + "params": [ + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + }, + { + "type": "int", + "name": "format" + } + ] + }, + { + "name": "GetFontDefault", + "description": "Get the default Font", + "returnType": "Font" + }, + { + "name": "LoadFont", + "description": "Load font from file into GPU memory (VRAM)", + "returnType": "Font", + "params": [ + { + "type": "const char *", + "name": "fileName" + } + ] + }, + { + "name": "LoadFontEx", + "description": "Load font from file with extended parameters, use NULL for fontChars and 0 for glyphCount to load the default character set", + "returnType": "Font", + "params": [ + { + "type": "const char *", + "name": "fileName" + }, + { + "type": "int", + "name": "fontSize" + }, + { + "type": "int *", + "name": "fontChars" + }, + { + "type": "int", + "name": "glyphCount" + } + ] + }, + { + "name": "LoadFontFromImage", + "description": "Load font from Image (XNA style)", + "returnType": "Font", + "params": [ + { + "type": "Image", + "name": "image" + }, + { + "type": "Color", + "name": "key" + }, + { + "type": "int", + "name": "firstChar" + } + ] + }, + { + "name": "LoadFontFromMemory", + "description": "Load font from memory buffer, fileType refers to extension: i.e. '.ttf'", + "returnType": "Font", + "params": [ + { + "type": "const char *", + "name": "fileType" + }, + { + "type": "const unsigned char *", + "name": "fileData" + }, + { + "type": "int", + "name": "dataSize" + }, + { + "type": "int", + "name": "fontSize" + }, + { + "type": "int *", + "name": "fontChars" + }, + { + "type": "int", + "name": "glyphCount" + } + ] + }, + { + "name": "IsFontReady", + "description": "Check if a font is ready", + "returnType": "bool", + "params": [ + { + "type": "Font", + "name": "font" + } + ] + }, + { + "name": "LoadFontData", + "description": "Load font data for further use", + "returnType": "GlyphInfo *", + "params": [ + { + "type": "const unsigned char *", + "name": "fileData" + }, + { + "type": "int", + "name": "dataSize" + }, + { + "type": "int", + "name": "fontSize" + }, + { + "type": "int *", + "name": "fontChars" + }, + { + "type": "int", + "name": "glyphCount" + }, + { + "type": "int", + "name": "type" + } + ] + }, + { + "name": "GenImageFontAtlas", + "description": "Generate image font atlas using chars info", + "returnType": "Image", + "params": [ + { + "type": "const GlyphInfo *", + "name": "chars" + }, + { + "type": "Rectangle **", + "name": "recs" + }, + { + "type": "int", + "name": "glyphCount" + }, + { + "type": "int", + "name": "fontSize" + }, + { + "type": "int", + "name": "padding" + }, + { + "type": "int", + "name": "packMethod" + } + ] + }, + { + "name": "UnloadFontData", + "description": "Unload font chars info data (RAM)", + "returnType": "void", + "params": [ + { + "type": "GlyphInfo *", + "name": "chars" + }, + { + "type": "int", + "name": "glyphCount" + } + ] + }, + { + "name": "UnloadFont", + "description": "Unload font from GPU memory (VRAM)", + "returnType": "void", + "params": [ + { + "type": "Font", + "name": "font" + } + ] + }, + { + "name": "ExportFontAsCode", + "description": "Export font as code file, returns true on success", + "returnType": "bool", + "params": [ + { + "type": "Font", + "name": "font" + }, + { + "type": "const char *", + "name": "fileName" + } + ] + }, + { + "name": "DrawFPS", + "description": "Draw current FPS", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "posX" + }, + { + "type": "int", + "name": "posY" + } + ] + }, + { + "name": "DrawText", + "description": "Draw text (using default font)", + "returnType": "void", + "params": [ + { + "type": "const char *", + "name": "text" + }, + { + "type": "int", + "name": "posX" + }, + { + "type": "int", + "name": "posY" + }, + { + "type": "int", + "name": "fontSize" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawTextEx", + "description": "Draw text using font and additional parameters", + "returnType": "void", + "params": [ + { + "type": "Font", + "name": "font" + }, + { + "type": "const char *", + "name": "text" + }, + { + "type": "Vector2", + "name": "position" + }, + { + "type": "float", + "name": "fontSize" + }, + { + "type": "float", + "name": "spacing" + }, + { + "type": "Color", + "name": "tint" + } + ] + }, + { + "name": "DrawTextPro", + "description": "Draw text using Font and pro parameters (rotation)", + "returnType": "void", + "params": [ + { + "type": "Font", + "name": "font" + }, + { + "type": "const char *", + "name": "text" + }, + { + "type": "Vector2", + "name": "position" + }, + { + "type": "Vector2", + "name": "origin" + }, + { + "type": "float", + "name": "rotation" + }, + { + "type": "float", + "name": "fontSize" + }, + { + "type": "float", + "name": "spacing" + }, + { + "type": "Color", + "name": "tint" + } + ] + }, + { + "name": "DrawTextCodepoint", + "description": "Draw one character (codepoint)", + "returnType": "void", + "params": [ + { + "type": "Font", + "name": "font" + }, + { + "type": "int", + "name": "codepoint" + }, + { + "type": "Vector2", + "name": "position" + }, + { + "type": "float", + "name": "fontSize" + }, + { + "type": "Color", + "name": "tint" + } + ] + }, + { + "name": "DrawTextCodepoints", + "description": "Draw multiple character (codepoint)", + "returnType": "void", + "params": [ + { + "type": "Font", + "name": "font" + }, + { + "type": "const int *", + "name": "codepoints" + }, + { + "type": "int", + "name": "count" + }, + { + "type": "Vector2", + "name": "position" + }, + { + "type": "float", + "name": "fontSize" + }, + { + "type": "float", + "name": "spacing" + }, + { + "type": "Color", + "name": "tint" + } + ] + }, + { + "name": "MeasureText", + "description": "Measure string width for default font", + "returnType": "int", + "params": [ + { + "type": "const char *", + "name": "text" + }, + { + "type": "int", + "name": "fontSize" + } + ] + }, + { + "name": "MeasureTextEx", + "description": "Measure string size for Font", + "returnType": "Vector2", + "params": [ + { + "type": "Font", + "name": "font" + }, + { + "type": "const char *", + "name": "text" + }, + { + "type": "float", + "name": "fontSize" + }, + { + "type": "float", + "name": "spacing" + } + ] + }, + { + "name": "GetGlyphIndex", + "description": "Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found", + "returnType": "int", + "params": [ + { + "type": "Font", + "name": "font" + }, + { + "type": "int", + "name": "codepoint" + } + ] + }, + { + "name": "GetGlyphInfo", + "description": "Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found", + "returnType": "GlyphInfo", + "params": [ + { + "type": "Font", + "name": "font" + }, + { + "type": "int", + "name": "codepoint" + } + ] + }, + { + "name": "GetGlyphAtlasRec", + "description": "Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found", + "returnType": "Rectangle", + "params": [ + { + "type": "Font", + "name": "font" + }, + { + "type": "int", + "name": "codepoint" + } + ] + }, + { + "name": "LoadUTF8", + "description": "Load UTF-8 text encoded from codepoints array", + "returnType": "char *", + "params": [ + { + "type": "const int *", + "name": "codepoints" + }, + { + "type": "int", + "name": "length" + } + ] + }, + { + "name": "UnloadUTF8", + "description": "Unload UTF-8 text encoded from codepoints array", + "returnType": "void", + "params": [ + { + "type": "char *", + "name": "text" + } + ] + }, + { + "name": "LoadCodepoints", + "description": "Load all codepoints from a UTF-8 text string, codepoints count returned by parameter", + "returnType": "int *", + "params": [ + { + "type": "const char *", + "name": "text" + }, + { + "type": "int *", + "name": "count" + } + ] + }, + { + "name": "UnloadCodepoints", + "description": "Unload codepoints data from memory", + "returnType": "void", + "params": [ + { + "type": "int *", + "name": "codepoints" + } + ] + }, + { + "name": "GetCodepointCount", + "description": "Get total number of codepoints in a UTF-8 encoded string", + "returnType": "int", + "params": [ + { + "type": "const char *", + "name": "text" + } + ] + }, + { + "name": "GetCodepoint", + "description": "Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure", + "returnType": "int", + "params": [ + { + "type": "const char *", + "name": "text" + }, + { + "type": "int *", + "name": "codepointSize" + } + ] + }, + { + "name": "GetCodepointNext", + "description": "Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure", + "returnType": "int", + "params": [ + { + "type": "const char *", + "name": "text" + }, + { + "type": "int *", + "name": "codepointSize" + } + ] + }, + { + "name": "GetCodepointPrevious", + "description": "Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure", + "returnType": "int", + "params": [ + { + "type": "const char *", + "name": "text" + }, + { + "type": "int *", + "name": "codepointSize" + } + ] + }, + { + "name": "CodepointToUTF8", + "description": "Encode one codepoint into UTF-8 byte array (array length returned as parameter)", + "returnType": "const char *", + "params": [ + { + "type": "int", + "name": "codepoint" + }, + { + "type": "int *", + "name": "utf8Size" + } + ] + }, + { + "name": "TextCopy", + "description": "Copy one string to another, returns bytes copied", + "returnType": "int", + "params": [ + { + "type": "char *", + "name": "dst" + }, + { + "type": "const char *", + "name": "src" + } + ] + }, + { + "name": "TextIsEqual", + "description": "Check if two text string are equal", + "returnType": "bool", + "params": [ + { + "type": "const char *", + "name": "text1" + }, + { + "type": "const char *", + "name": "text2" + } + ] + }, + { + "name": "TextLength", + "description": "Get text length, checks for '\\0' ending", + "returnType": "unsigned int", + "params": [ + { + "type": "const char *", + "name": "text" + } + ] + }, + { + "name": "TextFormat", + "description": "Text formatting with variables (sprintf() style)", + "returnType": "const char *", + "params": [ + { + "type": "const char *", + "name": "text" + }, + { + "type": "...", + "name": "args" + } + ] + }, + { + "name": "TextSubtext", + "description": "Get a piece of a text string", + "returnType": "const char *", + "params": [ + { + "type": "const char *", + "name": "text" + }, + { + "type": "int", + "name": "position" + }, + { + "type": "int", + "name": "length" + } + ] + }, + { + "name": "TextReplace", + "description": "Replace text string (WARNING: memory must be freed!)", + "returnType": "char *", + "params": [ + { + "type": "char *", + "name": "text" + }, + { + "type": "const char *", + "name": "replace" + }, + { + "type": "const char *", + "name": "by" + } + ] + }, + { + "name": "TextInsert", + "description": "Insert text in a position (WARNING: memory must be freed!)", + "returnType": "char *", + "params": [ + { + "type": "const char *", + "name": "text" + }, + { + "type": "const char *", + "name": "insert" + }, + { + "type": "int", + "name": "position" + } + ] + }, + { + "name": "TextJoin", + "description": "Join text strings with delimiter", + "returnType": "const char *", + "params": [ + { + "type": "const char **", + "name": "textList" + }, + { + "type": "int", + "name": "count" + }, + { + "type": "const char *", + "name": "delimiter" + } + ] + }, + { + "name": "TextSplit", + "description": "Split text into multiple strings", + "returnType": "const char **", + "params": [ + { + "type": "const char *", + "name": "text" + }, + { + "type": "char", + "name": "delimiter" + }, + { + "type": "int *", + "name": "count" + } + ] + }, + { + "name": "TextAppend", + "description": "Append text at specific position and move cursor!", + "returnType": "void", + "params": [ + { + "type": "char *", + "name": "text" + }, + { + "type": "const char *", + "name": "append" + }, + { + "type": "int *", + "name": "position" + } + ] + }, + { + "name": "TextFindIndex", + "description": "Find first text occurrence within a string", + "returnType": "int", + "params": [ + { + "type": "const char *", + "name": "text" + }, + { + "type": "const char *", + "name": "find" + } + ] + }, + { + "name": "TextToUpper", + "description": "Get upper case version of provided string", + "returnType": "const char *", + "params": [ + { + "type": "const char *", + "name": "text" + } + ] + }, + { + "name": "TextToLower", + "description": "Get lower case version of provided string", + "returnType": "const char *", + "params": [ + { + "type": "const char *", + "name": "text" + } + ] + }, + { + "name": "TextToPascal", + "description": "Get Pascal case notation version of provided string", + "returnType": "const char *", + "params": [ + { + "type": "const char *", + "name": "text" + } + ] + }, + { + "name": "TextToInteger", + "description": "Get integer value from text (negative values not supported)", + "returnType": "int", + "params": [ + { + "type": "const char *", + "name": "text" + } + ] + }, + { + "name": "DrawLine3D", + "description": "Draw a line in 3D world space", + "returnType": "void", + "params": [ + { + "type": "Vector3", + "name": "startPos" + }, + { + "type": "Vector3", + "name": "endPos" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawPoint3D", + "description": "Draw a point in 3D space, actually a small line", + "returnType": "void", + "params": [ + { + "type": "Vector3", + "name": "position" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawCircle3D", + "description": "Draw a circle in 3D world space", + "returnType": "void", + "params": [ + { + "type": "Vector3", + "name": "center" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "Vector3", + "name": "rotationAxis" + }, + { + "type": "float", + "name": "rotationAngle" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawTriangle3D", + "description": "Draw a color-filled triangle (vertex in counter-clockwise order!)", + "returnType": "void", + "params": [ + { + "type": "Vector3", + "name": "v1" + }, + { + "type": "Vector3", + "name": "v2" + }, + { + "type": "Vector3", + "name": "v3" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawTriangleStrip3D", + "description": "Draw a triangle strip defined by points", + "returnType": "void", + "params": [ + { + "type": "Vector3 *", + "name": "points" + }, + { + "type": "int", + "name": "pointCount" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawCube", + "description": "Draw cube", + "returnType": "void", + "params": [ + { + "type": "Vector3", + "name": "position" + }, + { + "type": "float", + "name": "width" + }, + { + "type": "float", + "name": "height" + }, + { + "type": "float", + "name": "length" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawCubeV", + "description": "Draw cube (Vector version)", + "returnType": "void", + "params": [ + { + "type": "Vector3", + "name": "position" + }, + { + "type": "Vector3", + "name": "size" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawCubeWires", + "description": "Draw cube wires", + "returnType": "void", + "params": [ + { + "type": "Vector3", + "name": "position" + }, + { + "type": "float", + "name": "width" + }, + { + "type": "float", + "name": "height" + }, + { + "type": "float", + "name": "length" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawCubeWiresV", + "description": "Draw cube wires (Vector version)", + "returnType": "void", + "params": [ + { + "type": "Vector3", + "name": "position" + }, + { + "type": "Vector3", + "name": "size" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawSphere", + "description": "Draw sphere", + "returnType": "void", + "params": [ + { + "type": "Vector3", + "name": "centerPos" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawSphereEx", + "description": "Draw sphere with extended parameters", + "returnType": "void", + "params": [ + { + "type": "Vector3", + "name": "centerPos" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "int", + "name": "rings" + }, + { + "type": "int", + "name": "slices" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawSphereWires", + "description": "Draw sphere wires", + "returnType": "void", + "params": [ + { + "type": "Vector3", + "name": "centerPos" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "int", + "name": "rings" + }, + { + "type": "int", + "name": "slices" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawCylinder", + "description": "Draw a cylinder/cone", + "returnType": "void", + "params": [ + { + "type": "Vector3", + "name": "position" + }, + { + "type": "float", + "name": "radiusTop" + }, + { + "type": "float", + "name": "radiusBottom" + }, + { + "type": "float", + "name": "height" + }, + { + "type": "int", + "name": "slices" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawCylinderEx", + "description": "Draw a cylinder with base at startPos and top at endPos", + "returnType": "void", + "params": [ + { + "type": "Vector3", + "name": "startPos" + }, + { + "type": "Vector3", + "name": "endPos" + }, + { + "type": "float", + "name": "startRadius" + }, + { + "type": "float", + "name": "endRadius" + }, + { + "type": "int", + "name": "sides" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawCylinderWires", + "description": "Draw a cylinder/cone wires", + "returnType": "void", + "params": [ + { + "type": "Vector3", + "name": "position" + }, + { + "type": "float", + "name": "radiusTop" + }, + { + "type": "float", + "name": "radiusBottom" + }, + { + "type": "float", + "name": "height" + }, + { + "type": "int", + "name": "slices" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawCylinderWiresEx", + "description": "Draw a cylinder wires with base at startPos and top at endPos", + "returnType": "void", + "params": [ + { + "type": "Vector3", + "name": "startPos" + }, + { + "type": "Vector3", + "name": "endPos" + }, + { + "type": "float", + "name": "startRadius" + }, + { + "type": "float", + "name": "endRadius" + }, + { + "type": "int", + "name": "sides" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawCapsule", + "description": "Draw a capsule with the center of its sphere caps at startPos and endPos", + "returnType": "void", + "params": [ + { + "type": "Vector3", + "name": "startPos" + }, + { + "type": "Vector3", + "name": "endPos" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "int", + "name": "slices" + }, + { + "type": "int", + "name": "rings" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawCapsuleWires", + "description": "Draw capsule wireframe with the center of its sphere caps at startPos and endPos", + "returnType": "void", + "params": [ + { + "type": "Vector3", + "name": "startPos" + }, + { + "type": "Vector3", + "name": "endPos" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "int", + "name": "slices" + }, + { + "type": "int", + "name": "rings" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawPlane", + "description": "Draw a plane XZ", + "returnType": "void", + "params": [ + { + "type": "Vector3", + "name": "centerPos" + }, + { + "type": "Vector2", + "name": "size" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawRay", + "description": "Draw a ray line", + "returnType": "void", + "params": [ + { + "type": "Ray", + "name": "ray" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawGrid", + "description": "Draw a grid (centered at (0, 0, 0))", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "slices" + }, + { + "type": "float", + "name": "spacing" + } + ] + }, + { + "name": "LoadModel", + "description": "Load model from files (meshes and materials)", + "returnType": "Model", + "params": [ + { + "type": "const char *", + "name": "fileName" + } + ] + }, + { + "name": "LoadModelFromMesh", + "description": "Load model from generated mesh (default material)", + "returnType": "Model", + "params": [ + { + "type": "Mesh", + "name": "mesh" + } + ] + }, + { + "name": "IsModelReady", + "description": "Check if a model is ready", + "returnType": "bool", + "params": [ + { + "type": "Model", + "name": "model" + } + ] + }, + { + "name": "UnloadModel", + "description": "Unload model (including meshes) from memory (RAM and/or VRAM)", + "returnType": "void", + "params": [ + { + "type": "Model", + "name": "model" + } + ] + }, + { + "name": "GetModelBoundingBox", + "description": "Compute model bounding box limits (considers all meshes)", + "returnType": "BoundingBox", + "params": [ + { + "type": "Model", + "name": "model" + } + ] + }, + { + "name": "DrawModel", + "description": "Draw a model (with texture if set)", + "returnType": "void", + "params": [ + { + "type": "Model", + "name": "model" + }, + { + "type": "Vector3", + "name": "position" + }, + { + "type": "float", + "name": "scale" + }, + { + "type": "Color", + "name": "tint" + } + ] + }, + { + "name": "DrawModelEx", + "description": "Draw a model with extended parameters", + "returnType": "void", + "params": [ + { + "type": "Model", + "name": "model" + }, + { + "type": "Vector3", + "name": "position" + }, + { + "type": "Vector3", + "name": "rotationAxis" + }, + { + "type": "float", + "name": "rotationAngle" + }, + { + "type": "Vector3", + "name": "scale" + }, + { + "type": "Color", + "name": "tint" + } + ] + }, + { + "name": "DrawModelWires", + "description": "Draw a model wires (with texture if set)", + "returnType": "void", + "params": [ + { + "type": "Model", + "name": "model" + }, + { + "type": "Vector3", + "name": "position" + }, + { + "type": "float", + "name": "scale" + }, + { + "type": "Color", + "name": "tint" + } + ] + }, + { + "name": "DrawModelWiresEx", + "description": "Draw a model wires (with texture if set) with extended parameters", + "returnType": "void", + "params": [ + { + "type": "Model", + "name": "model" + }, + { + "type": "Vector3", + "name": "position" + }, + { + "type": "Vector3", + "name": "rotationAxis" + }, + { + "type": "float", + "name": "rotationAngle" + }, + { + "type": "Vector3", + "name": "scale" + }, + { + "type": "Color", + "name": "tint" + } + ] + }, + { + "name": "DrawBoundingBox", + "description": "Draw bounding box (wires)", + "returnType": "void", + "params": [ + { + "type": "BoundingBox", + "name": "box" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawBillboard", + "description": "Draw a billboard texture", + "returnType": "void", + "params": [ + { + "type": "Camera", + "name": "camera" + }, + { + "type": "Texture2D", + "name": "texture" + }, + { + "type": "Vector3", + "name": "position" + }, + { + "type": "float", + "name": "size" + }, + { + "type": "Color", + "name": "tint" + } + ] + }, + { + "name": "DrawBillboardRec", + "description": "Draw a billboard texture defined by source", + "returnType": "void", + "params": [ + { + "type": "Camera", + "name": "camera" + }, + { + "type": "Texture2D", + "name": "texture" + }, + { + "type": "Rectangle", + "name": "source" + }, + { + "type": "Vector3", + "name": "position" + }, + { + "type": "Vector2", + "name": "size" + }, + { + "type": "Color", + "name": "tint" + } + ] + }, + { + "name": "DrawBillboardPro", + "description": "Draw a billboard texture defined by source and rotation", + "returnType": "void", + "params": [ + { + "type": "Camera", + "name": "camera" + }, + { + "type": "Texture2D", + "name": "texture" + }, + { + "type": "Rectangle", + "name": "source" + }, + { + "type": "Vector3", + "name": "position" + }, + { + "type": "Vector3", + "name": "up" + }, + { + "type": "Vector2", + "name": "size" + }, + { + "type": "Vector2", + "name": "origin" + }, + { + "type": "float", + "name": "rotation" + }, + { + "type": "Color", + "name": "tint" + } + ] + }, + { + "name": "UploadMesh", + "description": "Upload mesh vertex data in GPU and provide VAO/VBO ids", + "returnType": "void", + "params": [ + { + "type": "Mesh *", + "name": "mesh" + }, + { + "type": "bool", + "name": "dynamic" + } + ] + }, + { + "name": "UpdateMeshBuffer", + "description": "Update mesh vertex data in GPU for a specific buffer index", + "returnType": "void", + "params": [ + { + "type": "Mesh", + "name": "mesh" + }, + { + "type": "int", + "name": "index" + }, + { + "type": "const void *", + "name": "data" + }, + { + "type": "int", + "name": "dataSize" + }, + { + "type": "int", + "name": "offset" + } + ] + }, + { + "name": "UnloadMesh", + "description": "Unload mesh data from CPU and GPU", + "returnType": "void", + "params": [ + { + "type": "Mesh", + "name": "mesh" + } + ] + }, + { + "name": "DrawMesh", + "description": "Draw a 3d mesh with material and transform", + "returnType": "void", + "params": [ + { + "type": "Mesh", + "name": "mesh" + }, + { + "type": "Material", + "name": "material" + }, + { + "type": "Matrix", + "name": "transform" + } + ] + }, + { + "name": "DrawMeshInstanced", + "description": "Draw multiple mesh instances with material and different transforms", + "returnType": "void", + "params": [ + { + "type": "Mesh", + "name": "mesh" + }, + { + "type": "Material", + "name": "material" + }, + { + "type": "const Matrix *", + "name": "transforms" + }, + { + "type": "int", + "name": "instances" + } + ] + }, + { + "name": "ExportMesh", + "description": "Export mesh data to file, returns true on success", + "returnType": "bool", + "params": [ + { + "type": "Mesh", + "name": "mesh" + }, + { + "type": "const char *", + "name": "fileName" + } + ] + }, + { + "name": "GetMeshBoundingBox", + "description": "Compute mesh bounding box limits", + "returnType": "BoundingBox", + "params": [ + { + "type": "Mesh", + "name": "mesh" + } + ] + }, + { + "name": "GenMeshTangents", + "description": "Compute mesh tangents", + "returnType": "void", + "params": [ + { + "type": "Mesh *", + "name": "mesh" + } + ] + }, + { + "name": "GenMeshPoly", + "description": "Generate polygonal mesh", + "returnType": "Mesh", + "params": [ + { + "type": "int", + "name": "sides" + }, + { + "type": "float", + "name": "radius" + } + ] + }, + { + "name": "GenMeshPlane", + "description": "Generate plane mesh (with subdivisions)", + "returnType": "Mesh", + "params": [ + { + "type": "float", + "name": "width" + }, + { + "type": "float", + "name": "length" + }, + { + "type": "int", + "name": "resX" + }, + { + "type": "int", + "name": "resZ" + } + ] + }, + { + "name": "GenMeshCube", + "description": "Generate cuboid mesh", + "returnType": "Mesh", + "params": [ + { + "type": "float", + "name": "width" + }, + { + "type": "float", + "name": "height" + }, + { + "type": "float", + "name": "length" + } + ] + }, + { + "name": "GenMeshSphere", + "description": "Generate sphere mesh (standard sphere)", + "returnType": "Mesh", + "params": [ + { + "type": "float", + "name": "radius" + }, + { + "type": "int", + "name": "rings" + }, + { + "type": "int", + "name": "slices" + } + ] + }, + { + "name": "GenMeshHemiSphere", + "description": "Generate half-sphere mesh (no bottom cap)", + "returnType": "Mesh", + "params": [ + { + "type": "float", + "name": "radius" + }, + { + "type": "int", + "name": "rings" + }, + { + "type": "int", + "name": "slices" + } + ] + }, + { + "name": "GenMeshCylinder", + "description": "Generate cylinder mesh", + "returnType": "Mesh", + "params": [ + { + "type": "float", + "name": "radius" + }, + { + "type": "float", + "name": "height" + }, + { + "type": "int", + "name": "slices" + } + ] + }, + { + "name": "GenMeshCone", + "description": "Generate cone/pyramid mesh", + "returnType": "Mesh", + "params": [ + { + "type": "float", + "name": "radius" + }, + { + "type": "float", + "name": "height" + }, + { + "type": "int", + "name": "slices" + } + ] + }, + { + "name": "GenMeshTorus", + "description": "Generate torus mesh", + "returnType": "Mesh", + "params": [ + { + "type": "float", + "name": "radius" + }, + { + "type": "float", + "name": "size" + }, + { + "type": "int", + "name": "radSeg" + }, + { + "type": "int", + "name": "sides" + } + ] + }, + { + "name": "GenMeshKnot", + "description": "Generate trefoil knot mesh", + "returnType": "Mesh", + "params": [ + { + "type": "float", + "name": "radius" + }, + { + "type": "float", + "name": "size" + }, + { + "type": "int", + "name": "radSeg" + }, + { + "type": "int", + "name": "sides" + } + ] + }, + { + "name": "GenMeshHeightmap", + "description": "Generate heightmap mesh from image data", + "returnType": "Mesh", + "params": [ + { + "type": "Image", + "name": "heightmap" + }, + { + "type": "Vector3", + "name": "size" + } + ] + }, + { + "name": "GenMeshCubicmap", + "description": "Generate cubes-based map mesh from image data", + "returnType": "Mesh", + "params": [ + { + "type": "Image", + "name": "cubicmap" + }, + { + "type": "Vector3", + "name": "cubeSize" + } + ] + }, + { + "name": "LoadMaterials", + "description": "Load materials from model file", + "returnType": "Material *", + "params": [ + { + "type": "const char *", + "name": "fileName" + }, + { + "type": "int *", + "name": "materialCount" + } + ] + }, + { + "name": "LoadMaterialDefault", + "description": "Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)", + "returnType": "Material" + }, + { + "name": "IsMaterialReady", + "description": "Check if a material is ready", + "returnType": "bool", + "params": [ + { + "type": "Material", + "name": "material" + } + ] + }, + { + "name": "UnloadMaterial", + "description": "Unload material from GPU memory (VRAM)", + "returnType": "void", + "params": [ + { + "type": "Material", + "name": "material" + } + ] + }, + { + "name": "SetMaterialTexture", + "description": "Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...)", + "returnType": "void", + "params": [ + { + "type": "Material *", + "name": "material" + }, + { + "type": "int", + "name": "mapType" + }, + { + "type": "Texture2D", + "name": "texture" + } + ] + }, + { + "name": "SetModelMeshMaterial", + "description": "Set material for a mesh", + "returnType": "void", + "params": [ + { + "type": "Model *", + "name": "model" + }, + { + "type": "int", + "name": "meshId" + }, + { + "type": "int", + "name": "materialId" + } + ] + }, + { + "name": "LoadModelAnimations", + "description": "Load model animations from file", + "returnType": "ModelAnimation *", + "params": [ + { + "type": "const char *", + "name": "fileName" + }, + { + "type": "unsigned int *", + "name": "animCount" + } + ] + }, + { + "name": "UpdateModelAnimation", + "description": "Update model animation pose", + "returnType": "void", + "params": [ + { + "type": "Model", + "name": "model" + }, + { + "type": "ModelAnimation", + "name": "anim" + }, + { + "type": "int", + "name": "frame" + } + ] + }, + { + "name": "UnloadModelAnimation", + "description": "Unload animation data", + "returnType": "void", + "params": [ + { + "type": "ModelAnimation", + "name": "anim" + } + ] + }, + { + "name": "UnloadModelAnimations", + "description": "Unload animation array data", + "returnType": "void", + "params": [ + { + "type": "ModelAnimation *", + "name": "animations" + }, + { + "type": "unsigned int", + "name": "count" + } + ] + }, + { + "name": "IsModelAnimationValid", + "description": "Check model animation skeleton match", + "returnType": "bool", + "params": [ + { + "type": "Model", + "name": "model" + }, + { + "type": "ModelAnimation", + "name": "anim" + } + ] + }, + { + "name": "CheckCollisionSpheres", + "description": "Check collision between two spheres", + "returnType": "bool", + "params": [ + { + "type": "Vector3", + "name": "center1" + }, + { + "type": "float", + "name": "radius1" + }, + { + "type": "Vector3", + "name": "center2" + }, + { + "type": "float", + "name": "radius2" + } + ] + }, + { + "name": "CheckCollisionBoxes", + "description": "Check collision between two bounding boxes", + "returnType": "bool", + "params": [ + { + "type": "BoundingBox", + "name": "box1" + }, + { + "type": "BoundingBox", + "name": "box2" + } + ] + }, + { + "name": "CheckCollisionBoxSphere", + "description": "Check collision between box and sphere", + "returnType": "bool", + "params": [ + { + "type": "BoundingBox", + "name": "box" + }, + { + "type": "Vector3", + "name": "center" + }, + { + "type": "float", + "name": "radius" + } + ] + }, + { + "name": "GetRayCollisionSphere", + "description": "Get collision info between ray and sphere", + "returnType": "RayCollision", + "params": [ + { + "type": "Ray", + "name": "ray" + }, + { + "type": "Vector3", + "name": "center" + }, + { + "type": "float", + "name": "radius" + } + ] + }, + { + "name": "GetRayCollisionBox", + "description": "Get collision info between ray and box", + "returnType": "RayCollision", + "params": [ + { + "type": "Ray", + "name": "ray" + }, + { + "type": "BoundingBox", + "name": "box" + } + ] + }, + { + "name": "GetRayCollisionMesh", + "description": "Get collision info between ray and mesh", + "returnType": "RayCollision", + "params": [ + { + "type": "Ray", + "name": "ray" + }, + { + "type": "Mesh", + "name": "mesh" + }, + { + "type": "Matrix", + "name": "transform" + } + ] + }, + { + "name": "GetRayCollisionTriangle", + "description": "Get collision info between ray and triangle", + "returnType": "RayCollision", + "params": [ + { + "type": "Ray", + "name": "ray" + }, + { + "type": "Vector3", + "name": "p1" + }, + { + "type": "Vector3", + "name": "p2" + }, + { + "type": "Vector3", + "name": "p3" + } + ] + }, + { + "name": "GetRayCollisionQuad", + "description": "Get collision info between ray and quad", + "returnType": "RayCollision", + "params": [ + { + "type": "Ray", + "name": "ray" + }, + { + "type": "Vector3", + "name": "p1" + }, + { + "type": "Vector3", + "name": "p2" + }, + { + "type": "Vector3", + "name": "p3" + }, + { + "type": "Vector3", + "name": "p4" + } + ] + }, + { + "name": "InitAudioDevice", + "description": "Initialize audio device and context", + "returnType": "void" + }, + { + "name": "CloseAudioDevice", + "description": "Close the audio device and context", + "returnType": "void" + }, + { + "name": "IsAudioDeviceReady", + "description": "Check if audio device has been initialized successfully", + "returnType": "bool" + }, + { + "name": "SetMasterVolume", + "description": "Set master volume (listener)", + "returnType": "void", + "params": [ + { + "type": "float", + "name": "volume" + } + ] + }, + { + "name": "LoadWave", + "description": "Load wave data from file", + "returnType": "Wave", + "params": [ + { + "type": "const char *", + "name": "fileName" + } + ] + }, + { + "name": "LoadWaveFromMemory", + "description": "Load wave from memory buffer, fileType refers to extension: i.e. '.wav'", + "returnType": "Wave", + "params": [ + { + "type": "const char *", + "name": "fileType" + }, + { + "type": "const unsigned char *", + "name": "fileData" + }, + { + "type": "int", + "name": "dataSize" + } + ] + }, + { + "name": "IsWaveReady", + "description": "Checks if wave data is ready", + "returnType": "bool", + "params": [ + { + "type": "Wave", + "name": "wave" + } + ] + }, + { + "name": "LoadSound", + "description": "Load sound from file", + "returnType": "Sound", + "params": [ + { + "type": "const char *", + "name": "fileName" + } + ] + }, + { + "name": "LoadSoundFromWave", + "description": "Load sound from wave data", + "returnType": "Sound", + "params": [ + { + "type": "Wave", + "name": "wave" + } + ] + }, + { + "name": "IsSoundReady", + "description": "Checks if a sound is ready", + "returnType": "bool", + "params": [ + { + "type": "Sound", + "name": "sound" + } + ] + }, + { + "name": "UpdateSound", + "description": "Update sound buffer with new data", + "returnType": "void", + "params": [ + { + "type": "Sound", + "name": "sound" + }, + { + "type": "const void *", + "name": "data" + }, + { + "type": "int", + "name": "sampleCount" + } + ] + }, + { + "name": "UnloadWave", + "description": "Unload wave data", + "returnType": "void", + "params": [ + { + "type": "Wave", + "name": "wave" + } + ] + }, + { + "name": "UnloadSound", + "description": "Unload sound", + "returnType": "void", + "params": [ + { + "type": "Sound", + "name": "sound" + } + ] + }, + { + "name": "ExportWave", + "description": "Export wave data to file, returns true on success", + "returnType": "bool", + "params": [ + { + "type": "Wave", + "name": "wave" + }, + { + "type": "const char *", + "name": "fileName" + } + ] + }, + { + "name": "ExportWaveAsCode", + "description": "Export wave sample data to code (.h), returns true on success", + "returnType": "bool", + "params": [ + { + "type": "Wave", + "name": "wave" + }, + { + "type": "const char *", + "name": "fileName" + } + ] + }, + { + "name": "PlaySound", + "description": "Play a sound", + "returnType": "void", + "params": [ + { + "type": "Sound", + "name": "sound" + } + ] + }, + { + "name": "StopSound", + "description": "Stop playing a sound", + "returnType": "void", + "params": [ + { + "type": "Sound", + "name": "sound" + } + ] + }, + { + "name": "PauseSound", + "description": "Pause a sound", + "returnType": "void", + "params": [ + { + "type": "Sound", + "name": "sound" + } + ] + }, + { + "name": "ResumeSound", + "description": "Resume a paused sound", + "returnType": "void", + "params": [ + { + "type": "Sound", + "name": "sound" + } + ] + }, + { + "name": "IsSoundPlaying", + "description": "Check if a sound is currently playing", + "returnType": "bool", + "params": [ + { + "type": "Sound", + "name": "sound" + } + ] + }, + { + "name": "SetSoundVolume", + "description": "Set volume for a sound (1.0 is max level)", + "returnType": "void", + "params": [ + { + "type": "Sound", + "name": "sound" + }, + { + "type": "float", + "name": "volume" + } + ] + }, + { + "name": "SetSoundPitch", + "description": "Set pitch for a sound (1.0 is base level)", + "returnType": "void", + "params": [ + { + "type": "Sound", + "name": "sound" + }, + { + "type": "float", + "name": "pitch" + } + ] + }, + { + "name": "SetSoundPan", + "description": "Set pan for a sound (0.5 is center)", + "returnType": "void", + "params": [ + { + "type": "Sound", + "name": "sound" + }, + { + "type": "float", + "name": "pan" + } + ] + }, + { + "name": "WaveCopy", + "description": "Copy a wave to a new wave", + "returnType": "Wave", + "params": [ + { + "type": "Wave", + "name": "wave" + } + ] + }, + { + "name": "WaveCrop", + "description": "Crop a wave to defined samples range", + "returnType": "void", + "params": [ + { + "type": "Wave *", + "name": "wave" + }, + { + "type": "int", + "name": "initSample" + }, + { + "type": "int", + "name": "finalSample" + } + ] + }, + { + "name": "WaveFormat", + "description": "Convert wave data to desired format", + "returnType": "void", + "params": [ + { + "type": "Wave *", + "name": "wave" + }, + { + "type": "int", + "name": "sampleRate" + }, + { + "type": "int", + "name": "sampleSize" + }, + { + "type": "int", + "name": "channels" + } + ] + }, + { + "name": "LoadWaveSamples", + "description": "Load samples data from wave as a 32bit float data array", + "returnType": "float *", + "params": [ + { + "type": "Wave", + "name": "wave" + } + ] + }, + { + "name": "UnloadWaveSamples", + "description": "Unload samples data loaded with LoadWaveSamples()", + "returnType": "void", + "params": [ + { + "type": "float *", + "name": "samples" + } + ] + }, + { + "name": "LoadMusicStream", + "description": "Load music stream from file", + "returnType": "Music", + "params": [ + { + "type": "const char *", + "name": "fileName" + } + ] + }, + { + "name": "LoadMusicStreamFromMemory", + "description": "Load music stream from data", + "returnType": "Music", + "params": [ + { + "type": "const char *", + "name": "fileType" + }, + { + "type": "const unsigned char *", + "name": "data" + }, + { + "type": "int", + "name": "dataSize" + } + ] + }, + { + "name": "IsMusicReady", + "description": "Checks if a music stream is ready", + "returnType": "bool", + "params": [ + { + "type": "Music", + "name": "music" + } + ] + }, + { + "name": "UnloadMusicStream", + "description": "Unload music stream", + "returnType": "void", + "params": [ + { + "type": "Music", + "name": "music" + } + ] + }, + { + "name": "PlayMusicStream", + "description": "Start music playing", + "returnType": "void", + "params": [ + { + "type": "Music", + "name": "music" + } + ] + }, + { + "name": "IsMusicStreamPlaying", + "description": "Check if music is playing", + "returnType": "bool", + "params": [ + { + "type": "Music", + "name": "music" + } + ] + }, + { + "name": "UpdateMusicStream", + "description": "Updates buffers for music streaming", + "returnType": "void", + "params": [ + { + "type": "Music", + "name": "music" + } + ] + }, + { + "name": "StopMusicStream", + "description": "Stop music playing", + "returnType": "void", + "params": [ + { + "type": "Music", + "name": "music" + } + ] + }, + { + "name": "PauseMusicStream", + "description": "Pause music playing", + "returnType": "void", + "params": [ + { + "type": "Music", + "name": "music" + } + ] + }, + { + "name": "ResumeMusicStream", + "description": "Resume playing paused music", + "returnType": "void", + "params": [ + { + "type": "Music", + "name": "music" + } + ] + }, + { + "name": "SeekMusicStream", + "description": "Seek music to a position (in seconds)", + "returnType": "void", + "params": [ + { + "type": "Music", + "name": "music" + }, + { + "type": "float", + "name": "position" + } + ] + }, + { + "name": "SetMusicVolume", + "description": "Set volume for music (1.0 is max level)", + "returnType": "void", + "params": [ + { + "type": "Music", + "name": "music" + }, + { + "type": "float", + "name": "volume" + } + ] + }, + { + "name": "SetMusicPitch", + "description": "Set pitch for a music (1.0 is base level)", + "returnType": "void", + "params": [ + { + "type": "Music", + "name": "music" + }, + { + "type": "float", + "name": "pitch" + } + ] + }, + { + "name": "SetMusicPan", + "description": "Set pan for a music (0.5 is center)", + "returnType": "void", + "params": [ + { + "type": "Music", + "name": "music" + }, + { + "type": "float", + "name": "pan" + } + ] + }, + { + "name": "GetMusicTimeLength", + "description": "Get music time length (in seconds)", + "returnType": "float", + "params": [ + { + "type": "Music", + "name": "music" + } + ] + }, + { + "name": "GetMusicTimePlayed", + "description": "Get current music time played (in seconds)", + "returnType": "float", + "params": [ + { + "type": "Music", + "name": "music" + } + ] + }, + { + "name": "LoadAudioStream", + "description": "Load audio stream (to stream raw audio pcm data)", + "returnType": "AudioStream", + "params": [ + { + "type": "unsigned int", + "name": "sampleRate" + }, + { + "type": "unsigned int", + "name": "sampleSize" + }, + { + "type": "unsigned int", + "name": "channels" + } + ] + }, + { + "name": "IsAudioStreamReady", + "description": "Checks if an audio stream is ready", + "returnType": "bool", + "params": [ + { + "type": "AudioStream", + "name": "stream" + } + ] + }, + { + "name": "UnloadAudioStream", + "description": "Unload audio stream and free memory", + "returnType": "void", + "params": [ + { + "type": "AudioStream", + "name": "stream" + } + ] + }, + { + "name": "UpdateAudioStream", + "description": "Update audio stream buffers with data", + "returnType": "void", + "params": [ + { + "type": "AudioStream", + "name": "stream" + }, + { + "type": "const void *", + "name": "data" + }, + { + "type": "int", + "name": "frameCount" + } + ] + }, + { + "name": "IsAudioStreamProcessed", + "description": "Check if any audio stream buffers requires refill", + "returnType": "bool", + "params": [ + { + "type": "AudioStream", + "name": "stream" + } + ] + }, + { + "name": "PlayAudioStream", + "description": "Play audio stream", + "returnType": "void", + "params": [ + { + "type": "AudioStream", + "name": "stream" + } + ] + }, + { + "name": "PauseAudioStream", + "description": "Pause audio stream", + "returnType": "void", + "params": [ + { + "type": "AudioStream", + "name": "stream" + } + ] + }, + { + "name": "ResumeAudioStream", + "description": "Resume audio stream", + "returnType": "void", + "params": [ + { + "type": "AudioStream", + "name": "stream" + } + ] + }, + { + "name": "IsAudioStreamPlaying", + "description": "Check if audio stream is playing", + "returnType": "bool", + "params": [ + { + "type": "AudioStream", + "name": "stream" + } + ] + }, + { + "name": "StopAudioStream", + "description": "Stop audio stream", + "returnType": "void", + "params": [ + { + "type": "AudioStream", + "name": "stream" + } + ] + }, + { + "name": "SetAudioStreamVolume", + "description": "Set volume for audio stream (1.0 is max level)", + "returnType": "void", + "params": [ + { + "type": "AudioStream", + "name": "stream" + }, + { + "type": "float", + "name": "volume" + } + ] + }, + { + "name": "SetAudioStreamPitch", + "description": "Set pitch for audio stream (1.0 is base level)", + "returnType": "void", + "params": [ + { + "type": "AudioStream", + "name": "stream" + }, + { + "type": "float", + "name": "pitch" + } + ] + }, + { + "name": "SetAudioStreamPan", + "description": "Set pan for audio stream (0.5 is centered)", + "returnType": "void", + "params": [ + { + "type": "AudioStream", + "name": "stream" + }, + { + "type": "float", + "name": "pan" + } + ] + }, + { + "name": "SetAudioStreamBufferSizeDefault", + "description": "Default size for new audio streams", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "size" + } + ] + }, + { + "name": "SetAudioStreamCallback", + "description": "Audio thread callback to request new data", + "returnType": "void", + "params": [ + { + "type": "AudioStream", + "name": "stream" + }, + { + "type": "AudioCallback", + "name": "callback" + } + ] + }, + { + "name": "AttachAudioStreamProcessor", + "description": "Attach audio stream processor to stream", + "returnType": "void", + "params": [ + { + "type": "AudioStream", + "name": "stream" + }, + { + "type": "AudioCallback", + "name": "processor" + } + ] + }, + { + "name": "DetachAudioStreamProcessor", + "description": "Detach audio stream processor from stream", + "returnType": "void", + "params": [ + { + "type": "AudioStream", + "name": "stream" + }, + { + "type": "AudioCallback", + "name": "processor" + } + ] + }, + { + "name": "AttachAudioMixedProcessor", + "description": "Attach audio stream processor to the entire audio pipeline", + "returnType": "void", + "params": [ + { + "type": "AudioCallback", + "name": "processor" + } + ] + }, + { + "name": "DetachAudioMixedProcessor", + "description": "Detach audio stream processor from the entire audio pipeline", + "returnType": "void", + "params": [ + { + "type": "AudioCallback", + "name": "processor" + } + ] + } + ] +} diff --git a/raylib-api/raylib.lua b/raylib-api/raylib.lua new file mode 100644 index 0000000..0a1b958 --- /dev/null +++ b/raylib-api/raylib.lua @@ -0,0 +1,7588 @@ +return { + defines = { + { + name = "RAYLIB_H", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RAYLIB_VERSION_MAJOR", + type = "INT", + value = 4, + description = "" + }, + { + name = "RAYLIB_VERSION_MINOR", + type = "INT", + value = 5, + description = "" + }, + { + name = "RAYLIB_VERSION_PATCH", + type = "INT", + value = 0, + description = "" + }, + { + name = "RAYLIB_VERSION", + type = "STRING", + value = "4.5", + description = "" + }, + { + name = "__declspec(x)", + type = "MACRO", + value = "__attribute__((x))", + description = "" + }, + { + name = "RLAPI", + type = "UNKNOWN", + value = "__declspec(dllexport)", + description = "We are building the library as a Win32 shared library (.dll)" + }, + { + name = "PI", + type = "FLOAT", + value = 3.14159265358979323846, + description = "" + }, + { + name = "DEG2RAD", + type = "FLOAT_MATH", + value = "(PI/180.0f)", + description = "" + }, + { + name = "RAD2DEG", + type = "FLOAT_MATH", + value = "(180.0f/PI)", + description = "" + }, + { + name = "RL_MALLOC(sz)", + type = "MACRO", + value = "malloc(sz)", + description = "" + }, + { + name = "RL_CALLOC(n,sz)", + type = "MACRO", + value = "calloc(n,sz)", + description = "" + }, + { + name = "RL_REALLOC(ptr,sz)", + type = "MACRO", + value = "realloc(ptr,sz)", + description = "" + }, + { + name = "RL_FREE(ptr)", + type = "MACRO", + value = "free(ptr)", + description = "" + }, + { + name = "CLITERAL(type)", + type = "MACRO", + value = "type", + description = "" + }, + { + name = "RL_COLOR_TYPE", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RL_RECTANGLE_TYPE", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RL_VECTOR2_TYPE", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RL_VECTOR3_TYPE", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RL_VECTOR4_TYPE", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RL_QUATERNION_TYPE", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RL_MATRIX_TYPE", + type = "GUARD", + value = "", + description = "" + }, + { + name = "LIGHTGRAY", + type = "COLOR", + value = "CLITERAL(Color){ 200, 200, 200, 255 }", + description = "Light Gray" + }, + { + name = "GRAY", + type = "COLOR", + value = "CLITERAL(Color){ 130, 130, 130, 255 }", + description = "Gray" + }, + { + name = "DARKGRAY", + type = "COLOR", + value = "CLITERAL(Color){ 80, 80, 80, 255 }", + description = "Dark Gray" + }, + { + name = "YELLOW", + type = "COLOR", + value = "CLITERAL(Color){ 253, 249, 0, 255 }", + description = "Yellow" + }, + { + name = "GOLD", + type = "COLOR", + value = "CLITERAL(Color){ 255, 203, 0, 255 }", + description = "Gold" + }, + { + name = "ORANGE", + type = "COLOR", + value = "CLITERAL(Color){ 255, 161, 0, 255 }", + description = "Orange" + }, + { + name = "PINK", + type = "COLOR", + value = "CLITERAL(Color){ 255, 109, 194, 255 }", + description = "Pink" + }, + { + name = "RED", + type = "COLOR", + value = "CLITERAL(Color){ 230, 41, 55, 255 }", + description = "Red" + }, + { + name = "MAROON", + type = "COLOR", + value = "CLITERAL(Color){ 190, 33, 55, 255 }", + description = "Maroon" + }, + { + name = "GREEN", + type = "COLOR", + value = "CLITERAL(Color){ 0, 228, 48, 255 }", + description = "Green" + }, + { + name = "LIME", + type = "COLOR", + value = "CLITERAL(Color){ 0, 158, 47, 255 }", + description = "Lime" + }, + { + name = "DARKGREEN", + type = "COLOR", + value = "CLITERAL(Color){ 0, 117, 44, 255 }", + description = "Dark Green" + }, + { + name = "SKYBLUE", + type = "COLOR", + value = "CLITERAL(Color){ 102, 191, 255, 255 }", + description = "Sky Blue" + }, + { + name = "BLUE", + type = "COLOR", + value = "CLITERAL(Color){ 0, 121, 241, 255 }", + description = "Blue" + }, + { + name = "DARKBLUE", + type = "COLOR", + value = "CLITERAL(Color){ 0, 82, 172, 255 }", + description = "Dark Blue" + }, + { + name = "PURPLE", + type = "COLOR", + value = "CLITERAL(Color){ 200, 122, 255, 255 }", + description = "Purple" + }, + { + name = "VIOLET", + type = "COLOR", + value = "CLITERAL(Color){ 135, 60, 190, 255 }", + description = "Violet" + }, + { + name = "DARKPURPLE", + type = "COLOR", + value = "CLITERAL(Color){ 112, 31, 126, 255 }", + description = "Dark Purple" + }, + { + name = "BEIGE", + type = "COLOR", + value = "CLITERAL(Color){ 211, 176, 131, 255 }", + description = "Beige" + }, + { + name = "BROWN", + type = "COLOR", + value = "CLITERAL(Color){ 127, 106, 79, 255 }", + description = "Brown" + }, + { + name = "DARKBROWN", + type = "COLOR", + value = "CLITERAL(Color){ 76, 63, 47, 255 }", + description = "Dark Brown" + }, + { + name = "WHITE", + type = "COLOR", + value = "CLITERAL(Color){ 255, 255, 255, 255 }", + description = "White" + }, + { + name = "BLACK", + type = "COLOR", + value = "CLITERAL(Color){ 0, 0, 0, 255 }", + description = "Black" + }, + { + name = "BLANK", + type = "COLOR", + value = "CLITERAL(Color){ 0, 0, 0, 0 }", + description = "Blank (Transparent)" + }, + { + name = "MAGENTA", + type = "COLOR", + value = "CLITERAL(Color){ 255, 0, 255, 255 }", + description = "Magenta" + }, + { + name = "RAYWHITE", + type = "COLOR", + value = "CLITERAL(Color){ 245, 245, 245, 255 }", + description = "My own White (raylib logo)" + }, + { + name = "RL_BOOL_TYPE", + type = "GUARD", + value = "", + description = "" + }, + { + name = "MOUSE_LEFT_BUTTON", + type = "UNKNOWN", + value = "MOUSE_BUTTON_LEFT", + description = "" + }, + { + name = "MOUSE_RIGHT_BUTTON", + type = "UNKNOWN", + value = "MOUSE_BUTTON_RIGHT", + description = "" + }, + { + name = "MOUSE_MIDDLE_BUTTON", + type = "UNKNOWN", + value = "MOUSE_BUTTON_MIDDLE", + description = "" + }, + { + name = "MATERIAL_MAP_DIFFUSE", + type = "UNKNOWN", + value = "MATERIAL_MAP_ALBEDO", + description = "" + }, + { + name = "MATERIAL_MAP_SPECULAR", + type = "UNKNOWN", + value = "MATERIAL_MAP_METALNESS", + description = "" + }, + { + name = "SHADER_LOC_MAP_DIFFUSE", + type = "UNKNOWN", + value = "SHADER_LOC_MAP_ALBEDO", + description = "" + }, + { + name = "SHADER_LOC_MAP_SPECULAR", + type = "UNKNOWN", + value = "SHADER_LOC_MAP_METALNESS", + description = "" + } + }, + structs = { + { + name = "Vector2", + description = "Vector2, 2 components", + fields = { + { + type = "float", + name = "x", + description = "Vector x component" + }, + { + type = "float", + name = "y", + description = "Vector y component" + } + } + }, + { + name = "Vector3", + description = "Vector3, 3 components", + fields = { + { + type = "float", + name = "x", + description = "Vector x component" + }, + { + type = "float", + name = "y", + description = "Vector y component" + }, + { + type = "float", + name = "z", + description = "Vector z component" + } + } + }, + { + name = "Vector4", + description = "Vector4, 4 components", + fields = { + { + type = "float", + name = "x", + description = "Vector x component" + }, + { + type = "float", + name = "y", + description = "Vector y component" + }, + { + type = "float", + name = "z", + description = "Vector z component" + }, + { + type = "float", + name = "w", + description = "Vector w component" + } + } + }, + { + name = "Matrix", + description = "Matrix, 4x4 components, column major, OpenGL style, right-handed", + fields = { + { + type = "float", + name = "m0", + description = "Matrix first row (4 components)" + }, + { + type = "float", + name = "m4", + description = "Matrix first row (4 components)" + }, + { + type = "float", + name = "m8", + description = "Matrix first row (4 components)" + }, + { + type = "float", + name = "m12", + description = "Matrix first row (4 components)" + }, + { + type = "float", + name = "m1", + description = "Matrix second row (4 components)" + }, + { + type = "float", + name = "m5", + description = "Matrix second row (4 components)" + }, + { + type = "float", + name = "m9", + description = "Matrix second row (4 components)" + }, + { + type = "float", + name = "m13", + description = "Matrix second row (4 components)" + }, + { + type = "float", + name = "m2", + description = "Matrix third row (4 components)" + }, + { + type = "float", + name = "m6", + description = "Matrix third row (4 components)" + }, + { + type = "float", + name = "m10", + description = "Matrix third row (4 components)" + }, + { + type = "float", + name = "m14", + description = "Matrix third row (4 components)" + }, + { + type = "float", + name = "m3", + description = "Matrix fourth row (4 components)" + }, + { + type = "float", + name = "m7", + description = "Matrix fourth row (4 components)" + }, + { + type = "float", + name = "m11", + description = "Matrix fourth row (4 components)" + }, + { + type = "float", + name = "m15", + description = "Matrix fourth row (4 components)" + } + } + }, + { + name = "Color", + description = "Color, 4 components, R8G8B8A8 (32bit)", + fields = { + { + type = "unsigned char", + name = "r", + description = "Color red value" + }, + { + type = "unsigned char", + name = "g", + description = "Color green value" + }, + { + type = "unsigned char", + name = "b", + description = "Color blue value" + }, + { + type = "unsigned char", + name = "a", + description = "Color alpha value" + } + } + }, + { + name = "Rectangle", + description = "Rectangle, 4 components", + fields = { + { + type = "float", + name = "x", + description = "Rectangle top-left corner position x" + }, + { + type = "float", + name = "y", + description = "Rectangle top-left corner position y" + }, + { + type = "float", + name = "width", + description = "Rectangle width" + }, + { + type = "float", + name = "height", + description = "Rectangle height" + } + } + }, + { + name = "Image", + description = "Image, pixel data stored in CPU memory (RAM)", + fields = { + { + type = "void *", + name = "data", + description = "Image raw data" + }, + { + type = "int", + name = "width", + description = "Image base width" + }, + { + type = "int", + name = "height", + description = "Image base height" + }, + { + type = "int", + name = "mipmaps", + description = "Mipmap levels, 1 by default" + }, + { + type = "int", + name = "format", + description = "Data format (PixelFormat type)" + } + } + }, + { + name = "Texture", + description = "Texture, tex data stored in GPU memory (VRAM)", + fields = { + { + type = "unsigned int", + name = "id", + description = "OpenGL texture id" + }, + { + type = "int", + name = "width", + description = "Texture base width" + }, + { + type = "int", + name = "height", + description = "Texture base height" + }, + { + type = "int", + name = "mipmaps", + description = "Mipmap levels, 1 by default" + }, + { + type = "int", + name = "format", + description = "Data format (PixelFormat type)" + } + } + }, + { + name = "RenderTexture", + description = "RenderTexture, fbo for texture rendering", + fields = { + { + type = "unsigned int", + name = "id", + description = "OpenGL framebuffer object id" + }, + { + type = "Texture", + name = "texture", + description = "Color buffer attachment texture" + }, + { + type = "Texture", + name = "depth", + description = "Depth buffer attachment texture" + } + } + }, + { + name = "NPatchInfo", + description = "NPatchInfo, n-patch layout info", + fields = { + { + type = "Rectangle", + name = "source", + description = "Texture source rectangle" + }, + { + type = "int", + name = "left", + description = "Left border offset" + }, + { + type = "int", + name = "top", + description = "Top border offset" + }, + { + type = "int", + name = "right", + description = "Right border offset" + }, + { + type = "int", + name = "bottom", + description = "Bottom border offset" + }, + { + type = "int", + name = "layout", + description = "Layout of the n-patch: 3x3, 1x3 or 3x1" + } + } + }, + { + name = "GlyphInfo", + description = "GlyphInfo, font characters glyphs info", + fields = { + { + type = "int", + name = "value", + description = "Character value (Unicode)" + }, + { + type = "int", + name = "offsetX", + description = "Character offset X when drawing" + }, + { + type = "int", + name = "offsetY", + description = "Character offset Y when drawing" + }, + { + type = "int", + name = "advanceX", + description = "Character advance position X" + }, + { + type = "Image", + name = "image", + description = "Character image data" + } + } + }, + { + name = "Font", + description = "Font, font texture and GlyphInfo array data", + fields = { + { + type = "int", + name = "baseSize", + description = "Base size (default chars height)" + }, + { + type = "int", + name = "glyphCount", + description = "Number of glyph characters" + }, + { + type = "int", + name = "glyphPadding", + description = "Padding around the glyph characters" + }, + { + type = "Texture2D", + name = "texture", + description = "Texture atlas containing the glyphs" + }, + { + type = "Rectangle *", + name = "recs", + description = "Rectangles in texture for the glyphs" + }, + { + type = "GlyphInfo *", + name = "glyphs", + description = "Glyphs info data" + } + } + }, + { + name = "Camera3D", + description = "Camera, defines position/orientation in 3d space", + fields = { + { + type = "Vector3", + name = "position", + description = "Camera position" + }, + { + type = "Vector3", + name = "target", + description = "Camera target it looks-at" + }, + { + type = "Vector3", + name = "up", + description = "Camera up vector (rotation over its axis)" + }, + { + type = "float", + name = "fovy", + description = "Camera field-of-view aperture in Y (degrees) in perspective, used as near plane width in orthographic" + }, + { + type = "int", + name = "projection", + description = "Camera projection: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC" + } + } + }, + { + name = "Camera2D", + description = "Camera2D, defines position/orientation in 2d space", + fields = { + { + type = "Vector2", + name = "offset", + description = "Camera offset (displacement from target)" + }, + { + type = "Vector2", + name = "target", + description = "Camera target (rotation and zoom origin)" + }, + { + type = "float", + name = "rotation", + description = "Camera rotation in degrees" + }, + { + type = "float", + name = "zoom", + description = "Camera zoom (scaling), should be 1.0f by default" + } + } + }, + { + name = "Mesh", + description = "Mesh, vertex data and vao/vbo", + fields = { + { + type = "int", + name = "vertexCount", + description = "Number of vertices stored in arrays" + }, + { + type = "int", + name = "triangleCount", + description = "Number of triangles stored (indexed or not)" + }, + { + type = "float *", + name = "vertices", + description = "Vertex position (XYZ - 3 components per vertex) (shader-location = 0)" + }, + { + type = "float *", + name = "texcoords", + description = "Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1)" + }, + { + type = "float *", + name = "texcoords2", + description = "Vertex texture second coordinates (UV - 2 components per vertex) (shader-location = 5)" + }, + { + type = "float *", + name = "normals", + description = "Vertex normals (XYZ - 3 components per vertex) (shader-location = 2)" + }, + { + type = "float *", + name = "tangents", + description = "Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4)" + }, + { + type = "unsigned char *", + name = "colors", + description = "Vertex colors (RGBA - 4 components per vertex) (shader-location = 3)" + }, + { + type = "unsigned short *", + name = "indices", + description = "Vertex indices (in case vertex data comes indexed)" + }, + { + type = "float *", + name = "animVertices", + description = "Animated vertex positions (after bones transformations)" + }, + { + type = "float *", + name = "animNormals", + description = "Animated normals (after bones transformations)" + }, + { + type = "unsigned char *", + name = "boneIds", + description = "Vertex bone ids, max 255 bone ids, up to 4 bones influence by vertex (skinning)" + }, + { + type = "float *", + name = "boneWeights", + description = "Vertex bone weight, up to 4 bones influence by vertex (skinning)" + }, + { + type = "unsigned int", + name = "vaoId", + description = "OpenGL Vertex Array Object id" + }, + { + type = "unsigned int *", + name = "vboId", + description = "OpenGL Vertex Buffer Objects id (default vertex data)" + } + } + }, + { + name = "Shader", + description = "Shader", + fields = { + { + type = "unsigned int", + name = "id", + description = "Shader program id" + }, + { + type = "int *", + name = "locs", + description = "Shader locations array (RL_MAX_SHADER_LOCATIONS)" + } + } + }, + { + name = "MaterialMap", + description = "MaterialMap", + fields = { + { + type = "Texture2D", + name = "texture", + description = "Material map texture" + }, + { + type = "Color", + name = "color", + description = "Material map color" + }, + { + type = "float", + name = "value", + description = "Material map value" + } + } + }, + { + name = "Material", + description = "Material, includes shader and maps", + fields = { + { + type = "Shader", + name = "shader", + description = "Material shader" + }, + { + type = "MaterialMap *", + name = "maps", + description = "Material maps array (MAX_MATERIAL_MAPS)" + }, + { + type = "float[4]", + name = "params", + description = "Material generic parameters (if required)" + } + } + }, + { + name = "Transform", + description = "Transform, vertex transformation data", + fields = { + { + type = "Vector3", + name = "translation", + description = "Translation" + }, + { + type = "Quaternion", + name = "rotation", + description = "Rotation" + }, + { + type = "Vector3", + name = "scale", + description = "Scale" + } + } + }, + { + name = "BoneInfo", + description = "Bone, skeletal animation bone", + fields = { + { + type = "char[32]", + name = "name", + description = "Bone name" + }, + { + type = "int", + name = "parent", + description = "Bone parent" + } + } + }, + { + name = "Model", + description = "Model, meshes, materials and animation data", + fields = { + { + type = "Matrix", + name = "transform", + description = "Local transform matrix" + }, + { + type = "int", + name = "meshCount", + description = "Number of meshes" + }, + { + type = "int", + name = "materialCount", + description = "Number of materials" + }, + { + type = "Mesh *", + name = "meshes", + description = "Meshes array" + }, + { + type = "Material *", + name = "materials", + description = "Materials array" + }, + { + type = "int *", + name = "meshMaterial", + description = "Mesh material number" + }, + { + type = "int", + name = "boneCount", + description = "Number of bones" + }, + { + type = "BoneInfo *", + name = "bones", + description = "Bones information (skeleton)" + }, + { + type = "Transform *", + name = "bindPose", + description = "Bones base transformation (pose)" + } + } + }, + { + name = "ModelAnimation", + description = "ModelAnimation", + fields = { + { + type = "int", + name = "boneCount", + description = "Number of bones" + }, + { + type = "int", + name = "frameCount", + description = "Number of animation frames" + }, + { + type = "BoneInfo *", + name = "bones", + description = "Bones information (skeleton)" + }, + { + type = "Transform **", + name = "framePoses", + description = "Poses array by frame" + } + } + }, + { + name = "Ray", + description = "Ray, ray for raycasting", + fields = { + { + type = "Vector3", + name = "position", + description = "Ray position (origin)" + }, + { + type = "Vector3", + name = "direction", + description = "Ray direction" + } + } + }, + { + name = "RayCollision", + description = "RayCollision, ray hit information", + fields = { + { + type = "bool", + name = "hit", + description = "Did the ray hit something?" + }, + { + type = "float", + name = "distance", + description = "Distance to the nearest hit" + }, + { + type = "Vector3", + name = "point", + description = "Point of the nearest hit" + }, + { + type = "Vector3", + name = "normal", + description = "Surface normal of hit" + } + } + }, + { + name = "BoundingBox", + description = "BoundingBox", + fields = { + { + type = "Vector3", + name = "min", + description = "Minimum vertex box-corner" + }, + { + type = "Vector3", + name = "max", + description = "Maximum vertex box-corner" + } + } + }, + { + name = "Wave", + description = "Wave, audio wave data", + fields = { + { + type = "unsigned int", + name = "frameCount", + description = "Total number of frames (considering channels)" + }, + { + type = "unsigned int", + name = "sampleRate", + description = "Frequency (samples per second)" + }, + { + type = "unsigned int", + name = "sampleSize", + description = "Bit depth (bits per sample): 8, 16, 32 (24 not supported)" + }, + { + type = "unsigned int", + name = "channels", + description = "Number of channels (1-mono, 2-stereo, ...)" + }, + { + type = "void *", + name = "data", + description = "Buffer data pointer" + } + } + }, + { + name = "AudioStream", + description = "AudioStream, custom audio stream", + fields = { + { + type = "rAudioBuffer *", + name = "buffer", + description = "Pointer to internal data used by the audio system" + }, + { + type = "rAudioProcessor *", + name = "processor", + description = "Pointer to internal data processor, useful for audio effects" + }, + { + type = "unsigned int", + name = "sampleRate", + description = "Frequency (samples per second)" + }, + { + type = "unsigned int", + name = "sampleSize", + description = "Bit depth (bits per sample): 8, 16, 32 (24 not supported)" + }, + { + type = "unsigned int", + name = "channels", + description = "Number of channels (1-mono, 2-stereo, ...)" + } + } + }, + { + name = "Sound", + description = "Sound", + fields = { + { + type = "AudioStream", + name = "stream", + description = "Audio stream" + }, + { + type = "unsigned int", + name = "frameCount", + description = "Total number of frames (considering channels)" + } + } + }, + { + name = "Music", + description = "Music, audio stream, anything longer than ~10 seconds should be streamed", + fields = { + { + type = "AudioStream", + name = "stream", + description = "Audio stream" + }, + { + type = "unsigned int", + name = "frameCount", + description = "Total number of frames (considering channels)" + }, + { + type = "bool", + name = "looping", + description = "Music looping enable" + }, + { + type = "int", + name = "ctxType", + description = "Type of music context (audio filetype)" + }, + { + type = "void *", + name = "ctxData", + description = "Audio context data, depends on type" + } + } + }, + { + name = "VrDeviceInfo", + description = "VrDeviceInfo, Head-Mounted-Display device parameters", + fields = { + { + type = "int", + name = "hResolution", + description = "Horizontal resolution in pixels" + }, + { + type = "int", + name = "vResolution", + description = "Vertical resolution in pixels" + }, + { + type = "float", + name = "hScreenSize", + description = "Horizontal size in meters" + }, + { + type = "float", + name = "vScreenSize", + description = "Vertical size in meters" + }, + { + type = "float", + name = "vScreenCenter", + description = "Screen center in meters" + }, + { + type = "float", + name = "eyeToScreenDistance", + description = "Distance between eye and display in meters" + }, + { + type = "float", + name = "lensSeparationDistance", + description = "Lens separation distance in meters" + }, + { + type = "float", + name = "interpupillaryDistance", + description = "IPD (distance between pupils) in meters" + }, + { + type = "float[4]", + name = "lensDistortionValues", + description = "Lens distortion constant parameters" + }, + { + type = "float[4]", + name = "chromaAbCorrection", + description = "Chromatic aberration correction parameters" + } + } + }, + { + name = "VrStereoConfig", + description = "VrStereoConfig, VR stereo rendering configuration for simulator", + fields = { + { + type = "Matrix[2]", + name = "projection", + description = "VR projection matrices (per eye)" + }, + { + type = "Matrix[2]", + name = "viewOffset", + description = "VR view offset matrices (per eye)" + }, + { + type = "float[2]", + name = "leftLensCenter", + description = "VR left lens center" + }, + { + type = "float[2]", + name = "rightLensCenter", + description = "VR right lens center" + }, + { + type = "float[2]", + name = "leftScreenCenter", + description = "VR left screen center" + }, + { + type = "float[2]", + name = "rightScreenCenter", + description = "VR right screen center" + }, + { + type = "float[2]", + name = "scale", + description = "VR distortion scale" + }, + { + type = "float[2]", + name = "scaleIn", + description = "VR distortion scale in" + } + } + }, + { + name = "FilePathList", + description = "File path list", + fields = { + { + type = "unsigned int", + name = "capacity", + description = "Filepaths max entries" + }, + { + type = "unsigned int", + name = "count", + description = "Filepaths entries count" + }, + { + type = "char **", + name = "paths", + description = "Filepaths entries" + } + } + } + }, + aliases = { + { + type = "Vector4", + name = "Quaternion", + description = "Quaternion, 4 components (Vector4 alias)" + }, + { + type = "Texture", + name = "Texture2D", + description = "Texture2D, same as Texture" + }, + { + type = "Texture", + name = "TextureCubemap", + description = "TextureCubemap, same as Texture" + }, + { + type = "RenderTexture", + name = "RenderTexture2D", + description = "RenderTexture2D, same as RenderTexture" + }, + { + type = "Camera3D", + name = "Camera", + description = "Camera type fallback, defaults to Camera3D" + } + }, + enums = { + { + name = "ConfigFlags", + description = "System/Window config flags", + values = { + { + name = "FLAG_VSYNC_HINT", + value = 64, + description = "Set to try enabling V-Sync on GPU" + }, + { + name = "FLAG_FULLSCREEN_MODE", + value = 2, + description = "Set to run program in fullscreen" + }, + { + name = "FLAG_WINDOW_RESIZABLE", + value = 4, + description = "Set to allow resizable window" + }, + { + name = "FLAG_WINDOW_UNDECORATED", + value = 8, + description = "Set to disable window decoration (frame and buttons)" + }, + { + name = "FLAG_WINDOW_HIDDEN", + value = 128, + description = "Set to hide window" + }, + { + name = "FLAG_WINDOW_MINIMIZED", + value = 512, + description = "Set to minimize window (iconify)" + }, + { + name = "FLAG_WINDOW_MAXIMIZED", + value = 1024, + description = "Set to maximize window (expanded to monitor)" + }, + { + name = "FLAG_WINDOW_UNFOCUSED", + value = 2048, + description = "Set to window non focused" + }, + { + name = "FLAG_WINDOW_TOPMOST", + value = 4096, + description = "Set to window always on top" + }, + { + name = "FLAG_WINDOW_ALWAYS_RUN", + value = 256, + description = "Set to allow windows running while minimized" + }, + { + name = "FLAG_WINDOW_TRANSPARENT", + value = 16, + description = "Set to allow transparent framebuffer" + }, + { + name = "FLAG_WINDOW_HIGHDPI", + value = 8192, + description = "Set to support HighDPI" + }, + { + name = "FLAG_WINDOW_MOUSE_PASSTHROUGH", + value = 16384, + description = "Set to support mouse passthrough, only supported when FLAG_WINDOW_UNDECORATED" + }, + { + name = "FLAG_MSAA_4X_HINT", + value = 32, + description = "Set to try enabling MSAA 4X" + }, + { + name = "FLAG_INTERLACED_HINT", + value = 65536, + description = "Set to try enabling interlaced video format (for V3D)" + } + } + }, + { + name = "TraceLogLevel", + description = "Trace log level", + values = { + { + name = "LOG_ALL", + value = 0, + description = "Display all logs" + }, + { + name = "LOG_TRACE", + value = 1, + description = "Trace logging, intended for internal use only" + }, + { + name = "LOG_DEBUG", + value = 2, + description = "Debug logging, used for internal debugging, it should be disabled on release builds" + }, + { + name = "LOG_INFO", + value = 3, + description = "Info logging, used for program execution info" + }, + { + name = "LOG_WARNING", + value = 4, + description = "Warning logging, used on recoverable failures" + }, + { + name = "LOG_ERROR", + value = 5, + description = "Error logging, used on unrecoverable failures" + }, + { + name = "LOG_FATAL", + value = 6, + description = "Fatal logging, used to abort program: exit(EXIT_FAILURE)" + }, + { + name = "LOG_NONE", + value = 7, + description = "Disable logging" + } + } + }, + { + name = "KeyboardKey", + description = "Keyboard keys (US keyboard layout)", + values = { + { + name = "KEY_NULL", + value = 0, + description = "Key: NULL, used for no key pressed" + }, + { + name = "KEY_APOSTROPHE", + value = 39, + description = "Key: '" + }, + { + name = "KEY_COMMA", + value = 44, + description = "Key: ," + }, + { + name = "KEY_MINUS", + value = 45, + description = "Key: -" + }, + { + name = "KEY_PERIOD", + value = 46, + description = "Key: ." + }, + { + name = "KEY_SLASH", + value = 47, + description = "Key: /" + }, + { + name = "KEY_ZERO", + value = 48, + description = "Key: 0" + }, + { + name = "KEY_ONE", + value = 49, + description = "Key: 1" + }, + { + name = "KEY_TWO", + value = 50, + description = "Key: 2" + }, + { + name = "KEY_THREE", + value = 51, + description = "Key: 3" + }, + { + name = "KEY_FOUR", + value = 52, + description = "Key: 4" + }, + { + name = "KEY_FIVE", + value = 53, + description = "Key: 5" + }, + { + name = "KEY_SIX", + value = 54, + description = "Key: 6" + }, + { + name = "KEY_SEVEN", + value = 55, + description = "Key: 7" + }, + { + name = "KEY_EIGHT", + value = 56, + description = "Key: 8" + }, + { + name = "KEY_NINE", + value = 57, + description = "Key: 9" + }, + { + name = "KEY_SEMICOLON", + value = 59, + description = "Key: ;" + }, + { + name = "KEY_EQUAL", + value = 61, + description = "Key: =" + }, + { + name = "KEY_A", + value = 65, + description = "Key: A | a" + }, + { + name = "KEY_B", + value = 66, + description = "Key: B | b" + }, + { + name = "KEY_C", + value = 67, + description = "Key: C | c" + }, + { + name = "KEY_D", + value = 68, + description = "Key: D | d" + }, + { + name = "KEY_E", + value = 69, + description = "Key: E | e" + }, + { + name = "KEY_F", + value = 70, + description = "Key: F | f" + }, + { + name = "KEY_G", + value = 71, + description = "Key: G | g" + }, + { + name = "KEY_H", + value = 72, + description = "Key: H | h" + }, + { + name = "KEY_I", + value = 73, + description = "Key: I | i" + }, + { + name = "KEY_J", + value = 74, + description = "Key: J | j" + }, + { + name = "KEY_K", + value = 75, + description = "Key: K | k" + }, + { + name = "KEY_L", + value = 76, + description = "Key: L | l" + }, + { + name = "KEY_M", + value = 77, + description = "Key: M | m" + }, + { + name = "KEY_N", + value = 78, + description = "Key: N | n" + }, + { + name = "KEY_O", + value = 79, + description = "Key: O | o" + }, + { + name = "KEY_P", + value = 80, + description = "Key: P | p" + }, + { + name = "KEY_Q", + value = 81, + description = "Key: Q | q" + }, + { + name = "KEY_R", + value = 82, + description = "Key: R | r" + }, + { + name = "KEY_S", + value = 83, + description = "Key: S | s" + }, + { + name = "KEY_T", + value = 84, + description = "Key: T | t" + }, + { + name = "KEY_U", + value = 85, + description = "Key: U | u" + }, + { + name = "KEY_V", + value = 86, + description = "Key: V | v" + }, + { + name = "KEY_W", + value = 87, + description = "Key: W | w" + }, + { + name = "KEY_X", + value = 88, + description = "Key: X | x" + }, + { + name = "KEY_Y", + value = 89, + description = "Key: Y | y" + }, + { + name = "KEY_Z", + value = 90, + description = "Key: Z | z" + }, + { + name = "KEY_LEFT_BRACKET", + value = 91, + description = "Key: [" + }, + { + name = "KEY_BACKSLASH", + value = 92, + description = "Key: '\\'" + }, + { + name = "KEY_RIGHT_BRACKET", + value = 93, + description = "Key: ]" + }, + { + name = "KEY_GRAVE", + value = 96, + description = "Key: `" + }, + { + name = "KEY_SPACE", + value = 32, + description = "Key: Space" + }, + { + name = "KEY_ESCAPE", + value = 256, + description = "Key: Esc" + }, + { + name = "KEY_ENTER", + value = 257, + description = "Key: Enter" + }, + { + name = "KEY_TAB", + value = 258, + description = "Key: Tab" + }, + { + name = "KEY_BACKSPACE", + value = 259, + description = "Key: Backspace" + }, + { + name = "KEY_INSERT", + value = 260, + description = "Key: Ins" + }, + { + name = "KEY_DELETE", + value = 261, + description = "Key: Del" + }, + { + name = "KEY_RIGHT", + value = 262, + description = "Key: Cursor right" + }, + { + name = "KEY_LEFT", + value = 263, + description = "Key: Cursor left" + }, + { + name = "KEY_DOWN", + value = 264, + description = "Key: Cursor down" + }, + { + name = "KEY_UP", + value = 265, + description = "Key: Cursor up" + }, + { + name = "KEY_PAGE_UP", + value = 266, + description = "Key: Page up" + }, + { + name = "KEY_PAGE_DOWN", + value = 267, + description = "Key: Page down" + }, + { + name = "KEY_HOME", + value = 268, + description = "Key: Home" + }, + { + name = "KEY_END", + value = 269, + description = "Key: End" + }, + { + name = "KEY_CAPS_LOCK", + value = 280, + description = "Key: Caps lock" + }, + { + name = "KEY_SCROLL_LOCK", + value = 281, + description = "Key: Scroll down" + }, + { + name = "KEY_NUM_LOCK", + value = 282, + description = "Key: Num lock" + }, + { + name = "KEY_PRINT_SCREEN", + value = 283, + description = "Key: Print screen" + }, + { + name = "KEY_PAUSE", + value = 284, + description = "Key: Pause" + }, + { + name = "KEY_F1", + value = 290, + description = "Key: F1" + }, + { + name = "KEY_F2", + value = 291, + description = "Key: F2" + }, + { + name = "KEY_F3", + value = 292, + description = "Key: F3" + }, + { + name = "KEY_F4", + value = 293, + description = "Key: F4" + }, + { + name = "KEY_F5", + value = 294, + description = "Key: F5" + }, + { + name = "KEY_F6", + value = 295, + description = "Key: F6" + }, + { + name = "KEY_F7", + value = 296, + description = "Key: F7" + }, + { + name = "KEY_F8", + value = 297, + description = "Key: F8" + }, + { + name = "KEY_F9", + value = 298, + description = "Key: F9" + }, + { + name = "KEY_F10", + value = 299, + description = "Key: F10" + }, + { + name = "KEY_F11", + value = 300, + description = "Key: F11" + }, + { + name = "KEY_F12", + value = 301, + description = "Key: F12" + }, + { + name = "KEY_LEFT_SHIFT", + value = 340, + description = "Key: Shift left" + }, + { + name = "KEY_LEFT_CONTROL", + value = 341, + description = "Key: Control left" + }, + { + name = "KEY_LEFT_ALT", + value = 342, + description = "Key: Alt left" + }, + { + name = "KEY_LEFT_SUPER", + value = 343, + description = "Key: Super left" + }, + { + name = "KEY_RIGHT_SHIFT", + value = 344, + description = "Key: Shift right" + }, + { + name = "KEY_RIGHT_CONTROL", + value = 345, + description = "Key: Control right" + }, + { + name = "KEY_RIGHT_ALT", + value = 346, + description = "Key: Alt right" + }, + { + name = "KEY_RIGHT_SUPER", + value = 347, + description = "Key: Super right" + }, + { + name = "KEY_KB_MENU", + value = 348, + description = "Key: KB menu" + }, + { + name = "KEY_KP_0", + value = 320, + description = "Key: Keypad 0" + }, + { + name = "KEY_KP_1", + value = 321, + description = "Key: Keypad 1" + }, + { + name = "KEY_KP_2", + value = 322, + description = "Key: Keypad 2" + }, + { + name = "KEY_KP_3", + value = 323, + description = "Key: Keypad 3" + }, + { + name = "KEY_KP_4", + value = 324, + description = "Key: Keypad 4" + }, + { + name = "KEY_KP_5", + value = 325, + description = "Key: Keypad 5" + }, + { + name = "KEY_KP_6", + value = 326, + description = "Key: Keypad 6" + }, + { + name = "KEY_KP_7", + value = 327, + description = "Key: Keypad 7" + }, + { + name = "KEY_KP_8", + value = 328, + description = "Key: Keypad 8" + }, + { + name = "KEY_KP_9", + value = 329, + description = "Key: Keypad 9" + }, + { + name = "KEY_KP_DECIMAL", + value = 330, + description = "Key: Keypad ." + }, + { + name = "KEY_KP_DIVIDE", + value = 331, + description = "Key: Keypad /" + }, + { + name = "KEY_KP_MULTIPLY", + value = 332, + description = "Key: Keypad *" + }, + { + name = "KEY_KP_SUBTRACT", + value = 333, + description = "Key: Keypad -" + }, + { + name = "KEY_KP_ADD", + value = 334, + description = "Key: Keypad +" + }, + { + name = "KEY_KP_ENTER", + value = 335, + description = "Key: Keypad Enter" + }, + { + name = "KEY_KP_EQUAL", + value = 336, + description = "Key: Keypad =" + }, + { + name = "KEY_BACK", + value = 4, + description = "Key: Android back button" + }, + { + name = "KEY_MENU", + value = 82, + description = "Key: Android menu button" + }, + { + name = "KEY_VOLUME_UP", + value = 24, + description = "Key: Android volume up button" + }, + { + name = "KEY_VOLUME_DOWN", + value = 25, + description = "Key: Android volume down button" + } + } + }, + { + name = "MouseButton", + description = "Mouse buttons", + values = { + { + name = "MOUSE_BUTTON_LEFT", + value = 0, + description = "Mouse button left" + }, + { + name = "MOUSE_BUTTON_RIGHT", + value = 1, + description = "Mouse button right" + }, + { + name = "MOUSE_BUTTON_MIDDLE", + value = 2, + description = "Mouse button middle (pressed wheel)" + }, + { + name = "MOUSE_BUTTON_SIDE", + value = 3, + description = "Mouse button side (advanced mouse device)" + }, + { + name = "MOUSE_BUTTON_EXTRA", + value = 4, + description = "Mouse button extra (advanced mouse device)" + }, + { + name = "MOUSE_BUTTON_FORWARD", + value = 5, + description = "Mouse button forward (advanced mouse device)" + }, + { + name = "MOUSE_BUTTON_BACK", + value = 6, + description = "Mouse button back (advanced mouse device)" + } + } + }, + { + name = "MouseCursor", + description = "Mouse cursor", + values = { + { + name = "MOUSE_CURSOR_DEFAULT", + value = 0, + description = "Default pointer shape" + }, + { + name = "MOUSE_CURSOR_ARROW", + value = 1, + description = "Arrow shape" + }, + { + name = "MOUSE_CURSOR_IBEAM", + value = 2, + description = "Text writing cursor shape" + }, + { + name = "MOUSE_CURSOR_CROSSHAIR", + value = 3, + description = "Cross shape" + }, + { + name = "MOUSE_CURSOR_POINTING_HAND", + value = 4, + description = "Pointing hand cursor" + }, + { + name = "MOUSE_CURSOR_RESIZE_EW", + value = 5, + description = "Horizontal resize/move arrow shape" + }, + { + name = "MOUSE_CURSOR_RESIZE_NS", + value = 6, + description = "Vertical resize/move arrow shape" + }, + { + name = "MOUSE_CURSOR_RESIZE_NWSE", + value = 7, + description = "Top-left to bottom-right diagonal resize/move arrow shape" + }, + { + name = "MOUSE_CURSOR_RESIZE_NESW", + value = 8, + description = "The top-right to bottom-left diagonal resize/move arrow shape" + }, + { + name = "MOUSE_CURSOR_RESIZE_ALL", + value = 9, + description = "The omnidirectional resize/move cursor shape" + }, + { + name = "MOUSE_CURSOR_NOT_ALLOWED", + value = 10, + description = "The operation-not-allowed shape" + } + } + }, + { + name = "GamepadButton", + description = "Gamepad buttons", + values = { + { + name = "GAMEPAD_BUTTON_UNKNOWN", + value = 0, + description = "Unknown button, just for error checking" + }, + { + name = "GAMEPAD_BUTTON_LEFT_FACE_UP", + value = 1, + description = "Gamepad left DPAD up button" + }, + { + name = "GAMEPAD_BUTTON_LEFT_FACE_RIGHT", + value = 2, + description = "Gamepad left DPAD right button" + }, + { + name = "GAMEPAD_BUTTON_LEFT_FACE_DOWN", + value = 3, + description = "Gamepad left DPAD down button" + }, + { + name = "GAMEPAD_BUTTON_LEFT_FACE_LEFT", + value = 4, + description = "Gamepad left DPAD left button" + }, + { + name = "GAMEPAD_BUTTON_RIGHT_FACE_UP", + value = 5, + description = "Gamepad right button up (i.e. PS3: Triangle, Xbox: Y)" + }, + { + name = "GAMEPAD_BUTTON_RIGHT_FACE_RIGHT", + value = 6, + description = "Gamepad right button right (i.e. PS3: Square, Xbox: X)" + }, + { + name = "GAMEPAD_BUTTON_RIGHT_FACE_DOWN", + value = 7, + description = "Gamepad right button down (i.e. PS3: Cross, Xbox: A)" + }, + { + name = "GAMEPAD_BUTTON_RIGHT_FACE_LEFT", + value = 8, + description = "Gamepad right button left (i.e. PS3: Circle, Xbox: B)" + }, + { + name = "GAMEPAD_BUTTON_LEFT_TRIGGER_1", + value = 9, + description = "Gamepad top/back trigger left (first), it could be a trailing button" + }, + { + name = "GAMEPAD_BUTTON_LEFT_TRIGGER_2", + value = 10, + description = "Gamepad top/back trigger left (second), it could be a trailing button" + }, + { + name = "GAMEPAD_BUTTON_RIGHT_TRIGGER_1", + value = 11, + description = "Gamepad top/back trigger right (one), it could be a trailing button" + }, + { + name = "GAMEPAD_BUTTON_RIGHT_TRIGGER_2", + value = 12, + description = "Gamepad top/back trigger right (second), it could be a trailing button" + }, + { + name = "GAMEPAD_BUTTON_MIDDLE_LEFT", + value = 13, + description = "Gamepad center buttons, left one (i.e. PS3: Select)" + }, + { + name = "GAMEPAD_BUTTON_MIDDLE", + value = 14, + description = "Gamepad center buttons, middle one (i.e. PS3: PS, Xbox: XBOX)" + }, + { + name = "GAMEPAD_BUTTON_MIDDLE_RIGHT", + value = 15, + description = "Gamepad center buttons, right one (i.e. PS3: Start)" + }, + { + name = "GAMEPAD_BUTTON_LEFT_THUMB", + value = 16, + description = "Gamepad joystick pressed button left" + }, + { + name = "GAMEPAD_BUTTON_RIGHT_THUMB", + value = 17, + description = "Gamepad joystick pressed button right" + } + } + }, + { + name = "GamepadAxis", + description = "Gamepad axis", + values = { + { + name = "GAMEPAD_AXIS_LEFT_X", + value = 0, + description = "Gamepad left stick X axis" + }, + { + name = "GAMEPAD_AXIS_LEFT_Y", + value = 1, + description = "Gamepad left stick Y axis" + }, + { + name = "GAMEPAD_AXIS_RIGHT_X", + value = 2, + description = "Gamepad right stick X axis" + }, + { + name = "GAMEPAD_AXIS_RIGHT_Y", + value = 3, + description = "Gamepad right stick Y axis" + }, + { + name = "GAMEPAD_AXIS_LEFT_TRIGGER", + value = 4, + description = "Gamepad back trigger left, pressure level: [1..-1]" + }, + { + name = "GAMEPAD_AXIS_RIGHT_TRIGGER", + value = 5, + description = "Gamepad back trigger right, pressure level: [1..-1]" + } + } + }, + { + name = "MaterialMapIndex", + description = "Material map index", + values = { + { + name = "MATERIAL_MAP_ALBEDO", + value = 0, + description = "Albedo material (same as: MATERIAL_MAP_DIFFUSE)" + }, + { + name = "MATERIAL_MAP_METALNESS", + value = 1, + description = "Metalness material (same as: MATERIAL_MAP_SPECULAR)" + }, + { + name = "MATERIAL_MAP_NORMAL", + value = 2, + description = "Normal material" + }, + { + name = "MATERIAL_MAP_ROUGHNESS", + value = 3, + description = "Roughness material" + }, + { + name = "MATERIAL_MAP_OCCLUSION", + value = 4, + description = "Ambient occlusion material" + }, + { + name = "MATERIAL_MAP_EMISSION", + value = 5, + description = "Emission material" + }, + { + name = "MATERIAL_MAP_HEIGHT", + value = 6, + description = "Heightmap material" + }, + { + name = "MATERIAL_MAP_CUBEMAP", + value = 7, + description = "Cubemap material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" + }, + { + name = "MATERIAL_MAP_IRRADIANCE", + value = 8, + description = "Irradiance material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" + }, + { + name = "MATERIAL_MAP_PREFILTER", + value = 9, + description = "Prefilter material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" + }, + { + name = "MATERIAL_MAP_BRDF", + value = 10, + description = "Brdf material" + } + } + }, + { + name = "ShaderLocationIndex", + description = "Shader location index", + values = { + { + name = "SHADER_LOC_VERTEX_POSITION", + value = 0, + description = "Shader location: vertex attribute: position" + }, + { + name = "SHADER_LOC_VERTEX_TEXCOORD01", + value = 1, + description = "Shader location: vertex attribute: texcoord01" + }, + { + name = "SHADER_LOC_VERTEX_TEXCOORD02", + value = 2, + description = "Shader location: vertex attribute: texcoord02" + }, + { + name = "SHADER_LOC_VERTEX_NORMAL", + value = 3, + description = "Shader location: vertex attribute: normal" + }, + { + name = "SHADER_LOC_VERTEX_TANGENT", + value = 4, + description = "Shader location: vertex attribute: tangent" + }, + { + name = "SHADER_LOC_VERTEX_COLOR", + value = 5, + description = "Shader location: vertex attribute: color" + }, + { + name = "SHADER_LOC_MATRIX_MVP", + value = 6, + description = "Shader location: matrix uniform: model-view-projection" + }, + { + name = "SHADER_LOC_MATRIX_VIEW", + value = 7, + description = "Shader location: matrix uniform: view (camera transform)" + }, + { + name = "SHADER_LOC_MATRIX_PROJECTION", + value = 8, + description = "Shader location: matrix uniform: projection" + }, + { + name = "SHADER_LOC_MATRIX_MODEL", + value = 9, + description = "Shader location: matrix uniform: model (transform)" + }, + { + name = "SHADER_LOC_MATRIX_NORMAL", + value = 10, + description = "Shader location: matrix uniform: normal" + }, + { + name = "SHADER_LOC_VECTOR_VIEW", + value = 11, + description = "Shader location: vector uniform: view" + }, + { + name = "SHADER_LOC_COLOR_DIFFUSE", + value = 12, + description = "Shader location: vector uniform: diffuse color" + }, + { + name = "SHADER_LOC_COLOR_SPECULAR", + value = 13, + description = "Shader location: vector uniform: specular color" + }, + { + name = "SHADER_LOC_COLOR_AMBIENT", + value = 14, + description = "Shader location: vector uniform: ambient color" + }, + { + name = "SHADER_LOC_MAP_ALBEDO", + value = 15, + description = "Shader location: sampler2d texture: albedo (same as: SHADER_LOC_MAP_DIFFUSE)" + }, + { + name = "SHADER_LOC_MAP_METALNESS", + value = 16, + description = "Shader location: sampler2d texture: metalness (same as: SHADER_LOC_MAP_SPECULAR)" + }, + { + name = "SHADER_LOC_MAP_NORMAL", + value = 17, + description = "Shader location: sampler2d texture: normal" + }, + { + name = "SHADER_LOC_MAP_ROUGHNESS", + value = 18, + description = "Shader location: sampler2d texture: roughness" + }, + { + name = "SHADER_LOC_MAP_OCCLUSION", + value = 19, + description = "Shader location: sampler2d texture: occlusion" + }, + { + name = "SHADER_LOC_MAP_EMISSION", + value = 20, + description = "Shader location: sampler2d texture: emission" + }, + { + name = "SHADER_LOC_MAP_HEIGHT", + value = 21, + description = "Shader location: sampler2d texture: height" + }, + { + name = "SHADER_LOC_MAP_CUBEMAP", + value = 22, + description = "Shader location: samplerCube texture: cubemap" + }, + { + name = "SHADER_LOC_MAP_IRRADIANCE", + value = 23, + description = "Shader location: samplerCube texture: irradiance" + }, + { + name = "SHADER_LOC_MAP_PREFILTER", + value = 24, + description = "Shader location: samplerCube texture: prefilter" + }, + { + name = "SHADER_LOC_MAP_BRDF", + value = 25, + description = "Shader location: sampler2d texture: brdf" + } + } + }, + { + name = "ShaderUniformDataType", + description = "Shader uniform data type", + values = { + { + name = "SHADER_UNIFORM_FLOAT", + value = 0, + description = "Shader uniform type: float" + }, + { + name = "SHADER_UNIFORM_VEC2", + value = 1, + description = "Shader uniform type: vec2 (2 float)" + }, + { + name = "SHADER_UNIFORM_VEC3", + value = 2, + description = "Shader uniform type: vec3 (3 float)" + }, + { + name = "SHADER_UNIFORM_VEC4", + value = 3, + description = "Shader uniform type: vec4 (4 float)" + }, + { + name = "SHADER_UNIFORM_INT", + value = 4, + description = "Shader uniform type: int" + }, + { + name = "SHADER_UNIFORM_IVEC2", + value = 5, + description = "Shader uniform type: ivec2 (2 int)" + }, + { + name = "SHADER_UNIFORM_IVEC3", + value = 6, + description = "Shader uniform type: ivec3 (3 int)" + }, + { + name = "SHADER_UNIFORM_IVEC4", + value = 7, + description = "Shader uniform type: ivec4 (4 int)" + }, + { + name = "SHADER_UNIFORM_SAMPLER2D", + value = 8, + description = "Shader uniform type: sampler2d" + } + } + }, + { + name = "ShaderAttributeDataType", + description = "Shader attribute data types", + values = { + { + name = "SHADER_ATTRIB_FLOAT", + value = 0, + description = "Shader attribute type: float" + }, + { + name = "SHADER_ATTRIB_VEC2", + value = 1, + description = "Shader attribute type: vec2 (2 float)" + }, + { + name = "SHADER_ATTRIB_VEC3", + value = 2, + description = "Shader attribute type: vec3 (3 float)" + }, + { + name = "SHADER_ATTRIB_VEC4", + value = 3, + description = "Shader attribute type: vec4 (4 float)" + } + } + }, + { + name = "PixelFormat", + description = "Pixel formats", + values = { + { + name = "PIXELFORMAT_UNCOMPRESSED_GRAYSCALE", + value = 1, + description = "8 bit per pixel (no alpha)" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA", + value = 2, + description = "8*2 bpp (2 channels)" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R5G6B5", + value = 3, + description = "16 bpp" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R8G8B8", + value = 4, + description = "24 bpp" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R5G5B5A1", + value = 5, + description = "16 bpp (1 bit alpha)" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R4G4B4A4", + value = 6, + description = "16 bpp (4 bit alpha)" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R8G8B8A8", + value = 7, + description = "32 bpp" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R32", + value = 8, + description = "32 bpp (1 channel - float)" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R32G32B32", + value = 9, + description = "32*3 bpp (3 channels - float)" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R32G32B32A32", + value = 10, + description = "32*4 bpp (4 channels - float)" + }, + { + name = "PIXELFORMAT_COMPRESSED_DXT1_RGB", + value = 11, + description = "4 bpp (no alpha)" + }, + { + name = "PIXELFORMAT_COMPRESSED_DXT1_RGBA", + value = 12, + description = "4 bpp (1 bit alpha)" + }, + { + name = "PIXELFORMAT_COMPRESSED_DXT3_RGBA", + value = 13, + description = "8 bpp" + }, + { + name = "PIXELFORMAT_COMPRESSED_DXT5_RGBA", + value = 14, + description = "8 bpp" + }, + { + name = "PIXELFORMAT_COMPRESSED_ETC1_RGB", + value = 15, + description = "4 bpp" + }, + { + name = "PIXELFORMAT_COMPRESSED_ETC2_RGB", + value = 16, + description = "4 bpp" + }, + { + name = "PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA", + value = 17, + description = "8 bpp" + }, + { + name = "PIXELFORMAT_COMPRESSED_PVRT_RGB", + value = 18, + description = "4 bpp" + }, + { + name = "PIXELFORMAT_COMPRESSED_PVRT_RGBA", + value = 19, + description = "4 bpp" + }, + { + name = "PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA", + value = 20, + description = "8 bpp" + }, + { + name = "PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA", + value = 21, + description = "2 bpp" + } + } + }, + { + name = "TextureFilter", + description = "Texture parameters: filter mode", + values = { + { + name = "TEXTURE_FILTER_POINT", + value = 0, + description = "No filter, just pixel approximation" + }, + { + name = "TEXTURE_FILTER_BILINEAR", + value = 1, + description = "Linear filtering" + }, + { + name = "TEXTURE_FILTER_TRILINEAR", + value = 2, + description = "Trilinear filtering (linear with mipmaps)" + }, + { + name = "TEXTURE_FILTER_ANISOTROPIC_4X", + value = 3, + description = "Anisotropic filtering 4x" + }, + { + name = "TEXTURE_FILTER_ANISOTROPIC_8X", + value = 4, + description = "Anisotropic filtering 8x" + }, + { + name = "TEXTURE_FILTER_ANISOTROPIC_16X", + value = 5, + description = "Anisotropic filtering 16x" + } + } + }, + { + name = "TextureWrap", + description = "Texture parameters: wrap mode", + values = { + { + name = "TEXTURE_WRAP_REPEAT", + value = 0, + description = "Repeats texture in tiled mode" + }, + { + name = "TEXTURE_WRAP_CLAMP", + value = 1, + description = "Clamps texture to edge pixel in tiled mode" + }, + { + name = "TEXTURE_WRAP_MIRROR_REPEAT", + value = 2, + description = "Mirrors and repeats the texture in tiled mode" + }, + { + name = "TEXTURE_WRAP_MIRROR_CLAMP", + value = 3, + description = "Mirrors and clamps to border the texture in tiled mode" + } + } + }, + { + name = "CubemapLayout", + description = "Cubemap layouts", + values = { + { + name = "CUBEMAP_LAYOUT_AUTO_DETECT", + value = 0, + description = "Automatically detect layout type" + }, + { + name = "CUBEMAP_LAYOUT_LINE_VERTICAL", + value = 1, + description = "Layout is defined by a vertical line with faces" + }, + { + name = "CUBEMAP_LAYOUT_LINE_HORIZONTAL", + value = 2, + description = "Layout is defined by a horizontal line with faces" + }, + { + name = "CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR", + value = 3, + description = "Layout is defined by a 3x4 cross with cubemap faces" + }, + { + name = "CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE", + value = 4, + description = "Layout is defined by a 4x3 cross with cubemap faces" + }, + { + name = "CUBEMAP_LAYOUT_PANORAMA", + value = 5, + description = "Layout is defined by a panorama image (equirrectangular map)" + } + } + }, + { + name = "FontType", + description = "Font type, defines generation method", + values = { + { + name = "FONT_DEFAULT", + value = 0, + description = "Default font generation, anti-aliased" + }, + { + name = "FONT_BITMAP", + value = 1, + description = "Bitmap font generation, no anti-aliasing" + }, + { + name = "FONT_SDF", + value = 2, + description = "SDF font generation, requires external shader" + } + } + }, + { + name = "BlendMode", + description = "Color blending modes (pre-defined)", + values = { + { + name = "BLEND_ALPHA", + value = 0, + description = "Blend textures considering alpha (default)" + }, + { + name = "BLEND_ADDITIVE", + value = 1, + description = "Blend textures adding colors" + }, + { + name = "BLEND_MULTIPLIED", + value = 2, + description = "Blend textures multiplying colors" + }, + { + name = "BLEND_ADD_COLORS", + value = 3, + description = "Blend textures adding colors (alternative)" + }, + { + name = "BLEND_SUBTRACT_COLORS", + value = 4, + description = "Blend textures subtracting colors (alternative)" + }, + { + name = "BLEND_ALPHA_PREMULTIPLY", + value = 5, + description = "Blend premultiplied textures considering alpha" + }, + { + name = "BLEND_CUSTOM", + value = 6, + description = "Blend textures using custom src/dst factors (use rlSetBlendFactors())" + }, + { + name = "BLEND_CUSTOM_SEPARATE", + value = 7, + description = "Blend textures using custom rgb/alpha separate src/dst factors (use rlSetBlendFactorsSeparate())" + } + } + }, + { + name = "Gesture", + description = "Gesture", + values = { + { + name = "GESTURE_NONE", + value = 0, + description = "No gesture" + }, + { + name = "GESTURE_TAP", + value = 1, + description = "Tap gesture" + }, + { + name = "GESTURE_DOUBLETAP", + value = 2, + description = "Double tap gesture" + }, + { + name = "GESTURE_HOLD", + value = 4, + description = "Hold gesture" + }, + { + name = "GESTURE_DRAG", + value = 8, + description = "Drag gesture" + }, + { + name = "GESTURE_SWIPE_RIGHT", + value = 16, + description = "Swipe right gesture" + }, + { + name = "GESTURE_SWIPE_LEFT", + value = 32, + description = "Swipe left gesture" + }, + { + name = "GESTURE_SWIPE_UP", + value = 64, + description = "Swipe up gesture" + }, + { + name = "GESTURE_SWIPE_DOWN", + value = 128, + description = "Swipe down gesture" + }, + { + name = "GESTURE_PINCH_IN", + value = 256, + description = "Pinch in gesture" + }, + { + name = "GESTURE_PINCH_OUT", + value = 512, + description = "Pinch out gesture" + } + } + }, + { + name = "CameraMode", + description = "Camera system modes", + values = { + { + name = "CAMERA_CUSTOM", + value = 0, + description = "Custom camera" + }, + { + name = "CAMERA_FREE", + value = 1, + description = "Free camera" + }, + { + name = "CAMERA_ORBITAL", + value = 2, + description = "Orbital camera" + }, + { + name = "CAMERA_FIRST_PERSON", + value = 3, + description = "First person camera" + }, + { + name = "CAMERA_THIRD_PERSON", + value = 4, + description = "Third person camera" + } + } + }, + { + name = "CameraProjection", + description = "Camera projection", + values = { + { + name = "CAMERA_PERSPECTIVE", + value = 0, + description = "Perspective projection" + }, + { + name = "CAMERA_ORTHOGRAPHIC", + value = 1, + description = "Orthographic projection" + } + } + }, + { + name = "NPatchLayout", + description = "N-patch layout", + values = { + { + name = "NPATCH_NINE_PATCH", + value = 0, + description = "Npatch layout: 3x3 tiles" + }, + { + name = "NPATCH_THREE_PATCH_VERTICAL", + value = 1, + description = "Npatch layout: 1x3 tiles" + }, + { + name = "NPATCH_THREE_PATCH_HORIZONTAL", + value = 2, + description = "Npatch layout: 3x1 tiles" + } + } + } + }, + callbacks = { + { + name = "TraceLogCallback", + description = "Logging: Redirect trace log messages", + returnType = "void", + params = { + {type = "int", name = "logLevel"}, + {type = "const char *", name = "text"}, + {type = "va_list", name = "args"} + } + }, + { + name = "LoadFileDataCallback", + description = "FileIO: Load binary data", + returnType = "unsigned char *", + params = { + {type = "const char *", name = "fileName"}, + {type = "unsigned int *", name = "bytesRead"} + } + }, + { + name = "SaveFileDataCallback", + description = "FileIO: Save binary data", + returnType = "bool", + params = { + {type = "const char *", name = "fileName"}, + {type = "void *", name = "data"}, + {type = "unsigned int", name = "bytesToWrite"} + } + }, + { + name = "LoadFileTextCallback", + description = "FileIO: Load text data", + returnType = "char *", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "SaveFileTextCallback", + description = "FileIO: Save text data", + returnType = "bool", + params = { + {type = "const char *", name = "fileName"}, + {type = "char *", name = "text"} + } + }, + { + name = "AudioCallback", + description = "", + returnType = "void", + params = { + {type = "void *", name = "bufferData"}, + {type = "unsigned int", name = "frames"} + } + } + }, + functions = { + { + name = "InitWindow", + description = "Initialize window and OpenGL context", + returnType = "void", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "const char *", name = "title"} + } + }, + { + name = "WindowShouldClose", + description = "Check if KEY_ESCAPE pressed or Close icon pressed", + returnType = "bool" + }, + { + name = "CloseWindow", + description = "Close window and unload OpenGL context", + returnType = "void" + }, + { + name = "IsWindowReady", + description = "Check if window has been initialized successfully", + returnType = "bool" + }, + { + name = "IsWindowFullscreen", + description = "Check if window is currently fullscreen", + returnType = "bool" + }, + { + name = "IsWindowHidden", + description = "Check if window is currently hidden (only PLATFORM_DESKTOP)", + returnType = "bool" + }, + { + name = "IsWindowMinimized", + description = "Check if window is currently minimized (only PLATFORM_DESKTOP)", + returnType = "bool" + }, + { + name = "IsWindowMaximized", + description = "Check if window is currently maximized (only PLATFORM_DESKTOP)", + returnType = "bool" + }, + { + name = "IsWindowFocused", + description = "Check if window is currently focused (only PLATFORM_DESKTOP)", + returnType = "bool" + }, + { + name = "IsWindowResized", + description = "Check if window has been resized last frame", + returnType = "bool" + }, + { + name = "IsWindowState", + description = "Check if one specific window flag is enabled", + returnType = "bool", + params = { + {type = "unsigned int", name = "flag"} + } + }, + { + name = "SetWindowState", + description = "Set window configuration state using flags (only PLATFORM_DESKTOP)", + returnType = "void", + params = { + {type = "unsigned int", name = "flags"} + } + }, + { + name = "ClearWindowState", + description = "Clear window configuration state flags", + returnType = "void", + params = { + {type = "unsigned int", name = "flags"} + } + }, + { + name = "ToggleFullscreen", + description = "Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP)", + returnType = "void" + }, + { + name = "MaximizeWindow", + description = "Set window state: maximized, if resizable (only PLATFORM_DESKTOP)", + returnType = "void" + }, + { + name = "MinimizeWindow", + description = "Set window state: minimized, if resizable (only PLATFORM_DESKTOP)", + returnType = "void" + }, + { + name = "RestoreWindow", + description = "Set window state: not minimized/maximized (only PLATFORM_DESKTOP)", + returnType = "void" + }, + { + name = "SetWindowIcon", + description = "Set icon for window (single image, RGBA 32bit, only PLATFORM_DESKTOP)", + returnType = "void", + params = { + {type = "Image", name = "image"} + } + }, + { + name = "SetWindowIcons", + description = "Set icon for window (multiple images, RGBA 32bit, only PLATFORM_DESKTOP)", + returnType = "void", + params = { + {type = "Image *", name = "images"}, + {type = "int", name = "count"} + } + }, + { + name = "SetWindowTitle", + description = "Set title for window (only PLATFORM_DESKTOP)", + returnType = "void", + params = { + {type = "const char *", name = "title"} + } + }, + { + name = "SetWindowPosition", + description = "Set window position on screen (only PLATFORM_DESKTOP)", + returnType = "void", + params = { + {type = "int", name = "x"}, + {type = "int", name = "y"} + } + }, + { + name = "SetWindowMonitor", + description = "Set monitor for the current window (fullscreen mode)", + returnType = "void", + params = { + {type = "int", name = "monitor"} + } + }, + { + name = "SetWindowMinSize", + description = "Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE)", + returnType = "void", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"} + } + }, + { + name = "SetWindowSize", + description = "Set window dimensions", + returnType = "void", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"} + } + }, + { + name = "SetWindowOpacity", + description = "Set window opacity [0.0f..1.0f] (only PLATFORM_DESKTOP)", + returnType = "void", + params = { + {type = "float", name = "opacity"} + } + }, + { + name = "GetWindowHandle", + description = "Get native window handle", + returnType = "void *" + }, + { + name = "GetScreenWidth", + description = "Get current screen width", + returnType = "int" + }, + { + name = "GetScreenHeight", + description = "Get current screen height", + returnType = "int" + }, + { + name = "GetRenderWidth", + description = "Get current render width (it considers HiDPI)", + returnType = "int" + }, + { + name = "GetRenderHeight", + description = "Get current render height (it considers HiDPI)", + returnType = "int" + }, + { + name = "GetMonitorCount", + description = "Get number of connected monitors", + returnType = "int" + }, + { + name = "GetCurrentMonitor", + description = "Get current connected monitor", + returnType = "int" + }, + { + name = "GetMonitorPosition", + description = "Get specified monitor position", + returnType = "Vector2", + params = { + {type = "int", name = "monitor"} + } + }, + { + name = "GetMonitorWidth", + description = "Get specified monitor width (current video mode used by monitor)", + returnType = "int", + params = { + {type = "int", name = "monitor"} + } + }, + { + name = "GetMonitorHeight", + description = "Get specified monitor height (current video mode used by monitor)", + returnType = "int", + params = { + {type = "int", name = "monitor"} + } + }, + { + name = "GetMonitorPhysicalWidth", + description = "Get specified monitor physical width in millimetres", + returnType = "int", + params = { + {type = "int", name = "monitor"} + } + }, + { + name = "GetMonitorPhysicalHeight", + description = "Get specified monitor physical height in millimetres", + returnType = "int", + params = { + {type = "int", name = "monitor"} + } + }, + { + name = "GetMonitorRefreshRate", + description = "Get specified monitor refresh rate", + returnType = "int", + params = { + {type = "int", name = "monitor"} + } + }, + { + name = "GetWindowPosition", + description = "Get window position XY on monitor", + returnType = "Vector2" + }, + { + name = "GetWindowScaleDPI", + description = "Get window scale DPI factor", + returnType = "Vector2" + }, + { + name = "GetMonitorName", + description = "Get the human-readable, UTF-8 encoded name of the primary monitor", + returnType = "const char *", + params = { + {type = "int", name = "monitor"} + } + }, + { + name = "SetClipboardText", + description = "Set clipboard text content", + returnType = "void", + params = { + {type = "const char *", name = "text"} + } + }, + { + name = "GetClipboardText", + description = "Get clipboard text content", + returnType = "const char *" + }, + { + name = "EnableEventWaiting", + description = "Enable waiting for events on EndDrawing(), no automatic event polling", + returnType = "void" + }, + { + name = "DisableEventWaiting", + description = "Disable waiting for events on EndDrawing(), automatic events polling", + returnType = "void" + }, + { + name = "SwapScreenBuffer", + description = "Swap back buffer with front buffer (screen drawing)", + returnType = "void" + }, + { + name = "PollInputEvents", + description = "Register all input events", + returnType = "void" + }, + { + name = "WaitTime", + description = "Wait for some time (halt program execution)", + returnType = "void", + params = { + {type = "double", name = "seconds"} + } + }, + { + name = "ShowCursor", + description = "Shows cursor", + returnType = "void" + }, + { + name = "HideCursor", + description = "Hides cursor", + returnType = "void" + }, + { + name = "IsCursorHidden", + description = "Check if cursor is not visible", + returnType = "bool" + }, + { + name = "EnableCursor", + description = "Enables cursor (unlock cursor)", + returnType = "void" + }, + { + name = "DisableCursor", + description = "Disables cursor (lock cursor)", + returnType = "void" + }, + { + name = "IsCursorOnScreen", + description = "Check if cursor is on the screen", + returnType = "bool" + }, + { + name = "ClearBackground", + description = "Set background color (framebuffer clear color)", + returnType = "void", + params = { + {type = "Color", name = "color"} + } + }, + { + name = "BeginDrawing", + description = "Setup canvas (framebuffer) to start drawing", + returnType = "void" + }, + { + name = "EndDrawing", + description = "End canvas drawing and swap buffers (double buffering)", + returnType = "void" + }, + { + name = "BeginMode2D", + description = "Begin 2D mode with custom camera (2D)", + returnType = "void", + params = { + {type = "Camera2D", name = "camera"} + } + }, + { + name = "EndMode2D", + description = "Ends 2D mode with custom camera", + returnType = "void" + }, + { + name = "BeginMode3D", + description = "Begin 3D mode with custom camera (3D)", + returnType = "void", + params = { + {type = "Camera3D", name = "camera"} + } + }, + { + name = "EndMode3D", + description = "Ends 3D mode and returns to default 2D orthographic mode", + returnType = "void" + }, + { + name = "BeginTextureMode", + description = "Begin drawing to render texture", + returnType = "void", + params = { + {type = "RenderTexture2D", name = "target"} + } + }, + { + name = "EndTextureMode", + description = "Ends drawing to render texture", + returnType = "void" + }, + { + name = "BeginShaderMode", + description = "Begin custom shader drawing", + returnType = "void", + params = { + {type = "Shader", name = "shader"} + } + }, + { + name = "EndShaderMode", + description = "End custom shader drawing (use default shader)", + returnType = "void" + }, + { + name = "BeginBlendMode", + description = "Begin blending mode (alpha, additive, multiplied, subtract, custom)", + returnType = "void", + params = { + {type = "int", name = "mode"} + } + }, + { + name = "EndBlendMode", + description = "End blending mode (reset to default: alpha blending)", + returnType = "void" + }, + { + name = "BeginScissorMode", + description = "Begin scissor mode (define screen area for following drawing)", + returnType = "void", + params = { + {type = "int", name = "x"}, + {type = "int", name = "y"}, + {type = "int", name = "width"}, + {type = "int", name = "height"} + } + }, + { + name = "EndScissorMode", + description = "End scissor mode", + returnType = "void" + }, + { + name = "BeginVrStereoMode", + description = "Begin stereo rendering (requires VR simulator)", + returnType = "void", + params = { + {type = "VrStereoConfig", name = "config"} + } + }, + { + name = "EndVrStereoMode", + description = "End stereo rendering (requires VR simulator)", + returnType = "void" + }, + { + name = "LoadVrStereoConfig", + description = "Load VR stereo config for VR simulator device parameters", + returnType = "VrStereoConfig", + params = { + {type = "VrDeviceInfo", name = "device"} + } + }, + { + name = "UnloadVrStereoConfig", + description = "Unload VR stereo config", + returnType = "void", + params = { + {type = "VrStereoConfig", name = "config"} + } + }, + { + name = "LoadShader", + description = "Load shader from files and bind default locations", + returnType = "Shader", + params = { + {type = "const char *", name = "vsFileName"}, + {type = "const char *", name = "fsFileName"} + } + }, + { + name = "LoadShaderFromMemory", + description = "Load shader from code strings and bind default locations", + returnType = "Shader", + params = { + {type = "const char *", name = "vsCode"}, + {type = "const char *", name = "fsCode"} + } + }, + { + name = "IsShaderReady", + description = "Check if a shader is ready", + returnType = "bool", + params = { + {type = "Shader", name = "shader"} + } + }, + { + name = "GetShaderLocation", + description = "Get shader uniform location", + returnType = "int", + params = { + {type = "Shader", name = "shader"}, + {type = "const char *", name = "uniformName"} + } + }, + { + name = "GetShaderLocationAttrib", + description = "Get shader attribute location", + returnType = "int", + params = { + {type = "Shader", name = "shader"}, + {type = "const char *", name = "attribName"} + } + }, + { + name = "SetShaderValue", + description = "Set shader uniform value", + returnType = "void", + params = { + {type = "Shader", name = "shader"}, + {type = "int", name = "locIndex"}, + {type = "const void *", name = "value"}, + {type = "int", name = "uniformType"} + } + }, + { + name = "SetShaderValueV", + description = "Set shader uniform value vector", + returnType = "void", + params = { + {type = "Shader", name = "shader"}, + {type = "int", name = "locIndex"}, + {type = "const void *", name = "value"}, + {type = "int", name = "uniformType"}, + {type = "int", name = "count"} + } + }, + { + name = "SetShaderValueMatrix", + description = "Set shader uniform value (matrix 4x4)", + returnType = "void", + params = { + {type = "Shader", name = "shader"}, + {type = "int", name = "locIndex"}, + {type = "Matrix", name = "mat"} + } + }, + { + name = "SetShaderValueTexture", + description = "Set shader uniform value for texture (sampler2d)", + returnType = "void", + params = { + {type = "Shader", name = "shader"}, + {type = "int", name = "locIndex"}, + {type = "Texture2D", name = "texture"} + } + }, + { + name = "UnloadShader", + description = "Unload shader from GPU memory (VRAM)", + returnType = "void", + params = { + {type = "Shader", name = "shader"} + } + }, + { + name = "GetMouseRay", + description = "Get a ray trace from mouse position", + returnType = "Ray", + params = { + {type = "Vector2", name = "mousePosition"}, + {type = "Camera", name = "camera"} + } + }, + { + name = "GetCameraMatrix", + description = "Get camera transform matrix (view matrix)", + returnType = "Matrix", + params = { + {type = "Camera", name = "camera"} + } + }, + { + name = "GetCameraMatrix2D", + description = "Get camera 2d transform matrix", + returnType = "Matrix", + params = { + {type = "Camera2D", name = "camera"} + } + }, + { + name = "GetWorldToScreen", + description = "Get the screen space position for a 3d world space position", + returnType = "Vector2", + params = { + {type = "Vector3", name = "position"}, + {type = "Camera", name = "camera"} + } + }, + { + name = "GetScreenToWorld2D", + description = "Get the world space position for a 2d camera screen space position", + returnType = "Vector2", + params = { + {type = "Vector2", name = "position"}, + {type = "Camera2D", name = "camera"} + } + }, + { + name = "GetWorldToScreenEx", + description = "Get size position for a 3d world space position", + returnType = "Vector2", + params = { + {type = "Vector3", name = "position"}, + {type = "Camera", name = "camera"}, + {type = "int", name = "width"}, + {type = "int", name = "height"} + } + }, + { + name = "GetWorldToScreen2D", + description = "Get the screen space position for a 2d camera world space position", + returnType = "Vector2", + params = { + {type = "Vector2", name = "position"}, + {type = "Camera2D", name = "camera"} + } + }, + { + name = "SetTargetFPS", + description = "Set target FPS (maximum)", + returnType = "void", + params = { + {type = "int", name = "fps"} + } + }, + { + name = "GetFPS", + description = "Get current FPS", + returnType = "int" + }, + { + name = "GetFrameTime", + description = "Get time in seconds for last frame drawn (delta time)", + returnType = "float" + }, + { + name = "GetTime", + description = "Get elapsed time in seconds since InitWindow()", + returnType = "double" + }, + { + name = "GetRandomValue", + description = "Get a random value between min and max (both included)", + returnType = "int", + params = { + {type = "int", name = "min"}, + {type = "int", name = "max"} + } + }, + { + name = "SetRandomSeed", + description = "Set the seed for the random number generator", + returnType = "void", + params = { + {type = "unsigned int", name = "seed"} + } + }, + { + name = "TakeScreenshot", + description = "Takes a screenshot of current screen (filename extension defines format)", + returnType = "void", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "SetConfigFlags", + description = "Setup init configuration flags (view FLAGS)", + returnType = "void", + params = { + {type = "unsigned int", name = "flags"} + } + }, + { + name = "TraceLog", + description = "Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...)", + returnType = "void", + params = { + {type = "int", name = "logLevel"}, + {type = "const char *", name = "text"}, + {type = "...", name = "args"} + } + }, + { + name = "SetTraceLogLevel", + description = "Set the current threshold (minimum) log level", + returnType = "void", + params = { + {type = "int", name = "logLevel"} + } + }, + { + name = "MemAlloc", + description = "Internal memory allocator", + returnType = "void *", + params = { + {type = "unsigned int", name = "size"} + } + }, + { + name = "MemRealloc", + description = "Internal memory reallocator", + returnType = "void *", + params = { + {type = "void *", name = "ptr"}, + {type = "unsigned int", name = "size"} + } + }, + { + name = "MemFree", + description = "Internal memory free", + returnType = "void", + params = { + {type = "void *", name = "ptr"} + } + }, + { + name = "OpenURL", + description = "Open URL with default system browser (if available)", + returnType = "void", + params = { + {type = "const char *", name = "url"} + } + }, + { + name = "SetTraceLogCallback", + description = "Set custom trace log", + returnType = "void", + params = { + {type = "TraceLogCallback", name = "callback"} + } + }, + { + name = "SetLoadFileDataCallback", + description = "Set custom file binary data loader", + returnType = "void", + params = { + {type = "LoadFileDataCallback", name = "callback"} + } + }, + { + name = "SetSaveFileDataCallback", + description = "Set custom file binary data saver", + returnType = "void", + params = { + {type = "SaveFileDataCallback", name = "callback"} + } + }, + { + name = "SetLoadFileTextCallback", + description = "Set custom file text data loader", + returnType = "void", + params = { + {type = "LoadFileTextCallback", name = "callback"} + } + }, + { + name = "SetSaveFileTextCallback", + description = "Set custom file text data saver", + returnType = "void", + params = { + {type = "SaveFileTextCallback", name = "callback"} + } + }, + { + name = "LoadFileData", + description = "Load file data as byte array (read)", + returnType = "unsigned char *", + params = { + {type = "const char *", name = "fileName"}, + {type = "unsigned int *", name = "bytesRead"} + } + }, + { + name = "UnloadFileData", + description = "Unload file data allocated by LoadFileData()", + returnType = "void", + params = { + {type = "unsigned char *", name = "data"} + } + }, + { + name = "SaveFileData", + description = "Save data to file from byte array (write), returns true on success", + returnType = "bool", + params = { + {type = "const char *", name = "fileName"}, + {type = "void *", name = "data"}, + {type = "unsigned int", name = "bytesToWrite"} + } + }, + { + name = "ExportDataAsCode", + description = "Export data to code (.h), returns true on success", + returnType = "bool", + params = { + {type = "const unsigned char *", name = "data"}, + {type = "unsigned int", name = "size"}, + {type = "const char *", name = "fileName"} + } + }, + { + name = "LoadFileText", + description = "Load text data from file (read), returns a '\\0' terminated string", + returnType = "char *", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "UnloadFileText", + description = "Unload file text data allocated by LoadFileText()", + returnType = "void", + params = { + {type = "char *", name = "text"} + } + }, + { + name = "SaveFileText", + description = "Save text data to file (write), string must be '\\0' terminated, returns true on success", + returnType = "bool", + params = { + {type = "const char *", name = "fileName"}, + {type = "char *", name = "text"} + } + }, + { + name = "FileExists", + description = "Check if file exists", + returnType = "bool", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "DirectoryExists", + description = "Check if a directory path exists", + returnType = "bool", + params = { + {type = "const char *", name = "dirPath"} + } + }, + { + name = "IsFileExtension", + description = "Check file extension (including point: .png, .wav)", + returnType = "bool", + params = { + {type = "const char *", name = "fileName"}, + {type = "const char *", name = "ext"} + } + }, + { + name = "GetFileLength", + description = "Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h)", + returnType = "int", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "GetFileExtension", + description = "Get pointer to extension for a filename string (includes dot: '.png')", + returnType = "const char *", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "GetFileName", + description = "Get pointer to filename for a path string", + returnType = "const char *", + params = { + {type = "const char *", name = "filePath"} + } + }, + { + name = "GetFileNameWithoutExt", + description = "Get filename string without extension (uses static string)", + returnType = "const char *", + params = { + {type = "const char *", name = "filePath"} + } + }, + { + name = "GetDirectoryPath", + description = "Get full path for a given fileName with path (uses static string)", + returnType = "const char *", + params = { + {type = "const char *", name = "filePath"} + } + }, + { + name = "GetPrevDirectoryPath", + description = "Get previous directory path for a given path (uses static string)", + returnType = "const char *", + params = { + {type = "const char *", name = "dirPath"} + } + }, + { + name = "GetWorkingDirectory", + description = "Get current working directory (uses static string)", + returnType = "const char *" + }, + { + name = "GetApplicationDirectory", + description = "Get the directory if the running application (uses static string)", + returnType = "const char *" + }, + { + name = "ChangeDirectory", + description = "Change working directory, return true on success", + returnType = "bool", + params = { + {type = "const char *", name = "dir"} + } + }, + { + name = "IsPathFile", + description = "Check if a given path is a file or a directory", + returnType = "bool", + params = { + {type = "const char *", name = "path"} + } + }, + { + name = "LoadDirectoryFiles", + description = "Load directory filepaths", + returnType = "FilePathList", + params = { + {type = "const char *", name = "dirPath"} + } + }, + { + name = "LoadDirectoryFilesEx", + description = "Load directory filepaths with extension filtering and recursive directory scan", + returnType = "FilePathList", + params = { + {type = "const char *", name = "basePath"}, + {type = "const char *", name = "filter"}, + {type = "bool", name = "scanSubdirs"} + } + }, + { + name = "UnloadDirectoryFiles", + description = "Unload filepaths", + returnType = "void", + params = { + {type = "FilePathList", name = "files"} + } + }, + { + name = "IsFileDropped", + description = "Check if a file has been dropped into window", + returnType = "bool" + }, + { + name = "LoadDroppedFiles", + description = "Load dropped filepaths", + returnType = "FilePathList" + }, + { + name = "UnloadDroppedFiles", + description = "Unload dropped filepaths", + returnType = "void", + params = { + {type = "FilePathList", name = "files"} + } + }, + { + name = "GetFileModTime", + description = "Get file modification time (last write time)", + returnType = "long", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "CompressData", + description = "Compress data (DEFLATE algorithm), memory must be MemFree()", + returnType = "unsigned char *", + params = { + {type = "const unsigned char *", name = "data"}, + {type = "int", name = "dataSize"}, + {type = "int *", name = "compDataSize"} + } + }, + { + name = "DecompressData", + description = "Decompress data (DEFLATE algorithm), memory must be MemFree()", + returnType = "unsigned char *", + params = { + {type = "const unsigned char *", name = "compData"}, + {type = "int", name = "compDataSize"}, + {type = "int *", name = "dataSize"} + } + }, + { + name = "EncodeDataBase64", + description = "Encode data to Base64 string, memory must be MemFree()", + returnType = "char *", + params = { + {type = "const unsigned char *", name = "data"}, + {type = "int", name = "dataSize"}, + {type = "int *", name = "outputSize"} + } + }, + { + name = "DecodeDataBase64", + description = "Decode Base64 string data, memory must be MemFree()", + returnType = "unsigned char *", + params = { + {type = "const unsigned char *", name = "data"}, + {type = "int *", name = "outputSize"} + } + }, + { + name = "IsKeyPressed", + description = "Check if a key has been pressed once", + returnType = "bool", + params = { + {type = "int", name = "key"} + } + }, + { + name = "IsKeyDown", + description = "Check if a key is being pressed", + returnType = "bool", + params = { + {type = "int", name = "key"} + } + }, + { + name = "IsKeyReleased", + description = "Check if a key has been released once", + returnType = "bool", + params = { + {type = "int", name = "key"} + } + }, + { + name = "IsKeyUp", + description = "Check if a key is NOT being pressed", + returnType = "bool", + params = { + {type = "int", name = "key"} + } + }, + { + name = "SetExitKey", + description = "Set a custom key to exit program (default is ESC)", + returnType = "void", + params = { + {type = "int", name = "key"} + } + }, + { + name = "GetKeyPressed", + description = "Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty", + returnType = "int" + }, + { + name = "GetCharPressed", + description = "Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty", + returnType = "int" + }, + { + name = "IsGamepadAvailable", + description = "Check if a gamepad is available", + returnType = "bool", + params = { + {type = "int", name = "gamepad"} + } + }, + { + name = "GetGamepadName", + description = "Get gamepad internal name id", + returnType = "const char *", + params = { + {type = "int", name = "gamepad"} + } + }, + { + name = "IsGamepadButtonPressed", + description = "Check if a gamepad button has been pressed once", + returnType = "bool", + params = { + {type = "int", name = "gamepad"}, + {type = "int", name = "button"} + } + }, + { + name = "IsGamepadButtonDown", + description = "Check if a gamepad button is being pressed", + returnType = "bool", + params = { + {type = "int", name = "gamepad"}, + {type = "int", name = "button"} + } + }, + { + name = "IsGamepadButtonReleased", + description = "Check if a gamepad button has been released once", + returnType = "bool", + params = { + {type = "int", name = "gamepad"}, + {type = "int", name = "button"} + } + }, + { + name = "IsGamepadButtonUp", + description = "Check if a gamepad button is NOT being pressed", + returnType = "bool", + params = { + {type = "int", name = "gamepad"}, + {type = "int", name = "button"} + } + }, + { + name = "GetGamepadButtonPressed", + description = "Get the last gamepad button pressed", + returnType = "int" + }, + { + name = "GetGamepadAxisCount", + description = "Get gamepad axis count for a gamepad", + returnType = "int", + params = { + {type = "int", name = "gamepad"} + } + }, + { + name = "GetGamepadAxisMovement", + description = "Get axis movement value for a gamepad axis", + returnType = "float", + params = { + {type = "int", name = "gamepad"}, + {type = "int", name = "axis"} + } + }, + { + name = "SetGamepadMappings", + description = "Set internal gamepad mappings (SDL_GameControllerDB)", + returnType = "int", + params = { + {type = "const char *", name = "mappings"} + } + }, + { + name = "IsMouseButtonPressed", + description = "Check if a mouse button has been pressed once", + returnType = "bool", + params = { + {type = "int", name = "button"} + } + }, + { + name = "IsMouseButtonDown", + description = "Check if a mouse button is being pressed", + returnType = "bool", + params = { + {type = "int", name = "button"} + } + }, + { + name = "IsMouseButtonReleased", + description = "Check if a mouse button has been released once", + returnType = "bool", + params = { + {type = "int", name = "button"} + } + }, + { + name = "IsMouseButtonUp", + description = "Check if a mouse button is NOT being pressed", + returnType = "bool", + params = { + {type = "int", name = "button"} + } + }, + { + name = "GetMouseX", + description = "Get mouse position X", + returnType = "int" + }, + { + name = "GetMouseY", + description = "Get mouse position Y", + returnType = "int" + }, + { + name = "GetMousePosition", + description = "Get mouse position XY", + returnType = "Vector2" + }, + { + name = "GetMouseDelta", + description = "Get mouse delta between frames", + returnType = "Vector2" + }, + { + name = "SetMousePosition", + description = "Set mouse position XY", + returnType = "void", + params = { + {type = "int", name = "x"}, + {type = "int", name = "y"} + } + }, + { + name = "SetMouseOffset", + description = "Set mouse offset", + returnType = "void", + params = { + {type = "int", name = "offsetX"}, + {type = "int", name = "offsetY"} + } + }, + { + name = "SetMouseScale", + description = "Set mouse scaling", + returnType = "void", + params = { + {type = "float", name = "scaleX"}, + {type = "float", name = "scaleY"} + } + }, + { + name = "GetMouseWheelMove", + description = "Get mouse wheel movement for X or Y, whichever is larger", + returnType = "float" + }, + { + name = "GetMouseWheelMoveV", + description = "Get mouse wheel movement for both X and Y", + returnType = "Vector2" + }, + { + name = "SetMouseCursor", + description = "Set mouse cursor", + returnType = "void", + params = { + {type = "int", name = "cursor"} + } + }, + { + name = "GetTouchX", + description = "Get touch position X for touch point 0 (relative to screen size)", + returnType = "int" + }, + { + name = "GetTouchY", + description = "Get touch position Y for touch point 0 (relative to screen size)", + returnType = "int" + }, + { + name = "GetTouchPosition", + description = "Get touch position XY for a touch point index (relative to screen size)", + returnType = "Vector2", + params = { + {type = "int", name = "index"} + } + }, + { + name = "GetTouchPointId", + description = "Get touch point identifier for given index", + returnType = "int", + params = { + {type = "int", name = "index"} + } + }, + { + name = "GetTouchPointCount", + description = "Get number of touch points", + returnType = "int" + }, + { + name = "SetGesturesEnabled", + description = "Enable a set of gestures using flags", + returnType = "void", + params = { + {type = "unsigned int", name = "flags"} + } + }, + { + name = "IsGestureDetected", + description = "Check if a gesture have been detected", + returnType = "bool", + params = { + {type = "int", name = "gesture"} + } + }, + { + name = "GetGestureDetected", + description = "Get latest detected gesture", + returnType = "int" + }, + { + name = "GetGestureHoldDuration", + description = "Get gesture hold time in milliseconds", + returnType = "float" + }, + { + name = "GetGestureDragVector", + description = "Get gesture drag vector", + returnType = "Vector2" + }, + { + name = "GetGestureDragAngle", + description = "Get gesture drag angle", + returnType = "float" + }, + { + name = "GetGesturePinchVector", + description = "Get gesture pinch delta", + returnType = "Vector2" + }, + { + name = "GetGesturePinchAngle", + description = "Get gesture pinch angle", + returnType = "float" + }, + { + name = "UpdateCamera", + description = "Update camera position for selected mode", + returnType = "void", + params = { + {type = "Camera *", name = "camera"}, + {type = "int", name = "mode"} + } + }, + { + name = "UpdateCameraPro", + description = "Update camera movement/rotation", + returnType = "void", + params = { + {type = "Camera *", name = "camera"}, + {type = "Vector3", name = "movement"}, + {type = "Vector3", name = "rotation"}, + {type = "float", name = "zoom"} + } + }, + { + name = "SetShapesTexture", + description = "Set texture and rectangle to be used on shapes drawing", + returnType = "void", + params = { + {type = "Texture2D", name = "texture"}, + {type = "Rectangle", name = "source"} + } + }, + { + name = "DrawPixel", + description = "Draw a pixel", + returnType = "void", + params = { + {type = "int", name = "posX"}, + {type = "int", name = "posY"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawPixelV", + description = "Draw a pixel (Vector version)", + returnType = "void", + params = { + {type = "Vector2", name = "position"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawLine", + description = "Draw a line", + returnType = "void", + params = { + {type = "int", name = "startPosX"}, + {type = "int", name = "startPosY"}, + {type = "int", name = "endPosX"}, + {type = "int", name = "endPosY"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawLineV", + description = "Draw a line (Vector version)", + returnType = "void", + params = { + {type = "Vector2", name = "startPos"}, + {type = "Vector2", name = "endPos"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawLineEx", + description = "Draw a line defining thickness", + returnType = "void", + params = { + {type = "Vector2", name = "startPos"}, + {type = "Vector2", name = "endPos"}, + {type = "float", name = "thick"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawLineBezier", + description = "Draw a line using cubic-bezier curves in-out", + returnType = "void", + params = { + {type = "Vector2", name = "startPos"}, + {type = "Vector2", name = "endPos"}, + {type = "float", name = "thick"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawLineBezierQuad", + description = "Draw line using quadratic bezier curves with a control point", + returnType = "void", + params = { + {type = "Vector2", name = "startPos"}, + {type = "Vector2", name = "endPos"}, + {type = "Vector2", name = "controlPos"}, + {type = "float", name = "thick"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawLineBezierCubic", + description = "Draw line using cubic bezier curves with 2 control points", + returnType = "void", + params = { + {type = "Vector2", name = "startPos"}, + {type = "Vector2", name = "endPos"}, + {type = "Vector2", name = "startControlPos"}, + {type = "Vector2", name = "endControlPos"}, + {type = "float", name = "thick"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawLineStrip", + description = "Draw lines sequence", + returnType = "void", + params = { + {type = "Vector2 *", name = "points"}, + {type = "int", name = "pointCount"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCircle", + description = "Draw a color-filled circle", + returnType = "void", + params = { + {type = "int", name = "centerX"}, + {type = "int", name = "centerY"}, + {type = "float", name = "radius"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCircleSector", + description = "Draw a piece of a circle", + returnType = "void", + params = { + {type = "Vector2", name = "center"}, + {type = "float", name = "radius"}, + {type = "float", name = "startAngle"}, + {type = "float", name = "endAngle"}, + {type = "int", name = "segments"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCircleSectorLines", + description = "Draw circle sector outline", + returnType = "void", + params = { + {type = "Vector2", name = "center"}, + {type = "float", name = "radius"}, + {type = "float", name = "startAngle"}, + {type = "float", name = "endAngle"}, + {type = "int", name = "segments"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCircleGradient", + description = "Draw a gradient-filled circle", + returnType = "void", + params = { + {type = "int", name = "centerX"}, + {type = "int", name = "centerY"}, + {type = "float", name = "radius"}, + {type = "Color", name = "color1"}, + {type = "Color", name = "color2"} + } + }, + { + name = "DrawCircleV", + description = "Draw a color-filled circle (Vector version)", + returnType = "void", + params = { + {type = "Vector2", name = "center"}, + {type = "float", name = "radius"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCircleLines", + description = "Draw circle outline", + returnType = "void", + params = { + {type = "int", name = "centerX"}, + {type = "int", name = "centerY"}, + {type = "float", name = "radius"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawEllipse", + description = "Draw ellipse", + returnType = "void", + params = { + {type = "int", name = "centerX"}, + {type = "int", name = "centerY"}, + {type = "float", name = "radiusH"}, + {type = "float", name = "radiusV"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawEllipseLines", + description = "Draw ellipse outline", + returnType = "void", + params = { + {type = "int", name = "centerX"}, + {type = "int", name = "centerY"}, + {type = "float", name = "radiusH"}, + {type = "float", name = "radiusV"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawRing", + description = "Draw ring", + returnType = "void", + params = { + {type = "Vector2", name = "center"}, + {type = "float", name = "innerRadius"}, + {type = "float", name = "outerRadius"}, + {type = "float", name = "startAngle"}, + {type = "float", name = "endAngle"}, + {type = "int", name = "segments"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawRingLines", + description = "Draw ring outline", + returnType = "void", + params = { + {type = "Vector2", name = "center"}, + {type = "float", name = "innerRadius"}, + {type = "float", name = "outerRadius"}, + {type = "float", name = "startAngle"}, + {type = "float", name = "endAngle"}, + {type = "int", name = "segments"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawRectangle", + description = "Draw a color-filled rectangle", + returnType = "void", + params = { + {type = "int", name = "posX"}, + {type = "int", name = "posY"}, + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawRectangleV", + description = "Draw a color-filled rectangle (Vector version)", + returnType = "void", + params = { + {type = "Vector2", name = "position"}, + {type = "Vector2", name = "size"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawRectangleRec", + description = "Draw a color-filled rectangle", + returnType = "void", + params = { + {type = "Rectangle", name = "rec"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawRectanglePro", + description = "Draw a color-filled rectangle with pro parameters", + returnType = "void", + params = { + {type = "Rectangle", name = "rec"}, + {type = "Vector2", name = "origin"}, + {type = "float", name = "rotation"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawRectangleGradientV", + description = "Draw a vertical-gradient-filled rectangle", + returnType = "void", + params = { + {type = "int", name = "posX"}, + {type = "int", name = "posY"}, + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "Color", name = "color1"}, + {type = "Color", name = "color2"} + } + }, + { + name = "DrawRectangleGradientH", + description = "Draw a horizontal-gradient-filled rectangle", + returnType = "void", + params = { + {type = "int", name = "posX"}, + {type = "int", name = "posY"}, + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "Color", name = "color1"}, + {type = "Color", name = "color2"} + } + }, + { + name = "DrawRectangleGradientEx", + description = "Draw a gradient-filled rectangle with custom vertex colors", + returnType = "void", + params = { + {type = "Rectangle", name = "rec"}, + {type = "Color", name = "col1"}, + {type = "Color", name = "col2"}, + {type = "Color", name = "col3"}, + {type = "Color", name = "col4"} + } + }, + { + name = "DrawRectangleLines", + description = "Draw rectangle outline", + returnType = "void", + params = { + {type = "int", name = "posX"}, + {type = "int", name = "posY"}, + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawRectangleLinesEx", + description = "Draw rectangle outline with extended parameters", + returnType = "void", + params = { + {type = "Rectangle", name = "rec"}, + {type = "float", name = "lineThick"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawRectangleRounded", + description = "Draw rectangle with rounded edges", + returnType = "void", + params = { + {type = "Rectangle", name = "rec"}, + {type = "float", name = "roundness"}, + {type = "int", name = "segments"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawRectangleRoundedLines", + description = "Draw rectangle with rounded edges outline", + returnType = "void", + params = { + {type = "Rectangle", name = "rec"}, + {type = "float", name = "roundness"}, + {type = "int", name = "segments"}, + {type = "float", name = "lineThick"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawTriangle", + description = "Draw a color-filled triangle (vertex in counter-clockwise order!)", + returnType = "void", + params = { + {type = "Vector2", name = "v1"}, + {type = "Vector2", name = "v2"}, + {type = "Vector2", name = "v3"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawTriangleLines", + description = "Draw triangle outline (vertex in counter-clockwise order!)", + returnType = "void", + params = { + {type = "Vector2", name = "v1"}, + {type = "Vector2", name = "v2"}, + {type = "Vector2", name = "v3"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawTriangleFan", + description = "Draw a triangle fan defined by points (first vertex is the center)", + returnType = "void", + params = { + {type = "Vector2 *", name = "points"}, + {type = "int", name = "pointCount"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawTriangleStrip", + description = "Draw a triangle strip defined by points", + returnType = "void", + params = { + {type = "Vector2 *", name = "points"}, + {type = "int", name = "pointCount"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawPoly", + description = "Draw a regular polygon (Vector version)", + returnType = "void", + params = { + {type = "Vector2", name = "center"}, + {type = "int", name = "sides"}, + {type = "float", name = "radius"}, + {type = "float", name = "rotation"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawPolyLines", + description = "Draw a polygon outline of n sides", + returnType = "void", + params = { + {type = "Vector2", name = "center"}, + {type = "int", name = "sides"}, + {type = "float", name = "radius"}, + {type = "float", name = "rotation"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawPolyLinesEx", + description = "Draw a polygon outline of n sides with extended parameters", + returnType = "void", + params = { + {type = "Vector2", name = "center"}, + {type = "int", name = "sides"}, + {type = "float", name = "radius"}, + {type = "float", name = "rotation"}, + {type = "float", name = "lineThick"}, + {type = "Color", name = "color"} + } + }, + { + name = "CheckCollisionRecs", + description = "Check collision between two rectangles", + returnType = "bool", + params = { + {type = "Rectangle", name = "rec1"}, + {type = "Rectangle", name = "rec2"} + } + }, + { + name = "CheckCollisionCircles", + description = "Check collision between two circles", + returnType = "bool", + params = { + {type = "Vector2", name = "center1"}, + {type = "float", name = "radius1"}, + {type = "Vector2", name = "center2"}, + {type = "float", name = "radius2"} + } + }, + { + name = "CheckCollisionCircleRec", + description = "Check collision between circle and rectangle", + returnType = "bool", + params = { + {type = "Vector2", name = "center"}, + {type = "float", name = "radius"}, + {type = "Rectangle", name = "rec"} + } + }, + { + name = "CheckCollisionPointRec", + description = "Check if point is inside rectangle", + returnType = "bool", + params = { + {type = "Vector2", name = "point"}, + {type = "Rectangle", name = "rec"} + } + }, + { + name = "CheckCollisionPointCircle", + description = "Check if point is inside circle", + returnType = "bool", + params = { + {type = "Vector2", name = "point"}, + {type = "Vector2", name = "center"}, + {type = "float", name = "radius"} + } + }, + { + name = "CheckCollisionPointTriangle", + description = "Check if point is inside a triangle", + returnType = "bool", + params = { + {type = "Vector2", name = "point"}, + {type = "Vector2", name = "p1"}, + {type = "Vector2", name = "p2"}, + {type = "Vector2", name = "p3"} + } + }, + { + name = "CheckCollisionPointPoly", + description = "Check if point is within a polygon described by array of vertices", + returnType = "bool", + params = { + {type = "Vector2", name = "point"}, + {type = "Vector2 *", name = "points"}, + {type = "int", name = "pointCount"} + } + }, + { + name = "CheckCollisionLines", + description = "Check the collision between two lines defined by two points each, returns collision point by reference", + returnType = "bool", + params = { + {type = "Vector2", name = "startPos1"}, + {type = "Vector2", name = "endPos1"}, + {type = "Vector2", name = "startPos2"}, + {type = "Vector2", name = "endPos2"}, + {type = "Vector2 *", name = "collisionPoint"} + } + }, + { + name = "CheckCollisionPointLine", + description = "Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold]", + returnType = "bool", + params = { + {type = "Vector2", name = "point"}, + {type = "Vector2", name = "p1"}, + {type = "Vector2", name = "p2"}, + {type = "int", name = "threshold"} + } + }, + { + name = "GetCollisionRec", + description = "Get collision rectangle for two rectangles collision", + returnType = "Rectangle", + params = { + {type = "Rectangle", name = "rec1"}, + {type = "Rectangle", name = "rec2"} + } + }, + { + name = "LoadImage", + description = "Load image from file into CPU memory (RAM)", + returnType = "Image", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "LoadImageRaw", + description = "Load image from RAW file data", + returnType = "Image", + params = { + {type = "const char *", name = "fileName"}, + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "int", name = "format"}, + {type = "int", name = "headerSize"} + } + }, + { + name = "LoadImageAnim", + description = "Load image sequence from file (frames appended to image.data)", + returnType = "Image", + params = { + {type = "const char *", name = "fileName"}, + {type = "int *", name = "frames"} + } + }, + { + name = "LoadImageFromMemory", + description = "Load image from memory buffer, fileType refers to extension: i.e. '.png'", + returnType = "Image", + params = { + {type = "const char *", name = "fileType"}, + {type = "const unsigned char *", name = "fileData"}, + {type = "int", name = "dataSize"} + } + }, + { + name = "LoadImageFromTexture", + description = "Load image from GPU texture data", + returnType = "Image", + params = { + {type = "Texture2D", name = "texture"} + } + }, + { + name = "LoadImageFromScreen", + description = "Load image from screen buffer and (screenshot)", + returnType = "Image" + }, + { + name = "IsImageReady", + description = "Check if an image is ready", + returnType = "bool", + params = { + {type = "Image", name = "image"} + } + }, + { + name = "UnloadImage", + description = "Unload image from CPU memory (RAM)", + returnType = "void", + params = { + {type = "Image", name = "image"} + } + }, + { + name = "ExportImage", + description = "Export image data to file, returns true on success", + returnType = "bool", + params = { + {type = "Image", name = "image"}, + {type = "const char *", name = "fileName"} + } + }, + { + name = "ExportImageAsCode", + description = "Export image as code file defining an array of bytes, returns true on success", + returnType = "bool", + params = { + {type = "Image", name = "image"}, + {type = "const char *", name = "fileName"} + } + }, + { + name = "GenImageColor", + description = "Generate image: plain color", + returnType = "Image", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "Color", name = "color"} + } + }, + { + name = "GenImageGradientV", + description = "Generate image: vertical gradient", + returnType = "Image", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "Color", name = "top"}, + {type = "Color", name = "bottom"} + } + }, + { + name = "GenImageGradientH", + description = "Generate image: horizontal gradient", + returnType = "Image", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "Color", name = "left"}, + {type = "Color", name = "right"} + } + }, + { + name = "GenImageGradientRadial", + description = "Generate image: radial gradient", + returnType = "Image", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "float", name = "density"}, + {type = "Color", name = "inner"}, + {type = "Color", name = "outer"} + } + }, + { + name = "GenImageChecked", + description = "Generate image: checked", + returnType = "Image", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "int", name = "checksX"}, + {type = "int", name = "checksY"}, + {type = "Color", name = "col1"}, + {type = "Color", name = "col2"} + } + }, + { + name = "GenImageWhiteNoise", + description = "Generate image: white noise", + returnType = "Image", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "float", name = "factor"} + } + }, + { + name = "GenImagePerlinNoise", + description = "Generate image: perlin noise", + returnType = "Image", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "int", name = "offsetX"}, + {type = "int", name = "offsetY"}, + {type = "float", name = "scale"} + } + }, + { + name = "GenImageCellular", + description = "Generate image: cellular algorithm, bigger tileSize means bigger cells", + returnType = "Image", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "int", name = "tileSize"} + } + }, + { + name = "GenImageText", + description = "Generate image: grayscale image from text data", + returnType = "Image", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "const char *", name = "text"} + } + }, + { + name = "ImageCopy", + description = "Create an image duplicate (useful for transformations)", + returnType = "Image", + params = { + {type = "Image", name = "image"} + } + }, + { + name = "ImageFromImage", + description = "Create an image from another image piece", + returnType = "Image", + params = { + {type = "Image", name = "image"}, + {type = "Rectangle", name = "rec"} + } + }, + { + name = "ImageText", + description = "Create an image from text (default font)", + returnType = "Image", + params = { + {type = "const char *", name = "text"}, + {type = "int", name = "fontSize"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageTextEx", + description = "Create an image from text (custom sprite font)", + returnType = "Image", + params = { + {type = "Font", name = "font"}, + {type = "const char *", name = "text"}, + {type = "float", name = "fontSize"}, + {type = "float", name = "spacing"}, + {type = "Color", name = "tint"} + } + }, + { + name = "ImageFormat", + description = "Convert image data to desired format", + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "int", name = "newFormat"} + } + }, + { + name = "ImageToPOT", + description = "Convert image to POT (power-of-two)", + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "Color", name = "fill"} + } + }, + { + name = "ImageCrop", + description = "Crop an image to a defined rectangle", + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "Rectangle", name = "crop"} + } + }, + { + name = "ImageAlphaCrop", + description = "Crop image depending on alpha value", + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "float", name = "threshold"} + } + }, + { + name = "ImageAlphaClear", + description = "Clear alpha channel to desired color", + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "Color", name = "color"}, + {type = "float", name = "threshold"} + } + }, + { + name = "ImageAlphaMask", + description = "Apply alpha mask to image", + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "Image", name = "alphaMask"} + } + }, + { + name = "ImageAlphaPremultiply", + description = "Premultiply alpha channel", + returnType = "void", + params = { + {type = "Image *", name = "image"} + } + }, + { + name = "ImageBlurGaussian", + description = "Apply Gaussian blur using a box blur approximation", + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "int", name = "blurSize"} + } + }, + { + name = "ImageResize", + description = "Resize image (Bicubic scaling algorithm)", + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "int", name = "newWidth"}, + {type = "int", name = "newHeight"} + } + }, + { + name = "ImageResizeNN", + description = "Resize image (Nearest-Neighbor scaling algorithm)", + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "int", name = "newWidth"}, + {type = "int", name = "newHeight"} + } + }, + { + name = "ImageResizeCanvas", + description = "Resize canvas and fill with color", + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "int", name = "newWidth"}, + {type = "int", name = "newHeight"}, + {type = "int", name = "offsetX"}, + {type = "int", name = "offsetY"}, + {type = "Color", name = "fill"} + } + }, + { + name = "ImageMipmaps", + description = "Compute all mipmap levels for a provided image", + returnType = "void", + params = { + {type = "Image *", name = "image"} + } + }, + { + name = "ImageDither", + description = "Dither image data to 16bpp or lower (Floyd-Steinberg dithering)", + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "int", name = "rBpp"}, + {type = "int", name = "gBpp"}, + {type = "int", name = "bBpp"}, + {type = "int", name = "aBpp"} + } + }, + { + name = "ImageFlipVertical", + description = "Flip image vertically", + returnType = "void", + params = { + {type = "Image *", name = "image"} + } + }, + { + name = "ImageFlipHorizontal", + description = "Flip image horizontally", + returnType = "void", + params = { + {type = "Image *", name = "image"} + } + }, + { + name = "ImageRotateCW", + description = "Rotate image clockwise 90deg", + returnType = "void", + params = { + {type = "Image *", name = "image"} + } + }, + { + name = "ImageRotateCCW", + description = "Rotate image counter-clockwise 90deg", + returnType = "void", + params = { + {type = "Image *", name = "image"} + } + }, + { + name = "ImageColorTint", + description = "Modify image color: tint", + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageColorInvert", + description = "Modify image color: invert", + returnType = "void", + params = { + {type = "Image *", name = "image"} + } + }, + { + name = "ImageColorGrayscale", + description = "Modify image color: grayscale", + returnType = "void", + params = { + {type = "Image *", name = "image"} + } + }, + { + name = "ImageColorContrast", + description = "Modify image color: contrast (-100 to 100)", + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "float", name = "contrast"} + } + }, + { + name = "ImageColorBrightness", + description = "Modify image color: brightness (-255 to 255)", + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "int", name = "brightness"} + } + }, + { + name = "ImageColorReplace", + description = "Modify image color: replace color", + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "Color", name = "color"}, + {type = "Color", name = "replace"} + } + }, + { + name = "LoadImageColors", + description = "Load color data from image as a Color array (RGBA - 32bit)", + returnType = "Color *", + params = { + {type = "Image", name = "image"} + } + }, + { + name = "LoadImagePalette", + description = "Load colors palette from image as a Color array (RGBA - 32bit)", + returnType = "Color *", + params = { + {type = "Image", name = "image"}, + {type = "int", name = "maxPaletteSize"}, + {type = "int *", name = "colorCount"} + } + }, + { + name = "UnloadImageColors", + description = "Unload color data loaded with LoadImageColors()", + returnType = "void", + params = { + {type = "Color *", name = "colors"} + } + }, + { + name = "UnloadImagePalette", + description = "Unload colors palette loaded with LoadImagePalette()", + returnType = "void", + params = { + {type = "Color *", name = "colors"} + } + }, + { + name = "GetImageAlphaBorder", + description = "Get image alpha border rectangle", + returnType = "Rectangle", + params = { + {type = "Image", name = "image"}, + {type = "float", name = "threshold"} + } + }, + { + name = "GetImageColor", + description = "Get image pixel color at (x, y) position", + returnType = "Color", + params = { + {type = "Image", name = "image"}, + {type = "int", name = "x"}, + {type = "int", name = "y"} + } + }, + { + name = "ImageClearBackground", + description = "Clear image background with given color", + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawPixel", + description = "Draw pixel within an image", + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "int", name = "posX"}, + {type = "int", name = "posY"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawPixelV", + description = "Draw pixel within an image (Vector version)", + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Vector2", name = "position"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawLine", + description = "Draw line within an image", + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "int", name = "startPosX"}, + {type = "int", name = "startPosY"}, + {type = "int", name = "endPosX"}, + {type = "int", name = "endPosY"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawLineV", + description = "Draw line within an image (Vector version)", + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Vector2", name = "start"}, + {type = "Vector2", name = "end"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawCircle", + description = "Draw a filled circle within an image", + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "int", name = "centerX"}, + {type = "int", name = "centerY"}, + {type = "int", name = "radius"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawCircleV", + description = "Draw a filled circle within an image (Vector version)", + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Vector2", name = "center"}, + {type = "int", name = "radius"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawCircleLines", + description = "Draw circle outline within an image", + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "int", name = "centerX"}, + {type = "int", name = "centerY"}, + {type = "int", name = "radius"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawCircleLinesV", + description = "Draw circle outline within an image (Vector version)", + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Vector2", name = "center"}, + {type = "int", name = "radius"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawRectangle", + description = "Draw rectangle within an image", + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "int", name = "posX"}, + {type = "int", name = "posY"}, + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawRectangleV", + description = "Draw rectangle within an image (Vector version)", + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Vector2", name = "position"}, + {type = "Vector2", name = "size"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawRectangleRec", + description = "Draw rectangle within an image", + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Rectangle", name = "rec"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawRectangleLines", + description = "Draw rectangle lines within an image", + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Rectangle", name = "rec"}, + {type = "int", name = "thick"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDraw", + description = "Draw a source image within a destination image (tint applied to source)", + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Image", name = "src"}, + {type = "Rectangle", name = "srcRec"}, + {type = "Rectangle", name = "dstRec"}, + {type = "Color", name = "tint"} + } + }, + { + name = "ImageDrawText", + description = "Draw text (using default font) within an image (destination)", + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "const char *", name = "text"}, + {type = "int", name = "posX"}, + {type = "int", name = "posY"}, + {type = "int", name = "fontSize"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawTextEx", + description = "Draw text (custom sprite font) within an image (destination)", + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Font", name = "font"}, + {type = "const char *", name = "text"}, + {type = "Vector2", name = "position"}, + {type = "float", name = "fontSize"}, + {type = "float", name = "spacing"}, + {type = "Color", name = "tint"} + } + }, + { + name = "LoadTexture", + description = "Load texture from file into GPU memory (VRAM)", + returnType = "Texture2D", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "LoadTextureFromImage", + description = "Load texture from image data", + returnType = "Texture2D", + params = { + {type = "Image", name = "image"} + } + }, + { + name = "LoadTextureCubemap", + description = "Load cubemap from image, multiple image cubemap layouts supported", + returnType = "TextureCubemap", + params = { + {type = "Image", name = "image"}, + {type = "int", name = "layout"} + } + }, + { + name = "LoadRenderTexture", + description = "Load texture for rendering (framebuffer)", + returnType = "RenderTexture2D", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"} + } + }, + { + name = "IsTextureReady", + description = "Check if a texture is ready", + returnType = "bool", + params = { + {type = "Texture2D", name = "texture"} + } + }, + { + name = "UnloadTexture", + description = "Unload texture from GPU memory (VRAM)", + returnType = "void", + params = { + {type = "Texture2D", name = "texture"} + } + }, + { + name = "IsRenderTextureReady", + description = "Check if a render texture is ready", + returnType = "bool", + params = { + {type = "RenderTexture2D", name = "target"} + } + }, + { + name = "UnloadRenderTexture", + description = "Unload render texture from GPU memory (VRAM)", + returnType = "void", + params = { + {type = "RenderTexture2D", name = "target"} + } + }, + { + name = "UpdateTexture", + description = "Update GPU texture with new data", + returnType = "void", + params = { + {type = "Texture2D", name = "texture"}, + {type = "const void *", name = "pixels"} + } + }, + { + name = "UpdateTextureRec", + description = "Update GPU texture rectangle with new data", + returnType = "void", + params = { + {type = "Texture2D", name = "texture"}, + {type = "Rectangle", name = "rec"}, + {type = "const void *", name = "pixels"} + } + }, + { + name = "GenTextureMipmaps", + description = "Generate GPU mipmaps for a texture", + returnType = "void", + params = { + {type = "Texture2D *", name = "texture"} + } + }, + { + name = "SetTextureFilter", + description = "Set texture scaling filter mode", + returnType = "void", + params = { + {type = "Texture2D", name = "texture"}, + {type = "int", name = "filter"} + } + }, + { + name = "SetTextureWrap", + description = "Set texture wrapping mode", + returnType = "void", + params = { + {type = "Texture2D", name = "texture"}, + {type = "int", name = "wrap"} + } + }, + { + name = "DrawTexture", + description = "Draw a Texture2D", + returnType = "void", + params = { + {type = "Texture2D", name = "texture"}, + {type = "int", name = "posX"}, + {type = "int", name = "posY"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawTextureV", + description = "Draw a Texture2D with position defined as Vector2", + returnType = "void", + params = { + {type = "Texture2D", name = "texture"}, + {type = "Vector2", name = "position"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawTextureEx", + description = "Draw a Texture2D with extended parameters", + returnType = "void", + params = { + {type = "Texture2D", name = "texture"}, + {type = "Vector2", name = "position"}, + {type = "float", name = "rotation"}, + {type = "float", name = "scale"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawTextureRec", + description = "Draw a part of a texture defined by a rectangle", + returnType = "void", + params = { + {type = "Texture2D", name = "texture"}, + {type = "Rectangle", name = "source"}, + {type = "Vector2", name = "position"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawTexturePro", + description = "Draw a part of a texture defined by a rectangle with 'pro' parameters", + returnType = "void", + params = { + {type = "Texture2D", name = "texture"}, + {type = "Rectangle", name = "source"}, + {type = "Rectangle", name = "dest"}, + {type = "Vector2", name = "origin"}, + {type = "float", name = "rotation"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawTextureNPatch", + description = "Draws a texture (or part of it) that stretches or shrinks nicely", + returnType = "void", + params = { + {type = "Texture2D", name = "texture"}, + {type = "NPatchInfo", name = "nPatchInfo"}, + {type = "Rectangle", name = "dest"}, + {type = "Vector2", name = "origin"}, + {type = "float", name = "rotation"}, + {type = "Color", name = "tint"} + } + }, + { + name = "Fade", + description = "Get color with alpha applied, alpha goes from 0.0f to 1.0f", + returnType = "Color", + params = { + {type = "Color", name = "color"}, + {type = "float", name = "alpha"} + } + }, + { + name = "ColorToInt", + description = "Get hexadecimal value for a Color", + returnType = "int", + params = { + {type = "Color", name = "color"} + } + }, + { + name = "ColorNormalize", + description = "Get Color normalized as float [0..1]", + returnType = "Vector4", + params = { + {type = "Color", name = "color"} + } + }, + { + name = "ColorFromNormalized", + description = "Get Color from normalized values [0..1]", + returnType = "Color", + params = { + {type = "Vector4", name = "normalized"} + } + }, + { + name = "ColorToHSV", + description = "Get HSV values for a Color, hue [0..360], saturation/value [0..1]", + returnType = "Vector3", + params = { + {type = "Color", name = "color"} + } + }, + { + name = "ColorFromHSV", + description = "Get a Color from HSV values, hue [0..360], saturation/value [0..1]", + returnType = "Color", + params = { + {type = "float", name = "hue"}, + {type = "float", name = "saturation"}, + {type = "float", name = "value"} + } + }, + { + name = "ColorTint", + description = "Get color multiplied with another color", + returnType = "Color", + params = { + {type = "Color", name = "color"}, + {type = "Color", name = "tint"} + } + }, + { + name = "ColorBrightness", + description = "Get color with brightness correction, brightness factor goes from -1.0f to 1.0f", + returnType = "Color", + params = { + {type = "Color", name = "color"}, + {type = "float", name = "factor"} + } + }, + { + name = "ColorContrast", + description = "Get color with contrast correction, contrast values between -1.0f and 1.0f", + returnType = "Color", + params = { + {type = "Color", name = "color"}, + {type = "float", name = "contrast"} + } + }, + { + name = "ColorAlpha", + description = "Get color with alpha applied, alpha goes from 0.0f to 1.0f", + returnType = "Color", + params = { + {type = "Color", name = "color"}, + {type = "float", name = "alpha"} + } + }, + { + name = "ColorAlphaBlend", + description = "Get src alpha-blended into dst color with tint", + returnType = "Color", + params = { + {type = "Color", name = "dst"}, + {type = "Color", name = "src"}, + {type = "Color", name = "tint"} + } + }, + { + name = "GetColor", + description = "Get Color structure from hexadecimal value", + returnType = "Color", + params = { + {type = "unsigned int", name = "hexValue"} + } + }, + { + name = "GetPixelColor", + description = "Get Color from a source pixel pointer of certain format", + returnType = "Color", + params = { + {type = "void *", name = "srcPtr"}, + {type = "int", name = "format"} + } + }, + { + name = "SetPixelColor", + description = "Set color formatted into destination pixel pointer", + returnType = "void", + params = { + {type = "void *", name = "dstPtr"}, + {type = "Color", name = "color"}, + {type = "int", name = "format"} + } + }, + { + name = "GetPixelDataSize", + description = "Get pixel data size in bytes for certain format", + returnType = "int", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "int", name = "format"} + } + }, + { + name = "GetFontDefault", + description = "Get the default Font", + returnType = "Font" + }, + { + name = "LoadFont", + description = "Load font from file into GPU memory (VRAM)", + returnType = "Font", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "LoadFontEx", + description = "Load font from file with extended parameters, use NULL for fontChars and 0 for glyphCount to load the default character set", + returnType = "Font", + params = { + {type = "const char *", name = "fileName"}, + {type = "int", name = "fontSize"}, + {type = "int *", name = "fontChars"}, + {type = "int", name = "glyphCount"} + } + }, + { + name = "LoadFontFromImage", + description = "Load font from Image (XNA style)", + returnType = "Font", + params = { + {type = "Image", name = "image"}, + {type = "Color", name = "key"}, + {type = "int", name = "firstChar"} + } + }, + { + name = "LoadFontFromMemory", + description = "Load font from memory buffer, fileType refers to extension: i.e. '.ttf'", + returnType = "Font", + params = { + {type = "const char *", name = "fileType"}, + {type = "const unsigned char *", name = "fileData"}, + {type = "int", name = "dataSize"}, + {type = "int", name = "fontSize"}, + {type = "int *", name = "fontChars"}, + {type = "int", name = "glyphCount"} + } + }, + { + name = "IsFontReady", + description = "Check if a font is ready", + returnType = "bool", + params = { + {type = "Font", name = "font"} + } + }, + { + name = "LoadFontData", + description = "Load font data for further use", + returnType = "GlyphInfo *", + params = { + {type = "const unsigned char *", name = "fileData"}, + {type = "int", name = "dataSize"}, + {type = "int", name = "fontSize"}, + {type = "int *", name = "fontChars"}, + {type = "int", name = "glyphCount"}, + {type = "int", name = "type"} + } + }, + { + name = "GenImageFontAtlas", + description = "Generate image font atlas using chars info", + returnType = "Image", + params = { + {type = "const GlyphInfo *", name = "chars"}, + {type = "Rectangle **", name = "recs"}, + {type = "int", name = "glyphCount"}, + {type = "int", name = "fontSize"}, + {type = "int", name = "padding"}, + {type = "int", name = "packMethod"} + } + }, + { + name = "UnloadFontData", + description = "Unload font chars info data (RAM)", + returnType = "void", + params = { + {type = "GlyphInfo *", name = "chars"}, + {type = "int", name = "glyphCount"} + } + }, + { + name = "UnloadFont", + description = "Unload font from GPU memory (VRAM)", + returnType = "void", + params = { + {type = "Font", name = "font"} + } + }, + { + name = "ExportFontAsCode", + description = "Export font as code file, returns true on success", + returnType = "bool", + params = { + {type = "Font", name = "font"}, + {type = "const char *", name = "fileName"} + } + }, + { + name = "DrawFPS", + description = "Draw current FPS", + returnType = "void", + params = { + {type = "int", name = "posX"}, + {type = "int", name = "posY"} + } + }, + { + name = "DrawText", + description = "Draw text (using default font)", + returnType = "void", + params = { + {type = "const char *", name = "text"}, + {type = "int", name = "posX"}, + {type = "int", name = "posY"}, + {type = "int", name = "fontSize"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawTextEx", + description = "Draw text using font and additional parameters", + returnType = "void", + params = { + {type = "Font", name = "font"}, + {type = "const char *", name = "text"}, + {type = "Vector2", name = "position"}, + {type = "float", name = "fontSize"}, + {type = "float", name = "spacing"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawTextPro", + description = "Draw text using Font and pro parameters (rotation)", + returnType = "void", + params = { + {type = "Font", name = "font"}, + {type = "const char *", name = "text"}, + {type = "Vector2", name = "position"}, + {type = "Vector2", name = "origin"}, + {type = "float", name = "rotation"}, + {type = "float", name = "fontSize"}, + {type = "float", name = "spacing"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawTextCodepoint", + description = "Draw one character (codepoint)", + returnType = "void", + params = { + {type = "Font", name = "font"}, + {type = "int", name = "codepoint"}, + {type = "Vector2", name = "position"}, + {type = "float", name = "fontSize"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawTextCodepoints", + description = "Draw multiple character (codepoint)", + returnType = "void", + params = { + {type = "Font", name = "font"}, + {type = "const int *", name = "codepoints"}, + {type = "int", name = "count"}, + {type = "Vector2", name = "position"}, + {type = "float", name = "fontSize"}, + {type = "float", name = "spacing"}, + {type = "Color", name = "tint"} + } + }, + { + name = "MeasureText", + description = "Measure string width for default font", + returnType = "int", + params = { + {type = "const char *", name = "text"}, + {type = "int", name = "fontSize"} + } + }, + { + name = "MeasureTextEx", + description = "Measure string size for Font", + returnType = "Vector2", + params = { + {type = "Font", name = "font"}, + {type = "const char *", name = "text"}, + {type = "float", name = "fontSize"}, + {type = "float", name = "spacing"} + } + }, + { + name = "GetGlyphIndex", + description = "Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found", + returnType = "int", + params = { + {type = "Font", name = "font"}, + {type = "int", name = "codepoint"} + } + }, + { + name = "GetGlyphInfo", + description = "Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found", + returnType = "GlyphInfo", + params = { + {type = "Font", name = "font"}, + {type = "int", name = "codepoint"} + } + }, + { + name = "GetGlyphAtlasRec", + description = "Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found", + returnType = "Rectangle", + params = { + {type = "Font", name = "font"}, + {type = "int", name = "codepoint"} + } + }, + { + name = "LoadUTF8", + description = "Load UTF-8 text encoded from codepoints array", + returnType = "char *", + params = { + {type = "const int *", name = "codepoints"}, + {type = "int", name = "length"} + } + }, + { + name = "UnloadUTF8", + description = "Unload UTF-8 text encoded from codepoints array", + returnType = "void", + params = { + {type = "char *", name = "text"} + } + }, + { + name = "LoadCodepoints", + description = "Load all codepoints from a UTF-8 text string, codepoints count returned by parameter", + returnType = "int *", + params = { + {type = "const char *", name = "text"}, + {type = "int *", name = "count"} + } + }, + { + name = "UnloadCodepoints", + description = "Unload codepoints data from memory", + returnType = "void", + params = { + {type = "int *", name = "codepoints"} + } + }, + { + name = "GetCodepointCount", + description = "Get total number of codepoints in a UTF-8 encoded string", + returnType = "int", + params = { + {type = "const char *", name = "text"} + } + }, + { + name = "GetCodepoint", + description = "Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure", + returnType = "int", + params = { + {type = "const char *", name = "text"}, + {type = "int *", name = "codepointSize"} + } + }, + { + name = "GetCodepointNext", + description = "Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure", + returnType = "int", + params = { + {type = "const char *", name = "text"}, + {type = "int *", name = "codepointSize"} + } + }, + { + name = "GetCodepointPrevious", + description = "Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure", + returnType = "int", + params = { + {type = "const char *", name = "text"}, + {type = "int *", name = "codepointSize"} + } + }, + { + name = "CodepointToUTF8", + description = "Encode one codepoint into UTF-8 byte array (array length returned as parameter)", + returnType = "const char *", + params = { + {type = "int", name = "codepoint"}, + {type = "int *", name = "utf8Size"} + } + }, + { + name = "TextCopy", + description = "Copy one string to another, returns bytes copied", + returnType = "int", + params = { + {type = "char *", name = "dst"}, + {type = "const char *", name = "src"} + } + }, + { + name = "TextIsEqual", + description = "Check if two text string are equal", + returnType = "bool", + params = { + {type = "const char *", name = "text1"}, + {type = "const char *", name = "text2"} + } + }, + { + name = "TextLength", + description = "Get text length, checks for '\\0' ending", + returnType = "unsigned int", + params = { + {type = "const char *", name = "text"} + } + }, + { + name = "TextFormat", + description = "Text formatting with variables (sprintf() style)", + returnType = "const char *", + params = { + {type = "const char *", name = "text"}, + {type = "...", name = "args"} + } + }, + { + name = "TextSubtext", + description = "Get a piece of a text string", + returnType = "const char *", + params = { + {type = "const char *", name = "text"}, + {type = "int", name = "position"}, + {type = "int", name = "length"} + } + }, + { + name = "TextReplace", + description = "Replace text string (WARNING: memory must be freed!)", + returnType = "char *", + params = { + {type = "char *", name = "text"}, + {type = "const char *", name = "replace"}, + {type = "const char *", name = "by"} + } + }, + { + name = "TextInsert", + description = "Insert text in a position (WARNING: memory must be freed!)", + returnType = "char *", + params = { + {type = "const char *", name = "text"}, + {type = "const char *", name = "insert"}, + {type = "int", name = "position"} + } + }, + { + name = "TextJoin", + description = "Join text strings with delimiter", + returnType = "const char *", + params = { + {type = "const char **", name = "textList"}, + {type = "int", name = "count"}, + {type = "const char *", name = "delimiter"} + } + }, + { + name = "TextSplit", + description = "Split text into multiple strings", + returnType = "const char **", + params = { + {type = "const char *", name = "text"}, + {type = "char", name = "delimiter"}, + {type = "int *", name = "count"} + } + }, + { + name = "TextAppend", + description = "Append text at specific position and move cursor!", + returnType = "void", + params = { + {type = "char *", name = "text"}, + {type = "const char *", name = "append"}, + {type = "int *", name = "position"} + } + }, + { + name = "TextFindIndex", + description = "Find first text occurrence within a string", + returnType = "int", + params = { + {type = "const char *", name = "text"}, + {type = "const char *", name = "find"} + } + }, + { + name = "TextToUpper", + description = "Get upper case version of provided string", + returnType = "const char *", + params = { + {type = "const char *", name = "text"} + } + }, + { + name = "TextToLower", + description = "Get lower case version of provided string", + returnType = "const char *", + params = { + {type = "const char *", name = "text"} + } + }, + { + name = "TextToPascal", + description = "Get Pascal case notation version of provided string", + returnType = "const char *", + params = { + {type = "const char *", name = "text"} + } + }, + { + name = "TextToInteger", + description = "Get integer value from text (negative values not supported)", + returnType = "int", + params = { + {type = "const char *", name = "text"} + } + }, + { + name = "DrawLine3D", + description = "Draw a line in 3D world space", + returnType = "void", + params = { + {type = "Vector3", name = "startPos"}, + {type = "Vector3", name = "endPos"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawPoint3D", + description = "Draw a point in 3D space, actually a small line", + returnType = "void", + params = { + {type = "Vector3", name = "position"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCircle3D", + description = "Draw a circle in 3D world space", + returnType = "void", + params = { + {type = "Vector3", name = "center"}, + {type = "float", name = "radius"}, + {type = "Vector3", name = "rotationAxis"}, + {type = "float", name = "rotationAngle"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawTriangle3D", + description = "Draw a color-filled triangle (vertex in counter-clockwise order!)", + returnType = "void", + params = { + {type = "Vector3", name = "v1"}, + {type = "Vector3", name = "v2"}, + {type = "Vector3", name = "v3"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawTriangleStrip3D", + description = "Draw a triangle strip defined by points", + returnType = "void", + params = { + {type = "Vector3 *", name = "points"}, + {type = "int", name = "pointCount"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCube", + description = "Draw cube", + returnType = "void", + params = { + {type = "Vector3", name = "position"}, + {type = "float", name = "width"}, + {type = "float", name = "height"}, + {type = "float", name = "length"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCubeV", + description = "Draw cube (Vector version)", + returnType = "void", + params = { + {type = "Vector3", name = "position"}, + {type = "Vector3", name = "size"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCubeWires", + description = "Draw cube wires", + returnType = "void", + params = { + {type = "Vector3", name = "position"}, + {type = "float", name = "width"}, + {type = "float", name = "height"}, + {type = "float", name = "length"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCubeWiresV", + description = "Draw cube wires (Vector version)", + returnType = "void", + params = { + {type = "Vector3", name = "position"}, + {type = "Vector3", name = "size"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawSphere", + description = "Draw sphere", + returnType = "void", + params = { + {type = "Vector3", name = "centerPos"}, + {type = "float", name = "radius"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawSphereEx", + description = "Draw sphere with extended parameters", + returnType = "void", + params = { + {type = "Vector3", name = "centerPos"}, + {type = "float", name = "radius"}, + {type = "int", name = "rings"}, + {type = "int", name = "slices"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawSphereWires", + description = "Draw sphere wires", + returnType = "void", + params = { + {type = "Vector3", name = "centerPos"}, + {type = "float", name = "radius"}, + {type = "int", name = "rings"}, + {type = "int", name = "slices"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCylinder", + description = "Draw a cylinder/cone", + returnType = "void", + params = { + {type = "Vector3", name = "position"}, + {type = "float", name = "radiusTop"}, + {type = "float", name = "radiusBottom"}, + {type = "float", name = "height"}, + {type = "int", name = "slices"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCylinderEx", + description = "Draw a cylinder with base at startPos and top at endPos", + returnType = "void", + params = { + {type = "Vector3", name = "startPos"}, + {type = "Vector3", name = "endPos"}, + {type = "float", name = "startRadius"}, + {type = "float", name = "endRadius"}, + {type = "int", name = "sides"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCylinderWires", + description = "Draw a cylinder/cone wires", + returnType = "void", + params = { + {type = "Vector3", name = "position"}, + {type = "float", name = "radiusTop"}, + {type = "float", name = "radiusBottom"}, + {type = "float", name = "height"}, + {type = "int", name = "slices"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCylinderWiresEx", + description = "Draw a cylinder wires with base at startPos and top at endPos", + returnType = "void", + params = { + {type = "Vector3", name = "startPos"}, + {type = "Vector3", name = "endPos"}, + {type = "float", name = "startRadius"}, + {type = "float", name = "endRadius"}, + {type = "int", name = "sides"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCapsule", + description = "Draw a capsule with the center of its sphere caps at startPos and endPos", + returnType = "void", + params = { + {type = "Vector3", name = "startPos"}, + {type = "Vector3", name = "endPos"}, + {type = "float", name = "radius"}, + {type = "int", name = "slices"}, + {type = "int", name = "rings"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCapsuleWires", + description = "Draw capsule wireframe with the center of its sphere caps at startPos and endPos", + returnType = "void", + params = { + {type = "Vector3", name = "startPos"}, + {type = "Vector3", name = "endPos"}, + {type = "float", name = "radius"}, + {type = "int", name = "slices"}, + {type = "int", name = "rings"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawPlane", + description = "Draw a plane XZ", + returnType = "void", + params = { + {type = "Vector3", name = "centerPos"}, + {type = "Vector2", name = "size"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawRay", + description = "Draw a ray line", + returnType = "void", + params = { + {type = "Ray", name = "ray"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawGrid", + description = "Draw a grid (centered at (0, 0, 0))", + returnType = "void", + params = { + {type = "int", name = "slices"}, + {type = "float", name = "spacing"} + } + }, + { + name = "LoadModel", + description = "Load model from files (meshes and materials)", + returnType = "Model", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "LoadModelFromMesh", + description = "Load model from generated mesh (default material)", + returnType = "Model", + params = { + {type = "Mesh", name = "mesh"} + } + }, + { + name = "IsModelReady", + description = "Check if a model is ready", + returnType = "bool", + params = { + {type = "Model", name = "model"} + } + }, + { + name = "UnloadModel", + description = "Unload model (including meshes) from memory (RAM and/or VRAM)", + returnType = "void", + params = { + {type = "Model", name = "model"} + } + }, + { + name = "GetModelBoundingBox", + description = "Compute model bounding box limits (considers all meshes)", + returnType = "BoundingBox", + params = { + {type = "Model", name = "model"} + } + }, + { + name = "DrawModel", + description = "Draw a model (with texture if set)", + returnType = "void", + params = { + {type = "Model", name = "model"}, + {type = "Vector3", name = "position"}, + {type = "float", name = "scale"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawModelEx", + description = "Draw a model with extended parameters", + returnType = "void", + params = { + {type = "Model", name = "model"}, + {type = "Vector3", name = "position"}, + {type = "Vector3", name = "rotationAxis"}, + {type = "float", name = "rotationAngle"}, + {type = "Vector3", name = "scale"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawModelWires", + description = "Draw a model wires (with texture if set)", + returnType = "void", + params = { + {type = "Model", name = "model"}, + {type = "Vector3", name = "position"}, + {type = "float", name = "scale"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawModelWiresEx", + description = "Draw a model wires (with texture if set) with extended parameters", + returnType = "void", + params = { + {type = "Model", name = "model"}, + {type = "Vector3", name = "position"}, + {type = "Vector3", name = "rotationAxis"}, + {type = "float", name = "rotationAngle"}, + {type = "Vector3", name = "scale"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawBoundingBox", + description = "Draw bounding box (wires)", + returnType = "void", + params = { + {type = "BoundingBox", name = "box"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawBillboard", + description = "Draw a billboard texture", + returnType = "void", + params = { + {type = "Camera", name = "camera"}, + {type = "Texture2D", name = "texture"}, + {type = "Vector3", name = "position"}, + {type = "float", name = "size"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawBillboardRec", + description = "Draw a billboard texture defined by source", + returnType = "void", + params = { + {type = "Camera", name = "camera"}, + {type = "Texture2D", name = "texture"}, + {type = "Rectangle", name = "source"}, + {type = "Vector3", name = "position"}, + {type = "Vector2", name = "size"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawBillboardPro", + description = "Draw a billboard texture defined by source and rotation", + returnType = "void", + params = { + {type = "Camera", name = "camera"}, + {type = "Texture2D", name = "texture"}, + {type = "Rectangle", name = "source"}, + {type = "Vector3", name = "position"}, + {type = "Vector3", name = "up"}, + {type = "Vector2", name = "size"}, + {type = "Vector2", name = "origin"}, + {type = "float", name = "rotation"}, + {type = "Color", name = "tint"} + } + }, + { + name = "UploadMesh", + description = "Upload mesh vertex data in GPU and provide VAO/VBO ids", + returnType = "void", + params = { + {type = "Mesh *", name = "mesh"}, + {type = "bool", name = "dynamic"} + } + }, + { + name = "UpdateMeshBuffer", + description = "Update mesh vertex data in GPU for a specific buffer index", + returnType = "void", + params = { + {type = "Mesh", name = "mesh"}, + {type = "int", name = "index"}, + {type = "const void *", name = "data"}, + {type = "int", name = "dataSize"}, + {type = "int", name = "offset"} + } + }, + { + name = "UnloadMesh", + description = "Unload mesh data from CPU and GPU", + returnType = "void", + params = { + {type = "Mesh", name = "mesh"} + } + }, + { + name = "DrawMesh", + description = "Draw a 3d mesh with material and transform", + returnType = "void", + params = { + {type = "Mesh", name = "mesh"}, + {type = "Material", name = "material"}, + {type = "Matrix", name = "transform"} + } + }, + { + name = "DrawMeshInstanced", + description = "Draw multiple mesh instances with material and different transforms", + returnType = "void", + params = { + {type = "Mesh", name = "mesh"}, + {type = "Material", name = "material"}, + {type = "const Matrix *", name = "transforms"}, + {type = "int", name = "instances"} + } + }, + { + name = "ExportMesh", + description = "Export mesh data to file, returns true on success", + returnType = "bool", + params = { + {type = "Mesh", name = "mesh"}, + {type = "const char *", name = "fileName"} + } + }, + { + name = "GetMeshBoundingBox", + description = "Compute mesh bounding box limits", + returnType = "BoundingBox", + params = { + {type = "Mesh", name = "mesh"} + } + }, + { + name = "GenMeshTangents", + description = "Compute mesh tangents", + returnType = "void", + params = { + {type = "Mesh *", name = "mesh"} + } + }, + { + name = "GenMeshPoly", + description = "Generate polygonal mesh", + returnType = "Mesh", + params = { + {type = "int", name = "sides"}, + {type = "float", name = "radius"} + } + }, + { + name = "GenMeshPlane", + description = "Generate plane mesh (with subdivisions)", + returnType = "Mesh", + params = { + {type = "float", name = "width"}, + {type = "float", name = "length"}, + {type = "int", name = "resX"}, + {type = "int", name = "resZ"} + } + }, + { + name = "GenMeshCube", + description = "Generate cuboid mesh", + returnType = "Mesh", + params = { + {type = "float", name = "width"}, + {type = "float", name = "height"}, + {type = "float", name = "length"} + } + }, + { + name = "GenMeshSphere", + description = "Generate sphere mesh (standard sphere)", + returnType = "Mesh", + params = { + {type = "float", name = "radius"}, + {type = "int", name = "rings"}, + {type = "int", name = "slices"} + } + }, + { + name = "GenMeshHemiSphere", + description = "Generate half-sphere mesh (no bottom cap)", + returnType = "Mesh", + params = { + {type = "float", name = "radius"}, + {type = "int", name = "rings"}, + {type = "int", name = "slices"} + } + }, + { + name = "GenMeshCylinder", + description = "Generate cylinder mesh", + returnType = "Mesh", + params = { + {type = "float", name = "radius"}, + {type = "float", name = "height"}, + {type = "int", name = "slices"} + } + }, + { + name = "GenMeshCone", + description = "Generate cone/pyramid mesh", + returnType = "Mesh", + params = { + {type = "float", name = "radius"}, + {type = "float", name = "height"}, + {type = "int", name = "slices"} + } + }, + { + name = "GenMeshTorus", + description = "Generate torus mesh", + returnType = "Mesh", + params = { + {type = "float", name = "radius"}, + {type = "float", name = "size"}, + {type = "int", name = "radSeg"}, + {type = "int", name = "sides"} + } + }, + { + name = "GenMeshKnot", + description = "Generate trefoil knot mesh", + returnType = "Mesh", + params = { + {type = "float", name = "radius"}, + {type = "float", name = "size"}, + {type = "int", name = "radSeg"}, + {type = "int", name = "sides"} + } + }, + { + name = "GenMeshHeightmap", + description = "Generate heightmap mesh from image data", + returnType = "Mesh", + params = { + {type = "Image", name = "heightmap"}, + {type = "Vector3", name = "size"} + } + }, + { + name = "GenMeshCubicmap", + description = "Generate cubes-based map mesh from image data", + returnType = "Mesh", + params = { + {type = "Image", name = "cubicmap"}, + {type = "Vector3", name = "cubeSize"} + } + }, + { + name = "LoadMaterials", + description = "Load materials from model file", + returnType = "Material *", + params = { + {type = "const char *", name = "fileName"}, + {type = "int *", name = "materialCount"} + } + }, + { + name = "LoadMaterialDefault", + description = "Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)", + returnType = "Material" + }, + { + name = "IsMaterialReady", + description = "Check if a material is ready", + returnType = "bool", + params = { + {type = "Material", name = "material"} + } + }, + { + name = "UnloadMaterial", + description = "Unload material from GPU memory (VRAM)", + returnType = "void", + params = { + {type = "Material", name = "material"} + } + }, + { + name = "SetMaterialTexture", + description = "Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...)", + returnType = "void", + params = { + {type = "Material *", name = "material"}, + {type = "int", name = "mapType"}, + {type = "Texture2D", name = "texture"} + } + }, + { + name = "SetModelMeshMaterial", + description = "Set material for a mesh", + returnType = "void", + params = { + {type = "Model *", name = "model"}, + {type = "int", name = "meshId"}, + {type = "int", name = "materialId"} + } + }, + { + name = "LoadModelAnimations", + description = "Load model animations from file", + returnType = "ModelAnimation *", + params = { + {type = "const char *", name = "fileName"}, + {type = "unsigned int *", name = "animCount"} + } + }, + { + name = "UpdateModelAnimation", + description = "Update model animation pose", + returnType = "void", + params = { + {type = "Model", name = "model"}, + {type = "ModelAnimation", name = "anim"}, + {type = "int", name = "frame"} + } + }, + { + name = "UnloadModelAnimation", + description = "Unload animation data", + returnType = "void", + params = { + {type = "ModelAnimation", name = "anim"} + } + }, + { + name = "UnloadModelAnimations", + description = "Unload animation array data", + returnType = "void", + params = { + {type = "ModelAnimation *", name = "animations"}, + {type = "unsigned int", name = "count"} + } + }, + { + name = "IsModelAnimationValid", + description = "Check model animation skeleton match", + returnType = "bool", + params = { + {type = "Model", name = "model"}, + {type = "ModelAnimation", name = "anim"} + } + }, + { + name = "CheckCollisionSpheres", + description = "Check collision between two spheres", + returnType = "bool", + params = { + {type = "Vector3", name = "center1"}, + {type = "float", name = "radius1"}, + {type = "Vector3", name = "center2"}, + {type = "float", name = "radius2"} + } + }, + { + name = "CheckCollisionBoxes", + description = "Check collision between two bounding boxes", + returnType = "bool", + params = { + {type = "BoundingBox", name = "box1"}, + {type = "BoundingBox", name = "box2"} + } + }, + { + name = "CheckCollisionBoxSphere", + description = "Check collision between box and sphere", + returnType = "bool", + params = { + {type = "BoundingBox", name = "box"}, + {type = "Vector3", name = "center"}, + {type = "float", name = "radius"} + } + }, + { + name = "GetRayCollisionSphere", + description = "Get collision info between ray and sphere", + returnType = "RayCollision", + params = { + {type = "Ray", name = "ray"}, + {type = "Vector3", name = "center"}, + {type = "float", name = "radius"} + } + }, + { + name = "GetRayCollisionBox", + description = "Get collision info between ray and box", + returnType = "RayCollision", + params = { + {type = "Ray", name = "ray"}, + {type = "BoundingBox", name = "box"} + } + }, + { + name = "GetRayCollisionMesh", + description = "Get collision info between ray and mesh", + returnType = "RayCollision", + params = { + {type = "Ray", name = "ray"}, + {type = "Mesh", name = "mesh"}, + {type = "Matrix", name = "transform"} + } + }, + { + name = "GetRayCollisionTriangle", + description = "Get collision info between ray and triangle", + returnType = "RayCollision", + params = { + {type = "Ray", name = "ray"}, + {type = "Vector3", name = "p1"}, + {type = "Vector3", name = "p2"}, + {type = "Vector3", name = "p3"} + } + }, + { + name = "GetRayCollisionQuad", + description = "Get collision info between ray and quad", + returnType = "RayCollision", + params = { + {type = "Ray", name = "ray"}, + {type = "Vector3", name = "p1"}, + {type = "Vector3", name = "p2"}, + {type = "Vector3", name = "p3"}, + {type = "Vector3", name = "p4"} + } + }, + { + name = "InitAudioDevice", + description = "Initialize audio device and context", + returnType = "void" + }, + { + name = "CloseAudioDevice", + description = "Close the audio device and context", + returnType = "void" + }, + { + name = "IsAudioDeviceReady", + description = "Check if audio device has been initialized successfully", + returnType = "bool" + }, + { + name = "SetMasterVolume", + description = "Set master volume (listener)", + returnType = "void", + params = { + {type = "float", name = "volume"} + } + }, + { + name = "LoadWave", + description = "Load wave data from file", + returnType = "Wave", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "LoadWaveFromMemory", + description = "Load wave from memory buffer, fileType refers to extension: i.e. '.wav'", + returnType = "Wave", + params = { + {type = "const char *", name = "fileType"}, + {type = "const unsigned char *", name = "fileData"}, + {type = "int", name = "dataSize"} + } + }, + { + name = "IsWaveReady", + description = "Checks if wave data is ready", + returnType = "bool", + params = { + {type = "Wave", name = "wave"} + } + }, + { + name = "LoadSound", + description = "Load sound from file", + returnType = "Sound", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "LoadSoundFromWave", + description = "Load sound from wave data", + returnType = "Sound", + params = { + {type = "Wave", name = "wave"} + } + }, + { + name = "IsSoundReady", + description = "Checks if a sound is ready", + returnType = "bool", + params = { + {type = "Sound", name = "sound"} + } + }, + { + name = "UpdateSound", + description = "Update sound buffer with new data", + returnType = "void", + params = { + {type = "Sound", name = "sound"}, + {type = "const void *", name = "data"}, + {type = "int", name = "sampleCount"} + } + }, + { + name = "UnloadWave", + description = "Unload wave data", + returnType = "void", + params = { + {type = "Wave", name = "wave"} + } + }, + { + name = "UnloadSound", + description = "Unload sound", + returnType = "void", + params = { + {type = "Sound", name = "sound"} + } + }, + { + name = "ExportWave", + description = "Export wave data to file, returns true on success", + returnType = "bool", + params = { + {type = "Wave", name = "wave"}, + {type = "const char *", name = "fileName"} + } + }, + { + name = "ExportWaveAsCode", + description = "Export wave sample data to code (.h), returns true on success", + returnType = "bool", + params = { + {type = "Wave", name = "wave"}, + {type = "const char *", name = "fileName"} + } + }, + { + name = "PlaySound", + description = "Play a sound", + returnType = "void", + params = { + {type = "Sound", name = "sound"} + } + }, + { + name = "StopSound", + description = "Stop playing a sound", + returnType = "void", + params = { + {type = "Sound", name = "sound"} + } + }, + { + name = "PauseSound", + description = "Pause a sound", + returnType = "void", + params = { + {type = "Sound", name = "sound"} + } + }, + { + name = "ResumeSound", + description = "Resume a paused sound", + returnType = "void", + params = { + {type = "Sound", name = "sound"} + } + }, + { + name = "IsSoundPlaying", + description = "Check if a sound is currently playing", + returnType = "bool", + params = { + {type = "Sound", name = "sound"} + } + }, + { + name = "SetSoundVolume", + description = "Set volume for a sound (1.0 is max level)", + returnType = "void", + params = { + {type = "Sound", name = "sound"}, + {type = "float", name = "volume"} + } + }, + { + name = "SetSoundPitch", + description = "Set pitch for a sound (1.0 is base level)", + returnType = "void", + params = { + {type = "Sound", name = "sound"}, + {type = "float", name = "pitch"} + } + }, + { + name = "SetSoundPan", + description = "Set pan for a sound (0.5 is center)", + returnType = "void", + params = { + {type = "Sound", name = "sound"}, + {type = "float", name = "pan"} + } + }, + { + name = "WaveCopy", + description = "Copy a wave to a new wave", + returnType = "Wave", + params = { + {type = "Wave", name = "wave"} + } + }, + { + name = "WaveCrop", + description = "Crop a wave to defined samples range", + returnType = "void", + params = { + {type = "Wave *", name = "wave"}, + {type = "int", name = "initSample"}, + {type = "int", name = "finalSample"} + } + }, + { + name = "WaveFormat", + description = "Convert wave data to desired format", + returnType = "void", + params = { + {type = "Wave *", name = "wave"}, + {type = "int", name = "sampleRate"}, + {type = "int", name = "sampleSize"}, + {type = "int", name = "channels"} + } + }, + { + name = "LoadWaveSamples", + description = "Load samples data from wave as a 32bit float data array", + returnType = "float *", + params = { + {type = "Wave", name = "wave"} + } + }, + { + name = "UnloadWaveSamples", + description = "Unload samples data loaded with LoadWaveSamples()", + returnType = "void", + params = { + {type = "float *", name = "samples"} + } + }, + { + name = "LoadMusicStream", + description = "Load music stream from file", + returnType = "Music", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "LoadMusicStreamFromMemory", + description = "Load music stream from data", + returnType = "Music", + params = { + {type = "const char *", name = "fileType"}, + {type = "const unsigned char *", name = "data"}, + {type = "int", name = "dataSize"} + } + }, + { + name = "IsMusicReady", + description = "Checks if a music stream is ready", + returnType = "bool", + params = { + {type = "Music", name = "music"} + } + }, + { + name = "UnloadMusicStream", + description = "Unload music stream", + returnType = "void", + params = { + {type = "Music", name = "music"} + } + }, + { + name = "PlayMusicStream", + description = "Start music playing", + returnType = "void", + params = { + {type = "Music", name = "music"} + } + }, + { + name = "IsMusicStreamPlaying", + description = "Check if music is playing", + returnType = "bool", + params = { + {type = "Music", name = "music"} + } + }, + { + name = "UpdateMusicStream", + description = "Updates buffers for music streaming", + returnType = "void", + params = { + {type = "Music", name = "music"} + } + }, + { + name = "StopMusicStream", + description = "Stop music playing", + returnType = "void", + params = { + {type = "Music", name = "music"} + } + }, + { + name = "PauseMusicStream", + description = "Pause music playing", + returnType = "void", + params = { + {type = "Music", name = "music"} + } + }, + { + name = "ResumeMusicStream", + description = "Resume playing paused music", + returnType = "void", + params = { + {type = "Music", name = "music"} + } + }, + { + name = "SeekMusicStream", + description = "Seek music to a position (in seconds)", + returnType = "void", + params = { + {type = "Music", name = "music"}, + {type = "float", name = "position"} + } + }, + { + name = "SetMusicVolume", + description = "Set volume for music (1.0 is max level)", + returnType = "void", + params = { + {type = "Music", name = "music"}, + {type = "float", name = "volume"} + } + }, + { + name = "SetMusicPitch", + description = "Set pitch for a music (1.0 is base level)", + returnType = "void", + params = { + {type = "Music", name = "music"}, + {type = "float", name = "pitch"} + } + }, + { + name = "SetMusicPan", + description = "Set pan for a music (0.5 is center)", + returnType = "void", + params = { + {type = "Music", name = "music"}, + {type = "float", name = "pan"} + } + }, + { + name = "GetMusicTimeLength", + description = "Get music time length (in seconds)", + returnType = "float", + params = { + {type = "Music", name = "music"} + } + }, + { + name = "GetMusicTimePlayed", + description = "Get current music time played (in seconds)", + returnType = "float", + params = { + {type = "Music", name = "music"} + } + }, + { + name = "LoadAudioStream", + description = "Load audio stream (to stream raw audio pcm data)", + returnType = "AudioStream", + params = { + {type = "unsigned int", name = "sampleRate"}, + {type = "unsigned int", name = "sampleSize"}, + {type = "unsigned int", name = "channels"} + } + }, + { + name = "IsAudioStreamReady", + description = "Checks if an audio stream is ready", + returnType = "bool", + params = { + {type = "AudioStream", name = "stream"} + } + }, + { + name = "UnloadAudioStream", + description = "Unload audio stream and free memory", + returnType = "void", + params = { + {type = "AudioStream", name = "stream"} + } + }, + { + name = "UpdateAudioStream", + description = "Update audio stream buffers with data", + returnType = "void", + params = { + {type = "AudioStream", name = "stream"}, + {type = "const void *", name = "data"}, + {type = "int", name = "frameCount"} + } + }, + { + name = "IsAudioStreamProcessed", + description = "Check if any audio stream buffers requires refill", + returnType = "bool", + params = { + {type = "AudioStream", name = "stream"} + } + }, + { + name = "PlayAudioStream", + description = "Play audio stream", + returnType = "void", + params = { + {type = "AudioStream", name = "stream"} + } + }, + { + name = "PauseAudioStream", + description = "Pause audio stream", + returnType = "void", + params = { + {type = "AudioStream", name = "stream"} + } + }, + { + name = "ResumeAudioStream", + description = "Resume audio stream", + returnType = "void", + params = { + {type = "AudioStream", name = "stream"} + } + }, + { + name = "IsAudioStreamPlaying", + description = "Check if audio stream is playing", + returnType = "bool", + params = { + {type = "AudioStream", name = "stream"} + } + }, + { + name = "StopAudioStream", + description = "Stop audio stream", + returnType = "void", + params = { + {type = "AudioStream", name = "stream"} + } + }, + { + name = "SetAudioStreamVolume", + description = "Set volume for audio stream (1.0 is max level)", + returnType = "void", + params = { + {type = "AudioStream", name = "stream"}, + {type = "float", name = "volume"} + } + }, + { + name = "SetAudioStreamPitch", + description = "Set pitch for audio stream (1.0 is base level)", + returnType = "void", + params = { + {type = "AudioStream", name = "stream"}, + {type = "float", name = "pitch"} + } + }, + { + name = "SetAudioStreamPan", + description = "Set pan for audio stream (0.5 is centered)", + returnType = "void", + params = { + {type = "AudioStream", name = "stream"}, + {type = "float", name = "pan"} + } + }, + { + name = "SetAudioStreamBufferSizeDefault", + description = "Default size for new audio streams", + returnType = "void", + params = { + {type = "int", name = "size"} + } + }, + { + name = "SetAudioStreamCallback", + description = "Audio thread callback to request new data", + returnType = "void", + params = { + {type = "AudioStream", name = "stream"}, + {type = "AudioCallback", name = "callback"} + } + }, + { + name = "AttachAudioStreamProcessor", + description = "Attach audio stream processor to stream", + returnType = "void", + params = { + {type = "AudioStream", name = "stream"}, + {type = "AudioCallback", name = "processor"} + } + }, + { + name = "DetachAudioStreamProcessor", + description = "Detach audio stream processor from stream", + returnType = "void", + params = { + {type = "AudioStream", name = "stream"}, + {type = "AudioCallback", name = "processor"} + } + }, + { + name = "AttachAudioMixedProcessor", + description = "Attach audio stream processor to the entire audio pipeline", + returnType = "void", + params = { + {type = "AudioCallback", name = "processor"} + } + }, + { + name = "DetachAudioMixedProcessor", + description = "Detach audio stream processor from the entire audio pipeline", + returnType = "void", + params = { + {type = "AudioCallback", name = "processor"} + } + } + } +} diff --git a/raylib-api/raylib.txt b/raylib-api/raylib.txt new file mode 100644 index 0000000..4b13bc3 --- /dev/null +++ b/raylib-api/raylib.txt @@ -0,0 +1,4210 @@ + +Defines found: 56 + +Define 001: RAYLIB_H + Name: RAYLIB_H + Type: GUARD + Value: + Description: +Define 002: RAYLIB_VERSION_MAJOR + Name: RAYLIB_VERSION_MAJOR + Type: INT + Value: 4 + Description: +Define 003: RAYLIB_VERSION_MINOR + Name: RAYLIB_VERSION_MINOR + Type: INT + Value: 5 + Description: +Define 004: RAYLIB_VERSION_PATCH + Name: RAYLIB_VERSION_PATCH + Type: INT + Value: 0 + Description: +Define 005: RAYLIB_VERSION + Name: RAYLIB_VERSION + Type: STRING + Value: "4.5" + Description: +Define 006: __declspec(x) + Name: __declspec(x) + Type: MACRO + Value: __attribute__((x)) + Description: +Define 007: RLAPI + Name: RLAPI + Type: UNKNOWN + Value: __declspec(dllexport) + Description: We are building the library as a Win32 shared library (.dll) +Define 008: PI + Name: PI + Type: FLOAT + Value: 3.14159265358979323846 + Description: +Define 009: DEG2RAD + Name: DEG2RAD + Type: FLOAT_MATH + Value: (PI/180.0f) + Description: +Define 010: RAD2DEG + Name: RAD2DEG + Type: FLOAT_MATH + Value: (180.0f/PI) + Description: +Define 011: RL_MALLOC(sz) + Name: RL_MALLOC(sz) + Type: MACRO + Value: malloc(sz) + Description: +Define 012: RL_CALLOC(n,sz) + Name: RL_CALLOC(n,sz) + Type: MACRO + Value: calloc(n,sz) + Description: +Define 013: RL_REALLOC(ptr,sz) + Name: RL_REALLOC(ptr,sz) + Type: MACRO + Value: realloc(ptr,sz) + Description: +Define 014: RL_FREE(ptr) + Name: RL_FREE(ptr) + Type: MACRO + Value: free(ptr) + Description: +Define 015: CLITERAL(type) + Name: CLITERAL(type) + Type: MACRO + Value: type + Description: +Define 016: RL_COLOR_TYPE + Name: RL_COLOR_TYPE + Type: GUARD + Value: + Description: +Define 017: RL_RECTANGLE_TYPE + Name: RL_RECTANGLE_TYPE + Type: GUARD + Value: + Description: +Define 018: RL_VECTOR2_TYPE + Name: RL_VECTOR2_TYPE + Type: GUARD + Value: + Description: +Define 019: RL_VECTOR3_TYPE + Name: RL_VECTOR3_TYPE + Type: GUARD + Value: + Description: +Define 020: RL_VECTOR4_TYPE + Name: RL_VECTOR4_TYPE + Type: GUARD + Value: + Description: +Define 021: RL_QUATERNION_TYPE + Name: RL_QUATERNION_TYPE + Type: GUARD + Value: + Description: +Define 022: RL_MATRIX_TYPE + Name: RL_MATRIX_TYPE + Type: GUARD + Value: + Description: +Define 023: LIGHTGRAY + Name: LIGHTGRAY + Type: COLOR + Value: CLITERAL(Color){ 200, 200, 200, 255 } + Description: Light Gray +Define 024: GRAY + Name: GRAY + Type: COLOR + Value: CLITERAL(Color){ 130, 130, 130, 255 } + Description: Gray +Define 025: DARKGRAY + Name: DARKGRAY + Type: COLOR + Value: CLITERAL(Color){ 80, 80, 80, 255 } + Description: Dark Gray +Define 026: YELLOW + Name: YELLOW + Type: COLOR + Value: CLITERAL(Color){ 253, 249, 0, 255 } + Description: Yellow +Define 027: GOLD + Name: GOLD + Type: COLOR + Value: CLITERAL(Color){ 255, 203, 0, 255 } + Description: Gold +Define 028: ORANGE + Name: ORANGE + Type: COLOR + Value: CLITERAL(Color){ 255, 161, 0, 255 } + Description: Orange +Define 029: PINK + Name: PINK + Type: COLOR + Value: CLITERAL(Color){ 255, 109, 194, 255 } + Description: Pink +Define 030: RED + Name: RED + Type: COLOR + Value: CLITERAL(Color){ 230, 41, 55, 255 } + Description: Red +Define 031: MAROON + Name: MAROON + Type: COLOR + Value: CLITERAL(Color){ 190, 33, 55, 255 } + Description: Maroon +Define 032: GREEN + Name: GREEN + Type: COLOR + Value: CLITERAL(Color){ 0, 228, 48, 255 } + Description: Green +Define 033: LIME + Name: LIME + Type: COLOR + Value: CLITERAL(Color){ 0, 158, 47, 255 } + Description: Lime +Define 034: DARKGREEN + Name: DARKGREEN + Type: COLOR + Value: CLITERAL(Color){ 0, 117, 44, 255 } + Description: Dark Green +Define 035: SKYBLUE + Name: SKYBLUE + Type: COLOR + Value: CLITERAL(Color){ 102, 191, 255, 255 } + Description: Sky Blue +Define 036: BLUE + Name: BLUE + Type: COLOR + Value: CLITERAL(Color){ 0, 121, 241, 255 } + Description: Blue +Define 037: DARKBLUE + Name: DARKBLUE + Type: COLOR + Value: CLITERAL(Color){ 0, 82, 172, 255 } + Description: Dark Blue +Define 038: PURPLE + Name: PURPLE + Type: COLOR + Value: CLITERAL(Color){ 200, 122, 255, 255 } + Description: Purple +Define 039: VIOLET + Name: VIOLET + Type: COLOR + Value: CLITERAL(Color){ 135, 60, 190, 255 } + Description: Violet +Define 040: DARKPURPLE + Name: DARKPURPLE + Type: COLOR + Value: CLITERAL(Color){ 112, 31, 126, 255 } + Description: Dark Purple +Define 041: BEIGE + Name: BEIGE + Type: COLOR + Value: CLITERAL(Color){ 211, 176, 131, 255 } + Description: Beige +Define 042: BROWN + Name: BROWN + Type: COLOR + Value: CLITERAL(Color){ 127, 106, 79, 255 } + Description: Brown +Define 043: DARKBROWN + Name: DARKBROWN + Type: COLOR + Value: CLITERAL(Color){ 76, 63, 47, 255 } + Description: Dark Brown +Define 044: WHITE + Name: WHITE + Type: COLOR + Value: CLITERAL(Color){ 255, 255, 255, 255 } + Description: White +Define 045: BLACK + Name: BLACK + Type: COLOR + Value: CLITERAL(Color){ 0, 0, 0, 255 } + Description: Black +Define 046: BLANK + Name: BLANK + Type: COLOR + Value: CLITERAL(Color){ 0, 0, 0, 0 } + Description: Blank (Transparent) +Define 047: MAGENTA + Name: MAGENTA + Type: COLOR + Value: CLITERAL(Color){ 255, 0, 255, 255 } + Description: Magenta +Define 048: RAYWHITE + Name: RAYWHITE + Type: COLOR + Value: CLITERAL(Color){ 245, 245, 245, 255 } + Description: My own White (raylib logo) +Define 049: RL_BOOL_TYPE + Name: RL_BOOL_TYPE + Type: GUARD + Value: + Description: +Define 050: MOUSE_LEFT_BUTTON + Name: MOUSE_LEFT_BUTTON + Type: UNKNOWN + Value: MOUSE_BUTTON_LEFT + Description: +Define 051: MOUSE_RIGHT_BUTTON + Name: MOUSE_RIGHT_BUTTON + Type: UNKNOWN + Value: MOUSE_BUTTON_RIGHT + Description: +Define 052: MOUSE_MIDDLE_BUTTON + Name: MOUSE_MIDDLE_BUTTON + Type: UNKNOWN + Value: MOUSE_BUTTON_MIDDLE + Description: +Define 053: MATERIAL_MAP_DIFFUSE + Name: MATERIAL_MAP_DIFFUSE + Type: UNKNOWN + Value: MATERIAL_MAP_ALBEDO + Description: +Define 054: MATERIAL_MAP_SPECULAR + Name: MATERIAL_MAP_SPECULAR + Type: UNKNOWN + Value: MATERIAL_MAP_METALNESS + Description: +Define 055: SHADER_LOC_MAP_DIFFUSE + Name: SHADER_LOC_MAP_DIFFUSE + Type: UNKNOWN + Value: SHADER_LOC_MAP_ALBEDO + Description: +Define 056: SHADER_LOC_MAP_SPECULAR + Name: SHADER_LOC_MAP_SPECULAR + Type: UNKNOWN + Value: SHADER_LOC_MAP_METALNESS + Description: + +Structures found: 32 + +Struct 01: Vector2 (2 fields) + Name: Vector2 + Description: Vector2, 2 components + Field[1]: float x // Vector x component + Field[2]: float y // Vector y component +Struct 02: Vector3 (3 fields) + Name: Vector3 + Description: Vector3, 3 components + Field[1]: float x // Vector x component + Field[2]: float y // Vector y component + Field[3]: float z // Vector z component +Struct 03: Vector4 (4 fields) + Name: Vector4 + Description: Vector4, 4 components + Field[1]: float x // Vector x component + Field[2]: float y // Vector y component + Field[3]: float z // Vector z component + Field[4]: float w // Vector w component +Struct 04: Matrix (16 fields) + Name: Matrix + Description: Matrix, 4x4 components, column major, OpenGL style, right-handed + Field[1]: float m0 // Matrix first row (4 components) + Field[2]: float m4 // Matrix first row (4 components) + Field[3]: float m8 // Matrix first row (4 components) + Field[4]: float m12 // Matrix first row (4 components) + Field[5]: float m1 // Matrix second row (4 components) + Field[6]: float m5 // Matrix second row (4 components) + Field[7]: float m9 // Matrix second row (4 components) + Field[8]: float m13 // Matrix second row (4 components) + Field[9]: float m2 // Matrix third row (4 components) + Field[10]: float m6 // Matrix third row (4 components) + Field[11]: float m10 // Matrix third row (4 components) + Field[12]: float m14 // Matrix third row (4 components) + Field[13]: float m3 // Matrix fourth row (4 components) + Field[14]: float m7 // Matrix fourth row (4 components) + Field[15]: float m11 // Matrix fourth row (4 components) + Field[16]: float m15 // Matrix fourth row (4 components) +Struct 05: Color (4 fields) + Name: Color + Description: Color, 4 components, R8G8B8A8 (32bit) + Field[1]: unsigned char r // Color red value + Field[2]: unsigned char g // Color green value + Field[3]: unsigned char b // Color blue value + Field[4]: unsigned char a // Color alpha value +Struct 06: Rectangle (4 fields) + Name: Rectangle + Description: Rectangle, 4 components + Field[1]: float x // Rectangle top-left corner position x + Field[2]: float y // Rectangle top-left corner position y + Field[3]: float width // Rectangle width + Field[4]: float height // Rectangle height +Struct 07: Image (5 fields) + Name: Image + Description: Image, pixel data stored in CPU memory (RAM) + Field[1]: void * data // Image raw data + Field[2]: int width // Image base width + Field[3]: int height // Image base height + Field[4]: int mipmaps // Mipmap levels, 1 by default + Field[5]: int format // Data format (PixelFormat type) +Struct 08: Texture (5 fields) + Name: Texture + Description: Texture, tex data stored in GPU memory (VRAM) + Field[1]: unsigned int id // OpenGL texture id + Field[2]: int width // Texture base width + Field[3]: int height // Texture base height + Field[4]: int mipmaps // Mipmap levels, 1 by default + Field[5]: int format // Data format (PixelFormat type) +Struct 09: RenderTexture (3 fields) + Name: RenderTexture + Description: RenderTexture, fbo for texture rendering + Field[1]: unsigned int id // OpenGL framebuffer object id + Field[2]: Texture texture // Color buffer attachment texture + Field[3]: Texture depth // Depth buffer attachment texture +Struct 10: NPatchInfo (6 fields) + Name: NPatchInfo + Description: NPatchInfo, n-patch layout info + Field[1]: Rectangle source // Texture source rectangle + Field[2]: int left // Left border offset + Field[3]: int top // Top border offset + Field[4]: int right // Right border offset + Field[5]: int bottom // Bottom border offset + Field[6]: int layout // Layout of the n-patch: 3x3, 1x3 or 3x1 +Struct 11: GlyphInfo (5 fields) + Name: GlyphInfo + Description: GlyphInfo, font characters glyphs info + Field[1]: int value // Character value (Unicode) + Field[2]: int offsetX // Character offset X when drawing + Field[3]: int offsetY // Character offset Y when drawing + Field[4]: int advanceX // Character advance position X + Field[5]: Image image // Character image data +Struct 12: Font (6 fields) + Name: Font + Description: Font, font texture and GlyphInfo array data + Field[1]: int baseSize // Base size (default chars height) + Field[2]: int glyphCount // Number of glyph characters + Field[3]: int glyphPadding // Padding around the glyph characters + Field[4]: Texture2D texture // Texture atlas containing the glyphs + Field[5]: Rectangle * recs // Rectangles in texture for the glyphs + Field[6]: GlyphInfo * glyphs // Glyphs info data +Struct 13: Camera3D (5 fields) + Name: Camera3D + Description: Camera, defines position/orientation in 3d space + Field[1]: Vector3 position // Camera position + Field[2]: Vector3 target // Camera target it looks-at + Field[3]: Vector3 up // Camera up vector (rotation over its axis) + Field[4]: float fovy // Camera field-of-view aperture in Y (degrees) in perspective, used as near plane width in orthographic + Field[5]: int projection // Camera projection: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC +Struct 14: Camera2D (4 fields) + Name: Camera2D + Description: Camera2D, defines position/orientation in 2d space + Field[1]: Vector2 offset // Camera offset (displacement from target) + Field[2]: Vector2 target // Camera target (rotation and zoom origin) + Field[3]: float rotation // Camera rotation in degrees + Field[4]: float zoom // Camera zoom (scaling), should be 1.0f by default +Struct 15: Mesh (15 fields) + Name: Mesh + Description: Mesh, vertex data and vao/vbo + Field[1]: int vertexCount // Number of vertices stored in arrays + Field[2]: int triangleCount // Number of triangles stored (indexed or not) + Field[3]: float * vertices // Vertex position (XYZ - 3 components per vertex) (shader-location = 0) + Field[4]: float * texcoords // Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) + Field[5]: float * texcoords2 // Vertex texture second coordinates (UV - 2 components per vertex) (shader-location = 5) + Field[6]: float * normals // Vertex normals (XYZ - 3 components per vertex) (shader-location = 2) + Field[7]: float * tangents // Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4) + Field[8]: unsigned char * colors // Vertex colors (RGBA - 4 components per vertex) (shader-location = 3) + Field[9]: unsigned short * indices // Vertex indices (in case vertex data comes indexed) + Field[10]: float * animVertices // Animated vertex positions (after bones transformations) + Field[11]: float * animNormals // Animated normals (after bones transformations) + Field[12]: unsigned char * boneIds // Vertex bone ids, max 255 bone ids, up to 4 bones influence by vertex (skinning) + Field[13]: float * boneWeights // Vertex bone weight, up to 4 bones influence by vertex (skinning) + Field[14]: unsigned int vaoId // OpenGL Vertex Array Object id + Field[15]: unsigned int * vboId // OpenGL Vertex Buffer Objects id (default vertex data) +Struct 16: Shader (2 fields) + Name: Shader + Description: Shader + Field[1]: unsigned int id // Shader program id + Field[2]: int * locs // Shader locations array (RL_MAX_SHADER_LOCATIONS) +Struct 17: MaterialMap (3 fields) + Name: MaterialMap + Description: MaterialMap + Field[1]: Texture2D texture // Material map texture + Field[2]: Color color // Material map color + Field[3]: float value // Material map value +Struct 18: Material (3 fields) + Name: Material + Description: Material, includes shader and maps + Field[1]: Shader shader // Material shader + Field[2]: MaterialMap * maps // Material maps array (MAX_MATERIAL_MAPS) + Field[3]: float[4] params // Material generic parameters (if required) +Struct 19: Transform (3 fields) + Name: Transform + Description: Transform, vertex transformation data + Field[1]: Vector3 translation // Translation + Field[2]: Quaternion rotation // Rotation + Field[3]: Vector3 scale // Scale +Struct 20: BoneInfo (2 fields) + Name: BoneInfo + Description: Bone, skeletal animation bone + Field[1]: char[32] name // Bone name + Field[2]: int parent // Bone parent +Struct 21: Model (9 fields) + Name: Model + Description: Model, meshes, materials and animation data + Field[1]: Matrix transform // Local transform matrix + Field[2]: int meshCount // Number of meshes + Field[3]: int materialCount // Number of materials + Field[4]: Mesh * meshes // Meshes array + Field[5]: Material * materials // Materials array + Field[6]: int * meshMaterial // Mesh material number + Field[7]: int boneCount // Number of bones + Field[8]: BoneInfo * bones // Bones information (skeleton) + Field[9]: Transform * bindPose // Bones base transformation (pose) +Struct 22: ModelAnimation (4 fields) + Name: ModelAnimation + Description: ModelAnimation + Field[1]: int boneCount // Number of bones + Field[2]: int frameCount // Number of animation frames + Field[3]: BoneInfo * bones // Bones information (skeleton) + Field[4]: Transform ** framePoses // Poses array by frame +Struct 23: Ray (2 fields) + Name: Ray + Description: Ray, ray for raycasting + Field[1]: Vector3 position // Ray position (origin) + Field[2]: Vector3 direction // Ray direction +Struct 24: RayCollision (4 fields) + Name: RayCollision + Description: RayCollision, ray hit information + Field[1]: bool hit // Did the ray hit something? + Field[2]: float distance // Distance to the nearest hit + Field[3]: Vector3 point // Point of the nearest hit + Field[4]: Vector3 normal // Surface normal of hit +Struct 25: BoundingBox (2 fields) + Name: BoundingBox + Description: BoundingBox + Field[1]: Vector3 min // Minimum vertex box-corner + Field[2]: Vector3 max // Maximum vertex box-corner +Struct 26: Wave (5 fields) + Name: Wave + Description: Wave, audio wave data + Field[1]: unsigned int frameCount // Total number of frames (considering channels) + Field[2]: unsigned int sampleRate // Frequency (samples per second) + Field[3]: unsigned int sampleSize // Bit depth (bits per sample): 8, 16, 32 (24 not supported) + Field[4]: unsigned int channels // Number of channels (1-mono, 2-stereo, ...) + Field[5]: void * data // Buffer data pointer +Struct 27: AudioStream (5 fields) + Name: AudioStream + Description: AudioStream, custom audio stream + Field[1]: rAudioBuffer * buffer // Pointer to internal data used by the audio system + Field[2]: rAudioProcessor * processor // Pointer to internal data processor, useful for audio effects + Field[3]: unsigned int sampleRate // Frequency (samples per second) + Field[4]: unsigned int sampleSize // Bit depth (bits per sample): 8, 16, 32 (24 not supported) + Field[5]: unsigned int channels // Number of channels (1-mono, 2-stereo, ...) +Struct 28: Sound (2 fields) + Name: Sound + Description: Sound + Field[1]: AudioStream stream // Audio stream + Field[2]: unsigned int frameCount // Total number of frames (considering channels) +Struct 29: Music (5 fields) + Name: Music + Description: Music, audio stream, anything longer than ~10 seconds should be streamed + Field[1]: AudioStream stream // Audio stream + Field[2]: unsigned int frameCount // Total number of frames (considering channels) + Field[3]: bool looping // Music looping enable + Field[4]: int ctxType // Type of music context (audio filetype) + Field[5]: void * ctxData // Audio context data, depends on type +Struct 30: VrDeviceInfo (10 fields) + Name: VrDeviceInfo + Description: VrDeviceInfo, Head-Mounted-Display device parameters + Field[1]: int hResolution // Horizontal resolution in pixels + Field[2]: int vResolution // Vertical resolution in pixels + Field[3]: float hScreenSize // Horizontal size in meters + Field[4]: float vScreenSize // Vertical size in meters + Field[5]: float vScreenCenter // Screen center in meters + Field[6]: float eyeToScreenDistance // Distance between eye and display in meters + Field[7]: float lensSeparationDistance // Lens separation distance in meters + Field[8]: float interpupillaryDistance // IPD (distance between pupils) in meters + Field[9]: float[4] lensDistortionValues // Lens distortion constant parameters + Field[10]: float[4] chromaAbCorrection // Chromatic aberration correction parameters +Struct 31: VrStereoConfig (8 fields) + Name: VrStereoConfig + Description: VrStereoConfig, VR stereo rendering configuration for simulator + Field[1]: Matrix[2] projection // VR projection matrices (per eye) + Field[2]: Matrix[2] viewOffset // VR view offset matrices (per eye) + Field[3]: float[2] leftLensCenter // VR left lens center + Field[4]: float[2] rightLensCenter // VR right lens center + Field[5]: float[2] leftScreenCenter // VR left screen center + Field[6]: float[2] rightScreenCenter // VR right screen center + Field[7]: float[2] scale // VR distortion scale + Field[8]: float[2] scaleIn // VR distortion scale in +Struct 32: FilePathList (3 fields) + Name: FilePathList + Description: File path list + Field[1]: unsigned int capacity // Filepaths max entries + Field[2]: unsigned int count // Filepaths entries count + Field[3]: char ** paths // Filepaths entries + +Aliases found: 5 + +Alias 001: Quaternion + Type: Vector4 + Name: Quaternion + Description: Quaternion, 4 components (Vector4 alias) +Alias 002: Texture2D + Type: Texture + Name: Texture2D + Description: Texture2D, same as Texture +Alias 003: TextureCubemap + Type: Texture + Name: TextureCubemap + Description: TextureCubemap, same as Texture +Alias 004: RenderTexture2D + Type: RenderTexture + Name: RenderTexture2D + Description: RenderTexture2D, same as RenderTexture +Alias 005: Camera + Type: Camera3D + Name: Camera + Description: Camera type fallback, defaults to Camera3D + +Enums found: 21 + +Enum 01: ConfigFlags (15 values) + Name: ConfigFlags + Description: System/Window config flags + Value[FLAG_VSYNC_HINT]: 64 + Value[FLAG_FULLSCREEN_MODE]: 2 + Value[FLAG_WINDOW_RESIZABLE]: 4 + Value[FLAG_WINDOW_UNDECORATED]: 8 + Value[FLAG_WINDOW_HIDDEN]: 128 + Value[FLAG_WINDOW_MINIMIZED]: 512 + Value[FLAG_WINDOW_MAXIMIZED]: 1024 + Value[FLAG_WINDOW_UNFOCUSED]: 2048 + Value[FLAG_WINDOW_TOPMOST]: 4096 + Value[FLAG_WINDOW_ALWAYS_RUN]: 256 + Value[FLAG_WINDOW_TRANSPARENT]: 16 + Value[FLAG_WINDOW_HIGHDPI]: 8192 + Value[FLAG_WINDOW_MOUSE_PASSTHROUGH]: 16384 + Value[FLAG_MSAA_4X_HINT]: 32 + Value[FLAG_INTERLACED_HINT]: 65536 +Enum 02: TraceLogLevel (8 values) + Name: TraceLogLevel + Description: Trace log level + Value[LOG_ALL]: 0 + Value[LOG_TRACE]: 1 + Value[LOG_DEBUG]: 2 + Value[LOG_INFO]: 3 + Value[LOG_WARNING]: 4 + Value[LOG_ERROR]: 5 + Value[LOG_FATAL]: 6 + Value[LOG_NONE]: 7 +Enum 03: KeyboardKey (110 values) + Name: KeyboardKey + Description: Keyboard keys (US keyboard layout) + Value[KEY_NULL]: 0 + Value[KEY_APOSTROPHE]: 39 + Value[KEY_COMMA]: 44 + Value[KEY_MINUS]: 45 + Value[KEY_PERIOD]: 46 + Value[KEY_SLASH]: 47 + Value[KEY_ZERO]: 48 + Value[KEY_ONE]: 49 + Value[KEY_TWO]: 50 + Value[KEY_THREE]: 51 + Value[KEY_FOUR]: 52 + Value[KEY_FIVE]: 53 + Value[KEY_SIX]: 54 + Value[KEY_SEVEN]: 55 + Value[KEY_EIGHT]: 56 + Value[KEY_NINE]: 57 + Value[KEY_SEMICOLON]: 59 + Value[KEY_EQUAL]: 61 + Value[KEY_A]: 65 + Value[KEY_B]: 66 + Value[KEY_C]: 67 + Value[KEY_D]: 68 + Value[KEY_E]: 69 + Value[KEY_F]: 70 + Value[KEY_G]: 71 + Value[KEY_H]: 72 + Value[KEY_I]: 73 + Value[KEY_J]: 74 + Value[KEY_K]: 75 + Value[KEY_L]: 76 + Value[KEY_M]: 77 + Value[KEY_N]: 78 + Value[KEY_O]: 79 + Value[KEY_P]: 80 + Value[KEY_Q]: 81 + Value[KEY_R]: 82 + Value[KEY_S]: 83 + Value[KEY_T]: 84 + Value[KEY_U]: 85 + Value[KEY_V]: 86 + Value[KEY_W]: 87 + Value[KEY_X]: 88 + Value[KEY_Y]: 89 + Value[KEY_Z]: 90 + Value[KEY_LEFT_BRACKET]: 91 + Value[KEY_BACKSLASH]: 92 + Value[KEY_RIGHT_BRACKET]: 93 + Value[KEY_GRAVE]: 96 + Value[KEY_SPACE]: 32 + Value[KEY_ESCAPE]: 256 + Value[KEY_ENTER]: 257 + Value[KEY_TAB]: 258 + Value[KEY_BACKSPACE]: 259 + Value[KEY_INSERT]: 260 + Value[KEY_DELETE]: 261 + Value[KEY_RIGHT]: 262 + Value[KEY_LEFT]: 263 + Value[KEY_DOWN]: 264 + Value[KEY_UP]: 265 + Value[KEY_PAGE_UP]: 266 + Value[KEY_PAGE_DOWN]: 267 + Value[KEY_HOME]: 268 + Value[KEY_END]: 269 + Value[KEY_CAPS_LOCK]: 280 + Value[KEY_SCROLL_LOCK]: 281 + Value[KEY_NUM_LOCK]: 282 + Value[KEY_PRINT_SCREEN]: 283 + Value[KEY_PAUSE]: 284 + Value[KEY_F1]: 290 + Value[KEY_F2]: 291 + Value[KEY_F3]: 292 + Value[KEY_F4]: 293 + Value[KEY_F5]: 294 + Value[KEY_F6]: 295 + Value[KEY_F7]: 296 + Value[KEY_F8]: 297 + Value[KEY_F9]: 298 + Value[KEY_F10]: 299 + Value[KEY_F11]: 300 + Value[KEY_F12]: 301 + Value[KEY_LEFT_SHIFT]: 340 + Value[KEY_LEFT_CONTROL]: 341 + Value[KEY_LEFT_ALT]: 342 + Value[KEY_LEFT_SUPER]: 343 + Value[KEY_RIGHT_SHIFT]: 344 + Value[KEY_RIGHT_CONTROL]: 345 + Value[KEY_RIGHT_ALT]: 346 + Value[KEY_RIGHT_SUPER]: 347 + Value[KEY_KB_MENU]: 348 + Value[KEY_KP_0]: 320 + Value[KEY_KP_1]: 321 + Value[KEY_KP_2]: 322 + Value[KEY_KP_3]: 323 + Value[KEY_KP_4]: 324 + Value[KEY_KP_5]: 325 + Value[KEY_KP_6]: 326 + Value[KEY_KP_7]: 327 + Value[KEY_KP_8]: 328 + Value[KEY_KP_9]: 329 + Value[KEY_KP_DECIMAL]: 330 + Value[KEY_KP_DIVIDE]: 331 + Value[KEY_KP_MULTIPLY]: 332 + Value[KEY_KP_SUBTRACT]: 333 + Value[KEY_KP_ADD]: 334 + Value[KEY_KP_ENTER]: 335 + Value[KEY_KP_EQUAL]: 336 + Value[KEY_BACK]: 4 + Value[KEY_MENU]: 82 + Value[KEY_VOLUME_UP]: 24 + Value[KEY_VOLUME_DOWN]: 25 +Enum 04: MouseButton (7 values) + Name: MouseButton + Description: Mouse buttons + Value[MOUSE_BUTTON_LEFT]: 0 + Value[MOUSE_BUTTON_RIGHT]: 1 + Value[MOUSE_BUTTON_MIDDLE]: 2 + Value[MOUSE_BUTTON_SIDE]: 3 + Value[MOUSE_BUTTON_EXTRA]: 4 + Value[MOUSE_BUTTON_FORWARD]: 5 + Value[MOUSE_BUTTON_BACK]: 6 +Enum 05: MouseCursor (11 values) + Name: MouseCursor + Description: Mouse cursor + Value[MOUSE_CURSOR_DEFAULT]: 0 + Value[MOUSE_CURSOR_ARROW]: 1 + Value[MOUSE_CURSOR_IBEAM]: 2 + Value[MOUSE_CURSOR_CROSSHAIR]: 3 + Value[MOUSE_CURSOR_POINTING_HAND]: 4 + Value[MOUSE_CURSOR_RESIZE_EW]: 5 + Value[MOUSE_CURSOR_RESIZE_NS]: 6 + Value[MOUSE_CURSOR_RESIZE_NWSE]: 7 + Value[MOUSE_CURSOR_RESIZE_NESW]: 8 + Value[MOUSE_CURSOR_RESIZE_ALL]: 9 + Value[MOUSE_CURSOR_NOT_ALLOWED]: 10 +Enum 06: GamepadButton (18 values) + Name: GamepadButton + Description: Gamepad buttons + Value[GAMEPAD_BUTTON_UNKNOWN]: 0 + Value[GAMEPAD_BUTTON_LEFT_FACE_UP]: 1 + Value[GAMEPAD_BUTTON_LEFT_FACE_RIGHT]: 2 + Value[GAMEPAD_BUTTON_LEFT_FACE_DOWN]: 3 + Value[GAMEPAD_BUTTON_LEFT_FACE_LEFT]: 4 + Value[GAMEPAD_BUTTON_RIGHT_FACE_UP]: 5 + Value[GAMEPAD_BUTTON_RIGHT_FACE_RIGHT]: 6 + Value[GAMEPAD_BUTTON_RIGHT_FACE_DOWN]: 7 + Value[GAMEPAD_BUTTON_RIGHT_FACE_LEFT]: 8 + Value[GAMEPAD_BUTTON_LEFT_TRIGGER_1]: 9 + Value[GAMEPAD_BUTTON_LEFT_TRIGGER_2]: 10 + Value[GAMEPAD_BUTTON_RIGHT_TRIGGER_1]: 11 + Value[GAMEPAD_BUTTON_RIGHT_TRIGGER_2]: 12 + Value[GAMEPAD_BUTTON_MIDDLE_LEFT]: 13 + Value[GAMEPAD_BUTTON_MIDDLE]: 14 + Value[GAMEPAD_BUTTON_MIDDLE_RIGHT]: 15 + Value[GAMEPAD_BUTTON_LEFT_THUMB]: 16 + Value[GAMEPAD_BUTTON_RIGHT_THUMB]: 17 +Enum 07: GamepadAxis (6 values) + Name: GamepadAxis + Description: Gamepad axis + Value[GAMEPAD_AXIS_LEFT_X]: 0 + Value[GAMEPAD_AXIS_LEFT_Y]: 1 + Value[GAMEPAD_AXIS_RIGHT_X]: 2 + Value[GAMEPAD_AXIS_RIGHT_Y]: 3 + Value[GAMEPAD_AXIS_LEFT_TRIGGER]: 4 + Value[GAMEPAD_AXIS_RIGHT_TRIGGER]: 5 +Enum 08: MaterialMapIndex (11 values) + Name: MaterialMapIndex + Description: Material map index + Value[MATERIAL_MAP_ALBEDO]: 0 + Value[MATERIAL_MAP_METALNESS]: 1 + Value[MATERIAL_MAP_NORMAL]: 2 + Value[MATERIAL_MAP_ROUGHNESS]: 3 + Value[MATERIAL_MAP_OCCLUSION]: 4 + Value[MATERIAL_MAP_EMISSION]: 5 + Value[MATERIAL_MAP_HEIGHT]: 6 + Value[MATERIAL_MAP_CUBEMAP]: 7 + Value[MATERIAL_MAP_IRRADIANCE]: 8 + Value[MATERIAL_MAP_PREFILTER]: 9 + Value[MATERIAL_MAP_BRDF]: 10 +Enum 09: ShaderLocationIndex (26 values) + Name: ShaderLocationIndex + Description: Shader location index + Value[SHADER_LOC_VERTEX_POSITION]: 0 + Value[SHADER_LOC_VERTEX_TEXCOORD01]: 1 + Value[SHADER_LOC_VERTEX_TEXCOORD02]: 2 + Value[SHADER_LOC_VERTEX_NORMAL]: 3 + Value[SHADER_LOC_VERTEX_TANGENT]: 4 + Value[SHADER_LOC_VERTEX_COLOR]: 5 + Value[SHADER_LOC_MATRIX_MVP]: 6 + Value[SHADER_LOC_MATRIX_VIEW]: 7 + Value[SHADER_LOC_MATRIX_PROJECTION]: 8 + Value[SHADER_LOC_MATRIX_MODEL]: 9 + Value[SHADER_LOC_MATRIX_NORMAL]: 10 + Value[SHADER_LOC_VECTOR_VIEW]: 11 + Value[SHADER_LOC_COLOR_DIFFUSE]: 12 + Value[SHADER_LOC_COLOR_SPECULAR]: 13 + Value[SHADER_LOC_COLOR_AMBIENT]: 14 + Value[SHADER_LOC_MAP_ALBEDO]: 15 + Value[SHADER_LOC_MAP_METALNESS]: 16 + Value[SHADER_LOC_MAP_NORMAL]: 17 + Value[SHADER_LOC_MAP_ROUGHNESS]: 18 + Value[SHADER_LOC_MAP_OCCLUSION]: 19 + Value[SHADER_LOC_MAP_EMISSION]: 20 + Value[SHADER_LOC_MAP_HEIGHT]: 21 + Value[SHADER_LOC_MAP_CUBEMAP]: 22 + Value[SHADER_LOC_MAP_IRRADIANCE]: 23 + Value[SHADER_LOC_MAP_PREFILTER]: 24 + Value[SHADER_LOC_MAP_BRDF]: 25 +Enum 10: ShaderUniformDataType (9 values) + Name: ShaderUniformDataType + Description: Shader uniform data type + Value[SHADER_UNIFORM_FLOAT]: 0 + Value[SHADER_UNIFORM_VEC2]: 1 + Value[SHADER_UNIFORM_VEC3]: 2 + Value[SHADER_UNIFORM_VEC4]: 3 + Value[SHADER_UNIFORM_INT]: 4 + Value[SHADER_UNIFORM_IVEC2]: 5 + Value[SHADER_UNIFORM_IVEC3]: 6 + Value[SHADER_UNIFORM_IVEC4]: 7 + Value[SHADER_UNIFORM_SAMPLER2D]: 8 +Enum 11: ShaderAttributeDataType (4 values) + Name: ShaderAttributeDataType + Description: Shader attribute data types + Value[SHADER_ATTRIB_FLOAT]: 0 + Value[SHADER_ATTRIB_VEC2]: 1 + Value[SHADER_ATTRIB_VEC3]: 2 + Value[SHADER_ATTRIB_VEC4]: 3 +Enum 12: PixelFormat (21 values) + Name: PixelFormat + Description: Pixel formats + Value[PIXELFORMAT_UNCOMPRESSED_GRAYSCALE]: 1 + Value[PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA]: 2 + Value[PIXELFORMAT_UNCOMPRESSED_R5G6B5]: 3 + Value[PIXELFORMAT_UNCOMPRESSED_R8G8B8]: 4 + Value[PIXELFORMAT_UNCOMPRESSED_R5G5B5A1]: 5 + Value[PIXELFORMAT_UNCOMPRESSED_R4G4B4A4]: 6 + Value[PIXELFORMAT_UNCOMPRESSED_R8G8B8A8]: 7 + Value[PIXELFORMAT_UNCOMPRESSED_R32]: 8 + Value[PIXELFORMAT_UNCOMPRESSED_R32G32B32]: 9 + Value[PIXELFORMAT_UNCOMPRESSED_R32G32B32A32]: 10 + Value[PIXELFORMAT_COMPRESSED_DXT1_RGB]: 11 + Value[PIXELFORMAT_COMPRESSED_DXT1_RGBA]: 12 + Value[PIXELFORMAT_COMPRESSED_DXT3_RGBA]: 13 + Value[PIXELFORMAT_COMPRESSED_DXT5_RGBA]: 14 + Value[PIXELFORMAT_COMPRESSED_ETC1_RGB]: 15 + Value[PIXELFORMAT_COMPRESSED_ETC2_RGB]: 16 + Value[PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA]: 17 + Value[PIXELFORMAT_COMPRESSED_PVRT_RGB]: 18 + Value[PIXELFORMAT_COMPRESSED_PVRT_RGBA]: 19 + Value[PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA]: 20 + Value[PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA]: 21 +Enum 13: TextureFilter (6 values) + Name: TextureFilter + Description: Texture parameters: filter mode + Value[TEXTURE_FILTER_POINT]: 0 + Value[TEXTURE_FILTER_BILINEAR]: 1 + Value[TEXTURE_FILTER_TRILINEAR]: 2 + Value[TEXTURE_FILTER_ANISOTROPIC_4X]: 3 + Value[TEXTURE_FILTER_ANISOTROPIC_8X]: 4 + Value[TEXTURE_FILTER_ANISOTROPIC_16X]: 5 +Enum 14: TextureWrap (4 values) + Name: TextureWrap + Description: Texture parameters: wrap mode + Value[TEXTURE_WRAP_REPEAT]: 0 + Value[TEXTURE_WRAP_CLAMP]: 1 + Value[TEXTURE_WRAP_MIRROR_REPEAT]: 2 + Value[TEXTURE_WRAP_MIRROR_CLAMP]: 3 +Enum 15: CubemapLayout (6 values) + Name: CubemapLayout + Description: Cubemap layouts + Value[CUBEMAP_LAYOUT_AUTO_DETECT]: 0 + Value[CUBEMAP_LAYOUT_LINE_VERTICAL]: 1 + Value[CUBEMAP_LAYOUT_LINE_HORIZONTAL]: 2 + Value[CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR]: 3 + Value[CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE]: 4 + Value[CUBEMAP_LAYOUT_PANORAMA]: 5 +Enum 16: FontType (3 values) + Name: FontType + Description: Font type, defines generation method + Value[FONT_DEFAULT]: 0 + Value[FONT_BITMAP]: 1 + Value[FONT_SDF]: 2 +Enum 17: BlendMode (8 values) + Name: BlendMode + Description: Color blending modes (pre-defined) + Value[BLEND_ALPHA]: 0 + Value[BLEND_ADDITIVE]: 1 + Value[BLEND_MULTIPLIED]: 2 + Value[BLEND_ADD_COLORS]: 3 + Value[BLEND_SUBTRACT_COLORS]: 4 + Value[BLEND_ALPHA_PREMULTIPLY]: 5 + Value[BLEND_CUSTOM]: 6 + Value[BLEND_CUSTOM_SEPARATE]: 7 +Enum 18: Gesture (11 values) + Name: Gesture + Description: Gesture + Value[GESTURE_NONE]: 0 + Value[GESTURE_TAP]: 1 + Value[GESTURE_DOUBLETAP]: 2 + Value[GESTURE_HOLD]: 4 + Value[GESTURE_DRAG]: 8 + Value[GESTURE_SWIPE_RIGHT]: 16 + Value[GESTURE_SWIPE_LEFT]: 32 + Value[GESTURE_SWIPE_UP]: 64 + Value[GESTURE_SWIPE_DOWN]: 128 + Value[GESTURE_PINCH_IN]: 256 + Value[GESTURE_PINCH_OUT]: 512 +Enum 19: CameraMode (5 values) + Name: CameraMode + Description: Camera system modes + Value[CAMERA_CUSTOM]: 0 + Value[CAMERA_FREE]: 1 + Value[CAMERA_ORBITAL]: 2 + Value[CAMERA_FIRST_PERSON]: 3 + Value[CAMERA_THIRD_PERSON]: 4 +Enum 20: CameraProjection (2 values) + Name: CameraProjection + Description: Camera projection + Value[CAMERA_PERSPECTIVE]: 0 + Value[CAMERA_ORTHOGRAPHIC]: 1 +Enum 21: NPatchLayout (3 values) + Name: NPatchLayout + Description: N-patch layout + Value[NPATCH_NINE_PATCH]: 0 + Value[NPATCH_THREE_PATCH_VERTICAL]: 1 + Value[NPATCH_THREE_PATCH_HORIZONTAL]: 2 + +Callbacks found: 6 + +Callback 001: TraceLogCallback() (3 input parameters) + Name: TraceLogCallback + Return type: void + Description: Logging: Redirect trace log messages + Param[1]: logLevel (type: int) + Param[2]: text (type: const char *) + Param[3]: args (type: va_list) +Callback 002: LoadFileDataCallback() (2 input parameters) + Name: LoadFileDataCallback + Return type: unsigned char * + Description: FileIO: Load binary data + Param[1]: fileName (type: const char *) + Param[2]: bytesRead (type: unsigned int *) +Callback 003: SaveFileDataCallback() (3 input parameters) + Name: SaveFileDataCallback + Return type: bool + Description: FileIO: Save binary data + Param[1]: fileName (type: const char *) + Param[2]: data (type: void *) + Param[3]: bytesToWrite (type: unsigned int) +Callback 004: LoadFileTextCallback() (1 input parameters) + Name: LoadFileTextCallback + Return type: char * + Description: FileIO: Load text data + Param[1]: fileName (type: const char *) +Callback 005: SaveFileTextCallback() (2 input parameters) + Name: SaveFileTextCallback + Return type: bool + Description: FileIO: Save text data + Param[1]: fileName (type: const char *) + Param[2]: text (type: char *) +Callback 006: AudioCallback() (2 input parameters) + Name: AudioCallback + Return type: void + Description: + Param[1]: bufferData (type: void *) + Param[2]: frames (type: unsigned int) + +Functions found: 517 + +Function 001: InitWindow() (3 input parameters) + Name: InitWindow + Return type: void + Description: Initialize window and OpenGL context + Param[1]: width (type: int) + Param[2]: height (type: int) + Param[3]: title (type: const char *) +Function 002: WindowShouldClose() (0 input parameters) + Name: WindowShouldClose + Return type: bool + Description: Check if KEY_ESCAPE pressed or Close icon pressed + No input parameters +Function 003: CloseWindow() (0 input parameters) + Name: CloseWindow + Return type: void + Description: Close window and unload OpenGL context + No input parameters +Function 004: IsWindowReady() (0 input parameters) + Name: IsWindowReady + Return type: bool + Description: Check if window has been initialized successfully + No input parameters +Function 005: IsWindowFullscreen() (0 input parameters) + Name: IsWindowFullscreen + Return type: bool + Description: Check if window is currently fullscreen + No input parameters +Function 006: IsWindowHidden() (0 input parameters) + Name: IsWindowHidden + Return type: bool + Description: Check if window is currently hidden (only PLATFORM_DESKTOP) + No input parameters +Function 007: IsWindowMinimized() (0 input parameters) + Name: IsWindowMinimized + Return type: bool + Description: Check if window is currently minimized (only PLATFORM_DESKTOP) + No input parameters +Function 008: IsWindowMaximized() (0 input parameters) + Name: IsWindowMaximized + Return type: bool + Description: Check if window is currently maximized (only PLATFORM_DESKTOP) + No input parameters +Function 009: IsWindowFocused() (0 input parameters) + Name: IsWindowFocused + Return type: bool + Description: Check if window is currently focused (only PLATFORM_DESKTOP) + No input parameters +Function 010: IsWindowResized() (0 input parameters) + Name: IsWindowResized + Return type: bool + Description: Check if window has been resized last frame + No input parameters +Function 011: IsWindowState() (1 input parameters) + Name: IsWindowState + Return type: bool + Description: Check if one specific window flag is enabled + Param[1]: flag (type: unsigned int) +Function 012: SetWindowState() (1 input parameters) + Name: SetWindowState + Return type: void + Description: Set window configuration state using flags (only PLATFORM_DESKTOP) + Param[1]: flags (type: unsigned int) +Function 013: ClearWindowState() (1 input parameters) + Name: ClearWindowState + Return type: void + Description: Clear window configuration state flags + Param[1]: flags (type: unsigned int) +Function 014: ToggleFullscreen() (0 input parameters) + Name: ToggleFullscreen + Return type: void + Description: Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP) + No input parameters +Function 015: MaximizeWindow() (0 input parameters) + Name: MaximizeWindow + Return type: void + Description: Set window state: maximized, if resizable (only PLATFORM_DESKTOP) + No input parameters +Function 016: MinimizeWindow() (0 input parameters) + Name: MinimizeWindow + Return type: void + Description: Set window state: minimized, if resizable (only PLATFORM_DESKTOP) + No input parameters +Function 017: RestoreWindow() (0 input parameters) + Name: RestoreWindow + Return type: void + Description: Set window state: not minimized/maximized (only PLATFORM_DESKTOP) + No input parameters +Function 018: SetWindowIcon() (1 input parameters) + Name: SetWindowIcon + Return type: void + Description: Set icon for window (single image, RGBA 32bit, only PLATFORM_DESKTOP) + Param[1]: image (type: Image) +Function 019: SetWindowIcons() (2 input parameters) + Name: SetWindowIcons + Return type: void + Description: Set icon for window (multiple images, RGBA 32bit, only PLATFORM_DESKTOP) + Param[1]: images (type: Image *) + Param[2]: count (type: int) +Function 020: SetWindowTitle() (1 input parameters) + Name: SetWindowTitle + Return type: void + Description: Set title for window (only PLATFORM_DESKTOP) + Param[1]: title (type: const char *) +Function 021: SetWindowPosition() (2 input parameters) + Name: SetWindowPosition + Return type: void + Description: Set window position on screen (only PLATFORM_DESKTOP) + Param[1]: x (type: int) + Param[2]: y (type: int) +Function 022: SetWindowMonitor() (1 input parameters) + Name: SetWindowMonitor + Return type: void + Description: Set monitor for the current window (fullscreen mode) + Param[1]: monitor (type: int) +Function 023: SetWindowMinSize() (2 input parameters) + Name: SetWindowMinSize + Return type: void + Description: Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE) + Param[1]: width (type: int) + Param[2]: height (type: int) +Function 024: SetWindowSize() (2 input parameters) + Name: SetWindowSize + Return type: void + Description: Set window dimensions + Param[1]: width (type: int) + Param[2]: height (type: int) +Function 025: SetWindowOpacity() (1 input parameters) + Name: SetWindowOpacity + Return type: void + Description: Set window opacity [0.0f..1.0f] (only PLATFORM_DESKTOP) + Param[1]: opacity (type: float) +Function 026: GetWindowHandle() (0 input parameters) + Name: GetWindowHandle + Return type: void * + Description: Get native window handle + No input parameters +Function 027: GetScreenWidth() (0 input parameters) + Name: GetScreenWidth + Return type: int + Description: Get current screen width + No input parameters +Function 028: GetScreenHeight() (0 input parameters) + Name: GetScreenHeight + Return type: int + Description: Get current screen height + No input parameters +Function 029: GetRenderWidth() (0 input parameters) + Name: GetRenderWidth + Return type: int + Description: Get current render width (it considers HiDPI) + No input parameters +Function 030: GetRenderHeight() (0 input parameters) + Name: GetRenderHeight + Return type: int + Description: Get current render height (it considers HiDPI) + No input parameters +Function 031: GetMonitorCount() (0 input parameters) + Name: GetMonitorCount + Return type: int + Description: Get number of connected monitors + No input parameters +Function 032: GetCurrentMonitor() (0 input parameters) + Name: GetCurrentMonitor + Return type: int + Description: Get current connected monitor + No input parameters +Function 033: GetMonitorPosition() (1 input parameters) + Name: GetMonitorPosition + Return type: Vector2 + Description: Get specified monitor position + Param[1]: monitor (type: int) +Function 034: GetMonitorWidth() (1 input parameters) + Name: GetMonitorWidth + Return type: int + Description: Get specified monitor width (current video mode used by monitor) + Param[1]: monitor (type: int) +Function 035: GetMonitorHeight() (1 input parameters) + Name: GetMonitorHeight + Return type: int + Description: Get specified monitor height (current video mode used by monitor) + Param[1]: monitor (type: int) +Function 036: GetMonitorPhysicalWidth() (1 input parameters) + Name: GetMonitorPhysicalWidth + Return type: int + Description: Get specified monitor physical width in millimetres + Param[1]: monitor (type: int) +Function 037: GetMonitorPhysicalHeight() (1 input parameters) + Name: GetMonitorPhysicalHeight + Return type: int + Description: Get specified monitor physical height in millimetres + Param[1]: monitor (type: int) +Function 038: GetMonitorRefreshRate() (1 input parameters) + Name: GetMonitorRefreshRate + Return type: int + Description: Get specified monitor refresh rate + Param[1]: monitor (type: int) +Function 039: GetWindowPosition() (0 input parameters) + Name: GetWindowPosition + Return type: Vector2 + Description: Get window position XY on monitor + No input parameters +Function 040: GetWindowScaleDPI() (0 input parameters) + Name: GetWindowScaleDPI + Return type: Vector2 + Description: Get window scale DPI factor + No input parameters +Function 041: GetMonitorName() (1 input parameters) + Name: GetMonitorName + Return type: const char * + Description: Get the human-readable, UTF-8 encoded name of the primary monitor + Param[1]: monitor (type: int) +Function 042: SetClipboardText() (1 input parameters) + Name: SetClipboardText + Return type: void + Description: Set clipboard text content + Param[1]: text (type: const char *) +Function 043: GetClipboardText() (0 input parameters) + Name: GetClipboardText + Return type: const char * + Description: Get clipboard text content + No input parameters +Function 044: EnableEventWaiting() (0 input parameters) + Name: EnableEventWaiting + Return type: void + Description: Enable waiting for events on EndDrawing(), no automatic event polling + No input parameters +Function 045: DisableEventWaiting() (0 input parameters) + Name: DisableEventWaiting + Return type: void + Description: Disable waiting for events on EndDrawing(), automatic events polling + No input parameters +Function 046: SwapScreenBuffer() (0 input parameters) + Name: SwapScreenBuffer + Return type: void + Description: Swap back buffer with front buffer (screen drawing) + No input parameters +Function 047: PollInputEvents() (0 input parameters) + Name: PollInputEvents + Return type: void + Description: Register all input events + No input parameters +Function 048: WaitTime() (1 input parameters) + Name: WaitTime + Return type: void + Description: Wait for some time (halt program execution) + Param[1]: seconds (type: double) +Function 049: ShowCursor() (0 input parameters) + Name: ShowCursor + Return type: void + Description: Shows cursor + No input parameters +Function 050: HideCursor() (0 input parameters) + Name: HideCursor + Return type: void + Description: Hides cursor + No input parameters +Function 051: IsCursorHidden() (0 input parameters) + Name: IsCursorHidden + Return type: bool + Description: Check if cursor is not visible + No input parameters +Function 052: EnableCursor() (0 input parameters) + Name: EnableCursor + Return type: void + Description: Enables cursor (unlock cursor) + No input parameters +Function 053: DisableCursor() (0 input parameters) + Name: DisableCursor + Return type: void + Description: Disables cursor (lock cursor) + No input parameters +Function 054: IsCursorOnScreen() (0 input parameters) + Name: IsCursorOnScreen + Return type: bool + Description: Check if cursor is on the screen + No input parameters +Function 055: ClearBackground() (1 input parameters) + Name: ClearBackground + Return type: void + Description: Set background color (framebuffer clear color) + Param[1]: color (type: Color) +Function 056: BeginDrawing() (0 input parameters) + Name: BeginDrawing + Return type: void + Description: Setup canvas (framebuffer) to start drawing + No input parameters +Function 057: EndDrawing() (0 input parameters) + Name: EndDrawing + Return type: void + Description: End canvas drawing and swap buffers (double buffering) + No input parameters +Function 058: BeginMode2D() (1 input parameters) + Name: BeginMode2D + Return type: void + Description: Begin 2D mode with custom camera (2D) + Param[1]: camera (type: Camera2D) +Function 059: EndMode2D() (0 input parameters) + Name: EndMode2D + Return type: void + Description: Ends 2D mode with custom camera + No input parameters +Function 060: BeginMode3D() (1 input parameters) + Name: BeginMode3D + Return type: void + Description: Begin 3D mode with custom camera (3D) + Param[1]: camera (type: Camera3D) +Function 061: EndMode3D() (0 input parameters) + Name: EndMode3D + Return type: void + Description: Ends 3D mode and returns to default 2D orthographic mode + No input parameters +Function 062: BeginTextureMode() (1 input parameters) + Name: BeginTextureMode + Return type: void + Description: Begin drawing to render texture + Param[1]: target (type: RenderTexture2D) +Function 063: EndTextureMode() (0 input parameters) + Name: EndTextureMode + Return type: void + Description: Ends drawing to render texture + No input parameters +Function 064: BeginShaderMode() (1 input parameters) + Name: BeginShaderMode + Return type: void + Description: Begin custom shader drawing + Param[1]: shader (type: Shader) +Function 065: EndShaderMode() (0 input parameters) + Name: EndShaderMode + Return type: void + Description: End custom shader drawing (use default shader) + No input parameters +Function 066: BeginBlendMode() (1 input parameters) + Name: BeginBlendMode + Return type: void + Description: Begin blending mode (alpha, additive, multiplied, subtract, custom) + Param[1]: mode (type: int) +Function 067: EndBlendMode() (0 input parameters) + Name: EndBlendMode + Return type: void + Description: End blending mode (reset to default: alpha blending) + No input parameters +Function 068: BeginScissorMode() (4 input parameters) + Name: BeginScissorMode + Return type: void + Description: Begin scissor mode (define screen area for following drawing) + Param[1]: x (type: int) + Param[2]: y (type: int) + Param[3]: width (type: int) + Param[4]: height (type: int) +Function 069: EndScissorMode() (0 input parameters) + Name: EndScissorMode + Return type: void + Description: End scissor mode + No input parameters +Function 070: BeginVrStereoMode() (1 input parameters) + Name: BeginVrStereoMode + Return type: void + Description: Begin stereo rendering (requires VR simulator) + Param[1]: config (type: VrStereoConfig) +Function 071: EndVrStereoMode() (0 input parameters) + Name: EndVrStereoMode + Return type: void + Description: End stereo rendering (requires VR simulator) + No input parameters +Function 072: LoadVrStereoConfig() (1 input parameters) + Name: LoadVrStereoConfig + Return type: VrStereoConfig + Description: Load VR stereo config for VR simulator device parameters + Param[1]: device (type: VrDeviceInfo) +Function 073: UnloadVrStereoConfig() (1 input parameters) + Name: UnloadVrStereoConfig + Return type: void + Description: Unload VR stereo config + Param[1]: config (type: VrStereoConfig) +Function 074: LoadShader() (2 input parameters) + Name: LoadShader + Return type: Shader + Description: Load shader from files and bind default locations + Param[1]: vsFileName (type: const char *) + Param[2]: fsFileName (type: const char *) +Function 075: LoadShaderFromMemory() (2 input parameters) + Name: LoadShaderFromMemory + Return type: Shader + Description: Load shader from code strings and bind default locations + Param[1]: vsCode (type: const char *) + Param[2]: fsCode (type: const char *) +Function 076: IsShaderReady() (1 input parameters) + Name: IsShaderReady + Return type: bool + Description: Check if a shader is ready + Param[1]: shader (type: Shader) +Function 077: GetShaderLocation() (2 input parameters) + Name: GetShaderLocation + Return type: int + Description: Get shader uniform location + Param[1]: shader (type: Shader) + Param[2]: uniformName (type: const char *) +Function 078: GetShaderLocationAttrib() (2 input parameters) + Name: GetShaderLocationAttrib + Return type: int + Description: Get shader attribute location + Param[1]: shader (type: Shader) + Param[2]: attribName (type: const char *) +Function 079: SetShaderValue() (4 input parameters) + Name: SetShaderValue + Return type: void + Description: Set shader uniform value + Param[1]: shader (type: Shader) + Param[2]: locIndex (type: int) + Param[3]: value (type: const void *) + Param[4]: uniformType (type: int) +Function 080: SetShaderValueV() (5 input parameters) + Name: SetShaderValueV + Return type: void + Description: Set shader uniform value vector + Param[1]: shader (type: Shader) + Param[2]: locIndex (type: int) + Param[3]: value (type: const void *) + Param[4]: uniformType (type: int) + Param[5]: count (type: int) +Function 081: SetShaderValueMatrix() (3 input parameters) + Name: SetShaderValueMatrix + Return type: void + Description: Set shader uniform value (matrix 4x4) + Param[1]: shader (type: Shader) + Param[2]: locIndex (type: int) + Param[3]: mat (type: Matrix) +Function 082: SetShaderValueTexture() (3 input parameters) + Name: SetShaderValueTexture + Return type: void + Description: Set shader uniform value for texture (sampler2d) + Param[1]: shader (type: Shader) + Param[2]: locIndex (type: int) + Param[3]: texture (type: Texture2D) +Function 083: UnloadShader() (1 input parameters) + Name: UnloadShader + Return type: void + Description: Unload shader from GPU memory (VRAM) + Param[1]: shader (type: Shader) +Function 084: GetMouseRay() (2 input parameters) + Name: GetMouseRay + Return type: Ray + Description: Get a ray trace from mouse position + Param[1]: mousePosition (type: Vector2) + Param[2]: camera (type: Camera) +Function 085: GetCameraMatrix() (1 input parameters) + Name: GetCameraMatrix + Return type: Matrix + Description: Get camera transform matrix (view matrix) + Param[1]: camera (type: Camera) +Function 086: GetCameraMatrix2D() (1 input parameters) + Name: GetCameraMatrix2D + Return type: Matrix + Description: Get camera 2d transform matrix + Param[1]: camera (type: Camera2D) +Function 087: GetWorldToScreen() (2 input parameters) + Name: GetWorldToScreen + Return type: Vector2 + Description: Get the screen space position for a 3d world space position + Param[1]: position (type: Vector3) + Param[2]: camera (type: Camera) +Function 088: GetScreenToWorld2D() (2 input parameters) + Name: GetScreenToWorld2D + Return type: Vector2 + Description: Get the world space position for a 2d camera screen space position + Param[1]: position (type: Vector2) + Param[2]: camera (type: Camera2D) +Function 089: GetWorldToScreenEx() (4 input parameters) + Name: GetWorldToScreenEx + Return type: Vector2 + Description: Get size position for a 3d world space position + Param[1]: position (type: Vector3) + Param[2]: camera (type: Camera) + Param[3]: width (type: int) + Param[4]: height (type: int) +Function 090: GetWorldToScreen2D() (2 input parameters) + Name: GetWorldToScreen2D + Return type: Vector2 + Description: Get the screen space position for a 2d camera world space position + Param[1]: position (type: Vector2) + Param[2]: camera (type: Camera2D) +Function 091: SetTargetFPS() (1 input parameters) + Name: SetTargetFPS + Return type: void + Description: Set target FPS (maximum) + Param[1]: fps (type: int) +Function 092: GetFPS() (0 input parameters) + Name: GetFPS + Return type: int + Description: Get current FPS + No input parameters +Function 093: GetFrameTime() (0 input parameters) + Name: GetFrameTime + Return type: float + Description: Get time in seconds for last frame drawn (delta time) + No input parameters +Function 094: GetTime() (0 input parameters) + Name: GetTime + Return type: double + Description: Get elapsed time in seconds since InitWindow() + No input parameters +Function 095: GetRandomValue() (2 input parameters) + Name: GetRandomValue + Return type: int + Description: Get a random value between min and max (both included) + Param[1]: min (type: int) + Param[2]: max (type: int) +Function 096: SetRandomSeed() (1 input parameters) + Name: SetRandomSeed + Return type: void + Description: Set the seed for the random number generator + Param[1]: seed (type: unsigned int) +Function 097: TakeScreenshot() (1 input parameters) + Name: TakeScreenshot + Return type: void + Description: Takes a screenshot of current screen (filename extension defines format) + Param[1]: fileName (type: const char *) +Function 098: SetConfigFlags() (1 input parameters) + Name: SetConfigFlags + Return type: void + Description: Setup init configuration flags (view FLAGS) + Param[1]: flags (type: unsigned int) +Function 099: TraceLog() (3 input parameters) + Name: TraceLog + Return type: void + Description: Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...) + Param[1]: logLevel (type: int) + Param[2]: text (type: const char *) + Param[3]: args (type: ...) +Function 100: SetTraceLogLevel() (1 input parameters) + Name: SetTraceLogLevel + Return type: void + Description: Set the current threshold (minimum) log level + Param[1]: logLevel (type: int) +Function 101: MemAlloc() (1 input parameters) + Name: MemAlloc + Return type: void * + Description: Internal memory allocator + Param[1]: size (type: unsigned int) +Function 102: MemRealloc() (2 input parameters) + Name: MemRealloc + Return type: void * + Description: Internal memory reallocator + Param[1]: ptr (type: void *) + Param[2]: size (type: unsigned int) +Function 103: MemFree() (1 input parameters) + Name: MemFree + Return type: void + Description: Internal memory free + Param[1]: ptr (type: void *) +Function 104: OpenURL() (1 input parameters) + Name: OpenURL + Return type: void + Description: Open URL with default system browser (if available) + Param[1]: url (type: const char *) +Function 105: SetTraceLogCallback() (1 input parameters) + Name: SetTraceLogCallback + Return type: void + Description: Set custom trace log + Param[1]: callback (type: TraceLogCallback) +Function 106: SetLoadFileDataCallback() (1 input parameters) + Name: SetLoadFileDataCallback + Return type: void + Description: Set custom file binary data loader + Param[1]: callback (type: LoadFileDataCallback) +Function 107: SetSaveFileDataCallback() (1 input parameters) + Name: SetSaveFileDataCallback + Return type: void + Description: Set custom file binary data saver + Param[1]: callback (type: SaveFileDataCallback) +Function 108: SetLoadFileTextCallback() (1 input parameters) + Name: SetLoadFileTextCallback + Return type: void + Description: Set custom file text data loader + Param[1]: callback (type: LoadFileTextCallback) +Function 109: SetSaveFileTextCallback() (1 input parameters) + Name: SetSaveFileTextCallback + Return type: void + Description: Set custom file text data saver + Param[1]: callback (type: SaveFileTextCallback) +Function 110: LoadFileData() (2 input parameters) + Name: LoadFileData + Return type: unsigned char * + Description: Load file data as byte array (read) + Param[1]: fileName (type: const char *) + Param[2]: bytesRead (type: unsigned int *) +Function 111: UnloadFileData() (1 input parameters) + Name: UnloadFileData + Return type: void + Description: Unload file data allocated by LoadFileData() + Param[1]: data (type: unsigned char *) +Function 112: SaveFileData() (3 input parameters) + Name: SaveFileData + Return type: bool + Description: Save data to file from byte array (write), returns true on success + Param[1]: fileName (type: const char *) + Param[2]: data (type: void *) + Param[3]: bytesToWrite (type: unsigned int) +Function 113: ExportDataAsCode() (3 input parameters) + Name: ExportDataAsCode + Return type: bool + Description: Export data to code (.h), returns true on success + Param[1]: data (type: const unsigned char *) + Param[2]: size (type: unsigned int) + Param[3]: fileName (type: const char *) +Function 114: LoadFileText() (1 input parameters) + Name: LoadFileText + Return type: char * + Description: Load text data from file (read), returns a '\0' terminated string + Param[1]: fileName (type: const char *) +Function 115: UnloadFileText() (1 input parameters) + Name: UnloadFileText + Return type: void + Description: Unload file text data allocated by LoadFileText() + Param[1]: text (type: char *) +Function 116: SaveFileText() (2 input parameters) + Name: SaveFileText + Return type: bool + Description: Save text data to file (write), string must be '\0' terminated, returns true on success + Param[1]: fileName (type: const char *) + Param[2]: text (type: char *) +Function 117: FileExists() (1 input parameters) + Name: FileExists + Return type: bool + Description: Check if file exists + Param[1]: fileName (type: const char *) +Function 118: DirectoryExists() (1 input parameters) + Name: DirectoryExists + Return type: bool + Description: Check if a directory path exists + Param[1]: dirPath (type: const char *) +Function 119: IsFileExtension() (2 input parameters) + Name: IsFileExtension + Return type: bool + Description: Check file extension (including point: .png, .wav) + Param[1]: fileName (type: const char *) + Param[2]: ext (type: const char *) +Function 120: GetFileLength() (1 input parameters) + Name: GetFileLength + Return type: int + Description: Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h) + Param[1]: fileName (type: const char *) +Function 121: GetFileExtension() (1 input parameters) + Name: GetFileExtension + Return type: const char * + Description: Get pointer to extension for a filename string (includes dot: '.png') + Param[1]: fileName (type: const char *) +Function 122: GetFileName() (1 input parameters) + Name: GetFileName + Return type: const char * + Description: Get pointer to filename for a path string + Param[1]: filePath (type: const char *) +Function 123: GetFileNameWithoutExt() (1 input parameters) + Name: GetFileNameWithoutExt + Return type: const char * + Description: Get filename string without extension (uses static string) + Param[1]: filePath (type: const char *) +Function 124: GetDirectoryPath() (1 input parameters) + Name: GetDirectoryPath + Return type: const char * + Description: Get full path for a given fileName with path (uses static string) + Param[1]: filePath (type: const char *) +Function 125: GetPrevDirectoryPath() (1 input parameters) + Name: GetPrevDirectoryPath + Return type: const char * + Description: Get previous directory path for a given path (uses static string) + Param[1]: dirPath (type: const char *) +Function 126: GetWorkingDirectory() (0 input parameters) + Name: GetWorkingDirectory + Return type: const char * + Description: Get current working directory (uses static string) + No input parameters +Function 127: GetApplicationDirectory() (0 input parameters) + Name: GetApplicationDirectory + Return type: const char * + Description: Get the directory if the running application (uses static string) + No input parameters +Function 128: ChangeDirectory() (1 input parameters) + Name: ChangeDirectory + Return type: bool + Description: Change working directory, return true on success + Param[1]: dir (type: const char *) +Function 129: IsPathFile() (1 input parameters) + Name: IsPathFile + Return type: bool + Description: Check if a given path is a file or a directory + Param[1]: path (type: const char *) +Function 130: LoadDirectoryFiles() (1 input parameters) + Name: LoadDirectoryFiles + Return type: FilePathList + Description: Load directory filepaths + Param[1]: dirPath (type: const char *) +Function 131: LoadDirectoryFilesEx() (3 input parameters) + Name: LoadDirectoryFilesEx + Return type: FilePathList + Description: Load directory filepaths with extension filtering and recursive directory scan + Param[1]: basePath (type: const char *) + Param[2]: filter (type: const char *) + Param[3]: scanSubdirs (type: bool) +Function 132: UnloadDirectoryFiles() (1 input parameters) + Name: UnloadDirectoryFiles + Return type: void + Description: Unload filepaths + Param[1]: files (type: FilePathList) +Function 133: IsFileDropped() (0 input parameters) + Name: IsFileDropped + Return type: bool + Description: Check if a file has been dropped into window + No input parameters +Function 134: LoadDroppedFiles() (0 input parameters) + Name: LoadDroppedFiles + Return type: FilePathList + Description: Load dropped filepaths + No input parameters +Function 135: UnloadDroppedFiles() (1 input parameters) + Name: UnloadDroppedFiles + Return type: void + Description: Unload dropped filepaths + Param[1]: files (type: FilePathList) +Function 136: GetFileModTime() (1 input parameters) + Name: GetFileModTime + Return type: long + Description: Get file modification time (last write time) + Param[1]: fileName (type: const char *) +Function 137: CompressData() (3 input parameters) + Name: CompressData + Return type: unsigned char * + Description: Compress data (DEFLATE algorithm), memory must be MemFree() + Param[1]: data (type: const unsigned char *) + Param[2]: dataSize (type: int) + Param[3]: compDataSize (type: int *) +Function 138: DecompressData() (3 input parameters) + Name: DecompressData + Return type: unsigned char * + Description: Decompress data (DEFLATE algorithm), memory must be MemFree() + Param[1]: compData (type: const unsigned char *) + Param[2]: compDataSize (type: int) + Param[3]: dataSize (type: int *) +Function 139: EncodeDataBase64() (3 input parameters) + Name: EncodeDataBase64 + Return type: char * + Description: Encode data to Base64 string, memory must be MemFree() + Param[1]: data (type: const unsigned char *) + Param[2]: dataSize (type: int) + Param[3]: outputSize (type: int *) +Function 140: DecodeDataBase64() (2 input parameters) + Name: DecodeDataBase64 + Return type: unsigned char * + Description: Decode Base64 string data, memory must be MemFree() + Param[1]: data (type: const unsigned char *) + Param[2]: outputSize (type: int *) +Function 141: IsKeyPressed() (1 input parameters) + Name: IsKeyPressed + Return type: bool + Description: Check if a key has been pressed once + Param[1]: key (type: int) +Function 142: IsKeyDown() (1 input parameters) + Name: IsKeyDown + Return type: bool + Description: Check if a key is being pressed + Param[1]: key (type: int) +Function 143: IsKeyReleased() (1 input parameters) + Name: IsKeyReleased + Return type: bool + Description: Check if a key has been released once + Param[1]: key (type: int) +Function 144: IsKeyUp() (1 input parameters) + Name: IsKeyUp + Return type: bool + Description: Check if a key is NOT being pressed + Param[1]: key (type: int) +Function 145: SetExitKey() (1 input parameters) + Name: SetExitKey + Return type: void + Description: Set a custom key to exit program (default is ESC) + Param[1]: key (type: int) +Function 146: GetKeyPressed() (0 input parameters) + Name: GetKeyPressed + Return type: int + Description: Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty + No input parameters +Function 147: GetCharPressed() (0 input parameters) + Name: GetCharPressed + Return type: int + Description: Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty + No input parameters +Function 148: IsGamepadAvailable() (1 input parameters) + Name: IsGamepadAvailable + Return type: bool + Description: Check if a gamepad is available + Param[1]: gamepad (type: int) +Function 149: GetGamepadName() (1 input parameters) + Name: GetGamepadName + Return type: const char * + Description: Get gamepad internal name id + Param[1]: gamepad (type: int) +Function 150: IsGamepadButtonPressed() (2 input parameters) + Name: IsGamepadButtonPressed + Return type: bool + Description: Check if a gamepad button has been pressed once + Param[1]: gamepad (type: int) + Param[2]: button (type: int) +Function 151: IsGamepadButtonDown() (2 input parameters) + Name: IsGamepadButtonDown + Return type: bool + Description: Check if a gamepad button is being pressed + Param[1]: gamepad (type: int) + Param[2]: button (type: int) +Function 152: IsGamepadButtonReleased() (2 input parameters) + Name: IsGamepadButtonReleased + Return type: bool + Description: Check if a gamepad button has been released once + Param[1]: gamepad (type: int) + Param[2]: button (type: int) +Function 153: IsGamepadButtonUp() (2 input parameters) + Name: IsGamepadButtonUp + Return type: bool + Description: Check if a gamepad button is NOT being pressed + Param[1]: gamepad (type: int) + Param[2]: button (type: int) +Function 154: GetGamepadButtonPressed() (0 input parameters) + Name: GetGamepadButtonPressed + Return type: int + Description: Get the last gamepad button pressed + No input parameters +Function 155: GetGamepadAxisCount() (1 input parameters) + Name: GetGamepadAxisCount + Return type: int + Description: Get gamepad axis count for a gamepad + Param[1]: gamepad (type: int) +Function 156: GetGamepadAxisMovement() (2 input parameters) + Name: GetGamepadAxisMovement + Return type: float + Description: Get axis movement value for a gamepad axis + Param[1]: gamepad (type: int) + Param[2]: axis (type: int) +Function 157: SetGamepadMappings() (1 input parameters) + Name: SetGamepadMappings + Return type: int + Description: Set internal gamepad mappings (SDL_GameControllerDB) + Param[1]: mappings (type: const char *) +Function 158: IsMouseButtonPressed() (1 input parameters) + Name: IsMouseButtonPressed + Return type: bool + Description: Check if a mouse button has been pressed once + Param[1]: button (type: int) +Function 159: IsMouseButtonDown() (1 input parameters) + Name: IsMouseButtonDown + Return type: bool + Description: Check if a mouse button is being pressed + Param[1]: button (type: int) +Function 160: IsMouseButtonReleased() (1 input parameters) + Name: IsMouseButtonReleased + Return type: bool + Description: Check if a mouse button has been released once + Param[1]: button (type: int) +Function 161: IsMouseButtonUp() (1 input parameters) + Name: IsMouseButtonUp + Return type: bool + Description: Check if a mouse button is NOT being pressed + Param[1]: button (type: int) +Function 162: GetMouseX() (0 input parameters) + Name: GetMouseX + Return type: int + Description: Get mouse position X + No input parameters +Function 163: GetMouseY() (0 input parameters) + Name: GetMouseY + Return type: int + Description: Get mouse position Y + No input parameters +Function 164: GetMousePosition() (0 input parameters) + Name: GetMousePosition + Return type: Vector2 + Description: Get mouse position XY + No input parameters +Function 165: GetMouseDelta() (0 input parameters) + Name: GetMouseDelta + Return type: Vector2 + Description: Get mouse delta between frames + No input parameters +Function 166: SetMousePosition() (2 input parameters) + Name: SetMousePosition + Return type: void + Description: Set mouse position XY + Param[1]: x (type: int) + Param[2]: y (type: int) +Function 167: SetMouseOffset() (2 input parameters) + Name: SetMouseOffset + Return type: void + Description: Set mouse offset + Param[1]: offsetX (type: int) + Param[2]: offsetY (type: int) +Function 168: SetMouseScale() (2 input parameters) + Name: SetMouseScale + Return type: void + Description: Set mouse scaling + Param[1]: scaleX (type: float) + Param[2]: scaleY (type: float) +Function 169: GetMouseWheelMove() (0 input parameters) + Name: GetMouseWheelMove + Return type: float + Description: Get mouse wheel movement for X or Y, whichever is larger + No input parameters +Function 170: GetMouseWheelMoveV() (0 input parameters) + Name: GetMouseWheelMoveV + Return type: Vector2 + Description: Get mouse wheel movement for both X and Y + No input parameters +Function 171: SetMouseCursor() (1 input parameters) + Name: SetMouseCursor + Return type: void + Description: Set mouse cursor + Param[1]: cursor (type: int) +Function 172: GetTouchX() (0 input parameters) + Name: GetTouchX + Return type: int + Description: Get touch position X for touch point 0 (relative to screen size) + No input parameters +Function 173: GetTouchY() (0 input parameters) + Name: GetTouchY + Return type: int + Description: Get touch position Y for touch point 0 (relative to screen size) + No input parameters +Function 174: GetTouchPosition() (1 input parameters) + Name: GetTouchPosition + Return type: Vector2 + Description: Get touch position XY for a touch point index (relative to screen size) + Param[1]: index (type: int) +Function 175: GetTouchPointId() (1 input parameters) + Name: GetTouchPointId + Return type: int + Description: Get touch point identifier for given index + Param[1]: index (type: int) +Function 176: GetTouchPointCount() (0 input parameters) + Name: GetTouchPointCount + Return type: int + Description: Get number of touch points + No input parameters +Function 177: SetGesturesEnabled() (1 input parameters) + Name: SetGesturesEnabled + Return type: void + Description: Enable a set of gestures using flags + Param[1]: flags (type: unsigned int) +Function 178: IsGestureDetected() (1 input parameters) + Name: IsGestureDetected + Return type: bool + Description: Check if a gesture have been detected + Param[1]: gesture (type: int) +Function 179: GetGestureDetected() (0 input parameters) + Name: GetGestureDetected + Return type: int + Description: Get latest detected gesture + No input parameters +Function 180: GetGestureHoldDuration() (0 input parameters) + Name: GetGestureHoldDuration + Return type: float + Description: Get gesture hold time in milliseconds + No input parameters +Function 181: GetGestureDragVector() (0 input parameters) + Name: GetGestureDragVector + Return type: Vector2 + Description: Get gesture drag vector + No input parameters +Function 182: GetGestureDragAngle() (0 input parameters) + Name: GetGestureDragAngle + Return type: float + Description: Get gesture drag angle + No input parameters +Function 183: GetGesturePinchVector() (0 input parameters) + Name: GetGesturePinchVector + Return type: Vector2 + Description: Get gesture pinch delta + No input parameters +Function 184: GetGesturePinchAngle() (0 input parameters) + Name: GetGesturePinchAngle + Return type: float + Description: Get gesture pinch angle + No input parameters +Function 185: UpdateCamera() (2 input parameters) + Name: UpdateCamera + Return type: void + Description: Update camera position for selected mode + Param[1]: camera (type: Camera *) + Param[2]: mode (type: int) +Function 186: UpdateCameraPro() (4 input parameters) + Name: UpdateCameraPro + Return type: void + Description: Update camera movement/rotation + Param[1]: camera (type: Camera *) + Param[2]: movement (type: Vector3) + Param[3]: rotation (type: Vector3) + Param[4]: zoom (type: float) +Function 187: SetShapesTexture() (2 input parameters) + Name: SetShapesTexture + Return type: void + Description: Set texture and rectangle to be used on shapes drawing + Param[1]: texture (type: Texture2D) + Param[2]: source (type: Rectangle) +Function 188: DrawPixel() (3 input parameters) + Name: DrawPixel + Return type: void + Description: Draw a pixel + Param[1]: posX (type: int) + Param[2]: posY (type: int) + Param[3]: color (type: Color) +Function 189: DrawPixelV() (2 input parameters) + Name: DrawPixelV + Return type: void + Description: Draw a pixel (Vector version) + Param[1]: position (type: Vector2) + Param[2]: color (type: Color) +Function 190: DrawLine() (5 input parameters) + Name: DrawLine + Return type: void + Description: Draw a line + Param[1]: startPosX (type: int) + Param[2]: startPosY (type: int) + Param[3]: endPosX (type: int) + Param[4]: endPosY (type: int) + Param[5]: color (type: Color) +Function 191: DrawLineV() (3 input parameters) + Name: DrawLineV + Return type: void + Description: Draw a line (Vector version) + Param[1]: startPos (type: Vector2) + Param[2]: endPos (type: Vector2) + Param[3]: color (type: Color) +Function 192: DrawLineEx() (4 input parameters) + Name: DrawLineEx + Return type: void + Description: Draw a line defining thickness + Param[1]: startPos (type: Vector2) + Param[2]: endPos (type: Vector2) + Param[3]: thick (type: float) + Param[4]: color (type: Color) +Function 193: DrawLineBezier() (4 input parameters) + Name: DrawLineBezier + Return type: void + Description: Draw a line using cubic-bezier curves in-out + Param[1]: startPos (type: Vector2) + Param[2]: endPos (type: Vector2) + Param[3]: thick (type: float) + Param[4]: color (type: Color) +Function 194: DrawLineBezierQuad() (5 input parameters) + Name: DrawLineBezierQuad + Return type: void + Description: Draw line using quadratic bezier curves with a control point + Param[1]: startPos (type: Vector2) + Param[2]: endPos (type: Vector2) + Param[3]: controlPos (type: Vector2) + Param[4]: thick (type: float) + Param[5]: color (type: Color) +Function 195: DrawLineBezierCubic() (6 input parameters) + Name: DrawLineBezierCubic + Return type: void + Description: Draw line using cubic bezier curves with 2 control points + Param[1]: startPos (type: Vector2) + Param[2]: endPos (type: Vector2) + Param[3]: startControlPos (type: Vector2) + Param[4]: endControlPos (type: Vector2) + Param[5]: thick (type: float) + Param[6]: color (type: Color) +Function 196: DrawLineStrip() (3 input parameters) + Name: DrawLineStrip + Return type: void + Description: Draw lines sequence + Param[1]: points (type: Vector2 *) + Param[2]: pointCount (type: int) + Param[3]: color (type: Color) +Function 197: DrawCircle() (4 input parameters) + Name: DrawCircle + Return type: void + Description: Draw a color-filled circle + Param[1]: centerX (type: int) + Param[2]: centerY (type: int) + Param[3]: radius (type: float) + Param[4]: color (type: Color) +Function 198: DrawCircleSector() (6 input parameters) + Name: DrawCircleSector + Return type: void + Description: Draw a piece of a circle + Param[1]: center (type: Vector2) + Param[2]: radius (type: float) + Param[3]: startAngle (type: float) + Param[4]: endAngle (type: float) + Param[5]: segments (type: int) + Param[6]: color (type: Color) +Function 199: DrawCircleSectorLines() (6 input parameters) + Name: DrawCircleSectorLines + Return type: void + Description: Draw circle sector outline + Param[1]: center (type: Vector2) + Param[2]: radius (type: float) + Param[3]: startAngle (type: float) + Param[4]: endAngle (type: float) + Param[5]: segments (type: int) + Param[6]: color (type: Color) +Function 200: DrawCircleGradient() (5 input parameters) + Name: DrawCircleGradient + Return type: void + Description: Draw a gradient-filled circle + Param[1]: centerX (type: int) + Param[2]: centerY (type: int) + Param[3]: radius (type: float) + Param[4]: color1 (type: Color) + Param[5]: color2 (type: Color) +Function 201: DrawCircleV() (3 input parameters) + Name: DrawCircleV + Return type: void + Description: Draw a color-filled circle (Vector version) + Param[1]: center (type: Vector2) + Param[2]: radius (type: float) + Param[3]: color (type: Color) +Function 202: DrawCircleLines() (4 input parameters) + Name: DrawCircleLines + Return type: void + Description: Draw circle outline + Param[1]: centerX (type: int) + Param[2]: centerY (type: int) + Param[3]: radius (type: float) + Param[4]: color (type: Color) +Function 203: DrawEllipse() (5 input parameters) + Name: DrawEllipse + Return type: void + Description: Draw ellipse + Param[1]: centerX (type: int) + Param[2]: centerY (type: int) + Param[3]: radiusH (type: float) + Param[4]: radiusV (type: float) + Param[5]: color (type: Color) +Function 204: DrawEllipseLines() (5 input parameters) + Name: DrawEllipseLines + Return type: void + Description: Draw ellipse outline + Param[1]: centerX (type: int) + Param[2]: centerY (type: int) + Param[3]: radiusH (type: float) + Param[4]: radiusV (type: float) + Param[5]: color (type: Color) +Function 205: DrawRing() (7 input parameters) + Name: DrawRing + Return type: void + Description: Draw ring + Param[1]: center (type: Vector2) + Param[2]: innerRadius (type: float) + Param[3]: outerRadius (type: float) + Param[4]: startAngle (type: float) + Param[5]: endAngle (type: float) + Param[6]: segments (type: int) + Param[7]: color (type: Color) +Function 206: DrawRingLines() (7 input parameters) + Name: DrawRingLines + Return type: void + Description: Draw ring outline + Param[1]: center (type: Vector2) + Param[2]: innerRadius (type: float) + Param[3]: outerRadius (type: float) + Param[4]: startAngle (type: float) + Param[5]: endAngle (type: float) + Param[6]: segments (type: int) + Param[7]: color (type: Color) +Function 207: DrawRectangle() (5 input parameters) + Name: DrawRectangle + Return type: void + Description: Draw a color-filled rectangle + Param[1]: posX (type: int) + Param[2]: posY (type: int) + Param[3]: width (type: int) + Param[4]: height (type: int) + Param[5]: color (type: Color) +Function 208: DrawRectangleV() (3 input parameters) + Name: DrawRectangleV + Return type: void + Description: Draw a color-filled rectangle (Vector version) + Param[1]: position (type: Vector2) + Param[2]: size (type: Vector2) + Param[3]: color (type: Color) +Function 209: DrawRectangleRec() (2 input parameters) + Name: DrawRectangleRec + Return type: void + Description: Draw a color-filled rectangle + Param[1]: rec (type: Rectangle) + Param[2]: color (type: Color) +Function 210: DrawRectanglePro() (4 input parameters) + Name: DrawRectanglePro + Return type: void + Description: Draw a color-filled rectangle with pro parameters + Param[1]: rec (type: Rectangle) + Param[2]: origin (type: Vector2) + Param[3]: rotation (type: float) + Param[4]: color (type: Color) +Function 211: DrawRectangleGradientV() (6 input parameters) + Name: DrawRectangleGradientV + Return type: void + Description: Draw a vertical-gradient-filled rectangle + Param[1]: posX (type: int) + Param[2]: posY (type: int) + Param[3]: width (type: int) + Param[4]: height (type: int) + Param[5]: color1 (type: Color) + Param[6]: color2 (type: Color) +Function 212: DrawRectangleGradientH() (6 input parameters) + Name: DrawRectangleGradientH + Return type: void + Description: Draw a horizontal-gradient-filled rectangle + Param[1]: posX (type: int) + Param[2]: posY (type: int) + Param[3]: width (type: int) + Param[4]: height (type: int) + Param[5]: color1 (type: Color) + Param[6]: color2 (type: Color) +Function 213: DrawRectangleGradientEx() (5 input parameters) + Name: DrawRectangleGradientEx + Return type: void + Description: Draw a gradient-filled rectangle with custom vertex colors + Param[1]: rec (type: Rectangle) + Param[2]: col1 (type: Color) + Param[3]: col2 (type: Color) + Param[4]: col3 (type: Color) + Param[5]: col4 (type: Color) +Function 214: DrawRectangleLines() (5 input parameters) + Name: DrawRectangleLines + Return type: void + Description: Draw rectangle outline + Param[1]: posX (type: int) + Param[2]: posY (type: int) + Param[3]: width (type: int) + Param[4]: height (type: int) + Param[5]: color (type: Color) +Function 215: DrawRectangleLinesEx() (3 input parameters) + Name: DrawRectangleLinesEx + Return type: void + Description: Draw rectangle outline with extended parameters + Param[1]: rec (type: Rectangle) + Param[2]: lineThick (type: float) + Param[3]: color (type: Color) +Function 216: DrawRectangleRounded() (4 input parameters) + Name: DrawRectangleRounded + Return type: void + Description: Draw rectangle with rounded edges + Param[1]: rec (type: Rectangle) + Param[2]: roundness (type: float) + Param[3]: segments (type: int) + Param[4]: color (type: Color) +Function 217: DrawRectangleRoundedLines() (5 input parameters) + Name: DrawRectangleRoundedLines + Return type: void + Description: Draw rectangle with rounded edges outline + Param[1]: rec (type: Rectangle) + Param[2]: roundness (type: float) + Param[3]: segments (type: int) + Param[4]: lineThick (type: float) + Param[5]: color (type: Color) +Function 218: DrawTriangle() (4 input parameters) + Name: DrawTriangle + Return type: void + Description: Draw a color-filled triangle (vertex in counter-clockwise order!) + Param[1]: v1 (type: Vector2) + Param[2]: v2 (type: Vector2) + Param[3]: v3 (type: Vector2) + Param[4]: color (type: Color) +Function 219: DrawTriangleLines() (4 input parameters) + Name: DrawTriangleLines + Return type: void + Description: Draw triangle outline (vertex in counter-clockwise order!) + Param[1]: v1 (type: Vector2) + Param[2]: v2 (type: Vector2) + Param[3]: v3 (type: Vector2) + Param[4]: color (type: Color) +Function 220: DrawTriangleFan() (3 input parameters) + Name: DrawTriangleFan + Return type: void + Description: Draw a triangle fan defined by points (first vertex is the center) + Param[1]: points (type: Vector2 *) + Param[2]: pointCount (type: int) + Param[3]: color (type: Color) +Function 221: DrawTriangleStrip() (3 input parameters) + Name: DrawTriangleStrip + Return type: void + Description: Draw a triangle strip defined by points + Param[1]: points (type: Vector2 *) + Param[2]: pointCount (type: int) + Param[3]: color (type: Color) +Function 222: DrawPoly() (5 input parameters) + Name: DrawPoly + Return type: void + Description: Draw a regular polygon (Vector version) + Param[1]: center (type: Vector2) + Param[2]: sides (type: int) + Param[3]: radius (type: float) + Param[4]: rotation (type: float) + Param[5]: color (type: Color) +Function 223: DrawPolyLines() (5 input parameters) + Name: DrawPolyLines + Return type: void + Description: Draw a polygon outline of n sides + Param[1]: center (type: Vector2) + Param[2]: sides (type: int) + Param[3]: radius (type: float) + Param[4]: rotation (type: float) + Param[5]: color (type: Color) +Function 224: DrawPolyLinesEx() (6 input parameters) + Name: DrawPolyLinesEx + Return type: void + Description: Draw a polygon outline of n sides with extended parameters + Param[1]: center (type: Vector2) + Param[2]: sides (type: int) + Param[3]: radius (type: float) + Param[4]: rotation (type: float) + Param[5]: lineThick (type: float) + Param[6]: color (type: Color) +Function 225: CheckCollisionRecs() (2 input parameters) + Name: CheckCollisionRecs + Return type: bool + Description: Check collision between two rectangles + Param[1]: rec1 (type: Rectangle) + Param[2]: rec2 (type: Rectangle) +Function 226: CheckCollisionCircles() (4 input parameters) + Name: CheckCollisionCircles + Return type: bool + Description: Check collision between two circles + Param[1]: center1 (type: Vector2) + Param[2]: radius1 (type: float) + Param[3]: center2 (type: Vector2) + Param[4]: radius2 (type: float) +Function 227: CheckCollisionCircleRec() (3 input parameters) + Name: CheckCollisionCircleRec + Return type: bool + Description: Check collision between circle and rectangle + Param[1]: center (type: Vector2) + Param[2]: radius (type: float) + Param[3]: rec (type: Rectangle) +Function 228: CheckCollisionPointRec() (2 input parameters) + Name: CheckCollisionPointRec + Return type: bool + Description: Check if point is inside rectangle + Param[1]: point (type: Vector2) + Param[2]: rec (type: Rectangle) +Function 229: CheckCollisionPointCircle() (3 input parameters) + Name: CheckCollisionPointCircle + Return type: bool + Description: Check if point is inside circle + Param[1]: point (type: Vector2) + Param[2]: center (type: Vector2) + Param[3]: radius (type: float) +Function 230: CheckCollisionPointTriangle() (4 input parameters) + Name: CheckCollisionPointTriangle + Return type: bool + Description: Check if point is inside a triangle + Param[1]: point (type: Vector2) + Param[2]: p1 (type: Vector2) + Param[3]: p2 (type: Vector2) + Param[4]: p3 (type: Vector2) +Function 231: CheckCollisionPointPoly() (3 input parameters) + Name: CheckCollisionPointPoly + Return type: bool + Description: Check if point is within a polygon described by array of vertices + Param[1]: point (type: Vector2) + Param[2]: points (type: Vector2 *) + Param[3]: pointCount (type: int) +Function 232: CheckCollisionLines() (5 input parameters) + Name: CheckCollisionLines + Return type: bool + Description: Check the collision between two lines defined by two points each, returns collision point by reference + Param[1]: startPos1 (type: Vector2) + Param[2]: endPos1 (type: Vector2) + Param[3]: startPos2 (type: Vector2) + Param[4]: endPos2 (type: Vector2) + Param[5]: collisionPoint (type: Vector2 *) +Function 233: CheckCollisionPointLine() (4 input parameters) + Name: CheckCollisionPointLine + Return type: bool + Description: Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold] + Param[1]: point (type: Vector2) + Param[2]: p1 (type: Vector2) + Param[3]: p2 (type: Vector2) + Param[4]: threshold (type: int) +Function 234: GetCollisionRec() (2 input parameters) + Name: GetCollisionRec + Return type: Rectangle + Description: Get collision rectangle for two rectangles collision + Param[1]: rec1 (type: Rectangle) + Param[2]: rec2 (type: Rectangle) +Function 235: LoadImage() (1 input parameters) + Name: LoadImage + Return type: Image + Description: Load image from file into CPU memory (RAM) + Param[1]: fileName (type: const char *) +Function 236: LoadImageRaw() (5 input parameters) + Name: LoadImageRaw + Return type: Image + Description: Load image from RAW file data + Param[1]: fileName (type: const char *) + Param[2]: width (type: int) + Param[3]: height (type: int) + Param[4]: format (type: int) + Param[5]: headerSize (type: int) +Function 237: LoadImageAnim() (2 input parameters) + Name: LoadImageAnim + Return type: Image + Description: Load image sequence from file (frames appended to image.data) + Param[1]: fileName (type: const char *) + Param[2]: frames (type: int *) +Function 238: LoadImageFromMemory() (3 input parameters) + Name: LoadImageFromMemory + Return type: Image + Description: Load image from memory buffer, fileType refers to extension: i.e. '.png' + Param[1]: fileType (type: const char *) + Param[2]: fileData (type: const unsigned char *) + Param[3]: dataSize (type: int) +Function 239: LoadImageFromTexture() (1 input parameters) + Name: LoadImageFromTexture + Return type: Image + Description: Load image from GPU texture data + Param[1]: texture (type: Texture2D) +Function 240: LoadImageFromScreen() (0 input parameters) + Name: LoadImageFromScreen + Return type: Image + Description: Load image from screen buffer and (screenshot) + No input parameters +Function 241: IsImageReady() (1 input parameters) + Name: IsImageReady + Return type: bool + Description: Check if an image is ready + Param[1]: image (type: Image) +Function 242: UnloadImage() (1 input parameters) + Name: UnloadImage + Return type: void + Description: Unload image from CPU memory (RAM) + Param[1]: image (type: Image) +Function 243: ExportImage() (2 input parameters) + Name: ExportImage + Return type: bool + Description: Export image data to file, returns true on success + Param[1]: image (type: Image) + Param[2]: fileName (type: const char *) +Function 244: ExportImageAsCode() (2 input parameters) + Name: ExportImageAsCode + Return type: bool + Description: Export image as code file defining an array of bytes, returns true on success + Param[1]: image (type: Image) + Param[2]: fileName (type: const char *) +Function 245: GenImageColor() (3 input parameters) + Name: GenImageColor + Return type: Image + Description: Generate image: plain color + Param[1]: width (type: int) + Param[2]: height (type: int) + Param[3]: color (type: Color) +Function 246: GenImageGradientV() (4 input parameters) + Name: GenImageGradientV + Return type: Image + Description: Generate image: vertical gradient + Param[1]: width (type: int) + Param[2]: height (type: int) + Param[3]: top (type: Color) + Param[4]: bottom (type: Color) +Function 247: GenImageGradientH() (4 input parameters) + Name: GenImageGradientH + Return type: Image + Description: Generate image: horizontal gradient + Param[1]: width (type: int) + Param[2]: height (type: int) + Param[3]: left (type: Color) + Param[4]: right (type: Color) +Function 248: GenImageGradientRadial() (5 input parameters) + Name: GenImageGradientRadial + Return type: Image + Description: Generate image: radial gradient + Param[1]: width (type: int) + Param[2]: height (type: int) + Param[3]: density (type: float) + Param[4]: inner (type: Color) + Param[5]: outer (type: Color) +Function 249: GenImageChecked() (6 input parameters) + Name: GenImageChecked + Return type: Image + Description: Generate image: checked + Param[1]: width (type: int) + Param[2]: height (type: int) + Param[3]: checksX (type: int) + Param[4]: checksY (type: int) + Param[5]: col1 (type: Color) + Param[6]: col2 (type: Color) +Function 250: GenImageWhiteNoise() (3 input parameters) + Name: GenImageWhiteNoise + Return type: Image + Description: Generate image: white noise + Param[1]: width (type: int) + Param[2]: height (type: int) + Param[3]: factor (type: float) +Function 251: GenImagePerlinNoise() (5 input parameters) + Name: GenImagePerlinNoise + Return type: Image + Description: Generate image: perlin noise + Param[1]: width (type: int) + Param[2]: height (type: int) + Param[3]: offsetX (type: int) + Param[4]: offsetY (type: int) + Param[5]: scale (type: float) +Function 252: GenImageCellular() (3 input parameters) + Name: GenImageCellular + Return type: Image + Description: Generate image: cellular algorithm, bigger tileSize means bigger cells + Param[1]: width (type: int) + Param[2]: height (type: int) + Param[3]: tileSize (type: int) +Function 253: GenImageText() (3 input parameters) + Name: GenImageText + Return type: Image + Description: Generate image: grayscale image from text data + Param[1]: width (type: int) + Param[2]: height (type: int) + Param[3]: text (type: const char *) +Function 254: ImageCopy() (1 input parameters) + Name: ImageCopy + Return type: Image + Description: Create an image duplicate (useful for transformations) + Param[1]: image (type: Image) +Function 255: ImageFromImage() (2 input parameters) + Name: ImageFromImage + Return type: Image + Description: Create an image from another image piece + Param[1]: image (type: Image) + Param[2]: rec (type: Rectangle) +Function 256: ImageText() (3 input parameters) + Name: ImageText + Return type: Image + Description: Create an image from text (default font) + Param[1]: text (type: const char *) + Param[2]: fontSize (type: int) + Param[3]: color (type: Color) +Function 257: ImageTextEx() (5 input parameters) + Name: ImageTextEx + Return type: Image + Description: Create an image from text (custom sprite font) + Param[1]: font (type: Font) + Param[2]: text (type: const char *) + Param[3]: fontSize (type: float) + Param[4]: spacing (type: float) + Param[5]: tint (type: Color) +Function 258: ImageFormat() (2 input parameters) + Name: ImageFormat + Return type: void + Description: Convert image data to desired format + Param[1]: image (type: Image *) + Param[2]: newFormat (type: int) +Function 259: ImageToPOT() (2 input parameters) + Name: ImageToPOT + Return type: void + Description: Convert image to POT (power-of-two) + Param[1]: image (type: Image *) + Param[2]: fill (type: Color) +Function 260: ImageCrop() (2 input parameters) + Name: ImageCrop + Return type: void + Description: Crop an image to a defined rectangle + Param[1]: image (type: Image *) + Param[2]: crop (type: Rectangle) +Function 261: ImageAlphaCrop() (2 input parameters) + Name: ImageAlphaCrop + Return type: void + Description: Crop image depending on alpha value + Param[1]: image (type: Image *) + Param[2]: threshold (type: float) +Function 262: ImageAlphaClear() (3 input parameters) + Name: ImageAlphaClear + Return type: void + Description: Clear alpha channel to desired color + Param[1]: image (type: Image *) + Param[2]: color (type: Color) + Param[3]: threshold (type: float) +Function 263: ImageAlphaMask() (2 input parameters) + Name: ImageAlphaMask + Return type: void + Description: Apply alpha mask to image + Param[1]: image (type: Image *) + Param[2]: alphaMask (type: Image) +Function 264: ImageAlphaPremultiply() (1 input parameters) + Name: ImageAlphaPremultiply + Return type: void + Description: Premultiply alpha channel + Param[1]: image (type: Image *) +Function 265: ImageBlurGaussian() (2 input parameters) + Name: ImageBlurGaussian + Return type: void + Description: Apply Gaussian blur using a box blur approximation + Param[1]: image (type: Image *) + Param[2]: blurSize (type: int) +Function 266: ImageResize() (3 input parameters) + Name: ImageResize + Return type: void + Description: Resize image (Bicubic scaling algorithm) + Param[1]: image (type: Image *) + Param[2]: newWidth (type: int) + Param[3]: newHeight (type: int) +Function 267: ImageResizeNN() (3 input parameters) + Name: ImageResizeNN + Return type: void + Description: Resize image (Nearest-Neighbor scaling algorithm) + Param[1]: image (type: Image *) + Param[2]: newWidth (type: int) + Param[3]: newHeight (type: int) +Function 268: ImageResizeCanvas() (6 input parameters) + Name: ImageResizeCanvas + Return type: void + Description: Resize canvas and fill with color + Param[1]: image (type: Image *) + Param[2]: newWidth (type: int) + Param[3]: newHeight (type: int) + Param[4]: offsetX (type: int) + Param[5]: offsetY (type: int) + Param[6]: fill (type: Color) +Function 269: ImageMipmaps() (1 input parameters) + Name: ImageMipmaps + Return type: void + Description: Compute all mipmap levels for a provided image + Param[1]: image (type: Image *) +Function 270: ImageDither() (5 input parameters) + Name: ImageDither + Return type: void + Description: Dither image data to 16bpp or lower (Floyd-Steinberg dithering) + Param[1]: image (type: Image *) + Param[2]: rBpp (type: int) + Param[3]: gBpp (type: int) + Param[4]: bBpp (type: int) + Param[5]: aBpp (type: int) +Function 271: ImageFlipVertical() (1 input parameters) + Name: ImageFlipVertical + Return type: void + Description: Flip image vertically + Param[1]: image (type: Image *) +Function 272: ImageFlipHorizontal() (1 input parameters) + Name: ImageFlipHorizontal + Return type: void + Description: Flip image horizontally + Param[1]: image (type: Image *) +Function 273: ImageRotateCW() (1 input parameters) + Name: ImageRotateCW + Return type: void + Description: Rotate image clockwise 90deg + Param[1]: image (type: Image *) +Function 274: ImageRotateCCW() (1 input parameters) + Name: ImageRotateCCW + Return type: void + Description: Rotate image counter-clockwise 90deg + Param[1]: image (type: Image *) +Function 275: ImageColorTint() (2 input parameters) + Name: ImageColorTint + Return type: void + Description: Modify image color: tint + Param[1]: image (type: Image *) + Param[2]: color (type: Color) +Function 276: ImageColorInvert() (1 input parameters) + Name: ImageColorInvert + Return type: void + Description: Modify image color: invert + Param[1]: image (type: Image *) +Function 277: ImageColorGrayscale() (1 input parameters) + Name: ImageColorGrayscale + Return type: void + Description: Modify image color: grayscale + Param[1]: image (type: Image *) +Function 278: ImageColorContrast() (2 input parameters) + Name: ImageColorContrast + Return type: void + Description: Modify image color: contrast (-100 to 100) + Param[1]: image (type: Image *) + Param[2]: contrast (type: float) +Function 279: ImageColorBrightness() (2 input parameters) + Name: ImageColorBrightness + Return type: void + Description: Modify image color: brightness (-255 to 255) + Param[1]: image (type: Image *) + Param[2]: brightness (type: int) +Function 280: ImageColorReplace() (3 input parameters) + Name: ImageColorReplace + Return type: void + Description: Modify image color: replace color + Param[1]: image (type: Image *) + Param[2]: color (type: Color) + Param[3]: replace (type: Color) +Function 281: LoadImageColors() (1 input parameters) + Name: LoadImageColors + Return type: Color * + Description: Load color data from image as a Color array (RGBA - 32bit) + Param[1]: image (type: Image) +Function 282: LoadImagePalette() (3 input parameters) + Name: LoadImagePalette + Return type: Color * + Description: Load colors palette from image as a Color array (RGBA - 32bit) + Param[1]: image (type: Image) + Param[2]: maxPaletteSize (type: int) + Param[3]: colorCount (type: int *) +Function 283: UnloadImageColors() (1 input parameters) + Name: UnloadImageColors + Return type: void + Description: Unload color data loaded with LoadImageColors() + Param[1]: colors (type: Color *) +Function 284: UnloadImagePalette() (1 input parameters) + Name: UnloadImagePalette + Return type: void + Description: Unload colors palette loaded with LoadImagePalette() + Param[1]: colors (type: Color *) +Function 285: GetImageAlphaBorder() (2 input parameters) + Name: GetImageAlphaBorder + Return type: Rectangle + Description: Get image alpha border rectangle + Param[1]: image (type: Image) + Param[2]: threshold (type: float) +Function 286: GetImageColor() (3 input parameters) + Name: GetImageColor + Return type: Color + Description: Get image pixel color at (x, y) position + Param[1]: image (type: Image) + Param[2]: x (type: int) + Param[3]: y (type: int) +Function 287: ImageClearBackground() (2 input parameters) + Name: ImageClearBackground + Return type: void + Description: Clear image background with given color + Param[1]: dst (type: Image *) + Param[2]: color (type: Color) +Function 288: ImageDrawPixel() (4 input parameters) + Name: ImageDrawPixel + Return type: void + Description: Draw pixel within an image + Param[1]: dst (type: Image *) + Param[2]: posX (type: int) + Param[3]: posY (type: int) + Param[4]: color (type: Color) +Function 289: ImageDrawPixelV() (3 input parameters) + Name: ImageDrawPixelV + Return type: void + Description: Draw pixel within an image (Vector version) + Param[1]: dst (type: Image *) + Param[2]: position (type: Vector2) + Param[3]: color (type: Color) +Function 290: ImageDrawLine() (6 input parameters) + Name: ImageDrawLine + Return type: void + Description: Draw line within an image + Param[1]: dst (type: Image *) + Param[2]: startPosX (type: int) + Param[3]: startPosY (type: int) + Param[4]: endPosX (type: int) + Param[5]: endPosY (type: int) + Param[6]: color (type: Color) +Function 291: ImageDrawLineV() (4 input parameters) + Name: ImageDrawLineV + Return type: void + Description: Draw line within an image (Vector version) + Param[1]: dst (type: Image *) + Param[2]: start (type: Vector2) + Param[3]: end (type: Vector2) + Param[4]: color (type: Color) +Function 292: ImageDrawCircle() (5 input parameters) + Name: ImageDrawCircle + Return type: void + Description: Draw a filled circle within an image + Param[1]: dst (type: Image *) + Param[2]: centerX (type: int) + Param[3]: centerY (type: int) + Param[4]: radius (type: int) + Param[5]: color (type: Color) +Function 293: ImageDrawCircleV() (4 input parameters) + Name: ImageDrawCircleV + Return type: void + Description: Draw a filled circle within an image (Vector version) + Param[1]: dst (type: Image *) + Param[2]: center (type: Vector2) + Param[3]: radius (type: int) + Param[4]: color (type: Color) +Function 294: ImageDrawCircleLines() (5 input parameters) + Name: ImageDrawCircleLines + Return type: void + Description: Draw circle outline within an image + Param[1]: dst (type: Image *) + Param[2]: centerX (type: int) + Param[3]: centerY (type: int) + Param[4]: radius (type: int) + Param[5]: color (type: Color) +Function 295: ImageDrawCircleLinesV() (4 input parameters) + Name: ImageDrawCircleLinesV + Return type: void + Description: Draw circle outline within an image (Vector version) + Param[1]: dst (type: Image *) + Param[2]: center (type: Vector2) + Param[3]: radius (type: int) + Param[4]: color (type: Color) +Function 296: ImageDrawRectangle() (6 input parameters) + Name: ImageDrawRectangle + Return type: void + Description: Draw rectangle within an image + Param[1]: dst (type: Image *) + Param[2]: posX (type: int) + Param[3]: posY (type: int) + Param[4]: width (type: int) + Param[5]: height (type: int) + Param[6]: color (type: Color) +Function 297: ImageDrawRectangleV() (4 input parameters) + Name: ImageDrawRectangleV + Return type: void + Description: Draw rectangle within an image (Vector version) + Param[1]: dst (type: Image *) + Param[2]: position (type: Vector2) + Param[3]: size (type: Vector2) + Param[4]: color (type: Color) +Function 298: ImageDrawRectangleRec() (3 input parameters) + Name: ImageDrawRectangleRec + Return type: void + Description: Draw rectangle within an image + Param[1]: dst (type: Image *) + Param[2]: rec (type: Rectangle) + Param[3]: color (type: Color) +Function 299: ImageDrawRectangleLines() (4 input parameters) + Name: ImageDrawRectangleLines + Return type: void + Description: Draw rectangle lines within an image + Param[1]: dst (type: Image *) + Param[2]: rec (type: Rectangle) + Param[3]: thick (type: int) + Param[4]: color (type: Color) +Function 300: ImageDraw() (5 input parameters) + Name: ImageDraw + Return type: void + Description: Draw a source image within a destination image (tint applied to source) + Param[1]: dst (type: Image *) + Param[2]: src (type: Image) + Param[3]: srcRec (type: Rectangle) + Param[4]: dstRec (type: Rectangle) + Param[5]: tint (type: Color) +Function 301: ImageDrawText() (6 input parameters) + Name: ImageDrawText + Return type: void + Description: Draw text (using default font) within an image (destination) + Param[1]: dst (type: Image *) + Param[2]: text (type: const char *) + Param[3]: posX (type: int) + Param[4]: posY (type: int) + Param[5]: fontSize (type: int) + Param[6]: color (type: Color) +Function 302: ImageDrawTextEx() (7 input parameters) + Name: ImageDrawTextEx + Return type: void + Description: Draw text (custom sprite font) within an image (destination) + Param[1]: dst (type: Image *) + Param[2]: font (type: Font) + Param[3]: text (type: const char *) + Param[4]: position (type: Vector2) + Param[5]: fontSize (type: float) + Param[6]: spacing (type: float) + Param[7]: tint (type: Color) +Function 303: LoadTexture() (1 input parameters) + Name: LoadTexture + Return type: Texture2D + Description: Load texture from file into GPU memory (VRAM) + Param[1]: fileName (type: const char *) +Function 304: LoadTextureFromImage() (1 input parameters) + Name: LoadTextureFromImage + Return type: Texture2D + Description: Load texture from image data + Param[1]: image (type: Image) +Function 305: LoadTextureCubemap() (2 input parameters) + Name: LoadTextureCubemap + Return type: TextureCubemap + Description: Load cubemap from image, multiple image cubemap layouts supported + Param[1]: image (type: Image) + Param[2]: layout (type: int) +Function 306: LoadRenderTexture() (2 input parameters) + Name: LoadRenderTexture + Return type: RenderTexture2D + Description: Load texture for rendering (framebuffer) + Param[1]: width (type: int) + Param[2]: height (type: int) +Function 307: IsTextureReady() (1 input parameters) + Name: IsTextureReady + Return type: bool + Description: Check if a texture is ready + Param[1]: texture (type: Texture2D) +Function 308: UnloadTexture() (1 input parameters) + Name: UnloadTexture + Return type: void + Description: Unload texture from GPU memory (VRAM) + Param[1]: texture (type: Texture2D) +Function 309: IsRenderTextureReady() (1 input parameters) + Name: IsRenderTextureReady + Return type: bool + Description: Check if a render texture is ready + Param[1]: target (type: RenderTexture2D) +Function 310: UnloadRenderTexture() (1 input parameters) + Name: UnloadRenderTexture + Return type: void + Description: Unload render texture from GPU memory (VRAM) + Param[1]: target (type: RenderTexture2D) +Function 311: UpdateTexture() (2 input parameters) + Name: UpdateTexture + Return type: void + Description: Update GPU texture with new data + Param[1]: texture (type: Texture2D) + Param[2]: pixels (type: const void *) +Function 312: UpdateTextureRec() (3 input parameters) + Name: UpdateTextureRec + Return type: void + Description: Update GPU texture rectangle with new data + Param[1]: texture (type: Texture2D) + Param[2]: rec (type: Rectangle) + Param[3]: pixels (type: const void *) +Function 313: GenTextureMipmaps() (1 input parameters) + Name: GenTextureMipmaps + Return type: void + Description: Generate GPU mipmaps for a texture + Param[1]: texture (type: Texture2D *) +Function 314: SetTextureFilter() (2 input parameters) + Name: SetTextureFilter + Return type: void + Description: Set texture scaling filter mode + Param[1]: texture (type: Texture2D) + Param[2]: filter (type: int) +Function 315: SetTextureWrap() (2 input parameters) + Name: SetTextureWrap + Return type: void + Description: Set texture wrapping mode + Param[1]: texture (type: Texture2D) + Param[2]: wrap (type: int) +Function 316: DrawTexture() (4 input parameters) + Name: DrawTexture + Return type: void + Description: Draw a Texture2D + Param[1]: texture (type: Texture2D) + Param[2]: posX (type: int) + Param[3]: posY (type: int) + Param[4]: tint (type: Color) +Function 317: DrawTextureV() (3 input parameters) + Name: DrawTextureV + Return type: void + Description: Draw a Texture2D with position defined as Vector2 + Param[1]: texture (type: Texture2D) + Param[2]: position (type: Vector2) + Param[3]: tint (type: Color) +Function 318: DrawTextureEx() (5 input parameters) + Name: DrawTextureEx + Return type: void + Description: Draw a Texture2D with extended parameters + Param[1]: texture (type: Texture2D) + Param[2]: position (type: Vector2) + Param[3]: rotation (type: float) + Param[4]: scale (type: float) + Param[5]: tint (type: Color) +Function 319: DrawTextureRec() (4 input parameters) + Name: DrawTextureRec + Return type: void + Description: Draw a part of a texture defined by a rectangle + Param[1]: texture (type: Texture2D) + Param[2]: source (type: Rectangle) + Param[3]: position (type: Vector2) + Param[4]: tint (type: Color) +Function 320: DrawTexturePro() (6 input parameters) + Name: DrawTexturePro + Return type: void + Description: Draw a part of a texture defined by a rectangle with 'pro' parameters + Param[1]: texture (type: Texture2D) + Param[2]: source (type: Rectangle) + Param[3]: dest (type: Rectangle) + Param[4]: origin (type: Vector2) + Param[5]: rotation (type: float) + Param[6]: tint (type: Color) +Function 321: DrawTextureNPatch() (6 input parameters) + Name: DrawTextureNPatch + Return type: void + Description: Draws a texture (or part of it) that stretches or shrinks nicely + Param[1]: texture (type: Texture2D) + Param[2]: nPatchInfo (type: NPatchInfo) + Param[3]: dest (type: Rectangle) + Param[4]: origin (type: Vector2) + Param[5]: rotation (type: float) + Param[6]: tint (type: Color) +Function 322: Fade() (2 input parameters) + Name: Fade + Return type: Color + Description: Get color with alpha applied, alpha goes from 0.0f to 1.0f + Param[1]: color (type: Color) + Param[2]: alpha (type: float) +Function 323: ColorToInt() (1 input parameters) + Name: ColorToInt + Return type: int + Description: Get hexadecimal value for a Color + Param[1]: color (type: Color) +Function 324: ColorNormalize() (1 input parameters) + Name: ColorNormalize + Return type: Vector4 + Description: Get Color normalized as float [0..1] + Param[1]: color (type: Color) +Function 325: ColorFromNormalized() (1 input parameters) + Name: ColorFromNormalized + Return type: Color + Description: Get Color from normalized values [0..1] + Param[1]: normalized (type: Vector4) +Function 326: ColorToHSV() (1 input parameters) + Name: ColorToHSV + Return type: Vector3 + Description: Get HSV values for a Color, hue [0..360], saturation/value [0..1] + Param[1]: color (type: Color) +Function 327: ColorFromHSV() (3 input parameters) + Name: ColorFromHSV + Return type: Color + Description: Get a Color from HSV values, hue [0..360], saturation/value [0..1] + Param[1]: hue (type: float) + Param[2]: saturation (type: float) + Param[3]: value (type: float) +Function 328: ColorTint() (2 input parameters) + Name: ColorTint + Return type: Color + Description: Get color multiplied with another color + Param[1]: color (type: Color) + Param[2]: tint (type: Color) +Function 329: ColorBrightness() (2 input parameters) + Name: ColorBrightness + Return type: Color + Description: Get color with brightness correction, brightness factor goes from -1.0f to 1.0f + Param[1]: color (type: Color) + Param[2]: factor (type: float) +Function 330: ColorContrast() (2 input parameters) + Name: ColorContrast + Return type: Color + Description: Get color with contrast correction, contrast values between -1.0f and 1.0f + Param[1]: color (type: Color) + Param[2]: contrast (type: float) +Function 331: ColorAlpha() (2 input parameters) + Name: ColorAlpha + Return type: Color + Description: Get color with alpha applied, alpha goes from 0.0f to 1.0f + Param[1]: color (type: Color) + Param[2]: alpha (type: float) +Function 332: ColorAlphaBlend() (3 input parameters) + Name: ColorAlphaBlend + Return type: Color + Description: Get src alpha-blended into dst color with tint + Param[1]: dst (type: Color) + Param[2]: src (type: Color) + Param[3]: tint (type: Color) +Function 333: GetColor() (1 input parameters) + Name: GetColor + Return type: Color + Description: Get Color structure from hexadecimal value + Param[1]: hexValue (type: unsigned int) +Function 334: GetPixelColor() (2 input parameters) + Name: GetPixelColor + Return type: Color + Description: Get Color from a source pixel pointer of certain format + Param[1]: srcPtr (type: void *) + Param[2]: format (type: int) +Function 335: SetPixelColor() (3 input parameters) + Name: SetPixelColor + Return type: void + Description: Set color formatted into destination pixel pointer + Param[1]: dstPtr (type: void *) + Param[2]: color (type: Color) + Param[3]: format (type: int) +Function 336: GetPixelDataSize() (3 input parameters) + Name: GetPixelDataSize + Return type: int + Description: Get pixel data size in bytes for certain format + Param[1]: width (type: int) + Param[2]: height (type: int) + Param[3]: format (type: int) +Function 337: GetFontDefault() (0 input parameters) + Name: GetFontDefault + Return type: Font + Description: Get the default Font + No input parameters +Function 338: LoadFont() (1 input parameters) + Name: LoadFont + Return type: Font + Description: Load font from file into GPU memory (VRAM) + Param[1]: fileName (type: const char *) +Function 339: LoadFontEx() (4 input parameters) + Name: LoadFontEx + Return type: Font + Description: Load font from file with extended parameters, use NULL for fontChars and 0 for glyphCount to load the default character set + Param[1]: fileName (type: const char *) + Param[2]: fontSize (type: int) + Param[3]: fontChars (type: int *) + Param[4]: glyphCount (type: int) +Function 340: LoadFontFromImage() (3 input parameters) + Name: LoadFontFromImage + Return type: Font + Description: Load font from Image (XNA style) + Param[1]: image (type: Image) + Param[2]: key (type: Color) + Param[3]: firstChar (type: int) +Function 341: LoadFontFromMemory() (6 input parameters) + Name: LoadFontFromMemory + Return type: Font + Description: Load font from memory buffer, fileType refers to extension: i.e. '.ttf' + Param[1]: fileType (type: const char *) + Param[2]: fileData (type: const unsigned char *) + Param[3]: dataSize (type: int) + Param[4]: fontSize (type: int) + Param[5]: fontChars (type: int *) + Param[6]: glyphCount (type: int) +Function 342: IsFontReady() (1 input parameters) + Name: IsFontReady + Return type: bool + Description: Check if a font is ready + Param[1]: font (type: Font) +Function 343: LoadFontData() (6 input parameters) + Name: LoadFontData + Return type: GlyphInfo * + Description: Load font data for further use + Param[1]: fileData (type: const unsigned char *) + Param[2]: dataSize (type: int) + Param[3]: fontSize (type: int) + Param[4]: fontChars (type: int *) + Param[5]: glyphCount (type: int) + Param[6]: type (type: int) +Function 344: GenImageFontAtlas() (6 input parameters) + Name: GenImageFontAtlas + Return type: Image + Description: Generate image font atlas using chars info + Param[1]: chars (type: const GlyphInfo *) + Param[2]: recs (type: Rectangle **) + Param[3]: glyphCount (type: int) + Param[4]: fontSize (type: int) + Param[5]: padding (type: int) + Param[6]: packMethod (type: int) +Function 345: UnloadFontData() (2 input parameters) + Name: UnloadFontData + Return type: void + Description: Unload font chars info data (RAM) + Param[1]: chars (type: GlyphInfo *) + Param[2]: glyphCount (type: int) +Function 346: UnloadFont() (1 input parameters) + Name: UnloadFont + Return type: void + Description: Unload font from GPU memory (VRAM) + Param[1]: font (type: Font) +Function 347: ExportFontAsCode() (2 input parameters) + Name: ExportFontAsCode + Return type: bool + Description: Export font as code file, returns true on success + Param[1]: font (type: Font) + Param[2]: fileName (type: const char *) +Function 348: DrawFPS() (2 input parameters) + Name: DrawFPS + Return type: void + Description: Draw current FPS + Param[1]: posX (type: int) + Param[2]: posY (type: int) +Function 349: DrawText() (5 input parameters) + Name: DrawText + Return type: void + Description: Draw text (using default font) + Param[1]: text (type: const char *) + Param[2]: posX (type: int) + Param[3]: posY (type: int) + Param[4]: fontSize (type: int) + Param[5]: color (type: Color) +Function 350: DrawTextEx() (6 input parameters) + Name: DrawTextEx + Return type: void + Description: Draw text using font and additional parameters + Param[1]: font (type: Font) + Param[2]: text (type: const char *) + Param[3]: position (type: Vector2) + Param[4]: fontSize (type: float) + Param[5]: spacing (type: float) + Param[6]: tint (type: Color) +Function 351: DrawTextPro() (8 input parameters) + Name: DrawTextPro + Return type: void + Description: Draw text using Font and pro parameters (rotation) + Param[1]: font (type: Font) + Param[2]: text (type: const char *) + Param[3]: position (type: Vector2) + Param[4]: origin (type: Vector2) + Param[5]: rotation (type: float) + Param[6]: fontSize (type: float) + Param[7]: spacing (type: float) + Param[8]: tint (type: Color) +Function 352: DrawTextCodepoint() (5 input parameters) + Name: DrawTextCodepoint + Return type: void + Description: Draw one character (codepoint) + Param[1]: font (type: Font) + Param[2]: codepoint (type: int) + Param[3]: position (type: Vector2) + Param[4]: fontSize (type: float) + Param[5]: tint (type: Color) +Function 353: DrawTextCodepoints() (7 input parameters) + Name: DrawTextCodepoints + Return type: void + Description: Draw multiple character (codepoint) + Param[1]: font (type: Font) + Param[2]: codepoints (type: const int *) + Param[3]: count (type: int) + Param[4]: position (type: Vector2) + Param[5]: fontSize (type: float) + Param[6]: spacing (type: float) + Param[7]: tint (type: Color) +Function 354: MeasureText() (2 input parameters) + Name: MeasureText + Return type: int + Description: Measure string width for default font + Param[1]: text (type: const char *) + Param[2]: fontSize (type: int) +Function 355: MeasureTextEx() (4 input parameters) + Name: MeasureTextEx + Return type: Vector2 + Description: Measure string size for Font + Param[1]: font (type: Font) + Param[2]: text (type: const char *) + Param[3]: fontSize (type: float) + Param[4]: spacing (type: float) +Function 356: GetGlyphIndex() (2 input parameters) + Name: GetGlyphIndex + Return type: int + Description: Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found + Param[1]: font (type: Font) + Param[2]: codepoint (type: int) +Function 357: GetGlyphInfo() (2 input parameters) + Name: GetGlyphInfo + Return type: GlyphInfo + Description: Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found + Param[1]: font (type: Font) + Param[2]: codepoint (type: int) +Function 358: GetGlyphAtlasRec() (2 input parameters) + Name: GetGlyphAtlasRec + Return type: Rectangle + Description: Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found + Param[1]: font (type: Font) + Param[2]: codepoint (type: int) +Function 359: LoadUTF8() (2 input parameters) + Name: LoadUTF8 + Return type: char * + Description: Load UTF-8 text encoded from codepoints array + Param[1]: codepoints (type: const int *) + Param[2]: length (type: int) +Function 360: UnloadUTF8() (1 input parameters) + Name: UnloadUTF8 + Return type: void + Description: Unload UTF-8 text encoded from codepoints array + Param[1]: text (type: char *) +Function 361: LoadCodepoints() (2 input parameters) + Name: LoadCodepoints + Return type: int * + Description: Load all codepoints from a UTF-8 text string, codepoints count returned by parameter + Param[1]: text (type: const char *) + Param[2]: count (type: int *) +Function 362: UnloadCodepoints() (1 input parameters) + Name: UnloadCodepoints + Return type: void + Description: Unload codepoints data from memory + Param[1]: codepoints (type: int *) +Function 363: GetCodepointCount() (1 input parameters) + Name: GetCodepointCount + Return type: int + Description: Get total number of codepoints in a UTF-8 encoded string + Param[1]: text (type: const char *) +Function 364: GetCodepoint() (2 input parameters) + Name: GetCodepoint + Return type: int + Description: Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure + Param[1]: text (type: const char *) + Param[2]: codepointSize (type: int *) +Function 365: GetCodepointNext() (2 input parameters) + Name: GetCodepointNext + Return type: int + Description: Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure + Param[1]: text (type: const char *) + Param[2]: codepointSize (type: int *) +Function 366: GetCodepointPrevious() (2 input parameters) + Name: GetCodepointPrevious + Return type: int + Description: Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure + Param[1]: text (type: const char *) + Param[2]: codepointSize (type: int *) +Function 367: CodepointToUTF8() (2 input parameters) + Name: CodepointToUTF8 + Return type: const char * + Description: Encode one codepoint into UTF-8 byte array (array length returned as parameter) + Param[1]: codepoint (type: int) + Param[2]: utf8Size (type: int *) +Function 368: TextCopy() (2 input parameters) + Name: TextCopy + Return type: int + Description: Copy one string to another, returns bytes copied + Param[1]: dst (type: char *) + Param[2]: src (type: const char *) +Function 369: TextIsEqual() (2 input parameters) + Name: TextIsEqual + Return type: bool + Description: Check if two text string are equal + Param[1]: text1 (type: const char *) + Param[2]: text2 (type: const char *) +Function 370: TextLength() (1 input parameters) + Name: TextLength + Return type: unsigned int + Description: Get text length, checks for '\0' ending + Param[1]: text (type: const char *) +Function 371: TextFormat() (2 input parameters) + Name: TextFormat + Return type: const char * + Description: Text formatting with variables (sprintf() style) + Param[1]: text (type: const char *) + Param[2]: args (type: ...) +Function 372: TextSubtext() (3 input parameters) + Name: TextSubtext + Return type: const char * + Description: Get a piece of a text string + Param[1]: text (type: const char *) + Param[2]: position (type: int) + Param[3]: length (type: int) +Function 373: TextReplace() (3 input parameters) + Name: TextReplace + Return type: char * + Description: Replace text string (WARNING: memory must be freed!) + Param[1]: text (type: char *) + Param[2]: replace (type: const char *) + Param[3]: by (type: const char *) +Function 374: TextInsert() (3 input parameters) + Name: TextInsert + Return type: char * + Description: Insert text in a position (WARNING: memory must be freed!) + Param[1]: text (type: const char *) + Param[2]: insert (type: const char *) + Param[3]: position (type: int) +Function 375: TextJoin() (3 input parameters) + Name: TextJoin + Return type: const char * + Description: Join text strings with delimiter + Param[1]: textList (type: const char **) + Param[2]: count (type: int) + Param[3]: delimiter (type: const char *) +Function 376: TextSplit() (3 input parameters) + Name: TextSplit + Return type: const char ** + Description: Split text into multiple strings + Param[1]: text (type: const char *) + Param[2]: delimiter (type: char) + Param[3]: count (type: int *) +Function 377: TextAppend() (3 input parameters) + Name: TextAppend + Return type: void + Description: Append text at specific position and move cursor! + Param[1]: text (type: char *) + Param[2]: append (type: const char *) + Param[3]: position (type: int *) +Function 378: TextFindIndex() (2 input parameters) + Name: TextFindIndex + Return type: int + Description: Find first text occurrence within a string + Param[1]: text (type: const char *) + Param[2]: find (type: const char *) +Function 379: TextToUpper() (1 input parameters) + Name: TextToUpper + Return type: const char * + Description: Get upper case version of provided string + Param[1]: text (type: const char *) +Function 380: TextToLower() (1 input parameters) + Name: TextToLower + Return type: const char * + Description: Get lower case version of provided string + Param[1]: text (type: const char *) +Function 381: TextToPascal() (1 input parameters) + Name: TextToPascal + Return type: const char * + Description: Get Pascal case notation version of provided string + Param[1]: text (type: const char *) +Function 382: TextToInteger() (1 input parameters) + Name: TextToInteger + Return type: int + Description: Get integer value from text (negative values not supported) + Param[1]: text (type: const char *) +Function 383: DrawLine3D() (3 input parameters) + Name: DrawLine3D + Return type: void + Description: Draw a line in 3D world space + Param[1]: startPos (type: Vector3) + Param[2]: endPos (type: Vector3) + Param[3]: color (type: Color) +Function 384: DrawPoint3D() (2 input parameters) + Name: DrawPoint3D + Return type: void + Description: Draw a point in 3D space, actually a small line + Param[1]: position (type: Vector3) + Param[2]: color (type: Color) +Function 385: DrawCircle3D() (5 input parameters) + Name: DrawCircle3D + Return type: void + Description: Draw a circle in 3D world space + Param[1]: center (type: Vector3) + Param[2]: radius (type: float) + Param[3]: rotationAxis (type: Vector3) + Param[4]: rotationAngle (type: float) + Param[5]: color (type: Color) +Function 386: DrawTriangle3D() (4 input parameters) + Name: DrawTriangle3D + Return type: void + Description: Draw a color-filled triangle (vertex in counter-clockwise order!) + Param[1]: v1 (type: Vector3) + Param[2]: v2 (type: Vector3) + Param[3]: v3 (type: Vector3) + Param[4]: color (type: Color) +Function 387: DrawTriangleStrip3D() (3 input parameters) + Name: DrawTriangleStrip3D + Return type: void + Description: Draw a triangle strip defined by points + Param[1]: points (type: Vector3 *) + Param[2]: pointCount (type: int) + Param[3]: color (type: Color) +Function 388: DrawCube() (5 input parameters) + Name: DrawCube + Return type: void + Description: Draw cube + Param[1]: position (type: Vector3) + Param[2]: width (type: float) + Param[3]: height (type: float) + Param[4]: length (type: float) + Param[5]: color (type: Color) +Function 389: DrawCubeV() (3 input parameters) + Name: DrawCubeV + Return type: void + Description: Draw cube (Vector version) + Param[1]: position (type: Vector3) + Param[2]: size (type: Vector3) + Param[3]: color (type: Color) +Function 390: DrawCubeWires() (5 input parameters) + Name: DrawCubeWires + Return type: void + Description: Draw cube wires + Param[1]: position (type: Vector3) + Param[2]: width (type: float) + Param[3]: height (type: float) + Param[4]: length (type: float) + Param[5]: color (type: Color) +Function 391: DrawCubeWiresV() (3 input parameters) + Name: DrawCubeWiresV + Return type: void + Description: Draw cube wires (Vector version) + Param[1]: position (type: Vector3) + Param[2]: size (type: Vector3) + Param[3]: color (type: Color) +Function 392: DrawSphere() (3 input parameters) + Name: DrawSphere + Return type: void + Description: Draw sphere + Param[1]: centerPos (type: Vector3) + Param[2]: radius (type: float) + Param[3]: color (type: Color) +Function 393: DrawSphereEx() (5 input parameters) + Name: DrawSphereEx + Return type: void + Description: Draw sphere with extended parameters + Param[1]: centerPos (type: Vector3) + Param[2]: radius (type: float) + Param[3]: rings (type: int) + Param[4]: slices (type: int) + Param[5]: color (type: Color) +Function 394: DrawSphereWires() (5 input parameters) + Name: DrawSphereWires + Return type: void + Description: Draw sphere wires + Param[1]: centerPos (type: Vector3) + Param[2]: radius (type: float) + Param[3]: rings (type: int) + Param[4]: slices (type: int) + Param[5]: color (type: Color) +Function 395: DrawCylinder() (6 input parameters) + Name: DrawCylinder + Return type: void + Description: Draw a cylinder/cone + Param[1]: position (type: Vector3) + Param[2]: radiusTop (type: float) + Param[3]: radiusBottom (type: float) + Param[4]: height (type: float) + Param[5]: slices (type: int) + Param[6]: color (type: Color) +Function 396: DrawCylinderEx() (6 input parameters) + Name: DrawCylinderEx + Return type: void + Description: Draw a cylinder with base at startPos and top at endPos + Param[1]: startPos (type: Vector3) + Param[2]: endPos (type: Vector3) + Param[3]: startRadius (type: float) + Param[4]: endRadius (type: float) + Param[5]: sides (type: int) + Param[6]: color (type: Color) +Function 397: DrawCylinderWires() (6 input parameters) + Name: DrawCylinderWires + Return type: void + Description: Draw a cylinder/cone wires + Param[1]: position (type: Vector3) + Param[2]: radiusTop (type: float) + Param[3]: radiusBottom (type: float) + Param[4]: height (type: float) + Param[5]: slices (type: int) + Param[6]: color (type: Color) +Function 398: DrawCylinderWiresEx() (6 input parameters) + Name: DrawCylinderWiresEx + Return type: void + Description: Draw a cylinder wires with base at startPos and top at endPos + Param[1]: startPos (type: Vector3) + Param[2]: endPos (type: Vector3) + Param[3]: startRadius (type: float) + Param[4]: endRadius (type: float) + Param[5]: sides (type: int) + Param[6]: color (type: Color) +Function 399: DrawCapsule() (6 input parameters) + Name: DrawCapsule + Return type: void + Description: Draw a capsule with the center of its sphere caps at startPos and endPos + Param[1]: startPos (type: Vector3) + Param[2]: endPos (type: Vector3) + Param[3]: radius (type: float) + Param[4]: slices (type: int) + Param[5]: rings (type: int) + Param[6]: color (type: Color) +Function 400: DrawCapsuleWires() (6 input parameters) + Name: DrawCapsuleWires + Return type: void + Description: Draw capsule wireframe with the center of its sphere caps at startPos and endPos + Param[1]: startPos (type: Vector3) + Param[2]: endPos (type: Vector3) + Param[3]: radius (type: float) + Param[4]: slices (type: int) + Param[5]: rings (type: int) + Param[6]: color (type: Color) +Function 401: DrawPlane() (3 input parameters) + Name: DrawPlane + Return type: void + Description: Draw a plane XZ + Param[1]: centerPos (type: Vector3) + Param[2]: size (type: Vector2) + Param[3]: color (type: Color) +Function 402: DrawRay() (2 input parameters) + Name: DrawRay + Return type: void + Description: Draw a ray line + Param[1]: ray (type: Ray) + Param[2]: color (type: Color) +Function 403: DrawGrid() (2 input parameters) + Name: DrawGrid + Return type: void + Description: Draw a grid (centered at (0, 0, 0)) + Param[1]: slices (type: int) + Param[2]: spacing (type: float) +Function 404: LoadModel() (1 input parameters) + Name: LoadModel + Return type: Model + Description: Load model from files (meshes and materials) + Param[1]: fileName (type: const char *) +Function 405: LoadModelFromMesh() (1 input parameters) + Name: LoadModelFromMesh + Return type: Model + Description: Load model from generated mesh (default material) + Param[1]: mesh (type: Mesh) +Function 406: IsModelReady() (1 input parameters) + Name: IsModelReady + Return type: bool + Description: Check if a model is ready + Param[1]: model (type: Model) +Function 407: UnloadModel() (1 input parameters) + Name: UnloadModel + Return type: void + Description: Unload model (including meshes) from memory (RAM and/or VRAM) + Param[1]: model (type: Model) +Function 408: GetModelBoundingBox() (1 input parameters) + Name: GetModelBoundingBox + Return type: BoundingBox + Description: Compute model bounding box limits (considers all meshes) + Param[1]: model (type: Model) +Function 409: DrawModel() (4 input parameters) + Name: DrawModel + Return type: void + Description: Draw a model (with texture if set) + Param[1]: model (type: Model) + Param[2]: position (type: Vector3) + Param[3]: scale (type: float) + Param[4]: tint (type: Color) +Function 410: DrawModelEx() (6 input parameters) + Name: DrawModelEx + Return type: void + Description: Draw a model with extended parameters + Param[1]: model (type: Model) + Param[2]: position (type: Vector3) + Param[3]: rotationAxis (type: Vector3) + Param[4]: rotationAngle (type: float) + Param[5]: scale (type: Vector3) + Param[6]: tint (type: Color) +Function 411: DrawModelWires() (4 input parameters) + Name: DrawModelWires + Return type: void + Description: Draw a model wires (with texture if set) + Param[1]: model (type: Model) + Param[2]: position (type: Vector3) + Param[3]: scale (type: float) + Param[4]: tint (type: Color) +Function 412: DrawModelWiresEx() (6 input parameters) + Name: DrawModelWiresEx + Return type: void + Description: Draw a model wires (with texture if set) with extended parameters + Param[1]: model (type: Model) + Param[2]: position (type: Vector3) + Param[3]: rotationAxis (type: Vector3) + Param[4]: rotationAngle (type: float) + Param[5]: scale (type: Vector3) + Param[6]: tint (type: Color) +Function 413: DrawBoundingBox() (2 input parameters) + Name: DrawBoundingBox + Return type: void + Description: Draw bounding box (wires) + Param[1]: box (type: BoundingBox) + Param[2]: color (type: Color) +Function 414: DrawBillboard() (5 input parameters) + Name: DrawBillboard + Return type: void + Description: Draw a billboard texture + Param[1]: camera (type: Camera) + Param[2]: texture (type: Texture2D) + Param[3]: position (type: Vector3) + Param[4]: size (type: float) + Param[5]: tint (type: Color) +Function 415: DrawBillboardRec() (6 input parameters) + Name: DrawBillboardRec + Return type: void + Description: Draw a billboard texture defined by source + Param[1]: camera (type: Camera) + Param[2]: texture (type: Texture2D) + Param[3]: source (type: Rectangle) + Param[4]: position (type: Vector3) + Param[5]: size (type: Vector2) + Param[6]: tint (type: Color) +Function 416: DrawBillboardPro() (9 input parameters) + Name: DrawBillboardPro + Return type: void + Description: Draw a billboard texture defined by source and rotation + Param[1]: camera (type: Camera) + Param[2]: texture (type: Texture2D) + Param[3]: source (type: Rectangle) + Param[4]: position (type: Vector3) + Param[5]: up (type: Vector3) + Param[6]: size (type: Vector2) + Param[7]: origin (type: Vector2) + Param[8]: rotation (type: float) + Param[9]: tint (type: Color) +Function 417: UploadMesh() (2 input parameters) + Name: UploadMesh + Return type: void + Description: Upload mesh vertex data in GPU and provide VAO/VBO ids + Param[1]: mesh (type: Mesh *) + Param[2]: dynamic (type: bool) +Function 418: UpdateMeshBuffer() (5 input parameters) + Name: UpdateMeshBuffer + Return type: void + Description: Update mesh vertex data in GPU for a specific buffer index + Param[1]: mesh (type: Mesh) + Param[2]: index (type: int) + Param[3]: data (type: const void *) + Param[4]: dataSize (type: int) + Param[5]: offset (type: int) +Function 419: UnloadMesh() (1 input parameters) + Name: UnloadMesh + Return type: void + Description: Unload mesh data from CPU and GPU + Param[1]: mesh (type: Mesh) +Function 420: DrawMesh() (3 input parameters) + Name: DrawMesh + Return type: void + Description: Draw a 3d mesh with material and transform + Param[1]: mesh (type: Mesh) + Param[2]: material (type: Material) + Param[3]: transform (type: Matrix) +Function 421: DrawMeshInstanced() (4 input parameters) + Name: DrawMeshInstanced + Return type: void + Description: Draw multiple mesh instances with material and different transforms + Param[1]: mesh (type: Mesh) + Param[2]: material (type: Material) + Param[3]: transforms (type: const Matrix *) + Param[4]: instances (type: int) +Function 422: ExportMesh() (2 input parameters) + Name: ExportMesh + Return type: bool + Description: Export mesh data to file, returns true on success + Param[1]: mesh (type: Mesh) + Param[2]: fileName (type: const char *) +Function 423: GetMeshBoundingBox() (1 input parameters) + Name: GetMeshBoundingBox + Return type: BoundingBox + Description: Compute mesh bounding box limits + Param[1]: mesh (type: Mesh) +Function 424: GenMeshTangents() (1 input parameters) + Name: GenMeshTangents + Return type: void + Description: Compute mesh tangents + Param[1]: mesh (type: Mesh *) +Function 425: GenMeshPoly() (2 input parameters) + Name: GenMeshPoly + Return type: Mesh + Description: Generate polygonal mesh + Param[1]: sides (type: int) + Param[2]: radius (type: float) +Function 426: GenMeshPlane() (4 input parameters) + Name: GenMeshPlane + Return type: Mesh + Description: Generate plane mesh (with subdivisions) + Param[1]: width (type: float) + Param[2]: length (type: float) + Param[3]: resX (type: int) + Param[4]: resZ (type: int) +Function 427: GenMeshCube() (3 input parameters) + Name: GenMeshCube + Return type: Mesh + Description: Generate cuboid mesh + Param[1]: width (type: float) + Param[2]: height (type: float) + Param[3]: length (type: float) +Function 428: GenMeshSphere() (3 input parameters) + Name: GenMeshSphere + Return type: Mesh + Description: Generate sphere mesh (standard sphere) + Param[1]: radius (type: float) + Param[2]: rings (type: int) + Param[3]: slices (type: int) +Function 429: GenMeshHemiSphere() (3 input parameters) + Name: GenMeshHemiSphere + Return type: Mesh + Description: Generate half-sphere mesh (no bottom cap) + Param[1]: radius (type: float) + Param[2]: rings (type: int) + Param[3]: slices (type: int) +Function 430: GenMeshCylinder() (3 input parameters) + Name: GenMeshCylinder + Return type: Mesh + Description: Generate cylinder mesh + Param[1]: radius (type: float) + Param[2]: height (type: float) + Param[3]: slices (type: int) +Function 431: GenMeshCone() (3 input parameters) + Name: GenMeshCone + Return type: Mesh + Description: Generate cone/pyramid mesh + Param[1]: radius (type: float) + Param[2]: height (type: float) + Param[3]: slices (type: int) +Function 432: GenMeshTorus() (4 input parameters) + Name: GenMeshTorus + Return type: Mesh + Description: Generate torus mesh + Param[1]: radius (type: float) + Param[2]: size (type: float) + Param[3]: radSeg (type: int) + Param[4]: sides (type: int) +Function 433: GenMeshKnot() (4 input parameters) + Name: GenMeshKnot + Return type: Mesh + Description: Generate trefoil knot mesh + Param[1]: radius (type: float) + Param[2]: size (type: float) + Param[3]: radSeg (type: int) + Param[4]: sides (type: int) +Function 434: GenMeshHeightmap() (2 input parameters) + Name: GenMeshHeightmap + Return type: Mesh + Description: Generate heightmap mesh from image data + Param[1]: heightmap (type: Image) + Param[2]: size (type: Vector3) +Function 435: GenMeshCubicmap() (2 input parameters) + Name: GenMeshCubicmap + Return type: Mesh + Description: Generate cubes-based map mesh from image data + Param[1]: cubicmap (type: Image) + Param[2]: cubeSize (type: Vector3) +Function 436: LoadMaterials() (2 input parameters) + Name: LoadMaterials + Return type: Material * + Description: Load materials from model file + Param[1]: fileName (type: const char *) + Param[2]: materialCount (type: int *) +Function 437: LoadMaterialDefault() (0 input parameters) + Name: LoadMaterialDefault + Return type: Material + Description: Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps) + No input parameters +Function 438: IsMaterialReady() (1 input parameters) + Name: IsMaterialReady + Return type: bool + Description: Check if a material is ready + Param[1]: material (type: Material) +Function 439: UnloadMaterial() (1 input parameters) + Name: UnloadMaterial + Return type: void + Description: Unload material from GPU memory (VRAM) + Param[1]: material (type: Material) +Function 440: SetMaterialTexture() (3 input parameters) + Name: SetMaterialTexture + Return type: void + Description: Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...) + Param[1]: material (type: Material *) + Param[2]: mapType (type: int) + Param[3]: texture (type: Texture2D) +Function 441: SetModelMeshMaterial() (3 input parameters) + Name: SetModelMeshMaterial + Return type: void + Description: Set material for a mesh + Param[1]: model (type: Model *) + Param[2]: meshId (type: int) + Param[3]: materialId (type: int) +Function 442: LoadModelAnimations() (2 input parameters) + Name: LoadModelAnimations + Return type: ModelAnimation * + Description: Load model animations from file + Param[1]: fileName (type: const char *) + Param[2]: animCount (type: unsigned int *) +Function 443: UpdateModelAnimation() (3 input parameters) + Name: UpdateModelAnimation + Return type: void + Description: Update model animation pose + Param[1]: model (type: Model) + Param[2]: anim (type: ModelAnimation) + Param[3]: frame (type: int) +Function 444: UnloadModelAnimation() (1 input parameters) + Name: UnloadModelAnimation + Return type: void + Description: Unload animation data + Param[1]: anim (type: ModelAnimation) +Function 445: UnloadModelAnimations() (2 input parameters) + Name: UnloadModelAnimations + Return type: void + Description: Unload animation array data + Param[1]: animations (type: ModelAnimation *) + Param[2]: count (type: unsigned int) +Function 446: IsModelAnimationValid() (2 input parameters) + Name: IsModelAnimationValid + Return type: bool + Description: Check model animation skeleton match + Param[1]: model (type: Model) + Param[2]: anim (type: ModelAnimation) +Function 447: CheckCollisionSpheres() (4 input parameters) + Name: CheckCollisionSpheres + Return type: bool + Description: Check collision between two spheres + Param[1]: center1 (type: Vector3) + Param[2]: radius1 (type: float) + Param[3]: center2 (type: Vector3) + Param[4]: radius2 (type: float) +Function 448: CheckCollisionBoxes() (2 input parameters) + Name: CheckCollisionBoxes + Return type: bool + Description: Check collision between two bounding boxes + Param[1]: box1 (type: BoundingBox) + Param[2]: box2 (type: BoundingBox) +Function 449: CheckCollisionBoxSphere() (3 input parameters) + Name: CheckCollisionBoxSphere + Return type: bool + Description: Check collision between box and sphere + Param[1]: box (type: BoundingBox) + Param[2]: center (type: Vector3) + Param[3]: radius (type: float) +Function 450: GetRayCollisionSphere() (3 input parameters) + Name: GetRayCollisionSphere + Return type: RayCollision + Description: Get collision info between ray and sphere + Param[1]: ray (type: Ray) + Param[2]: center (type: Vector3) + Param[3]: radius (type: float) +Function 451: GetRayCollisionBox() (2 input parameters) + Name: GetRayCollisionBox + Return type: RayCollision + Description: Get collision info between ray and box + Param[1]: ray (type: Ray) + Param[2]: box (type: BoundingBox) +Function 452: GetRayCollisionMesh() (3 input parameters) + Name: GetRayCollisionMesh + Return type: RayCollision + Description: Get collision info between ray and mesh + Param[1]: ray (type: Ray) + Param[2]: mesh (type: Mesh) + Param[3]: transform (type: Matrix) +Function 453: GetRayCollisionTriangle() (4 input parameters) + Name: GetRayCollisionTriangle + Return type: RayCollision + Description: Get collision info between ray and triangle + Param[1]: ray (type: Ray) + Param[2]: p1 (type: Vector3) + Param[3]: p2 (type: Vector3) + Param[4]: p3 (type: Vector3) +Function 454: GetRayCollisionQuad() (5 input parameters) + Name: GetRayCollisionQuad + Return type: RayCollision + Description: Get collision info between ray and quad + Param[1]: ray (type: Ray) + Param[2]: p1 (type: Vector3) + Param[3]: p2 (type: Vector3) + Param[4]: p3 (type: Vector3) + Param[5]: p4 (type: Vector3) +Function 455: InitAudioDevice() (0 input parameters) + Name: InitAudioDevice + Return type: void + Description: Initialize audio device and context + No input parameters +Function 456: CloseAudioDevice() (0 input parameters) + Name: CloseAudioDevice + Return type: void + Description: Close the audio device and context + No input parameters +Function 457: IsAudioDeviceReady() (0 input parameters) + Name: IsAudioDeviceReady + Return type: bool + Description: Check if audio device has been initialized successfully + No input parameters +Function 458: SetMasterVolume() (1 input parameters) + Name: SetMasterVolume + Return type: void + Description: Set master volume (listener) + Param[1]: volume (type: float) +Function 459: LoadWave() (1 input parameters) + Name: LoadWave + Return type: Wave + Description: Load wave data from file + Param[1]: fileName (type: const char *) +Function 460: LoadWaveFromMemory() (3 input parameters) + Name: LoadWaveFromMemory + Return type: Wave + Description: Load wave from memory buffer, fileType refers to extension: i.e. '.wav' + Param[1]: fileType (type: const char *) + Param[2]: fileData (type: const unsigned char *) + Param[3]: dataSize (type: int) +Function 461: IsWaveReady() (1 input parameters) + Name: IsWaveReady + Return type: bool + Description: Checks if wave data is ready + Param[1]: wave (type: Wave) +Function 462: LoadSound() (1 input parameters) + Name: LoadSound + Return type: Sound + Description: Load sound from file + Param[1]: fileName (type: const char *) +Function 463: LoadSoundFromWave() (1 input parameters) + Name: LoadSoundFromWave + Return type: Sound + Description: Load sound from wave data + Param[1]: wave (type: Wave) +Function 464: IsSoundReady() (1 input parameters) + Name: IsSoundReady + Return type: bool + Description: Checks if a sound is ready + Param[1]: sound (type: Sound) +Function 465: UpdateSound() (3 input parameters) + Name: UpdateSound + Return type: void + Description: Update sound buffer with new data + Param[1]: sound (type: Sound) + Param[2]: data (type: const void *) + Param[3]: sampleCount (type: int) +Function 466: UnloadWave() (1 input parameters) + Name: UnloadWave + Return type: void + Description: Unload wave data + Param[1]: wave (type: Wave) +Function 467: UnloadSound() (1 input parameters) + Name: UnloadSound + Return type: void + Description: Unload sound + Param[1]: sound (type: Sound) +Function 468: ExportWave() (2 input parameters) + Name: ExportWave + Return type: bool + Description: Export wave data to file, returns true on success + Param[1]: wave (type: Wave) + Param[2]: fileName (type: const char *) +Function 469: ExportWaveAsCode() (2 input parameters) + Name: ExportWaveAsCode + Return type: bool + Description: Export wave sample data to code (.h), returns true on success + Param[1]: wave (type: Wave) + Param[2]: fileName (type: const char *) +Function 470: PlaySound() (1 input parameters) + Name: PlaySound + Return type: void + Description: Play a sound + Param[1]: sound (type: Sound) +Function 471: StopSound() (1 input parameters) + Name: StopSound + Return type: void + Description: Stop playing a sound + Param[1]: sound (type: Sound) +Function 472: PauseSound() (1 input parameters) + Name: PauseSound + Return type: void + Description: Pause a sound + Param[1]: sound (type: Sound) +Function 473: ResumeSound() (1 input parameters) + Name: ResumeSound + Return type: void + Description: Resume a paused sound + Param[1]: sound (type: Sound) +Function 474: IsSoundPlaying() (1 input parameters) + Name: IsSoundPlaying + Return type: bool + Description: Check if a sound is currently playing + Param[1]: sound (type: Sound) +Function 475: SetSoundVolume() (2 input parameters) + Name: SetSoundVolume + Return type: void + Description: Set volume for a sound (1.0 is max level) + Param[1]: sound (type: Sound) + Param[2]: volume (type: float) +Function 476: SetSoundPitch() (2 input parameters) + Name: SetSoundPitch + Return type: void + Description: Set pitch for a sound (1.0 is base level) + Param[1]: sound (type: Sound) + Param[2]: pitch (type: float) +Function 477: SetSoundPan() (2 input parameters) + Name: SetSoundPan + Return type: void + Description: Set pan for a sound (0.5 is center) + Param[1]: sound (type: Sound) + Param[2]: pan (type: float) +Function 478: WaveCopy() (1 input parameters) + Name: WaveCopy + Return type: Wave + Description: Copy a wave to a new wave + Param[1]: wave (type: Wave) +Function 479: WaveCrop() (3 input parameters) + Name: WaveCrop + Return type: void + Description: Crop a wave to defined samples range + Param[1]: wave (type: Wave *) + Param[2]: initSample (type: int) + Param[3]: finalSample (type: int) +Function 480: WaveFormat() (4 input parameters) + Name: WaveFormat + Return type: void + Description: Convert wave data to desired format + Param[1]: wave (type: Wave *) + Param[2]: sampleRate (type: int) + Param[3]: sampleSize (type: int) + Param[4]: channels (type: int) +Function 481: LoadWaveSamples() (1 input parameters) + Name: LoadWaveSamples + Return type: float * + Description: Load samples data from wave as a 32bit float data array + Param[1]: wave (type: Wave) +Function 482: UnloadWaveSamples() (1 input parameters) + Name: UnloadWaveSamples + Return type: void + Description: Unload samples data loaded with LoadWaveSamples() + Param[1]: samples (type: float *) +Function 483: LoadMusicStream() (1 input parameters) + Name: LoadMusicStream + Return type: Music + Description: Load music stream from file + Param[1]: fileName (type: const char *) +Function 484: LoadMusicStreamFromMemory() (3 input parameters) + Name: LoadMusicStreamFromMemory + Return type: Music + Description: Load music stream from data + Param[1]: fileType (type: const char *) + Param[2]: data (type: const unsigned char *) + Param[3]: dataSize (type: int) +Function 485: IsMusicReady() (1 input parameters) + Name: IsMusicReady + Return type: bool + Description: Checks if a music stream is ready + Param[1]: music (type: Music) +Function 486: UnloadMusicStream() (1 input parameters) + Name: UnloadMusicStream + Return type: void + Description: Unload music stream + Param[1]: music (type: Music) +Function 487: PlayMusicStream() (1 input parameters) + Name: PlayMusicStream + Return type: void + Description: Start music playing + Param[1]: music (type: Music) +Function 488: IsMusicStreamPlaying() (1 input parameters) + Name: IsMusicStreamPlaying + Return type: bool + Description: Check if music is playing + Param[1]: music (type: Music) +Function 489: UpdateMusicStream() (1 input parameters) + Name: UpdateMusicStream + Return type: void + Description: Updates buffers for music streaming + Param[1]: music (type: Music) +Function 490: StopMusicStream() (1 input parameters) + Name: StopMusicStream + Return type: void + Description: Stop music playing + Param[1]: music (type: Music) +Function 491: PauseMusicStream() (1 input parameters) + Name: PauseMusicStream + Return type: void + Description: Pause music playing + Param[1]: music (type: Music) +Function 492: ResumeMusicStream() (1 input parameters) + Name: ResumeMusicStream + Return type: void + Description: Resume playing paused music + Param[1]: music (type: Music) +Function 493: SeekMusicStream() (2 input parameters) + Name: SeekMusicStream + Return type: void + Description: Seek music to a position (in seconds) + Param[1]: music (type: Music) + Param[2]: position (type: float) +Function 494: SetMusicVolume() (2 input parameters) + Name: SetMusicVolume + Return type: void + Description: Set volume for music (1.0 is max level) + Param[1]: music (type: Music) + Param[2]: volume (type: float) +Function 495: SetMusicPitch() (2 input parameters) + Name: SetMusicPitch + Return type: void + Description: Set pitch for a music (1.0 is base level) + Param[1]: music (type: Music) + Param[2]: pitch (type: float) +Function 496: SetMusicPan() (2 input parameters) + Name: SetMusicPan + Return type: void + Description: Set pan for a music (0.5 is center) + Param[1]: music (type: Music) + Param[2]: pan (type: float) +Function 497: GetMusicTimeLength() (1 input parameters) + Name: GetMusicTimeLength + Return type: float + Description: Get music time length (in seconds) + Param[1]: music (type: Music) +Function 498: GetMusicTimePlayed() (1 input parameters) + Name: GetMusicTimePlayed + Return type: float + Description: Get current music time played (in seconds) + Param[1]: music (type: Music) +Function 499: LoadAudioStream() (3 input parameters) + Name: LoadAudioStream + Return type: AudioStream + Description: Load audio stream (to stream raw audio pcm data) + Param[1]: sampleRate (type: unsigned int) + Param[2]: sampleSize (type: unsigned int) + Param[3]: channels (type: unsigned int) +Function 500: IsAudioStreamReady() (1 input parameters) + Name: IsAudioStreamReady + Return type: bool + Description: Checks if an audio stream is ready + Param[1]: stream (type: AudioStream) +Function 501: UnloadAudioStream() (1 input parameters) + Name: UnloadAudioStream + Return type: void + Description: Unload audio stream and free memory + Param[1]: stream (type: AudioStream) +Function 502: UpdateAudioStream() (3 input parameters) + Name: UpdateAudioStream + Return type: void + Description: Update audio stream buffers with data + Param[1]: stream (type: AudioStream) + Param[2]: data (type: const void *) + Param[3]: frameCount (type: int) +Function 503: IsAudioStreamProcessed() (1 input parameters) + Name: IsAudioStreamProcessed + Return type: bool + Description: Check if any audio stream buffers requires refill + Param[1]: stream (type: AudioStream) +Function 504: PlayAudioStream() (1 input parameters) + Name: PlayAudioStream + Return type: void + Description: Play audio stream + Param[1]: stream (type: AudioStream) +Function 505: PauseAudioStream() (1 input parameters) + Name: PauseAudioStream + Return type: void + Description: Pause audio stream + Param[1]: stream (type: AudioStream) +Function 506: ResumeAudioStream() (1 input parameters) + Name: ResumeAudioStream + Return type: void + Description: Resume audio stream + Param[1]: stream (type: AudioStream) +Function 507: IsAudioStreamPlaying() (1 input parameters) + Name: IsAudioStreamPlaying + Return type: bool + Description: Check if audio stream is playing + Param[1]: stream (type: AudioStream) +Function 508: StopAudioStream() (1 input parameters) + Name: StopAudioStream + Return type: void + Description: Stop audio stream + Param[1]: stream (type: AudioStream) +Function 509: SetAudioStreamVolume() (2 input parameters) + Name: SetAudioStreamVolume + Return type: void + Description: Set volume for audio stream (1.0 is max level) + Param[1]: stream (type: AudioStream) + Param[2]: volume (type: float) +Function 510: SetAudioStreamPitch() (2 input parameters) + Name: SetAudioStreamPitch + Return type: void + Description: Set pitch for audio stream (1.0 is base level) + Param[1]: stream (type: AudioStream) + Param[2]: pitch (type: float) +Function 511: SetAudioStreamPan() (2 input parameters) + Name: SetAudioStreamPan + Return type: void + Description: Set pan for audio stream (0.5 is centered) + Param[1]: stream (type: AudioStream) + Param[2]: pan (type: float) +Function 512: SetAudioStreamBufferSizeDefault() (1 input parameters) + Name: SetAudioStreamBufferSizeDefault + Return type: void + Description: Default size for new audio streams + Param[1]: size (type: int) +Function 513: SetAudioStreamCallback() (2 input parameters) + Name: SetAudioStreamCallback + Return type: void + Description: Audio thread callback to request new data + Param[1]: stream (type: AudioStream) + Param[2]: callback (type: AudioCallback) +Function 514: AttachAudioStreamProcessor() (2 input parameters) + Name: AttachAudioStreamProcessor + Return type: void + Description: Attach audio stream processor to stream + Param[1]: stream (type: AudioStream) + Param[2]: processor (type: AudioCallback) +Function 515: DetachAudioStreamProcessor() (2 input parameters) + Name: DetachAudioStreamProcessor + Return type: void + Description: Detach audio stream processor from stream + Param[1]: stream (type: AudioStream) + Param[2]: processor (type: AudioCallback) +Function 516: AttachAudioMixedProcessor() (1 input parameters) + Name: AttachAudioMixedProcessor + Return type: void + Description: Attach audio stream processor to the entire audio pipeline + Param[1]: processor (type: AudioCallback) +Function 517: DetachAudioMixedProcessor() (1 input parameters) + Name: DetachAudioMixedProcessor + Return type: void + Description: Detach audio stream processor from the entire audio pipeline + Param[1]: processor (type: AudioCallback) diff --git a/raylib-api/raylib.xml b/raylib-api/raylib.xml new file mode 100644 index 0000000..4530595 --- /dev/null +++ b/raylib-api/raylib.xml @@ -0,0 +1,2796 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/raylib-api/raymath.json b/raylib-api/raymath.json new file mode 100644 index 0000000..86cbd85 --- /dev/null +++ b/raylib-api/raymath.json @@ -0,0 +1,1924 @@ +{ + "defines": [ + { + "name": "RAYMATH_H", + "type": "GUARD", + "value": "", + "description": "" + }, + { + "name": "RMAPI", + "type": "UNKNOWN", + "value": "__declspec(dllexport) extern inline", + "description": "We are building raylib as a Win32 shared library (.dll)." + }, + { + "name": "PI", + "type": "FLOAT", + "value": 3.14159265358979323846, + "description": "" + }, + { + "name": "EPSILON", + "type": "FLOAT", + "value": 0.000001, + "description": "" + }, + { + "name": "DEG2RAD", + "type": "FLOAT_MATH", + "value": "(PI/180.0f)", + "description": "" + }, + { + "name": "RAD2DEG", + "type": "FLOAT_MATH", + "value": "(180.0f/PI)", + "description": "" + }, + { + "name": "MatrixToFloat(mat)", + "type": "MACRO", + "value": "(MatrixToFloatV(mat).v)", + "description": "" + }, + { + "name": "Vector3ToFloat(vec)", + "type": "MACRO", + "value": "(Vector3ToFloatV(vec).v)", + "description": "" + }, + { + "name": "RL_VECTOR2_TYPE", + "type": "GUARD", + "value": "", + "description": "" + }, + { + "name": "RL_VECTOR3_TYPE", + "type": "GUARD", + "value": "", + "description": "" + }, + { + "name": "RL_VECTOR4_TYPE", + "type": "GUARD", + "value": "", + "description": "" + }, + { + "name": "RL_QUATERNION_TYPE", + "type": "GUARD", + "value": "", + "description": "" + }, + { + "name": "RL_MATRIX_TYPE", + "type": "GUARD", + "value": "", + "description": "" + } + ], + "structs": [ + { + "name": "Vector2", + "description": "Vector2 type", + "fields": [ + { + "type": "float", + "name": "x", + "description": "" + }, + { + "type": "float", + "name": "y", + "description": "" + } + ] + }, + { + "name": "Vector3", + "description": "Vector3 type", + "fields": [ + { + "type": "float", + "name": "x", + "description": "" + }, + { + "type": "float", + "name": "y", + "description": "" + }, + { + "type": "float", + "name": "z", + "description": "" + } + ] + }, + { + "name": "Vector4", + "description": "Vector4 type", + "fields": [ + { + "type": "float", + "name": "x", + "description": "" + }, + { + "type": "float", + "name": "y", + "description": "" + }, + { + "type": "float", + "name": "z", + "description": "" + }, + { + "type": "float", + "name": "w", + "description": "" + } + ] + }, + { + "name": "Matrix", + "description": "Matrix type (OpenGL style 4x4 - right handed, column major)", + "fields": [ + { + "type": "float", + "name": "m0", + "description": "Matrix first row (4 components)" + }, + { + "type": "float", + "name": "m4", + "description": "Matrix first row (4 components)" + }, + { + "type": "float", + "name": "m8", + "description": "Matrix first row (4 components)" + }, + { + "type": "float", + "name": "m12", + "description": "Matrix first row (4 components)" + }, + { + "type": "float", + "name": "m1", + "description": "Matrix second row (4 components)" + }, + { + "type": "float", + "name": "m5", + "description": "Matrix second row (4 components)" + }, + { + "type": "float", + "name": "m9", + "description": "Matrix second row (4 components)" + }, + { + "type": "float", + "name": "m13", + "description": "Matrix second row (4 components)" + }, + { + "type": "float", + "name": "m2", + "description": "Matrix third row (4 components)" + }, + { + "type": "float", + "name": "m6", + "description": "Matrix third row (4 components)" + }, + { + "type": "float", + "name": "m10", + "description": "Matrix third row (4 components)" + }, + { + "type": "float", + "name": "m14", + "description": "Matrix third row (4 components)" + }, + { + "type": "float", + "name": "m3", + "description": "Matrix fourth row (4 components)" + }, + { + "type": "float", + "name": "m7", + "description": "Matrix fourth row (4 components)" + }, + { + "type": "float", + "name": "m11", + "description": "Matrix fourth row (4 components)" + }, + { + "type": "float", + "name": "m15", + "description": "Matrix fourth row (4 components)" + } + ] + }, + { + "name": "float3", + "description": "NOTE: Helper types to be used instead of array return types for *ToFloat functions", + "fields": [ + { + "type": "float[3]", + "name": "v", + "description": "" + } + ] + }, + { + "name": "float16", + "description": "", + "fields": [ + { + "type": "float[16]", + "name": "v", + "description": "" + } + ] + } + ], + "aliases": [ + { + "type": "Vector4", + "name": "Quaternion", + "description": "Quaternion type" + } + ], + "enums": [ + ], + "callbacks": [ + ], + "functions": [ + { + "name": "Clamp", + "description": "", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "value" + }, + { + "type": "float", + "name": "min" + }, + { + "type": "float", + "name": "max" + } + ] + }, + { + "name": "Lerp", + "description": "", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "start" + }, + { + "type": "float", + "name": "end" + }, + { + "type": "float", + "name": "amount" + } + ] + }, + { + "name": "Normalize", + "description": "", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "value" + }, + { + "type": "float", + "name": "start" + }, + { + "type": "float", + "name": "end" + } + ] + }, + { + "name": "Remap", + "description": "", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "value" + }, + { + "type": "float", + "name": "inputStart" + }, + { + "type": "float", + "name": "inputEnd" + }, + { + "type": "float", + "name": "outputStart" + }, + { + "type": "float", + "name": "outputEnd" + } + ] + }, + { + "name": "Wrap", + "description": "", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "value" + }, + { + "type": "float", + "name": "min" + }, + { + "type": "float", + "name": "max" + } + ] + }, + { + "name": "FloatEquals", + "description": "", + "returnType": "int", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + } + ] + }, + { + "name": "Vector2Zero", + "description": "", + "returnType": "Vector2" + }, + { + "name": "Vector2One", + "description": "", + "returnType": "Vector2" + }, + { + "name": "Vector2Add", + "description": "", + "returnType": "Vector2", + "params": [ + { + "type": "Vector2", + "name": "v1" + }, + { + "type": "Vector2", + "name": "v2" + } + ] + }, + { + "name": "Vector2AddValue", + "description": "", + "returnType": "Vector2", + "params": [ + { + "type": "Vector2", + "name": "v" + }, + { + "type": "float", + "name": "add" + } + ] + }, + { + "name": "Vector2Subtract", + "description": "", + "returnType": "Vector2", + "params": [ + { + "type": "Vector2", + "name": "v1" + }, + { + "type": "Vector2", + "name": "v2" + } + ] + }, + { + "name": "Vector2SubtractValue", + "description": "", + "returnType": "Vector2", + "params": [ + { + "type": "Vector2", + "name": "v" + }, + { + "type": "float", + "name": "sub" + } + ] + }, + { + "name": "Vector2Length", + "description": "", + "returnType": "float", + "params": [ + { + "type": "Vector2", + "name": "v" + } + ] + }, + { + "name": "Vector2LengthSqr", + "description": "", + "returnType": "float", + "params": [ + { + "type": "Vector2", + "name": "v" + } + ] + }, + { + "name": "Vector2DotProduct", + "description": "", + "returnType": "float", + "params": [ + { + "type": "Vector2", + "name": "v1" + }, + { + "type": "Vector2", + "name": "v2" + } + ] + }, + { + "name": "Vector2Distance", + "description": "", + "returnType": "float", + "params": [ + { + "type": "Vector2", + "name": "v1" + }, + { + "type": "Vector2", + "name": "v2" + } + ] + }, + { + "name": "Vector2DistanceSqr", + "description": "", + "returnType": "float", + "params": [ + { + "type": "Vector2", + "name": "v1" + }, + { + "type": "Vector2", + "name": "v2" + } + ] + }, + { + "name": "Vector2Angle", + "description": "", + "returnType": "float", + "params": [ + { + "type": "Vector2", + "name": "v1" + }, + { + "type": "Vector2", + "name": "v2" + } + ] + }, + { + "name": "Vector2LineAngle", + "description": "", + "returnType": "float", + "params": [ + { + "type": "Vector2", + "name": "start" + }, + { + "type": "Vector2", + "name": "end" + } + ] + }, + { + "name": "Vector2Scale", + "description": "", + "returnType": "Vector2", + "params": [ + { + "type": "Vector2", + "name": "v" + }, + { + "type": "float", + "name": "scale" + } + ] + }, + { + "name": "Vector2Multiply", + "description": "", + "returnType": "Vector2", + "params": [ + { + "type": "Vector2", + "name": "v1" + }, + { + "type": "Vector2", + "name": "v2" + } + ] + }, + { + "name": "Vector2Negate", + "description": "", + "returnType": "Vector2", + "params": [ + { + "type": "Vector2", + "name": "v" + } + ] + }, + { + "name": "Vector2Divide", + "description": "", + "returnType": "Vector2", + "params": [ + { + "type": "Vector2", + "name": "v1" + }, + { + "type": "Vector2", + "name": "v2" + } + ] + }, + { + "name": "Vector2Normalize", + "description": "", + "returnType": "Vector2", + "params": [ + { + "type": "Vector2", + "name": "v" + } + ] + }, + { + "name": "Vector2Transform", + "description": "", + "returnType": "Vector2", + "params": [ + { + "type": "Vector2", + "name": "v" + }, + { + "type": "Matrix", + "name": "mat" + } + ] + }, + { + "name": "Vector2Lerp", + "description": "", + "returnType": "Vector2", + "params": [ + { + "type": "Vector2", + "name": "v1" + }, + { + "type": "Vector2", + "name": "v2" + }, + { + "type": "float", + "name": "amount" + } + ] + }, + { + "name": "Vector2Reflect", + "description": "", + "returnType": "Vector2", + "params": [ + { + "type": "Vector2", + "name": "v" + }, + { + "type": "Vector2", + "name": "normal" + } + ] + }, + { + "name": "Vector2Rotate", + "description": "", + "returnType": "Vector2", + "params": [ + { + "type": "Vector2", + "name": "v" + }, + { + "type": "float", + "name": "angle" + } + ] + }, + { + "name": "Vector2MoveTowards", + "description": "", + "returnType": "Vector2", + "params": [ + { + "type": "Vector2", + "name": "v" + }, + { + "type": "Vector2", + "name": "target" + }, + { + "type": "float", + "name": "maxDistance" + } + ] + }, + { + "name": "Vector2Invert", + "description": "", + "returnType": "Vector2", + "params": [ + { + "type": "Vector2", + "name": "v" + } + ] + }, + { + "name": "Vector2Clamp", + "description": "", + "returnType": "Vector2", + "params": [ + { + "type": "Vector2", + "name": "v" + }, + { + "type": "Vector2", + "name": "min" + }, + { + "type": "Vector2", + "name": "max" + } + ] + }, + { + "name": "Vector2ClampValue", + "description": "", + "returnType": "Vector2", + "params": [ + { + "type": "Vector2", + "name": "v" + }, + { + "type": "float", + "name": "min" + }, + { + "type": "float", + "name": "max" + } + ] + }, + { + "name": "Vector2Equals", + "description": "", + "returnType": "int", + "params": [ + { + "type": "Vector2", + "name": "p" + }, + { + "type": "Vector2", + "name": "q" + } + ] + }, + { + "name": "Vector3Zero", + "description": "", + "returnType": "Vector3" + }, + { + "name": "Vector3One", + "description": "", + "returnType": "Vector3" + }, + { + "name": "Vector3Add", + "description": "", + "returnType": "Vector3", + "params": [ + { + "type": "Vector3", + "name": "v1" + }, + { + "type": "Vector3", + "name": "v2" + } + ] + }, + { + "name": "Vector3AddValue", + "description": "", + "returnType": "Vector3", + "params": [ + { + "type": "Vector3", + "name": "v" + }, + { + "type": "float", + "name": "add" + } + ] + }, + { + "name": "Vector3Subtract", + "description": "", + "returnType": "Vector3", + "params": [ + { + "type": "Vector3", + "name": "v1" + }, + { + "type": "Vector3", + "name": "v2" + } + ] + }, + { + "name": "Vector3SubtractValue", + "description": "", + "returnType": "Vector3", + "params": [ + { + "type": "Vector3", + "name": "v" + }, + { + "type": "float", + "name": "sub" + } + ] + }, + { + "name": "Vector3Scale", + "description": "", + "returnType": "Vector3", + "params": [ + { + "type": "Vector3", + "name": "v" + }, + { + "type": "float", + "name": "scalar" + } + ] + }, + { + "name": "Vector3Multiply", + "description": "", + "returnType": "Vector3", + "params": [ + { + "type": "Vector3", + "name": "v1" + }, + { + "type": "Vector3", + "name": "v2" + } + ] + }, + { + "name": "Vector3CrossProduct", + "description": "", + "returnType": "Vector3", + "params": [ + { + "type": "Vector3", + "name": "v1" + }, + { + "type": "Vector3", + "name": "v2" + } + ] + }, + { + "name": "Vector3Perpendicular", + "description": "", + "returnType": "Vector3", + "params": [ + { + "type": "Vector3", + "name": "v" + } + ] + }, + { + "name": "Vector3Length", + "description": "", + "returnType": "float", + "params": [ + { + "type": "const Vector3", + "name": "v" + } + ] + }, + { + "name": "Vector3LengthSqr", + "description": "", + "returnType": "float", + "params": [ + { + "type": "const Vector3", + "name": "v" + } + ] + }, + { + "name": "Vector3DotProduct", + "description": "", + "returnType": "float", + "params": [ + { + "type": "Vector3", + "name": "v1" + }, + { + "type": "Vector3", + "name": "v2" + } + ] + }, + { + "name": "Vector3Distance", + "description": "", + "returnType": "float", + "params": [ + { + "type": "Vector3", + "name": "v1" + }, + { + "type": "Vector3", + "name": "v2" + } + ] + }, + { + "name": "Vector3DistanceSqr", + "description": "", + "returnType": "float", + "params": [ + { + "type": "Vector3", + "name": "v1" + }, + { + "type": "Vector3", + "name": "v2" + } + ] + }, + { + "name": "Vector3Angle", + "description": "", + "returnType": "float", + "params": [ + { + "type": "Vector3", + "name": "v1" + }, + { + "type": "Vector3", + "name": "v2" + } + ] + }, + { + "name": "Vector3Negate", + "description": "", + "returnType": "Vector3", + "params": [ + { + "type": "Vector3", + "name": "v" + } + ] + }, + { + "name": "Vector3Divide", + "description": "", + "returnType": "Vector3", + "params": [ + { + "type": "Vector3", + "name": "v1" + }, + { + "type": "Vector3", + "name": "v2" + } + ] + }, + { + "name": "Vector3Normalize", + "description": "", + "returnType": "Vector3", + "params": [ + { + "type": "Vector3", + "name": "v" + } + ] + }, + { + "name": "Vector3OrthoNormalize", + "description": "", + "returnType": "void", + "params": [ + { + "type": "Vector3 *", + "name": "v1" + }, + { + "type": "Vector3 *", + "name": "v2" + } + ] + }, + { + "name": "Vector3Transform", + "description": "", + "returnType": "Vector3", + "params": [ + { + "type": "Vector3", + "name": "v" + }, + { + "type": "Matrix", + "name": "mat" + } + ] + }, + { + "name": "Vector3RotateByQuaternion", + "description": "", + "returnType": "Vector3", + "params": [ + { + "type": "Vector3", + "name": "v" + }, + { + "type": "Quaternion", + "name": "q" + } + ] + }, + { + "name": "Vector3RotateByAxisAngle", + "description": "", + "returnType": "Vector3", + "params": [ + { + "type": "Vector3", + "name": "v" + }, + { + "type": "Vector3", + "name": "axis" + }, + { + "type": "float", + "name": "angle" + } + ] + }, + { + "name": "Vector3Lerp", + "description": "", + "returnType": "Vector3", + "params": [ + { + "type": "Vector3", + "name": "v1" + }, + { + "type": "Vector3", + "name": "v2" + }, + { + "type": "float", + "name": "amount" + } + ] + }, + { + "name": "Vector3Reflect", + "description": "", + "returnType": "Vector3", + "params": [ + { + "type": "Vector3", + "name": "v" + }, + { + "type": "Vector3", + "name": "normal" + } + ] + }, + { + "name": "Vector3Min", + "description": "", + "returnType": "Vector3", + "params": [ + { + "type": "Vector3", + "name": "v1" + }, + { + "type": "Vector3", + "name": "v2" + } + ] + }, + { + "name": "Vector3Max", + "description": "", + "returnType": "Vector3", + "params": [ + { + "type": "Vector3", + "name": "v1" + }, + { + "type": "Vector3", + "name": "v2" + } + ] + }, + { + "name": "Vector3Barycenter", + "description": "", + "returnType": "Vector3", + "params": [ + { + "type": "Vector3", + "name": "p" + }, + { + "type": "Vector3", + "name": "a" + }, + { + "type": "Vector3", + "name": "b" + }, + { + "type": "Vector3", + "name": "c" + } + ] + }, + { + "name": "Vector3Unproject", + "description": "", + "returnType": "Vector3", + "params": [ + { + "type": "Vector3", + "name": "source" + }, + { + "type": "Matrix", + "name": "projection" + }, + { + "type": "Matrix", + "name": "view" + } + ] + }, + { + "name": "Vector3ToFloatV", + "description": "", + "returnType": "float3", + "params": [ + { + "type": "Vector3", + "name": "v" + } + ] + }, + { + "name": "Vector3Invert", + "description": "", + "returnType": "Vector3", + "params": [ + { + "type": "Vector3", + "name": "v" + } + ] + }, + { + "name": "Vector3Clamp", + "description": "", + "returnType": "Vector3", + "params": [ + { + "type": "Vector3", + "name": "v" + }, + { + "type": "Vector3", + "name": "min" + }, + { + "type": "Vector3", + "name": "max" + } + ] + }, + { + "name": "Vector3ClampValue", + "description": "", + "returnType": "Vector3", + "params": [ + { + "type": "Vector3", + "name": "v" + }, + { + "type": "float", + "name": "min" + }, + { + "type": "float", + "name": "max" + } + ] + }, + { + "name": "Vector3Equals", + "description": "", + "returnType": "int", + "params": [ + { + "type": "Vector3", + "name": "p" + }, + { + "type": "Vector3", + "name": "q" + } + ] + }, + { + "name": "Vector3Refract", + "description": "", + "returnType": "Vector3", + "params": [ + { + "type": "Vector3", + "name": "v" + }, + { + "type": "Vector3", + "name": "n" + }, + { + "type": "float", + "name": "r" + } + ] + }, + { + "name": "MatrixDeterminant", + "description": "", + "returnType": "float", + "params": [ + { + "type": "Matrix", + "name": "mat" + } + ] + }, + { + "name": "MatrixTrace", + "description": "", + "returnType": "float", + "params": [ + { + "type": "Matrix", + "name": "mat" + } + ] + }, + { + "name": "MatrixTranspose", + "description": "", + "returnType": "Matrix", + "params": [ + { + "type": "Matrix", + "name": "mat" + } + ] + }, + { + "name": "MatrixInvert", + "description": "", + "returnType": "Matrix", + "params": [ + { + "type": "Matrix", + "name": "mat" + } + ] + }, + { + "name": "MatrixIdentity", + "description": "", + "returnType": "Matrix" + }, + { + "name": "MatrixAdd", + "description": "", + "returnType": "Matrix", + "params": [ + { + "type": "Matrix", + "name": "left" + }, + { + "type": "Matrix", + "name": "right" + } + ] + }, + { + "name": "MatrixSubtract", + "description": "", + "returnType": "Matrix", + "params": [ + { + "type": "Matrix", + "name": "left" + }, + { + "type": "Matrix", + "name": "right" + } + ] + }, + { + "name": "MatrixMultiply", + "description": "", + "returnType": "Matrix", + "params": [ + { + "type": "Matrix", + "name": "left" + }, + { + "type": "Matrix", + "name": "right" + } + ] + }, + { + "name": "MatrixTranslate", + "description": "", + "returnType": "Matrix", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ] + }, + { + "name": "MatrixRotate", + "description": "", + "returnType": "Matrix", + "params": [ + { + "type": "Vector3", + "name": "axis" + }, + { + "type": "float", + "name": "angle" + } + ] + }, + { + "name": "MatrixRotateX", + "description": "", + "returnType": "Matrix", + "params": [ + { + "type": "float", + "name": "angle" + } + ] + }, + { + "name": "MatrixRotateY", + "description": "", + "returnType": "Matrix", + "params": [ + { + "type": "float", + "name": "angle" + } + ] + }, + { + "name": "MatrixRotateZ", + "description": "", + "returnType": "Matrix", + "params": [ + { + "type": "float", + "name": "angle" + } + ] + }, + { + "name": "MatrixRotateXYZ", + "description": "", + "returnType": "Matrix", + "params": [ + { + "type": "Vector3", + "name": "angle" + } + ] + }, + { + "name": "MatrixRotateZYX", + "description": "", + "returnType": "Matrix", + "params": [ + { + "type": "Vector3", + "name": "angle" + } + ] + }, + { + "name": "MatrixScale", + "description": "", + "returnType": "Matrix", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ] + }, + { + "name": "MatrixFrustum", + "description": "", + "returnType": "Matrix", + "params": [ + { + "type": "double", + "name": "left" + }, + { + "type": "double", + "name": "right" + }, + { + "type": "double", + "name": "bottom" + }, + { + "type": "double", + "name": "top" + }, + { + "type": "double", + "name": "near" + }, + { + "type": "double", + "name": "far" + } + ] + }, + { + "name": "MatrixPerspective", + "description": "", + "returnType": "Matrix", + "params": [ + { + "type": "double", + "name": "fovy" + }, + { + "type": "double", + "name": "aspect" + }, + { + "type": "double", + "name": "near" + }, + { + "type": "double", + "name": "far" + } + ] + }, + { + "name": "MatrixOrtho", + "description": "", + "returnType": "Matrix", + "params": [ + { + "type": "double", + "name": "left" + }, + { + "type": "double", + "name": "right" + }, + { + "type": "double", + "name": "bottom" + }, + { + "type": "double", + "name": "top" + }, + { + "type": "double", + "name": "near" + }, + { + "type": "double", + "name": "far" + } + ] + }, + { + "name": "MatrixLookAt", + "description": "", + "returnType": "Matrix", + "params": [ + { + "type": "Vector3", + "name": "eye" + }, + { + "type": "Vector3", + "name": "target" + }, + { + "type": "Vector3", + "name": "up" + } + ] + }, + { + "name": "MatrixToFloatV", + "description": "", + "returnType": "float16", + "params": [ + { + "type": "Matrix", + "name": "mat" + } + ] + }, + { + "name": "QuaternionAdd", + "description": "", + "returnType": "Quaternion", + "params": [ + { + "type": "Quaternion", + "name": "q1" + }, + { + "type": "Quaternion", + "name": "q2" + } + ] + }, + { + "name": "QuaternionAddValue", + "description": "", + "returnType": "Quaternion", + "params": [ + { + "type": "Quaternion", + "name": "q" + }, + { + "type": "float", + "name": "add" + } + ] + }, + { + "name": "QuaternionSubtract", + "description": "", + "returnType": "Quaternion", + "params": [ + { + "type": "Quaternion", + "name": "q1" + }, + { + "type": "Quaternion", + "name": "q2" + } + ] + }, + { + "name": "QuaternionSubtractValue", + "description": "", + "returnType": "Quaternion", + "params": [ + { + "type": "Quaternion", + "name": "q" + }, + { + "type": "float", + "name": "sub" + } + ] + }, + { + "name": "QuaternionIdentity", + "description": "", + "returnType": "Quaternion" + }, + { + "name": "QuaternionLength", + "description": "", + "returnType": "float", + "params": [ + { + "type": "Quaternion", + "name": "q" + } + ] + }, + { + "name": "QuaternionNormalize", + "description": "", + "returnType": "Quaternion", + "params": [ + { + "type": "Quaternion", + "name": "q" + } + ] + }, + { + "name": "QuaternionInvert", + "description": "", + "returnType": "Quaternion", + "params": [ + { + "type": "Quaternion", + "name": "q" + } + ] + }, + { + "name": "QuaternionMultiply", + "description": "", + "returnType": "Quaternion", + "params": [ + { + "type": "Quaternion", + "name": "q1" + }, + { + "type": "Quaternion", + "name": "q2" + } + ] + }, + { + "name": "QuaternionScale", + "description": "", + "returnType": "Quaternion", + "params": [ + { + "type": "Quaternion", + "name": "q" + }, + { + "type": "float", + "name": "mul" + } + ] + }, + { + "name": "QuaternionDivide", + "description": "", + "returnType": "Quaternion", + "params": [ + { + "type": "Quaternion", + "name": "q1" + }, + { + "type": "Quaternion", + "name": "q2" + } + ] + }, + { + "name": "QuaternionLerp", + "description": "", + "returnType": "Quaternion", + "params": [ + { + "type": "Quaternion", + "name": "q1" + }, + { + "type": "Quaternion", + "name": "q2" + }, + { + "type": "float", + "name": "amount" + } + ] + }, + { + "name": "QuaternionNlerp", + "description": "", + "returnType": "Quaternion", + "params": [ + { + "type": "Quaternion", + "name": "q1" + }, + { + "type": "Quaternion", + "name": "q2" + }, + { + "type": "float", + "name": "amount" + } + ] + }, + { + "name": "QuaternionSlerp", + "description": "", + "returnType": "Quaternion", + "params": [ + { + "type": "Quaternion", + "name": "q1" + }, + { + "type": "Quaternion", + "name": "q2" + }, + { + "type": "float", + "name": "amount" + } + ] + }, + { + "name": "QuaternionFromVector3ToVector3", + "description": "", + "returnType": "Quaternion", + "params": [ + { + "type": "Vector3", + "name": "from" + }, + { + "type": "Vector3", + "name": "to" + } + ] + }, + { + "name": "QuaternionFromMatrix", + "description": "", + "returnType": "Quaternion", + "params": [ + { + "type": "Matrix", + "name": "mat" + } + ] + }, + { + "name": "QuaternionToMatrix", + "description": "", + "returnType": "Matrix", + "params": [ + { + "type": "Quaternion", + "name": "q" + } + ] + }, + { + "name": "QuaternionFromAxisAngle", + "description": "", + "returnType": "Quaternion", + "params": [ + { + "type": "Vector3", + "name": "axis" + }, + { + "type": "float", + "name": "angle" + } + ] + }, + { + "name": "QuaternionToAxisAngle", + "description": "", + "returnType": "void", + "params": [ + { + "type": "Quaternion", + "name": "q" + }, + { + "type": "Vector3 *", + "name": "outAxis" + }, + { + "type": "float *", + "name": "outAngle" + } + ] + }, + { + "name": "QuaternionFromEuler", + "description": "", + "returnType": "Quaternion", + "params": [ + { + "type": "float", + "name": "pitch" + }, + { + "type": "float", + "name": "yaw" + }, + { + "type": "float", + "name": "roll" + } + ] + }, + { + "name": "QuaternionToEuler", + "description": "", + "returnType": "Vector3", + "params": [ + { + "type": "Quaternion", + "name": "q" + } + ] + }, + { + "name": "QuaternionTransform", + "description": "", + "returnType": "Quaternion", + "params": [ + { + "type": "Quaternion", + "name": "q" + }, + { + "type": "Matrix", + "name": "mat" + } + ] + }, + { + "name": "QuaternionEquals", + "description": "", + "returnType": "int", + "params": [ + { + "type": "Quaternion", + "name": "p" + }, + { + "type": "Quaternion", + "name": "q" + } + ] + } + ] +} diff --git a/raylib-api/raymath.lua b/raylib-api/raymath.lua new file mode 100644 index 0000000..7f43735 --- /dev/null +++ b/raylib-api/raymath.lua @@ -0,0 +1,1261 @@ +return { + defines = { + { + name = "RAYMATH_H", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RMAPI", + type = "UNKNOWN", + value = "__declspec(dllexport) extern inline", + description = "We are building raylib as a Win32 shared library (.dll)." + }, + { + name = "PI", + type = "FLOAT", + value = 3.14159265358979323846, + description = "" + }, + { + name = "EPSILON", + type = "FLOAT", + value = 0.000001, + description = "" + }, + { + name = "DEG2RAD", + type = "FLOAT_MATH", + value = "(PI/180.0f)", + description = "" + }, + { + name = "RAD2DEG", + type = "FLOAT_MATH", + value = "(180.0f/PI)", + description = "" + }, + { + name = "MatrixToFloat(mat)", + type = "MACRO", + value = "(MatrixToFloatV(mat).v)", + description = "" + }, + { + name = "Vector3ToFloat(vec)", + type = "MACRO", + value = "(Vector3ToFloatV(vec).v)", + description = "" + }, + { + name = "RL_VECTOR2_TYPE", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RL_VECTOR3_TYPE", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RL_VECTOR4_TYPE", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RL_QUATERNION_TYPE", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RL_MATRIX_TYPE", + type = "GUARD", + value = "", + description = "" + } + }, + structs = { + { + name = "Vector2", + description = "Vector2 type", + fields = { + { + type = "float", + name = "x", + description = "" + }, + { + type = "float", + name = "y", + description = "" + } + } + }, + { + name = "Vector3", + description = "Vector3 type", + fields = { + { + type = "float", + name = "x", + description = "" + }, + { + type = "float", + name = "y", + description = "" + }, + { + type = "float", + name = "z", + description = "" + } + } + }, + { + name = "Vector4", + description = "Vector4 type", + fields = { + { + type = "float", + name = "x", + description = "" + }, + { + type = "float", + name = "y", + description = "" + }, + { + type = "float", + name = "z", + description = "" + }, + { + type = "float", + name = "w", + description = "" + } + } + }, + { + name = "Matrix", + description = "Matrix type (OpenGL style 4x4 - right handed, column major)", + fields = { + { + type = "float", + name = "m0", + description = "Matrix first row (4 components)" + }, + { + type = "float", + name = "m4", + description = "Matrix first row (4 components)" + }, + { + type = "float", + name = "m8", + description = "Matrix first row (4 components)" + }, + { + type = "float", + name = "m12", + description = "Matrix first row (4 components)" + }, + { + type = "float", + name = "m1", + description = "Matrix second row (4 components)" + }, + { + type = "float", + name = "m5", + description = "Matrix second row (4 components)" + }, + { + type = "float", + name = "m9", + description = "Matrix second row (4 components)" + }, + { + type = "float", + name = "m13", + description = "Matrix second row (4 components)" + }, + { + type = "float", + name = "m2", + description = "Matrix third row (4 components)" + }, + { + type = "float", + name = "m6", + description = "Matrix third row (4 components)" + }, + { + type = "float", + name = "m10", + description = "Matrix third row (4 components)" + }, + { + type = "float", + name = "m14", + description = "Matrix third row (4 components)" + }, + { + type = "float", + name = "m3", + description = "Matrix fourth row (4 components)" + }, + { + type = "float", + name = "m7", + description = "Matrix fourth row (4 components)" + }, + { + type = "float", + name = "m11", + description = "Matrix fourth row (4 components)" + }, + { + type = "float", + name = "m15", + description = "Matrix fourth row (4 components)" + } + } + }, + { + name = "float3", + description = "NOTE: Helper types to be used instead of array return types for *ToFloat functions", + fields = { + { + type = "float[3]", + name = "v", + description = "" + } + } + }, + { + name = "float16", + description = "", + fields = { + { + type = "float[16]", + name = "v", + description = "" + } + } + } + }, + aliases = { + { + type = "Vector4", + name = "Quaternion", + description = "Quaternion type" + } + }, + enums = { + }, + callbacks = { + }, + functions = { + { + name = "Clamp", + description = "", + returnType = "float", + params = { + {type = "float", name = "value"}, + {type = "float", name = "min"}, + {type = "float", name = "max"} + } + }, + { + name = "Lerp", + description = "", + returnType = "float", + params = { + {type = "float", name = "start"}, + {type = "float", name = "end"}, + {type = "float", name = "amount"} + } + }, + { + name = "Normalize", + description = "", + returnType = "float", + params = { + {type = "float", name = "value"}, + {type = "float", name = "start"}, + {type = "float", name = "end"} + } + }, + { + name = "Remap", + description = "", + returnType = "float", + params = { + {type = "float", name = "value"}, + {type = "float", name = "inputStart"}, + {type = "float", name = "inputEnd"}, + {type = "float", name = "outputStart"}, + {type = "float", name = "outputEnd"} + } + }, + { + name = "Wrap", + description = "", + returnType = "float", + params = { + {type = "float", name = "value"}, + {type = "float", name = "min"}, + {type = "float", name = "max"} + } + }, + { + name = "FloatEquals", + description = "", + returnType = "int", + params = { + {type = "float", name = "x"}, + {type = "float", name = "y"} + } + }, + { + name = "Vector2Zero", + description = "", + returnType = "Vector2" + }, + { + name = "Vector2One", + description = "", + returnType = "Vector2" + }, + { + name = "Vector2Add", + description = "", + returnType = "Vector2", + params = { + {type = "Vector2", name = "v1"}, + {type = "Vector2", name = "v2"} + } + }, + { + name = "Vector2AddValue", + description = "", + returnType = "Vector2", + params = { + {type = "Vector2", name = "v"}, + {type = "float", name = "add"} + } + }, + { + name = "Vector2Subtract", + description = "", + returnType = "Vector2", + params = { + {type = "Vector2", name = "v1"}, + {type = "Vector2", name = "v2"} + } + }, + { + name = "Vector2SubtractValue", + description = "", + returnType = "Vector2", + params = { + {type = "Vector2", name = "v"}, + {type = "float", name = "sub"} + } + }, + { + name = "Vector2Length", + description = "", + returnType = "float", + params = { + {type = "Vector2", name = "v"} + } + }, + { + name = "Vector2LengthSqr", + description = "", + returnType = "float", + params = { + {type = "Vector2", name = "v"} + } + }, + { + name = "Vector2DotProduct", + description = "", + returnType = "float", + params = { + {type = "Vector2", name = "v1"}, + {type = "Vector2", name = "v2"} + } + }, + { + name = "Vector2Distance", + description = "", + returnType = "float", + params = { + {type = "Vector2", name = "v1"}, + {type = "Vector2", name = "v2"} + } + }, + { + name = "Vector2DistanceSqr", + description = "", + returnType = "float", + params = { + {type = "Vector2", name = "v1"}, + {type = "Vector2", name = "v2"} + } + }, + { + name = "Vector2Angle", + description = "", + returnType = "float", + params = { + {type = "Vector2", name = "v1"}, + {type = "Vector2", name = "v2"} + } + }, + { + name = "Vector2LineAngle", + description = "", + returnType = "float", + params = { + {type = "Vector2", name = "start"}, + {type = "Vector2", name = "end"} + } + }, + { + name = "Vector2Scale", + description = "", + returnType = "Vector2", + params = { + {type = "Vector2", name = "v"}, + {type = "float", name = "scale"} + } + }, + { + name = "Vector2Multiply", + description = "", + returnType = "Vector2", + params = { + {type = "Vector2", name = "v1"}, + {type = "Vector2", name = "v2"} + } + }, + { + name = "Vector2Negate", + description = "", + returnType = "Vector2", + params = { + {type = "Vector2", name = "v"} + } + }, + { + name = "Vector2Divide", + description = "", + returnType = "Vector2", + params = { + {type = "Vector2", name = "v1"}, + {type = "Vector2", name = "v2"} + } + }, + { + name = "Vector2Normalize", + description = "", + returnType = "Vector2", + params = { + {type = "Vector2", name = "v"} + } + }, + { + name = "Vector2Transform", + description = "", + returnType = "Vector2", + params = { + {type = "Vector2", name = "v"}, + {type = "Matrix", name = "mat"} + } + }, + { + name = "Vector2Lerp", + description = "", + returnType = "Vector2", + params = { + {type = "Vector2", name = "v1"}, + {type = "Vector2", name = "v2"}, + {type = "float", name = "amount"} + } + }, + { + name = "Vector2Reflect", + description = "", + returnType = "Vector2", + params = { + {type = "Vector2", name = "v"}, + {type = "Vector2", name = "normal"} + } + }, + { + name = "Vector2Rotate", + description = "", + returnType = "Vector2", + params = { + {type = "Vector2", name = "v"}, + {type = "float", name = "angle"} + } + }, + { + name = "Vector2MoveTowards", + description = "", + returnType = "Vector2", + params = { + {type = "Vector2", name = "v"}, + {type = "Vector2", name = "target"}, + {type = "float", name = "maxDistance"} + } + }, + { + name = "Vector2Invert", + description = "", + returnType = "Vector2", + params = { + {type = "Vector2", name = "v"} + } + }, + { + name = "Vector2Clamp", + description = "", + returnType = "Vector2", + params = { + {type = "Vector2", name = "v"}, + {type = "Vector2", name = "min"}, + {type = "Vector2", name = "max"} + } + }, + { + name = "Vector2ClampValue", + description = "", + returnType = "Vector2", + params = { + {type = "Vector2", name = "v"}, + {type = "float", name = "min"}, + {type = "float", name = "max"} + } + }, + { + name = "Vector2Equals", + description = "", + returnType = "int", + params = { + {type = "Vector2", name = "p"}, + {type = "Vector2", name = "q"} + } + }, + { + name = "Vector3Zero", + description = "", + returnType = "Vector3" + }, + { + name = "Vector3One", + description = "", + returnType = "Vector3" + }, + { + name = "Vector3Add", + description = "", + returnType = "Vector3", + params = { + {type = "Vector3", name = "v1"}, + {type = "Vector3", name = "v2"} + } + }, + { + name = "Vector3AddValue", + description = "", + returnType = "Vector3", + params = { + {type = "Vector3", name = "v"}, + {type = "float", name = "add"} + } + }, + { + name = "Vector3Subtract", + description = "", + returnType = "Vector3", + params = { + {type = "Vector3", name = "v1"}, + {type = "Vector3", name = "v2"} + } + }, + { + name = "Vector3SubtractValue", + description = "", + returnType = "Vector3", + params = { + {type = "Vector3", name = "v"}, + {type = "float", name = "sub"} + } + }, + { + name = "Vector3Scale", + description = "", + returnType = "Vector3", + params = { + {type = "Vector3", name = "v"}, + {type = "float", name = "scalar"} + } + }, + { + name = "Vector3Multiply", + description = "", + returnType = "Vector3", + params = { + {type = "Vector3", name = "v1"}, + {type = "Vector3", name = "v2"} + } + }, + { + name = "Vector3CrossProduct", + description = "", + returnType = "Vector3", + params = { + {type = "Vector3", name = "v1"}, + {type = "Vector3", name = "v2"} + } + }, + { + name = "Vector3Perpendicular", + description = "", + returnType = "Vector3", + params = { + {type = "Vector3", name = "v"} + } + }, + { + name = "Vector3Length", + description = "", + returnType = "float", + params = { + {type = "const Vector3", name = "v"} + } + }, + { + name = "Vector3LengthSqr", + description = "", + returnType = "float", + params = { + {type = "const Vector3", name = "v"} + } + }, + { + name = "Vector3DotProduct", + description = "", + returnType = "float", + params = { + {type = "Vector3", name = "v1"}, + {type = "Vector3", name = "v2"} + } + }, + { + name = "Vector3Distance", + description = "", + returnType = "float", + params = { + {type = "Vector3", name = "v1"}, + {type = "Vector3", name = "v2"} + } + }, + { + name = "Vector3DistanceSqr", + description = "", + returnType = "float", + params = { + {type = "Vector3", name = "v1"}, + {type = "Vector3", name = "v2"} + } + }, + { + name = "Vector3Angle", + description = "", + returnType = "float", + params = { + {type = "Vector3", name = "v1"}, + {type = "Vector3", name = "v2"} + } + }, + { + name = "Vector3Negate", + description = "", + returnType = "Vector3", + params = { + {type = "Vector3", name = "v"} + } + }, + { + name = "Vector3Divide", + description = "", + returnType = "Vector3", + params = { + {type = "Vector3", name = "v1"}, + {type = "Vector3", name = "v2"} + } + }, + { + name = "Vector3Normalize", + description = "", + returnType = "Vector3", + params = { + {type = "Vector3", name = "v"} + } + }, + { + name = "Vector3OrthoNormalize", + description = "", + returnType = "void", + params = { + {type = "Vector3 *", name = "v1"}, + {type = "Vector3 *", name = "v2"} + } + }, + { + name = "Vector3Transform", + description = "", + returnType = "Vector3", + params = { + {type = "Vector3", name = "v"}, + {type = "Matrix", name = "mat"} + } + }, + { + name = "Vector3RotateByQuaternion", + description = "", + returnType = "Vector3", + params = { + {type = "Vector3", name = "v"}, + {type = "Quaternion", name = "q"} + } + }, + { + name = "Vector3RotateByAxisAngle", + description = "", + returnType = "Vector3", + params = { + {type = "Vector3", name = "v"}, + {type = "Vector3", name = "axis"}, + {type = "float", name = "angle"} + } + }, + { + name = "Vector3Lerp", + description = "", + returnType = "Vector3", + params = { + {type = "Vector3", name = "v1"}, + {type = "Vector3", name = "v2"}, + {type = "float", name = "amount"} + } + }, + { + name = "Vector3Reflect", + description = "", + returnType = "Vector3", + params = { + {type = "Vector3", name = "v"}, + {type = "Vector3", name = "normal"} + } + }, + { + name = "Vector3Min", + description = "", + returnType = "Vector3", + params = { + {type = "Vector3", name = "v1"}, + {type = "Vector3", name = "v2"} + } + }, + { + name = "Vector3Max", + description = "", + returnType = "Vector3", + params = { + {type = "Vector3", name = "v1"}, + {type = "Vector3", name = "v2"} + } + }, + { + name = "Vector3Barycenter", + description = "", + returnType = "Vector3", + params = { + {type = "Vector3", name = "p"}, + {type = "Vector3", name = "a"}, + {type = "Vector3", name = "b"}, + {type = "Vector3", name = "c"} + } + }, + { + name = "Vector3Unproject", + description = "", + returnType = "Vector3", + params = { + {type = "Vector3", name = "source"}, + {type = "Matrix", name = "projection"}, + {type = "Matrix", name = "view"} + } + }, + { + name = "Vector3ToFloatV", + description = "", + returnType = "float3", + params = { + {type = "Vector3", name = "v"} + } + }, + { + name = "Vector3Invert", + description = "", + returnType = "Vector3", + params = { + {type = "Vector3", name = "v"} + } + }, + { + name = "Vector3Clamp", + description = "", + returnType = "Vector3", + params = { + {type = "Vector3", name = "v"}, + {type = "Vector3", name = "min"}, + {type = "Vector3", name = "max"} + } + }, + { + name = "Vector3ClampValue", + description = "", + returnType = "Vector3", + params = { + {type = "Vector3", name = "v"}, + {type = "float", name = "min"}, + {type = "float", name = "max"} + } + }, + { + name = "Vector3Equals", + description = "", + returnType = "int", + params = { + {type = "Vector3", name = "p"}, + {type = "Vector3", name = "q"} + } + }, + { + name = "Vector3Refract", + description = "", + returnType = "Vector3", + params = { + {type = "Vector3", name = "v"}, + {type = "Vector3", name = "n"}, + {type = "float", name = "r"} + } + }, + { + name = "MatrixDeterminant", + description = "", + returnType = "float", + params = { + {type = "Matrix", name = "mat"} + } + }, + { + name = "MatrixTrace", + description = "", + returnType = "float", + params = { + {type = "Matrix", name = "mat"} + } + }, + { + name = "MatrixTranspose", + description = "", + returnType = "Matrix", + params = { + {type = "Matrix", name = "mat"} + } + }, + { + name = "MatrixInvert", + description = "", + returnType = "Matrix", + params = { + {type = "Matrix", name = "mat"} + } + }, + { + name = "MatrixIdentity", + description = "", + returnType = "Matrix" + }, + { + name = "MatrixAdd", + description = "", + returnType = "Matrix", + params = { + {type = "Matrix", name = "left"}, + {type = "Matrix", name = "right"} + } + }, + { + name = "MatrixSubtract", + description = "", + returnType = "Matrix", + params = { + {type = "Matrix", name = "left"}, + {type = "Matrix", name = "right"} + } + }, + { + name = "MatrixMultiply", + description = "", + returnType = "Matrix", + params = { + {type = "Matrix", name = "left"}, + {type = "Matrix", name = "right"} + } + }, + { + name = "MatrixTranslate", + description = "", + returnType = "Matrix", + params = { + {type = "float", name = "x"}, + {type = "float", name = "y"}, + {type = "float", name = "z"} + } + }, + { + name = "MatrixRotate", + description = "", + returnType = "Matrix", + params = { + {type = "Vector3", name = "axis"}, + {type = "float", name = "angle"} + } + }, + { + name = "MatrixRotateX", + description = "", + returnType = "Matrix", + params = { + {type = "float", name = "angle"} + } + }, + { + name = "MatrixRotateY", + description = "", + returnType = "Matrix", + params = { + {type = "float", name = "angle"} + } + }, + { + name = "MatrixRotateZ", + description = "", + returnType = "Matrix", + params = { + {type = "float", name = "angle"} + } + }, + { + name = "MatrixRotateXYZ", + description = "", + returnType = "Matrix", + params = { + {type = "Vector3", name = "angle"} + } + }, + { + name = "MatrixRotateZYX", + description = "", + returnType = "Matrix", + params = { + {type = "Vector3", name = "angle"} + } + }, + { + name = "MatrixScale", + description = "", + returnType = "Matrix", + params = { + {type = "float", name = "x"}, + {type = "float", name = "y"}, + {type = "float", name = "z"} + } + }, + { + name = "MatrixFrustum", + description = "", + returnType = "Matrix", + params = { + {type = "double", name = "left"}, + {type = "double", name = "right"}, + {type = "double", name = "bottom"}, + {type = "double", name = "top"}, + {type = "double", name = "near"}, + {type = "double", name = "far"} + } + }, + { + name = "MatrixPerspective", + description = "", + returnType = "Matrix", + params = { + {type = "double", name = "fovy"}, + {type = "double", name = "aspect"}, + {type = "double", name = "near"}, + {type = "double", name = "far"} + } + }, + { + name = "MatrixOrtho", + description = "", + returnType = "Matrix", + params = { + {type = "double", name = "left"}, + {type = "double", name = "right"}, + {type = "double", name = "bottom"}, + {type = "double", name = "top"}, + {type = "double", name = "near"}, + {type = "double", name = "far"} + } + }, + { + name = "MatrixLookAt", + description = "", + returnType = "Matrix", + params = { + {type = "Vector3", name = "eye"}, + {type = "Vector3", name = "target"}, + {type = "Vector3", name = "up"} + } + }, + { + name = "MatrixToFloatV", + description = "", + returnType = "float16", + params = { + {type = "Matrix", name = "mat"} + } + }, + { + name = "QuaternionAdd", + description = "", + returnType = "Quaternion", + params = { + {type = "Quaternion", name = "q1"}, + {type = "Quaternion", name = "q2"} + } + }, + { + name = "QuaternionAddValue", + description = "", + returnType = "Quaternion", + params = { + {type = "Quaternion", name = "q"}, + {type = "float", name = "add"} + } + }, + { + name = "QuaternionSubtract", + description = "", + returnType = "Quaternion", + params = { + {type = "Quaternion", name = "q1"}, + {type = "Quaternion", name = "q2"} + } + }, + { + name = "QuaternionSubtractValue", + description = "", + returnType = "Quaternion", + params = { + {type = "Quaternion", name = "q"}, + {type = "float", name = "sub"} + } + }, + { + name = "QuaternionIdentity", + description = "", + returnType = "Quaternion" + }, + { + name = "QuaternionLength", + description = "", + returnType = "float", + params = { + {type = "Quaternion", name = "q"} + } + }, + { + name = "QuaternionNormalize", + description = "", + returnType = "Quaternion", + params = { + {type = "Quaternion", name = "q"} + } + }, + { + name = "QuaternionInvert", + description = "", + returnType = "Quaternion", + params = { + {type = "Quaternion", name = "q"} + } + }, + { + name = "QuaternionMultiply", + description = "", + returnType = "Quaternion", + params = { + {type = "Quaternion", name = "q1"}, + {type = "Quaternion", name = "q2"} + } + }, + { + name = "QuaternionScale", + description = "", + returnType = "Quaternion", + params = { + {type = "Quaternion", name = "q"}, + {type = "float", name = "mul"} + } + }, + { + name = "QuaternionDivide", + description = "", + returnType = "Quaternion", + params = { + {type = "Quaternion", name = "q1"}, + {type = "Quaternion", name = "q2"} + } + }, + { + name = "QuaternionLerp", + description = "", + returnType = "Quaternion", + params = { + {type = "Quaternion", name = "q1"}, + {type = "Quaternion", name = "q2"}, + {type = "float", name = "amount"} + } + }, + { + name = "QuaternionNlerp", + description = "", + returnType = "Quaternion", + params = { + {type = "Quaternion", name = "q1"}, + {type = "Quaternion", name = "q2"}, + {type = "float", name = "amount"} + } + }, + { + name = "QuaternionSlerp", + description = "", + returnType = "Quaternion", + params = { + {type = "Quaternion", name = "q1"}, + {type = "Quaternion", name = "q2"}, + {type = "float", name = "amount"} + } + }, + { + name = "QuaternionFromVector3ToVector3", + description = "", + returnType = "Quaternion", + params = { + {type = "Vector3", name = "from"}, + {type = "Vector3", name = "to"} + } + }, + { + name = "QuaternionFromMatrix", + description = "", + returnType = "Quaternion", + params = { + {type = "Matrix", name = "mat"} + } + }, + { + name = "QuaternionToMatrix", + description = "", + returnType = "Matrix", + params = { + {type = "Quaternion", name = "q"} + } + }, + { + name = "QuaternionFromAxisAngle", + description = "", + returnType = "Quaternion", + params = { + {type = "Vector3", name = "axis"}, + {type = "float", name = "angle"} + } + }, + { + name = "QuaternionToAxisAngle", + description = "", + returnType = "void", + params = { + {type = "Quaternion", name = "q"}, + {type = "Vector3 *", name = "outAxis"}, + {type = "float *", name = "outAngle"} + } + }, + { + name = "QuaternionFromEuler", + description = "", + returnType = "Quaternion", + params = { + {type = "float", name = "pitch"}, + {type = "float", name = "yaw"}, + {type = "float", name = "roll"} + } + }, + { + name = "QuaternionToEuler", + description = "", + returnType = "Vector3", + params = { + {type = "Quaternion", name = "q"} + } + }, + { + name = "QuaternionTransform", + description = "", + returnType = "Quaternion", + params = { + {type = "Quaternion", name = "q"}, + {type = "Matrix", name = "mat"} + } + }, + { + name = "QuaternionEquals", + description = "", + returnType = "int", + params = { + {type = "Quaternion", name = "p"}, + {type = "Quaternion", name = "q"} + } + } + } +} diff --git a/raylib-api/raymath.txt b/raylib-api/raymath.txt new file mode 100644 index 0000000..03ac1b5 --- /dev/null +++ b/raylib-api/raymath.txt @@ -0,0 +1,807 @@ + +Defines found: 13 + +Define 001: RAYMATH_H + Name: RAYMATH_H + Type: GUARD + Value: + Description: +Define 002: RMAPI + Name: RMAPI + Type: UNKNOWN + Value: __declspec(dllexport) extern inline + Description: We are building raylib as a Win32 shared library (.dll). +Define 003: PI + Name: PI + Type: FLOAT + Value: 3.14159265358979323846 + Description: +Define 004: EPSILON + Name: EPSILON + Type: FLOAT + Value: 0.000001 + Description: +Define 005: DEG2RAD + Name: DEG2RAD + Type: FLOAT_MATH + Value: (PI/180.0f) + Description: +Define 006: RAD2DEG + Name: RAD2DEG + Type: FLOAT_MATH + Value: (180.0f/PI) + Description: +Define 007: MatrixToFloat(mat) + Name: MatrixToFloat(mat) + Type: MACRO + Value: (MatrixToFloatV(mat).v) + Description: +Define 008: Vector3ToFloat(vec) + Name: Vector3ToFloat(vec) + Type: MACRO + Value: (Vector3ToFloatV(vec).v) + Description: +Define 009: RL_VECTOR2_TYPE + Name: RL_VECTOR2_TYPE + Type: GUARD + Value: + Description: +Define 010: RL_VECTOR3_TYPE + Name: RL_VECTOR3_TYPE + Type: GUARD + Value: + Description: +Define 011: RL_VECTOR4_TYPE + Name: RL_VECTOR4_TYPE + Type: GUARD + Value: + Description: +Define 012: RL_QUATERNION_TYPE + Name: RL_QUATERNION_TYPE + Type: GUARD + Value: + Description: +Define 013: RL_MATRIX_TYPE + Name: RL_MATRIX_TYPE + Type: GUARD + Value: + Description: + +Structures found: 6 + +Struct 01: Vector2 (2 fields) + Name: Vector2 + Description: Vector2 type + Field[1]: float x + Field[2]: float y +Struct 02: Vector3 (3 fields) + Name: Vector3 + Description: Vector3 type + Field[1]: float x + Field[2]: float y + Field[3]: float z +Struct 03: Vector4 (4 fields) + Name: Vector4 + Description: Vector4 type + Field[1]: float x + Field[2]: float y + Field[3]: float z + Field[4]: float w +Struct 04: Matrix (16 fields) + Name: Matrix + Description: Matrix type (OpenGL style 4x4 - right handed, column major) + Field[1]: float m0 // Matrix first row (4 components) + Field[2]: float m4 // Matrix first row (4 components) + Field[3]: float m8 // Matrix first row (4 components) + Field[4]: float m12 // Matrix first row (4 components) + Field[5]: float m1 // Matrix second row (4 components) + Field[6]: float m5 // Matrix second row (4 components) + Field[7]: float m9 // Matrix second row (4 components) + Field[8]: float m13 // Matrix second row (4 components) + Field[9]: float m2 // Matrix third row (4 components) + Field[10]: float m6 // Matrix third row (4 components) + Field[11]: float m10 // Matrix third row (4 components) + Field[12]: float m14 // Matrix third row (4 components) + Field[13]: float m3 // Matrix fourth row (4 components) + Field[14]: float m7 // Matrix fourth row (4 components) + Field[15]: float m11 // Matrix fourth row (4 components) + Field[16]: float m15 // Matrix fourth row (4 components) +Struct 05: float3 (1 fields) + Name: float3 + Description: NOTE: Helper types to be used instead of array return types for *ToFloat functions + Field[1]: float[3] v +Struct 06: float16 (1 fields) + Name: float16 + Description: + Field[1]: float[16] v + +Aliases found: 1 + +Alias 001: Quaternion + Type: Vector4 + Name: Quaternion + Description: Quaternion type + +Enums found: 0 + + +Callbacks found: 0 + + +Functions found: 112 + +Function 001: Clamp() (3 input parameters) + Name: Clamp + Return type: float + Description: + Param[1]: value (type: float) + Param[2]: min (type: float) + Param[3]: max (type: float) +Function 002: Lerp() (3 input parameters) + Name: Lerp + Return type: float + Description: + Param[1]: start (type: float) + Param[2]: end (type: float) + Param[3]: amount (type: float) +Function 003: Normalize() (3 input parameters) + Name: Normalize + Return type: float + Description: + Param[1]: value (type: float) + Param[2]: start (type: float) + Param[3]: end (type: float) +Function 004: Remap() (5 input parameters) + Name: Remap + Return type: float + Description: + Param[1]: value (type: float) + Param[2]: inputStart (type: float) + Param[3]: inputEnd (type: float) + Param[4]: outputStart (type: float) + Param[5]: outputEnd (type: float) +Function 005: Wrap() (3 input parameters) + Name: Wrap + Return type: float + Description: + Param[1]: value (type: float) + Param[2]: min (type: float) + Param[3]: max (type: float) +Function 006: FloatEquals() (2 input parameters) + Name: FloatEquals + Return type: int + Description: + Param[1]: x (type: float) + Param[2]: y (type: float) +Function 007: Vector2Zero() (0 input parameters) + Name: Vector2Zero + Return type: Vector2 + Description: + No input parameters +Function 008: Vector2One() (0 input parameters) + Name: Vector2One + Return type: Vector2 + Description: + No input parameters +Function 009: Vector2Add() (2 input parameters) + Name: Vector2Add + Return type: Vector2 + Description: + Param[1]: v1 (type: Vector2) + Param[2]: v2 (type: Vector2) +Function 010: Vector2AddValue() (2 input parameters) + Name: Vector2AddValue + Return type: Vector2 + Description: + Param[1]: v (type: Vector2) + Param[2]: add (type: float) +Function 011: Vector2Subtract() (2 input parameters) + Name: Vector2Subtract + Return type: Vector2 + Description: + Param[1]: v1 (type: Vector2) + Param[2]: v2 (type: Vector2) +Function 012: Vector2SubtractValue() (2 input parameters) + Name: Vector2SubtractValue + Return type: Vector2 + Description: + Param[1]: v (type: Vector2) + Param[2]: sub (type: float) +Function 013: Vector2Length() (1 input parameters) + Name: Vector2Length + Return type: float + Description: + Param[1]: v (type: Vector2) +Function 014: Vector2LengthSqr() (1 input parameters) + Name: Vector2LengthSqr + Return type: float + Description: + Param[1]: v (type: Vector2) +Function 015: Vector2DotProduct() (2 input parameters) + Name: Vector2DotProduct + Return type: float + Description: + Param[1]: v1 (type: Vector2) + Param[2]: v2 (type: Vector2) +Function 016: Vector2Distance() (2 input parameters) + Name: Vector2Distance + Return type: float + Description: + Param[1]: v1 (type: Vector2) + Param[2]: v2 (type: Vector2) +Function 017: Vector2DistanceSqr() (2 input parameters) + Name: Vector2DistanceSqr + Return type: float + Description: + Param[1]: v1 (type: Vector2) + Param[2]: v2 (type: Vector2) +Function 018: Vector2Angle() (2 input parameters) + Name: Vector2Angle + Return type: float + Description: + Param[1]: v1 (type: Vector2) + Param[2]: v2 (type: Vector2) +Function 019: Vector2LineAngle() (2 input parameters) + Name: Vector2LineAngle + Return type: float + Description: + Param[1]: start (type: Vector2) + Param[2]: end (type: Vector2) +Function 020: Vector2Scale() (2 input parameters) + Name: Vector2Scale + Return type: Vector2 + Description: + Param[1]: v (type: Vector2) + Param[2]: scale (type: float) +Function 021: Vector2Multiply() (2 input parameters) + Name: Vector2Multiply + Return type: Vector2 + Description: + Param[1]: v1 (type: Vector2) + Param[2]: v2 (type: Vector2) +Function 022: Vector2Negate() (1 input parameters) + Name: Vector2Negate + Return type: Vector2 + Description: + Param[1]: v (type: Vector2) +Function 023: Vector2Divide() (2 input parameters) + Name: Vector2Divide + Return type: Vector2 + Description: + Param[1]: v1 (type: Vector2) + Param[2]: v2 (type: Vector2) +Function 024: Vector2Normalize() (1 input parameters) + Name: Vector2Normalize + Return type: Vector2 + Description: + Param[1]: v (type: Vector2) +Function 025: Vector2Transform() (2 input parameters) + Name: Vector2Transform + Return type: Vector2 + Description: + Param[1]: v (type: Vector2) + Param[2]: mat (type: Matrix) +Function 026: Vector2Lerp() (3 input parameters) + Name: Vector2Lerp + Return type: Vector2 + Description: + Param[1]: v1 (type: Vector2) + Param[2]: v2 (type: Vector2) + Param[3]: amount (type: float) +Function 027: Vector2Reflect() (2 input parameters) + Name: Vector2Reflect + Return type: Vector2 + Description: + Param[1]: v (type: Vector2) + Param[2]: normal (type: Vector2) +Function 028: Vector2Rotate() (2 input parameters) + Name: Vector2Rotate + Return type: Vector2 + Description: + Param[1]: v (type: Vector2) + Param[2]: angle (type: float) +Function 029: Vector2MoveTowards() (3 input parameters) + Name: Vector2MoveTowards + Return type: Vector2 + Description: + Param[1]: v (type: Vector2) + Param[2]: target (type: Vector2) + Param[3]: maxDistance (type: float) +Function 030: Vector2Invert() (1 input parameters) + Name: Vector2Invert + Return type: Vector2 + Description: + Param[1]: v (type: Vector2) +Function 031: Vector2Clamp() (3 input parameters) + Name: Vector2Clamp + Return type: Vector2 + Description: + Param[1]: v (type: Vector2) + Param[2]: min (type: Vector2) + Param[3]: max (type: Vector2) +Function 032: Vector2ClampValue() (3 input parameters) + Name: Vector2ClampValue + Return type: Vector2 + Description: + Param[1]: v (type: Vector2) + Param[2]: min (type: float) + Param[3]: max (type: float) +Function 033: Vector2Equals() (2 input parameters) + Name: Vector2Equals + Return type: int + Description: + Param[1]: p (type: Vector2) + Param[2]: q (type: Vector2) +Function 034: Vector3Zero() (0 input parameters) + Name: Vector3Zero + Return type: Vector3 + Description: + No input parameters +Function 035: Vector3One() (0 input parameters) + Name: Vector3One + Return type: Vector3 + Description: + No input parameters +Function 036: Vector3Add() (2 input parameters) + Name: Vector3Add + Return type: Vector3 + Description: + Param[1]: v1 (type: Vector3) + Param[2]: v2 (type: Vector3) +Function 037: Vector3AddValue() (2 input parameters) + Name: Vector3AddValue + Return type: Vector3 + Description: + Param[1]: v (type: Vector3) + Param[2]: add (type: float) +Function 038: Vector3Subtract() (2 input parameters) + Name: Vector3Subtract + Return type: Vector3 + Description: + Param[1]: v1 (type: Vector3) + Param[2]: v2 (type: Vector3) +Function 039: Vector3SubtractValue() (2 input parameters) + Name: Vector3SubtractValue + Return type: Vector3 + Description: + Param[1]: v (type: Vector3) + Param[2]: sub (type: float) +Function 040: Vector3Scale() (2 input parameters) + Name: Vector3Scale + Return type: Vector3 + Description: + Param[1]: v (type: Vector3) + Param[2]: scalar (type: float) +Function 041: Vector3Multiply() (2 input parameters) + Name: Vector3Multiply + Return type: Vector3 + Description: + Param[1]: v1 (type: Vector3) + Param[2]: v2 (type: Vector3) +Function 042: Vector3CrossProduct() (2 input parameters) + Name: Vector3CrossProduct + Return type: Vector3 + Description: + Param[1]: v1 (type: Vector3) + Param[2]: v2 (type: Vector3) +Function 043: Vector3Perpendicular() (1 input parameters) + Name: Vector3Perpendicular + Return type: Vector3 + Description: + Param[1]: v (type: Vector3) +Function 044: Vector3Length() (1 input parameters) + Name: Vector3Length + Return type: float + Description: + Param[1]: v (type: const Vector3) +Function 045: Vector3LengthSqr() (1 input parameters) + Name: Vector3LengthSqr + Return type: float + Description: + Param[1]: v (type: const Vector3) +Function 046: Vector3DotProduct() (2 input parameters) + Name: Vector3DotProduct + Return type: float + Description: + Param[1]: v1 (type: Vector3) + Param[2]: v2 (type: Vector3) +Function 047: Vector3Distance() (2 input parameters) + Name: Vector3Distance + Return type: float + Description: + Param[1]: v1 (type: Vector3) + Param[2]: v2 (type: Vector3) +Function 048: Vector3DistanceSqr() (2 input parameters) + Name: Vector3DistanceSqr + Return type: float + Description: + Param[1]: v1 (type: Vector3) + Param[2]: v2 (type: Vector3) +Function 049: Vector3Angle() (2 input parameters) + Name: Vector3Angle + Return type: float + Description: + Param[1]: v1 (type: Vector3) + Param[2]: v2 (type: Vector3) +Function 050: Vector3Negate() (1 input parameters) + Name: Vector3Negate + Return type: Vector3 + Description: + Param[1]: v (type: Vector3) +Function 051: Vector3Divide() (2 input parameters) + Name: Vector3Divide + Return type: Vector3 + Description: + Param[1]: v1 (type: Vector3) + Param[2]: v2 (type: Vector3) +Function 052: Vector3Normalize() (1 input parameters) + Name: Vector3Normalize + Return type: Vector3 + Description: + Param[1]: v (type: Vector3) +Function 053: Vector3OrthoNormalize() (2 input parameters) + Name: Vector3OrthoNormalize + Return type: void + Description: + Param[1]: v1 (type: Vector3 *) + Param[2]: v2 (type: Vector3 *) +Function 054: Vector3Transform() (2 input parameters) + Name: Vector3Transform + Return type: Vector3 + Description: + Param[1]: v (type: Vector3) + Param[2]: mat (type: Matrix) +Function 055: Vector3RotateByQuaternion() (2 input parameters) + Name: Vector3RotateByQuaternion + Return type: Vector3 + Description: + Param[1]: v (type: Vector3) + Param[2]: q (type: Quaternion) +Function 056: Vector3RotateByAxisAngle() (3 input parameters) + Name: Vector3RotateByAxisAngle + Return type: Vector3 + Description: + Param[1]: v (type: Vector3) + Param[2]: axis (type: Vector3) + Param[3]: angle (type: float) +Function 057: Vector3Lerp() (3 input parameters) + Name: Vector3Lerp + Return type: Vector3 + Description: + Param[1]: v1 (type: Vector3) + Param[2]: v2 (type: Vector3) + Param[3]: amount (type: float) +Function 058: Vector3Reflect() (2 input parameters) + Name: Vector3Reflect + Return type: Vector3 + Description: + Param[1]: v (type: Vector3) + Param[2]: normal (type: Vector3) +Function 059: Vector3Min() (2 input parameters) + Name: Vector3Min + Return type: Vector3 + Description: + Param[1]: v1 (type: Vector3) + Param[2]: v2 (type: Vector3) +Function 060: Vector3Max() (2 input parameters) + Name: Vector3Max + Return type: Vector3 + Description: + Param[1]: v1 (type: Vector3) + Param[2]: v2 (type: Vector3) +Function 061: Vector3Barycenter() (4 input parameters) + Name: Vector3Barycenter + Return type: Vector3 + Description: + Param[1]: p (type: Vector3) + Param[2]: a (type: Vector3) + Param[3]: b (type: Vector3) + Param[4]: c (type: Vector3) +Function 062: Vector3Unproject() (3 input parameters) + Name: Vector3Unproject + Return type: Vector3 + Description: + Param[1]: source (type: Vector3) + Param[2]: projection (type: Matrix) + Param[3]: view (type: Matrix) +Function 063: Vector3ToFloatV() (1 input parameters) + Name: Vector3ToFloatV + Return type: float3 + Description: + Param[1]: v (type: Vector3) +Function 064: Vector3Invert() (1 input parameters) + Name: Vector3Invert + Return type: Vector3 + Description: + Param[1]: v (type: Vector3) +Function 065: Vector3Clamp() (3 input parameters) + Name: Vector3Clamp + Return type: Vector3 + Description: + Param[1]: v (type: Vector3) + Param[2]: min (type: Vector3) + Param[3]: max (type: Vector3) +Function 066: Vector3ClampValue() (3 input parameters) + Name: Vector3ClampValue + Return type: Vector3 + Description: + Param[1]: v (type: Vector3) + Param[2]: min (type: float) + Param[3]: max (type: float) +Function 067: Vector3Equals() (2 input parameters) + Name: Vector3Equals + Return type: int + Description: + Param[1]: p (type: Vector3) + Param[2]: q (type: Vector3) +Function 068: Vector3Refract() (3 input parameters) + Name: Vector3Refract + Return type: Vector3 + Description: + Param[1]: v (type: Vector3) + Param[2]: n (type: Vector3) + Param[3]: r (type: float) +Function 069: MatrixDeterminant() (1 input parameters) + Name: MatrixDeterminant + Return type: float + Description: + Param[1]: mat (type: Matrix) +Function 070: MatrixTrace() (1 input parameters) + Name: MatrixTrace + Return type: float + Description: + Param[1]: mat (type: Matrix) +Function 071: MatrixTranspose() (1 input parameters) + Name: MatrixTranspose + Return type: Matrix + Description: + Param[1]: mat (type: Matrix) +Function 072: MatrixInvert() (1 input parameters) + Name: MatrixInvert + Return type: Matrix + Description: + Param[1]: mat (type: Matrix) +Function 073: MatrixIdentity() (0 input parameters) + Name: MatrixIdentity + Return type: Matrix + Description: + No input parameters +Function 074: MatrixAdd() (2 input parameters) + Name: MatrixAdd + Return type: Matrix + Description: + Param[1]: left (type: Matrix) + Param[2]: right (type: Matrix) +Function 075: MatrixSubtract() (2 input parameters) + Name: MatrixSubtract + Return type: Matrix + Description: + Param[1]: left (type: Matrix) + Param[2]: right (type: Matrix) +Function 076: MatrixMultiply() (2 input parameters) + Name: MatrixMultiply + Return type: Matrix + Description: + Param[1]: left (type: Matrix) + Param[2]: right (type: Matrix) +Function 077: MatrixTranslate() (3 input parameters) + Name: MatrixTranslate + Return type: Matrix + Description: + Param[1]: x (type: float) + Param[2]: y (type: float) + Param[3]: z (type: float) +Function 078: MatrixRotate() (2 input parameters) + Name: MatrixRotate + Return type: Matrix + Description: + Param[1]: axis (type: Vector3) + Param[2]: angle (type: float) +Function 079: MatrixRotateX() (1 input parameters) + Name: MatrixRotateX + Return type: Matrix + Description: + Param[1]: angle (type: float) +Function 080: MatrixRotateY() (1 input parameters) + Name: MatrixRotateY + Return type: Matrix + Description: + Param[1]: angle (type: float) +Function 081: MatrixRotateZ() (1 input parameters) + Name: MatrixRotateZ + Return type: Matrix + Description: + Param[1]: angle (type: float) +Function 082: MatrixRotateXYZ() (1 input parameters) + Name: MatrixRotateXYZ + Return type: Matrix + Description: + Param[1]: angle (type: Vector3) +Function 083: MatrixRotateZYX() (1 input parameters) + Name: MatrixRotateZYX + Return type: Matrix + Description: + Param[1]: angle (type: Vector3) +Function 084: MatrixScale() (3 input parameters) + Name: MatrixScale + Return type: Matrix + Description: + Param[1]: x (type: float) + Param[2]: y (type: float) + Param[3]: z (type: float) +Function 085: MatrixFrustum() (6 input parameters) + Name: MatrixFrustum + Return type: Matrix + Description: + Param[1]: left (type: double) + Param[2]: right (type: double) + Param[3]: bottom (type: double) + Param[4]: top (type: double) + Param[5]: near (type: double) + Param[6]: far (type: double) +Function 086: MatrixPerspective() (4 input parameters) + Name: MatrixPerspective + Return type: Matrix + Description: + Param[1]: fovy (type: double) + Param[2]: aspect (type: double) + Param[3]: near (type: double) + Param[4]: far (type: double) +Function 087: MatrixOrtho() (6 input parameters) + Name: MatrixOrtho + Return type: Matrix + Description: + Param[1]: left (type: double) + Param[2]: right (type: double) + Param[3]: bottom (type: double) + Param[4]: top (type: double) + Param[5]: near (type: double) + Param[6]: far (type: double) +Function 088: MatrixLookAt() (3 input parameters) + Name: MatrixLookAt + Return type: Matrix + Description: + Param[1]: eye (type: Vector3) + Param[2]: target (type: Vector3) + Param[3]: up (type: Vector3) +Function 089: MatrixToFloatV() (1 input parameters) + Name: MatrixToFloatV + Return type: float16 + Description: + Param[1]: mat (type: Matrix) +Function 090: QuaternionAdd() (2 input parameters) + Name: QuaternionAdd + Return type: Quaternion + Description: + Param[1]: q1 (type: Quaternion) + Param[2]: q2 (type: Quaternion) +Function 091: QuaternionAddValue() (2 input parameters) + Name: QuaternionAddValue + Return type: Quaternion + Description: + Param[1]: q (type: Quaternion) + Param[2]: add (type: float) +Function 092: QuaternionSubtract() (2 input parameters) + Name: QuaternionSubtract + Return type: Quaternion + Description: + Param[1]: q1 (type: Quaternion) + Param[2]: q2 (type: Quaternion) +Function 093: QuaternionSubtractValue() (2 input parameters) + Name: QuaternionSubtractValue + Return type: Quaternion + Description: + Param[1]: q (type: Quaternion) + Param[2]: sub (type: float) +Function 094: QuaternionIdentity() (0 input parameters) + Name: QuaternionIdentity + Return type: Quaternion + Description: + No input parameters +Function 095: QuaternionLength() (1 input parameters) + Name: QuaternionLength + Return type: float + Description: + Param[1]: q (type: Quaternion) +Function 096: QuaternionNormalize() (1 input parameters) + Name: QuaternionNormalize + Return type: Quaternion + Description: + Param[1]: q (type: Quaternion) +Function 097: QuaternionInvert() (1 input parameters) + Name: QuaternionInvert + Return type: Quaternion + Description: + Param[1]: q (type: Quaternion) +Function 098: QuaternionMultiply() (2 input parameters) + Name: QuaternionMultiply + Return type: Quaternion + Description: + Param[1]: q1 (type: Quaternion) + Param[2]: q2 (type: Quaternion) +Function 099: QuaternionScale() (2 input parameters) + Name: QuaternionScale + Return type: Quaternion + Description: + Param[1]: q (type: Quaternion) + Param[2]: mul (type: float) +Function 100: QuaternionDivide() (2 input parameters) + Name: QuaternionDivide + Return type: Quaternion + Description: + Param[1]: q1 (type: Quaternion) + Param[2]: q2 (type: Quaternion) +Function 101: QuaternionLerp() (3 input parameters) + Name: QuaternionLerp + Return type: Quaternion + Description: + Param[1]: q1 (type: Quaternion) + Param[2]: q2 (type: Quaternion) + Param[3]: amount (type: float) +Function 102: QuaternionNlerp() (3 input parameters) + Name: QuaternionNlerp + Return type: Quaternion + Description: + Param[1]: q1 (type: Quaternion) + Param[2]: q2 (type: Quaternion) + Param[3]: amount (type: float) +Function 103: QuaternionSlerp() (3 input parameters) + Name: QuaternionSlerp + Return type: Quaternion + Description: + Param[1]: q1 (type: Quaternion) + Param[2]: q2 (type: Quaternion) + Param[3]: amount (type: float) +Function 104: QuaternionFromVector3ToVector3() (2 input parameters) + Name: QuaternionFromVector3ToVector3 + Return type: Quaternion + Description: + Param[1]: from (type: Vector3) + Param[2]: to (type: Vector3) +Function 105: QuaternionFromMatrix() (1 input parameters) + Name: QuaternionFromMatrix + Return type: Quaternion + Description: + Param[1]: mat (type: Matrix) +Function 106: QuaternionToMatrix() (1 input parameters) + Name: QuaternionToMatrix + Return type: Matrix + Description: + Param[1]: q (type: Quaternion) +Function 107: QuaternionFromAxisAngle() (2 input parameters) + Name: QuaternionFromAxisAngle + Return type: Quaternion + Description: + Param[1]: axis (type: Vector3) + Param[2]: angle (type: float) +Function 108: QuaternionToAxisAngle() (3 input parameters) + Name: QuaternionToAxisAngle + Return type: void + Description: + Param[1]: q (type: Quaternion) + Param[2]: outAxis (type: Vector3 *) + Param[3]: outAngle (type: float *) +Function 109: QuaternionFromEuler() (3 input parameters) + Name: QuaternionFromEuler + Return type: Quaternion + Description: + Param[1]: pitch (type: float) + Param[2]: yaw (type: float) + Param[3]: roll (type: float) +Function 110: QuaternionToEuler() (1 input parameters) + Name: QuaternionToEuler + Return type: Vector3 + Description: + Param[1]: q (type: Quaternion) +Function 111: QuaternionTransform() (2 input parameters) + Name: QuaternionTransform + Return type: Quaternion + Description: + Param[1]: q (type: Quaternion) + Param[2]: mat (type: Matrix) +Function 112: QuaternionEquals() (2 input parameters) + Name: QuaternionEquals + Return type: int + Description: + Param[1]: p (type: Quaternion) + Param[2]: q (type: Quaternion) diff --git a/raylib-api/raymath.xml b/raylib-api/raymath.xml new file mode 100644 index 0000000..e7c9c78 --- /dev/null +++ b/raylib-api/raymath.xml @@ -0,0 +1,513 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/raylib-api/reasings.json b/raylib-api/reasings.json new file mode 100644 index 0000000..82a5335 --- /dev/null +++ b/raylib-api/reasings.json @@ -0,0 +1,682 @@ +{ + "defines": [ + { + "name": "REASINGS_H", + "type": "GUARD", + "value": "", + "description": "" + }, + { + "name": "REASINGS_STATIC_INLINE", + "type": "GUARD", + "value": "", + "description": "NOTE: By default, compile functions as static inline" + }, + { + "name": "EASEDEF", + "type": "UNKNOWN", + "value": "static inline", + "description": "" + }, + { + "name": "PI", + "type": "FLOAT", + "value": 3.14159265358979323846, + "description": "Required as PI is not always defined in math.h" + } + ], + "structs": [ + ], + "aliases": [ + ], + "enums": [ + ], + "callbacks": [ + ], + "functions": [ + { + "name": "EaseLinearNone", + "description": "Ease: Linear", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseLinearIn", + "description": "Ease: Linear In", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseLinearOut", + "description": "Ease: Linear Out", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseLinearInOut", + "description": "Ease: Linear In Out", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseSineIn", + "description": "Ease: Sine In", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseSineOut", + "description": "Ease: Sine Out", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseSineInOut", + "description": "Ease: Sine Out", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseCircIn", + "description": "Ease: Circular In", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseCircOut", + "description": "Ease: Circular Out", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseCircInOut", + "description": "Ease: Circular In Out", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseCubicIn", + "description": "Ease: Cubic In", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseCubicOut", + "description": "Ease: Cubic Out", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseCubicInOut", + "description": "Ease: Cubic In Out", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseQuadIn", + "description": "Ease: Quadratic In", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseQuadOut", + "description": "Ease: Quadratic Out", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseQuadInOut", + "description": "Ease: Quadratic In Out", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseExpoIn", + "description": "Ease: Exponential In", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseExpoOut", + "description": "Ease: Exponential Out", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseExpoInOut", + "description": "Ease: Exponential In Out", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseBackIn", + "description": "Ease: Back In", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseBackOut", + "description": "Ease: Back Out", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseBackInOut", + "description": "Ease: Back In Out", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseBounceOut", + "description": "Ease: Bounce Out", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseBounceIn", + "description": "Ease: Bounce In", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseBounceInOut", + "description": "Ease: Bounce In Out", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseElasticIn", + "description": "Ease: Elastic In", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseElasticOut", + "description": "Ease: Elastic Out", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + }, + { + "name": "EaseElasticInOut", + "description": "Ease: Elastic In Out", + "returnType": "float", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "c" + }, + { + "type": "float", + "name": "d" + } + ] + } + ] +} diff --git a/raylib-api/reasings.lua b/raylib-api/reasings.lua new file mode 100644 index 0000000..59d99c7 --- /dev/null +++ b/raylib-api/reasings.lua @@ -0,0 +1,346 @@ +return { + defines = { + { + name = "REASINGS_H", + type = "GUARD", + value = "", + description = "" + }, + { + name = "REASINGS_STATIC_INLINE", + type = "GUARD", + value = "", + description = "NOTE: By default, compile functions as static inline" + }, + { + name = "EASEDEF", + type = "UNKNOWN", + value = "static inline", + description = "" + }, + { + name = "PI", + type = "FLOAT", + value = 3.14159265358979323846, + description = "Required as PI is not always defined in math.h" + } + }, + structs = { + }, + aliases = { + }, + enums = { + }, + callbacks = { + }, + functions = { + { + name = "EaseLinearNone", + description = "Ease: Linear", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseLinearIn", + description = "Ease: Linear In", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseLinearOut", + description = "Ease: Linear Out", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseLinearInOut", + description = "Ease: Linear In Out", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseSineIn", + description = "Ease: Sine In", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseSineOut", + description = "Ease: Sine Out", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseSineInOut", + description = "Ease: Sine Out", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseCircIn", + description = "Ease: Circular In", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseCircOut", + description = "Ease: Circular Out", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseCircInOut", + description = "Ease: Circular In Out", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseCubicIn", + description = "Ease: Cubic In", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseCubicOut", + description = "Ease: Cubic Out", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseCubicInOut", + description = "Ease: Cubic In Out", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseQuadIn", + description = "Ease: Quadratic In", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseQuadOut", + description = "Ease: Quadratic Out", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseQuadInOut", + description = "Ease: Quadratic In Out", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseExpoIn", + description = "Ease: Exponential In", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseExpoOut", + description = "Ease: Exponential Out", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseExpoInOut", + description = "Ease: Exponential In Out", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseBackIn", + description = "Ease: Back In", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseBackOut", + description = "Ease: Back Out", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseBackInOut", + description = "Ease: Back In Out", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseBounceOut", + description = "Ease: Bounce Out", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseBounceIn", + description = "Ease: Bounce In", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseBounceInOut", + description = "Ease: Bounce In Out", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseElasticIn", + description = "Ease: Elastic In", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseElasticOut", + description = "Ease: Elastic Out", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + }, + { + name = "EaseElasticInOut", + description = "Ease: Elastic In Out", + returnType = "float", + params = { + {type = "float", name = "t"}, + {type = "float", name = "b"}, + {type = "float", name = "c"}, + {type = "float", name = "d"} + } + } + } +} diff --git a/raylib-api/reasings.txt b/raylib-api/reasings.txt new file mode 100644 index 0000000..3fa44cf --- /dev/null +++ b/raylib-api/reasings.txt @@ -0,0 +1,262 @@ + +Defines found: 4 + +Define 001: REASINGS_H + Name: REASINGS_H + Type: GUARD + Value: + Description: +Define 002: REASINGS_STATIC_INLINE + Name: REASINGS_STATIC_INLINE + Type: GUARD + Value: + Description: NOTE: By default, compile functions as static inline +Define 003: EASEDEF + Name: EASEDEF + Type: UNKNOWN + Value: static inline + Description: +Define 004: PI + Name: PI + Type: FLOAT + Value: 3.14159265358979323846 + Description: Required as PI is not always defined in math.h + +Structures found: 0 + + +Aliases found: 0 + + +Enums found: 0 + + +Callbacks found: 0 + + +Functions found: 28 + +Function 001: EaseLinearNone() (4 input parameters) + Name: EaseLinearNone + Return type: float + Description: Ease: Linear + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 002: EaseLinearIn() (4 input parameters) + Name: EaseLinearIn + Return type: float + Description: Ease: Linear In + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 003: EaseLinearOut() (4 input parameters) + Name: EaseLinearOut + Return type: float + Description: Ease: Linear Out + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 004: EaseLinearInOut() (4 input parameters) + Name: EaseLinearInOut + Return type: float + Description: Ease: Linear In Out + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 005: EaseSineIn() (4 input parameters) + Name: EaseSineIn + Return type: float + Description: Ease: Sine In + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 006: EaseSineOut() (4 input parameters) + Name: EaseSineOut + Return type: float + Description: Ease: Sine Out + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 007: EaseSineInOut() (4 input parameters) + Name: EaseSineInOut + Return type: float + Description: Ease: Sine Out + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 008: EaseCircIn() (4 input parameters) + Name: EaseCircIn + Return type: float + Description: Ease: Circular In + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 009: EaseCircOut() (4 input parameters) + Name: EaseCircOut + Return type: float + Description: Ease: Circular Out + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 010: EaseCircInOut() (4 input parameters) + Name: EaseCircInOut + Return type: float + Description: Ease: Circular In Out + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 011: EaseCubicIn() (4 input parameters) + Name: EaseCubicIn + Return type: float + Description: Ease: Cubic In + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 012: EaseCubicOut() (4 input parameters) + Name: EaseCubicOut + Return type: float + Description: Ease: Cubic Out + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 013: EaseCubicInOut() (4 input parameters) + Name: EaseCubicInOut + Return type: float + Description: Ease: Cubic In Out + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 014: EaseQuadIn() (4 input parameters) + Name: EaseQuadIn + Return type: float + Description: Ease: Quadratic In + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 015: EaseQuadOut() (4 input parameters) + Name: EaseQuadOut + Return type: float + Description: Ease: Quadratic Out + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 016: EaseQuadInOut() (4 input parameters) + Name: EaseQuadInOut + Return type: float + Description: Ease: Quadratic In Out + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 017: EaseExpoIn() (4 input parameters) + Name: EaseExpoIn + Return type: float + Description: Ease: Exponential In + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 018: EaseExpoOut() (4 input parameters) + Name: EaseExpoOut + Return type: float + Description: Ease: Exponential Out + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 019: EaseExpoInOut() (4 input parameters) + Name: EaseExpoInOut + Return type: float + Description: Ease: Exponential In Out + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 020: EaseBackIn() (4 input parameters) + Name: EaseBackIn + Return type: float + Description: Ease: Back In + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 021: EaseBackOut() (4 input parameters) + Name: EaseBackOut + Return type: float + Description: Ease: Back Out + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 022: EaseBackInOut() (4 input parameters) + Name: EaseBackInOut + Return type: float + Description: Ease: Back In Out + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 023: EaseBounceOut() (4 input parameters) + Name: EaseBounceOut + Return type: float + Description: Ease: Bounce Out + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 024: EaseBounceIn() (4 input parameters) + Name: EaseBounceIn + Return type: float + Description: Ease: Bounce In + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 025: EaseBounceInOut() (4 input parameters) + Name: EaseBounceInOut + Return type: float + Description: Ease: Bounce In Out + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 026: EaseElasticIn() (4 input parameters) + Name: EaseElasticIn + Return type: float + Description: Ease: Elastic In + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 027: EaseElasticOut() (4 input parameters) + Name: EaseElasticOut + Return type: float + Description: Ease: Elastic Out + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) +Function 028: EaseElasticInOut() (4 input parameters) + Name: EaseElasticInOut + Return type: float + Description: Ease: Elastic In Out + Param[1]: t (type: float) + Param[2]: b (type: float) + Param[3]: c (type: float) + Param[4]: d (type: float) diff --git a/raylib-api/reasings.xml b/raylib-api/reasings.xml new file mode 100644 index 0000000..5475a87 --- /dev/null +++ b/raylib-api/reasings.xml @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/raylib-api/rlgl.json b/raylib-api/rlgl.json new file mode 100644 index 0000000..1190ef1 --- /dev/null +++ b/raylib-api/rlgl.json @@ -0,0 +1,3264 @@ +{ + "defines": [ + { + "name": "RLGL_H", + "type": "GUARD", + "value": "", + "description": "" + }, + { + "name": "RLGL_VERSION", + "type": "STRING", + "value": "4.5", + "description": "" + }, + { + "name": "RLAPI", + "type": "UNKNOWN", + "value": "__declspec(dllexport)", + "description": "We are building the library as a Win32 shared library (.dll)" + }, + { + "name": "TRACELOG(level, ...)", + "type": "MACRO", + "value": "(void)0", + "description": "" + }, + { + "name": "TRACELOGD(...)", + "type": "MACRO", + "value": "(void)0", + "description": "" + }, + { + "name": "RL_MALLOC(sz)", + "type": "MACRO", + "value": "malloc(sz)", + "description": "" + }, + { + "name": "RL_CALLOC(n,sz)", + "type": "MACRO", + "value": "calloc(n,sz)", + "description": "" + }, + { + "name": "RL_REALLOC(n,sz)", + "type": "MACRO", + "value": "realloc(n,sz)", + "description": "" + }, + { + "name": "RL_FREE(p)", + "type": "MACRO", + "value": "free(p)", + "description": "" + }, + { + "name": "GRAPHICS_API_OPENGL_33", + "type": "GUARD", + "value": "", + "description": "" + }, + { + "name": "RLGL_RENDER_TEXTURES_HINT", + "type": "GUARD", + "value": "", + "description": "" + }, + { + "name": "RL_DEFAULT_BATCH_BUFFER_ELEMENTS", + "type": "INT", + "value": 8192, + "description": "" + }, + { + "name": "RL_DEFAULT_BATCH_BUFFERS", + "type": "INT", + "value": 1, + "description": "Default number of batch buffers (multi-buffering)" + }, + { + "name": "RL_DEFAULT_BATCH_DRAWCALLS", + "type": "INT", + "value": 256, + "description": "Default number of batch draw calls (by state changes: mode, texture)" + }, + { + "name": "RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS", + "type": "INT", + "value": 4, + "description": "Maximum number of textures units that can be activated on batch drawing (SetShaderValueTexture())" + }, + { + "name": "RL_MAX_MATRIX_STACK_SIZE", + "type": "INT", + "value": 32, + "description": "Maximum size of Matrix stack" + }, + { + "name": "RL_MAX_SHADER_LOCATIONS", + "type": "INT", + "value": 32, + "description": "Maximum number of shader locations supported" + }, + { + "name": "RL_CULL_DISTANCE_NEAR", + "type": "DOUBLE", + "value": 0.01, + "description": "Default near cull distance" + }, + { + "name": "RL_CULL_DISTANCE_FAR", + "type": "DOUBLE", + "value": 1000.0, + "description": "Default far cull distance" + }, + { + "name": "RL_TEXTURE_WRAP_S", + "type": "INT", + "value": 10242, + "description": "GL_TEXTURE_WRAP_S" + }, + { + "name": "RL_TEXTURE_WRAP_T", + "type": "INT", + "value": 10243, + "description": "GL_TEXTURE_WRAP_T" + }, + { + "name": "RL_TEXTURE_MAG_FILTER", + "type": "INT", + "value": 10240, + "description": "GL_TEXTURE_MAG_FILTER" + }, + { + "name": "RL_TEXTURE_MIN_FILTER", + "type": "INT", + "value": 10241, + "description": "GL_TEXTURE_MIN_FILTER" + }, + { + "name": "RL_TEXTURE_FILTER_NEAREST", + "type": "INT", + "value": 9728, + "description": "GL_NEAREST" + }, + { + "name": "RL_TEXTURE_FILTER_LINEAR", + "type": "INT", + "value": 9729, + "description": "GL_LINEAR" + }, + { + "name": "RL_TEXTURE_FILTER_MIP_NEAREST", + "type": "INT", + "value": 9984, + "description": "GL_NEAREST_MIPMAP_NEAREST" + }, + { + "name": "RL_TEXTURE_FILTER_NEAREST_MIP_LINEAR", + "type": "INT", + "value": 9986, + "description": "GL_NEAREST_MIPMAP_LINEAR" + }, + { + "name": "RL_TEXTURE_FILTER_LINEAR_MIP_NEAREST", + "type": "INT", + "value": 9985, + "description": "GL_LINEAR_MIPMAP_NEAREST" + }, + { + "name": "RL_TEXTURE_FILTER_MIP_LINEAR", + "type": "INT", + "value": 9987, + "description": "GL_LINEAR_MIPMAP_LINEAR" + }, + { + "name": "RL_TEXTURE_FILTER_ANISOTROPIC", + "type": "INT", + "value": 12288, + "description": "Anisotropic filter (custom identifier)" + }, + { + "name": "RL_TEXTURE_MIPMAP_BIAS_RATIO", + "type": "INT", + "value": 16384, + "description": "Texture mipmap bias, percentage ratio (custom identifier)" + }, + { + "name": "RL_TEXTURE_WRAP_REPEAT", + "type": "INT", + "value": 10497, + "description": "GL_REPEAT" + }, + { + "name": "RL_TEXTURE_WRAP_CLAMP", + "type": "INT", + "value": 33071, + "description": "GL_CLAMP_TO_EDGE" + }, + { + "name": "RL_TEXTURE_WRAP_MIRROR_REPEAT", + "type": "INT", + "value": 33648, + "description": "GL_MIRRORED_REPEAT" + }, + { + "name": "RL_TEXTURE_WRAP_MIRROR_CLAMP", + "type": "INT", + "value": 34626, + "description": "GL_MIRROR_CLAMP_EXT" + }, + { + "name": "RL_MODELVIEW", + "type": "INT", + "value": 5888, + "description": "GL_MODELVIEW" + }, + { + "name": "RL_PROJECTION", + "type": "INT", + "value": 5889, + "description": "GL_PROJECTION" + }, + { + "name": "RL_TEXTURE", + "type": "INT", + "value": 5890, + "description": "GL_TEXTURE" + }, + { + "name": "RL_LINES", + "type": "INT", + "value": 1, + "description": "GL_LINES" + }, + { + "name": "RL_TRIANGLES", + "type": "INT", + "value": 4, + "description": "GL_TRIANGLES" + }, + { + "name": "RL_QUADS", + "type": "INT", + "value": 7, + "description": "GL_QUADS" + }, + { + "name": "RL_UNSIGNED_BYTE", + "type": "INT", + "value": 5121, + "description": "GL_UNSIGNED_BYTE" + }, + { + "name": "RL_FLOAT", + "type": "INT", + "value": 5126, + "description": "GL_FLOAT" + }, + { + "name": "RL_STREAM_DRAW", + "type": "INT", + "value": 35040, + "description": "GL_STREAM_DRAW" + }, + { + "name": "RL_STREAM_READ", + "type": "INT", + "value": 35041, + "description": "GL_STREAM_READ" + }, + { + "name": "RL_STREAM_COPY", + "type": "INT", + "value": 35042, + "description": "GL_STREAM_COPY" + }, + { + "name": "RL_STATIC_DRAW", + "type": "INT", + "value": 35044, + "description": "GL_STATIC_DRAW" + }, + { + "name": "RL_STATIC_READ", + "type": "INT", + "value": 35045, + "description": "GL_STATIC_READ" + }, + { + "name": "RL_STATIC_COPY", + "type": "INT", + "value": 35046, + "description": "GL_STATIC_COPY" + }, + { + "name": "RL_DYNAMIC_DRAW", + "type": "INT", + "value": 35048, + "description": "GL_DYNAMIC_DRAW" + }, + { + "name": "RL_DYNAMIC_READ", + "type": "INT", + "value": 35049, + "description": "GL_DYNAMIC_READ" + }, + { + "name": "RL_DYNAMIC_COPY", + "type": "INT", + "value": 35050, + "description": "GL_DYNAMIC_COPY" + }, + { + "name": "RL_FRAGMENT_SHADER", + "type": "INT", + "value": 35632, + "description": "GL_FRAGMENT_SHADER" + }, + { + "name": "RL_VERTEX_SHADER", + "type": "INT", + "value": 35633, + "description": "GL_VERTEX_SHADER" + }, + { + "name": "RL_COMPUTE_SHADER", + "type": "INT", + "value": 37305, + "description": "GL_COMPUTE_SHADER" + }, + { + "name": "RL_ZERO", + "type": "INT", + "value": 0, + "description": "GL_ZERO" + }, + { + "name": "RL_ONE", + "type": "INT", + "value": 1, + "description": "GL_ONE" + }, + { + "name": "RL_SRC_COLOR", + "type": "INT", + "value": 768, + "description": "GL_SRC_COLOR" + }, + { + "name": "RL_ONE_MINUS_SRC_COLOR", + "type": "INT", + "value": 769, + "description": "GL_ONE_MINUS_SRC_COLOR" + }, + { + "name": "RL_SRC_ALPHA", + "type": "INT", + "value": 770, + "description": "GL_SRC_ALPHA" + }, + { + "name": "RL_ONE_MINUS_SRC_ALPHA", + "type": "INT", + "value": 771, + "description": "GL_ONE_MINUS_SRC_ALPHA" + }, + { + "name": "RL_DST_ALPHA", + "type": "INT", + "value": 772, + "description": "GL_DST_ALPHA" + }, + { + "name": "RL_ONE_MINUS_DST_ALPHA", + "type": "INT", + "value": 773, + "description": "GL_ONE_MINUS_DST_ALPHA" + }, + { + "name": "RL_DST_COLOR", + "type": "INT", + "value": 774, + "description": "GL_DST_COLOR" + }, + { + "name": "RL_ONE_MINUS_DST_COLOR", + "type": "INT", + "value": 775, + "description": "GL_ONE_MINUS_DST_COLOR" + }, + { + "name": "RL_SRC_ALPHA_SATURATE", + "type": "INT", + "value": 776, + "description": "GL_SRC_ALPHA_SATURATE" + }, + { + "name": "RL_CONSTANT_COLOR", + "type": "INT", + "value": 32769, + "description": "GL_CONSTANT_COLOR" + }, + { + "name": "RL_ONE_MINUS_CONSTANT_COLOR", + "type": "INT", + "value": 32770, + "description": "GL_ONE_MINUS_CONSTANT_COLOR" + }, + { + "name": "RL_CONSTANT_ALPHA", + "type": "INT", + "value": 32771, + "description": "GL_CONSTANT_ALPHA" + }, + { + "name": "RL_ONE_MINUS_CONSTANT_ALPHA", + "type": "INT", + "value": 32772, + "description": "GL_ONE_MINUS_CONSTANT_ALPHA" + }, + { + "name": "RL_FUNC_ADD", + "type": "INT", + "value": 32774, + "description": "GL_FUNC_ADD" + }, + { + "name": "RL_MIN", + "type": "INT", + "value": 32775, + "description": "GL_MIN" + }, + { + "name": "RL_MAX", + "type": "INT", + "value": 32776, + "description": "GL_MAX" + }, + { + "name": "RL_FUNC_SUBTRACT", + "type": "INT", + "value": 32778, + "description": "GL_FUNC_SUBTRACT" + }, + { + "name": "RL_FUNC_REVERSE_SUBTRACT", + "type": "INT", + "value": 32779, + "description": "GL_FUNC_REVERSE_SUBTRACT" + }, + { + "name": "RL_BLEND_EQUATION", + "type": "INT", + "value": 32777, + "description": "GL_BLEND_EQUATION" + }, + { + "name": "RL_BLEND_EQUATION_RGB", + "type": "INT", + "value": 32777, + "description": "GL_BLEND_EQUATION_RGB // (Same as BLEND_EQUATION)" + }, + { + "name": "RL_BLEND_EQUATION_ALPHA", + "type": "INT", + "value": 34877, + "description": "GL_BLEND_EQUATION_ALPHA" + }, + { + "name": "RL_BLEND_DST_RGB", + "type": "INT", + "value": 32968, + "description": "GL_BLEND_DST_RGB" + }, + { + "name": "RL_BLEND_SRC_RGB", + "type": "INT", + "value": 32969, + "description": "GL_BLEND_SRC_RGB" + }, + { + "name": "RL_BLEND_DST_ALPHA", + "type": "INT", + "value": 32970, + "description": "GL_BLEND_DST_ALPHA" + }, + { + "name": "RL_BLEND_SRC_ALPHA", + "type": "INT", + "value": 32971, + "description": "GL_BLEND_SRC_ALPHA" + }, + { + "name": "RL_BLEND_COLOR", + "type": "INT", + "value": 32773, + "description": "GL_BLEND_COLOR" + }, + { + "name": "RL_MATRIX_TYPE", + "type": "GUARD", + "value": "", + "description": "" + }, + { + "name": "RL_SHADER_LOC_MAP_DIFFUSE", + "type": "UNKNOWN", + "value": "RL_SHADER_LOC_MAP_ALBEDO", + "description": "" + }, + { + "name": "RL_SHADER_LOC_MAP_SPECULAR", + "type": "UNKNOWN", + "value": "RL_SHADER_LOC_MAP_METALNESS", + "description": "" + } + ], + "structs": [ + { + "name": "Matrix", + "description": "Matrix, 4x4 components, column major, OpenGL style, right handed", + "fields": [ + { + "type": "float", + "name": "m0", + "description": "Matrix first row (4 components)" + }, + { + "type": "float", + "name": "m4", + "description": "Matrix first row (4 components)" + }, + { + "type": "float", + "name": "m8", + "description": "Matrix first row (4 components)" + }, + { + "type": "float", + "name": "m12", + "description": "Matrix first row (4 components)" + }, + { + "type": "float", + "name": "m1", + "description": "Matrix second row (4 components)" + }, + { + "type": "float", + "name": "m5", + "description": "Matrix second row (4 components)" + }, + { + "type": "float", + "name": "m9", + "description": "Matrix second row (4 components)" + }, + { + "type": "float", + "name": "m13", + "description": "Matrix second row (4 components)" + }, + { + "type": "float", + "name": "m2", + "description": "Matrix third row (4 components)" + }, + { + "type": "float", + "name": "m6", + "description": "Matrix third row (4 components)" + }, + { + "type": "float", + "name": "m10", + "description": "Matrix third row (4 components)" + }, + { + "type": "float", + "name": "m14", + "description": "Matrix third row (4 components)" + }, + { + "type": "float", + "name": "m3", + "description": "Matrix fourth row (4 components)" + }, + { + "type": "float", + "name": "m7", + "description": "Matrix fourth row (4 components)" + }, + { + "type": "float", + "name": "m11", + "description": "Matrix fourth row (4 components)" + }, + { + "type": "float", + "name": "m15", + "description": "Matrix fourth row (4 components)" + } + ] + }, + { + "name": "rlVertexBuffer", + "description": "Dynamic vertex buffers (position + texcoords + colors + indices arrays)", + "fields": [ + { + "type": "int", + "name": "elementCount", + "description": "Number of elements in the buffer (QUADS)" + }, + { + "type": "float *", + "name": "vertices", + "description": "Vertex position (XYZ - 3 components per vertex) (shader-location = 0)" + }, + { + "type": "float *", + "name": "texcoords", + "description": "Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1)" + }, + { + "type": "unsigned char *", + "name": "colors", + "description": "Vertex colors (RGBA - 4 components per vertex) (shader-location = 3)" + }, + { + "type": "#if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENunsigned int *", + "name": "indices", + "description": "Vertex indices (in case vertex data comes indexed) (6 indices per quad)" + }, + { + "type": "unsigned int *", + "name": "indices", + "description": "Vertex indices (in case vertex data comes indexed) (6 indices per quad)" + }, + { + "type": "#endif", + "name": "indices", + "description": "Vertex indices (in case vertex data comes indexed) (6 indices per quad)" + }, + { + "type": "#if defined(GRAPHICS_API_OPENGL_ES2)", + "name": "indices", + "description": "Vertex indices (in case vertex data comes indexed) (6 indices per quad)" + }, + { + "type": "unsigned short *", + "name": "indices", + "description": "Vertex indices (in case vertex data comes indexed) (6 indices per quad)" + }, + { + "type": "#endif", + "name": "vaoId", + "description": "OpenGL Vertex Array Object id" + }, + { + "type": "unsigned int", + "name": "vaoId", + "description": "OpenGL Vertex Array Object id" + }, + { + "type": "unsigned int[4]", + "name": "vboId", + "description": "OpenGL Vertex Buffer Objects id (4 types of vertex data)" + } + ] + }, + { + "name": "rlDrawCall", + "description": "of those state-change happens (this is done in core module)", + "fields": [ + { + "type": "int", + "name": "mode", + "description": "Drawing mode: LINES, TRIANGLES, QUADS" + }, + { + "type": "int", + "name": "vertexCount", + "description": "Number of vertex of the draw" + }, + { + "type": "int", + "name": "vertexAlignment", + "description": "Number of vertex required for index alignment (LINES, TRIANGLES)" + }, + { + "type": "unsigned int", + "name": "textureId", + "description": "Texture id to be used on the draw -> Use to create new draw call if changes" + } + ] + }, + { + "name": "rlRenderBatch", + "description": "rlRenderBatch type", + "fields": [ + { + "type": "int", + "name": "bufferCount", + "description": "Number of vertex buffers (multi-buffering support)" + }, + { + "type": "int", + "name": "currentBuffer", + "description": "Current buffer tracking in case of multi-buffering" + }, + { + "type": "rlVertexBuffer *", + "name": "vertexBuffer", + "description": "Dynamic buffer(s) for vertex data" + }, + { + "type": "rlDrawCall *", + "name": "draws", + "description": "Draw calls array, depends on textureId" + }, + { + "type": "int", + "name": "drawCounter", + "description": "Draw calls counter" + }, + { + "type": "float", + "name": "currentDepth", + "description": "Current depth value for next draw" + } + ] + } + ], + "aliases": [ + ], + "enums": [ + { + "name": "rlGlVersion", + "description": "OpenGL version", + "values": [ + { + "name": "RL_OPENGL_11", + "value": 1, + "description": "OpenGL 1.1" + }, + { + "name": "RL_OPENGL_21", + "value": 2, + "description": "OpenGL 2.1 (GLSL 120)" + }, + { + "name": "RL_OPENGL_33", + "value": 3, + "description": "OpenGL 3.3 (GLSL 330)" + }, + { + "name": "RL_OPENGL_43", + "value": 4, + "description": "OpenGL 4.3 (using GLSL 330)" + }, + { + "name": "RL_OPENGL_ES_20", + "value": 5, + "description": "OpenGL ES 2.0 (GLSL 100)" + } + ] + }, + { + "name": "rlTraceLogLevel", + "description": "Trace log level", + "values": [ + { + "name": "RL_LOG_ALL", + "value": 0, + "description": "Display all logs" + }, + { + "name": "RL_LOG_TRACE", + "value": 1, + "description": "Trace logging, intended for internal use only" + }, + { + "name": "RL_LOG_DEBUG", + "value": 2, + "description": "Debug logging, used for internal debugging, it should be disabled on release builds" + }, + { + "name": "RL_LOG_INFO", + "value": 3, + "description": "Info logging, used for program execution info" + }, + { + "name": "RL_LOG_WARNING", + "value": 4, + "description": "Warning logging, used on recoverable failures" + }, + { + "name": "RL_LOG_ERROR", + "value": 5, + "description": "Error logging, used on unrecoverable failures" + }, + { + "name": "RL_LOG_FATAL", + "value": 6, + "description": "Fatal logging, used to abort program: exit(EXIT_FAILURE)" + }, + { + "name": "RL_LOG_NONE", + "value": 7, + "description": "Disable logging" + } + ] + }, + { + "name": "rlPixelFormat", + "description": "Texture pixel formats", + "values": [ + { + "name": "RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE", + "value": 1, + "description": "8 bit per pixel (no alpha)" + }, + { + "name": "RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA", + "value": 2, + "description": "8*2 bpp (2 channels)" + }, + { + "name": "RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5", + "value": 3, + "description": "16 bpp" + }, + { + "name": "RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8", + "value": 4, + "description": "24 bpp" + }, + { + "name": "RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1", + "value": 5, + "description": "16 bpp (1 bit alpha)" + }, + { + "name": "RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4", + "value": 6, + "description": "16 bpp (4 bit alpha)" + }, + { + "name": "RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8", + "value": 7, + "description": "32 bpp" + }, + { + "name": "RL_PIXELFORMAT_UNCOMPRESSED_R32", + "value": 8, + "description": "32 bpp (1 channel - float)" + }, + { + "name": "RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32", + "value": 9, + "description": "32*3 bpp (3 channels - float)" + }, + { + "name": "RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32", + "value": 10, + "description": "32*4 bpp (4 channels - float)" + }, + { + "name": "RL_PIXELFORMAT_COMPRESSED_DXT1_RGB", + "value": 11, + "description": "4 bpp (no alpha)" + }, + { + "name": "RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA", + "value": 12, + "description": "4 bpp (1 bit alpha)" + }, + { + "name": "RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA", + "value": 13, + "description": "8 bpp" + }, + { + "name": "RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA", + "value": 14, + "description": "8 bpp" + }, + { + "name": "RL_PIXELFORMAT_COMPRESSED_ETC1_RGB", + "value": 15, + "description": "4 bpp" + }, + { + "name": "RL_PIXELFORMAT_COMPRESSED_ETC2_RGB", + "value": 16, + "description": "4 bpp" + }, + { + "name": "RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA", + "value": 17, + "description": "8 bpp" + }, + { + "name": "RL_PIXELFORMAT_COMPRESSED_PVRT_RGB", + "value": 18, + "description": "4 bpp" + }, + { + "name": "RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA", + "value": 19, + "description": "4 bpp" + }, + { + "name": "RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA", + "value": 20, + "description": "8 bpp" + }, + { + "name": "RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA", + "value": 21, + "description": "2 bpp" + } + ] + }, + { + "name": "rlTextureFilter", + "description": "Texture parameters: filter mode", + "values": [ + { + "name": "RL_TEXTURE_FILTER_POINT", + "value": 0, + "description": "No filter, just pixel approximation" + }, + { + "name": "RL_TEXTURE_FILTER_BILINEAR", + "value": 1, + "description": "Linear filtering" + }, + { + "name": "RL_TEXTURE_FILTER_TRILINEAR", + "value": 2, + "description": "Trilinear filtering (linear with mipmaps)" + }, + { + "name": "RL_TEXTURE_FILTER_ANISOTROPIC_4X", + "value": 3, + "description": "Anisotropic filtering 4x" + }, + { + "name": "RL_TEXTURE_FILTER_ANISOTROPIC_8X", + "value": 4, + "description": "Anisotropic filtering 8x" + }, + { + "name": "RL_TEXTURE_FILTER_ANISOTROPIC_16X", + "value": 5, + "description": "Anisotropic filtering 16x" + } + ] + }, + { + "name": "rlBlendMode", + "description": "Color blending modes (pre-defined)", + "values": [ + { + "name": "RL_BLEND_ALPHA", + "value": 0, + "description": "Blend textures considering alpha (default)" + }, + { + "name": "RL_BLEND_ADDITIVE", + "value": 1, + "description": "Blend textures adding colors" + }, + { + "name": "RL_BLEND_MULTIPLIED", + "value": 2, + "description": "Blend textures multiplying colors" + }, + { + "name": "RL_BLEND_ADD_COLORS", + "value": 3, + "description": "Blend textures adding colors (alternative)" + }, + { + "name": "RL_BLEND_SUBTRACT_COLORS", + "value": 4, + "description": "Blend textures subtracting colors (alternative)" + }, + { + "name": "RL_BLEND_ALPHA_PREMULTIPLY", + "value": 5, + "description": "Blend premultiplied textures considering alpha" + }, + { + "name": "RL_BLEND_CUSTOM", + "value": 6, + "description": "Blend textures using custom src/dst factors (use rlSetBlendFactors())" + }, + { + "name": "RL_BLEND_CUSTOM_SEPARATE", + "value": 7, + "description": "Blend textures using custom src/dst factors (use rlSetBlendFactorsSeparate())" + } + ] + }, + { + "name": "rlShaderLocationIndex", + "description": "Shader location point type", + "values": [ + { + "name": "RL_SHADER_LOC_VERTEX_POSITION", + "value": 0, + "description": "Shader location: vertex attribute: position" + }, + { + "name": "RL_SHADER_LOC_VERTEX_TEXCOORD01", + "value": 1, + "description": "Shader location: vertex attribute: texcoord01" + }, + { + "name": "RL_SHADER_LOC_VERTEX_TEXCOORD02", + "value": 2, + "description": "Shader location: vertex attribute: texcoord02" + }, + { + "name": "RL_SHADER_LOC_VERTEX_NORMAL", + "value": 3, + "description": "Shader location: vertex attribute: normal" + }, + { + "name": "RL_SHADER_LOC_VERTEX_TANGENT", + "value": 4, + "description": "Shader location: vertex attribute: tangent" + }, + { + "name": "RL_SHADER_LOC_VERTEX_COLOR", + "value": 5, + "description": "Shader location: vertex attribute: color" + }, + { + "name": "RL_SHADER_LOC_MATRIX_MVP", + "value": 6, + "description": "Shader location: matrix uniform: model-view-projection" + }, + { + "name": "RL_SHADER_LOC_MATRIX_VIEW", + "value": 7, + "description": "Shader location: matrix uniform: view (camera transform)" + }, + { + "name": "RL_SHADER_LOC_MATRIX_PROJECTION", + "value": 8, + "description": "Shader location: matrix uniform: projection" + }, + { + "name": "RL_SHADER_LOC_MATRIX_MODEL", + "value": 9, + "description": "Shader location: matrix uniform: model (transform)" + }, + { + "name": "RL_SHADER_LOC_MATRIX_NORMAL", + "value": 10, + "description": "Shader location: matrix uniform: normal" + }, + { + "name": "RL_SHADER_LOC_VECTOR_VIEW", + "value": 11, + "description": "Shader location: vector uniform: view" + }, + { + "name": "RL_SHADER_LOC_COLOR_DIFFUSE", + "value": 12, + "description": "Shader location: vector uniform: diffuse color" + }, + { + "name": "RL_SHADER_LOC_COLOR_SPECULAR", + "value": 13, + "description": "Shader location: vector uniform: specular color" + }, + { + "name": "RL_SHADER_LOC_COLOR_AMBIENT", + "value": 14, + "description": "Shader location: vector uniform: ambient color" + }, + { + "name": "RL_SHADER_LOC_MAP_ALBEDO", + "value": 15, + "description": "Shader location: sampler2d texture: albedo (same as: RL_SHADER_LOC_MAP_DIFFUSE)" + }, + { + "name": "RL_SHADER_LOC_MAP_METALNESS", + "value": 16, + "description": "Shader location: sampler2d texture: metalness (same as: RL_SHADER_LOC_MAP_SPECULAR)" + }, + { + "name": "RL_SHADER_LOC_MAP_NORMAL", + "value": 17, + "description": "Shader location: sampler2d texture: normal" + }, + { + "name": "RL_SHADER_LOC_MAP_ROUGHNESS", + "value": 18, + "description": "Shader location: sampler2d texture: roughness" + }, + { + "name": "RL_SHADER_LOC_MAP_OCCLUSION", + "value": 19, + "description": "Shader location: sampler2d texture: occlusion" + }, + { + "name": "RL_SHADER_LOC_MAP_EMISSION", + "value": 20, + "description": "Shader location: sampler2d texture: emission" + }, + { + "name": "RL_SHADER_LOC_MAP_HEIGHT", + "value": 21, + "description": "Shader location: sampler2d texture: height" + }, + { + "name": "RL_SHADER_LOC_MAP_CUBEMAP", + "value": 22, + "description": "Shader location: samplerCube texture: cubemap" + }, + { + "name": "RL_SHADER_LOC_MAP_IRRADIANCE", + "value": 23, + "description": "Shader location: samplerCube texture: irradiance" + }, + { + "name": "RL_SHADER_LOC_MAP_PREFILTER", + "value": 24, + "description": "Shader location: samplerCube texture: prefilter" + }, + { + "name": "RL_SHADER_LOC_MAP_BRDF", + "value": 25, + "description": "Shader location: sampler2d texture: brdf" + } + ] + }, + { + "name": "rlShaderUniformDataType", + "description": "Shader uniform data type", + "values": [ + { + "name": "RL_SHADER_UNIFORM_FLOAT", + "value": 0, + "description": "Shader uniform type: float" + }, + { + "name": "RL_SHADER_UNIFORM_VEC2", + "value": 1, + "description": "Shader uniform type: vec2 (2 float)" + }, + { + "name": "RL_SHADER_UNIFORM_VEC3", + "value": 2, + "description": "Shader uniform type: vec3 (3 float)" + }, + { + "name": "RL_SHADER_UNIFORM_VEC4", + "value": 3, + "description": "Shader uniform type: vec4 (4 float)" + }, + { + "name": "RL_SHADER_UNIFORM_INT", + "value": 4, + "description": "Shader uniform type: int" + }, + { + "name": "RL_SHADER_UNIFORM_IVEC2", + "value": 5, + "description": "Shader uniform type: ivec2 (2 int)" + }, + { + "name": "RL_SHADER_UNIFORM_IVEC3", + "value": 6, + "description": "Shader uniform type: ivec3 (3 int)" + }, + { + "name": "RL_SHADER_UNIFORM_IVEC4", + "value": 7, + "description": "Shader uniform type: ivec4 (4 int)" + }, + { + "name": "RL_SHADER_UNIFORM_SAMPLER2D", + "value": 8, + "description": "Shader uniform type: sampler2d" + } + ] + }, + { + "name": "rlShaderAttributeDataType", + "description": "Shader attribute data types", + "values": [ + { + "name": "RL_SHADER_ATTRIB_FLOAT", + "value": 0, + "description": "Shader attribute type: float" + }, + { + "name": "RL_SHADER_ATTRIB_VEC2", + "value": 1, + "description": "Shader attribute type: vec2 (2 float)" + }, + { + "name": "RL_SHADER_ATTRIB_VEC3", + "value": 2, + "description": "Shader attribute type: vec3 (3 float)" + }, + { + "name": "RL_SHADER_ATTRIB_VEC4", + "value": 3, + "description": "Shader attribute type: vec4 (4 float)" + } + ] + }, + { + "name": "rlFramebufferAttachType", + "description": "Framebuffer attachment type", + "values": [ + { + "name": "RL_ATTACHMENT_COLOR_CHANNEL0", + "value": 0, + "description": "Framebuffer attachment type: color 0" + }, + { + "name": "RL_ATTACHMENT_COLOR_CHANNEL1", + "value": 1, + "description": "Framebuffer attachment type: color 1" + }, + { + "name": "RL_ATTACHMENT_COLOR_CHANNEL2", + "value": 2, + "description": "Framebuffer attachment type: color 2" + }, + { + "name": "RL_ATTACHMENT_COLOR_CHANNEL3", + "value": 3, + "description": "Framebuffer attachment type: color 3" + }, + { + "name": "RL_ATTACHMENT_COLOR_CHANNEL4", + "value": 4, + "description": "Framebuffer attachment type: color 4" + }, + { + "name": "RL_ATTACHMENT_COLOR_CHANNEL5", + "value": 5, + "description": "Framebuffer attachment type: color 5" + }, + { + "name": "RL_ATTACHMENT_COLOR_CHANNEL6", + "value": 6, + "description": "Framebuffer attachment type: color 6" + }, + { + "name": "RL_ATTACHMENT_COLOR_CHANNEL7", + "value": 7, + "description": "Framebuffer attachment type: color 7" + }, + { + "name": "RL_ATTACHMENT_DEPTH", + "value": 100, + "description": "Framebuffer attachment type: depth" + }, + { + "name": "RL_ATTACHMENT_STENCIL", + "value": 200, + "description": "Framebuffer attachment type: stencil" + } + ] + }, + { + "name": "rlFramebufferAttachTextureType", + "description": "Framebuffer texture attachment type", + "values": [ + { + "name": "RL_ATTACHMENT_CUBEMAP_POSITIVE_X", + "value": 0, + "description": "Framebuffer texture attachment type: cubemap, +X side" + }, + { + "name": "RL_ATTACHMENT_CUBEMAP_NEGATIVE_X", + "value": 1, + "description": "Framebuffer texture attachment type: cubemap, -X side" + }, + { + "name": "RL_ATTACHMENT_CUBEMAP_POSITIVE_Y", + "value": 2, + "description": "Framebuffer texture attachment type: cubemap, +Y side" + }, + { + "name": "RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y", + "value": 3, + "description": "Framebuffer texture attachment type: cubemap, -Y side" + }, + { + "name": "RL_ATTACHMENT_CUBEMAP_POSITIVE_Z", + "value": 4, + "description": "Framebuffer texture attachment type: cubemap, +Z side" + }, + { + "name": "RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z", + "value": 5, + "description": "Framebuffer texture attachment type: cubemap, -Z side" + }, + { + "name": "RL_ATTACHMENT_TEXTURE2D", + "value": 100, + "description": "Framebuffer texture attachment type: texture2d" + }, + { + "name": "RL_ATTACHMENT_RENDERBUFFER", + "value": 200, + "description": "Framebuffer texture attachment type: renderbuffer" + } + ] + }, + { + "name": "rlCullMode", + "description": "Face culling mode", + "values": [ + { + "name": "RL_CULL_FACE_FRONT", + "value": 0, + "description": "" + }, + { + "name": "RL_CULL_FACE_BACK", + "value": 1, + "description": "" + } + ] + } + ], + "callbacks": [ + ], + "functions": [ + { + "name": "rlMatrixMode", + "description": "Choose the current matrix to be transformed", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "mode" + } + ] + }, + { + "name": "rlPushMatrix", + "description": "Push the current matrix to stack", + "returnType": "void" + }, + { + "name": "rlPopMatrix", + "description": "Pop latest inserted matrix from stack", + "returnType": "void" + }, + { + "name": "rlLoadIdentity", + "description": "Reset current matrix to identity matrix", + "returnType": "void" + }, + { + "name": "rlTranslatef", + "description": "Multiply the current matrix by a translation matrix", + "returnType": "void", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ] + }, + { + "name": "rlRotatef", + "description": "Multiply the current matrix by a rotation matrix", + "returnType": "void", + "params": [ + { + "type": "float", + "name": "angle" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ] + }, + { + "name": "rlScalef", + "description": "Multiply the current matrix by a scaling matrix", + "returnType": "void", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ] + }, + { + "name": "rlMultMatrixf", + "description": "Multiply the current matrix by another matrix", + "returnType": "void", + "params": [ + { + "type": "const float *", + "name": "matf" + } + ] + }, + { + "name": "rlFrustum", + "description": "", + "returnType": "void", + "params": [ + { + "type": "double", + "name": "left" + }, + { + "type": "double", + "name": "right" + }, + { + "type": "double", + "name": "bottom" + }, + { + "type": "double", + "name": "top" + }, + { + "type": "double", + "name": "znear" + }, + { + "type": "double", + "name": "zfar" + } + ] + }, + { + "name": "rlOrtho", + "description": "", + "returnType": "void", + "params": [ + { + "type": "double", + "name": "left" + }, + { + "type": "double", + "name": "right" + }, + { + "type": "double", + "name": "bottom" + }, + { + "type": "double", + "name": "top" + }, + { + "type": "double", + "name": "znear" + }, + { + "type": "double", + "name": "zfar" + } + ] + }, + { + "name": "rlViewport", + "description": "Set the viewport area", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "x" + }, + { + "type": "int", + "name": "y" + }, + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + } + ] + }, + { + "name": "rlBegin", + "description": "Initialize drawing mode (how to organize vertex)", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "mode" + } + ] + }, + { + "name": "rlEnd", + "description": "Finish vertex providing", + "returnType": "void" + }, + { + "name": "rlVertex2i", + "description": "Define one vertex (position) - 2 int", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "x" + }, + { + "type": "int", + "name": "y" + } + ] + }, + { + "name": "rlVertex2f", + "description": "Define one vertex (position) - 2 float", + "returnType": "void", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + } + ] + }, + { + "name": "rlVertex3f", + "description": "Define one vertex (position) - 3 float", + "returnType": "void", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ] + }, + { + "name": "rlTexCoord2f", + "description": "Define one vertex (texture coordinate) - 2 float", + "returnType": "void", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + } + ] + }, + { + "name": "rlNormal3f", + "description": "Define one vertex (normal) - 3 float", + "returnType": "void", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ] + }, + { + "name": "rlColor4ub", + "description": "Define one vertex (color) - 4 byte", + "returnType": "void", + "params": [ + { + "type": "unsigned char", + "name": "r" + }, + { + "type": "unsigned char", + "name": "g" + }, + { + "type": "unsigned char", + "name": "b" + }, + { + "type": "unsigned char", + "name": "a" + } + ] + }, + { + "name": "rlColor3f", + "description": "Define one vertex (color) - 3 float", + "returnType": "void", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ] + }, + { + "name": "rlColor4f", + "description": "Define one vertex (color) - 4 float", + "returnType": "void", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "w" + } + ] + }, + { + "name": "rlEnableVertexArray", + "description": "Enable vertex array (VAO, if supported)", + "returnType": "bool", + "params": [ + { + "type": "unsigned int", + "name": "vaoId" + } + ] + }, + { + "name": "rlDisableVertexArray", + "description": "Disable vertex array (VAO, if supported)", + "returnType": "void" + }, + { + "name": "rlEnableVertexBuffer", + "description": "Enable vertex buffer (VBO)", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "id" + } + ] + }, + { + "name": "rlDisableVertexBuffer", + "description": "Disable vertex buffer (VBO)", + "returnType": "void" + }, + { + "name": "rlEnableVertexBufferElement", + "description": "Enable vertex buffer element (VBO element)", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "id" + } + ] + }, + { + "name": "rlDisableVertexBufferElement", + "description": "Disable vertex buffer element (VBO element)", + "returnType": "void" + }, + { + "name": "rlEnableVertexAttribute", + "description": "Enable vertex attribute index", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "index" + } + ] + }, + { + "name": "rlDisableVertexAttribute", + "description": "Disable vertex attribute index", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "index" + } + ] + }, + { + "name": "rlEnableStatePointer", + "description": "Enable attribute state pointer", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "vertexAttribType" + }, + { + "type": "void *", + "name": "buffer" + } + ] + }, + { + "name": "rlDisableStatePointer", + "description": "Disable attribute state pointer", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "vertexAttribType" + } + ] + }, + { + "name": "rlActiveTextureSlot", + "description": "Select and active a texture slot", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "slot" + } + ] + }, + { + "name": "rlEnableTexture", + "description": "Enable texture", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "id" + } + ] + }, + { + "name": "rlDisableTexture", + "description": "Disable texture", + "returnType": "void" + }, + { + "name": "rlEnableTextureCubemap", + "description": "Enable texture cubemap", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "id" + } + ] + }, + { + "name": "rlDisableTextureCubemap", + "description": "Disable texture cubemap", + "returnType": "void" + }, + { + "name": "rlTextureParameters", + "description": "Set texture parameters (filter, wrap)", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "id" + }, + { + "type": "int", + "name": "param" + }, + { + "type": "int", + "name": "value" + } + ] + }, + { + "name": "rlCubemapParameters", + "description": "Set cubemap parameters (filter, wrap)", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "id" + }, + { + "type": "int", + "name": "param" + }, + { + "type": "int", + "name": "value" + } + ] + }, + { + "name": "rlEnableShader", + "description": "Enable shader program", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "id" + } + ] + }, + { + "name": "rlDisableShader", + "description": "Disable shader program", + "returnType": "void" + }, + { + "name": "rlEnableFramebuffer", + "description": "Enable render texture (fbo)", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "id" + } + ] + }, + { + "name": "rlDisableFramebuffer", + "description": "Disable render texture (fbo), return to default framebuffer", + "returnType": "void" + }, + { + "name": "rlActiveDrawBuffers", + "description": "Activate multiple draw color buffers", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "count" + } + ] + }, + { + "name": "rlEnableColorBlend", + "description": "Enable color blending", + "returnType": "void" + }, + { + "name": "rlDisableColorBlend", + "description": "Disable color blending", + "returnType": "void" + }, + { + "name": "rlEnableDepthTest", + "description": "Enable depth test", + "returnType": "void" + }, + { + "name": "rlDisableDepthTest", + "description": "Disable depth test", + "returnType": "void" + }, + { + "name": "rlEnableDepthMask", + "description": "Enable depth write", + "returnType": "void" + }, + { + "name": "rlDisableDepthMask", + "description": "Disable depth write", + "returnType": "void" + }, + { + "name": "rlEnableBackfaceCulling", + "description": "Enable backface culling", + "returnType": "void" + }, + { + "name": "rlDisableBackfaceCulling", + "description": "Disable backface culling", + "returnType": "void" + }, + { + "name": "rlSetCullFace", + "description": "Set face culling mode", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "mode" + } + ] + }, + { + "name": "rlEnableScissorTest", + "description": "Enable scissor test", + "returnType": "void" + }, + { + "name": "rlDisableScissorTest", + "description": "Disable scissor test", + "returnType": "void" + }, + { + "name": "rlScissor", + "description": "Scissor test", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "x" + }, + { + "type": "int", + "name": "y" + }, + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + } + ] + }, + { + "name": "rlEnableWireMode", + "description": "Enable wire mode", + "returnType": "void" + }, + { + "name": "rlDisableWireMode", + "description": "Disable wire mode", + "returnType": "void" + }, + { + "name": "rlSetLineWidth", + "description": "Set the line drawing width", + "returnType": "void", + "params": [ + { + "type": "float", + "name": "width" + } + ] + }, + { + "name": "rlGetLineWidth", + "description": "Get the line drawing width", + "returnType": "float" + }, + { + "name": "rlEnableSmoothLines", + "description": "Enable line aliasing", + "returnType": "void" + }, + { + "name": "rlDisableSmoothLines", + "description": "Disable line aliasing", + "returnType": "void" + }, + { + "name": "rlEnableStereoRender", + "description": "Enable stereo rendering", + "returnType": "void" + }, + { + "name": "rlDisableStereoRender", + "description": "Disable stereo rendering", + "returnType": "void" + }, + { + "name": "rlIsStereoRenderEnabled", + "description": "Check if stereo render is enabled", + "returnType": "bool" + }, + { + "name": "rlClearColor", + "description": "Clear color buffer with color", + "returnType": "void", + "params": [ + { + "type": "unsigned char", + "name": "r" + }, + { + "type": "unsigned char", + "name": "g" + }, + { + "type": "unsigned char", + "name": "b" + }, + { + "type": "unsigned char", + "name": "a" + } + ] + }, + { + "name": "rlClearScreenBuffers", + "description": "Clear used screen buffers (color and depth)", + "returnType": "void" + }, + { + "name": "rlCheckErrors", + "description": "Check and log OpenGL error codes", + "returnType": "void" + }, + { + "name": "rlSetBlendMode", + "description": "Set blending mode", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "mode" + } + ] + }, + { + "name": "rlSetBlendFactors", + "description": "Set blending mode factor and equation (using OpenGL factors)", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "glSrcFactor" + }, + { + "type": "int", + "name": "glDstFactor" + }, + { + "type": "int", + "name": "glEquation" + } + ] + }, + { + "name": "rlSetBlendFactorsSeparate", + "description": "Set blending mode factors and equations separately (using OpenGL factors)", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "glSrcRGB" + }, + { + "type": "int", + "name": "glDstRGB" + }, + { + "type": "int", + "name": "glSrcAlpha" + }, + { + "type": "int", + "name": "glDstAlpha" + }, + { + "type": "int", + "name": "glEqRGB" + }, + { + "type": "int", + "name": "glEqAlpha" + } + ] + }, + { + "name": "rlglInit", + "description": "Initialize rlgl (buffers, shaders, textures, states)", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + } + ] + }, + { + "name": "rlglClose", + "description": "De-initialize rlgl (buffers, shaders, textures)", + "returnType": "void" + }, + { + "name": "rlLoadExtensions", + "description": "Load OpenGL extensions (loader function required)", + "returnType": "void", + "params": [ + { + "type": "void *", + "name": "loader" + } + ] + }, + { + "name": "rlGetVersion", + "description": "Get current OpenGL version", + "returnType": "int" + }, + { + "name": "rlSetFramebufferWidth", + "description": "Set current framebuffer width", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "width" + } + ] + }, + { + "name": "rlGetFramebufferWidth", + "description": "Get default framebuffer width", + "returnType": "int" + }, + { + "name": "rlSetFramebufferHeight", + "description": "Set current framebuffer height", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "height" + } + ] + }, + { + "name": "rlGetFramebufferHeight", + "description": "Get default framebuffer height", + "returnType": "int" + }, + { + "name": "rlGetTextureIdDefault", + "description": "Get default texture id", + "returnType": "unsigned int" + }, + { + "name": "rlGetShaderIdDefault", + "description": "Get default shader id", + "returnType": "unsigned int" + }, + { + "name": "rlGetShaderLocsDefault", + "description": "Get default shader locations", + "returnType": "int *" + }, + { + "name": "rlLoadRenderBatch", + "description": "Load a render batch system", + "returnType": "rlRenderBatch", + "params": [ + { + "type": "int", + "name": "numBuffers" + }, + { + "type": "int", + "name": "bufferElements" + } + ] + }, + { + "name": "rlUnloadRenderBatch", + "description": "Unload render batch system", + "returnType": "void", + "params": [ + { + "type": "rlRenderBatch", + "name": "batch" + } + ] + }, + { + "name": "rlDrawRenderBatch", + "description": "Draw render batch data (Update->Draw->Reset)", + "returnType": "void", + "params": [ + { + "type": "rlRenderBatch *", + "name": "batch" + } + ] + }, + { + "name": "rlSetRenderBatchActive", + "description": "Set the active render batch for rlgl (NULL for default internal)", + "returnType": "void", + "params": [ + { + "type": "rlRenderBatch *", + "name": "batch" + } + ] + }, + { + "name": "rlDrawRenderBatchActive", + "description": "Update and draw internal render batch", + "returnType": "void" + }, + { + "name": "rlCheckRenderBatchLimit", + "description": "Check internal buffer overflow for a given number of vertex", + "returnType": "bool", + "params": [ + { + "type": "int", + "name": "vCount" + } + ] + }, + { + "name": "rlSetTexture", + "description": "Set current texture for render batch and check buffers limits", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "id" + } + ] + }, + { + "name": "rlLoadVertexArray", + "description": "Load vertex array (vao) if supported", + "returnType": "unsigned int" + }, + { + "name": "rlLoadVertexBuffer", + "description": "Load a vertex buffer attribute", + "returnType": "unsigned int", + "params": [ + { + "type": "const void *", + "name": "buffer" + }, + { + "type": "int", + "name": "size" + }, + { + "type": "bool", + "name": "dynamic" + } + ] + }, + { + "name": "rlLoadVertexBufferElement", + "description": "Load a new attributes element buffer", + "returnType": "unsigned int", + "params": [ + { + "type": "const void *", + "name": "buffer" + }, + { + "type": "int", + "name": "size" + }, + { + "type": "bool", + "name": "dynamic" + } + ] + }, + { + "name": "rlUpdateVertexBuffer", + "description": "Update GPU buffer with new data", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "bufferId" + }, + { + "type": "const void *", + "name": "data" + }, + { + "type": "int", + "name": "dataSize" + }, + { + "type": "int", + "name": "offset" + } + ] + }, + { + "name": "rlUpdateVertexBufferElements", + "description": "Update vertex buffer elements with new data", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "id" + }, + { + "type": "const void *", + "name": "data" + }, + { + "type": "int", + "name": "dataSize" + }, + { + "type": "int", + "name": "offset" + } + ] + }, + { + "name": "rlUnloadVertexArray", + "description": "", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "vaoId" + } + ] + }, + { + "name": "rlUnloadVertexBuffer", + "description": "", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "vboId" + } + ] + }, + { + "name": "rlSetVertexAttribute", + "description": "", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "index" + }, + { + "type": "int", + "name": "compSize" + }, + { + "type": "int", + "name": "type" + }, + { + "type": "bool", + "name": "normalized" + }, + { + "type": "int", + "name": "stride" + }, + { + "type": "const void *", + "name": "pointer" + } + ] + }, + { + "name": "rlSetVertexAttributeDivisor", + "description": "", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "index" + }, + { + "type": "int", + "name": "divisor" + } + ] + }, + { + "name": "rlSetVertexAttributeDefault", + "description": "Set vertex attribute default value", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "locIndex" + }, + { + "type": "const void *", + "name": "value" + }, + { + "type": "int", + "name": "attribType" + }, + { + "type": "int", + "name": "count" + } + ] + }, + { + "name": "rlDrawVertexArray", + "description": "", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "offset" + }, + { + "type": "int", + "name": "count" + } + ] + }, + { + "name": "rlDrawVertexArrayElements", + "description": "", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "offset" + }, + { + "type": "int", + "name": "count" + }, + { + "type": "const void *", + "name": "buffer" + } + ] + }, + { + "name": "rlDrawVertexArrayInstanced", + "description": "", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "offset" + }, + { + "type": "int", + "name": "count" + }, + { + "type": "int", + "name": "instances" + } + ] + }, + { + "name": "rlDrawVertexArrayElementsInstanced", + "description": "", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "offset" + }, + { + "type": "int", + "name": "count" + }, + { + "type": "const void *", + "name": "buffer" + }, + { + "type": "int", + "name": "instances" + } + ] + }, + { + "name": "rlLoadTexture", + "description": "Load texture in GPU", + "returnType": "unsigned int", + "params": [ + { + "type": "const void *", + "name": "data" + }, + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + }, + { + "type": "int", + "name": "format" + }, + { + "type": "int", + "name": "mipmapCount" + } + ] + }, + { + "name": "rlLoadTextureDepth", + "description": "Load depth texture/renderbuffer (to be attached to fbo)", + "returnType": "unsigned int", + "params": [ + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + }, + { + "type": "bool", + "name": "useRenderBuffer" + } + ] + }, + { + "name": "rlLoadTextureCubemap", + "description": "Load texture cubemap", + "returnType": "unsigned int", + "params": [ + { + "type": "const void *", + "name": "data" + }, + { + "type": "int", + "name": "size" + }, + { + "type": "int", + "name": "format" + } + ] + }, + { + "name": "rlUpdateTexture", + "description": "Update GPU texture with new data", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "id" + }, + { + "type": "int", + "name": "offsetX" + }, + { + "type": "int", + "name": "offsetY" + }, + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + }, + { + "type": "int", + "name": "format" + }, + { + "type": "const void *", + "name": "data" + } + ] + }, + { + "name": "rlGetGlTextureFormats", + "description": "Get OpenGL internal formats", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "format" + }, + { + "type": "unsigned int *", + "name": "glInternalFormat" + }, + { + "type": "unsigned int *", + "name": "glFormat" + }, + { + "type": "unsigned int *", + "name": "glType" + } + ] + }, + { + "name": "rlGetPixelFormatName", + "description": "Get name string for pixel format", + "returnType": "const char *", + "params": [ + { + "type": "unsigned int", + "name": "format" + } + ] + }, + { + "name": "rlUnloadTexture", + "description": "Unload texture from GPU memory", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "id" + } + ] + }, + { + "name": "rlGenTextureMipmaps", + "description": "Generate mipmap data for selected texture", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "id" + }, + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + }, + { + "type": "int", + "name": "format" + }, + { + "type": "int *", + "name": "mipmaps" + } + ] + }, + { + "name": "rlReadTexturePixels", + "description": "Read texture pixel data", + "returnType": "void *", + "params": [ + { + "type": "unsigned int", + "name": "id" + }, + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + }, + { + "type": "int", + "name": "format" + } + ] + }, + { + "name": "rlReadScreenPixels", + "description": "Read screen pixel data (color buffer)", + "returnType": "unsigned char *", + "params": [ + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + } + ] + }, + { + "name": "rlLoadFramebuffer", + "description": "Load an empty framebuffer", + "returnType": "unsigned int", + "params": [ + { + "type": "int", + "name": "width" + }, + { + "type": "int", + "name": "height" + } + ] + }, + { + "name": "rlFramebufferAttach", + "description": "Attach texture/renderbuffer to a framebuffer", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "fboId" + }, + { + "type": "unsigned int", + "name": "texId" + }, + { + "type": "int", + "name": "attachType" + }, + { + "type": "int", + "name": "texType" + }, + { + "type": "int", + "name": "mipLevel" + } + ] + }, + { + "name": "rlFramebufferComplete", + "description": "Verify framebuffer is complete", + "returnType": "bool", + "params": [ + { + "type": "unsigned int", + "name": "id" + } + ] + }, + { + "name": "rlUnloadFramebuffer", + "description": "Delete framebuffer from GPU", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "id" + } + ] + }, + { + "name": "rlLoadShaderCode", + "description": "Load shader from code strings", + "returnType": "unsigned int", + "params": [ + { + "type": "const char *", + "name": "vsCode" + }, + { + "type": "const char *", + "name": "fsCode" + } + ] + }, + { + "name": "rlCompileShader", + "description": "Compile custom shader and return shader id (type: RL_VERTEX_SHADER, RL_FRAGMENT_SHADER, RL_COMPUTE_SHADER)", + "returnType": "unsigned int", + "params": [ + { + "type": "const char *", + "name": "shaderCode" + }, + { + "type": "int", + "name": "type" + } + ] + }, + { + "name": "rlLoadShaderProgram", + "description": "Load custom shader program", + "returnType": "unsigned int", + "params": [ + { + "type": "unsigned int", + "name": "vShaderId" + }, + { + "type": "unsigned int", + "name": "fShaderId" + } + ] + }, + { + "name": "rlUnloadShaderProgram", + "description": "Unload shader program", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "id" + } + ] + }, + { + "name": "rlGetLocationUniform", + "description": "Get shader location uniform", + "returnType": "int", + "params": [ + { + "type": "unsigned int", + "name": "shaderId" + }, + { + "type": "const char *", + "name": "uniformName" + } + ] + }, + { + "name": "rlGetLocationAttrib", + "description": "Get shader location attribute", + "returnType": "int", + "params": [ + { + "type": "unsigned int", + "name": "shaderId" + }, + { + "type": "const char *", + "name": "attribName" + } + ] + }, + { + "name": "rlSetUniform", + "description": "Set shader value uniform", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "locIndex" + }, + { + "type": "const void *", + "name": "value" + }, + { + "type": "int", + "name": "uniformType" + }, + { + "type": "int", + "name": "count" + } + ] + }, + { + "name": "rlSetUniformMatrix", + "description": "Set shader value matrix", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "locIndex" + }, + { + "type": "Matrix", + "name": "mat" + } + ] + }, + { + "name": "rlSetUniformSampler", + "description": "Set shader value sampler", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "locIndex" + }, + { + "type": "unsigned int", + "name": "textureId" + } + ] + }, + { + "name": "rlSetShader", + "description": "Set shader currently active (id and locations)", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "id" + }, + { + "type": "int *", + "name": "locs" + } + ] + }, + { + "name": "rlLoadComputeShaderProgram", + "description": "Load compute shader program", + "returnType": "unsigned int", + "params": [ + { + "type": "unsigned int", + "name": "shaderId" + } + ] + }, + { + "name": "rlComputeShaderDispatch", + "description": "Dispatch compute shader (equivalent to *draw* for graphics pipeline)", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "groupX" + }, + { + "type": "unsigned int", + "name": "groupY" + }, + { + "type": "unsigned int", + "name": "groupZ" + } + ] + }, + { + "name": "rlLoadShaderBuffer", + "description": "Load shader storage buffer object (SSBO)", + "returnType": "unsigned int", + "params": [ + { + "type": "unsigned int", + "name": "size" + }, + { + "type": "const void *", + "name": "data" + }, + { + "type": "int", + "name": "usageHint" + } + ] + }, + { + "name": "rlUnloadShaderBuffer", + "description": "Unload shader storage buffer object (SSBO)", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "ssboId" + } + ] + }, + { + "name": "rlUpdateShaderBuffer", + "description": "Update SSBO buffer data", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "id" + }, + { + "type": "const void *", + "name": "data" + }, + { + "type": "unsigned int", + "name": "dataSize" + }, + { + "type": "unsigned int", + "name": "offset" + } + ] + }, + { + "name": "rlBindShaderBuffer", + "description": "Bind SSBO buffer", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "id" + }, + { + "type": "unsigned int", + "name": "index" + } + ] + }, + { + "name": "rlReadShaderBuffer", + "description": "Read SSBO buffer data (GPU->CPU)", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "id" + }, + { + "type": "void *", + "name": "dest" + }, + { + "type": "unsigned int", + "name": "count" + }, + { + "type": "unsigned int", + "name": "offset" + } + ] + }, + { + "name": "rlCopyShaderBuffer", + "description": "Copy SSBO data between buffers", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "destId" + }, + { + "type": "unsigned int", + "name": "srcId" + }, + { + "type": "unsigned int", + "name": "destOffset" + }, + { + "type": "unsigned int", + "name": "srcOffset" + }, + { + "type": "unsigned int", + "name": "count" + } + ] + }, + { + "name": "rlGetShaderBufferSize", + "description": "Get SSBO buffer size", + "returnType": "unsigned int", + "params": [ + { + "type": "unsigned int", + "name": "id" + } + ] + }, + { + "name": "rlBindImageTexture", + "description": "Bind image texture", + "returnType": "void", + "params": [ + { + "type": "unsigned int", + "name": "id" + }, + { + "type": "unsigned int", + "name": "index" + }, + { + "type": "int", + "name": "format" + }, + { + "type": "bool", + "name": "readonly" + } + ] + }, + { + "name": "rlGetMatrixModelview", + "description": "Get internal modelview matrix", + "returnType": "Matrix" + }, + { + "name": "rlGetMatrixProjection", + "description": "Get internal projection matrix", + "returnType": "Matrix" + }, + { + "name": "rlGetMatrixTransform", + "description": "Get internal accumulated transform matrix", + "returnType": "Matrix" + }, + { + "name": "rlGetMatrixProjectionStereo", + "description": "Get internal projection matrix for stereo render (selected eye)", + "returnType": "Matrix", + "params": [ + { + "type": "int", + "name": "eye" + } + ] + }, + { + "name": "rlGetMatrixViewOffsetStereo", + "description": "Get internal view offset matrix for stereo render (selected eye)", + "returnType": "Matrix", + "params": [ + { + "type": "int", + "name": "eye" + } + ] + }, + { + "name": "rlSetMatrixProjection", + "description": "Set a custom projection matrix (replaces internal projection matrix)", + "returnType": "void", + "params": [ + { + "type": "Matrix", + "name": "proj" + } + ] + }, + { + "name": "rlSetMatrixModelview", + "description": "Set a custom modelview matrix (replaces internal modelview matrix)", + "returnType": "void", + "params": [ + { + "type": "Matrix", + "name": "view" + } + ] + }, + { + "name": "rlSetMatrixProjectionStereo", + "description": "Set eyes projection matrices for stereo rendering", + "returnType": "void", + "params": [ + { + "type": "Matrix", + "name": "right" + }, + { + "type": "Matrix", + "name": "left" + } + ] + }, + { + "name": "rlSetMatrixViewOffsetStereo", + "description": "Set eyes view offsets matrices for stereo rendering", + "returnType": "void", + "params": [ + { + "type": "Matrix", + "name": "right" + }, + { + "type": "Matrix", + "name": "left" + } + ] + }, + { + "name": "rlLoadDrawCube", + "description": "Load and draw a cube", + "returnType": "void" + }, + { + "name": "rlLoadDrawQuad", + "description": "Load and draw a quad", + "returnType": "void" + } + ] +} diff --git a/raylib-api/rlgl.lua b/raylib-api/rlgl.lua new file mode 100644 index 0000000..460e9ad --- /dev/null +++ b/raylib-api/rlgl.lua @@ -0,0 +1,2529 @@ +return { + defines = { + { + name = "RLGL_H", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RLGL_VERSION", + type = "STRING", + value = "4.5", + description = "" + }, + { + name = "RLAPI", + type = "UNKNOWN", + value = "__declspec(dllexport)", + description = "We are building the library as a Win32 shared library (.dll)" + }, + { + name = "TRACELOG(level, ...)", + type = "MACRO", + value = "(void)0", + description = "" + }, + { + name = "TRACELOGD(...)", + type = "MACRO", + value = "(void)0", + description = "" + }, + { + name = "RL_MALLOC(sz)", + type = "MACRO", + value = "malloc(sz)", + description = "" + }, + { + name = "RL_CALLOC(n,sz)", + type = "MACRO", + value = "calloc(n,sz)", + description = "" + }, + { + name = "RL_REALLOC(n,sz)", + type = "MACRO", + value = "realloc(n,sz)", + description = "" + }, + { + name = "RL_FREE(p)", + type = "MACRO", + value = "free(p)", + description = "" + }, + { + name = "GRAPHICS_API_OPENGL_33", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RLGL_RENDER_TEXTURES_HINT", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RL_DEFAULT_BATCH_BUFFER_ELEMENTS", + type = "INT", + value = 8192, + description = "" + }, + { + name = "RL_DEFAULT_BATCH_BUFFERS", + type = "INT", + value = 1, + description = "Default number of batch buffers (multi-buffering)" + }, + { + name = "RL_DEFAULT_BATCH_DRAWCALLS", + type = "INT", + value = 256, + description = "Default number of batch draw calls (by state changes: mode, texture)" + }, + { + name = "RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS", + type = "INT", + value = 4, + description = "Maximum number of textures units that can be activated on batch drawing (SetShaderValueTexture())" + }, + { + name = "RL_MAX_MATRIX_STACK_SIZE", + type = "INT", + value = 32, + description = "Maximum size of Matrix stack" + }, + { + name = "RL_MAX_SHADER_LOCATIONS", + type = "INT", + value = 32, + description = "Maximum number of shader locations supported" + }, + { + name = "RL_CULL_DISTANCE_NEAR", + type = "DOUBLE", + value = 0.01, + description = "Default near cull distance" + }, + { + name = "RL_CULL_DISTANCE_FAR", + type = "DOUBLE", + value = 1000.0, + description = "Default far cull distance" + }, + { + name = "RL_TEXTURE_WRAP_S", + type = "INT", + value = 0x2802, + description = "GL_TEXTURE_WRAP_S" + }, + { + name = "RL_TEXTURE_WRAP_T", + type = "INT", + value = 0x2803, + description = "GL_TEXTURE_WRAP_T" + }, + { + name = "RL_TEXTURE_MAG_FILTER", + type = "INT", + value = 0x2800, + description = "GL_TEXTURE_MAG_FILTER" + }, + { + name = "RL_TEXTURE_MIN_FILTER", + type = "INT", + value = 0x2801, + description = "GL_TEXTURE_MIN_FILTER" + }, + { + name = "RL_TEXTURE_FILTER_NEAREST", + type = "INT", + value = 0x2600, + description = "GL_NEAREST" + }, + { + name = "RL_TEXTURE_FILTER_LINEAR", + type = "INT", + value = 0x2601, + description = "GL_LINEAR" + }, + { + name = "RL_TEXTURE_FILTER_MIP_NEAREST", + type = "INT", + value = 0x2700, + description = "GL_NEAREST_MIPMAP_NEAREST" + }, + { + name = "RL_TEXTURE_FILTER_NEAREST_MIP_LINEAR", + type = "INT", + value = 0x2702, + description = "GL_NEAREST_MIPMAP_LINEAR" + }, + { + name = "RL_TEXTURE_FILTER_LINEAR_MIP_NEAREST", + type = "INT", + value = 0x2701, + description = "GL_LINEAR_MIPMAP_NEAREST" + }, + { + name = "RL_TEXTURE_FILTER_MIP_LINEAR", + type = "INT", + value = 0x2703, + description = "GL_LINEAR_MIPMAP_LINEAR" + }, + { + name = "RL_TEXTURE_FILTER_ANISOTROPIC", + type = "INT", + value = 0x3000, + description = "Anisotropic filter (custom identifier)" + }, + { + name = "RL_TEXTURE_MIPMAP_BIAS_RATIO", + type = "INT", + value = 0x4000, + description = "Texture mipmap bias, percentage ratio (custom identifier)" + }, + { + name = "RL_TEXTURE_WRAP_REPEAT", + type = "INT", + value = 0x2901, + description = "GL_REPEAT" + }, + { + name = "RL_TEXTURE_WRAP_CLAMP", + type = "INT", + value = 0x812F, + description = "GL_CLAMP_TO_EDGE" + }, + { + name = "RL_TEXTURE_WRAP_MIRROR_REPEAT", + type = "INT", + value = 0x8370, + description = "GL_MIRRORED_REPEAT" + }, + { + name = "RL_TEXTURE_WRAP_MIRROR_CLAMP", + type = "INT", + value = 0x8742, + description = "GL_MIRROR_CLAMP_EXT" + }, + { + name = "RL_MODELVIEW", + type = "INT", + value = 0x1700, + description = "GL_MODELVIEW" + }, + { + name = "RL_PROJECTION", + type = "INT", + value = 0x1701, + description = "GL_PROJECTION" + }, + { + name = "RL_TEXTURE", + type = "INT", + value = 0x1702, + description = "GL_TEXTURE" + }, + { + name = "RL_LINES", + type = "INT", + value = 0x0001, + description = "GL_LINES" + }, + { + name = "RL_TRIANGLES", + type = "INT", + value = 0x0004, + description = "GL_TRIANGLES" + }, + { + name = "RL_QUADS", + type = "INT", + value = 0x0007, + description = "GL_QUADS" + }, + { + name = "RL_UNSIGNED_BYTE", + type = "INT", + value = 0x1401, + description = "GL_UNSIGNED_BYTE" + }, + { + name = "RL_FLOAT", + type = "INT", + value = 0x1406, + description = "GL_FLOAT" + }, + { + name = "RL_STREAM_DRAW", + type = "INT", + value = 0x88E0, + description = "GL_STREAM_DRAW" + }, + { + name = "RL_STREAM_READ", + type = "INT", + value = 0x88E1, + description = "GL_STREAM_READ" + }, + { + name = "RL_STREAM_COPY", + type = "INT", + value = 0x88E2, + description = "GL_STREAM_COPY" + }, + { + name = "RL_STATIC_DRAW", + type = "INT", + value = 0x88E4, + description = "GL_STATIC_DRAW" + }, + { + name = "RL_STATIC_READ", + type = "INT", + value = 0x88E5, + description = "GL_STATIC_READ" + }, + { + name = "RL_STATIC_COPY", + type = "INT", + value = 0x88E6, + description = "GL_STATIC_COPY" + }, + { + name = "RL_DYNAMIC_DRAW", + type = "INT", + value = 0x88E8, + description = "GL_DYNAMIC_DRAW" + }, + { + name = "RL_DYNAMIC_READ", + type = "INT", + value = 0x88E9, + description = "GL_DYNAMIC_READ" + }, + { + name = "RL_DYNAMIC_COPY", + type = "INT", + value = 0x88EA, + description = "GL_DYNAMIC_COPY" + }, + { + name = "RL_FRAGMENT_SHADER", + type = "INT", + value = 0x8B30, + description = "GL_FRAGMENT_SHADER" + }, + { + name = "RL_VERTEX_SHADER", + type = "INT", + value = 0x8B31, + description = "GL_VERTEX_SHADER" + }, + { + name = "RL_COMPUTE_SHADER", + type = "INT", + value = 0x91B9, + description = "GL_COMPUTE_SHADER" + }, + { + name = "RL_ZERO", + type = "INT", + value = 0, + description = "GL_ZERO" + }, + { + name = "RL_ONE", + type = "INT", + value = 1, + description = "GL_ONE" + }, + { + name = "RL_SRC_COLOR", + type = "INT", + value = 0x0300, + description = "GL_SRC_COLOR" + }, + { + name = "RL_ONE_MINUS_SRC_COLOR", + type = "INT", + value = 0x0301, + description = "GL_ONE_MINUS_SRC_COLOR" + }, + { + name = "RL_SRC_ALPHA", + type = "INT", + value = 0x0302, + description = "GL_SRC_ALPHA" + }, + { + name = "RL_ONE_MINUS_SRC_ALPHA", + type = "INT", + value = 0x0303, + description = "GL_ONE_MINUS_SRC_ALPHA" + }, + { + name = "RL_DST_ALPHA", + type = "INT", + value = 0x0304, + description = "GL_DST_ALPHA" + }, + { + name = "RL_ONE_MINUS_DST_ALPHA", + type = "INT", + value = 0x0305, + description = "GL_ONE_MINUS_DST_ALPHA" + }, + { + name = "RL_DST_COLOR", + type = "INT", + value = 0x0306, + description = "GL_DST_COLOR" + }, + { + name = "RL_ONE_MINUS_DST_COLOR", + type = "INT", + value = 0x0307, + description = "GL_ONE_MINUS_DST_COLOR" + }, + { + name = "RL_SRC_ALPHA_SATURATE", + type = "INT", + value = 0x0308, + description = "GL_SRC_ALPHA_SATURATE" + }, + { + name = "RL_CONSTANT_COLOR", + type = "INT", + value = 0x8001, + description = "GL_CONSTANT_COLOR" + }, + { + name = "RL_ONE_MINUS_CONSTANT_COLOR", + type = "INT", + value = 0x8002, + description = "GL_ONE_MINUS_CONSTANT_COLOR" + }, + { + name = "RL_CONSTANT_ALPHA", + type = "INT", + value = 0x8003, + description = "GL_CONSTANT_ALPHA" + }, + { + name = "RL_ONE_MINUS_CONSTANT_ALPHA", + type = "INT", + value = 0x8004, + description = "GL_ONE_MINUS_CONSTANT_ALPHA" + }, + { + name = "RL_FUNC_ADD", + type = "INT", + value = 0x8006, + description = "GL_FUNC_ADD" + }, + { + name = "RL_MIN", + type = "INT", + value = 0x8007, + description = "GL_MIN" + }, + { + name = "RL_MAX", + type = "INT", + value = 0x8008, + description = "GL_MAX" + }, + { + name = "RL_FUNC_SUBTRACT", + type = "INT", + value = 0x800A, + description = "GL_FUNC_SUBTRACT" + }, + { + name = "RL_FUNC_REVERSE_SUBTRACT", + type = "INT", + value = 0x800B, + description = "GL_FUNC_REVERSE_SUBTRACT" + }, + { + name = "RL_BLEND_EQUATION", + type = "INT", + value = 0x8009, + description = "GL_BLEND_EQUATION" + }, + { + name = "RL_BLEND_EQUATION_RGB", + type = "INT", + value = 0x8009, + description = "GL_BLEND_EQUATION_RGB // (Same as BLEND_EQUATION)" + }, + { + name = "RL_BLEND_EQUATION_ALPHA", + type = "INT", + value = 0x883D, + description = "GL_BLEND_EQUATION_ALPHA" + }, + { + name = "RL_BLEND_DST_RGB", + type = "INT", + value = 0x80C8, + description = "GL_BLEND_DST_RGB" + }, + { + name = "RL_BLEND_SRC_RGB", + type = "INT", + value = 0x80C9, + description = "GL_BLEND_SRC_RGB" + }, + { + name = "RL_BLEND_DST_ALPHA", + type = "INT", + value = 0x80CA, + description = "GL_BLEND_DST_ALPHA" + }, + { + name = "RL_BLEND_SRC_ALPHA", + type = "INT", + value = 0x80CB, + description = "GL_BLEND_SRC_ALPHA" + }, + { + name = "RL_BLEND_COLOR", + type = "INT", + value = 0x8005, + description = "GL_BLEND_COLOR" + }, + { + name = "RL_MATRIX_TYPE", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RL_SHADER_LOC_MAP_DIFFUSE", + type = "UNKNOWN", + value = "RL_SHADER_LOC_MAP_ALBEDO", + description = "" + }, + { + name = "RL_SHADER_LOC_MAP_SPECULAR", + type = "UNKNOWN", + value = "RL_SHADER_LOC_MAP_METALNESS", + description = "" + } + }, + structs = { + { + name = "Matrix", + description = "Matrix, 4x4 components, column major, OpenGL style, right handed", + fields = { + { + type = "float", + name = "m0", + description = "Matrix first row (4 components)" + }, + { + type = "float", + name = "m4", + description = "Matrix first row (4 components)" + }, + { + type = "float", + name = "m8", + description = "Matrix first row (4 components)" + }, + { + type = "float", + name = "m12", + description = "Matrix first row (4 components)" + }, + { + type = "float", + name = "m1", + description = "Matrix second row (4 components)" + }, + { + type = "float", + name = "m5", + description = "Matrix second row (4 components)" + }, + { + type = "float", + name = "m9", + description = "Matrix second row (4 components)" + }, + { + type = "float", + name = "m13", + description = "Matrix second row (4 components)" + }, + { + type = "float", + name = "m2", + description = "Matrix third row (4 components)" + }, + { + type = "float", + name = "m6", + description = "Matrix third row (4 components)" + }, + { + type = "float", + name = "m10", + description = "Matrix third row (4 components)" + }, + { + type = "float", + name = "m14", + description = "Matrix third row (4 components)" + }, + { + type = "float", + name = "m3", + description = "Matrix fourth row (4 components)" + }, + { + type = "float", + name = "m7", + description = "Matrix fourth row (4 components)" + }, + { + type = "float", + name = "m11", + description = "Matrix fourth row (4 components)" + }, + { + type = "float", + name = "m15", + description = "Matrix fourth row (4 components)" + } + } + }, + { + name = "rlVertexBuffer", + description = "Dynamic vertex buffers (position + texcoords + colors + indices arrays)", + fields = { + { + type = "int", + name = "elementCount", + description = "Number of elements in the buffer (QUADS)" + }, + { + type = "float *", + name = "vertices", + description = "Vertex position (XYZ - 3 components per vertex) (shader-location = 0)" + }, + { + type = "float *", + name = "texcoords", + description = "Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1)" + }, + { + type = "unsigned char *", + name = "colors", + description = "Vertex colors (RGBA - 4 components per vertex) (shader-location = 3)" + }, + { + type = "#if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENunsigned int *", + name = "indices", + description = "Vertex indices (in case vertex data comes indexed) (6 indices per quad)" + }, + { + type = "unsigned int *", + name = "indices", + description = "Vertex indices (in case vertex data comes indexed) (6 indices per quad)" + }, + { + type = "#endif", + name = "indices", + description = "Vertex indices (in case vertex data comes indexed) (6 indices per quad)" + }, + { + type = "#if defined(GRAPHICS_API_OPENGL_ES2)", + name = "indices", + description = "Vertex indices (in case vertex data comes indexed) (6 indices per quad)" + }, + { + type = "unsigned short *", + name = "indices", + description = "Vertex indices (in case vertex data comes indexed) (6 indices per quad)" + }, + { + type = "#endif", + name = "vaoId", + description = "OpenGL Vertex Array Object id" + }, + { + type = "unsigned int", + name = "vaoId", + description = "OpenGL Vertex Array Object id" + }, + { + type = "unsigned int[4]", + name = "vboId", + description = "OpenGL Vertex Buffer Objects id (4 types of vertex data)" + } + } + }, + { + name = "rlDrawCall", + description = "of those state-change happens (this is done in core module)", + fields = { + { + type = "int", + name = "mode", + description = "Drawing mode: LINES, TRIANGLES, QUADS" + }, + { + type = "int", + name = "vertexCount", + description = "Number of vertex of the draw" + }, + { + type = "int", + name = "vertexAlignment", + description = "Number of vertex required for index alignment (LINES, TRIANGLES)" + }, + { + type = "unsigned int", + name = "textureId", + description = "Texture id to be used on the draw -> Use to create new draw call if changes" + } + } + }, + { + name = "rlRenderBatch", + description = "rlRenderBatch type", + fields = { + { + type = "int", + name = "bufferCount", + description = "Number of vertex buffers (multi-buffering support)" + }, + { + type = "int", + name = "currentBuffer", + description = "Current buffer tracking in case of multi-buffering" + }, + { + type = "rlVertexBuffer *", + name = "vertexBuffer", + description = "Dynamic buffer(s) for vertex data" + }, + { + type = "rlDrawCall *", + name = "draws", + description = "Draw calls array, depends on textureId" + }, + { + type = "int", + name = "drawCounter", + description = "Draw calls counter" + }, + { + type = "float", + name = "currentDepth", + description = "Current depth value for next draw" + } + } + } + }, + aliases = { + }, + enums = { + { + name = "rlGlVersion", + description = "OpenGL version", + values = { + { + name = "RL_OPENGL_11", + value = 1, + description = "OpenGL 1.1" + }, + { + name = "RL_OPENGL_21", + value = 2, + description = "OpenGL 2.1 (GLSL 120)" + }, + { + name = "RL_OPENGL_33", + value = 3, + description = "OpenGL 3.3 (GLSL 330)" + }, + { + name = "RL_OPENGL_43", + value = 4, + description = "OpenGL 4.3 (using GLSL 330)" + }, + { + name = "RL_OPENGL_ES_20", + value = 5, + description = "OpenGL ES 2.0 (GLSL 100)" + } + } + }, + { + name = "rlTraceLogLevel", + description = "Trace log level", + values = { + { + name = "RL_LOG_ALL", + value = 0, + description = "Display all logs" + }, + { + name = "RL_LOG_TRACE", + value = 1, + description = "Trace logging, intended for internal use only" + }, + { + name = "RL_LOG_DEBUG", + value = 2, + description = "Debug logging, used for internal debugging, it should be disabled on release builds" + }, + { + name = "RL_LOG_INFO", + value = 3, + description = "Info logging, used for program execution info" + }, + { + name = "RL_LOG_WARNING", + value = 4, + description = "Warning logging, used on recoverable failures" + }, + { + name = "RL_LOG_ERROR", + value = 5, + description = "Error logging, used on unrecoverable failures" + }, + { + name = "RL_LOG_FATAL", + value = 6, + description = "Fatal logging, used to abort program: exit(EXIT_FAILURE)" + }, + { + name = "RL_LOG_NONE", + value = 7, + description = "Disable logging" + } + } + }, + { + name = "rlPixelFormat", + description = "Texture pixel formats", + values = { + { + name = "RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE", + value = 1, + description = "8 bit per pixel (no alpha)" + }, + { + name = "RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA", + value = 2, + description = "8*2 bpp (2 channels)" + }, + { + name = "RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5", + value = 3, + description = "16 bpp" + }, + { + name = "RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8", + value = 4, + description = "24 bpp" + }, + { + name = "RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1", + value = 5, + description = "16 bpp (1 bit alpha)" + }, + { + name = "RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4", + value = 6, + description = "16 bpp (4 bit alpha)" + }, + { + name = "RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8", + value = 7, + description = "32 bpp" + }, + { + name = "RL_PIXELFORMAT_UNCOMPRESSED_R32", + value = 8, + description = "32 bpp (1 channel - float)" + }, + { + name = "RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32", + value = 9, + description = "32*3 bpp (3 channels - float)" + }, + { + name = "RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32", + value = 10, + description = "32*4 bpp (4 channels - float)" + }, + { + name = "RL_PIXELFORMAT_COMPRESSED_DXT1_RGB", + value = 11, + description = "4 bpp (no alpha)" + }, + { + name = "RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA", + value = 12, + description = "4 bpp (1 bit alpha)" + }, + { + name = "RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA", + value = 13, + description = "8 bpp" + }, + { + name = "RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA", + value = 14, + description = "8 bpp" + }, + { + name = "RL_PIXELFORMAT_COMPRESSED_ETC1_RGB", + value = 15, + description = "4 bpp" + }, + { + name = "RL_PIXELFORMAT_COMPRESSED_ETC2_RGB", + value = 16, + description = "4 bpp" + }, + { + name = "RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA", + value = 17, + description = "8 bpp" + }, + { + name = "RL_PIXELFORMAT_COMPRESSED_PVRT_RGB", + value = 18, + description = "4 bpp" + }, + { + name = "RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA", + value = 19, + description = "4 bpp" + }, + { + name = "RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA", + value = 20, + description = "8 bpp" + }, + { + name = "RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA", + value = 21, + description = "2 bpp" + } + } + }, + { + name = "rlTextureFilter", + description = "Texture parameters: filter mode", + values = { + { + name = "RL_TEXTURE_FILTER_POINT", + value = 0, + description = "No filter, just pixel approximation" + }, + { + name = "RL_TEXTURE_FILTER_BILINEAR", + value = 1, + description = "Linear filtering" + }, + { + name = "RL_TEXTURE_FILTER_TRILINEAR", + value = 2, + description = "Trilinear filtering (linear with mipmaps)" + }, + { + name = "RL_TEXTURE_FILTER_ANISOTROPIC_4X", + value = 3, + description = "Anisotropic filtering 4x" + }, + { + name = "RL_TEXTURE_FILTER_ANISOTROPIC_8X", + value = 4, + description = "Anisotropic filtering 8x" + }, + { + name = "RL_TEXTURE_FILTER_ANISOTROPIC_16X", + value = 5, + description = "Anisotropic filtering 16x" + } + } + }, + { + name = "rlBlendMode", + description = "Color blending modes (pre-defined)", + values = { + { + name = "RL_BLEND_ALPHA", + value = 0, + description = "Blend textures considering alpha (default)" + }, + { + name = "RL_BLEND_ADDITIVE", + value = 1, + description = "Blend textures adding colors" + }, + { + name = "RL_BLEND_MULTIPLIED", + value = 2, + description = "Blend textures multiplying colors" + }, + { + name = "RL_BLEND_ADD_COLORS", + value = 3, + description = "Blend textures adding colors (alternative)" + }, + { + name = "RL_BLEND_SUBTRACT_COLORS", + value = 4, + description = "Blend textures subtracting colors (alternative)" + }, + { + name = "RL_BLEND_ALPHA_PREMULTIPLY", + value = 5, + description = "Blend premultiplied textures considering alpha" + }, + { + name = "RL_BLEND_CUSTOM", + value = 6, + description = "Blend textures using custom src/dst factors (use rlSetBlendFactors())" + }, + { + name = "RL_BLEND_CUSTOM_SEPARATE", + value = 7, + description = "Blend textures using custom src/dst factors (use rlSetBlendFactorsSeparate())" + } + } + }, + { + name = "rlShaderLocationIndex", + description = "Shader location point type", + values = { + { + name = "RL_SHADER_LOC_VERTEX_POSITION", + value = 0, + description = "Shader location: vertex attribute: position" + }, + { + name = "RL_SHADER_LOC_VERTEX_TEXCOORD01", + value = 1, + description = "Shader location: vertex attribute: texcoord01" + }, + { + name = "RL_SHADER_LOC_VERTEX_TEXCOORD02", + value = 2, + description = "Shader location: vertex attribute: texcoord02" + }, + { + name = "RL_SHADER_LOC_VERTEX_NORMAL", + value = 3, + description = "Shader location: vertex attribute: normal" + }, + { + name = "RL_SHADER_LOC_VERTEX_TANGENT", + value = 4, + description = "Shader location: vertex attribute: tangent" + }, + { + name = "RL_SHADER_LOC_VERTEX_COLOR", + value = 5, + description = "Shader location: vertex attribute: color" + }, + { + name = "RL_SHADER_LOC_MATRIX_MVP", + value = 6, + description = "Shader location: matrix uniform: model-view-projection" + }, + { + name = "RL_SHADER_LOC_MATRIX_VIEW", + value = 7, + description = "Shader location: matrix uniform: view (camera transform)" + }, + { + name = "RL_SHADER_LOC_MATRIX_PROJECTION", + value = 8, + description = "Shader location: matrix uniform: projection" + }, + { + name = "RL_SHADER_LOC_MATRIX_MODEL", + value = 9, + description = "Shader location: matrix uniform: model (transform)" + }, + { + name = "RL_SHADER_LOC_MATRIX_NORMAL", + value = 10, + description = "Shader location: matrix uniform: normal" + }, + { + name = "RL_SHADER_LOC_VECTOR_VIEW", + value = 11, + description = "Shader location: vector uniform: view" + }, + { + name = "RL_SHADER_LOC_COLOR_DIFFUSE", + value = 12, + description = "Shader location: vector uniform: diffuse color" + }, + { + name = "RL_SHADER_LOC_COLOR_SPECULAR", + value = 13, + description = "Shader location: vector uniform: specular color" + }, + { + name = "RL_SHADER_LOC_COLOR_AMBIENT", + value = 14, + description = "Shader location: vector uniform: ambient color" + }, + { + name = "RL_SHADER_LOC_MAP_ALBEDO", + value = 15, + description = "Shader location: sampler2d texture: albedo (same as: RL_SHADER_LOC_MAP_DIFFUSE)" + }, + { + name = "RL_SHADER_LOC_MAP_METALNESS", + value = 16, + description = "Shader location: sampler2d texture: metalness (same as: RL_SHADER_LOC_MAP_SPECULAR)" + }, + { + name = "RL_SHADER_LOC_MAP_NORMAL", + value = 17, + description = "Shader location: sampler2d texture: normal" + }, + { + name = "RL_SHADER_LOC_MAP_ROUGHNESS", + value = 18, + description = "Shader location: sampler2d texture: roughness" + }, + { + name = "RL_SHADER_LOC_MAP_OCCLUSION", + value = 19, + description = "Shader location: sampler2d texture: occlusion" + }, + { + name = "RL_SHADER_LOC_MAP_EMISSION", + value = 20, + description = "Shader location: sampler2d texture: emission" + }, + { + name = "RL_SHADER_LOC_MAP_HEIGHT", + value = 21, + description = "Shader location: sampler2d texture: height" + }, + { + name = "RL_SHADER_LOC_MAP_CUBEMAP", + value = 22, + description = "Shader location: samplerCube texture: cubemap" + }, + { + name = "RL_SHADER_LOC_MAP_IRRADIANCE", + value = 23, + description = "Shader location: samplerCube texture: irradiance" + }, + { + name = "RL_SHADER_LOC_MAP_PREFILTER", + value = 24, + description = "Shader location: samplerCube texture: prefilter" + }, + { + name = "RL_SHADER_LOC_MAP_BRDF", + value = 25, + description = "Shader location: sampler2d texture: brdf" + } + } + }, + { + name = "rlShaderUniformDataType", + description = "Shader uniform data type", + values = { + { + name = "RL_SHADER_UNIFORM_FLOAT", + value = 0, + description = "Shader uniform type: float" + }, + { + name = "RL_SHADER_UNIFORM_VEC2", + value = 1, + description = "Shader uniform type: vec2 (2 float)" + }, + { + name = "RL_SHADER_UNIFORM_VEC3", + value = 2, + description = "Shader uniform type: vec3 (3 float)" + }, + { + name = "RL_SHADER_UNIFORM_VEC4", + value = 3, + description = "Shader uniform type: vec4 (4 float)" + }, + { + name = "RL_SHADER_UNIFORM_INT", + value = 4, + description = "Shader uniform type: int" + }, + { + name = "RL_SHADER_UNIFORM_IVEC2", + value = 5, + description = "Shader uniform type: ivec2 (2 int)" + }, + { + name = "RL_SHADER_UNIFORM_IVEC3", + value = 6, + description = "Shader uniform type: ivec3 (3 int)" + }, + { + name = "RL_SHADER_UNIFORM_IVEC4", + value = 7, + description = "Shader uniform type: ivec4 (4 int)" + }, + { + name = "RL_SHADER_UNIFORM_SAMPLER2D", + value = 8, + description = "Shader uniform type: sampler2d" + } + } + }, + { + name = "rlShaderAttributeDataType", + description = "Shader attribute data types", + values = { + { + name = "RL_SHADER_ATTRIB_FLOAT", + value = 0, + description = "Shader attribute type: float" + }, + { + name = "RL_SHADER_ATTRIB_VEC2", + value = 1, + description = "Shader attribute type: vec2 (2 float)" + }, + { + name = "RL_SHADER_ATTRIB_VEC3", + value = 2, + description = "Shader attribute type: vec3 (3 float)" + }, + { + name = "RL_SHADER_ATTRIB_VEC4", + value = 3, + description = "Shader attribute type: vec4 (4 float)" + } + } + }, + { + name = "rlFramebufferAttachType", + description = "Framebuffer attachment type", + values = { + { + name = "RL_ATTACHMENT_COLOR_CHANNEL0", + value = 0, + description = "Framebuffer attachment type: color 0" + }, + { + name = "RL_ATTACHMENT_COLOR_CHANNEL1", + value = 1, + description = "Framebuffer attachment type: color 1" + }, + { + name = "RL_ATTACHMENT_COLOR_CHANNEL2", + value = 2, + description = "Framebuffer attachment type: color 2" + }, + { + name = "RL_ATTACHMENT_COLOR_CHANNEL3", + value = 3, + description = "Framebuffer attachment type: color 3" + }, + { + name = "RL_ATTACHMENT_COLOR_CHANNEL4", + value = 4, + description = "Framebuffer attachment type: color 4" + }, + { + name = "RL_ATTACHMENT_COLOR_CHANNEL5", + value = 5, + description = "Framebuffer attachment type: color 5" + }, + { + name = "RL_ATTACHMENT_COLOR_CHANNEL6", + value = 6, + description = "Framebuffer attachment type: color 6" + }, + { + name = "RL_ATTACHMENT_COLOR_CHANNEL7", + value = 7, + description = "Framebuffer attachment type: color 7" + }, + { + name = "RL_ATTACHMENT_DEPTH", + value = 100, + description = "Framebuffer attachment type: depth" + }, + { + name = "RL_ATTACHMENT_STENCIL", + value = 200, + description = "Framebuffer attachment type: stencil" + } + } + }, + { + name = "rlFramebufferAttachTextureType", + description = "Framebuffer texture attachment type", + values = { + { + name = "RL_ATTACHMENT_CUBEMAP_POSITIVE_X", + value = 0, + description = "Framebuffer texture attachment type: cubemap, +X side" + }, + { + name = "RL_ATTACHMENT_CUBEMAP_NEGATIVE_X", + value = 1, + description = "Framebuffer texture attachment type: cubemap, -X side" + }, + { + name = "RL_ATTACHMENT_CUBEMAP_POSITIVE_Y", + value = 2, + description = "Framebuffer texture attachment type: cubemap, +Y side" + }, + { + name = "RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y", + value = 3, + description = "Framebuffer texture attachment type: cubemap, -Y side" + }, + { + name = "RL_ATTACHMENT_CUBEMAP_POSITIVE_Z", + value = 4, + description = "Framebuffer texture attachment type: cubemap, +Z side" + }, + { + name = "RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z", + value = 5, + description = "Framebuffer texture attachment type: cubemap, -Z side" + }, + { + name = "RL_ATTACHMENT_TEXTURE2D", + value = 100, + description = "Framebuffer texture attachment type: texture2d" + }, + { + name = "RL_ATTACHMENT_RENDERBUFFER", + value = 200, + description = "Framebuffer texture attachment type: renderbuffer" + } + } + }, + { + name = "rlCullMode", + description = "Face culling mode", + values = { + { + name = "RL_CULL_FACE_FRONT", + value = 0, + description = "" + }, + { + name = "RL_CULL_FACE_BACK", + value = 1, + description = "" + } + } + } + }, + callbacks = { + }, + functions = { + { + name = "rlMatrixMode", + description = "Choose the current matrix to be transformed", + returnType = "void", + params = { + {type = "int", name = "mode"} + } + }, + { + name = "rlPushMatrix", + description = "Push the current matrix to stack", + returnType = "void" + }, + { + name = "rlPopMatrix", + description = "Pop latest inserted matrix from stack", + returnType = "void" + }, + { + name = "rlLoadIdentity", + description = "Reset current matrix to identity matrix", + returnType = "void" + }, + { + name = "rlTranslatef", + description = "Multiply the current matrix by a translation matrix", + returnType = "void", + params = { + {type = "float", name = "x"}, + {type = "float", name = "y"}, + {type = "float", name = "z"} + } + }, + { + name = "rlRotatef", + description = "Multiply the current matrix by a rotation matrix", + returnType = "void", + params = { + {type = "float", name = "angle"}, + {type = "float", name = "x"}, + {type = "float", name = "y"}, + {type = "float", name = "z"} + } + }, + { + name = "rlScalef", + description = "Multiply the current matrix by a scaling matrix", + returnType = "void", + params = { + {type = "float", name = "x"}, + {type = "float", name = "y"}, + {type = "float", name = "z"} + } + }, + { + name = "rlMultMatrixf", + description = "Multiply the current matrix by another matrix", + returnType = "void", + params = { + {type = "const float *", name = "matf"} + } + }, + { + name = "rlFrustum", + description = "", + returnType = "void", + params = { + {type = "double", name = "left"}, + {type = "double", name = "right"}, + {type = "double", name = "bottom"}, + {type = "double", name = "top"}, + {type = "double", name = "znear"}, + {type = "double", name = "zfar"} + } + }, + { + name = "rlOrtho", + description = "", + returnType = "void", + params = { + {type = "double", name = "left"}, + {type = "double", name = "right"}, + {type = "double", name = "bottom"}, + {type = "double", name = "top"}, + {type = "double", name = "znear"}, + {type = "double", name = "zfar"} + } + }, + { + name = "rlViewport", + description = "Set the viewport area", + returnType = "void", + params = { + {type = "int", name = "x"}, + {type = "int", name = "y"}, + {type = "int", name = "width"}, + {type = "int", name = "height"} + } + }, + { + name = "rlBegin", + description = "Initialize drawing mode (how to organize vertex)", + returnType = "void", + params = { + {type = "int", name = "mode"} + } + }, + { + name = "rlEnd", + description = "Finish vertex providing", + returnType = "void" + }, + { + name = "rlVertex2i", + description = "Define one vertex (position) - 2 int", + returnType = "void", + params = { + {type = "int", name = "x"}, + {type = "int", name = "y"} + } + }, + { + name = "rlVertex2f", + description = "Define one vertex (position) - 2 float", + returnType = "void", + params = { + {type = "float", name = "x"}, + {type = "float", name = "y"} + } + }, + { + name = "rlVertex3f", + description = "Define one vertex (position) - 3 float", + returnType = "void", + params = { + {type = "float", name = "x"}, + {type = "float", name = "y"}, + {type = "float", name = "z"} + } + }, + { + name = "rlTexCoord2f", + description = "Define one vertex (texture coordinate) - 2 float", + returnType = "void", + params = { + {type = "float", name = "x"}, + {type = "float", name = "y"} + } + }, + { + name = "rlNormal3f", + description = "Define one vertex (normal) - 3 float", + returnType = "void", + params = { + {type = "float", name = "x"}, + {type = "float", name = "y"}, + {type = "float", name = "z"} + } + }, + { + name = "rlColor4ub", + description = "Define one vertex (color) - 4 byte", + returnType = "void", + params = { + {type = "unsigned char", name = "r"}, + {type = "unsigned char", name = "g"}, + {type = "unsigned char", name = "b"}, + {type = "unsigned char", name = "a"} + } + }, + { + name = "rlColor3f", + description = "Define one vertex (color) - 3 float", + returnType = "void", + params = { + {type = "float", name = "x"}, + {type = "float", name = "y"}, + {type = "float", name = "z"} + } + }, + { + name = "rlColor4f", + description = "Define one vertex (color) - 4 float", + returnType = "void", + params = { + {type = "float", name = "x"}, + {type = "float", name = "y"}, + {type = "float", name = "z"}, + {type = "float", name = "w"} + } + }, + { + name = "rlEnableVertexArray", + description = "Enable vertex array (VAO, if supported)", + returnType = "bool", + params = { + {type = "unsigned int", name = "vaoId"} + } + }, + { + name = "rlDisableVertexArray", + description = "Disable vertex array (VAO, if supported)", + returnType = "void" + }, + { + name = "rlEnableVertexBuffer", + description = "Enable vertex buffer (VBO)", + returnType = "void", + params = { + {type = "unsigned int", name = "id"} + } + }, + { + name = "rlDisableVertexBuffer", + description = "Disable vertex buffer (VBO)", + returnType = "void" + }, + { + name = "rlEnableVertexBufferElement", + description = "Enable vertex buffer element (VBO element)", + returnType = "void", + params = { + {type = "unsigned int", name = "id"} + } + }, + { + name = "rlDisableVertexBufferElement", + description = "Disable vertex buffer element (VBO element)", + returnType = "void" + }, + { + name = "rlEnableVertexAttribute", + description = "Enable vertex attribute index", + returnType = "void", + params = { + {type = "unsigned int", name = "index"} + } + }, + { + name = "rlDisableVertexAttribute", + description = "Disable vertex attribute index", + returnType = "void", + params = { + {type = "unsigned int", name = "index"} + } + }, + { + name = "rlEnableStatePointer", + description = "Enable attribute state pointer", + returnType = "void", + params = { + {type = "int", name = "vertexAttribType"}, + {type = "void *", name = "buffer"} + } + }, + { + name = "rlDisableStatePointer", + description = "Disable attribute state pointer", + returnType = "void", + params = { + {type = "int", name = "vertexAttribType"} + } + }, + { + name = "rlActiveTextureSlot", + description = "Select and active a texture slot", + returnType = "void", + params = { + {type = "int", name = "slot"} + } + }, + { + name = "rlEnableTexture", + description = "Enable texture", + returnType = "void", + params = { + {type = "unsigned int", name = "id"} + } + }, + { + name = "rlDisableTexture", + description = "Disable texture", + returnType = "void" + }, + { + name = "rlEnableTextureCubemap", + description = "Enable texture cubemap", + returnType = "void", + params = { + {type = "unsigned int", name = "id"} + } + }, + { + name = "rlDisableTextureCubemap", + description = "Disable texture cubemap", + returnType = "void" + }, + { + name = "rlTextureParameters", + description = "Set texture parameters (filter, wrap)", + returnType = "void", + params = { + {type = "unsigned int", name = "id"}, + {type = "int", name = "param"}, + {type = "int", name = "value"} + } + }, + { + name = "rlCubemapParameters", + description = "Set cubemap parameters (filter, wrap)", + returnType = "void", + params = { + {type = "unsigned int", name = "id"}, + {type = "int", name = "param"}, + {type = "int", name = "value"} + } + }, + { + name = "rlEnableShader", + description = "Enable shader program", + returnType = "void", + params = { + {type = "unsigned int", name = "id"} + } + }, + { + name = "rlDisableShader", + description = "Disable shader program", + returnType = "void" + }, + { + name = "rlEnableFramebuffer", + description = "Enable render texture (fbo)", + returnType = "void", + params = { + {type = "unsigned int", name = "id"} + } + }, + { + name = "rlDisableFramebuffer", + description = "Disable render texture (fbo), return to default framebuffer", + returnType = "void" + }, + { + name = "rlActiveDrawBuffers", + description = "Activate multiple draw color buffers", + returnType = "void", + params = { + {type = "int", name = "count"} + } + }, + { + name = "rlEnableColorBlend", + description = "Enable color blending", + returnType = "void" + }, + { + name = "rlDisableColorBlend", + description = "Disable color blending", + returnType = "void" + }, + { + name = "rlEnableDepthTest", + description = "Enable depth test", + returnType = "void" + }, + { + name = "rlDisableDepthTest", + description = "Disable depth test", + returnType = "void" + }, + { + name = "rlEnableDepthMask", + description = "Enable depth write", + returnType = "void" + }, + { + name = "rlDisableDepthMask", + description = "Disable depth write", + returnType = "void" + }, + { + name = "rlEnableBackfaceCulling", + description = "Enable backface culling", + returnType = "void" + }, + { + name = "rlDisableBackfaceCulling", + description = "Disable backface culling", + returnType = "void" + }, + { + name = "rlSetCullFace", + description = "Set face culling mode", + returnType = "void", + params = { + {type = "int", name = "mode"} + } + }, + { + name = "rlEnableScissorTest", + description = "Enable scissor test", + returnType = "void" + }, + { + name = "rlDisableScissorTest", + description = "Disable scissor test", + returnType = "void" + }, + { + name = "rlScissor", + description = "Scissor test", + returnType = "void", + params = { + {type = "int", name = "x"}, + {type = "int", name = "y"}, + {type = "int", name = "width"}, + {type = "int", name = "height"} + } + }, + { + name = "rlEnableWireMode", + description = "Enable wire mode", + returnType = "void" + }, + { + name = "rlDisableWireMode", + description = "Disable wire mode", + returnType = "void" + }, + { + name = "rlSetLineWidth", + description = "Set the line drawing width", + returnType = "void", + params = { + {type = "float", name = "width"} + } + }, + { + name = "rlGetLineWidth", + description = "Get the line drawing width", + returnType = "float" + }, + { + name = "rlEnableSmoothLines", + description = "Enable line aliasing", + returnType = "void" + }, + { + name = "rlDisableSmoothLines", + description = "Disable line aliasing", + returnType = "void" + }, + { + name = "rlEnableStereoRender", + description = "Enable stereo rendering", + returnType = "void" + }, + { + name = "rlDisableStereoRender", + description = "Disable stereo rendering", + returnType = "void" + }, + { + name = "rlIsStereoRenderEnabled", + description = "Check if stereo render is enabled", + returnType = "bool" + }, + { + name = "rlClearColor", + description = "Clear color buffer with color", + returnType = "void", + params = { + {type = "unsigned char", name = "r"}, + {type = "unsigned char", name = "g"}, + {type = "unsigned char", name = "b"}, + {type = "unsigned char", name = "a"} + } + }, + { + name = "rlClearScreenBuffers", + description = "Clear used screen buffers (color and depth)", + returnType = "void" + }, + { + name = "rlCheckErrors", + description = "Check and log OpenGL error codes", + returnType = "void" + }, + { + name = "rlSetBlendMode", + description = "Set blending mode", + returnType = "void", + params = { + {type = "int", name = "mode"} + } + }, + { + name = "rlSetBlendFactors", + description = "Set blending mode factor and equation (using OpenGL factors)", + returnType = "void", + params = { + {type = "int", name = "glSrcFactor"}, + {type = "int", name = "glDstFactor"}, + {type = "int", name = "glEquation"} + } + }, + { + name = "rlSetBlendFactorsSeparate", + description = "Set blending mode factors and equations separately (using OpenGL factors)", + returnType = "void", + params = { + {type = "int", name = "glSrcRGB"}, + {type = "int", name = "glDstRGB"}, + {type = "int", name = "glSrcAlpha"}, + {type = "int", name = "glDstAlpha"}, + {type = "int", name = "glEqRGB"}, + {type = "int", name = "glEqAlpha"} + } + }, + { + name = "rlglInit", + description = "Initialize rlgl (buffers, shaders, textures, states)", + returnType = "void", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"} + } + }, + { + name = "rlglClose", + description = "De-initialize rlgl (buffers, shaders, textures)", + returnType = "void" + }, + { + name = "rlLoadExtensions", + description = "Load OpenGL extensions (loader function required)", + returnType = "void", + params = { + {type = "void *", name = "loader"} + } + }, + { + name = "rlGetVersion", + description = "Get current OpenGL version", + returnType = "int" + }, + { + name = "rlSetFramebufferWidth", + description = "Set current framebuffer width", + returnType = "void", + params = { + {type = "int", name = "width"} + } + }, + { + name = "rlGetFramebufferWidth", + description = "Get default framebuffer width", + returnType = "int" + }, + { + name = "rlSetFramebufferHeight", + description = "Set current framebuffer height", + returnType = "void", + params = { + {type = "int", name = "height"} + } + }, + { + name = "rlGetFramebufferHeight", + description = "Get default framebuffer height", + returnType = "int" + }, + { + name = "rlGetTextureIdDefault", + description = "Get default texture id", + returnType = "unsigned int" + }, + { + name = "rlGetShaderIdDefault", + description = "Get default shader id", + returnType = "unsigned int" + }, + { + name = "rlGetShaderLocsDefault", + description = "Get default shader locations", + returnType = "int *" + }, + { + name = "rlLoadRenderBatch", + description = "Load a render batch system", + returnType = "rlRenderBatch", + params = { + {type = "int", name = "numBuffers"}, + {type = "int", name = "bufferElements"} + } + }, + { + name = "rlUnloadRenderBatch", + description = "Unload render batch system", + returnType = "void", + params = { + {type = "rlRenderBatch", name = "batch"} + } + }, + { + name = "rlDrawRenderBatch", + description = "Draw render batch data (Update->Draw->Reset)", + returnType = "void", + params = { + {type = "rlRenderBatch *", name = "batch"} + } + }, + { + name = "rlSetRenderBatchActive", + description = "Set the active render batch for rlgl (NULL for default internal)", + returnType = "void", + params = { + {type = "rlRenderBatch *", name = "batch"} + } + }, + { + name = "rlDrawRenderBatchActive", + description = "Update and draw internal render batch", + returnType = "void" + }, + { + name = "rlCheckRenderBatchLimit", + description = "Check internal buffer overflow for a given number of vertex", + returnType = "bool", + params = { + {type = "int", name = "vCount"} + } + }, + { + name = "rlSetTexture", + description = "Set current texture for render batch and check buffers limits", + returnType = "void", + params = { + {type = "unsigned int", name = "id"} + } + }, + { + name = "rlLoadVertexArray", + description = "Load vertex array (vao) if supported", + returnType = "unsigned int" + }, + { + name = "rlLoadVertexBuffer", + description = "Load a vertex buffer attribute", + returnType = "unsigned int", + params = { + {type = "const void *", name = "buffer"}, + {type = "int", name = "size"}, + {type = "bool", name = "dynamic"} + } + }, + { + name = "rlLoadVertexBufferElement", + description = "Load a new attributes element buffer", + returnType = "unsigned int", + params = { + {type = "const void *", name = "buffer"}, + {type = "int", name = "size"}, + {type = "bool", name = "dynamic"} + } + }, + { + name = "rlUpdateVertexBuffer", + description = "Update GPU buffer with new data", + returnType = "void", + params = { + {type = "unsigned int", name = "bufferId"}, + {type = "const void *", name = "data"}, + {type = "int", name = "dataSize"}, + {type = "int", name = "offset"} + } + }, + { + name = "rlUpdateVertexBufferElements", + description = "Update vertex buffer elements with new data", + returnType = "void", + params = { + {type = "unsigned int", name = "id"}, + {type = "const void *", name = "data"}, + {type = "int", name = "dataSize"}, + {type = "int", name = "offset"} + } + }, + { + name = "rlUnloadVertexArray", + description = "", + returnType = "void", + params = { + {type = "unsigned int", name = "vaoId"} + } + }, + { + name = "rlUnloadVertexBuffer", + description = "", + returnType = "void", + params = { + {type = "unsigned int", name = "vboId"} + } + }, + { + name = "rlSetVertexAttribute", + description = "", + returnType = "void", + params = { + {type = "unsigned int", name = "index"}, + {type = "int", name = "compSize"}, + {type = "int", name = "type"}, + {type = "bool", name = "normalized"}, + {type = "int", name = "stride"}, + {type = "const void *", name = "pointer"} + } + }, + { + name = "rlSetVertexAttributeDivisor", + description = "", + returnType = "void", + params = { + {type = "unsigned int", name = "index"}, + {type = "int", name = "divisor"} + } + }, + { + name = "rlSetVertexAttributeDefault", + description = "Set vertex attribute default value", + returnType = "void", + params = { + {type = "int", name = "locIndex"}, + {type = "const void *", name = "value"}, + {type = "int", name = "attribType"}, + {type = "int", name = "count"} + } + }, + { + name = "rlDrawVertexArray", + description = "", + returnType = "void", + params = { + {type = "int", name = "offset"}, + {type = "int", name = "count"} + } + }, + { + name = "rlDrawVertexArrayElements", + description = "", + returnType = "void", + params = { + {type = "int", name = "offset"}, + {type = "int", name = "count"}, + {type = "const void *", name = "buffer"} + } + }, + { + name = "rlDrawVertexArrayInstanced", + description = "", + returnType = "void", + params = { + {type = "int", name = "offset"}, + {type = "int", name = "count"}, + {type = "int", name = "instances"} + } + }, + { + name = "rlDrawVertexArrayElementsInstanced", + description = "", + returnType = "void", + params = { + {type = "int", name = "offset"}, + {type = "int", name = "count"}, + {type = "const void *", name = "buffer"}, + {type = "int", name = "instances"} + } + }, + { + name = "rlLoadTexture", + description = "Load texture in GPU", + returnType = "unsigned int", + params = { + {type = "const void *", name = "data"}, + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "int", name = "format"}, + {type = "int", name = "mipmapCount"} + } + }, + { + name = "rlLoadTextureDepth", + description = "Load depth texture/renderbuffer (to be attached to fbo)", + returnType = "unsigned int", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "bool", name = "useRenderBuffer"} + } + }, + { + name = "rlLoadTextureCubemap", + description = "Load texture cubemap", + returnType = "unsigned int", + params = { + {type = "const void *", name = "data"}, + {type = "int", name = "size"}, + {type = "int", name = "format"} + } + }, + { + name = "rlUpdateTexture", + description = "Update GPU texture with new data", + returnType = "void", + params = { + {type = "unsigned int", name = "id"}, + {type = "int", name = "offsetX"}, + {type = "int", name = "offsetY"}, + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "int", name = "format"}, + {type = "const void *", name = "data"} + } + }, + { + name = "rlGetGlTextureFormats", + description = "Get OpenGL internal formats", + returnType = "void", + params = { + {type = "int", name = "format"}, + {type = "unsigned int *", name = "glInternalFormat"}, + {type = "unsigned int *", name = "glFormat"}, + {type = "unsigned int *", name = "glType"} + } + }, + { + name = "rlGetPixelFormatName", + description = "Get name string for pixel format", + returnType = "const char *", + params = { + {type = "unsigned int", name = "format"} + } + }, + { + name = "rlUnloadTexture", + description = "Unload texture from GPU memory", + returnType = "void", + params = { + {type = "unsigned int", name = "id"} + } + }, + { + name = "rlGenTextureMipmaps", + description = "Generate mipmap data for selected texture", + returnType = "void", + params = { + {type = "unsigned int", name = "id"}, + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "int", name = "format"}, + {type = "int *", name = "mipmaps"} + } + }, + { + name = "rlReadTexturePixels", + description = "Read texture pixel data", + returnType = "void *", + params = { + {type = "unsigned int", name = "id"}, + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "int", name = "format"} + } + }, + { + name = "rlReadScreenPixels", + description = "Read screen pixel data (color buffer)", + returnType = "unsigned char *", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"} + } + }, + { + name = "rlLoadFramebuffer", + description = "Load an empty framebuffer", + returnType = "unsigned int", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"} + } + }, + { + name = "rlFramebufferAttach", + description = "Attach texture/renderbuffer to a framebuffer", + returnType = "void", + params = { + {type = "unsigned int", name = "fboId"}, + {type = "unsigned int", name = "texId"}, + {type = "int", name = "attachType"}, + {type = "int", name = "texType"}, + {type = "int", name = "mipLevel"} + } + }, + { + name = "rlFramebufferComplete", + description = "Verify framebuffer is complete", + returnType = "bool", + params = { + {type = "unsigned int", name = "id"} + } + }, + { + name = "rlUnloadFramebuffer", + description = "Delete framebuffer from GPU", + returnType = "void", + params = { + {type = "unsigned int", name = "id"} + } + }, + { + name = "rlLoadShaderCode", + description = "Load shader from code strings", + returnType = "unsigned int", + params = { + {type = "const char *", name = "vsCode"}, + {type = "const char *", name = "fsCode"} + } + }, + { + name = "rlCompileShader", + description = "Compile custom shader and return shader id (type: RL_VERTEX_SHADER, RL_FRAGMENT_SHADER, RL_COMPUTE_SHADER)", + returnType = "unsigned int", + params = { + {type = "const char *", name = "shaderCode"}, + {type = "int", name = "type"} + } + }, + { + name = "rlLoadShaderProgram", + description = "Load custom shader program", + returnType = "unsigned int", + params = { + {type = "unsigned int", name = "vShaderId"}, + {type = "unsigned int", name = "fShaderId"} + } + }, + { + name = "rlUnloadShaderProgram", + description = "Unload shader program", + returnType = "void", + params = { + {type = "unsigned int", name = "id"} + } + }, + { + name = "rlGetLocationUniform", + description = "Get shader location uniform", + returnType = "int", + params = { + {type = "unsigned int", name = "shaderId"}, + {type = "const char *", name = "uniformName"} + } + }, + { + name = "rlGetLocationAttrib", + description = "Get shader location attribute", + returnType = "int", + params = { + {type = "unsigned int", name = "shaderId"}, + {type = "const char *", name = "attribName"} + } + }, + { + name = "rlSetUniform", + description = "Set shader value uniform", + returnType = "void", + params = { + {type = "int", name = "locIndex"}, + {type = "const void *", name = "value"}, + {type = "int", name = "uniformType"}, + {type = "int", name = "count"} + } + }, + { + name = "rlSetUniformMatrix", + description = "Set shader value matrix", + returnType = "void", + params = { + {type = "int", name = "locIndex"}, + {type = "Matrix", name = "mat"} + } + }, + { + name = "rlSetUniformSampler", + description = "Set shader value sampler", + returnType = "void", + params = { + {type = "int", name = "locIndex"}, + {type = "unsigned int", name = "textureId"} + } + }, + { + name = "rlSetShader", + description = "Set shader currently active (id and locations)", + returnType = "void", + params = { + {type = "unsigned int", name = "id"}, + {type = "int *", name = "locs"} + } + }, + { + name = "rlLoadComputeShaderProgram", + description = "Load compute shader program", + returnType = "unsigned int", + params = { + {type = "unsigned int", name = "shaderId"} + } + }, + { + name = "rlComputeShaderDispatch", + description = "Dispatch compute shader (equivalent to *draw* for graphics pipeline)", + returnType = "void", + params = { + {type = "unsigned int", name = "groupX"}, + {type = "unsigned int", name = "groupY"}, + {type = "unsigned int", name = "groupZ"} + } + }, + { + name = "rlLoadShaderBuffer", + description = "Load shader storage buffer object (SSBO)", + returnType = "unsigned int", + params = { + {type = "unsigned int", name = "size"}, + {type = "const void *", name = "data"}, + {type = "int", name = "usageHint"} + } + }, + { + name = "rlUnloadShaderBuffer", + description = "Unload shader storage buffer object (SSBO)", + returnType = "void", + params = { + {type = "unsigned int", name = "ssboId"} + } + }, + { + name = "rlUpdateShaderBuffer", + description = "Update SSBO buffer data", + returnType = "void", + params = { + {type = "unsigned int", name = "id"}, + {type = "const void *", name = "data"}, + {type = "unsigned int", name = "dataSize"}, + {type = "unsigned int", name = "offset"} + } + }, + { + name = "rlBindShaderBuffer", + description = "Bind SSBO buffer", + returnType = "void", + params = { + {type = "unsigned int", name = "id"}, + {type = "unsigned int", name = "index"} + } + }, + { + name = "rlReadShaderBuffer", + description = "Read SSBO buffer data (GPU->CPU)", + returnType = "void", + params = { + {type = "unsigned int", name = "id"}, + {type = "void *", name = "dest"}, + {type = "unsigned int", name = "count"}, + {type = "unsigned int", name = "offset"} + } + }, + { + name = "rlCopyShaderBuffer", + description = "Copy SSBO data between buffers", + returnType = "void", + params = { + {type = "unsigned int", name = "destId"}, + {type = "unsigned int", name = "srcId"}, + {type = "unsigned int", name = "destOffset"}, + {type = "unsigned int", name = "srcOffset"}, + {type = "unsigned int", name = "count"} + } + }, + { + name = "rlGetShaderBufferSize", + description = "Get SSBO buffer size", + returnType = "unsigned int", + params = { + {type = "unsigned int", name = "id"} + } + }, + { + name = "rlBindImageTexture", + description = "Bind image texture", + returnType = "void", + params = { + {type = "unsigned int", name = "id"}, + {type = "unsigned int", name = "index"}, + {type = "int", name = "format"}, + {type = "bool", name = "readonly"} + } + }, + { + name = "rlGetMatrixModelview", + description = "Get internal modelview matrix", + returnType = "Matrix" + }, + { + name = "rlGetMatrixProjection", + description = "Get internal projection matrix", + returnType = "Matrix" + }, + { + name = "rlGetMatrixTransform", + description = "Get internal accumulated transform matrix", + returnType = "Matrix" + }, + { + name = "rlGetMatrixProjectionStereo", + description = "Get internal projection matrix for stereo render (selected eye)", + returnType = "Matrix", + params = { + {type = "int", name = "eye"} + } + }, + { + name = "rlGetMatrixViewOffsetStereo", + description = "Get internal view offset matrix for stereo render (selected eye)", + returnType = "Matrix", + params = { + {type = "int", name = "eye"} + } + }, + { + name = "rlSetMatrixProjection", + description = "Set a custom projection matrix (replaces internal projection matrix)", + returnType = "void", + params = { + {type = "Matrix", name = "proj"} + } + }, + { + name = "rlSetMatrixModelview", + description = "Set a custom modelview matrix (replaces internal modelview matrix)", + returnType = "void", + params = { + {type = "Matrix", name = "view"} + } + }, + { + name = "rlSetMatrixProjectionStereo", + description = "Set eyes projection matrices for stereo rendering", + returnType = "void", + params = { + {type = "Matrix", name = "right"}, + {type = "Matrix", name = "left"} + } + }, + { + name = "rlSetMatrixViewOffsetStereo", + description = "Set eyes view offsets matrices for stereo rendering", + returnType = "void", + params = { + {type = "Matrix", name = "right"}, + {type = "Matrix", name = "left"} + } + }, + { + name = "rlLoadDrawCube", + description = "Load and draw a cube", + returnType = "void" + }, + { + name = "rlLoadDrawQuad", + description = "Load and draw a quad", + returnType = "void" + } + } +} diff --git a/raylib-api/rlgl.txt b/raylib-api/rlgl.txt new file mode 100644 index 0000000..933ddfc --- /dev/null +++ b/raylib-api/rlgl.txt @@ -0,0 +1,1516 @@ + +Defines found: 86 + +Define 001: RLGL_H + Name: RLGL_H + Type: GUARD + Value: + Description: +Define 002: RLGL_VERSION + Name: RLGL_VERSION + Type: STRING + Value: "4.5" + Description: +Define 003: RLAPI + Name: RLAPI + Type: UNKNOWN + Value: __declspec(dllexport) + Description: We are building the library as a Win32 shared library (.dll) +Define 004: TRACELOG(level, ...) + Name: TRACELOG(level, ...) + Type: MACRO + Value: (void)0 + Description: +Define 005: TRACELOGD(...) + Name: TRACELOGD(...) + Type: MACRO + Value: (void)0 + Description: +Define 006: RL_MALLOC(sz) + Name: RL_MALLOC(sz) + Type: MACRO + Value: malloc(sz) + Description: +Define 007: RL_CALLOC(n,sz) + Name: RL_CALLOC(n,sz) + Type: MACRO + Value: calloc(n,sz) + Description: +Define 008: RL_REALLOC(n,sz) + Name: RL_REALLOC(n,sz) + Type: MACRO + Value: realloc(n,sz) + Description: +Define 009: RL_FREE(p) + Name: RL_FREE(p) + Type: MACRO + Value: free(p) + Description: +Define 010: GRAPHICS_API_OPENGL_33 + Name: GRAPHICS_API_OPENGL_33 + Type: GUARD + Value: + Description: +Define 011: RLGL_RENDER_TEXTURES_HINT + Name: RLGL_RENDER_TEXTURES_HINT + Type: GUARD + Value: + Description: +Define 012: RL_DEFAULT_BATCH_BUFFER_ELEMENTS + Name: RL_DEFAULT_BATCH_BUFFER_ELEMENTS + Type: INT + Value: 8192 + Description: +Define 013: RL_DEFAULT_BATCH_BUFFERS + Name: RL_DEFAULT_BATCH_BUFFERS + Type: INT + Value: 1 + Description: Default number of batch buffers (multi-buffering) +Define 014: RL_DEFAULT_BATCH_DRAWCALLS + Name: RL_DEFAULT_BATCH_DRAWCALLS + Type: INT + Value: 256 + Description: Default number of batch draw calls (by state changes: mode, texture) +Define 015: RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS + Name: RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS + Type: INT + Value: 4 + Description: Maximum number of textures units that can be activated on batch drawing (SetShaderValueTexture()) +Define 016: RL_MAX_MATRIX_STACK_SIZE + Name: RL_MAX_MATRIX_STACK_SIZE + Type: INT + Value: 32 + Description: Maximum size of Matrix stack +Define 017: RL_MAX_SHADER_LOCATIONS + Name: RL_MAX_SHADER_LOCATIONS + Type: INT + Value: 32 + Description: Maximum number of shader locations supported +Define 018: RL_CULL_DISTANCE_NEAR + Name: RL_CULL_DISTANCE_NEAR + Type: DOUBLE + Value: 0.01 + Description: Default near cull distance +Define 019: RL_CULL_DISTANCE_FAR + Name: RL_CULL_DISTANCE_FAR + Type: DOUBLE + Value: 1000.0 + Description: Default far cull distance +Define 020: RL_TEXTURE_WRAP_S + Name: RL_TEXTURE_WRAP_S + Type: INT + Value: 0x2802 + Description: GL_TEXTURE_WRAP_S +Define 021: RL_TEXTURE_WRAP_T + Name: RL_TEXTURE_WRAP_T + Type: INT + Value: 0x2803 + Description: GL_TEXTURE_WRAP_T +Define 022: RL_TEXTURE_MAG_FILTER + Name: RL_TEXTURE_MAG_FILTER + Type: INT + Value: 0x2800 + Description: GL_TEXTURE_MAG_FILTER +Define 023: RL_TEXTURE_MIN_FILTER + Name: RL_TEXTURE_MIN_FILTER + Type: INT + Value: 0x2801 + Description: GL_TEXTURE_MIN_FILTER +Define 024: RL_TEXTURE_FILTER_NEAREST + Name: RL_TEXTURE_FILTER_NEAREST + Type: INT + Value: 0x2600 + Description: GL_NEAREST +Define 025: RL_TEXTURE_FILTER_LINEAR + Name: RL_TEXTURE_FILTER_LINEAR + Type: INT + Value: 0x2601 + Description: GL_LINEAR +Define 026: RL_TEXTURE_FILTER_MIP_NEAREST + Name: RL_TEXTURE_FILTER_MIP_NEAREST + Type: INT + Value: 0x2700 + Description: GL_NEAREST_MIPMAP_NEAREST +Define 027: RL_TEXTURE_FILTER_NEAREST_MIP_LINEAR + Name: RL_TEXTURE_FILTER_NEAREST_MIP_LINEAR + Type: INT + Value: 0x2702 + Description: GL_NEAREST_MIPMAP_LINEAR +Define 028: RL_TEXTURE_FILTER_LINEAR_MIP_NEAREST + Name: RL_TEXTURE_FILTER_LINEAR_MIP_NEAREST + Type: INT + Value: 0x2701 + Description: GL_LINEAR_MIPMAP_NEAREST +Define 029: RL_TEXTURE_FILTER_MIP_LINEAR + Name: RL_TEXTURE_FILTER_MIP_LINEAR + Type: INT + Value: 0x2703 + Description: GL_LINEAR_MIPMAP_LINEAR +Define 030: RL_TEXTURE_FILTER_ANISOTROPIC + Name: RL_TEXTURE_FILTER_ANISOTROPIC + Type: INT + Value: 0x3000 + Description: Anisotropic filter (custom identifier) +Define 031: RL_TEXTURE_MIPMAP_BIAS_RATIO + Name: RL_TEXTURE_MIPMAP_BIAS_RATIO + Type: INT + Value: 0x4000 + Description: Texture mipmap bias, percentage ratio (custom identifier) +Define 032: RL_TEXTURE_WRAP_REPEAT + Name: RL_TEXTURE_WRAP_REPEAT + Type: INT + Value: 0x2901 + Description: GL_REPEAT +Define 033: RL_TEXTURE_WRAP_CLAMP + Name: RL_TEXTURE_WRAP_CLAMP + Type: INT + Value: 0x812F + Description: GL_CLAMP_TO_EDGE +Define 034: RL_TEXTURE_WRAP_MIRROR_REPEAT + Name: RL_TEXTURE_WRAP_MIRROR_REPEAT + Type: INT + Value: 0x8370 + Description: GL_MIRRORED_REPEAT +Define 035: RL_TEXTURE_WRAP_MIRROR_CLAMP + Name: RL_TEXTURE_WRAP_MIRROR_CLAMP + Type: INT + Value: 0x8742 + Description: GL_MIRROR_CLAMP_EXT +Define 036: RL_MODELVIEW + Name: RL_MODELVIEW + Type: INT + Value: 0x1700 + Description: GL_MODELVIEW +Define 037: RL_PROJECTION + Name: RL_PROJECTION + Type: INT + Value: 0x1701 + Description: GL_PROJECTION +Define 038: RL_TEXTURE + Name: RL_TEXTURE + Type: INT + Value: 0x1702 + Description: GL_TEXTURE +Define 039: RL_LINES + Name: RL_LINES + Type: INT + Value: 0x0001 + Description: GL_LINES +Define 040: RL_TRIANGLES + Name: RL_TRIANGLES + Type: INT + Value: 0x0004 + Description: GL_TRIANGLES +Define 041: RL_QUADS + Name: RL_QUADS + Type: INT + Value: 0x0007 + Description: GL_QUADS +Define 042: RL_UNSIGNED_BYTE + Name: RL_UNSIGNED_BYTE + Type: INT + Value: 0x1401 + Description: GL_UNSIGNED_BYTE +Define 043: RL_FLOAT + Name: RL_FLOAT + Type: INT + Value: 0x1406 + Description: GL_FLOAT +Define 044: RL_STREAM_DRAW + Name: RL_STREAM_DRAW + Type: INT + Value: 0x88E0 + Description: GL_STREAM_DRAW +Define 045: RL_STREAM_READ + Name: RL_STREAM_READ + Type: INT + Value: 0x88E1 + Description: GL_STREAM_READ +Define 046: RL_STREAM_COPY + Name: RL_STREAM_COPY + Type: INT + Value: 0x88E2 + Description: GL_STREAM_COPY +Define 047: RL_STATIC_DRAW + Name: RL_STATIC_DRAW + Type: INT + Value: 0x88E4 + Description: GL_STATIC_DRAW +Define 048: RL_STATIC_READ + Name: RL_STATIC_READ + Type: INT + Value: 0x88E5 + Description: GL_STATIC_READ +Define 049: RL_STATIC_COPY + Name: RL_STATIC_COPY + Type: INT + Value: 0x88E6 + Description: GL_STATIC_COPY +Define 050: RL_DYNAMIC_DRAW + Name: RL_DYNAMIC_DRAW + Type: INT + Value: 0x88E8 + Description: GL_DYNAMIC_DRAW +Define 051: RL_DYNAMIC_READ + Name: RL_DYNAMIC_READ + Type: INT + Value: 0x88E9 + Description: GL_DYNAMIC_READ +Define 052: RL_DYNAMIC_COPY + Name: RL_DYNAMIC_COPY + Type: INT + Value: 0x88EA + Description: GL_DYNAMIC_COPY +Define 053: RL_FRAGMENT_SHADER + Name: RL_FRAGMENT_SHADER + Type: INT + Value: 0x8B30 + Description: GL_FRAGMENT_SHADER +Define 054: RL_VERTEX_SHADER + Name: RL_VERTEX_SHADER + Type: INT + Value: 0x8B31 + Description: GL_VERTEX_SHADER +Define 055: RL_COMPUTE_SHADER + Name: RL_COMPUTE_SHADER + Type: INT + Value: 0x91B9 + Description: GL_COMPUTE_SHADER +Define 056: RL_ZERO + Name: RL_ZERO + Type: INT + Value: 0 + Description: GL_ZERO +Define 057: RL_ONE + Name: RL_ONE + Type: INT + Value: 1 + Description: GL_ONE +Define 058: RL_SRC_COLOR + Name: RL_SRC_COLOR + Type: INT + Value: 0x0300 + Description: GL_SRC_COLOR +Define 059: RL_ONE_MINUS_SRC_COLOR + Name: RL_ONE_MINUS_SRC_COLOR + Type: INT + Value: 0x0301 + Description: GL_ONE_MINUS_SRC_COLOR +Define 060: RL_SRC_ALPHA + Name: RL_SRC_ALPHA + Type: INT + Value: 0x0302 + Description: GL_SRC_ALPHA +Define 061: RL_ONE_MINUS_SRC_ALPHA + Name: RL_ONE_MINUS_SRC_ALPHA + Type: INT + Value: 0x0303 + Description: GL_ONE_MINUS_SRC_ALPHA +Define 062: RL_DST_ALPHA + Name: RL_DST_ALPHA + Type: INT + Value: 0x0304 + Description: GL_DST_ALPHA +Define 063: RL_ONE_MINUS_DST_ALPHA + Name: RL_ONE_MINUS_DST_ALPHA + Type: INT + Value: 0x0305 + Description: GL_ONE_MINUS_DST_ALPHA +Define 064: RL_DST_COLOR + Name: RL_DST_COLOR + Type: INT + Value: 0x0306 + Description: GL_DST_COLOR +Define 065: RL_ONE_MINUS_DST_COLOR + Name: RL_ONE_MINUS_DST_COLOR + Type: INT + Value: 0x0307 + Description: GL_ONE_MINUS_DST_COLOR +Define 066: RL_SRC_ALPHA_SATURATE + Name: RL_SRC_ALPHA_SATURATE + Type: INT + Value: 0x0308 + Description: GL_SRC_ALPHA_SATURATE +Define 067: RL_CONSTANT_COLOR + Name: RL_CONSTANT_COLOR + Type: INT + Value: 0x8001 + Description: GL_CONSTANT_COLOR +Define 068: RL_ONE_MINUS_CONSTANT_COLOR + Name: RL_ONE_MINUS_CONSTANT_COLOR + Type: INT + Value: 0x8002 + Description: GL_ONE_MINUS_CONSTANT_COLOR +Define 069: RL_CONSTANT_ALPHA + Name: RL_CONSTANT_ALPHA + Type: INT + Value: 0x8003 + Description: GL_CONSTANT_ALPHA +Define 070: RL_ONE_MINUS_CONSTANT_ALPHA + Name: RL_ONE_MINUS_CONSTANT_ALPHA + Type: INT + Value: 0x8004 + Description: GL_ONE_MINUS_CONSTANT_ALPHA +Define 071: RL_FUNC_ADD + Name: RL_FUNC_ADD + Type: INT + Value: 0x8006 + Description: GL_FUNC_ADD +Define 072: RL_MIN + Name: RL_MIN + Type: INT + Value: 0x8007 + Description: GL_MIN +Define 073: RL_MAX + Name: RL_MAX + Type: INT + Value: 0x8008 + Description: GL_MAX +Define 074: RL_FUNC_SUBTRACT + Name: RL_FUNC_SUBTRACT + Type: INT + Value: 0x800A + Description: GL_FUNC_SUBTRACT +Define 075: RL_FUNC_REVERSE_SUBTRACT + Name: RL_FUNC_REVERSE_SUBTRACT + Type: INT + Value: 0x800B + Description: GL_FUNC_REVERSE_SUBTRACT +Define 076: RL_BLEND_EQUATION + Name: RL_BLEND_EQUATION + Type: INT + Value: 0x8009 + Description: GL_BLEND_EQUATION +Define 077: RL_BLEND_EQUATION_RGB + Name: RL_BLEND_EQUATION_RGB + Type: INT + Value: 0x8009 + Description: GL_BLEND_EQUATION_RGB // (Same as BLEND_EQUATION) +Define 078: RL_BLEND_EQUATION_ALPHA + Name: RL_BLEND_EQUATION_ALPHA + Type: INT + Value: 0x883D + Description: GL_BLEND_EQUATION_ALPHA +Define 079: RL_BLEND_DST_RGB + Name: RL_BLEND_DST_RGB + Type: INT + Value: 0x80C8 + Description: GL_BLEND_DST_RGB +Define 080: RL_BLEND_SRC_RGB + Name: RL_BLEND_SRC_RGB + Type: INT + Value: 0x80C9 + Description: GL_BLEND_SRC_RGB +Define 081: RL_BLEND_DST_ALPHA + Name: RL_BLEND_DST_ALPHA + Type: INT + Value: 0x80CA + Description: GL_BLEND_DST_ALPHA +Define 082: RL_BLEND_SRC_ALPHA + Name: RL_BLEND_SRC_ALPHA + Type: INT + Value: 0x80CB + Description: GL_BLEND_SRC_ALPHA +Define 083: RL_BLEND_COLOR + Name: RL_BLEND_COLOR + Type: INT + Value: 0x8005 + Description: GL_BLEND_COLOR +Define 084: RL_MATRIX_TYPE + Name: RL_MATRIX_TYPE + Type: GUARD + Value: + Description: +Define 085: RL_SHADER_LOC_MAP_DIFFUSE + Name: RL_SHADER_LOC_MAP_DIFFUSE + Type: UNKNOWN + Value: RL_SHADER_LOC_MAP_ALBEDO + Description: +Define 086: RL_SHADER_LOC_MAP_SPECULAR + Name: RL_SHADER_LOC_MAP_SPECULAR + Type: UNKNOWN + Value: RL_SHADER_LOC_MAP_METALNESS + Description: + +Structures found: 4 + +Struct 01: Matrix (16 fields) + Name: Matrix + Description: Matrix, 4x4 components, column major, OpenGL style, right handed + Field[1]: float m0 // Matrix first row (4 components) + Field[2]: float m4 // Matrix first row (4 components) + Field[3]: float m8 // Matrix first row (4 components) + Field[4]: float m12 // Matrix first row (4 components) + Field[5]: float m1 // Matrix second row (4 components) + Field[6]: float m5 // Matrix second row (4 components) + Field[7]: float m9 // Matrix second row (4 components) + Field[8]: float m13 // Matrix second row (4 components) + Field[9]: float m2 // Matrix third row (4 components) + Field[10]: float m6 // Matrix third row (4 components) + Field[11]: float m10 // Matrix third row (4 components) + Field[12]: float m14 // Matrix third row (4 components) + Field[13]: float m3 // Matrix fourth row (4 components) + Field[14]: float m7 // Matrix fourth row (4 components) + Field[15]: float m11 // Matrix fourth row (4 components) + Field[16]: float m15 // Matrix fourth row (4 components) +Struct 02: rlVertexBuffer (12 fields) + Name: rlVertexBuffer + Description: Dynamic vertex buffers (position + texcoords + colors + indices arrays) + Field[1]: int elementCount // Number of elements in the buffer (QUADS) + Field[2]: float * vertices // Vertex position (XYZ - 3 components per vertex) (shader-location = 0) + Field[3]: float * texcoords // Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) + Field[4]: unsigned char * colors // Vertex colors (RGBA - 4 components per vertex) (shader-location = 3) + Field[5]: #if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENunsigned int * indices // Vertex indices (in case vertex data comes indexed) (6 indices per quad) + Field[6]: unsigned int * indices // Vertex indices (in case vertex data comes indexed) (6 indices per quad) + Field[7]: #endif indices // Vertex indices (in case vertex data comes indexed) (6 indices per quad) + Field[8]: #if defined(GRAPHICS_API_OPENGL_ES2) indices // Vertex indices (in case vertex data comes indexed) (6 indices per quad) + Field[9]: unsigned short * indices // Vertex indices (in case vertex data comes indexed) (6 indices per quad) + Field[10]: #endif vaoId // OpenGL Vertex Array Object id + Field[11]: unsigned int vaoId // OpenGL Vertex Array Object id + Field[12]: unsigned int[4] vboId // OpenGL Vertex Buffer Objects id (4 types of vertex data) +Struct 03: rlDrawCall (4 fields) + Name: rlDrawCall + Description: of those state-change happens (this is done in core module) + Field[1]: int mode // Drawing mode: LINES, TRIANGLES, QUADS + Field[2]: int vertexCount // Number of vertex of the draw + Field[3]: int vertexAlignment // Number of vertex required for index alignment (LINES, TRIANGLES) + Field[4]: unsigned int textureId // Texture id to be used on the draw -> Use to create new draw call if changes +Struct 04: rlRenderBatch (6 fields) + Name: rlRenderBatch + Description: rlRenderBatch type + Field[1]: int bufferCount // Number of vertex buffers (multi-buffering support) + Field[2]: int currentBuffer // Current buffer tracking in case of multi-buffering + Field[3]: rlVertexBuffer * vertexBuffer // Dynamic buffer(s) for vertex data + Field[4]: rlDrawCall * draws // Draw calls array, depends on textureId + Field[5]: int drawCounter // Draw calls counter + Field[6]: float currentDepth // Current depth value for next draw + +Aliases found: 0 + + +Enums found: 11 + +Enum 01: rlGlVersion (5 values) + Name: rlGlVersion + Description: OpenGL version + Value[RL_OPENGL_11]: 1 + Value[RL_OPENGL_21]: 2 + Value[RL_OPENGL_33]: 3 + Value[RL_OPENGL_43]: 4 + Value[RL_OPENGL_ES_20]: 5 +Enum 02: rlTraceLogLevel (8 values) + Name: rlTraceLogLevel + Description: Trace log level + Value[RL_LOG_ALL]: 0 + Value[RL_LOG_TRACE]: 1 + Value[RL_LOG_DEBUG]: 2 + Value[RL_LOG_INFO]: 3 + Value[RL_LOG_WARNING]: 4 + Value[RL_LOG_ERROR]: 5 + Value[RL_LOG_FATAL]: 6 + Value[RL_LOG_NONE]: 7 +Enum 03: rlPixelFormat (21 values) + Name: rlPixelFormat + Description: Texture pixel formats + Value[RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE]: 1 + Value[RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA]: 2 + Value[RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5]: 3 + Value[RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8]: 4 + Value[RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1]: 5 + Value[RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4]: 6 + Value[RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8]: 7 + Value[RL_PIXELFORMAT_UNCOMPRESSED_R32]: 8 + Value[RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32]: 9 + Value[RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32]: 10 + Value[RL_PIXELFORMAT_COMPRESSED_DXT1_RGB]: 11 + Value[RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA]: 12 + Value[RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA]: 13 + Value[RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA]: 14 + Value[RL_PIXELFORMAT_COMPRESSED_ETC1_RGB]: 15 + Value[RL_PIXELFORMAT_COMPRESSED_ETC2_RGB]: 16 + Value[RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA]: 17 + Value[RL_PIXELFORMAT_COMPRESSED_PVRT_RGB]: 18 + Value[RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA]: 19 + Value[RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA]: 20 + Value[RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA]: 21 +Enum 04: rlTextureFilter (6 values) + Name: rlTextureFilter + Description: Texture parameters: filter mode + Value[RL_TEXTURE_FILTER_POINT]: 0 + Value[RL_TEXTURE_FILTER_BILINEAR]: 1 + Value[RL_TEXTURE_FILTER_TRILINEAR]: 2 + Value[RL_TEXTURE_FILTER_ANISOTROPIC_4X]: 3 + Value[RL_TEXTURE_FILTER_ANISOTROPIC_8X]: 4 + Value[RL_TEXTURE_FILTER_ANISOTROPIC_16X]: 5 +Enum 05: rlBlendMode (8 values) + Name: rlBlendMode + Description: Color blending modes (pre-defined) + Value[RL_BLEND_ALPHA]: 0 + Value[RL_BLEND_ADDITIVE]: 1 + Value[RL_BLEND_MULTIPLIED]: 2 + Value[RL_BLEND_ADD_COLORS]: 3 + Value[RL_BLEND_SUBTRACT_COLORS]: 4 + Value[RL_BLEND_ALPHA_PREMULTIPLY]: 5 + Value[RL_BLEND_CUSTOM]: 6 + Value[RL_BLEND_CUSTOM_SEPARATE]: 7 +Enum 06: rlShaderLocationIndex (26 values) + Name: rlShaderLocationIndex + Description: Shader location point type + Value[RL_SHADER_LOC_VERTEX_POSITION]: 0 + Value[RL_SHADER_LOC_VERTEX_TEXCOORD01]: 1 + Value[RL_SHADER_LOC_VERTEX_TEXCOORD02]: 2 + Value[RL_SHADER_LOC_VERTEX_NORMAL]: 3 + Value[RL_SHADER_LOC_VERTEX_TANGENT]: 4 + Value[RL_SHADER_LOC_VERTEX_COLOR]: 5 + Value[RL_SHADER_LOC_MATRIX_MVP]: 6 + Value[RL_SHADER_LOC_MATRIX_VIEW]: 7 + Value[RL_SHADER_LOC_MATRIX_PROJECTION]: 8 + Value[RL_SHADER_LOC_MATRIX_MODEL]: 9 + Value[RL_SHADER_LOC_MATRIX_NORMAL]: 10 + Value[RL_SHADER_LOC_VECTOR_VIEW]: 11 + Value[RL_SHADER_LOC_COLOR_DIFFUSE]: 12 + Value[RL_SHADER_LOC_COLOR_SPECULAR]: 13 + Value[RL_SHADER_LOC_COLOR_AMBIENT]: 14 + Value[RL_SHADER_LOC_MAP_ALBEDO]: 15 + Value[RL_SHADER_LOC_MAP_METALNESS]: 16 + Value[RL_SHADER_LOC_MAP_NORMAL]: 17 + Value[RL_SHADER_LOC_MAP_ROUGHNESS]: 18 + Value[RL_SHADER_LOC_MAP_OCCLUSION]: 19 + Value[RL_SHADER_LOC_MAP_EMISSION]: 20 + Value[RL_SHADER_LOC_MAP_HEIGHT]: 21 + Value[RL_SHADER_LOC_MAP_CUBEMAP]: 22 + Value[RL_SHADER_LOC_MAP_IRRADIANCE]: 23 + Value[RL_SHADER_LOC_MAP_PREFILTER]: 24 + Value[RL_SHADER_LOC_MAP_BRDF]: 25 +Enum 07: rlShaderUniformDataType (9 values) + Name: rlShaderUniformDataType + Description: Shader uniform data type + Value[RL_SHADER_UNIFORM_FLOAT]: 0 + Value[RL_SHADER_UNIFORM_VEC2]: 1 + Value[RL_SHADER_UNIFORM_VEC3]: 2 + Value[RL_SHADER_UNIFORM_VEC4]: 3 + Value[RL_SHADER_UNIFORM_INT]: 4 + Value[RL_SHADER_UNIFORM_IVEC2]: 5 + Value[RL_SHADER_UNIFORM_IVEC3]: 6 + Value[RL_SHADER_UNIFORM_IVEC4]: 7 + Value[RL_SHADER_UNIFORM_SAMPLER2D]: 8 +Enum 08: rlShaderAttributeDataType (4 values) + Name: rlShaderAttributeDataType + Description: Shader attribute data types + Value[RL_SHADER_ATTRIB_FLOAT]: 0 + Value[RL_SHADER_ATTRIB_VEC2]: 1 + Value[RL_SHADER_ATTRIB_VEC3]: 2 + Value[RL_SHADER_ATTRIB_VEC4]: 3 +Enum 09: rlFramebufferAttachType (10 values) + Name: rlFramebufferAttachType + Description: Framebuffer attachment type + Value[RL_ATTACHMENT_COLOR_CHANNEL0]: 0 + Value[RL_ATTACHMENT_COLOR_CHANNEL1]: 1 + Value[RL_ATTACHMENT_COLOR_CHANNEL2]: 2 + Value[RL_ATTACHMENT_COLOR_CHANNEL3]: 3 + Value[RL_ATTACHMENT_COLOR_CHANNEL4]: 4 + Value[RL_ATTACHMENT_COLOR_CHANNEL5]: 5 + Value[RL_ATTACHMENT_COLOR_CHANNEL6]: 6 + Value[RL_ATTACHMENT_COLOR_CHANNEL7]: 7 + Value[RL_ATTACHMENT_DEPTH]: 100 + Value[RL_ATTACHMENT_STENCIL]: 200 +Enum 10: rlFramebufferAttachTextureType (8 values) + Name: rlFramebufferAttachTextureType + Description: Framebuffer texture attachment type + Value[RL_ATTACHMENT_CUBEMAP_POSITIVE_X]: 0 + Value[RL_ATTACHMENT_CUBEMAP_NEGATIVE_X]: 1 + Value[RL_ATTACHMENT_CUBEMAP_POSITIVE_Y]: 2 + Value[RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y]: 3 + Value[RL_ATTACHMENT_CUBEMAP_POSITIVE_Z]: 4 + Value[RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z]: 5 + Value[RL_ATTACHMENT_TEXTURE2D]: 100 + Value[RL_ATTACHMENT_RENDERBUFFER]: 200 +Enum 11: rlCullMode (2 values) + Name: rlCullMode + Description: Face culling mode + Value[RL_CULL_FACE_FRONT]: 0 + Value[RL_CULL_FACE_BACK]: 1 + +Callbacks found: 0 + + +Functions found: 147 + +Function 001: rlMatrixMode() (1 input parameters) + Name: rlMatrixMode + Return type: void + Description: Choose the current matrix to be transformed + Param[1]: mode (type: int) +Function 002: rlPushMatrix() (0 input parameters) + Name: rlPushMatrix + Return type: void + Description: Push the current matrix to stack + No input parameters +Function 003: rlPopMatrix() (0 input parameters) + Name: rlPopMatrix + Return type: void + Description: Pop latest inserted matrix from stack + No input parameters +Function 004: rlLoadIdentity() (0 input parameters) + Name: rlLoadIdentity + Return type: void + Description: Reset current matrix to identity matrix + No input parameters +Function 005: rlTranslatef() (3 input parameters) + Name: rlTranslatef + Return type: void + Description: Multiply the current matrix by a translation matrix + Param[1]: x (type: float) + Param[2]: y (type: float) + Param[3]: z (type: float) +Function 006: rlRotatef() (4 input parameters) + Name: rlRotatef + Return type: void + Description: Multiply the current matrix by a rotation matrix + Param[1]: angle (type: float) + Param[2]: x (type: float) + Param[3]: y (type: float) + Param[4]: z (type: float) +Function 007: rlScalef() (3 input parameters) + Name: rlScalef + Return type: void + Description: Multiply the current matrix by a scaling matrix + Param[1]: x (type: float) + Param[2]: y (type: float) + Param[3]: z (type: float) +Function 008: rlMultMatrixf() (1 input parameters) + Name: rlMultMatrixf + Return type: void + Description: Multiply the current matrix by another matrix + Param[1]: matf (type: const float *) +Function 009: rlFrustum() (6 input parameters) + Name: rlFrustum + Return type: void + Description: + Param[1]: left (type: double) + Param[2]: right (type: double) + Param[3]: bottom (type: double) + Param[4]: top (type: double) + Param[5]: znear (type: double) + Param[6]: zfar (type: double) +Function 010: rlOrtho() (6 input parameters) + Name: rlOrtho + Return type: void + Description: + Param[1]: left (type: double) + Param[2]: right (type: double) + Param[3]: bottom (type: double) + Param[4]: top (type: double) + Param[5]: znear (type: double) + Param[6]: zfar (type: double) +Function 011: rlViewport() (4 input parameters) + Name: rlViewport + Return type: void + Description: Set the viewport area + Param[1]: x (type: int) + Param[2]: y (type: int) + Param[3]: width (type: int) + Param[4]: height (type: int) +Function 012: rlBegin() (1 input parameters) + Name: rlBegin + Return type: void + Description: Initialize drawing mode (how to organize vertex) + Param[1]: mode (type: int) +Function 013: rlEnd() (0 input parameters) + Name: rlEnd + Return type: void + Description: Finish vertex providing + No input parameters +Function 014: rlVertex2i() (2 input parameters) + Name: rlVertex2i + Return type: void + Description: Define one vertex (position) - 2 int + Param[1]: x (type: int) + Param[2]: y (type: int) +Function 015: rlVertex2f() (2 input parameters) + Name: rlVertex2f + Return type: void + Description: Define one vertex (position) - 2 float + Param[1]: x (type: float) + Param[2]: y (type: float) +Function 016: rlVertex3f() (3 input parameters) + Name: rlVertex3f + Return type: void + Description: Define one vertex (position) - 3 float + Param[1]: x (type: float) + Param[2]: y (type: float) + Param[3]: z (type: float) +Function 017: rlTexCoord2f() (2 input parameters) + Name: rlTexCoord2f + Return type: void + Description: Define one vertex (texture coordinate) - 2 float + Param[1]: x (type: float) + Param[2]: y (type: float) +Function 018: rlNormal3f() (3 input parameters) + Name: rlNormal3f + Return type: void + Description: Define one vertex (normal) - 3 float + Param[1]: x (type: float) + Param[2]: y (type: float) + Param[3]: z (type: float) +Function 019: rlColor4ub() (4 input parameters) + Name: rlColor4ub + Return type: void + Description: Define one vertex (color) - 4 byte + Param[1]: r (type: unsigned char) + Param[2]: g (type: unsigned char) + Param[3]: b (type: unsigned char) + Param[4]: a (type: unsigned char) +Function 020: rlColor3f() (3 input parameters) + Name: rlColor3f + Return type: void + Description: Define one vertex (color) - 3 float + Param[1]: x (type: float) + Param[2]: y (type: float) + Param[3]: z (type: float) +Function 021: rlColor4f() (4 input parameters) + Name: rlColor4f + Return type: void + Description: Define one vertex (color) - 4 float + Param[1]: x (type: float) + Param[2]: y (type: float) + Param[3]: z (type: float) + Param[4]: w (type: float) +Function 022: rlEnableVertexArray() (1 input parameters) + Name: rlEnableVertexArray + Return type: bool + Description: Enable vertex array (VAO, if supported) + Param[1]: vaoId (type: unsigned int) +Function 023: rlDisableVertexArray() (0 input parameters) + Name: rlDisableVertexArray + Return type: void + Description: Disable vertex array (VAO, if supported) + No input parameters +Function 024: rlEnableVertexBuffer() (1 input parameters) + Name: rlEnableVertexBuffer + Return type: void + Description: Enable vertex buffer (VBO) + Param[1]: id (type: unsigned int) +Function 025: rlDisableVertexBuffer() (0 input parameters) + Name: rlDisableVertexBuffer + Return type: void + Description: Disable vertex buffer (VBO) + No input parameters +Function 026: rlEnableVertexBufferElement() (1 input parameters) + Name: rlEnableVertexBufferElement + Return type: void + Description: Enable vertex buffer element (VBO element) + Param[1]: id (type: unsigned int) +Function 027: rlDisableVertexBufferElement() (0 input parameters) + Name: rlDisableVertexBufferElement + Return type: void + Description: Disable vertex buffer element (VBO element) + No input parameters +Function 028: rlEnableVertexAttribute() (1 input parameters) + Name: rlEnableVertexAttribute + Return type: void + Description: Enable vertex attribute index + Param[1]: index (type: unsigned int) +Function 029: rlDisableVertexAttribute() (1 input parameters) + Name: rlDisableVertexAttribute + Return type: void + Description: Disable vertex attribute index + Param[1]: index (type: unsigned int) +Function 030: rlEnableStatePointer() (2 input parameters) + Name: rlEnableStatePointer + Return type: void + Description: Enable attribute state pointer + Param[1]: vertexAttribType (type: int) + Param[2]: buffer (type: void *) +Function 031: rlDisableStatePointer() (1 input parameters) + Name: rlDisableStatePointer + Return type: void + Description: Disable attribute state pointer + Param[1]: vertexAttribType (type: int) +Function 032: rlActiveTextureSlot() (1 input parameters) + Name: rlActiveTextureSlot + Return type: void + Description: Select and active a texture slot + Param[1]: slot (type: int) +Function 033: rlEnableTexture() (1 input parameters) + Name: rlEnableTexture + Return type: void + Description: Enable texture + Param[1]: id (type: unsigned int) +Function 034: rlDisableTexture() (0 input parameters) + Name: rlDisableTexture + Return type: void + Description: Disable texture + No input parameters +Function 035: rlEnableTextureCubemap() (1 input parameters) + Name: rlEnableTextureCubemap + Return type: void + Description: Enable texture cubemap + Param[1]: id (type: unsigned int) +Function 036: rlDisableTextureCubemap() (0 input parameters) + Name: rlDisableTextureCubemap + Return type: void + Description: Disable texture cubemap + No input parameters +Function 037: rlTextureParameters() (3 input parameters) + Name: rlTextureParameters + Return type: void + Description: Set texture parameters (filter, wrap) + Param[1]: id (type: unsigned int) + Param[2]: param (type: int) + Param[3]: value (type: int) +Function 038: rlCubemapParameters() (3 input parameters) + Name: rlCubemapParameters + Return type: void + Description: Set cubemap parameters (filter, wrap) + Param[1]: id (type: unsigned int) + Param[2]: param (type: int) + Param[3]: value (type: int) +Function 039: rlEnableShader() (1 input parameters) + Name: rlEnableShader + Return type: void + Description: Enable shader program + Param[1]: id (type: unsigned int) +Function 040: rlDisableShader() (0 input parameters) + Name: rlDisableShader + Return type: void + Description: Disable shader program + No input parameters +Function 041: rlEnableFramebuffer() (1 input parameters) + Name: rlEnableFramebuffer + Return type: void + Description: Enable render texture (fbo) + Param[1]: id (type: unsigned int) +Function 042: rlDisableFramebuffer() (0 input parameters) + Name: rlDisableFramebuffer + Return type: void + Description: Disable render texture (fbo), return to default framebuffer + No input parameters +Function 043: rlActiveDrawBuffers() (1 input parameters) + Name: rlActiveDrawBuffers + Return type: void + Description: Activate multiple draw color buffers + Param[1]: count (type: int) +Function 044: rlEnableColorBlend() (0 input parameters) + Name: rlEnableColorBlend + Return type: void + Description: Enable color blending + No input parameters +Function 045: rlDisableColorBlend() (0 input parameters) + Name: rlDisableColorBlend + Return type: void + Description: Disable color blending + No input parameters +Function 046: rlEnableDepthTest() (0 input parameters) + Name: rlEnableDepthTest + Return type: void + Description: Enable depth test + No input parameters +Function 047: rlDisableDepthTest() (0 input parameters) + Name: rlDisableDepthTest + Return type: void + Description: Disable depth test + No input parameters +Function 048: rlEnableDepthMask() (0 input parameters) + Name: rlEnableDepthMask + Return type: void + Description: Enable depth write + No input parameters +Function 049: rlDisableDepthMask() (0 input parameters) + Name: rlDisableDepthMask + Return type: void + Description: Disable depth write + No input parameters +Function 050: rlEnableBackfaceCulling() (0 input parameters) + Name: rlEnableBackfaceCulling + Return type: void + Description: Enable backface culling + No input parameters +Function 051: rlDisableBackfaceCulling() (0 input parameters) + Name: rlDisableBackfaceCulling + Return type: void + Description: Disable backface culling + No input parameters +Function 052: rlSetCullFace() (1 input parameters) + Name: rlSetCullFace + Return type: void + Description: Set face culling mode + Param[1]: mode (type: int) +Function 053: rlEnableScissorTest() (0 input parameters) + Name: rlEnableScissorTest + Return type: void + Description: Enable scissor test + No input parameters +Function 054: rlDisableScissorTest() (0 input parameters) + Name: rlDisableScissorTest + Return type: void + Description: Disable scissor test + No input parameters +Function 055: rlScissor() (4 input parameters) + Name: rlScissor + Return type: void + Description: Scissor test + Param[1]: x (type: int) + Param[2]: y (type: int) + Param[3]: width (type: int) + Param[4]: height (type: int) +Function 056: rlEnableWireMode() (0 input parameters) + Name: rlEnableWireMode + Return type: void + Description: Enable wire mode + No input parameters +Function 057: rlDisableWireMode() (0 input parameters) + Name: rlDisableWireMode + Return type: void + Description: Disable wire mode + No input parameters +Function 058: rlSetLineWidth() (1 input parameters) + Name: rlSetLineWidth + Return type: void + Description: Set the line drawing width + Param[1]: width (type: float) +Function 059: rlGetLineWidth() (0 input parameters) + Name: rlGetLineWidth + Return type: float + Description: Get the line drawing width + No input parameters +Function 060: rlEnableSmoothLines() (0 input parameters) + Name: rlEnableSmoothLines + Return type: void + Description: Enable line aliasing + No input parameters +Function 061: rlDisableSmoothLines() (0 input parameters) + Name: rlDisableSmoothLines + Return type: void + Description: Disable line aliasing + No input parameters +Function 062: rlEnableStereoRender() (0 input parameters) + Name: rlEnableStereoRender + Return type: void + Description: Enable stereo rendering + No input parameters +Function 063: rlDisableStereoRender() (0 input parameters) + Name: rlDisableStereoRender + Return type: void + Description: Disable stereo rendering + No input parameters +Function 064: rlIsStereoRenderEnabled() (0 input parameters) + Name: rlIsStereoRenderEnabled + Return type: bool + Description: Check if stereo render is enabled + No input parameters +Function 065: rlClearColor() (4 input parameters) + Name: rlClearColor + Return type: void + Description: Clear color buffer with color + Param[1]: r (type: unsigned char) + Param[2]: g (type: unsigned char) + Param[3]: b (type: unsigned char) + Param[4]: a (type: unsigned char) +Function 066: rlClearScreenBuffers() (0 input parameters) + Name: rlClearScreenBuffers + Return type: void + Description: Clear used screen buffers (color and depth) + No input parameters +Function 067: rlCheckErrors() (0 input parameters) + Name: rlCheckErrors + Return type: void + Description: Check and log OpenGL error codes + No input parameters +Function 068: rlSetBlendMode() (1 input parameters) + Name: rlSetBlendMode + Return type: void + Description: Set blending mode + Param[1]: mode (type: int) +Function 069: rlSetBlendFactors() (3 input parameters) + Name: rlSetBlendFactors + Return type: void + Description: Set blending mode factor and equation (using OpenGL factors) + Param[1]: glSrcFactor (type: int) + Param[2]: glDstFactor (type: int) + Param[3]: glEquation (type: int) +Function 070: rlSetBlendFactorsSeparate() (6 input parameters) + Name: rlSetBlendFactorsSeparate + Return type: void + Description: Set blending mode factors and equations separately (using OpenGL factors) + Param[1]: glSrcRGB (type: int) + Param[2]: glDstRGB (type: int) + Param[3]: glSrcAlpha (type: int) + Param[4]: glDstAlpha (type: int) + Param[5]: glEqRGB (type: int) + Param[6]: glEqAlpha (type: int) +Function 071: rlglInit() (2 input parameters) + Name: rlglInit + Return type: void + Description: Initialize rlgl (buffers, shaders, textures, states) + Param[1]: width (type: int) + Param[2]: height (type: int) +Function 072: rlglClose() (0 input parameters) + Name: rlglClose + Return type: void + Description: De-initialize rlgl (buffers, shaders, textures) + No input parameters +Function 073: rlLoadExtensions() (1 input parameters) + Name: rlLoadExtensions + Return type: void + Description: Load OpenGL extensions (loader function required) + Param[1]: loader (type: void *) +Function 074: rlGetVersion() (0 input parameters) + Name: rlGetVersion + Return type: int + Description: Get current OpenGL version + No input parameters +Function 075: rlSetFramebufferWidth() (1 input parameters) + Name: rlSetFramebufferWidth + Return type: void + Description: Set current framebuffer width + Param[1]: width (type: int) +Function 076: rlGetFramebufferWidth() (0 input parameters) + Name: rlGetFramebufferWidth + Return type: int + Description: Get default framebuffer width + No input parameters +Function 077: rlSetFramebufferHeight() (1 input parameters) + Name: rlSetFramebufferHeight + Return type: void + Description: Set current framebuffer height + Param[1]: height (type: int) +Function 078: rlGetFramebufferHeight() (0 input parameters) + Name: rlGetFramebufferHeight + Return type: int + Description: Get default framebuffer height + No input parameters +Function 079: rlGetTextureIdDefault() (0 input parameters) + Name: rlGetTextureIdDefault + Return type: unsigned int + Description: Get default texture id + No input parameters +Function 080: rlGetShaderIdDefault() (0 input parameters) + Name: rlGetShaderIdDefault + Return type: unsigned int + Description: Get default shader id + No input parameters +Function 081: rlGetShaderLocsDefault() (0 input parameters) + Name: rlGetShaderLocsDefault + Return type: int * + Description: Get default shader locations + No input parameters +Function 082: rlLoadRenderBatch() (2 input parameters) + Name: rlLoadRenderBatch + Return type: rlRenderBatch + Description: Load a render batch system + Param[1]: numBuffers (type: int) + Param[2]: bufferElements (type: int) +Function 083: rlUnloadRenderBatch() (1 input parameters) + Name: rlUnloadRenderBatch + Return type: void + Description: Unload render batch system + Param[1]: batch (type: rlRenderBatch) +Function 084: rlDrawRenderBatch() (1 input parameters) + Name: rlDrawRenderBatch + Return type: void + Description: Draw render batch data (Update->Draw->Reset) + Param[1]: batch (type: rlRenderBatch *) +Function 085: rlSetRenderBatchActive() (1 input parameters) + Name: rlSetRenderBatchActive + Return type: void + Description: Set the active render batch for rlgl (NULL for default internal) + Param[1]: batch (type: rlRenderBatch *) +Function 086: rlDrawRenderBatchActive() (0 input parameters) + Name: rlDrawRenderBatchActive + Return type: void + Description: Update and draw internal render batch + No input parameters +Function 087: rlCheckRenderBatchLimit() (1 input parameters) + Name: rlCheckRenderBatchLimit + Return type: bool + Description: Check internal buffer overflow for a given number of vertex + Param[1]: vCount (type: int) +Function 088: rlSetTexture() (1 input parameters) + Name: rlSetTexture + Return type: void + Description: Set current texture for render batch and check buffers limits + Param[1]: id (type: unsigned int) +Function 089: rlLoadVertexArray() (0 input parameters) + Name: rlLoadVertexArray + Return type: unsigned int + Description: Load vertex array (vao) if supported + No input parameters +Function 090: rlLoadVertexBuffer() (3 input parameters) + Name: rlLoadVertexBuffer + Return type: unsigned int + Description: Load a vertex buffer attribute + Param[1]: buffer (type: const void *) + Param[2]: size (type: int) + Param[3]: dynamic (type: bool) +Function 091: rlLoadVertexBufferElement() (3 input parameters) + Name: rlLoadVertexBufferElement + Return type: unsigned int + Description: Load a new attributes element buffer + Param[1]: buffer (type: const void *) + Param[2]: size (type: int) + Param[3]: dynamic (type: bool) +Function 092: rlUpdateVertexBuffer() (4 input parameters) + Name: rlUpdateVertexBuffer + Return type: void + Description: Update GPU buffer with new data + Param[1]: bufferId (type: unsigned int) + Param[2]: data (type: const void *) + Param[3]: dataSize (type: int) + Param[4]: offset (type: int) +Function 093: rlUpdateVertexBufferElements() (4 input parameters) + Name: rlUpdateVertexBufferElements + Return type: void + Description: Update vertex buffer elements with new data + Param[1]: id (type: unsigned int) + Param[2]: data (type: const void *) + Param[3]: dataSize (type: int) + Param[4]: offset (type: int) +Function 094: rlUnloadVertexArray() (1 input parameters) + Name: rlUnloadVertexArray + Return type: void + Description: + Param[1]: vaoId (type: unsigned int) +Function 095: rlUnloadVertexBuffer() (1 input parameters) + Name: rlUnloadVertexBuffer + Return type: void + Description: + Param[1]: vboId (type: unsigned int) +Function 096: rlSetVertexAttribute() (6 input parameters) + Name: rlSetVertexAttribute + Return type: void + Description: + Param[1]: index (type: unsigned int) + Param[2]: compSize (type: int) + Param[3]: type (type: int) + Param[4]: normalized (type: bool) + Param[5]: stride (type: int) + Param[6]: pointer (type: const void *) +Function 097: rlSetVertexAttributeDivisor() (2 input parameters) + Name: rlSetVertexAttributeDivisor + Return type: void + Description: + Param[1]: index (type: unsigned int) + Param[2]: divisor (type: int) +Function 098: rlSetVertexAttributeDefault() (4 input parameters) + Name: rlSetVertexAttributeDefault + Return type: void + Description: Set vertex attribute default value + Param[1]: locIndex (type: int) + Param[2]: value (type: const void *) + Param[3]: attribType (type: int) + Param[4]: count (type: int) +Function 099: rlDrawVertexArray() (2 input parameters) + Name: rlDrawVertexArray + Return type: void + Description: + Param[1]: offset (type: int) + Param[2]: count (type: int) +Function 100: rlDrawVertexArrayElements() (3 input parameters) + Name: rlDrawVertexArrayElements + Return type: void + Description: + Param[1]: offset (type: int) + Param[2]: count (type: int) + Param[3]: buffer (type: const void *) +Function 101: rlDrawVertexArrayInstanced() (3 input parameters) + Name: rlDrawVertexArrayInstanced + Return type: void + Description: + Param[1]: offset (type: int) + Param[2]: count (type: int) + Param[3]: instances (type: int) +Function 102: rlDrawVertexArrayElementsInstanced() (4 input parameters) + Name: rlDrawVertexArrayElementsInstanced + Return type: void + Description: + Param[1]: offset (type: int) + Param[2]: count (type: int) + Param[3]: buffer (type: const void *) + Param[4]: instances (type: int) +Function 103: rlLoadTexture() (5 input parameters) + Name: rlLoadTexture + Return type: unsigned int + Description: Load texture in GPU + Param[1]: data (type: const void *) + Param[2]: width (type: int) + Param[3]: height (type: int) + Param[4]: format (type: int) + Param[5]: mipmapCount (type: int) +Function 104: rlLoadTextureDepth() (3 input parameters) + Name: rlLoadTextureDepth + Return type: unsigned int + Description: Load depth texture/renderbuffer (to be attached to fbo) + Param[1]: width (type: int) + Param[2]: height (type: int) + Param[3]: useRenderBuffer (type: bool) +Function 105: rlLoadTextureCubemap() (3 input parameters) + Name: rlLoadTextureCubemap + Return type: unsigned int + Description: Load texture cubemap + Param[1]: data (type: const void *) + Param[2]: size (type: int) + Param[3]: format (type: int) +Function 106: rlUpdateTexture() (7 input parameters) + Name: rlUpdateTexture + Return type: void + Description: Update GPU texture with new data + Param[1]: id (type: unsigned int) + Param[2]: offsetX (type: int) + Param[3]: offsetY (type: int) + Param[4]: width (type: int) + Param[5]: height (type: int) + Param[6]: format (type: int) + Param[7]: data (type: const void *) +Function 107: rlGetGlTextureFormats() (4 input parameters) + Name: rlGetGlTextureFormats + Return type: void + Description: Get OpenGL internal formats + Param[1]: format (type: int) + Param[2]: glInternalFormat (type: unsigned int *) + Param[3]: glFormat (type: unsigned int *) + Param[4]: glType (type: unsigned int *) +Function 108: rlGetPixelFormatName() (1 input parameters) + Name: rlGetPixelFormatName + Return type: const char * + Description: Get name string for pixel format + Param[1]: format (type: unsigned int) +Function 109: rlUnloadTexture() (1 input parameters) + Name: rlUnloadTexture + Return type: void + Description: Unload texture from GPU memory + Param[1]: id (type: unsigned int) +Function 110: rlGenTextureMipmaps() (5 input parameters) + Name: rlGenTextureMipmaps + Return type: void + Description: Generate mipmap data for selected texture + Param[1]: id (type: unsigned int) + Param[2]: width (type: int) + Param[3]: height (type: int) + Param[4]: format (type: int) + Param[5]: mipmaps (type: int *) +Function 111: rlReadTexturePixels() (4 input parameters) + Name: rlReadTexturePixels + Return type: void * + Description: Read texture pixel data + Param[1]: id (type: unsigned int) + Param[2]: width (type: int) + Param[3]: height (type: int) + Param[4]: format (type: int) +Function 112: rlReadScreenPixels() (2 input parameters) + Name: rlReadScreenPixels + Return type: unsigned char * + Description: Read screen pixel data (color buffer) + Param[1]: width (type: int) + Param[2]: height (type: int) +Function 113: rlLoadFramebuffer() (2 input parameters) + Name: rlLoadFramebuffer + Return type: unsigned int + Description: Load an empty framebuffer + Param[1]: width (type: int) + Param[2]: height (type: int) +Function 114: rlFramebufferAttach() (5 input parameters) + Name: rlFramebufferAttach + Return type: void + Description: Attach texture/renderbuffer to a framebuffer + Param[1]: fboId (type: unsigned int) + Param[2]: texId (type: unsigned int) + Param[3]: attachType (type: int) + Param[4]: texType (type: int) + Param[5]: mipLevel (type: int) +Function 115: rlFramebufferComplete() (1 input parameters) + Name: rlFramebufferComplete + Return type: bool + Description: Verify framebuffer is complete + Param[1]: id (type: unsigned int) +Function 116: rlUnloadFramebuffer() (1 input parameters) + Name: rlUnloadFramebuffer + Return type: void + Description: Delete framebuffer from GPU + Param[1]: id (type: unsigned int) +Function 117: rlLoadShaderCode() (2 input parameters) + Name: rlLoadShaderCode + Return type: unsigned int + Description: Load shader from code strings + Param[1]: vsCode (type: const char *) + Param[2]: fsCode (type: const char *) +Function 118: rlCompileShader() (2 input parameters) + Name: rlCompileShader + Return type: unsigned int + Description: Compile custom shader and return shader id (type: RL_VERTEX_SHADER, RL_FRAGMENT_SHADER, RL_COMPUTE_SHADER) + Param[1]: shaderCode (type: const char *) + Param[2]: type (type: int) +Function 119: rlLoadShaderProgram() (2 input parameters) + Name: rlLoadShaderProgram + Return type: unsigned int + Description: Load custom shader program + Param[1]: vShaderId (type: unsigned int) + Param[2]: fShaderId (type: unsigned int) +Function 120: rlUnloadShaderProgram() (1 input parameters) + Name: rlUnloadShaderProgram + Return type: void + Description: Unload shader program + Param[1]: id (type: unsigned int) +Function 121: rlGetLocationUniform() (2 input parameters) + Name: rlGetLocationUniform + Return type: int + Description: Get shader location uniform + Param[1]: shaderId (type: unsigned int) + Param[2]: uniformName (type: const char *) +Function 122: rlGetLocationAttrib() (2 input parameters) + Name: rlGetLocationAttrib + Return type: int + Description: Get shader location attribute + Param[1]: shaderId (type: unsigned int) + Param[2]: attribName (type: const char *) +Function 123: rlSetUniform() (4 input parameters) + Name: rlSetUniform + Return type: void + Description: Set shader value uniform + Param[1]: locIndex (type: int) + Param[2]: value (type: const void *) + Param[3]: uniformType (type: int) + Param[4]: count (type: int) +Function 124: rlSetUniformMatrix() (2 input parameters) + Name: rlSetUniformMatrix + Return type: void + Description: Set shader value matrix + Param[1]: locIndex (type: int) + Param[2]: mat (type: Matrix) +Function 125: rlSetUniformSampler() (2 input parameters) + Name: rlSetUniformSampler + Return type: void + Description: Set shader value sampler + Param[1]: locIndex (type: int) + Param[2]: textureId (type: unsigned int) +Function 126: rlSetShader() (2 input parameters) + Name: rlSetShader + Return type: void + Description: Set shader currently active (id and locations) + Param[1]: id (type: unsigned int) + Param[2]: locs (type: int *) +Function 127: rlLoadComputeShaderProgram() (1 input parameters) + Name: rlLoadComputeShaderProgram + Return type: unsigned int + Description: Load compute shader program + Param[1]: shaderId (type: unsigned int) +Function 128: rlComputeShaderDispatch() (3 input parameters) + Name: rlComputeShaderDispatch + Return type: void + Description: Dispatch compute shader (equivalent to *draw* for graphics pipeline) + Param[1]: groupX (type: unsigned int) + Param[2]: groupY (type: unsigned int) + Param[3]: groupZ (type: unsigned int) +Function 129: rlLoadShaderBuffer() (3 input parameters) + Name: rlLoadShaderBuffer + Return type: unsigned int + Description: Load shader storage buffer object (SSBO) + Param[1]: size (type: unsigned int) + Param[2]: data (type: const void *) + Param[3]: usageHint (type: int) +Function 130: rlUnloadShaderBuffer() (1 input parameters) + Name: rlUnloadShaderBuffer + Return type: void + Description: Unload shader storage buffer object (SSBO) + Param[1]: ssboId (type: unsigned int) +Function 131: rlUpdateShaderBuffer() (4 input parameters) + Name: rlUpdateShaderBuffer + Return type: void + Description: Update SSBO buffer data + Param[1]: id (type: unsigned int) + Param[2]: data (type: const void *) + Param[3]: dataSize (type: unsigned int) + Param[4]: offset (type: unsigned int) +Function 132: rlBindShaderBuffer() (2 input parameters) + Name: rlBindShaderBuffer + Return type: void + Description: Bind SSBO buffer + Param[1]: id (type: unsigned int) + Param[2]: index (type: unsigned int) +Function 133: rlReadShaderBuffer() (4 input parameters) + Name: rlReadShaderBuffer + Return type: void + Description: Read SSBO buffer data (GPU->CPU) + Param[1]: id (type: unsigned int) + Param[2]: dest (type: void *) + Param[3]: count (type: unsigned int) + Param[4]: offset (type: unsigned int) +Function 134: rlCopyShaderBuffer() (5 input parameters) + Name: rlCopyShaderBuffer + Return type: void + Description: Copy SSBO data between buffers + Param[1]: destId (type: unsigned int) + Param[2]: srcId (type: unsigned int) + Param[3]: destOffset (type: unsigned int) + Param[4]: srcOffset (type: unsigned int) + Param[5]: count (type: unsigned int) +Function 135: rlGetShaderBufferSize() (1 input parameters) + Name: rlGetShaderBufferSize + Return type: unsigned int + Description: Get SSBO buffer size + Param[1]: id (type: unsigned int) +Function 136: rlBindImageTexture() (4 input parameters) + Name: rlBindImageTexture + Return type: void + Description: Bind image texture + Param[1]: id (type: unsigned int) + Param[2]: index (type: unsigned int) + Param[3]: format (type: int) + Param[4]: readonly (type: bool) +Function 137: rlGetMatrixModelview() (0 input parameters) + Name: rlGetMatrixModelview + Return type: Matrix + Description: Get internal modelview matrix + No input parameters +Function 138: rlGetMatrixProjection() (0 input parameters) + Name: rlGetMatrixProjection + Return type: Matrix + Description: Get internal projection matrix + No input parameters +Function 139: rlGetMatrixTransform() (0 input parameters) + Name: rlGetMatrixTransform + Return type: Matrix + Description: Get internal accumulated transform matrix + No input parameters +Function 140: rlGetMatrixProjectionStereo() (1 input parameters) + Name: rlGetMatrixProjectionStereo + Return type: Matrix + Description: Get internal projection matrix for stereo render (selected eye) + Param[1]: eye (type: int) +Function 141: rlGetMatrixViewOffsetStereo() (1 input parameters) + Name: rlGetMatrixViewOffsetStereo + Return type: Matrix + Description: Get internal view offset matrix for stereo render (selected eye) + Param[1]: eye (type: int) +Function 142: rlSetMatrixProjection() (1 input parameters) + Name: rlSetMatrixProjection + Return type: void + Description: Set a custom projection matrix (replaces internal projection matrix) + Param[1]: proj (type: Matrix) +Function 143: rlSetMatrixModelview() (1 input parameters) + Name: rlSetMatrixModelview + Return type: void + Description: Set a custom modelview matrix (replaces internal modelview matrix) + Param[1]: view (type: Matrix) +Function 144: rlSetMatrixProjectionStereo() (2 input parameters) + Name: rlSetMatrixProjectionStereo + Return type: void + Description: Set eyes projection matrices for stereo rendering + Param[1]: right (type: Matrix) + Param[2]: left (type: Matrix) +Function 145: rlSetMatrixViewOffsetStereo() (2 input parameters) + Name: rlSetMatrixViewOffsetStereo + Return type: void + Description: Set eyes view offsets matrices for stereo rendering + Param[1]: right (type: Matrix) + Param[2]: left (type: Matrix) +Function 146: rlLoadDrawCube() (0 input parameters) + Name: rlLoadDrawCube + Return type: void + Description: Load and draw a cube + No input parameters +Function 147: rlLoadDrawQuad() (0 input parameters) + Name: rlLoadDrawQuad + Return type: void + Description: Load and draw a quad + No input parameters diff --git a/raylib-api/rlgl.xml b/raylib-api/rlgl.xml new file mode 100644 index 0000000..59b5fa0 --- /dev/null +++ b/raylib-api/rlgl.xml @@ -0,0 +1,815 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/raylib-api/rmem.json b/raylib-api/rmem.json new file mode 100644 index 0000000..01ad307 --- /dev/null +++ b/raylib-api/rmem.json @@ -0,0 +1,493 @@ +{ + "defines": [ + { + "name": "RMEM_H", + "type": "GUARD", + "value": "", + "description": "" + }, + { + "name": "RMEMAPI", + "type": "UNKNOWN", + "value": "__declspec(dllexport)", + "description": "We are building library as a Win32 shared library (.dll)" + }, + { + "name": "RMEM_VERSION", + "type": "STRING", + "value": "v1.3", + "description": "changelog at bottom of header." + } + ], + "structs": [ + { + "name": "MemNode", + "description": "Memory pool node", + "fields": [ + { + "type": "size_t", + "name": "size", + "description": "" + }, + { + "type": "MemNode *", + "name": "next", + "description": "" + }, + { + "type": "MemNode *", + "name": "prev", + "description": "" + } + ] + }, + { + "name": "AllocList", + "description": "Freelist implementation", + "fields": [ + { + "type": "MemNode *", + "name": "head", + "description": "" + }, + { + "type": "MemNode *", + "name": "tail", + "description": "" + }, + { + "type": "size_t", + "name": "len", + "description": "" + } + ] + }, + { + "name": "Arena", + "description": "Arena allocator", + "fields": [ + { + "type": "uintptr_t", + "name": "mem", + "description": "" + }, + { + "type": "uintptr_t", + "name": "offs", + "description": "" + }, + { + "type": "size_t", + "name": "size", + "description": "" + } + ] + }, + { + "name": "MemPool", + "description": "Memory pool", + "fields": [ + { + "type": "AllocList", + "name": "large", + "description": "" + }, + { + "type": "AllocList[MEMPOOL_BUCKET_SIZE]", + "name": "buckets", + "description": "" + }, + { + "type": "Arena", + "name": "arena", + "description": "" + } + ] + }, + { + "name": "ObjPool", + "description": "Object pool", + "fields": [ + { + "type": "uintptr_t", + "name": "mem", + "description": "" + }, + { + "type": "uintptr_t", + "name": "offs", + "description": "" + }, + { + "type": "size_t", + "name": "objSize", + "description": "" + }, + { + "type": "size_t", + "name": "freeBlocks", + "description": "" + }, + { + "type": "size_t", + "name": "memSize", + "description": "" + } + ] + }, + { + "name": "BiStack", + "description": "Double-ended stack (aka Deque)", + "fields": [ + { + "type": "uintptr_t", + "name": "mem", + "description": "" + }, + { + "type": "uintptr_t", + "name": "front", + "description": "" + }, + { + "type": "uintptr_t", + "name": "back", + "description": "" + }, + { + "type": "size_t", + "name": "size", + "description": "" + } + ] + } + ], + "aliases": [ + ], + "enums": [ + ], + "callbacks": [ + ], + "functions": [ + { + "name": "CreateMemPool", + "description": "", + "returnType": "MemPool", + "params": [ + { + "type": "size_t", + "name": "bytes" + } + ] + }, + { + "name": "CreateMemPoolFromBuffer", + "description": "", + "returnType": "MemPool", + "params": [ + { + "type": "void *", + "name": "buf" + }, + { + "type": "size_t", + "name": "bytes" + } + ] + }, + { + "name": "DestroyMemPool", + "description": "", + "returnType": "void", + "params": [ + { + "type": "MemPool *", + "name": "mempool" + } + ] + }, + { + "name": "MemPoolAlloc", + "description": "", + "returnType": "void *", + "params": [ + { + "type": "MemPool *", + "name": "mempool" + }, + { + "type": "size_t", + "name": "bytes" + } + ] + }, + { + "name": "MemPoolRealloc", + "description": "", + "returnType": "void *", + "params": [ + { + "type": "MemPool *", + "name": "mempool" + }, + { + "type": "void *", + "name": "ptr" + }, + { + "type": "size_t", + "name": "bytes" + } + ] + }, + { + "name": "MemPoolFree", + "description": "", + "returnType": "void", + "params": [ + { + "type": "MemPool *", + "name": "mempool" + }, + { + "type": "void *", + "name": "ptr" + } + ] + }, + { + "name": "MemPoolCleanUp", + "description": "", + "returnType": "void", + "params": [ + { + "type": "MemPool *", + "name": "mempool" + }, + { + "type": "void **", + "name": "ptrref" + } + ] + }, + { + "name": "MemPoolReset", + "description": "", + "returnType": "void", + "params": [ + { + "type": "MemPool *", + "name": "mempool" + } + ] + }, + { + "name": "GetMemPoolFreeMemory", + "description": "", + "returnType": "size_t", + "params": [ + { + "type": "const MemPool", + "name": "mempool" + } + ] + }, + { + "name": "CreateObjPool", + "description": "", + "returnType": "ObjPool", + "params": [ + { + "type": "size_t", + "name": "objsize" + }, + { + "type": "size_t", + "name": "len" + } + ] + }, + { + "name": "CreateObjPoolFromBuffer", + "description": "", + "returnType": "ObjPool", + "params": [ + { + "type": "void *", + "name": "buf" + }, + { + "type": "size_t", + "name": "objsize" + }, + { + "type": "size_t", + "name": "len" + } + ] + }, + { + "name": "DestroyObjPool", + "description": "", + "returnType": "void", + "params": [ + { + "type": "ObjPool *", + "name": "objpool" + } + ] + }, + { + "name": "ObjPoolAlloc", + "description": "", + "returnType": "void *", + "params": [ + { + "type": "ObjPool *", + "name": "objpool" + } + ] + }, + { + "name": "ObjPoolFree", + "description": "", + "returnType": "void", + "params": [ + { + "type": "ObjPool *", + "name": "objpool" + }, + { + "type": "void *", + "name": "ptr" + } + ] + }, + { + "name": "ObjPoolCleanUp", + "description": "", + "returnType": "void", + "params": [ + { + "type": "ObjPool *", + "name": "objpool" + }, + { + "type": "void **", + "name": "ptrref" + } + ] + }, + { + "name": "CreateBiStack", + "description": "", + "returnType": "BiStack", + "params": [ + { + "type": "size_t", + "name": "len" + } + ] + }, + { + "name": "CreateBiStackFromBuffer", + "description": "", + "returnType": "BiStack", + "params": [ + { + "type": "void *", + "name": "buf" + }, + { + "type": "size_t", + "name": "len" + } + ] + }, + { + "name": "DestroyBiStack", + "description": "", + "returnType": "void", + "params": [ + { + "type": "BiStack *", + "name": "destack" + } + ] + }, + { + "name": "BiStackAllocFront", + "description": "", + "returnType": "void *", + "params": [ + { + "type": "BiStack *", + "name": "destack" + }, + { + "type": "size_t", + "name": "len" + } + ] + }, + { + "name": "BiStackAllocBack", + "description": "", + "returnType": "void *", + "params": [ + { + "type": "BiStack *", + "name": "destack" + }, + { + "type": "size_t", + "name": "len" + } + ] + }, + { + "name": "BiStackResetFront", + "description": "", + "returnType": "void", + "params": [ + { + "type": "BiStack *", + "name": "destack" + } + ] + }, + { + "name": "BiStackResetBack", + "description": "", + "returnType": "void", + "params": [ + { + "type": "BiStack *", + "name": "destack" + } + ] + }, + { + "name": "BiStackResetAll", + "description": "", + "returnType": "void", + "params": [ + { + "type": "BiStack *", + "name": "destack" + } + ] + }, + { + "name": "BiStackMargins", + "description": "", + "returnType": "intptr_t", + "params": [ + { + "type": "BiStack", + "name": "destack" + } + ] + } + ] +} diff --git a/raylib-api/rmem.lua b/raylib-api/rmem.lua new file mode 100644 index 0000000..2f35ed3 --- /dev/null +++ b/raylib-api/rmem.lua @@ -0,0 +1,379 @@ +return { + defines = { + { + name = "RMEM_H", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RMEMAPI", + type = "UNKNOWN", + value = "__declspec(dllexport)", + description = "We are building library as a Win32 shared library (.dll)" + }, + { + name = "RMEM_VERSION", + type = "STRING", + value = "v1.3", + description = "changelog at bottom of header." + } + }, + structs = { + { + name = "MemNode", + description = "Memory pool node", + fields = { + { + type = "size_t", + name = "size", + description = "" + }, + { + type = "MemNode *", + name = "next", + description = "" + }, + { + type = "MemNode *", + name = "prev", + description = "" + } + } + }, + { + name = "AllocList", + description = "Freelist implementation", + fields = { + { + type = "MemNode *", + name = "head", + description = "" + }, + { + type = "MemNode *", + name = "tail", + description = "" + }, + { + type = "size_t", + name = "len", + description = "" + } + } + }, + { + name = "Arena", + description = "Arena allocator", + fields = { + { + type = "uintptr_t", + name = "mem", + description = "" + }, + { + type = "uintptr_t", + name = "offs", + description = "" + }, + { + type = "size_t", + name = "size", + description = "" + } + } + }, + { + name = "MemPool", + description = "Memory pool", + fields = { + { + type = "AllocList", + name = "large", + description = "" + }, + { + type = "AllocList[MEMPOOL_BUCKET_SIZE]", + name = "buckets", + description = "" + }, + { + type = "Arena", + name = "arena", + description = "" + } + } + }, + { + name = "ObjPool", + description = "Object pool", + fields = { + { + type = "uintptr_t", + name = "mem", + description = "" + }, + { + type = "uintptr_t", + name = "offs", + description = "" + }, + { + type = "size_t", + name = "objSize", + description = "" + }, + { + type = "size_t", + name = "freeBlocks", + description = "" + }, + { + type = "size_t", + name = "memSize", + description = "" + } + } + }, + { + name = "BiStack", + description = "Double-ended stack (aka Deque)", + fields = { + { + type = "uintptr_t", + name = "mem", + description = "" + }, + { + type = "uintptr_t", + name = "front", + description = "" + }, + { + type = "uintptr_t", + name = "back", + description = "" + }, + { + type = "size_t", + name = "size", + description = "" + } + } + } + }, + aliases = { + }, + enums = { + }, + callbacks = { + }, + functions = { + { + name = "CreateMemPool", + description = "", + returnType = "MemPool", + params = { + {type = "size_t", name = "bytes"} + } + }, + { + name = "CreateMemPoolFromBuffer", + description = "", + returnType = "MemPool", + params = { + {type = "void *", name = "buf"}, + {type = "size_t", name = "bytes"} + } + }, + { + name = "DestroyMemPool", + description = "", + returnType = "void", + params = { + {type = "MemPool *", name = "mempool"} + } + }, + { + name = "MemPoolAlloc", + description = "", + returnType = "void *", + params = { + {type = "MemPool *", name = "mempool"}, + {type = "size_t", name = "bytes"} + } + }, + { + name = "MemPoolRealloc", + description = "", + returnType = "void *", + params = { + {type = "MemPool *", name = "mempool"}, + {type = "void *", name = "ptr"}, + {type = "size_t", name = "bytes"} + } + }, + { + name = "MemPoolFree", + description = "", + returnType = "void", + params = { + {type = "MemPool *", name = "mempool"}, + {type = "void *", name = "ptr"} + } + }, + { + name = "MemPoolCleanUp", + description = "", + returnType = "void", + params = { + {type = "MemPool *", name = "mempool"}, + {type = "void **", name = "ptrref"} + } + }, + { + name = "MemPoolReset", + description = "", + returnType = "void", + params = { + {type = "MemPool *", name = "mempool"} + } + }, + { + name = "GetMemPoolFreeMemory", + description = "", + returnType = "size_t", + params = { + {type = "const MemPool", name = "mempool"} + } + }, + { + name = "CreateObjPool", + description = "", + returnType = "ObjPool", + params = { + {type = "size_t", name = "objsize"}, + {type = "size_t", name = "len"} + } + }, + { + name = "CreateObjPoolFromBuffer", + description = "", + returnType = "ObjPool", + params = { + {type = "void *", name = "buf"}, + {type = "size_t", name = "objsize"}, + {type = "size_t", name = "len"} + } + }, + { + name = "DestroyObjPool", + description = "", + returnType = "void", + params = { + {type = "ObjPool *", name = "objpool"} + } + }, + { + name = "ObjPoolAlloc", + description = "", + returnType = "void *", + params = { + {type = "ObjPool *", name = "objpool"} + } + }, + { + name = "ObjPoolFree", + description = "", + returnType = "void", + params = { + {type = "ObjPool *", name = "objpool"}, + {type = "void *", name = "ptr"} + } + }, + { + name = "ObjPoolCleanUp", + description = "", + returnType = "void", + params = { + {type = "ObjPool *", name = "objpool"}, + {type = "void **", name = "ptrref"} + } + }, + { + name = "CreateBiStack", + description = "", + returnType = "BiStack", + params = { + {type = "size_t", name = "len"} + } + }, + { + name = "CreateBiStackFromBuffer", + description = "", + returnType = "BiStack", + params = { + {type = "void *", name = "buf"}, + {type = "size_t", name = "len"} + } + }, + { + name = "DestroyBiStack", + description = "", + returnType = "void", + params = { + {type = "BiStack *", name = "destack"} + } + }, + { + name = "BiStackAllocFront", + description = "", + returnType = "void *", + params = { + {type = "BiStack *", name = "destack"}, + {type = "size_t", name = "len"} + } + }, + { + name = "BiStackAllocBack", + description = "", + returnType = "void *", + params = { + {type = "BiStack *", name = "destack"}, + {type = "size_t", name = "len"} + } + }, + { + name = "BiStackResetFront", + description = "", + returnType = "void", + params = { + {type = "BiStack *", name = "destack"} + } + }, + { + name = "BiStackResetBack", + description = "", + returnType = "void", + params = { + {type = "BiStack *", name = "destack"} + } + }, + { + name = "BiStackResetAll", + description = "", + returnType = "void", + params = { + {type = "BiStack *", name = "destack"} + } + }, + { + name = "BiStackMargins", + description = "", + returnType = "intptr_t", + params = { + {type = "BiStack", name = "destack"} + } + } + } +} diff --git a/raylib-api/rmem.txt b/raylib-api/rmem.txt new file mode 100644 index 0000000..8aa023d --- /dev/null +++ b/raylib-api/rmem.txt @@ -0,0 +1,206 @@ + +Defines found: 3 + +Define 001: RMEM_H + Name: RMEM_H + Type: GUARD + Value: + Description: +Define 002: RMEMAPI + Name: RMEMAPI + Type: UNKNOWN + Value: __declspec(dllexport) + Description: We are building library as a Win32 shared library (.dll) +Define 003: RMEM_VERSION + Name: RMEM_VERSION + Type: STRING + Value: "v1.3" + Description: changelog at bottom of header. + +Structures found: 6 + +Struct 01: MemNode (3 fields) + Name: MemNode + Description: Memory pool node + Field[1]: size_t size + Field[2]: MemNode * next + Field[3]: MemNode * prev +Struct 02: AllocList (3 fields) + Name: AllocList + Description: Freelist implementation + Field[1]: MemNode * head + Field[2]: MemNode * tail + Field[3]: size_t len +Struct 03: Arena (3 fields) + Name: Arena + Description: Arena allocator + Field[1]: uintptr_t mem + Field[2]: uintptr_t offs + Field[3]: size_t size +Struct 04: MemPool (3 fields) + Name: MemPool + Description: Memory pool + Field[1]: AllocList large + Field[2]: AllocList[MEMPOOL_BUCKET_SIZE] buckets + Field[3]: Arena arena +Struct 05: ObjPool (5 fields) + Name: ObjPool + Description: Object pool + Field[1]: uintptr_t mem + Field[2]: uintptr_t offs + Field[3]: size_t objSize + Field[4]: size_t freeBlocks + Field[5]: size_t memSize +Struct 06: BiStack (4 fields) + Name: BiStack + Description: Double-ended stack (aka Deque) + Field[1]: uintptr_t mem + Field[2]: uintptr_t front + Field[3]: uintptr_t back + Field[4]: size_t size + +Aliases found: 0 + + +Enums found: 0 + + +Callbacks found: 0 + + +Functions found: 24 + +Function 001: CreateMemPool() (1 input parameters) + Name: CreateMemPool + Return type: MemPool + Description: + Param[1]: bytes (type: size_t) +Function 002: CreateMemPoolFromBuffer() (2 input parameters) + Name: CreateMemPoolFromBuffer + Return type: MemPool + Description: + Param[1]: buf (type: void *) + Param[2]: bytes (type: size_t) +Function 003: DestroyMemPool() (1 input parameters) + Name: DestroyMemPool + Return type: void + Description: + Param[1]: mempool (type: MemPool *) +Function 004: MemPoolAlloc() (2 input parameters) + Name: MemPoolAlloc + Return type: void * + Description: + Param[1]: mempool (type: MemPool *) + Param[2]: bytes (type: size_t) +Function 005: MemPoolRealloc() (3 input parameters) + Name: MemPoolRealloc + Return type: void * + Description: + Param[1]: mempool (type: MemPool *) + Param[2]: ptr (type: void *) + Param[3]: bytes (type: size_t) +Function 006: MemPoolFree() (2 input parameters) + Name: MemPoolFree + Return type: void + Description: + Param[1]: mempool (type: MemPool *) + Param[2]: ptr (type: void *) +Function 007: MemPoolCleanUp() (2 input parameters) + Name: MemPoolCleanUp + Return type: void + Description: + Param[1]: mempool (type: MemPool *) + Param[2]: ptrref (type: void **) +Function 008: MemPoolReset() (1 input parameters) + Name: MemPoolReset + Return type: void + Description: + Param[1]: mempool (type: MemPool *) +Function 009: GetMemPoolFreeMemory() (1 input parameters) + Name: GetMemPoolFreeMemory + Return type: size_t + Description: + Param[1]: mempool (type: const MemPool) +Function 010: CreateObjPool() (2 input parameters) + Name: CreateObjPool + Return type: ObjPool + Description: + Param[1]: objsize (type: size_t) + Param[2]: len (type: size_t) +Function 011: CreateObjPoolFromBuffer() (3 input parameters) + Name: CreateObjPoolFromBuffer + Return type: ObjPool + Description: + Param[1]: buf (type: void *) + Param[2]: objsize (type: size_t) + Param[3]: len (type: size_t) +Function 012: DestroyObjPool() (1 input parameters) + Name: DestroyObjPool + Return type: void + Description: + Param[1]: objpool (type: ObjPool *) +Function 013: ObjPoolAlloc() (1 input parameters) + Name: ObjPoolAlloc + Return type: void * + Description: + Param[1]: objpool (type: ObjPool *) +Function 014: ObjPoolFree() (2 input parameters) + Name: ObjPoolFree + Return type: void + Description: + Param[1]: objpool (type: ObjPool *) + Param[2]: ptr (type: void *) +Function 015: ObjPoolCleanUp() (2 input parameters) + Name: ObjPoolCleanUp + Return type: void + Description: + Param[1]: objpool (type: ObjPool *) + Param[2]: ptrref (type: void **) +Function 016: CreateBiStack() (1 input parameters) + Name: CreateBiStack + Return type: BiStack + Description: + Param[1]: len (type: size_t) +Function 017: CreateBiStackFromBuffer() (2 input parameters) + Name: CreateBiStackFromBuffer + Return type: BiStack + Description: + Param[1]: buf (type: void *) + Param[2]: len (type: size_t) +Function 018: DestroyBiStack() (1 input parameters) + Name: DestroyBiStack + Return type: void + Description: + Param[1]: destack (type: BiStack *) +Function 019: BiStackAllocFront() (2 input parameters) + Name: BiStackAllocFront + Return type: void * + Description: + Param[1]: destack (type: BiStack *) + Param[2]: len (type: size_t) +Function 020: BiStackAllocBack() (2 input parameters) + Name: BiStackAllocBack + Return type: void * + Description: + Param[1]: destack (type: BiStack *) + Param[2]: len (type: size_t) +Function 021: BiStackResetFront() (1 input parameters) + Name: BiStackResetFront + Return type: void + Description: + Param[1]: destack (type: BiStack *) +Function 022: BiStackResetBack() (1 input parameters) + Name: BiStackResetBack + Return type: void + Description: + Param[1]: destack (type: BiStack *) +Function 023: BiStackResetAll() (1 input parameters) + Name: BiStackResetAll + Return type: void + Description: + Param[1]: destack (type: BiStack *) +Function 024: BiStackMargins() (1 input parameters) + Name: BiStackMargins + Return type: intptr_t + Description: + Param[1]: destack (type: BiStack) diff --git a/raylib-api/rmem.xml b/raylib-api/rmem.xml new file mode 100644 index 0000000..4b42448 --- /dev/null +++ b/raylib-api/rmem.xml @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/raylib-api/rres.json b/raylib-api/rres.json new file mode 100644 index 0000000..02c1448 --- /dev/null +++ b/raylib-api/rres.json @@ -0,0 +1,462 @@ +{ + "defines": [ + { + "name": "RRES_H", + "type": "GUARD", + "value": "", + "description": "" + }, + { + "name": "RRESAPI", + "type": "UNKNOWN", + "value": "__declspec(dllexport)", + "description": "We are building the library as a Win32 shared library (.dll)" + }, + { + "name": "RRES_MALLOC(sz)", + "type": "MACRO", + "value": "malloc(sz)", + "description": "" + }, + { + "name": "RRES_CALLOC(ptr,sz)", + "type": "MACRO", + "value": "calloc(ptr,sz)", + "description": "" + }, + { + "name": "RRES_REALLOC(ptr,sz)", + "type": "MACRO", + "value": "realloc(ptr,sz)", + "description": "" + }, + { + "name": "RRES_FREE(ptr)", + "type": "MACRO", + "value": "free(ptr)", + "description": "" + }, + { + "name": "RRES_SUPPORT_LOG_INFO", + "type": "GUARD", + "value": "", + "description": "" + }, + { + "name": "RRES_LOG(...)", + "type": "MACRO", + "value": "printf(__VA_ARGS__)", + "description": "" + }, + { + "name": "RRES_MAX_FILENAME_SIZE", + "type": "INT", + "value": 1024, + "description": "" + } + ], + "structs": [ + { + "name": "rresFileHeader", + "description": "rres file header (16 bytes)", + "fields": [ + { + "type": "unsigned char[4]", + "name": "id", + "description": "File identifier: rres" + }, + { + "type": "unsigned short", + "name": "version", + "description": "File version: 100 for version 1.0" + }, + { + "type": "unsigned short", + "name": "chunkCount", + "description": "Number of resource chunks in the file (MAX: 65535)" + }, + { + "type": "unsigned int", + "name": "cdOffset", + "description": "Central Directory offset in file (0 if not available)" + }, + { + "type": "unsigned int", + "name": "reserved", + "description": "" + } + ] + }, + { + "name": "rresResourceChunkInfo", + "description": "rres resource chunk info header (32 bytes)", + "fields": [ + { + "type": "unsigned char[4]", + "name": "type", + "description": "Resource chunk type (FourCC)" + }, + { + "type": "unsigned int", + "name": "id", + "description": "Resource chunk identifier (generated from filename CRC32 hash)" + }, + { + "type": "unsigned char", + "name": "compType", + "description": "Data compression algorithm" + }, + { + "type": "unsigned char", + "name": "cipherType", + "description": "Data encription algorithm" + }, + { + "type": "unsigned short", + "name": "flags", + "description": "Data flags (if required)" + }, + { + "type": "unsigned int", + "name": "packedSize", + "description": "Data chunk size (compressed/encrypted + custom data appended)" + }, + { + "type": "unsigned int", + "name": "baseSize", + "description": "Data base size (uncompressed/unencrypted)" + }, + { + "type": "unsigned int", + "name": "nextOffset", + "description": "Next resource chunk global offset (if resource has multiple chunks)" + }, + { + "type": "unsigned int", + "name": "reserved", + "description": "" + }, + { + "type": "unsigned int", + "name": "crc32", + "description": "Data chunk CRC32 (propCount + props[] + data)" + } + ] + }, + { + "name": "rresResourceChunkData", + "description": "rres resource chunk data", + "fields": [ + { + "type": "unsigned int", + "name": "propCount", + "description": "Resource chunk properties count" + }, + { + "type": "unsigned int *", + "name": "props", + "description": "Resource chunk properties" + }, + { + "type": "void *", + "name": "raw", + "description": "Resource chunk raw data" + } + ] + }, + { + "name": "rresResourceChunk", + "description": "rres resource chunk", + "fields": [ + { + "type": "rresResourceChunkInfo", + "name": "info", + "description": "Resource chunk info" + }, + { + "type": "rresResourceChunkData", + "name": "data", + "description": "Resource chunk packed data, contains propCount, props[] and raw data" + } + ] + }, + { + "name": "rresResourceMulti", + "description": "NOTE: It supports multiple resource chunks", + "fields": [ + { + "type": "unsigned int", + "name": "count", + "description": "Resource chunks count" + }, + { + "type": "rresResourceChunk *", + "name": "chunks", + "description": "Resource chunks" + } + ] + }, + { + "name": "rresDirEntry", + "description": "CDIR: rres central directory entry", + "fields": [ + { + "type": "unsigned int", + "name": "id", + "description": "Resource id" + }, + { + "type": "unsigned int", + "name": "offset", + "description": "Resource global offset in file" + }, + { + "type": "unsigned int", + "name": "reserved", + "description": "reserved" + }, + { + "type": "unsigned int", + "name": "fileNameSize", + "description": "Resource fileName size (NULL terminator and 4-byte alignment padding considered)" + }, + { + "type": "char[RRES_MAX_FILENAME_SIZE]", + "name": "fileName", + "description": "Resource original fileName (NULL terminated and padded to 4-byte alignment)" + } + ] + }, + { + "name": "rresCentralDir", + "description": "NOTE: This data conforms the rresResourceChunkData", + "fields": [ + { + "type": "unsigned int", + "name": "count", + "description": "Central directory entries count" + }, + { + "type": "rresDirEntry *", + "name": "entries", + "description": "Central directory entries" + } + ] + }, + { + "name": "rresFontGlyphInfo", + "description": "NOTE: And array of this type conforms the rresResourceChunkData", + "fields": [ + { + "type": "int", + "name": "x", + "description": "Glyph rectangle in the atlas image" + }, + { + "type": "int", + "name": "y", + "description": "Glyph rectangle in the atlas image" + }, + { + "type": "int", + "name": "width", + "description": "Glyph rectangle in the atlas image" + }, + { + "type": "int", + "name": "height", + "description": "Glyph rectangle in the atlas image" + }, + { + "type": "int", + "name": "value", + "description": "Glyph codepoint value" + }, + { + "type": "int", + "name": "offsetX", + "description": "Glyph drawing offset (from base line)" + }, + { + "type": "int", + "name": "offsetY", + "description": "Glyph drawing offset (from base line)" + }, + { + "type": "int", + "name": "advanceX", + "description": "Glyph advance X for next character" + } + ] + } + ], + "aliases": [ + ], + "enums": [ + ], + "callbacks": [ + ], + "functions": [ + { + "name": "rresLoadResourceChunk", + "description": "Load one resource chunk for provided id", + "returnType": "rresResourceChunk", + "params": [ + { + "type": "const char *", + "name": "fileName" + }, + { + "type": "int", + "name": "rresId" + } + ] + }, + { + "name": "rresUnloadResourceChunk", + "description": "Unload resource chunk from memory", + "returnType": "void", + "params": [ + { + "type": "rresResourceChunk", + "name": "chunk" + } + ] + }, + { + "name": "rresLoadResourceMulti", + "description": "Load resource for provided id (multiple resource chunks)", + "returnType": "rresResourceMulti", + "params": [ + { + "type": "const char *", + "name": "fileName" + }, + { + "type": "int", + "name": "rresId" + } + ] + }, + { + "name": "rresUnloadResourceMulti", + "description": "Unload resource from memory (multiple resource chunks)", + "returnType": "void", + "params": [ + { + "type": "rresResourceMulti", + "name": "multi" + } + ] + }, + { + "name": "rresLoadResourceChunkInfo", + "description": "Load resource chunk info for provided id", + "returnType": "rresResourceChunkInfo", + "params": [ + { + "type": "const char *", + "name": "fileName" + }, + { + "type": "int", + "name": "rresId" + } + ] + }, + { + "name": "rresLoadResourceChunkInfoAll", + "description": "Load all resource chunks info", + "returnType": "rresResourceChunkInfo *", + "params": [ + { + "type": "const char *", + "name": "fileName" + }, + { + "type": "unsigned int *", + "name": "chunkCount" + } + ] + }, + { + "name": "rresLoadCentralDirectory", + "description": "Load central directory resource chunk from file", + "returnType": "rresCentralDir", + "params": [ + { + "type": "const char *", + "name": "fileName" + } + ] + }, + { + "name": "rresUnloadCentralDirectory", + "description": "Unload central directory resource chunk", + "returnType": "void", + "params": [ + { + "type": "rresCentralDir", + "name": "dir" + } + ] + }, + { + "name": "rresGetDataType", + "description": "Get rresResourceDataType from FourCC code", + "returnType": "unsigned int", + "params": [ + { + "type": "const unsigned char *", + "name": "fourCC" + } + ] + }, + { + "name": "rresGetResourceId", + "description": "Get resource id for a provided filename", + "returnType": "int", + "params": [ + { + "type": "rresCentralDir", + "name": "dir" + }, + { + "type": "const char *", + "name": "fileName" + } + ] + }, + { + "name": "rresComputeCRC32", + "description": "Compute CRC32 for provided data", + "returnType": "unsigned int", + "params": [ + { + "type": "unsigned char *", + "name": "data" + }, + { + "type": "int", + "name": "len" + } + ] + }, + { + "name": "rresSetCipherPassword", + "description": "Set password to be used on data decryption", + "returnType": "void", + "params": [ + { + "type": "const char *", + "name": "pass" + } + ] + }, + { + "name": "rresGetCipherPassword", + "description": "Get password to be used on data decryption", + "returnType": "const char *" + } + ] +} diff --git a/raylib-api/rres.lua b/raylib-api/rres.lua new file mode 100644 index 0000000..6eea7ac --- /dev/null +++ b/raylib-api/rres.lua @@ -0,0 +1,408 @@ +return { + defines = { + { + name = "RRES_H", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RRESAPI", + type = "UNKNOWN", + value = "__declspec(dllexport)", + description = "We are building the library as a Win32 shared library (.dll)" + }, + { + name = "RRES_MALLOC(sz)", + type = "MACRO", + value = "malloc(sz)", + description = "" + }, + { + name = "RRES_CALLOC(ptr,sz)", + type = "MACRO", + value = "calloc(ptr,sz)", + description = "" + }, + { + name = "RRES_REALLOC(ptr,sz)", + type = "MACRO", + value = "realloc(ptr,sz)", + description = "" + }, + { + name = "RRES_FREE(ptr)", + type = "MACRO", + value = "free(ptr)", + description = "" + }, + { + name = "RRES_SUPPORT_LOG_INFO", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RRES_LOG(...)", + type = "MACRO", + value = "printf(__VA_ARGS__)", + description = "" + }, + { + name = "RRES_MAX_FILENAME_SIZE", + type = "INT", + value = 1024, + description = "" + } + }, + structs = { + { + name = "rresFileHeader", + description = "rres file header (16 bytes)", + fields = { + { + type = "unsigned char[4]", + name = "id", + description = "File identifier: rres" + }, + { + type = "unsigned short", + name = "version", + description = "File version: 100 for version 1.0" + }, + { + type = "unsigned short", + name = "chunkCount", + description = "Number of resource chunks in the file (MAX: 65535)" + }, + { + type = "unsigned int", + name = "cdOffset", + description = "Central Directory offset in file (0 if not available)" + }, + { + type = "unsigned int", + name = "reserved", + description = "" + } + } + }, + { + name = "rresResourceChunkInfo", + description = "rres resource chunk info header (32 bytes)", + fields = { + { + type = "unsigned char[4]", + name = "type", + description = "Resource chunk type (FourCC)" + }, + { + type = "unsigned int", + name = "id", + description = "Resource chunk identifier (generated from filename CRC32 hash)" + }, + { + type = "unsigned char", + name = "compType", + description = "Data compression algorithm" + }, + { + type = "unsigned char", + name = "cipherType", + description = "Data encription algorithm" + }, + { + type = "unsigned short", + name = "flags", + description = "Data flags (if required)" + }, + { + type = "unsigned int", + name = "packedSize", + description = "Data chunk size (compressed/encrypted + custom data appended)" + }, + { + type = "unsigned int", + name = "baseSize", + description = "Data base size (uncompressed/unencrypted)" + }, + { + type = "unsigned int", + name = "nextOffset", + description = "Next resource chunk global offset (if resource has multiple chunks)" + }, + { + type = "unsigned int", + name = "reserved", + description = "" + }, + { + type = "unsigned int", + name = "crc32", + description = "Data chunk CRC32 (propCount + props[] + data)" + } + } + }, + { + name = "rresResourceChunkData", + description = "rres resource chunk data", + fields = { + { + type = "unsigned int", + name = "propCount", + description = "Resource chunk properties count" + }, + { + type = "unsigned int *", + name = "props", + description = "Resource chunk properties" + }, + { + type = "void *", + name = "raw", + description = "Resource chunk raw data" + } + } + }, + { + name = "rresResourceChunk", + description = "rres resource chunk", + fields = { + { + type = "rresResourceChunkInfo", + name = "info", + description = "Resource chunk info" + }, + { + type = "rresResourceChunkData", + name = "data", + description = "Resource chunk packed data, contains propCount, props[] and raw data" + } + } + }, + { + name = "rresResourceMulti", + description = "NOTE: It supports multiple resource chunks", + fields = { + { + type = "unsigned int", + name = "count", + description = "Resource chunks count" + }, + { + type = "rresResourceChunk *", + name = "chunks", + description = "Resource chunks" + } + } + }, + { + name = "rresDirEntry", + description = "CDIR: rres central directory entry", + fields = { + { + type = "unsigned int", + name = "id", + description = "Resource id" + }, + { + type = "unsigned int", + name = "offset", + description = "Resource global offset in file" + }, + { + type = "unsigned int", + name = "reserved", + description = "reserved" + }, + { + type = "unsigned int", + name = "fileNameSize", + description = "Resource fileName size (NULL terminator and 4-byte alignment padding considered)" + }, + { + type = "char[RRES_MAX_FILENAME_SIZE]", + name = "fileName", + description = "Resource original fileName (NULL terminated and padded to 4-byte alignment)" + } + } + }, + { + name = "rresCentralDir", + description = "NOTE: This data conforms the rresResourceChunkData", + fields = { + { + type = "unsigned int", + name = "count", + description = "Central directory entries count" + }, + { + type = "rresDirEntry *", + name = "entries", + description = "Central directory entries" + } + } + }, + { + name = "rresFontGlyphInfo", + description = "NOTE: And array of this type conforms the rresResourceChunkData", + fields = { + { + type = "int", + name = "x", + description = "Glyph rectangle in the atlas image" + }, + { + type = "int", + name = "y", + description = "Glyph rectangle in the atlas image" + }, + { + type = "int", + name = "width", + description = "Glyph rectangle in the atlas image" + }, + { + type = "int", + name = "height", + description = "Glyph rectangle in the atlas image" + }, + { + type = "int", + name = "value", + description = "Glyph codepoint value" + }, + { + type = "int", + name = "offsetX", + description = "Glyph drawing offset (from base line)" + }, + { + type = "int", + name = "offsetY", + description = "Glyph drawing offset (from base line)" + }, + { + type = "int", + name = "advanceX", + description = "Glyph advance X for next character" + } + } + } + }, + aliases = { + }, + enums = { + }, + callbacks = { + }, + functions = { + { + name = "rresLoadResourceChunk", + description = "Load one resource chunk for provided id", + returnType = "rresResourceChunk", + params = { + {type = "const char *", name = "fileName"}, + {type = "int", name = "rresId"} + } + }, + { + name = "rresUnloadResourceChunk", + description = "Unload resource chunk from memory", + returnType = "void", + params = { + {type = "rresResourceChunk", name = "chunk"} + } + }, + { + name = "rresLoadResourceMulti", + description = "Load resource for provided id (multiple resource chunks)", + returnType = "rresResourceMulti", + params = { + {type = "const char *", name = "fileName"}, + {type = "int", name = "rresId"} + } + }, + { + name = "rresUnloadResourceMulti", + description = "Unload resource from memory (multiple resource chunks)", + returnType = "void", + params = { + {type = "rresResourceMulti", name = "multi"} + } + }, + { + name = "rresLoadResourceChunkInfo", + description = "Load resource chunk info for provided id", + returnType = "rresResourceChunkInfo", + params = { + {type = "const char *", name = "fileName"}, + {type = "int", name = "rresId"} + } + }, + { + name = "rresLoadResourceChunkInfoAll", + description = "Load all resource chunks info", + returnType = "rresResourceChunkInfo *", + params = { + {type = "const char *", name = "fileName"}, + {type = "unsigned int *", name = "chunkCount"} + } + }, + { + name = "rresLoadCentralDirectory", + description = "Load central directory resource chunk from file", + returnType = "rresCentralDir", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "rresUnloadCentralDirectory", + description = "Unload central directory resource chunk", + returnType = "void", + params = { + {type = "rresCentralDir", name = "dir"} + } + }, + { + name = "rresGetDataType", + description = "Get rresResourceDataType from FourCC code", + returnType = "unsigned int", + params = { + {type = "const unsigned char *", name = "fourCC"} + } + }, + { + name = "rresGetResourceId", + description = "Get resource id for a provided filename", + returnType = "int", + params = { + {type = "rresCentralDir", name = "dir"}, + {type = "const char *", name = "fileName"} + } + }, + { + name = "rresComputeCRC32", + description = "Compute CRC32 for provided data", + returnType = "unsigned int", + params = { + {type = "unsigned char *", name = "data"}, + {type = "int", name = "len"} + } + }, + { + name = "rresSetCipherPassword", + description = "Set password to be used on data decryption", + returnType = "void", + params = { + {type = "const char *", name = "pass"} + } + }, + { + name = "rresGetCipherPassword", + description = "Get password to be used on data decryption", + returnType = "const char *" + } + } +} diff --git a/raylib-api/rres.txt b/raylib-api/rres.txt new file mode 100644 index 0000000..3632954 --- /dev/null +++ b/raylib-api/rres.txt @@ -0,0 +1,195 @@ + +Defines found: 9 + +Define 001: RRES_H + Name: RRES_H + Type: GUARD + Value: + Description: +Define 002: RRESAPI + Name: RRESAPI + Type: UNKNOWN + Value: __declspec(dllexport) + Description: We are building the library as a Win32 shared library (.dll) +Define 003: RRES_MALLOC(sz) + Name: RRES_MALLOC(sz) + Type: MACRO + Value: malloc(sz) + Description: +Define 004: RRES_CALLOC(ptr,sz) + Name: RRES_CALLOC(ptr,sz) + Type: MACRO + Value: calloc(ptr,sz) + Description: +Define 005: RRES_REALLOC(ptr,sz) + Name: RRES_REALLOC(ptr,sz) + Type: MACRO + Value: realloc(ptr,sz) + Description: +Define 006: RRES_FREE(ptr) + Name: RRES_FREE(ptr) + Type: MACRO + Value: free(ptr) + Description: +Define 007: RRES_SUPPORT_LOG_INFO + Name: RRES_SUPPORT_LOG_INFO + Type: GUARD + Value: + Description: +Define 008: RRES_LOG(...) + Name: RRES_LOG(...) + Type: MACRO + Value: printf(__VA_ARGS__) + Description: +Define 009: RRES_MAX_FILENAME_SIZE + Name: RRES_MAX_FILENAME_SIZE + Type: INT + Value: 1024 + Description: + +Structures found: 8 + +Struct 01: rresFileHeader (5 fields) + Name: rresFileHeader + Description: rres file header (16 bytes) + Field[1]: unsigned char[4] id // File identifier: rres + Field[2]: unsigned short version // File version: 100 for version 1.0 + Field[3]: unsigned short chunkCount // Number of resource chunks in the file (MAX: 65535) + Field[4]: unsigned int cdOffset // Central Directory offset in file (0 if not available) + Field[5]: unsigned int reserved // +Struct 02: rresResourceChunkInfo (10 fields) + Name: rresResourceChunkInfo + Description: rres resource chunk info header (32 bytes) + Field[1]: unsigned char[4] type // Resource chunk type (FourCC) + Field[2]: unsigned int id // Resource chunk identifier (generated from filename CRC32 hash) + Field[3]: unsigned char compType // Data compression algorithm + Field[4]: unsigned char cipherType // Data encription algorithm + Field[5]: unsigned short flags // Data flags (if required) + Field[6]: unsigned int packedSize // Data chunk size (compressed/encrypted + custom data appended) + Field[7]: unsigned int baseSize // Data base size (uncompressed/unencrypted) + Field[8]: unsigned int nextOffset // Next resource chunk global offset (if resource has multiple chunks) + Field[9]: unsigned int reserved // + Field[10]: unsigned int crc32 // Data chunk CRC32 (propCount + props[] + data) +Struct 03: rresResourceChunkData (3 fields) + Name: rresResourceChunkData + Description: rres resource chunk data + Field[1]: unsigned int propCount // Resource chunk properties count + Field[2]: unsigned int * props // Resource chunk properties + Field[3]: void * raw // Resource chunk raw data +Struct 04: rresResourceChunk (2 fields) + Name: rresResourceChunk + Description: rres resource chunk + Field[1]: rresResourceChunkInfo info // Resource chunk info + Field[2]: rresResourceChunkData data // Resource chunk packed data, contains propCount, props[] and raw data +Struct 05: rresResourceMulti (2 fields) + Name: rresResourceMulti + Description: NOTE: It supports multiple resource chunks + Field[1]: unsigned int count // Resource chunks count + Field[2]: rresResourceChunk * chunks // Resource chunks +Struct 06: rresDirEntry (5 fields) + Name: rresDirEntry + Description: CDIR: rres central directory entry + Field[1]: unsigned int id // Resource id + Field[2]: unsigned int offset // Resource global offset in file + Field[3]: unsigned int reserved // reserved + Field[4]: unsigned int fileNameSize // Resource fileName size (NULL terminator and 4-byte alignment padding considered) + Field[5]: char[RRES_MAX_FILENAME_SIZE] fileName // Resource original fileName (NULL terminated and padded to 4-byte alignment) +Struct 07: rresCentralDir (2 fields) + Name: rresCentralDir + Description: NOTE: This data conforms the rresResourceChunkData + Field[1]: unsigned int count // Central directory entries count + Field[2]: rresDirEntry * entries // Central directory entries +Struct 08: rresFontGlyphInfo (8 fields) + Name: rresFontGlyphInfo + Description: NOTE: And array of this type conforms the rresResourceChunkData + Field[1]: int x // Glyph rectangle in the atlas image + Field[2]: int y // Glyph rectangle in the atlas image + Field[3]: int width // Glyph rectangle in the atlas image + Field[4]: int height // Glyph rectangle in the atlas image + Field[5]: int value // Glyph codepoint value + Field[6]: int offsetX // Glyph drawing offset (from base line) + Field[7]: int offsetY // Glyph drawing offset (from base line) + Field[8]: int advanceX // Glyph advance X for next character + +Aliases found: 0 + + +Enums found: 0 + + +Callbacks found: 0 + + +Functions found: 13 + +Function 001: rresLoadResourceChunk() (2 input parameters) + Name: rresLoadResourceChunk + Return type: rresResourceChunk + Description: Load one resource chunk for provided id + Param[1]: fileName (type: const char *) + Param[2]: rresId (type: int) +Function 002: rresUnloadResourceChunk() (1 input parameters) + Name: rresUnloadResourceChunk + Return type: void + Description: Unload resource chunk from memory + Param[1]: chunk (type: rresResourceChunk) +Function 003: rresLoadResourceMulti() (2 input parameters) + Name: rresLoadResourceMulti + Return type: rresResourceMulti + Description: Load resource for provided id (multiple resource chunks) + Param[1]: fileName (type: const char *) + Param[2]: rresId (type: int) +Function 004: rresUnloadResourceMulti() (1 input parameters) + Name: rresUnloadResourceMulti + Return type: void + Description: Unload resource from memory (multiple resource chunks) + Param[1]: multi (type: rresResourceMulti) +Function 005: rresLoadResourceChunkInfo() (2 input parameters) + Name: rresLoadResourceChunkInfo + Return type: rresResourceChunkInfo + Description: Load resource chunk info for provided id + Param[1]: fileName (type: const char *) + Param[2]: rresId (type: int) +Function 006: rresLoadResourceChunkInfoAll() (2 input parameters) + Name: rresLoadResourceChunkInfoAll + Return type: rresResourceChunkInfo * + Description: Load all resource chunks info + Param[1]: fileName (type: const char *) + Param[2]: chunkCount (type: unsigned int *) +Function 007: rresLoadCentralDirectory() (1 input parameters) + Name: rresLoadCentralDirectory + Return type: rresCentralDir + Description: Load central directory resource chunk from file + Param[1]: fileName (type: const char *) +Function 008: rresUnloadCentralDirectory() (1 input parameters) + Name: rresUnloadCentralDirectory + Return type: void + Description: Unload central directory resource chunk + Param[1]: dir (type: rresCentralDir) +Function 009: rresGetDataType() (1 input parameters) + Name: rresGetDataType + Return type: unsigned int + Description: Get rresResourceDataType from FourCC code + Param[1]: fourCC (type: const unsigned char *) +Function 010: rresGetResourceId() (2 input parameters) + Name: rresGetResourceId + Return type: int + Description: Get resource id for a provided filename + Param[1]: dir (type: rresCentralDir) + Param[2]: fileName (type: const char *) +Function 011: rresComputeCRC32() (2 input parameters) + Name: rresComputeCRC32 + Return type: unsigned int + Description: Compute CRC32 for provided data + Param[1]: data (type: unsigned char *) + Param[2]: len (type: int) +Function 012: rresSetCipherPassword() (1 input parameters) + Name: rresSetCipherPassword + Return type: void + Description: Set password to be used on data decryption + Param[1]: pass (type: const char *) +Function 013: rresGetCipherPassword() (0 input parameters) + Name: rresGetCipherPassword + Return type: const char * + Description: Get password to be used on data decryption + No input parameters diff --git a/raylib-api/rres.xml b/raylib-api/rres.xml new file mode 100644 index 0000000..077c5b0 --- /dev/null +++ b/raylib-api/rres.xml @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/raylib-beef.sln b/raylib-beef.sln new file mode 100644 index 0000000..1741d86 --- /dev/null +++ b/raylib-beef.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.33502.453 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "generator", "generator\generator.csproj", "{41E5F3B3-561D-4670-8097-9C5695B0006A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {41E5F3B3-561D-4670-8097-9C5695B0006A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {41E5F3B3-561D-4670-8097-9C5695B0006A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {41E5F3B3-561D-4670-8097-9C5695B0006A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {41E5F3B3-561D-4670-8097-9C5695B0006A}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {FF8032B5-1C8E-41D9-900E-23666B500305} + EndGlobalSection +EndGlobal