mirror of
https://github.com/Ttanasart-pt/Pixel-Composer.git
synced 2024-12-24 14:06:23 +01:00
command palette group
This commit is contained in:
parent
f15b0d9e65
commit
4cc55b3dc3
13 changed files with 462 additions and 379 deletions
|
@ -6,8 +6,11 @@ event_inherited();
|
|||
draggable = false;
|
||||
selecting = 0;
|
||||
|
||||
text_pad = ui(8);
|
||||
item_pad = ui(6);
|
||||
|
||||
dialog_w = ui(480);
|
||||
dialog_h = ui(400);
|
||||
dialog_h = ui(32) + line_get_height(f_p2, item_pad);
|
||||
|
||||
setFocus(self.id);
|
||||
|
||||
|
@ -15,6 +18,27 @@ event_inherited();
|
|||
keys = variable_struct_get_names(FUNCTIONS);
|
||||
|
||||
hk_editing = noone;
|
||||
edit_block = 0;
|
||||
|
||||
search_string = "";
|
||||
KEYBOARD_STRING = "";
|
||||
|
||||
tb_search = new textBox(TEXTBOX_INPUT.text, function(str) {
|
||||
search_string = string(str);
|
||||
searchMenu();
|
||||
});
|
||||
|
||||
selecting_hotkey = noone;
|
||||
tb_search.hide = 2;
|
||||
tb_search.font = f_p2;
|
||||
tb_search.align = fa_left;
|
||||
tb_search.auto_update = true;
|
||||
tb_search.activate("");
|
||||
|
||||
_prex = mouse_mx;
|
||||
_prey = mouse_my;
|
||||
|
||||
keyboard_trigger = false;
|
||||
|
||||
function searchMenu() {
|
||||
data = [];
|
||||
|
@ -39,27 +63,14 @@ event_inherited();
|
|||
array_push(data, ds_priority_delete_max(pr_list));
|
||||
|
||||
ds_priority_destroy(pr_list);
|
||||
|
||||
var hght = line_get_height(f_p2, item_pad);
|
||||
var _hh = min(ui(32) + max(1, array_length(data)) * hght , ui(400))
|
||||
|
||||
dialog_h = _hh;
|
||||
sc_content.resize(dialog_w - ui(4), dialog_h - ui(32));
|
||||
}
|
||||
|
||||
search_string = "";
|
||||
KEYBOARD_STRING = "";
|
||||
|
||||
tb_search = new textBox(TEXTBOX_INPUT.text, function(str) {
|
||||
search_string = string(str);
|
||||
searchMenu();
|
||||
});
|
||||
|
||||
tb_search.hide = 2;
|
||||
tb_search.font = f_p2;
|
||||
tb_search.align = fa_left;
|
||||
tb_search.auto_update = true;
|
||||
|
||||
text_pad = ui(8);
|
||||
item_pad = ui(6);
|
||||
|
||||
_prex = mouse_mx;
|
||||
_prey = mouse_my;
|
||||
|
||||
sc_content = new scrollPane(dialog_w - ui(4), dialog_h - ui(32), function(_y, _m) {
|
||||
draw_clear_alpha(COLORS.panel_bg_clear, 1);
|
||||
var hght = line_get_height(f_p2, item_pad);
|
||||
|
@ -71,39 +82,44 @@ event_inherited();
|
|||
draw_rectangle(0, 0, ui(32), dialog_h, false);
|
||||
|
||||
var mouse_move = _prex != mouse_mx || _prey != mouse_my;
|
||||
if(mouse_move) keyboard_trigger = false;
|
||||
|
||||
for(var i = 0; i < array_length(data); i++) {
|
||||
var _menu = data[i];
|
||||
|
||||
var _menuItem = _menu.menu;
|
||||
var _key = _menu.hotkey;
|
||||
var _menuItem = _menu.menu;
|
||||
var _key = _menu.hotkey;
|
||||
var _mhover = mouse_move && point_in_rectangle(_m[0], _m[1], 0, _ly, _dw, _ly + hght - 1);
|
||||
|
||||
if(selecting == i) {
|
||||
draw_sprite_stretched_ext(THEME.textbox, 3, 0, _ly, dialog_w, hght, COLORS.dialog_menubox_highlight, 1);
|
||||
|
||||
if(sc_content.active) {
|
||||
if(mouse_press(mb_left) || keyboard_check_pressed(vk_enter)) {
|
||||
if((!keyboard_trigger && mouse_press(mb_left)) || keyboard_check_pressed(vk_enter)) {
|
||||
_menu.action();
|
||||
instance_destroy();
|
||||
}
|
||||
|
||||
if(mouse_press(mb_right)) {
|
||||
selecting_menu = _menuItem;
|
||||
selecting_hotkey = _key;
|
||||
|
||||
var _loadKey = string_to_var($"{_key.context}.{_key.name}");
|
||||
var context_menu_settings = [
|
||||
_loadKey,
|
||||
menuItem("Edit hotkey", function() /*=>*/ {
|
||||
hk_editing = _key;
|
||||
keyboard_lastchar = _key.key;
|
||||
hk_editing = selecting_hotkey;
|
||||
keyboard_lastchar = selecting_hotkey.key;
|
||||
|
||||
tb_search.deactivate();
|
||||
}),
|
||||
];
|
||||
|
||||
item_selecting = menuCall("", context_menu_settings);
|
||||
item_selecting = menuCall("command_palette_item", context_menu_settings);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(sc_content.hover && mouse_move && point_in_rectangle(_m[0], _m[1], 0, _ly, _dw, _ly + hght - 1)) {
|
||||
if(sc_content.hover && _mhover) {
|
||||
sc_content.hover_content = true;
|
||||
selecting = i;
|
||||
}
|
||||
|
@ -118,7 +134,7 @@ event_inherited();
|
|||
draw_text_add(_tx, _ty, _cnxt);
|
||||
_tx += string_width(_cnxt);
|
||||
|
||||
draw_sprite_ext(THEME.arrow, 0, _tx + ui(8), _ty, 1, 1, 0, COLORS._main_text_sub);
|
||||
draw_sprite_ext(THEME.arrow, 0, _tx + ui(8), _ty, .75, .75, 0, COLORS._main_text_sub);
|
||||
_tx += ui(16);
|
||||
}
|
||||
|
||||
|
@ -162,28 +178,31 @@ event_inherited();
|
|||
_h += hght;
|
||||
}
|
||||
|
||||
if(sc_content.active) {
|
||||
if(hk_editing != noone) {
|
||||
if(keyboard_check_pressed(vk_enter))
|
||||
hk_editing = noone;
|
||||
else
|
||||
hotkey_editing(hk_editing);
|
||||
if(hk_editing != noone) {
|
||||
edit_block = 2;
|
||||
|
||||
if(keyboard_check_pressed(vk_escape))
|
||||
hk_editing = noone;
|
||||
if(keyboard_check_pressed(vk_enter))
|
||||
hk_editing = noone;
|
||||
else
|
||||
hotkey_editing(hk_editing);
|
||||
|
||||
} else {
|
||||
if(keyboard_check_pressed(vk_up)) {
|
||||
selecting--;
|
||||
if(selecting < 0) selecting = array_length(data) - 1;
|
||||
}
|
||||
if(keyboard_check_pressed(vk_escape))
|
||||
hk_editing = noone;
|
||||
|
||||
if(keyboard_check_pressed(vk_down))
|
||||
selecting = safe_mod(selecting + 1, array_length(data));
|
||||
|
||||
if(keyboard_check_pressed(vk_escape))
|
||||
instance_destroy();
|
||||
} else if(sc_content.active) {
|
||||
if(keyboard_check_pressed(vk_up)) {
|
||||
keyboard_trigger = true;
|
||||
selecting--;
|
||||
if(selecting < 0) selecting = array_length(data) - 1;
|
||||
}
|
||||
|
||||
if(keyboard_check_pressed(vk_down)) {
|
||||
keyboard_trigger = true;
|
||||
selecting = safe_mod(selecting + 1, array_length(data));
|
||||
}
|
||||
|
||||
if(keyboard_check_pressed(vk_escape))
|
||||
instance_destroy();
|
||||
}
|
||||
|
||||
_prex = mouse_mx;
|
||||
|
@ -191,4 +210,13 @@ event_inherited();
|
|||
|
||||
return _h;
|
||||
});
|
||||
|
||||
|
||||
function resetPosition() {
|
||||
if(!active) return;
|
||||
|
||||
dialog_x = xstart - dialog_w / 2;
|
||||
dialog_y = ystart - ui(480) / 2;
|
||||
}
|
||||
|
||||
#endregion
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
draw_sprite_stretched(THEME.textbox, 3, dialog_x, dialog_y, dialog_w, dialog_h);
|
||||
|
||||
if(hk_editing == noone)
|
||||
WIDGET_CURRENT = tb_search;
|
||||
tb_search.setFocusHover(true, true);
|
||||
tb_search.draw(dialog_x, dialog_y, dialog_w, ui(32), search_string);
|
||||
tb_search.setFocusHover(sHOVER, sFOCUS);
|
||||
tb_search.draw(dialog_x + ui(32), dialog_y, dialog_w - ui(32), ui(32), search_string);
|
||||
tb_search.sprite_index = 0;
|
||||
|
||||
draw_sprite_ext(THEME.search, 0, dialog_x + ui(20), dialog_y + ui(16), 1, 1, 0, COLORS._main_icon, 1);
|
||||
|
||||
sc_content.setFocusHover(sFOCUS, sHOVER);
|
||||
sc_content.draw(dialog_x, dialog_y + ui(32));
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ event_inherited();
|
|||
destroy_on_click_out = false;
|
||||
draggable = false;
|
||||
mouse_init_inside = false;
|
||||
mouse_init_r_pressed = mouse_click(mb_right);
|
||||
selecting = -1;
|
||||
|
||||
menu_id = "";
|
||||
|
|
|
@ -2,3 +2,6 @@ event_inherited();
|
|||
|
||||
for( var i = 0, n = array_length(children); i < n; i++ )
|
||||
instance_destroy(children[i]);
|
||||
|
||||
if(instance_number(o_dialog_menubox) == 1)
|
||||
FOCUS = FOCUS_BEFORE;
|
|
@ -4,7 +4,7 @@ if(!ready) exit;
|
|||
#region draw
|
||||
var yy = dialog_y;
|
||||
var _lclick = sFOCUS && (!mouse_init_inside && mouse_release(mb_left)) || (keyboard_check_pressed(vk_enter) && hk_editing == noone);
|
||||
var _rclick = sFOCUS && (!mouse_init_inside && mouse_release(mb_right));
|
||||
var _rclick = sFOCUS && !mouse_init_inside && !mouse_init_r_pressed && mouse_release(mb_right);
|
||||
if(!mouse_init_inside && mouse_press(mb_right) && item_selecting) {
|
||||
instance_destroy(item_selecting);
|
||||
item_selecting = noone;
|
||||
|
@ -54,8 +54,7 @@ if(!ready) exit;
|
|||
|
||||
draw_sprite_stretched_ext(THEME.textbox, 3, dialog_x, yy, dialog_w, _h, _hc, _ha);
|
||||
|
||||
if(is_instanceof(_menuItem, MenuItem) && _hovering_ch) {
|
||||
|
||||
if(_hovering_ch && is_instanceof(_menuItem, MenuItem)) {
|
||||
if(_menuItem.active && _lclick) {
|
||||
var _dat = {
|
||||
_x: dialog_x,
|
||||
|
@ -73,7 +72,9 @@ if(!ready) exit;
|
|||
else if(remove_parents) instance_destroy(o_dialog_menubox); // close all
|
||||
else instance_destroy(); // close self
|
||||
}
|
||||
}
|
||||
|
||||
if(_hovering_ch && (is_instanceof(_menuItem, MenuItem) || is_instanceof(_menuItem, MenuItemGroup))) {
|
||||
if(_key && _rclick) {
|
||||
var _dat = {
|
||||
_x: mouse_mx + ui(4),
|
||||
|
@ -88,6 +89,7 @@ if(!ready) exit;
|
|||
|
||||
selecting_menu = _menuItem;
|
||||
var _loadKey = string_to_var($"{_key.context}.{_key.name}");
|
||||
|
||||
var context_menu_settings = [
|
||||
_loadKey,
|
||||
menuItem("Edit hotkey", function() /*=>*/ {
|
||||
|
@ -103,9 +105,13 @@ if(!ready) exit;
|
|||
array_push(children, item_selecting.id);
|
||||
}
|
||||
}
|
||||
|
||||
} else if(cc != c_white)
|
||||
draw_sprite_stretched_ext(THEME.textbox, 3, dialog_x, yy, dialog_w, _h, cc, 0.5);
|
||||
|
||||
var _hx = dialog_x + dialog_w - ui(16);
|
||||
var _hy = yy + hght / 2 + ui(2);
|
||||
|
||||
if(is_instanceof(_menuItem, MenuItemGroup)) {
|
||||
var _submenus = _menuItem.group;
|
||||
draw_set_text(font, fa_center, fa_center, COLORS._main_text_sub);
|
||||
|
@ -185,37 +191,34 @@ if(!ready) exit;
|
|||
draw_text(tx, yy + hght / 2, label);
|
||||
draw_set_alpha(1);
|
||||
|
||||
var _hx = dialog_x + dialog_w - ui(16);
|
||||
var _hy = yy + hght / 2 + ui(2);
|
||||
|
||||
if(_menuItem.isShelf) {
|
||||
draw_sprite_ui_uniform(THEME.arrow, 0, dialog_x + dialog_w - ui(20), yy + hght / 2, 1, COLORS._main_icon);
|
||||
_hx -= ui(24);
|
||||
}
|
||||
}
|
||||
|
||||
if(_key) {
|
||||
draw_set_font(font);
|
||||
if(_key) {
|
||||
draw_set_font(font);
|
||||
|
||||
var _ktxt = key_get_name(_key.key, _key.modi);
|
||||
var _tw = string_width(_ktxt);
|
||||
var _th = line_get_height();
|
||||
var _ktxt = key_get_name(_key.key, _key.modi);
|
||||
var _tw = string_width(_ktxt);
|
||||
var _th = line_get_height();
|
||||
|
||||
var _bx = _hx - _tw - ui(4);
|
||||
var _by = _hy - _th / 2 - ui(3);
|
||||
var _bw = _tw + ui(8);
|
||||
var _bh = _th + ui(3);
|
||||
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 == _menuItem) {
|
||||
draw_set_text(font, fa_right, fa_center, COLORS._main_accent);
|
||||
draw_sprite_stretched_ext(THEME.ui_panel, 1, _bx, _by, _bw, _bh, COLORS._main_text_accent);
|
||||
if(hk_editing == _menuItem) {
|
||||
draw_set_text(font, 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(font, 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);
|
||||
} else if(_ktxt != "") {
|
||||
draw_set_text(font, 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);
|
||||
}
|
||||
|
||||
yy += _h;
|
||||
|
@ -246,6 +249,7 @@ if(!ready) exit;
|
|||
draw_sprite_stretched(THEME.s_box_r2_clr, 1, dialog_x, dialog_y, dialog_w, dialog_h);
|
||||
|
||||
if(mouse_init_inside && (mouse_release(mb_left) || mouse_release(mb_right))) mouse_init_inside = false;
|
||||
if(mouse_release(mb_right)) mouse_init_r_pressed = false;
|
||||
#endregion
|
||||
|
||||
#region debug
|
||||
|
|
|
@ -1,12 +1,16 @@
|
|||
#region data
|
||||
globalvar CONTEXT_MENU_CALLBACK;
|
||||
globalvar CONTEXT_MENU_CALLBACK, FOCUS_BEFORE;
|
||||
|
||||
CONTEXT_MENU_CALLBACK = ds_map_create();
|
||||
FOCUS_BEFORE = noone;
|
||||
#endregion
|
||||
|
||||
function menuCall(menu_id = "", menu = [], _x = 0, _y = 0, align = fa_left, context = noone) {
|
||||
_x = _x == 0? mouse_mx + ui(4) : _x;
|
||||
_y = _y == 0? mouse_my + ui(4) : _y;
|
||||
|
||||
FOCUS_BEFORE = FOCUS;
|
||||
|
||||
var dia = dialogCall(o_dialog_menubox, _x, _y);
|
||||
if(menu_id != "" && ds_map_exists(CONTEXT_MENU_CALLBACK, menu_id)) {
|
||||
var callbacks = CONTEXT_MENU_CALLBACK[? menu_id];
|
||||
|
@ -82,13 +86,19 @@ function MenuItem(_name, _func, _spr = noone, _hotkey = noone, _toggle = noone,
|
|||
static setShiftMenu = function(_shiftMenu) /*=>*/ { INLINE shiftMenu = _shiftMenu; return self; }
|
||||
}
|
||||
|
||||
function menuItemGroup(_name, _group) { return new MenuItemGroup(_name, _group); }
|
||||
|
||||
function MenuItemGroup(_name, _group) constructor {
|
||||
function menuItemGroup(_name, _group, _hotkey = noone) { return new MenuItemGroup(_name, _group, _hotkey); }
|
||||
function MenuItemGroup(_name, _group, _hotkey = noone) constructor {
|
||||
active = true;
|
||||
name = _name;
|
||||
group = _group;
|
||||
hotkey = noone;
|
||||
hotkey = _hotkey;
|
||||
params = {};
|
||||
|
||||
hoykeyObject = noone;
|
||||
spacing = ui(36);
|
||||
|
||||
static setSpacing = function(_spacing) {
|
||||
spacing = _spacing;
|
||||
return self;
|
||||
}
|
||||
}
|
|
@ -39,7 +39,7 @@
|
|||
LATEST_VERSION = 11700;
|
||||
VERSION = 11790;
|
||||
SAVE_VERSION = 11700;
|
||||
VERSION_STRING = "1.17.10.003";
|
||||
VERSION_STRING = "1.17.10.004";
|
||||
BUILD_NUMBER = 11790;
|
||||
|
||||
HOTKEYS = ds_map_create();
|
||||
|
|
|
@ -163,6 +163,8 @@ function find_hotkey(_context, _name) {
|
|||
}
|
||||
|
||||
function hotkey_editing(hotkey) {
|
||||
HOTKEY_BLOCK = true;
|
||||
|
||||
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_pageup, vk_pagedown, vk_pause, vk_printscreen,
|
||||
|
|
|
@ -1,41 +1,4 @@
|
|||
#region funtion calls
|
||||
function __fnInit_Animation() {
|
||||
registerFunction("", "Play/Pause", vk_space, MOD_KEY.none, panel_animation_play_pause ).setMenu("play_pause", )
|
||||
registerFunction("", "Resume/Pause", vk_space, MOD_KEY.shift, panel_animation_resume ).setMenu("resume_pause", )
|
||||
|
||||
registerFunction("", "First frame", vk_home, MOD_KEY.none, panel_animation_first_frame ).setMenu("first_frame", )
|
||||
registerFunction("", "Last frame", vk_end, MOD_KEY.none, panel_animation_last_frame ).setMenu("last_frame", )
|
||||
registerFunction("", "Next frame", vk_right, MOD_KEY.none, panel_animation_next_frame ).setMenu("next_frame", )
|
||||
registerFunction("", "Previous frame", vk_left, MOD_KEY.none, panel_animation_prev_frame ).setMenu("previous_frame", )
|
||||
|
||||
registerFunction("Animation", "Delete keys", vk_delete, MOD_KEY.none, panel_animation_delete_key ).setMenu("animation_delete_keys", )
|
||||
registerFunction("Animation", "Duplicate", "D", MOD_KEY.ctrl, panel_animation_duplicate ).setMenu("animation_duplicate", THEME.duplicate)
|
||||
registerFunction("Animation", "Copy", "C", MOD_KEY.ctrl, panel_animation_copy ).setMenu("animation_copy", THEME.copy)
|
||||
registerFunction("Animation", "Paste", "V", MOD_KEY.ctrl, panel_animation_paste ).setMenu("animation_paste", THEME.paste)
|
||||
registerFunction("Animation", "Collapse Toggle", "C", MOD_KEY.none, panel_animation_collapseToggle ).setMenu("animation_collapse_toggle", )
|
||||
registerFunction("Animation", "Toggle Nodes", "H", MOD_KEY.none, panel_animation_show_nodes ).setMenu("animation_toggle_nodes", )
|
||||
|
||||
registerFunction("Animation", "Settings", "S", MOD_KEY.ctrl | MOD_KEY.shift, panel_animation_settings ).setMenu("animation_settings", THEME.animation_setting )
|
||||
registerFunction("Animation", "Scaler", "", MOD_KEY.none, panel_animation_scale ).setMenu("animation_scaler", THEME.animation_timing )
|
||||
|
||||
registerFunction("Animation", "Edit Keyframe Value","", MOD_KEY.none, panel_animation_edit_keyframe_value ).setMenu("animation_edit_keyframe_value", )
|
||||
registerFunction("Animation", "Lock Keyframe Y", "", MOD_KEY.none, panel_animation_edit_keyframe_lock_y ).setMenu("animation_lock_keyframe_y", )
|
||||
registerFunction("Animation", "Stagger", "", MOD_KEY.none, panel_animation_edit_keyframe_stagger ).setMenu("animation_stagger", )
|
||||
registerFunction("Animation", "Driver", "", MOD_KEY.none, panel_animation_keyframe_driver ).setMenu("animation_driver", )
|
||||
|
||||
registerFunction("Animation", "New Folder", "", MOD_KEY.none, panel_animation_dopesheet_new_folder ).setMenu("animation_new_folder", THEME.folder_content)
|
||||
registerFunction("Animation", "Dopesheet Expand", "", MOD_KEY.none, panel_animation_dopesheet_expand ).setMenu("animation_dopesheet_expand", )
|
||||
registerFunction("Animation", "Dopesheet Collapse", "", MOD_KEY.none, panel_animation_dopesheet_collapse ).setMenu("animation_dopesheet_collapse", )
|
||||
|
||||
registerFunction("Animation", "Rename Group", "", MOD_KEY.none, panel_animation_group_rename ).setMenu("animation_rename_group", THEME.cross)
|
||||
registerFunction("Animation", "Remove Group", "", MOD_KEY.none, panel_animation_group_remove ).setMenu("animation_remove_group", )
|
||||
registerFunction("Animation", "Separate Axis", "", MOD_KEY.none, panel_animation_separate_axis ).setMenu("animation_separate_axis", )
|
||||
registerFunction("Animation", "Combine Axis", "", MOD_KEY.none, panel_animation_combine_axis ).setMenu("animation_combine_axis", )
|
||||
|
||||
registerFunction("Animation", "Set Range Start", "", MOD_KEY.none, panel_animation_range_set_start ).setMenu("animation_set_range_start", [ THEME.frame_range, 0 ])
|
||||
registerFunction("Animation", "Set Range End", "", MOD_KEY.none, panel_animation_range_set_end ).setMenu("animation_set_range_end", [ THEME.frame_range, 1 ])
|
||||
registerFunction("Animation", "Reset Range", "", MOD_KEY.none, panel_animation_range_reset ).setMenu("animation_reset_range", )
|
||||
}
|
||||
|
||||
function panel_animation_settings() { var dia = dialogPanelCall(new Panel_Animation_Setting()); dia.anchor = ANCHOR.none; }
|
||||
function panel_animation_scale() { dialogPanelCall(new Panel_Animation_Scaler()); }
|
||||
|
@ -72,6 +35,145 @@
|
|||
function panel_animation_range_set_start() { CALL("animation_range_set_start"); PANEL_ANIMATION.range_set_start(); }
|
||||
function panel_animation_range_set_end() { CALL("animation_range_set_end"); PANEL_ANIMATION.range_set_end(); }
|
||||
function panel_animation_range_reset() { CALL("animation_range_reset"); PANEL_ANIMATION.range_reset(); }
|
||||
|
||||
function __fnInit_Animation() {
|
||||
registerFunction("", "Play/Pause", vk_space, MOD_KEY.none, panel_animation_play_pause ).setMenu("play_pause", )
|
||||
registerFunction("", "Resume/Pause", vk_space, MOD_KEY.shift, panel_animation_resume ).setMenu("resume_pause", )
|
||||
|
||||
registerFunction("", "First frame", vk_home, MOD_KEY.none, panel_animation_first_frame ).setMenu("first_frame", )
|
||||
registerFunction("", "Last frame", vk_end, MOD_KEY.none, panel_animation_last_frame ).setMenu("last_frame", )
|
||||
registerFunction("", "Next frame", vk_right, MOD_KEY.none, panel_animation_next_frame ).setMenu("next_frame", )
|
||||
registerFunction("", "Previous frame", vk_left, MOD_KEY.none, panel_animation_prev_frame ).setMenu("previous_frame", )
|
||||
|
||||
registerFunction("Animation", "Delete keys", vk_delete, MOD_KEY.none, panel_animation_delete_key ).setMenu("animation_delete_keys", )
|
||||
registerFunction("Animation", "Duplicate", "D", MOD_KEY.ctrl, panel_animation_duplicate ).setMenu("animation_duplicate", THEME.duplicate)
|
||||
registerFunction("Animation", "Copy", "C", MOD_KEY.ctrl, panel_animation_copy ).setMenu("animation_copy", THEME.copy)
|
||||
registerFunction("Animation", "Paste", "V", MOD_KEY.ctrl, panel_animation_paste ).setMenu("animation_paste", THEME.paste)
|
||||
registerFunction("Animation", "Collapse Toggle", "C", MOD_KEY.none, panel_animation_collapseToggle ).setMenu("animation_collapse_toggle", )
|
||||
registerFunction("Animation", "Toggle Nodes", "H", MOD_KEY.none, panel_animation_show_nodes ).setMenu("animation_toggle_nodes", )
|
||||
|
||||
registerFunction("Animation", "Settings", "S", MOD_KEY.ctrl | MOD_KEY.shift, panel_animation_settings ).setMenu("animation_settings", THEME.animation_setting )
|
||||
registerFunction("Animation", "Scaler", "", MOD_KEY.none, panel_animation_scale ).setMenu("animation_scaler", THEME.animation_timing )
|
||||
|
||||
registerFunction("Animation", "Edit Keyframe Value","", MOD_KEY.none, panel_animation_edit_keyframe_value ).setMenu("animation_edit_keyframe_value", )
|
||||
registerFunction("Animation", "Lock Keyframe Y", "", MOD_KEY.none, panel_animation_edit_keyframe_lock_y ).setMenu("animation_lock_keyframe_y", )
|
||||
registerFunction("Animation", "Stagger", "", MOD_KEY.none, panel_animation_edit_keyframe_stagger ).setMenu("animation_stagger", )
|
||||
registerFunction("Animation", "Driver", "", MOD_KEY.none, panel_animation_keyframe_driver ).setMenu("animation_driver", )
|
||||
|
||||
registerFunction("Animation", "New Folder", "", MOD_KEY.none, panel_animation_dopesheet_new_folder ).setMenu("animation_new_folder", THEME.folder_content)
|
||||
registerFunction("Animation", "Dopesheet Expand", "", MOD_KEY.none, panel_animation_dopesheet_expand ).setMenu("animation_dopesheet_expand", )
|
||||
registerFunction("Animation", "Dopesheet Collapse", "", MOD_KEY.none, panel_animation_dopesheet_collapse ).setMenu("animation_dopesheet_collapse", )
|
||||
|
||||
registerFunction("Animation", "Rename Group", "", MOD_KEY.none, panel_animation_group_rename ).setMenu("animation_rename_group", )
|
||||
registerFunction("Animation", "Remove Group", "", MOD_KEY.none, panel_animation_group_remove ).setMenu("animation_remove_group", THEME.cross)
|
||||
registerFunction("Animation", "Separate Axis", "", MOD_KEY.none, panel_animation_separate_axis ).setMenu("animation_separate_axis", )
|
||||
registerFunction("Animation", "Combine Axis", "", MOD_KEY.none, panel_animation_combine_axis ).setMenu("animation_combine_axis", )
|
||||
|
||||
registerFunction("Animation", "Set Range Start", "", MOD_KEY.none, panel_animation_range_set_start ).setMenu("animation_set_range_start", [ THEME.frame_range, 0 ])
|
||||
registerFunction("Animation", "Set Range End", "", MOD_KEY.none, panel_animation_range_set_end ).setMenu("animation_set_range_end", [ THEME.frame_range, 1 ])
|
||||
registerFunction("Animation", "Reset Range", "", MOD_KEY.none, panel_animation_range_reset ).setMenu("animation_reset_range", )
|
||||
|
||||
__fnGroupInit_Animation();
|
||||
}
|
||||
|
||||
function __fnGroupInit_Animation() {
|
||||
|
||||
MENU_ITEMS.animation_group_ease_in = menuItemGroup(__txtx("panel_animation_ease_in", "Ease in"), [
|
||||
[ [THEME.timeline_ease, 0], function() /*=>*/ {
|
||||
for( var i = 0, n = array_length(PANEL_ANIMATION.keyframe_selecting); i < n; i++ ) {
|
||||
var k = PANEL_ANIMATION.keyframe_selecting[i];
|
||||
k.ease_in_type = CURVE_TYPE.linear;
|
||||
k.ease_in = [0, 1];
|
||||
}
|
||||
}, __txtx("panel_animation_ease_linear", "Linear") ],
|
||||
[ [THEME.timeline_ease, 1], function() /*=>*/ {
|
||||
for( var i = 0, n = array_length(PANEL_ANIMATION.keyframe_selecting); i < n; i++ ) {
|
||||
var k = PANEL_ANIMATION.keyframe_selecting[i];
|
||||
k.ease_in_type = CURVE_TYPE.bezier;
|
||||
k.ease_in = [1, 1];
|
||||
}
|
||||
}, __txtx("panel_animation_ease_smooth", "Smooth") ],
|
||||
[ [THEME.timeline_ease, 2], function() /*=>*/ {
|
||||
for( var i = 0, n = array_length(PANEL_ANIMATION.keyframe_selecting); i < n; i++ ) {
|
||||
var k = PANEL_ANIMATION.keyframe_selecting[i];
|
||||
k.ease_in_type = CURVE_TYPE.bezier;
|
||||
k.ease_in = [1, 2];
|
||||
}
|
||||
}, __txtx("panel_animation_ease_overshoot", "Overshoot") ],
|
||||
[ [THEME.timeline_ease, 3], function() /*=>*/ {
|
||||
for( var i = 0, n = array_length(PANEL_ANIMATION.keyframe_selecting); i < n; i++ ) {
|
||||
var k = PANEL_ANIMATION.keyframe_selecting[i];
|
||||
k.ease_in_type = CURVE_TYPE.bezier;
|
||||
k.ease_in = [0, 0];
|
||||
}
|
||||
}, __txtx("panel_animation_ease_sharp", "Sharp") ],
|
||||
[ [THEME.timeline_ease, 4], function() /*=>*/ {
|
||||
for( var i = 0, n = array_length(PANEL_ANIMATION.keyframe_selecting); i < n; i++ ) {
|
||||
var k = PANEL_ANIMATION.keyframe_selecting[i];
|
||||
k.ease_in_type = CURVE_TYPE.cut;
|
||||
k.ease_in = [0, 0];
|
||||
}
|
||||
}, __txtx("panel_animation_ease_hold", "Hold") ],
|
||||
], [ "Animation", "Ease In" ]);
|
||||
registerFunction("Animation", "Ease In", "", MOD_KEY.none, function() /*=>*/ { menuCall("", [ MENU_ITEMS.animation_group_ease_in ]); });
|
||||
|
||||
MENU_ITEMS.animation_group_ease_out = menuItemGroup(__txtx("panel_animation_ease_out", "Ease out"), [
|
||||
[ [THEME.timeline_ease, 0], function() /*=>*/ {
|
||||
for( var i = 0, n = array_length(PANEL_ANIMATION.keyframe_selecting); i < n; i++ ) {
|
||||
var k = PANEL_ANIMATION.keyframe_selecting[i];
|
||||
k.ease_out_type = CURVE_TYPE.linear;
|
||||
k.ease_out = [0, 0];
|
||||
}
|
||||
}, __txtx("panel_animation_ease_linear", "Linear") ],
|
||||
[ [THEME.timeline_ease, 1], function() /*=>*/ {
|
||||
for( var i = 0, n = array_length(PANEL_ANIMATION.keyframe_selecting); i < n; i++ ) {
|
||||
var k = PANEL_ANIMATION.keyframe_selecting[i];
|
||||
k.ease_out_type = CURVE_TYPE.bezier;
|
||||
k.ease_out = [1, 0];
|
||||
}
|
||||
}, __txtx("panel_animation_ease_smooth", "Smooth") ],
|
||||
[ [THEME.timeline_ease, 2], function() /*=>*/ {
|
||||
for( var i = 0, n = array_length(PANEL_ANIMATION.keyframe_selecting); i < n; i++ ) {
|
||||
var k = PANEL_ANIMATION.keyframe_selecting[i];
|
||||
k.ease_out_type = CURVE_TYPE.bezier;
|
||||
k.ease_out = [1, -1];
|
||||
}
|
||||
}, __txtx("panel_animation_ease_overshoot", "Overshoot") ],
|
||||
[ [THEME.timeline_ease, 3], function() /*=>*/ {
|
||||
for( var i = 0, n = array_length(PANEL_ANIMATION.keyframe_selecting); i < n; i++ ) {
|
||||
var k = PANEL_ANIMATION.keyframe_selecting[i];
|
||||
k.ease_out_type = CURVE_TYPE.bezier;
|
||||
k.ease_out = [0, 1];
|
||||
}
|
||||
}, __txtx("panel_animation_ease_sharp", "Sharp") ],
|
||||
], [ "Animation", "Ease Outs" ]);
|
||||
registerFunction("Animation", "Ease Out", "", MOD_KEY.none, function() /*=>*/ { menuCall("", [ MENU_ITEMS.animation_group_ease_out ]); });
|
||||
|
||||
MENU_ITEMS.animation_group_align = menuItemGroup(__txt("Align"), [
|
||||
[ [THEME.object_halign, 0], function() /*=>*/ { PANEL_ANIMATION.alignKeys(fa_left); } ],
|
||||
[ [THEME.object_halign, 1], function() /*=>*/ { PANEL_ANIMATION.alignKeys(fa_center); } ],
|
||||
[ [THEME.object_halign, 2], function() /*=>*/ { PANEL_ANIMATION.alignKeys(fa_right); } ],
|
||||
], [ "Animation", "Align" ]);
|
||||
registerFunction("Animation", "Align", "", MOD_KEY.none, function() /*=>*/ { menuCall("", [ MENU_ITEMS.animation_group_align ]); });
|
||||
|
||||
var _clrs = COLORS.labels;
|
||||
var _item = array_create(array_length(_clrs));
|
||||
|
||||
for( var i = 0, n = array_length(_clrs); i < n; i++ ) {
|
||||
_item[i] = [
|
||||
[ THEME.timeline_color, i > 0, _clrs[i] ],
|
||||
function(_data) { PANEL_ANIMATION.setSelectingItemColor(_data.color); }, "", { color: i == 0? -1 : _clrs[i] }
|
||||
];
|
||||
}
|
||||
|
||||
array_push(_item, [
|
||||
[ THEME.timeline_color, 2 ],
|
||||
function(_data) /*=>*/ { colorSelectorCall(PANEL_ANIMATION.context_selecting_item? PANEL_ANIMATION.context_selecting_item.item.getColor() : c_white, PANEL_ANIMATION.setSelectingItemColor); }
|
||||
]);
|
||||
|
||||
MENU_ITEMS.animation_group_label_color = menuItemGroup(__txt("Color"), _item, ["Animation", "Label Color"]).setSpacing(ui(24));
|
||||
registerFunction("Animation", "Label Color", "", MOD_KEY.none, function() /*=>*/ { menuCall("", [ MENU_ITEMS.animation_group_label_color ]); });
|
||||
}
|
||||
#endregion
|
||||
|
||||
enum KEYFRAME_DRAG_TYPE {
|
||||
|
@ -87,10 +189,10 @@ function Panel_Animation() : PanelContent() constructor {
|
|||
icon = THEME.panel_animation_icon;
|
||||
|
||||
#region ---- dimension ----
|
||||
timeline_h = ui(28);
|
||||
timeline_h = ui(28);
|
||||
min_w = ui(40);
|
||||
min_h = ui(48);
|
||||
tool_width = ui(224);
|
||||
tool_width = ui(224);
|
||||
#endregion
|
||||
|
||||
static initSize = function() {
|
||||
|
@ -319,80 +421,11 @@ function Panel_Animation() : PanelContent() constructor {
|
|||
MENU_ITEMS.animation_edit_keyframe_value,
|
||||
MENU_ITEMS.animation_lock_keyframe_y,
|
||||
|
||||
menuItemGroup(__txtx("panel_animation_ease_in", "Ease in"), [
|
||||
[ [THEME.timeline_ease, 0], function() {
|
||||
for( var i = 0, n = array_length(keyframe_selecting); i < n; i++ ) {
|
||||
var k = keyframe_selecting[i];
|
||||
k.ease_in_type = CURVE_TYPE.linear;
|
||||
k.ease_in = [0, 1];
|
||||
}
|
||||
}, __txtx("panel_animation_ease_linear", "Linear") ],
|
||||
[ [THEME.timeline_ease, 1], function() {
|
||||
for( var i = 0, n = array_length(keyframe_selecting); i < n; i++ ) {
|
||||
var k = keyframe_selecting[i];
|
||||
k.ease_in_type = CURVE_TYPE.bezier;
|
||||
k.ease_in = [1, 1];
|
||||
}
|
||||
}, __txtx("panel_animation_ease_smooth", "Smooth") ],
|
||||
[ [THEME.timeline_ease, 2], function() {
|
||||
for( var i = 0, n = array_length(keyframe_selecting); i < n; i++ ) {
|
||||
var k = keyframe_selecting[i];
|
||||
k.ease_in_type = CURVE_TYPE.bezier;
|
||||
k.ease_in = [1, 2];
|
||||
}
|
||||
}, __txtx("panel_animation_ease_overshoot", "Overshoot") ],
|
||||
[ [THEME.timeline_ease, 3], function() {
|
||||
for( var i = 0, n = array_length(keyframe_selecting); i < n; i++ ) {
|
||||
var k = keyframe_selecting[i];
|
||||
k.ease_in_type = CURVE_TYPE.bezier;
|
||||
k.ease_in = [0, 0];
|
||||
}
|
||||
}, __txtx("panel_animation_ease_sharp", "Sharp") ],
|
||||
[ [THEME.timeline_ease, 4], function() {
|
||||
for( var i = 0, n = array_length(keyframe_selecting); i < n; i++ ) {
|
||||
var k = keyframe_selecting[i];
|
||||
k.ease_in_type = CURVE_TYPE.cut;
|
||||
k.ease_in = [0, 0];
|
||||
}
|
||||
}, __txtx("panel_animation_ease_hold", "Hold") ],
|
||||
]),
|
||||
MENU_ITEMS.animation_group_ease_in,
|
||||
MENU_ITEMS.animation_group_ease_out,
|
||||
|
||||
menuItemGroup(__txtx("panel_animation_ease_out", "Ease out"), [
|
||||
[ [THEME.timeline_ease, 0], function() {
|
||||
for( var i = 0, n = array_length(keyframe_selecting); i < n; i++ ) {
|
||||
var k = keyframe_selecting[i];
|
||||
k.ease_out_type = CURVE_TYPE.linear;
|
||||
k.ease_out = [0, 0];
|
||||
}
|
||||
}, __txtx("panel_animation_ease_linear", "Linear") ],
|
||||
[ [THEME.timeline_ease, 1], function() {
|
||||
for( var i = 0, n = array_length(keyframe_selecting); i < n; i++ ) {
|
||||
var k = keyframe_selecting[i];
|
||||
k.ease_out_type = CURVE_TYPE.bezier;
|
||||
k.ease_out = [1, 0];
|
||||
}
|
||||
}, __txtx("panel_animation_ease_smooth", "Smooth") ],
|
||||
[ [THEME.timeline_ease, 2], function() {
|
||||
for( var i = 0, n = array_length(keyframe_selecting); i < n; i++ ) {
|
||||
var k = keyframe_selecting[i];
|
||||
k.ease_out_type = CURVE_TYPE.bezier;
|
||||
k.ease_out = [1, -1];
|
||||
}
|
||||
}, __txtx("panel_animation_ease_overshoot", "Overshoot") ],
|
||||
[ [THEME.timeline_ease, 3], function() {
|
||||
for( var i = 0, n = array_length(keyframe_selecting); i < n; i++ ) {
|
||||
var k = keyframe_selecting[i];
|
||||
k.ease_out_type = CURVE_TYPE.bezier;
|
||||
k.ease_out = [0, 1];
|
||||
}
|
||||
}, __txtx("panel_animation_ease_sharp", "Sharp") ],
|
||||
]),
|
||||
-1,
|
||||
menuItemGroup(__txt("Align"), [
|
||||
[ [THEME.object_halign, 0], function() { alignKeys(fa_left); } ],
|
||||
[ [THEME.object_halign, 1], function() { alignKeys(fa_center); } ],
|
||||
[ [THEME.object_halign, 2], function() { alignKeys(fa_right); } ],
|
||||
]),
|
||||
MENU_ITEMS.animation_group_align,
|
||||
MENU_ITEMS.animation_stagger,
|
||||
MENU_ITEMS.animation_driver,
|
||||
-1,
|
||||
|
@ -416,25 +449,9 @@ function Panel_Animation() : PanelContent() constructor {
|
|||
MENU_ITEMS.animation_dopesheet_collapse,
|
||||
];
|
||||
|
||||
var _clrs = COLORS.labels;
|
||||
var _item = array_create(array_length(_clrs));
|
||||
|
||||
function setSelectingItemColor(color) { if(context_selecting_item == noone) return; context_selecting_item.item.setColor(color); }
|
||||
|
||||
for( var i = 0, n = array_length(_clrs); i < n; i++ ) {
|
||||
_item[i] = [
|
||||
[ THEME.timeline_color, i > 0, _clrs[i] ],
|
||||
function(_data) { setSelectingItemColor(_data.color); }, "", { color: i == 0? -1 : _clrs[i] }
|
||||
];
|
||||
}
|
||||
|
||||
array_push(_item, [
|
||||
[ THEME.timeline_color, 2 ],
|
||||
function(_data) /*=>*/ { colorSelectorCall(context_selecting_item? context_selecting_item.item.getColor() : c_white, setSelectingItemColor); }
|
||||
]);
|
||||
|
||||
var clr = menuItemGroup(__txt("Color"), _item);
|
||||
clr.spacing = ui(24);
|
||||
var clr = MENU_ITEMS.animation_group_label_color;
|
||||
|
||||
name_menu_item = [
|
||||
clr,
|
||||
|
|
|
@ -123,6 +123,60 @@
|
|||
registerFunction("Graph", "Export Selected", "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")
|
||||
}
|
||||
|
||||
__fnGroupInit_Graph()
|
||||
}
|
||||
|
||||
function __fnGroupInit_Graph() {
|
||||
|
||||
MENU_ITEMS.graph_group_align = menuItemGroup(__txtx("panel_graph_align_nodes", "Align"), [
|
||||
[ [THEME.inspector_surface_halign, 0], function() { node_halign(PANEL_GRAPH.nodes_selecting, fa_left); } ],
|
||||
[ [THEME.inspector_surface_halign, 1], function() { node_halign(PANEL_GRAPH.nodes_selecting, fa_center); } ],
|
||||
[ [THEME.inspector_surface_halign, 2], function() { node_halign(PANEL_GRAPH.nodes_selecting, fa_right); } ],
|
||||
|
||||
[ [THEME.inspector_surface_valign, 0], function() { node_valign(PANEL_GRAPH.nodes_selecting, fa_top); } ],
|
||||
[ [THEME.inspector_surface_valign, 1], function() { node_valign(PANEL_GRAPH.nodes_selecting, fa_middle); } ],
|
||||
[ [THEME.inspector_surface_valign, 2], function() { node_valign(PANEL_GRAPH.nodes_selecting, fa_bottom); } ],
|
||||
|
||||
[ [THEME.obj_distribute_h, 0], function() { node_hdistribute(PANEL_GRAPH.nodes_selecting); } ],
|
||||
[ [THEME.obj_distribute_v, 0], function() { node_vdistribute(PANEL_GRAPH.nodes_selecting); } ],
|
||||
], ["Graph", "Align Nodes"]);
|
||||
registerFunction("Graph", "Align Nodes", "", MOD_KEY.none, function() /*=>*/ { menuCall("", [ MENU_ITEMS.graph_group_align ]); });
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var _clrs = COLORS.labels;
|
||||
var _item = array_create(array_length(_clrs));
|
||||
|
||||
for( var i = 0, n = array_length(_clrs); i < n; i++ ) {
|
||||
_item[i] = [
|
||||
[ THEME.timeline_color, i > 0, _clrs[i] ],
|
||||
function(_data) { PANEL_GRAPH.setSelectingNodeColor(_data.color); }, "", { color: i == 0? -1 : _clrs[i] }
|
||||
];
|
||||
}
|
||||
|
||||
array_push(_item, [ [ THEME.timeline_color, 2 ], function() /*=>*/ { colorSelectorCall(PANEL_GRAPH.node_hover? PANEL_GRAPH.node_hover.attributes.color : c_white, PANEL_GRAPH.setSelectingNodeColor); } ]);
|
||||
|
||||
MENU_ITEMS.graph_group_node_color = menuItemGroup(__txt("Node Color"), _item, ["Graph", "Set Node Color"]).setSpacing(ui(24));
|
||||
registerFunction("Graph", "Set Node Color", "", MOD_KEY.none, function() /*=>*/ { menuCall("", [ MENU_ITEMS.graph_group_node_color ]); });
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var _clrs = COLORS.labels;
|
||||
var _item = array_create(array_length(_clrs));
|
||||
|
||||
for( var i = 0, n = array_length(_clrs); i < n; i++ ) {
|
||||
_item[i] = [
|
||||
[ THEME.timeline_color, i > 0, _clrs[i] ],
|
||||
function(_data) { PANEL_GRAPH.setSelectingJuncColor(_data.color); }, "", { color: i == 0? -1 : _clrs[i] }
|
||||
];
|
||||
}
|
||||
|
||||
array_push(_item, [ [ THEME.timeline_color, 2 ], function() /*=>*/ { colorSelectorCall(PANEL_GRAPH.__junction_hovering? PANEL_GRAPH.__junction_hovering.color : c_white, PANEL_GRAPH.setSelectingJuncColor); } ]);
|
||||
|
||||
MENU_ITEMS.graph_group_junction_color = menuItemGroup(__txt("Connection Color"), _item, ["Graph", "Set Junction Color"]).setSpacing(ui(24));
|
||||
registerFunction("Graph", "Set Junction Color", "", MOD_KEY.none, function() /*=>*/ { menuCall("", [ MENU_ITEMS.graph_group_junction_color ]); });
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
@ -641,18 +695,7 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor {
|
|||
menu_node_duplicate = MENU_ITEMS.graph_duplicate;
|
||||
menu_node_copy = MENU_ITEMS.graph_copy;
|
||||
|
||||
menu_nodes_align = menuItemGroup(__txtx("panel_graph_align_nodes", "Align"), [
|
||||
[ [THEME.inspector_surface_halign, 0], function() { node_halign(nodes_selecting, fa_left); } ],
|
||||
[ [THEME.inspector_surface_halign, 1], function() { node_halign(nodes_selecting, fa_center); } ],
|
||||
[ [THEME.inspector_surface_halign, 2], function() { node_halign(nodes_selecting, fa_right); } ],
|
||||
|
||||
[ [THEME.inspector_surface_valign, 0], function() { node_valign(nodes_selecting, fa_top); } ],
|
||||
[ [THEME.inspector_surface_valign, 1], function() { node_valign(nodes_selecting, fa_middle); } ],
|
||||
[ [THEME.inspector_surface_valign, 2], function() { node_valign(nodes_selecting, fa_bottom); } ],
|
||||
|
||||
[ [THEME.obj_distribute_h, 0], function() { node_hdistribute(nodes_selecting); } ],
|
||||
[ [THEME.obj_distribute_v, 0], function() { node_vdistribute(nodes_selecting); } ],
|
||||
]);
|
||||
menu_nodes_align = MENU_ITEMS.graph_group_align;
|
||||
|
||||
menu_node_transform = MENU_ITEMS.graph_transform_node;
|
||||
menu_nodes_blend = MENU_ITEMS.graph_blend;
|
||||
|
@ -675,27 +718,7 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor {
|
|||
array_foreach(nodes_selecting, function(node) { node.attributes.color = __temp_color; });
|
||||
}
|
||||
|
||||
var _clrs = COLORS.labels;
|
||||
var _item = array_create(array_length(_clrs));
|
||||
|
||||
for( var i = 0, n = array_length(_clrs); i < n; i++ ) {
|
||||
_item[i] = [
|
||||
[ THEME.timeline_color, i > 0, _clrs[i] ],
|
||||
function(_data) {
|
||||
setSelectingNodeColor(_data.color);
|
||||
}, "", { color: i == 0? -1 : _clrs[i] }
|
||||
];
|
||||
}
|
||||
|
||||
array_push(_item, [
|
||||
[ THEME.timeline_color, 2 ],
|
||||
function(_data) {
|
||||
colorSelectorCall(node_hover? node_hover.attributes.color : c_white, setSelectingNodeColor);
|
||||
}
|
||||
]);
|
||||
|
||||
menu_node_color = menuItemGroup(__txt("Node Color"), _item);
|
||||
menu_node_color.spacing = ui(24);
|
||||
menu_node_color = MENU_ITEMS.graph_group_node_color;
|
||||
|
||||
|
||||
// junction color
|
||||
|
@ -716,27 +739,7 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor {
|
|||
}
|
||||
}
|
||||
|
||||
var _clrs = COLORS.labels;
|
||||
var _item = array_create(array_length(_clrs));
|
||||
|
||||
for( var i = 0, n = array_length(_clrs); i < n; i++ ) {
|
||||
_item[i] = [
|
||||
[ THEME.timeline_color, i > 0, _clrs[i] ],
|
||||
function(_data) {
|
||||
setSelectingJuncColor(_data.color);
|
||||
}, "", { color: i == 0? -1 : _clrs[i] }
|
||||
];
|
||||
}
|
||||
|
||||
array_push(_item, [
|
||||
[ THEME.timeline_color, 2 ],
|
||||
function(_data) {
|
||||
colorSelectorCall(__junction_hovering? __junction_hovering.color : c_white, setSelectingJuncColor);
|
||||
}
|
||||
]);
|
||||
|
||||
menu_junc_color = menuItemGroup(__txt("Connection Color"), _item);
|
||||
menu_junc_color.spacing = ui(24);
|
||||
menu_junc_color = MENU_ITEMS.graph_group_junction_color;
|
||||
|
||||
|
||||
//// ============ Project ============
|
||||
|
|
|
@ -1,23 +1,4 @@
|
|||
#region funtion calls
|
||||
function __fnInit_Inspector() {
|
||||
registerFunction("", "Color picker", "", MOD_KEY.alt, panel_inspector_color_pick ).setMenu("color_picker")
|
||||
|
||||
registerFunction("Inspector", "Copy property", "C", MOD_KEY.ctrl, panel_inspector_copy_prop ).setMenu("inspector_copy_property", THEME.copy)
|
||||
registerFunction("Inspector", "Paste property", "V", MOD_KEY.ctrl, panel_inspector_paste_prop ).setMenu("inspector_paste_property", THEME.paste)
|
||||
registerFunction("Inspector", "Toggle animation", "I", MOD_KEY.none, panel_inspector_toggle_animation ).setMenu("inspector_toggle_animation")
|
||||
|
||||
registerFunction("Inspector", "Expand All Sections", "", MOD_KEY.none, panel_inspector_section_expand_all ).setMenu("inspector_expand_all_sections")
|
||||
registerFunction("Inspector", "Collapse All Sections", "", MOD_KEY.none, panel_inspector_section_collapse_all ).setMenu("inspector_collapse_all_sections")
|
||||
|
||||
registerFunction("Inspector", "Reset", "", MOD_KEY.none, panel_inspector_reset ).setMenu("inspector_reset")
|
||||
registerFunction("Inspector", "Add", "", MOD_KEY.none, panel_inspector_add ).setMenu("inspector_add")
|
||||
registerFunction("Inspector", "Remove", "", MOD_KEY.none, panel_inspector_remove ).setMenu("inspector_remove")
|
||||
registerFunction("Inspector", "Combine Axis", "", MOD_KEY.none, panel_inspector_axis_combine ).setMenu("inspector_combine_axis")
|
||||
registerFunction("Inspector", "Separate Axis", "", MOD_KEY.none, panel_inspector_axis_separate ).setMenu("inspector_separate_axis")
|
||||
registerFunction("Inspector", "Use Expression", "", MOD_KEY.none, panel_inspector_use_expression ).setMenu("inspector_use_expression")
|
||||
registerFunction("Inspector", "Disable Expression", "", MOD_KEY.none, panel_inspector_disable_expression ).setMenu("inspector_disable_expression")
|
||||
registerFunction("Inspector", "Extract Value", "", MOD_KEY.none, panel_inspector_extract_single ).setMenu("inspector_extract_value")
|
||||
}
|
||||
|
||||
function panel_inspector_copy_prop() { CALL("inspector_copy_property"); PANEL_INSPECTOR.propSelectCopy(); }
|
||||
function panel_inspector_paste_prop() { CALL("inspector_paste_property"); PANEL_INSPECTOR.propSelectPaste(); }
|
||||
|
@ -37,6 +18,50 @@
|
|||
function panel_inspector_disable_expression() { CALL("inspector_disable_expression"); PANEL_INSPECTOR.junction_disable_expression(); }
|
||||
function panel_inspector_extract_single() { CALL("inspector_extract_single"); PANEL_INSPECTOR.junction_extract_single(); }
|
||||
|
||||
function __fnInit_Inspector() {
|
||||
registerFunction("", "Color picker", "", MOD_KEY.alt, panel_inspector_color_pick ).setMenu("color_picker")
|
||||
|
||||
registerFunction("Inspector", "Copy property", "C", MOD_KEY.ctrl, panel_inspector_copy_prop ).setMenu("inspector_copy_property", THEME.copy)
|
||||
registerFunction("Inspector", "Paste property", "V", MOD_KEY.ctrl, panel_inspector_paste_prop ).setMenu("inspector_paste_property", THEME.paste)
|
||||
registerFunction("Inspector", "Toggle animation", "I", MOD_KEY.none, panel_inspector_toggle_animation ).setMenu("inspector_toggle_animation")
|
||||
|
||||
registerFunction("Inspector", "Expand All Sections", "", MOD_KEY.none, panel_inspector_section_expand_all ).setMenu("inspector_expand_all_sections")
|
||||
registerFunction("Inspector", "Collapse All Sections", "", MOD_KEY.none, panel_inspector_section_collapse_all ).setMenu("inspector_collapse_all_sections")
|
||||
|
||||
registerFunction("Inspector", "Reset", "", MOD_KEY.none, panel_inspector_reset ).setMenu("inspector_reset")
|
||||
registerFunction("Inspector", "Add", "", MOD_KEY.none, panel_inspector_add ).setMenu("inspector_add")
|
||||
registerFunction("Inspector", "Remove", "", MOD_KEY.none, panel_inspector_remove ).setMenu("inspector_remove")
|
||||
registerFunction("Inspector", "Combine Axis", "", MOD_KEY.none, panel_inspector_axis_combine ).setMenu("inspector_combine_axis")
|
||||
registerFunction("Inspector", "Separate Axis", "", MOD_KEY.none, panel_inspector_axis_separate ).setMenu("inspector_separate_axis")
|
||||
registerFunction("Inspector", "Use Expression", "", MOD_KEY.none, panel_inspector_use_expression ).setMenu("inspector_use_expression")
|
||||
registerFunction("Inspector", "Disable Expression", "", MOD_KEY.none, panel_inspector_disable_expression ).setMenu("inspector_disable_expression")
|
||||
registerFunction("Inspector", "Extract Value", "", MOD_KEY.none, panel_inspector_extract_single ).setMenu("inspector_extract_value")
|
||||
|
||||
__fnGroupInit_Inspector();
|
||||
}
|
||||
|
||||
function __fnGroupInit_Inspector() {
|
||||
var _clrs = COLORS.labels;
|
||||
var _item = array_create(array_length(_clrs));
|
||||
|
||||
for( var i = 0, n = array_length(_clrs); i < n; i++ ) {
|
||||
_item[i] = [
|
||||
[ THEME.timeline_color, i > 0, _clrs[i] ],
|
||||
function(_data) { PANEL_INSPECTOR.setSelectingItemColor(_data.color); }, "", { color: i == 0? -1 : _clrs[i] }
|
||||
];
|
||||
}
|
||||
|
||||
array_push(_item, [
|
||||
[ THEME.timeline_color, 2 ],
|
||||
function(_data) { colorSelectorCall(PANEL_INSPECTOR.__dialog_junction? PANEL_INSPECTOR.__dialog_junction.color : c_white, PANEL_INSPECTOR.setSelectingItemColor); }
|
||||
]);
|
||||
|
||||
MENU_ITEMS.inspector_group_set_color = menuItemGroup(__txt("Color"), _item, ["Inspector", "Set Color"]).setSpacing(ui(24));
|
||||
registerFunction("Inspector", "Set Color", "", MOD_KEY.none, function() /*=>*/ { menuCall("", [ MENU_ITEMS.inspector_group_set_color ]); });
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
function Inspector_Custom_Renderer(drawFn, registerFn = noone) : widget() constructor {
|
||||
|
@ -57,27 +82,27 @@ function Inspector_Custom_Renderer(drawFn, registerFn = noone) : widget() constr
|
|||
static toString = function() { return $"Custon renderer"; }
|
||||
}
|
||||
|
||||
function Inspector_Sprite(spr) constructor { self.spr = spr; }
|
||||
function Inspector_Sprite(spr) constructor { self.spr = spr; }
|
||||
function Inspector_Spacer(height, line = false) constructor { self.h = height; self.line = line; }
|
||||
function Inspector_Label( text, font = f_p3) constructor { self.text = text; self.font = font; }
|
||||
|
||||
function Panel_Inspector() : PanelContent() constructor {
|
||||
#region ---- main ----
|
||||
context_str = "Inspector";
|
||||
title = __txt("Inspector");
|
||||
icon = THEME.panel_inspector_icon;
|
||||
title = __txt("Inspector");
|
||||
icon = THEME.panel_inspector_icon;
|
||||
|
||||
w = ui(400);
|
||||
h = ui(640);
|
||||
min_w = ui(160);
|
||||
|
||||
locked = false;
|
||||
locked = false;
|
||||
focusable = true;
|
||||
|
||||
inspecting = noone;
|
||||
inspecting = noone;
|
||||
inspectings = [];
|
||||
inspectGroup = false;
|
||||
top_bar_h = ui(100);
|
||||
top_bar_h = ui(100);
|
||||
|
||||
static initSize = function() {
|
||||
content_w = w - ui(32);
|
||||
|
@ -89,18 +114,17 @@ function Panel_Inspector() : PanelContent() constructor {
|
|||
#endregion
|
||||
|
||||
#region ---- properties ----
|
||||
prop_hover = noone;
|
||||
prop_hover = noone;
|
||||
prop_selecting = noone;
|
||||
|
||||
prop_highlight = noone;
|
||||
prop_highlight_time = 0;
|
||||
|
||||
prop_dragging = noone;
|
||||
prop_sel_drag_x = 0;
|
||||
prop_sel_drag_y = 0;
|
||||
|
||||
color_picking = false;
|
||||
prop_dragging = noone;
|
||||
prop_sel_drag_x = 0;
|
||||
prop_sel_drag_y = 0;
|
||||
|
||||
color_picking = false;
|
||||
picker_index = 0;
|
||||
picker_change = false;
|
||||
|
||||
|
@ -111,21 +135,21 @@ function Panel_Inspector() : PanelContent() constructor {
|
|||
drawWidgetInit();
|
||||
|
||||
#region ---- header labels ----
|
||||
tb_node_name = new textBox(TEXTBOX_INPUT.text, function(txt) /*=>*/ { if(inspecting) inspecting.setDisplayName(txt); });
|
||||
tb_node_name = new textBox(TEXTBOX_INPUT.text, function(txt) /*=>*/ { if(inspecting) inspecting.setDisplayName(txt); });
|
||||
|
||||
tb_prop_filter = new textBox(TEXTBOX_INPUT.text, function(txt) /*=>*/ { filter_text = txt; });
|
||||
tb_prop_filter.no_empty = false;
|
||||
tb_prop_filter.auto_update = true;
|
||||
tb_prop_filter.font = f_p0;
|
||||
tb_prop_filter.color = COLORS._main_text_sub;
|
||||
tb_prop_filter.align = fa_center;
|
||||
tb_prop_filter.hide = true;
|
||||
tb_prop_filter = new textBox(TEXTBOX_INPUT.text, function(txt) /*=>*/ { filter_text = txt; });
|
||||
tb_prop_filter.no_empty = false;
|
||||
tb_prop_filter.auto_update = true;
|
||||
tb_prop_filter.font = f_p0;
|
||||
tb_prop_filter.color = COLORS._main_text_sub;
|
||||
tb_prop_filter.align = fa_center;
|
||||
tb_prop_filter.hide = true;
|
||||
filter_text = "";
|
||||
|
||||
prop_page_button = new buttonGroup([ "Properties", "Settings", THEME.message_16 ], function(val) /*=>*/ { prop_page = val; });
|
||||
prop_page_button.buttonSpr = [ THEME.button_hide_left, THEME.button_hide_middle, THEME.button_hide_right ];
|
||||
prop_page_button = new buttonGroup([ "Properties", "Settings", THEME.message_16 ], function(val) /*=>*/ { prop_page = val; });
|
||||
prop_page_button.buttonSpr = [ THEME.button_hide_left, THEME.button_hide_middle, THEME.button_hide_right ];
|
||||
prop_page_button.font = f_p2;
|
||||
prop_page_button.fColor = COLORS._main_text_sub;
|
||||
prop_page_button.fColor = COLORS._main_text_sub;
|
||||
prop_page = 0;
|
||||
#endregion
|
||||
|
||||
|
@ -186,13 +210,13 @@ function Panel_Inspector() : PanelContent() constructor {
|
|||
nodeCollapseAll(inspectings[i]);
|
||||
}
|
||||
|
||||
function junction_reset() { if(__dialog_junction == noone) return; __dialog_junction.resetValue(); }
|
||||
function junction_reset() { if(__dialog_junction == noone) return; __dialog_junction.resetValue(); }
|
||||
function junction_add() { if(__dialog_junction == noone) return; __dialog_junction.setAnim(true); }
|
||||
function junction_remove() { if(__dialog_junction == noone) return; __dialog_junction.setAnim(false); }
|
||||
function junction_remove() { if(__dialog_junction == noone) return; __dialog_junction.setAnim(false); }
|
||||
function junction_axis_combine() { if(__dialog_junction == noone) return; __dialog_junction.sep_axis = false; }
|
||||
function junction_axis_separate() { if(__dialog_junction == noone) return; __dialog_junction.sep_axis = true; }
|
||||
function junction_axis_separate() { if(__dialog_junction == noone) return; __dialog_junction.sep_axis = true; }
|
||||
function junction_use_expression() { if(__dialog_junction == noone) return; __dialog_junction.expUse = true; }
|
||||
function junction_disable_expression() { if(__dialog_junction == noone) return; __dialog_junction.expUse = false; }
|
||||
function junction_disable_expression() { if(__dialog_junction == noone) return; __dialog_junction.expUse = false; }
|
||||
function junction_extract_single() { if(__dialog_junction == noone) return; __dialog_junction.extractNode(); }
|
||||
|
||||
group_menu = [
|
||||
|
@ -223,27 +247,7 @@ function Panel_Inspector() : PanelContent() constructor {
|
|||
_val_to[i].setColor(color);
|
||||
}
|
||||
|
||||
var _clrs = COLORS.labels;
|
||||
var _item = array_create(array_length(_clrs));
|
||||
|
||||
for( var i = 0, n = array_length(_clrs); i < n; i++ ) {
|
||||
_item[i] = [
|
||||
[ THEME.timeline_color, i > 0, _clrs[i] ],
|
||||
function(_data) {
|
||||
setSelectingItemColor(_data.color);
|
||||
}, "", { color: i == 0? -1 : _clrs[i] }
|
||||
];
|
||||
}
|
||||
|
||||
array_push(_item, [
|
||||
[ THEME.timeline_color, 2 ],
|
||||
function(_data) {
|
||||
colorSelectorCall(__dialog_junction? __dialog_junction.color : c_white, setSelectingItemColor);
|
||||
}
|
||||
]);
|
||||
|
||||
menu_junc_color = menuItemGroup(__txt("Color"), _item);
|
||||
menu_junc_color.spacing = ui(24);
|
||||
menu_junc_color = MENU_ITEMS.inspector_group_set_color;
|
||||
#endregion
|
||||
|
||||
function setInspecting(inspecting, _lock = false, _focus = true) {
|
||||
|
|
|
@ -67,6 +67,7 @@
|
|||
|
||||
registerFunction("", "Reload theme", vk_f10, MOD_KEY.ctrl | MOD_KEY.shift, global_theme_reload ).setMenu("reload_theme", )
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
function Panel_Menu() : PanelContent() constructor {
|
||||
|
@ -165,11 +166,7 @@ function Panel_Menu() : PanelContent() constructor {
|
|||
[ __txt("Preview"), [
|
||||
MENU_ITEMS.preview_focus_content,
|
||||
MENU_ITEMS.preview_save_current_frame,
|
||||
menuItemGroup(__txtx("panel_menu_preview_background", "Preview background"), [
|
||||
[ s_preview_transparent, function() { PANEL_PREVIEW.canvas_bg = -1; } ],
|
||||
[ s_preview_white, function() { PANEL_PREVIEW.canvas_bg = c_white; } ],
|
||||
[ s_preview_black, function() { PANEL_PREVIEW.canvas_bg = c_black; } ],
|
||||
]),
|
||||
MENU_ITEMS.preview_group_preview_bg,
|
||||
]],
|
||||
|
||||
[ __txt("Animation"), [
|
||||
|
|
|
@ -1,4 +1,37 @@
|
|||
#region funtion calls
|
||||
|
||||
function panel_preview_focus_content() { CALL("preview_focus_content"); PANEL_PREVIEW.fullView(); }
|
||||
function panel_preview_save_current_frame() { CALL("preview_save_current_frame"); PANEL_PREVIEW.saveCurrentFrame(); }
|
||||
function panel_preview_saveCurrentFrameToFocus() { CALL("preview_save_to_focused_file"); PANEL_PREVIEW.saveCurrentFrameToFocus(); }
|
||||
function panel_preview_save_all_current_frame() { CALL("preview_save_all_current_frame"); PANEL_PREVIEW.saveAllCurrentFrames(); }
|
||||
function panel_preview_preview_window() { CALL("preview_preview_window"); PANEL_PREVIEW.create_preview_window(PANEL_PREVIEW.getNodePreview()); }
|
||||
function panel_preview_toggle_grid() { CALL("preview_toggle_grid"); PROJECT.previewGrid.show = !PROJECT.previewGrid.show; }
|
||||
|
||||
function panel_preview_pan() { CALL("preview_pan"); PANEL_PREVIEW.canvas_dragging_key = true; }
|
||||
function panel_preview_zoom() { CALL("preview_zoom"); PANEL_PREVIEW.canvas_zooming_key = true; }
|
||||
|
||||
function panel_preview_3d_view_front() { CALL("preview_3d_front_view"); PANEL_PREVIEW.d3_view_action_front(); }
|
||||
function panel_preview_3d_view_back() { CALL("preview_3d_back_view"); PANEL_PREVIEW.d3_view_action_back(); }
|
||||
function panel_preview_3d_view_right() { CALL("preview_3d_right_view"); PANEL_PREVIEW.d3_view_action_right(); }
|
||||
function panel_preview_3d_view_left() { CALL("preview_3d_left_view"); PANEL_PREVIEW.d3_view_action_left(); }
|
||||
function panel_preview_3d_view_top() { CALL("preview_3d_top_view"); PANEL_PREVIEW.d3_view_action_top(); }
|
||||
function panel_preview_3d_view_bottom() { CALL("preview_3d_bottom_view"); PANEL_PREVIEW.d3_view_action_bottom(); }
|
||||
|
||||
function panel_preview_set_zoom(zoom) { CALL("preview_preview_set_zoom"); PANEL_PREVIEW.fullView(zoom); }
|
||||
|
||||
function panel_preview_set_tile_off() { CALL("preview_set_tile_off"); PANEL_PREVIEW.set_tile_off(); }
|
||||
function panel_preview_set_tile_horizontal() { CALL("preview_set_tile_horizontal"); PANEL_PREVIEW.set_tile_horizontal(); }
|
||||
function panel_preview_set_tile_vertical() { CALL("preview_set_tile_vertical"); PANEL_PREVIEW.set_tile_vertical(); }
|
||||
function panel_preview_set_tile_both() { CALL("preview_set_tile_both"); PANEL_PREVIEW.set_tile_both(); }
|
||||
function panel_preview_set_tile_toggle() { CALL("preview_set_tile_toggle"); PANEL_PREVIEW.set_tile_toggle(); }
|
||||
|
||||
function panel_preview_new_preview_window() { CALL("preview_new_preview_window"); PANEL_PREVIEW.new_preview_window(); }
|
||||
function panel_preview_saveCurrentFrame() { CALL("preview_saveCurrentFrame"); PANEL_PREVIEW.saveCurrentFrame(); }
|
||||
function panel_preview_saveAllCurrentFrames() { CALL("preview_saveAllCurrentFrames"); PANEL_PREVIEW.saveAllCurrentFrames(); }
|
||||
function panel_preview_copyCurrentFrame() { CALL("preview_copyCurrentFrame"); PANEL_PREVIEW.copyCurrentFrame(); }
|
||||
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 __fnInit_Preview() {
|
||||
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")
|
||||
|
@ -34,40 +67,19 @@
|
|||
registerFunction("Preview", "Copy Current Frame", "", MOD_KEY.none, panel_preview_copyCurrentFrame ).setMenu("preview_copy_current_frame", THEME.copy)
|
||||
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")
|
||||
|
||||
__fnGroupInit_Preview();
|
||||
}
|
||||
|
||||
function panel_preview_focus_content() { CALL("preview_focus_content"); PANEL_PREVIEW.fullView(); }
|
||||
function panel_preview_save_current_frame() { CALL("preview_save_current_frame"); PANEL_PREVIEW.saveCurrentFrame(); }
|
||||
function panel_preview_saveCurrentFrameToFocus() { CALL("preview_save_to_focused_file"); PANEL_PREVIEW.saveCurrentFrameToFocus(); }
|
||||
function panel_preview_save_all_current_frame() { CALL("preview_save_all_current_frame"); PANEL_PREVIEW.saveAllCurrentFrames(); }
|
||||
function panel_preview_preview_window() { CALL("preview_preview_window"); PANEL_PREVIEW.create_preview_window(PANEL_PREVIEW.getNodePreview()); }
|
||||
function panel_preview_toggle_grid() { CALL("preview_toggle_grid"); PROJECT.previewGrid.show = !PROJECT.previewGrid.show; }
|
||||
|
||||
function panel_preview_pan() { CALL("preview_pan"); PANEL_PREVIEW.canvas_dragging_key = true; }
|
||||
function panel_preview_zoom() { CALL("preview_zoom"); PANEL_PREVIEW.canvas_zooming_key = true; }
|
||||
|
||||
function panel_preview_3d_view_front() { CALL("preview_3d_front_view"); PANEL_PREVIEW.d3_view_action_front(); }
|
||||
function panel_preview_3d_view_back() { CALL("preview_3d_back_view"); PANEL_PREVIEW.d3_view_action_back(); }
|
||||
function panel_preview_3d_view_right() { CALL("preview_3d_right_view"); PANEL_PREVIEW.d3_view_action_right(); }
|
||||
function panel_preview_3d_view_left() { CALL("preview_3d_left_view"); PANEL_PREVIEW.d3_view_action_left(); }
|
||||
function panel_preview_3d_view_top() { CALL("preview_3d_top_view"); PANEL_PREVIEW.d3_view_action_top(); }
|
||||
function panel_preview_3d_view_bottom() { CALL("preview_3d_bottom_view"); PANEL_PREVIEW.d3_view_action_bottom(); }
|
||||
|
||||
function panel_preview_set_zoom(zoom) { CALL("preview_preview_set_zoom"); PANEL_PREVIEW.fullView(zoom); }
|
||||
|
||||
function panel_preview_set_tile_off() { CALL("preview_set_tile_off"); PANEL_PREVIEW.set_tile_off(); }
|
||||
function panel_preview_set_tile_horizontal() { CALL("preview_set_tile_horizontal"); PANEL_PREVIEW.set_tile_horizontal(); }
|
||||
function panel_preview_set_tile_vertical() { CALL("preview_set_tile_vertical"); PANEL_PREVIEW.set_tile_vertical(); }
|
||||
function panel_preview_set_tile_both() { CALL("preview_set_tile_both"); PANEL_PREVIEW.set_tile_both(); }
|
||||
function panel_preview_set_tile_toggle() { CALL("preview_set_tile_toggle"); PANEL_PREVIEW.set_tile_toggle(); }
|
||||
|
||||
function panel_preview_new_preview_window() { CALL("preview_new_preview_window"); PANEL_PREVIEW.new_preview_window(); }
|
||||
function panel_preview_saveCurrentFrame() { CALL("preview_saveCurrentFrame"); PANEL_PREVIEW.saveCurrentFrame(); }
|
||||
function panel_preview_saveAllCurrentFrames() { CALL("preview_saveAllCurrentFrames"); PANEL_PREVIEW.saveAllCurrentFrames(); }
|
||||
function panel_preview_copyCurrentFrame() { CALL("preview_copyCurrentFrame"); PANEL_PREVIEW.copyCurrentFrame(); }
|
||||
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 __fnGroupInit_Preview() {
|
||||
MENU_ITEMS.preview_group_preview_bg = menuItemGroup(__txtx("panel_menu_preview_background", "Preview background"), [
|
||||
[ s_preview_transparent, function() { PANEL_PREVIEW.canvas_bg = -1; } ],
|
||||
[ s_preview_white, function() { PANEL_PREVIEW.canvas_bg = c_white; } ],
|
||||
[ s_preview_black, function() { PANEL_PREVIEW.canvas_bg = c_black; } ],
|
||||
], ["Preview", "Background"]);
|
||||
registerFunction("Preview", "Background", "", MOD_KEY.none, function() /*=>*/ { menuCall("", [ MENU_ITEMS.menu_group_preview_bg ]); });
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
function Panel_Preview() : PanelContent() constructor {
|
||||
|
@ -2130,6 +2142,8 @@ function Panel_Preview() : PanelContent() constructor {
|
|||
MENU_ITEMS.preview_copy_current_frame,
|
||||
MENU_ITEMS.preview_copy_color,
|
||||
MENU_ITEMS.preview_copy_color_hex,
|
||||
-1,
|
||||
MENU_ITEMS.preview_group_preview_bg,
|
||||
], 0, 0, fa_left, getNodePreview());
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue