101 lines
1.9 KiB
Haxe
Raw Permalink Normal View History

2025-01-22 16:18:30 +01:00
package kha;
/**
* This represents a Video file.
*/
class Video implements Resource {
/**
* The width of the video file in pixels.
*/
public function width(): Int {
return 100;
}
/**
* The height of the video file in pixels.
*/
public function height(): Int {
return 100;
}
/**
* Create a new media object instance.
*/
public function new(): Void {}
/**
* Play / resume the media element.
*
* @param loop If playing it looped, default = false.
*/
public function play(loop: Bool = false): Void {}
/**
* Call this every frame to update the video.
* This is not required on all targets but where it's not required the function just does nothing - so please call it.
*/
public function update(dt: Float): Void {}
/**
* Pause the media element.
*/
public function pause(): Void {}
/**
* Pause the stop element.
*/
public function stop(): Void {}
/**
* Return the media length, in milliseconds.
*/
public function getLength(): Int { // Milliseconds
return 0;
}
/**
* Return the media position, in milliseconds.
* Deprecated.
*/
public function getCurrentPos(): Int { // Milliseconds
return 0;
}
public var position(get, set): Int;
function get_position(): Int {
return 0;
}
function set_position(value: Int): Int {
return 0;
}
/**
* Return the media volume, between 0 and 1.
*/
public function getVolume(): Float { // [0, 1]
return 1;
}
/**
* Set the media volume, between 0 and 1.
*
* @param volume The new volume, between 0 and 1.
*/
public function setVolume(volume: Float): Void { // [0, 1]
}
/**
* If the media has finished or not.
*/
public function isFinished(): Bool {
return getCurrentPos() >= getLength();
}
/**
* Unload the resource from memory.
*/
public function unload(): Void {}
}