Pixel-Composer/scripts/argumentRenderer/argumentRenderer.gml

56 lines
1.9 KiB
Text
Raw Normal View History

2023-09-15 20:12:02 +02:00
function argumentRenderer(_typeArray = []) {
2023-01-04 02:30:04 +01:00
argument_renderer = new Inspector_Custom_Renderer(function(_x, _y, _w, _m, _hover, _focus) {
2023-01-17 08:11:55 +01:00
argument_renderer.x = _x;
argument_renderer.y = _y;
argument_renderer.w = _w;
2023-01-04 02:30:04 +01:00
var tx = _x;
var ty = _y + ui(8);
var hh = ui(8);
var _th = TEXTBOX_HEIGHT + ui(4);
for( var i = input_fix_len; i < ds_list_size(inputs); i += data_length ) {
var _jType = inputs[| i + 1];
var _h = 0;
2023-06-21 20:36:53 +02:00
_jType.editWidget.setFocusHover(_focus, _hover);
2023-01-04 02:30:04 +01:00
_jType.editWidget.draw(tx, ty, ui(128), _th, _jType.display_data[_jType.showValue()], _m, argument_renderer.rx, argument_renderer.ry);
var _jName = inputs[| i + 0];
2023-06-21 20:36:53 +02:00
_jName.editWidget.setFocusHover(_focus, _hover);
2023-01-04 02:30:04 +01:00
_jName.editWidget.draw(tx + ui(128 + 8), ty, _w - ui(128 + 8), _th, _jName.showValue(), _m, _jName.display_type);
2023-09-17 13:23:24 +02:00
_h += _th + ui(8);
2023-01-04 02:30:04 +01:00
draw_set_text(f_p1, fa_left, fa_top, COLORS._main_text_sub);
2023-09-17 13:23:24 +02:00
draw_text_add(tx + ui(8), ty + _th + ui(8 + 6), "Value");
2023-01-04 02:30:04 +01:00
var _jValue = inputs[| i + 2];
2023-03-11 01:40:17 +01:00
if(_jValue.editWidget != noone) {
2023-09-17 13:23:24 +02:00
var params = new widgetParam(tx + ui(64), ty + _th + ui(10), _w - ui(64), TEXTBOX_HEIGHT, _jValue.showValue(), -1, _m, argument_renderer.rx, argument_renderer.ry);
2023-09-15 20:12:02 +02:00
2023-06-21 20:36:53 +02:00
_jValue.editWidget.setFocusHover(_focus, _hover);
2023-09-17 13:23:24 +02:00
_h += _jValue.editWidget.drawParam(params) + ui(10);
2023-01-04 02:30:04 +01:00
}
2023-09-17 13:23:24 +02:00
//var _ly = ty + _h - ui(9);
//draw_set_color(COLORS.panel_separator);
//draw_line_width(_x + ui(16), _ly, _x + _w - ui(16 * 2), _ly, 2);
2023-01-04 02:30:04 +01:00
hh += _h;
ty += _h;
}
2023-01-17 08:11:55 +01:00
argument_renderer.h = hh;
2023-01-04 02:30:04 +01:00
return hh;
});
2023-01-17 08:11:55 +01:00
argument_renderer.register = function(parent = noone) {
for( var i = input_fix_len; i < ds_list_size(inputs); i += data_length ) {
inputs[| i + 1].editWidget.register(parent);
inputs[| i + 0].editWidget.register(parent);
2023-03-11 01:40:17 +01:00
if(inputs[| i + 2].editWidget != noone)
inputs[| i + 2].editWidget.register(parent);
2023-01-17 08:11:55 +01:00
}
}
2023-01-04 02:30:04 +01:00
}