Simplify renderDebug GUI

This commit is contained in:
Zach Pomerantz 2015-12-23 13:08:46 -08:00
parent dd17fa0058
commit ea9f2e57ce
2 changed files with 30 additions and 46 deletions

View file

@ -814,12 +814,14 @@ var CHECK_MARK_COLOR = {
}); });
}; };
CollapsablePanelItem.prototype.destroy = function() { CollapsablePanelItem.prototype.destroy = function() {
Overlays.deleteOverlay(this.title); Overlays.deleteOverlay(this.title);
Overlays.deleteOverlay(this.thumb); Overlays.deleteOverlay(this.thumb);
}; };
CollapsablePanelItem.prototype.editTitle = function(opts) {
Overlays.editOverlay(this.title, opts);
};
CollapsablePanelItem.prototype.hide = function() { CollapsablePanelItem.prototype.hide = function() {
Overlays.editOverlay(this.title, { Overlays.editOverlay(this.title, {

View file

@ -21,56 +21,34 @@ Number.prototype.clamp = function(min, max) {
var panel = new Panel(10, 100); var panel = new Panel(10, 100);
function CounterWidget(parentPanel, name, feedGetter, drawGetter, capSetter, capGetter) { function CounterWidget(parentPanel, name, counter) {
this.subPanel = parentPanel.newSubPanel(name); var subPanel = parentPanel.newSubPanel(name);
var widget = parentPanel.items[name];
widget.editTitle({ width: 270 });
this.subPanel.newSlider("Num Feed", 0, 1, subPanel.newSlider('Max Drawn', -1, 1,
function(value) { }, function(value) { counter.maxDrawn = value; }, // setter
feedGetter, function() { return counter.maxDrawn; }, // getter
function(value) { return (value); }); function(value) { return value; });
this.subPanel.newSlider("Num Drawn", 0, 1,
function(value) { }, var slider = subPanel.getWidget('Max Drawn');
drawGetter,
function(value) { return (value); });
this.subPanel.newSlider("Max Drawn", -1, 1,
capSetter,
capGetter,
function(value) { return (value); });
this.update = function () { this.update = function () {
var numFeed = this.subPanel.get("Num Feed"); var numDrawn = counter.numDrawn; // avoid double polling
var numDrawn = this.subPanel.get("Num Drawn"); var numMax = Math.max(numDrawn, 1);
var numMax = Math.max(numFeed, 1); var title = [
' ' + name,
numDrawn + ' / ' + counter.numFeed
].join('\t');
this.subPanel.set("Num Feed", numFeed); widget.editTitle({ text: title });
this.subPanel.set("Num Drawn", numDrawn); slider.setMaxValue(numMax);
this.subPanel.getWidget("Num Feed").setMaxValue(numMax);
this.subPanel.getWidget("Num Drawn").setMaxValue(numMax);
this.subPanel.getWidget("Max Drawn").setMaxValue(numMax);
}; };
}; };
var opaquesCounter = new CounterWidget(panel, "Opaques", var opaquesCounter = new CounterWidget(panel, "Opaques", Render.opaque);
function () { return Render.opaque.numFeed; }, var transparentsCounter = new CounterWidget(panel, "Transparents", Render.transparent);
function () { return Render.opaque.numDrawn; }, var overlaysCounter = new CounterWidget(panel, "Overlays", Render.overlay3D);
function(value) { Render.opaque.maxDrawn = value; },
function () { return Render.opaque.maxDrawn; }
);
var transparentsCounter = new CounterWidget(panel, "Transparents",
function () { return Render.transparent.numFeed; },
function () { return Render.transparent.numDrawn; },
function(value) { Render.transparent.maxDrawn = value; },
function () { return Render.transparent.maxDrawn; }
);
var overlaysCounter = new CounterWidget(panel, "Overlays",
function () { return Render.overlay3D.numFeed; },
function () { return Render.overlay3D.numDrawn; },
function(value) { Render.overlay3D.maxDrawn = value; },
function () { return Render.overlay3D.maxDrawn; }
);
var resizing = false; var resizing = false;
var previousMode = Settings.getValue(SETTINGS_KEY, -1); var previousMode = Settings.getValue(SETTINGS_KEY, -1);
@ -162,9 +140,13 @@ Menu.menuItemEvent.connect(menuItemEvent);
function scriptEnding() { function scriptEnding() {
panel.destroy(); panel.destroy();
Menu.removeActionGroup(MENU); Menu.removeActionGroup(MENU);
// Reset
Settings.setValue(SETTINGS_KEY, Render.deferredDebugMode); Settings.setValue(SETTINGS_KEY, Render.deferredDebugMode);
Render.deferredDebugMode = -1; Render.deferredDebugMode = -1;
Render.deferredDebugSize = { x: 0.0, y: -1.0, z: 1.0, w: 1.0 }; // Reset to default size Render.deferredDebugSize = { x: 0.0, y: -1.0, z: 1.0, w: 1.0 };
Render.opaque.maxDrawn = -1;
Render.transparent.maxDrawn = -1;
Render.overlay3D.maxDrawn = -1;
} }
Script.scriptEnding.connect(scriptEnding); Script.scriptEnding.connect(scriptEnding);