functional
This commit is contained in:
@@ -2,6 +2,8 @@ simulated_resolution = v2(1920, 1080)
|
||||
|
||||
function screenwriter_to_coords(pos, scale)
|
||||
|
||||
local x, y, width, height, x_px, y_px, width_px, height_px, x_left, x_right, y_top, y_bottom
|
||||
|
||||
x = pos.x
|
||||
y = pos.y
|
||||
width = scale.x
|
||||
@@ -23,21 +25,45 @@ end
|
||||
|
||||
function coords_to_screenwriter(coord1, coord2)
|
||||
|
||||
local x_left, x_right, y_top, y_bottom, width, height
|
||||
|
||||
x_left = math.min(coord1.x, coord2.x)
|
||||
x_right = math.max(coord1.x, coord2.x)
|
||||
y_top = math.min(coord1.y, coord2.y)
|
||||
y_bottom = math.max(coord1.y, coord2.y)
|
||||
|
||||
width_px = x_right - x_left
|
||||
height_px = y_bottom - y_top
|
||||
width = x_right - x_left
|
||||
height = y_bottom - y_top
|
||||
|
||||
x_px = x_left + width_px / 2
|
||||
y_px = y_top + height_px / 2
|
||||
return coords_partial_to_screenwriter(v2(x_left, x_top), v2(width, height), 1)
|
||||
|
||||
x = (x_px - simulated_resolution.x / 2) / simulated_resolution.x * 2
|
||||
y = (y_px - simulated_resolution.y / 2) / simulated_resolution.y * 2
|
||||
width = (width_px - simulated_resolution.x / 2) / simulated_resolution.x * 2
|
||||
height = (height_px - simulated_resolution.y / 2) / simulated_resolution.y * 2
|
||||
end
|
||||
|
||||
function coords_partial_to_screenwriter(pos_px, scale_px, anchor)
|
||||
|
||||
local x_px, y_px, x, y, width, height
|
||||
|
||||
if anchor == 1 then --top left
|
||||
x_px = pos_px.x + scale_px.x / 2
|
||||
y_px = pos_px.y + scale_px.y / 2
|
||||
elseif anchor == 2 then --top right
|
||||
x_px = pos_px.x - scale_px.x / 2
|
||||
y_px = pos_px.y + scale_px.y / 2
|
||||
elseif anchor == 3 then --bottom right
|
||||
x_px = pos_px.x - scale_px.x / 2
|
||||
y_px = pos_px.y - scale_px.y / 2
|
||||
elseif anchor == 4 then --bottom left
|
||||
x_px = pos_px.x + scale_px.x / 2
|
||||
y_px = pos_px.y - scale_px.y / 2
|
||||
else --center
|
||||
x_px = pos_px.x
|
||||
y_px = pos_px.y
|
||||
end
|
||||
|
||||
x = x_px / simulated_resolution.x * 2 - 1
|
||||
y = y_px / simulated_resolution.y * 2 - 1
|
||||
width = scale_px.x / simulated_resolution.x * 2
|
||||
height = scale_px.y / simulated_resolution.y * 2
|
||||
|
||||
return v2(x, y), v2(width, height)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user