1.17.10.006
|
@ -662,6 +662,7 @@
|
||||||
{"name":"json_functions","order":8,"path":"scripts/json_functions/json_functions.yy",},
|
{"name":"json_functions","order":8,"path":"scripts/json_functions/json_functions.yy",},
|
||||||
{"name":"json_minify","order":6,"path":"scripts/json_minify/json_minify.yy",},
|
{"name":"json_minify","order":6,"path":"scripts/json_minify/json_minify.yy",},
|
||||||
{"name":"json_prettify","order":7,"path":"scripts/json_prettify/json_prettify.yy",},
|
{"name":"json_prettify","order":7,"path":"scripts/json_prettify/json_prettify.yy",},
|
||||||
|
{"name":"keyboard_display","order":3,"path":"scripts/keyboard_display/keyboard_display.yy",},
|
||||||
{"name":"keyboard_function","order":2,"path":"scripts/keyboard_function/keyboard_function.yy",},
|
{"name":"keyboard_function","order":2,"path":"scripts/keyboard_function/keyboard_function.yy",},
|
||||||
{"name":"lcd_function","order":2,"path":"scripts/lcd_function/lcd_function.yy",},
|
{"name":"lcd_function","order":2,"path":"scripts/lcd_function/lcd_function.yy",},
|
||||||
{"name":"lerp_float","order":1,"path":"scripts/lerp_float/lerp_float.yy",},
|
{"name":"lerp_float","order":1,"path":"scripts/lerp_float/lerp_float.yy",},
|
||||||
|
@ -1820,6 +1821,7 @@
|
||||||
{"name":"s_checkbox","order":16,"path":"sprites/s_checkbox/s_checkbox.yy",},
|
{"name":"s_checkbox","order":16,"path":"sprites/s_checkbox/s_checkbox.yy",},
|
||||||
{"name":"s_circle_16","order":33,"path":"sprites/s_circle_16/s_circle_16.yy",},
|
{"name":"s_circle_16","order":33,"path":"sprites/s_circle_16/s_circle_16.yy",},
|
||||||
{"name":"s_circle_8","order":34,"path":"sprites/s_circle_8/s_circle_8.yy",},
|
{"name":"s_circle_8","order":34,"path":"sprites/s_circle_8/s_circle_8.yy",},
|
||||||
|
{"name":"s_circle_hotkey","order":231,"path":"sprites/s_circle_hotkey/s_circle_hotkey.yy",},
|
||||||
{"name":"s_circle_toggle_8","order":35,"path":"sprites/s_circle_toggle_8/s_circle_toggle_8.yy",},
|
{"name":"s_circle_toggle_8","order":35,"path":"sprites/s_circle_toggle_8/s_circle_toggle_8.yy",},
|
||||||
{"name":"s_close_16","order":36,"path":"sprites/s_close_16/s_close_16.yy",},
|
{"name":"s_close_16","order":36,"path":"sprites/s_close_16/s_close_16.yy",},
|
||||||
{"name":"s_code_show_auto","order":37,"path":"sprites/s_code_show_auto/s_code_show_auto.yy",},
|
{"name":"s_code_show_auto","order":37,"path":"sprites/s_code_show_auto/s_code_show_auto.yy",},
|
||||||
|
|
|
@ -1194,6 +1194,7 @@
|
||||||
{"id":{"name":"json_minify","path":"scripts/json_minify/json_minify.yy",},},
|
{"id":{"name":"json_minify","path":"scripts/json_minify/json_minify.yy",},},
|
||||||
{"id":{"name":"json_prettify","path":"scripts/json_prettify/json_prettify.yy",},},
|
{"id":{"name":"json_prettify","path":"scripts/json_prettify/json_prettify.yy",},},
|
||||||
{"id":{"name":"key_press","path":"scripts/key_press/key_press.yy",},},
|
{"id":{"name":"key_press","path":"scripts/key_press/key_press.yy",},},
|
||||||
|
{"id":{"name":"keyboard_display","path":"scripts/keyboard_display/keyboard_display.yy",},},
|
||||||
{"id":{"name":"keyboard_function","path":"scripts/keyboard_function/keyboard_function.yy",},},
|
{"id":{"name":"keyboard_function","path":"scripts/keyboard_function/keyboard_function.yy",},},
|
||||||
{"id":{"name":"lcd_function","path":"scripts/lcd_function/lcd_function.yy",},},
|
{"id":{"name":"lcd_function","path":"scripts/lcd_function/lcd_function.yy",},},
|
||||||
{"id":{"name":"lerp_float","path":"scripts/lerp_float/lerp_float.yy",},},
|
{"id":{"name":"lerp_float","path":"scripts/lerp_float/lerp_float.yy",},},
|
||||||
|
@ -2523,6 +2524,7 @@
|
||||||
{"id":{"name":"s_checkbox","path":"sprites/s_checkbox/s_checkbox.yy",},},
|
{"id":{"name":"s_checkbox","path":"sprites/s_checkbox/s_checkbox.yy",},},
|
||||||
{"id":{"name":"s_circle_16","path":"sprites/s_circle_16/s_circle_16.yy",},},
|
{"id":{"name":"s_circle_16","path":"sprites/s_circle_16/s_circle_16.yy",},},
|
||||||
{"id":{"name":"s_circle_8","path":"sprites/s_circle_8/s_circle_8.yy",},},
|
{"id":{"name":"s_circle_8","path":"sprites/s_circle_8/s_circle_8.yy",},},
|
||||||
|
{"id":{"name":"s_circle_hotkey","path":"sprites/s_circle_hotkey/s_circle_hotkey.yy",},},
|
||||||
{"id":{"name":"s_circle_toggle_8","path":"sprites/s_circle_toggle_8/s_circle_toggle_8.yy",},},
|
{"id":{"name":"s_circle_toggle_8","path":"sprites/s_circle_toggle_8/s_circle_toggle_8.yy",},},
|
||||||
{"id":{"name":"s_close_16","path":"sprites/s_close_16/s_close_16.yy",},},
|
{"id":{"name":"s_close_16","path":"sprites/s_close_16/s_close_16.yy",},},
|
||||||
{"id":{"name":"s_code_show_auto","path":"sprites/s_code_show_auto/s_code_show_auto.yy",},},
|
{"id":{"name":"s_code_show_auto","path":"sprites/s_code_show_auto/s_code_show_auto.yy",},},
|
||||||
|
|
|
@ -3,6 +3,4 @@ event_inherited();
|
||||||
for( var i = 0, n = array_length(children); i < n; i++ )
|
for( var i = 0, n = array_length(children); i < n; i++ )
|
||||||
instance_destroy(children[i]);
|
instance_destroy(children[i]);
|
||||||
|
|
||||||
// print(FOCUS);
|
if(FOCUS == noone && instance_number(o_dialog_menubox) == 1) FOCUS = FOCUS_BEFORE;
|
||||||
// if(instance_number(o_dialog_menubox) == 1)
|
|
||||||
// FOCUS = FOCUS_BEFORE;
|
|
|
@ -88,17 +88,12 @@ if(!ready) exit;
|
||||||
};
|
};
|
||||||
|
|
||||||
selecting_menu = _menuItem;
|
selecting_menu = _menuItem;
|
||||||
var _loadKey = _key.full_name();
|
|
||||||
|
|
||||||
var context_menu_settings = [
|
|
||||||
_loadKey,
|
|
||||||
menuItem("Edit hotkey", function() /*=>*/ {
|
|
||||||
hk_editing = selecting_menu;
|
|
||||||
keyboard_lastchar = hk_editing.hoykeyObject.key;
|
|
||||||
}),
|
|
||||||
];
|
|
||||||
|
|
||||||
with(o_dialog_menubox) { if(!remove_parents) instance_destroy(); }
|
with(o_dialog_menubox) { if(!remove_parents) instance_destroy(); }
|
||||||
|
var context_menu_settings = [
|
||||||
|
_key.full_name(),
|
||||||
|
menuItem(__txt("Edit hotkey"), function() /*=>*/ { hk_editing = selecting_menu; keyboard_lastchar = hk_editing.hoykeyObject.key; }),
|
||||||
|
];
|
||||||
|
|
||||||
item_selecting = submenuCall(_dat, context_menu_settings);
|
item_selecting = submenuCall(_dat, context_menu_settings);
|
||||||
item_selecting.remove_parents = false;
|
item_selecting.remove_parents = false;
|
||||||
|
|
|
@ -7,11 +7,12 @@ event_inherited();
|
||||||
padding = ui(8);
|
padding = ui(8);
|
||||||
title_height = ui(24);
|
title_height = ui(24);
|
||||||
dialog_resizable = true;
|
dialog_resizable = true;
|
||||||
|
destroy_on_click_out = true;
|
||||||
|
destroy_on_escape = false;
|
||||||
|
|
||||||
panel = surface_create(dialog_w, dialog_h);
|
panel = surface_create(dialog_w, dialog_h);
|
||||||
mask_surface = noone;
|
mask_surface = noone;
|
||||||
content = noone;
|
content = noone;
|
||||||
destroy_on_click_out = true;
|
|
||||||
|
|
||||||
function setContent(content) {
|
function setContent(content) {
|
||||||
self.content = content;
|
self.content = content;
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
event_inherited();
|
event_inherited();
|
||||||
|
|
||||||
#region data
|
#region data
|
||||||
dialog_w = ui(900);
|
dialog_w = min(WIN_W - ui(16), ui(1000));
|
||||||
dialog_h = ui(640);
|
dialog_h = min(WIN_H - ui(16), ui(700));
|
||||||
page_width = ui(160);
|
page_width = ui(160);
|
||||||
|
|
||||||
destroy_on_click_out = true;
|
destroy_on_click_out = true;
|
||||||
|
@ -20,7 +20,7 @@ event_inherited();
|
||||||
panel_width = dialog_w - ui(padding + padding) - page_width;
|
panel_width = dialog_w - ui(padding + padding) - page_width;
|
||||||
panel_height = dialog_h - ui(title_height + padding);
|
panel_height = dialog_h - ui(title_height + padding);
|
||||||
|
|
||||||
hotkey_cont_h = ui(0);
|
hotkey_cont_h = ui(240);
|
||||||
hotkey_height = panel_height - hotkey_cont_h - ui(32);
|
hotkey_height = panel_height - hotkey_cont_h - ui(32);
|
||||||
|
|
||||||
onResize = function() /*=>*/ {
|
onResize = function() /*=>*/ {
|
||||||
|
@ -639,9 +639,17 @@ event_inherited();
|
||||||
|
|
||||||
#region hotkey
|
#region hotkey
|
||||||
hk_editing = noone;
|
hk_editing = noone;
|
||||||
|
hk_modifiers = MOD_KEY.none;
|
||||||
hotkeyContext = [];
|
hotkeyContext = [];
|
||||||
hotkeyArray = [];
|
hotkeyArray = [];
|
||||||
|
|
||||||
|
hotkey_focus = noone;
|
||||||
|
hotkey_focus_highlight = noone;
|
||||||
|
hotkey_focus_high_bg = 0;
|
||||||
|
hotkey_focus_index = 0;
|
||||||
|
|
||||||
|
keyboards_display = new KeyboardDisplay();
|
||||||
|
|
||||||
for(var j = 0; j < ds_list_size(HOTKEY_CONTEXT); j++) {
|
for(var j = 0; j < ds_list_size(HOTKEY_CONTEXT); j++) {
|
||||||
var ctx = HOTKEY_CONTEXT[| j];
|
var ctx = HOTKEY_CONTEXT[| j];
|
||||||
var _lst = [];
|
var _lst = [];
|
||||||
|
@ -676,14 +684,11 @@ event_inherited();
|
||||||
}
|
}
|
||||||
|
|
||||||
array_push(hotkeyContext, { context: ctx, list: _lst });
|
array_push(hotkeyContext, { context: ctx, list: _lst });
|
||||||
|
array_push(hotkeyArray, $" - {ctx}");
|
||||||
var _title = ctx == ""? "Global" : ctx;
|
|
||||||
_title = string_replace_all(_title, "_", " ");
|
|
||||||
array_push(hotkeyArray, _title);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
hk_page = 0;
|
hk_page = 0;
|
||||||
hk_scroll = new scrollBox(hotkeyArray, function(val) /*=>*/ { hk_page = val; });
|
hk_scroll = new scrollBox(hotkeyArray, function(val) /*=>*/ { hk_page = val; sp_hotkey.scroll_y_to = 0; });
|
||||||
hk_scroll.align = fa_left;
|
hk_scroll.align = fa_left;
|
||||||
|
|
||||||
sp_hotkey = new scrollPane(panel_width, hotkey_height, function(_y, _m) {
|
sp_hotkey = new scrollPane(panel_width, hotkey_height, function(_y, _m) {
|
||||||
|
@ -705,31 +710,21 @@ event_inherited();
|
||||||
var _hov = sHOVER && sp_hotkey.hover;
|
var _hov = sHOVER && sp_hotkey.hover;
|
||||||
var modified = false;
|
var modified = false;
|
||||||
|
|
||||||
// for (var i = 0, n = array_length(hotkeyContext); i < n; i++) {
|
|
||||||
// var _ctxObj = hotkeyContext[i];
|
|
||||||
var _ctxObj = hotkeyContext[hk_page];
|
var _ctxObj = hotkeyContext[hk_page];
|
||||||
var _cntx = _ctxObj.context;
|
var _cntx = _ctxObj.context;
|
||||||
var _list = _ctxObj.list;
|
var _list = _ctxObj.list;
|
||||||
var _yy = yy + hh;
|
var _yy = yy + hh;
|
||||||
|
|
||||||
// var _grlab = _cntx == ""? __txt("Global") : _cntx;
|
var _search = string_lower(search_text);
|
||||||
// draw_set_text(f_p1, fa_left, fa_top, COLORS._main_text_sub);
|
|
||||||
// draw_text_add(ui(8), _yy, _grlab);
|
|
||||||
|
|
||||||
// array_push(sect, [ _grlab, sp_hotkey, hh + ui(12) ]);
|
|
||||||
// if(_yy >= 0 && section_current == "")
|
|
||||||
// section_current = psect;
|
|
||||||
// psect = _grlab;
|
|
||||||
|
|
||||||
ind = 0;
|
|
||||||
// hh += string_height("l") + ui(8);
|
|
||||||
|
|
||||||
for (var j = 0, m = array_length(_list); j < m; j++) {
|
for (var j = 0, m = array_length(_list); j < m; j++) {
|
||||||
|
|
||||||
var key = _list[j];
|
var key = _list[j];
|
||||||
var name = __txt(key.name);
|
var name = __txt(key.name);
|
||||||
|
var dk = key_get_name(key.key, key.modi);
|
||||||
|
|
||||||
if(search_text != "" && string_pos(string_lower(search_text), string_lower(name)) == 0)
|
if(_search != "" && string_pos(_search, string_lower(name)) == 0
|
||||||
|
&& string_pos(_search, string_lower(dk)) == 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
var pkey = key.key;
|
var pkey = key.key;
|
||||||
|
@ -737,12 +732,14 @@ event_inherited();
|
||||||
var _yy = yy + hh;
|
var _yy = yy + hh;
|
||||||
var _lb_y = _yy;
|
var _lb_y = _yy;
|
||||||
|
|
||||||
|
if(hotkey_focus == key) sp_hotkey.scroll_y_to = -hh;
|
||||||
|
|
||||||
if(ind++ % 2 == 0) draw_sprite_stretched_ext(THEME.ui_panel_bg, 0, 0, _yy - padd, _ww, th + padd * 2, COLORS.dialog_preference_prop_bg, 1);
|
if(ind++ % 2 == 0) draw_sprite_stretched_ext(THEME.ui_panel_bg, 0, 0, _yy - padd, _ww, th + padd * 2, COLORS.dialog_preference_prop_bg, 1);
|
||||||
|
if(hotkey_focus_highlight == key) draw_sprite_stretched_add(THEME.ui_panel, 0, 0, _yy - padd, _ww, th + padd * 2, COLORS._main_accent, min(1, hotkey_focus_high_bg) * .5);
|
||||||
|
|
||||||
draw_set_text(f_p2, fa_left, fa_top, COLORS._main_text);
|
draw_set_text(f_p2, fa_left, fa_top, COLORS._main_text);
|
||||||
draw_text_add(ui(24), _lb_y, name);
|
draw_text_add(ui(24), _lb_y, name);
|
||||||
|
|
||||||
var dk = key_get_name(key.key, key.modi);
|
|
||||||
var kw = string_width(dk);
|
var kw = string_width(dk);
|
||||||
|
|
||||||
var tx = key_x1 - ui(24);
|
var tx = key_x1 - ui(24);
|
||||||
|
@ -778,7 +775,7 @@ event_inherited();
|
||||||
|
|
||||||
if(key.key != key.dKey || key.modi != key.dModi) {
|
if(key.key != key.dKey || key.modi != key.dModi) {
|
||||||
modified = true;
|
modified = true;
|
||||||
var bx = x1 - ui(32);
|
var bx = _ww - ui(32);
|
||||||
var by = _yy + th / 2 - ui(12);
|
var by = _yy + th / 2 - ui(12);
|
||||||
var b = buttonInstant(THEME.button_hide, bx, by, ui(24), ui(24), _m, sFOCUS, _hov, __txt("Reset"), THEME.refresh_16);
|
var b = buttonInstant(THEME.button_hide, bx, by, ui(24), ui(24), _m, sFOCUS, _hov, __txt("Reset"), THEME.refresh_16);
|
||||||
|
|
||||||
|
@ -793,9 +790,11 @@ event_inherited();
|
||||||
|
|
||||||
hh += th + padd * 2;
|
hh += th + padd * 2;
|
||||||
}
|
}
|
||||||
// }
|
|
||||||
|
|
||||||
// sections[page_current] = sect;
|
hotkey_focus = noone;
|
||||||
|
hotkey_focus_high_bg = lerp_linear(hotkey_focus_high_bg, 0, DELTA_TIME);
|
||||||
|
if(hotkey_focus_high_bg == 0) hotkey_focus_highlight = noone;
|
||||||
|
|
||||||
if(hk_editing != noone) hotkey_editing(hk_editing);
|
if(hk_editing != noone) hotkey_editing(hk_editing);
|
||||||
|
|
||||||
return hh + ui(32);
|
return hh + ui(32);
|
||||||
|
@ -917,9 +916,7 @@ event_inherited();
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region search
|
#region search
|
||||||
tb_search = new textBox(TEXTBOX_INPUT.text, function(str) /*=>*/ {
|
tb_search = new textBox(TEXTBOX_INPUT.text, function(str) /*=>*/ { search_text = str; });
|
||||||
search_text = str;
|
|
||||||
});
|
|
||||||
tb_search.align = fa_left;
|
tb_search.align = fa_left;
|
||||||
|
|
||||||
search_text = "";
|
search_text = "";
|
||||||
|
|
|
@ -96,6 +96,148 @@ if !ready exit;
|
||||||
if(mouse_press(mb_left, sFOCUS))
|
if(mouse_press(mb_left, sFOCUS))
|
||||||
hk_editing = noone;
|
hk_editing = noone;
|
||||||
|
|
||||||
|
var hk_w = panel_width;
|
||||||
|
var hk_h = hotkey_cont_h - ui(16);
|
||||||
|
var kdsp = keyboards_display;
|
||||||
|
var keys = keyboards_display.keys;
|
||||||
|
|
||||||
|
var ks = min(hk_w / kdsp.width, hk_h / kdsp.height);
|
||||||
|
var _kww = ks * kdsp.width;
|
||||||
|
var _khh = ks * kdsp.height;
|
||||||
|
|
||||||
|
var _ksx = px + hk_w / 2 - _kww / 2;
|
||||||
|
var _ksy = py + hk_h / 2 - _khh / 2;
|
||||||
|
var _kp = ui(2);
|
||||||
|
|
||||||
|
var _keyUsing = {};
|
||||||
|
var _ctxObj = hotkeyContext[hk_page];
|
||||||
|
var _cntx = _ctxObj.context;
|
||||||
|
var _list = _ctxObj.list;
|
||||||
|
|
||||||
|
for (var j = 0, m = array_length(_list); j < m; j++) {
|
||||||
|
|
||||||
|
var _ky = _list[j];
|
||||||
|
var _kkey = _ky.key;
|
||||||
|
var _kmod = _ky.modi;
|
||||||
|
|
||||||
|
if(_kkey == noone && _kmod == MOD_KEY.none) continue;
|
||||||
|
|
||||||
|
if(!struct_has(_keyUsing, _kkey))
|
||||||
|
_keyUsing[$ _kkey] = {};
|
||||||
|
|
||||||
|
var _kuse = _keyUsing[$ _kkey];
|
||||||
|
if(!struct_has(_kuse, _kmod))
|
||||||
|
_kuse[$ _kmod] = [];
|
||||||
|
|
||||||
|
array_append(_kuse[$ _kmod], _ky);
|
||||||
|
}
|
||||||
|
|
||||||
|
var c_control = CDEF.orange, kc_control = colorMultiply(CDEF.main_dkgrey, c_control);
|
||||||
|
var c_shift = CDEF.blue, kc_shift = colorMultiply(CDEF.main_dkgrey, c_shift);
|
||||||
|
var c_alt = CDEF.lime, kc_alt = colorMultiply(CDEF.main_dkgrey, c_alt);
|
||||||
|
var _sel = true;
|
||||||
|
|
||||||
|
var _mod_arr = [
|
||||||
|
MOD_KEY.ctrl, MOD_KEY.shift, MOD_KEY.alt,
|
||||||
|
MOD_KEY.ctrl | MOD_KEY.shift,
|
||||||
|
MOD_KEY.ctrl | MOD_KEY.alt,
|
||||||
|
MOD_KEY.shift | MOD_KEY.alt,
|
||||||
|
MOD_KEY.ctrl | MOD_KEY.shift | MOD_KEY.alt,
|
||||||
|
];
|
||||||
|
|
||||||
|
var _cur_mod = MOD_KEY.ctrl * key_mod_press(CTRL)
|
||||||
|
+ MOD_KEY.shift * key_mod_press(SHIFT)
|
||||||
|
+ MOD_KEY.alt * key_mod_press(ALT)
|
||||||
|
|
||||||
|
var _cmod = _cur_mod == MOD_KEY.none? hk_modifiers : _cur_mod;
|
||||||
|
|
||||||
|
draw_set_text(f_p4, fa_center, fa_center);
|
||||||
|
for (var i = 0, n = array_length(keys); i < n; i++) {
|
||||||
|
var _key = keys[i];
|
||||||
|
var _kx = _ksx + _key.x * ks;
|
||||||
|
var _ky = _ksy + _key.y * ks;
|
||||||
|
var _kw = _key.w * ks;
|
||||||
|
var _kh = _key.h * ks;
|
||||||
|
var _vk = _key.vk;
|
||||||
|
|
||||||
|
_kx += _kw / 2 - (_kw - _kp) / 2;
|
||||||
|
_ky += _kh / 2 - (_kh - _kp) / 2;
|
||||||
|
_kw -= _kp;
|
||||||
|
_kh -= _kp;
|
||||||
|
|
||||||
|
if(_vk == -1) {
|
||||||
|
draw_sprite_stretched_ext(THEME.ui_panel, 0, _kx, _ky, _kw, _kh, CDEF.main_black, 0.3);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
var _tc = CDEF.main_grey;
|
||||||
|
var _hov = sHOVER && point_in_rectangle(mouse_mx, mouse_my, _kx - _kp, _ky - _kp, _kx + _kw + _kp - 1, _ky + _kh + _kp - 1);
|
||||||
|
|
||||||
|
if(_vk == vk_control) {
|
||||||
|
_sel = bool(MOD_KEY.ctrl & _cmod);
|
||||||
|
|
||||||
|
draw_sprite_stretched_ext(THEME.ui_panel, 0, _kx, _ky, _kw, _kh, _sel? c_control : kc_control);
|
||||||
|
_tc = _sel? kc_control : c_control;
|
||||||
|
|
||||||
|
if(mouse_press(mb_left, sFOCUS && _hov)) hk_modifiers ^= MOD_KEY.ctrl;
|
||||||
|
|
||||||
|
} else if(_vk == vk_shift) {
|
||||||
|
_sel = bool(MOD_KEY.shift & _cmod);
|
||||||
|
|
||||||
|
draw_sprite_stretched_ext(THEME.ui_panel, 0, _kx, _ky, _kw, _kh, _sel? c_shift : kc_shift);
|
||||||
|
_tc = _sel? kc_shift : c_shift;
|
||||||
|
|
||||||
|
if(mouse_press(mb_left, sFOCUS && _hov)) hk_modifiers ^= MOD_KEY.shift;
|
||||||
|
|
||||||
|
} else if(_vk == vk_alt) {
|
||||||
|
_sel = bool(MOD_KEY.alt & _cmod);
|
||||||
|
|
||||||
|
draw_sprite_stretched_ext(THEME.ui_panel, 0, _kx, _ky, _kw, _kh, _sel? c_alt : kc_alt);
|
||||||
|
_tc = _sel? kc_alt : c_alt;
|
||||||
|
|
||||||
|
if(mouse_press(mb_left, sFOCUS && _hov)) hk_modifiers ^= MOD_KEY.alt;
|
||||||
|
|
||||||
|
} else if(struct_has(_keyUsing, _vk) && struct_has(_keyUsing[$ _vk], _cmod)) {
|
||||||
|
draw_sprite_stretched_ext(THEME.ui_panel, 0, _kx, _ky, _kw, _kh, CDEF.main_ltgrey);
|
||||||
|
draw_sprite_stretched_add(THEME.ui_panel, 1, _kx, _ky, _kw, _kh, c_white, 0.1);
|
||||||
|
_tc = CDEF.main_mdblack;
|
||||||
|
|
||||||
|
var _act = _keyUsing[$ _vk][$ _cmod];
|
||||||
|
|
||||||
|
if(_hov) {
|
||||||
|
TOOLTIP = new tooltipHotkey_assign(_act, key_get_name(_vk, _cmod));
|
||||||
|
|
||||||
|
if(mouse_press(mb_left, sFOCUS)) {
|
||||||
|
if(hotkey_focus_index >= array_length(_act))
|
||||||
|
hotkey_focus_index = 0;
|
||||||
|
|
||||||
|
hotkey_focus = _act[hotkey_focus_index];
|
||||||
|
hotkey_focus_highlight = _act[hotkey_focus_index];
|
||||||
|
hotkey_focus_high_bg = 1;
|
||||||
|
|
||||||
|
hotkey_focus_index++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
draw_sprite_stretched_ext(THEME.ui_panel, 0, _kx, _ky, _kw, _kh, CDEF.main_black);
|
||||||
|
_tc = CDEF.main_grey;
|
||||||
|
|
||||||
|
if(_hov) {
|
||||||
|
TOOLTIP = new tooltipHotkey_assign(noone, key_get_name(_vk, _cmod));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
draw_sprite_stretched_add(THEME.ui_panel, 1, _kx, _ky, _kw, _kh, c_white, 0.1 + _hov * 0.2);
|
||||||
|
|
||||||
|
if(is_string(_key.key)) {
|
||||||
|
draw_set_color(_tc);
|
||||||
|
draw_set_alpha(1);
|
||||||
|
draw_text(_kx + _kw / 2, _ky + _kh / 2, _key.key);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
var _ppy = py + hotkey_cont_h;
|
var _ppy = py + hotkey_cont_h;
|
||||||
|
|
||||||
hk_scroll.font = f_p2;
|
hk_scroll.font = f_p2;
|
||||||
|
|
|
@ -4,3 +4,5 @@ event_inherited();
|
||||||
if(initVal > -1)
|
if(initVal > -1)
|
||||||
scrollbox.onModify(initVal);
|
scrollbox.onModify(initVal);
|
||||||
scrollbox.open = false;
|
scrollbox.open = false;
|
||||||
|
|
||||||
|
if(FOCUS == noone && instance_number(o_dialog_scrollbox_horizontal) == 1) FOCUS = FOCUS_BEFORE;
|
|
@ -4,3 +4,5 @@ event_inherited();
|
||||||
if(initVal > -1)
|
if(initVal > -1)
|
||||||
scrollbox.onModify(initVal);
|
scrollbox.onModify(initVal);
|
||||||
scrollbox.open = false;
|
scrollbox.open = false;
|
||||||
|
|
||||||
|
if(FOCUS == noone && instance_number(o_dialog_scrollbox) == 1) FOCUS = FOCUS_BEFORE;
|
|
@ -27,27 +27,23 @@ if(PROJECT.active && !PROJECT.safeMode) { //node step
|
||||||
if(!instance_exists(o_dialog_preference) && !HOTKEY_BLOCK) {
|
if(!instance_exists(o_dialog_preference) && !HOTKEY_BLOCK) {
|
||||||
if(ds_map_exists(HOTKEYS, "")) {
|
if(ds_map_exists(HOTKEYS, "")) {
|
||||||
var l = HOTKEYS[? ""];
|
var l = HOTKEYS[? ""];
|
||||||
for(var i = 0; i < ds_list_size(l); i++) {
|
for(var i = 0, n = ds_list_size(l); i < n; i++) {
|
||||||
var hotkey = l[| i];
|
var hotkey = l[| i];
|
||||||
if(hotkey.key == 0 && hotkey.modi == MOD_KEY.none) continue;
|
if(hotkey.key == 0 && hotkey.modi == MOD_KEY.none) continue;
|
||||||
|
|
||||||
if(key_press(hotkey.key, hotkey.modi)) {
|
if(key_press(hotkey.key, hotkey.modi))
|
||||||
hotkey.action();
|
hotkey.action();
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(ds_map_exists(HOTKEYS, FOCUS_STR)) {
|
if(ds_map_exists(HOTKEYS, FOCUS_STR)) {
|
||||||
var list = HOTKEYS[? FOCUS_STR];
|
var list = HOTKEYS[? FOCUS_STR];
|
||||||
for(var i = 0; i < ds_list_size(list); i++) {
|
for(var i = 0, n = ds_list_size(list); i < n; i++) {
|
||||||
var hotkey = list[| i];
|
var hotkey = list[| i];
|
||||||
if(hotkey.key == 0 && hotkey.modi == MOD_KEY.none) continue;
|
if(hotkey.key == 0 && hotkey.modi == MOD_KEY.none) continue;
|
||||||
|
|
||||||
if(key_press(hotkey.key, hotkey.modi)) {
|
if(key_press(hotkey.key, hotkey.modi))
|
||||||
hotkey.action();
|
hotkey.action();
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
function __Panel_Linear_Setting_Item(name, editWidget, data, onEdit = noone, getDefault = noone) constructor {
|
function __Panel_Linear_Setting_Item(name, editWidget, data, onEdit = noone, getDefault = noone, action = noone) constructor {
|
||||||
self.name = name;
|
self.name = name;
|
||||||
self.editWidget = editWidget;
|
self.editWidget = editWidget;
|
||||||
self.data = data;
|
self.data = data;
|
||||||
|
|
||||||
self.onEdit = onEdit;
|
self.onEdit = onEdit;
|
||||||
self.getDefault = getDefault;
|
self.getDefault = getDefault;
|
||||||
|
self.action = action == noone? noone : struct_try_get(FUNCTIONS, string_to_var2(action[0], action[1]), noone);
|
||||||
|
|
||||||
self.is_patreon = false;
|
self.is_patreon = false;
|
||||||
|
|
||||||
|
@ -27,21 +28,24 @@ function __Panel_Linear_Setting_Label(name, sprite, _index = 0, _color = c_white
|
||||||
}
|
}
|
||||||
|
|
||||||
function Panel_Linear_Setting() : PanelContent() constructor {
|
function Panel_Linear_Setting() : PanelContent() constructor {
|
||||||
title = __txtx("preview_3d_settings", "3D Preview Settings");
|
title = __txt("Settings");
|
||||||
|
|
||||||
w = ui(400);
|
w = ui(400);
|
||||||
|
wdgw = ui(180);
|
||||||
|
|
||||||
bg_y = -1;
|
bg_y = -1;
|
||||||
bg_y_to = -1;
|
bg_y_to = -1;
|
||||||
bg_a = 0;
|
bg_a = 0;
|
||||||
|
|
||||||
properties = []
|
hk_editing = noone;
|
||||||
|
selecting_menu = noone;
|
||||||
|
properties = [];
|
||||||
|
|
||||||
static setHeight = function() { h = ui(12 + 36 * array_length(properties)); }
|
static setHeight = function() { h = ui(12 + 36 * array_length(properties)); }
|
||||||
|
|
||||||
static drawSettings = function(panel) {
|
static drawSettings = function(panel) {
|
||||||
var yy = ui(24);
|
var yy = ui(24);
|
||||||
var th = ui(36);
|
var th = ui(36);
|
||||||
var ww = w - ui(180);
|
var ww = wdgw;
|
||||||
var wh = TEXTBOX_HEIGHT;
|
var wh = TEXTBOX_HEIGHT;
|
||||||
|
|
||||||
var _hov = false;
|
var _hov = false;
|
||||||
|
@ -75,8 +79,6 @@ function Panel_Linear_Setting() : PanelContent() constructor {
|
||||||
_widg.setFocusHover(pFOCUS, pHOVER);
|
_widg.setFocusHover(pFOCUS, pHOVER);
|
||||||
_widg.register();
|
_widg.register();
|
||||||
|
|
||||||
//if(i % 2) draw_sprite_stretched_ext(THEME.ui_panel_bg, 0, ui(4), yy - th / 2, w - ui(8), th, COLORS.panel_prop_bg, 0.25);
|
|
||||||
|
|
||||||
if(pHOVER && point_in_rectangle(mx, my, 0, yy - th / 2, w, yy + th / 2)) {
|
if(pHOVER && point_in_rectangle(mx, my, 0, yy - th / 2, w, yy + th / 2)) {
|
||||||
bg_y_to = yy - th / 2;
|
bg_y_to = yy - th / 2;
|
||||||
_hov = true;
|
_hov = true;
|
||||||
|
@ -99,6 +101,50 @@ function Panel_Linear_Setting() : PanelContent() constructor {
|
||||||
|
|
||||||
_widg.drawParam(params);
|
_widg.drawParam(params);
|
||||||
|
|
||||||
|
if(_prop.action != noone) {
|
||||||
|
var _key = _prop.action.hotkey;
|
||||||
|
|
||||||
|
if(_hov && !_widg.inBBOX([ mx, my ]) && mouse_press(mb_right)) {
|
||||||
|
selecting_menu = _key;
|
||||||
|
|
||||||
|
var context_menu_settings = [
|
||||||
|
_key.full_name(),
|
||||||
|
menuItem(__txt("Edit hotkey"), function() /*=>*/ { hk_editing = selecting_menu; keyboard_lastchar = hk_editing.key; }),
|
||||||
|
];
|
||||||
|
|
||||||
|
menuCall("", context_menu_settings);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(_key) {
|
||||||
|
draw_set_font(f_p1);
|
||||||
|
|
||||||
|
var _ktxt = key_get_name(_key.key, _key.modi);
|
||||||
|
var _tw = string_width(_ktxt);
|
||||||
|
var _th = line_get_height();
|
||||||
|
|
||||||
|
var _hx = _x1 - ww - ui(16);
|
||||||
|
var _hy = yy + ui(2);
|
||||||
|
|
||||||
|
var _bx = _hx - _tw - ui(4);
|
||||||
|
var _by = _hy - _th / 2 - ui(3);
|
||||||
|
var _bw = _tw + ui(8);
|
||||||
|
var _bh = _th + ui(3);
|
||||||
|
|
||||||
|
if(hk_editing == _key) {
|
||||||
|
draw_set_text(f_p1, fa_right, fa_center, COLORS._main_accent);
|
||||||
|
draw_sprite_stretched_ext(THEME.ui_panel, 1, _bx, _by, _bw, _bh, COLORS._main_text_accent);
|
||||||
|
|
||||||
|
} else if(_ktxt != "") {
|
||||||
|
draw_set_text(f_p1, fa_right, fa_center, COLORS._main_text_sub);
|
||||||
|
draw_sprite_stretched_ext(THEME.ui_panel, 1, _bx, _by, _bw, _bh, CDEF.main_dkgrey);
|
||||||
|
}
|
||||||
|
|
||||||
|
draw_text(_hx, _hy, _ktxt);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
if(_prop.getDefault != noone) {
|
if(_prop.getDefault != noone) {
|
||||||
var _defVal = is_method(_prop.getDefault)? _prop.getDefault() : _prop.getDefault;
|
var _defVal = is_method(_prop.getDefault)? _prop.getDefault() : _prop.getDefault;
|
||||||
var _bs = ui(32);
|
var _bs = ui(32);
|
||||||
|
@ -122,6 +168,13 @@ function Panel_Linear_Setting() : PanelContent() constructor {
|
||||||
|
|
||||||
if(bg_y == -1) bg_y = bg_y_to;
|
if(bg_y == -1) bg_y = bg_y_to;
|
||||||
else bg_y = lerp_float(bg_y, bg_y_to, 2);
|
else bg_y = lerp_float(bg_y, bg_y_to, 2);
|
||||||
|
|
||||||
|
if(hk_editing != noone) {
|
||||||
|
if(keyboard_check_pressed(vk_enter)) hk_editing = noone;
|
||||||
|
else hotkey_editing(hk_editing);
|
||||||
|
|
||||||
|
if(keyboard_check_pressed(vk_escape)) hk_editing = noone;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function drawContent(panel) { drawSettings(panel); }
|
function drawContent(panel) { drawSettings(panel); }
|
||||||
|
|
|
@ -62,7 +62,6 @@ function fileNameCall(path, onModify, _x = mouse_mx + 8, _y = mouse_my + 8) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function menuItem(name, func, spr = noone, hotkey = noone, toggle = noone, params = {}) { return new MenuItem(name, func, spr, hotkey, toggle, params); }
|
function menuItem(name, func, spr = noone, hotkey = noone, toggle = noone, params = {}) { return new MenuItem(name, func, spr, hotkey, toggle, params); }
|
||||||
function menuItemAction(name, func, spr = noone, toggle = noone) { return new MenuItem(name, func, spr, struct_try_get(ACTION_MAP, func, noone), toggle); }
|
|
||||||
|
|
||||||
function MenuItem(_name, _func, _spr = noone, _hotkey = noone, _toggle = noone, _params = {}) constructor {
|
function MenuItem(_name, _func, _spr = noone, _hotkey = noone, _toggle = noone, _params = {}) constructor {
|
||||||
active = true;
|
active = true;
|
||||||
|
|
|
@ -11,11 +11,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function __fnInit() {
|
function __fnInit() {
|
||||||
globalvar CMD_FUNCTIONS, ACTION_MAP, MENU_ITEMS, FUNCTIONS;
|
globalvar CMD_FUNCTIONS, MENU_ITEMS, FUNCTIONS;
|
||||||
|
|
||||||
FUNCTIONS = {};
|
FUNCTIONS = {};
|
||||||
CMD_FUNCTIONS = {};
|
CMD_FUNCTIONS = {};
|
||||||
ACTION_MAP = {};
|
|
||||||
MENU_ITEMS = {};
|
MENU_ITEMS = {};
|
||||||
|
|
||||||
__fnInit_Global();
|
__fnInit_Global();
|
||||||
|
@ -43,13 +42,11 @@ function functionObject(_context, _name, _key, _mod, _action) constructor {
|
||||||
action = _action;
|
action = _action;
|
||||||
hide = false;
|
hide = false;
|
||||||
|
|
||||||
fnName = _context == ""? _name : $"{_context} {_name}";
|
fnName = string_to_var2(_context, _name);
|
||||||
fnName = string_to_var(fnName);
|
|
||||||
menu = noone;
|
menu = noone;
|
||||||
|
|
||||||
FUNCTIONS[$ fnName] = self;
|
FUNCTIONS[$ fnName] = self;
|
||||||
CMD_FUNCTIONS[$ fnName] = { action: _action, args: [] };
|
CMD_FUNCTIONS[$ fnName] = { action: _action, args: [] };
|
||||||
ACTION_MAP[$ _action] = [ _context, _name ];
|
|
||||||
|
|
||||||
static setArg = function(_args = []) {
|
static setArg = function(_args = []) {
|
||||||
CMD_FUNCTIONS[$ fnName] = { action, args: _args };
|
CMD_FUNCTIONS[$ fnName] = { action, args: _args };
|
||||||
|
@ -57,7 +54,7 @@ function functionObject(_context, _name, _key, _mod, _action) constructor {
|
||||||
}
|
}
|
||||||
|
|
||||||
static setMenuAlt = function(_name, _id, _spr = noone, shelf = false) {
|
static setMenuAlt = function(_name, _id, _spr = noone, shelf = false) {
|
||||||
menu = menuItemAction(__txt(_name), action, _spr);
|
menu = menuItem(__txt(_name), action, _spr, [ context, name ]);
|
||||||
if(shelf) menu.setIsShelf();
|
if(shelf) menu.setIsShelf();
|
||||||
MENU_ITEMS[$ _id] = menu;
|
MENU_ITEMS[$ _id] = menu;
|
||||||
|
|
||||||
|
@ -65,7 +62,7 @@ function functionObject(_context, _name, _key, _mod, _action) constructor {
|
||||||
}
|
}
|
||||||
|
|
||||||
static setMenu = function(_id, _spr = noone, shelf = false) {
|
static setMenu = function(_id, _spr = noone, shelf = false) {
|
||||||
menu = menuItemAction(__txt(name), action, _spr);
|
menu = menuItem(__txt(name), action, _spr, [ context, name ]);
|
||||||
if(shelf) menu.setIsShelf();
|
if(shelf) menu.setIsShelf();
|
||||||
MENU_ITEMS[$ _id] = menu;
|
MENU_ITEMS[$ _id] = menu;
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
LATEST_VERSION = 11700;
|
LATEST_VERSION = 11700;
|
||||||
VERSION = 11790;
|
VERSION = 11790;
|
||||||
SAVE_VERSION = 11700;
|
SAVE_VERSION = 11700;
|
||||||
VERSION_STRING = "1.17.10.005";
|
VERSION_STRING = "1.17.10.006";
|
||||||
BUILD_NUMBER = 11790;
|
BUILD_NUMBER = 11790;
|
||||||
|
|
||||||
HOTKEYS = ds_map_create();
|
HOTKEYS = ds_map_create();
|
||||||
|
|
|
@ -165,14 +165,13 @@ function find_hotkey(_context, _name) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function hotkey_editing(hotkey) {
|
function hotkey_editing(hotkey) {
|
||||||
HOTKEY_BLOCK = true;
|
|
||||||
|
|
||||||
static vk_list = [
|
static vk_list = [
|
||||||
vk_left, vk_right, vk_up, vk_down, vk_space, vk_backspace, vk_tab, vk_home, vk_end, vk_delete, vk_insert,
|
vk_left, vk_right, vk_up, vk_down, vk_space, vk_backspace, vk_tab, vk_home, vk_end, vk_delete, vk_insert,
|
||||||
vk_pageup, vk_pagedown, vk_pause, vk_printscreen,
|
vk_pageup, vk_pagedown, vk_pause, vk_printscreen,
|
||||||
vk_f1, vk_f2, vk_f3, vk_f4, vk_f5, vk_f6, vk_f7, vk_f8, vk_f9, vk_f10, vk_f11, vk_f12,
|
vk_f1, vk_f2, vk_f3, vk_f4, vk_f5, vk_f6, vk_f7, vk_f8, vk_f9, vk_f10, vk_f11, vk_f12,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
HOTKEY_BLOCK = true;
|
||||||
var _mod_prs = 0;
|
var _mod_prs = 0;
|
||||||
|
|
||||||
if(keyboard_check(vk_control)) _mod_prs |= MOD_KEY.ctrl;
|
if(keyboard_check(vk_control)) _mod_prs |= MOD_KEY.ctrl;
|
||||||
|
@ -200,6 +199,7 @@ function hotkey_editing(hotkey) {
|
||||||
if(!press) {
|
if(!press) {
|
||||||
var k = ds_map_find_first(global.KEY_STRING_MAP);
|
var k = ds_map_find_first(global.KEY_STRING_MAP);
|
||||||
var amo = ds_map_size(global.KEY_STRING_MAP);
|
var amo = ds_map_size(global.KEY_STRING_MAP);
|
||||||
|
|
||||||
repeat(amo) {
|
repeat(amo) {
|
||||||
if(!keyboard_check_pressed(k)) {
|
if(!keyboard_check_pressed(k)) {
|
||||||
k = ds_map_find_next(global.KEY_STRING_MAP, k);
|
k = ds_map_find_next(global.KEY_STRING_MAP, k);
|
||||||
|
|
|
@ -1,4 +1,11 @@
|
||||||
#region key map
|
#region key map
|
||||||
|
enum MOD_KEY {
|
||||||
|
none = 0,
|
||||||
|
ctrl = 1 << 0,
|
||||||
|
shift = 1 << 1,
|
||||||
|
alt = 1 << 2
|
||||||
|
}
|
||||||
|
|
||||||
global.KEY_STRING_MAP = ds_map_create();
|
global.KEY_STRING_MAP = ds_map_create();
|
||||||
|
|
||||||
global.KEY_STRING_MAP[? 0] = ""
|
global.KEY_STRING_MAP[? 0] = ""
|
||||||
|
@ -139,13 +146,6 @@
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
enum MOD_KEY {
|
|
||||||
none = 0,
|
|
||||||
ctrl = 1 << 0,
|
|
||||||
shift = 1 << 1,
|
|
||||||
alt = 1 << 2
|
|
||||||
}
|
|
||||||
|
|
||||||
function key_press(_key, _mod = MOD_KEY.none) {
|
function key_press(_key, _mod = MOD_KEY.none) {
|
||||||
if(WIDGET_CURRENT) return false;
|
if(WIDGET_CURRENT) return false;
|
||||||
if(_mod == MOD_KEY.none && _key == noone) return false;
|
if(_mod == MOD_KEY.none && _key == noone) return false;
|
||||||
|
|
137
scripts/keyboard_display/keyboard_display.gml
Normal file
|
@ -0,0 +1,137 @@
|
||||||
|
function KeyboardDisplayLayout_Key(_key, _vk, _x, _y, _w = 1, _h = 1) constructor {
|
||||||
|
key = _key;
|
||||||
|
vk = _vk;
|
||||||
|
x = _x;
|
||||||
|
y = _y;
|
||||||
|
w = _w;
|
||||||
|
h = _h;
|
||||||
|
}
|
||||||
|
|
||||||
|
function KeyboardDisplay() constructor {
|
||||||
|
__key = function(_key, _vk, _x, _y, _w = 1, _h = 1) /*=>*/ { return new KeyboardDisplayLayout_Key(_key, _vk, _x, _y, _w, _h); }
|
||||||
|
|
||||||
|
keys = [
|
||||||
|
__key( "Esc", -1, 0, 0),
|
||||||
|
__key( "F1", vk_f1, 2, 0),
|
||||||
|
__key( "F2", vk_f2, 3, 0),
|
||||||
|
__key( "F3", vk_f3, 4, 0),
|
||||||
|
__key( "F4", vk_f4, 5, 0),
|
||||||
|
__key( "F5", vk_f5, 6.5, 0),
|
||||||
|
__key( "F6", vk_f6, 7.5, 0),
|
||||||
|
__key( "F7", vk_f7, 8.5, 0),
|
||||||
|
__key( "F8", vk_f8, 9.5, 0),
|
||||||
|
__key( "F9", vk_f9, 11, 0),
|
||||||
|
__key( "F10", vk_f10, 12, 0),
|
||||||
|
__key( "F11", vk_f11, 13, 0),
|
||||||
|
__key( "F12", vk_f12, 14, 0), //15
|
||||||
|
|
||||||
|
__key( "`", 192, 0, 1.1),
|
||||||
|
__key( "1", ord("1"), 1, 1.1),
|
||||||
|
__key( "2", ord("2"), 2, 1.1),
|
||||||
|
__key( "3", ord("3"), 3, 1.1),
|
||||||
|
__key( "4", ord("4"), 4, 1.1),
|
||||||
|
__key( "5", ord("5"), 5, 1.1),
|
||||||
|
__key( "6", ord("6"), 6, 1.1),
|
||||||
|
__key( "7", ord("7"), 7, 1.1),
|
||||||
|
__key( "8", ord("8"), 8, 1.1),
|
||||||
|
__key( "9", ord("9"), 9, 1.1),
|
||||||
|
__key( "0", ord("0"), 10, 1.1),
|
||||||
|
__key( "-", 189, 11, 1.1),
|
||||||
|
__key( "=", 187, 12, 1.1),
|
||||||
|
__key( "bsp", vk_backspace, 13, 1.1, 2), //15
|
||||||
|
|
||||||
|
__key( "Tab", vk_tab, 0, 2.1, 1.5),
|
||||||
|
__key( "Q", ord("Q"), 1.5, 2.1),
|
||||||
|
__key( "W", ord("W"), 2.5, 2.1),
|
||||||
|
__key( "E", ord("E"), 3.5, 2.1),
|
||||||
|
__key( "R", ord("R"), 4.5, 2.1),
|
||||||
|
__key( "T", ord("T"), 5.5, 2.1),
|
||||||
|
__key( "Y", ord("Y"), 6.5, 2.1),
|
||||||
|
__key( "U", ord("U"), 7.5, 2.1),
|
||||||
|
__key( "I", ord("I"), 8.5, 2.1),
|
||||||
|
__key( "O", ord("O"), 9.5, 2.1),
|
||||||
|
__key( "P", ord("P"), 10.5, 2.1),
|
||||||
|
__key( "[", 219, 11.5, 2.1),
|
||||||
|
__key( "]", 221, 12.5, 2.1),
|
||||||
|
__key( "\\", 220, 13.5, 2.1, 1.5),
|
||||||
|
|
||||||
|
__key( "Caps", -1, 0, 3.1, 2),
|
||||||
|
__key( "A", ord("A"), 2, 3.1),
|
||||||
|
__key( "S", ord("S"), 3, 3.1),
|
||||||
|
__key( "D", ord("D"), 4, 3.1),
|
||||||
|
__key( "F", ord("F"), 5, 3.1),
|
||||||
|
__key( "G", ord("G"), 6, 3.1),
|
||||||
|
__key( "H", ord("H"), 7, 3.1),
|
||||||
|
__key( "J", ord("J"), 8, 3.1),
|
||||||
|
__key( "K", ord("K"), 9, 3.1),
|
||||||
|
__key( "L", ord("L"), 10, 3.1),
|
||||||
|
__key( ";", 186, 11, 3.1),
|
||||||
|
__key( "'", 222, 12, 3.1),
|
||||||
|
__key( "Enter", -1, 13, 3.1, 2),
|
||||||
|
|
||||||
|
__key( "Shift", vk_shift, 0, 4.1, 2.5),
|
||||||
|
__key( "Z", ord("Z"), 2.5, 4.1),
|
||||||
|
__key( "X", ord("X"), 3.5, 4.1),
|
||||||
|
__key( "C", ord("C"), 4.5, 4.1),
|
||||||
|
__key( "V", ord("V"), 5.5, 4.1),
|
||||||
|
__key( "B", ord("B"), 6.5, 4.1),
|
||||||
|
__key( "N", ord("N"), 7.5, 4.1),
|
||||||
|
__key( "M", ord("M"), 8.5, 4.1),
|
||||||
|
__key( ",", 188, 9.5, 4.1),
|
||||||
|
__key( ".", 190, 10.5, 4.1),
|
||||||
|
__key( "/", 191, 11.5, 4.1),
|
||||||
|
__key( "Shift", vk_shift, 12.5, 4.1, 2.5),
|
||||||
|
|
||||||
|
__key( "Ctrl", vk_control, 0, 5.1),
|
||||||
|
__key( "Win", -1, 1, 5.1),
|
||||||
|
__key( "Alt", vk_alt, 2, 5.1),
|
||||||
|
__key( "", vk_space, 3, 5.1, 8),
|
||||||
|
__key( "Alt", vk_alt, 11, 5.1),
|
||||||
|
__key( "Win", -1, 12, 5.1),
|
||||||
|
__key( "Fn", -1, 13, 5.1),
|
||||||
|
__key( "Ctrl", vk_control, 14, 5.1),
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
__key( "Ins", vk_insert, 15.1, 1.1),
|
||||||
|
__key( "Home", vk_home, 16.1, 1.1),
|
||||||
|
__key( "PgUp", vk_pageup, 17.1, 1.1),
|
||||||
|
|
||||||
|
__key( "Del", vk_delete, 15.1, 2.1),
|
||||||
|
__key( "End", vk_end, 16.1, 2.1),
|
||||||
|
__key( "PgDn", vk_pagedown, 17.1, 2.1),
|
||||||
|
|
||||||
|
__key( "Up", vk_up, 16.1, 4.1),
|
||||||
|
__key( "Left", vk_left, 15.1, 5.1),
|
||||||
|
__key( "Down", vk_down, 16.1, 5.1),
|
||||||
|
__key( "Right", vk_right, 17.1, 5.1),
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
__key( "Num", -1, 18.2, 1.1),
|
||||||
|
__key( "/", vk_divide, 19.2, 1.1),
|
||||||
|
__key( "*", vk_multiply, 20.2, 1.1),
|
||||||
|
__key( "-", vk_subtract, 21.2, 1.1),
|
||||||
|
|
||||||
|
__key( "7", vk_numpad7, 18.2, 2.1),
|
||||||
|
__key( "8", vk_numpad8, 19.2, 2.1),
|
||||||
|
__key( "9", vk_numpad9, 20.2, 2.1),
|
||||||
|
__key( "+", vk_add, 21.2, 2.1, 1, 2),
|
||||||
|
|
||||||
|
__key( "4", vk_numpad4, 18.2, 3.1),
|
||||||
|
__key( "5", vk_numpad5, 19.2, 3.1),
|
||||||
|
__key( "6", vk_numpad6, 20.2, 3.1),
|
||||||
|
|
||||||
|
__key( "1", vk_numpad1, 18.2, 4.1),
|
||||||
|
__key( "2", vk_numpad2, 19.2, 4.1),
|
||||||
|
__key( "3", vk_numpad3, 20.2, 4.1),
|
||||||
|
__key( "Enter", -1, 21.2, 4.1, 1, 2),
|
||||||
|
|
||||||
|
__key( "0", vk_numpad0, 18.2, 5.1, 2),
|
||||||
|
__key( ".", vk_decimal, 20.2, 5.1),
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
width = 22.2;
|
||||||
|
height = 6.1;
|
||||||
|
}
|
13
scripts/keyboard_display/keyboard_display.yy
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"$GMScript":"",
|
||||||
|
"%Name":"keyboard_display",
|
||||||
|
"isCompatibility":false,
|
||||||
|
"isDnD":false,
|
||||||
|
"name":"keyboard_display",
|
||||||
|
"parent":{
|
||||||
|
"name":"inputs",
|
||||||
|
"path":"folders/functions/inputs.yy",
|
||||||
|
},
|
||||||
|
"resourceType":"GMScript",
|
||||||
|
"resourceVersion":"2.0",
|
||||||
|
}
|
|
@ -160,7 +160,9 @@ function LOAD_AT(path, params = new __loadParams()) { #region
|
||||||
if(struct_has(_load_content, "nodes")) {
|
if(struct_has(_load_content, "nodes")) {
|
||||||
try {
|
try {
|
||||||
var _node_list = _load_content.nodes;
|
var _node_list = _load_content.nodes;
|
||||||
|
|
||||||
for(var i = 0, n = array_length(_node_list); i < n; i++) {
|
for(var i = 0, n = array_length(_node_list); i < n; i++) {
|
||||||
|
|
||||||
var _node = nodeLoad(_node_list[i]);
|
var _node = nodeLoad(_node_list[i]);
|
||||||
if(_node) array_push(create_list, _node);
|
if(_node) array_push(create_list, _node);
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ function Node_Path_Shift(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
||||||
|
|
||||||
cached_pos = ds_map_create();
|
cached_pos = ds_map_create();
|
||||||
|
|
||||||
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) {
|
||||||
var _path = getInputData(0);
|
var _path = getInputData(0);
|
||||||
if(_path && struct_has(_path, "drawOverlay")) _path.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
if(_path && struct_has(_path, "drawOverlay")) _path.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||||
|
|
||||||
|
@ -35,29 +35,29 @@ function Node_Path_Shift(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
||||||
oy = ny;
|
oy = ny;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} #endregion
|
}
|
||||||
|
|
||||||
static getLineCount = function() { #region
|
static getLineCount = function() {
|
||||||
var _path = getInputData(0);
|
var _path = getInputData(0);
|
||||||
return struct_has(_path, "getLineCount")? _path.getLineCount() : 1;
|
return struct_has(_path, "getLineCount")? _path.getLineCount() : 1;
|
||||||
} #endregion
|
}
|
||||||
|
|
||||||
static getSegmentCount = function(ind = 0) { #region
|
static getSegmentCount = function(ind = 0) {
|
||||||
var _path = getInputData(0);
|
var _path = getInputData(0);
|
||||||
return struct_has(_path, "getSegmentCount")? _path.getSegmentCount(ind) : 0;
|
return struct_has(_path, "getSegmentCount")? _path.getSegmentCount(ind) : 0;
|
||||||
} #endregion
|
}
|
||||||
|
|
||||||
static getLength = function(ind = 0) { #region
|
static getLength = function(ind = 0) {
|
||||||
var _path = getInputData(0);
|
var _path = getInputData(0);
|
||||||
return struct_has(_path, "getLength")? _path.getLength(ind) : 0;
|
return struct_has(_path, "getLength")? _path.getLength(ind) : 0;
|
||||||
} #endregion
|
}
|
||||||
|
|
||||||
static getAccuLength = function(ind = 0) { #region
|
static getAccuLength = function(ind = 0) {
|
||||||
var _path = getInputData(0);
|
var _path = getInputData(0);
|
||||||
return struct_has(_path, "getAccuLength")? _path.getAccuLength(ind) : [];
|
return struct_has(_path, "getAccuLength")? _path.getAccuLength(ind) : [];
|
||||||
} #endregion
|
}
|
||||||
|
|
||||||
static getPointRatio = function(_rat, ind = 0, out = undefined) { #region
|
static getPointRatio = function(_rat, ind = 0, out = undefined) {
|
||||||
if(out == undefined) out = new __vec2(); else { out.x = 0; out.y = 0; }
|
if(out == undefined) out = new __vec2(); else { out.x = 0; out.y = 0; }
|
||||||
|
|
||||||
var _cKey = $"{_rat},{ind}";
|
var _cKey = $"{_rat},{ind}";
|
||||||
|
@ -91,22 +91,22 @@ function Node_Path_Shift(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
||||||
cached_pos[? _cKey] = out.clone();
|
cached_pos[? _cKey] = out.clone();
|
||||||
|
|
||||||
return out;
|
return out;
|
||||||
} #endregion
|
}
|
||||||
|
|
||||||
static getPointDistance = function(_dist, ind = 0, out = undefined) { return getPointRatio(_dist / getLength(), ind, out); }
|
static getPointDistance = function(_dist, ind = 0, out = undefined) { return getPointRatio(_dist / getLength(), ind, out); }
|
||||||
|
|
||||||
static getBoundary = function(ind = 0) { #region
|
static getBoundary = function(ind = 0) {
|
||||||
var _path = getInputData(0);
|
var _path = getInputData(0);
|
||||||
return struct_has(_path, "getBoundary")? _path.getBoundary(ind) : new BoundingBox( 0, 0, 1, 1 );
|
return struct_has(_path, "getBoundary")? _path.getBoundary(ind) : new BoundingBox( 0, 0, 1, 1 );
|
||||||
} #endregion
|
}
|
||||||
|
|
||||||
static update = function() { #region
|
static update = function() {
|
||||||
ds_map_clear(cached_pos);
|
ds_map_clear(cached_pos);
|
||||||
outputs[0].setValue(self);
|
outputs[0].setValue(self);
|
||||||
} #endregion
|
}
|
||||||
|
|
||||||
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { #region
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
var bbox = drawGetBbox(xx, yy, _s);
|
var bbox = drawGetBbox(xx, yy, _s);
|
||||||
draw_sprite_fit(s_node_path_shift, 0, bbox.xc, bbox.yc, bbox.w, bbox.h);
|
draw_sprite_fit(s_node_path_shift, 0, bbox.xc, bbox.yc, bbox.w, bbox.h);
|
||||||
} #endregion
|
}
|
||||||
}
|
}
|
|
@ -11,6 +11,7 @@ function nodeValueSeed(_node, _type) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constructor {
|
function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constructor {
|
||||||
|
|
||||||
static DISPLAY_DATA_KEYS = [ "linked", "angle_display", "bone_id", "unit", "atlas_crop" ];
|
static DISPLAY_DATA_KEYS = [ "linked", "angle_display", "bone_id", "unit", "atlas_crop" ];
|
||||||
|
|
||||||
#region ---- main ----
|
#region ---- main ----
|
||||||
|
@ -102,7 +103,8 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region ---- value ----
|
#region ---- value ----
|
||||||
def_val = variable_clone(_value);
|
|
||||||
|
def_val = array_clone(_value);
|
||||||
def_length = is_array(def_val)? array_length(def_val) : 0;
|
def_length = is_array(def_val)? array_length(def_val) : 0;
|
||||||
def_depth = array_get_depth(def_val);
|
def_depth = array_get_depth(def_val);
|
||||||
unit = new nodeValueUnit(self);
|
unit = new nodeValueUnit(self);
|
||||||
|
@ -537,7 +539,8 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
static resetDisplay = function() { #region //////////////////// RESET DISPLAY ////////////////////
|
static resetDisplay = function() {
|
||||||
|
|
||||||
editWidget = noone;
|
editWidget = noone;
|
||||||
switch(display_type) {
|
switch(display_type) {
|
||||||
case VALUE_DISPLAY.button : #region
|
case VALUE_DISPLAY.button : #region
|
||||||
|
@ -807,7 +810,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
extract_node = "Node_Boolean";
|
extract_node = "Node_Boolean";
|
||||||
break; #endregion
|
break; #endregion
|
||||||
|
|
||||||
case VALUE_TYPE.color : #region
|
case VALUE_TYPE.color :
|
||||||
switch(display_type) {
|
switch(display_type) {
|
||||||
case VALUE_DISPLAY._default :
|
case VALUE_DISPLAY._default :
|
||||||
editWidget = new buttonColor(function(color) { return setValueInspector(color); } );
|
editWidget = new buttonColor(function(color) { return setValueInspector(color); } );
|
||||||
|
@ -822,15 +825,15 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
extract_node = "Node_Palette";
|
extract_node = "Node_Palette";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break; #endregion
|
break;
|
||||||
|
|
||||||
case VALUE_TYPE.gradient : #region
|
case VALUE_TYPE.gradient :
|
||||||
editWidget = new buttonGradient(function(gradient) { return setValueInspector(gradient); } );
|
editWidget = new buttonGradient(function(gradient) { return setValueInspector(gradient); } );
|
||||||
|
|
||||||
extract_node = "Node_Gradient_Out";
|
extract_node = "Node_Gradient_Out";
|
||||||
break; #endregion
|
break;
|
||||||
|
|
||||||
case VALUE_TYPE.path : #region
|
case VALUE_TYPE.path :
|
||||||
switch(display_type) {
|
switch(display_type) {
|
||||||
case VALUE_DISPLAY.path_array :
|
case VALUE_DISPLAY.path_array :
|
||||||
editWidget = new pathArrayBox(self, display_data.filter, function(path) { setValueInspector(path); } );
|
editWidget = new pathArrayBox(self, display_data.filter, function(path) { setValueInspector(path); } );
|
||||||
|
@ -868,14 +871,14 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
editWidget = new fontScrollBox( function(val) { return setValueInspector(FONT_INTERNAL[val]); } );
|
editWidget = new fontScrollBox( function(val) { return setValueInspector(FONT_INTERNAL[val]); } );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break; #endregion
|
break;
|
||||||
|
|
||||||
case VALUE_TYPE.curve : #region
|
case VALUE_TYPE.curve :
|
||||||
display_type = VALUE_DISPLAY.curve;
|
display_type = VALUE_DISPLAY.curve;
|
||||||
editWidget = new curveBox(function(_modified) { return setValueInspector(_modified); });
|
editWidget = new curveBox(function(_modified) { return setValueInspector(_modified); });
|
||||||
break; #endregion
|
break;
|
||||||
|
|
||||||
case VALUE_TYPE.text : #region
|
case VALUE_TYPE.text :
|
||||||
switch(display_type) {
|
switch(display_type) {
|
||||||
case VALUE_DISPLAY._default :
|
case VALUE_DISPLAY._default :
|
||||||
editWidget = new textArea(TEXTBOX_INPUT.text, function(str) { return setValueInspector(str); });
|
editWidget = new textArea(TEXTBOX_INPUT.text, function(str) { return setValueInspector(str); });
|
||||||
|
@ -922,9 +925,9 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
editWidget = new textArrayBox(function() { return animator.values[0].value; }, display_data.data, function() { node.doUpdate(); });
|
editWidget = new textArrayBox(function() { return animator.values[0].value; }, display_data.data, function() { node.doUpdate(); });
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break; #endregion
|
break;
|
||||||
|
|
||||||
case VALUE_TYPE.d3Material : #region
|
case VALUE_TYPE.d3Material :
|
||||||
editWidget = new materialBox(function(ind) {
|
editWidget = new materialBox(function(ind) {
|
||||||
var res = setValueInspector(ind);
|
var res = setValueInspector(ind);
|
||||||
node.triggerRender();
|
node.triggerRender();
|
||||||
|
@ -934,19 +937,19 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
if(!struct_has(display_data, "atlas")) display_data.atlas = true;
|
if(!struct_has(display_data, "atlas")) display_data.atlas = true;
|
||||||
show_in_inspector = true;
|
show_in_inspector = true;
|
||||||
extract_node = "Node_Canvas";
|
extract_node = "Node_Canvas";
|
||||||
break; #endregion
|
break;
|
||||||
|
|
||||||
case VALUE_TYPE.surface : #region
|
case VALUE_TYPE.surface :
|
||||||
editWidget = new surfaceBox(function(ind) { return setValueInspector(ind); } );
|
editWidget = new surfaceBox(function(ind) { return setValueInspector(ind); } );
|
||||||
|
|
||||||
if(!struct_has(display_data, "atlas")) display_data.atlas = true;
|
if(!struct_has(display_data, "atlas")) display_data.atlas = true;
|
||||||
show_in_inspector = true;
|
show_in_inspector = true;
|
||||||
extract_node = "Node_Canvas";
|
extract_node = "Node_Canvas";
|
||||||
break; #endregion
|
break;
|
||||||
|
|
||||||
case VALUE_TYPE.pathnode : #region
|
case VALUE_TYPE.pathnode :
|
||||||
extract_node = "Node_Path";
|
extract_node = "Node_Path";
|
||||||
break; #endregion
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(is_struct(display_data) && struct_has(display_data, "side_button") && editWidget.side_button == noone)
|
if(is_struct(display_data) && struct_has(display_data, "side_button") && editWidget.side_button == noone)
|
||||||
|
@ -961,7 +964,9 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
}
|
}
|
||||||
|
|
||||||
setDropKey();
|
setDropKey();
|
||||||
} resetDisplay(); #endregion
|
}
|
||||||
|
|
||||||
|
resetDisplay();
|
||||||
|
|
||||||
/////============ RENDER ============
|
/////============ RENDER ============
|
||||||
|
|
||||||
|
@ -2276,6 +2281,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
static cleanUp = function() {}
|
static cleanUp = function() {}
|
||||||
|
|
||||||
static toString = function() { return (connect_type == JUNCTION_CONNECT.input? "Input" : "Output") + $" junction {index} of [{name}]: {node}"; }
|
static toString = function() { return (connect_type == JUNCTION_CONNECT.input? "Input" : "Output") + $" junction {index} of [{name}]: {node}"; }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/////========== FUNCTIONS ==========
|
/////========== FUNCTIONS ==========
|
||||||
|
|
|
@ -9,6 +9,9 @@ function NodeValue_Color(_name, _node, _value, _tooltip = "") : NodeValue(_name,
|
||||||
var val = __curr_get_val[0];
|
var val = __curr_get_val[0];
|
||||||
var nod = __curr_get_val[1];
|
var nod = __curr_get_val[1];
|
||||||
|
|
||||||
|
return val;
|
||||||
|
|
||||||
|
if(nod.type == VALUE_TYPE.integer || nod.type == VALUE_TYPE.float)
|
||||||
return val >= 1? cola(val) : make_color_rgb(val * 255, val * 255, val * 255);
|
return val >= 1? cola(val) : make_color_rgb(val * 255, val * 255, val * 255);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
#region // function calls
|
#region function calls
|
||||||
|
#macro PANEL_GRAPH_PROJECT_CHECK if(PANEL_GRAPH.project == noone || !PANEL_GRAPH.project.active) return;
|
||||||
|
|
||||||
function panel_graph_add_node() { CALL("graph_add_node"); PANEL_GRAPH.callAddDialog(); }
|
function panel_graph_add_node() { CALL("graph_add_node"); PANEL_GRAPH.callAddDialog(); }
|
||||||
function panel_graph_focus_content() { CALL("graph_focus_content"); PANEL_GRAPH.fullView(); }
|
function panel_graph_focus_content() { CALL("graph_focus_content"); PANEL_GRAPH.fullView(); }
|
||||||
function panel_graph_preview_focus() { CALL("graph_preview_focus"); PANEL_GRAPH.setCurrentPreview(); }
|
function panel_graph_preview_focus() { CALL("graph_preview_focus"); PANEL_GRAPH.setCurrentPreview(); }
|
||||||
|
@ -10,13 +12,14 @@
|
||||||
function panel_graph_add_vec3() { CALL("graph_add_vec3"); PANEL_GRAPH.createNodeHotkey("Node_Vector3"); }
|
function panel_graph_add_vec3() { CALL("graph_add_vec3"); PANEL_GRAPH.createNodeHotkey("Node_Vector3"); }
|
||||||
function panel_graph_add_vec4() { CALL("graph_add_vec4"); PANEL_GRAPH.createNodeHotkey("Node_Vector4"); }
|
function panel_graph_add_vec4() { CALL("graph_add_vec4"); PANEL_GRAPH.createNodeHotkey("Node_Vector4"); }
|
||||||
function panel_graph_add_display() { CALL("graph_add_disp"); PANEL_GRAPH.createNodeHotkey("Node_Display_Text"); }
|
function panel_graph_add_display() { CALL("graph_add_disp"); PANEL_GRAPH.createNodeHotkey("Node_Display_Text"); }
|
||||||
|
|
||||||
function panel_graph_add_math_add() { CALL("graph_add_math_add"); PANEL_GRAPH.createNodeHotkey(Node_create_Math, { query: "add" }); }
|
function panel_graph_add_math_add() { CALL("graph_add_math_add"); PANEL_GRAPH.createNodeHotkey(Node_create_Math, { query: "add" }); }
|
||||||
|
|
||||||
function panel_graph_select_all() { CALL("graph_select_all"); PANEL_GRAPH.nodes_selecting = PANEL_GRAPH.nodes_list; }
|
function panel_graph_select_all() { CALL("graph_select_all"); PANEL_GRAPH.nodes_selecting = PANEL_GRAPH.nodes_list; }
|
||||||
function panel_graph_toggle_grid() { CALL("graph_toggle_grid"); PANEL_GRAPH.display_parameter.show_grid = !PANEL_GRAPH.display_parameter.show_grid; }
|
function panel_graph_toggle_grid() { CALL("graph_toggle_grid"); PANEL_GRAPH.display_parameter.show_grid = !PANEL_GRAPH.display_parameter.show_grid; }
|
||||||
|
function panel_graph_toggle_dimension() { CALL("graph_toggle_dimension"); PANEL_GRAPH.display_parameter.show_dimension = !PANEL_GRAPH.display_parameter.show_dimension; }
|
||||||
function panel_graph_export() { CALL("graph_export"); PANEL_GRAPH.setCurrentExport(); }
|
function panel_graph_toggle_compute() { CALL("graph_toggle_compute"); PANEL_GRAPH.display_parameter.show_compute = !PANEL_GRAPH.display_parameter.show_compute; }
|
||||||
|
function panel_graph_toggle_control() { CALL("graph_toggle_control"); PANEL_GRAPH.display_parameter.show_control = !PANEL_GRAPH.display_parameter.show_control; }
|
||||||
|
function panel_graph_toggle_avoid_label() { CALL("graph_toggle_avoid_label"); PANEL_GRAPH.display_parameter.avoid_label = !PANEL_GRAPH.display_parameter.avoid_label; }
|
||||||
|
|
||||||
function panel_graph_add_transform() { CALL("graph_add_transform"); PANEL_GRAPH.doTransform(); }
|
function panel_graph_add_transform() { CALL("graph_add_transform"); PANEL_GRAPH.doTransform(); }
|
||||||
function panel_graph_blend() { CALL("graph_blend"); PANEL_GRAPH.doBlend(); }
|
function panel_graph_blend() { CALL("graph_blend"); PANEL_GRAPH.doBlend(); }
|
||||||
|
@ -24,6 +27,7 @@
|
||||||
function panel_graph_array() { CALL("graph_array"); PANEL_GRAPH.doArray(); }
|
function panel_graph_array() { CALL("graph_array"); PANEL_GRAPH.doArray(); }
|
||||||
function panel_graph_group() { CALL("graph_group"); PANEL_GRAPH.doGroup(); }
|
function panel_graph_group() { CALL("graph_group"); PANEL_GRAPH.doGroup(); }
|
||||||
function panel_graph_ungroup() { CALL("graph_ungroup"); PANEL_GRAPH.doUngroup(); }
|
function panel_graph_ungroup() { CALL("graph_ungroup"); PANEL_GRAPH.doUngroup(); }
|
||||||
|
function panel_graph_export() { CALL("graph_export"); PANEL_GRAPH.setCurrentExport(); }
|
||||||
|
|
||||||
function panel_graph_canvas_copy() { CALL("graph_canvas_copy"); PANEL_GRAPH.setCurrentCanvas(); }
|
function panel_graph_canvas_copy() { CALL("graph_canvas_copy"); PANEL_GRAPH.setCurrentCanvas(); }
|
||||||
function panel_graph_canvas_blend() { CALL("graph_canvas_blend"); PANEL_GRAPH.setCurrentCanvasBlend(); }
|
function panel_graph_canvas_blend() { CALL("graph_canvas_blend"); PANEL_GRAPH.setCurrentCanvasBlend(); }
|
||||||
|
@ -59,6 +63,9 @@
|
||||||
function panel_graph_doPasteProp() { CALL("graph_doPasteProp"); PANEL_GRAPH.doPasteProp(); }
|
function panel_graph_doPasteProp() { CALL("graph_doPasteProp"); PANEL_GRAPH.doPasteProp(); }
|
||||||
function panel_graph_createTunnel() { CALL("graph_createTunnel"); PANEL_GRAPH.createTunnel(); }
|
function panel_graph_createTunnel() { CALL("graph_createTunnel"); PANEL_GRAPH.createTunnel(); }
|
||||||
|
|
||||||
|
function panel_graph_grid_snap() { CALL("graph_grid_snap"); PANEL_GRAPH_PROJECT_CHECK PANEL_GRAPH.project.graphGrid.snap = !PANEL_GRAPH.project.graphGrid.snap; }
|
||||||
|
function panel_graph_show_origin() { CALL("graph_grid_show_origin"); PANEL_GRAPH_PROJECT_CHECK PANEL_GRAPH.project.graphGrid.show_origin = !PANEL_GRAPH.project.graphGrid.show_origin; }
|
||||||
|
|
||||||
function __fnInit_Graph() {
|
function __fnInit_Graph() {
|
||||||
registerFunction("Graph", "Add Node", "A", MOD_KEY.none, panel_graph_add_node ).setMenu("graph_add_node")
|
registerFunction("Graph", "Add Node", "A", MOD_KEY.none, panel_graph_add_node ).setMenu("graph_add_node")
|
||||||
registerFunction("Graph", "Focus Content", "F", MOD_KEY.none, panel_graph_focus_content ).setMenu("graph_focus_content")
|
registerFunction("Graph", "Focus Content", "F", MOD_KEY.none, panel_graph_focus_content ).setMenu("graph_focus_content")
|
||||||
|
@ -75,6 +82,10 @@
|
||||||
|
|
||||||
registerFunction("Graph", "Select All", "A", MOD_KEY.ctrl, panel_graph_select_all ).setMenu("graph_select_all")
|
registerFunction("Graph", "Select All", "A", MOD_KEY.ctrl, panel_graph_select_all ).setMenu("graph_select_all")
|
||||||
registerFunction("Graph", "Toggle Grid", "G", MOD_KEY.none, panel_graph_toggle_grid ).setMenu("graph_toggle_grid")
|
registerFunction("Graph", "Toggle Grid", "G", MOD_KEY.none, panel_graph_toggle_grid ).setMenu("graph_toggle_grid")
|
||||||
|
registerFunction("Graph", "Toggle Dimension", "", MOD_KEY.none, panel_graph_toggle_dimension ).setMenu("graph_toggle_dimension")
|
||||||
|
registerFunction("Graph", "Toggle Compute", "", MOD_KEY.none, panel_graph_toggle_compute ).setMenu("graph_toggle_compute")
|
||||||
|
registerFunction("Graph", "Toggle Control", "", MOD_KEY.none, panel_graph_toggle_control ).setMenu("graph_toggle_control")
|
||||||
|
registerFunction("Graph", "Toggle Avoid Label", "", MOD_KEY.none, panel_graph_toggle_avoid_label ).setMenu("graph_toggle_avoid_label")
|
||||||
|
|
||||||
registerFunction("Graph", "Blend", "B", MOD_KEY.ctrl, panel_graph_blend ).setMenu("graph_blend")
|
registerFunction("Graph", "Blend", "B", MOD_KEY.ctrl, panel_graph_blend ).setMenu("graph_blend")
|
||||||
registerFunction("Graph", "Compose", "B", MOD_KEY.ctrl | MOD_KEY.shift, panel_graph_compose ).setMenu("graph_compose")
|
registerFunction("Graph", "Compose", "B", MOD_KEY.ctrl | MOD_KEY.shift, panel_graph_compose ).setMenu("graph_compose")
|
||||||
|
@ -119,11 +130,19 @@
|
||||||
registerFunction("Graph", "Paste Value", "", MOD_KEY.none, panel_graph_doPasteProp ).setMenu("graph_paste_value")
|
registerFunction("Graph", "Paste Value", "", MOD_KEY.none, panel_graph_doPasteProp ).setMenu("graph_paste_value")
|
||||||
registerFunction("Graph", "Create Tunnel", "", MOD_KEY.none, panel_graph_createTunnel ).setMenu("graph_create_tunnel")
|
registerFunction("Graph", "Create Tunnel", "", MOD_KEY.none, panel_graph_createTunnel ).setMenu("graph_create_tunnel")
|
||||||
|
|
||||||
|
registerFunction("Graph", "Toggle Grid Snap", "", MOD_KEY.none, panel_graph_grid_snap ).setMenu("graph_grid_snap")
|
||||||
|
registerFunction("Graph", "Toggle Show Origin", "", MOD_KEY.none, panel_graph_show_origin ).setMenu("graph_show_origin")
|
||||||
|
|
||||||
if(!DEMO) {
|
if(!DEMO) {
|
||||||
registerFunction("Graph", "Export Selected", "E", MOD_KEY.ctrl, panel_graph_export ).setMenu("graph_export_selected")
|
registerFunction("Graph", "Export Selected Node", "E", MOD_KEY.ctrl, panel_graph_export ).setMenu("graph_export_selected")
|
||||||
registerFunction("Graph", "Export Hover", "", MOD_KEY.none, panel_graph_send_to_export ).setMenu("graph_export_hover")
|
registerFunction("Graph", "Export Hovering Node", "", MOD_KEY.none, panel_graph_send_to_export ).setMenu("graph_export_hover")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
registerFunction("Graph", "Export As Image", "", MOD_KEY.none, function() /*=>*/ { dialogPanelCall(new Panel_Graph_Export_Image(PANEL_GRAPH)) }).setMenu("graph_export_image")
|
||||||
|
registerFunction("Graph", "Connection Settings", "", MOD_KEY.none, function() /*=>*/ { dialogPanelCall(new Panel_Graph_Connection_Setting()) }).setMenu("graph_connection_settings")
|
||||||
|
registerFunction("Graph", "Grid Settings", "", MOD_KEY.none, function() /*=>*/ { dialogPanelCall(new Panel_Graph_Grid_Setting()) }).setMenu("graph_grid_settings")
|
||||||
|
registerFunction("Graph", "View Settiings", "", MOD_KEY.none, function() /*=>*/ { dialogPanelCall(new Panel_Graph_View_Setting(PANEL_GRAPH, PANEL_GRAPH.display_parameter)) }).setMenu("graph_view_settings")
|
||||||
|
|
||||||
__fnGroupInit_Graph()
|
__fnGroupInit_Graph()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -389,8 +408,10 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor {
|
||||||
context_framing = false;
|
context_framing = false;
|
||||||
context_frame_progress = 0;
|
context_frame_progress = 0;
|
||||||
context_frame_direct = 0;
|
context_frame_direct = 0;
|
||||||
context_frame_sx = 0; context_frame_ex = 0;
|
context_frame_sx = 0;
|
||||||
context_frame_sy = 0; context_frame_ey = 0;
|
context_frame_ex = 0;
|
||||||
|
context_frame_sy = 0;
|
||||||
|
context_frame_ey = 0;
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region // ---- search ----
|
#region // ---- search ----
|
||||||
|
@ -453,44 +474,48 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor {
|
||||||
function initSize() { toCenterNode(); }
|
function initSize() { toCenterNode(); }
|
||||||
|
|
||||||
#region // ++++ toolbars ++++
|
#region // ++++ toolbars ++++
|
||||||
tooltip_center = new tooltipHotkey(__txtx("panel_graph_center_to_nodes", "Center to nodes"), "Graph", "Focus content");
|
|
||||||
tooltip_search = new tooltipHotkey(__txt("Search"), "Graph", "Search");
|
|
||||||
tooltip_minimap = new tooltipHotkey(__txtx("panel_graph_toggle_minimap", "Toggle minimap"), "Graph", "Toggle Minimap");
|
|
||||||
|
|
||||||
toolbars_general = [
|
toolbars_general = [
|
||||||
[
|
[
|
||||||
THEME.icon_preview_export,
|
THEME.icon_preview_export,
|
||||||
function() /*=>*/ {return 0}, function() /*=>*/ {return __txtx("panel_graph_export_image", "Export graph as image")},
|
function() /*=>*/ {return 0},
|
||||||
|
function() /*=>*/ {return new tooltipHotkey(__txtx("panel_graph_export_image", "Export graph as image"), "Graph", "Export As Image")},
|
||||||
function(param) /*=>*/ { dialogPanelCall(new Panel_Graph_Export_Image(self)); }
|
function(param) /*=>*/ { dialogPanelCall(new Panel_Graph_Export_Image(self)); }
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
THEME.search_24,
|
THEME.search_24,
|
||||||
function() /*=>*/ {return 0}, function() /*=>*/ {return tooltip_search},
|
function() /*=>*/ {return 0},
|
||||||
|
function() /*=>*/ {return new tooltipHotkey(__txt("Search"), "Graph", "Search")},
|
||||||
function(param) /*=>*/ { toggleSearch(); }
|
function(param) /*=>*/ { toggleSearch(); }
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
THEME.icon_center_canvas,
|
THEME.icon_center_canvas,
|
||||||
function() /*=>*/ {return 0}, function() /*=>*/ {return tooltip_center},
|
function() /*=>*/ {return 0},
|
||||||
|
function() /*=>*/ {return new tooltipHotkey(__txtx("panel_graph_center_to_nodes", "Center to nodes"), "Graph", "Focus content")},
|
||||||
function(param) /*=>*/ { toCenterNode(); }
|
function(param) /*=>*/ { toCenterNode(); }
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
THEME.icon_minimap,
|
THEME.icon_minimap,
|
||||||
function() /*=>*/ {return minimap_show}, function() /*=>*/ {return tooltip_minimap},
|
function() /*=>*/ {return minimap_show},
|
||||||
|
function() /*=>*/ {return new tooltipHotkey(__txtx("panel_graph_toggle_minimap", "Toggle minimap"), "Graph", "Toggle Minimap")},
|
||||||
function(param) /*=>*/ { minimap_show = !minimap_show; }
|
function(param) /*=>*/ { minimap_show = !minimap_show; }
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
THEME.icon_curve_connection,
|
THEME.icon_curve_connection,
|
||||||
function() /*=>*/ {return PREFERENCES.curve_connection_line}, function() /*=>*/ {return __txtx("panel_graph_connection_line", "Connection render settings")},
|
function() /*=>*/ {return PREFERENCES.curve_connection_line},
|
||||||
|
function() /*=>*/ {return new tooltipHotkey(__txtx("panel_graph_connection_line", "Connection render settings"), "Graph", "Connection Settings")},
|
||||||
function(param) /*=>*/ { dialogPanelCall(new Panel_Graph_Connection_Setting(), param.x, param.y, { anchor: ANCHOR.bottom | ANCHOR.left }); }
|
function(param) /*=>*/ { dialogPanelCall(new Panel_Graph_Connection_Setting(), param.x, param.y, { anchor: ANCHOR.bottom | ANCHOR.left }); }
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
THEME.icon_grid_setting,
|
THEME.icon_grid_setting,
|
||||||
function() /*=>*/ {return 0}, function() /*=>*/ {return __txtx("grid_title", "Grid settings")},
|
function() /*=>*/ {return 0},
|
||||||
|
function() /*=>*/ {return new tooltipHotkey(__txtx("grid_title", "Grid settings"), "Graph", "Grid Settings")},
|
||||||
function(param) /*=>*/ { dialogPanelCall(new Panel_Graph_Grid_Setting(), param.x, param.y, { anchor: ANCHOR.bottom | ANCHOR.left }); }
|
function(param) /*=>*/ { dialogPanelCall(new Panel_Graph_Grid_Setting(), param.x, param.y, { anchor: ANCHOR.bottom | ANCHOR.left }); }
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
THEME.icon_visibility,
|
THEME.icon_visibility,
|
||||||
function() /*=>*/ {return 0}, function() /*=>*/ {return __txtx("graph_visibility_title", "Visibility settings")},
|
function() /*=>*/ {return 0},
|
||||||
|
function() /*=>*/ {return new tooltipHotkey(__txtx("graph_visibility_title", "Visibility settings"), "Graph", "View Settiings")},
|
||||||
function(param) /*=>*/ { dialogPanelCall(new Panel_Graph_View_Setting(self, display_parameter), param.x, param.y, { anchor: ANCHOR.bottom | ANCHOR.left }); }
|
function(param) /*=>*/ { dialogPanelCall(new Panel_Graph_View_Setting(self, display_parameter), param.x, param.y, { anchor: ANCHOR.bottom | ANCHOR.left }); }
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,9 +1,6 @@
|
||||||
function Panel_Graph_Connection_Setting() : Panel_Linear_Setting() constructor {
|
function Panel_Graph_Connection_Setting() : Panel_Linear_Setting() constructor {
|
||||||
title = __txtx("graph_connection_settings", "Connection Settings");
|
title = __txtx("graph_connection_settings", "Connection Settings");
|
||||||
|
|
||||||
w = ui(400);
|
|
||||||
|
|
||||||
#region data
|
|
||||||
properties = [
|
properties = [
|
||||||
new __Panel_Linear_Setting_Item_Preference(
|
new __Panel_Linear_Setting_Item_Preference(
|
||||||
__txt("Type"),
|
__txt("Type"),
|
||||||
|
@ -44,5 +41,4 @@ function Panel_Graph_Connection_Setting() : Panel_Linear_Setting() constructor {
|
||||||
];
|
];
|
||||||
|
|
||||||
setHeight();
|
setHeight();
|
||||||
#endregion
|
|
||||||
}
|
}
|
|
@ -41,43 +41,24 @@ function Panel_Graph_Export_Image(targetPanel) : PanelContent() constructor {
|
||||||
widgets = [];
|
widgets = [];
|
||||||
|
|
||||||
widgets[0] = [ "Nodes", new scrollBox(nodes_select,
|
widgets[0] = [ "Nodes", new scrollBox(nodes_select,
|
||||||
function(val) {
|
function(val) /*=>*/ {
|
||||||
sel = val;
|
sel = val;
|
||||||
nodeList = val? targetPanel.nodes_selecting : targetPanel.nodes_list;
|
nodeList = val? targetPanel.nodes_selecting : targetPanel.nodes_list;
|
||||||
refresh();
|
refresh();
|
||||||
}, false),
|
}, false),
|
||||||
function() { return nodes_select[sel] } ];
|
function() /*=>*/ {return nodes_select[sel]}
|
||||||
|
];
|
||||||
widgets[1] = [ "Scale", new textBox(TEXTBOX_INPUT.number, function(val) { settings.scale = val; refresh(); }),
|
|
||||||
function() { return settings.scale } ];
|
|
||||||
|
|
||||||
widgets[2] = [ "Padding", new textBox(TEXTBOX_INPUT.number, function(val) { settings.padding = val; refresh(); }),
|
|
||||||
function() { return settings.padding } ];
|
|
||||||
|
|
||||||
widgets[3] = [ "Solid Background", new checkBox(function() { settings.bgEnable = !settings.bgEnable; refresh(); }),
|
|
||||||
function() { return settings.bgEnable } ];
|
|
||||||
|
|
||||||
widgets[4] = [ "Background Color", new buttonColor(function(val) { settings.bgColor = val; refresh(); }),
|
|
||||||
function() { return settings.bgColor } ];
|
|
||||||
|
|
||||||
widgets[5] = [ "Render Grid", new checkBox(function() { settings.gridEnable = !settings.gridEnable; refresh(); }),
|
|
||||||
function() { return settings.gridEnable } ];
|
|
||||||
|
|
||||||
widgets[6] = [ "Grid Color", new buttonColor(function(val) { settings.gridColor = val; refresh(); }),
|
|
||||||
function() { return settings.gridColor } ];
|
|
||||||
|
|
||||||
widgets[7] = [ "Grid Opacity", new textBox(TEXTBOX_INPUT.number, function(val) { settings.gridAlpha = val; refresh(); }),
|
|
||||||
function() { return settings.gridAlpha } ];
|
|
||||||
|
|
||||||
widgets[8] = [ "Border", new textBox(TEXTBOX_INPUT.number, function(val) { settings.borderPad = val; refresh(); }),
|
|
||||||
function() { return settings.borderPad } ];
|
|
||||||
|
|
||||||
widgets[9] = [ "Border Color", new buttonColor(function(val) { settings.borderColor = val; refresh(); }),
|
|
||||||
function() { return settings.borderColor } ];
|
|
||||||
|
|
||||||
widgets[10] = [ "Border Opacity", new textBox(TEXTBOX_INPUT.number, function(val) { settings.borderAlpha = val; refresh(); }),
|
|
||||||
function() { return settings.borderAlpha } ];
|
|
||||||
|
|
||||||
|
widgets[1] = [ "Scale", new textBox(TEXTBOX_INPUT.number, function(val) /*=>*/ { settings.scale = val; refresh(); }), function() /*=>*/ {return settings.scale} ];
|
||||||
|
widgets[2] = [ "Padding", new textBox(TEXTBOX_INPUT.number, function(val) /*=>*/ { settings.padding = val; refresh(); }), function() /*=>*/ {return settings.padding} ];
|
||||||
|
widgets[3] = [ "Solid Background", new checkBox( function() /*=>*/ { settings.bgEnable = !settings.bgEnable; refresh(); }), function() /*=>*/ {return settings.bgEnable} ];
|
||||||
|
widgets[4] = [ "Background Color", new buttonColor( function(val) /*=>*/ { settings.bgColor = val; refresh(); }), function() /*=>*/ {return settings.bgColor} ];
|
||||||
|
widgets[5] = [ "Render Grid", new checkBox( function() /*=>*/ { settings.gridEnable = !settings.gridEnable; refresh(); }), function() /*=>*/ {return settings.gridEnable} ];
|
||||||
|
widgets[6] = [ "Grid Color", new buttonColor( function(val) /*=>*/ { settings.gridColor = val; refresh(); }), function() /*=>*/ {return settings.gridColor} ];
|
||||||
|
widgets[7] = [ "Grid Opacity", new textBox(TEXTBOX_INPUT.number, function(val) /*=>*/ { settings.gridAlpha = val; refresh(); }), function() /*=>*/ {return settings.gridAlpha} ];
|
||||||
|
widgets[8] = [ "Border", new textBox(TEXTBOX_INPUT.number, function(val) /*=>*/ { settings.borderPad = val; refresh(); }), function() /*=>*/ {return settings.borderPad} ];
|
||||||
|
widgets[9] = [ "Border Color", new buttonColor( function(val) /*=>*/ { settings.borderColor = val; refresh(); }), function() /*=>*/ {return settings.borderColor} ];
|
||||||
|
widgets[10] = [ "Border Opacity", new textBox(TEXTBOX_INPUT.number, function(val) /*=>*/ { settings.borderAlpha = val; refresh(); }), function() /*=>*/ {return settings.borderAlpha} ];
|
||||||
|
|
||||||
b_export = button(function() {
|
b_export = button(function() {
|
||||||
if(!is_surface(surface)) return;
|
if(!is_surface(surface)) return;
|
||||||
|
|
|
@ -1,73 +1,53 @@
|
||||||
function Panel_Graph_Grid_Setting() : Panel_Linear_Setting() constructor {
|
function Panel_Graph_Grid_Setting() : Panel_Linear_Setting() constructor {
|
||||||
title = __txtx("graph_grid_settings", "Grid Settings");
|
title = __txtx("graph_grid_settings", "Grid Settings");
|
||||||
|
|
||||||
w = ui(380);
|
|
||||||
|
|
||||||
#region data
|
|
||||||
properties = [
|
properties = [
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txtx("grid_snap", "Snap to grid"),
|
__txtx("grid_snap", "Snap to grid"),
|
||||||
new checkBox(function() {
|
new checkBox(function() /*=>*/ { PANEL_GRAPH_PROJECT_CHECK PANEL_GRAPH.project.graphGrid.snap = !PANEL_GRAPH.project.graphGrid.snap; }),
|
||||||
if(PANEL_GRAPH.project == noone || !PANEL_GRAPH.project.active) return;
|
function() /*=>*/ {return PANEL_GRAPH.project.graphGrid.snap},
|
||||||
PANEL_GRAPH.project.graphGrid.snap = !PANEL_GRAPH.project.graphGrid.snap;
|
function(val) /*=>*/ { PANEL_GRAPH.project.graphGrid.snap = val; },
|
||||||
}),
|
|
||||||
function() { return PANEL_GRAPH.project.graphGrid.snap; },
|
|
||||||
function(val) { PANEL_GRAPH.project.graphGrid.snap = val; },
|
|
||||||
true,
|
true,
|
||||||
|
["Graph", "Toggle Grid Snap"]
|
||||||
),
|
),
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txtx("grid_size", "Grid size"),
|
__txtx("grid_size", "Grid size"),
|
||||||
new textBox(TEXTBOX_INPUT.number, function(str) {
|
new textBox(TEXTBOX_INPUT.number, function(str) /*=>*/ { PANEL_GRAPH_PROJECT_CHECK PANEL_GRAPH.project.graphGrid.size = max(1, real(str)); }),
|
||||||
if(PANEL_GRAPH.project == noone || !PANEL_GRAPH.project.active) return;
|
function() /*=>*/ {return PANEL_GRAPH.project.graphGrid.size},
|
||||||
PANEL_GRAPH.project.graphGrid.size = max(1, real(str));
|
function(val) /*=>*/ { PANEL_GRAPH.project.graphGrid.size = val; },
|
||||||
}),
|
|
||||||
function() { return PANEL_GRAPH.project.graphGrid.size; },
|
|
||||||
function(val) { PANEL_GRAPH.project.graphGrid.size = val; },
|
|
||||||
16,
|
16,
|
||||||
),
|
),
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txtx("project_graphGrid_opacity", "Grid opacity"),
|
__txtx("project_graphGrid_opacity", "Grid opacity"),
|
||||||
slider(0, 1, .05, function(str) {
|
slider(0, 1, .05, function(str) /*=>*/ { PANEL_GRAPH_PROJECT_CHECK PANEL_GRAPH.project.graphGrid.opacity = clamp(real(str), 0, 1); }),
|
||||||
if(PANEL_GRAPH.project == noone || !PANEL_GRAPH.project.active) return;
|
function() /*=>*/ {return PANEL_GRAPH.project.graphGrid.opacity},
|
||||||
PANEL_GRAPH.project.graphGrid.opacity = clamp(real(str), 0, 1);
|
function(val) /*=>*/ { PANEL_GRAPH.project.graphGrid.opacity = val; },
|
||||||
}),
|
|
||||||
function() { return PANEL_GRAPH.project.graphGrid.opacity; },
|
|
||||||
function(val) { PANEL_GRAPH.project.graphGrid.opacity = val; },
|
|
||||||
0.05,
|
0.05,
|
||||||
),
|
),
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txtx("project_graphGrid_color", "Grid color"),
|
__txtx("project_graphGrid_color", "Grid color"),
|
||||||
new buttonColor(function(color) {
|
new buttonColor(function(color) /*=>*/ { PANEL_GRAPH_PROJECT_CHECK PANEL_GRAPH.project.graphGrid.color = color; }, self),
|
||||||
if(PANEL_GRAPH.project == noone || !PANEL_GRAPH.project.active) return;
|
function() /*=>*/ {return PANEL_GRAPH.project.graphGrid.color},
|
||||||
PANEL_GRAPH.project.graphGrid.color = color;
|
function(val) /*=>*/ { PANEL_GRAPH.project.graphGrid.color = val; },
|
||||||
}, self),
|
|
||||||
function() { return PANEL_GRAPH.project.graphGrid.color; },
|
|
||||||
function(val) { PANEL_GRAPH.project.graphGrid.color = val; },
|
|
||||||
c_white,
|
c_white,
|
||||||
),
|
),
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txtx("grid_show_origin", "Show origin"),
|
__txtx("grid_show_origin", "Show origin"),
|
||||||
new checkBox(function() {
|
new checkBox(function() /*=>*/ { PANEL_GRAPH_PROJECT_CHECK PANEL_GRAPH.project.graphGrid.show_origin = !PANEL_GRAPH.project.graphGrid.show_origin; }),
|
||||||
if(PANEL_GRAPH.project == noone || !PANEL_GRAPH.project.active) return;
|
function() /*=>*/ {return PANEL_GRAPH.project.graphGrid.show_origin},
|
||||||
PANEL_GRAPH.project.graphGrid.show_origin = !PANEL_GRAPH.project.graphGrid.show_origin;
|
function(val) /*=>*/ { PANEL_GRAPH.project.graphGrid.show_origin = val; },
|
||||||
}),
|
|
||||||
function() { return PANEL_GRAPH.project.graphGrid.show_origin; },
|
|
||||||
function(val) { PANEL_GRAPH.project.graphGrid.show_origin = val; },
|
|
||||||
false,
|
false,
|
||||||
|
["Graph", "Toggle Show Origin"]
|
||||||
),
|
),
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txtx("grid_highlight_every", "Highlight period"),
|
__txtx("grid_highlight_every", "Highlight period"),
|
||||||
new textBox(TEXTBOX_INPUT.number, function(str) {
|
new textBox(TEXTBOX_INPUT.number, function(str) /*=>*/ { PANEL_GRAPH_PROJECT_CHECK PANEL_GRAPH.project.graphGrid.highlight = max(1, round(real(str))); }),
|
||||||
if(PANEL_GRAPH.project == noone || !PANEL_GRAPH.project.active) return;
|
function() /*=>*/ {return PANEL_GRAPH.project.graphGrid.highlight},
|
||||||
PANEL_GRAPH.project.graphGrid.highlight = max(1, round(real(str)));
|
function(val) /*=>*/ { PANEL_GRAPH.project.graphGrid.highlight = val; },
|
||||||
}),
|
|
||||||
function() { return PANEL_GRAPH.project.graphGrid.highlight; },
|
|
||||||
function(val) { PANEL_GRAPH.project.graphGrid.highlight = val; },
|
|
||||||
12,
|
12,
|
||||||
),
|
),
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
setHeight();
|
setHeight();
|
||||||
#endregion
|
|
||||||
}
|
}
|
|
@ -1,66 +1,68 @@
|
||||||
function Panel_Graph_View_Setting(graphPanel, display) : Panel_Linear_Setting() constructor {
|
function Panel_Graph_View_Setting(graphPanel, display) : Panel_Linear_Setting() constructor {
|
||||||
title = __txtx("graph_view_settings", "View Settings");
|
title = __txtx("graph_view_settings", "View Settings");
|
||||||
|
|
||||||
w = ui(380);
|
|
||||||
self.graphPanel = graphPanel;
|
self.graphPanel = graphPanel;
|
||||||
display_parameter = display;
|
display_parameter = display;
|
||||||
|
|
||||||
#region data
|
|
||||||
properties = [
|
properties = [
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txt("Grid"),
|
__txt("Grid"),
|
||||||
new checkBox(function() { display_parameter.show_grid = !display_parameter.show_grid; }),
|
new checkBox(function() /*=>*/ { display_parameter.show_grid = !display_parameter.show_grid; }),
|
||||||
function() { return display_parameter.show_grid },
|
function() /*=>*/ {return display_parameter.show_grid},
|
||||||
function(val) { display_parameter.show_grid = val; },
|
function(val) /*=>*/ { display_parameter.show_grid = val; },
|
||||||
true,
|
true,
|
||||||
|
[ "Graph", "Toggle Grid" ],
|
||||||
),
|
),
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txtx("graph_visibility_dim", "Dimension"),
|
__txtx("graph_visibility_dim", "Dimension"),
|
||||||
new checkBox(function() { display_parameter.show_dimension = !display_parameter.show_dimension; }),
|
new checkBox(function() /*=>*/ { display_parameter.show_dimension = !display_parameter.show_dimension; }),
|
||||||
function() { return display_parameter.show_dimension },
|
function() /*=>*/ {return display_parameter.show_dimension},
|
||||||
function(val) { display_parameter.show_dimension = val; },
|
function(val) /*=>*/ { display_parameter.show_dimension = val; },
|
||||||
true,
|
true,
|
||||||
|
[ "Graph", "Toggle Dimension" ],
|
||||||
),
|
),
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txtx("graph_visibility_compute", "Compute Time"),
|
__txtx("graph_visibility_compute", "Compute Time"),
|
||||||
new checkBox(function() { display_parameter.show_compute = !display_parameter.show_compute; }),
|
new checkBox(function() /*=>*/ { display_parameter.show_compute = !display_parameter.show_compute; }),
|
||||||
function() { return display_parameter.show_compute },
|
function() /*=>*/ {return display_parameter.show_compute},
|
||||||
function(val) { display_parameter.show_compute = val; },
|
function(val) /*=>*/ { display_parameter.show_compute = val; },
|
||||||
true,
|
true,
|
||||||
|
[ "Graph", "Toggle Compute" ],
|
||||||
),
|
),
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txtx("graph_visibility_avoid_label", "Avoid Label"),
|
__txtx("graph_visibility_avoid_label", "Avoid Label"),
|
||||||
new checkBox(function() { display_parameter.avoid_label = !display_parameter.avoid_label; }),
|
new checkBox(function() /*=>*/ { display_parameter.avoid_label = !display_parameter.avoid_label; }),
|
||||||
function() { return display_parameter.avoid_label },
|
function() /*=>*/ {return display_parameter.avoid_label},
|
||||||
function(val) { display_parameter.avoid_label = val; },
|
function(val) /*=>*/ { display_parameter.avoid_label = val; },
|
||||||
true,
|
true,
|
||||||
|
[ "Graph", "Toggle Avoid Label" ],
|
||||||
),
|
),
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txtx("graph_visibility_slideshow", "Show Controller"),
|
__txtx("graph_visibility_slideshow", "Show Controller"),
|
||||||
new checkBox(function() { display_parameter.show_control = !display_parameter.show_control; }),
|
new checkBox(function() /*=>*/ { display_parameter.show_control = !display_parameter.show_control; }),
|
||||||
function() { return display_parameter.show_control },
|
function() /*=>*/ {return display_parameter.show_control},
|
||||||
function(val) { display_parameter.show_control = val; },
|
function(val) /*=>*/ { display_parameter.show_control = val; },
|
||||||
false,
|
false,
|
||||||
|
[ "Graph", "Toggle Control" ],
|
||||||
),
|
),
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txtx("graph_visibility_preview_scale", "Preview Scale"),
|
__txtx("graph_visibility_preview_scale", "Preview Scale"),
|
||||||
slider(50, 100, 1, function(val) { display_parameter.preview_scale = val; }),
|
slider(50, 100, 1, function(val) /*=>*/ { display_parameter.preview_scale = val; }),
|
||||||
function() { return display_parameter.preview_scale },
|
function() /*=>*/ {return display_parameter.preview_scale},
|
||||||
function(val) { display_parameter.preview_scale = val; },
|
function(val) /*=>*/ { display_parameter.preview_scale = val; },
|
||||||
100,
|
100,
|
||||||
),
|
),
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txt("View Control"),
|
__txt("View Control"),
|
||||||
new buttonGroup([ "None", "Left", "Right" ], function(val) { graphPanel.show_view_control = val; }),
|
new buttonGroup([ "None", "Left", "Right" ], function(val) /*=>*/ { graphPanel.show_view_control = val; }),
|
||||||
function() { return graphPanel.show_view_control },
|
function() /*=>*/ {return graphPanel.show_view_control},
|
||||||
function(val) { graphPanel.show_view_control = val; },
|
function(val) /*=>*/ { graphPanel.show_view_control = val; },
|
||||||
1,
|
1,
|
||||||
),
|
),
|
||||||
];
|
];
|
||||||
|
|
||||||
setHeight();
|
setHeight();
|
||||||
#endregion
|
|
||||||
}
|
}
|
|
@ -107,7 +107,6 @@ function Panel_Menu() : PanelContent() constructor {
|
||||||
menu_file_nondemo = [
|
menu_file_nondemo = [
|
||||||
MENU_ITEMS.new_file,
|
MENU_ITEMS.new_file,
|
||||||
MENU_ITEMS.open,
|
MENU_ITEMS.open,
|
||||||
// .setShiftMenu(menuItemAction(__txt("Open in safe mode") + "...", LOAD_SAFE, THEME.noti_icon_file_load)),
|
|
||||||
|
|
||||||
MENU_ITEMS.save,
|
MENU_ITEMS.save,
|
||||||
MENU_ITEMS.save_as,
|
MENU_ITEMS.save_as,
|
||||||
|
|
|
@ -26,7 +26,7 @@ function Panel_Nodes() : PanelContent() constructor {
|
||||||
var node = _arr[i];
|
var node = _arr[i];
|
||||||
var name = node.renamed? node.display_name : node.name;
|
var name = node.renamed? node.display_name : node.name;
|
||||||
|
|
||||||
if(string_lower(search_string) != "" && string_lower(string_pos(search_string, name)) == 0)
|
if(string_lower(search_string) != "" && string_pos(string_lower(search_string), string_lower(name)) == 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
var isGroup = struct_has(node, "nodes");
|
var isGroup = struct_has(node, "nodes");
|
||||||
|
|
|
@ -32,6 +32,18 @@
|
||||||
function panel_preview_copy_color() { CALL("preview_copy_color"); PANEL_PREVIEW.copy_color(); }
|
function panel_preview_copy_color() { CALL("preview_copy_color"); PANEL_PREVIEW.copy_color(); }
|
||||||
function panel_preview_copy_color_hex() { CALL("preview_copy_color_hex"); PANEL_PREVIEW.copy_color_hex(); }
|
function panel_preview_copy_color_hex() { CALL("preview_copy_color_hex"); PANEL_PREVIEW.copy_color_hex(); }
|
||||||
|
|
||||||
|
function panel_preview_toggle_grid_pixel() { CALL("preview_toggle_grid_pixel"); PROJECT.previewGrid.pixel = !PROJECT.previewGrid.pixel; }
|
||||||
|
function panel_preview_toggle_grid_visible() { CALL("preview_toggle_grid_visible"); PROJECT.previewGrid.show = !PROJECT.previewGrid.show; }
|
||||||
|
function panel_preview_toggle_grid_snap() { CALL("preview_toggle_grid_snap"); PROJECT.previewGrid.snap = !PROJECT.previewGrid.snap; }
|
||||||
|
|
||||||
|
function panel_preview_onion_enabled() { CALL("preview_onion_enabled"); PROJECT.onion_skin.enabled = !PROJECT.onion_skin.enabled; }
|
||||||
|
function panel_preview_onion_on_top() { CALL("preview_onion_on_top"); PROJECT.onion_skin.on_top = !PROJECT.onion_skin.on_top; }
|
||||||
|
|
||||||
|
function panel_preview_show_info() { CALL("preview_show_info"); PANEL_PREVIEW.show_info = !PANEL_PREVIEW.show_info; }
|
||||||
|
function panel_preview_toggle_reset_view() { CALL("preview_toggle_reset_view"); PANEL_PREVIEW.toggle_reset_view(); }
|
||||||
|
function panel_preview_toggle_split_view() { CALL("preview_toggle_split_view"); PANEL_PREVIEW.toggle_split_view(); }
|
||||||
|
function panel_preview_toggle_lock() { CALL("preview_toggle_lock"); PANEL_PREVIEW.toggle_lock(); }
|
||||||
|
|
||||||
function __fnInit_Preview() {
|
function __fnInit_Preview() {
|
||||||
registerFunction("Preview", "Focus content", "F", MOD_KEY.none, panel_preview_focus_content ).setMenu("preview_focus_content", THEME.icon_center_canvas)
|
registerFunction("Preview", "Focus content", "F", MOD_KEY.none, panel_preview_focus_content ).setMenu("preview_focus_content", THEME.icon_center_canvas)
|
||||||
registerFunction("Preview", "Save current frame", "S", MOD_KEY.shift, panel_preview_save_current_frame ).setMenu("preview_save_current_frame")
|
registerFunction("Preview", "Save current frame", "S", MOD_KEY.shift, panel_preview_save_current_frame ).setMenu("preview_save_current_frame")
|
||||||
|
@ -68,6 +80,31 @@
|
||||||
registerFunction("Preview", "Copy Color", "", MOD_KEY.none, panel_preview_copy_color ).setMenu("preview_copy_color")
|
registerFunction("Preview", "Copy Color", "", MOD_KEY.none, panel_preview_copy_color ).setMenu("preview_copy_color")
|
||||||
registerFunction("Preview", "Copy Color Hex", "", MOD_KEY.none, panel_preview_copy_color_hex ).setMenu("preview_copy_color_hex")
|
registerFunction("Preview", "Copy Color Hex", "", MOD_KEY.none, panel_preview_copy_color_hex ).setMenu("preview_copy_color_hex")
|
||||||
|
|
||||||
|
registerFunction("Preview", "Toggle Pixel Grid", "", MOD_KEY.none, panel_preview_toggle_grid_pixel ).setMenu("preview_toggle_grid_pixel")
|
||||||
|
registerFunction("Preview", "Toggle Grid", "", MOD_KEY.none, panel_preview_toggle_grid_visible ).setMenu("preview_toggle_grid_visible")
|
||||||
|
registerFunction("Preview", "Toggle Snap to Grid", "", MOD_KEY.none, panel_preview_toggle_grid_snap ).setMenu("preview_toggle_grid_snap")
|
||||||
|
|
||||||
|
registerFunction("Preview", "Toggle Onion Skin", "", MOD_KEY.none, panel_preview_onion_enabled ).setMenu("preview_onion_enabled")
|
||||||
|
registerFunction("Preview", "Toggle Onion Skin view", "", MOD_KEY.none, panel_preview_onion_on_top ).setMenu("preview_onion_on_top")
|
||||||
|
|
||||||
|
registerFunction("Preview", "Toggle Show Info", "", MOD_KEY.none, panel_preview_show_info ).setMenu("preview_show_info")
|
||||||
|
registerFunction("Preview", "Toggle Reset View", "", MOD_KEY.none, panel_preview_toggle_reset_view ).setMenu("preview_toggle_reset_view")
|
||||||
|
registerFunction("Preview", "Toggle Split View", "", MOD_KEY.none, panel_preview_toggle_split_view ).setMenu("preview_toggle_split_view")
|
||||||
|
registerFunction("Preview", "Toggle Lock", "", MOD_KEY.none, panel_preview_toggle_lock ).setMenu("preview_toggle_lock")
|
||||||
|
registerFunction("Preview", "Tiling Settings", "", MOD_KEY.none, function(_dat) /*=>*/ { submenuCall(_dat, [
|
||||||
|
MENU_ITEMS.preview_set_tile_off,
|
||||||
|
MENU_ITEMS.preview_set_tile_horizontal,
|
||||||
|
MENU_ITEMS.preview_set_tile_vertical,
|
||||||
|
MENU_ITEMS.preview_set_tile_both,
|
||||||
|
]) }).setMenu("preview_tiling_settings")
|
||||||
|
|
||||||
|
registerFunction("Preview", "Grid Settings", "", MOD_KEY.none, function() /*=>*/ { dialogPanelCall(new Panel_Preview_Grid_Setting()) }).setMenu("preview_grid_settings")
|
||||||
|
registerFunction("Preview", "Onion Skin Settings", "", MOD_KEY.none, function() /*=>*/ { dialogPanelCall(new Panel_Preview_Onion_Setting()) }).setMenu("preview_onion_settings")
|
||||||
|
registerFunction("Preview", "3D View Settings", "", MOD_KEY.none, function() /*=>*/ { dialogPanelCall(new Panel_Preview_3D_Setting(PANEL_PREVIEW)) }).setMenu("preview_3D_settings")
|
||||||
|
registerFunction("Preview", "3D SDF View Settings", "", MOD_KEY.none, function() /*=>*/ { dialogPanelCall(new Panel_Preview_3D_SDF_Setting(PANEL_PREVIEW)) }).setMenu("preview_3D_SDF_settings")
|
||||||
|
registerFunction("Preview", "3D Snap Settings", "", MOD_KEY.none, function() /*=>*/ { dialogPanelCall(new Panel_Preview_Snap_Setting(PANEL_PREVIEW)) }).setMenu("preview_snap_settings")
|
||||||
|
registerFunction("Preview", "View Settings", "", MOD_KEY.none, function() /*=>*/ { dialogPanelCall(new Panel_Preview_View_Setting(PANEL_PREVIEW)) }).setMenu("preview_view_settings")
|
||||||
|
|
||||||
__fnGroupInit_Preview();
|
__fnGroupInit_Preview();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -90,11 +127,8 @@ function Panel_Preview() : PanelContent() constructor {
|
||||||
last_focus = noone;
|
last_focus = noone;
|
||||||
|
|
||||||
#region ---- canvas control & sample ----
|
#region ---- canvas control & sample ----
|
||||||
function initSize() {
|
function initSize() { canvas_x = w / 2; canvas_y = h / 2; }
|
||||||
canvas_x = w / 2;
|
run_in(1, function() /*=>*/ { initSize() });
|
||||||
canvas_y = h / 2;
|
|
||||||
}
|
|
||||||
run_in(1, function() { initSize() });
|
|
||||||
|
|
||||||
canvas_x = 0;
|
canvas_x = 0;
|
||||||
canvas_y = 0;
|
canvas_y = 0;
|
||||||
|
@ -102,9 +136,7 @@ function Panel_Preview() : PanelContent() constructor {
|
||||||
canvas_w = ui(128);
|
canvas_w = ui(128);
|
||||||
canvas_h = ui(128);
|
canvas_h = ui(128);
|
||||||
canvas_a = 0;
|
canvas_a = 0;
|
||||||
|
|
||||||
canvas_bg = -1;
|
canvas_bg = -1;
|
||||||
|
|
||||||
do_fullView = false;
|
do_fullView = false;
|
||||||
|
|
||||||
canvas_hover = true;
|
canvas_hover = true;
|
||||||
|
@ -151,8 +183,6 @@ function Panel_Preview() : PanelContent() constructor {
|
||||||
mouse_on_preview = 0;
|
mouse_on_preview = 0;
|
||||||
_mouse_on_preview = 0;
|
_mouse_on_preview = 0;
|
||||||
|
|
||||||
resetViewOnDoubleClick = true;
|
|
||||||
|
|
||||||
splitView = 0;
|
splitView = 0;
|
||||||
splitPosition = 0.5;
|
splitPosition = 0.5;
|
||||||
splitSelection = 0;
|
splitSelection = 0;
|
||||||
|
@ -162,13 +192,14 @@ function Panel_Preview() : PanelContent() constructor {
|
||||||
splitViewMouse = 0;
|
splitViewMouse = 0;
|
||||||
|
|
||||||
tileMode = 0;
|
tileMode = 0;
|
||||||
|
|
||||||
bg_color = COLORS.panel_bg_clear;
|
bg_color = COLORS.panel_bg_clear;
|
||||||
|
|
||||||
mouse_pos_string = "";
|
mouse_pos_string = "";
|
||||||
|
|
||||||
show_info = true;
|
show_info = true;
|
||||||
show_view_control = 1;
|
show_view_control = 1;
|
||||||
|
|
||||||
|
resetViewOnDoubleClick = true;
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region ---- tool ----
|
#region ---- tool ----
|
||||||
|
@ -253,14 +284,14 @@ function Panel_Preview() : PanelContent() constructor {
|
||||||
d3_scene_light_enabled = true;
|
d3_scene_light_enabled = true;
|
||||||
|
|
||||||
d3_scene_light0 = new __3dLightDirectional();
|
d3_scene_light0 = new __3dLightDirectional();
|
||||||
d3_scene_light0.transform.position.set(-1, -2, 3);
|
|
||||||
d3_scene_light0.color = $FFFFFF;
|
d3_scene_light0.color = $FFFFFF;
|
||||||
d3_scene_light0.shadow_active = false;
|
d3_scene_light0.shadow_active = false;
|
||||||
d3_scene_light0.shadow_map_scale = 4;
|
d3_scene_light0.shadow_map_scale = 4;
|
||||||
|
d3_scene_light0.transform.position.set(-1, -2, 3);
|
||||||
|
|
||||||
d3_scene_light1 = new __3dLightDirectional();
|
d3_scene_light1 = new __3dLightDirectional();
|
||||||
d3_scene_light1.transform.position.set(1, 2, -3);
|
|
||||||
d3_scene_light1.color = $505050;
|
d3_scene_light1.color = $505050;
|
||||||
|
d3_scene_light1.transform.position.set(1, 2, -3);
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region tool
|
#region tool
|
||||||
|
@ -273,52 +304,57 @@ function Panel_Preview() : PanelContent() constructor {
|
||||||
tb_framerate = new textBox(TEXTBOX_INPUT.number, function(val) { preview_rate = real(val); });
|
tb_framerate = new textBox(TEXTBOX_INPUT.number, function(val) { preview_rate = real(val); });
|
||||||
|
|
||||||
#region ++++ toolbars & actions ++++
|
#region ++++ toolbars & actions ++++
|
||||||
function set_tile_off() { tileMode = 0; }
|
static set_tile_off = function() /*=>*/ { tileMode = 0; }
|
||||||
function set_tile_horizontal() { tileMode = 1; }
|
static set_tile_horizontal = function() /*=>*/ { tileMode = 1; }
|
||||||
function set_tile_vertical() { tileMode = 2; }
|
static set_tile_vertical = function() /*=>*/ { tileMode = 2; }
|
||||||
function set_tile_both() { tileMode = 3; }
|
static set_tile_both = function() /*=>*/ { tileMode = 3; }
|
||||||
function set_tile_toggle() { tileMode = (tileMode + 1) % 4; }
|
static set_tile_toggle = function() /*=>*/ { tileMode = (tileMode + 1) % 4; }
|
||||||
|
|
||||||
function new_preview_window() { create_preview_window(getNodePreview()); }
|
static new_preview_window = function() /*=>*/ { create_preview_window(getNodePreview()); }
|
||||||
function copy_color() { clipboard_set_text(sample_color); }
|
static copy_color = function() /*=>*/ { clipboard_set_text(sample_color); }
|
||||||
function copy_color_hex() { clipboard_set_text(color_get_hex(sample_color)); }
|
static copy_color_hex = function() /*=>*/ { clipboard_set_text(color_get_hex(sample_color)); }
|
||||||
|
|
||||||
|
static toggle_reset_view = function() /*=>*/ { resetViewOnDoubleClick = !resetViewOnDoubleClick; }
|
||||||
|
static toggle_split_view = function() /*=>*/ { splitView = (splitView + 1) % 3; }
|
||||||
|
|
||||||
|
static toggle_lock = function() /*=>*/ { locked = !locked }
|
||||||
|
|
||||||
topbar_height = ui(32);
|
topbar_height = ui(32);
|
||||||
toolbar_height = ui(40);
|
toolbar_height = ui(40);
|
||||||
toolbars = [
|
toolbars = [
|
||||||
[
|
[
|
||||||
THEME.icon_reset_when_preview,
|
THEME.icon_reset_when_preview,
|
||||||
function() { return resetViewOnDoubleClick; },
|
function() /*=>*/ {return resetViewOnDoubleClick},
|
||||||
function() { return resetViewOnDoubleClick? __txtx("panel_preview_center_canvas_on_preview", "Center canvas on preview") :
|
function() /*=>*/ { return new tooltipHotkey(resetViewOnDoubleClick? __txtx("panel_preview_center_canvas_on_preview", "Center canvas on preview") :
|
||||||
__txtx("panel_preview_keep_canvas_on_preview", "Keep canvas on preview"); },
|
__txtx("panel_preview_keep_canvas_on_preview", "Keep canvas on preview"), "Preview", "Toggle Reset View" )},
|
||||||
function() { resetViewOnDoubleClick = !resetViewOnDoubleClick; }
|
toggle_reset_view,
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
THEME.icon_split_view,
|
THEME.icon_split_view,
|
||||||
function() { return splitView; },
|
function() /*=>*/ {return splitView},
|
||||||
function() {
|
function() /*=>*/ {
|
||||||
switch(splitView) {
|
switch(splitView) {
|
||||||
case 0 : return __txtx("panel_preview_split_view_off", "Split view off");
|
case 0 : return new tooltipHotkey(__txtx("panel_preview_split_view_off", "Split view off"), "Preview", "Toggle Split View");
|
||||||
case 1 : return __txtx("panel_preview_horizontal_split_view", "Horizontal split view");
|
case 1 : return new tooltipHotkey(__txtx("panel_preview_horizontal_split_view", "Horizontal split view"), "Preview", "Toggle Split View");
|
||||||
case 2 : return __txtx("panel_preview_vertical_split_view", "Vertical split view");
|
case 2 : return new tooltipHotkey(__txtx("panel_preview_vertical_split_view", "Vertical split view"), "Preview", "Toggle Split View");
|
||||||
}
|
}
|
||||||
return __txtx("panel_preview_split_view", "Split view");
|
return new tooltipHotkey(__txtx("panel_preview_split_view", "Split view"), "Preview", "Toggle Split View");
|
||||||
},
|
},
|
||||||
function() { splitView = (splitView + 1) % 3; }
|
toggle_split_view,
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
THEME.icon_tile_view,
|
THEME.icon_tile_view,
|
||||||
function() { var t = [3, 0, 1, 2]; return array_safe_get_fast(t, tileMode); },
|
function() /*=>*/ { var t = [3, 0, 1, 2]; return array_safe_get_fast(t, tileMode); },
|
||||||
function() {
|
function() /*=>*/ {
|
||||||
switch(tileMode) {
|
switch(tileMode) {
|
||||||
case 0 : return __txtx("panel_preview_tile_off", "Tile off");
|
case 0 : return new tooltipHotkey(__txtx("panel_preview_tile_off", "Tile off"), "Preview", "Tiling Settings");
|
||||||
case 1 : return __txtx("panel_preview_tile_horizontal", "Tile horizontal");
|
case 1 : return new tooltipHotkey(__txtx("panel_preview_tile_horizontal", "Tile horizontal"), "Preview", "Tiling Settings");
|
||||||
case 2 : return __txtx("panel_preview_tile_vertical", "Tile vertical");
|
case 2 : return new tooltipHotkey(__txtx("panel_preview_tile_vertical", "Tile vertical"), "Preview", "Tiling Settings");
|
||||||
case 3 : return __txtx("panel_preview_tile_both", "Tile both");
|
case 3 : return new tooltipHotkey(__txtx("panel_preview_tile_both", "Tile both"), "Preview", "Tiling Settings");
|
||||||
}
|
}
|
||||||
return __txtx("panel_preview_tile_mode", "Tile mode");
|
return new tooltipHotkey(__txtx("panel_preview_tile_mode", "Tile mode"), "Preview", "Tiling Settings");
|
||||||
},
|
},
|
||||||
function(data) {
|
function(data) /*=>*/ {
|
||||||
menuCall("preview_tile_menu", [
|
menuCall("preview_tile_menu", [
|
||||||
MENU_ITEMS.preview_set_tile_off,
|
MENU_ITEMS.preview_set_tile_off,
|
||||||
MENU_ITEMS.preview_set_tile_horizontal,
|
MENU_ITEMS.preview_set_tile_horizontal,
|
||||||
|
@ -329,19 +365,15 @@ function Panel_Preview() : PanelContent() constructor {
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
THEME.icon_grid_setting,
|
THEME.icon_grid_setting,
|
||||||
function() { return 0; },
|
function() /*=>*/ {return 0},
|
||||||
function() { return __txtx("grid_title", "Grid setting") },
|
function() /*=>*/ {return new tooltipHotkey(__txtx("grid_title", "Grid setting"), "Preview", "Grid Settings")},
|
||||||
function(param) {
|
function(param) /*=>*/ { dialogPanelCall(new Panel_Preview_Grid_Setting(), param.x, param.y, { anchor: ANCHOR.bottom | ANCHOR.left }); }
|
||||||
var dia = dialogPanelCall(new Panel_Preview_Grid_Setting(), param.x, param.y, { anchor: ANCHOR.bottom | ANCHOR.left });
|
|
||||||
}
|
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
THEME.onion_skin,
|
THEME.onion_skin,
|
||||||
function() { return 0; },
|
function() /*=>*/ {return 0},
|
||||||
function() { return __txt("Onion Skin") },
|
function() /*=>*/ {return new tooltipHotkey(__txt("Onion Skin"), "Preview", "Onion Skin Settings")},
|
||||||
function(param) {
|
function(param) /*=>*/ { dialogPanelCall(new Panel_Preview_Onion_Setting(), param.x, param.y, { anchor: ANCHOR.bottom | ANCHOR.left }); }
|
||||||
var dia = dialogPanelCall(new Panel_Preview_Onion_Setting(), param.x, param.y, { anchor: ANCHOR.bottom | ANCHOR.left });
|
|
||||||
}
|
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -349,13 +381,13 @@ function Panel_Preview() : PanelContent() constructor {
|
||||||
[
|
[
|
||||||
THEME.d3d_preview_settings,
|
THEME.d3d_preview_settings,
|
||||||
function() /*=>*/ {return 0},
|
function() /*=>*/ {return 0},
|
||||||
function() /*=>*/ {return __txt("3D Preview Settings")},
|
function() /*=>*/ {return new tooltipHotkey(__txt("3D Preview Settings"), "Preview", "3D View Settings")},
|
||||||
function(param) /*=>*/ { dialogPanelCall(new Panel_Preview_3D_Setting(self), param.x, param.y, { anchor: ANCHOR.bottom | ANCHOR.left }); }
|
function(param) /*=>*/ { dialogPanelCall(new Panel_Preview_3D_Setting(self), param.x, param.y, { anchor: ANCHOR.bottom | ANCHOR.left }); }
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
THEME.d3d_snap_settings,
|
THEME.d3d_snap_settings,
|
||||||
function() /*=>*/ {return 0},
|
function() /*=>*/ {return 0},
|
||||||
function() /*=>*/ {return __txt("3D Snap Settings")},
|
function() /*=>*/ {return new tooltipHotkey(__txt("3D Snap Settings"), "Preview", "3D Snap Settings")},
|
||||||
function(param) /*=>*/ { dialogPanelCall(new Panel_Preview_Snap_Setting(self), param.x, param.y, { anchor: ANCHOR.bottom | ANCHOR.left }); }
|
function(param) /*=>*/ { dialogPanelCall(new Panel_Preview_Snap_Setting(self), param.x, param.y, { anchor: ANCHOR.bottom | ANCHOR.left }); }
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
@ -364,42 +396,39 @@ function Panel_Preview() : PanelContent() constructor {
|
||||||
[
|
[
|
||||||
THEME.d3d_preview_settings,
|
THEME.d3d_preview_settings,
|
||||||
function() /*=>*/ {return 0},
|
function() /*=>*/ {return 0},
|
||||||
function() /*=>*/ {return __txt("3D SDF Preview Settings")},
|
function() /*=>*/ {return new tooltipHotkey(__txt("3D SDF Preview Settings"), "Preview", "3D SDF View Settings")},
|
||||||
function(param) /*=>*/ { dialogPanelCall(new Panel_Preview_3D_SDF_Setting(self), param.x, param.y, { anchor: ANCHOR.bottom | ANCHOR.left }); }
|
function(param) /*=>*/ { dialogPanelCall(new Panel_Preview_3D_SDF_Setting(self), param.x, param.y, { anchor: ANCHOR.bottom | ANCHOR.left }); }
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
THEME.d3d_snap_settings,
|
THEME.d3d_snap_settings,
|
||||||
function() /*=>*/ {return 0},
|
function() /*=>*/ {return 0},
|
||||||
function() /*=>*/ {return __txt("3D Snap Settings")},
|
function() /*=>*/ {return new tooltipHotkey(__txt("3D Snap Settings"), "Preview", "3D Snap Settings")},
|
||||||
function(param) /*=>*/ { dialogPanelCall(new Panel_Preview_Snap_Setting(self), param.x, param.y, { anchor: ANCHOR.bottom | ANCHOR.left }); }
|
function(param) /*=>*/ { dialogPanelCall(new Panel_Preview_Snap_Setting(self), param.x, param.y, { anchor: ANCHOR.bottom | ANCHOR.left }); }
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
tooltip_center = new tooltipHotkey(__txtx("panel_preview_center_canvas", "Center canvas"), "Preview", "Focus content");
|
|
||||||
tooltip_export = new tooltipHotkey(__txtx("panel_preview_export_canvas", "Export canvas"), "Preview", "Save current frame");
|
|
||||||
|
|
||||||
actions = [
|
actions = [
|
||||||
[
|
[
|
||||||
THEME.lock,
|
THEME.lock,
|
||||||
__txtx("panel_preview_lock_preview", "Lock previewing node"),
|
new tooltipHotkey(__txtx("panel_preview_lock_preview", "Lock previewing node"), "Preview", "Toggle Lock"),
|
||||||
function() /*=>*/ { locked = !locked; },
|
toggle_lock,
|
||||||
function() /*=>*/ {return !locked},
|
function() /*=>*/ {return !locked},
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
THEME.icon_preview_export,
|
THEME.icon_preview_export,
|
||||||
tooltip_export,
|
new tooltipHotkey(__txtx("panel_preview_export_canvas", "Export canvas"), "Preview", "Save current frame"),
|
||||||
function() /*=>*/ { saveCurrentFrame(); },
|
function() /*=>*/ { saveCurrentFrame(); },
|
||||||
function() /*=>*/ {return 0},
|
function() /*=>*/ {return 0},
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
THEME.icon_center_canvas,
|
THEME.icon_center_canvas,
|
||||||
tooltip_center,
|
new tooltipHotkey(__txtx("panel_preview_center_canvas", "Center canvas"), "Preview", "Focus content"),
|
||||||
function() /*=>*/ { fullView(); },
|
function() /*=>*/ { fullView(); },
|
||||||
function() /*=>*/ {return 0},
|
function() /*=>*/ {return 0},
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
THEME.icon_visibility,
|
THEME.icon_visibility,
|
||||||
__txtx("graph_visibility_title", "Visibility settings"),
|
new tooltipHotkey(__txtx("graph_visibility_title", "Visibility settings"), "Preview", "View Settings"),
|
||||||
function(param) /*=>*/ { dialogPanelCall(new Panel_Preview_View_Setting(self), param.x, param.y, { anchor: ANCHOR.bottom | ANCHOR.left }); },
|
function(param) /*=>*/ { dialogPanelCall(new Panel_Preview_View_Setting(self), param.x, param.y, { anchor: ANCHOR.bottom | ANCHOR.left }); },
|
||||||
function() /*=>*/ {return 0},
|
function() /*=>*/ {return 0},
|
||||||
],
|
],
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
function Panel_Preview_3D_SDF_Setting(panel) : Panel_Linear_Setting() constructor {
|
function Panel_Preview_3D_SDF_Setting(panel) : Panel_Linear_Setting() constructor {
|
||||||
title = __txtx("preview_3d_settings", "3D SDF Preview Settings");
|
title = __txtx("preview_3d_settings", "3D SDF Preview Settings");
|
||||||
|
|
||||||
w = ui(380);
|
|
||||||
preview_panel = panel;
|
preview_panel = panel;
|
||||||
|
|
||||||
properties_default = [
|
properties_default = [
|
||||||
|
@ -15,6 +13,7 @@ function Panel_Preview_3D_SDF_Setting(panel) : Panel_Linear_Setting() constructo
|
||||||
function(val) /*=>*/ { preview_panel.d3_view_camera.view_near = val[0]; preview_panel.d3_view_camera.view_far = val[1] },
|
function(val) /*=>*/ { preview_panel.d3_view_camera.view_near = val[0]; preview_panel.d3_view_camera.view_far = val[1] },
|
||||||
[ 0.01, 50 ],
|
[ 0.01, 50 ],
|
||||||
),
|
),
|
||||||
|
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txt("Draw BG"),
|
__txt("Draw BG"),
|
||||||
new checkBox(function() /*=>*/ { preview_panel.d3_drawBG = !preview_panel.d3_drawBG; }),
|
new checkBox(function() /*=>*/ { preview_panel.d3_drawBG = !preview_panel.d3_drawBG; }),
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
function Panel_Preview_3D_Setting(panel) : Panel_Linear_Setting() constructor {
|
function Panel_Preview_3D_Setting(panel) : Panel_Linear_Setting() constructor {
|
||||||
title = __txtx("preview_3d_settings", "3D Preview Settings");
|
title = __txtx("preview_3d_settings", "3D Preview Settings");
|
||||||
|
|
||||||
w = ui(380);
|
|
||||||
preview_panel = panel;
|
preview_panel = panel;
|
||||||
|
|
||||||
properties_default = [
|
properties_default = [
|
||||||
|
|
|
@ -1,59 +1,58 @@
|
||||||
function Panel_Preview_Grid_Setting() : Panel_Linear_Setting() constructor {
|
function Panel_Preview_Grid_Setting() : Panel_Linear_Setting() constructor {
|
||||||
title = __txtx("preview_grid_settings", "Grid Settings");
|
title = __txtx("preview_grid_settings", "Grid Settings");
|
||||||
|
|
||||||
w = ui(380);
|
|
||||||
|
|
||||||
#region data
|
|
||||||
properties = [
|
properties = [
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txt("Pixel Grid"),
|
__txt("Enabled"),
|
||||||
new checkBox(function() { PROJECT.previewGrid.pixel = !PROJECT.previewGrid.pixel; }),
|
new checkBox(function() /*=>*/ { PROJECT.previewGrid.show = !PROJECT.previewGrid.show; }),
|
||||||
function() { return PROJECT.previewGrid.pixel; },
|
function() /*=>*/ {return PROJECT.previewGrid.show},
|
||||||
function(val) { PROJECT.previewGrid.pixel = val; },
|
function(val) /*=>*/ { PROJECT.previewGrid.show = val; },
|
||||||
false,
|
false,
|
||||||
|
["Preview", "Toggle Grid"]
|
||||||
),
|
),
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txt("Enabled"),
|
__txt("Pixel Grid"),
|
||||||
new checkBox(function() { PROJECT.previewGrid.show = !PROJECT.previewGrid.show; }),
|
new checkBox(function() /*=>*/ { PROJECT.previewGrid.pixel = !PROJECT.previewGrid.pixel; }),
|
||||||
function() { return PROJECT.previewGrid.show; },
|
function() /*=>*/ {return PROJECT.previewGrid.pixel},
|
||||||
function(val) { PROJECT.previewGrid.show = val; },
|
function(val) /*=>*/ { PROJECT.previewGrid.pixel = val; },
|
||||||
false,
|
false,
|
||||||
|
["Preview", "Toggle Pixel Grid"]
|
||||||
),
|
),
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txtx("grid_snap", "Snap to grid"),
|
__txtx("grid_snap", "Snap to grid"),
|
||||||
new checkBox(function() { PROJECT.previewGrid.snap = !PROJECT.previewGrid.snap; }),
|
new checkBox(function() /*=>*/ { PROJECT.previewGrid.snap = !PROJECT.previewGrid.snap; }),
|
||||||
function() { return PROJECT.previewGrid.snap; },
|
function() /*=>*/ {return PROJECT.previewGrid.snap},
|
||||||
function(val) { PROJECT.previewGrid.snap = val; },
|
function(val) /*=>*/ { PROJECT.previewGrid.snap = val; },
|
||||||
false,
|
false,
|
||||||
|
["Preview", "Toggle Snap to Grid"]
|
||||||
),
|
),
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txt("Grid size"),
|
__txt("Grid size"),
|
||||||
new vectorBox(2, function(value, index) {
|
new vectorBox(2, function(value, index) /*=>*/ {
|
||||||
var _v = PROJECT.previewGrid.size[index];
|
var _v = PROJECT.previewGrid.size[index];
|
||||||
PROJECT.previewGrid.size[index] = max(1, value);
|
PROJECT.previewGrid.size[index] = max(1, value);
|
||||||
|
|
||||||
return _v != max(1, value);
|
return _v != max(1, value);
|
||||||
}).setLinkInactiveColor(COLORS._main_icon_light),
|
}).setLinkInactiveColor(COLORS._main_icon_light),
|
||||||
function() { return PROJECT.previewGrid.size; },
|
function() /*=>*/ {return PROJECT.previewGrid.size},
|
||||||
function(val) { PROJECT.previewGrid.size = val; },
|
function(val) /*=>*/ { PROJECT.previewGrid.size = val; },
|
||||||
[ 16, 16 ],
|
[ 16, 16 ],
|
||||||
),
|
),
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txt("Grid opacity"),
|
__txt("Grid opacity"),
|
||||||
slider(0, 1, .05, function(str) { PROJECT.previewGrid.opacity = clamp(real(str), 0, 1); }),
|
slider(0, 1, .05, function(str) /*=>*/ { PROJECT.previewGrid.opacity = clamp(real(str), 0, 1); }),
|
||||||
function() { return PROJECT.previewGrid.opacity; },
|
function() /*=>*/ {return PROJECT.previewGrid.opacity},
|
||||||
function(val) { PROJECT.previewGrid.opacity = val; },
|
function(val) /*=>*/ { PROJECT.previewGrid.opacity = val; },
|
||||||
0.5,
|
0.5,
|
||||||
),
|
),
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txt("Grid color"),
|
__txt("Grid color"),
|
||||||
new buttonColor(function(color) { PROJECT.previewGrid.color = color; }, self),
|
new buttonColor(function(color) /*=>*/ { PROJECT.previewGrid.color = color; }, self),
|
||||||
function() { return PROJECT.previewGrid.color; },
|
function() /*=>*/ {return PROJECT.previewGrid.color},
|
||||||
function(val) { PROJECT.previewGrid.color = val; },
|
function(val) /*=>*/ { PROJECT.previewGrid.color = val; },
|
||||||
COLORS.panel_preview_grid,
|
COLORS.panel_preview_grid,
|
||||||
),
|
),
|
||||||
];
|
];
|
||||||
|
|
||||||
setHeight();
|
setHeight();
|
||||||
#endregion
|
|
||||||
}
|
}
|
|
@ -1,54 +1,52 @@
|
||||||
function Panel_Preview_Onion_Setting() : Panel_Linear_Setting() constructor {
|
function Panel_Preview_Onion_Setting() : Panel_Linear_Setting() constructor {
|
||||||
title = __txtx("preview_onion_skin_settings", "Onion skin Settings");
|
title = __txtx("preview_onion_skin_settings", "Onion skin Settings");
|
||||||
|
|
||||||
w = ui(380);
|
|
||||||
|
|
||||||
#region data
|
|
||||||
properties = [
|
properties = [
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txt("Enabled"),
|
__txt("Enabled"),
|
||||||
new checkBox(function() { PROJECT.onion_skin.enabled = !PROJECT.onion_skin.enabled; }),
|
new checkBox(function() /*=>*/ { PROJECT.onion_skin.enabled = !PROJECT.onion_skin.enabled; }),
|
||||||
function() { return PROJECT.onion_skin.enabled; },
|
function() /*=>*/ {return PROJECT.onion_skin.enabled},
|
||||||
function(val) { PROJECT.onion_skin.enabled = val; },
|
function(val) /*=>*/ { PROJECT.onion_skin.enabled = val; },
|
||||||
false
|
false,
|
||||||
|
["Preview", "Toggle Onion Skin"]
|
||||||
),
|
),
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txtx("onion_skin_top", "Draw on top"),
|
__txtx("onion_skin_top", "Draw on top"),
|
||||||
new checkBox(function() { PROJECT.onion_skin.on_top = !PROJECT.onion_skin.on_top; }),
|
new checkBox(function() /*=>*/ { PROJECT.onion_skin.on_top = !PROJECT.onion_skin.on_top; }),
|
||||||
function() { return PROJECT.onion_skin.on_top; },
|
function() /*=>*/ {return PROJECT.onion_skin.on_top},
|
||||||
function(val) { PROJECT.onion_skin.on_top = val; },
|
function(val) /*=>*/ { PROJECT.onion_skin.on_top = val; },
|
||||||
true
|
true,
|
||||||
|
["Preview", "Toggle Onion Skin view"]
|
||||||
),
|
),
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txtx("onion_skin_frame_step", "Frame step"),
|
__txtx("onion_skin_frame_step", "Frame step"),
|
||||||
new textBox(TEXTBOX_INPUT.number, function(str) { PROJECT.onion_skin.step = max(1, round(real(str))); }),
|
new textBox(TEXTBOX_INPUT.number, function(str) /*=>*/ { PROJECT.onion_skin.step = max(1, round(real(str))); }),
|
||||||
function() { return PROJECT.onion_skin.step; },
|
function() /*=>*/ {return PROJECT.onion_skin.step},
|
||||||
function(val) { PROJECT.onion_skin.step = val; },
|
function(val) /*=>*/ { PROJECT.onion_skin.step = val; },
|
||||||
1
|
1,
|
||||||
),
|
),
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txtx("onion_skin_pre_color", "Pre Color"),
|
__txtx("onion_skin_pre_color", "Pre Color"),
|
||||||
new buttonColor(function(color) { PROJECT.onion_skin.color[0] = color; }, self),
|
new buttonColor(function(color) /*=>*/ { PROJECT.onion_skin.color[0] = color; }, self),
|
||||||
function() { return PROJECT.onion_skin.color[0]; },
|
function() /*=>*/ {return PROJECT.onion_skin.color[0]},
|
||||||
function(val) { PROJECT.onion_skin.color[0] = val; },
|
function(val) /*=>*/ { PROJECT.onion_skin.color[0] = val; },
|
||||||
c_red
|
c_red,
|
||||||
),
|
),
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txtx("onion_skin_post_color", "Post Color"),
|
__txtx("onion_skin_post_color", "Post Color"),
|
||||||
new buttonColor(function(color) { PROJECT.onion_skin.color[1] = color; }, self),
|
new buttonColor(function(color) /*=>*/ { PROJECT.onion_skin.color[1] = color; }, self),
|
||||||
function() { return PROJECT.onion_skin.color[1]; },
|
function() /*=>*/ {return PROJECT.onion_skin.color[1]},
|
||||||
function(val) { PROJECT.onion_skin.color[1] = val; },
|
function(val) /*=>*/ { PROJECT.onion_skin.color[1] = val; },
|
||||||
c_blue
|
c_blue,
|
||||||
),
|
),
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txt("Opacity"),
|
__txt("Opacity"),
|
||||||
slider(0, 1, .05, function(str) { PROJECT.onion_skin.alpha = clamp(real(str), 0, 1); }),
|
slider(0, 1, .05, function(str) /*=>*/ { PROJECT.onion_skin.alpha = clamp(real(str), 0, 1); }),
|
||||||
function() { return PROJECT.onion_skin.alpha; },
|
function() /*=>*/ {return PROJECT.onion_skin.alpha},
|
||||||
function(val) { PROJECT.onion_skin.alpha = val; },
|
function(val) /*=>*/ { PROJECT.onion_skin.alpha = val; },
|
||||||
0.5
|
0.5,
|
||||||
),
|
),
|
||||||
];
|
];
|
||||||
|
|
||||||
setHeight();
|
setHeight();
|
||||||
#endregion
|
|
||||||
}
|
}
|
|
@ -1,10 +1,7 @@
|
||||||
function Panel_Preview_Snap_Setting(panel) : Panel_Linear_Setting() constructor {
|
function Panel_Preview_Snap_Setting(panel) : Panel_Linear_Setting() constructor {
|
||||||
title = __txtx("preview_snap_settings", "3D Snap Settings");
|
title = __txtx("preview_snap_settings", "3D Snap Settings");
|
||||||
|
|
||||||
w = ui(380);
|
|
||||||
preview_panel = panel;
|
preview_panel = panel;
|
||||||
|
|
||||||
#region data
|
|
||||||
properties = [
|
properties = [
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txt("Snap"),
|
__txt("Snap"),
|
||||||
|
@ -30,5 +27,4 @@ function Panel_Preview_Snap_Setting(panel) : Panel_Linear_Setting() constructor
|
||||||
]
|
]
|
||||||
|
|
||||||
setHeight();
|
setHeight();
|
||||||
#endregion
|
|
||||||
}
|
}
|
|
@ -1,27 +1,24 @@
|
||||||
function Panel_Preview_View_Setting(previewPanel) : Panel_Linear_Setting() constructor {
|
function Panel_Preview_View_Setting(previewPanel) : Panel_Linear_Setting() constructor {
|
||||||
title = __txtx("preview_view_settings", "View Settings");
|
title = __txtx("preview_view_settings", "View Settings");
|
||||||
|
|
||||||
w = ui(380);
|
|
||||||
self.previewPanel = previewPanel;
|
self.previewPanel = previewPanel;
|
||||||
|
|
||||||
#region data
|
|
||||||
properties = [
|
properties = [
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txt("Info"),
|
__txt("Info"),
|
||||||
new checkBox(function() { previewPanel.show_info = !previewPanel.show_info; }),
|
new checkBox(function() /*=>*/ { previewPanel.show_info = !previewPanel.show_info; }),
|
||||||
function() { return previewPanel.show_info },
|
function() /*=>*/ {return previewPanel.show_info},
|
||||||
function(val) { previewPanel.show_info = val; },
|
function(val) /*=>*/ { previewPanel.show_info = val; },
|
||||||
true,
|
true,
|
||||||
|
["Preview", "Toggle Show Info"]
|
||||||
),
|
),
|
||||||
new __Panel_Linear_Setting_Item(
|
new __Panel_Linear_Setting_Item(
|
||||||
__txt("View Control"),
|
__txt("View Control"),
|
||||||
new buttonGroup([ "None", "Left", "Right" ], function(val) { previewPanel.show_view_control = val; }),
|
new buttonGroup([ "None", "Left", "Right" ], function(val) /*=>*/ { previewPanel.show_view_control = val; }),
|
||||||
function() { return previewPanel.show_view_control },
|
function() /*=>*/ {return previewPanel.show_view_control},
|
||||||
function(val) { previewPanel.show_view_control = val; },
|
function(val) /*=>*/ { previewPanel.show_view_control = val; },
|
||||||
1,
|
1,
|
||||||
),
|
),
|
||||||
];
|
];
|
||||||
|
|
||||||
setHeight();
|
setHeight();
|
||||||
#endregion
|
|
||||||
}
|
}
|
|
@ -2,7 +2,6 @@ function Panel_Tunnels() : PanelContent() constructor {
|
||||||
title = __txt("Tunnels");
|
title = __txt("Tunnels");
|
||||||
padding = 8;
|
padding = 8;
|
||||||
|
|
||||||
#region data
|
|
||||||
w = ui(320);
|
w = ui(320);
|
||||||
h = ui(480);
|
h = ui(480);
|
||||||
|
|
||||||
|
@ -27,8 +26,8 @@ function Panel_Tunnels() : PanelContent() constructor {
|
||||||
|
|
||||||
search_string = "";
|
search_string = "";
|
||||||
keyboard_lastchar = "";
|
keyboard_lastchar = "";
|
||||||
KEYBOARD_STRING = "";
|
|
||||||
keyboard_lastkey = -1;
|
keyboard_lastkey = -1;
|
||||||
|
KEYBOARD_STRING = "";
|
||||||
|
|
||||||
search_res = [];
|
search_res = [];
|
||||||
tb_search = new textBox(TEXTBOX_INPUT.text, function(str) {
|
tb_search = new textBox(TEXTBOX_INPUT.text, function(str) {
|
||||||
|
@ -51,7 +50,6 @@ function Panel_Tunnels() : PanelContent() constructor {
|
||||||
array_push(search_res, node);
|
array_push(search_res, node);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
|
||||||
|
|
||||||
function onResize() { sc_tunnel.resize(w - ui(padding + padding), h - ui(padding + padding) - ui(28)); }
|
function onResize() { sc_tunnel.resize(w - ui(padding + padding), h - ui(padding + padding) - ui(28)); }
|
||||||
|
|
||||||
|
|
|
@ -37,6 +37,7 @@ function scrollBox(_data, _onModify, update_hover = true) : widget() constructor
|
||||||
var ind = array_find(data, curr_text);
|
var ind = array_find(data, curr_text);
|
||||||
open = true;
|
open = true;
|
||||||
|
|
||||||
|
FOCUS_BEFORE = FOCUS;
|
||||||
with(dialogCall(horizontal? o_dialog_scrollbox_horizontal : o_dialog_scrollbox, x + open_rx, y + open_ry)) {
|
with(dialogCall(horizontal? o_dialog_scrollbox_horizontal : o_dialog_scrollbox, x + open_rx, y + open_ry)) {
|
||||||
initVal = ind;
|
initVal = ind;
|
||||||
font = other.font;
|
font = other.font;
|
||||||
|
|
|
@ -41,6 +41,7 @@ function filename_name_only(name) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function string_to_var(str) { INLINE return string_replace_all(string_replace_all(string_lower(str), " ", "_"), "/", "_"); }
|
function string_to_var(str) { INLINE return string_replace_all(string_replace_all(string_lower(str), " ", "_"), "/", "_"); }
|
||||||
|
function string_to_var2(context, name) { INLINE return string_to_var(context == ""? name : $"{context} {name}"); }
|
||||||
function string_quote(str) { INLINE return $"\"{str}\""; }
|
function string_quote(str) { INLINE return $"\"{str}\""; }
|
||||||
|
|
||||||
function array_to_string(arr) {
|
function array_to_string(arr) {
|
||||||
|
|
|
@ -38,6 +38,7 @@ function Theme() constructor {
|
||||||
chat = s_chat;
|
chat = s_chat;
|
||||||
checkbox_on_start = s_checkbox_on_start;
|
checkbox_on_start = s_checkbox_on_start;
|
||||||
circle_16 = s_circle_16;
|
circle_16 = s_circle_16;
|
||||||
|
circle_hotkey = s_circle_hotkey;
|
||||||
circle = s_circle_8;
|
circle = s_circle_8;
|
||||||
circle_toggle_8 = s_circle_toggle_8;
|
circle_toggle_8 = s_circle_toggle_8;
|
||||||
code_show_auto = s_code_show_auto;
|
code_show_auto = s_code_show_auto;
|
||||||
|
|
|
@ -33,3 +33,50 @@ function tooltipHotkey(text, context = "", name = "") constructor {
|
||||||
hotkey_draw(keyStr, _hx, _hy);
|
hotkey_draw(keyStr, _hx, _hy);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function tooltipHotkey_assign(text, hotkey = "") constructor {
|
||||||
|
self.text = text;
|
||||||
|
self.hotkey = hotkey;
|
||||||
|
|
||||||
|
static drawTooltip = function() {
|
||||||
|
var _uns = text == noone;
|
||||||
|
var _txt = _uns? [ __txt("Unassigned") ] : text;
|
||||||
|
|
||||||
|
draw_set_font(f_p1);
|
||||||
|
var _w1 = string_width(hotkey);
|
||||||
|
|
||||||
|
draw_set_font(f_p0);
|
||||||
|
var _w2 = 0;
|
||||||
|
var th = 0;
|
||||||
|
|
||||||
|
for (var i = 0, n = array_length(_txt); i < n; i++) {
|
||||||
|
var _t = _txt[i];
|
||||||
|
var _ts = is_string(_t)? _t : _t.name;
|
||||||
|
|
||||||
|
_w2 = max(_w2, string_width(_ts));
|
||||||
|
th += string_height(_ts);
|
||||||
|
}
|
||||||
|
|
||||||
|
var tw = min(WIN_W - ui(32), _w1 + ui(24) + _w2);
|
||||||
|
var mx = min(mouse_mx + ui(16), WIN_W - (tw + ui(16)));
|
||||||
|
var my = min(mouse_my + ui(16), WIN_H - (th + ui(16)));
|
||||||
|
|
||||||
|
draw_sprite_stretched(THEME.textbox, 3, mx, my, tw + ui(16), th + ui(16));
|
||||||
|
draw_sprite_stretched(THEME.textbox, 0, mx, my, tw + ui(16), th + ui(16));
|
||||||
|
|
||||||
|
var txy = my + ui(8);
|
||||||
|
|
||||||
|
draw_set_text(f_p0, fa_left, fa_top, _uns? COLORS._main_text_sub : COLORS._main_text);
|
||||||
|
for (var i = 0, n = array_length(_txt); i < n; i++) {
|
||||||
|
var _t = _txt[i];
|
||||||
|
var _ts = is_string(_t)? _t : _t.name;
|
||||||
|
|
||||||
|
draw_text(mx + ui(8), txy, _ts);
|
||||||
|
txy += string_height(_ts);
|
||||||
|
}
|
||||||
|
|
||||||
|
var _hx = mx + tw + ui(6);
|
||||||
|
var _hy = my + line_get_height() / 2 + ui(10);
|
||||||
|
hotkey_draw(hotkey, _hx, _hy);
|
||||||
|
}
|
||||||
|
}
|
BIN
sprites/s_circle_hotkey/54ca7373-f3a6-49dc-80a6-ba9f47977265.png
Normal file
After Width: | Height: | Size: 309 B |
BIN
sprites/s_circle_hotkey/8c2842ec-1261-4261-aa81-5b4e6589979c.png
Normal file
After Width: | Height: | Size: 306 B |
BIN
sprites/s_circle_hotkey/9a6e4559-d82b-498d-9a21-3f7c70d6193b.png
Normal file
After Width: | Height: | Size: 304 B |
BIN
sprites/s_circle_hotkey/9d754822-f194-49ac-bcdd-0382b7106c1f.png
Normal file
After Width: | Height: | Size: 307 B |
BIN
sprites/s_circle_hotkey/bf6e94ad-78c1-4f50-b0a0-4536e8e445d8.png
Normal file
After Width: | Height: | Size: 309 B |
BIN
sprites/s_circle_hotkey/f1285d37-7d57-4c8b-9504-10402561d410.png
Normal file
After Width: | Height: | Size: 309 B |
After Width: | Height: | Size: 309 B |
After Width: | Height: | Size: 306 B |
After Width: | Height: | Size: 304 B |
After Width: | Height: | Size: 307 B |
After Width: | Height: | Size: 309 B |
After Width: | Height: | Size: 309 B |
110
sprites/s_circle_hotkey/s_circle_hotkey.yy
Normal file
|
@ -0,0 +1,110 @@
|
||||||
|
{
|
||||||
|
"$GMSprite":"",
|
||||||
|
"%Name":"s_circle_hotkey",
|
||||||
|
"bboxMode":0,
|
||||||
|
"bbox_bottom":3,
|
||||||
|
"bbox_left":0,
|
||||||
|
"bbox_right":3,
|
||||||
|
"bbox_top":0,
|
||||||
|
"collisionKind":1,
|
||||||
|
"collisionTolerance":0,
|
||||||
|
"DynamicTexturePage":false,
|
||||||
|
"edgeFiltering":false,
|
||||||
|
"For3D":false,
|
||||||
|
"frames":[
|
||||||
|
{"$GMSpriteFrame":"","%Name":"f1285d37-7d57-4c8b-9504-10402561d410","name":"f1285d37-7d57-4c8b-9504-10402561d410","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||||
|
{"$GMSpriteFrame":"","%Name":"8c2842ec-1261-4261-aa81-5b4e6589979c","name":"8c2842ec-1261-4261-aa81-5b4e6589979c","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||||
|
{"$GMSpriteFrame":"","%Name":"9d754822-f194-49ac-bcdd-0382b7106c1f","name":"9d754822-f194-49ac-bcdd-0382b7106c1f","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||||
|
{"$GMSpriteFrame":"","%Name":"54ca7373-f3a6-49dc-80a6-ba9f47977265","name":"54ca7373-f3a6-49dc-80a6-ba9f47977265","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||||
|
{"$GMSpriteFrame":"","%Name":"9a6e4559-d82b-498d-9a21-3f7c70d6193b","name":"9a6e4559-d82b-498d-9a21-3f7c70d6193b","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||||
|
{"$GMSpriteFrame":"","%Name":"bf6e94ad-78c1-4f50-b0a0-4536e8e445d8","name":"bf6e94ad-78c1-4f50-b0a0-4536e8e445d8","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||||
|
],
|
||||||
|
"gridX":0,
|
||||||
|
"gridY":0,
|
||||||
|
"height":4,
|
||||||
|
"HTile":false,
|
||||||
|
"layers":[
|
||||||
|
{"$GMImageLayer":"","%Name":"6840640d-5e89-4d5a-aab4-1fe5bbc0fa4e","blendMode":0,"displayName":"default","isLocked":false,"name":"6840640d-5e89-4d5a-aab4-1fe5bbc0fa4e","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
|
||||||
|
],
|
||||||
|
"name":"s_circle_hotkey",
|
||||||
|
"nineSlice":null,
|
||||||
|
"origin":4,
|
||||||
|
"parent":{
|
||||||
|
"name":"icon",
|
||||||
|
"path":"folders/theme/icon.yy",
|
||||||
|
},
|
||||||
|
"preMultiplyAlpha":false,
|
||||||
|
"resourceType":"GMSprite",
|
||||||
|
"resourceVersion":"2.0",
|
||||||
|
"sequence":{
|
||||||
|
"$GMSequence":"",
|
||||||
|
"%Name":"s_circle_hotkey",
|
||||||
|
"autoRecord":true,
|
||||||
|
"backdropHeight":768,
|
||||||
|
"backdropImageOpacity":0.5,
|
||||||
|
"backdropImagePath":"",
|
||||||
|
"backdropWidth":1366,
|
||||||
|
"backdropXOffset":0.0,
|
||||||
|
"backdropYOffset":0.0,
|
||||||
|
"events":{
|
||||||
|
"$KeyframeStore<MessageEventKeyframe>":"",
|
||||||
|
"Keyframes":[],
|
||||||
|
"resourceType":"KeyframeStore<MessageEventKeyframe>",
|
||||||
|
"resourceVersion":"2.0",
|
||||||
|
},
|
||||||
|
"eventStubScript":null,
|
||||||
|
"eventToFunction":{},
|
||||||
|
"length":6.0,
|
||||||
|
"lockOrigin":false,
|
||||||
|
"moments":{
|
||||||
|
"$KeyframeStore<MomentsEventKeyframe>":"",
|
||||||
|
"Keyframes":[],
|
||||||
|
"resourceType":"KeyframeStore<MomentsEventKeyframe>",
|
||||||
|
"resourceVersion":"2.0",
|
||||||
|
},
|
||||||
|
"name":"s_circle_hotkey",
|
||||||
|
"playback":1,
|
||||||
|
"playbackSpeed":30.0,
|
||||||
|
"playbackSpeedType":0,
|
||||||
|
"resourceType":"GMSequence",
|
||||||
|
"resourceVersion":"2.0",
|
||||||
|
"showBackdrop":true,
|
||||||
|
"showBackdropImage":false,
|
||||||
|
"timeUnits":1,
|
||||||
|
"tracks":[
|
||||||
|
{"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore<SpriteFrameKeyframe>":"","Keyframes":[
|
||||||
|
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||||
|
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"f1285d37-7d57-4c8b-9504-10402561d410","path":"sprites/s_circle_hotkey/s_circle_hotkey.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||||
|
},"Disabled":false,"id":"99b33a02-c0a0-4b9f-8bcd-4241c6b1e6aa","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||||
|
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||||
|
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"8c2842ec-1261-4261-aa81-5b4e6589979c","path":"sprites/s_circle_hotkey/s_circle_hotkey.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||||
|
},"Disabled":false,"id":"54c14154-377f-44fa-9b06-ee6bb3d0fccf","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||||
|
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||||
|
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"9d754822-f194-49ac-bcdd-0382b7106c1f","path":"sprites/s_circle_hotkey/s_circle_hotkey.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||||
|
},"Disabled":false,"id":"0fea8ded-5900-4e21-a304-6f2e9bcd3d22","IsCreationKey":false,"Key":2.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||||
|
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||||
|
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"54ca7373-f3a6-49dc-80a6-ba9f47977265","path":"sprites/s_circle_hotkey/s_circle_hotkey.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||||
|
},"Disabled":false,"id":"205ee201-23dd-4366-afdb-e339411da0ea","IsCreationKey":false,"Key":3.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||||
|
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||||
|
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"9a6e4559-d82b-498d-9a21-3f7c70d6193b","path":"sprites/s_circle_hotkey/s_circle_hotkey.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||||
|
},"Disabled":false,"id":"33e5a7df-69b4-4215-a61b-0e81707b3acf","IsCreationKey":false,"Key":4.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||||
|
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||||
|
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"bf6e94ad-78c1-4f50-b0a0-4536e8e445d8","path":"sprites/s_circle_hotkey/s_circle_hotkey.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||||
|
},"Disabled":false,"id":"535a7ff0-4305-4ea2-af7a-11ca0ea64a84","IsCreationKey":false,"Key":5.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||||
|
],"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||||
|
],
|
||||||
|
"visibleRange":null,
|
||||||
|
"volume":1.0,
|
||||||
|
"xorigin":2,
|
||||||
|
"yorigin":2,
|
||||||
|
},
|
||||||
|
"swatchColours":null,
|
||||||
|
"swfPrecision":0.5,
|
||||||
|
"textureGroupId":{
|
||||||
|
"name":"Default",
|
||||||
|
"path":"texturegroups/Default",
|
||||||
|
},
|
||||||
|
"type":0,
|
||||||
|
"VTile":false,
|
||||||
|
"width":4,
|
||||||
|
}
|