Skip to content

Commit

Permalink
Add tiled wm
Browse files Browse the repository at this point in the history
  • Loading branch information
radare committed Jan 18, 2014
1 parent 942bbfa commit 71d38bf
Show file tree
Hide file tree
Showing 6 changed files with 770 additions and 0 deletions.
2 changes: 2 additions & 0 deletions shlr/www/t/Makefile
@@ -0,0 +1,2 @@
all:
r2 -e http.root=$$PWD -qc=H /bin/ls
20 changes: 20 additions & 0 deletions shlr/www/t/index.html
@@ -0,0 +1,20 @@
<html>
<meta charset="utf-8"> </meta>
<link rel=Stylesheet href="style.css" type="text/css" />
<script src="tiled.js"></script>
<script src="r2.js"></script>
<script src="main.js"></script>
<body id=body>
<div id="canvas" class='canvas'>
<div style="right:15px;position:absolute;">
<a style='text-decoration:none' href='#' id='add-column'>[|]</a>
<a style='text-decoration:none' href='#' id='add-row'>[-]</a>
<a style='text-decoration:none' href='#' id='maximize'>[^]</a>
<a style='text-decoration:none' href='#' id='maximize'>[v]</a>
</div>
&nbsp;
<a href='#'>File</a> Edit Analyze Help
</div>

</body>
</html>
114 changes: 114 additions & 0 deletions shlr/www/t/main.js
@@ -0,0 +1,114 @@

function newHexdumpFrame(name) {
// TODO: disas_code id
setTimeout (function () {
r2.cmd ("px 1024", function (x) {
document.getElementById(name+"_code").innerHTML="<pre>"+x+"</pre>";
});
}, 1);
return "<h2>Hexdump</h2>"
+"<div id='"+name+"_code' style='background-color:#304050;overflow:scroll;height:100%'></div>";
}

function newDisasmFrame(name) {
// TODO: disas_code id
setTimeout (function () {
r2.cmd ("pd 512", function (x) {
document.getElementById(name+"_code").innerHTML="<pre>"+x+"</pre>";
});
}, 1);
return "<h2>Disassembler</h2>"
+"<div id='"+name+"_code' style='background-color:#304050;overflow:scroll;height:100%'></div>";
}

function findPos(obj) {
var curleft = curtop = 0;
if (obj.offsetParent) {
curleft = obj.offsetLeft
curtop = obj.offsetTop
while (obj = obj.offsetParent) {
curleft += obj.offsetLeft
curtop += obj.offsetTop
}
}
return [curleft,curtop];
}

window.onload = function() {
var t = new Tiled ('canvas');
var ctr = 0;
_('add-column').onclick = function() {
ctr++;
t.new_frame ('disas'+ctr, "test", "right");
t.run();
}
_('add-row').onclick = function() {
ctr++;
t.new_frame ('disas'+ctr, "test", "bottom");
// t.frames[0].push (t.frames.pop ()[0]);
t.run();
}
t.new_frame ('hexdump', newHexdumpFrame ('hexdump'), function(obj) {
var code = _('hexdump_code');
if (code) {
var top = code.style.offsetTop;
var pos = findPos (code);
code.style.height = obj.offsetHeight - pos[1]+20;
code.style.width = obj.style.width - pos[0];
}
});
t.new_frame ('disas', newDisasmFrame ('disas'), function(obj) {
var code = _('disas_code');
if (code) {
var top = code.style.offsetTop;
var pos = findPos (code);
code.style.height = obj.offsetHeight - pos[1]+20;
code.style.width = obj.style.width - pos[0];
}
});
t.run();
window.onresize = function() {
t.run();
}

_('body').onkeyup = function (e) {
switch (e.keyCode) {
case 'x':
var n = t.defname ("hexdump");
t.new_frame (n, newHexdumpFrame (n), function(obj) {
var code = _(n+'code');
if (code) {
var top = code.style.offsetTop;
var pos = findPos (code);
code.style.height = obj.offsetHeight - pos[1]+20;
code.style.width = obj.style.width - pos[0];
}
});
break;
case 'd':
var n = t.defname ('disas');
t.new_frame (n, newDisasmFrame (n), function(obj) {
var code = _(n+'_code');
if (code) {
var top = code.style.offsetTop;
var pos = findPos (code);
code.style.height = obj.offsetHeight - pos[1]+20;
code.style.width = obj.style.width - pos[0];
}
});
break;
case 'h': t.move_frame ('left'); break;
case 'j': t.move_frame ('down'); break;
case 'k': t.move_frame ('up'); break;
case 'l': t.move_frame ('right'); break;
case 'i':
r2.cmd ("pi 2", function(x){alert(x);});
break;
case '!':
r2.cmd (prompt("Command to execute"), function(x){alert(x);});
break;

}
//r2.cmd ("pi 2", alert);
}
}

0 comments on commit 71d38bf

Please sign in to comment.