local font = render.load_font('Verdana', 15);
local screen = render.screen_size();
local group = ui.create 'Clip-Rect Test';
local box_x = group:slider('Box: X', 0, screen.x, 0);
local box_y = group:slider('Box: Y', 0, screen.x, 0);
local box_w = group:slider('Box: Width', 0, screen.x, 250);
local box_h = group:slider('Box: Height', 0, screen.x, 250);
local text_x = group:slider('Text: X', 0, screen.x, 0);
local text_y = group:slider('Text: Y', 0, screen.y, 0);
local input = group:input('Text: Input', 'Clip-Rect');
local function main()
local text = input:get();
local text_position = vector(text_x:get(), text_y:get());
local text_measure = render.measure_text(font, '', text);
local box_position = vector(box_x:get(), box_y:get());
local box_size = vector(box_w:get(), box_h:get());
local box_end = box_position + box_size;
box_end.x = math.max(box_end.x, text_position.x + text_measure.x)
render.rect(box_position, box_end, color(17));
render.push_clip_rect(box_position, box_end);
render.text(font, text_position, color(255), '', text);
render.pop_clip_rect();
end
events.render:set(main);