Merge branch 'master' of https://github.com/andreasgal/pdf.js.git into issue-356-b

This commit is contained in:
notmasteryet 2011-08-23 18:56:30 -05:00
commit f97a4eede8
9 changed files with 1269 additions and 68 deletions

47
pdf.js
View File

@ -3397,6 +3397,9 @@ var Page = (function() {
TODO('other link types');
break;
}
} else if (annotation.has('Dest')) {
// simple destination link
link.dest = annotation.get('Dest').name;
}
links.push(link);
}
@ -3437,9 +3440,10 @@ var Catalog = (function() {
return str;
}
var obj = this.catDict.get('Outlines');
var xref = this.xref;
var root = { items: [] };
if (IsRef(obj)) {
obj = this.xref.fetch(obj).get('First');
obj = xref.fetch(obj).get('First');
var processed = new RefSet();
if (IsRef(obj)) {
var queue = [{obj: obj, parent: root}];
@ -3448,14 +3452,18 @@ var Catalog = (function() {
processed.put(obj);
while (queue.length > 0) {
var i = queue.shift();
var outlineDict = this.xref.fetch(i.obj);
var outlineDict = xref.fetch(i.obj);
if (!outlineDict.has('Title'))
error('Invalid outline item');
var dest = outlineDict.get('Dest');
if (!dest && outlineDict.get('A')) {
var a = this.xref.fetchIfRef(outlineDict.get('A'));
dest = a.get('D');
var dest = outlineDict.get('A');
if (dest)
dest = xref.fetchIfRef(dest).get('D');
else if (outlineDict.has('Dest')) {
dest = outlineDict.get('Dest');
if (IsName(dest))
dest = dest.name;
}
var outlineItem = {
dest: dest,
title: convertIfUnicode(outlineDict.get('Title')),
@ -3479,7 +3487,8 @@ var Catalog = (function() {
}
}
}
return shadow(this, 'documentOutline', root);
obj = root.items.length > 0 ? root.items : null;
return shadow(this, 'documentOutline', obj);
},
get numPages() {
var obj = this.toplevelPagesDict.get('Count');
@ -3513,15 +3522,25 @@ var Catalog = (function() {
},
get destinations() {
var xref = this.xref;
var dests = {}, nameTreeRef, nameDictionaryRef;
var obj = this.catDict.get('Names');
obj = obj ? xref.fetch(obj) : this.catDict;
obj = obj.get('Dests');
var dests = {};
if (obj) {
if (obj)
nameTreeRef = xref.fetch(obj).get('Dests');
else if(this.catDict.has('Dests'))
nameDictionaryRef = this.catDict.get('Dests');
if (nameDictionaryRef) {
// reading simple destination dictionary
obj = xref.fetch(nameDictionaryRef);
obj.forEach(function(key, value) {
dests[key] = xref.fetch(value).get('D');
});
}
if (nameTreeRef) {
// reading name tree
var processed = new RefSet();
processed.put(obj);
var queue = [obj];
processed.put(nameTreeRef);
var queue = [nameTreeRef];
while (queue.length > 0) {
var i, n;
obj = xref.fetch(queue.shift());
@ -4776,7 +4795,7 @@ var CanvasGraphics = (function() {
var scaleFactorX = 1, scaleFactorY = 1;
var font = this.current.font;
if (font) {
if (this.current.fontSize < kRasterizerMin) {
if (this.current.fontSize <= kRasterizerMin) {
scaleFactorX = scaleFactorY = kScalePrecision;
ctx.scale(1 / scaleFactorX, 1 / scaleFactorY);
}

View File

@ -0,0 +1,532 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
sodipodi:docname="document-print.svg"
sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
inkscape:version="0.46"
sodipodi:version="0.32"
id="svg2994"
height="48px"
width="48px"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs3">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 24 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="48 : 24 : 1"
inkscape:persp3d-origin="24 : 16 : 1"
id="perspective84" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient5060"
id="radialGradient5031"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
cx="605.71429"
cy="486.64789"
fx="605.71429"
fy="486.64789"
r="117.14286" />
<linearGradient
inkscape:collect="always"
id="linearGradient5060">
<stop
style="stop-color:black;stop-opacity:1;"
offset="0"
id="stop5062" />
<stop
style="stop-color:black;stop-opacity:0;"
offset="1"
id="stop5064" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient5060"
id="radialGradient5029"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
cx="605.71429"
cy="486.64789"
fx="605.71429"
fy="486.64789"
r="117.14286" />
<linearGradient
id="linearGradient5048">
<stop
style="stop-color:black;stop-opacity:0;"
offset="0"
id="stop5050" />
<stop
id="stop5056"
offset="0.5"
style="stop-color:black;stop-opacity:1;" />
<stop
style="stop-color:black;stop-opacity:0;"
offset="1"
id="stop5052" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5048"
id="linearGradient5027"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
x1="302.85715"
y1="366.64789"
x2="302.85715"
y2="609.50507" />
<linearGradient
inkscape:collect="always"
id="linearGradient7612">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop7614" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop7616" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient7612"
id="radialGradient7618"
cx="24.000000"
cy="41.875000"
fx="24.000000"
fy="41.875000"
r="19.125000"
gradientTransform="matrix(1.000000,0.000000,0.000000,0.333333,0.000000,27.91667)"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient4762">
<stop
style="stop-color:#ffffff;stop-opacity:0.12371134;"
offset="0.0000000"
id="stop4764" />
<stop
id="stop4768"
offset="0.10344828"
style="stop-color:#ffffff;stop-opacity:1.0000000;" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop4766" />
</linearGradient>
<linearGradient
id="linearGradient4741">
<stop
id="stop4743"
offset="0.0000000"
style="stop-color:#dcdcda;stop-opacity:1.0000000;" />
<stop
id="stop4745"
offset="1.0000000"
style="stop-color:#bab9b7;stop-opacity:1.0000000;" />
</linearGradient>
<linearGradient
id="linearGradient4733">
<stop
id="stop4735"
offset="0.0000000"
style="stop-color:#000000;stop-opacity:0.23711340;" />
<stop
id="stop4737"
offset="1"
style="stop-color:#000000;stop-opacity:0;" />
</linearGradient>
<linearGradient
id="linearGradient4698">
<stop
id="stop4700"
offset="0.0000000"
style="stop-color:#fffffd;stop-opacity:1.0000000;" />
<stop
style="stop-color:#bbbbb9;stop-opacity:1.0000000;"
offset="0.50000000"
id="stop4706" />
<stop
id="stop4702"
offset="1.0000000"
style="stop-color:#000000;stop-opacity:1.0000000;" />
</linearGradient>
<linearGradient
id="linearGradient4688">
<stop
id="stop4690"
offset="0.0000000"
style="stop-color:#666666;stop-opacity:1.0000000;" />
<stop
id="stop4692"
offset="1"
style="stop-color:#000000;stop-opacity:0;" />
</linearGradient>
<linearGradient
id="linearGradient4680"
inkscape:collect="always">
<stop
id="stop4682"
offset="0"
style="stop-color:#f7f6f5;stop-opacity:1;" />
<stop
id="stop4684"
offset="1"
style="stop-color:#f7f6f5;stop-opacity:0;" />
</linearGradient>
<linearGradient
id="linearGradient4668">
<stop
id="stop4670"
offset="0"
style="stop-color:#8e8d87;stop-opacity:1;" />
<stop
style="stop-color:#cbc9c1;stop-opacity:1.0000000;"
offset="0.27586207"
id="stop4676" />
<stop
id="stop4672"
offset="1.0000000"
style="stop-color:#8e8d87;stop-opacity:1.0000000;" />
</linearGradient>
<linearGradient
id="linearGradient259">
<stop
id="stop260"
offset="0.0000000"
style="stop-color:#e0e0e0;stop-opacity:1.0000000;" />
<stop
style="stop-color:#ffffff;stop-opacity:1.0000000;"
offset="0.40546969"
id="stop4886" />
<stop
style="stop-color:#cdcdcd;stop-opacity:1.0000000;"
offset="0.53448278"
id="stop4884" />
<stop
id="stop261"
offset="1.0000000"
style="stop-color:#494949;stop-opacity:1.0000000;" />
</linearGradient>
<linearGradient
id="linearGradient15662">
<stop
id="stop15664"
offset="0.0000000"
style="stop-color:#ffffff;stop-opacity:0.0000000;" />
<stop
id="stop15666"
offset="1.0000000"
style="stop-color:#f8f8f8;stop-opacity:1.0000000;" />
</linearGradient>
<radialGradient
r="2.1227016"
fy="26.925594"
fx="9.1295490"
cy="26.925594"
cx="9.1295490"
gradientUnits="userSpaceOnUse"
id="radialGradient1433"
xlink:href="#linearGradient4698"
inkscape:collect="always" />
<linearGradient
y2="72.064316"
x2="9.9128132"
y1="57.227650"
x1="9.8698082"
gradientTransform="matrix(2.772086,0.000000,0.000000,0.360739,0.618718,2.883883)"
gradientUnits="userSpaceOnUse"
id="linearGradient1447"
xlink:href="#linearGradient4733"
inkscape:collect="always" />
<linearGradient
y2="54.136139"
x2="10.338233"
y1="64.652260"
x1="10.338233"
gradientTransform="matrix(2.369844,0.000000,0.000000,0.421969,0.000000,2.000000)"
gradientUnits="userSpaceOnUse"
id="linearGradient1451"
xlink:href="#linearGradient4680"
inkscape:collect="always" />
<linearGradient
y2="62.282467"
x2="9.7052784"
y1="70.724976"
x1="9.7316532"
gradientTransform="matrix(2.369844,0.000000,0.000000,0.421969,0.000000,2.000000)"
gradientUnits="userSpaceOnUse"
id="linearGradient1453"
xlink:href="#linearGradient4688"
inkscape:collect="always" />
<linearGradient
y2="19.337463"
x2="20.717800"
y1="25.140253"
x1="20.771229"
gradientTransform="matrix(1.198769,0,0,0.853565,-0.143086,2.034513)"
gradientUnits="userSpaceOnUse"
id="linearGradient1456"
xlink:href="#linearGradient15662"
inkscape:collect="always" />
<linearGradient
y2="25.247311"
x2="24.789707"
y1="3.6785457"
x1="25.056711"
gradientTransform="matrix(0.944939,0,0,1.076147,6.844577e-2,4.093177)"
gradientUnits="userSpaceOnUse"
id="linearGradient1459"
xlink:href="#linearGradient259"
inkscape:collect="always" />
<linearGradient
y2="58.831264"
x2="15.487823"
y1="32.539238"
x1="15.387969"
gradientTransform="matrix(1.490161,0,0,0.668741,8.895132e-2,2)"
gradientUnits="userSpaceOnUse"
id="linearGradient1464"
xlink:href="#linearGradient4762"
inkscape:collect="always" />
<linearGradient
y2="88.294930"
x2="18.972126"
y1="88.294930"
x1="1.8456430"
gradientTransform="matrix(2.291824,0,0,0.434269,8.855179e-2,2)"
gradientUnits="userSpaceOnUse"
id="linearGradient1468"
xlink:href="#linearGradient4741"
inkscape:collect="always" />
<linearGradient
y2="88.294933"
x2="18.972126"
y1="88.294933"
x1="1.8456431"
gradientTransform="matrix(2.30272,0,0,0.437918,0,0.584034)"
gradientUnits="userSpaceOnUse"
id="linearGradient1471"
xlink:href="#linearGradient4668"
inkscape:collect="always" />
</defs>
<sodipodi:namedview
inkscape:window-y="160"
inkscape:window-x="331"
inkscape:window-height="688"
inkscape:window-width="872"
inkscape:guide-bbox="true"
showguides="true"
inkscape:document-units="px"
inkscape:grid-bbox="true"
showgrid="false"
inkscape:current-layer="layer1"
inkscape:cy="-18.264187"
inkscape:cx="-72.591911"
inkscape:zoom="1"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
borderopacity="0.090196078"
bordercolor="#666666"
pagecolor="#ffffff"
id="base"
inkscape:showpageshadow="false"
fill="#729fcf" />
<metadata
id="metadata4">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>Print Document</dc:title>
<dc:creator>
<cc:Agent>
<dc:title>Jakub Steiner</dc:title>
</cc:Agent>
</dc:creator>
<cc:license
rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
<dc:source>http://jimmac.musichall.cz</dc:source>
<dc:subject>
<rdf:Bag>
<rdf:li>document</rdf:li>
<rdf:li>lpr</rdf:li>
<rdf:li>print</rdf:li>
<rdf:li>local</rdf:li>
<rdf:li>laser</rdf:li>
<rdf:li>bubblejet</rdf:li>
<rdf:li>inkjet</rdf:li>
<rdf:li>print</rdf:li>
<rdf:li>output</rdf:li>
<rdf:li>cups</rdf:li>
<rdf:li>lpd</rdf:li>
</rdf:Bag>
</dc:subject>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/publicdomain/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
inkscape:label="Layer 1"
id="layer1">
<g
style="display:inline"
id="g5022"
transform="matrix(2.411405e-2,0,0,1.929202e-2,45.48953,39.75228)">
<rect
y="-150.69685"
x="-1559.2523"
height="478.35718"
width="1339.6335"
id="rect4173"
style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
<path
sodipodi:nodetypes="cccc"
id="path5058"
d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
<path
style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
id="path5018"
sodipodi:nodetypes="cccc" />
</g>
<rect
ry="1.7115477"
rx="1.7115483"
y="36.004189"
x="4.75"
height="6.4915943"
width="38.4375"
id="rect4652"
style="fill:url(#linearGradient1471);fill-opacity:1;stroke:#595959;stroke-width:0.99999982;stroke-miterlimit:4;stroke-opacity:1" />
<path
sodipodi:nodetypes="cssssssssssss"
id="rect4609"
d="M 7.1308961,21.5 L 40.870615,21.5 C 41.255661,21.5 41.747648,21.788155 42.051049,22.223919 C 42.354451,22.659684 43.787518,24.83394 44.109448,25.297964 C 44.431378,25.761987 44.502397,26.201852 44.502397,26.774049 L 44.502397,38.850951 C 44.502397,39.764524 43.770402,40.5 42.861152,40.5 L 5.1403596,40.5 C 4.2311094,40.5 3.4991138,39.764524 3.4991138,38.850951 L 3.4991138,26.774049 C 3.4991138,26.280031 3.6002798,25.571641 3.9455202,25.120718 C 4.3811666,24.551713 5.5498664,22.57277 5.8581276,22.153118 C 6.1663887,21.733467 6.7324461,21.5 7.1308961,21.5 z "
style="color:#000000;fill:url(#linearGradient1468);fill-opacity:1;fill-rule:nonzero;stroke:#676767;stroke-width:1.00000036;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
<path
sodipodi:nodetypes="cssssssss"
id="path4718"
d="M 7.705278,21.975532 C 7.20729,21.975532 6.5669691,22.107308 6.3043987,22.511224 L 4.4657443,25.339651 C 4.169761,25.794966 4.4993705,26.868141 5.3900051,26.868141 L 42.678553,26.868141 C 43.883282,26.868141 43.8868,25.858073 43.602814,25.428039 L 41.851714,22.776389 C 41.534204,22.295589 41.418956,21.975532 40.625945,21.975532 L 7.705278,21.975532 z "
style="fill:#fbfbfb;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
style="color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient1464);stroke-width:0.94696701;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 7.6002951,22.445756 L 40.374658,22.445756 C 40.739745,22.445756 41.206233,22.718629 41.493909,23.131283 C 41.781585,23.543938 42.788049,25.160945 43.093293,25.60036 C 43.398536,26.039775 43.528159,26.456312 43.528159,26.998164 L 43.528159,38.279261 C 43.528159,39.144385 43.394653,39.528356 42.532529,39.528356 L 5.530506,39.528356 C 4.6683828,39.528356 4.472593,39.144385 4.472593,38.279261 L 4.472593,26.998164 C 4.472593,26.530345 4.6930819,25.859523 5.0204282,25.432514 C 5.4334949,24.893685 6.1012112,23.461633 6.393495,23.064237 C 6.6857789,22.666841 7.222497,22.445756 7.6002951,22.445756 z "
id="path4750"
sodipodi:nodetypes="cssssssssssss" />
<path
sodipodi:nodetypes="ccccccc"
id="rect15391"
d="M 11.68177,4.4977642 L 36.313839,4.4977642 C 36.964072,4.4977642 37.487546,5.007949 37.487546,5.6416762 L 37.487546,24.348117 L 10.508063,24.348117 L 10.508063,5.6416762 C 10.508063,5.007949 11.031536,4.4977642 11.68177,4.4977642 z "
style="color:#000000;fill:url(#linearGradient1459);fill-opacity:1;fill-rule:nonzero;stroke:#898989;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
<rect
style="color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient1456);stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
id="rect15660"
width="25.000576"
height="18.836374"
x="11.498513"
y="5.4992466"
ry="0.17677675"
rx="0.17677672" />
<rect
ry="1.7115483"
rx="1.7115483"
y="27.375000"
x="6.8750000"
height="5.1875000"
width="33.750000"
id="rect4678"
style="fill:url(#linearGradient1451);fill-opacity:1.0000000;stroke:url(#linearGradient1453);stroke-width:1.0000000;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000" />
<path
transform="translate(0.000000,2.000000)"
d="M 10.871767 27.626486 A 1.2816310 1.2816310 0 1 1 8.3085046,27.626486 A 1.2816310 1.2816310 0 1 1 10.871767 27.626486 z"
sodipodi:ry="1.2816310"
sodipodi:rx="1.2816310"
sodipodi:cy="27.626486"
sodipodi:cx="9.5901356"
id="path4696"
style="fill:url(#radialGradient1433);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
sodipodi:type="arc" />
<path
sodipodi:nodetypes="csscssssc"
id="path4731"
d="M 11.743718,25.416053 L 37.306218,25.478553 C 37.993716,25.480234 38.294038,25.107558 38.243718,24.478553 L 38.118718,22.916053 L 39.984835,22.916053 C 40.797335,22.916053 40.975035,23.108616 41.172335,23.478553 L 41.672335,24.416053 C 42.199130,25.403793 43.483508,26.390165 42.170495,26.390165 C 37.667784,26.390165 13.993718,26.041053 11.743718,25.416053 z "
style="fill:url(#linearGradient1447);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;opacity:0.36571429" />
<path
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
d="M 42.9375,26.5 L 4.8125,26.5"
id="path4760"
sodipodi:nodetypes="cc" />
<g
transform="translate(0.000000,2.000000)"
style="opacity:0.43575415"
id="g4849">
<rect
style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
id="rect4831"
width="19.000000"
height="1.0000000"
x="14.000000"
y="5.0000000" />
<rect
y="7.0000000"
x="14.000000"
height="1.0000000"
width="19.000000"
id="rect4833"
style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
<rect
style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
id="rect4835"
width="19.000000"
height="1.0000000"
x="14.000000"
y="9.0000000" />
<rect
y="11.000000"
x="14.000000"
height="1.0000000"
width="19.000000"
id="rect4837"
style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
<rect
style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
id="rect4839"
width="11.000000"
height="1.0000000"
x="14.000000"
y="13.000000" />
</g>
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="arrow">
<path
sodipodi:nodetypes="cccccccc"
id="path8643"
d="M 21.02159,20.989431 L 27.989391,20.989431 L 27.989391,16.064984 L 31,16.064984 L 24.553756,8 L 17.435622,15.986875 L 21.023684,15.986875 L 21.02159,20.989431 z "
style="opacity:1;color:#000000;fill:#a7a7a7;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999958;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -2,16 +2,16 @@
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
sodipodi:docname="go-down.svg"
sodipodi:docbase="/home/tigert/cvs/freedesktop.org/tango-icon-theme/scalable/actions"
inkscape:version="0.43+devel"
inkscape:version="0.46"
sodipodi:version="0.32"
id="svg11300"
height="48px"
@ -22,6 +22,13 @@
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs3">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 24 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="48 : 24 : 1"
inkscape:persp3d-origin="24 : 16 : 1"
id="perspective24" />
<linearGradient
id="linearGradient1442">
<stop
@ -92,9 +99,9 @@
r="17.171415" />
</defs>
<sodipodi:namedview
inkscape:window-y="25"
inkscape:window-y="30"
inkscape:window-x="0"
inkscape:window-height="885"
inkscape:window-height="818"
inkscape:window-width="1280"
inkscape:showpageshadow="false"
inkscape:document-units="px"
@ -102,7 +109,7 @@
showgrid="false"
inkscape:current-layer="layer1"
inkscape:cy="23.239067"
inkscape:cx="30.291728"
inkscape:cx="15.972815"
inkscape:zoom="11.313708"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
@ -127,7 +134,7 @@
</dc:creator>
<dc:source>http://jimmac.musichall.cz</dc:source>
<cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
<dc:title>Go Down</dc:title>
<dc:subject>
<rdf:Bag>
@ -146,19 +153,13 @@
</dc:contributor>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
rdf:about="http://creativecommons.org/licenses/publicdomain/">
<cc:permits
rdf:resource="http://web.resource.org/cc/Reproduction" />
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://web.resource.org/cc/Distribution" />
<cc:requires
rdf:resource="http://web.resource.org/cc/Notice" />
<cc:requires
rdf:resource="http://web.resource.org/cc/Attribution" />
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
<cc:requires
rdf:resource="http://web.resource.org/cc/ShareAlike" />
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

@ -2,16 +2,16 @@
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
sodipodi:docname="go-up.svg"
sodipodi:docbase="/home/tigert/cvs/freedesktop.org/tango-icon-theme/scalable/actions"
inkscape:version="0.43+devel"
inkscape:version="0.46"
sodipodi:version="0.32"
id="svg11300"
height="48px"
@ -22,6 +22,13 @@
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs3">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 24 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="48 : 24 : 1"
inkscape:persp3d-origin="24 : 16 : 1"
id="perspective23" />
<linearGradient
id="linearGradient2304">
<stop
@ -92,9 +99,9 @@
r="15.644737" />
</defs>
<sodipodi:namedview
inkscape:window-y="25"
inkscape:window-y="30"
inkscape:window-x="0"
inkscape:window-height="885"
inkscape:window-height="818"
inkscape:window-width="1280"
inkscape:showpageshadow="false"
inkscape:document-units="px"
@ -102,7 +109,7 @@
showgrid="false"
inkscape:current-layer="layer1"
inkscape:cy="25.620377"
inkscape:cx="22.042915"
inkscape:cx="9.6380363"
inkscape:zoom="13.059378"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
@ -127,7 +134,7 @@
</dc:creator>
<dc:source>http://jimmac.musichall.cz</dc:source>
<cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
<dc:title>Go Up</dc:title>
<dc:subject>
<rdf:Bag>
@ -146,19 +153,13 @@
</dc:contributor>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
rdf:about="http://creativecommons.org/licenses/publicdomain/">
<cc:permits
rdf:resource="http://web.resource.org/cc/Reproduction" />
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://web.resource.org/cc/Distribution" />
<cc:requires
rdf:resource="http://web.resource.org/cc/Notice" />
<cc:requires
rdf:resource="http://web.resource.org/cc/Attribution" />
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
<cc:requires
rdf:resource="http://web.resource.org/cc/ShareAlike" />
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>

Before

Width:  |  Height:  |  Size: 8.0 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

202
web/images/nav-outline.svg Normal file
View File

@ -0,0 +1,202 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="48px"
height="48px"
id="svg3007"
version="1.1"
inkscape:version="0.48.1 r9760"
sodipodi:docname="nav-outline.svg">
<defs
id="defs3009">
<filter
inkscape:collect="always"
id="filter5333"
x="-0.16623206"
width="1.3324641"
y="-0.030014125"
height="1.0600282">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.47888561"
id="feGaussianBlur5335" />
</filter>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.945051"
inkscape:cx="20.614872"
inkscape:cy="23.423899"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:window-width="1440"
inkscape:window-height="773"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0" />
<metadata
id="metadata3012">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<rect
style="fill:#f0f0f0;fill-rule:evenodd;stroke:#808080;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;fill-opacity:1"
id="rect3783"
width="46.16272"
height="45.59861"
x="1.0341953"
y="0.99112236" />
<rect
style="fill:#404040;fill-opacity:1;stroke:none"
id="rect3787"
width="2.8205326"
height="2.7823999"
x="4.2307992"
y="4.093708" />
<rect
style="fill:#404040;fill-opacity:1;stroke:none"
id="rect5257"
width="24.68285"
height="1.4102663"
x="8.0855274"
y="4.657815" />
<rect
y="8.4185247"
x="8.4615984"
height="2.7823999"
width="2.8205326"
id="rect5259"
style="fill:#404040;fill-opacity:1;stroke:none" />
<rect
y="9.0766497"
x="12.410344"
height="1.4102663"
width="30.498053"
id="rect5261"
style="fill:#404040;fill-opacity:1;stroke:none" />
<rect
style="fill:#404040;fill-opacity:1;stroke:none"
id="rect5263"
width="2.8205326"
height="2.7823999"
x="8.4615984"
y="13.307448" />
<rect
style="fill:#404040;fill-opacity:1;stroke:none"
id="rect5265"
width="24.972752"
height="1.4102663"
x="12.410344"
y="13.965573" />
<rect
y="17.444229"
x="4.3248172"
height="2.7823999"
width="2.8205326"
id="rect5267"
style="fill:#404040;fill-opacity:1;stroke:none" />
<rect
y="18.008337"
x="8.1795454"
height="1.4102663"
width="25.101433"
id="rect5269"
style="fill:#404040;fill-opacity:1;stroke:none" />
<rect
style="fill:#404040;fill-opacity:1;stroke:none"
id="rect5271"
width="2.8205326"
height="2.7823999"
x="8.5556164"
y="21.769047" />
<rect
style="fill:#404040;fill-opacity:1;stroke:none"
id="rect5273"
width="28.782515"
height="1.4102663"
x="12.880433"
y="22.427172" />
<rect
y="26.65797"
x="13.475181"
height="2.7823999"
width="2.8205326"
id="rect5275"
style="fill:#404040;fill-opacity:1;stroke:none" />
<rect
y="27.316095"
x="17.479"
height="1.4102663"
width="23.681646"
id="rect5277"
style="fill:#404040;fill-opacity:1;stroke:none" />
<rect
style="fill:#404040;fill-opacity:1;stroke:none"
id="rect5279"
width="2.8205326"
height="2.7823999"
x="8.5130949"
y="31.006269" />
<rect
style="fill:#404040;fill-opacity:1;stroke:none"
id="rect5281"
width="24.557148"
height="1.4102663"
x="12.592034"
y="31.636858" />
<rect
y="35.464046"
x="13.475181"
height="2.7823999"
width="2.8205326"
id="rect5283"
style="fill:#404040;fill-opacity:1;stroke:none" />
<rect
y="36.055695"
x="17.744923"
height="1.4102663"
width="18.577394"
id="rect5285"
style="fill:#404040;fill-opacity:1;stroke:none" />
<rect
style="fill:#404040;fill-opacity:1;stroke:none"
id="rect5287"
width="2.8205326"
height="2.7823999"
x="13.54166"
y="40.35297" />
<rect
style="fill:#404040;fill-opacity:1;stroke:none"
id="rect5289"
width="23.080858"
height="1.4102663"
x="17.678442"
y="40.944618" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.3 KiB

283
web/images/nav-thumbs.svg Normal file
View File

@ -0,0 +1,283 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="48px"
height="48px"
id="svg3007"
version="1.1"
inkscape:version="0.48.1 r9760"
sodipodi:docname="nav-thumbs.svg">
<defs
id="defs3009">
<filter
inkscape:collect="always"
id="filter5333"
x="-0.16623206"
width="1.3324641"
y="-0.030014125"
height="1.0600282">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.47888561"
id="feGaussianBlur5335" />
</filter>
<filter
inkscape:collect="always"
id="filter5966">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.3570515"
id="feGaussianBlur5968" />
</filter>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.945051"
inkscape:cx="9.375932"
inkscape:cy="24.942259"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:window-width="1440"
inkscape:window-height="773"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0" />
<metadata
id="metadata3012">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<rect
style="fill:#484848;fill-rule:evenodd;stroke:#808080;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;fill-opacity:1"
id="rect3783"
width="46.16272"
height="45.59861"
x="1.0341953"
y="0.99112236" />
<rect
y="4.7876148"
x="14.359808"
height="12.764274"
width="9.7061672"
id="rect5960"
style="fill:#000000;fill-opacity:1;stroke:none;filter:url(#filter5966)"
transform="matrix(1.0465713,0,0,1.0642851,3.6426579,-2.1141417)" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="rect5958"
width="9.7061672"
height="12.764274"
x="18.897236"
y="3.1920807" />
<rect
transform="matrix(1.0465713,0,0,1.0642851,3.6426579,13.043433)"
style="fill:#000000;fill-opacity:1;stroke:none;filter:url(#filter5966)"
id="rect5970"
width="9.7061672"
height="12.764274"
x="14.359808"
y="4.7876148" />
<rect
y="18.349655"
x="18.897236"
height="12.764274"
width="9.7061672"
id="rect5972"
style="fill:#ffffff;fill-opacity:1;stroke:none" />
<rect
y="4.7876148"
x="14.359808"
height="12.764274"
width="9.7061672"
id="rect5974"
style="fill:#000000;fill-opacity:1;stroke:none;filter:url(#filter5966)"
transform="matrix(1.0465713,0,0,0.9368834,3.6426579,29.209842)" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="rect5976"
width="9.7061672"
height="11.833546"
x="18.897236"
y="33.906113" />
<rect
y="4.905829"
x="19.960924"
height="0.66480595"
width="7.7117486"
id="rect5995"
style="fill:#808080;fill-opacity:1;stroke:none" />
<rect
style="fill:#808080;fill-opacity:1;stroke:none"
id="rect6177"
width="3.6219761"
height="0.66480595"
x="19.960924"
y="6.0340419" />
<rect
style="fill:#808080;fill-opacity:1;stroke:none"
id="rect6179"
width="7.7117486"
height="0.66480595"
x="19.960924"
y="7.2562728" />
<rect
y="8.3844862"
x="19.960924"
height="0.66480595"
width="5.6903667"
id="rect6181"
style="fill:#808080;fill-opacity:1;stroke:none" />
<rect
y="9.7007341"
x="19.960924"
height="0.66480595"
width="7.7117486"
id="rect6183"
style="fill:#808080;fill-opacity:1;stroke:none" />
<rect
style="fill:#808080;fill-opacity:1;stroke:none"
id="rect6185"
width="7.7117486"
height="0.66480595"
x="19.960924"
y="10.828948" />
<rect
y="12.051179"
x="19.960924"
height="0.66480595"
width="7.7117486"
id="rect6187"
style="fill:#808080;fill-opacity:1;stroke:none" />
<rect
y="14.213587"
x="23.204536"
height="0.66480595"
width="1.2245234"
id="rect6189"
style="fill:#808080;fill-opacity:1;stroke:none" />
<rect
style="fill:#808080;fill-opacity:1;stroke:none"
id="rect6209"
width="7.7117486"
height="0.66480595"
x="19.772888"
y="19.854652" />
<rect
y="39.08128"
x="19.913914"
height="0.66480595"
width="3.6219761"
id="rect6211"
style="fill:#808080;fill-opacity:1;stroke:none" />
<rect
y="22.205095"
x="19.772888"
height="0.66480595"
width="6.6305442"
id="rect6213"
style="fill:#808080;fill-opacity:1;stroke:none" />
<rect
style="fill:#808080;fill-opacity:1;stroke:none"
id="rect6215"
width="7.7587576"
height="0.66480595"
x="19.866905"
y="37.859051" />
<rect
style="fill:#808080;fill-opacity:1;stroke:none"
id="rect6217"
width="7.7117486"
height="0.66480595"
x="19.772888"
y="21.029873" />
<rect
y="25.777771"
x="19.772888"
height="0.66480595"
width="7.7117486"
id="rect6219"
style="fill:#808080;fill-opacity:1;stroke:none" />
<rect
style="fill:#808080;fill-opacity:1;stroke:none"
id="rect6221"
width="7.7117486"
height="0.66480595"
x="19.772888"
y="27.000002" />
<rect
style="fill:#808080;fill-opacity:1;stroke:none"
id="rect6223"
width="1.2245234"
height="0.66480595"
x="23.204536"
y="28.974375" />
<rect
style="fill:#808080;fill-opacity:1;stroke:none"
id="rect6225"
width="3.6219761"
height="0.66480595"
x="19.960922"
y="42.983021" />
<rect
style="fill:#808080;fill-opacity:1;stroke:none"
id="rect6227"
width="7.7117486"
height="0.66480595"
x="19.913914"
y="36.777847" />
<rect
y="35.602627"
x="19.913914"
height="0.66480595"
width="7.7117486"
id="rect6231"
style="fill:#808080;fill-opacity:1;stroke:none" />
<rect
style="fill:#808080;fill-opacity:1;stroke:none"
id="rect6233"
width="7.7117486"
height="0.66480595"
x="19.913914"
y="40.350525" />
<rect
y="41.572754"
x="19.913914"
height="0.66480595"
width="7.7117486"
id="rect6235"
style="fill:#808080;fill-opacity:1;stroke:none" />
<rect
style="fill:#0000e6;fill-opacity:0.44444448;stroke:none"
id="rect6237"
width="3.5256658"
height="1.927364"
x="22.077036"
y="23.367346" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.6 KiB

View File

@ -60,10 +60,10 @@ span#info {
/* === Sidebar === */
#sidebar {
position: fixed;
width: 200px;
width: 350px;
top: 62px;
bottom: 18px;
left: -140px;
left: -290px;
transition: left 0.25s ease-in-out 1s;
-moz-transition: left 0.25s ease-in-out 1s;
-webkit-transition: left 0.25s ease-in-out 1s;
@ -78,7 +78,7 @@ span#info {
#sidebarBox {
background-color: rgba(0, 0, 0, 0.7);
width: 150px;
width: 300px;
height: 100%;
border-top-right-radius: 8px;
border-bottom-right-radius: 8px;
@ -98,14 +98,73 @@ span#info {
top: 10px;
bottom: 10px;
left: 10px;
width: 130px;
width: 280px;
}
.thumbnail {
width: 104px;
height: 134px;
background-color: white;
margin: 5px;
margin-top: 5px;
margin-bottom: 5px;
margin-left:auto;
margin-right:auto;
}
#outlineScrollView {
position: absolute;
background-color: #fff;
overflow: auto;
top: 10px;
bottom: 10px;
left: 10px;
width: 280px;
}
#outlineView {
padding-top: 4px;
padding-bottom: 100px;
padding-left: 6px;
padding-right: 6px;
font-size: smaller;
}
.outlineItem > .outlineItems {
margin-left: 20px;
}
.outlineItem > a {
text-decoration: none;
color: black;
}
.outlineItem > a:hover {
background: #ff0;
box-shadow: 0px 2px 10px #ff0;
}
#sidebarControls {
position:absolute;
width: 120px;
height: 32px;
left: 15px;
bottom: 35px;
}
#sidebarControls > button {
box-shadow: 0px 4px 10px #000;
-moz-box-shadow: 0px 4px 10px #000;
-webkit-box-shadow: 0px 4px 10px #000;
}
#sidebarControls > button[disabled] > img {
opacity: 0.5;
}
#sidebarControls > button[data-selected] {
box-shadow: 0px 4px 10px #ff0;
-moz-box-shadow: 0px 4px 10px #ff0;
-webkit-box-shadow: 0px 4px 10px #ff0;
}
/* === Content view === */
@ -128,3 +187,10 @@ canvas {
padding: 8px 0px;
}
#sidebarView canvas:hover {
background: #ff0;
box-shadow: 0px 2px 10px #ff0;
-moz-box-shadow: 0px 2px 10px #ff0;
-webkit-box-shadow: 0px 2px 10px #ff0;
}

View File

@ -2,7 +2,7 @@
<html>
<head>
<title>Simple pdf.js page viewer</title>
<link rel="stylesheet" href="viewer.css"></link>
<link rel="stylesheet" href="viewer.css"/>
<script type="text/javascript" src="compatibility.js"></script>
<script type="text/javascript" src="viewer.js"></script>
@ -26,7 +26,7 @@
<div class="separator"></div>
<input type="text" id="pageNumber" onchange="PDFView.page = this.value;" value="1" size="4"></input>
<input type="text" id="pageNumber" onchange="PDFView.page = this.value;" value="1" size="4"/>
<span>/</span>
<span id="numPages">--</span>
@ -38,13 +38,20 @@
<option value="75">75%</option>
<option value="100">100%</option>
<option value="125">125%</option>
<option value="150" selected="selected"><p>150%</p></option>
<option value="150" selected="selected">150%</option>
<option value="200">200%</option>
</select>
<div class="separator"></div>
<input id="fileInput" type="file"></input>
<button id="print" onclick="window.print();">
<img src="images/document-print.svg" align="top" height="32"/>
Print
</button>
<div class="separator"></div>
<input id="fileInput" type="file"/>
<div class="separator"></div>
@ -56,6 +63,17 @@
<div id="sidebarScrollView">
<div id="sidebarView"></div>
</div>
<div id="outlineScrollView" style="display:none">
<div id="outlineView"></div>
</div>
<div id="sidebarControls">
<button id="thumbsSwitch" title="Show Thumbnails" onclick="PDFView.switchSidebarView('thumbs')" data-selected>
<img src="images/nav-thumbs.svg" align="top" height="32" alt="Thumbs" />
</button>
<button id="outlineSwitch" title="Show Document Outline" onclick="PDFView.switchSidebarView('outline')" disabled>
<img src="images/nav-outline.svg" align="top" height="32" alt="Document Outline" />
</button>
</div>
</div>
</div>

View File

@ -5,7 +5,6 @@
var kDefaultURL = 'compressed.tracemonkey-pldi-09.pdf';
var kDefaultScale = 150;
var kCacheSize = 20;
var Cache = function(size) {
@ -24,19 +23,20 @@ var PDFView = {
thumbnails: [],
set scale(val) {
var options = document.getElementById('scaleSelect').options;
for (var i = 0; i < options.length; i++) {
var option = options[i];
option.selected = (option.value == val);
}
var pages = this.pages;
var cssUnits = 96.0 / 72.0;
for (var i = 0; i < pages.length; i++)
pages[i].update(val / 100 * cssUnits);
if(document.location.hash == '#' + this.page)
this.pages[this.page-1].draw();
else
// Jump the scroll position to the correct page.
document.location.hash = this.page;
// Jump the scroll position to the correct page.
this.page = this.page;
var event = document.createEvent("UIEvents");
event.initUIEvent("scalechange", false, false, window, val);
window.dispatchEvent(event);
},
set page(val) {
@ -58,7 +58,7 @@ var PDFView = {
},
get page() {
return parseInt(document.location.hash.substring(1)) || 1;
return parseInt(document.location.hash.substring(1));
},
open: function(url, scale) {
@ -129,6 +129,33 @@ var PDFView = {
this.page = parseInt(document.location.hash.substring(1)) || 1;
this.pagesRefMap = pagesRefMap;
this.destinations = pdf.catalog.destinations;
if (pdf.catalog.documentOutline) {
this.outline = new DocumentOutlineView(pdf.catalog.documentOutline);
var outlineSwitchButton = document.getElementById('outlineSwitch');
outlineSwitchButton.removeAttribute('disabled');
this.switchSidebarView('outline');
}
},
switchSidebarView: function(view) {
var thumbsScrollView = document.getElementById('sidebarScrollView');
var outlineScrollView = document.getElementById('outlineScrollView');
var thumbsSwitchButton = document.getElementById('thumbsSwitch');
var outlineSwitchButton = document.getElementById('outlineSwitch');
switch(view) {
case 'thumbs':
thumbsScrollView.style.display = 'block';
outlineScrollView.style.display = 'none';
thumbsSwitchButton.setAttribute('data-selected', true);
outlineSwitchButton.removeAttribute('data-selected');
break;
case 'outline':
thumbsScrollView.style.display = 'none';
outlineScrollView.style.display = 'block';
thumbsSwitchButton.removeAttribute('data-selected');
outlineSwitchButton.setAttribute('data-selected', true);
break;
}
},
getVisiblePages: function() {
@ -290,6 +317,42 @@ var ThumbnailView = function(container, page) {
};
};
var DocumentOutlineView = function(outline) {
var outlineView = document.getElementById('outlineView');
function bindItemLink(domObj, item) {
domObj.href = '';
domObj.onclick = function(e) {
PDFView.navigateTo(item.dest);
return false;
};
}
var queue = [{parent: outlineView, items: outline}];
while (queue.length > 0) {
var levelData = queue.shift();
var i, n = levelData.items.length;
for (i = 0; i < n; i++) {
var item = levelData.items[i];
var div = document.createElement('div');
div.className = 'outlineItem';
var a = document.createElement('a');
bindItemLink(a, item);
a.textContent = item.title;
div.appendChild(a);
if (item.items.length > 0) {
var itemsDiv = document.createElement('div');
itemsDiv.className = 'outlineItems';
div.appendChild(itemsDiv);
queue.push({parent: itemsDiv, items: item.items});
}
levelData.parent.appendChild(div);
}
}
};
window.addEventListener('load', function(evt) {
var params = document.location.search.substring(1).split('&');
for (var i = 0; i < params.length; i++) {
@ -309,7 +372,7 @@ window.addEventListener('pdfloaded', function(evt) {
PDFView.load(evt.detail);
}, true);
window.addEventListener('scroll', function(evt) {
window.addEventListener('scroll', function onscroll(evt) {
var visiblePages = PDFView.getVisiblePages();
for (var i = 0; i < visiblePages.length; i++) {
var page = visiblePages[i];
@ -372,3 +435,19 @@ window.addEventListener('transitionend', function(evt) {
}, 500);
}, true);
window.addEventListener("scalechange", function(evt) {
var options = document.getElementById('scaleSelect').options;
for (var i = 0; i < options.length; i++) {
var option = options[i];
option.selected = (option.value == evt.detail);
}
}, true);
window.addEventListener("pagechange", function(evt) {
var page = evt.detail;
document.location.hash = page;
document.getElementById("pageNumber").value = page;
document.getElementById("previous").disabled = (page == 1);
document.getElementById("next").disabled = (page == PDFView.pages.length);
}, true);