├── LICENSE ├── README.md ├── haxelib.json ├── sample ├── output │ └── conf.lua ├── readme.md ├── sample.hxml └── src │ └── Main.hx └── src └── love ├── ByteData.hx ├── Data.hx ├── Drawable.hx ├── Love.hx ├── Object.hx ├── audio ├── AudioModule.hx ├── DistanceModel.hx ├── EffectType.hx ├── EffectWaveform.hx ├── FilterType.hx ├── RecordingDevice.hx ├── Source.hx ├── SourceType.hx └── TimeUnit.hx ├── data ├── ContainerType.hx ├── DataModule.hx ├── EncodeFormat.hx └── HashFunction.hx ├── event ├── Event.hx └── EventModule.hx ├── filesystem ├── BufferMode.hx ├── DroppedFile.hx ├── File.hx ├── FileData.hx ├── FileDecoder.hx ├── FileMode.hx ├── FileType.hx └── FilesystemModule.hx ├── graphics ├── AlignMode.hx ├── ArcType.hx ├── AreaSpreadDistribution.hx ├── BlendAlphaMode.hx ├── BlendMode.hx ├── Canvas.hx ├── CanvasFormat.hx ├── CanvasMipmapMode.hx ├── CompareMode.hx ├── CullMode.hx ├── DrawMode.hx ├── FilterMode.hx ├── Font.hx ├── GraphicsFeature.hx ├── GraphicsLimit.hx ├── GraphicsModule.hx ├── HintingMode.hx ├── Image.hx ├── IndexDataType.hx ├── LineJoin.hx ├── LineStyle.hx ├── Mesh.hx ├── MeshDrawMode.hx ├── MipmapMode.hx ├── ParticleInsertMode.hx ├── ParticleSystem.hx ├── PixelFormat.hx ├── Quad.hx ├── Rasterizer.hx ├── Shader.hx ├── SpriteBatch.hx ├── SpriteBatchUsage.hx ├── StackType.hx ├── StencilAction.hx ├── Text.hx ├── Texture.hx ├── TextureType.hx ├── VertexAttributeStep.hx ├── VertexWinding.hx ├── Video.hx └── WrapMode.hx ├── image ├── CompressedImageData.hx ├── CompressedImageFormat.hx ├── ImageData.hx ├── ImageFormat.hx └── ImageModule.hx ├── joystick ├── GamepadAxis.hx ├── GamepadButton.hx ├── Joystick.hx ├── JoystickHat.hx ├── JoystickInputType.hx └── JoystickModule.hx ├── keyboard ├── KeyConstant.hx ├── KeyboardModule.hx └── Scancode.hx ├── math ├── BezierCurve.hx ├── CompressedData.hx ├── CompressedDataFormat.hx ├── MathModule.hx ├── MatrixLayout.hx ├── RandomGenerator.hx └── Transform.hx ├── mouse ├── Cursor.hx ├── CursorType.hx └── MouseModule.hx ├── physics ├── Body.hx ├── BodyType.hx ├── ChainShape.hx ├── CircleShape.hx ├── Contact.hx ├── DistanceJoint.hx ├── EdgeShape.hx ├── Fixture.hx ├── FrictionJoint.hx ├── GearJoint.hx ├── Joint.hx ├── JointType.hx ├── MotorJoint.hx ├── MouseJoint.hx ├── PhysicsModule.hx ├── PolygonShape.hx ├── PrismaticJoint.hx ├── PulleyJoint.hx ├── RevoluteJoint.hx ├── RopeJoint.hx ├── Shape.hx ├── ShapeType.hx ├── WeldJoint.hx ├── WheelJoint.hx └── World.hx ├── sound ├── Decoder.hx ├── SoundData.hx └── SoundModule.hx ├── system ├── PowerState.hx └── SystemModule.hx ├── thread ├── Channel.hx ├── Thread.hx └── ThreadModule.hx ├── timer └── TimerModule.hx ├── touch └── TouchModule.hx ├── video ├── VideoModule.hx └── VideoStream.hx └── window ├── DisplayOrientation.hx ├── FullscreenType.hx ├── MessageBoxType.hx └── WindowModule.hx /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 2-Clause License 2 | 3 | Copyright (c) 2017, redchew 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 20 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 22 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 23 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 24 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # hx-love2d 2 | Haxe Extern for Love2D 3 | 4 | Generated via https://github.com/bartbes/love-haxe-wrappergen 5 | -------------------------------------------------------------------------------- /haxelib.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hx-love2d", 3 | "classPath": "src", 4 | "url" : "https://github.com/redchew/hx-love2d", 5 | "license": "BSD", 6 | "tags": ["love2d"], 7 | "description": "Haxe Extern for Love2D", 8 | "version": "0.11.3", 9 | "releasenote": "", 10 | "contributors": ["redchew"], 11 | "dependencies": {} 12 | } -------------------------------------------------------------------------------- /sample/output/conf.lua: -------------------------------------------------------------------------------- 1 | function love.conf(t) 2 | t.window.width = 1280 3 | t.window.height = 720 4 | t.window.title = 'test' 5 | end -------------------------------------------------------------------------------- /sample/readme.md: -------------------------------------------------------------------------------- 1 | ### Requirement 2 | 3 | ## HXML 4 | -D lua_vanilla 5 | 6 | ## conf.lua 7 | You need to keep configuration file manually. 8 | -------------------------------------------------------------------------------- /sample/sample.hxml: -------------------------------------------------------------------------------- 1 | -cp src 2 | -cp ../src 3 | -main Main 4 | -D lua_vanilla 5 | # -lib hx-love2d 6 | -lua output/main.lua -------------------------------------------------------------------------------- /sample/src/Main.hx: -------------------------------------------------------------------------------- 1 | package; 2 | 3 | import lua.Math; 4 | import love.physics.CircleShape; 5 | import love.graphics.GraphicsModule; 6 | import love.graphics.DrawMode; 7 | import lua.Table; 8 | import love.Love; 9 | 10 | class Main { 11 | 12 | public static function main() { 13 | 14 | var circle = { 15 | x:0.0, 16 | y:0.0 17 | }; 18 | 19 | Love.load = function(args) { 20 | 21 | }; 22 | 23 | Love.update = function(dt:Float) { 24 | circle.x = circle.x + dt * 5; 25 | }; 26 | 27 | Love.draw = function() { 28 | GraphicsModule.circle(DrawMode.Fill, 100 * Math.sin(circle.x), 100, 50, 20); 29 | }; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/love/ByteData.hx: -------------------------------------------------------------------------------- 1 | package love; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class ByteData extends Data 8 | { 9 | } -------------------------------------------------------------------------------- /src/love/Data.hx: -------------------------------------------------------------------------------- 1 | package love; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class Data extends Object 8 | { 9 | } -------------------------------------------------------------------------------- /src/love/Drawable.hx: -------------------------------------------------------------------------------- 1 | package love; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class Drawable extends Object 8 | { 9 | } -------------------------------------------------------------------------------- /src/love/Love.hx: -------------------------------------------------------------------------------- 1 | package love; 2 | import love.filesystem.DroppedFile; 3 | import love.joystick.GamepadAxis; 4 | import love.joystick.GamepadButton; 5 | import love.joystick.Joystick; 6 | import love.joystick.JoystickHat; 7 | import love.thread.Thread; 8 | import love.window.DisplayOrientation; 9 | import haxe.extern.Rest; 10 | import lua.Table; 11 | import lua.UserData; 12 | 13 | @:native("love") 14 | extern class Love 15 | { 16 | 17 | public static function getVersion() : LoveGetVersionResult; 18 | 19 | public static function hasDeprecationOutput() : Bool; 20 | 21 | public static function setDeprecationOutput(enable:Bool) : Void; 22 | public static var conf : Table->Void; 23 | public static var directorydropped : String->Void; 24 | public static var displayrotated : Float->DisplayOrientation->Void; 25 | public static var draw : Void->Void; 26 | public static var errorhandler : String->Void; 27 | public static var filedropped : DroppedFile->Void; 28 | public static var focus : Bool->Void; 29 | public static var gamepadaxis : Joystick->GamepadAxis->Float->Void; 30 | public static var gamepadpressed : Joystick->GamepadButton->Void; 31 | public static var gamepadreleased : Joystick->GamepadButton->Void; 32 | public static var joystickadded : Joystick->Void; 33 | public static var joystickaxis : Joystick->Float->Float->Void; 34 | public static var joystickhat : Joystick->Float->JoystickHat->Void; 35 | public static var joystickpressed : Joystick->Float->Void; 36 | public static var joystickreleased : Joystick->Float->Void; 37 | public static var joystickremoved : Joystick->Void; 38 | public static var keypressed : String->String->Bool->Void; 39 | public static var keyreleased : String->String->Void; 40 | public static var load : Table->Table->Void; 41 | public static var lowmemory : Void->Void; 42 | public static var mousefocus : Bool->Void; 43 | public static var mousemoved : Float->Float->Float->Float->Bool->Void; 44 | public static var mousepressed : Float->Float->Float->Bool->Float->Void; 45 | public static var mousereleased : Float->Float->Float->Bool->Float->Void; 46 | public static var quit : Void->Bool; 47 | public static var resize : Float->Float->Void; 48 | public static var run : Void->Dynamic; 49 | public static var textedited : String->Float->Float->Void; 50 | public static var textinput : String->Void; 51 | public static var threaderror : Thread->String->Void; 52 | public static var touchmoved : UserData->Float->Float->Float->Float->Float->Void; 53 | public static var touchpressed : UserData->Float->Float->Float->Float->Float->Void; 54 | public static var touchreleased : UserData->Float->Float->Float->Float->Float->Void; 55 | public static var update : Float->Void; 56 | public static var visible : Bool->Void; 57 | public static var wheelmoved : Float->Float->Void; 58 | } 59 | 60 | @:multiReturn 61 | extern class LoveGetVersionResult 62 | { 63 | var major : Float; 64 | var minor : Float; 65 | var revision : Float; 66 | var codename : String; 67 | } -------------------------------------------------------------------------------- /src/love/Object.hx: -------------------------------------------------------------------------------- 1 | package love; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class Object extends UserData 8 | { 9 | } -------------------------------------------------------------------------------- /src/love/audio/AudioModule.hx: -------------------------------------------------------------------------------- 1 | package love.audio; 2 | import love.filesystem.File; 3 | import love.filesystem.FileData; 4 | import love.sound.Decoder; 5 | import love.sound.SoundData; 6 | import haxe.extern.Rest; 7 | import lua.Table; 8 | import lua.UserData; 9 | 10 | @:native("love.audio") 11 | extern class AudioModule 12 | { 13 | 14 | public static function getActiveEffects() : Table; 15 | 16 | public static function getActiveSourceCount() : Float; 17 | 18 | public static function getDistanceModel() : DistanceModel; 19 | 20 | public static function getDopplerScale() : Float; 21 | 22 | public static function getEffect(name:String) : Table; 23 | 24 | public static function getMaxSceneEffects() : Float; 25 | 26 | public static function getMaxSourceEffects() : Float; 27 | 28 | public static function getOrientation() : AudioModuleGetOrientationResult; 29 | 30 | public static function getPosition() : AudioModuleGetPositionResult; 31 | 32 | public static function getRecordingDevices() : Table; 33 | 34 | public static function getSourceCount() : Float; 35 | 36 | public static function getVelocity() : AudioModuleGetVelocityResult; 37 | 38 | public static function getVolume() : Float; 39 | 40 | public static function isEffectsSupported() : Bool; 41 | 42 | public static function newQueueableSource(samplerate:Float, bitdepth:Float, channels:Float, ?buffercount:Float) : Source; 43 | 44 | @:overload(function (file:File, type:SourceType) : Source {}) 45 | @:overload(function (decoder:Decoder, type:SourceType) : Source {}) 46 | @:overload(function (data:FileData, type:SourceType) : Source {}) 47 | @:overload(function (data:SoundData) : Source {}) 48 | public static function newSource(filename:String, type:SourceType) : Source; 49 | 50 | @:overload(function (source:Source, args:Rest) : Void {}) 51 | @:overload(function (sources:Table) : Void {}) 52 | public static function pause() : Table; 53 | 54 | @:overload(function (sources:Table) : Void {}) 55 | @:overload(function (source1:Source, source2:Source, args:Rest) : Void {}) 56 | public static function play(source:Source) : Void; 57 | 58 | public static function setDistanceModel(model:DistanceModel) : Void; 59 | 60 | public static function setDopplerScale(scale:Float) : Void; 61 | 62 | @:overload(function (name:String, ?enabled:Bool) : Bool {}) 63 | public static function setEffect(name:String, settings:Table) : Bool; 64 | 65 | public static function setMixWithSystem(mix:Bool) : Bool; 66 | 67 | public static function setOrientation(fx, fy, fz:Float, ux, uy, uz:Float) : Void; 68 | 69 | public static function setPosition(x:Float, y:Float, z:Float) : Void; 70 | 71 | public static function setVelocity(x:Float, y:Float, z:Float) : Void; 72 | 73 | public static function setVolume(volume:Float) : Void; 74 | 75 | @:overload(function (source:Source) : Void {}) 76 | @:overload(function (source1:Source, source2:Source, args:Rest) : Void {}) 77 | @:overload(function (sources:Table) : Void {}) 78 | public static function stop() : Void; 79 | } 80 | 81 | @:multiReturn 82 | extern class AudioModuleGetPositionResult 83 | { 84 | var x : Float; 85 | var y : Float; 86 | var z : Float; 87 | } 88 | 89 | @:multiReturn 90 | extern class AudioModuleGetVelocityResult 91 | { 92 | var x : Float; 93 | var y : Float; 94 | var z : Float; 95 | } 96 | 97 | @:multiReturn 98 | extern class AudioModuleGetOrientationResult 99 | { 100 | var fx, fy, fz : Float; 101 | var ux, uy, uz : Float; 102 | } -------------------------------------------------------------------------------- /src/love/audio/DistanceModel.hx: -------------------------------------------------------------------------------- 1 | package love.audio; 2 | @:enum 3 | abstract DistanceModel (String) 4 | { 5 | var None = "none"; 6 | var Inverse = "inverse"; 7 | var Inverseclamped = "inverseclamped"; 8 | var Linear = "linear"; 9 | var Linearclamped = "linearclamped"; 10 | var Exponent = "exponent"; 11 | var Exponentclamped = "exponentclamped"; 12 | } -------------------------------------------------------------------------------- /src/love/audio/EffectType.hx: -------------------------------------------------------------------------------- 1 | package love.audio; 2 | @:enum 3 | abstract EffectType (String) 4 | { 5 | var Chorus = "chorus"; 6 | var Compressor = "compressor"; 7 | var Distortion = "distortion"; 8 | var Echo = "echo"; 9 | var Equalizer = "equalizer"; 10 | var Flanger = "flanger"; 11 | var Reverb = "reverb"; 12 | var Ringmodulator = "ringmodulator"; 13 | } -------------------------------------------------------------------------------- /src/love/audio/EffectWaveform.hx: -------------------------------------------------------------------------------- 1 | package love.audio; 2 | @:enum 3 | abstract EffectWaveform (String) 4 | { 5 | var Sawtooth = "sawtooth"; 6 | var Sine = "sine"; 7 | var Square = "square"; 8 | var Triangle = "triangle"; 9 | } -------------------------------------------------------------------------------- /src/love/audio/FilterType.hx: -------------------------------------------------------------------------------- 1 | package love.audio; 2 | @:enum 3 | abstract FilterType (String) 4 | { 5 | var Lowpass = "lowpass"; 6 | var Highpass = "highpass"; 7 | var Bandpass = "bandpass"; 8 | } -------------------------------------------------------------------------------- /src/love/audio/RecordingDevice.hx: -------------------------------------------------------------------------------- 1 | package love.audio; 2 | import love.sound.SoundData; 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class RecordingDevice extends Object 8 | { 9 | 10 | public function getBitDepth() : Float; 11 | 12 | public function getBitDepth() : Float; 13 | 14 | public function getChannelCount() : Float; 15 | 16 | public function getData() : SoundData; 17 | 18 | public function getName() : String; 19 | 20 | public function getSampleCount() : Float; 21 | 22 | public function getSampleRate() : Float; 23 | 24 | public function isRecording() : Bool; 25 | 26 | public function start(samplecount:Float, ?samplerate:Float, ?bitdepth:Float, ?channels:Float) : Bool; 27 | 28 | public function stop() : SoundData; 29 | } -------------------------------------------------------------------------------- /src/love/audio/Source.hx: -------------------------------------------------------------------------------- 1 | package love.audio; 2 | import love.sound.SoundData; 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class Source extends Object 8 | { 9 | 10 | public function clone() : Source; 11 | 12 | public function getActiveEffects() : Table; 13 | 14 | public function getAirAbsorption() : Float; 15 | 16 | public function getAttenuationDistances() : SourceGetAttenuationDistancesResult; 17 | 18 | public function getChannelCount() : Float; 19 | 20 | public function getCone() : SourceGetConeResult; 21 | 22 | public function getDirection() : SourceGetDirectionResult; 23 | 24 | public function getDuration(?unit:TimeUnit) : Float; 25 | 26 | public function getEffect(name:String, ?filtersettings:Table) : Table; 27 | 28 | public function getFilter() : Table; 29 | 30 | public function getFreeBufferCount() : Float; 31 | 32 | public function getPitch() : Float; 33 | 34 | public function getPosition() : SourceGetPositionResult; 35 | 36 | public function getRolloff() : Float; 37 | 38 | public function getType() : SourceType; 39 | 40 | public function getVelocity() : SourceGetVelocityResult; 41 | 42 | public function getVolume() : Float; 43 | 44 | public function getVolumeLimits() : SourceGetVolumeLimitsResult; 45 | 46 | public function isLooping() : Bool; 47 | 48 | public function isPlaying() : Bool; 49 | 50 | public function isRelative() : Bool; 51 | 52 | public function pause() : Void; 53 | 54 | public function play() : Bool; 55 | 56 | public function queue(sounddata:SoundData) : Bool; 57 | 58 | public function seek(offset:Float, ?unit:TimeUnit) : Void; 59 | 60 | public function setAirAbsorption(amount:Float) : Void; 61 | 62 | public function setAttenuationDistances(ref:Float, max:Float) : Void; 63 | 64 | public function setCone(innerAngle:Float, outerAngle:Float, ?outerVolume:Float) : Void; 65 | 66 | public function setDirection(x:Float, y:Float, z:Float) : Void; 67 | 68 | @:overload(function (name:String, filtersettings:Table) : Bool {}) 69 | public function setEffect(name:String, ?enable:Bool) : Bool; 70 | 71 | @:overload(function () : Void {}) 72 | public function setFilter(settings:Table) : Bool; 73 | 74 | public function setLooping(loop:Bool) : Void; 75 | 76 | public function setPitch(pitch:Float) : Void; 77 | 78 | public function setPosition(x:Float, y:Float, z:Float) : Void; 79 | 80 | public function setRelative(?enable:Bool) : Void; 81 | 82 | public function setRolloff(rolloff:Float) : Void; 83 | 84 | public function setVelocity(x:Float, y:Float, z:Float) : Void; 85 | 86 | public function setVolume(volume:Float) : Void; 87 | 88 | public function setVolumeLimits(min:Float, max:Float) : Void; 89 | 90 | public function stop() : Void; 91 | 92 | public function tell(?unit:TimeUnit) : Float; 93 | } 94 | 95 | @:multiReturn 96 | extern class SourceGetVolumeLimitsResult 97 | { 98 | var min : Float; 99 | var max : Float; 100 | } 101 | 102 | @:multiReturn 103 | extern class SourceGetConeResult 104 | { 105 | var innerAngle : Float; 106 | var outerAngle : Float; 107 | var outerVolume : Float; 108 | } 109 | 110 | @:multiReturn 111 | extern class SourceGetPositionResult 112 | { 113 | var x : Float; 114 | var y : Float; 115 | var z : Float; 116 | } 117 | 118 | @:multiReturn 119 | extern class SourceGetVelocityResult 120 | { 121 | var x : Float; 122 | var y : Float; 123 | var z : Float; 124 | } 125 | 126 | @:multiReturn 127 | extern class SourceGetDirectionResult 128 | { 129 | var x : Float; 130 | var y : Float; 131 | var z : Float; 132 | } 133 | 134 | @:multiReturn 135 | extern class SourceGetAttenuationDistancesResult 136 | { 137 | var ref : Float; 138 | var max : Float; 139 | } -------------------------------------------------------------------------------- /src/love/audio/SourceType.hx: -------------------------------------------------------------------------------- 1 | package love.audio; 2 | @:enum 3 | abstract SourceType (String) 4 | { 5 | var Static = "static"; 6 | var Stream = "stream"; 7 | var Queue = "queue"; 8 | } -------------------------------------------------------------------------------- /src/love/audio/TimeUnit.hx: -------------------------------------------------------------------------------- 1 | package love.audio; 2 | @:enum 3 | abstract TimeUnit (String) 4 | { 5 | var Seconds = "seconds"; 6 | var Samples = "samples"; 7 | } -------------------------------------------------------------------------------- /src/love/data/ContainerType.hx: -------------------------------------------------------------------------------- 1 | package love.data; 2 | @:enum 3 | abstract ContainerType (String) 4 | { 5 | var Data = "data"; 6 | var String = "string"; 7 | } -------------------------------------------------------------------------------- /src/love/data/DataModule.hx: -------------------------------------------------------------------------------- 1 | package love.data; 2 | import love.ByteData; 3 | import love.Data; 4 | import love.math.CompressedData; 5 | import love.math.CompressedDataFormat; 6 | import haxe.extern.Rest; 7 | import lua.Table; 8 | import lua.UserData; 9 | 10 | @:native("love.data") 11 | extern class DataModule 12 | { 13 | 14 | @:overload(function (container:ContainerType, format:CompressedDataFormat, data:Data, ?level:Float) : Dynamic {}) 15 | public static function compress(container:ContainerType, format:CompressedDataFormat, rawstring:String, ?level:Float) : Dynamic; 16 | 17 | @:overload(function (container:ContainerType, format:EncodeFormat, sourceData:Data) : Dynamic {}) 18 | public static function decode(container:ContainerType, format:EncodeFormat, sourceString:String) : Dynamic; 19 | 20 | @:overload(function (container:ContainerType, format:CompressedDataFormat, compressedString:String) : Dynamic {}) 21 | @:overload(function (container:ContainerType, format:CompressedDataFormat, data:Data) : Dynamic {}) 22 | public static function decompress(container:ContainerType, compressedData:CompressedData) : Dynamic; 23 | 24 | @:overload(function (container:ContainerType, format:EncodeFormat, sourceData:Data, ?linelength:Float) : Dynamic {}) 25 | public static function encode(container:ContainerType, format:EncodeFormat, sourceString:String, ?linelength:Float) : Dynamic; 26 | 27 | public static function getPackedSize(format:String) : Float; 28 | 29 | @:overload(function (hashFunction:HashFunction, data:Data) : String {}) 30 | public static function hash(hashFunction:HashFunction, string:String) : String; 31 | 32 | @:overload(function (Data:Data, ?offset:Float, ?size:Float) : ByteData {}) 33 | @:overload(function (size:Float) : ByteData {}) 34 | public static function newByteData(datastring:String) : ByteData; 35 | 36 | public static function newDataView(data:Data, offset:Float, size:Float) : Data; 37 | 38 | public static function pack(container:ContainerType, format:String, v1:Dynamic, args:Rest) : Dynamic; 39 | 40 | @:overload(function (format:String, data:Data, ?pos:Float) : DataModuleUnpackResult {}) 41 | public static function unpack(format:String, datastring:String, ?pos:Float) : DataModuleUnpackResult; 42 | } 43 | 44 | @:multiReturn 45 | extern class DataModuleUnpackResult 46 | { 47 | var v1 : Dynamic; 48 | var index : Float; 49 | } -------------------------------------------------------------------------------- /src/love/data/EncodeFormat.hx: -------------------------------------------------------------------------------- 1 | package love.data; 2 | @:enum 3 | abstract EncodeFormat (String) 4 | { 5 | var Base64 = "base64"; 6 | var Hex = "hex"; 7 | } -------------------------------------------------------------------------------- /src/love/data/HashFunction.hx: -------------------------------------------------------------------------------- 1 | package love.data; 2 | @:enum 3 | abstract HashFunction (String) 4 | { 5 | var Md5 = "md5"; 6 | var Sha1 = "sha1"; 7 | var Sha224 = "sha224"; 8 | var Sha256 = "sha256"; 9 | var Sha384 = "sha384"; 10 | var Sha512 = "sha512"; 11 | } -------------------------------------------------------------------------------- /src/love/event/Event.hx: -------------------------------------------------------------------------------- 1 | package love.event; 2 | @:enum 3 | abstract Event (String) 4 | { 5 | var Focus = "focus"; 6 | var Joystickpressed = "joystickpressed"; 7 | var Joystickreleased = "joystickreleased"; 8 | var Keypressed = "keypressed"; 9 | var Keyreleased = "keyreleased"; 10 | var Mousepressed = "mousepressed"; 11 | var Mousereleased = "mousereleased"; 12 | var Quit = "quit"; 13 | var Resize = "resize"; 14 | var Visible = "visible"; 15 | var Mousefocus = "mousefocus"; 16 | var Threaderror = "threaderror"; 17 | var Joystickadded = "joystickadded"; 18 | var Joystickremoved = "joystickremoved"; 19 | var Joystickaxis = "joystickaxis"; 20 | var Joystickhat = "joystickhat"; 21 | var Gamepadpressed = "gamepadpressed"; 22 | var Gamepadreleased = "gamepadreleased"; 23 | var Gamepadaxis = "gamepadaxis"; 24 | var Textinput = "textinput"; 25 | var Mousemoved = "mousemoved"; 26 | var Lowmemory = "lowmemory"; 27 | var Textedited = "textedited"; 28 | var Wheelmoved = "wheelmoved"; 29 | var Touchpressed = "touchpressed"; 30 | var Touchreleased = "touchreleased"; 31 | var Touchmoved = "touchmoved"; 32 | var Directorydropped = "directorydropped"; 33 | var Filedropped = "filedropped"; 34 | var Jp = "jp"; 35 | var Jr = "jr"; 36 | var Kp = "kp"; 37 | var Kr = "kr"; 38 | var Mp = "mp"; 39 | var Mr = "mr"; 40 | var Q = "q"; 41 | var F = "f"; 42 | } -------------------------------------------------------------------------------- /src/love/event/EventModule.hx: -------------------------------------------------------------------------------- 1 | package love.event; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | @:native("love.event") 8 | extern class EventModule 9 | { 10 | 11 | public static function clear() : Void; 12 | 13 | public static function poll() : Dynamic; 14 | 15 | public static function pump() : Void; 16 | 17 | public static function push(n:Event, ?a:Dynamic, ?b:Dynamic, ?c:Dynamic, ?d:Dynamic, ?e:Dynamic, ?f:Dynamic, args:Rest) : Void; 18 | 19 | @:overload(function ('restart':String) : Void {}) 20 | public static function quit(?exitstatus:Float) : Void; 21 | 22 | public static function wait() : EventModuleWaitResult; 23 | } 24 | 25 | @:multiReturn 26 | extern class EventModuleWaitResult 27 | { 28 | var n : Event; 29 | var a : Dynamic; 30 | var b : Dynamic; 31 | var c : Dynamic; 32 | var d : Dynamic; 33 | var e : Dynamic; 34 | var f : Dynamic; 35 | } -------------------------------------------------------------------------------- /src/love/filesystem/BufferMode.hx: -------------------------------------------------------------------------------- 1 | package love.filesystem; 2 | @:enum 3 | abstract BufferMode (String) 4 | { 5 | var None = "none"; 6 | var Line = "line"; 7 | var Full = "full"; 8 | } -------------------------------------------------------------------------------- /src/love/filesystem/DroppedFile.hx: -------------------------------------------------------------------------------- 1 | package love.filesystem; 2 | import love.Data; 3 | import love.data.ContainerType; 4 | import haxe.extern.Rest; 5 | import lua.Table; 6 | import lua.UserData; 7 | 8 | extern class DroppedFile extends Object 9 | { 10 | 11 | public function close() : Bool; 12 | 13 | public function flush() : DroppedFileFlushResult; 14 | 15 | public function getBuffer() : DroppedFileGetBufferResult; 16 | 17 | public function getFilename() : String; 18 | 19 | public function getMode() : FileMode; 20 | 21 | public function getSize() : Float; 22 | 23 | public function isEOF() : Bool; 24 | 25 | public function isOpen() : Bool; 26 | 27 | public function lines() : Dynamic; 28 | 29 | public function open(mode:FileMode) : DroppedFileOpenResult; 30 | 31 | @:overload(function (container:ContainerType, ?bytes:Float) : DroppedFileReadResult {}) 32 | public function read(?bytes:Float) : DroppedFileReadResult; 33 | 34 | public function seek(pos:Float) : Bool; 35 | 36 | public function setBuffer(mode:BufferMode, ?size:Float) : DroppedFileSetBufferResult; 37 | 38 | public function tell() : Float; 39 | 40 | @:overload(function (data:Data, ?size:Float) : DroppedFileWriteResult {}) 41 | public function write(data:String, ?size:Float) : DroppedFileWriteResult; 42 | } 43 | 44 | @:multiReturn 45 | extern class DroppedFileReadResult 46 | { 47 | var contents : Dynamic; 48 | var size : Float; 49 | } 50 | 51 | @:multiReturn 52 | extern class DroppedFileSetBufferResult 53 | { 54 | var success : Bool; 55 | var errorstr : String; 56 | } 57 | 58 | @:multiReturn 59 | extern class DroppedFileWriteResult 60 | { 61 | var success : Bool; 62 | var errorstr : String; 63 | } 64 | 65 | @:multiReturn 66 | extern class DroppedFileFlushResult 67 | { 68 | var success : Bool; 69 | var err : String; 70 | } 71 | 72 | @:multiReturn 73 | extern class DroppedFileOpenResult 74 | { 75 | var ok : Bool; 76 | var err : String; 77 | } 78 | 79 | @:multiReturn 80 | extern class DroppedFileGetBufferResult 81 | { 82 | var mode : BufferMode; 83 | var size : Float; 84 | } -------------------------------------------------------------------------------- /src/love/filesystem/File.hx: -------------------------------------------------------------------------------- 1 | package love.filesystem; 2 | import love.Data; 3 | import love.data.ContainerType; 4 | import haxe.extern.Rest; 5 | import lua.Table; 6 | import lua.UserData; 7 | 8 | extern class File extends Object 9 | { 10 | 11 | public function close() : Bool; 12 | 13 | public function flush() : FileFlushResult; 14 | 15 | public function getBuffer() : FileGetBufferResult; 16 | 17 | public function getFilename() : String; 18 | 19 | public function getMode() : FileMode; 20 | 21 | public function getSize() : Float; 22 | 23 | public function isEOF() : Bool; 24 | 25 | public function isOpen() : Bool; 26 | 27 | public function lines() : Dynamic; 28 | 29 | public function open(mode:FileMode) : FileOpenResult; 30 | 31 | @:overload(function (container:ContainerType, ?bytes:Float) : FileReadResult {}) 32 | public function read(?bytes:Float) : FileReadResult; 33 | 34 | public function seek(pos:Float) : Bool; 35 | 36 | public function setBuffer(mode:BufferMode, ?size:Float) : FileSetBufferResult; 37 | 38 | public function tell() : Float; 39 | 40 | @:overload(function (data:Data, ?size:Float) : FileWriteResult {}) 41 | public function write(data:String, ?size:Float) : FileWriteResult; 42 | } 43 | 44 | @:multiReturn 45 | extern class FileReadResult 46 | { 47 | var contents : Dynamic; 48 | var size : Float; 49 | } 50 | 51 | @:multiReturn 52 | extern class FileSetBufferResult 53 | { 54 | var success : Bool; 55 | var errorstr : String; 56 | } 57 | 58 | @:multiReturn 59 | extern class FileWriteResult 60 | { 61 | var success : Bool; 62 | var errorstr : String; 63 | } 64 | 65 | @:multiReturn 66 | extern class FileFlushResult 67 | { 68 | var success : Bool; 69 | var err : String; 70 | } 71 | 72 | @:multiReturn 73 | extern class FileOpenResult 74 | { 75 | var ok : Bool; 76 | var err : String; 77 | } 78 | 79 | @:multiReturn 80 | extern class FileGetBufferResult 81 | { 82 | var mode : BufferMode; 83 | var size : Float; 84 | } -------------------------------------------------------------------------------- /src/love/filesystem/FileData.hx: -------------------------------------------------------------------------------- 1 | package love.filesystem; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class FileData extends Data 8 | { 9 | 10 | public function getExtension() : String; 11 | 12 | public function getFilename() : String; 13 | } -------------------------------------------------------------------------------- /src/love/filesystem/FileDecoder.hx: -------------------------------------------------------------------------------- 1 | package love.filesystem; 2 | @:enum 3 | abstract FileDecoder (String) 4 | { 5 | var File = "file"; 6 | var Base64 = "base64"; 7 | } -------------------------------------------------------------------------------- /src/love/filesystem/FileMode.hx: -------------------------------------------------------------------------------- 1 | package love.filesystem; 2 | @:enum 3 | abstract FileMode (String) 4 | { 5 | var R = "r"; 6 | var W = "w"; 7 | var A = "a"; 8 | var C = "c"; 9 | } -------------------------------------------------------------------------------- /src/love/filesystem/FileType.hx: -------------------------------------------------------------------------------- 1 | package love.filesystem; 2 | @:enum 3 | abstract FileType (String) 4 | { 5 | var File = "file"; 6 | var Directory = "directory"; 7 | var Symlink = "symlink"; 8 | var Other = "other"; 9 | } -------------------------------------------------------------------------------- /src/love/filesystem/FilesystemModule.hx: -------------------------------------------------------------------------------- 1 | package love.filesystem; 2 | import love.Data; 3 | import love.data.ContainerType; 4 | import haxe.extern.Rest; 5 | import lua.Table; 6 | import lua.UserData; 7 | 8 | @:native("love.filesystem") 9 | extern class FilesystemModule 10 | { 11 | 12 | @:overload(function (name:String, data:Data, ?size:Float) : FilesystemModuleAppendResult {}) 13 | public static function append(name:String, data:String, ?size:Float) : FilesystemModuleAppendResult; 14 | 15 | public static function areSymlinksEnabled() : Bool; 16 | 17 | public static function createDirectory(name:String) : Bool; 18 | 19 | public static function getAppdataDirectory() : String; 20 | 21 | public static function getCRequirePath() : String; 22 | 23 | @:overload(function (dir:String, callback:Dynamic) : Table {}) 24 | public static function getDirectoryItems(dir:String) : Table; 25 | 26 | public static function getIdentity() : String; 27 | 28 | @:overload(function (path:String, info:Table) : Table {}) 29 | @:overload(function (path:String, filtertype:FileType, info:Table) : Table {}) 30 | public static function getInfo(path:String, ?filtertype:FileType) : Table; 31 | 32 | public static function getRealDirectory(filepath:String) : String; 33 | 34 | public static function getRequirePath() : String; 35 | 36 | public static function getSaveDirectory() : String; 37 | 38 | public static function getSource() : String; 39 | 40 | public static function getSourceBaseDirectory() : String; 41 | 42 | public static function getUserDirectory() : String; 43 | 44 | public static function getWorkingDirectory() : String; 45 | 46 | public static function init(appname:String) : Void; 47 | 48 | public static function isFused() : Bool; 49 | 50 | public static function lines(name:String) : Dynamic; 51 | 52 | public static function load(name:String) : FilesystemModuleLoadResult; 53 | 54 | @:overload(function (filedata:FileData, mountpoint:String, ?appendToPath:Bool) : Bool {}) 55 | @:overload(function (data:Data, archivename:String, mountpoint:String, ?appendToPath:Bool) : Bool {}) 56 | public static function mount(archive:String, mountpoint:String, ?appendToPath:Bool) : Bool; 57 | 58 | @:overload(function (filename:String, mode:FileMode) : FilesystemModuleNewFileResult {}) 59 | public static function newFile(filename:String) : File; 60 | 61 | @:overload(function (filepath:String) : FilesystemModuleNewFileDataResult {}) 62 | public static function newFileData(contents:String, name:String) : FileData; 63 | 64 | @:overload(function (container:ContainerType, name:String, ?size:Float) : FilesystemModuleReadResult {}) 65 | public static function read(name:String, ?size:Float) : FilesystemModuleReadResult; 66 | 67 | public static function remove(name:String) : Bool; 68 | 69 | public static function setCRequirePath(paths:String) : Void; 70 | 71 | @:overload(function (name:String) : Void {}) 72 | public static function setIdentity(name:String) : Void; 73 | 74 | public static function setRequirePath(paths:String) : Void; 75 | 76 | public static function setSource(path:String) : Void; 77 | 78 | public static function setSymlinksEnabled(enable:Bool) : Void; 79 | 80 | public static function unmount(archive:String) : Bool; 81 | 82 | @:overload(function (name:String, data:Data, ?size:Float) : FilesystemModuleWriteResult {}) 83 | public static function write(name:String, data:String, ?size:Float) : FilesystemModuleWriteResult; 84 | } 85 | 86 | @:multiReturn 87 | extern class FilesystemModuleReadResult 88 | { 89 | var contents : Dynamic; 90 | var size : Float; 91 | var contents : nil; 92 | var error : String; 93 | } 94 | 95 | @:multiReturn 96 | extern class FilesystemModuleWriteResult 97 | { 98 | var success : Bool; 99 | var message : String; 100 | } 101 | 102 | @:multiReturn 103 | extern class FilesystemModuleAppendResult 104 | { 105 | var success : Bool; 106 | var errormsg : String; 107 | } 108 | 109 | @:multiReturn 110 | extern class FilesystemModuleNewFileDataResult 111 | { 112 | var data : FileData; 113 | var err : String; 114 | } 115 | 116 | @:multiReturn 117 | extern class FilesystemModuleLoadResult 118 | { 119 | var chunk : Dynamic; 120 | var errormsg : String; 121 | } 122 | 123 | @:multiReturn 124 | extern class FilesystemModuleNewFileResult 125 | { 126 | var file : File; 127 | var errorstr : String; 128 | } -------------------------------------------------------------------------------- /src/love/graphics/AlignMode.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract AlignMode (String) 4 | { 5 | var Center = "center"; 6 | var Left = "left"; 7 | var Right = "right"; 8 | var Justify = "justify"; 9 | } -------------------------------------------------------------------------------- /src/love/graphics/ArcType.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract ArcType (String) 4 | { 5 | var Pie = "pie"; 6 | var Open = "open"; 7 | var Closed = "closed"; 8 | } -------------------------------------------------------------------------------- /src/love/graphics/AreaSpreadDistribution.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract AreaSpreadDistribution (String) 4 | { 5 | var Uniform = "uniform"; 6 | var Normal = "normal"; 7 | var Ellipse = "ellipse"; 8 | var Borderellipse = "borderellipse"; 9 | var Borderrectangle = "borderrectangle"; 10 | var None = "none"; 11 | } -------------------------------------------------------------------------------- /src/love/graphics/BlendAlphaMode.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract BlendAlphaMode (String) 4 | { 5 | var Alphamultiply = "alphamultiply"; 6 | var Premultiplied = "premultiplied"; 7 | } -------------------------------------------------------------------------------- /src/love/graphics/BlendMode.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract BlendMode (String) 4 | { 5 | var Alpha = "alpha"; 6 | var Replace = "replace"; 7 | var Screen = "screen"; 8 | var Add = "add"; 9 | var Subtract = "subtract"; 10 | var Multiply = "multiply"; 11 | var Lighten = "lighten"; 12 | var Darken = "darken"; 13 | var Additive = "additive"; 14 | var Subtractive = "subtractive"; 15 | var Multiplicative = "multiplicative"; 16 | var Premultiplied = "premultiplied"; 17 | } -------------------------------------------------------------------------------- /src/love/graphics/Canvas.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | import love.image.ImageData; 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class Canvas extends Texture 8 | { 9 | 10 | public function generateMipmaps() : Void; 11 | 12 | public function getDimensions() : CanvasGetDimensionsResult; 13 | 14 | @:overload(function () : CanvasGetFilterResult {}) 15 | public function getFilter() : CanvasGetFilterResult; 16 | 17 | public function getHeight() : Float; 18 | 19 | public function getMSAA() : Float; 20 | 21 | public function getMipmapMode() : MipmapMode; 22 | 23 | public function getWidth() : Float; 24 | 25 | public function getWrap() : CanvasGetWrapResult; 26 | 27 | @:overload(function (slice:Float, ?mipmap:Float, x:Float, y:Float, width:Float, height:Float) : ImageData {}) 28 | public function newImageData() : ImageData; 29 | 30 | public function renderTo(func:Dynamic) : Void; 31 | 32 | @:overload(function (min:FilterMode, mag:FilterMode, ?anisotropy:Float) : Void {}) 33 | public function setFilter(min:FilterMode, mag:FilterMode) : Void; 34 | 35 | public function setWrap(horiz:WrapMode, vert:WrapMode) : Void; 36 | } 37 | 38 | @:multiReturn 39 | extern class CanvasGetFilterResult 40 | { 41 | var min : FilterMode; 42 | var mag : FilterMode; 43 | var anisotropy : Float; 44 | } 45 | 46 | @:multiReturn 47 | extern class CanvasGetWrapResult 48 | { 49 | var horiz : WrapMode; 50 | var vert : WrapMode; 51 | } 52 | 53 | @:multiReturn 54 | extern class CanvasGetDimensionsResult 55 | { 56 | var width : Float; 57 | var height : Float; 58 | } -------------------------------------------------------------------------------- /src/love/graphics/CanvasFormat.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract CanvasFormat (String) 4 | { 5 | var Normal = "normal"; 6 | var Hdr = "hdr"; 7 | var Rgba8 = "rgba8"; 8 | var Rgba4 = "rgba4"; 9 | var Rgb5a1 = "rgb5a1"; 10 | var Rgb565 = "rgb565"; 11 | var Rgb10a2 = "rgb10a2"; 12 | var Rgba16f = "rgba16f"; 13 | var Rgba32f = "rgba32f"; 14 | var Rg11b10f = "rg11b10f"; 15 | var Srgb = "srgb"; 16 | var R8 = "r8"; 17 | var Rg8 = "rg8"; 18 | var R16f = "r16f"; 19 | var Rg16f = "rg16f"; 20 | var R32f = "r32f"; 21 | var Rg32f = "rg32f"; 22 | } -------------------------------------------------------------------------------- /src/love/graphics/CanvasMipmapMode.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract CanvasMipmapMode (String) 4 | { 5 | var None = "none"; 6 | var Auto = "auto"; 7 | var Manual = "manual"; 8 | } -------------------------------------------------------------------------------- /src/love/graphics/CompareMode.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract CompareMode (String) 4 | { 5 | var Never = "never"; 6 | var Always = "always"; 7 | } -------------------------------------------------------------------------------- /src/love/graphics/CullMode.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract CullMode (String) 4 | { 5 | var Back = "back"; 6 | var Front = "front"; 7 | var None = "none"; 8 | } -------------------------------------------------------------------------------- /src/love/graphics/DrawMode.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract DrawMode (String) 4 | { 5 | var Fill = "fill"; 6 | var Line = "line"; 7 | } -------------------------------------------------------------------------------- /src/love/graphics/FilterMode.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract FilterMode (String) 4 | { 5 | var Linear = "linear"; 6 | var Nearest = "nearest"; 7 | } -------------------------------------------------------------------------------- /src/love/graphics/Font.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class Font extends Object 8 | { 9 | 10 | public function getAscent() : Float; 11 | 12 | public function getBaseline() : Float; 13 | 14 | public function getDPIScale() : Float; 15 | 16 | public function getDescent() : Float; 17 | 18 | public function getFilter() : FontGetFilterResult; 19 | 20 | public function getHeight() : Float; 21 | 22 | public function getLineHeight() : Float; 23 | 24 | public function getWidth(text:String) : Float; 25 | 26 | public function getWrap(text:String, wraplimit:Float) : FontGetWrapResult; 27 | 28 | @:overload(function (character1:String, character2:String) : Bool {}) 29 | @:overload(function (codepoint1:Float, codepoint2:Float) : Bool {}) 30 | public function hasGlyphs(text:String) : Bool; 31 | 32 | public function setFallbacks(fallbackfont1:Font, args:Rest) : Void; 33 | 34 | public function setFilter(min:FilterMode, mag:FilterMode, ?anisotropy:Float) : Void; 35 | 36 | public function setLineHeight(height:Float) : Void; 37 | } 38 | 39 | @:multiReturn 40 | extern class FontGetFilterResult 41 | { 42 | var min : FilterMode; 43 | var mag : FilterMode; 44 | var anisotropy : Float; 45 | } 46 | 47 | @:multiReturn 48 | extern class FontGetWrapResult 49 | { 50 | var width : Float; 51 | var wrappedtext : Table; 52 | } -------------------------------------------------------------------------------- /src/love/graphics/GraphicsFeature.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract GraphicsFeature (String) 4 | { 5 | var Clampzero = "clampzero"; 6 | var Lighten = "lighten"; 7 | var Multicanvasformats = "multicanvasformats"; 8 | var Glsl3 = "glsl3"; 9 | var Instancing = "instancing"; 10 | var Fullnpot = "fullnpot"; 11 | var Pixelshaderhighp = "pixelshaderhighp"; 12 | var Shaderderivatives = "shaderderivatives"; 13 | var Canvas = "canvas"; 14 | var Npot = "npot"; 15 | var Subtractive = "subtractive"; 16 | var Shader = "shader"; 17 | var Hdrcanvas = "hdrcanvas"; 18 | var Multicanvas = "multicanvas"; 19 | var Mipmap = "mipmap"; 20 | var Dxt = "dxt"; 21 | var Bc5 = "bc5"; 22 | var Srgb = "srgb"; 23 | var Pixeleffect = "pixeleffect"; 24 | } -------------------------------------------------------------------------------- /src/love/graphics/GraphicsLimit.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract GraphicsLimit (String) 4 | { 5 | var Pointsize = "pointsize"; 6 | var Texturesize = "texturesize"; 7 | var Multicanvas = "multicanvas"; 8 | var Canvasmsaa = "canvasmsaa"; 9 | var Texturelayers = "texturelayers"; 10 | var Volumetexturesize = "volumetexturesize"; 11 | var Cubetexturesize = "cubetexturesize"; 12 | var Anisotropy = "anisotropy"; 13 | var Canvasfsaa = "canvasfsaa"; 14 | } -------------------------------------------------------------------------------- /src/love/graphics/GraphicsModule.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | import love.Data; 3 | import love.Drawable; 4 | import love.filesystem.File; 5 | import love.image.CompressedImageData; 6 | import love.image.ImageData; 7 | import love.math.Transform; 8 | import love.thread.Channel; 9 | import love.video.VideoStream; 10 | import haxe.extern.Rest; 11 | import lua.Table; 12 | import lua.UserData; 13 | 14 | @:native("love.graphics") 15 | extern class GraphicsModule 16 | { 17 | 18 | public static function applyTransform(transform:Transform) : Void; 19 | 20 | @:overload(function (drawmode:DrawMode, arctype:ArcType, x:Float, y:Float, radius:Float, angle1:Float, angle2:Float, ?segments:Float) : Void {}) 21 | public static function arc(drawmode:DrawMode, x:Float, y:Float, radius:Float, angle1:Float, angle2:Float, ?segments:Float) : Void; 22 | 23 | @:overload(function (callback:Dynamic) : Void {}) 24 | @:overload(function (channel:Channel) : Void {}) 25 | public static function captureScreenshot(filename:String) : Void; 26 | 27 | @:overload(function (mode:DrawMode, x:Float, y:Float, radius:Float, segments:Float) : Void {}) 28 | public static function circle(mode:DrawMode, x:Float, y:Float, radius:Float) : Void; 29 | 30 | @:overload(function (r:Float, g:Float, b:Float, ?a:Float, ?clearstencil:Bool, ?cleardepth:Bool) : Void {}) 31 | @:overload(function (color:Table, args:Rest>, ?clearstencil:Bool, ?cleardepth:Bool) : Void {}) 32 | @:overload(function (clearcolor:Bool, clearstencil:Bool, cleardepth:Bool) : Void {}) 33 | public static function clear() : Void; 34 | 35 | @:overload(function (discardcolors:Table, ?discardstencil:Bool) : Void {}) 36 | public static function discard(?discardcolor:Bool, ?discardstencil:Bool) : Void; 37 | 38 | @:overload(function (texture:Texture, quad:Quad, x:Float, y:Float, ?r:Float, ?sx:Float, ?sy:Float, ?ox:Float, ?oy:Float, ?kx:Float, ?ky:Float) : Void {}) 39 | @:overload(function (drawable:Drawable, transform:Transform) : Void {}) 40 | @:overload(function (texture:Texture, quad:Quad, transform:Transform) : Void {}) 41 | public static function draw(drawable:Drawable, ?x:Float, ?y:Float, ?r:Float, ?sx:Float, ?sy:Float, ?ox:Float, ?oy:Float, ?kx:Float, ?ky:Float) : Void; 42 | 43 | @:overload(function (mesh:Mesh, instancecount:Float, transform:Transform) : Void {}) 44 | public static function drawInstanced(mesh:Mesh, instancecount:Float, ?x:Float, ?y:Float, ?r:Float, ?sx:Float, ?sy:Float, ?ox:Float, ?oy:Float, ?kx:Float, ?ky:Float) : Void; 45 | 46 | @:overload(function (texture:Texture, layerindex:Float, quad:Quad, ?x:Float, ?y:Float, ?r:Float, ?sx:Float, ?sy:Float, ?ox:Float, ?oy:Float, ?kx:Float, ?ky:Float) : Void {}) 47 | @:overload(function (texture:Texture, layerindex:Float, transform:Transform) : Void {}) 48 | @:overload(function (texture:Texture, layerindex:Float, quad:Quad, transform:Transform) : Void {}) 49 | public static function drawLayer(texture:Texture, layerindex:Float, ?x:Float, ?y:Float, ?r:Float, ?sx:Float, ?sy:Float, ?ox:Float, ?oy:Float, ?kx:Float, ?ky:Float) : Void; 50 | 51 | @:overload(function (mode:DrawMode, x:Float, y:Float, radiusx:Float, radiusy:Float, segments:Float) : Void {}) 52 | public static function ellipse(mode:DrawMode, x:Float, y:Float, radiusx:Float, radiusy:Float) : Void; 53 | 54 | public static function flushBatch() : Void; 55 | 56 | public static function getBackgroundColor() : GraphicsModuleGetBackgroundColorResult; 57 | 58 | public static function getBlendMode() : GraphicsModuleGetBlendModeResult; 59 | 60 | public static function getCanvas() : Canvas; 61 | 62 | @:overload(function (readable:Bool) : Table {}) 63 | public static function getCanvasFormats() : Table; 64 | 65 | public static function getColor() : GraphicsModuleGetColorResult; 66 | 67 | public static function getColorMask() : GraphicsModuleGetColorMaskResult; 68 | 69 | public static function getDPIScale() : Float; 70 | 71 | public static function getDefaultFilter() : GraphicsModuleGetDefaultFilterResult; 72 | 73 | public static function getDepthMode() : GraphicsModuleGetDepthModeResult; 74 | 75 | public static function getDimensions() : GraphicsModuleGetDimensionsResult; 76 | 77 | public static function getFont() : Font; 78 | 79 | public static function getFrontFaceWinding() : VertexWinding; 80 | 81 | public static function getHeight() : Float; 82 | 83 | public static function getImageFormats() : Table; 84 | 85 | public static function getLineJoin() : LineJoin; 86 | 87 | public static function getLineStyle() : LineStyle; 88 | 89 | public static function getLineWidth() : Float; 90 | 91 | public static function getMeshCullMode() : CullMode; 92 | 93 | public static function getPixelHeight() : Float; 94 | 95 | public static function getPixelWidth() : Float; 96 | 97 | public static function getPointSize() : Float; 98 | 99 | public static function getRendererInfo() : GraphicsModuleGetRendererInfoResult; 100 | 101 | public static function getScissor() : GraphicsModuleGetScissorResult; 102 | 103 | public static function getShader() : Shader; 104 | 105 | public static function getStackDepth() : Float; 106 | 107 | @:overload(function (stats:Table) : Table {}) 108 | public static function getStats() : Table; 109 | 110 | public static function getStencilTest() : GraphicsModuleGetStencilTestResult; 111 | 112 | public static function getSupported() : Table; 113 | 114 | public static function getSystemLimits() : Table; 115 | 116 | public static function getTextureTypes() : Table; 117 | 118 | public static function getWidth() : Float; 119 | 120 | public static function intersectScissor(x:Float, y:Float, width:Float, height:Float) : Void; 121 | 122 | public static function inverseTransformPoint(screenX:Float, screenY:Float) : GraphicsModuleInverseTransformPointResult; 123 | 124 | public static function isGammaCorrect() : Bool; 125 | 126 | public static function isWireframe() : Bool; 127 | 128 | @:overload(function (points:Table) : Void {}) 129 | public static function line(x1:Float, y1:Float, x2:Float, y2:Float, args:Rest) : Void; 130 | 131 | public static function newArrayImage(slices:Table, ?settings:Table) : Image; 132 | 133 | @:overload(function (width:Float, height:Float) : Canvas {}) 134 | @:overload(function (width:Float, height:Float, settings:Table) : Canvas {}) 135 | @:overload(function (width:Float, height:Float, layers:Float, settings:Table) : Canvas {}) 136 | @:overload(function (?width:Float, ?height:Float, ?format:CanvasFormat) : Canvas {}) 137 | @:overload(function (?width:Float, ?height:Float, ?format:CanvasFormat, ?msaa:Float) : Canvas {}) 138 | public static function newCanvas() : Canvas; 139 | 140 | @:overload(function (faces:Table, ?settings:Table) : Image {}) 141 | public static function newCubeImage(filename:String, ?settings:Table) : Image; 142 | 143 | @:overload(function (filename:String, size:Float, ?hinting:HintingMode) : Font {}) 144 | @:overload(function (filename:String, imagefilename:String) : Font {}) 145 | @:overload(function (?size:Float, ?hinting:HintingMode) : Font {}) 146 | public static function newFont(filename:String) : Font; 147 | 148 | @:overload(function (imageData:ImageData) : Image {}) 149 | @:overload(function (compressedImageData:CompressedImageData) : Image {}) 150 | @:overload(function (filename:String, flags:Table) : Image {}) 151 | public static function newImage(filename:String) : Image; 152 | 153 | @:overload(function (imageData:ImageData, glyphs:String) : Font {}) 154 | @:overload(function (filename:String, glyphs:String, extraspacing:Float) : Font {}) 155 | public static function newImageFont(filename:String, glyphs:String) : Font; 156 | 157 | @:overload(function (vertexcount:Float, ?mode:MeshDrawMode, ?usage:SpriteBatchUsage) : Mesh {}) 158 | @:overload(function (vertexformat:Table, vertices:Table, ?mode:MeshDrawMode, ?usage:SpriteBatchUsage) : Mesh {}) 159 | @:overload(function (vertexformat:Table, vertexcount:Float, ?mode:MeshDrawMode, ?usage:SpriteBatchUsage) : Mesh {}) 160 | @:overload(function (vertexcount:Float, ?texture:Texture, ?mode:MeshDrawMode) : Mesh {}) 161 | public static function newMesh(vertices:Table, ?mode:MeshDrawMode, ?usage:SpriteBatchUsage) : Mesh; 162 | 163 | @:overload(function (texture:Texture, ?buffer:Float) : ParticleSystem {}) 164 | public static function newParticleSystem(image:Image, ?buffer:Float) : ParticleSystem; 165 | 166 | public static function newQuad(x:Float, y:Float, width:Float, height:Float, sw:Float, sh:Float) : Quad; 167 | 168 | @:overload(function (transform_projection:Table, vertex_position:Table) : Table {}) 169 | public static function newShader(code:String) : Shader; 170 | 171 | @:overload(function (image:Image, ?maxsprites:Float, ?usage:SpriteBatchUsage) : SpriteBatch {}) 172 | @:overload(function (texture:Texture, ?maxsprites:Float, ?usage:SpriteBatchUsage) : SpriteBatch {}) 173 | public static function newSpriteBatch(image:Image, ?maxsprites:Float) : SpriteBatch; 174 | 175 | public static function newText(font:Font, ?textstring:String) : Text; 176 | 177 | @:overload(function (videostream:VideoStream) : Video {}) 178 | @:overload(function (filename:String, settings:Table) : Video {}) 179 | @:overload(function (filename:String, ?loadaudio:Bool) : Video {}) 180 | @:overload(function (videostream:VideoStream, ?loadaudio:Bool) : Video {}) 181 | public static function newVideo(filename:String) : Video; 182 | 183 | public static function newVolumeImage(layers:Table, ?settings:Table) : Image; 184 | 185 | public static function origin() : Void; 186 | 187 | @:overload(function (points:Table) : Void {}) 188 | @:overload(function (points:Table) : Void {}) 189 | public static function points(x:Float, y:Float, args:Rest) : Void; 190 | 191 | @:overload(function (mode:DrawMode, vertices:Table) : Void {}) 192 | public static function polygon(mode:DrawMode, args:Rest) : Void; 193 | 194 | public static function pop() : Void; 195 | 196 | public static function present() : Void; 197 | 198 | @:overload(function (coloredtext:Table, ?x:Float, ?y:Float, ?angle:Float, ?sx:Float, ?sy:Float, ?ox:Float, ?oy:Float, ?kx:Float, ?ky:Float) : Void {}) 199 | @:overload(function (text:String, transform:Transform) : Void {}) 200 | @:overload(function (coloredtext:Table, transform:Transform) : Void {}) 201 | @:overload(function (text:String, font:Font, transform:Transform) : Void {}) 202 | @:overload(function (coloredtext:Table, font:Font, transform:Transform) : Void {}) 203 | public static function print(text:String, ?x:Float, ?y:Float, ?r:Float, ?sx:Float, ?sy:Float, ?ox:Float, ?oy:Float, ?kx:Float, ?ky:Float) : Void; 204 | 205 | @:overload(function (text:String, font:Font, x:Float, y:Float, limit:Float, ?align:AlignMode, ?r:Float, ?sx:Float, ?sy:Float, ?ox:Float, ?oy:Float, ?kx:Float, ?ky:Float) : Void {}) 206 | @:overload(function (text:String, transform:Transform, limit:Float, ?align:AlignMode) : Void {}) 207 | @:overload(function (text:String, font:Font, transform:Transform, limit:Float, ?align:AlignMode) : Void {}) 208 | @:overload(function (coloredtext:Table, x:Float, y:Float, limit:Float, align:AlignMode, ?angle:Float, ?sx:Float, ?sy:Float, ?ox:Float, ?oy:Float, ?kx:Float, ?ky:Float) : Void {}) 209 | @:overload(function (coloredtext:Table, font:Font, x:Float, y:Float, limit:Float, ?align:AlignMode, ?angle:Float, ?sx:Float, ?sy:Float, ?ox:Float, ?oy:Float, ?kx:Float, ?ky:Float) : Void {}) 210 | @:overload(function (coloredtext:Table, transform:Transform, limit:Float, ?align:AlignMode) : Void {}) 211 | @:overload(function (coloredtext:Table, font:Font, transform:Transform, limit:Float, ?align:AlignMode) : Void {}) 212 | public static function printf(text:String, x:Float, y:Float, limit:Float, ?align:AlignMode, ?r:Float, ?sx:Float, ?sy:Float, ?ox:Float, ?oy:Float, ?kx:Float, ?ky:Float) : Void; 213 | 214 | @:overload(function (stack:StackType) : Void {}) 215 | public static function push() : Void; 216 | 217 | @:overload(function (mode:DrawMode, x:Float, y:Float, width:Float, height:Float, rx:Float, ?ry:Float, ?segments:Float) : Void {}) 218 | public static function rectangle(mode:DrawMode, x:Float, y:Float, width:Float, height:Float) : Void; 219 | 220 | public static function replaceTransform(transform:Transform) : Void; 221 | 222 | public static function reset() : Void; 223 | 224 | public static function rotate(angle:Float) : Void; 225 | 226 | public static function scale(sx:Float, ?sy:Float) : Void; 227 | 228 | @:overload(function () : Void {}) 229 | @:overload(function () : Void {}) 230 | public static function setBackgroundColor(red:Float, green:Float, blue:Float, ?alpha:Float) : Void; 231 | 232 | @:overload(function (mode:BlendMode, ?alphamode:BlendAlphaMode) : Void {}) 233 | public static function setBlendMode(mode:BlendMode) : Void; 234 | 235 | @:overload(function () : Void {}) 236 | @:overload(function (canvas1:Canvas, canvas2:Canvas, args:Rest) : Void {}) 237 | @:overload(function (canvas:Canvas, slice:Float, ?mipmap:Float) : Void {}) 238 | @:overload(function (setup:Table) : Void {}) 239 | public static function setCanvas(canvas:Canvas, ?mipmap:Float) : Void; 240 | 241 | @:overload(function (rgba:Table) : Void {}) 242 | public static function setColor(red:Float, green:Float, blue:Float, ?alpha:Float) : Void; 243 | 244 | @:overload(function () : Void {}) 245 | public static function setColorMask(red:Bool, green:Bool, blue:Bool, alpha:Bool) : Void; 246 | 247 | public static function setDefaultFilter(min:FilterMode, mag:FilterMode, ?anisotropy:Float) : Void; 248 | 249 | @:overload(function () : Void {}) 250 | public static function setDepthMode(comparemode:CompareMode, write:Bool) : Void; 251 | 252 | public static function setFont(font:Font) : Void; 253 | 254 | public static function setFrontFaceWinding(winding:VertexWinding) : Void; 255 | 256 | public static function setLineJoin(join:LineJoin) : Void; 257 | 258 | public static function setLineStyle(style:LineStyle) : Void; 259 | 260 | public static function setLineWidth(width:Float) : Void; 261 | 262 | public static function setMeshCullMode(mode:CullMode) : Void; 263 | 264 | @:overload(function (filename:String, ?size:Float) : Font {}) 265 | @:overload(function (file:File, ?size:Float) : Font {}) 266 | @:overload(function (data:Data, ?size:Float) : Font {}) 267 | @:overload(function (rasterizer:Rasterizer) : Font {}) 268 | public static function setNewFont(?size:Float) : Font; 269 | 270 | public static function setPointSize(size:Float) : Void; 271 | 272 | @:overload(function () : Void {}) 273 | public static function setScissor(x:Float, y:Float, width:Float, height:Float) : Void; 274 | 275 | @:overload(function () : Void {}) 276 | public static function setShader(shader:Shader) : Void; 277 | 278 | @:overload(function () : Void {}) 279 | public static function setStencilTest(comparemode:CompareMode, comparevalue:Float) : Void; 280 | 281 | public static function setWireframe(enable:Bool) : Void; 282 | 283 | public static function shear(kx:Float, ky:Float) : Void; 284 | 285 | public static function stencil(stencilfunction:Dynamic, ?action:StencilAction, ?value:Float, ?keepvalues:Bool) : Void; 286 | 287 | public static function transformPoint(globalX:Float, globalY:Float) : GraphicsModuleTransformPointResult; 288 | 289 | public static function translate(dx:Float, dy:Float) : Void; 290 | 291 | @:overload(function (gles:Bool, pixelcode:String, vertexcode:String) : GraphicsModuleValidateShaderResult {}) 292 | public static function validateShader(gles:Bool, code:String) : GraphicsModuleValidateShaderResult; 293 | } 294 | 295 | @:multiReturn 296 | extern class GraphicsModuleGetColorMaskResult 297 | { 298 | var r : Bool; 299 | var g : Bool; 300 | var b : Bool; 301 | var a : Bool; 302 | } 303 | 304 | @:multiReturn 305 | extern class GraphicsModuleGetDefaultFilterResult 306 | { 307 | var min : FilterMode; 308 | var mag : FilterMode; 309 | var anisotropy : Float; 310 | } 311 | 312 | @:multiReturn 313 | extern class GraphicsModuleGetBackgroundColorResult 314 | { 315 | var r : Float; 316 | var g : Float; 317 | var b : Float; 318 | var a : Float; 319 | } 320 | 321 | @:multiReturn 322 | extern class GraphicsModuleGetRendererInfoResult 323 | { 324 | var name : String; 325 | var version : String; 326 | var vendor : String; 327 | var device : String; 328 | } 329 | 330 | @:multiReturn 331 | extern class GraphicsModuleValidateShaderResult 332 | { 333 | var status : Bool; 334 | var message : String; 335 | } 336 | 337 | @:multiReturn 338 | extern class GraphicsModuleGetDepthModeResult 339 | { 340 | var comparemode : CompareMode; 341 | var write : Bool; 342 | } 343 | 344 | @:multiReturn 345 | extern class GraphicsModuleTransformPointResult 346 | { 347 | var screenX : Float; 348 | var screenY : Float; 349 | } 350 | 351 | @:multiReturn 352 | extern class GraphicsModuleInverseTransformPointResult 353 | { 354 | var globalX : Float; 355 | var globalY : Float; 356 | } 357 | 358 | @:multiReturn 359 | extern class GraphicsModuleGetColorResult 360 | { 361 | var r : Float; 362 | var g : Float; 363 | var b : Float; 364 | var a : Float; 365 | } 366 | 367 | @:multiReturn 368 | extern class GraphicsModuleGetStencilTestResult 369 | { 370 | var comparemode : CompareMode; 371 | var comparevalue : Float; 372 | } 373 | 374 | @:multiReturn 375 | extern class GraphicsModuleGetBlendModeResult 376 | { 377 | var mode : BlendMode; 378 | var alphamode : BlendAlphaMode; 379 | } 380 | 381 | @:multiReturn 382 | extern class GraphicsModuleGetScissorResult 383 | { 384 | var x : Float; 385 | var y : Float; 386 | var width : Float; 387 | var height : Float; 388 | } 389 | 390 | @:multiReturn 391 | extern class GraphicsModuleGetDimensionsResult 392 | { 393 | var width : Float; 394 | var height : Float; 395 | } -------------------------------------------------------------------------------- /src/love/graphics/HintingMode.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract HintingMode (String) 4 | { 5 | var Normal = "normal"; 6 | var Light = "light"; 7 | var Mono = "mono"; 8 | var None = "none"; 9 | } -------------------------------------------------------------------------------- /src/love/graphics/Image.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | import love.image.ImageData; 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class Image extends Texture 8 | { 9 | 10 | public function getDimensions() : ImageGetDimensionsResult; 11 | 12 | @:overload(function () : ImageGetFilterResult {}) 13 | public function getFilter() : ImageGetFilterResult; 14 | 15 | public function getFlags() : Table; 16 | 17 | public function getHeight() : Float; 18 | 19 | public function getWidth() : Float; 20 | 21 | public function getWrap() : ImageGetWrapResult; 22 | 23 | public function replacePixels(data:ImageData, slice:Float, ?mipmap:Float, ?x:Float, ?y:Float, reloadmipmaps:Bool) : Void; 24 | 25 | @:overload(function (min:FilterMode, mag:FilterMode, ?anisotropy:Float) : Void {}) 26 | public function setFilter(min:FilterMode, mag:FilterMode) : Void; 27 | 28 | public function setWrap(horiz:WrapMode, vert:WrapMode) : Void; 29 | } 30 | 31 | @:multiReturn 32 | extern class ImageGetFilterResult 33 | { 34 | var min : FilterMode; 35 | var mag : FilterMode; 36 | var anisotropy : Float; 37 | } 38 | 39 | @:multiReturn 40 | extern class ImageGetWrapResult 41 | { 42 | var horiz : WrapMode; 43 | var vert : WrapMode; 44 | } 45 | 46 | @:multiReturn 47 | extern class ImageGetDimensionsResult 48 | { 49 | var width : Float; 50 | var height : Float; 51 | } -------------------------------------------------------------------------------- /src/love/graphics/IndexDataType.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract IndexDataType (String) 4 | { 5 | var Uint16 = "uint16"; 6 | var Uint32 = "uint32"; 7 | } -------------------------------------------------------------------------------- /src/love/graphics/LineJoin.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract LineJoin (String) 4 | { 5 | var Miter = "miter"; 6 | var None = "none"; 7 | var Bevel = "bevel"; 8 | } -------------------------------------------------------------------------------- /src/love/graphics/LineStyle.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract LineStyle (String) 4 | { 5 | var Rough = "rough"; 6 | var Smooth = "smooth"; 7 | } -------------------------------------------------------------------------------- /src/love/graphics/Mesh.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | import love.Data; 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class Mesh extends Drawable 8 | { 9 | 10 | @:overload(function (name:String, mesh:Mesh, ?step:VertexAttributeStep, ?attachname:String) : Void {}) 11 | public function attachAttribute(name:String, mesh:Mesh) : Void; 12 | 13 | public function detachAttribute(name:String) : Bool; 14 | 15 | public function getDrawMode() : MeshDrawMode; 16 | 17 | public function getDrawRange() : MeshGetDrawRangeResult; 18 | 19 | public function getTexture() : Texture; 20 | 21 | @:overload(function (index:Float) : MeshGetVertexResult {}) 22 | public function getVertex(index:Float) : MeshGetVertexResult; 23 | 24 | public function getVertexAttribute(vertexindex:Float, attributeindex:Float) : MeshGetVertexAttributeResult; 25 | 26 | public function getVertexCount() : Float; 27 | 28 | public function getVertexFormat() : Table; 29 | 30 | public function getVertexMap() : Table; 31 | 32 | public function isAttributeEnabled(name:String) : Bool; 33 | 34 | public function setAttributeEnabled(name:String, enable:Bool) : Void; 35 | 36 | public function setDrawMode(mode:MeshDrawMode) : Void; 37 | 38 | @:overload(function () : Void {}) 39 | public function setDrawRange(start:Float, count:Float) : Void; 40 | 41 | @:overload(function () : Void {}) 42 | public function setTexture(texture:Texture) : Void; 43 | 44 | @:overload(function (index:Float, vertex:Table) : Void {}) 45 | @:overload(function (index:Float, x:Float, y:Float, u:Float, v:Float, ?r:Float, ?g:Float, ?b:Float, ?a:Float) : Void {}) 46 | @:overload(function (index:Float, vertex:Table) : Void {}) 47 | public function setVertex(index:Float, attributecomponent:Float, args:Rest) : Void; 48 | 49 | public function setVertexAttribute(vertexindex:Float, attributeindex:Float, value1:Float, value2:Float, args:Rest) : Void; 50 | 51 | @:overload(function (vi1:Float, vi2:Float, vi3:Float) : Void {}) 52 | @:overload(function (data:Data, datatype:IndexDataType) : Void {}) 53 | public function setVertexMap(map:Table) : Void; 54 | 55 | @:overload(function (data:Data, ?startvertex:Float) : Void {}) 56 | @:overload(function (vertices:Table) : Void {}) 57 | public function setVertices(vertices:Table, ?startvertex:Float) : Void; 58 | } 59 | 60 | @:multiReturn 61 | extern class MeshGetVertexAttributeResult 62 | { 63 | var value1 : Float; 64 | var value2 : Float; 65 | } 66 | 67 | @:multiReturn 68 | extern class MeshGetDrawRangeResult 69 | { 70 | var min : Float; 71 | var max : Float; 72 | } 73 | 74 | @:multiReturn 75 | extern class MeshGetVertexResult 76 | { 77 | var x : Float; 78 | var y : Float; 79 | var u : Float; 80 | var v : Float; 81 | var r : Float; 82 | var g : Float; 83 | var b : Float; 84 | var a : Float; 85 | } -------------------------------------------------------------------------------- /src/love/graphics/MeshDrawMode.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract MeshDrawMode (String) 4 | { 5 | var Fan = "fan"; 6 | var Strip = "strip"; 7 | var Triangles = "triangles"; 8 | var Points = "points"; 9 | } -------------------------------------------------------------------------------- /src/love/graphics/MipmapMode.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract MipmapMode (String) 4 | { 5 | var None = "none"; 6 | var Manual = "manual"; 7 | var Auto = "auto"; 8 | } -------------------------------------------------------------------------------- /src/love/graphics/ParticleInsertMode.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract ParticleInsertMode (String) 4 | { 5 | var Top = "top"; 6 | var Bottom = "bottom"; 7 | var Random = "random"; 8 | } -------------------------------------------------------------------------------- /src/love/graphics/ParticleSystem.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class ParticleSystem extends Drawable 8 | { 9 | 10 | public function clone() : ParticleSystem; 11 | 12 | public function emit(numparticles:Float) : Void; 13 | 14 | public function getBufferSize() : Float; 15 | 16 | public function getColors() : ParticleSystemGetColorsResult; 17 | 18 | public function getCount() : Float; 19 | 20 | public function getDirection() : Float; 21 | 22 | public function getEmissionArea() : ParticleSystemGetEmissionAreaResult; 23 | 24 | public function getEmissionRate() : Float; 25 | 26 | public function getEmitterLifetime() : Float; 27 | 28 | public function getInsertMode() : ParticleInsertMode; 29 | 30 | public function getLinearAcceleration() : ParticleSystemGetLinearAccelerationResult; 31 | 32 | public function getLinearDamping() : ParticleSystemGetLinearDampingResult; 33 | 34 | public function getOffset() : ParticleSystemGetOffsetResult; 35 | 36 | public function getParticleLifetime() : ParticleSystemGetParticleLifetimeResult; 37 | 38 | public function getPosition() : ParticleSystemGetPositionResult; 39 | 40 | public function getQuads() : Table; 41 | 42 | public function getRadialAcceleration() : ParticleSystemGetRadialAccelerationResult; 43 | 44 | public function getRotation() : ParticleSystemGetRotationResult; 45 | 46 | public function getSizeVariation() : Float; 47 | 48 | public function getSizes() : ParticleSystemGetSizesResult; 49 | 50 | public function getSpeed() : ParticleSystemGetSpeedResult; 51 | 52 | public function getSpin() : ParticleSystemGetSpinResult; 53 | 54 | public function getSpinVariation() : Float; 55 | 56 | public function getSpread() : Float; 57 | 58 | public function getTangentialAcceleration() : ParticleSystemGetTangentialAccelerationResult; 59 | 60 | public function getTexture() : Texture; 61 | 62 | public function hasRelativeRotation() : Bool; 63 | 64 | public function isActive() : Bool; 65 | 66 | public function isPaused() : Bool; 67 | 68 | public function isStopped() : Bool; 69 | 70 | public function moveTo(x:Float, y:Float) : Void; 71 | 72 | public function pause() : Void; 73 | 74 | public function reset() : Void; 75 | 76 | public function setBufferSize(size:Float) : Void; 77 | 78 | public function setColors(r1:Float, g1:Float, b1:Float, a1:Float, r2:Float, g2:Float, b2:Float, a2:Float, r8:Float, g8:Float, b8:Float, a8:Float) : Void; 79 | 80 | public function setDirection(direction:Float) : Void; 81 | 82 | public function setEmissionArea(distribution:AreaSpreadDistribution, dx:Float, dy:Float, ?angle:Float, ?directionRelativeToCenter:Bool) : Void; 83 | 84 | public function setEmissionRate(rate:Float) : Void; 85 | 86 | public function setEmitterLifetime(life:Float) : Void; 87 | 88 | public function setInsertMode(mode:ParticleInsertMode) : Void; 89 | 90 | public function setLinearAcceleration(xmin:Float, ymin:Float, ?xmax:Float, ?ymax:Float) : Void; 91 | 92 | public function setLinearDamping(min:Float, ?max:Float) : Void; 93 | 94 | public function setOffset(x:Float, y:Float) : Void; 95 | 96 | public function setParticleLifetime(min:Float, ?max:Float) : Void; 97 | 98 | public function setPosition(x:Float, y:Float) : Void; 99 | 100 | @:overload(function (quads:Table) : Void {}) 101 | public function setQuads(quad1:Quad, quad2:Quad) : Void; 102 | 103 | public function setRadialAcceleration(min:Float, ?max:Float) : Void; 104 | 105 | public function setRelativeRotation(enable:Bool) : Void; 106 | 107 | public function setRotation(min:Float, ?max:Float) : Void; 108 | 109 | public function setSizeVariation(variation:Float) : Void; 110 | 111 | public function setSizes(size1:Float, size2:Float, size8:Float) : Void; 112 | 113 | public function setSpeed(min:Float, ?max:Float) : Void; 114 | 115 | public function setSpin(min:Float, ?max:Float) : Void; 116 | 117 | public function setSpinVariation(variation:Float) : Void; 118 | 119 | public function setSpread(spread:Float) : Void; 120 | 121 | public function setTangentialAcceleration(min:Float, ?max:Float) : Void; 122 | 123 | public function setTexture(texture:Texture) : Void; 124 | 125 | public function start() : Void; 126 | 127 | public function stop() : Void; 128 | 129 | public function update(dt:Float) : Void; 130 | } 131 | 132 | @:multiReturn 133 | extern class ParticleSystemGetLinearAccelerationResult 134 | { 135 | var xmin : Float; 136 | var ymin : Float; 137 | var xmax : Float; 138 | var ymax : Float; 139 | } 140 | 141 | @:multiReturn 142 | extern class ParticleSystemGetSpeedResult 143 | { 144 | var min : Float; 145 | var max : Float; 146 | } 147 | 148 | @:multiReturn 149 | extern class ParticleSystemGetRadialAccelerationResult 150 | { 151 | var min : Float; 152 | var max : Float; 153 | } 154 | 155 | @:multiReturn 156 | extern class ParticleSystemGetOffsetResult 157 | { 158 | var ox : Float; 159 | var oy : Float; 160 | } 161 | 162 | @:multiReturn 163 | extern class ParticleSystemGetLinearDampingResult 164 | { 165 | var min : Float; 166 | var max : Float; 167 | } 168 | 169 | @:multiReturn 170 | extern class ParticleSystemGetRotationResult 171 | { 172 | var min : Float; 173 | var max : Float; 174 | } 175 | 176 | @:multiReturn 177 | extern class ParticleSystemGetParticleLifetimeResult 178 | { 179 | var min : Float; 180 | var max : Float; 181 | } 182 | 183 | @:multiReturn 184 | extern class ParticleSystemGetEmissionAreaResult 185 | { 186 | var distribution : AreaSpreadDistribution; 187 | var dx : Float; 188 | var dy : Float; 189 | var angle : Float; 190 | var directionRelativeToCenter : Bool; 191 | } 192 | 193 | @:multiReturn 194 | extern class ParticleSystemGetColorsResult 195 | { 196 | var r1 : Float; 197 | var g1 : Float; 198 | var b1 : Float; 199 | var a1 : Float; 200 | var r2 : Float; 201 | var g2 : Float; 202 | var b2 : Float; 203 | var a2 : Float; 204 | var r8 : Float; 205 | var g8 : Float; 206 | var b8 : Float; 207 | var a8 : Float; 208 | } 209 | 210 | @:multiReturn 211 | extern class ParticleSystemGetPositionResult 212 | { 213 | var x : Float; 214 | var y : Float; 215 | } 216 | 217 | @:multiReturn 218 | extern class ParticleSystemGetSpinResult 219 | { 220 | var min : Float; 221 | var max : Float; 222 | var variation : Float; 223 | } 224 | 225 | @:multiReturn 226 | extern class ParticleSystemGetSizesResult 227 | { 228 | var size1 : Float; 229 | var size2 : Float; 230 | var size8 : Float; 231 | } 232 | 233 | @:multiReturn 234 | extern class ParticleSystemGetTangentialAccelerationResult 235 | { 236 | var min : Float; 237 | var max : Float; 238 | } -------------------------------------------------------------------------------- /src/love/graphics/PixelFormat.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract PixelFormat (String) 4 | { 5 | var Normal = "normal"; 6 | var Hdr = "hdr"; 7 | var Rgba8 = "rgba8"; 8 | var Rgba4 = "rgba4"; 9 | var Rgb5a1 = "rgb5a1"; 10 | var Rgb565 = "rgb565"; 11 | var Rgb10a2 = "rgb10a2"; 12 | var Rgba16f = "rgba16f"; 13 | var Rgba32f = "rgba32f"; 14 | var Rg11b10f = "rg11b10f"; 15 | var Srgb = "srgb"; 16 | var R8 = "r8"; 17 | var Rg8 = "rg8"; 18 | var R16f = "r16f"; 19 | var Rg16f = "rg16f"; 20 | var R32f = "r32f"; 21 | var Rg32f = "rg32f"; 22 | } -------------------------------------------------------------------------------- /src/love/graphics/Quad.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class Quad extends Object 8 | { 9 | 10 | public function getTextureDimensions() : QuadGetTextureDimensionsResult; 11 | 12 | public function getViewport() : QuadGetViewportResult; 13 | 14 | public function setViewport(x:Float, y:Float, w:Float, h:Float, sw:Float, sh:Float) : Void; 15 | } 16 | 17 | @:multiReturn 18 | extern class QuadGetTextureDimensionsResult 19 | { 20 | var sw : Float; 21 | var sh : Float; 22 | } 23 | 24 | @:multiReturn 25 | extern class QuadGetViewportResult 26 | { 27 | var x : Float; 28 | var y : Float; 29 | var w : Float; 30 | var h : Float; 31 | } -------------------------------------------------------------------------------- /src/love/graphics/Rasterizer.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class Rasterizer extends Object 8 | { 9 | 10 | public function getHeight() : Float; 11 | } -------------------------------------------------------------------------------- /src/love/graphics/Shader.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | import love.Data; 3 | import love.math.MatrixLayout; 4 | import haxe.extern.Rest; 5 | import lua.Table; 6 | import lua.UserData; 7 | 8 | extern class Shader extends Object 9 | { 10 | 11 | public function getWarnings() : String; 12 | 13 | public function hasUniform(name:String) : Bool; 14 | 15 | @:overload(function (name:String, vector:Table, args:Rest>) : Void {}) 16 | @:overload(function (name:String, matrix:Table, args:Rest>) : Void {}) 17 | @:overload(function (name:String, texture:Texture) : Void {}) 18 | @:overload(function (name:String, boolean:Bool, args:Rest) : Void {}) 19 | @:overload(function (name:String, matrixlayout:MatrixLayout, matrix:Table, args:Rest>) : Void {}) 20 | @:overload(function (name:String, data:Data, ?offset:Float, ?size:Float) : Void {}) 21 | @:overload(function (name:String, data:Data, matrixlayout:MatrixLayout, ?offset:Float, ?size:Float) : Void {}) 22 | public function send(name:String, number:Float, args:Rest) : Void; 23 | 24 | public function sendColor(name:String, color:Table, args:Rest>) : Void; 25 | } -------------------------------------------------------------------------------- /src/love/graphics/SpriteBatch.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | import love.math.Transform; 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class SpriteBatch extends Drawable 8 | { 9 | 10 | @:overload(function (quad:Quad, x:Float, y:Float, ?r:Float, ?sx:Float, ?sy:Float, ?ox:Float, ?oy:Float, ?kx:Float, ?ky:Float) : Float {}) 11 | public function add(x:Float, y:Float, ?r:Float, ?sx:Float, ?sy:Float, ?ox:Float, ?oy:Float, ?kx:Float, ?ky:Float) : Float; 12 | 13 | @:overload(function (layerindex:Float, quad:Quad, ?x:Float, ?y:Float, ?r:Float, ?sx:Float, ?sy:Float, ?ox:Float, ?oy:Float, ?kx:Float, ?ky:Float) : Float {}) 14 | @:overload(function (layerindex:Float, transform:Transform) : Float {}) 15 | @:overload(function (layerindex:Float, quad:Quad, transform:Transform) : Float {}) 16 | public function addLayer(layerindex:Float, ?x:Float, ?y:Float, ?r:Float, ?sx:Float, ?sy:Float, ?ox:Float, ?oy:Float, ?kx:Float, ?ky:Float) : Float; 17 | 18 | public function attachAttribute(name:String, mesh:Mesh) : Void; 19 | 20 | public function clear() : Void; 21 | 22 | public function flush() : Void; 23 | 24 | public function getBufferSize() : Float; 25 | 26 | public function getColor() : SpriteBatchGetColorResult; 27 | 28 | public function getCount() : Float; 29 | 30 | public function getTexture() : Texture; 31 | 32 | @:overload(function (spriteindex:Float, quad:Quad, x:Float, y:Float, ?r:Float, ?sx:Float, ?sy:Float, ?ox:Float, ?oy:Float, ?kx:Float, ?ky:Float) : Void {}) 33 | public function set(spriteindex:Float, x:Float, y:Float, ?r:Float, ?sx:Float, ?sy:Float, ?ox:Float, ?oy:Float, ?kx:Float, ?ky:Float) : Void; 34 | 35 | @:overload(function () : Void {}) 36 | public function setColor(r:Float, g:Float, b:Float, ?a:Float) : Void; 37 | 38 | @:overload(function () : Void {}) 39 | public function setDrawRange(start:Float, count:Float) : Void; 40 | 41 | @:overload(function (spriteindex:Float, layerindex:Float, quad:Quad, ?x:Float, ?y:Float, ?r:Float, ?sx:Float, ?sy:Float, ?ox:Float, ?oy:Float, ?kx:Float, ?ky:Float) : Void {}) 42 | @:overload(function (spriteindex:Float, layerindex:Float, transform:Transform) : Void {}) 43 | @:overload(function (spriteindex:Float, layerindex:Float, quad:Quad, transform:Transform) : Void {}) 44 | public function setLayer(spriteindex:Float, layerindex:Float, ?x:Float, ?y:Float, ?r:Float, ?sx:Float, ?sy:Float, ?ox:Float, ?oy:Float, ?kx:Float, ?ky:Float) : Void; 45 | 46 | public function setTexture(texture:Texture) : Void; 47 | } 48 | 49 | @:multiReturn 50 | extern class SpriteBatchGetColorResult 51 | { 52 | var r : Float; 53 | var g : Float; 54 | var b : Float; 55 | var a : Float; 56 | } -------------------------------------------------------------------------------- /src/love/graphics/SpriteBatchUsage.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract SpriteBatchUsage (String) 4 | { 5 | var Dynamic = "dynamic"; 6 | var Static = "static"; 7 | var Stream = "stream"; 8 | } -------------------------------------------------------------------------------- /src/love/graphics/StackType.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract StackType (String) 4 | { 5 | var Transform = "transform"; 6 | var All = "all"; 7 | } -------------------------------------------------------------------------------- /src/love/graphics/StencilAction.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract StencilAction (String) 4 | { 5 | var Replace = "replace"; 6 | var Increment = "increment"; 7 | var Decrement = "decrement"; 8 | var Incrementwrap = "incrementwrap"; 9 | var Decrementwrap = "decrementwrap"; 10 | var Invert = "invert"; 11 | } -------------------------------------------------------------------------------- /src/love/graphics/Text.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class Text extends Drawable 8 | { 9 | 10 | @:overload(function (coloredtext:Table, ?x:Float, ?y:Float, ?angle:Float, ?sx:Float, ?sy:Float, ?ox:Float, ?oy:Float, ?kx:Float, ?ky:Float) : Float {}) 11 | public function add(textstring:String, ?x:Float, ?y:Float, ?angle:Float, ?sx:Float, ?sy:Float, ?ox:Float, ?oy:Float, ?kx:Float, ?ky:Float) : Float; 12 | 13 | @:overload(function (coloredtext:Table, wraplimit:Float, align:AlignMode, x:Float, y:Float, ?angle:Float, ?sx:Float, ?sy:Float, ?ox:Float, ?oy:Float, ?kx:Float, ?ky:Float) : Float {}) 14 | public function addf(textstring:String, wraplimit:Float, align:AlignMode, x:Float, y:Float, ?angle:Float, ?sx:Float, ?sy:Float, ?ox:Float, ?oy:Float, ?kx:Float, ?ky:Float) : Float; 15 | 16 | public function clear() : Void; 17 | 18 | @:overload(function (index:Float) : TextGetDimensionsResult {}) 19 | public function getDimensions() : TextGetDimensionsResult; 20 | 21 | public function getFont() : Font; 22 | 23 | @:overload(function (index:Float) : Float {}) 24 | public function getHeight() : Float; 25 | 26 | @:overload(function (index:Float) : Float {}) 27 | public function getWidth() : Float; 28 | 29 | @:overload(function (coloredtext:Table) : Void {}) 30 | public function set(textstring:String) : Void; 31 | 32 | public function setFont(font:Font) : Void; 33 | 34 | @:overload(function (coloredtext:Table, wraplimit:Float, align:AlignMode) : Void {}) 35 | public function setf(textstring:String, wraplimit:Float, align:AlignMode) : Void; 36 | } 37 | 38 | @:multiReturn 39 | extern class TextGetDimensionsResult 40 | { 41 | var width : Float; 42 | var height : Float; 43 | } -------------------------------------------------------------------------------- /src/love/graphics/Texture.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class Texture extends Drawable 8 | { 9 | 10 | public function getDPIScale() : Float; 11 | 12 | public function getDepth() : Float; 13 | 14 | public function getFormat() : PixelFormat; 15 | 16 | public function getLayerCount() : Float; 17 | 18 | public function getMipmapCount() : Float; 19 | 20 | public function getMipmapFilter() : TextureGetMipmapFilterResult; 21 | 22 | public function getPixelHeight() : Float; 23 | 24 | public function getPixelWidth() : Float; 25 | 26 | public function getTextureType() : TextureType; 27 | 28 | public function isReadable() : Bool; 29 | 30 | @:overload(function () : Void {}) 31 | public function setMipmapFilter(filtermode:FilterMode, ?sharpness:Float) : Void; 32 | } 33 | 34 | @:multiReturn 35 | extern class TextureGetMipmapFilterResult 36 | { 37 | var mode : FilterMode; 38 | var sharpness : Float; 39 | } -------------------------------------------------------------------------------- /src/love/graphics/TextureType.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract TextureType (String) 4 | { 5 | var _2d = "_2d"; 6 | var Array = "array"; 7 | var Cube = "cube"; 8 | var Volume = "volume"; 9 | } -------------------------------------------------------------------------------- /src/love/graphics/VertexAttributeStep.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract VertexAttributeStep (String) 4 | { 5 | var Pervertex = "pervertex"; 6 | var Perinstance = "perinstance"; 7 | } -------------------------------------------------------------------------------- /src/love/graphics/VertexWinding.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract VertexWinding (String) 4 | { 5 | var Cw = "cw"; 6 | var Ccw = "ccw"; 7 | } -------------------------------------------------------------------------------- /src/love/graphics/Video.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | import love.audio.Source; 3 | import love.video.VideoStream; 4 | import haxe.extern.Rest; 5 | import lua.Table; 6 | import lua.UserData; 7 | 8 | extern class Video extends Drawable 9 | { 10 | 11 | public function getDimensions() : VideoGetDimensionsResult; 12 | 13 | public function getFilter() : VideoGetFilterResult; 14 | 15 | public function getHeight() : Float; 16 | 17 | public function getSource() : Source; 18 | 19 | public function getStream() : VideoStream; 20 | 21 | public function getWidth() : Float; 22 | 23 | public function isPlaying() : Bool; 24 | 25 | public function pause() : Void; 26 | 27 | public function play() : Void; 28 | 29 | public function rewind() : Void; 30 | 31 | public function seek(offset:Float) : Void; 32 | 33 | public function setFilter(min:FilterMode, mag:FilterMode, ?anisotropy:Float) : Void; 34 | 35 | public function setSource(?source:Source) : Void; 36 | 37 | public function tell() : Float; 38 | } 39 | 40 | @:multiReturn 41 | extern class VideoGetFilterResult 42 | { 43 | var min : FilterMode; 44 | var mag : FilterMode; 45 | var anisotropy : Float; 46 | } 47 | 48 | @:multiReturn 49 | extern class VideoGetDimensionsResult 50 | { 51 | var width : Float; 52 | var height : Float; 53 | } -------------------------------------------------------------------------------- /src/love/graphics/WrapMode.hx: -------------------------------------------------------------------------------- 1 | package love.graphics; 2 | @:enum 3 | abstract WrapMode (String) 4 | { 5 | var Clamp = "clamp"; 6 | var Repeat = "repeat"; 7 | var Mirroredrepeat = "mirroredrepeat"; 8 | var Clampzero = "clampzero"; 9 | } -------------------------------------------------------------------------------- /src/love/image/CompressedImageData.hx: -------------------------------------------------------------------------------- 1 | package love.image; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class CompressedImageData extends Data 8 | { 9 | 10 | @:overload(function (level:Float) : CompressedImageDataGetDimensionsResult {}) 11 | public function getDimensions() : CompressedImageDataGetDimensionsResult; 12 | 13 | public function getFormat() : CompressedImageFormat; 14 | 15 | @:overload(function (level:Float) : Float {}) 16 | public function getHeight() : Float; 17 | 18 | public function getMipmapCount() : Float; 19 | 20 | @:overload(function (level:Float) : Float {}) 21 | public function getWidth() : Float; 22 | } 23 | 24 | @:multiReturn 25 | extern class CompressedImageDataGetDimensionsResult 26 | { 27 | var width : Float; 28 | var height : Float; 29 | } -------------------------------------------------------------------------------- /src/love/image/CompressedImageFormat.hx: -------------------------------------------------------------------------------- 1 | package love.image; 2 | @:enum 3 | abstract CompressedImageFormat (String) 4 | { 5 | var DXT1 = "DXT1"; 6 | var DXT3 = "DXT3"; 7 | var DXT5 = "DXT5"; 8 | var BC4 = "BC4"; 9 | var BC4s = "BC4s"; 10 | var BC5 = "BC5"; 11 | var BC5s = "BC5s"; 12 | var BC6h = "BC6h"; 13 | var BC6hs = "BC6hs"; 14 | var BC7 = "BC7"; 15 | var ETC1 = "ETC1"; 16 | var ETC2rgb = "ETC2rgb"; 17 | var ETC2rgba = "ETC2rgba"; 18 | var ETC2rgba1 = "ETC2rgba1"; 19 | var EACr = "EACr"; 20 | var EACrs = "EACrs"; 21 | var EACrg = "EACrg"; 22 | var EACrgs = "EACrgs"; 23 | var PVR1rgb2 = "PVR1rgb2"; 24 | var PVR1rgb4 = "PVR1rgb4"; 25 | var PVR1rgba2 = "PVR1rgba2"; 26 | var PVR1rgba4 = "PVR1rgba4"; 27 | var ASTC4x4 = "ASTC4x4"; 28 | var ASTC5x4 = "ASTC5x4"; 29 | var ASTC5x5 = "ASTC5x5"; 30 | var ASTC6x5 = "ASTC6x5"; 31 | var ASTC6x6 = "ASTC6x6"; 32 | var ASTC8x5 = "ASTC8x5"; 33 | var ASTC8x6 = "ASTC8x6"; 34 | var ASTC8x8 = "ASTC8x8"; 35 | var ASTC10x5 = "ASTC10x5"; 36 | var ASTC10x6 = "ASTC10x6"; 37 | var ASTC10x8 = "ASTC10x8"; 38 | var ASTC10x10 = "ASTC10x10"; 39 | var ASTC12x10 = "ASTC12x10"; 40 | var ASTC12x12 = "ASTC12x12"; 41 | } -------------------------------------------------------------------------------- /src/love/image/ImageData.hx: -------------------------------------------------------------------------------- 1 | package love.image; 2 | import love.filesystem.FileData; 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class ImageData extends Data 8 | { 9 | 10 | @:overload(function (outFile:String) : Void {}) 11 | @:overload(function (outFile:String, format:ImageFormat) : Void {}) 12 | public function encode(format:ImageFormat, ?filename:String) : FileData; 13 | 14 | public function getDimensions() : ImageDataGetDimensionsResult; 15 | 16 | public function getHeight() : Float; 17 | 18 | public function getPixel(x:Float, y:Float) : ImageDataGetPixelResult; 19 | 20 | public function getWidth() : Float; 21 | 22 | public function mapPixel(pixelFunction:Dynamic, ?x:Float, ?y:Float, ?width:Float, ?height:Float) : Void; 23 | 24 | public function paste(source:ImageData, dx:Float, dy:Float, sx:Float, sy:Float, sw:Float, sh:Float) : Void; 25 | 26 | public function setPixel(x:Float, y:Float, r:Float, g:Float, b:Float, a:Float) : Void; 27 | } 28 | 29 | @:multiReturn 30 | extern class ImageDataGetPixelResult 31 | { 32 | var r : Float; 33 | var g : Float; 34 | var b : Float; 35 | var a : Float; 36 | } 37 | 38 | @:multiReturn 39 | extern class ImageDataGetDimensionsResult 40 | { 41 | var width : Float; 42 | var height : Float; 43 | } -------------------------------------------------------------------------------- /src/love/image/ImageFormat.hx: -------------------------------------------------------------------------------- 1 | package love.image; 2 | @:enum 3 | abstract ImageFormat (String) 4 | { 5 | var Tga = "tga"; 6 | var Png = "png"; 7 | var Jpg = "jpg"; 8 | var Bmp = "bmp"; 9 | } -------------------------------------------------------------------------------- /src/love/image/ImageModule.hx: -------------------------------------------------------------------------------- 1 | package love.image; 2 | import love.filesystem.FileData; 3 | import love.graphics.PixelFormat; 4 | import haxe.extern.Rest; 5 | import lua.Table; 6 | import lua.UserData; 7 | 8 | @:native("love.image") 9 | extern class ImageModule 10 | { 11 | 12 | @:overload(function (fileData:FileData) : Bool {}) 13 | public static function isCompressed(filename:String) : Bool; 14 | 15 | @:overload(function (fileData:FileData) : CompressedImageData {}) 16 | public static function newCompressedData(filename:String) : CompressedImageData; 17 | 18 | @:overload(function (width:Float, height:Float, ?format:PixelFormat, ?data:String) : ImageData {}) 19 | @:overload(function (width:Float, height:Float, data:String) : ImageData {}) 20 | @:overload(function (filename:String) : ImageData {}) 21 | @:overload(function (filedata:FileData) : ImageData {}) 22 | public static function newImageData(width:Float, height:Float) : ImageData; 23 | } -------------------------------------------------------------------------------- /src/love/joystick/GamepadAxis.hx: -------------------------------------------------------------------------------- 1 | package love.joystick; 2 | @:enum 3 | abstract GamepadAxis (String) 4 | { 5 | var Leftx = "leftx"; 6 | var Lefty = "lefty"; 7 | var Rightx = "rightx"; 8 | var Righty = "righty"; 9 | var Triggerleft = "triggerleft"; 10 | var Triggerright = "triggerright"; 11 | } -------------------------------------------------------------------------------- /src/love/joystick/GamepadButton.hx: -------------------------------------------------------------------------------- 1 | package love.joystick; 2 | @:enum 3 | abstract GamepadButton (String) 4 | { 5 | var A = "a"; 6 | var B = "b"; 7 | var X = "x"; 8 | var Y = "y"; 9 | var Back = "back"; 10 | var Guide = "guide"; 11 | var Start = "start"; 12 | var Leftstick = "leftstick"; 13 | var Rightstick = "rightstick"; 14 | var Leftshoulder = "leftshoulder"; 15 | var Rightshoulder = "rightshoulder"; 16 | var Dpup = "dpup"; 17 | var Dpdown = "dpdown"; 18 | var Dpleft = "dpleft"; 19 | var Dpright = "dpright"; 20 | } -------------------------------------------------------------------------------- /src/love/joystick/Joystick.hx: -------------------------------------------------------------------------------- 1 | package love.joystick; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class Joystick extends Object 8 | { 9 | 10 | public function getAxes() : JoystickGetAxesResult; 11 | 12 | public function getAxis(axis:Float) : Float; 13 | 14 | public function getAxisCount() : Float; 15 | 16 | public function getButtonCount() : Float; 17 | 18 | public function getDeviceInfo() : JoystickGetDeviceInfoResult; 19 | 20 | public function getGUID() : String; 21 | 22 | public function getGamepadAxis(axis:GamepadAxis) : Float; 23 | 24 | @:overload(function (button:GamepadButton) : JoystickGetGamepadMappingResult {}) 25 | public function getGamepadMapping(axis:GamepadAxis) : JoystickGetGamepadMappingResult; 26 | 27 | public function getGamepadMappingString() : String; 28 | 29 | public function getHat(hat:Float) : JoystickHat; 30 | 31 | public function getHatCount() : Float; 32 | 33 | public function getID() : JoystickGetIDResult; 34 | 35 | public function getName() : String; 36 | 37 | public function getVibration() : JoystickGetVibrationResult; 38 | 39 | public function isConnected() : Bool; 40 | 41 | public function isDown(buttonN:Float) : Bool; 42 | 43 | public function isGamepad() : Bool; 44 | 45 | public function isGamepadDown(buttonN:GamepadButton) : Bool; 46 | 47 | public function isVibrationSupported() : Bool; 48 | 49 | @:overload(function () : Bool {}) 50 | @:overload(function (left:Float, right:Float, ?duration:Float) : Bool {}) 51 | public function setVibration(left:Float, right:Float) : Bool; 52 | } 53 | 54 | @:multiReturn 55 | extern class JoystickGetAxesResult 56 | { 57 | var axisDir1 : Float; 58 | var axisDir2 : Float; 59 | var axisDirN : Float; 60 | } 61 | 62 | @:multiReturn 63 | extern class JoystickGetIDResult 64 | { 65 | var id : Float; 66 | var instanceid : Float; 67 | } 68 | 69 | @:multiReturn 70 | extern class JoystickGetDeviceInfoResult 71 | { 72 | var vendorID : Float; 73 | var productID : Float; 74 | var productVersion : Float; 75 | } 76 | 77 | @:multiReturn 78 | extern class JoystickGetVibrationResult 79 | { 80 | var left : Float; 81 | var right : Float; 82 | } 83 | 84 | @:multiReturn 85 | extern class JoystickGetGamepadMappingResult 86 | { 87 | var inputtype : JoystickInputType; 88 | var inputindex : Float; 89 | var hatdirection : JoystickHat; 90 | } -------------------------------------------------------------------------------- /src/love/joystick/JoystickHat.hx: -------------------------------------------------------------------------------- 1 | package love.joystick; 2 | @:enum 3 | abstract JoystickHat (String) 4 | { 5 | var C = "c"; 6 | var D = "d"; 7 | var L = "l"; 8 | var Ld = "ld"; 9 | var Lu = "lu"; 10 | var R = "r"; 11 | var Rd = "rd"; 12 | var Ru = "ru"; 13 | var U = "u"; 14 | } -------------------------------------------------------------------------------- /src/love/joystick/JoystickInputType.hx: -------------------------------------------------------------------------------- 1 | package love.joystick; 2 | @:enum 3 | abstract JoystickInputType (String) 4 | { 5 | var Axis = "axis"; 6 | var Button = "button"; 7 | var Hat = "hat"; 8 | } -------------------------------------------------------------------------------- /src/love/joystick/JoystickModule.hx: -------------------------------------------------------------------------------- 1 | package love.joystick; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | @:native("love.joystick") 8 | extern class JoystickModule 9 | { 10 | 11 | public static function getGamepadMappingString(guid:String) : String; 12 | 13 | public static function getJoystickCount() : Float; 14 | 15 | public static function getJoysticks() : Table; 16 | 17 | @:overload(function (mappings:String) : Void {}) 18 | public static function loadGamepadMappings(filename:String) : Void; 19 | 20 | @:overload(function () : String {}) 21 | public static function saveGamepadMappings(filename:String) : String; 22 | 23 | @:overload(function (guid:String, axis:GamepadAxis, inputtype:JoystickInputType, inputindex:Float, ?hatdir:JoystickHat) : Bool {}) 24 | public static function setGamepadMapping(guid:String, button:GamepadButton, inputtype:JoystickInputType, inputindex:Float, ?hatdir:JoystickHat) : Bool; 25 | } -------------------------------------------------------------------------------- /src/love/keyboard/KeyConstant.hx: -------------------------------------------------------------------------------- 1 | package love.keyboard; 2 | @:enum 3 | abstract KeyConstant (String) 4 | { 5 | var A = "a"; 6 | var B = "b"; 7 | var C = "c"; 8 | var D = "d"; 9 | var E = "e"; 10 | var F = "f"; 11 | var G = "g"; 12 | var H = "h"; 13 | var I = "i"; 14 | var J = "j"; 15 | var K = "k"; 16 | var L = "l"; 17 | var M = "m"; 18 | var N = "n"; 19 | var O = "o"; 20 | var P = "p"; 21 | var Q = "q"; 22 | var R = "r"; 23 | var S = "s"; 24 | var T = "t"; 25 | var U = "u"; 26 | var V = "v"; 27 | var W = "w"; 28 | var X = "x"; 29 | var Y = "y"; 30 | var Z = "z"; 31 | var 0 = "0"; 32 | var 1 = "1"; 33 | var 2 = "2"; 34 | var 3 = "3"; 35 | var 4 = "4"; 36 | var 5 = "5"; 37 | var 6 = "6"; 38 | var 7 = "7"; 39 | var 8 = "8"; 40 | var 9 = "9"; 41 | var Space = "space"; 42 | var ! = "!"; 43 | var " = """; 44 | var # = "#"; 45 | var $ = "$"; 46 | var & = "&"; 47 | var ' = "'"; 48 | var ( = "("; 49 | var ) = ")"; 50 | var * = "*"; 51 | var + = "+"; 52 | var , = ","; 53 | var - = "-"; 54 | var . = "."; 55 | var / = "/"; 56 | var : = ":"; 57 | var ; = ";"; 58 | var < = "<"; 59 | var = = "="; 60 | var > = ">"; 61 | var ? = "?"; 62 | var @ = "@"; 63 | var [ = "["; 64 | var \ = "\"; 65 | var ] = "]"; 66 | var ^ = "^"; 67 | var _ = "_"; 68 | var ` = "`"; 69 | var Kp0 = "kp0"; 70 | var Kp1 = "kp1"; 71 | var Kp2 = "kp2"; 72 | var Kp3 = "kp3"; 73 | var Kp4 = "kp4"; 74 | var Kp5 = "kp5"; 75 | var Kp6 = "kp6"; 76 | var Kp7 = "kp7"; 77 | var Kp8 = "kp8"; 78 | var Kp9 = "kp9"; 79 | var Kp. = "kp."; 80 | var Kp/ = "kp/"; 81 | var Kp* = "kp*"; 82 | var Kp- = "kp-"; 83 | var Kp+ = "kp+"; 84 | var Kpenter = "kpenter"; 85 | var Kp= = "kp="; 86 | var Up = "up"; 87 | var Down = "down"; 88 | var Right = "right"; 89 | var Left = "left"; 90 | var Home = "home"; 91 | var End = "end"; 92 | var Pageup = "pageup"; 93 | var Pagedown = "pagedown"; 94 | var Insert = "insert"; 95 | var Backspace = "backspace"; 96 | var Tab = "tab"; 97 | var Clear = "clear"; 98 | var Return = "return"; 99 | var Delete = "delete"; 100 | var F1 = "f1"; 101 | var F2 = "f2"; 102 | var F3 = "f3"; 103 | var F4 = "f4"; 104 | var F5 = "f5"; 105 | var F6 = "f6"; 106 | var F7 = "f7"; 107 | var F8 = "f8"; 108 | var F9 = "f9"; 109 | var F10 = "f10"; 110 | var F11 = "f11"; 111 | var F12 = "f12"; 112 | var F13 = "f13"; 113 | var F14 = "f14"; 114 | var F15 = "f15"; 115 | var Numlock = "numlock"; 116 | var Capslock = "capslock"; 117 | var Scrollock = "scrollock"; 118 | var Rshift = "rshift"; 119 | var Lshift = "lshift"; 120 | var Rctrl = "rctrl"; 121 | var Lctrl = "lctrl"; 122 | var Ralt = "ralt"; 123 | var Lalt = "lalt"; 124 | var Rmeta = "rmeta"; 125 | var Lmeta = "lmeta"; 126 | var Lsuper = "lsuper"; 127 | var Rsuper = "rsuper"; 128 | var Mode = "mode"; 129 | var Compose = "compose"; 130 | var Pause = "pause"; 131 | var Escape = "escape"; 132 | var Help = "help"; 133 | var Print = "print"; 134 | var Sysreq = "sysreq"; 135 | var Break = "break"; 136 | var Menu = "menu"; 137 | var Power = "power"; 138 | var Euro = "euro"; 139 | var Undo = "undo"; 140 | var Www = "www"; 141 | var Mail = "mail"; 142 | var Calculator = "calculator"; 143 | var Appsearch = "appsearch"; 144 | var Apphome = "apphome"; 145 | var Appback = "appback"; 146 | var Appforward = "appforward"; 147 | var Apprefresh = "apprefresh"; 148 | var Appbookmarks = "appbookmarks"; 149 | } -------------------------------------------------------------------------------- /src/love/keyboard/KeyboardModule.hx: -------------------------------------------------------------------------------- 1 | package love.keyboard; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | @:native("love.keyboard") 8 | extern class KeyboardModule 9 | { 10 | 11 | public static function getKeyFromScancode(scancode:String) : String; 12 | 13 | public static function getScancodeFromKey(key:String) : String; 14 | 15 | public static function hasKeyRepeat() : Bool; 16 | 17 | public static function hasTextInput() : Bool; 18 | 19 | @:overload(function (key:String, args:Rest) : Bool {}) 20 | public static function isDown(key:String) : Bool; 21 | 22 | public static function isScancodeDown(scancode:String, args:Rest) : Bool; 23 | 24 | public static function setKeyRepeat(enable:Bool) : Void; 25 | 26 | @:overload(function (enable:Bool, x:Float, y:Float, w:Float, h:Float) : Void {}) 27 | public static function setTextInput(enable:Bool) : Void; 28 | } -------------------------------------------------------------------------------- /src/love/keyboard/Scancode.hx: -------------------------------------------------------------------------------- 1 | package love.keyboard; 2 | @:enum 3 | abstract Scancode (String) 4 | { 5 | var A = "a"; 6 | var B = "b"; 7 | var C = "c"; 8 | var D = "d"; 9 | var E = "e"; 10 | var F = "f"; 11 | var G = "g"; 12 | var H = "h"; 13 | var I = "i"; 14 | var J = "j"; 15 | var K = "k"; 16 | var L = "l"; 17 | var M = "m"; 18 | var N = "n"; 19 | var O = "o"; 20 | var P = "p"; 21 | var Q = "q"; 22 | var R = "r"; 23 | var S = "s"; 24 | var T = "t"; 25 | var U = "u"; 26 | var V = "v"; 27 | var W = "w"; 28 | var X = "x"; 29 | var Y = "y"; 30 | var Z = "z"; 31 | var 1 = "1"; 32 | var 2 = "2"; 33 | var 3 = "3"; 34 | var 4 = "4"; 35 | var 5 = "5"; 36 | var 6 = "6"; 37 | var 7 = "7"; 38 | var 8 = "8"; 39 | var 9 = "9"; 40 | var 0 = "0"; 41 | var Return = "return"; 42 | var Escape = "escape"; 43 | var Backspace = "backspace"; 44 | var Tab = "tab"; 45 | var Space = "space"; 46 | var - = "-"; 47 | var = = "="; 48 | var [ = "["; 49 | var ] = "]"; 50 | var \ = "\"; 51 | var Nonus# = "nonus#"; 52 | var ; = ";"; 53 | var ' = "'"; 54 | var ` = "`"; 55 | var , = ","; 56 | var . = "."; 57 | var / = "/"; 58 | var Capslock = "capslock"; 59 | var F1 = "f1"; 60 | var F2 = "f2"; 61 | var F3 = "f3"; 62 | var F4 = "f4"; 63 | var F5 = "f5"; 64 | var F6 = "f6"; 65 | var F7 = "f7"; 66 | var F8 = "f8"; 67 | var F9 = "f9"; 68 | var F10 = "f10"; 69 | var F11 = "f11"; 70 | var F12 = "f12"; 71 | var F13 = "f13"; 72 | var F14 = "f14"; 73 | var F15 = "f15"; 74 | var F16 = "f16"; 75 | var F17 = "f17"; 76 | var F18 = "f18"; 77 | var F19 = "f19"; 78 | var F20 = "f20"; 79 | var F21 = "f21"; 80 | var F22 = "f22"; 81 | var F23 = "f23"; 82 | var F24 = "f24"; 83 | var Lctrl = "lctrl"; 84 | var Lshift = "lshift"; 85 | var Lalt = "lalt"; 86 | var Lgui = "lgui"; 87 | var Rctrl = "rctrl"; 88 | var Rshift = "rshift"; 89 | var Ralt = "ralt"; 90 | var Rgui = "rgui"; 91 | var Printscreen = "printscreen"; 92 | var Scrolllock = "scrolllock"; 93 | var Pause = "pause"; 94 | var Insert = "insert"; 95 | var Home = "home"; 96 | var Numlock = "numlock"; 97 | var Pageup = "pageup"; 98 | var Delete = "delete"; 99 | var End = "end"; 100 | var Pagedown = "pagedown"; 101 | var Right = "right"; 102 | var Left = "left"; 103 | var Down = "down"; 104 | var Up = "up"; 105 | var Nonusbackslash = "nonusbackslash"; 106 | var Application = "application"; 107 | var Execute = "execute"; 108 | var Help = "help"; 109 | var Menu = "menu"; 110 | var Select = "select"; 111 | var Stop = "stop"; 112 | var Again = "again"; 113 | var Undo = "undo"; 114 | var Cut = "cut"; 115 | var Copy = "copy"; 116 | var Paste = "paste"; 117 | var Find = "find"; 118 | var Kp/ = "kp/"; 119 | var Kp* = "kp*"; 120 | var Kp- = "kp-"; 121 | var Kp+ = "kp+"; 122 | var Kp= = "kp="; 123 | var Kpenter = "kpenter"; 124 | var Kp1 = "kp1"; 125 | var Kp2 = "kp2"; 126 | var Kp3 = "kp3"; 127 | var Kp4 = "kp4"; 128 | var Kp5 = "kp5"; 129 | var Kp6 = "kp6"; 130 | var Kp7 = "kp7"; 131 | var Kp8 = "kp8"; 132 | var Kp9 = "kp9"; 133 | var Kp0 = "kp0"; 134 | var Kp. = "kp."; 135 | var International1 = "international1"; 136 | var International2 = "international2"; 137 | var International3 = "international3"; 138 | var International4 = "international4"; 139 | var International5 = "international5"; 140 | var International6 = "international6"; 141 | var International7 = "international7"; 142 | var International8 = "international8"; 143 | var International9 = "international9"; 144 | var Lang1 = "lang1"; 145 | var Lang2 = "lang2"; 146 | var Lang3 = "lang3"; 147 | var Lang4 = "lang4"; 148 | var Lang5 = "lang5"; 149 | var Mute = "mute"; 150 | var Volumeup = "volumeup"; 151 | var Volumedown = "volumedown"; 152 | var Audionext = "audionext"; 153 | var Audioprev = "audioprev"; 154 | var Audiostop = "audiostop"; 155 | var Audioplay = "audioplay"; 156 | var Audiomute = "audiomute"; 157 | var Mediaselect = "mediaselect"; 158 | var Www = "www"; 159 | var Mail = "mail"; 160 | var Calculator = "calculator"; 161 | var Computer = "computer"; 162 | var Acsearch = "acsearch"; 163 | var Achome = "achome"; 164 | var Acback = "acback"; 165 | var Acforward = "acforward"; 166 | var Acstop = "acstop"; 167 | var Acrefresh = "acrefresh"; 168 | var Acbookmarks = "acbookmarks"; 169 | var Power = "power"; 170 | var Brightnessdown = "brightnessdown"; 171 | var Brightnessup = "brightnessup"; 172 | var Displayswitch = "displayswitch"; 173 | var Kbdillumtoggle = "kbdillumtoggle"; 174 | var Kbdillumdown = "kbdillumdown"; 175 | var Kbdillumup = "kbdillumup"; 176 | var Eject = "eject"; 177 | var Sleep = "sleep"; 178 | var Alterase = "alterase"; 179 | var Sysreq = "sysreq"; 180 | var Cancel = "cancel"; 181 | var Clear = "clear"; 182 | var Prior = "prior"; 183 | var Return2 = "return2"; 184 | var Separator = "separator"; 185 | var Out = "out"; 186 | var Oper = "oper"; 187 | var Clearagain = "clearagain"; 188 | var Crsel = "crsel"; 189 | var Exsel = "exsel"; 190 | var Kp00 = "kp00"; 191 | var Kp000 = "kp000"; 192 | var Thsousandsseparator = "thsousandsseparator"; 193 | var Decimalseparator = "decimalseparator"; 194 | var Currencyunit = "currencyunit"; 195 | var Currencysubunit = "currencysubunit"; 196 | var App1 = "app1"; 197 | var App2 = "app2"; 198 | var Unknown = "unknown"; 199 | } -------------------------------------------------------------------------------- /src/love/math/BezierCurve.hx: -------------------------------------------------------------------------------- 1 | package love.math; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class BezierCurve extends Object 8 | { 9 | 10 | public function evaluate(t:Float) : BezierCurveEvaluateResult; 11 | 12 | public function getControlPoint(i:Float) : BezierCurveGetControlPointResult; 13 | 14 | public function getControlPointCount() : Float; 15 | 16 | public function getDegree() : Float; 17 | 18 | public function getDerivative() : BezierCurve; 19 | 20 | public function getSegment(startpoint:Float, endpoint:Float) : BezierCurve; 21 | 22 | public function insertControlPoint(x:Float, y:Float, ?i:Float) : Void; 23 | 24 | public function removeControlPoint(index:Float) : Void; 25 | 26 | public function render(?depth:Float) : Table; 27 | 28 | public function renderSegment(startpoint:Float, endpoint:Float, ?depth:Float) : Table; 29 | 30 | public function rotate(angle:Float, ?ox:Float, ?oy:Float) : Void; 31 | 32 | public function scale(s:Float, ?ox:Float, ?oy:Float) : Void; 33 | 34 | public function setControlPoint(i:Float, x:Float, y:Float) : Void; 35 | 36 | public function translate(dx:Float, dy:Float) : Void; 37 | } 38 | 39 | @:multiReturn 40 | extern class BezierCurveEvaluateResult 41 | { 42 | var x : Float; 43 | var y : Float; 44 | } 45 | 46 | @:multiReturn 47 | extern class BezierCurveGetControlPointResult 48 | { 49 | var x : Float; 50 | var y : Float; 51 | } -------------------------------------------------------------------------------- /src/love/math/CompressedData.hx: -------------------------------------------------------------------------------- 1 | package love.math; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class CompressedData extends Data 8 | { 9 | 10 | public function getFormat() : CompressedDataFormat; 11 | } -------------------------------------------------------------------------------- /src/love/math/CompressedDataFormat.hx: -------------------------------------------------------------------------------- 1 | package love.math; 2 | @:enum 3 | abstract CompressedDataFormat (String) 4 | { 5 | var Lz4 = "lz4"; 6 | var Zlib = "zlib"; 7 | var Gzip = "gzip"; 8 | var Deflate = "deflate"; 9 | } -------------------------------------------------------------------------------- /src/love/math/MathModule.hx: -------------------------------------------------------------------------------- 1 | package love.math; 2 | import love.Data; 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | @:native("love.math") 8 | extern class MathModule 9 | { 10 | 11 | public static function colorFromBytes(rb:Float, gb:Float, bb:Float, ?ab:Float) : MathModuleColorFromBytesResult; 12 | 13 | public static function colorToBytes(r:Float, g:Float, b:Float, ?a:Float) : MathModuleColorToBytesResult; 14 | 15 | @:overload(function (data:Data, ?format:CompressedDataFormat, ?level:Float) : CompressedData {}) 16 | public static function compress(rawstring:String, ?format:CompressedDataFormat, ?level:Float) : CompressedData; 17 | 18 | @:overload(function (compressedstring:String, format:CompressedDataFormat) : String {}) 19 | @:overload(function (data:Data, format:CompressedDataFormat) : String {}) 20 | public static function decompress(compressedData:CompressedData) : String; 21 | 22 | @:overload(function (color:Table) : MathModuleGammaToLinearResult {}) 23 | @:overload(function (c:Float) : Float {}) 24 | public static function gammaToLinear(r:Float, g:Float, b:Float) : MathModuleGammaToLinearResult; 25 | 26 | public static function getRandomSeed() : MathModuleGetRandomSeedResult; 27 | 28 | public static function getRandomState() : String; 29 | 30 | @:overload(function (x1:Float, y1:Float, x2:Float, y2:Float, x3:Float, y3:Float) : Bool {}) 31 | public static function isConvex(vertices:Table) : Bool; 32 | 33 | @:overload(function (color:Table) : MathModuleLinearToGammaResult {}) 34 | @:overload(function (lc:Float) : Float {}) 35 | public static function linearToGamma(lr:Float, lg:Float, lb:Float) : MathModuleLinearToGammaResult; 36 | 37 | @:overload(function (x1:Float, y1:Float, x2:Float, y2:Float, x3:Float, y3:Float) : BezierCurve {}) 38 | public static function newBezierCurve(vertices:Table) : BezierCurve; 39 | 40 | @:overload(function (seed:Float) : RandomGenerator {}) 41 | @:overload(function (low:Float, high:Float) : RandomGenerator {}) 42 | public static function newRandomGenerator() : RandomGenerator; 43 | 44 | @:overload(function (x:Float, y:Float, ?angle:Float, ?sx:Float, ?sy:Float, ?ox:Float, ?oy:Float, ?kx:Float, ?ky:Float) : Transform {}) 45 | public static function newTransform() : Transform; 46 | 47 | @:overload(function (x:Float, y:Float) : Float {}) 48 | @:overload(function (x:Float, y:Float, z:Float) : Float {}) 49 | @:overload(function (x:Float, y:Float, z:Float, w:Float) : Float {}) 50 | public static function noise(x:Float) : Float; 51 | 52 | @:overload(function (max:Float) : Float {}) 53 | @:overload(function (min:Float, max:Float) : Float {}) 54 | public static function random() : Float; 55 | 56 | public static function randomNormal(?stddev:Float, ?mean:Float) : Float; 57 | 58 | @:overload(function (low:Float, high:Float) : Void {}) 59 | public static function setRandomSeed(seed:Float) : Void; 60 | 61 | public static function setRandomState(state:String) : Void; 62 | 63 | @:overload(function (x1:Float, y1:Float, x2:Float, y2:Float, x3:Float, y3:Float) : Table {}) 64 | public static function triangulate(polygon:Table) : Table; 65 | } 66 | 67 | @:multiReturn 68 | extern class MathModuleColorToBytesResult 69 | { 70 | var rb : Float; 71 | var gb : Float; 72 | var bb : Float; 73 | var ab : Float; 74 | } 75 | 76 | @:multiReturn 77 | extern class MathModuleLinearToGammaResult 78 | { 79 | var cr : Float; 80 | var cg : Float; 81 | var cb : Float; 82 | } 83 | 84 | @:multiReturn 85 | extern class MathModuleGammaToLinearResult 86 | { 87 | var lr : Float; 88 | var lg : Float; 89 | var lb : Float; 90 | } 91 | 92 | @:multiReturn 93 | extern class MathModuleColorFromBytesResult 94 | { 95 | var r : Float; 96 | var g : Float; 97 | var b : Float; 98 | var a : Float; 99 | } 100 | 101 | @:multiReturn 102 | extern class MathModuleGetRandomSeedResult 103 | { 104 | var low : Float; 105 | var high : Float; 106 | } -------------------------------------------------------------------------------- /src/love/math/MatrixLayout.hx: -------------------------------------------------------------------------------- 1 | package love.math; 2 | @:enum 3 | abstract MatrixLayout (String) 4 | { 5 | var Row = "row"; 6 | var Column = "column"; 7 | } -------------------------------------------------------------------------------- /src/love/math/RandomGenerator.hx: -------------------------------------------------------------------------------- 1 | package love.math; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class RandomGenerator extends Object 8 | { 9 | 10 | public function getSeed() : RandomGeneratorGetSeedResult; 11 | 12 | public function getState() : String; 13 | 14 | @:overload(function (max:Float) : Float {}) 15 | @:overload(function (min:Float, max:Float) : Float {}) 16 | public function random() : Float; 17 | 18 | public function randomNormal(?stddev:Float, ?mean:Float) : Float; 19 | 20 | @:overload(function (low:Float, high:Float) : Void {}) 21 | public function setSeed(seed:Float) : Void; 22 | 23 | public function setState(state:String) : Void; 24 | } 25 | 26 | @:multiReturn 27 | extern class RandomGeneratorGetSeedResult 28 | { 29 | var low : Float; 30 | var high : Float; 31 | } -------------------------------------------------------------------------------- /src/love/math/Transform.hx: -------------------------------------------------------------------------------- 1 | package love.math; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class Transform extends Object 8 | { 9 | 10 | public function apply(other:Transform) : Transform; 11 | 12 | public function clone() : Transform; 13 | 14 | public function getMatrix() : TransformGetMatrixResult; 15 | 16 | public function inverse() : Transform; 17 | 18 | public function inverseTransformPoint(localX:Float, localY:Float) : TransformInverseTransformPointResult; 19 | 20 | public function isAffine() : Bool; 21 | 22 | public function reset() : Transform; 23 | 24 | public function rotate(angle:Float) : Transform; 25 | 26 | public function scale(sx:Float, ?sy:Float) : Transform; 27 | 28 | @:overload(function (layout:MatrixLayout, e1_1:Float, e1_2:Float, args:Rest) : Transform {}) 29 | @:overload(function (layout:MatrixLayout, matrix:Table) : Transform {}) 30 | @:overload(function (layout:MatrixLayout, matrix:Table) : Transform {}) 31 | public function setMatrix(e1_1:Float, e1_2:Float, args:Rest) : Transform; 32 | 33 | public function setTransformation(x:Float, y:Float, ?angle:Float, ?sx:Float, ?sy:Float, ?ox:Float, ?oy:Float, ?kx:Float, ?ky:Float) : Transform; 34 | 35 | public function shear(kx:Float, ky:Float) : Transform; 36 | 37 | public function transformPoint(globalX:Float, globalY:Float) : TransformTransformPointResult; 38 | 39 | public function translate(dx:Float, dy:Float) : Transform; 40 | } 41 | 42 | @:multiReturn 43 | extern class TransformGetMatrixResult 44 | { 45 | var e1_1 : Float; 46 | var e1_2 : Float; 47 | var e4_4 : Float; 48 | } 49 | 50 | @:multiReturn 51 | extern class TransformInverseTransformPointResult 52 | { 53 | var globalX : Float; 54 | var globalY : Float; 55 | } 56 | 57 | @:multiReturn 58 | extern class TransformTransformPointResult 59 | { 60 | var localX : Float; 61 | var localY : Float; 62 | } -------------------------------------------------------------------------------- /src/love/mouse/Cursor.hx: -------------------------------------------------------------------------------- 1 | package love.mouse; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class Cursor extends Object 8 | { 9 | 10 | public function getType() : CursorType; 11 | } -------------------------------------------------------------------------------- /src/love/mouse/CursorType.hx: -------------------------------------------------------------------------------- 1 | package love.mouse; 2 | @:enum 3 | abstract CursorType (String) 4 | { 5 | var Image = "image"; 6 | var Arrow = "arrow"; 7 | var Ibeam = "ibeam"; 8 | var Wait = "wait"; 9 | var Waitarrow = "waitarrow"; 10 | var Crosshair = "crosshair"; 11 | var Sizenwse = "sizenwse"; 12 | var Sizenesw = "sizenesw"; 13 | var Sizewe = "sizewe"; 14 | var Sizens = "sizens"; 15 | var Sizeall = "sizeall"; 16 | var No = "no"; 17 | var Hand = "hand"; 18 | } -------------------------------------------------------------------------------- /src/love/mouse/MouseModule.hx: -------------------------------------------------------------------------------- 1 | package love.mouse; 2 | import love.filesystem.FileData; 3 | import love.image.ImageData; 4 | import haxe.extern.Rest; 5 | import lua.Table; 6 | import lua.UserData; 7 | 8 | @:native("love.mouse") 9 | extern class MouseModule 10 | { 11 | 12 | public static function getCursor() : Cursor; 13 | 14 | public static function getPosition() : MouseModuleGetPositionResult; 15 | 16 | public static function getRelativeMode() : Bool; 17 | 18 | public static function getSystemCursor(ctype:CursorType) : Cursor; 19 | 20 | public static function getX() : Float; 21 | 22 | public static function getY() : Float; 23 | 24 | public static function hasCursor() : Bool; 25 | 26 | public static function isCursorSupported() : Bool; 27 | 28 | @:overload(function (buttonN:MouseConstant) : Bool {}) 29 | public static function isDown(button:Float, args:Rest) : Bool; 30 | 31 | public static function isGrabbed() : Bool; 32 | 33 | public static function isVisible() : Bool; 34 | 35 | @:overload(function (filename:String, ?hotx:Float, ?hoty:Float) : Cursor {}) 36 | @:overload(function (fileData:FileData, ?hotx:Float, ?hoty:Float) : Cursor {}) 37 | public static function newCursor(imageData:ImageData, ?hotx:Float, ?hoty:Float) : Cursor; 38 | 39 | @:overload(function () : Void {}) 40 | public static function setCursor(cursor:Cursor) : Void; 41 | 42 | public static function setGrabbed(grab:Bool) : Void; 43 | 44 | public static function setPosition(x:Float, y:Float) : Void; 45 | 46 | public static function setRelativeMode(enable:Bool) : Void; 47 | 48 | public static function setVisible(visible:Bool) : Void; 49 | 50 | public static function setX(x:Float) : Void; 51 | 52 | public static function setY(y:Float) : Void; 53 | } 54 | 55 | @:multiReturn 56 | extern class MouseModuleGetPositionResult 57 | { 58 | var x : Float; 59 | var y : Float; 60 | } -------------------------------------------------------------------------------- /src/love/physics/Body.hx: -------------------------------------------------------------------------------- 1 | package love.physics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class Body extends Object 8 | { 9 | 10 | public function applyAngularImpulse(impulse:Float) : Void; 11 | 12 | @:overload(function (fx:Float, fy:Float, x:Float, y:Float) : Void {}) 13 | public function applyForce(fx:Float, fy:Float) : Void; 14 | 15 | @:overload(function (ix:Float, iy:Float, x:Float, y:Float) : Void {}) 16 | public function applyLinearImpulse(ix:Float, iy:Float) : Void; 17 | 18 | public function applyTorque(torque:Float) : Void; 19 | 20 | public function destroy() : Void; 21 | 22 | public function getAngle() : Float; 23 | 24 | public function getAngularDamping() : Float; 25 | 26 | public function getAngularVelocity() : Float; 27 | 28 | public function getContacts() : Table; 29 | 30 | public function getFixtures() : Table; 31 | 32 | public function getGravityScale() : Float; 33 | 34 | public function getInertia() : Float; 35 | 36 | public function getJoints() : Table; 37 | 38 | public function getLinearDamping() : Float; 39 | 40 | public function getLinearVelocity() : BodyGetLinearVelocityResult; 41 | 42 | public function getLinearVelocityFromLocalPoint(x:Float, y:Float) : BodyGetLinearVelocityFromLocalPointResult; 43 | 44 | public function getLinearVelocityFromWorldPoint(x:Float, y:Float) : BodyGetLinearVelocityFromWorldPointResult; 45 | 46 | public function getLocalCenter() : BodyGetLocalCenterResult; 47 | 48 | public function getLocalPoint(worldX:Float, worldY:Float) : BodyGetLocalPointResult; 49 | 50 | public function getLocalVector(worldX:Float, worldY:Float) : BodyGetLocalVectorResult; 51 | 52 | public function getMass() : Float; 53 | 54 | public function getMassData() : BodyGetMassDataResult; 55 | 56 | public function getPosition() : BodyGetPositionResult; 57 | 58 | public function getTransform() : BodyGetTransformResult; 59 | 60 | public function getType() : BodyType; 61 | 62 | public function getUserData() : Dynamic; 63 | 64 | public function getWorld() : World; 65 | 66 | public function getWorldCenter() : BodyGetWorldCenterResult; 67 | 68 | public function getWorldPoint(localX:Float, localY:Float) : BodyGetWorldPointResult; 69 | 70 | public function getWorldPoints(x1:Float, y1:Float, x2:Float, y2:Float) : BodyGetWorldPointsResult; 71 | 72 | public function getWorldVector(localX:Float, localY:Float) : BodyGetWorldVectorResult; 73 | 74 | public function getX() : Float; 75 | 76 | public function getY() : Float; 77 | 78 | public function isActive() : Bool; 79 | 80 | public function isAwake() : Bool; 81 | 82 | public function isBullet() : Bool; 83 | 84 | public function isDestroyed() : Bool; 85 | 86 | public function isFixedRotation() : Bool; 87 | 88 | public function isSleepingAllowed() : Bool; 89 | 90 | public function isTouching(otherbody:Body) : Bool; 91 | 92 | public function resetMassData() : Void; 93 | 94 | public function setActive(active:Bool) : Void; 95 | 96 | public function setAngle(angle:Float) : Void; 97 | 98 | public function setAngularDamping(damping:Float) : Void; 99 | 100 | public function setAngularVelocity(w:Float) : Void; 101 | 102 | public function setAwake(awake:Bool) : Void; 103 | 104 | public function setBullet(status:Bool) : Void; 105 | 106 | public function setFixedRotation(isFixed:Bool) : Void; 107 | 108 | public function setGravityScale(scale:Float) : Void; 109 | 110 | public function setInertia(inertia:Float) : Void; 111 | 112 | public function setLinearDamping(ld:Float) : Void; 113 | 114 | public function setLinearVelocity(x:Float, y:Float) : Void; 115 | 116 | public function setMass(mass:Float) : Void; 117 | 118 | public function setMassData(x:Float, y:Float, mass:Float, inertia:Float) : Void; 119 | 120 | public function setPosition(x:Float, y:Float) : Void; 121 | 122 | public function setSleepingAllowed(allowed:Bool) : Void; 123 | 124 | public function setTransform(x:Float, y:Float, angle:Float) : Void; 125 | 126 | public function setType(type:BodyType) : Void; 127 | 128 | public function setUserData(value:Dynamic) : Void; 129 | 130 | public function setX(x:Float) : Void; 131 | 132 | public function setY(y:Float) : Void; 133 | } 134 | 135 | @:multiReturn 136 | extern class BodyGetLocalPointResult 137 | { 138 | var localX : Float; 139 | var localY : Float; 140 | } 141 | 142 | @:multiReturn 143 | extern class BodyGetLinearVelocityFromLocalPointResult 144 | { 145 | var vx : Float; 146 | var vy : Float; 147 | } 148 | 149 | @:multiReturn 150 | extern class BodyGetWorldVectorResult 151 | { 152 | var worldX : Float; 153 | var worldY : Float; 154 | } 155 | 156 | @:multiReturn 157 | extern class BodyGetLinearVelocityFromWorldPointResult 158 | { 159 | var vx : Float; 160 | var vy : Float; 161 | } 162 | 163 | @:multiReturn 164 | extern class BodyGetLinearVelocityResult 165 | { 166 | var x : Float; 167 | var y : Float; 168 | } 169 | 170 | @:multiReturn 171 | extern class BodyGetWorldPointResult 172 | { 173 | var worldX : Float; 174 | var worldY : Float; 175 | } 176 | 177 | @:multiReturn 178 | extern class BodyGetLocalVectorResult 179 | { 180 | var localX : Float; 181 | var localY : Float; 182 | } 183 | 184 | @:multiReturn 185 | extern class BodyGetWorldCenterResult 186 | { 187 | var x : Float; 188 | var y : Float; 189 | } 190 | 191 | @:multiReturn 192 | extern class BodyGetTransformResult 193 | { 194 | var x : Float; 195 | var y : Float; 196 | var angle : Float; 197 | } 198 | 199 | @:multiReturn 200 | extern class BodyGetPositionResult 201 | { 202 | var x : Float; 203 | var y : Float; 204 | } 205 | 206 | @:multiReturn 207 | extern class BodyGetWorldPointsResult 208 | { 209 | var x1 : Float; 210 | var y1 : Float; 211 | var x2 : Float; 212 | var y2 : Float; 213 | } 214 | 215 | @:multiReturn 216 | extern class BodyGetMassDataResult 217 | { 218 | var x : Float; 219 | var y : Float; 220 | var mass : Float; 221 | var inertia : Float; 222 | } 223 | 224 | @:multiReturn 225 | extern class BodyGetLocalCenterResult 226 | { 227 | var x : Float; 228 | var y : Float; 229 | } -------------------------------------------------------------------------------- /src/love/physics/BodyType.hx: -------------------------------------------------------------------------------- 1 | package love.physics; 2 | @:enum 3 | abstract BodyType (String) 4 | { 5 | var Static = "static"; 6 | var Dynamic = "dynamic"; 7 | var Kinematic = "kinematic"; 8 | } -------------------------------------------------------------------------------- /src/love/physics/ChainShape.hx: -------------------------------------------------------------------------------- 1 | package love.physics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class ChainShape extends Shape 8 | { 9 | 10 | public function getChildEdge(index:Float) : EdgeShape; 11 | 12 | public function getNextVertex() : ChainShapeGetNextVertexResult; 13 | 14 | public function getPoint(index:Float) : ChainShapeGetPointResult; 15 | 16 | public function getPoints() : ChainShapeGetPointsResult; 17 | 18 | public function getPreviousVertex() : ChainShapeGetPreviousVertexResult; 19 | 20 | public function getVertexCount() : Float; 21 | 22 | public function setNextVertex(x:Float, y:Float) : Void; 23 | 24 | public function setPreviousVertex(x:Float, y:Float) : Void; 25 | } 26 | 27 | @:multiReturn 28 | extern class ChainShapeGetPreviousVertexResult 29 | { 30 | var x : Float; 31 | var y : Float; 32 | } 33 | 34 | @:multiReturn 35 | extern class ChainShapeGetPointsResult 36 | { 37 | var x1 : Float; 38 | var y1 : Float; 39 | var x2 : Float; 40 | var y2 : Float; 41 | } 42 | 43 | @:multiReturn 44 | extern class ChainShapeGetPointResult 45 | { 46 | var x : Float; 47 | var y : Float; 48 | } 49 | 50 | @:multiReturn 51 | extern class ChainShapeGetNextVertexResult 52 | { 53 | var x : Float; 54 | var y : Float; 55 | } -------------------------------------------------------------------------------- /src/love/physics/CircleShape.hx: -------------------------------------------------------------------------------- 1 | package love.physics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class CircleShape extends Shape 8 | { 9 | 10 | public function getPoint() : CircleShapeGetPointResult; 11 | 12 | public function getRadius() : Float; 13 | 14 | public function setPoint(x:Float, y:Float) : Void; 15 | 16 | public function setRadius(radius:Float) : Void; 17 | } 18 | 19 | @:multiReturn 20 | extern class CircleShapeGetPointResult 21 | { 22 | var x : Float; 23 | var y : Float; 24 | } -------------------------------------------------------------------------------- /src/love/physics/Contact.hx: -------------------------------------------------------------------------------- 1 | package love.physics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class Contact extends Object 8 | { 9 | 10 | public function getFixtures() : ContactGetFixturesResult; 11 | 12 | public function getFriction() : Float; 13 | 14 | public function getNormal() : ContactGetNormalResult; 15 | 16 | public function getPositions() : ContactGetPositionsResult; 17 | 18 | public function getRestitution() : Float; 19 | 20 | public function isEnabled() : Bool; 21 | 22 | public function isTouching() : Bool; 23 | 24 | public function resetFriction() : Void; 25 | 26 | public function resetRestitution() : Void; 27 | 28 | public function setEnabled(enabled:Bool) : Void; 29 | 30 | public function setFriction(friction:Float) : Void; 31 | 32 | public function setRestitution(restitution:Float) : Void; 33 | } 34 | 35 | @:multiReturn 36 | extern class ContactGetPositionsResult 37 | { 38 | var x1 : Float; 39 | var y1 : Float; 40 | var x2 : Float; 41 | var y2 : Float; 42 | } 43 | 44 | @:multiReturn 45 | extern class ContactGetNormalResult 46 | { 47 | var nx : Float; 48 | var ny : Float; 49 | } 50 | 51 | @:multiReturn 52 | extern class ContactGetFixturesResult 53 | { 54 | var fixtureA : Fixture; 55 | var fixtureB : Fixture; 56 | } -------------------------------------------------------------------------------- /src/love/physics/DistanceJoint.hx: -------------------------------------------------------------------------------- 1 | package love.physics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class DistanceJoint extends Joint 8 | { 9 | 10 | public function getDampingRatio() : Float; 11 | 12 | public function getFrequency() : Float; 13 | 14 | public function getLength() : Float; 15 | 16 | public function setDampingRatio(ratio:Float) : Void; 17 | 18 | public function setFrequency(Hz:Float) : Void; 19 | 20 | public function setLength(l:Float) : Void; 21 | } -------------------------------------------------------------------------------- /src/love/physics/EdgeShape.hx: -------------------------------------------------------------------------------- 1 | package love.physics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class EdgeShape extends Shape 8 | { 9 | 10 | public function getNextVertex() : EdgeShapeGetNextVertexResult; 11 | 12 | public function getPoints() : EdgeShapeGetPointsResult; 13 | 14 | public function getPreviousVertex() : EdgeShapeGetPreviousVertexResult; 15 | 16 | public function setNextVertex(x:Float, y:Float) : Void; 17 | 18 | public function setPreviousVertex(x:Float, y:Float) : Void; 19 | } 20 | 21 | @:multiReturn 22 | extern class EdgeShapeGetPreviousVertexResult 23 | { 24 | var x : Float; 25 | var y : Float; 26 | } 27 | 28 | @:multiReturn 29 | extern class EdgeShapeGetPointsResult 30 | { 31 | var x1 : Float; 32 | var y1 : Float; 33 | var x2 : Float; 34 | var y2 : Float; 35 | } 36 | 37 | @:multiReturn 38 | extern class EdgeShapeGetNextVertexResult 39 | { 40 | var x : Float; 41 | var y : Float; 42 | } -------------------------------------------------------------------------------- /src/love/physics/Fixture.hx: -------------------------------------------------------------------------------- 1 | package love.physics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class Fixture extends Object 8 | { 9 | 10 | public function destroy() : Void; 11 | 12 | public function getBody() : Body; 13 | 14 | public function getBoundingBox(?index:Float) : FixtureGetBoundingBoxResult; 15 | 16 | public function getCategory() : FixtureGetCategoryResult; 17 | 18 | public function getDensity() : Float; 19 | 20 | public function getFilterData() : FixtureGetFilterDataResult; 21 | 22 | public function getFriction() : Float; 23 | 24 | public function getGroupIndex() : Float; 25 | 26 | public function getMask() : FixtureGetMaskResult; 27 | 28 | public function getMassData() : FixtureGetMassDataResult; 29 | 30 | public function getRestitution() : Float; 31 | 32 | public function getShape() : Shape; 33 | 34 | public function getUserData() : Dynamic; 35 | 36 | public function isDestroyed() : Bool; 37 | 38 | public function isSensor() : Bool; 39 | 40 | public function rayCast(x1:Float, y1:Float, x2:Float, y2:Float, maxFraction:Float, ?childIndex:Float) : FixtureRayCastResult; 41 | 42 | public function setCategory(category1:Float, category2:Float) : Void; 43 | 44 | public function setDensity(density:Float) : Void; 45 | 46 | public function setFilterData(categories:Float, mask:Float, group:Float) : Void; 47 | 48 | public function setFriction(friction:Float) : Void; 49 | 50 | public function setGroupIndex(group:Float) : Void; 51 | 52 | public function setMask(mask1:Float, mask2:Float) : Void; 53 | 54 | public function setRestitution(restitution:Float) : Void; 55 | 56 | public function setSensor(sensor:Bool) : Void; 57 | 58 | public function setUserData(value:Dynamic) : Void; 59 | 60 | public function testPoint(x:Float, y:Float) : Bool; 61 | } 62 | 63 | @:multiReturn 64 | extern class FixtureGetCategoryResult 65 | { 66 | var category1 : Float; 67 | var category2 : Float; 68 | } 69 | 70 | @:multiReturn 71 | extern class FixtureRayCastResult 72 | { 73 | var xn : Float; 74 | var yn : Float; 75 | var fraction : Float; 76 | } 77 | 78 | @:multiReturn 79 | extern class FixtureGetBoundingBoxResult 80 | { 81 | var topLeftX : Float; 82 | var topLeftY : Float; 83 | var bottomRightX : Float; 84 | var bottomRightY : Float; 85 | } 86 | 87 | @:multiReturn 88 | extern class FixtureGetFilterDataResult 89 | { 90 | var categories : Float; 91 | var mask : Float; 92 | var group : Float; 93 | } 94 | 95 | @:multiReturn 96 | extern class FixtureGetMassDataResult 97 | { 98 | var x : Float; 99 | var y : Float; 100 | var mass : Float; 101 | var inertia : Float; 102 | } 103 | 104 | @:multiReturn 105 | extern class FixtureGetMaskResult 106 | { 107 | var mask1 : Float; 108 | var mask2 : Float; 109 | } -------------------------------------------------------------------------------- /src/love/physics/FrictionJoint.hx: -------------------------------------------------------------------------------- 1 | package love.physics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class FrictionJoint extends Joint 8 | { 9 | 10 | public function getMaxForce() : Float; 11 | 12 | public function getMaxTorque() : Float; 13 | 14 | public function setMaxForce(maxForce:Float) : Void; 15 | 16 | public function setMaxTorque(torque:Float) : Void; 17 | } -------------------------------------------------------------------------------- /src/love/physics/GearJoint.hx: -------------------------------------------------------------------------------- 1 | package love.physics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class GearJoint extends Joint 8 | { 9 | 10 | public function getJoints() : GearJointGetJointsResult; 11 | 12 | public function getRatio() : Float; 13 | 14 | public function setRatio(ratio:Float) : Void; 15 | } 16 | 17 | @:multiReturn 18 | extern class GearJointGetJointsResult 19 | { 20 | var joint1 : Joint; 21 | var joint2 : Joint; 22 | } -------------------------------------------------------------------------------- /src/love/physics/Joint.hx: -------------------------------------------------------------------------------- 1 | package love.physics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class Joint extends Object 8 | { 9 | 10 | public function destroy() : Void; 11 | 12 | public function getAnchors() : JointGetAnchorsResult; 13 | 14 | public function getBodies() : JointGetBodiesResult; 15 | 16 | public function getCollideConnected() : Bool; 17 | 18 | public function getReactionForce(x:Float) : JointGetReactionForceResult; 19 | 20 | public function getReactionTorque(invdt:Float) : Float; 21 | 22 | public function getType() : JointType; 23 | 24 | public function getUserData() : Dynamic; 25 | 26 | public function isDestroyed() : Bool; 27 | 28 | public function setUserData(value:Dynamic) : Void; 29 | } 30 | 31 | @:multiReturn 32 | extern class JointGetBodiesResult 33 | { 34 | var bodyA : Body; 35 | var bodyB : Body; 36 | } 37 | 38 | @:multiReturn 39 | extern class JointGetReactionForceResult 40 | { 41 | var x : Float; 42 | var y : Float; 43 | } 44 | 45 | @:multiReturn 46 | extern class JointGetAnchorsResult 47 | { 48 | var x1 : Float; 49 | var y1 : Float; 50 | var x2 : Float; 51 | var y2 : Float; 52 | } -------------------------------------------------------------------------------- /src/love/physics/JointType.hx: -------------------------------------------------------------------------------- 1 | package love.physics; 2 | @:enum 3 | abstract JointType (String) 4 | { 5 | var Distance = "distance"; 6 | var Friction = "friction"; 7 | var Gear = "gear"; 8 | var Mouse = "mouse"; 9 | var Prismatic = "prismatic"; 10 | var Pulley = "pulley"; 11 | var Revolute = "revolute"; 12 | var Rope = "rope"; 13 | var Weld = "weld"; 14 | } -------------------------------------------------------------------------------- /src/love/physics/MotorJoint.hx: -------------------------------------------------------------------------------- 1 | package love.physics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class MotorJoint extends Joint 8 | { 9 | 10 | public function getAngularOffset() : Float; 11 | 12 | public function getLinearOffset() : MotorJointGetLinearOffsetResult; 13 | 14 | public function setAngularOffset(angleoffset:Float) : Void; 15 | 16 | public function setLinearOffset(x:Float, y:Float) : Void; 17 | } 18 | 19 | @:multiReturn 20 | extern class MotorJointGetLinearOffsetResult 21 | { 22 | var x : Float; 23 | var y : Float; 24 | } -------------------------------------------------------------------------------- /src/love/physics/MouseJoint.hx: -------------------------------------------------------------------------------- 1 | package love.physics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class MouseJoint extends Joint 8 | { 9 | 10 | public function getDampingRatio() : Float; 11 | 12 | public function getFrequency() : Float; 13 | 14 | public function getMaxForce() : Float; 15 | 16 | public function getTarget() : MouseJointGetTargetResult; 17 | 18 | public function setDampingRatio(ratio:Float) : Void; 19 | 20 | public function setFrequency(freq:Float) : Void; 21 | 22 | public function setMaxForce(f:Float) : Void; 23 | 24 | public function setTarget(x:Float, y:Float) : Void; 25 | } 26 | 27 | @:multiReturn 28 | extern class MouseJointGetTargetResult 29 | { 30 | var x : Float; 31 | var y : Float; 32 | } -------------------------------------------------------------------------------- /src/love/physics/PhysicsModule.hx: -------------------------------------------------------------------------------- 1 | package love.physics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | @:native("love.physics") 8 | extern class PhysicsModule 9 | { 10 | 11 | public static function getDistance(fixture1:Fixture, fixture2:Fixture) : PhysicsModuleGetDistanceResult; 12 | 13 | public static function getMeter() : Float; 14 | 15 | public static function newBody(world:World, ?x:Float, ?y:Float, ?type:BodyType) : Body; 16 | 17 | @:overload(function (loop:Bool, points:Table) : ChainShape {}) 18 | public static function newChainShape(loop:Bool, x1:Float, y1:Float, x2:Float, y2:Float, args:Rest) : ChainShape; 19 | 20 | @:overload(function (x:Float, y:Float, radius:Float) : CircleShape {}) 21 | public static function newCircleShape(radius:Float) : CircleShape; 22 | 23 | public static function newDistanceJoint(body1:Body, body2:Body, x1:Float, y1:Float, x2:Float, y2:Float, ?collideConnected:Bool) : DistanceJoint; 24 | 25 | public static function newEdgeShape(x1:Float, y1:Float, x2:Float, y2:Float) : EdgeShape; 26 | 27 | public static function newFixture(body:Body, shape:Shape, ?density:Float) : Fixture; 28 | 29 | @:overload(function (body1:Body, body2:Body, x1:Float, y1:Float, x2:Float, y2:Float, ?collideConnected:Bool) : FrictionJoint {}) 30 | public static function newFrictionJoint(body1:Body, body2:Body, x:Float, y:Float, ?collideConnected:Bool) : FrictionJoint; 31 | 32 | public static function newGearJoint(joint1:Joint, joint2:Joint, ?ratio:Float, ?collideConnected:Bool) : GearJoint; 33 | 34 | @:overload(function (body1:Body, body2:Body, ?correctionFactor:Float, ?collideConnected:Bool) : MotorJoint {}) 35 | public static function newMotorJoint(body1:Body, body2:Body, ?correctionFactor:Float) : MotorJoint; 36 | 37 | public static function newMouseJoint(body:Body, x:Float, y:Float) : MouseJoint; 38 | 39 | @:overload(function (vertices:Table) : PolygonShape {}) 40 | public static function newPolygonShape(x1:Float, y1:Float, x2:Float, y2:Float, x3:Float, y3:Float, args:Rest) : PolygonShape; 41 | 42 | @:overload(function (body1:Body, body2:Body, x1:Float, y1:Float, x2:Float, y2:Float, ax:Float, ay:Float, ?collideConnected:Bool) : PrismaticJoint {}) 43 | @:overload(function (body1:Body, body2:Body, x1:Float, y1:Float, x2:Float, y2:Float, ax:Float, ay:Float, ?collideConnected:Bool, ?referenceAngle:Float) : PrismaticJoint {}) 44 | public static function newPrismaticJoint(body1:Body, body2:Body, x:Float, y:Float, ax:Float, ay:Float, ?collideConnected:Bool) : PrismaticJoint; 45 | 46 | public static function newPulleyJoint(body1:Body, body2:Body, gx1:Float, gy1:Float, gx2:Float, gy2:Float, x1:Float, y1:Float, x2:Float, y2:Float, ?ratio:Float, ?collideConnected:Bool) : PulleyJoint; 47 | 48 | @:overload(function (x:Float, y:Float, width:Float, height:Float, ?angle:Float) : PolygonShape {}) 49 | public static function newRectangleShape(width:Float, height:Float) : PolygonShape; 50 | 51 | @:overload(function (body1:Body, body2:Body, x1:Float, y1:Float, x2:Float, y2:Float, ?collideConnected:Bool, ?referenceAngle:Float) : RevoluteJoint {}) 52 | public static function newRevoluteJoint(body1:Body, body2:Body, x:Float, y:Float, ?collideConnected:Bool) : RevoluteJoint; 53 | 54 | public static function newRopeJoint(body1:Body, body2:Body, x1:Float, y1:Float, x2:Float, y2:Float, maxLength:Float, ?collideConnected:Bool) : RopeJoint; 55 | 56 | @:overload(function (body1:Body, body2:Body, x1:Float, y1:Float, x2:Float, y2:Float, ?collideConnected:Bool) : WeldJoint {}) 57 | @:overload(function (body1:Body, body2:Body, x1:Float, y1:Float, x2:Float, y2:Float, ?collideConnected:Bool, ?referenceAngle:Float) : WeldJoint {}) 58 | public static function newWeldJoint(body1:Body, body2:Body, x:Float, y:Float, ?collideConnected:Bool) : WeldJoint; 59 | 60 | @:overload(function (body1:Body, body2:Body, x1:Float, y1:Float, x2:Float, y2:Float, ax:Float, ay:Float, ?collideConnected:Bool) : WheelJoint {}) 61 | public static function newWheelJoint(body1:Body, body2:Body, x:Float, y:Float, ax:Float, ay:Float, ?collideConnected:Bool) : WheelJoint; 62 | 63 | public static function newWorld(?xg:Float, ?yg:Float, ?sleep:Bool) : World; 64 | 65 | public static function setMeter(scale:Float) : Void; 66 | } 67 | 68 | @:multiReturn 69 | extern class PhysicsModuleGetDistanceResult 70 | { 71 | var distance : Float; 72 | var x1 : Float; 73 | var y1 : Float; 74 | var x2 : Float; 75 | var y2 : Float; 76 | } -------------------------------------------------------------------------------- /src/love/physics/PolygonShape.hx: -------------------------------------------------------------------------------- 1 | package love.physics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class PolygonShape extends Shape 8 | { 9 | 10 | public function getPoints() : PolygonShapeGetPointsResult; 11 | } 12 | 13 | @:multiReturn 14 | extern class PolygonShapeGetPointsResult 15 | { 16 | var x1 : Float; 17 | var y1 : Float; 18 | var x2 : Float; 19 | var y2 : Float; 20 | } -------------------------------------------------------------------------------- /src/love/physics/PrismaticJoint.hx: -------------------------------------------------------------------------------- 1 | package love.physics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class PrismaticJoint extends Joint 8 | { 9 | 10 | public function areLimitsEnabled() : Bool; 11 | 12 | public function getAxis() : PrismaticJointGetAxisResult; 13 | 14 | public function getJointSpeed() : Float; 15 | 16 | public function getJointTranslation() : Float; 17 | 18 | public function getLimits() : PrismaticJointGetLimitsResult; 19 | 20 | public function getLowerLimit() : Float; 21 | 22 | public function getMaxMotorForce() : Float; 23 | 24 | public function getMotorForce(invdt:Float) : Float; 25 | 26 | public function getMotorSpeed() : Float; 27 | 28 | public function getUpperLimit() : Float; 29 | 30 | public function isMotorEnabled() : Bool; 31 | 32 | public function setLimits(lower:Float, upper:Float) : Void; 33 | 34 | public function setLimitsEnabled() : Bool; 35 | 36 | public function setLowerLimit(lower:Float) : Void; 37 | 38 | public function setMaxMotorForce(f:Float) : Void; 39 | 40 | public function setMotorEnabled(enable:Bool) : Void; 41 | 42 | public function setMotorSpeed(s:Float) : Void; 43 | 44 | public function setUpperLimit(upper:Float) : Void; 45 | } 46 | 47 | @:multiReturn 48 | extern class PrismaticJointGetAxisResult 49 | { 50 | var x : Float; 51 | var y : Float; 52 | } 53 | 54 | @:multiReturn 55 | extern class PrismaticJointGetLimitsResult 56 | { 57 | var lower : Float; 58 | var upper : Float; 59 | } -------------------------------------------------------------------------------- /src/love/physics/PulleyJoint.hx: -------------------------------------------------------------------------------- 1 | package love.physics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class PulleyJoint extends Joint 8 | { 9 | 10 | public function getConstant() : Float; 11 | 12 | public function getGroundAnchors() : PulleyJointGetGroundAnchorsResult; 13 | 14 | public function getLengthA() : Float; 15 | 16 | public function getLengthB() : Float; 17 | 18 | public function getMaxLengths() : PulleyJointGetMaxLengthsResult; 19 | 20 | public function getRatio() : Float; 21 | 22 | public function setConstant(length:Float) : Void; 23 | 24 | public function setMaxLengths(max1:Float, max2:Float) : Void; 25 | 26 | public function setRatio(ratio:Float) : Void; 27 | } 28 | 29 | @:multiReturn 30 | extern class PulleyJointGetGroundAnchorsResult 31 | { 32 | var a1x : Float; 33 | var a1y : Float; 34 | var a2x : Float; 35 | var a2y : Float; 36 | } 37 | 38 | @:multiReturn 39 | extern class PulleyJointGetMaxLengthsResult 40 | { 41 | var len1 : Float; 42 | var len2 : Float; 43 | } -------------------------------------------------------------------------------- /src/love/physics/RevoluteJoint.hx: -------------------------------------------------------------------------------- 1 | package love.physics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class RevoluteJoint extends Joint 8 | { 9 | 10 | public function areLimitsEnabled() : Bool; 11 | 12 | public function getJointAngle() : Float; 13 | 14 | public function getJointSpeed() : Float; 15 | 16 | public function getLimits() : RevoluteJointGetLimitsResult; 17 | 18 | public function getLowerLimit() : Float; 19 | 20 | public function getMaxMotorTorque() : Float; 21 | 22 | public function getMotorSpeed() : Float; 23 | 24 | public function getMotorTorque() : Float; 25 | 26 | public function getUpperLimit() : Float; 27 | 28 | public function hasLimitsEnabled() : Bool; 29 | 30 | public function isMotorEnabled() : Bool; 31 | 32 | public function setLimits(lower:Float, upper:Float) : Void; 33 | 34 | public function setLimitsEnabled(enable:Bool) : Void; 35 | 36 | public function setLowerLimit(lower:Float) : Void; 37 | 38 | public function setMaxMotorTorque(f:Float) : Void; 39 | 40 | public function setMotorEnabled(enable:Bool) : Void; 41 | 42 | public function setMotorSpeed(s:Float) : Void; 43 | 44 | public function setUpperLimit(upper:Float) : Void; 45 | } 46 | 47 | @:multiReturn 48 | extern class RevoluteJointGetLimitsResult 49 | { 50 | var lower : Float; 51 | var upper : Float; 52 | } -------------------------------------------------------------------------------- /src/love/physics/RopeJoint.hx: -------------------------------------------------------------------------------- 1 | package love.physics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class RopeJoint extends Joint 8 | { 9 | 10 | public function getMaxLength() : Float; 11 | 12 | public function setMaxLength(maxLength:Float) : Void; 13 | } -------------------------------------------------------------------------------- /src/love/physics/Shape.hx: -------------------------------------------------------------------------------- 1 | package love.physics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class Shape extends Object 8 | { 9 | 10 | public function computeAABB(tx:Float, ty:Float, tr:Float, ?childIndex:Float) : ShapeComputeAABBResult; 11 | 12 | public function computeMass(density:Float) : ShapeComputeMassResult; 13 | 14 | public function getChildCount() : Float; 15 | 16 | public function getRadius() : Float; 17 | 18 | public function getType() : ShapeType; 19 | 20 | public function rayCast(x1:Float, y1:Float, x2:Float, y2:Float, maxFraction:Float, tx:Float, ty:Float, tr:Float, ?childIndex:Float) : ShapeRayCastResult; 21 | 22 | public function testPoint(tx:Float, ty:Float, tr:Float, x:Float, y:Float) : Bool; 23 | } 24 | 25 | @:multiReturn 26 | extern class ShapeComputeMassResult 27 | { 28 | var x : Float; 29 | var y : Float; 30 | var mass : Float; 31 | var inertia : Float; 32 | } 33 | 34 | @:multiReturn 35 | extern class ShapeRayCastResult 36 | { 37 | var xn : Float; 38 | var yn : Float; 39 | var fraction : Float; 40 | } 41 | 42 | @:multiReturn 43 | extern class ShapeComputeAABBResult 44 | { 45 | var topLeftX : Float; 46 | var topLeftY : Float; 47 | var bottomRightX : Float; 48 | var bottomRightY : Float; 49 | } -------------------------------------------------------------------------------- /src/love/physics/ShapeType.hx: -------------------------------------------------------------------------------- 1 | package love.physics; 2 | @:enum 3 | abstract ShapeType (String) 4 | { 5 | var Circle = "circle"; 6 | var Polygon = "polygon"; 7 | var Edge = "edge"; 8 | var Chain = "chain"; 9 | } -------------------------------------------------------------------------------- /src/love/physics/WeldJoint.hx: -------------------------------------------------------------------------------- 1 | package love.physics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class WeldJoint extends Joint 8 | { 9 | 10 | public function getDampingRatio() : Float; 11 | 12 | public function getFrequency() : Float; 13 | 14 | public function setDampingRatio(ratio:Float) : Void; 15 | 16 | public function setFrequency(freq:Float) : Void; 17 | } -------------------------------------------------------------------------------- /src/love/physics/WheelJoint.hx: -------------------------------------------------------------------------------- 1 | package love.physics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class WheelJoint extends Joint 8 | { 9 | 10 | public function getAxis() : WheelJointGetAxisResult; 11 | 12 | public function getJointSpeed() : Float; 13 | 14 | public function getJointTranslation() : Float; 15 | 16 | public function getMaxMotorTorque() : Float; 17 | 18 | public function getMotorSpeed() : Float; 19 | 20 | public function getMotorTorque(invdt:Float) : Float; 21 | 22 | public function getSpringDampingRatio() : Float; 23 | 24 | public function getSpringFrequency() : Float; 25 | 26 | public function setMaxMotorTorque(maxTorque:Float) : Void; 27 | 28 | public function setMotorEnabled(enable:Bool) : Void; 29 | 30 | public function setMotorSpeed(speed:Float) : Void; 31 | 32 | public function setSpringDampingRatio(ratio:Float) : Void; 33 | 34 | public function setSpringFrequency(freq:Float) : Void; 35 | } 36 | 37 | @:multiReturn 38 | extern class WheelJointGetAxisResult 39 | { 40 | var x : Float; 41 | var y : Float; 42 | } -------------------------------------------------------------------------------- /src/love/physics/World.hx: -------------------------------------------------------------------------------- 1 | package love.physics; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class World extends Object 8 | { 9 | 10 | public function destroy() : Void; 11 | 12 | public function getBodies() : Table; 13 | 14 | public function getBodyCount() : Float; 15 | 16 | public function getCallbacks() : WorldGetCallbacksResult; 17 | 18 | public function getContactCount() : Float; 19 | 20 | public function getContactFilter() : Dynamic; 21 | 22 | public function getContacts() : Table; 23 | 24 | public function getGravity() : WorldGetGravityResult; 25 | 26 | public function getJointCount() : Float; 27 | 28 | public function getJoints() : Table; 29 | 30 | public function isDestroyed() : Bool; 31 | 32 | public function isLocked() : Bool; 33 | 34 | public function isSleepingAllowed() : Bool; 35 | 36 | public function queryBoundingBox(topLeftX:Float, topLeftY:Float, bottomRightX:Float, bottomRightY:Float, callback:Dynamic) : Void; 37 | 38 | public function rayCast(fixture:Fixture, x:Float, y:Float, xn:Float, yn:Float, fraction:Float) : Float; 39 | 40 | public function setCallbacks(beginContact:Dynamic, endContact:Dynamic, preSolve:Dynamic, postSolve:Dynamic) : Void; 41 | 42 | public function setContactFilter(filter:Dynamic) : Void; 43 | 44 | public function setGravity(x:Float, y:Float) : Void; 45 | 46 | public function setSleepingAllowed(allow:Bool) : Void; 47 | 48 | public function translateOrigin(x:Float, y:Float) : Void; 49 | 50 | public function update(dt:Float, ?velocityiterations:Float, ?positioniterations:Float) : Void; 51 | } 52 | 53 | @:multiReturn 54 | extern class WorldGetGravityResult 55 | { 56 | var x : Float; 57 | var y : Float; 58 | } 59 | 60 | @:multiReturn 61 | extern class WorldGetCallbacksResult 62 | { 63 | var beginContact : Dynamic; 64 | var endContact : Dynamic; 65 | var preSolve : Dynamic; 66 | var postSolve : Dynamic; 67 | } -------------------------------------------------------------------------------- /src/love/sound/Decoder.hx: -------------------------------------------------------------------------------- 1 | package love.sound; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class Decoder extends Object 8 | { 9 | 10 | public function clone() : Decoder; 11 | 12 | public function getBitDepth() : Float; 13 | 14 | public function getChannelCount() : Float; 15 | 16 | public function getDuration() : Float; 17 | 18 | public function getSampleRate() : Float; 19 | } -------------------------------------------------------------------------------- /src/love/sound/SoundData.hx: -------------------------------------------------------------------------------- 1 | package love.sound; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class SoundData extends Data 8 | { 9 | 10 | public function getBitDepth() : Float; 11 | 12 | public function getChannelCount() : Float; 13 | 14 | public function getDuration() : Float; 15 | 16 | @:overload(function (i:Float, channel:Float) : Float {}) 17 | public function getSample(i:Float) : Float; 18 | 19 | public function getSampleCount() : Float; 20 | 21 | public function getSampleRate() : Float; 22 | 23 | @:overload(function (i:Float, channel:Float, sample:Float) : Void {}) 24 | public function setSample(i:Float, sample:Float) : Void; 25 | } -------------------------------------------------------------------------------- /src/love/sound/SoundModule.hx: -------------------------------------------------------------------------------- 1 | package love.sound; 2 | import love.filesystem.File; 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | @:native("love.sound") 8 | extern class SoundModule 9 | { 10 | 11 | @:overload(function (filename:String, ?buffer:Float) : Decoder {}) 12 | public static function newDecoder(file:File, ?buffer:Float) : Decoder; 13 | 14 | @:overload(function (file:File) : SoundData {}) 15 | @:overload(function (decoder:Decoder) : SoundData {}) 16 | @:overload(function (samples:Float, ?rate:Float, ?bits:Float, ?channels:Float) : SoundData {}) 17 | public static function newSoundData(filename:String) : SoundData; 18 | } -------------------------------------------------------------------------------- /src/love/system/PowerState.hx: -------------------------------------------------------------------------------- 1 | package love.system; 2 | @:enum 3 | abstract PowerState (String) 4 | { 5 | var Unknown = "unknown"; 6 | var Battery = "battery"; 7 | var Nobattery = "nobattery"; 8 | var Charging = "charging"; 9 | var Charged = "charged"; 10 | } -------------------------------------------------------------------------------- /src/love/system/SystemModule.hx: -------------------------------------------------------------------------------- 1 | package love.system; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | @:native("love.system") 8 | extern class SystemModule 9 | { 10 | 11 | public static function getClipboardText() : String; 12 | 13 | public static function getOS() : String; 14 | 15 | public static function getPowerInfo() : SystemModuleGetPowerInfoResult; 16 | 17 | public static function getProcessorCount() : Float; 18 | 19 | public static function hasBackgroundMusic() : Bool; 20 | 21 | public static function openURL(url:String) : Bool; 22 | 23 | public static function setClipboardText(text:String) : Void; 24 | 25 | public static function vibrate(?seconds:Float) : Void; 26 | } 27 | 28 | @:multiReturn 29 | extern class SystemModuleGetPowerInfoResult 30 | { 31 | var state : PowerState; 32 | var percent : Float; 33 | var seconds : Float; 34 | } -------------------------------------------------------------------------------- /src/love/thread/Channel.hx: -------------------------------------------------------------------------------- 1 | package love.thread; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class Channel extends Object 8 | { 9 | 10 | public function clear() : Void; 11 | 12 | @:overload(function (timeout:Float) : Dynamic {}) 13 | public function demand() : Dynamic; 14 | 15 | public function getCount() : Float; 16 | 17 | public function hasRead(id:Float) : Bool; 18 | 19 | public function peek() : Dynamic; 20 | 21 | public function performAtomic(func:Dynamic, arg1:Dynamic, args:Rest) : ChannelPerformAtomicResult; 22 | 23 | public function pop() : Dynamic; 24 | 25 | public function push(value:Dynamic) : Float; 26 | 27 | @:overload(function (value:Dynamic, timeout:Float) : Bool {}) 28 | public function supply(value:Dynamic) : Bool; 29 | } 30 | 31 | @:multiReturn 32 | extern class ChannelPerformAtomicResult 33 | { 34 | var ret1 : Dynamic; 35 | } -------------------------------------------------------------------------------- /src/love/thread/Thread.hx: -------------------------------------------------------------------------------- 1 | package love.thread; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class Thread extends Object 8 | { 9 | 10 | public function getError() : String; 11 | 12 | public function isRunning() : Bool; 13 | 14 | @:overload(function (arg1:Dynamic, arg2:Dynamic, args:Rest) : Void {}) 15 | public function start() : Void; 16 | 17 | public function wait() : Void; 18 | } -------------------------------------------------------------------------------- /src/love/thread/ThreadModule.hx: -------------------------------------------------------------------------------- 1 | package love.thread; 2 | import love.filesystem.FileData; 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | @:native("love.thread") 8 | extern class ThreadModule 9 | { 10 | 11 | public static function getChannel(name:String) : Channel; 12 | 13 | public static function newChannel() : Channel; 14 | 15 | @:overload(function (fileData:FileData) : Thread {}) 16 | @:overload(function (codestring:String) : Thread {}) 17 | public static function newThread(filename:String) : Thread; 18 | } -------------------------------------------------------------------------------- /src/love/timer/TimerModule.hx: -------------------------------------------------------------------------------- 1 | package love.timer; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | @:native("love.timer") 8 | extern class TimerModule 9 | { 10 | 11 | public static function getAverageDelta() : Float; 12 | 13 | public static function getDelta() : Float; 14 | 15 | public static function getFPS() : Float; 16 | 17 | public static function getTime() : Float; 18 | 19 | public static function sleep(s:Float) : Void; 20 | 21 | public static function step() : Float; 22 | } -------------------------------------------------------------------------------- /src/love/touch/TouchModule.hx: -------------------------------------------------------------------------------- 1 | package love.touch; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | @:native("love.touch") 8 | extern class TouchModule 9 | { 10 | 11 | public static function getPosition(id:UserData) : TouchModuleGetPositionResult; 12 | 13 | public static function getPressure(id:UserData) : Float; 14 | 15 | public static function getTouches() : Table; 16 | } 17 | 18 | @:multiReturn 19 | extern class TouchModuleGetPositionResult 20 | { 21 | var x : Float; 22 | var y : Float; 23 | } -------------------------------------------------------------------------------- /src/love/video/VideoModule.hx: -------------------------------------------------------------------------------- 1 | package love.video; 2 | import love.filesystem.File; 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | @:native("love.video") 8 | extern class VideoModule 9 | { 10 | 11 | @:overload(function (file:File) : VideoStream {}) 12 | public static function newVideoStream(filename:String) : VideoStream; 13 | } -------------------------------------------------------------------------------- /src/love/video/VideoStream.hx: -------------------------------------------------------------------------------- 1 | package love.video; 2 | 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | extern class VideoStream extends Object 8 | { 9 | } -------------------------------------------------------------------------------- /src/love/window/DisplayOrientation.hx: -------------------------------------------------------------------------------- 1 | package love.window; 2 | @:enum 3 | abstract DisplayOrientation (String) 4 | { 5 | var Unknown = "unknown"; 6 | var Landscape = "landscape"; 7 | var Landscapeflipped = "landscapeflipped"; 8 | var Portrait = "portrait"; 9 | var Portraitflipped = "portraitflipped"; 10 | } -------------------------------------------------------------------------------- /src/love/window/FullscreenType.hx: -------------------------------------------------------------------------------- 1 | package love.window; 2 | @:enum 3 | abstract FullscreenType (String) 4 | { 5 | var Desktop = "desktop"; 6 | var Exclusive = "exclusive"; 7 | var Normal = "normal"; 8 | } -------------------------------------------------------------------------------- /src/love/window/MessageBoxType.hx: -------------------------------------------------------------------------------- 1 | package love.window; 2 | @:enum 3 | abstract MessageBoxType (String) 4 | { 5 | var Info = "info"; 6 | var Warning = "warning"; 7 | var Error = "error"; 8 | } -------------------------------------------------------------------------------- /src/love/window/WindowModule.hx: -------------------------------------------------------------------------------- 1 | package love.window; 2 | import love.image.ImageData; 3 | import haxe.extern.Rest; 4 | import lua.Table; 5 | import lua.UserData; 6 | 7 | @:native("love.window") 8 | extern class WindowModule 9 | { 10 | 11 | public static function close() : Void; 12 | 13 | @:overload(function (px:Float, py:Float) : WindowModuleFromPixelsResult {}) 14 | public static function fromPixels(pixelvalue:Float) : Float; 15 | 16 | public static function getDPIScale() : Float; 17 | 18 | public static function getDisplayName(?displayindex:Float) : String; 19 | 20 | public static function getDisplayOrientation(?index:Float) : DisplayOrientation; 21 | 22 | public static function getFullscreen() : WindowModuleGetFullscreenResult; 23 | 24 | public static function getFullscreenModes(?display:Float) : Table; 25 | 26 | public static function getIcon() : ImageData; 27 | 28 | public static function getMode() : WindowModuleGetModeResult; 29 | 30 | public static function getPosition() : WindowModuleGetPositionResult; 31 | 32 | public static function getSafeArea() : WindowModuleGetSafeAreaResult; 33 | 34 | public static function getTitle() : String; 35 | 36 | public static function getVSync() : Float; 37 | 38 | public static function hasFocus() : Bool; 39 | 40 | public static function hasMouseFocus() : Bool; 41 | 42 | public static function isDisplaySleepEnabled() : Bool; 43 | 44 | public static function isMaximized() : Bool; 45 | 46 | public static function isMinimized() : Bool; 47 | 48 | public static function isOpen() : Bool; 49 | 50 | public static function isVisible() : Bool; 51 | 52 | public static function maximize() : Void; 53 | 54 | public static function minimize() : Void; 55 | 56 | public static function requestAttention(?continuous:Bool) : Void; 57 | 58 | public static function restore() : Void; 59 | 60 | public static function setDisplaySleepEnabled(enable:Bool) : Void; 61 | 62 | @:overload(function (fullscreen:Bool, fstype:FullscreenType) : Bool {}) 63 | public static function setFullscreen(fullscreen:Bool) : Bool; 64 | 65 | public static function setIcon(imagedata:ImageData) : Bool; 66 | 67 | public static function setMode(width:Float, height:Float, flags:Table) : Bool; 68 | 69 | public static function setPosition(x:Float, y:Float, ?display:Float) : Void; 70 | 71 | public static function setTitle(title:String) : Void; 72 | 73 | public static function setVSync(vsync:Float) : Void; 74 | 75 | @:overload(function (title:String, message:String, buttonlist:Table, ?type:MessageBoxType, ?attachtowindow:Bool) : Float {}) 76 | public static function showMessageBox(title:String, message:String, ?type:MessageBoxType, ?attachtowindow:Bool) : Bool; 77 | 78 | @:overload(function (x:Float, y:Float) : WindowModuleToPixelsResult {}) 79 | public static function toPixels(value:Float) : Float; 80 | 81 | public static function updateMode(width:Float, height:Float, settings:Table) : Bool; 82 | } 83 | 84 | @:multiReturn 85 | extern class WindowModuleFromPixelsResult 86 | { 87 | var x : Float; 88 | var y : Float; 89 | } 90 | 91 | @:multiReturn 92 | extern class WindowModuleGetSafeAreaResult 93 | { 94 | var x : Float; 95 | var y : Float; 96 | var w : Float; 97 | var h : Float; 98 | } 99 | 100 | @:multiReturn 101 | extern class WindowModuleGetModeResult 102 | { 103 | var width : Float; 104 | var height : Float; 105 | var flags : Table; 106 | } 107 | 108 | @:multiReturn 109 | extern class WindowModuleToPixelsResult 110 | { 111 | var px : Float; 112 | var py : Float; 113 | } 114 | 115 | @:multiReturn 116 | extern class WindowModuleGetPositionResult 117 | { 118 | var x : Float; 119 | var y : Float; 120 | var display : Float; 121 | } 122 | 123 | @:multiReturn 124 | extern class WindowModuleGetFullscreenResult 125 | { 126 | var fullscreen : Bool; 127 | var fstype : FullscreenType; 128 | } --------------------------------------------------------------------------------