[Commit] papers/cairo-exdc2005 Makefile, NONE, 1.1 cairo-title.png,
NONE, 1.1 cairo-title.svg, NONE, 1.1 cairo.svg, NONE,
1.1 cairo.xml, NONE, 1.1 freedesktop-title.svg, NONE,
1.1 freedesktop.svg, NONE, 1.1 intersect-after.svg, NONE,
1.1 intersect-before.svg, NONE, 1.1 intersect-box.svg, NONE,
1.1 intersect-hobby.svg, NONE, 1.1
Keith Packard
commit at keithp.com
Tue Jul 19 10:41:33 PDT 2005
Committed by: keithp
Update of /local/src/CVS/papers/cairo-exdc2005
In directory home.keithp.com:/tmp/cvs-serv22046
Added Files:
Makefile cairo-title.png cairo-title.svg cairo.svg cairo.xml
freedesktop-title.svg freedesktop.svg intersect-after.svg
intersect-before.svg intersect-box.svg intersect-hobby.svg
Log Message:
Add exdc cairo paper
--- NEW FILE: Makefile ---
PROJ=cairo
all: ${PROJ}-index.xml ${PROJ}.pdf ${PROJ}-001.png
${PROJ}-index.xml: ${PROJ}.xml ${TEMPLATES} ${IMAGES}
svgslides ${PROJ}.xml
${PROJ}.pdf: ${PROJ}-index.xml
svgslides-output $< $@
${PROJ}-001.png: ${PROJ}-index.xml
for i in ${PROJ}-*.svg; do \
svg2png --width=800 $$i > `basename $$i .svg`.png; \
done
clean:
rm -f ${PROJ}-index.xml ${PROJ}.pdf index.html ${PROJ}-???.png ${PROJ}-???.html ${PROJ}-???.svg *~
--- NEW FILE: cairo-title.png ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: cairo-title.svg ---
<?xml version="1.0" ?>
<svg width="1024" height="768"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:ss="http://www.svgslides.org/svgslides0.1">
<defs id="cairo-artwork_defs">
<g id="hacker_emblem">
<!-- Note: This is similar though not identical to Keith Packard's SVG version
of the hacker emblem (http://www.catb.org/hacker-emblem/glider.svg) -->
<g id="hacker_emblem_grid" fill="white" stroke="none">
<!-- Outside: Top, Right, Bottom, Left -->
<rect x="-2.95" y="-3.05" width="6" height="0.1" />
<rect x="2.95" y="-2.95" width="0.1" height="6" />
<rect x="-3.05" y="2.95" width="6" height="0.1" />
<rect x="-3.05" y="-3.05" width="0.1" height="6" />
<!-- Vertical: Left, Right -->
<rect x="-1.05" y="-2.95" width="0.1" height="5.9" />
<rect x="0.95" y="-2.95" width="0.1" height="5.9" />
<!-- Horizontal: TopLeft, TopMiddle, TopRight -->
<rect x="-2.95" y="-1.05" width="1.9" height="0.1" />
<rect x="-0.95" y="-1.05" width="1.9" height="0.1" />
<rect x="1.05" y="-1.05" width="1.9" height="0.1" />
<!-- Horizontal: BottomLeft, BottomMiddle, BottomRight -->
<rect x="-2.95" y="0.95" width="1.9" height="0.1" />
<rect x="-0.95" y="0.95" width="1.9" height="0.1" />
<rect x="1.05" y="0.95" width="1.9" height="0.1" />
</g>
<g id="hacker_emblem_dots" fill="white">
<circle cx="0" cy="-2" r="0.7" />
<circle cx="2" cy="0" r="0.7" />
<circle cx="-2" cy="2" r="0.7" />
<circle cx="0" cy="2" r="0.7" />
<circle cx="2" cy="2" r="0.7" />
</g>
</g>
<g id="scarab" fill="#3B80AE">
<g transform="translate(-150, -170)">
<path id="scarab_head" d="M205.599,94.567c0-11.668-24.914-21.129-55.628-21.129
c-30.723,0-55.624,9.46-55.624,21.129c0,10.203,24.901,7.346,55.624,7.346C180.685,101.913,205.599,104.233,205.599,94.567z"/>
<path id="scarab_torso" d="M136.423,161.506c0,0,12.751,12.577,13.547,13.362
c2.262-2.232,13.545-13.362,13.545-13.362c7.135-7.036,87.111-6.399,91.066-6.363c-0.469-6.298-1.254-12.472-2.325-18.519
c-15.183-19.279-42.811-32.225-74.485-32.225h-55.518c-31.745,0-59.439,13.011-74.598,32.37c-1.054,6-1.829,12.128-2.296,18.374
C49.321,155.106,129.288,154.47,136.423,161.506z"/>
<path id="scarab_spine" d="M149.97,301.187c2.005-24.729,8.386-103.483,8.405-103.721
c-0.09-0.219-6.478-15.578-8.405-20.214c-1.936,4.655-8.316,19.995-8.408,20.214C141.582,197.704,147.965,276.458,149.97,301.187z"/>
<path id="scarab_wing_left" d="M140.403,197.149l8.862-21.31l-13.686-13.499
c-5.65-5.573-67.074-6.235-90.259-6.019l-0.006-0.622c-0.154,2.144-0.271,4.302-0.35,6.475
c-0.076,2.207,10.392,4.706,10.392,6.717c0,2.319-10.457,5.084-10.359,7.631c2.993,73.349,48.53,131.631,104.372,132.048
l-9.02-111.29L140.403,197.149z"/>
<path id="scarab_wing_right" d="M244.585,168.891c0-2.011,10.467-4.506,10.391-6.715
c-0.079-2.174-0.195-4.332-0.351-6.479l-0.004,0.624c-23.186-0.216-84.608,0.445-90.26,6.017l-13.688,13.502l8.915,21.438
l-9.017,111.29c55.854-0.417,101.378-58.698,104.373-132.049C255.04,173.976,244.585,171.209,244.585,168.891z"/>
<path id="scarab_leg_front_left" d="M44.506,141.12c-4.135-0.856-4.895-1.54-7.935-2.92
c-9.59-3.364-10.376-5.481-16.08-11.86c-7.426-8.306-12.661-20.142-17.1-29.463c-3.576-7.525-3.984-16.409-2.86-24.273
c0.991-6.935,7.144-12.869,12.074-18.92c5.844-7.191,10.356-14.822,17.924-21.354c7.736-6.682,23.203-9.809,26.168-19.648
C57.86,8.819,54.334,1.766,61.482,0c-0.366,4.703,3.639,8.477,2.397,13.575c-1.129,4.627-4.368,5.811-9.611,9.099
c-7.564,4.746-18.366,8.779-24.748,13.965c-7.175,5.827-4.369,13.771-10.569,20.057c-2.001,2.03-7.901,4.706-9.137,6.83
c-1.861,3.199-0.297,9.572-0.116,13.12c0.425,8.284,5.588,14.244,9.555,22.045c4.152,8.141,6.429,15.409,13.411,22.519
c4.183,4.262,11.429,4.802,16.21,10.647l-3.555,4.186L44.506,141.12z"/>
<path id="scarab_leg_middle_left" d="M43.94,191.922l-0.809-7.346
c-9.506-4.579-10.339-9.772-20.738-12.466c-23.728-6.151-21.361,11.25-15.532,26.373c5.676,14.726,8.237,30.23,14.345,44.795
c2.805,6.688,6.919,13.213,14.298,15.127c0.372-8.435-0.917-10.651-6.113-16.919c-4.395-5.293-3.326-12.548-6.072-18.504
c-3.581-7.804-4.196-15.646-7.279-23.502c-1.363-3.479-8.33-13.966-6.452-17.861c3.183-6.603,9.178-0.083,12.179,2.077
c4.218,3.036,6.467,2.223,11.681,2.898C34.041,186.673,37.005,188.756,43.94,191.922z"/>
<path id="scarab_leg_back_left" d="M65.839,257.063l-2.771-4.837
c-6.68,8.928-6.993,16.228-10.056,23.347c-5.277,12.263-0.157,28.851,9.854,37.676c6.052,5.375,15.907,9.618,23.122,13.136
c10.035,4.892,20.113,11.286,31.336,13.396c2.482,0.466,8.798,1.295,6.693-3.522c-0.975-2.237-8.091-4.591-10.146-5.734
c-8.312-4.623-16.377-10.524-24.142-16.176c-9.498-6.862-20.843-11.186-28.311-20.684c-3.054-3.885-3.544-4.922-2.816-9.39
c0.693-4.263,1.344-9.174,2.241-13.439C61.855,266.029,63.274,261.378,65.839,257.063z"/>
<path id="scarab_leg_front_right" d="M255.487,141.12c4.134-0.856,4.896-1.54,7.936-2.92
c9.583-3.364,10.369-5.481,16.071-11.86c7.428-8.306,12.661-20.142,17.115-29.463c3.574-7.525,3.983-16.409,2.86-24.273
c-0.992-6.935-7.157-12.869-12.087-18.92c-5.843-7.191-10.356-14.822-17.919-21.354c-7.735-6.682-23.202-9.809-26.167-19.648
C242.135,8.819,245.66,1.766,238.511,0c0.366,4.703-3.637,8.477-2.396,13.575c1.131,4.627,4.368,5.811,9.611,9.099
c7.563,4.746,18.367,8.779,24.747,13.965c7.17,5.827,4.362,13.771,10.563,20.057c2.001,2.03,7.901,4.706,9.139,6.83
c1.859,3.199,0.295,9.572,0.113,13.12c-0.424,8.284-5.588,14.244-9.553,22.045c-4.152,8.141-6.431,15.409-13.404,22.519
c-4.184,4.262-11.429,4.802-16.211,10.647l3.556,4.186L255.487,141.12z"/>
<path id="scarab_leg_middle_right" d="M256.053,191.922l0.81-7.346
c9.507-4.579,10.34-9.772,20.73-12.466c23.741-6.151,21.374,11.25,15.534,26.373c-5.676,14.726-8.238,30.23-14.347,44.795
c-2.804,6.688-6.911,13.213-14.291,15.127c-0.371-8.435,0.918-10.651,6.113-16.919c4.39-5.293,3.319-12.548,6.066-18.504
c3.58-7.804,4.197-15.646,7.278-23.502c1.363-3.479,8.33-13.966,6.453-17.861c-3.184-6.603-9.179-0.083-12.181,2.077
c-4.217,3.036-6.458,2.223-11.672,2.898C265.951,186.673,262.986,188.756,256.053,191.922z"/>
<path id="scarab_leg_back_right" d="M234.155,257.063l2.771-4.837
c6.679,8.928,6.991,16.228,10.057,23.347c5.274,12.263,0.154,28.851-9.854,37.676c-6.055,5.375-15.903,9.618-23.117,13.136
c-10.034,4.892-20.127,11.286-31.351,13.396c-2.481,0.466-8.789,1.295-6.691-3.522c0.976-2.237,8.092-4.591,10.146-5.734
c8.312-4.623,16.392-10.524,24.155-16.176c9.498-6.862,20.838-11.186,28.305-20.684c3.055-3.885,3.543-4.922,2.818-9.39
c-0.696-4.263-1.346-9.174-2.244-13.439C238.137,266.029,236.718,261.378,234.155,257.063z"/>
</g>
</g>
<radialGradient id="gradient_radial_dung"
cx="0" cy="0" r="60"
fx="0" fy="0" gradientUnits="userSpaceOnUse"
>
<stop offset="0" stop-color="#9a9a9a" />
<stop offset="0.70" stop-color="#bababa" />
<stop offset="0.95" stop-color="#FFFFFF" />
</radialGradient>
<g id="dung">
<circle cx="0" cy="0" r="60" fill="url(#gradient_radial_dung)" />
<g transform="translate(-61, -61)">
<!-- rough equivalent: <circle cx="0" cy="0" r="60" stroke="#8a8a8a" stroke-width="2" /> -->
<path fill="#8a8a8a" d="M0,61c0,33.636,27.364,61,61,61s61-27.364,61-61S94.636,0,61,0S0,27.364,0,61z
M2,61C2,28.467,28.467,2,61,2c32.532,0,59,26.467,59,59c0,32.533-26.468,59-59,59C28.467,120,2,93.533,2,61z"/>
</g>
<use xlink:href="#hacker_emblem" x="0" y="0" transform="scale(9)" />
</g>
<!-- scarab dimensions: 300x340 -->
<!-- dung dimensions: 120x120 (radius: 60) -->
<!-- scarab and dung dimensions: 300x400 -->
<g id="cairo_logo">
<!-- dimensions: 300x400, centered -->
<!-- The logo (scarab and dung), with the center-point of the bounding box at (0,0) -->
<use xlink:href="#dung" x="0" y="0" transform="translate(0, -140)" />
<use xlink:href="#scarab" x="0" y="0" transform="translate(0, 30)" />
</g>
<g id="cairo_logo_dung-centered">
<!-- The logo (scarab and dung), with the dung at (0,0), the scarab below -->
<use xlink:href="#dung" x="0" y="0" />
<use xlink:href="#scarab" x="0" y="0" transform="translate(0,170)" />
</g>
<g id="cairo_logo_scarab-centered">
<!-- The logo (scarab and dung), with the scarab's rotational center at (0,0), the dung above -->
<!-- The scarab's rotational center in this case is not the center of its bounding box,
but is calculated to be the intersection-point of the torso, spine and wings -->
<use xlink:href="#dung" x="0" y="0" transform="translate(0, -175.85)" />
<use xlink:href="#scarab" x="0" y="0" transform="translate(0, -5.85)" />
</g>
<g id="cairo_logo_top-centered">
<!-- The logo (scarab and dung), with the top-center point of the bounding box at (0,0) -->
<use xlink:href="#dung" x="0" y="0" transform="translate(0, 60)" />
<use xlink:href="#scarab" x="0" y="0" transform="translate(0, 230)" /><!-- (0,170+60) -->
</g>
<g id="cairo_logo_bottom-centered">
<!-- The logo (scarab and dung), with the bottom-center point of the bounding box at (0,0) -->
<use xlink:href="#dung" x="0" y="0" transform="translate(0, -340)" />
<use xlink:href="#scarab" x="0" y="0" transform="translate(0, -170)" />
</g>
<g id="cairo_logo_right-centered">
<!-- The logo (scarab and dung), with the right-center point of the bounding box at (0,0) -->
<use xlink:href="#dung" x="0" y="0" transform="translate(-150, -140)" />
<use xlink:href="#scarab" x="0" y="0" transform="translate(-150, 30)" />
</g>
<g id="cairo_logo_left-centered">
<!-- The logo (scarab and dung), with the left-center point of the bounding box at (0,0) -->
<use xlink:href="#dung" x="0" y="0" transform="translate(150, -140)" />
<use xlink:href="#scarab" x="0" y="0" transform="translate(150, 30)" />
</g>
<g id="cairo_logo_topleft-centered">
<!-- The logo (scarab and dung), with the top-left point of the bounding box at (0,0) -->
<use xlink:href="#dung" x="0" y="0" transform="translate(150, 60)" />
<use xlink:href="#scarab" x="0" y="0" transform="translate(150, 230)" /><!-- (150, 170+60) -->
</g>
<g id="cairo_logo_topright-centered">
<!-- The logo (scarab and dung), with the top-right point of the bounding box at (0,0) -->
<use xlink:href="#dung" x="0" y="0" transform="translate(-150, 60)" />
<use xlink:href="#scarab" x="0" y="0" transform="translate(-150, 230)" /><!-- (-150,170+60) -->
</g>
<g id="cairo_logo_bottomleft-centered">
<!-- The logo (scarab and dung), with the bottom-left point of the bounding box at (0,0) -->
<use xlink:href="#dung" x="0" y="0" transform="translate(150, -340)" />
<use xlink:href="#scarab" x="0" y="0" transform="translate(150, -170)" />
</g>
<g id="cairo_logo_bottomright-centered">
<!-- The logo (scarab and dung), with the bottom-right point of the bounding box at (0,0) -->
<use xlink:href="#dung" x="0" y="0" transform="translate(-150, -340)" />
<use xlink:href="#scarab" x="0" y="0" transform="translate(-150, -170)" />
</g>
<g id="cairo_text" fill="black">
<!-- text: 'cairo' -->
<!-- dimensions: 300x100, bottom-centered on cairo_text_i -->
<!-- rough equivalent: <text text-anchor="middle" x="0" y="0" font-size="128">cairo</text> -->
<g transform="translate(-152.5, -100)">
<path id="cairo_text_c" d="M36.191,100.671c10.136,0,19.184-3.958,25.32-11.222l-8.081-8.081
c-3.299,5.915-8.8,10.083-16.82,10.083c-14.528,0-20.255-14.387-20.255-25.842c0-15.366,8.801-26.401,20.535-26.401h0.14
c6.982,0,12.753,3.867,16.326,10.061l8.355-8.355c-5.899-6.992-14.574-10.926-24.402-10.926h-0.14
c-16.064,0-33.525,10.895-33.525,36.041C3.644,86.562,16.775,100.671,36.191,100.671z"/>
<path id="cairo_text_a" d="M129.432,82.688c0,5.839,0,5.839,0,17.983h-10.011V90.334c-3.616,5.284-12.515,10.012-22.109,10.012
c-13.626,0-20.579-9.594-20.579-19.327c0-16.269,14.461-25.167,40.463-25.029v-1.391c0-5.561-1.531-15.712-15.296-15.573
c-6.396,0-12.931,1.807-17.659,5.006l-2.779-8.205c5.561-3.476,13.765-5.839,22.247-5.839c20.718,0,25.723,14.044,25.723,27.531
V82.688z M117.475,64.471c-13.348-0.277-28.505,2.085-28.505,15.156c0,8.065,5.284,11.681,11.402,11.681
c8.899,0,14.6-5.563,16.547-11.263c0.417-1.25,0.556-2.642,0.556-3.893V64.471z"/>
<path id="cairo_text_i" d="M153.062,16.99c-4.819,0-8.033-3.797-8.033-8.324s3.359-8.178,8.324-8.178
c4.966,0,8.179,3.65,8.179,8.178s-3.213,8.324-8.324,8.324H153.062z M146.927,100.67V29.988h12.853v70.683H146.927z"/>
<path id="cairo_text_r" d="M180.375,53.676c0-7.807-0.137-14.518-0.046-23.688h10.547l0.045,16.019h0.412
c3.012-8.902,15.479-16.019,23.559-16.019c1.232,0,2.189,0.137,3.285,0.411v11.23c-1.368-0.137-2.602-0.274-4.244-0.274
c-8.492,0-19.588,7.939-21.231,16.841c-0.272,1.78-0.41,3.698-0.41,5.752v36.723h-12.052L180.375,53.676z"/>
<path id="cairo_text_o" d="M261.708,100.67c-18.158,0-32.408-13.41-32.408-34.783c0-22.629,14.946-35.899,33.526-35.899
c19.416,0,32.546,14.108,32.546,34.643c0,25.143-17.461,36.04-33.524,36.04H261.708z M262.127,91.451
c11.734,0,20.535-11.035,20.535-26.401c0-11.455-5.729-25.842-20.256-25.842c-14.388,0-20.673,13.41-20.673,26.261
c0,14.806,8.381,25.982,20.253,25.982H262.127z"/>
</g>
</g>
<g id="cairo_logo_with_text">
<!-- The logo (scarab and dung), with the text 'cairo' below, the dot of the 'i' positioned between the hind legs of the scarab -->
<!-- dimensions: 300x490, centered -->
<use xlink:href="#cairo_logo_top-centered" transform="translate(0, -245)" />
<use xlink:href="#cairo_text" transform="translate(0, 245)" />
</g>
<g id="cairo_banner">
<!-- The logo on the left, the text 'cairo' in the center, and a mirror image of the logo on the right -->
<!-- The logos are scaled such that the scarab body nearly matches the height of the text characters (excepting the 'i')
and the dung should nearly aligns with the dot of the 'i'. The bottoms of the logos are aligned with the bottom of the text. -->
<!-- dimensions: 500x110, centered -->
<use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(-250, 55), scale(0.27)" />
<use xlink:href="#cairo_text" transform="translate(0, 55)" />
<use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(250, 55), scale(0.27), scale(-1, 1)" />
</g>
</defs>
<defs>
<g id="bullet">
<use xlink:href="#cairo_logo_bottomright-centered" transform="translate(-0.2, 0), scale({1 div 450})" />
</g>
<g id="freedesktop_org_logo" style="fill:#FFFFFF;stroke:#3B80AE;stroke-width:2.4588;">
<g>
<path style="stroke:#BABABA;" d="M85.277,40.796c2.058,7.884-2.667,15.942-10.551,17.999L27.143,71.21c-7.884,2.057-15.943-2.667-18-10.552
l-7.448-28.55c-2.057-7.884,2.667-15.942,10.551-17.999L59.83,1.695c7.884-2.057,15.942,2.667,17.999,10.551
l7.449,28.55z"/>
<path style="fill:#3B80AE;stroke:none;" d="M80.444,39.778c1.749,7.854-1.816,13.621-9.504,15.447l-42.236,11.02c-7.569,2.396-14.089-1.181
-15.838-8.836L6.53,33.127c-1.749-8.145,0.709-12.889,9.503-15.447L58.27,6.661
c8.144-1.826,14.089,1.363,15.838,8.835l6.336,24.282z"/>
</g>
<path style="opacity:0.5;fill:none;stroke:#FFFFFF;" d="M45.542,51.793L24.104,31.102l38.1-4.393L45.542,51.793z"/>
<path d="M72.325,28.769c0.405,1.55-0.525,3.136-2.075,3.541l-12.331,3.217c-1.551,0.404-3.137-0.525-3.542-2.076l-2.295-8.801
c-0.405-1.551,0.524-3.137,2.076-3.542l12.33-3.217c1.551-0.405,3.137,0.525,3.542,2.076l2.295,8.801z"/>
<path d="M36.51,33.625c0.496,1.9-0.645,3.844-2.545,4.34l-15.112,3.943c-1.901,0.496-3.845-0.644-4.34-2.544l-2.814-10.786
c-0.496-1.901,0.644-3.844,2.544-4.34l15.113-3.942c1.901-0.496,3.845,0.643,4.34,2.544l2.814,10.786z"/>
<path d="M52.493,53.208c0.278,1.065-0.36,2.154-1.425,2.432L42.6,57.848c-1.064,0.277-2.153-0.36-2.431-1.426l-1.577-6.043
c-0.277-1.064,0.36-2.153,1.425-2.432l8.468-2.209c1.064-0.277,2.154,0.361,2.431,1.426l1.577,6.043z"/>
</g>
</defs>
<rect x="-512" y="0" width="2048" height="50" fill="#3B80AE" fill-opacity="0.3" />
<use xlink:href="#cairo_logo_with_text" transform="translate(256, 400)" />
<g id="slide_title" transform="translate(512, 110)">
<rect stroke="#bababa" fill="none"
x="-365"
y="-55"
width="730"
height="85"
rx="10" ry="10"
/>
<rect fill="#bababa" fill-opacity="0.3"
x="-360"
y="-50"
width="720"
height="75"
rx="10" ry="10"
/>
<text text-anchor="middle"
fill="black"
font-family="sans"
x="0"
y="10" font-size="55"
ss:variable="presentation">Slide Title</text>
</g>
<g ss:region="default" text-anchor="middle">
<rect x="690" y="250" width="2" height="350" fill="none" stroke="blue"/>
<text font-size="40" fill="black" font-family="sans"
x="690" y="290">Slide content</text>
</g>
</svg>
--- NEW FILE: cairo.svg ---
<?xml version="1.0" ?>
<svg width="1024" height="768"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:ss="http://www.svgslides.org/svgslides0.1"
bullet="bullet">
<defs id="cairo-artwork_defs">
<g id="hacker_emblem">
<!-- Note: This is similar though not identical to Keith Packard's SVG version
of the hacker emblem (http://www.catb.org/hacker-emblem/glider.svg) -->
<g id="hacker_emblem_grid" fill="white" stroke="none">
<!-- Outside: Top, Right, Bottom, Left -->
<rect x="-2.95" y="-3.05" width="6" height="0.1" />
<rect x="2.95" y="-2.95" width="0.1" height="6" />
<rect x="-3.05" y="2.95" width="6" height="0.1" />
<rect x="-3.05" y="-3.05" width="0.1" height="6" />
<!-- Vertical: Left, Right -->
<rect x="-1.05" y="-2.95" width="0.1" height="5.9" />
<rect x="0.95" y="-2.95" width="0.1" height="5.9" />
<!-- Horizontal: TopLeft, TopMiddle, TopRight -->
<rect x="-2.95" y="-1.05" width="1.9" height="0.1" />
<rect x="-0.95" y="-1.05" width="1.9" height="0.1" />
<rect x="1.05" y="-1.05" width="1.9" height="0.1" />
<!-- Horizontal: BottomLeft, BottomMiddle, BottomRight -->
<rect x="-2.95" y="0.95" width="1.9" height="0.1" />
<rect x="-0.95" y="0.95" width="1.9" height="0.1" />
<rect x="1.05" y="0.95" width="1.9" height="0.1" />
</g>
<g id="hacker_emblem_dots" fill="white">
<circle cx="0" cy="-2" r="0.7" />
<circle cx="2" cy="0" r="0.7" />
<circle cx="-2" cy="2" r="0.7" />
<circle cx="0" cy="2" r="0.7" />
<circle cx="2" cy="2" r="0.7" />
</g>
</g>
<g id="scarab" fill="#3B80AE">
<g transform="translate(-150, -170)">
<path id="scarab_head" d="M205.599,94.567c0-11.668-24.914-21.129-55.628-21.129
c-30.723,0-55.624,9.46-55.624,21.129c0,10.203,24.901,7.346,55.624,7.346C180.685,101.913,205.599,104.233,205.599,94.567z"/>
<path id="scarab_torso" d="M136.423,161.506c0,0,12.751,12.577,13.547,13.362
c2.262-2.232,13.545-13.362,13.545-13.362c7.135-7.036,87.111-6.399,91.066-6.363c-0.469-6.298-1.254-12.472-2.325-18.519
c-15.183-19.279-42.811-32.225-74.485-32.225h-55.518c-31.745,0-59.439,13.011-74.598,32.37c-1.054,6-1.829,12.128-2.296,18.374
C49.321,155.106,129.288,154.47,136.423,161.506z"/>
<path id="scarab_spine" d="M149.97,301.187c2.005-24.729,8.386-103.483,8.405-103.721
c-0.09-0.219-6.478-15.578-8.405-20.214c-1.936,4.655-8.316,19.995-8.408,20.214C141.582,197.704,147.965,276.458,149.97,301.187z"/>
<path id="scarab_wing_left" d="M140.403,197.149l8.862-21.31l-13.686-13.499
c-5.65-5.573-67.074-6.235-90.259-6.019l-0.006-0.622c-0.154,2.144-0.271,4.302-0.35,6.475
c-0.076,2.207,10.392,4.706,10.392,6.717c0,2.319-10.457,5.084-10.359,7.631c2.993,73.349,48.53,131.631,104.372,132.048
l-9.02-111.29L140.403,197.149z"/>
<path id="scarab_wing_right" d="M244.585,168.891c0-2.011,10.467-4.506,10.391-6.715
c-0.079-2.174-0.195-4.332-0.351-6.479l-0.004,0.624c-23.186-0.216-84.608,0.445-90.26,6.017l-13.688,13.502l8.915,21.438
l-9.017,111.29c55.854-0.417,101.378-58.698,104.373-132.049C255.04,173.976,244.585,171.209,244.585,168.891z"/>
<path id="scarab_leg_front_left" d="M44.506,141.12c-4.135-0.856-4.895-1.54-7.935-2.92
c-9.59-3.364-10.376-5.481-16.08-11.86c-7.426-8.306-12.661-20.142-17.1-29.463c-3.576-7.525-3.984-16.409-2.86-24.273
c0.991-6.935,7.144-12.869,12.074-18.92c5.844-7.191,10.356-14.822,17.924-21.354c7.736-6.682,23.203-9.809,26.168-19.648
C57.86,8.819,54.334,1.766,61.482,0c-0.366,4.703,3.639,8.477,2.397,13.575c-1.129,4.627-4.368,5.811-9.611,9.099
c-7.564,4.746-18.366,8.779-24.748,13.965c-7.175,5.827-4.369,13.771-10.569,20.057c-2.001,2.03-7.901,4.706-9.137,6.83
c-1.861,3.199-0.297,9.572-0.116,13.12c0.425,8.284,5.588,14.244,9.555,22.045c4.152,8.141,6.429,15.409,13.411,22.519
c4.183,4.262,11.429,4.802,16.21,10.647l-3.555,4.186L44.506,141.12z"/>
<path id="scarab_leg_middle_left" d="M43.94,191.922l-0.809-7.346
c-9.506-4.579-10.339-9.772-20.738-12.466c-23.728-6.151-21.361,11.25-15.532,26.373c5.676,14.726,8.237,30.23,14.345,44.795
c2.805,6.688,6.919,13.213,14.298,15.127c0.372-8.435-0.917-10.651-6.113-16.919c-4.395-5.293-3.326-12.548-6.072-18.504
c-3.581-7.804-4.196-15.646-7.279-23.502c-1.363-3.479-8.33-13.966-6.452-17.861c3.183-6.603,9.178-0.083,12.179,2.077
c4.218,3.036,6.467,2.223,11.681,2.898C34.041,186.673,37.005,188.756,43.94,191.922z"/>
<path id="scarab_leg_back_left" d="M65.839,257.063l-2.771-4.837
c-6.68,8.928-6.993,16.228-10.056,23.347c-5.277,12.263-0.157,28.851,9.854,37.676c6.052,5.375,15.907,9.618,23.122,13.136
c10.035,4.892,20.113,11.286,31.336,13.396c2.482,0.466,8.798,1.295,6.693-3.522c-0.975-2.237-8.091-4.591-10.146-5.734
c-8.312-4.623-16.377-10.524-24.142-16.176c-9.498-6.862-20.843-11.186-28.311-20.684c-3.054-3.885-3.544-4.922-2.816-9.39
c0.693-4.263,1.344-9.174,2.241-13.439C61.855,266.029,63.274,261.378,65.839,257.063z"/>
<path id="scarab_leg_front_right" d="M255.487,141.12c4.134-0.856,4.896-1.54,7.936-2.92
c9.583-3.364,10.369-5.481,16.071-11.86c7.428-8.306,12.661-20.142,17.115-29.463c3.574-7.525,3.983-16.409,2.86-24.273
c-0.992-6.935-7.157-12.869-12.087-18.92c-5.843-7.191-10.356-14.822-17.919-21.354c-7.735-6.682-23.202-9.809-26.167-19.648
C242.135,8.819,245.66,1.766,238.511,0c0.366,4.703-3.637,8.477-2.396,13.575c1.131,4.627,4.368,5.811,9.611,9.099
c7.563,4.746,18.367,8.779,24.747,13.965c7.17,5.827,4.362,13.771,10.563,20.057c2.001,2.03,7.901,4.706,9.139,6.83
c1.859,3.199,0.295,9.572,0.113,13.12c-0.424,8.284-5.588,14.244-9.553,22.045c-4.152,8.141-6.431,15.409-13.404,22.519
c-4.184,4.262-11.429,4.802-16.211,10.647l3.556,4.186L255.487,141.12z"/>
<path id="scarab_leg_middle_right" d="M256.053,191.922l0.81-7.346
c9.507-4.579,10.34-9.772,20.73-12.466c23.741-6.151,21.374,11.25,15.534,26.373c-5.676,14.726-8.238,30.23-14.347,44.795
c-2.804,6.688-6.911,13.213-14.291,15.127c-0.371-8.435,0.918-10.651,6.113-16.919c4.39-5.293,3.319-12.548,6.066-18.504
c3.58-7.804,4.197-15.646,7.278-23.502c1.363-3.479,8.33-13.966,6.453-17.861c-3.184-6.603-9.179-0.083-12.181,2.077
c-4.217,3.036-6.458,2.223-11.672,2.898C265.951,186.673,262.986,188.756,256.053,191.922z"/>
<path id="scarab_leg_back_right" d="M234.155,257.063l2.771-4.837
c6.679,8.928,6.991,16.228,10.057,23.347c5.274,12.263,0.154,28.851-9.854,37.676c-6.055,5.375-15.903,9.618-23.117,13.136
c-10.034,4.892-20.127,11.286-31.351,13.396c-2.481,0.466-8.789,1.295-6.691-3.522c0.976-2.237,8.092-4.591,10.146-5.734
c8.312-4.623,16.392-10.524,24.155-16.176c9.498-6.862,20.838-11.186,28.305-20.684c3.055-3.885,3.543-4.922,2.818-9.39
c-0.696-4.263-1.346-9.174-2.244-13.439C238.137,266.029,236.718,261.378,234.155,257.063z"/>
</g>
</g>
<radialGradient id="gradient_radial_dung"
cx="0" cy="0" r="60"
fx="0" fy="0" gradientUnits="userSpaceOnUse"
>
<stop offset="0" stop-color="#9a9a9a" />
<stop offset="0.70" stop-color="#bababa" />
<stop offset="0.95" stop-color="#FFFFFF" />
</radialGradient>
<g id="dung">
<circle cx="0" cy="0" r="60" fill="url(#gradient_radial_dung)" />
<g transform="translate(-61, -61)">
<!-- rough equivalent: <circle cx="0" cy="0" r="60" stroke="#8a8a8a" stroke-width="2" /> -->
<path fill="#8a8a8a" d="M0,61c0,33.636,27.364,61,61,61s61-27.364,61-61S94.636,0,61,0S0,27.364,0,61z
M2,61C2,28.467,28.467,2,61,2c32.532,0,59,26.467,59,59c0,32.533-26.468,59-59,59C28.467,120,2,93.533,2,61z"/>
</g>
<use xlink:href="#hacker_emblem" x="0" y="0" transform="scale(9)" />
</g>
<!-- scarab dimensions: 300x340 -->
<!-- dung dimensions: 120x120 (radius: 60) -->
<!-- scarab and dung dimensions: 300x400 -->
<g id="cairo_logo">
<!-- dimensions: 300x400, centered -->
<!-- The logo (scarab and dung), with the center-point of the bounding box at (0,0) -->
<use xlink:href="#dung" x="0" y="0" transform="translate(0, -140)" />
<use xlink:href="#scarab" x="0" y="0" transform="translate(0, 30)" />
</g>
<g id="cairo_logo_dung-centered">
<!-- The logo (scarab and dung), with the dung at (0,0), the scarab below -->
<use xlink:href="#dung" x="0" y="0" />
<use xlink:href="#scarab" x="0" y="0" transform="translate(0,170)" />
</g>
<g id="cairo_logo_scarab-centered">
<!-- The logo (scarab and dung), with the scarab's rotational center at (0,0), the dung above -->
<!-- The scarab's rotational center in this case is not the center of its bounding box,
but is calculated to be the intersection-point of the torso, spine and wings -->
<use xlink:href="#dung" x="0" y="0" transform="translate(0, -175.85)" />
<use xlink:href="#scarab" x="0" y="0" transform="translate(0, -5.85)" />
</g>
<g id="cairo_logo_top-centered">
<!-- The logo (scarab and dung), with the top-center point of the bounding box at (0,0) -->
<use xlink:href="#dung" x="0" y="0" transform="translate(0, 60)" />
<use xlink:href="#scarab" x="0" y="0" transform="translate(0, 230)" /><!-- (0,170+60) -->
</g>
<g id="cairo_logo_bottom-centered">
<!-- The logo (scarab and dung), with the bottom-center point of the bounding box at (0,0) -->
<use xlink:href="#dung" x="0" y="0" transform="translate(0, -340)" />
<use xlink:href="#scarab" x="0" y="0" transform="translate(0, -170)" />
</g>
<g id="cairo_logo_right-centered">
<!-- The logo (scarab and dung), with the right-center point of the bounding box at (0,0) -->
<use xlink:href="#dung" x="0" y="0" transform="translate(-150, -140)" />
<use xlink:href="#scarab" x="0" y="0" transform="translate(-150, 30)" />
</g>
<g id="cairo_logo_left-centered">
<!-- The logo (scarab and dung), with the left-center point of the bounding box at (0,0) -->
<use xlink:href="#dung" x="0" y="0" transform="translate(150, -140)" />
<use xlink:href="#scarab" x="0" y="0" transform="translate(150, 30)" />
</g>
<g id="cairo_logo_topleft-centered">
<!-- The logo (scarab and dung), with the top-left point of the bounding box at (0,0) -->
<use xlink:href="#dung" x="0" y="0" transform="translate(150, 60)" />
<use xlink:href="#scarab" x="0" y="0" transform="translate(150, 230)" /><!-- (150, 170+60) -->
</g>
<g id="cairo_logo_topright-centered">
<!-- The logo (scarab and dung), with the top-right point of the bounding box at (0,0) -->
<use xlink:href="#dung" x="0" y="0" transform="translate(-150, 60)" />
<use xlink:href="#scarab" x="0" y="0" transform="translate(-150, 230)" /><!-- (-150,170+60) -->
</g>
<g id="cairo_logo_bottomleft-centered">
<!-- The logo (scarab and dung), with the bottom-left point of the bounding box at (0,0) -->
<use xlink:href="#dung" x="0" y="0" transform="translate(150, -340)" />
<use xlink:href="#scarab" x="0" y="0" transform="translate(150, -170)" />
</g>
<g id="cairo_logo_bottomright-centered">
<!-- The logo (scarab and dung), with the bottom-right point of the bounding box at (0,0) -->
<use xlink:href="#dung" x="0" y="0" transform="translate(-150, -340)" />
<use xlink:href="#scarab" x="0" y="0" transform="translate(-150, -170)" />
</g>
<g id="cairo_text" fill="black">
<!-- text: 'cairo' -->
<!-- dimensions: 300x100, bottom-centered on cairo_text_i -->
<!-- rough equivalent: <text text-anchor="middle" x="0" y="0" font-size="128">cairo</text> -->
<g transform="translate(-152.5, -100)">
<path id="cairo_text_c" d="M36.191,100.671c10.136,0,19.184-3.958,25.32-11.222l-8.081-8.081
c-3.299,5.915-8.8,10.083-16.82,10.083c-14.528,0-20.255-14.387-20.255-25.842c0-15.366,8.801-26.401,20.535-26.401h0.14
c6.982,0,12.753,3.867,16.326,10.061l8.355-8.355c-5.899-6.992-14.574-10.926-24.402-10.926h-0.14
c-16.064,0-33.525,10.895-33.525,36.041C3.644,86.562,16.775,100.671,36.191,100.671z"/>
<path id="cairo_text_a" d="M129.432,82.688c0,5.839,0,5.839,0,17.983h-10.011V90.334c-3.616,5.284-12.515,10.012-22.109,10.012
c-13.626,0-20.579-9.594-20.579-19.327c0-16.269,14.461-25.167,40.463-25.029v-1.391c0-5.561-1.531-15.712-15.296-15.573
c-6.396,0-12.931,1.807-17.659,5.006l-2.779-8.205c5.561-3.476,13.765-5.839,22.247-5.839c20.718,0,25.723,14.044,25.723,27.531
V82.688z M117.475,64.471c-13.348-0.277-28.505,2.085-28.505,15.156c0,8.065,5.284,11.681,11.402,11.681
c8.899,0,14.6-5.563,16.547-11.263c0.417-1.25,0.556-2.642,0.556-3.893V64.471z"/>
<path id="cairo_text_i" d="M153.062,16.99c-4.819,0-8.033-3.797-8.033-8.324s3.359-8.178,8.324-8.178
c4.966,0,8.179,3.65,8.179,8.178s-3.213,8.324-8.324,8.324H153.062z M146.927,100.67V29.988h12.853v70.683H146.927z"/>
<path id="cairo_text_r" d="M180.375,53.676c0-7.807-0.137-14.518-0.046-23.688h10.547l0.045,16.019h0.412
c3.012-8.902,15.479-16.019,23.559-16.019c1.232,0,2.189,0.137,3.285,0.411v11.23c-1.368-0.137-2.602-0.274-4.244-0.274
c-8.492,0-19.588,7.939-21.231,16.841c-0.272,1.78-0.41,3.698-0.41,5.752v36.723h-12.052L180.375,53.676z"/>
<path id="cairo_text_o" d="M261.708,100.67c-18.158,0-32.408-13.41-32.408-34.783c0-22.629,14.946-35.899,33.526-35.899
c19.416,0,32.546,14.108,32.546,34.643c0,25.143-17.461,36.04-33.524,36.04H261.708z M262.127,91.451
c11.734,0,20.535-11.035,20.535-26.401c0-11.455-5.729-25.842-20.256-25.842c-14.388,0-20.673,13.41-20.673,26.261
c0,14.806,8.381,25.982,20.253,25.982H262.127z"/>
</g>
</g>
<g id="cairo_logo_with_text">
<!-- The logo (scarab and dung), with the text 'cairo' below, the dot of the 'i' positioned between the hind legs of the scarab -->
<!-- dimensions: 300x490, centered -->
<use xlink:href="#cairo_logo_top-centered" transform="translate(0, -245)" />
<use xlink:href="#cairo_text" transform="translate(0, 245)" />
</g>
<g id="cairo_banner">
<!-- The logo on the left, the text 'cairo' in the center, and a mirror image of the logo on the right -->
<!-- The logos are scaled such that the scarab body nearly matches the height of the text characters (excepting the 'i')
and the dung should nearly aligns with the dot of the 'i'. The bottoms of the logos are aligned with the bottom of the text. -->
<!-- dimensions: 500x110, centered -->
<use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(-250, 55), scale(0.27)" />
<use xlink:href="#cairo_text" transform="translate(0, 55)" />
<use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(250, 55), scale(0.27), scale(-1, 1)" />
</g>
<g id="scarab" fill="#3B80AE">
<g transform="translate(-150, -170)">
<path id="scarab_head" d="M205.599,94.567c0-11.668-24.914-21.129-55.628-21.129 c-30.723,0-55.624,9.46-55.624,21.129c0,10.203,24.901,7.346,55.624,7.346C180.685,101.913,205.599,104.233,205.599,94.567z"/>
<path id="scarab_torso" d="M136.423,161.506c0,0,12.751,12.577,13.547,13.362 c2.262-2.232,13.545-13.362,13.545-13.362c7.135-7.036,87.111-6.399,91.066-6.363c-0.469-6.298-1.254-12.472-2.325-18.519 c-15.183-19.279-42.811-32.225-74.485-32.225h-55.518c-31.745,0-59.439,13.011-74.598,32.37c-1.054,6-1.829,12.128-2.296,18.374 C49.321,155.106,129.288,154.47,136.423,161.506z"/>
<path id="scarab_spine" d="M149.97,301.187c2.005-24.729,8.386-103.483,8.405-103.721 c-0.09-0.219-6.478-15.578-8.405-20.214c-1.936,4.655-8.316,19.995-8.408,20.214C141.582,197.704,147.965,276.458,149.97,301.187z"/>
<path id="scarab_wing_left" d="M140.403,197.149l8.862-21.31l-13.686-13.499 c-5.65-5.573-67.074-6.235-90.259-6.019l-0.006-0.622c-0.154,2.144-0.271,4.302-0.35,6.475 c-0.076,2.207,10.392,4.706,10.392,6.717c0,2.319-10.457,5.084-10.359,7.631c2.993,73.349,48.53,131.631,104.372,132.048 l-9.02-111.29L140.403,197.149z"/>
<path id="scarab_wing_right" d="M244.585,168.891c0-2.011,10.467-4.506,10.391-6.715 c-0.079-2.174-0.195-4.332-0.351-6.479l-0.004,0.624c-23.186-0.216-84.608,0.445-90.26,6.017l-13.688,13.502l8.915,21.438 l-9.017,111.29c55.854-0.417,101.378-58.698,104.373-132.049C255.04,173.976,244.585,171.209,244.585,168.891z"/>
<path id="scarab_leg_front_left" d="M44.506,141.12c-4.135-0.856-4.895-1.54-7.935-2.92 c-9.59-3.364-10.376-5.481-16.08-11.86c-7.426-8.306-12.661-20.142-17.1-29.463c-3.576-7.525-3.984-16.409-2.86-24.273 c0.991-6.935,7.144-12.869,12.074-18.92c5.844-7.191,10.356-14.822,17.924-21.354c7.736-6.682,23.203-9.809,26.168-19.648 C57.86,8.819,54.334,1.766,61.482,0c-0.366,4.703,3.639,8.477,2.397,13.575c-1.129,4.627-4.368,5.811-9.611,9.099 c-7.564,4.746-18.366,8.779-24.748,13.965c-7.175,5.827-4.369,13.771-10.569,20.057c-2.001,2.03-7.901,4.706-9.137,6.83 c-1.861,3.199-0.297,9.572-0.116,13.12c0.425,8.284,5.588,14.244,9.555,22.045c4.152,8.141,6.429,15.409,13.411,22.519 c4.183,4.262,11.429,4.802,16.21,10.647l-3.555,4.186L44.506,141.12z"/>
<path id="scarab_leg_middle_left" d="M43.94,191.922l-0.809-7.346 c-9.506-4.579-10.339-9.772-20.738-12.466c-23.728-6.151-21.361,11.25-15.532,26.373c5.676,14.726,8.237,30.23,14.345,44.795 c2.805,6.688,6.919,13.213,14.298,15.127c0.372-8.435-0.917-10.651-6.113-16.919c-4.395-5.293-3.326-12.548-6.072-18.504 c-3.581-7.804-4.196-15.646-7.279-23.502c-1.363-3.479-8.33-13.966-6.452-17.861c3.183-6.603,9.178-0.083,12.179,2.077 c4.218,3.036,6.467,2.223,11.681,2.898C34.041,186.673,37.005,188.756,43.94,191.922z"/>
<path id="scarab_leg_back_left" d="M65.839,257.063l-2.771-4.837 c-6.68,8.928-6.993,16.228-10.056,23.347c-5.277,12.263-0.157,28.851,9.854,37.676c6.052,5.375,15.907,9.618,23.122,13.136 c10.035,4.892,20.113,11.286,31.336,13.396c2.482,0.466,8.798,1.295,6.693-3.522c-0.975-2.237-8.091-4.591-10.146-5.734 c-8.312-4.623-16.377-10.524-24.142-16.176c-9.498-6.862-20.843-11.186-28.311-20.684c-3.054-3.885-3.544-4.922-2.816-9.39 c0.693-4.263,1.344-9.174,2.241-13.439C61.855,266.029,63.274,261.378,65.839,257.063z"/>
<path id="scarab_leg_front_right" d="M255.487,141.12c4.134-0.856,4.896-1.54,7.936-2.92 c9.583-3.364,10.369-5.481,16.071-11.86c7.428-8.306,12.661-20.142,17.115-29.463c3.574-7.525,3.983-16.409,2.86-24.273 c-0.992-6.935-7.157-12.869-12.087-18.92c-5.843-7.191-10.356-14.822-17.919-21.354c-7.735-6.682-23.202-9.809-26.167-19.648 C242.135,8.819,245.66,1.766,238.511,0c0.366,4.703-3.637,8.477-2.396,13.575c1.131,4.627,4.368,5.811,9.611,9.099 c7.563,4.746,18.367,8.779,24.747,13.965c7.17,5.827,4.362,13.771,10.563,20.057c2.001,2.03,7.901,4.706,9.139,6.83 c1.859,3.199,0.295,9.572,0.113,13.12c-0.424,8.284-5.588,14.244-9.553,22.045c-4.152,8.141-6.431,15.409-13.404,22.519 c-4.184,4.262-11.429,4.802-16.211,10.647l3.556,4.186L255.487,141.12z"/>
<path id="scarab_leg_middle_right" d="M256.053,191.922l0.81-7.346 c9.507-4.579,10.34-9.772,20.73-12.466c23.741-6.151,21.374,11.25,15.534,26.373c-5.676,14.726-8.238,30.23-14.347,44.795 c-2.804,6.688-6.911,13.213-14.291,15.127c-0.371-8.435,0.918-10.651,6.113-16.919c4.39-5.293,3.319-12.548,6.066-18.504 c3.58-7.804,4.197-15.646,7.278-23.502c1.363-3.479,8.33-13.966,6.453-17.861c-3.184-6.603-9.179-0.083-12.181,2.077 c-4.217,3.036-6.458,2.223-11.672,2.898C265.951,186.673,262.986,188.756,256.053,191.922z"/>
<path id="scarab_leg_back_right" d="M234.155,257.063l2.771-4.837 c6.679,8.928,6.991,16.228,10.057,23.347c5.274,12.263,0.154,28.851-9.854,37.676c-6.055,5.375-15.903,9.618-23.117,13.136 c-10.034,4.892-20.127,11.286-31.351,13.396c-2.481,0.466-8.789,1.295-6.691-3.522c0.976-2.237,8.092-4.591,10.146-5.734 c8.312-4.623,16.392-10.524,24.155-16.176c9.498-6.862,20.838-11.186,28.305-20.684c3.055-3.885,3.543-4.922,2.818-9.39 c-0.696-4.263-1.346-9.174-2.244-13.439C238.137,266.029,236.718,261.378,234.155,257.063z"/>
</g>
</g>
<g id="bullet">
<use xlink:href="#scarab" transform="translate(-0.6, -0.4), scale(0.05882352941176)"/>
</g>
<g id="freedesktop_org_logo" style="fill:#FFFFFF;stroke:#3B80AE;stroke-width:2.4588;">
<g>
<path style="stroke:#BABABA;" d="M85.277,40.796c2.058,7.884-2.667,15.942-10.551,17.999L27.143,71.21c-7.884,2.057-15.943-2.667-18-10.552
l-7.448-28.55c-2.057-7.884,2.667-15.942,10.551-17.999L59.83,1.695c7.884-2.057,15.942,2.667,17.999,10.551
l7.449,28.55z"/>
<path style="fill:#3B80AE;stroke:none;" d="M80.444,39.778c1.749,7.854-1.816,13.621-9.504,15.447l-42.236,11.02c-7.569,2.396-14.089-1.181
-15.838-8.836L6.53,33.127c-1.749-8.145,0.709-12.889,9.503-15.447L58.27,6.661
c8.144-1.826,14.089,1.363,15.838,8.835l6.336,24.282z"/>
</g>
<path style="opacity:0.5;fill:none;stroke:#FFFFFF;" d="M45.542,51.793L24.104,31.102l38.1-4.393L45.542,51.793z"/>
<path d="M72.325,28.769c0.405,1.55-0.525,3.136-2.075,3.541l-12.331,3.217c-1.551,0.404-3.137-0.525-3.542-2.076l-2.295-8.801
c-0.405-1.551,0.524-3.137,2.076-3.542l12.33-3.217c1.551-0.405,3.137,0.525,3.542,2.076l2.295,8.801z"/>
<path d="M36.51,33.625c0.496,1.9-0.645,3.844-2.545,4.34l-15.112,3.943c-1.901,0.496-3.845-0.644-4.34-2.544l-2.814-10.786
c-0.496-1.901,0.644-3.844,2.544-4.34l15.113-3.942c1.901-0.496,3.845,0.643,4.34,2.544l2.814,10.786z"/>
<path d="M52.493,53.208c0.278,1.065-0.36,2.154-1.425,2.432L42.6,57.848c-1.064,0.277-2.153-0.36-2.431-1.426l-1.577-6.043
c-0.277-1.064,0.36-2.153,1.425-2.432l8.468-2.209c1.064-0.277,2.154,0.361,2.431,1.426l1.577,6.043z"/>
</g>
</defs>
<g id="watermark" transform="translate(435, 140), rotate(-40), scale(2)" fill-opacity="0.08" stroke-opacity="0.08">
<!-- <use xlink:href="#dung" x="0" y="0" /> -->
<use xlink:href="#hacker_emblem" x="0" y="0" transform="scale(9)"/>
<use xlink:href="#scarab" x="0" y="170"/>
</g>
<rect x="-512" y="0" width="2048" height="50" fill="#3B80AE" fill-opacity="0.3" />
<use xlink:href="#cairo_logo_bottomright-centered" x="0" y="0" transform="translate(70, 70), scale(0.15)" />
<use xlink:href="#cairo_text" x="0" y="0" transform="translate(80, 70), scale(0.55), translate(150, 0)" />
<use xlink:href="#freedesktop_org_logo" transform="translate(910, 12)" />
<g id="slide_title" transform="translate(512, 153)">
<rect stroke="#bababa" fill="none"
x="-365"
y="-55"
width="730"
height="80"
rx="10" ry="10"
/>
<rect fill="#bababa" fill-opacity="0.3"
x="-360"
y="-50"
width="720"
height="70"
rx="10" ry="10"
/>
<text text-anchor="middle"
fill="black"
font-family="sans"
x="0"
y="10" font-size="55"
ss:variable="title">Slide Title</text>
</g>
<g ss:region="default">
<rect x="100" y="200" width="824" height="480" fill="none" stroke="blue"/>
<text font-size="40" fill="black" font-family="sans"
x="100" y="232">Slide content</text>
</g>
</svg>
--- NEW FILE: cairo.xml ---
<?xml version="1.0" encoding="utf-8"?>
<svgslides xmlns="http://www.svgslides.org/svgslides0.1"
xmlns:svg="http://www.w3.org/2000/svg"
>
<slides theme="cairo" bullet="bullet" presentation="cairo status">
<slide variant="title">
<ul>
<lc>Keith Packard</lc>
<lc>cairographics.org</lc>
<lc>keithp at keithp.com</lc>
<lc>2005-06-20</lc>
</ul>
</slide>
<slide title="cairo status report">
<ul>
<li>API stabilization</li>
<li>Backend Capabilities</li>
<li>Internal work</li>
</ul>
</slide>
<slide title="API stabilization">
<ul>
<li>Big transition from 0.4 to 0.5</li>
<li>Last chance to make things right</li>
<li>No more changes for 1.0</li>
<li>Still adding a few things</li>
</ul>
</slide>
<slide title="API Changes">
<ul>
<li>cairo_create now takes surface</li>
<li>cairo_matrix_t exposed structure</li>
<li>added user_data to objects</li>
<li>callback-based file access</li>
<li>consistent rendering model</li>
<li>yet another font API rework</li>
<li>non-callback cairo_copy_path</li>
<li>No more PNG surfaces</li>
</ul>
</slide>
<slide title="rendering model">
<ul>
<li>Target, Source, Mask</li>
<li>Source and Mask are Patterns</li>
<li>Target is a Surface</li>
<li>Patterns are Surfaces, Solids and Gradients</li>
<li>Target = (Source IN Mask) OP Target</li>
</ul>
</slide>
<slide title="Font API">
<ul>
<li>cairo_font_face_t - unscaled face</li>
<li>cairo_scaled_font_t - face at device size</li>
<li>Separate font matrix from CTM</li>
<li>Measure text without cairo_t</li>
<li>Fonts are output-independent</li>
</ul>
</slide>
<slide title="Backends">
<ul>
<li>X backend mature</li>
<li>New ârealâ PDF backend</li>
<li>Meta surfaces</li>
<li>âRealâ PostScript backend</li>
<li>Windows backend uses windows fonts</li>
<li>Mac OS X backend currently broken</li>
</ul>
</slide>
<slide title="Internal work">
<ul>
<li>Tesselation algorithm</li>
<li>Trapezoid fills</li>
<li>Compositing code</li>
<li>Glyph management</li>
<li>Meta surfaces</li>
</ul>
</slide>
<slide title="Tesselation">
<ul>
<li>Complex polygons to trapezoids</li>
<li>Intersections are hard</li>
<li>Minimizing total edge length</li>
<li>O(n log n) is possible</li>
<li>Current code is O(n³)</li>
</ul>
</slide>
<slide title="Intersections">
<ul>
<li>Intersections rounded to coordinate grid</li>
<li>Moving these creates more intersections</li>
<li>Number of new intersections unbounded</li>
</ul>
<img src="intersect-before.svg"
x="0.0"
y="1.0"
x-align="left"
y-align="bottom"/>
<img src="intersect-after.svg"
x="1.0"
y="1.0"
x-align="right"
y-align="bottom"/>
</slide>
<slide title="Solving Intersections">
<ul>
<li>John Hobby has clever trick</li>
<li>Box every snapped intersection</li>
<li>Move every line in the box to the same point</li>
</ul>
<img src="intersect-box.svg"
x="0.0"
y="1.0"
x-align="left"
y-align="bottom"/>
<img src="intersect-hobby.svg"
x="1.0"
y="1.0"
x-align="right"
y-align="bottom"/>
</slide>
<slide title="Optimal Tesselation">
<ul>
<li>Curves take lots of trapezoids</li>
<li>Many trapezoids in one pixel is slow</li>
<li>Optimal tesselation minimizes traps per pixel</li>
<li>A measure of this is total edge length</li>
<li>Pixel-aligned Rectangles are even faster</li>
<li>Need to explore many tesselations</li>
</ul>
</slide>
<slide title="Filling Trapezoids">
<ul>
<li>Render requires point sampled traps</li>
<li>Exact point sampling seems hard</li>
<li>Current code is simple, but slow</li>
</ul>
</slide>
<slide title="Compositing Code">
<ul>
<li>libpixman taken from fb/miregion code</li>
<li>Should eventually be shared code base</li>
<li>Hard to add new optimized case</li>
<ul>
<li>Hand-coded case selection</li>
<li>Should be machine generated</li>
</ul>
<li>General case code really slow</li>
<ul>
<li>Operates one pixel at a time</li>
<li>Should operate in larger pieces</li>
<li>Perhaps 8Ã8 âpatchesâ</li>
</ul>
</ul>
</slide>
<slide title="Glyph Management">
<ul>
<li>FreeType rasterizes glyphs, computes metrics</li>
<li>Metrics used in user-space</li>
<li>Glyph images passed to Render extension</li>
<li>Image backends re-use glyphs many times</li>
<li>Goal: Cache reused data, discard temp data</li>
</ul>
</slide>
<slide title="Meta Surfaces">
<ul>
<li>PostScript surface can't do all of cairo</li>
<li>Doing everything as pixels is bad</li>
<li>Solution: MetaSurfaces</li>
<li>Capture rendering commands in memory</li>
<li>Replay many times while producing output</li>
<li>Useful for procedural patterns too</li>
<li>MetaSurface patch exists, will land soon</li>
</ul>
</slide>
<slide title="Wrap-up">
<ul>
<li>cairo API now stable</li>
<li>Only new functions from now on</li>
<li>Backends coming along</li>
<li>Internal performance work remains</li>
<li>1.0 will be soon (early fall)</li>
</ul>
</slide>
</slides>
</svgslides>
--- NEW FILE: freedesktop-title.svg ---
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg version="1.0" width="1024" height="768"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:ss="http://www.svgslides.org/svgslides0.1"
font-family="cloister old style"
font-size="42"
fill="black"
>
<defs id="cairo-artwork_defs">
<g id="hacker_emblem">
<g id="hacker_emblem_grid" fill="white" stroke="none">
<rect x="-2.95" y="-3.05" width="6" height="0.1"/>
<rect x="2.95" y="-2.95" width="0.1" height="6"/>
<rect x="-3.05" y="2.95" width="6" height="0.1"/>
<rect x="-3.05" y="-3.05" width="0.1" height="6"/>
<rect x="-1.05" y="-2.95" width="0.1" height="5.9"/>
<rect x="0.95" y="-2.95" width="0.1" height="5.9"/>
<rect x="-2.95" y="-1.05" width="1.9" height="0.1"/>
<rect x="-0.95" y="-1.05" width="1.9" height="0.1"/>
<rect x="1.05" y="-1.05" width="1.9" height="0.1"/>
<rect x="-2.95" y="0.95" width="1.9" height="0.1"/>
<rect x="-0.95" y="0.95" width="1.9" height="0.1"/>
<rect x="1.05" y="0.95" width="1.9" height="0.1"/>
</g>
<g id="hacker_emblem_dots" fill="white">
<circle cx="0" cy="-2" r="0.7"/>
<circle cx="2" cy="0" r="0.7"/>
<circle cx="-2" cy="2" r="0.7"/>
<circle cx="0" cy="2" r="0.7"/>
<circle cx="2" cy="2" r="0.7"/>
</g>
</g>
<g id="scarab" fill="#3B80AE">
<g transform="translate(-150, -170)">
<path id="scarab_head" d="M205.599,94.567c0-11.668-24.914-21.129-55.628-21.129 c-30.723,0-55.624,9.46-55.624,21.129c0,10.203,24.901,7.346,55.624,7.346C180.685,101.913,205.599,104.233,205.599,94.567z"/>
<path id="scarab_torso" d="M136.423,161.506c0,0,12.751,12.577,13.547,13.362 c2.262-2.232,13.545-13.362,13.545-13.362c7.135-7.036,87.111-6.399,91.066-6.363c-0.469-6.298-1.254-12.472-2.325-18.519 c-15.183-19.279-42.811-32.225-74.485-32.225h-55.518c-31.745,0-59.439,13.011-74.598,32.37c-1.054,6-1.829,12.128-2.296,18.374 C49.321,155.106,129.288,154.47,136.423,161.506z"/>
<path id="scarab_spine" d="M149.97,301.187c2.005-24.729,8.386-103.483,8.405-103.721 c-0.09-0.219-6.478-15.578-8.405-20.214c-1.936,4.655-8.316,19.995-8.408,20.214C141.582,197.704,147.965,276.458,149.97,301.187z"/>
<path id="scarab_wing_left" d="M140.403,197.149l8.862-21.31l-13.686-13.499 c-5.65-5.573-67.074-6.235-90.259-6.019l-0.006-0.622c-0.154,2.144-0.271,4.302-0.35,6.475 c-0.076,2.207,10.392,4.706,10.392,6.717c0,2.319-10.457,5.084-10.359,7.631c2.993,73.349,48.53,131.631,104.372,132.048 l-9.02-111.29L140.403,197.149z"/>
<path id="scarab_wing_right" d="M244.585,168.891c0-2.011,10.467-4.506,10.391-6.715 c-0.079-2.174-0.195-4.332-0.351-6.479l-0.004,0.624c-23.186-0.216-84.608,0.445-90.26,6.017l-13.688,13.502l8.915,21.438 l-9.017,111.29c55.854-0.417,101.378-58.698,104.373-132.049C255.04,173.976,244.585,171.209,244.585,168.891z"/>
<path id="scarab_leg_front_left" d="M44.506,141.12c-4.135-0.856-4.895-1.54-7.935-2.92 c-9.59-3.364-10.376-5.481-16.08-11.86c-7.426-8.306-12.661-20.142-17.1-29.463c-3.576-7.525-3.984-16.409-2.86-24.273 c0.991-6.935,7.144-12.869,12.074-18.92c5.844-7.191,10.356-14.822,17.924-21.354c7.736-6.682,23.203-9.809,26.168-19.648 C57.86,8.819,54.334,1.766,61.482,0c-0.366,4.703,3.639,8.477,2.397,13.575c-1.129,4.627-4.368,5.811-9.611,9.099 c-7.564,4.746-18.366,8.779-24.748,13.965c-7.175,5.827-4.369,13.771-10.569,20.057c-2.001,2.03-7.901,4.706-9.137,6.83 c-1.861,3.199-0.297,9.572-0.116,13.12c0.425,8.284,5.588,14.244,9.555,22.045c4.152,8.141,6.429,15.409,13.411,22.519 c4.183,4.262,11.429,4.802,16.21,10.647l-3.555,4.186L44.506,141.12z"/>
<path id="scarab_leg_middle_left" d="M43.94,191.922l-0.809-7.346 c-9.506-4.579-10.339-9.772-20.738-12.466c-23.728-6.151-21.361,11.25-15.532,26.373c5.676,14.726,8.237,30.23,14.345,44.795 c2.805,6.688,6.919,13.213,14.298,15.127c0.372-8.435-0.917-10.651-6.113-16.919c-4.395-5.293-3.326-12.548-6.072-18.504 c-3.581-7.804-4.196-15.646-7.279-23.502c-1.363-3.479-8.33-13.966-6.452-17.861c3.183-6.603,9.178-0.083,12.179,2.077 c4.218,3.036,6.467,2.223,11.681,2.898C34.041,186.673,37.005,188.756,43.94,191.922z"/>
<path id="scarab_leg_back_left" d="M65.839,257.063l-2.771-4.837 c-6.68,8.928-6.993,16.228-10.056,23.347c-5.277,12.263-0.157,28.851,9.854,37.676c6.052,5.375,15.907,9.618,23.122,13.136 c10.035,4.892,20.113,11.286,31.336,13.396c2.482,0.466,8.798,1.295,6.693-3.522c-0.975-2.237-8.091-4.591-10.146-5.734 c-8.312-4.623-16.377-10.524-24.142-16.176c-9.498-6.862-20.843-11.186-28.311-20.684c-3.054-3.885-3.544-4.922-2.816-9.39 c0.693-4.263,1.344-9.174,2.241-13.439C61.855,266.029,63.274,261.378,65.839,257.063z"/>
<path id="scarab_leg_front_right" d="M255.487,141.12c4.134-0.856,4.896-1.54,7.936-2.92 c9.583-3.364,10.369-5.481,16.071-11.86c7.428-8.306,12.661-20.142,17.115-29.463c3.574-7.525,3.983-16.409,2.86-24.273 c-0.992-6.935-7.157-12.869-12.087-18.92c-5.843-7.191-10.356-14.822-17.919-21.354c-7.735-6.682-23.202-9.809-26.167-19.648 C242.135,8.819,245.66,1.766,238.511,0c0.366,4.703-3.637,8.477-2.396,13.575c1.131,4.627,4.368,5.811,9.611,9.099 c7.563,4.746,18.367,8.779,24.747,13.965c7.17,5.827,4.362,13.771,10.563,20.057c2.001,2.03,7.901,4.706,9.139,6.83 c1.859,3.199,0.295,9.572,0.113,13.12c-0.424,8.284-5.588,14.244-9.553,22.045c-4.152,8.141-6.431,15.409-13.404,22.519 c-4.184,4.262-11.429,4.802-16.211,10.647l3.556,4.186L255.487,141.12z"/>
<path id="scarab_leg_middle_right" d="M256.053,191.922l0.81-7.346 c9.507-4.579,10.34-9.772,20.73-12.466c23.741-6.151,21.374,11.25,15.534,26.373c-5.676,14.726-8.238,30.23-14.347,44.795 c-2.804,6.688-6.911,13.213-14.291,15.127c-0.371-8.435,0.918-10.651,6.113-16.919c4.39-5.293,3.319-12.548,6.066-18.504 c3.58-7.804,4.197-15.646,7.278-23.502c1.363-3.479,8.33-13.966,6.453-17.861c-3.184-6.603-9.179-0.083-12.181,2.077 c-4.217,3.036-6.458,2.223-11.672,2.898C265.951,186.673,262.986,188.756,256.053,191.922z"/>
<path id="scarab_leg_back_right" d="M234.155,257.063l2.771-4.837 c6.679,8.928,6.991,16.228,10.057,23.347c5.274,12.263,0.154,28.851-9.854,37.676c-6.055,5.375-15.903,9.618-23.117,13.136 c-10.034,4.892-20.127,11.286-31.351,13.396c-2.481,0.466-8.789,1.295-6.691-3.522c0.976-2.237,8.092-4.591,10.146-5.734 c8.312-4.623,16.392-10.524,24.155-16.176c9.498-6.862,20.838-11.186,28.305-20.684c3.055-3.885,3.543-4.922,2.818-9.39 c-0.696-4.263-1.346-9.174-2.244-13.439C238.137,266.029,236.718,261.378,234.155,257.063z"/>
</g>
</g>
<g id="bullet">
<use xlink:href="#dung" transform="translate(-0.6, -0.4), scale(0.005882352941176)"/>
</g>
<g id="freedesktop_org_logo" style="fill:#FFFFFF;stroke:#3B80AE;stroke-width:2.4588;">
<g>
<path style="stroke:#BABABA;" d="M85.277,40.796c2.058,7.884-2.667,15.942-10.551,17.999L27.143,71.21c-7.884,2.057-15.943-2.667-18-10.552 l-7.448-28.55c-2.057-7.884,2.667-15.942,10.551-17.999L59.83,1.695c7.884-2.057,15.942,2.667,17.999,10.551 l7.449,28.55z"/>
<path style="fill:#3B80AE;stroke:none;" d="M80.444,39.778c1.749,7.854-1.816,13.621-9.504,15.447l-42.236,11.02c-7.569,2.396-14.089-1.181 -15.838-8.836L6.53,33.127c-1.749-8.145,0.709-12.889,9.503-15.447L58.27,6.661 c8.144-1.826,14.089,1.363,15.838,8.835l6.336,24.282z"/>
</g>
<path style="opacity:0.5;fill:none;stroke:#FFFFFF;" d="M45.542,51.793L24.104,31.102l38.1-4.393L45.542,51.793z"/>
<path d="M72.325,28.769c0.405,1.55-0.525,3.136-2.075,3.541l-12.331,3.217c-1.551,0.404-3.137-0.525-3.542-2.076l-2.295-8.801 c-0.405-1.551,0.524-3.137,2.076-3.542l12.33-3.217c1.551-0.405,3.137,0.525,3.542,2.076l2.295,8.801z"/>
<path d="M36.51,33.625c0.496,1.9-0.645,3.844-2.545,4.34l-15.112,3.943c-1.901,0.496-3.845-0.644-4.34-2.544l-2.814-10.786 c-0.496-1.901,0.644-3.844,2.544-4.34l15.113-3.942c1.901-0.496,3.845,0.643,4.34,2.544l2.814,10.786z"/>
<path d="M52.493,53.208c0.278,1.065-0.36,2.154-1.425,2.432L42.6,57.848c-1.064,0.277-2.153-0.36-2.431-1.426l-1.577-6.043 c-0.277-1.064,0.36-2.153,1.425-2.432l8.468-2.209c1.064-0.277,2.154,0.361,2.431,1.426l1.577,6.043z"/>
</g>
</defs>
<g id="backdrop">
<radialGradient id="gradient_backdrop" cx="512" cy="384"
r="512" fx="512" fy="384" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#ffffff" stop-opacity="1.0"/>
<stop offset=".4" stop-color="#ffffff" stop-opacity="1.0"/>
<stop offset="1" stop-color="#ffffff" stop-opacity="0.0"/>
</radialGradient>
<rect x="0" y="0" width="1024" height="768"
fill="url(#gradient_backdrop)"/>
</g>
<g id="watermark">
<g transform="translate(100, 80),scale(9)" opacity="0.3">
<use xlink:href="#freedesktop_org_logo" x="0" y="0"/>
</g>
</g>
<rect x="-512" y="0" width="2048" height="50" fill="#3B80AE" fill-opacity="0.3"/>
<g transform="translate(983,10)">>
<g id="scale" transform="scale(5,5)"><g id="background" style="fill:#3B80AE;"><path d=" M 0,-1 C -0.67,-1 -1,-0.67 -1, 0 L -1,6 C -1,6.67 -0.67,7 0, 7 L 6 7 C 6.67,7 7,6.67 7, 6 L 7 0 C 7,-0.67 6.67,-1 6,-1 z"/></g><g id="border" style="fill:none; stroke-linejoin:round; stroke-linecap:butt; stroke-width:.2; stroke:#bababa;"><path d=" M 0 -1.5 C -1,-1.5 -1.5,-1 -1.5, 0 L -1.5, 6 C -1.5,7 -1,7.5 0, 7.5 L 6,7.5 C 7,7.5 7.5,7, 7.5,6 L 7.5,0 C 7.5,-1 7,-1.5 6,-1.5 z"/></g><g id="grid" style="fill:none; stroke-linejoin:round; stroke-linecap:butt; stroke:#9dc0d7;stroke-width:.2;"><path d="m 0 0 L 6 0 L 6 6 L 0 6 Z"/><path d="M 0 2 L 6 2"/><path d="M 0 4 L 6 4"/><path d="M 2 0 L 2 6"/><path d="M 4 0 L 4 6"/></g><g id="dots" style="fill:#ffffff"><ellipse cx="3" cy="1" rx=".7" ry=".7" id="C1"/><ellipse cx="5" cy="3" rx=".7" ry=".7" id="C1"/><ellipse cx="1" cy="5" rx=".7" ry=".7" id="C1"/><ellipse cx="3" cy="5" rx=".7" ry=".7" id="C1"/><ellipse cx="5" cy="5" rx=".7" ry=".7" id="C1"/></g></g></g>
<g id="slides_title_logo">
<use xlink:href="#freedesktop_org_logo" x="5" y="5"/>
</g>
<g id="slide_title" transform="translate(107, 112)">
<rect stroke="#bababa" fill="none" x="-0.5" y="-0.5"
width="831" height="71" rx="10" ry="10"/>
<rect fill="#bababa" fill-opacity="0.3" x="5" y="5" width="820" height="60" rx="10" ry="10"/>
<text ss:variable="presentation" x="415" y="55" font-size="52" text-anchor="middle">Slide Title</text>
</g>
<g ss:region="default" text-anchor="middle">
<rect x="512" y="300" width="2" height="350" fill="none" stroke="blue"/>
<text x="512" y="340">Default region</text>
</g>
</svg>
--- NEW FILE: freedesktop.svg ---
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg version="1.0" width="1024" height="768"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:ss="http://www.svgslides.org/svgslides0.1"
font-family="cloister old style"
font-size="42"
bullet="bullet"
>
<defs id="cairo-artwork_defs">
<g id="hacker_emblem">
<g id="hacker_emblem_grid" fill="white" stroke="none">
<rect x="-2.95" y="-3.05" width="6" height="0.1"/>
<rect x="2.95" y="-2.95" width="0.1" height="6"/>
<rect x="-3.05" y="2.95" width="6" height="0.1"/>
<rect x="-3.05" y="-3.05" width="0.1" height="6"/>
<rect x="-1.05" y="-2.95" width="0.1" height="5.9"/>
<rect x="0.95" y="-2.95" width="0.1" height="5.9"/>
<rect x="-2.95" y="-1.05" width="1.9" height="0.1"/>
<rect x="-0.95" y="-1.05" width="1.9" height="0.1"/>
<rect x="1.05" y="-1.05" width="1.9" height="0.1"/>
<rect x="-2.95" y="0.95" width="1.9" height="0.1"/>
<rect x="-0.95" y="0.95" width="1.9" height="0.1"/>
<rect x="1.05" y="0.95" width="1.9" height="0.1"/>
</g>
<g id="hacker_emblem_dots" fill="white">
<circle cx="0" cy="-2" r="0.7"/>
<circle cx="2" cy="0" r="0.7"/>
<circle cx="-2" cy="2" r="0.7"/>
<circle cx="0" cy="2" r="0.7"/>
<circle cx="2" cy="2" r="0.7"/>
</g>
</g>
<g id="scarab" fill="#3B80AE">
<g transform="translate(-150, -170)">
<path id="scarab_head" d="M205.599,94.567c0-11.668-24.914-21.129-55.628-21.129 c-30.723,0-55.624,9.46-55.624,21.129c0,10.203,24.901,7.346,55.624,7.346C180.685,101.913,205.599,104.233,205.599,94.567z"/>
<path id="scarab_torso" d="M136.423,161.506c0,0,12.751,12.577,13.547,13.362 c2.262-2.232,13.545-13.362,13.545-13.362c7.135-7.036,87.111-6.399,91.066-6.363c-0.469-6.298-1.254-12.472-2.325-18.519 c-15.183-19.279-42.811-32.225-74.485-32.225h-55.518c-31.745,0-59.439,13.011-74.598,32.37c-1.054,6-1.829,12.128-2.296,18.374 C49.321,155.106,129.288,154.47,136.423,161.506z"/>
<path id="scarab_spine" d="M149.97,301.187c2.005-24.729,8.386-103.483,8.405-103.721 c-0.09-0.219-6.478-15.578-8.405-20.214c-1.936,4.655-8.316,19.995-8.408,20.214C141.582,197.704,147.965,276.458,149.97,301.187z"/>
<path id="scarab_wing_left" d="M140.403,197.149l8.862-21.31l-13.686-13.499 c-5.65-5.573-67.074-6.235-90.259-6.019l-0.006-0.622c-0.154,2.144-0.271,4.302-0.35,6.475 c-0.076,2.207,10.392,4.706,10.392,6.717c0,2.319-10.457,5.084-10.359,7.631c2.993,73.349,48.53,131.631,104.372,132.048 l-9.02-111.29L140.403,197.149z"/>
<path id="scarab_wing_right" d="M244.585,168.891c0-2.011,10.467-4.506,10.391-6.715 c-0.079-2.174-0.195-4.332-0.351-6.479l-0.004,0.624c-23.186-0.216-84.608,0.445-90.26,6.017l-13.688,13.502l8.915,21.438 l-9.017,111.29c55.854-0.417,101.378-58.698,104.373-132.049C255.04,173.976,244.585,171.209,244.585,168.891z"/>
<path id="scarab_leg_front_left" d="M44.506,141.12c-4.135-0.856-4.895-1.54-7.935-2.92 c-9.59-3.364-10.376-5.481-16.08-11.86c-7.426-8.306-12.661-20.142-17.1-29.463c-3.576-7.525-3.984-16.409-2.86-24.273 c0.991-6.935,7.144-12.869,12.074-18.92c5.844-7.191,10.356-14.822,17.924-21.354c7.736-6.682,23.203-9.809,26.168-19.648 C57.86,8.819,54.334,1.766,61.482,0c-0.366,4.703,3.639,8.477,2.397,13.575c-1.129,4.627-4.368,5.811-9.611,9.099 c-7.564,4.746-18.366,8.779-24.748,13.965c-7.175,5.827-4.369,13.771-10.569,20.057c-2.001,2.03-7.901,4.706-9.137,6.83 c-1.861,3.199-0.297,9.572-0.116,13.12c0.425,8.284,5.588,14.244,9.555,22.045c4.152,8.141,6.429,15.409,13.411,22.519 c4.183,4.262,11.429,4.802,16.21,10.647l-3.555,4.186L44.506,141.12z"/>
<path id="scarab_leg_middle_left" d="M43.94,191.922l-0.809-7.346 c-9.506-4.579-10.339-9.772-20.738-12.466c-23.728-6.151-21.361,11.25-15.532,26.373c5.676,14.726,8.237,30.23,14.345,44.795 c2.805,6.688,6.919,13.213,14.298,15.127c0.372-8.435-0.917-10.651-6.113-16.919c-4.395-5.293-3.326-12.548-6.072-18.504 c-3.581-7.804-4.196-15.646-7.279-23.502c-1.363-3.479-8.33-13.966-6.452-17.861c3.183-6.603,9.178-0.083,12.179,2.077 c4.218,3.036,6.467,2.223,11.681,2.898C34.041,186.673,37.005,188.756,43.94,191.922z"/>
<path id="scarab_leg_back_left" d="M65.839,257.063l-2.771-4.837 c-6.68,8.928-6.993,16.228-10.056,23.347c-5.277,12.263-0.157,28.851,9.854,37.676c6.052,5.375,15.907,9.618,23.122,13.136 c10.035,4.892,20.113,11.286,31.336,13.396c2.482,0.466,8.798,1.295,6.693-3.522c-0.975-2.237-8.091-4.591-10.146-5.734 c-8.312-4.623-16.377-10.524-24.142-16.176c-9.498-6.862-20.843-11.186-28.311-20.684c-3.054-3.885-3.544-4.922-2.816-9.39 c0.693-4.263,1.344-9.174,2.241-13.439C61.855,266.029,63.274,261.378,65.839,257.063z"/>
<path id="scarab_leg_front_right" d="M255.487,141.12c4.134-0.856,4.896-1.54,7.936-2.92 c9.583-3.364,10.369-5.481,16.071-11.86c7.428-8.306,12.661-20.142,17.115-29.463c3.574-7.525,3.983-16.409,2.86-24.273 c-0.992-6.935-7.157-12.869-12.087-18.92c-5.843-7.191-10.356-14.822-17.919-21.354c-7.735-6.682-23.202-9.809-26.167-19.648 C242.135,8.819,245.66,1.766,238.511,0c0.366,4.703-3.637,8.477-2.396,13.575c1.131,4.627,4.368,5.811,9.611,9.099 c7.563,4.746,18.367,8.779,24.747,13.965c7.17,5.827,4.362,13.771,10.563,20.057c2.001,2.03,7.901,4.706,9.139,6.83 c1.859,3.199,0.295,9.572,0.113,13.12c-0.424,8.284-5.588,14.244-9.553,22.045c-4.152,8.141-6.431,15.409-13.404,22.519 c-4.184,4.262-11.429,4.802-16.211,10.647l3.556,4.186L255.487,141.12z"/>
<path id="scarab_leg_middle_right" d="M256.053,191.922l0.81-7.346 c9.507-4.579,10.34-9.772,20.73-12.466c23.741-6.151,21.374,11.25,15.534,26.373c-5.676,14.726-8.238,30.23-14.347,44.795 c-2.804,6.688-6.911,13.213-14.291,15.127c-0.371-8.435,0.918-10.651,6.113-16.919c4.39-5.293,3.319-12.548,6.066-18.504 c3.58-7.804,4.197-15.646,7.278-23.502c1.363-3.479,8.33-13.966,6.453-17.861c-3.184-6.603-9.179-0.083-12.181,2.077 c-4.217,3.036-6.458,2.223-11.672,2.898C265.951,186.673,262.986,188.756,256.053,191.922z"/>
<path id="scarab_leg_back_right" d="M234.155,257.063l2.771-4.837 c6.679,8.928,6.991,16.228,10.057,23.347c5.274,12.263,0.154,28.851-9.854,37.676c-6.055,5.375-15.903,9.618-23.117,13.136 c-10.034,4.892-20.127,11.286-31.351,13.396c-2.481,0.466-8.789,1.295-6.691-3.522c0.976-2.237,8.092-4.591,10.146-5.734 c8.312-4.623,16.392-10.524,24.155-16.176c9.498-6.862,20.838-11.186,28.305-20.684c3.055-3.885,3.543-4.922,2.818-9.39 c-0.696-4.263-1.346-9.174-2.244-13.439C238.137,266.029,236.718,261.378,234.155,257.063z"/>
</g>
</g>
<radialGradient id="gradient_radial_dung" cx="0" cy="0" r="60" fx="0" fy="0" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#9a9a9a"/>
<stop offset="0.70" stop-color="#bababa"/>
<stop offset="0.95" stop-color="#FFFFFF"/>
</radialGradient>
<g id="bullet">
<use xlink:href="#scarab" transform="translate(-0.6, -0.4), scale(0.05882352941176)"/>
</g>
<g id="freedesktop_org_logo" style="fill:#FFFFFF;stroke:#3B80AE;stroke-width:2.4588;">
<g>
<path style="stroke:#BABABA;" d="M85.277,40.796c2.058,7.884-2.667,15.942-10.551,17.999L27.143,71.21c-7.884,2.057-15.943-2.667-18-10.552 l-7.448-28.55c-2.057-7.884,2.667-15.942,10.551-17.999L59.83,1.695c7.884-2.057,15.942,2.667,17.999,10.551 l7.449,28.55z"/>
<path style="fill:#3B80AE;stroke:none;" d="M80.444,39.778c1.749,7.854-1.816,13.621-9.504,15.447l-42.236,11.02c-7.569,2.396-14.089-1.181 -15.838-8.836L6.53,33.127c-1.749-8.145,0.709-12.889,9.503-15.447L58.27,6.661 c8.144-1.826,14.089,1.363,15.838,8.835l6.336,24.282z"/>
</g>
<path style="opacity:0.5;fill:none;stroke:#FFFFFF;" d="M45.542,51.793L24.104,31.102l38.1-4.393L45.542,51.793z"/>
<path d="M72.325,28.769c0.405,1.55-0.525,3.136-2.075,3.541l-12.331,3.217c-1.551,0.404-3.137-0.525-3.542-2.076l-2.295-8.801 c-0.405-1.551,0.524-3.137,2.076-3.542l12.33-3.217c1.551-0.405,3.137,0.525,3.542,2.076l2.295,8.801z"/>
<path d="M36.51,33.625c0.496,1.9-0.645,3.844-2.545,4.34l-15.112,3.943c-1.901,0.496-3.845-0.644-4.34-2.544l-2.814-10.786 c-0.496-1.901,0.644-3.844,2.544-4.34l15.113-3.942c1.901-0.496,3.845,0.643,4.34,2.544l2.814,10.786z"/>
<path d="M52.493,53.208c0.278,1.065-0.36,2.154-1.425,2.432L42.6,57.848c-1.064,0.277-2.153-0.36-2.431-1.426l-1.577-6.043 c-0.277-1.064,0.36-2.153,1.425-2.432l8.468-2.209c1.064-0.277,2.154,0.361,2.431,1.426l1.577,6.043z"/>
</g>
</defs>
<g id="backdrop">
<!--
<radialGradient id="gradient_backdrop" cx="256" cy="384"
r="512" fx="256" fy="384" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#ffffff" stop-opacity="1.0"/>
<stop offset=".4" stop-color="#ffffff" stop-opacity="1.0"/>
<stop offset="1" stop-color="#ffffff" stop-opacity="0.0"/>
</radialGradient>
<rect x="0" y="0" width="1024" height="768"
fill="url(#gradient_backdrop)"/>
-->
<rect x="0" y="0" width="1024" height="768"
fill="#ffffff"/>
</g>
<g id="watermark">
<g transform="translate(100, 80),scale(9)" opacity="0.3">
<use xlink:href="#freedesktop_org_logo" x="0" y="0"/>
</g>
</g>
<rect x="-512" y="0" width="2048" height="50" fill="#3B80AE" fill-opacity="0.3"/>
<g transform="translate(983,10)">>
<g id="scale" transform="scale(5,5)"><g id="background" style="fill:#3B80AE;"><path d=" M 0,-1 C -0.67,-1 -1,-0.67 -1, 0 L -1,6 C -1,6.67 -0.67,7 0, 7 L 6 7 C 6.67,7 7,6.67 7, 6 L 7 0 C 7,-0.67 6.67,-1 6,-1 z"/></g><g id="border" style="fill:none; stroke-linejoin:round; stroke-linecap:butt; stroke-width:.2; stroke:#bababa;"><path d=" M 0 -1.5 C -1,-1.5 -1.5,-1 -1.5, 0 L -1.5, 6 C -1.5,7 -1,7.5 0, 7.5 L 6,7.5 C 7,7.5 7.5,7, 7.5,6 L 7.5,0 C 7.5,-1 7,-1.5 6,-1.5 z"/></g><g id="grid" style="fill:none; stroke-linejoin:round; stroke-linecap:butt; stroke:#9dc0d7;stroke-width:.2;"><path d="m 0 0 L 6 0 L 6 6 L 0 6 Z"/><path d="M 0 2 L 6 2"/><path d="M 0 4 L 6 4"/><path d="M 2 0 L 2 6"/><path d="M 4 0 L 4 6"/></g><g id="dots" style="fill:#ffffff"><ellipse cx="3" cy="1" rx=".7" ry=".7" id="C1"/><ellipse cx="5" cy="3" rx=".7" ry=".7" id="C1"/><ellipse cx="1" cy="5" rx=".7" ry=".7" id="C1"/><ellipse cx="3" cy="5" rx=".7" ry=".7" id="C1"/><ellipse cx="5" cy="5" rx=".7" ry=".7" id="C1"/></g></g></g>
<g id="slides_title_logo">
<use xlink:href="#freedesktop_org_logo" x="5" y="5"/>
</g>
<g id="slides_title" transform="translate(100,50)">
<text ss:variable="presentation" text-anchor="left" x="0" y="50"
>Presentation Title</text>
</g>
<g id="slide_title" transform="translate(107, 112)">
<rect stroke="#bababa" fill="none" x="-0.5" y="-0.5"
width="831" height="71" rx="10" ry="10"/>
<rect fill="#bababa" fill-opacity="0.3" x="5" y="5" width="820" height="60" rx="10" ry="10"/>
<text ss:variable="title" x="415" y="55" font-size="52" text-anchor="middle">Slide Title</text>
</g>
<g ss:region="default" text-anchor="left">
<rect x="107" y="192" width="830" height="520" fill="none" stroke="blue"/>
<text x="107" y="232">Default region</text>
</g>
<text ss:variable="slide-number" x="1000" y="740"
font-size="14">xx</text>
</svg>
--- NEW FILE: intersect-after.svg ---
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:ss="http://www.svgslides.org/svgslides0.1"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="440" height="250">
<g transform="scale(25,-25),translate(2,-7)"
style="stroke-width:0.03">
<g style="fill:none;stroke:#000000">
<path d="M -1,-2 L 5,3 L 9,5 L 0,0 L 5,3 L 13,6"/>
</g>
<g style="fill:#000000;stroke:none">
<circle cx="-1" cy="-2" r="0.15"/>
<circle cx="9" cy="5" r="0.15"/>
<circle cx="0" cy="0" r="0.15"/>
<circle cx="13" cy="6" r="0.15"/>
<circle cx="5" cy="3" r="0.15"/>
</g>
<g style="fill:none;stroke:#000000">
<circle cx="4.2" cy="2.333" r="0.15"/>
<circle cx="6.23" cy="3.46" r="0.15"/>
</g>
<g font-family="sans"
font-size="0.6"
transform="scale(1,-1),translate(.2,.6)">
<text x="-1" y="2">(-1,-2)</text>
<text x="0" y="0">(0,0)</text>
<text x="9" y="-5">(9,5)</text>
<text x="13" y="-6">(13,6)</text>
<text x="5" y="-3">(5,3)</text>
</g>
</g>
</svg>
--- NEW FILE: intersect-before.svg ---
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:ss="http://www.svgslides.org/svgslides0.1"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="440" height="250">
<g transform="scale(25,-25),translate(2,-7)"
style="stroke-width:0.03">
<g style="fill:none;stroke:#000000"
>
<path d="M -1,-2 L 9,5 L 0,0 L 13,6"/>
</g>
<g style="fill:#000000;stroke:none">
<circle cx="-1" cy="-2" r="0.15"/>
<circle cx="9" cy="5" r="0.15"/>
<circle cx="0" cy="0" r="0.15"/>
<circle cx="13" cy="6" r="0.15"/>
</g>
<g style="fill:none;stroke:#000000">
<circle cx="5.45" cy="2.52" r="0.15"/>
</g>
<g font-family="sans"
font-size="0.6"
transform="scale(1,-1),translate(.2,.6)"
>
<text x="-1" y="2">(-1,-2)</text>
<text x="0" y="0">(0,0)</text>
<text x="9" y="-5">(9,5)</text>
<text x="13" y="-6">(13,6)</text>
<text x="5.45" y="-2.52">(5.45,2.52)</text>
</g>
</g>
</svg>
--- NEW FILE: intersect-box.svg ---
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:ss="http://www.svgslides.org/svgslides0.1"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="440" height="250">
<g transform="scale(25,-25),translate(2,-7)"
style="stroke-width:0.03">
<g style="fill:none;stroke:#000000"
>
<path d="M -1,-2 L 9,5 L 0,0 L 13,6"/>
</g>
<g style="fill:#000000;stroke:none">
<circle cx="-1" cy="-2" r="0.15"/>
<circle cx="9" cy="5" r="0.15"/>
<circle cx="0" cy="0" r="0.15"/>
<circle cx="13" cy="6" r="0.15"/>
</g>
<g style="fill:none;stroke:#000000">
<circle cx="5.45" cy="2.52" r="0.15"/>
</g>
<g style="fill:none;stroke:#000000">
<rect x="4.5" y="2.5" width="1" height="1"/>
</g>
<g font-family="sans"
font-size="0.6"
transform="scale(1,-1),translate(.2,.6)"
>
<text x="-1" y="2">(-1,-2)</text>
<text x="0" y="0">(0,0)</text>
<text x="9" y="-5">(9,5)</text>
<text x="13" y="-6">(13,6)</text>
<text x="5.45" y="-2.52">(5.45,2.52)</text>
</g>
</g>
</svg>
--- NEW FILE: intersect-hobby.svg ---
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:ss="http://www.svgslides.org/svgslides0.1"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="440" height="250">
<g transform="scale(25,-25),translate(2,-7)"
style="stroke-width:0.03">
<g style="fill:none;stroke:#000000"
>
<path d="M -1,-2 L 5,3 L 9,5 M 0,0 L 5,3 L 13,6"/>
</g>
<g style="fill:#000000;stroke:none">
<circle cx="-1" cy="-2" r="0.15"/>
<circle cx="9" cy="5" r="0.15"/>
<circle cx="0" cy="0" r="0.15"/>
<circle cx="13" cy="6" r="0.15"/>
<circle cx="5" cy="3" r="0.15"/>
</g>
<g style="fill:none;stroke:#000000">
</g>
<g style="fill:none;stroke:#000000">
<rect x="4.5" y="2.5" width="1" height="1"/>
</g>
<g font-family="sans"
font-size="0.6"
transform="scale(1,-1),translate(.2,.6)"
>
<text x="-1" y="2">(-1,-2)</text>
<text x="0" y="0">(0,0)</text>
<text x="9" y="-5">(9,5)</text>
<text x="13" y="-6">(13,6)</text>
<text x="5" y="-3">(5,3)</text>
</g>
</g>
</svg>
More information about the Commit
mailing list