aboutsummaryrefslogtreecommitdiffstats
path: root/tools/colorfilters2js.pl
blob: 5e6548c6bb5df06c9ee9e8784fc7b9316acc91d7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/env perl
#
# perl program to convert a Wireshark color scheme to javascript
# code. The javascript function should then be inserted into the
# pdml2html.xsl file.
#
# run this as: perl tools/colorfilters2js.pl colorfilters

print<<'EOF';
function set_node_color(node,colorname)
{
  if(dojo.isString(node))
    node = dojo.byId(node);
  if(!node) return;
  var fg;
  var bg;
EOF

my $elseflow = "";

while(<>)
{
    if(/\@(.+?)\@.+\[(\d+),(\d+),(\d+)\]\[(\d+),(\d+),(\d+)\]/)
    {
	print "  " . $elseflow . "if (colorname == '$1') {\n";
	printf("    bg='#%02x%02x%02x';\n", $2/256, $3/256, $4/256);
	printf("    fg='#%02x%02x%02x';\n", $5/256, $6/256, $7/256);
	print "  }\n";
    }
    $elseflow = "else ";
}

print<<'EOF';
  if(fg.length > 0)
    node.style.color = fg;
  if(bg.length > 0)
    node.style.background = bg;
}
EOF

exit 0;