123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234 |
- ' Copyright (c) 2014-2022 Bruce A Henderson
- '
- ' 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.
- '
- SuperStrict
- ?win32x86
- Import "../../sdl.mod/sdl.mod/include/win32x86/*.h"
- ?win32x64
- Import "../../sdl.mod/sdl.mod/include/win32x64/*.h"
- ?osx
- Import "../../sdl.mod/sdl.mod/include/macos/*.h"
- ?linuxx86
- Import "../../sdl.mod/sdl.mod/include/linuxx86/*.h"
- ?linuxx64
- Import "../../sdl.mod/sdl.mod/include/linuxx64/*.h"
- ?raspberrypi
- Import "../../sdl.mod/sdl.mod/include/raspberrypi/*.h"
- ?android
- Import "../../sdl.mod/sdl.mod/include/android/*.h"
- ?
- ?emscripten
- Import "../../sdl.mod/sdl.mod/include/emscripten/*.h"
- ?ios
- Import "../../sdl.mod/sdl.mod/include/ios/*.h"
- ?haikux64
- Import "../../sdl.mod/sdl.mod/include/haikux64/*.h"
- ?
- Import "../../sdl.mod/sdl.mod/SDL/include/*.h"
- Import "glue.c"
- Extern
- Function SDL_CreateRenderer:Byte Ptr(window:Byte Ptr, index:Int, flags:UInt)
- Function SDL_CreateSoftwareRenderer:Byte Ptr(surface:Byte Ptr)
- Function SDL_DestroyRenderer(handle:Byte Ptr)
- Function SDL_CreateTexture:Byte Ptr(handle:Byte Ptr, format:UInt, access:Int, width:Int, height:Int)
- Function SDL_CreateTextureFromSurface:Byte Ptr(handle:Byte Ptr, surface:Byte Ptr)
- Function SDL_RenderClear:Int(handle:Byte Ptr)
- Function SDL_RenderDrawLine:Int(handle:Byte Ptr, x1:Int, y1:Int, x2:Int, y2:Int)
- Function SDL_RenderDrawLines:Int(handle:Byte Ptr, points:Int Ptr, count:Int)
- Function SDL_RenderDrawPoint:Int(handle:Byte Ptr, x:Int, y:Int)
- Function SDL_RenderDrawPoints:Int(handle:Byte Ptr, points:Int Ptr, count:Int)
- Function SDL_RenderDrawRects:Int(handle:Byte Ptr, rects:Int Ptr, count:Int)
- Function SDL_RenderFillRects:Int(handle:Byte Ptr, rects:Int Ptr, count:Int)
- Function SDL_RenderGetIntegerScale:Int(handle:Byte Ptr)
- Function SDL_RenderGetLogicalSize(handle:Byte Ptr, w:Int Ptr, h:Int Ptr)
- Function SDL_RenderGetScale(handle:Byte Ptr, x:Float Ptr, y:Float Ptr)
- Function SDL_RenderIsClipEnabled:Int(handle:Byte Ptr)
- Function SDL_RenderPresent(handle:Byte Ptr)
- Function SDL_GetRenderDrawBlendMode:Int(handle:Byte Ptr, blendMode:Int Ptr)
- Function SDL_GetRenderDrawColor:Int(handle:Byte Ptr, r:Byte Ptr, g:Byte Ptr, b:Byte Ptr, a:Byte Ptr)
- Function SDL_GetRenderTarget:Byte Ptr(handle:Byte Ptr)
- Function SDL_GetRendererOutputSize:Int(handle:Byte Ptr, w:Int Ptr, h:Int Ptr)
- Function SDL_RenderSetIntegerScale:Int(handle:Byte Ptr, enable:Int)
- Function SDL_RenderSetLogicalSize:Int(handle:Byte Ptr, w:Int, h:Int)
- Function SDL_RenderSetScale:Int(handle:Byte Ptr, scaleX:Float, scaleY:Float)
- Function SDL_RenderTargetSupported:Int(handle:Byte Ptr)
- Function SDL_SetRenderDrawBlendMode:Int(handle:Byte Ptr, blendMode:Int)
- Function SDL_SetRenderDrawColor:Int(handle:Byte Ptr, r:Byte, g:Byte, b:Byte, a:Byte)
- Function SDL_SetRenderTarget:Int(handle:Byte Ptr, texture:Byte Ptr)
- Function SDL_GetRenderer:Byte Ptr(window:Byte Ptr)
- Function SDL_RenderGeometry:Int(handle:Byte Ptr, texture:Byte Ptr, vertices:SDLVertex Ptr, numVertices:Int, indices:Int Ptr, numIndices:Int)
- Function SDL_GetRendererInfo(handle:Byte Ptr, info:SDLRendererInfo Var)
- Function SDL_GetRenderDriverInfo:Int(index:Int, info:SDLRendererInfo Var)
- Function SDL_RenderWindowToLogical(handle:Byte Ptr, windowX:Int, windowY:Int, logicalX:Float Var, logicalY:Float Var)
- Function SDL_RenderLogicalToWindow(handle:Byte Ptr, logicalX:Float, logicalY:Float, windowX:Int Var, windowY:Int Var)
- Function SDL_RenderSetVSync:Int(handle:Byte Ptr, vsync:Int)
- Function SDL_GetTextureAlphaMod:Int(handle:Byte Ptr, alpha:Byte Ptr)
- Function SDL_GetTextureBlendMode:Int(handle:Byte Ptr, blendMode:Int Ptr)
- Function SDL_GetTextureColorMod:Int(handle:Byte Ptr, r:Byte Ptr, g:Byte Ptr, b:Byte Ptr)
- Function SDL_QueryTexture:Int(handle:Byte Ptr, format:UInt Ptr, access:Int Ptr, w:Int Ptr, h:Int Ptr)
- Function SDL_SetTextureAlphaMod:Int(handle:Byte Ptr, alpha:Byte)
- Function SDL_SetTextureBlendMode:Int(handle:Byte Ptr, blendMode:Int)
- Function SDL_SetTextureColorMod:Int(handle:Byte Ptr, r:Byte, g:Byte, b:Byte)
- Function SDL_UnlockTexture(handle:Byte Ptr)
- Function SDL_DestroyTexture(handle:Byte Ptr)
- Function SDL_GetNumRenderDrivers:Int()
-
- Function bmx_SDL_RenderCopy:Int(handle:Byte Ptr, texture:Byte Ptr, sx:Int, sy:Int, sw:Int, sh:Int, dx:Int, dy:Int, dw:Int, dh:Int)
- Function bmx_SDL_RenderDrawRect:Int(handle:Byte Ptr, x:Int, y:Int, w:Int, h:Int)
- Function bmx_SDL_RenderFillRect:Int(handle:Byte Ptr, x:Int, y:Int, w:Int, h:Int)
- Function bmx_SDL_RenderGetClipRect(handle:Byte Ptr, x:Int Ptr, y:Int Ptr, w:Int Ptr, h:Int Ptr)
- Function bmx_SDL_RenderGetViewport(handle:Byte Ptr, x:Int Ptr, y:Int Ptr, w:Int Ptr, h:Int Ptr)
- Function bmx_SDL_RenderReadPixels:Int(handle:Byte Ptr, format:UInt, pixels:Byte Ptr, pitch:Int, x:Int, y:Int, w:Int, h:Int)
- Function bmx_SDL_RenderSetClipRect:Int(handle:Byte Ptr, x:Int, y:Int, w:Int, h:Int)
- Function bmx_SDL_RenderSetViewport:Int(handle:Byte Ptr, x:Int, y:Int, w:Int, h:Int)
- Function bmx_SDL_RenderCopyEx:Int(handle:Byte Ptr, texture:Byte Ptr, sx:Int, sy:Int, sw:Int, sh:Int, dx:Int, dy:Int, dw:Int, dh:Int, angle:Double, cx:Int, cy:Int, flipMode:Int)
- Function bmx_SDL_LockTexture:Int(handle:Byte Ptr, pixels:Byte Ptr Ptr, pitch:Int Ptr, x:Int, y:Int, w:Int, h:Int)
- Function bmx_SDL_UpdateTexture:Int(handle:Byte Ptr, pixels:Byte Ptr, pitch:Int, x:Int, y:Int, w:Int, h:Int)
- Function bmx_SDL_UpdateYUVTexture:Int(handle:Byte Ptr, yPlane:Byte Ptr, yPitch:Int, uPlane:Byte Ptr, uPitch:Int, vPlane:Byte Ptr, vPitch:Int, x:Int, y:Int, w:Int, h:Int)
- Function bmx_SDL_bptr_to_SDLVertexPtr:SDLVertex Ptr(b:Byte Ptr)
- End Extern
- Rem
- bbdoc: Changes rarely, not lockable
- End Rem
- Const SDL_TEXTUREACCESS_STATIC:UInt = 0
- Rem
- bbdoc: Changes frequently, lockable
- End Rem
- Const SDL_TEXTUREACCESS_STREAMING:UInt = 1
- Rem
- bbdoc: Can be used as a render target
- End Rem
- Const SDL_TEXTUREACCESS_TARGET:UInt = 2
- Rem
- bbdoc: Do not flip
- End Rem
- Const SDL_FLIP_NONE:Int = 0
- Rem
- bbdoc: Flip horizontally
- End Rem
- Const SDL_FLIP_HORIZONTAL:Int = 1
- Rem
- bbdoc: Flip vertically
- End Rem
- Const SDL_FLIP_VERTICAL:Int = 2
- Rem
- bbdoc: The renderer is a software fallback
- End Rem
- Const SDL_RENDERER_SOFTWARE:Int = $01
- Rem
- bbdoc: The renderer uses hardware acceleration
- End Rem
- Const SDL_RENDERER_ACCELERATED:Int = $02
- Rem
- bbdoc: Present is synchronized with the refresh rate
- End Rem
- Const SDL_RENDERER_PRESENTVSYNC:Int = $04
- Rem
- bbdoc: The renderer supports rendering to texture
- End Rem
- Const SDL_RENDERER_TARGETTEXTURE:Int = $08
- Struct SDLFPoint
- Field x:Float
- Field y:Float
- End Struct
- Struct SDLColor
- Field r:Byte
- Field g:Byte
- Field b:Byte
- Field a:Byte
- Method New(r:Byte, g:Byte, b:Byte, a:Byte)
- self.r = r
- self.g = g
- self.b = b
- self.a = a
- End Method
- End Struct
- Struct SDLVertex
- Field position:SDLFPoint
- Field color:SDLColor
- Field texCoord:SDLFPoint
- End Struct
- Rem
- bbdoc: A structure that contains information on the capabilities of a render driver or the current render context.
- End Rem
- Struct SDLRendererInfo
- Field name:Byte Ptr
- Rem
- bbdoc: A mask of supported renderer flags
- End Rem
- Field flags:UInt
- Rem
- bbdoc: The number of available texture formats
- End Rem
- Field numTextureFormats:UInt
- Rem
- bbdoc: The available texture formats
- End Rem
- Field StaticArray textureFormats:UInt[16]
- Rem
- bbdoc: The maximum texture width
- End Rem
- Field maxTextureWidth:Int
- Rem
- bbdoc: The maximum texture height
- End Rem
- Field maxTextureHeight:Int
- Rem
- bbdoc: Returns the name of the renderer.
- End Rem
- Method GetName:String()
- Return String.FromUTF8String(name)
- End Method
- End Struct
|