mirror of
https://github.com/Ttanasart-pt/Pixel-Composer.git
synced 2024-12-26 06:56:45 +01:00
- [Animation Panel] Graph view for separated axis can now be toggled separately.
This commit is contained in:
parent
9f5a76f89a
commit
c54e918ff4
6 changed files with 258 additions and 190 deletions
|
@ -5,7 +5,7 @@ function draw_arc(_x, _y, _r, _as, _at, _th = 1, _pr = 32) {
|
||||||
var sgn = sign(ad);
|
var sgn = sign(ad);
|
||||||
var ar = abs(ad) / 360 * _pr;
|
var ar = abs(ad) / 360 * _pr;
|
||||||
|
|
||||||
for( var i = 0; i < ar; i++ ) {
|
for( var i = 0; i <= ar; i++ ) {
|
||||||
var a = _as + ast * i * sgn;
|
var a = _as + ast * i * sgn;
|
||||||
|
|
||||||
nx = _x + lengthdir_x(_r, a);
|
nx = _x + lengthdir_x(_r, a);
|
||||||
|
|
|
@ -80,6 +80,7 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
|
||||||
|
|
||||||
inputs[| 9] = nodeValue("Corner radius", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0)
|
inputs[| 9] = nodeValue("Corner radius", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0)
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 0.5, 0.001] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 0.5, 0.001] });
|
||||||
|
inputs[| 9].overlay_draw_text = false;
|
||||||
|
|
||||||
inputs[| 10] = nodeValue("Shape color", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white);
|
inputs[| 10] = nodeValue("Shape color", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white);
|
||||||
|
|
||||||
|
@ -150,7 +151,7 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
|
||||||
|
|
||||||
attribute_surface_depth();
|
attribute_surface_depth();
|
||||||
|
|
||||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||||
PROCESSOR_OVERLAY_CHECK
|
PROCESSOR_OVERLAY_CHECK
|
||||||
|
|
||||||
var _hov = false;
|
var _hov = false;
|
||||||
|
@ -174,28 +175,76 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
|
||||||
}
|
}
|
||||||
|
|
||||||
var _type = current_data[15];
|
var _type = current_data[15];
|
||||||
|
var _pos = [ 0, 0 ];
|
||||||
|
var _sca = [ 1, 1 ];
|
||||||
|
var _px, _py;
|
||||||
|
var hv;
|
||||||
|
|
||||||
|
var _hov = false;
|
||||||
|
var _int = hover;
|
||||||
|
|
||||||
if(_type == 0) {
|
if(_type == 0) {
|
||||||
var hv = inputs[| 3].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); _hov |= hv;
|
_pos = [ current_data[3][0], current_data[3][1] ];
|
||||||
|
_sca = [ current_data[3][2], current_data[3][3] ];
|
||||||
|
|
||||||
} else if(_type == 1) {
|
} else if(_type == 1) {
|
||||||
var _pos = current_data[16];
|
_pos = current_data[16];
|
||||||
|
_sca = current_data[17];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if(_type != 2) {
|
||||||
|
if(inputs[| 9].show_in_inspector) {
|
||||||
var _px = _x + _pos[0] * _s;
|
var _px = _x + _pos[0] * _s;
|
||||||
var _py = _y + _pos[1] * _s;
|
var _py = _y + _pos[1] * _s;
|
||||||
|
|
||||||
var hv = inputs[| 16].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); _hov |= hv;
|
var _x0 = _px - _sca[0] * _s;
|
||||||
var hv = inputs[| 17].drawOverlay(hover, active, _px, _py, _s, _mx, _my, _snx, _sny); _hov |= hv;
|
var _y0 = _py - _sca[1] * _s;
|
||||||
|
var _x1 = _px + _sca[0] * _s;
|
||||||
|
var _y1 = _py + _sca[1] * _s;
|
||||||
|
|
||||||
|
var aa = -45;
|
||||||
|
var ar = 90;
|
||||||
|
|
||||||
|
if(_sca[0] < 0 && _sca[1] < 0) { aa = 135; ar = -90; }
|
||||||
|
else if(_sca[0] < 0 && _sca[1] > 0) { aa = -135; ar = 0; }
|
||||||
|
else if(_sca[0] > 0 && _sca[1] < 0) { aa = 45; ar = 180; }
|
||||||
|
|
||||||
|
var _max_s = max(abs(_sca[0]), abs(_sca[1]));
|
||||||
|
var _corr = current_data[9] * _s * _max_s;
|
||||||
|
var _cor = _corr / (sqrt(2) - 1);
|
||||||
|
|
||||||
|
var cx = _x0 + lengthdir_x(_cor, aa);
|
||||||
|
var cy = _y0 + lengthdir_y(_cor, aa);
|
||||||
|
|
||||||
|
draw_set_color(COLORS._main_accent);
|
||||||
|
draw_arc(cx, cy, _cor - _corr, ar, ar + 90, 2);
|
||||||
|
|
||||||
|
hv = inputs[| 9].drawOverlay(_int, active, _x0, _y0, _s, _mx, _my, _snx, _sny, aa, _max_s); _hov |= hv; _int &= !_hov;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(_type == 0) {
|
||||||
|
hv = inputs[| 3].drawOverlay(_int, active, _x, _y, _s, _mx, _my, _snx, _sny); _hov |= hv; _int &= !_hov;
|
||||||
|
|
||||||
|
} else if(_type == 1) {
|
||||||
|
_px = _x + _pos[0] * _s;
|
||||||
|
_py = _y + _pos[1] * _s;
|
||||||
|
|
||||||
|
hv = inputs[| 16].drawOverlay(_int, active, _x, _y, _s, _mx, _my, _snx, _sny); _hov |= hv; _int &= !_hov;
|
||||||
|
hv = inputs[| 17].drawOverlay(_int, active, _px, _py, _s, _mx, _my, _snx, _sny); _hov |= hv; _int &= !_hov;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return _hov;
|
return _hov;
|
||||||
} #endregion
|
}
|
||||||
|
|
||||||
static processData = function(_outSurf, _data, _output_index, _array_index) { #region
|
static processData = function(_outSurf, _data, _output_index, _array_index) { #region
|
||||||
var _dim = _data[0];
|
var _dim = _data[0];
|
||||||
var _bg = _data[1];
|
var _bg = _data[1];
|
||||||
var _shape = _data[2];
|
var _shape = _data[2];
|
||||||
var _aa = _data[6];
|
var _aa = _data[6];
|
||||||
var _corner = _data[9];
|
var _corner = _data[9]; _corner = clamp(_corner, 0, .9);
|
||||||
var _color = _data[10];
|
var _color = _data[10];
|
||||||
var _df = _data[12];
|
var _df = _data[12];
|
||||||
var _path = _data[14];
|
var _path = _data[14];
|
||||||
|
@ -248,7 +297,7 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
|
||||||
_outSurf = surface_verify(_outSurf, _dim[0], _dim[1], attrDepth());
|
_outSurf = surface_verify(_outSurf, _dim[0], _dim[1], attrDepth());
|
||||||
use_path = _path != noone && struct_has(_path, "getPointRatio");
|
use_path = _path != noone && struct_has(_path, "getPointRatio");
|
||||||
|
|
||||||
if(use_path) { #region
|
if(use_path) {
|
||||||
inputs[| 3].setVisible(false);
|
inputs[| 3].setVisible(false);
|
||||||
inputs[| 4].setVisible(false);
|
inputs[| 4].setVisible(false);
|
||||||
inputs[| 5].setVisible(false);
|
inputs[| 5].setVisible(false);
|
||||||
|
@ -293,7 +342,7 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
|
||||||
surface_reset_target();
|
surface_reset_target();
|
||||||
|
|
||||||
return _outSurf;
|
return _outSurf;
|
||||||
} #endregion
|
}
|
||||||
|
|
||||||
surface_set_shader(_outSurf, sh_shape);
|
surface_set_shader(_outSurf, sh_shape);
|
||||||
if(_bg) draw_clear_alpha(0, 1);
|
if(_bg) draw_clear_alpha(0, 1);
|
||||||
|
|
|
@ -161,10 +161,12 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
draw_blend_color = 1;
|
draw_blend_color = 1;
|
||||||
|
|
||||||
__overlay_hover = [];
|
__overlay_hover = [];
|
||||||
|
overlay_draw_text = true;
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region ---- timeline ----
|
#region ---- timeline ----
|
||||||
show_graph = false;
|
show_graph = false;
|
||||||
|
show_graphs = array_create(array_safe_length(_value));
|
||||||
graph_h = ui(96);
|
graph_h = ui(96);
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
@ -1759,33 +1761,34 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
|
|
||||||
switch(display_type) {
|
switch(display_type) {
|
||||||
case VALUE_DISPLAY._default :
|
case VALUE_DISPLAY._default :
|
||||||
|
case VALUE_DISPLAY.slider :
|
||||||
var _angle = argument_count > arc + 0? argument[arc + 0] : 0;
|
var _angle = argument_count > arc + 0? argument[arc + 0] : 0;
|
||||||
var _scale = argument_count > arc + 1? argument[arc + 1] : 1;
|
var _scale = argument_count > arc + 1? argument[arc + 1] : 1;
|
||||||
var _spr = argument_count > arc + 2? argument[arc + 2] : 0;
|
var _spr = argument_count > arc + 2? argument[arc + 2] : 0;
|
||||||
return preview_overlay_scalar(value_from == noone, active, _x, _y, _s, _mx, _my, _snx, _sny, _angle, _scale, _spr);
|
return preview_overlay_scalar(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, _angle, _scale, _spr);
|
||||||
|
|
||||||
case VALUE_DISPLAY.rotation :
|
case VALUE_DISPLAY.rotation :
|
||||||
var _rad = argument_count > arc + 0? argument[ arc + 0] : 64;
|
var _rad = argument_count > arc + 0? argument[ arc + 0] : 64;
|
||||||
return preview_overlay_rotation(value_from == noone, active, _x, _y, _s, _mx, _my, _snx, _sny, _rad);
|
return preview_overlay_rotation(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, _rad);
|
||||||
|
|
||||||
case VALUE_DISPLAY.vector :
|
case VALUE_DISPLAY.vector :
|
||||||
var _typ = argument_count > arc + 0? argument[arc + 0] : 0;
|
var _typ = argument_count > arc + 0? argument[arc + 0] : 0;
|
||||||
var _sca = argument_count > arc + 1? argument[arc + 1] : 1;
|
var _sca = argument_count > arc + 1? argument[arc + 1] : 1;
|
||||||
return preview_overlay_vector(value_from == noone, active, _x, _y, _s, _mx, _my, _snx, _sny, _typ);
|
return preview_overlay_vector(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, _typ);
|
||||||
|
|
||||||
case VALUE_DISPLAY.gradient_range :
|
case VALUE_DISPLAY.gradient_range :
|
||||||
var _dim = argument[arc];
|
var _dim = argument[arc];
|
||||||
|
|
||||||
if(mappedJunc.attributes.mapped)
|
if(mappedJunc.attributes.mapped)
|
||||||
return preview_overlay_gradient_range(value_from == noone, active, _x, _y, _s, _mx, _my, _snx, _sny, _dim);
|
return preview_overlay_gradient_range(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, _dim);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VALUE_DISPLAY.area :
|
case VALUE_DISPLAY.area :
|
||||||
var _flag = argument_count > arc + 0? argument[arc + 0] : 0b0011;
|
var _flag = argument_count > arc + 0? argument[arc + 0] : 0b0011;
|
||||||
return preview_overlay_area(value_from == noone, active, _x, _y, _s, _mx, _my, _snx, _sny, _flag, struct_try_get(display_data, "onSurfaceSize"));
|
return preview_overlay_area(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, _flag, struct_try_get(display_data, "onSurfaceSize"));
|
||||||
|
|
||||||
case VALUE_DISPLAY.puppet_control :
|
case VALUE_DISPLAY.puppet_control :
|
||||||
return preview_overlay_puppet(value_from == noone, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
return preview_overlay_puppet(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||||
}
|
}
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
@ -1224,6 +1224,8 @@ function Panel_Animation() : PanelContent() constructor {
|
||||||
var _max = -999999;
|
var _max = -999999;
|
||||||
|
|
||||||
for( var i = 0, n = array_length(prop.animators); i < n; i++ ) {
|
for( var i = 0, n = array_length(prop.animators); i < n; i++ ) {
|
||||||
|
if(!prop.show_graphs[i]) continue;
|
||||||
|
|
||||||
var animator = prop.animators[i];
|
var animator = prop.animators[i];
|
||||||
for(var k = 0; k < ds_list_size(animator.values); k++) {
|
for(var k = 0; k < ds_list_size(animator.values); k++) {
|
||||||
var key_val = animator.values[| k].value;
|
var key_val = animator.values[| k].value;
|
||||||
|
@ -1239,8 +1241,11 @@ function Panel_Animation() : PanelContent() constructor {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for( var i = 0, n = array_length(prop.animators); i < n; i++ )
|
for( var i = 0, n = array_length(prop.animators); i < n; i++ ) {
|
||||||
|
if(!prop.show_graphs[i]) continue;
|
||||||
|
|
||||||
__drawDopesheetGraphLine(prop.animators[i], 0, _mmx, _mmy, _min, _max);
|
__drawDopesheetGraphLine(prop.animators[i], 0, _mmx, _mmy, _min, _max);
|
||||||
|
}
|
||||||
} else
|
} else
|
||||||
__drawDopesheetGraphLine(prop.animator, 0, _mmx, _mmy);
|
__drawDopesheetGraphLine(prop.animator, 0, _mmx, _mmy);
|
||||||
surface_reset_target();
|
surface_reset_target();
|
||||||
|
@ -1492,7 +1497,9 @@ function Panel_Animation() : PanelContent() constructor {
|
||||||
draw_rectangle(_tool_x0, ty - ui(8), _tool_x1, ty + ui(8), false);
|
draw_rectangle(_tool_x0, ty - ui(8), _tool_x1, ty + ui(8), false);
|
||||||
BLEND_NORMAL
|
BLEND_NORMAL
|
||||||
|
|
||||||
if(prop.show_graph) {
|
var _graph_show = prop.sep_axis? prop.show_graphs[animator.index] : prop.show_graph;
|
||||||
|
|
||||||
|
if(_graph_show) {
|
||||||
var _y1 = ty + ui(10) + prop.graph_h + ui(8);
|
var _y1 = ty + ui(10) + prop.graph_h + ui(8);
|
||||||
var c1 = colorMultiply(_item.item.color_cur, COLORS.panel_animation_dope_key_bg_hover);
|
var c1 = colorMultiply(_item.item.color_cur, COLORS.panel_animation_dope_key_bg_hover);
|
||||||
draw_set_color(c1);
|
draw_set_color(c1);
|
||||||
|
@ -1554,10 +1561,12 @@ function Panel_Animation() : PanelContent() constructor {
|
||||||
draw_sprite_ui_uniform(THEME.timeline_graph, 1, tx, ty, 1, COLORS._main_icon_on_inner, _tool_a);
|
draw_sprite_ui_uniform(THEME.timeline_graph, 1, tx, ty, 1, COLORS._main_icon_on_inner, _tool_a);
|
||||||
TOOLTIP = __txtx("panel_animation_show_graph", "Show graph");
|
TOOLTIP = __txtx("panel_animation_show_graph", "Show graph");
|
||||||
|
|
||||||
if(mouse_press(mb_left, pFOCUS))
|
if(mouse_press(mb_left, pFOCUS)) {
|
||||||
prop.show_graph = !prop.show_graph;
|
if(prop.sep_axis) prop.show_graphs[animator.index] = !_graph_show;
|
||||||
|
else prop.show_graph = !_graph_show;
|
||||||
|
}
|
||||||
} else
|
} else
|
||||||
draw_sprite_ui_uniform(THEME.timeline_graph, 1, tx, ty, 1, prop.show_graph? COLORS._main_accent : COLORS._main_icon, prop.show_graph? 1 : _tool_a);
|
draw_sprite_ui_uniform(THEME.timeline_graph, 1, tx, ty, 1, _graph_show? COLORS._main_accent : COLORS._main_icon, _graph_show? 1 : _tool_a);
|
||||||
}
|
}
|
||||||
|
|
||||||
tx = tool_width - ui(20 + 16 * 4.5);
|
tx = tool_width - ui(20 + 16 * 4.5);
|
||||||
|
@ -1847,7 +1856,9 @@ function Panel_Animation() : PanelContent() constructor {
|
||||||
_cont.h += ui(18);
|
_cont.h += ui(18);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(_prop.show_graph && _prop.type != VALUE_TYPE.color) {
|
var _graph_show = _prop.sep_axis? array_any(_prop.show_graphs, function(v) /*=>*/ {return v == true}) : _prop.show_graph;
|
||||||
|
|
||||||
|
if(_graph_show && _prop.type != VALUE_TYPE.color) {
|
||||||
if(_cont.item.color_cur > -1) {
|
if(_cont.item.color_cur > -1) {
|
||||||
draw_set_color(c1);
|
draw_set_color(c1);
|
||||||
draw_rectangle(0, key_y - ui(10), bar_show_w, key_y + _prop.graph_h - ui(2), false);
|
draw_rectangle(0, key_y - ui(10), bar_show_w, key_y + _prop.graph_h - ui(2), false);
|
||||||
|
@ -1905,8 +1916,10 @@ function Panel_Animation() : PanelContent() constructor {
|
||||||
var _dy = prop.y;
|
var _dy = prop.y;
|
||||||
var _prop = prop.prop;
|
var _prop = prop.prop;
|
||||||
|
|
||||||
if(isGraphable(_prop) && _prop.show_graph)
|
if(isGraphable(_prop)) {
|
||||||
_drawDopesheetGraph(_prop, _dy, msx, msy);
|
var _graph_show = _prop.sep_axis? array_any(_prop.show_graphs, function(v) /*=>*/ {return v == true}) : _prop.show_graph;
|
||||||
|
if(_graph_show) _drawDopesheetGraph(_prop, _dy, msx, msy);
|
||||||
|
}
|
||||||
|
|
||||||
for( var k = 0; k < array_length(prop.animators); k++ ) {
|
for( var k = 0; k < array_length(prop.animators); k++ ) {
|
||||||
var key = _drawDopesheetAnimatorKeysBG(prop.animators[k], msx, msy);
|
var key = _drawDopesheetAnimatorKeysBG(prop.animators[k], msx, msy);
|
||||||
|
|
|
@ -43,8 +43,7 @@ function preview_overlay_area_padding(interact, active, _x, _y, _s, _mx, _my, _s
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!interact) return -1;
|
if(interact) {
|
||||||
|
|
||||||
var _hov = [ 0, 0, 0, 0 ], _hovPos = 0;
|
var _hov = [ 0, 0, 0, 0 ], _hovPos = 0;
|
||||||
|
|
||||||
if(drag_type == 1) _r = value_snap(drag_sx - (_mx - drag_mx) / _s, _snx);
|
if(drag_type == 1) _r = value_snap(drag_sx - (_mx - drag_mx) / _s, _snx);
|
||||||
|
@ -113,6 +112,7 @@ function preview_overlay_area_padding(interact, active, _x, _y, _s, _mx, _my, _s
|
||||||
drag_mx = _mx;
|
drag_mx = _mx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for( var i = 0; i < 4; i++ )
|
for( var i = 0; i < 4; i++ )
|
||||||
__overlay_hover[i] = lerp_float(__overlay_hover[i], _hov[i], 4);
|
__overlay_hover[i] = lerp_float(__overlay_hover[i], _hov[i], 4);
|
||||||
|
@ -164,8 +164,7 @@ function preview_overlay_area_two_point(interact, active, _x, _y, _s, _mx, _my,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!interact) return -1;
|
if(interact) {
|
||||||
|
|
||||||
var _hov = [ 0, 0, 0 ];
|
var _hov = [ 0, 0, 0 ];
|
||||||
var _r = 10;
|
var _r = 10;
|
||||||
|
|
||||||
|
@ -262,6 +261,7 @@ function preview_overlay_area_two_point(interact, active, _x, _y, _s, _mx, _my,
|
||||||
drag_my = _my;
|
drag_my = _my;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for( var i = 0; i < 3; i++ )
|
for( var i = 0; i < 3; i++ )
|
||||||
__overlay_hover[i] = lerp_float(__overlay_hover[i], _hov[i], 4);
|
__overlay_hover[i] = lerp_float(__overlay_hover[i], _hov[i], 4);
|
||||||
|
@ -305,8 +305,6 @@ function preview_overlay_area_span(interact, active, _x, _y, _s, _mx, _my, _snx,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!interact) return -1;
|
|
||||||
|
|
||||||
var _hov = [ 0, 0 ];
|
var _hov = [ 0, 0 ];
|
||||||
var _r = 10;
|
var _r = 10;
|
||||||
|
|
||||||
|
@ -321,6 +319,8 @@ function preview_overlay_area_span(interact, active, _x, _y, _s, _mx, _my, _snx,
|
||||||
if((drag_type == 0 || drag_type == 1) && drawPos) draw_anchor_cross(__overlay_hover[0], _ax, _ay, _r + 4);
|
if((drag_type == 0 || drag_type == 1) && drawPos) draw_anchor_cross(__overlay_hover[0], _ax, _ay, _r + 4);
|
||||||
if((drag_type == 0 || drag_type == 2) && drawSize) draw_anchor(__overlay_hover[1], _ax + _aw, _ay + _ah, _r);
|
if((drag_type == 0 || drag_type == 2) && drawSize) draw_anchor(__overlay_hover[1], _ax + _aw, _ay + _ah, _r);
|
||||||
|
|
||||||
|
if(!interact) return -1;
|
||||||
|
|
||||||
if(drag_type == 1) {
|
if(drag_type == 1) {
|
||||||
var _xx = value_snap(drag_sx + (_mx - drag_mx) / _s, _snx);
|
var _xx = value_snap(drag_sx + (_mx - drag_mx) / _s, _snx);
|
||||||
var _yy = value_snap(drag_sy + (_my - drag_my) / _s, _sny);
|
var _yy = value_snap(drag_sy + (_my - drag_my) / _s, _sny);
|
||||||
|
|
|
@ -13,7 +13,8 @@ function preview_overlay_scalar(interact, active, _x, _y, _s, _mx, _my, _snx, _s
|
||||||
|
|
||||||
if(drag_type) {
|
if(drag_type) {
|
||||||
index = 1;
|
index = 1;
|
||||||
var dist = point_distance(_mx, _my, _x, _y) / _s / _scale;
|
var dist = point_distance(_mx, _my, _x, _y) / (_s * _scale);
|
||||||
|
|
||||||
if(key_mod_press(CTRL))
|
if(key_mod_press(CTRL))
|
||||||
dist = round(dist);
|
dist = round(dist);
|
||||||
|
|
||||||
|
@ -43,8 +44,10 @@ function preview_overlay_scalar(interact, active, _x, _y, _s, _mx, _my, _snx, _s
|
||||||
__overlay_hover[0] = lerp_float(__overlay_hover[0], index, 4);
|
__overlay_hover[0] = lerp_float(__overlay_hover[0], index, 4);
|
||||||
draw_anchor(__overlay_hover[0], _ax, _ay, _r, _type);
|
draw_anchor(__overlay_hover[0], _ax, _ay, _r, _type);
|
||||||
|
|
||||||
|
if(overlay_draw_text) {
|
||||||
draw_set_text(_f_p2b, fa_center, fa_bottom, COLORS._main_accent);
|
draw_set_text(_f_p2b, fa_center, fa_bottom, COLORS._main_accent);
|
||||||
draw_text_add(round(_ax), round(_ay - 4), name);
|
draw_text_add(round(_ax), round(_ay - 4), name);
|
||||||
|
}
|
||||||
|
|
||||||
return hover;
|
return hover;
|
||||||
}
|
}
|
Loading…
Reference in a new issue