Skip to content
Snippets Groups Projects
Verified Commit 4222d0a5 authored by v-lafeychine's avatar v-lafeychine
Browse files

Improve SFML Vector wrapper

parent 260bee46
No related branches found
No related tags found
1 merge request!22Resolve "Refactor: GameEngine"
......@@ -7,4 +7,4 @@ package Window:
export Wrapper.Window.{Event, Keyboard, Joystick, Mouse, VideoMode, Window}
package System:
export Wrapper.System.{Vector2f}
export Wrapper.System.{Vector2i, Vector2f, vectorIntToFloat, tupleToVectorFloat, tupleToVectorInt}
......@@ -3,12 +3,17 @@ package Graphics
import scalanative.unsafe.*
import System.Vector2i
class IntRect(val left: Int, val top: Int, val width: Int, val height: Int) extends SFMLBind[SFML.Bindings.Graphics.Rect.sfIntRect]:
import SFML.Bindings.Graphics.Rect.*
def this() =
this(0, 0, 0, 0)
def this(origin: Vector2i, size: Vector2i) =
this(origin.x, origin.y, size.x, size.y)
def bind(implicit z: Zone) =
val intRect = alloc[sfIntRect]()
......
......@@ -3,6 +3,12 @@ package System
import scalanative.unsafe.*
implicit def vectorIntToFloat(vector: Vector2i): Vector2f =
return Vector2f(vector.x, vector.y)
implicit def tupleToVectorFloat(tuple: (Float, Float)): Vector2f =
return Vector2f(tuple._1, tuple._2)
class Vector2f(val x: Float, val y: Float) extends SFMLBind[SFML.Bindings.System.Vector2.sfVector2f]:
import SFML.Bindings.System.Vector2.*
......@@ -12,3 +18,4 @@ class Vector2f(val x: Float, val y: Float) extends SFMLBind[SFML.Bindings.System
vector2f._1 = x
vector2f._2 = y
return (vector2f)
package SFML.Wrapper
package System
import scalanative.unsafe.*
implicit def tupleToVectorInt(tuple: (Int, Int)): Vector2i =
return Vector2i(tuple._1, tuple._2)
class Vector2i(val x: Int, val y: Int) extends SFMLBind[SFML.Bindings.System.Vector2.sfVector2i]:
import SFML.Bindings.System.Vector2.*
def bind(implicit z: Zone) =
val vector2i = alloc[sfVector2i]()
vector2i._1 = x
vector2i._2 = y
return (vector2i)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment