mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
62 lines
1.5 KiB
Plaintext
62 lines
1.5 KiB
Plaintext
//Images are the ONLY other kind of child of datum that has a loc other than atom
|
|
//Datums DO NOT have a loc themselves. Usually, loc based cleanup is handled by atom/, but it doesn't count here
|
|
//Image is not a child of loc!
|
|
/image/Destroy()
|
|
loc = null
|
|
. = ..()
|
|
|
|
|
|
/// The image's base transform scale for width.
|
|
/image/var/tf_scale_x
|
|
|
|
/// The image's base transform scale for height.
|
|
/image/var/tf_scale_y
|
|
|
|
/// The image's base transform scale for rotation.
|
|
/image/var/tf_rotation
|
|
|
|
/// The image's base transform scale for horizontal offset.
|
|
/image/var/tf_offset_x
|
|
|
|
/// The image's base transform scale for vertical offset.
|
|
/image/var/tf_offset_y
|
|
|
|
|
|
/// Clear the image's tf_* variables and the current transform state.
|
|
/image/proc/ClearTransform()
|
|
tf_scale_x = null
|
|
tf_scale_y = null
|
|
tf_rotation = null
|
|
tf_offset_x = null
|
|
tf_offset_y = null
|
|
transform = null
|
|
|
|
|
|
/// Sets the image's tf_* variables and the current transform state, also applying others if supplied.
|
|
/image/proc/SetTransform(
|
|
scale,
|
|
scale_x = tf_scale_x,
|
|
scale_y = tf_scale_y,
|
|
rotation = tf_rotation,
|
|
offset_x = tf_offset_x,
|
|
offset_y = tf_offset_y,
|
|
list/others
|
|
)
|
|
if (!isnull(scale))
|
|
tf_scale_x = scale
|
|
tf_scale_y = scale
|
|
else
|
|
tf_scale_x = scale_x
|
|
tf_scale_y = scale_y
|
|
tf_rotation = rotation
|
|
tf_offset_x = offset_x
|
|
tf_offset_y = offset_y
|
|
transform = matrix().Update(
|
|
scale_x = tf_scale_x,
|
|
scale_y = tf_scale_y,
|
|
rotation = tf_rotation,
|
|
offset_x = tf_offset_x,
|
|
offset_y = tf_offset_y,
|
|
others = others
|
|
)
|