Draw masks
Jump to navigation
Jump to search
| This article is a stub. You can help the wiki by expanding it. |
Draw masks are property-controlled switches for enabling/disabling rendering of certain scene details.
Dialog controlling draw masks
var (width,height) = (320,160);
var title = 'Draw Masks';
var window = canvas.Window.new([width,height],"dialog").set('title',title);
window.del = func()
{
print("Cleaning up window:",title,"\n");
call(canvas.Window.del, [], me);
};
# adding a canvas to the new window and setting up background colors/transparency
var myCanvas = window.createCanvas().set("background", canvas.style.getColor("bg_color"));
# creating the top-level/root group which will contain all other elements/group
var root = myCanvas.createGroup();
var drawMasks = props.globals.getNode("/sim/rendering/draw-mask").getChildren();
# create a new layout
window.Layout = canvas.VBoxLayout.new();
# assign it to the Canvas
myCanvas.setLayout(window.Layout);
foreach(var mask; drawMasks) {
(func() {
var m = mask;
# print("Found mask:", mask.getName(), "=", mask.getValue() );
var checkbox = canvas.gui.widgets.CheckBox.new(root, canvas.style, {wordWrap: 0})
.setText( "render " ~ m.getName() )
.listen("toggled", func(e) {
setprop(m.getPath(), e.detail.checked);
})
.setChecked( m.getValue() );
window.Layout.addItem(checkbox);
}) ();
}