| Index: third_party/lcov/contrib/galaxy/posterize.pl
|
| ===================================================================
|
| --- third_party/lcov/contrib/galaxy/posterize.pl (revision 0)
|
| +++ third_party/lcov/contrib/galaxy/posterize.pl (revision 0)
|
| @@ -0,0 +1,312 @@
|
| +#!/usr/bin/perl
|
| +#
|
| +# Copyright (c) International Business Machines Corp., 2002
|
| +#
|
| +# This program is free software; you can redistribute it and/or modify
|
| +# it under the terms of the GNU General Public License as published by
|
| +# the Free Software Foundation; either version 2 of the License, or (at
|
| +# your option) any later version.
|
| +#
|
| +# This program is distributed in the hope that it will be useful, but
|
| +# WITHOUT ANY WARRANTY; without even the implied warranty of
|
| +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
| +# General Public License for more details.
|
| +#
|
| +# You should have received a copy of the GNU General Public License
|
| +# along with this program; if not, write to the Free Software
|
| +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
| +#
|
| +#
|
| +# posterize.pl
|
| +#
|
| +# This script generates a postscript file from output generated from the
|
| +# fcgp http://sourceforge.net/projects/fcgp/ for plotting
|
| +#
|
| +#
|
| +# History:
|
| +# 2003-09-04 wrote - James M Kenefick Jr. <jkenefic@us.ibm.com>
|
| +#
|
| +
|
| +
|
| +
|
| +# a good deal of this could be turned in to cli
|
| +# arguments.
|
| +
|
| +# Constants
|
| +my $Title = "Linux Kernel Coverage";
|
| +my $KernelVersion = "2.5.73";
|
| +my $TestDescription = "A Sample Print";
|
| +my $Image = "../lgp/image.ps";
|
| +
|
| +# Variables
|
| +my $Bounds = "";
|
| +# Paper sizes in inches
|
| +my $PAPER_WIDTH = 34;
|
| +my $PAPER_HEIGHT = 42;
|
| +
|
| +# points per inch
|
| +my $ppi = 72;
|
| +
|
| +# Margins
|
| +my $TopMargin = 1;
|
| +my $BottomMargin = 1.5;
|
| +my $LeftMargin = 1;
|
| +my $RightMargin = 1;
|
| +
|
| +
|
| +$RightMargin = $PAPER_WIDTH - $RightMargin;
|
| +$TopMargin = $PAPER_HEIGHT - $TopMargin;
|
| +
|
| +my $filename = "poster.ps";
|
| +
|
| +# Sizes in ppi
|
| +my $PPI_WIDTH = ($PAPER_WIDTH * $ppi);
|
| +my $PPI_HEIGHT = ($PAPER_HEIGHT * $ppi);
|
| +
|
| +# Date we create poster
|
| +my $date = `date`;
|
| +
|
| +print STDERR "Creating Poster\n";
|
| +
|
| +open POSTER, ">$filename";
|
| +
|
| +
|
| +
|
| +print(POSTER <<END_OF_USAGE);
|
| +%!PS-Adobe-1.0
|
| +%%DocumentFonts: Helvetica Helvetica-Bold
|
| +%%Title: Linux 2.4.0 Kernel Poster
|
| +%%Creator: Rusty's scripts and postersize (GPL)
|
| +%%CreationDate: $date
|
| +%%Pages: 1
|
| +%%BoundingBox: 0 0 $PPI_WIDTH $PPI_HEIGHT
|
| +%%EndComments
|
| +%!
|
| +/PRorig_showpage_x178313 /showpage load def /showpage{
|
| + errordict /handleerror {} put
|
| + }def
|
| +/initgraphics{}def/setpagedevice{pop}def
|
| +statusdict begin /a4tray{}def /lettertray{}def end
|
| +/a4{}def/a3{}def/a0{}def/letter{}def/legal{}def
|
| +/a4small{}def /lettersmall{}def /a4tray{}def /lettertray{}def
|
| +/setscreen{pop pop pop}def
|
| +/ColorManagement {pop} def
|
| +
|
| +
|
| +/A {gsave newpath 0 360 arc stroke grestore} bind def
|
| +/M {moveto} bind def
|
| +/L {lineto} bind def
|
| +/D {[] 0 setdash} bind def
|
| +/D5 {[5] 0 setdash} bind def
|
| +/C0 {0 0 0 setrgbcolor} bind def
|
| +/C1 {.8 .4 .4 setrgbcolor} bind def
|
| +/C2 {.5 1 .5 setrgbcolor} bind def
|
| +/C3 {0 .7 0 setrgbcolor} bind def
|
| +/C4 {1 0 0 setrgbcolor} bind def
|
| +/C5 {0 0 1 setrgbcolor} bind def
|
| +/R {grestore} bind def
|
| +/S {0 0 M stroke} bind def
|
| +/T {gsave translate} bind def
|
| +/U {C0 newpath 4 copy 4 2 roll 8 7 roll M L L L closepath stroke
|
| +C1 findfont exch scalefont setfont M show} bind def
|
| +
|
| +% Added James M Kenefick Jr.
|
| +/Hi_Color {0 0 1} def
|
| +/Med_Color {0 .60 1} def
|
| +/Lo_Color {0 1 1} def
|
| +/None_Color {.75 .75 .75} def
|
| +/Hi {newpath 4 copy 4 2 roll 8 7 roll M L L L Hi_Color setrgbcolor fill closepath} bind def
|
| +/Med {newpath 4 copy 4 2 roll 8 7 roll M L L L Med_Color setrgbcolor fill closepath} bind def
|
| +/Lo {newpath 4 copy 4 2 roll 8 7 roll M L L L Lo_Color setrgbcolor fill closepath} bind def
|
| +/None {newpath 4 copy 4 2 roll 8 7 roll M L L L None_Color setrgbcolor fill closepath} bind def
|
| +
|
| +/inch
|
| +{
|
| + 72 mul
|
| +}
|
| +def
|
| +
|
| +/LeftMargin $LeftMargin inch def
|
| +/RightMargin $RightMargin inch def
|
| +/TopMargin $TopMargin inch def
|
| +/BottomMargin $BottomMargin inch def
|
| +/FontScale 25 def
|
| +/AuthorFontScale 70 def
|
| +
|
| +/centerText
|
| +{
|
| + dup
|
| + stringwidth pop
|
| + 2 div
|
| + RightMargin LeftMargin sub 2 div
|
| + exch sub
|
| + LeftMargin add
|
| + NextLine moveto
|
| + show
|
| +}
|
| +def
|
| +
|
| +/upLine
|
| +{
|
| + /NextLine
|
| + NextLine LineSpace2 add
|
| + def
|
| +}
|
| +def
|
| +
|
| +/advanceLine
|
| +{
|
| + /NextLine
|
| + NextLine LineSpace sub
|
| + def
|
| +}
|
| +def
|
| +
|
| +/fontScale
|
| +{
|
| + TopMargin BottomMargin sub FontScale div
|
| +}
|
| +def
|
| +
|
| +/authorfontScale
|
| +{
|
| + TopMargin BottomMargin sub AuthorFontScale div
|
| +}
|
| +def
|
| +
|
| +/rightJustify
|
| +{
|
| + dup
|
| + stringwidth pop
|
| + RightMargin 1 inch sub
|
| + exch sub
|
| + NextLine moveto
|
| + show
|
| +}
|
| +def
|
| +
|
| +/usableY
|
| +{
|
| + TopMargin LineSpace 3 mul sub BottomMargin sub
|
| +}
|
| +def
|
| +
|
| +/usableX
|
| +{
|
| + RightMargin LeftMargin sub
|
| +}
|
| +def
|
| +gsave
|
| +/Times-Roman findfont fontScale scalefont setfont
|
| +/LineSpace fontScale def
|
| +/NextLine (B) stringwidth pop TopMargin exch sub def
|
| +
|
| +%%EndProlog
|
| +%%Page 1
|
| +% title
|
| +
|
| +($Title) centerText advanceLine
|
| +(Kernel: $KernelVersion) centerText advanceLine
|
| +($TestDescription) centerText
|
| +
|
| +% Author Block
|
| +LeftMargin BottomMargin translate
|
| +/Times-Roman findfont authorfontScale scalefont setfont
|
| +/LineSpace2 authorfontScale def
|
| +/NextLine 0 def
|
| +(Based on work by Rusty Russell, Christian Reiniger) rightJustify
|
| +upLine
|
| +(By James M. Kenefick Jr.) rightJustify
|
| +
|
| +grestore
|
| +LeftMargin BottomMargin translate
|
| +
|
| +% Key Block
|
| +15 15 scale
|
| +% This is the key for the graph.
|
| +
|
| +/box { newpath moveto 0 1 rlineto 2 0 rlineto 0 -1 rlineto closepath } def
|
| +/key { setrgbcolor 2 copy box gsave fill grestore 0 0 0 setrgbcolor strokepath fill moveto 2.4 0.25 rmoveto show } def
|
| +
|
| +/Helvetica-Oblique findfont
|
| +1 scalefont setfont
|
| +0.1 setlinewidth
|
| +
|
| +(static functions) 1 5 0.5 1 0.5 key % Light green.
|
| +(indirectly called functions) 1 7 0 0.7 0 key % green
|
| +(exported functions) 1 9 1 0 0 key % red
|
| +(other functions) 1 11 0 0 1 key % blue
|
| +
|
| +(Low Coverage) 1 15 Lo_Color key % blue
|
| +(Medium Coverage) 1 17 Med_Color key % blue
|
| +(Hi Coverage) 1 19 Hi_Color key % blue
|
| +(No Coverage) 1 21 None_Color key % blue
|
| +1 3.25 moveto
|
| +0.8 0.4 0.4 setrgbcolor
|
| +/Helvetica findfont
|
| +1 scalefont setfont
|
| +(xxx) show
|
| +1 3 moveto
|
| +2.4 0.25 rmoveto
|
| +0 0 0 setrgbcolor
|
| +/Helvetica-Oblique findfont
|
| +1 scalefont setfont
|
| +(function name) show
|
| +
|
| +1 1.25 moveto
|
| +0.8 0.4 0.4 setrgbcolor
|
| +/Helvetica-Bold findfont
|
| +1 scalefont setfont
|
| +(xxx) show
|
| +1 1 moveto
|
| +2.4 0.25 rmoveto
|
| +0 0 0 setrgbcolor
|
| +/Helvetica-Oblique findfont
|
| +1 scalefont setfont
|
| +(source filename) show
|
| +
|
| +6 24 moveto
|
| +/Helvetica-Bold findfont
|
| +2 scalefont setfont
|
| +(Key) show
|
| +
|
| +% Box around it
|
| +newpath
|
| +0.2 0.2 moveto
|
| +0.2 27 lineto
|
| +17 27 lineto
|
| +17 0.2 lineto
|
| +closepath
|
| +strokepath fill
|
| +
|
| +
|
| +1 15 div 1 15 div scale
|
| +
|
| +% find and move to center
|
| +END_OF_USAGE
|
| +
|
| +# Find the bounds for the image
|
| +
|
| +$Bounds = `tail -1 $Image`;
|
| +($Junk, $Junk, $minX, $minY, $maxX, $maxY) = split / /, $Bounds;
|
| +
|
| +my $xRange = $maxX - $minX;
|
| +my $yRange = $maxY - $minY;
|
| +
|
| +if ($xRange < $yRange){
|
| + $Range = $xRange;
|
| +} else {
|
| + $Range = $yRange;
|
| +}
|
| +print POSTER " 0 usableY usableX sub 2 div translate\n";
|
| +print POSTER "usableX $Range div usableX $Range div scale\n";
|
| +print POSTER "$Range 2 div $Range 2 div translate\n";
|
| +print POSTER "gsave\n";
|
| +# Paste in actual image.
|
| +print POSTER `cat /home/lgp/image.ps`;
|
| +print POSTER "%%Trailer\n";
|
| +print POSTER "grestore\n";
|
| +print POSTER "showpage\n";
|
| +print POSTER "PRorig_showpage_x178313\n";
|
| +print POSTER "/showpage /PRorig_showpage_x178313 load def\n";
|
| +
|
|
|
| Property changes on: third_party/lcov/contrib/galaxy/posterize.pl
|
| ___________________________________________________________________
|
| Name: svn:executable
|
| + *
|
|
|
|
|