Animation rendering

This commit is contained in:
Ali
2022-05-24 23:28:38 +03:00
parent 3d06cbf4a4
commit 591cc53c67
33 changed files with 1368 additions and 461 deletions

View File

@@ -109,6 +109,14 @@ public final class ManagedFile {
}
}
public func position() -> Int64 {
if let queue = self.queue {
assert(queue.isCurrent())
}
return lseek(self.fd, 0, SEEK_CUR);
}
public func sync() {
if let queue = self.queue {
assert(queue.isCurrent())
@@ -116,3 +124,39 @@ public final class ManagedFile {
fsync(self.fd)
}
}
public extension ManagedFile {
func write(_ data: Data) -> Int {
if data.isEmpty {
return 0
}
return data.withUnsafeBytes { bytes -> Int in
return self.write(bytes.baseAddress!, count: bytes.count)
}
}
func write(_ value: Int32) {
var value = value
let _ = self.write(&value, count: 4)
}
func write(_ value: UInt32) {
var value = value
let _ = self.write(&value, count: 4)
}
func write(_ value: Int64) {
var value = value
let _ = self.write(&value, count: 8)
}
func write(_ value: UInt64) {
var value = value
let _ = self.write(&value, count: 8)
}
func write(_ value: Float32) {
var value = value
let _ = self.write(&value, count: 4)
}
}