(function (spec) { Graphics.executeCommand("dofile('"+spec.ownPath+"/DataTableOverlayEx.js');"); var R = bicObj(spec); R.merge("Blocks", { "AbsSin" : "abs(sin({Root.Time}))", "AbsSinInv" : "1.0-abs(sin({Root.Time}))", }); Graphics.executeCommand( "global.getHeatMapColor = function(value) { \ var ratio = 2.0 * value; \ var b = max(0, 255*(1 - ratio)); \ var r = max(0, 255*(ratio - 1)); \ var g = 255 - b - r; \ return [r/255.0, g/255.0, b/255.0, 128/255.0]; \ };"); R.merge("Graphics", { "Overlays" : [ { "Type" : "DataTableEx", "Layout" : { "X" : 0.005, "Y" : 0.005, "Width" : 0.30, }, "Defaults" : { "FontSize" : 0.05, "nDecimals" : 2, }, "RelWidthColumns" : [50], "Table" : [ [ { "Channel" : "Block.AbsSin", "ColorChannel" : "Block.AbsSinInv", "BackgroundColorFunc" : "getHeatMapColor", }, ], ], } ] }); R.merge("Modules.ScreenTicToc", function(spec){ var that = {}; that.leftLayout = "AdnQywADAAAAAAAAAAAAAAAABP8AAAV3AAAAAQAAAB8AAAT+AAAFdgAAAAAAAAAACgAAAAABAAAAHwAABP4AAAV2,AAAA/wAAAAD9AAAABAAAAAAAAABQAAAE3/wCAAAACPsAAAAyAE0AbwBkAGUAbABEAGUAZgBpAG4AaQB0AGkAbwBuAEQAbwBjAGsAVwBpAGQAZwBlAHQAAAAAdwAAARoAAAAWAP////sAAAAmAEYAbwBpAGwARQBkAGkAdABvAHIAUwBlAGMAdABpAG8AbgBJAEQAAAAASQAAAHUAAABdAP////sAAAAYAEYAbwBpAGwARQBkAGkAdABvAHIARwBLAAAAADUAAACSAAAAXQD////7AAAAHABGAG8AaQBsAEUAZABpAHQAbwByAFgATgBTAEMAAAAAPgAAAMEAAABdAP////sAAAAcAEYAbwBpAGwARQBkAGkAdABvAHIAWQBOAFMAQwAAAAAWAAACywAAAF0A/////AAAABYAAAToAAAAAAD////8AQAAAAL8AAAAVAAAAgIAAAAAAP////r/////AgAAAAL7AAAALABCAGwAbwBjAGsAcwBEAG8AYwBrAFMAdABhAHQAZQBzAFcAaQBkAGcAZQB0AAAAAAD/////AAAAFgD////7AAAAIgBGAG8AaQBsAEUAZABpAHQAbwByAFIAbwBuAGQAdQByAGUAAAAAFgAABJYAAABdAP////sAAAAkAEYAbwBpAGwARQBkAGkAdABvAHIAUwBlAGMAdABpAG8AbgBzAAAAAssAAAIzAAABLAD////7AAAAGgBGAG8AaQBsAEUAZABpAHQAbwByAEcASwBmAAAAAHwAAAINAAAAXQD////7AAAAGABCAGwAbwBjAGsAcwBXAGkAZABnAGUAdAAAAAB3AAAESgAAABYA////AAAAAQAAAHkAAAQI/AIAAAAF+wAAABwAQwBoAGEAbgBuAGUAbABzAFcAaQBkAGcAZQB0AAAAAW4AAAPqAAAAFgD////7AAAAJABGAG8AaQBsAEUAZABpAHQAbwByAEMAbwBtAGIAaQBuAGUAZAAAAAB3AAAESgAAAF0A////+wAAACwAQgBsAG8AYwBrAHMARABvAGMAawBGAG8AcgBjAGUAcwBXAGkAZABnAGUAdAAAAADpAAACAwAAABYA////+wAAAB4ARgBvAGkAbABFAGQAaQB0AG8AcgBUAHcAaQBzAHQAAAAApQAAAeMAAAB1AP////wAAADtAAAECAAAACsBAAAU+gAAAAABAAAAAvsAAAAsAEIAbABvAGMAawBzAEQAbwBjAGsATQBhAHMAcwBlAHMAVwBpAGQAZwBlAHQBAAAAAP////8AAABQAP////sAAAA2AEIAbABvAGMAawBzAEQAbwBjAGsAQwBvAG4AcwB0AHIAYQBpAG4AdABzAFcAaQBkAGcAZQB0AQAAB6gAAAJYAAAAUAD///8AAAACAAAE/gAAANP8AQAAAAP7AAAAIgBDAG8AbQBtAGEAbgBkAEQAbwBjAGsAVwBpAGQAZwBlAHQBAAAAAAAABP4AAABQAP////sAAAAkAEcAcgBhAHAAaABpAGMAcwBEAG8AYwBrAFcAaQBkAGcAZQB0AAAAAzkAAAHFAAAAUAD////7AAAAMgBHAHIAYQBwAGgAaQBjAHMAQwBvAG0AbQBhAG4AZABEAG8AYwBrAFcAaQBkAGcAZQB0AAAAAoEAAAJ9AAAAUAD///8AAAADAAAE/gAAAF/8AQAAAAT7AAAAKABGAG8AaQBsAEUAZABpAHQAbwByAEYAbwBpAGwASABvAGwAZABlAHIBAAAAAAAABP4AAABQAP////sAAAAiAFIAZQBzAHUAbAB0AHMARABvAGMAawBXAGkAZABnAGUAdAAAAAAAAAAE+gAAAFAA////+wAAABgARgBvAGkAbABFAGQAaQB0AG8AcgBFAEkAAAAAogAABFgAAAIzAP////sAAAAUAEQAYQB0AGEAVgBpAGUAdwBlAHIAAAAGywAAAzUAAAAAAAAAAAAABIEAAAQIAAAABAAAAAQAAAAIAAAACPwAAAAA"; that.rightLayout = "AdnQywADAAAAAAUAAAAAAAAACf8AAAV3AAAFAQAAAB8AAAn+AAAFdgAAAAAAAAAACgAAAAUBAAAAHwAACf4AAAV2,AAAA/wAAAAD9AAAABAAAAAAAAABQAAAE3/wCAAAACPsAAAAyAE0AbwBkAGUAbABEAGUAZgBpAG4AaQB0AGkAbwBuAEQAbwBjAGsAVwBpAGQAZwBlAHQAAAAAdwAAARoAAAAWAP////sAAAAmAEYAbwBpAGwARQBkAGkAdABvAHIAUwBlAGMAdABpAG8AbgBJAEQAAAAASQAAAHUAAABdAP////sAAAAYAEYAbwBpAGwARQBkAGkAdABvAHIARwBLAAAAADUAAACSAAAAXQD////7AAAAHABGAG8AaQBsAEUAZABpAHQAbwByAFgATgBTAEMAAAAAPgAAAMEAAABdAP////sAAAAcAEYAbwBpAGwARQBkAGkAdABvAHIAWQBOAFMAQwAAAAAWAAACywAAAF0A/////AAAABYAAAToAAAAAAD////8AQAAAAL8AAAAVAAAAgIAAAAAAP////r/////AgAAAAL7AAAALABCAGwAbwBjAGsAcwBEAG8AYwBrAFMAdABhAHQAZQBzAFcAaQBkAGcAZQB0AAAAAAD/////AAAAFgD////7AAAAIgBGAG8AaQBsAEUAZABpAHQAbwByAFIAbwBuAGQAdQByAGUAAAAAFgAABJYAAABdAP////sAAAAkAEYAbwBpAGwARQBkAGkAdABvAHIAUwBlAGMAdABpAG8AbgBzAAAAAssAAAIzAAABLAD////7AAAAGgBGAG8AaQBsAEUAZABpAHQAbwByAEcASwBmAAAAAHwAAAINAAAAXQD////7AAAAGABCAGwAbwBjAGsAcwBXAGkAZABnAGUAdAAAAAB3AAAESgAAABYA////AAAAAQAAAHkAAART/AIAAAAF+wAAABwAQwBoAGEAbgBuAGUAbABzAFcAaQBkAGcAZQB0AAAAAW4AAAPqAAAAFgD////7AAAAJABGAG8AaQBsAEUAZABpAHQAbwByAEMAbwBtAGIAaQBuAGUAZAAAAAB3AAAESgAAAF0A////+wAAACwAQgBsAG8AYwBrAHMARABvAGMAawBGAG8AcgBjAGUAcwBXAGkAZABnAGUAdAAAAADpAAACAwAAABYA////+wAAAB4ARgBvAGkAbABFAGQAaQB0AG8AcgBUAHcAaQBzAHQAAAAApQAAAeMAAAB1AP////wAAAAWAAAEUwAAAAAA////+v////8BAAAAAvsAAAAsAEIAbABvAGMAawBzAEQAbwBjAGsATQBhAHMAcwBlAHMAVwBpAGQAZwBlAHQAAAAAAP////8AAABQAP////sAAAA2AEIAbABvAGMAawBzAEQAbwBjAGsAQwBvAG4AcwB0AHIAYQBpAG4AdABzAFcAaQBkAGcAZQB0AAAAB6gAAAJYAAAAUAD///8AAAACAAAE/gAAANP8AQAAAAL7AAAAJABHAHIAYQBwAGgAaQBjAHMARABvAGMAawBXAGkAZABnAGUAdAAAAAM5AAABxQAAAFAA////+wAAADIARwByAGEAcABoAGkAYwBzAEMAbwBtAG0AYQBuAGQARABvAGMAawBXAGkAZABnAGUAdAAAAAKBAAACfQAAAFAA////AAAAAwAABP4AAADr/AEAAAAE/AAAAAAAAAT+AAAAUAD////8AgAAAAL7AAAAIgBDAG8AbQBtAGEAbgBkAEQAbwBjAGsAVwBpAGQAZwBlAHQBAAAEbQAAAOsAAACIAP////sAAAAoAEYAbwBpAGwARQBkAGkAdABvAHIARgBvAGkAbABIAG8AbABkAGUAcgAAAAT5AAAAXwAAAF8A////+wAAACIAUgBlAHMAdQBsAHQAcwBEAG8AYwBrAFcAaQBkAGcAZQB0AAAAAAAAAAT6AAAAUAD////7AAAAGABGAG8AaQBsAEUAZABpAHQAbwByAEUASQAAAACiAAAEWAAAAjMA////+wAAABQARABhAHQAYQBWAGkAZQB3AGUAcgAAAAbLAAADNQAAAAAAAAAAAAAE/gAABFMAAAAEAAAABAAAAAgAAAAI/AAAAAA="; that.tictoc = 0; that.lastTicToc = 0; that.preUpdate = function(callType) { if (callType & G.CallTypes.DYNAMICS_INIT) { Host.unMinimizeWindow(); Host.restoreWindowLayoutFromBase64Tuple(that.leftLayout); } if ( (callType & G.CallTypes.DYNAMICS_MAJOR) || (callType & G.CallTypes.DYNAMICS_MINOR)) { if (Z("Time") - that.lastTicToc > 2) { // change layout every two seconds that.lastTicToc = Z("Time"); that.tictoc+=1.0; if (that.tictoc % 3 == 0) { // state 1 --> minimized Host.minimizeWindow(); } if (that.tictoc % 3 == 1) { // state 2 --> left of screen Host.unMinimizeWindow(); Host.restoreWindowLayoutFromBase64Tuple(that.leftLayout); } if (that.tictoc % 3 == 2) { // state 3 --> right of screen Host.unMinimizeWindow(); Host.restoreWindowLayoutFromBase64Tuple(that.rightLayout); } } } }; return that; }(spec)); return R; })