diff options
Diffstat (limited to 'doc')
30 files changed, 0 insertions, 6459 deletions
diff --git a/doc/tutorial/slides/.gitignore b/doc/tutorial/slides/.gitignore deleted file mode 100644 index 72a67a02c..000000000 --- a/doc/tutorial/slides/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -tutorial-???.html -tutorial-???.png -tutorial-???.svg -tutorial-index.xml -tutorial.pdf -index.html -*~ diff --git a/doc/tutorial/slides/cairo-blank.svg b/doc/tutorial/slides/cairo-blank.svg deleted file mode 100644 index ac91186fb..000000000 --- a/doc/tutorial/slides/cairo-blank.svg +++ /dev/null @@ -1,477 +0,0 @@ -<?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" - fill="black"> - - - <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" transform="translate(0,-97)"> - <g transform="scale(0.1484,0.1484)"> <g transform="translate(-1139,-208.5)"> - <!-- 63 (c), advance 444, 0 horiBearing 38,522 --> - <path transform="translate(65,0)" d=" - M 412, 433 - C 385, 422 336, 413 298, 413 - C 142, 413 38, 525 38, 680 - C 38, 826 144, 947 298, 947 - C 332, 947 377, 944 416, 926 - L 409, 842 - C 380, 861 340, 871 308, 871 - C 187, 871 138, 771 138, 680 - C 138, 583 197, 489 302, 489 - C 332, 489 368, 496 404, 511 - L 412, 433 " /> - <!-- 61 (a), advance 556, 0 horiBearing 46,522 --> - <path transform="translate(486.75,0)" d=" - M 109, 541 - C 147, 509 204, 489 257, 489 - C 351, 489 383, 534 383, 622 - C 346, 620 320, 620 283, 620 - C 186, 620 46, 660 46, 788 - C 46, 899 123, 947 233, 947 - C 319, 947 369, 900 391, 869 - L 393, 869 - L 393, 935 - L 481, 935 - C 479, 920 477, 893 477, 835 - L 477, 624 - C 477, 485 418, 413 272, 413 - C 207, 413 151, 433 104, 461 - L 109, 541 - M 383, 737 - C 383, 813 334, 871 241, 871 - C 198, 871 146, 842 146, 788 - C 146, 698 272, 690 323, 690 - C 343, 690 363, 692 383, 692 - L 383, 737 " /> - <!-- 69 (i), advance 278, 0 horiBearing 86,730 --> - <path transform="translate(1000,0)" d=" - M 92, 935 - L 186, 935 - L 186, 425 - L 92, 425 - L 92, 935 - M 88, 261 - A 51, 51 0 1 1 190,261 - A 51, 51 0 1 1 88,261" /> - <!-- 72 (r), advance 389, 0 horiBearing 80,522 --> - <path transform="translate(1234.25,0)" d=" - M 80, 935 - L 174, 935 - L 174, 703 - C 174, 575 229, 495 313, 495 - C 329, 495 348, 497 365, 504 - L 365, 420 - C 345, 416 331, 413 303, 413 - C 249, 413 195, 451 170, 504 - L 168, 504 - L 168, 425 - L 80, 425 - L 80, 935 " /> - <!-- 6f (o), advance 611, 0 horiBearing 46,522 --> - <path transform="translate(1610,0)" d=" - M 46, 680 - C 46, 826 152, 947 306, 947 - C 459, 947 565, 826 565, 680 - C 565, 525 461, 413 306, 413 - C 150, 413 46, 525 46, 680 - M 146, 680 - C 146, 583 205, 489 306, 489 - C 406, 489 465, 583 465, 680 - C 465, 771 416, 871 306, 871 - C 195, 871 146, 771 146, 680 " /> - <!-- bounds: 38, 205 <-> 2232, 947 --> - </g> </g> - </g> - - <!-- scaled by 0.72, shifted around to hit pixel boundaries --> - <g id="cairo_text_small_spaced" transform="translate(0,-71)"> - <g transform="scale(0.085,0.085)"> <g transform="translate(-1139,-208.5)"> - <!-- 63 (c), advance 444, 0 horiBearing 38,522 --> - <path transform="translate(-151,0)" d=" - M 412, 433 - C 385, 422 336, 413 298, 413 - C 142, 413 38, 525 38, 680 - C 38, 826 144, 947 298, 947 - C 332, 947 377, 944 416, 926 - L 409, 842 - C 380, 861 340, 871 308, 871 - C 187, 871 138, 771 138, 680 - C 138, 583 197, 489 302, 489 - C 332, 489 368, 496 404, 511 - L 412, 433 " /> - <!-- 61 (a), advance 556, 0 horiBearing 46,522 --> - <path transform="translate(379.5,0)" d=" - M 109, 541 - C 147, 509 204, 489 257, 489 - C 351, 489 383, 534 383, 622 - C 346, 620 320, 620 283, 620 - C 186, 620 46, 660 46, 788 - C 46, 899 123, 947 233, 947 - C 319, 947 369, 900 391, 869 - L 393, 869 - L 393, 935 - L 481, 935 - C 479, 920 477, 893 477, 835 - L 477, 624 - C 477, 485 418, 413 272, 413 - C 207, 413 151, 433 104, 461 - L 109, 541 - M 383, 737 - C 383, 813 334, 871 241, 871 - C 198, 871 146, 842 146, 788 - C 146, 698 272, 690 323, 690 - C 343, 690 363, 692 383, 692 - L 383, 737 " /> - <!-- 69 (i), advance 278, 0 horiBearing 86,730 --> - <path transform="translate(1000,0)" d=" - M 92, 935 - L 186, 935 - L 186, 425 - L 92, 425 - L 92, 935 - M 88, 261 - A 51, 51 0 1 1 190,261 - A 51, 51 0 1 1 88,261" /> - <!-- 72 (r), advance 389, 0 horiBearing 80,522 --> - <path transform="translate(1341.5,0)" d=" - M 80, 935 - L 174, 935 - L 174, 703 - C 174, 575 229, 495 313, 495 - C 329, 495 348, 497 365, 504 - L 365, 420 - C 345, 416 331, 413 303, 413 - C 249, 413 195, 451 170, 504 - L 168, 504 - L 168, 425 - L 80, 425 - L 80, 935 " /> - <!-- 6f (o), advance 611, 0 horiBearing 46,522 --> - <path transform="translate(1826,0)" d=" - M 46, 680 - C 46, 826 152, 947 306, 947 - C 459, 947 565, 826 565, 680 - C 565, 525 461, 413 306, 413 - C 150, 413 46, 525 46, 680 - M 146, 680 - C 146, 583 205, 489 306, 489 - C 406, 489 465, 583 465, 680 - C 465, 771 416, 871 306, 871 - C 195, 871 146, 771 146, 680 " /> - <!-- bounds: 38, 205 <-> 2232, 947 --> - </g> </g> - </g> - - - <!-- scaled by 0.72, shifted around to hit pixel boundaries --> - <g id="cairo_text_small" transform="translate(0,-71)"> - <g transform="scale(0.085,0.085)"> <g transform="translate(-1139,-208.5)"> - <!-- 63 (c), advance 444, 0 horiBearing 38,522 --> - <path transform="translate(-151,0)" d=" - M 412, 433 - C 385, 422 336, 413 298, 413 - C 142, 413 38, 525 38, 680 - C 38, 826 144, 947 298, 947 - C 332, 947 377, 944 416, 926 - L 409, 842 - C 380, 861 340, 871 308, 871 - C 187, 871 138, 771 138, 680 - C 138, 583 197, 489 302, 489 - C 332, 489 368, 496 404, 511 - L 412, 433 " /> - <!-- 61 (a), advance 556, 0 horiBearing 46,522 --> - <path transform="translate(261.75,0)" d=" - M 109, 541 - C 147, 509 204, 489 257, 489 - C 351, 489 383, 534 383, 622 - C 346, 620 320, 620 283, 620 - C 186, 620 46, 660 46, 788 - C 46, 899 123, 947 233, 947 - C 319, 947 369, 900 391, 869 - L 393, 869 - L 393, 935 - L 481, 935 - C 479, 920 477, 893 477, 835 - L 477, 624 - C 477, 485 418, 413 272, 413 - C 207, 413 151, 433 104, 461 - L 109, 541 - M 383, 737 - C 383, 813 334, 871 241, 871 - C 198, 871 146, 842 146, 788 - C 146, 698 272, 690 323, 690 - C 343, 690 363, 692 383, 692 - L 383, 737 " /> - <!-- 69 (i), advance 278, 0 horiBearing 86,730 --> - <path transform="translate(764.75)" d=" - M 92, 935 - L 186, 935 - L 186, 425 - L 92, 425 - L 92, 935 - M 88, 261 - A 51, 51 0 1 1 190,261 - A 51, 51 0 1 1 88,261" /> - <!-- 72 (r), advance 389, 0 horiBearing 80,522 --> - <path transform="translate(988.5,0)" d=" - M 80, 935 - L 174, 935 - L 174, 703 - C 174, 575 229, 495 313, 495 - C 329, 495 348, 497 365, 504 - L 365, 420 - C 345, 416 331, 413 303, 413 - C 249, 413 195, 451 170, 504 - L 168, 504 - L 168, 425 - L 80, 425 - L 80, 935 " /> - <!-- 6f (o), advance 611, 0 horiBearing 46,522 --> - <path transform="translate(1355.5,0)" d=" - M 46, 680 - C 46, 826 152, 947 306, 947 - C 459, 947 565, 826 565, 680 - C 565, 525 461, 413 306, 413 - C 150, 413 46, 525 46, 680 - M 146, 680 - C 146, 583 205, 489 306, 489 - C 406, 489 465, 583 465, 680 - C 465, 771 416, 871 306, 871 - C 195, 871 146, 771 146, 680 " /> - <!-- bounds: 38, 205 <-> 2232, 947 --> - </g> </g> - </g> - - <g id="cairo_logo_text_small"> - <!-- The logo on the left, the text 'cairo' on the right --> - <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(0, 78), scale(0.1944)" /> - <use xlink:href="#cairo_text_small" transform="translate(175,82)"/> - </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: 370x88, centered --> - <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(-180, 40), scale(0.1944)" /> - <use xlink:href="#cairo_text_small" transform="translate(0, 42)" fill="black" /> - <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(180, 40), scale(0.1944), scale(-1, 1)" /> - </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>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>g> - </defs> - - <!-- Blue bar at top of slide --> - <rect x="0" y="0" width="1024" height="170" fill="#162284" /> - - <g font-family="Frutiger"> - <!-- Slide title --> - <g id="slide_title" transform="translate(512, 133)"> - <text text-anchor="middle" - fill="white" - font-weight="bold" - x="0" - y="4" font-size="55" - ss:variable="title">Slide Title</text> - </g> - - <!-- Slide content --> - <g ss:region="default"> - <rect x="112" y="200" width="800" height="480" fill="none" stroke="blue"/> - <text font-size="35" fill="black" - x="112" y="232">Slide content</text> - </g> - - <!-- Footer --> - <text ss:variable="URL" x="1016" y="753" text-anchor="end" font-size="20">http://cairographics.org</text> - </g> - -</svg> diff --git a/doc/tutorial/slides/cairo-code.svg b/doc/tutorial/slides/cairo-code.svg deleted file mode 100644 index 09e26bf3a..000000000 --- a/doc/tutorial/slides/cairo-code.svg +++ /dev/null @@ -1,913 +0,0 @@ -<?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" - fill="black"> - - - - <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="#f19a14"> - <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> - <g id="dung_2_color"> - <!-- This would be simple a circle like so: - <circle cx="0" cy="0" r="48" stroke-width="2" fill="none" stroke="white"/> - but there appears to currently be a bug in the cairo - PDF backend that results in an ugly spike in that - case. So we use 8 splines instead. - --> - <path stroke-width="4" stroke="white" fill="none" d=" -M 48, 0 -C 48, 12.730391512298112, - 42.94287166245995, 24.939379331448613 - 33.941125496954285, 33.941125496954278 -C 24.939379331448624, 42.942871662459943 - 12.730391512298114, 48 - 0, 48 -C -12.730391512298109, 48, - -24.939379331448613, 42.94287166245995 - -33.941125496954278, 33.941125496954285 -C -42.942871662459943, 24.939379331448624, - -48, 12.730391512298118, - -48, 0, -C -48, -12.730391512298105, - -42.94287166245995, -24.939379331448613, - -33.941125496954285, -33.941125496954278 -C -24.939379331448624, -42.942871662459943, - -12.730391512298119, -48, - 0, -48 -C 12.730391512298104, -48, - 24.939379331448606, -42.942871662459943, - 33.941125496954271, -33.941125496954285 -C 42.942871662459936, -24.939379331448624, - 48, -12.730391512298123, - 48, 0" /> - <g transform="scale(9)" fill="white" stroke="none" stroke-width="0.22222"> - <!-- Hacker emblem grid --> - <!-- - <path stroke="white" fill="none" - d="M -3,-3 L 3,-3 L 3,3 L-3,3 Z - M -1,-3 L -1, 3 - M 1,-3 L 1, 3 - M -3,-1 L 3,-1 - M -3, 1 L 3, 1"/> - --> - - <!-- Hacker emblem dots --> - <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> - - <!-- 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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" transform="translate(0,-97)"> - <g transform="scale(0.1484,0.1484)"> <g transform="translate(-1139,-208.5)"> - <!-- 63 (c), advance 444, 0 horiBearing 38,522 --> - <path transform="translate(65,0)" d=" - M 412, 433 - C 385, 422 336, 413 298, 413 - C 142, 413 38, 525 38, 680 - C 38, 826 144, 947 298, 947 - C 332, 947 377, 944 416, 926 - L 409, 842 - C 380, 861 340, 871 308, 871 - C 187, 871 138, 771 138, 680 - C 138, 583 197, 489 302, 489 - C 332, 489 368, 496 404, 511 - L 412, 433 " /> - <!-- 61 (a), advance 556, 0 horiBearing 46,522 --> - <path transform="translate(486.75,0)" d=" - M 109, 541 - C 147, 509 204, 489 257, 489 - C 351, 489 383, 534 383, 622 - C 346, 620 320, 620 283, 620 - C 186, 620 46, 660 46, 788 - C 46, 899 123, 947 233, 947 - C 319, 947 369, 900 391, 869 - L 393, 869 - L 393, 935 - L 481, 935 - C 479, 920 477, 893 477, 835 - L 477, 624 - C 477, 485 418, 413 272, 413 - C 207, 413 151, 433 104, 461 - L 109, 541 - M 383, 737 - C 383, 813 334, 871 241, 871 - C 198, 871 146, 842 146, 788 - C 146, 698 272, 690 323, 690 - C 343, 690 363, 692 383, 692 - L 383, 737 " /> - <!-- 69 (i), advance 278, 0 horiBearing 86,730 --> - <path transform="translate(1000,0)" d=" - M 92, 935 - L 186, 935 - L 186, 425 - L 92, 425 - L 92, 935 - M 88, 261 - A 51, 51 0 1 1 190,261 - A 51, 51 0 1 1 88,261" /> - <!-- 72 (r), advance 389, 0 horiBearing 80,522 --> - <path transform="translate(1234.25,0)" d=" - M 80, 935 - L 174, 935 - L 174, 703 - C 174, 575 229, 495 313, 495 - C 329, 495 348, 497 365, 504 - L 365, 420 - C 345, 416 331, 413 303, 413 - C 249, 413 195, 451 170, 504 - L 168, 504 - L 168, 425 - L 80, 425 - L 80, 935 " /> - <!-- 6f (o), advance 611, 0 horiBearing 46,522 --> - <path transform="translate(1610,0)" d=" - M 46, 680 - C 46, 826 152, 947 306, 947 - C 459, 947 565, 826 565, 680 - C 565, 525 461, 413 306, 413 - C 150, 413 46, 525 46, 680 - M 146, 680 - C 146, 583 205, 489 306, 489 - C 406, 489 465, 583 465, 680 - C 465, 771 416, 871 306, 871 - C 195, 871 146, 771 146, 680 " /> - <!-- bounds: 38, 205 <-> 2232, 947 --> - </g> </g> - </g> - - <!-- scaled by 0.72, shifted around to hit pixel boundaries --> - <g id="cairo_text_small_spaced" transform="translate(0,-71)"> - <g transform="scale(0.085,0.085)"> <g transform="translate(-1139,-208.5)"> - <!-- 63 (c), advance 444, 0 horiBearing 38,522 --> - <path transform="translate(-151,0)" d=" - M 412, 433 - C 385, 422 336, 413 298, 413 - C 142, 413 38, 525 38, 680 - C 38, 826 144, 947 298, 947 - C 332, 947 377, 944 416, 926 - L 409, 842 - C 380, 861 340, 871 308, 871 - C 187, 871 138, 771 138, 680 - C 138, 583 197, 489 302, 489 - C 332, 489 368, 496 404, 511 - L 412, 433 " /> - <!-- 61 (a), advance 556, 0 horiBearing 46,522 --> - <path transform="translate(379.5,0)" d=" - M 109, 541 - C 147, 509 204, 489 257, 489 - C 351, 489 383, 534 383, 622 - C 346, 620 320, 620 283, 620 - C 186, 620 46, 660 46, 788 - C 46, 899 123, 947 233, 947 - C 319, 947 369, 900 391, 869 - L 393, 869 - L 393, 935 - L 481, 935 - C 479, 920 477, 893 477, 835 - L 477, 624 - C 477, 485 418, 413 272, 413 - C 207, 413 151, 433 104, 461 - L 109, 541 - M 383, 737 - C 383, 813 334, 871 241, 871 - C 198, 871 146, 842 146, 788 - C 146, 698 272, 690 323, 690 - C 343, 690 363, 692 383, 692 - L 383, 737 " /> - <!-- 69 (i), advance 278, 0 horiBearing 86,730 --> - <path transform="translate(1000,0)" d=" - M 92, 935 - L 186, 935 - L 186, 425 - L 92, 425 - L 92, 935 - M 88, 261 - A 51, 51 0 1 1 190,261 - A 51, 51 0 1 1 88,261" /> - <!-- 72 (r), advance 389, 0 horiBearing 80,522 --> - <path transform="translate(1341.5,0)" d=" - M 80, 935 - L 174, 935 - L 174, 703 - C 174, 575 229, 495 313, 495 - C 329, 495 348, 497 365, 504 - L 365, 420 - C 345, 416 331, 413 303, 413 - C 249, 413 195, 451 170, 504 - L 168, 504 - L 168, 425 - L 80, 425 - L 80, 935 " /> - <!-- 6f (o), advance 611, 0 horiBearing 46,522 --> - <path transform="translate(1826,0)" d=" - M 46, 680 - C 46, 826 152, 947 306, 947 - C 459, 947 565, 826 565, 680 - C 565, 525 461, 413 306, 413 - C 150, 413 46, 525 46, 680 - M 146, 680 - C 146, 583 205, 489 306, 489 - C 406, 489 465, 583 465, 680 - C 465, 771 416, 871 306, 871 - C 195, 871 146, 771 146, 680 " /> - <!-- bounds: 38, 205 <-> 2232, 947 --> - </g> </g> - </g> - - - <!-- scaled by 0.72, shifted around to hit pixel boundaries --> - <g id="cairo_text_small" transform="translate(0,-71)"> - <g transform="scale(0.085,0.085)"> <g transform="translate(-1139,-208.5)"> - <!-- 63 (c), advance 444, 0 horiBearing 38,522 --> - <path transform="translate(-151,0)" d=" - M 412, 433 - C 385, 422 336, 413 298, 413 - C 142, 413 38, 525 38, 680 - C 38, 826 144, 947 298, 947 - C 332, 947 377, 944 416, 926 - L 409, 842 - C 380, 861 340, 871 308, 871 - C 187, 871 138, 771 138, 680 - C 138, 583 197, 489 302, 489 - C 332, 489 368, 496 404, 511 - L 412, 433 " /> - <!-- 61 (a), advance 556, 0 horiBearing 46,522 --> - <path transform="translate(261.75,0)" d=" - M 109, 541 - C 147, 509 204, 489 257, 489 - C 351, 489 383, 534 383, 622 - C 346, 620 320, 620 283, 620 - C 186, 620 46, 660 46, 788 - C 46, 899 123, 947 233, 947 - C 319, 947 369, 900 391, 869 - L 393, 869 - L 393, 935 - L 481, 935 - C 479, 920 477, 893 477, 835 - L 477, 624 - C 477, 485 418, 413 272, 413 - C 207, 413 151, 433 104, 461 - L 109, 541 - M 383, 737 - C 383, 813 334, 871 241, 871 - C 198, 871 146, 842 146, 788 - C 146, 698 272, 690 323, 690 - C 343, 690 363, 692 383, 692 - L 383, 737 " /> - <!-- 69 (i), advance 278, 0 horiBearing 86,730 --> - <path transform="translate(764.75)" d=" - M 92, 935 - L 186, 935 - L 186, 425 - L 92, 425 - L 92, 935 - M 88, 261 - A 51, 51 0 1 1 190,261 - A 51, 51 0 1 1 88,261" /> - <!-- 72 (r), advance 389, 0 horiBearing 80,522 --> - <path transform="translate(988.5,0)" d=" - M 80, 935 - L 174, 935 - L 174, 703 - C 174, 575 229, 495 313, 495 - C 329, 495 348, 497 365, 504 - L 365, 420 - C 345, 416 331, 413 303, 413 - C 249, 413 195, 451 170, 504 - L 168, 504 - L 168, 425 - L 80, 425 - L 80, 935 " /> - <!-- 6f (o), advance 611, 0 horiBearing 46,522 --> - <path transform="translate(1355.5,0)" d=" - M 46, 680 - C 46, 826 152, 947 306, 947 - C 459, 947 565, 826 565, 680 - C 565, 525 461, 413 306, 413 - C 150, 413 46, 525 46, 680 - M 146, 680 - C 146, 583 205, 489 306, 489 - C 406, 489 465, 583 465, 680 - C 465, 771 416, 871 306, 871 - C 195, 871 146, 771 146, 680 " /> - <!-- bounds: 38, 205 <-> 2232, 947 --> - </g> </g> - </g> - - <g id="cairo_logo_text_small"> - <!-- The logo on the left, the text 'cairo' on the right --> - <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(0, 78), scale(0.1944)" /> - <use xlink:href="#cairo_text_small" fill="white" transform="translate(175,82)"/> - </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: 370x88, centered --> - <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(-180, 40), scale(0.1944)" /> - <use xlink:href="#cairo_text_small" transform="translate(0, 42)" fill="black" /> - <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(180, 40), scale(0.1944), scale(-1, 1)" /> - </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>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>g> - <g id="bullet"> - <use x="0" y="0" xlink:href="#cairo_logo" transform="translate(-6,-2) scale(0.1, 0.1)"/>> - </g> - <g id="redhat_logo_horizontal"> - <!-- 380x125 Red Hat log (horizontal layout) --> - <g fill="black" stroke="none" - transform="translate(0,124),scale(1,-1),translate(-214,-258)" - fill-rule="evenodd" - > - <!-- r --> - <path fill="black" d=" - M 367.0625 315.3203 - C 367.0625 320.8765 366.9463 324.9644 366.7227 328.6597 - L 375.811 328.6597 - L 376.2002 320.7764 - L 376.4971 320.7764 - C 378.5391 326.6221 383.3809 329.5996 387.8594 329.5996 - C 388.8843 329.5996 389.4824 329.5601 390.3218 329.373 - L 390.3218 319.4863 - C 389.3398 319.6763 388.4224 319.7842 387.1592 319.7842 - C 382.1597 319.7842 378.688 316.6006 377.751 311.8447 - C 377.5732 310.918 377.4805 309.8086 377.4805 308.6777 - L 377.4805 287.1504 - L 366.9766 287.1504 - L 367.0625 315.3203 - " /> - - <!-- e --> - <path fill="black" d=" - M 402.9927 305.0791 - C 403.2715 297.5586 409.0918 294.2695 415.814 294.2695 - C 420.6406 294.2695 424.0942 295.0234 427.2681 296.1924 - L 428.8232 288.9678 - C 425.269 287.4629 420.3413 286.3359 414.3149 286.3359 - C 400.8384 286.3359 392.9409 294.6592 392.9409 307.3809 - C 392.9409 318.8369 399.8911 329.6772 413.2437 329.6772 - C 426.7397 329.6772 431.1338 318.5771 431.1338 309.4893 - C 431.1338 307.5381 430.9624 305.9707 430.7593 305.0059 - L 402.9927 305.0791 - - M 421.2485 312.3926 - C 421.2954 316.2388 419.6206 322.5088 412.5903 322.5088 - C 406.1299 322.5088 403.4438 316.645 402.9722 312.3926 - L 421.2485 312.3926 - " /> - - <!-- d --> - <path fill="black" d=" - M 476.355 344.667 - L 465.8638 347.5083 - L 465.8638 324.1914 - L 465.6904 324.1914 - C 463.8335 327.2563 459.7407 329.5996 454.0571 329.5996 - C 444.0762 329.5996 435.3828 321.3374 435.4478 307.4307 - C 435.4478 294.6719 443.2983 286.2168 453.2119 286.2168 - C 459.2017 286.2168 464.2114 289.0723 466.6909 293.7217 - L 466.8779 293.7217 - L 467.3491 287.1504 - L 476.6997 287.1504 - C 476.5083 289.9717 476.355 294.543 476.355 298.792 - L 476.355 344.667 - - M 465.8638 305.1504 - C 465.8638 304.0479 465.7856 303.0234 465.5454 302.0869 - C 464.4873 297.5439 460.7734 294.6172 456.4819 294.6172 - C 449.8721 294.6172 446.0903 300.1885 446.0903 307.8164 - C 446.0903 315.5166 449.8384 321.4761 456.6016 321.4761 - C 461.3208 321.4761 464.6992 318.1484 465.6274 314.1064 - C 465.8071 313.2559 465.8638 312.208 465.8638 311.3711 - L 465.8638 305.1504 - " /> - - <!-- h --> - <path fill="black" d=" - M 503.7964 329.0176 - C 500.6836 329.0176 497.8926 328.1187 495.5493 326.6714 - C 493.1162 325.2461 491.1353 323.0464 489.959 320.7666 - L 489.7915 320.7666 - L 489.7915 341.0195 - L 485.7427 342.1226 - L 485.7427 287.1504 - L 489.7915 287.1504 - L 489.7915 312.1787 - C 489.7915 313.8408 489.9204 314.9946 490.3462 316.2109 - C 492.0928 321.3013 496.8896 325.4805 502.689 325.4805 - C 511.0664 325.4805 513.9673 318.7603 513.9673 311.3906 - L 513.9673 287.1504 - L 518.0137 287.1504 - L 518.0137 311.8359 - C 518.0137 327.0791 507.6753 329.0176 503.7964 329.0176 - " /> - - <!-- a --> - <path fill="black" d=" - M 554.3413 296.873 - C 554.3413 293.6357 554.4692 290.2832 554.9375 287.1504 - L 551.2085 287.1504 - L 550.6128 293.0156 - L 550.4209 293.0156 - C 548.438 289.8594 543.8765 286.2168 537.3726 286.2168 - C 529.1392 286.2168 525.3057 292.0117 525.3057 297.4688 - C 525.3057 306.9121 533.6421 312.6064 550.292 312.4321 - L 550.292 313.5234 - C 550.292 317.5718 549.5044 325.6475 539.8242 325.5859 - C 536.2446 325.5859 532.5132 324.6255 529.5513 322.5366 - L 528.2632 325.4805 - C 532.0015 328.0137 536.5659 329.0176 540.2705 329.0176 - C 552.0801 329.0176 554.3413 320.1509 554.3413 312.8379 - L 554.3413 296.873 - - M 550.292 309.0234 - C 541.3813 309.2813 529.6128 307.9336 529.6128 298.1055 - C 529.6128 292.2246 533.4946 289.5811 537.7578 289.5811 - C 544.5796 289.5811 548.4561 293.8018 549.8677 297.7871 - C 550.1646 298.6621 550.292 299.5371 550.292 300.2402 - L 550.292 309.0234 - " /> - - <!-- t --> - <path fill="black" d=" - M 570.459 337.0996 - L 570.459 328.0801 - L 582.1235 328.0801 - L 582.1235 324.7959 - L 570.459 324.7959 - L 570.459 298.1943 - C 570.459 292.9912 572.0757 289.7285 576.4692 289.7285 - C 578.5815 289.7285 580.0757 290.0078 581.1206 290.3711 - L 581.6099 287.2354 - C 580.2871 286.6836 578.4302 286.2539 575.9619 286.2539 - C 572.9741 286.2539 570.4995 287.1934 568.8994 289.1543 - C 567.0469 291.3057 566.4116 294.7412 566.4116 298.916 - L 566.4116 324.7959 - L 559.5059 324.7959 - L 559.5059 328.0801 - L 566.4116 328.0801 - L 566.4116 335.606 - L 570.459 337.0996 - " /> - - <!-- ® for 'redhat' --> - <path fill="black" d=" - M 335.5 288.9707 - L 336.0352 288.9707 - L 336.8408 287.6445 - L 337.3608 287.6445 - L 336.4888 288.9937 - C 336.9404 289.0498 337.2832 289.2881 337.2832 289.834 - C 337.2832 290.4385 336.9258 290.7051 336.2017 290.7051 - L 335.0366 290.7051 - L 335.0366 287.6445 - L 335.5 287.6445 - L 335.5 288.9707 - - M 335.5 289.3643 - L 335.5 290.3101 - L 336.1318 290.3101 - C 336.4531 290.3101 336.7979 290.2402 336.7979 289.8647 - C 336.7979 289.3916 336.4492 289.3643 336.0566 289.3643 - L 335.5 289.3643 - " /> - - <path fill="black" d=" - M 339.0439 289.1719 - C 339.0439 287.5176 337.7041 286.1763 336.0493 286.1763 - C 334.395 286.1763 333.0527 287.5176 333.0527 289.1719 - C 333.0527 290.8271 334.395 292.1675 336.0493 292.1675 - C 337.7041 292.1675 339.0439 290.8271 339.0439 289.1719 - - M 336.0493 291.6367 - C 334.6865 291.6367 333.5835 290.5332 333.5835 289.1719 - C 333.5835 287.8096 334.6865 286.7061 336.0493 286.7061 - C 337.4082 286.7061 338.5117 287.8096 338.5117 289.1719 - C 338.5117 290.5332 337.4082 291.6367 336.0493 291.6367 - " /> - - <!-- Black background behind The Shadowman --> - <path fill="black" d=" - M 326.4531 286.208 - C 324.1177 286.7451 321.6396 287.0801 319.1338 287.0801 - C 314.8496 287.0801 310.9502 286.3389 308.0732 285.1426 - C 307.7559 284.9844 307.5303 284.6533 307.5303 284.2764 - C 307.5303 284.1406 307.5654 283.999 307.6172 283.8838 - C 307.957 282.8975 307.3984 281.8281 304.6157 281.2158 - C 300.4883 280.3096 297.8833 276.0527 296.3916 274.6367 - C 294.6411 272.9756 289.6973 271.9531 290.4404 272.9434 - C 291.0225 273.7188 293.2485 276.1348 294.6016 278.748 - C 295.8125 281.083 296.8906 281.7461 298.375 283.9736 - C 298.811 284.627 300.4995 286.9219 300.9912 288.7373 - C 301.543 290.5107 301.356 292.7344 301.5679 293.6494 - C 301.8721 294.9697 303.1182 297.8369 303.2129 299.4531 - C 303.2666 300.3691 299.3916 298.1494 297.5532 298.1494 - C 295.7144 298.1494 293.9233 299.248 292.2808 299.3281 - C 290.248 299.4248 288.9414 297.7607 287.1025 298.0508 - C 286.0518 298.2178 285.167 299.1426 283.3311 299.2129 - C 280.7178 299.3086 277.5244 297.7607 271.5264 297.9531 - C 265.6255 298.1436 260.1753 305.4082 259.4312 306.5635 - C 258.5605 307.9199 257.4961 307.9199 256.335 306.8555 - C 255.1738 305.792 253.7432 306.627 253.3359 307.3389 - C 252.5615 308.6943 250.4927 312.6543 247.2881 313.4824 - C 242.8564 314.6309 240.6118 311.0283 240.9033 308.1621 - C 241.1987 305.252 243.0801 304.4375 243.9512 302.8906 - C 244.8213 301.3428 245.2671 300.3428 246.9053 299.6572 - C 248.0674 299.1758 248.5 298.458 248.1533 297.5049 - C 247.8506 296.6738 246.6416 296.4834 245.8477 296.4463 - C 244.1592 296.3662 242.9756 296.8242 242.1123 297.376 - C 241.1084 298.0137 240.292 298.9033 239.416 300.4131 - C 238.4023 302.0781 236.8052 302.8037 234.9453 302.8037 - C 234.0586 302.8037 233.2295 302.5693 232.4922 302.1895 - C 229.5771 300.6748 226.1064 299.7744 222.3706 299.7744 - L 218.1572 299.7734 - C 216.1064 305.8555 214.9951 312.3682 214.9951 319.1416 - C 214.9951 352.6064 242.1226 379.7334 275.5859 379.7334 - C 309.0498 379.7334 336.1758 352.6064 336.1758 319.1416 - C 336.1758 307 332.6035 295.6895 326.4531 286.208 - " /> - - <!-- The Shadowman's face --> - <path fill="white" d=" - M 326.4531 286.209 - C 324.1177 286.7461 321.6396 287.084 319.1338 287.084 - C 314.8496 287.084 310.9502 286.3418 308.0732 285.1436 - C 307.7559 284.9873 307.5303 284.6553 307.5303 284.2783 - C 307.5303 284.1416 307.5654 284.001 307.6172 283.8838 - C 307.957 282.8994 307.3984 281.8311 304.6157 281.2178 - C 300.4883 280.3115 297.8833 276.0537 296.3916 274.6416 - C 294.6411 272.9766 289.6973 271.9551 290.4404 272.9463 - C 291.0225 273.7197 293.2485 276.1367 294.6016 278.749 - C 295.8125 281.083 296.8906 281.75 298.375 283.9756 - C 298.811 284.627 300.4995 286.9238 300.9912 288.7402 - C 301.543 290.5117 301.356 292.7354 301.5679 293.6514 - C 301.8721 294.9727 303.1182 297.8379 303.2129 299.457 - C 303.2666 300.3721 299.3916 298.1504 297.5532 298.1504 - C 295.7144 298.1504 293.9233 299.251 292.2808 299.3301 - C 290.248 299.4258 288.9414 297.7627 287.1025 298.0518 - C 286.0518 298.2207 285.167 299.1465 283.3311 299.2148 - C 280.7178 299.3096 277.5244 297.7627 271.5264 297.9561 - C 265.6255 298.1475 260.1753 305.4121 259.4312 306.5674 - C 258.5605 307.9219 257.4961 307.9219 256.335 306.8574 - C 255.1738 305.7939 253.7432 306.6299 253.3359 307.3438 - C 252.5615 308.6963 250.4927 312.6553 247.2881 313.4854 - C 242.8564 314.6338 240.6118 311.0313 240.9033 308.1641 - C 241.1987 305.2539 243.0801 304.4395 243.9512 302.8926 - C 244.8213 301.3438 245.2671 300.3457 246.9053 299.6621 - C 248.0674 299.1768 248.5 298.4609 248.1533 297.5068 - C 247.8506 296.6768 246.6416 296.4873 245.8477 296.4492 - C 244.1592 296.3672 242.9756 296.8262 242.1123 297.376 - C 241.1084 298.0176 240.292 298.9043 239.416 300.416 - C 238.4023 302.0801 236.8052 302.8086 234.9453 302.8086 - C 234.0586 302.8086 233.2295 302.5723 232.4922 302.1934 - C 229.5771 300.6748 226.1064 299.7773 222.3706 299.7773 - L 218.1572 299.7744 - C 226.2363 275.8105 248.8965 258.5527 275.5859 258.5527 - C 296.9063 258.5527 315.6538 269.5635 326.4531 286.209 - " /> - - <!-- nose shadow --> - <path fill="black" d=" - M 288.9307 291.7637 - C 289.2422 291.46 289.7793 290.4375 289.1226 289.1396 - C 288.7544 288.4521 288.3579 287.9678 287.6489 287.4023 - C 286.7969 286.7188 285.1309 285.9307 282.8457 287.3799 - C 281.6172 288.1592 281.543 288.4209 279.8467 288.2012 - C 278.6348 288.043 278.1533 289.2656 278.5884 290.2832 - C 279.0244 291.2969 280.8145 292.1191 283.04 290.8135 - C 284.041 290.2256 285.6025 288.9844 286.9688 290.084 - C 287.5356 290.5381 287.875 290.8408 288.6611 291.75 - C 288.6963 291.7881 288.7461 291.8105 288.8018 291.8105 - C 288.8516 291.8105 288.8965 291.793 288.9307 291.7637 - " /> - - <!-- The Shadowman's red hat --> - <path fill="#cc0000" d=" - M 309.7769 335.2627 - C 309.1787 333.251 308.3271 330.6763 304.5391 328.7314 - C 303.9878 328.4497 303.7764 328.9126 304.0313 329.3477 - C 305.4629 331.7832 305.7168 332.3921 306.1328 333.3525 - C 306.7148 334.7568 307.02 336.7549 305.8618 340.9219 - C 303.5835 349.1221 298.8296 360.083 295.375 363.6392 - C 292.04 367.0698 285.998 368.0361 280.5371 366.6348 - C 278.5264 366.1191 274.5918 364.0732 267.2939 365.7168 - C 254.665 368.5605 252.7939 362.2368 252.0693 359.4824 - C 251.3438 356.7271 249.6045 348.897 249.6045 348.897 - C 249.0244 345.7085 248.2646 340.1631 267.874 336.4287 - C 277.0088 334.6885 277.4736 332.3276 277.8779 330.6289 - C 278.603 327.585 279.7627 325.8438 281.0674 324.9746 - C 282.373 324.1035 281.0674 323.3828 279.6187 323.2349 - C 275.7285 322.8311 261.3491 326.9541 252.8428 331.7881 - C 245.8828 336.0415 245.7656 339.8721 247.3584 343.1211 - C 236.8452 344.2573 228.9561 342.1348 227.5254 337.1582 - C 225.0693 328.6157 246.3047 314.0264 270.4839 306.7061 - C 295.8579 299.0225 321.9556 304.3857 324.8564 320.335 - C 326.1738 327.5811 320.0713 332.9419 309.7769 335.2627 - " /> - - <!-- shadow on hat --> - <path fill="black" d=" - M 270.8711 350.8813 - C 263.8721 350.375 263.145 349.6191 261.834 348.2227 - C 259.9854 346.2539 257.5508 350.7773 257.5508 350.7773 - C 256.0898 351.085 254.3179 353.4404 255.2744 355.6411 - C 256.2158 357.8174 257.9551 357.1641 258.5 356.4868 - C 259.1626 355.6621 260.5771 354.3125 262.4141 354.3613 - C 264.251 354.4097 266.3706 354.7959 269.3262 354.7959 - C 272.3213 354.7959 274.335 353.6777 274.4487 352.7168 - C 274.5459 351.8965 274.2061 351.1226 270.8711 350.8813 - " /> - - <!-- another shadow on hat --> - <path fill="black" d=" - M 278.2236 362.4463 - C 278.2129 362.4453 278.2021 362.4438 278.1919 362.4438 - C 278.084 362.4438 277.9961 362.5273 277.9961 362.6274 - C 277.9961 362.7007 278.041 362.7646 278.106 362.7939 - C 279.4629 363.5107 281.4873 364.0811 283.8042 364.3169 - C 284.499 364.3887 285.1787 364.4248 285.832 364.4307 - C 285.9478 364.4307 286.0615 364.4297 286.1787 364.4277 - C 290.062 364.3398 293.1719 362.7974 293.1255 360.9814 - C 293.0791 359.165 289.8955 357.7637 286.0112 357.8506 - C 284.7529 357.8794 283.5732 358.0615 282.5576 358.3545 - C 282.4385 358.3857 282.3506 358.4883 282.3506 358.6094 - C 282.3506 358.731 282.4385 358.834 282.5605 358.8638 - C 284.9839 359.4248 286.6191 360.3408 286.5039 361.207 - C 286.3511 362.3545 283.1816 362.979 279.4248 362.6011 - C 279.0137 362.5596 278.6118 362.5068 278.2236 362.4463 - " /> - - <!-- ® for The Shadowman --> - <path fill="black" d=" - M 588.3018 288.9707 - L 588.8369 288.9707 - L 589.6426 287.6445 - L 590.1626 287.6445 - L 589.2905 288.9937 - C 589.7422 289.0498 590.085 289.2881 590.085 289.834 - C 590.085 290.4385 589.7275 290.7051 589.0034 290.7051 - L 587.8384 290.7051 - L 587.8384 287.6445 - L 588.3018 287.6445 - L 588.3018 288.9707 - - M 588.3018 289.3643 - L 588.3018 290.3101 - L 588.9336 290.3101 - C 589.2549 290.3101 589.5996 290.2402 589.5996 289.8647 - C 589.5996 289.3916 589.251 289.3643 588.8584 289.3643 - L 588.3018 289.3643 - " /> - - <path fill="black" d=" - M 591.8457 289.1719 - C 591.8457 287.5176 590.5059 286.1763 588.8511 286.1763 - C 587.1968 286.1763 585.8545 287.5176 585.8545 289.1719 - C 585.8545 290.8271 587.1968 292.1675 588.8511 292.1675 - C 590.5059 292.1675 591.8457 290.8271 591.8457 289.1719 - - M 588.8511 291.6367 - C 587.4883 291.6367 586.3853 290.5332 586.3853 289.1719 - C 586.3853 287.8096 587.4883 286.7061 588.8511 286.7061 - C 590.21 286.7061 591.3135 287.8096 591.3135 289.1719 - C 591.3135 290.5332 590.21 291.6367 588.8511 291.6367 - " /> - - </g> - </g> - - </defs> - - <g id="watermark" transform="translate(200, 185), rotate(-50), scale(2.5)"> - <use xlink:href="#scarab" x="0" y="170" fill-opacity="0.2"/> - </g> - - - <!-- Blue bar at top of slide --> - <rect x="0" y="0" width="1024" height="170" fill="#162284" /> - - <!-- Scarab and "cairo" at upper-left --> - <g transform="translate(10,0)"> - <use stroke="none" xlink:href="#cairo_logo_text_small"/> - </g> - - <!-- Presentation title at upper-right --> - <text ss:variable="presentation-subtitle" text-anchor="end" - fill="white" x="1016" y="28" font-size="20">Presentation Sub-title</text> - - <!-- Red Hat logo at lower-left --> - <use xlink:href="#redhat_logo_horizontal" transform="translate(8,768),scale(.5,.5),translate(0, -125)" /> - - <g font-family="Frutiger"> - <!-- Slide title --> - <g id="slide_title" transform="translate(512, 133)"> - <text text-anchor="middle" - fill="white" - font-weight="bold" - x="0" - y="4" font-size="55" - ss:variable="title">Slide Title</text> - </g> - - <!-- Slide content --> - <g ss:region="default" font-family="Mono"> - <rect x="112" y="170" width="800" height="480" fill="none" stroke="blue"/> - <text font-size="20" fill="black" - x="112" y="190">Slide content</text> - </g> - - <!-- Footer --> - <text ss:variable="URL" x="1016" y="753" text-anchor="end" font-size="20">http://cairographics.org</text> - </g> - -</svg> diff --git a/doc/tutorial/slides/cairo-large-content.svg b/doc/tutorial/slides/cairo-large-content.svg deleted file mode 100644 index 5acf4c937..000000000 --- a/doc/tutorial/slides/cairo-large-content.svg +++ /dev/null @@ -1,899 +0,0 @@ -<?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" - fill="black"> - - - - <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="#f19a14"> - <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> - <g id="dung_2_color"> - <!-- This would be simple a circle like so: - <circle cx="0" cy="0" r="48" stroke-width="2" fill="none" stroke="white"/> - but there appears to currently be a bug in the cairo - PDF backend that results in an ugly spike in that - case. So we use 8 splines instead. - --> - <path stroke-width="4" stroke="white" fill="none" d=" -M 48, 0 -C 48, 12.730391512298112, - 42.94287166245995, 24.939379331448613 - 33.941125496954285, 33.941125496954278 -C 24.939379331448624, 42.942871662459943 - 12.730391512298114, 48 - 0, 48 -C -12.730391512298109, 48, - -24.939379331448613, 42.94287166245995 - -33.941125496954278, 33.941125496954285 -C -42.942871662459943, 24.939379331448624, - -48, 12.730391512298118, - -48, 0, -C -48, -12.730391512298105, - -42.94287166245995, -24.939379331448613, - -33.941125496954285, -33.941125496954278 -C -24.939379331448624, -42.942871662459943, - -12.730391512298119, -48, - 0, -48 -C 12.730391512298104, -48, - 24.939379331448606, -42.942871662459943, - 33.941125496954271, -33.941125496954285 -C 42.942871662459936, -24.939379331448624, - 48, -12.730391512298123, - 48, 0" /> - <g transform="scale(9)" fill="white" stroke="none" stroke-width="0.22222"> - <!-- Hacker emblem grid --> - <!-- - <path stroke="white" fill="none" - d="M -3,-3 L 3,-3 L 3,3 L-3,3 Z - M -1,-3 L -1, 3 - M 1,-3 L 1, 3 - M -3,-1 L 3,-1 - M -3, 1 L 3, 1"/> - --> - - <!-- Hacker emblem dots --> - <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> - - <!-- 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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" transform="translate(0,-97)"> - <g transform="scale(0.1484,0.1484)"> <g transform="translate(-1139,-208.5)"> - <!-- 63 (c), advance 444, 0 horiBearing 38,522 --> - <path transform="translate(65,0)" d=" - M 412, 433 - C 385, 422 336, 413 298, 413 - C 142, 413 38, 525 38, 680 - C 38, 826 144, 947 298, 947 - C 332, 947 377, 944 416, 926 - L 409, 842 - C 380, 861 340, 871 308, 871 - C 187, 871 138, 771 138, 680 - C 138, 583 197, 489 302, 489 - C 332, 489 368, 496 404, 511 - L 412, 433 " /> - <!-- 61 (a), advance 556, 0 horiBearing 46,522 --> - <path transform="translate(486.75,0)" d=" - M 109, 541 - C 147, 509 204, 489 257, 489 - C 351, 489 383, 534 383, 622 - C 346, 620 320, 620 283, 620 - C 186, 620 46, 660 46, 788 - C 46, 899 123, 947 233, 947 - C 319, 947 369, 900 391, 869 - L 393, 869 - L 393, 935 - L 481, 935 - C 479, 920 477, 893 477, 835 - L 477, 624 - C 477, 485 418, 413 272, 413 - C 207, 413 151, 433 104, 461 - L 109, 541 - M 383, 737 - C 383, 813 334, 871 241, 871 - C 198, 871 146, 842 146, 788 - C 146, 698 272, 690 323, 690 - C 343, 690 363, 692 383, 692 - L 383, 737 " /> - <!-- 69 (i), advance 278, 0 horiBearing 86,730 --> - <path transform="translate(1000,0)" d=" - M 92, 935 - L 186, 935 - L 186, 425 - L 92, 425 - L 92, 935 - M 88, 261 - A 51, 51 0 1 1 190,261 - A 51, 51 0 1 1 88,261" /> - <!-- 72 (r), advance 389, 0 horiBearing 80,522 --> - <path transform="translate(1234.25,0)" d=" - M 80, 935 - L 174, 935 - L 174, 703 - C 174, 575 229, 495 313, 495 - C 329, 495 348, 497 365, 504 - L 365, 420 - C 345, 416 331, 413 303, 413 - C 249, 413 195, 451 170, 504 - L 168, 504 - L 168, 425 - L 80, 425 - L 80, 935 " /> - <!-- 6f (o), advance 611, 0 horiBearing 46,522 --> - <path transform="translate(1610,0)" d=" - M 46, 680 - C 46, 826 152, 947 306, 947 - C 459, 947 565, 826 565, 680 - C 565, 525 461, 413 306, 413 - C 150, 413 46, 525 46, 680 - M 146, 680 - C 146, 583 205, 489 306, 489 - C 406, 489 465, 583 465, 680 - C 465, 771 416, 871 306, 871 - C 195, 871 146, 771 146, 680 " /> - <!-- bounds: 38, 205 <-> 2232, 947 --> - </g> </g> - </g> - - <!-- scaled by 0.72, shifted around to hit pixel boundaries --> - <g id="cairo_text_small_spaced" transform="translate(0,-71)"> - <g transform="scale(0.085,0.085)"> <g transform="translate(-1139,-208.5)"> - <!-- 63 (c), advance 444, 0 horiBearing 38,522 --> - <path transform="translate(-151,0)" d=" - M 412, 433 - C 385, 422 336, 413 298, 413 - C 142, 413 38, 525 38, 680 - C 38, 826 144, 947 298, 947 - C 332, 947 377, 944 416, 926 - L 409, 842 - C 380, 861 340, 871 308, 871 - C 187, 871 138, 771 138, 680 - C 138, 583 197, 489 302, 489 - C 332, 489 368, 496 404, 511 - L 412, 433 " /> - <!-- 61 (a), advance 556, 0 horiBearing 46,522 --> - <path transform="translate(379.5,0)" d=" - M 109, 541 - C 147, 509 204, 489 257, 489 - C 351, 489 383, 534 383, 622 - C 346, 620 320, 620 283, 620 - C 186, 620 46, 660 46, 788 - C 46, 899 123, 947 233, 947 - C 319, 947 369, 900 391, 869 - L 393, 869 - L 393, 935 - L 481, 935 - C 479, 920 477, 893 477, 835 - L 477, 624 - C 477, 485 418, 413 272, 413 - C 207, 413 151, 433 104, 461 - L 109, 541 - M 383, 737 - C 383, 813 334, 871 241, 871 - C 198, 871 146, 842 146, 788 - C 146, 698 272, 690 323, 690 - C 343, 690 363, 692 383, 692 - L 383, 737 " /> - <!-- 69 (i), advance 278, 0 horiBearing 86,730 --> - <path transform="translate(1000,0)" d=" - M 92, 935 - L 186, 935 - L 186, 425 - L 92, 425 - L 92, 935 - M 88, 261 - A 51, 51 0 1 1 190,261 - A 51, 51 0 1 1 88,261" /> - <!-- 72 (r), advance 389, 0 horiBearing 80,522 --> - <path transform="translate(1341.5,0)" d=" - M 80, 935 - L 174, 935 - L 174, 703 - C 174, 575 229, 495 313, 495 - C 329, 495 348, 497 365, 504 - L 365, 420 - C 345, 416 331, 413 303, 413 - C 249, 413 195, 451 170, 504 - L 168, 504 - L 168, 425 - L 80, 425 - L 80, 935 " /> - <!-- 6f (o), advance 611, 0 horiBearing 46,522 --> - <path transform="translate(1826,0)" d=" - M 46, 680 - C 46, 826 152, 947 306, 947 - C 459, 947 565, 826 565, 680 - C 565, 525 461, 413 306, 413 - C 150, 413 46, 525 46, 680 - M 146, 680 - C 146, 583 205, 489 306, 489 - C 406, 489 465, 583 465, 680 - C 465, 771 416, 871 306, 871 - C 195, 871 146, 771 146, 680 " /> - <!-- bounds: 38, 205 <-> 2232, 947 --> - </g> </g> - </g> - - - <!-- scaled by 0.72, shifted around to hit pixel boundaries --> - <g id="cairo_text_small" transform="translate(0,-71)"> - <g transform="scale(0.085,0.085)"> <g transform="translate(-1139,-208.5)"> - <!-- 63 (c), advance 444, 0 horiBearing 38,522 --> - <path transform="translate(-151,0)" d=" - M 412, 433 - C 385, 422 336, 413 298, 413 - C 142, 413 38, 525 38, 680 - C 38, 826 144, 947 298, 947 - C 332, 947 377, 944 416, 926 - L 409, 842 - C 380, 861 340, 871 308, 871 - C 187, 871 138, 771 138, 680 - C 138, 583 197, 489 302, 489 - C 332, 489 368, 496 404, 511 - L 412, 433 " /> - <!-- 61 (a), advance 556, 0 horiBearing 46,522 --> - <path transform="translate(261.75,0)" d=" - M 109, 541 - C 147, 509 204, 489 257, 489 - C 351, 489 383, 534 383, 622 - C 346, 620 320, 620 283, 620 - C 186, 620 46, 660 46, 788 - C 46, 899 123, 947 233, 947 - C 319, 947 369, 900 391, 869 - L 393, 869 - L 393, 935 - L 481, 935 - C 479, 920 477, 893 477, 835 - L 477, 624 - C 477, 485 418, 413 272, 413 - C 207, 413 151, 433 104, 461 - L 109, 541 - M 383, 737 - C 383, 813 334, 871 241, 871 - C 198, 871 146, 842 146, 788 - C 146, 698 272, 690 323, 690 - C 343, 690 363, 692 383, 692 - L 383, 737 " /> - <!-- 69 (i), advance 278, 0 horiBearing 86,730 --> - <path transform="translate(764.75)" d=" - M 92, 935 - L 186, 935 - L 186, 425 - L 92, 425 - L 92, 935 - M 88, 261 - A 51, 51 0 1 1 190,261 - A 51, 51 0 1 1 88,261" /> - <!-- 72 (r), advance 389, 0 horiBearing 80,522 --> - <path transform="translate(988.5,0)" d=" - M 80, 935 - L 174, 935 - L 174, 703 - C 174, 575 229, 495 313, 495 - C 329, 495 348, 497 365, 504 - L 365, 420 - C 345, 416 331, 413 303, 413 - C 249, 413 195, 451 170, 504 - L 168, 504 - L 168, 425 - L 80, 425 - L 80, 935 " /> - <!-- 6f (o), advance 611, 0 horiBearing 46,522 --> - <path transform="translate(1355.5,0)" d=" - M 46, 680 - C 46, 826 152, 947 306, 947 - C 459, 947 565, 826 565, 680 - C 565, 525 461, 413 306, 413 - C 150, 413 46, 525 46, 680 - M 146, 680 - C 146, 583 205, 489 306, 489 - C 406, 489 465, 583 465, 680 - C 465, 771 416, 871 306, 871 - C 195, 871 146, 771 146, 680 " /> - <!-- bounds: 38, 205 <-> 2232, 947 --> - </g> </g> - </g> - - <g id="cairo_logo_text_small"> - <!-- The logo on the left, the text 'cairo' on the right --> - <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(0, 78), scale(0.1944)" /> - <use xlink:href="#cairo_text_small" fill="white" transform="translate(175,82)"/> - </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: 370x88, centered --> - <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(-180, 40), scale(0.1944)" /> - <use xlink:href="#cairo_text_small" transform="translate(0, 42)" fill="black" /> - <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(180, 40), scale(0.1944), scale(-1, 1)" /> - </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>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>g> - <g id="bullet"> - <use x="0" y="0" xlink:href="#cairo_logo" transform="translate(-6,-2) scale(0.1, 0.1)"/>> - </g> - <g id="redhat_logo_horizontal"> - <!-- 380x125 Red Hat log (horizontal layout) --> - <g fill="black" stroke="none" - transform="translate(0,124),scale(1,-1),translate(-214,-258)" - fill-rule="evenodd" - > - <!-- r --> - <path fill="black" d=" - M 367.0625 315.3203 - C 367.0625 320.8765 366.9463 324.9644 366.7227 328.6597 - L 375.811 328.6597 - L 376.2002 320.7764 - L 376.4971 320.7764 - C 378.5391 326.6221 383.3809 329.5996 387.8594 329.5996 - C 388.8843 329.5996 389.4824 329.5601 390.3218 329.373 - L 390.3218 319.4863 - C 389.3398 319.6763 388.4224 319.7842 387.1592 319.7842 - C 382.1597 319.7842 378.688 316.6006 377.751 311.8447 - C 377.5732 310.918 377.4805 309.8086 377.4805 308.6777 - L 377.4805 287.1504 - L 366.9766 287.1504 - L 367.0625 315.3203 - " /> - - <!-- e --> - <path fill="black" d=" - M 402.9927 305.0791 - C 403.2715 297.5586 409.0918 294.2695 415.814 294.2695 - C 420.6406 294.2695 424.0942 295.0234 427.2681 296.1924 - L 428.8232 288.9678 - C 425.269 287.4629 420.3413 286.3359 414.3149 286.3359 - C 400.8384 286.3359 392.9409 294.6592 392.9409 307.3809 - C 392.9409 318.8369 399.8911 329.6772 413.2437 329.6772 - C 426.7397 329.6772 431.1338 318.5771 431.1338 309.4893 - C 431.1338 307.5381 430.9624 305.9707 430.7593 305.0059 - L 402.9927 305.0791 - - M 421.2485 312.3926 - C 421.2954 316.2388 419.6206 322.5088 412.5903 322.5088 - C 406.1299 322.5088 403.4438 316.645 402.9722 312.3926 - L 421.2485 312.3926 - " /> - - <!-- d --> - <path fill="black" d=" - M 476.355 344.667 - L 465.8638 347.5083 - L 465.8638 324.1914 - L 465.6904 324.1914 - C 463.8335 327.2563 459.7407 329.5996 454.0571 329.5996 - C 444.0762 329.5996 435.3828 321.3374 435.4478 307.4307 - C 435.4478 294.6719 443.2983 286.2168 453.2119 286.2168 - C 459.2017 286.2168 464.2114 289.0723 466.6909 293.7217 - L 466.8779 293.7217 - L 467.3491 287.1504 - L 476.6997 287.1504 - C 476.5083 289.9717 476.355 294.543 476.355 298.792 - L 476.355 344.667 - - M 465.8638 305.1504 - C 465.8638 304.0479 465.7856 303.0234 465.5454 302.0869 - C 464.4873 297.5439 460.7734 294.6172 456.4819 294.6172 - C 449.8721 294.6172 446.0903 300.1885 446.0903 307.8164 - C 446.0903 315.5166 449.8384 321.4761 456.6016 321.4761 - C 461.3208 321.4761 464.6992 318.1484 465.6274 314.1064 - C 465.8071 313.2559 465.8638 312.208 465.8638 311.3711 - L 465.8638 305.1504 - " /> - - <!-- h --> - <path fill="black" d=" - M 503.7964 329.0176 - C 500.6836 329.0176 497.8926 328.1187 495.5493 326.6714 - C 493.1162 325.2461 491.1353 323.0464 489.959 320.7666 - L 489.7915 320.7666 - L 489.7915 341.0195 - L 485.7427 342.1226 - L 485.7427 287.1504 - L 489.7915 287.1504 - L 489.7915 312.1787 - C 489.7915 313.8408 489.9204 314.9946 490.3462 316.2109 - C 492.0928 321.3013 496.8896 325.4805 502.689 325.4805 - C 511.0664 325.4805 513.9673 318.7603 513.9673 311.3906 - L 513.9673 287.1504 - L 518.0137 287.1504 - L 518.0137 311.8359 - C 518.0137 327.0791 507.6753 329.0176 503.7964 329.0176 - " /> - - <!-- a --> - <path fill="black" d=" - M 554.3413 296.873 - C 554.3413 293.6357 554.4692 290.2832 554.9375 287.1504 - L 551.2085 287.1504 - L 550.6128 293.0156 - L 550.4209 293.0156 - C 548.438 289.8594 543.8765 286.2168 537.3726 286.2168 - C 529.1392 286.2168 525.3057 292.0117 525.3057 297.4688 - C 525.3057 306.9121 533.6421 312.6064 550.292 312.4321 - L 550.292 313.5234 - C 550.292 317.5718 549.5044 325.6475 539.8242 325.5859 - C 536.2446 325.5859 532.5132 324.6255 529.5513 322.5366 - L 528.2632 325.4805 - C 532.0015 328.0137 536.5659 329.0176 540.2705 329.0176 - C 552.0801 329.0176 554.3413 320.1509 554.3413 312.8379 - L 554.3413 296.873 - - M 550.292 309.0234 - C 541.3813 309.2813 529.6128 307.9336 529.6128 298.1055 - C 529.6128 292.2246 533.4946 289.5811 537.7578 289.5811 - C 544.5796 289.5811 548.4561 293.8018 549.8677 297.7871 - C 550.1646 298.6621 550.292 299.5371 550.292 300.2402 - L 550.292 309.0234 - " /> - - <!-- t --> - <path fill="black" d=" - M 570.459 337.0996 - L 570.459 328.0801 - L 582.1235 328.0801 - L 582.1235 324.7959 - L 570.459 324.7959 - L 570.459 298.1943 - C 570.459 292.9912 572.0757 289.7285 576.4692 289.7285 - C 578.5815 289.7285 580.0757 290.0078 581.1206 290.3711 - L 581.6099 287.2354 - C 580.2871 286.6836 578.4302 286.2539 575.9619 286.2539 - C 572.9741 286.2539 570.4995 287.1934 568.8994 289.1543 - C 567.0469 291.3057 566.4116 294.7412 566.4116 298.916 - L 566.4116 324.7959 - L 559.5059 324.7959 - L 559.5059 328.0801 - L 566.4116 328.0801 - L 566.4116 335.606 - L 570.459 337.0996 - " /> - - <!-- ® for 'redhat' --> - <path fill="black" d=" - M 335.5 288.9707 - L 336.0352 288.9707 - L 336.8408 287.6445 - L 337.3608 287.6445 - L 336.4888 288.9937 - C 336.9404 289.0498 337.2832 289.2881 337.2832 289.834 - C 337.2832 290.4385 336.9258 290.7051 336.2017 290.7051 - L 335.0366 290.7051 - L 335.0366 287.6445 - L 335.5 287.6445 - L 335.5 288.9707 - - M 335.5 289.3643 - L 335.5 290.3101 - L 336.1318 290.3101 - C 336.4531 290.3101 336.7979 290.2402 336.7979 289.8647 - C 336.7979 289.3916 336.4492 289.3643 336.0566 289.3643 - L 335.5 289.3643 - " /> - - <path fill="black" d=" - M 339.0439 289.1719 - C 339.0439 287.5176 337.7041 286.1763 336.0493 286.1763 - C 334.395 286.1763 333.0527 287.5176 333.0527 289.1719 - C 333.0527 290.8271 334.395 292.1675 336.0493 292.1675 - C 337.7041 292.1675 339.0439 290.8271 339.0439 289.1719 - - M 336.0493 291.6367 - C 334.6865 291.6367 333.5835 290.5332 333.5835 289.1719 - C 333.5835 287.8096 334.6865 286.7061 336.0493 286.7061 - C 337.4082 286.7061 338.5117 287.8096 338.5117 289.1719 - C 338.5117 290.5332 337.4082 291.6367 336.0493 291.6367 - " /> - - <!-- Black background behind The Shadowman --> - <path fill="black" d=" - M 326.4531 286.208 - C 324.1177 286.7451 321.6396 287.0801 319.1338 287.0801 - C 314.8496 287.0801 310.9502 286.3389 308.0732 285.1426 - C 307.7559 284.9844 307.5303 284.6533 307.5303 284.2764 - C 307.5303 284.1406 307.5654 283.999 307.6172 283.8838 - C 307.957 282.8975 307.3984 281.8281 304.6157 281.2158 - C 300.4883 280.3096 297.8833 276.0527 296.3916 274.6367 - C 294.6411 272.9756 289.6973 271.9531 290.4404 272.9434 - C 291.0225 273.7188 293.2485 276.1348 294.6016 278.748 - C 295.8125 281.083 296.8906 281.7461 298.375 283.9736 - C 298.811 284.627 300.4995 286.9219 300.9912 288.7373 - C 301.543 290.5107 301.356 292.7344 301.5679 293.6494 - C 301.8721 294.9697 303.1182 297.8369 303.2129 299.4531 - C 303.2666 300.3691 299.3916 298.1494 297.5532 298.1494 - C 295.7144 298.1494 293.9233 299.248 292.2808 299.3281 - C 290.248 299.4248 288.9414 297.7607 287.1025 298.0508 - C 286.0518 298.2178 285.167 299.1426 283.3311 299.2129 - C 280.7178 299.3086 277.5244 297.7607 271.5264 297.9531 - C 265.6255 298.1436 260.1753 305.4082 259.4312 306.5635 - C 258.5605 307.9199 257.4961 307.9199 256.335 306.8555 - C 255.1738 305.792 253.7432 306.627 253.3359 307.3389 - C 252.5615 308.6943 250.4927 312.6543 247.2881 313.4824 - C 242.8564 314.6309 240.6118 311.0283 240.9033 308.1621 - C 241.1987 305.252 243.0801 304.4375 243.9512 302.8906 - C 244.8213 301.3428 245.2671 300.3428 246.9053 299.6572 - C 248.0674 299.1758 248.5 298.458 248.1533 297.5049 - C 247.8506 296.6738 246.6416 296.4834 245.8477 296.4463 - C 244.1592 296.3662 242.9756 296.8242 242.1123 297.376 - C 241.1084 298.0137 240.292 298.9033 239.416 300.4131 - C 238.4023 302.0781 236.8052 302.8037 234.9453 302.8037 - C 234.0586 302.8037 233.2295 302.5693 232.4922 302.1895 - C 229.5771 300.6748 226.1064 299.7744 222.3706 299.7744 - L 218.1572 299.7734 - C 216.1064 305.8555 214.9951 312.3682 214.9951 319.1416 - C 214.9951 352.6064 242.1226 379.7334 275.5859 379.7334 - C 309.0498 379.7334 336.1758 352.6064 336.1758 319.1416 - C 336.1758 307 332.6035 295.6895 326.4531 286.208 - " /> - - <!-- The Shadowman's face --> - <path fill="white" d=" - M 326.4531 286.209 - C 324.1177 286.7461 321.6396 287.084 319.1338 287.084 - C 314.8496 287.084 310.9502 286.3418 308.0732 285.1436 - C 307.7559 284.9873 307.5303 284.6553 307.5303 284.2783 - C 307.5303 284.1416 307.5654 284.001 307.6172 283.8838 - C 307.957 282.8994 307.3984 281.8311 304.6157 281.2178 - C 300.4883 280.3115 297.8833 276.0537 296.3916 274.6416 - C 294.6411 272.9766 289.6973 271.9551 290.4404 272.9463 - C 291.0225 273.7197 293.2485 276.1367 294.6016 278.749 - C 295.8125 281.083 296.8906 281.75 298.375 283.9756 - C 298.811 284.627 300.4995 286.9238 300.9912 288.7402 - C 301.543 290.5117 301.356 292.7354 301.5679 293.6514 - C 301.8721 294.9727 303.1182 297.8379 303.2129 299.457 - C 303.2666 300.3721 299.3916 298.1504 297.5532 298.1504 - C 295.7144 298.1504 293.9233 299.251 292.2808 299.3301 - C 290.248 299.4258 288.9414 297.7627 287.1025 298.0518 - C 286.0518 298.2207 285.167 299.1465 283.3311 299.2148 - C 280.7178 299.3096 277.5244 297.7627 271.5264 297.9561 - C 265.6255 298.1475 260.1753 305.4121 259.4312 306.5674 - C 258.5605 307.9219 257.4961 307.9219 256.335 306.8574 - C 255.1738 305.7939 253.7432 306.6299 253.3359 307.3438 - C 252.5615 308.6963 250.4927 312.6553 247.2881 313.4854 - C 242.8564 314.6338 240.6118 311.0313 240.9033 308.1641 - C 241.1987 305.2539 243.0801 304.4395 243.9512 302.8926 - C 244.8213 301.3438 245.2671 300.3457 246.9053 299.6621 - C 248.0674 299.1768 248.5 298.4609 248.1533 297.5068 - C 247.8506 296.6768 246.6416 296.4873 245.8477 296.4492 - C 244.1592 296.3672 242.9756 296.8262 242.1123 297.376 - C 241.1084 298.0176 240.292 298.9043 239.416 300.416 - C 238.4023 302.0801 236.8052 302.8086 234.9453 302.8086 - C 234.0586 302.8086 233.2295 302.5723 232.4922 302.1934 - C 229.5771 300.6748 226.1064 299.7773 222.3706 299.7773 - L 218.1572 299.7744 - C 226.2363 275.8105 248.8965 258.5527 275.5859 258.5527 - C 296.9063 258.5527 315.6538 269.5635 326.4531 286.209 - " /> - - <!-- nose shadow --> - <path fill="black" d=" - M 288.9307 291.7637 - C 289.2422 291.46 289.7793 290.4375 289.1226 289.1396 - C 288.7544 288.4521 288.3579 287.9678 287.6489 287.4023 - C 286.7969 286.7188 285.1309 285.9307 282.8457 287.3799 - C 281.6172 288.1592 281.543 288.4209 279.8467 288.2012 - C 278.6348 288.043 278.1533 289.2656 278.5884 290.2832 - C 279.0244 291.2969 280.8145 292.1191 283.04 290.8135 - C 284.041 290.2256 285.6025 288.9844 286.9688 290.084 - C 287.5356 290.5381 287.875 290.8408 288.6611 291.75 - C 288.6963 291.7881 288.7461 291.8105 288.8018 291.8105 - C 288.8516 291.8105 288.8965 291.793 288.9307 291.7637 - " /> - - <!-- The Shadowman's red hat --> - <path fill="#cc0000" d=" - M 309.7769 335.2627 - C 309.1787 333.251 308.3271 330.6763 304.5391 328.7314 - C 303.9878 328.4497 303.7764 328.9126 304.0313 329.3477 - C 305.4629 331.7832 305.7168 332.3921 306.1328 333.3525 - C 306.7148 334.7568 307.02 336.7549 305.8618 340.9219 - C 303.5835 349.1221 298.8296 360.083 295.375 363.6392 - C 292.04 367.0698 285.998 368.0361 280.5371 366.6348 - C 278.5264 366.1191 274.5918 364.0732 267.2939 365.7168 - C 254.665 368.5605 252.7939 362.2368 252.0693 359.4824 - C 251.3438 356.7271 249.6045 348.897 249.6045 348.897 - C 249.0244 345.7085 248.2646 340.1631 267.874 336.4287 - C 277.0088 334.6885 277.4736 332.3276 277.8779 330.6289 - C 278.603 327.585 279.7627 325.8438 281.0674 324.9746 - C 282.373 324.1035 281.0674 323.3828 279.6187 323.2349 - C 275.7285 322.8311 261.3491 326.9541 252.8428 331.7881 - C 245.8828 336.0415 245.7656 339.8721 247.3584 343.1211 - C 236.8452 344.2573 228.9561 342.1348 227.5254 337.1582 - C 225.0693 328.6157 246.3047 314.0264 270.4839 306.7061 - C 295.8579 299.0225 321.9556 304.3857 324.8564 320.335 - C 326.1738 327.5811 320.0713 332.9419 309.7769 335.2627 - " /> - - <!-- shadow on hat --> - <path fill="black" d=" - M 270.8711 350.8813 - C 263.8721 350.375 263.145 349.6191 261.834 348.2227 - C 259.9854 346.2539 257.5508 350.7773 257.5508 350.7773 - C 256.0898 351.085 254.3179 353.4404 255.2744 355.6411 - C 256.2158 357.8174 257.9551 357.1641 258.5 356.4868 - C 259.1626 355.6621 260.5771 354.3125 262.4141 354.3613 - C 264.251 354.4097 266.3706 354.7959 269.3262 354.7959 - C 272.3213 354.7959 274.335 353.6777 274.4487 352.7168 - C 274.5459 351.8965 274.2061 351.1226 270.8711 350.8813 - " /> - - <!-- another shadow on hat --> - <path fill="black" d=" - M 278.2236 362.4463 - C 278.2129 362.4453 278.2021 362.4438 278.1919 362.4438 - C 278.084 362.4438 277.9961 362.5273 277.9961 362.6274 - C 277.9961 362.7007 278.041 362.7646 278.106 362.7939 - C 279.4629 363.5107 281.4873 364.0811 283.8042 364.3169 - C 284.499 364.3887 285.1787 364.4248 285.832 364.4307 - C 285.9478 364.4307 286.0615 364.4297 286.1787 364.4277 - C 290.062 364.3398 293.1719 362.7974 293.1255 360.9814 - C 293.0791 359.165 289.8955 357.7637 286.0112 357.8506 - C 284.7529 357.8794 283.5732 358.0615 282.5576 358.3545 - C 282.4385 358.3857 282.3506 358.4883 282.3506 358.6094 - C 282.3506 358.731 282.4385 358.834 282.5605 358.8638 - C 284.9839 359.4248 286.6191 360.3408 286.5039 361.207 - C 286.3511 362.3545 283.1816 362.979 279.4248 362.6011 - C 279.0137 362.5596 278.6118 362.5068 278.2236 362.4463 - " /> - - <!-- ® for The Shadowman --> - <path fill="black" d=" - M 588.3018 288.9707 - L 588.8369 288.9707 - L 589.6426 287.6445 - L 590.1626 287.6445 - L 589.2905 288.9937 - C 589.7422 289.0498 590.085 289.2881 590.085 289.834 - C 590.085 290.4385 589.7275 290.7051 589.0034 290.7051 - L 587.8384 290.7051 - L 587.8384 287.6445 - L 588.3018 287.6445 - L 588.3018 288.9707 - - M 588.3018 289.3643 - L 588.3018 290.3101 - L 588.9336 290.3101 - C 589.2549 290.3101 589.5996 290.2402 589.5996 289.8647 - C 589.5996 289.3916 589.251 289.3643 588.8584 289.3643 - L 588.3018 289.3643 - " /> - - <path fill="black" d=" - M 591.8457 289.1719 - C 591.8457 287.5176 590.5059 286.1763 588.8511 286.1763 - C 587.1968 286.1763 585.8545 287.5176 585.8545 289.1719 - C 585.8545 290.8271 587.1968 292.1675 588.8511 292.1675 - C 590.5059 292.1675 591.8457 290.8271 591.8457 289.1719 - - M 588.8511 291.6367 - C 587.4883 291.6367 586.3853 290.5332 586.3853 289.1719 - C 586.3853 287.8096 587.4883 286.7061 588.8511 286.7061 - C 590.21 286.7061 591.3135 287.8096 591.3135 289.1719 - C 591.3135 290.5332 590.21 291.6367 588.8511 291.6367 - " /> - - </g> - </g> - - </defs> - - <g id="watermark" transform="translate(200, 185), rotate(-50), scale(2.5)"> - <use xlink:href="#scarab" x="0" y="170" fill-opacity="0.2"/> - </g> - - <!-- Blue bar at top of slide --> - <rect x="0" y="0" width="1024" height="80" fill="#162284" /> - - <g font-family="Frutiger"> - <!-- Slide title --> - <!-- Slide title --> - <g id="slide_title" transform="translate(512, 60)"> - <text text-anchor="middle" - fill="white" - font-weight="bold" - x="0" - y="4" font-size="55" - ss:variable="title">Slide Title</text> - </g> - - <!-- Slide content --> - <g ss:region="default"> - <rect x="112" y="120" width="800" height="580" fill="none" stroke="blue"/> - <text font-size="40" fill="black" - x="112" y="152">Slide content</text> - </g> - - </g> - -</svg> diff --git a/doc/tutorial/slides/cairo-separator.svg b/doc/tutorial/slides/cairo-separator.svg deleted file mode 100644 index 8d2c8406d..000000000 --- a/doc/tutorial/slides/cairo-separator.svg +++ /dev/null @@ -1,909 +0,0 @@ -<?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" - fill="black"> - - - - <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="#f19a14"> - <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> - <g id="dung_2_color"> - <!-- This would be simple a circle like so: - <circle cx="0" cy="0" r="48" stroke-width="2" fill="none" stroke="white"/> - but there appears to currently be a bug in the cairo - PDF backend that results in an ugly spike in that - case. So we use 8 splines instead. - --> - <path stroke-width="4" stroke="white" fill="none" d=" -M 48, 0 -C 48, 12.730391512298112, - 42.94287166245995, 24.939379331448613 - 33.941125496954285, 33.941125496954278 -C 24.939379331448624, 42.942871662459943 - 12.730391512298114, 48 - 0, 48 -C -12.730391512298109, 48, - -24.939379331448613, 42.94287166245995 - -33.941125496954278, 33.941125496954285 -C -42.942871662459943, 24.939379331448624, - -48, 12.730391512298118, - -48, 0, -C -48, -12.730391512298105, - -42.94287166245995, -24.939379331448613, - -33.941125496954285, -33.941125496954278 -C -24.939379331448624, -42.942871662459943, - -12.730391512298119, -48, - 0, -48 -C 12.730391512298104, -48, - 24.939379331448606, -42.942871662459943, - 33.941125496954271, -33.941125496954285 -C 42.942871662459936, -24.939379331448624, - 48, -12.730391512298123, - 48, 0" /> - <g transform="scale(9)" fill="white" stroke="none" stroke-width="0.22222"> - <!-- Hacker emblem grid --> - <!-- - <path stroke="white" fill="none" - d="M -3,-3 L 3,-3 L 3,3 L-3,3 Z - M -1,-3 L -1, 3 - M 1,-3 L 1, 3 - M -3,-1 L 3,-1 - M -3, 1 L 3, 1"/> - --> - - <!-- Hacker emblem dots --> - <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> - - <!-- 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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" transform="translate(0,-97)"> - <g transform="scale(0.1484,0.1484)"> <g transform="translate(-1139,-208.5)"> - <!-- 63 (c), advance 444, 0 horiBearing 38,522 --> - <path transform="translate(65,0)" d=" - M 412, 433 - C 385, 422 336, 413 298, 413 - C 142, 413 38, 525 38, 680 - C 38, 826 144, 947 298, 947 - C 332, 947 377, 944 416, 926 - L 409, 842 - C 380, 861 340, 871 308, 871 - C 187, 871 138, 771 138, 680 - C 138, 583 197, 489 302, 489 - C 332, 489 368, 496 404, 511 - L 412, 433 " /> - <!-- 61 (a), advance 556, 0 horiBearing 46,522 --> - <path transform="translate(486.75,0)" d=" - M 109, 541 - C 147, 509 204, 489 257, 489 - C 351, 489 383, 534 383, 622 - C 346, 620 320, 620 283, 620 - C 186, 620 46, 660 46, 788 - C 46, 899 123, 947 233, 947 - C 319, 947 369, 900 391, 869 - L 393, 869 - L 393, 935 - L 481, 935 - C 479, 920 477, 893 477, 835 - L 477, 624 - C 477, 485 418, 413 272, 413 - C 207, 413 151, 433 104, 461 - L 109, 541 - M 383, 737 - C 383, 813 334, 871 241, 871 - C 198, 871 146, 842 146, 788 - C 146, 698 272, 690 323, 690 - C 343, 690 363, 692 383, 692 - L 383, 737 " /> - <!-- 69 (i), advance 278, 0 horiBearing 86,730 --> - <path transform="translate(1000,0)" d=" - M 92, 935 - L 186, 935 - L 186, 425 - L 92, 425 - L 92, 935 - M 88, 261 - A 51, 51 0 1 1 190,261 - A 51, 51 0 1 1 88,261" /> - <!-- 72 (r), advance 389, 0 horiBearing 80,522 --> - <path transform="translate(1234.25,0)" d=" - M 80, 935 - L 174, 935 - L 174, 703 - C 174, 575 229, 495 313, 495 - C 329, 495 348, 497 365, 504 - L 365, 420 - C 345, 416 331, 413 303, 413 - C 249, 413 195, 451 170, 504 - L 168, 504 - L 168, 425 - L 80, 425 - L 80, 935 " /> - <!-- 6f (o), advance 611, 0 horiBearing 46,522 --> - <path transform="translate(1610,0)" d=" - M 46, 680 - C 46, 826 152, 947 306, 947 - C 459, 947 565, 826 565, 680 - C 565, 525 461, 413 306, 413 - C 150, 413 46, 525 46, 680 - M 146, 680 - C 146, 583 205, 489 306, 489 - C 406, 489 465, 583 465, 680 - C 465, 771 416, 871 306, 871 - C 195, 871 146, 771 146, 680 " /> - <!-- bounds: 38, 205 <-> 2232, 947 --> - </g> </g> - </g> - - <!-- scaled by 0.72, shifted around to hit pixel boundaries --> - <g id="cairo_text_small_spaced" transform="translate(0,-71)"> - <g transform="scale(0.085,0.085)"> <g transform="translate(-1139,-208.5)"> - <!-- 63 (c), advance 444, 0 horiBearing 38,522 --> - <path transform="translate(-151,0)" d=" - M 412, 433 - C 385, 422 336, 413 298, 413 - C 142, 413 38, 525 38, 680 - C 38, 826 144, 947 298, 947 - C 332, 947 377, 944 416, 926 - L 409, 842 - C 380, 861 340, 871 308, 871 - C 187, 871 138, 771 138, 680 - C 138, 583 197, 489 302, 489 - C 332, 489 368, 496 404, 511 - L 412, 433 " /> - <!-- 61 (a), advance 556, 0 horiBearing 46,522 --> - <path transform="translate(379.5,0)" d=" - M 109, 541 - C 147, 509 204, 489 257, 489 - C 351, 489 383, 534 383, 622 - C 346, 620 320, 620 283, 620 - C 186, 620 46, 660 46, 788 - C 46, 899 123, 947 233, 947 - C 319, 947 369, 900 391, 869 - L 393, 869 - L 393, 935 - L 481, 935 - C 479, 920 477, 893 477, 835 - L 477, 624 - C 477, 485 418, 413 272, 413 - C 207, 413 151, 433 104, 461 - L 109, 541 - M 383, 737 - C 383, 813 334, 871 241, 871 - C 198, 871 146, 842 146, 788 - C 146, 698 272, 690 323, 690 - C 343, 690 363, 692 383, 692 - L 383, 737 " /> - <!-- 69 (i), advance 278, 0 horiBearing 86,730 --> - <path transform="translate(1000,0)" d=" - M 92, 935 - L 186, 935 - L 186, 425 - L 92, 425 - L 92, 935 - M 88, 261 - A 51, 51 0 1 1 190,261 - A 51, 51 0 1 1 88,261" /> - <!-- 72 (r), advance 389, 0 horiBearing 80,522 --> - <path transform="translate(1341.5,0)" d=" - M 80, 935 - L 174, 935 - L 174, 703 - C 174, 575 229, 495 313, 495 - C 329, 495 348, 497 365, 504 - L 365, 420 - C 345, 416 331, 413 303, 413 - C 249, 413 195, 451 170, 504 - L 168, 504 - L 168, 425 - L 80, 425 - L 80, 935 " /> - <!-- 6f (o), advance 611, 0 horiBearing 46,522 --> - <path transform="translate(1826,0)" d=" - M 46, 680 - C 46, 826 152, 947 306, 947 - C 459, 947 565, 826 565, 680 - C 565, 525 461, 413 306, 413 - C 150, 413 46, 525 46, 680 - M 146, 680 - C 146, 583 205, 489 306, 489 - C 406, 489 465, 583 465, 680 - C 465, 771 416, 871 306, 871 - C 195, 871 146, 771 146, 680 " /> - <!-- bounds: 38, 205 <-> 2232, 947 --> - </g> </g> - </g> - - - <!-- scaled by 0.72, shifted around to hit pixel boundaries --> - <g id="cairo_text_small" transform="translate(0,-71)"> - <g transform="scale(0.085,0.085)"> <g transform="translate(-1139,-208.5)"> - <!-- 63 (c), advance 444, 0 horiBearing 38,522 --> - <path transform="translate(-151,0)" d=" - M 412, 433 - C 385, 422 336, 413 298, 413 - C 142, 413 38, 525 38, 680 - C 38, 826 144, 947 298, 947 - C 332, 947 377, 944 416, 926 - L 409, 842 - C 380, 861 340, 871 308, 871 - C 187, 871 138, 771 138, 680 - C 138, 583 197, 489 302, 489 - C 332, 489 368, 496 404, 511 - L 412, 433 " /> - <!-- 61 (a), advance 556, 0 horiBearing 46,522 --> - <path transform="translate(261.75,0)" d=" - M 109, 541 - C 147, 509 204, 489 257, 489 - C 351, 489 383, 534 383, 622 - C 346, 620 320, 620 283, 620 - C 186, 620 46, 660 46, 788 - C 46, 899 123, 947 233, 947 - C 319, 947 369, 900 391, 869 - L 393, 869 - L 393, 935 - L 481, 935 - C 479, 920 477, 893 477, 835 - L 477, 624 - C 477, 485 418, 413 272, 413 - C 207, 413 151, 433 104, 461 - L 109, 541 - M 383, 737 - C 383, 813 334, 871 241, 871 - C 198, 871 146, 842 146, 788 - C 146, 698 272, 690 323, 690 - C 343, 690 363, 692 383, 692 - L 383, 737 " /> - <!-- 69 (i), advance 278, 0 horiBearing 86,730 --> - <path transform="translate(764.75)" d=" - M 92, 935 - L 186, 935 - L 186, 425 - L 92, 425 - L 92, 935 - M 88, 261 - A 51, 51 0 1 1 190,261 - A 51, 51 0 1 1 88,261" /> - <!-- 72 (r), advance 389, 0 horiBearing 80,522 --> - <path transform="translate(988.5,0)" d=" - M 80, 935 - L 174, 935 - L 174, 703 - C 174, 575 229, 495 313, 495 - C 329, 495 348, 497 365, 504 - L 365, 420 - C 345, 416 331, 413 303, 413 - C 249, 413 195, 451 170, 504 - L 168, 504 - L 168, 425 - L 80, 425 - L 80, 935 " /> - <!-- 6f (o), advance 611, 0 horiBearing 46,522 --> - <path transform="translate(1355.5,0)" d=" - M 46, 680 - C 46, 826 152, 947 306, 947 - C 459, 947 565, 826 565, 680 - C 565, 525 461, 413 306, 413 - C 150, 413 46, 525 46, 680 - M 146, 680 - C 146, 583 205, 489 306, 489 - C 406, 489 465, 583 465, 680 - C 465, 771 416, 871 306, 871 - C 195, 871 146, 771 146, 680 " /> - <!-- bounds: 38, 205 <-> 2232, 947 --> - </g> </g> - </g> - - <g id="cairo_logo_text_small"> - <!-- The logo on the left, the text 'cairo' on the right --> - <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(0, 78), scale(0.1944)" /> - <use xlink:href="#cairo_text_small" fill="white" transform="translate(175,82)"/> - </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: 370x88, centered --> - <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(-180, 40), scale(0.1944)" /> - <use xlink:href="#cairo_text_small" transform="translate(0, 42)" fill="black" /> - <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(180, 40), scale(0.1944), scale(-1, 1)" /> - </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>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>g> - <g id="bullet"> - <use x="0" y="0" xlink:href="#cairo_logo" transform="translate(-6,-2) scale(0.1, 0.1)"/>> - </g> - <g id="redhat_logo_horizontal"> - <!-- 380x125 Red Hat log (horizontal layout) --> - <g fill="black" stroke="none" - transform="translate(0,124),scale(1,-1),translate(-214,-258)" - fill-rule="evenodd" - > - <!-- r --> - <path fill="black" d=" - M 367.0625 315.3203 - C 367.0625 320.8765 366.9463 324.9644 366.7227 328.6597 - L 375.811 328.6597 - L 376.2002 320.7764 - L 376.4971 320.7764 - C 378.5391 326.6221 383.3809 329.5996 387.8594 329.5996 - C 388.8843 329.5996 389.4824 329.5601 390.3218 329.373 - L 390.3218 319.4863 - C 389.3398 319.6763 388.4224 319.7842 387.1592 319.7842 - C 382.1597 319.7842 378.688 316.6006 377.751 311.8447 - C 377.5732 310.918 377.4805 309.8086 377.4805 308.6777 - L 377.4805 287.1504 - L 366.9766 287.1504 - L 367.0625 315.3203 - " /> - - <!-- e --> - <path fill="black" d=" - M 402.9927 305.0791 - C 403.2715 297.5586 409.0918 294.2695 415.814 294.2695 - C 420.6406 294.2695 424.0942 295.0234 427.2681 296.1924 - L 428.8232 288.9678 - C 425.269 287.4629 420.3413 286.3359 414.3149 286.3359 - C 400.8384 286.3359 392.9409 294.6592 392.9409 307.3809 - C 392.9409 318.8369 399.8911 329.6772 413.2437 329.6772 - C 426.7397 329.6772 431.1338 318.5771 431.1338 309.4893 - C 431.1338 307.5381 430.9624 305.9707 430.7593 305.0059 - L 402.9927 305.0791 - - M 421.2485 312.3926 - C 421.2954 316.2388 419.6206 322.5088 412.5903 322.5088 - C 406.1299 322.5088 403.4438 316.645 402.9722 312.3926 - L 421.2485 312.3926 - " /> - - <!-- d --> - <path fill="black" d=" - M 476.355 344.667 - L 465.8638 347.5083 - L 465.8638 324.1914 - L 465.6904 324.1914 - C 463.8335 327.2563 459.7407 329.5996 454.0571 329.5996 - C 444.0762 329.5996 435.3828 321.3374 435.4478 307.4307 - C 435.4478 294.6719 443.2983 286.2168 453.2119 286.2168 - C 459.2017 286.2168 464.2114 289.0723 466.6909 293.7217 - L 466.8779 293.7217 - L 467.3491 287.1504 - L 476.6997 287.1504 - C 476.5083 289.9717 476.355 294.543 476.355 298.792 - L 476.355 344.667 - - M 465.8638 305.1504 - C 465.8638 304.0479 465.7856 303.0234 465.5454 302.0869 - C 464.4873 297.5439 460.7734 294.6172 456.4819 294.6172 - C 449.8721 294.6172 446.0903 300.1885 446.0903 307.8164 - C 446.0903 315.5166 449.8384 321.4761 456.6016 321.4761 - C 461.3208 321.4761 464.6992 318.1484 465.6274 314.1064 - C 465.8071 313.2559 465.8638 312.208 465.8638 311.3711 - L 465.8638 305.1504 - " /> - - <!-- h --> - <path fill="black" d=" - M 503.7964 329.0176 - C 500.6836 329.0176 497.8926 328.1187 495.5493 326.6714 - C 493.1162 325.2461 491.1353 323.0464 489.959 320.7666 - L 489.7915 320.7666 - L 489.7915 341.0195 - L 485.7427 342.1226 - L 485.7427 287.1504 - L 489.7915 287.1504 - L 489.7915 312.1787 - C 489.7915 313.8408 489.9204 314.9946 490.3462 316.2109 - C 492.0928 321.3013 496.8896 325.4805 502.689 325.4805 - C 511.0664 325.4805 513.9673 318.7603 513.9673 311.3906 - L 513.9673 287.1504 - L 518.0137 287.1504 - L 518.0137 311.8359 - C 518.0137 327.0791 507.6753 329.0176 503.7964 329.0176 - " /> - - <!-- a --> - <path fill="black" d=" - M 554.3413 296.873 - C 554.3413 293.6357 554.4692 290.2832 554.9375 287.1504 - L 551.2085 287.1504 - L 550.6128 293.0156 - L 550.4209 293.0156 - C 548.438 289.8594 543.8765 286.2168 537.3726 286.2168 - C 529.1392 286.2168 525.3057 292.0117 525.3057 297.4688 - C 525.3057 306.9121 533.6421 312.6064 550.292 312.4321 - L 550.292 313.5234 - C 550.292 317.5718 549.5044 325.6475 539.8242 325.5859 - C 536.2446 325.5859 532.5132 324.6255 529.5513 322.5366 - L 528.2632 325.4805 - C 532.0015 328.0137 536.5659 329.0176 540.2705 329.0176 - C 552.0801 329.0176 554.3413 320.1509 554.3413 312.8379 - L 554.3413 296.873 - - M 550.292 309.0234 - C 541.3813 309.2813 529.6128 307.9336 529.6128 298.1055 - C 529.6128 292.2246 533.4946 289.5811 537.7578 289.5811 - C 544.5796 289.5811 548.4561 293.8018 549.8677 297.7871 - C 550.1646 298.6621 550.292 299.5371 550.292 300.2402 - L 550.292 309.0234 - " /> - - <!-- t --> - <path fill="black" d=" - M 570.459 337.0996 - L 570.459 328.0801 - L 582.1235 328.0801 - L 582.1235 324.7959 - L 570.459 324.7959 - L 570.459 298.1943 - C 570.459 292.9912 572.0757 289.7285 576.4692 289.7285 - C 578.5815 289.7285 580.0757 290.0078 581.1206 290.3711 - L 581.6099 287.2354 - C 580.2871 286.6836 578.4302 286.2539 575.9619 286.2539 - C 572.9741 286.2539 570.4995 287.1934 568.8994 289.1543 - C 567.0469 291.3057 566.4116 294.7412 566.4116 298.916 - L 566.4116 324.7959 - L 559.5059 324.7959 - L 559.5059 328.0801 - L 566.4116 328.0801 - L 566.4116 335.606 - L 570.459 337.0996 - " /> - - <!-- ® for 'redhat' --> - <path fill="black" d=" - M 335.5 288.9707 - L 336.0352 288.9707 - L 336.8408 287.6445 - L 337.3608 287.6445 - L 336.4888 288.9937 - C 336.9404 289.0498 337.2832 289.2881 337.2832 289.834 - C 337.2832 290.4385 336.9258 290.7051 336.2017 290.7051 - L 335.0366 290.7051 - L 335.0366 287.6445 - L 335.5 287.6445 - L 335.5 288.9707 - - M 335.5 289.3643 - L 335.5 290.3101 - L 336.1318 290.3101 - C 336.4531 290.3101 336.7979 290.2402 336.7979 289.8647 - C 336.7979 289.3916 336.4492 289.3643 336.0566 289.3643 - L 335.5 289.3643 - " /> - - <path fill="black" d=" - M 339.0439 289.1719 - C 339.0439 287.5176 337.7041 286.1763 336.0493 286.1763 - C 334.395 286.1763 333.0527 287.5176 333.0527 289.1719 - C 333.0527 290.8271 334.395 292.1675 336.0493 292.1675 - C 337.7041 292.1675 339.0439 290.8271 339.0439 289.1719 - - M 336.0493 291.6367 - C 334.6865 291.6367 333.5835 290.5332 333.5835 289.1719 - C 333.5835 287.8096 334.6865 286.7061 336.0493 286.7061 - C 337.4082 286.7061 338.5117 287.8096 338.5117 289.1719 - C 338.5117 290.5332 337.4082 291.6367 336.0493 291.6367 - " /> - - <!-- Black background behind The Shadowman --> - <path fill="black" d=" - M 326.4531 286.208 - C 324.1177 286.7451 321.6396 287.0801 319.1338 287.0801 - C 314.8496 287.0801 310.9502 286.3389 308.0732 285.1426 - C 307.7559 284.9844 307.5303 284.6533 307.5303 284.2764 - C 307.5303 284.1406 307.5654 283.999 307.6172 283.8838 - C 307.957 282.8975 307.3984 281.8281 304.6157 281.2158 - C 300.4883 280.3096 297.8833 276.0527 296.3916 274.6367 - C 294.6411 272.9756 289.6973 271.9531 290.4404 272.9434 - C 291.0225 273.7188 293.2485 276.1348 294.6016 278.748 - C 295.8125 281.083 296.8906 281.7461 298.375 283.9736 - C 298.811 284.627 300.4995 286.9219 300.9912 288.7373 - C 301.543 290.5107 301.356 292.7344 301.5679 293.6494 - C 301.8721 294.9697 303.1182 297.8369 303.2129 299.4531 - C 303.2666 300.3691 299.3916 298.1494 297.5532 298.1494 - C 295.7144 298.1494 293.9233 299.248 292.2808 299.3281 - C 290.248 299.4248 288.9414 297.7607 287.1025 298.0508 - C 286.0518 298.2178 285.167 299.1426 283.3311 299.2129 - C 280.7178 299.3086 277.5244 297.7607 271.5264 297.9531 - C 265.6255 298.1436 260.1753 305.4082 259.4312 306.5635 - C 258.5605 307.9199 257.4961 307.9199 256.335 306.8555 - C 255.1738 305.792 253.7432 306.627 253.3359 307.3389 - C 252.5615 308.6943 250.4927 312.6543 247.2881 313.4824 - C 242.8564 314.6309 240.6118 311.0283 240.9033 308.1621 - C 241.1987 305.252 243.0801 304.4375 243.9512 302.8906 - C 244.8213 301.3428 245.2671 300.3428 246.9053 299.6572 - C 248.0674 299.1758 248.5 298.458 248.1533 297.5049 - C 247.8506 296.6738 246.6416 296.4834 245.8477 296.4463 - C 244.1592 296.3662 242.9756 296.8242 242.1123 297.376 - C 241.1084 298.0137 240.292 298.9033 239.416 300.4131 - C 238.4023 302.0781 236.8052 302.8037 234.9453 302.8037 - C 234.0586 302.8037 233.2295 302.5693 232.4922 302.1895 - C 229.5771 300.6748 226.1064 299.7744 222.3706 299.7744 - L 218.1572 299.7734 - C 216.1064 305.8555 214.9951 312.3682 214.9951 319.1416 - C 214.9951 352.6064 242.1226 379.7334 275.5859 379.7334 - C 309.0498 379.7334 336.1758 352.6064 336.1758 319.1416 - C 336.1758 307 332.6035 295.6895 326.4531 286.208 - " /> - - <!-- The Shadowman's face --> - <path fill="white" d=" - M 326.4531 286.209 - C 324.1177 286.7461 321.6396 287.084 319.1338 287.084 - C 314.8496 287.084 310.9502 286.3418 308.0732 285.1436 - C 307.7559 284.9873 307.5303 284.6553 307.5303 284.2783 - C 307.5303 284.1416 307.5654 284.001 307.6172 283.8838 - C 307.957 282.8994 307.3984 281.8311 304.6157 281.2178 - C 300.4883 280.3115 297.8833 276.0537 296.3916 274.6416 - C 294.6411 272.9766 289.6973 271.9551 290.4404 272.9463 - C 291.0225 273.7197 293.2485 276.1367 294.6016 278.749 - C 295.8125 281.083 296.8906 281.75 298.375 283.9756 - C 298.811 284.627 300.4995 286.9238 300.9912 288.7402 - C 301.543 290.5117 301.356 292.7354 301.5679 293.6514 - C 301.8721 294.9727 303.1182 297.8379 303.2129 299.457 - C 303.2666 300.3721 299.3916 298.1504 297.5532 298.1504 - C 295.7144 298.1504 293.9233 299.251 292.2808 299.3301 - C 290.248 299.4258 288.9414 297.7627 287.1025 298.0518 - C 286.0518 298.2207 285.167 299.1465 283.3311 299.2148 - C 280.7178 299.3096 277.5244 297.7627 271.5264 297.9561 - C 265.6255 298.1475 260.1753 305.4121 259.4312 306.5674 - C 258.5605 307.9219 257.4961 307.9219 256.335 306.8574 - C 255.1738 305.7939 253.7432 306.6299 253.3359 307.3438 - C 252.5615 308.6963 250.4927 312.6553 247.2881 313.4854 - C 242.8564 314.6338 240.6118 311.0313 240.9033 308.1641 - C 241.1987 305.2539 243.0801 304.4395 243.9512 302.8926 - C 244.8213 301.3438 245.2671 300.3457 246.9053 299.6621 - C 248.0674 299.1768 248.5 298.4609 248.1533 297.5068 - C 247.8506 296.6768 246.6416 296.4873 245.8477 296.4492 - C 244.1592 296.3672 242.9756 296.8262 242.1123 297.376 - C 241.1084 298.0176 240.292 298.9043 239.416 300.416 - C 238.4023 302.0801 236.8052 302.8086 234.9453 302.8086 - C 234.0586 302.8086 233.2295 302.5723 232.4922 302.1934 - C 229.5771 300.6748 226.1064 299.7773 222.3706 299.7773 - L 218.1572 299.7744 - C 226.2363 275.8105 248.8965 258.5527 275.5859 258.5527 - C 296.9063 258.5527 315.6538 269.5635 326.4531 286.209 - " /> - - <!-- nose shadow --> - <path fill="black" d=" - M 288.9307 291.7637 - C 289.2422 291.46 289.7793 290.4375 289.1226 289.1396 - C 288.7544 288.4521 288.3579 287.9678 287.6489 287.4023 - C 286.7969 286.7188 285.1309 285.9307 282.8457 287.3799 - C 281.6172 288.1592 281.543 288.4209 279.8467 288.2012 - C 278.6348 288.043 278.1533 289.2656 278.5884 290.2832 - C 279.0244 291.2969 280.8145 292.1191 283.04 290.8135 - C 284.041 290.2256 285.6025 288.9844 286.9688 290.084 - C 287.5356 290.5381 287.875 290.8408 288.6611 291.75 - C 288.6963 291.7881 288.7461 291.8105 288.8018 291.8105 - C 288.8516 291.8105 288.8965 291.793 288.9307 291.7637 - " /> - - <!-- The Shadowman's red hat --> - <path fill="#cc0000" d=" - M 309.7769 335.2627 - C 309.1787 333.251 308.3271 330.6763 304.5391 328.7314 - C 303.9878 328.4497 303.7764 328.9126 304.0313 329.3477 - C 305.4629 331.7832 305.7168 332.3921 306.1328 333.3525 - C 306.7148 334.7568 307.02 336.7549 305.8618 340.9219 - C 303.5835 349.1221 298.8296 360.083 295.375 363.6392 - C 292.04 367.0698 285.998 368.0361 280.5371 366.6348 - C 278.5264 366.1191 274.5918 364.0732 267.2939 365.7168 - C 254.665 368.5605 252.7939 362.2368 252.0693 359.4824 - C 251.3438 356.7271 249.6045 348.897 249.6045 348.897 - C 249.0244 345.7085 248.2646 340.1631 267.874 336.4287 - C 277.0088 334.6885 277.4736 332.3276 277.8779 330.6289 - C 278.603 327.585 279.7627 325.8438 281.0674 324.9746 - C 282.373 324.1035 281.0674 323.3828 279.6187 323.2349 - C 275.7285 322.8311 261.3491 326.9541 252.8428 331.7881 - C 245.8828 336.0415 245.7656 339.8721 247.3584 343.1211 - C 236.8452 344.2573 228.9561 342.1348 227.5254 337.1582 - C 225.0693 328.6157 246.3047 314.0264 270.4839 306.7061 - C 295.8579 299.0225 321.9556 304.3857 324.8564 320.335 - C 326.1738 327.5811 320.0713 332.9419 309.7769 335.2627 - " /> - - <!-- shadow on hat --> - <path fill="black" d=" - M 270.8711 350.8813 - C 263.8721 350.375 263.145 349.6191 261.834 348.2227 - C 259.9854 346.2539 257.5508 350.7773 257.5508 350.7773 - C 256.0898 351.085 254.3179 353.4404 255.2744 355.6411 - C 256.2158 357.8174 257.9551 357.1641 258.5 356.4868 - C 259.1626 355.6621 260.5771 354.3125 262.4141 354.3613 - C 264.251 354.4097 266.3706 354.7959 269.3262 354.7959 - C 272.3213 354.7959 274.335 353.6777 274.4487 352.7168 - C 274.5459 351.8965 274.2061 351.1226 270.8711 350.8813 - " /> - - <!-- another shadow on hat --> - <path fill="black" d=" - M 278.2236 362.4463 - C 278.2129 362.4453 278.2021 362.4438 278.1919 362.4438 - C 278.084 362.4438 277.9961 362.5273 277.9961 362.6274 - C 277.9961 362.7007 278.041 362.7646 278.106 362.7939 - C 279.4629 363.5107 281.4873 364.0811 283.8042 364.3169 - C 284.499 364.3887 285.1787 364.4248 285.832 364.4307 - C 285.9478 364.4307 286.0615 364.4297 286.1787 364.4277 - C 290.062 364.3398 293.1719 362.7974 293.1255 360.9814 - C 293.0791 359.165 289.8955 357.7637 286.0112 357.8506 - C 284.7529 357.8794 283.5732 358.0615 282.5576 358.3545 - C 282.4385 358.3857 282.3506 358.4883 282.3506 358.6094 - C 282.3506 358.731 282.4385 358.834 282.5605 358.8638 - C 284.9839 359.4248 286.6191 360.3408 286.5039 361.207 - C 286.3511 362.3545 283.1816 362.979 279.4248 362.6011 - C 279.0137 362.5596 278.6118 362.5068 278.2236 362.4463 - " /> - - <!-- ® for The Shadowman --> - <path fill="black" d=" - M 588.3018 288.9707 - L 588.8369 288.9707 - L 589.6426 287.6445 - L 590.1626 287.6445 - L 589.2905 288.9937 - C 589.7422 289.0498 590.085 289.2881 590.085 289.834 - C 590.085 290.4385 589.7275 290.7051 589.0034 290.7051 - L 587.8384 290.7051 - L 587.8384 287.6445 - L 588.3018 287.6445 - L 588.3018 288.9707 - - M 588.3018 289.3643 - L 588.3018 290.3101 - L 588.9336 290.3101 - C 589.2549 290.3101 589.5996 290.2402 589.5996 289.8647 - C 589.5996 289.3916 589.251 289.3643 588.8584 289.3643 - L 588.3018 289.3643 - " /> - - <path fill="black" d=" - M 591.8457 289.1719 - C 591.8457 287.5176 590.5059 286.1763 588.8511 286.1763 - C 587.1968 286.1763 585.8545 287.5176 585.8545 289.1719 - C 585.8545 290.8271 587.1968 292.1675 588.8511 292.1675 - C 590.5059 292.1675 591.8457 290.8271 591.8457 289.1719 - - M 588.8511 291.6367 - C 587.4883 291.6367 586.3853 290.5332 586.3853 289.1719 - C 586.3853 287.8096 587.4883 286.7061 588.8511 286.7061 - C 590.21 286.7061 591.3135 287.8096 591.3135 289.1719 - C 591.3135 290.5332 590.21 291.6367 588.8511 291.6367 - " /> - - </g> - </g> - - </defs> - - <g id="watermark" transform="translate(200, 185), rotate(-50), scale(2.5)"> - <use xlink:href="#scarab" x="0" y="170" fill-opacity="0.2"/> - </g> - - <!-- Blue bar at top of slide --> - <rect x="0" y="0" width="1024" height="170" fill="#162284" /> - - <!-- Scarab and "cairo" at upper-left --> - <g transform="translate(10,0)"> - <use stroke="none" xlink:href="#cairo_logo_text_small"/> - </g> - - <!-- Presentation title at upper-right --> - <text ss:variable="presentation-subtitle" text-anchor="end" - fill="white" x="1016" y="28" font-size="20">Presentation Sub-title</text> - - <!-- Red Hat logo at lower-left --> - <use xlink:href="#redhat_logo_horizontal" transform="translate(8,768),scale(.5,.5),translate(0, -125)" /> - - <g font-family="Frutiger"> - <text text-anchor="middle" - fill="black" - x="512" - y="300" font-size="80" - font-weight="bold" - ss:variable="title">Slide Title</text> - - <!-- Slide content --> - <g ss:region="default"> - <rect x="512" y="400" width="2" height="280" fill="none" stroke="blue"/> - <text font-size="50" fill="black" text-anchor="middle" - x="512" y="450">Slide content</text> - </g> - - <!-- Footer --> - <text ss:variable="URL" x="1016" y="753" text-anchor="end" font-size="20">http://cairographics.org</text> - </g> - -</svg> diff --git a/doc/tutorial/slides/cairo-title.svg b/doc/tutorial/slides/cairo-title.svg deleted file mode 100644 index 31b14f83b..000000000 --- a/doc/tutorial/slides/cairo-title.svg +++ /dev/null @@ -1,898 +0,0 @@ -<?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" - fill="black"> - - - <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="#f19a14"> - <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> - <g id="dung_2_color"> - <!-- This would be simple a circle like so: - <circle cx="0" cy="0" r="48" stroke-width="2" fill="none" stroke="white"/> - but there appears to currently be a bug in the cairo - PDF backend that results in an ugly spike in that - case. So we use 8 splines instead. - --> - <path stroke-width="4" stroke="white" fill="none" d=" -M 48, 0 -C 48, 12.730391512298112, - 42.94287166245995, 24.939379331448613 - 33.941125496954285, 33.941125496954278 -C 24.939379331448624, 42.942871662459943 - 12.730391512298114, 48 - 0, 48 -C -12.730391512298109, 48, - -24.939379331448613, 42.94287166245995 - -33.941125496954278, 33.941125496954285 -C -42.942871662459943, 24.939379331448624, - -48, 12.730391512298118, - -48, 0, -C -48, -12.730391512298105, - -42.94287166245995, -24.939379331448613, - -33.941125496954285, -33.941125496954278 -C -24.939379331448624, -42.942871662459943, - -12.730391512298119, -48, - 0, -48 -C 12.730391512298104, -48, - 24.939379331448606, -42.942871662459943, - 33.941125496954271, -33.941125496954285 -C 42.942871662459936, -24.939379331448624, - 48, -12.730391512298123, - 48, 0" /> - <g transform="scale(9)" fill="white" stroke="none" -stroke-width="0.2"> - <!-- Hacker emblem grid --> - <path stroke="white" fill="none" - d="M -3,-3 L 3,-3 L 3,3 L-3,3 Z - M -1,-3 L -1, 3 - M 1,-3 L 1, 3 - M -3,-1 L 3,-1 - M -3, 1 L 3, 1"/> - - <!-- Hacker emblem dots --> - <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> - - <!-- 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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" transform="translate(0,-97)"> - <g transform="scale(0.1484,0.1484)"> <g transform="translate(-1139,-208.5)"> - <!-- 63 (c), advance 444, 0 horiBearing 38,522 --> - <path transform="translate(65,0)" d=" - M 412, 433 - C 385, 422 336, 413 298, 413 - C 142, 413 38, 525 38, 680 - C 38, 826 144, 947 298, 947 - C 332, 947 377, 944 416, 926 - L 409, 842 - C 380, 861 340, 871 308, 871 - C 187, 871 138, 771 138, 680 - C 138, 583 197, 489 302, 489 - C 332, 489 368, 496 404, 511 - L 412, 433 " /> - <!-- 61 (a), advance 556, 0 horiBearing 46,522 --> - <path transform="translate(486.75,0)" d=" - M 109, 541 - C 147, 509 204, 489 257, 489 - C 351, 489 383, 534 383, 622 - C 346, 620 320, 620 283, 620 - C 186, 620 46, 660 46, 788 - C 46, 899 123, 947 233, 947 - C 319, 947 369, 900 391, 869 - L 393, 869 - L 393, 935 - L 481, 935 - C 479, 920 477, 893 477, 835 - L 477, 624 - C 477, 485 418, 413 272, 413 - C 207, 413 151, 433 104, 461 - L 109, 541 - M 383, 737 - C 383, 813 334, 871 241, 871 - C 198, 871 146, 842 146, 788 - C 146, 698 272, 690 323, 690 - C 343, 690 363, 692 383, 692 - L 383, 737 " /> - <!-- 69 (i), advance 278, 0 horiBearing 86,730 --> - <path transform="translate(1000,0)" d=" - M 92, 935 - L 186, 935 - L 186, 425 - L 92, 425 - L 92, 935 - M 88, 261 - A 51, 51 0 1 1 190,261 - A 51, 51 0 1 1 88,261" /> - <!-- 72 (r), advance 389, 0 horiBearing 80,522 --> - <path transform="translate(1234.25,0)" d=" - M 80, 935 - L 174, 935 - L 174, 703 - C 174, 575 229, 495 313, 495 - C 329, 495 348, 497 365, 504 - L 365, 420 - C 345, 416 331, 413 303, 413 - C 249, 413 195, 451 170, 504 - L 168, 504 - L 168, 425 - L 80, 425 - L 80, 935 " /> - <!-- 6f (o), advance 611, 0 horiBearing 46,522 --> - <path transform="translate(1610,0)" d=" - M 46, 680 - C 46, 826 152, 947 306, 947 - C 459, 947 565, 826 565, 680 - C 565, 525 461, 413 306, 413 - C 150, 413 46, 525 46, 680 - M 146, 680 - C 146, 583 205, 489 306, 489 - C 406, 489 465, 583 465, 680 - C 465, 771 416, 871 306, 871 - C 195, 871 146, 771 146, 680 " /> - <!-- bounds: 38, 205 <-> 2232, 947 --> - </g> </g> - </g> - - <!-- scaled by 0.72, shifted around to hit pixel boundaries --> - <g id="cairo_text_small_spaced" transform="translate(0,-71)"> - <g transform="scale(0.085,0.085)"> <g transform="translate(-1139,-208.5)"> - <!-- 63 (c), advance 444, 0 horiBearing 38,522 --> - <path transform="translate(-151,0)" d=" - M 412, 433 - C 385, 422 336, 413 298, 413 - C 142, 413 38, 525 38, 680 - C 38, 826 144, 947 298, 947 - C 332, 947 377, 944 416, 926 - L 409, 842 - C 380, 861 340, 871 308, 871 - C 187, 871 138, 771 138, 680 - C 138, 583 197, 489 302, 489 - C 332, 489 368, 496 404, 511 - L 412, 433 " /> - <!-- 61 (a), advance 556, 0 horiBearing 46,522 --> - <path transform="translate(379.5,0)" d=" - M 109, 541 - C 147, 509 204, 489 257, 489 - C 351, 489 383, 534 383, 622 - C 346, 620 320, 620 283, 620 - C 186, 620 46, 660 46, 788 - C 46, 899 123, 947 233, 947 - C 319, 947 369, 900 391, 869 - L 393, 869 - L 393, 935 - L 481, 935 - C 479, 920 477, 893 477, 835 - L 477, 624 - C 477, 485 418, 413 272, 413 - C 207, 413 151, 433 104, 461 - L 109, 541 - M 383, 737 - C 383, 813 334, 871 241, 871 - C 198, 871 146, 842 146, 788 - C 146, 698 272, 690 323, 690 - C 343, 690 363, 692 383, 692 - L 383, 737 " /> - <!-- 69 (i), advance 278, 0 horiBearing 86,730 --> - <path transform="translate(1000,0)" d=" - M 92, 935 - L 186, 935 - L 186, 425 - L 92, 425 - L 92, 935 - M 88, 261 - A 51, 51 0 1 1 190,261 - A 51, 51 0 1 1 88,261" /> - <!-- 72 (r), advance 389, 0 horiBearing 80,522 --> - <path transform="translate(1341.5,0)" d=" - M 80, 935 - L 174, 935 - L 174, 703 - C 174, 575 229, 495 313, 495 - C 329, 495 348, 497 365, 504 - L 365, 420 - C 345, 416 331, 413 303, 413 - C 249, 413 195, 451 170, 504 - L 168, 504 - L 168, 425 - L 80, 425 - L 80, 935 " /> - <!-- 6f (o), advance 611, 0 horiBearing 46,522 --> - <path transform="translate(1826,0)" d=" - M 46, 680 - C 46, 826 152, 947 306, 947 - C 459, 947 565, 826 565, 680 - C 565, 525 461, 413 306, 413 - C 150, 413 46, 525 46, 680 - M 146, 680 - C 146, 583 205, 489 306, 489 - C 406, 489 465, 583 465, 680 - C 465, 771 416, 871 306, 871 - C 195, 871 146, 771 146, 680 " /> - <!-- bounds: 38, 205 <-> 2232, 947 --> - </g> </g> - </g> - - - <!-- scaled by 0.72, shifted around to hit pixel boundaries --> - <g id="cairo_text_small" transform="translate(0,-71)"> - <g transform="scale(0.085,0.085)"> <g transform="translate(-1139,-208.5)"> - <!-- 63 (c), advance 444, 0 horiBearing 38,522 --> - <path transform="translate(-151,0)" d=" - M 412, 433 - C 385, 422 336, 413 298, 413 - C 142, 413 38, 525 38, 680 - C 38, 826 144, 947 298, 947 - C 332, 947 377, 944 416, 926 - L 409, 842 - C 380, 861 340, 871 308, 871 - C 187, 871 138, 771 138, 680 - C 138, 583 197, 489 302, 489 - C 332, 489 368, 496 404, 511 - L 412, 433 " /> - <!-- 61 (a), advance 556, 0 horiBearing 46,522 --> - <path transform="translate(261.75,0)" d=" - M 109, 541 - C 147, 509 204, 489 257, 489 - C 351, 489 383, 534 383, 622 - C 346, 620 320, 620 283, 620 - C 186, 620 46, 660 46, 788 - C 46, 899 123, 947 233, 947 - C 319, 947 369, 900 391, 869 - L 393, 869 - L 393, 935 - L 481, 935 - C 479, 920 477, 893 477, 835 - L 477, 624 - C 477, 485 418, 413 272, 413 - C 207, 413 151, 433 104, 461 - L 109, 541 - M 383, 737 - C 383, 813 334, 871 241, 871 - C 198, 871 146, 842 146, 788 - C 146, 698 272, 690 323, 690 - C 343, 690 363, 692 383, 692 - L 383, 737 " /> - <!-- 69 (i), advance 278, 0 horiBearing 86,730 --> - <path transform="translate(764.75)" d=" - M 92, 935 - L 186, 935 - L 186, 425 - L 92, 425 - L 92, 935 - M 88, 261 - A 51, 51 0 1 1 190,261 - A 51, 51 0 1 1 88,261" /> - <!-- 72 (r), advance 389, 0 horiBearing 80,522 --> - <path transform="translate(988.5,0)" d=" - M 80, 935 - L 174, 935 - L 174, 703 - C 174, 575 229, 495 313, 495 - C 329, 495 348, 497 365, 504 - L 365, 420 - C 345, 416 331, 413 303, 413 - C 249, 413 195, 451 170, 504 - L 168, 504 - L 168, 425 - L 80, 425 - L 80, 935 " /> - <!-- 6f (o), advance 611, 0 horiBearing 46,522 --> - <path transform="translate(1355.5,0)" d=" - M 46, 680 - C 46, 826 152, 947 306, 947 - C 459, 947 565, 826 565, 680 - C 565, 525 461, 413 306, 413 - C 150, 413 46, 525 46, 680 - M 146, 680 - C 146, 583 205, 489 306, 489 - C 406, 489 465, 583 465, 680 - C 465, 771 416, 871 306, 871 - C 195, 871 146, 771 146, 680 " /> - <!-- bounds: 38, 205 <-> 2232, 947 --> - </g> </g> - </g> - - <g id="cairo_logo_text_small"> - <!-- The logo on the left, the text 'cairo' on the right --> - <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(0, 78), scale(0.1944)" /> - <use xlink:href="#cairo_text_small" fill="white" transform="translate(175,82)"/> - </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: 370x88, centered --> - <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(-180, 40), scale(0.1944)" /> - <use xlink:href="#cairo_text_small" transform="translate(0, 42)" fill="black" /> - <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(180, 40), scale(0.1944), scale(-1, 1)" /> - </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>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>g> - <g id="bullet"> - <use x="0" y="0" xlink:href="#cairo_logo" transform="translate(-6,-2) scale(0.1, 0.1)"/>> - </g> - <g id="redhat_logo_horizontal"> - <!-- 380x125 Red Hat log (horizontal layout) --> - <g fill="black" stroke="none" - transform="translate(0,124),scale(1,-1),translate(-214,-258)" - fill-rule="evenodd" - > - <!-- r --> - <path fill="black" d=" - M 367.0625 315.3203 - C 367.0625 320.8765 366.9463 324.9644 366.7227 328.6597 - L 375.811 328.6597 - L 376.2002 320.7764 - L 376.4971 320.7764 - C 378.5391 326.6221 383.3809 329.5996 387.8594 329.5996 - C 388.8843 329.5996 389.4824 329.5601 390.3218 329.373 - L 390.3218 319.4863 - C 389.3398 319.6763 388.4224 319.7842 387.1592 319.7842 - C 382.1597 319.7842 378.688 316.6006 377.751 311.8447 - C 377.5732 310.918 377.4805 309.8086 377.4805 308.6777 - L 377.4805 287.1504 - L 366.9766 287.1504 - L 367.0625 315.3203 - " /> - - <!-- e --> - <path fill="black" d=" - M 402.9927 305.0791 - C 403.2715 297.5586 409.0918 294.2695 415.814 294.2695 - C 420.6406 294.2695 424.0942 295.0234 427.2681 296.1924 - L 428.8232 288.9678 - C 425.269 287.4629 420.3413 286.3359 414.3149 286.3359 - C 400.8384 286.3359 392.9409 294.6592 392.9409 307.3809 - C 392.9409 318.8369 399.8911 329.6772 413.2437 329.6772 - C 426.7397 329.6772 431.1338 318.5771 431.1338 309.4893 - C 431.1338 307.5381 430.9624 305.9707 430.7593 305.0059 - L 402.9927 305.0791 - - M 421.2485 312.3926 - C 421.2954 316.2388 419.6206 322.5088 412.5903 322.5088 - C 406.1299 322.5088 403.4438 316.645 402.9722 312.3926 - L 421.2485 312.3926 - " /> - - <!-- d --> - <path fill="black" d=" - M 476.355 344.667 - L 465.8638 347.5083 - L 465.8638 324.1914 - L 465.6904 324.1914 - C 463.8335 327.2563 459.7407 329.5996 454.0571 329.5996 - C 444.0762 329.5996 435.3828 321.3374 435.4478 307.4307 - C 435.4478 294.6719 443.2983 286.2168 453.2119 286.2168 - C 459.2017 286.2168 464.2114 289.0723 466.6909 293.7217 - L 466.8779 293.7217 - L 467.3491 287.1504 - L 476.6997 287.1504 - C 476.5083 289.9717 476.355 294.543 476.355 298.792 - L 476.355 344.667 - - M 465.8638 305.1504 - C 465.8638 304.0479 465.7856 303.0234 465.5454 302.0869 - C 464.4873 297.5439 460.7734 294.6172 456.4819 294.6172 - C 449.8721 294.6172 446.0903 300.1885 446.0903 307.8164 - C 446.0903 315.5166 449.8384 321.4761 456.6016 321.4761 - C 461.3208 321.4761 464.6992 318.1484 465.6274 314.1064 - C 465.8071 313.2559 465.8638 312.208 465.8638 311.3711 - L 465.8638 305.1504 - " /> - - <!-- h --> - <path fill="black" d=" - M 503.7964 329.0176 - C 500.6836 329.0176 497.8926 328.1187 495.5493 326.6714 - C 493.1162 325.2461 491.1353 323.0464 489.959 320.7666 - L 489.7915 320.7666 - L 489.7915 341.0195 - L 485.7427 342.1226 - L 485.7427 287.1504 - L 489.7915 287.1504 - L 489.7915 312.1787 - C 489.7915 313.8408 489.9204 314.9946 490.3462 316.2109 - C 492.0928 321.3013 496.8896 325.4805 502.689 325.4805 - C 511.0664 325.4805 513.9673 318.7603 513.9673 311.3906 - L 513.9673 287.1504 - L 518.0137 287.1504 - L 518.0137 311.8359 - C 518.0137 327.0791 507.6753 329.0176 503.7964 329.0176 - " /> - - <!-- a --> - <path fill="black" d=" - M 554.3413 296.873 - C 554.3413 293.6357 554.4692 290.2832 554.9375 287.1504 - L 551.2085 287.1504 - L 550.6128 293.0156 - L 550.4209 293.0156 - C 548.438 289.8594 543.8765 286.2168 537.3726 286.2168 - C 529.1392 286.2168 525.3057 292.0117 525.3057 297.4688 - C 525.3057 306.9121 533.6421 312.6064 550.292 312.4321 - L 550.292 313.5234 - C 550.292 317.5718 549.5044 325.6475 539.8242 325.5859 - C 536.2446 325.5859 532.5132 324.6255 529.5513 322.5366 - L 528.2632 325.4805 - C 532.0015 328.0137 536.5659 329.0176 540.2705 329.0176 - C 552.0801 329.0176 554.3413 320.1509 554.3413 312.8379 - L 554.3413 296.873 - - M 550.292 309.0234 - C 541.3813 309.2813 529.6128 307.9336 529.6128 298.1055 - C 529.6128 292.2246 533.4946 289.5811 537.7578 289.5811 - C 544.5796 289.5811 548.4561 293.8018 549.8677 297.7871 - C 550.1646 298.6621 550.292 299.5371 550.292 300.2402 - L 550.292 309.0234 - " /> - - <!-- t --> - <path fill="black" d=" - M 570.459 337.0996 - L 570.459 328.0801 - L 582.1235 328.0801 - L 582.1235 324.7959 - L 570.459 324.7959 - L 570.459 298.1943 - C 570.459 292.9912 572.0757 289.7285 576.4692 289.7285 - C 578.5815 289.7285 580.0757 290.0078 581.1206 290.3711 - L 581.6099 287.2354 - C 580.2871 286.6836 578.4302 286.2539 575.9619 286.2539 - C 572.9741 286.2539 570.4995 287.1934 568.8994 289.1543 - C 567.0469 291.3057 566.4116 294.7412 566.4116 298.916 - L 566.4116 324.7959 - L 559.5059 324.7959 - L 559.5059 328.0801 - L 566.4116 328.0801 - L 566.4116 335.606 - L 570.459 337.0996 - " /> - - <!-- ® for 'redhat' --> - <path fill="black" d=" - M 335.5 288.9707 - L 336.0352 288.9707 - L 336.8408 287.6445 - L 337.3608 287.6445 - L 336.4888 288.9937 - C 336.9404 289.0498 337.2832 289.2881 337.2832 289.834 - C 337.2832 290.4385 336.9258 290.7051 336.2017 290.7051 - L 335.0366 290.7051 - L 335.0366 287.6445 - L 335.5 287.6445 - L 335.5 288.9707 - - M 335.5 289.3643 - L 335.5 290.3101 - L 336.1318 290.3101 - C 336.4531 290.3101 336.7979 290.2402 336.7979 289.8647 - C 336.7979 289.3916 336.4492 289.3643 336.0566 289.3643 - L 335.5 289.3643 - " /> - - <path fill="black" d=" - M 339.0439 289.1719 - C 339.0439 287.5176 337.7041 286.1763 336.0493 286.1763 - C 334.395 286.1763 333.0527 287.5176 333.0527 289.1719 - C 333.0527 290.8271 334.395 292.1675 336.0493 292.1675 - C 337.7041 292.1675 339.0439 290.8271 339.0439 289.1719 - - M 336.0493 291.6367 - C 334.6865 291.6367 333.5835 290.5332 333.5835 289.1719 - C 333.5835 287.8096 334.6865 286.7061 336.0493 286.7061 - C 337.4082 286.7061 338.5117 287.8096 338.5117 289.1719 - C 338.5117 290.5332 337.4082 291.6367 336.0493 291.6367 - " /> - - <!-- Black background behind The Shadowman --> - <path fill="black" d=" - M 326.4531 286.208 - C 324.1177 286.7451 321.6396 287.0801 319.1338 287.0801 - C 314.8496 287.0801 310.9502 286.3389 308.0732 285.1426 - C 307.7559 284.9844 307.5303 284.6533 307.5303 284.2764 - C 307.5303 284.1406 307.5654 283.999 307.6172 283.8838 - C 307.957 282.8975 307.3984 281.8281 304.6157 281.2158 - C 300.4883 280.3096 297.8833 276.0527 296.3916 274.6367 - C 294.6411 272.9756 289.6973 271.9531 290.4404 272.9434 - C 291.0225 273.7188 293.2485 276.1348 294.6016 278.748 - C 295.8125 281.083 296.8906 281.7461 298.375 283.9736 - C 298.811 284.627 300.4995 286.9219 300.9912 288.7373 - C 301.543 290.5107 301.356 292.7344 301.5679 293.6494 - C 301.8721 294.9697 303.1182 297.8369 303.2129 299.4531 - C 303.2666 300.3691 299.3916 298.1494 297.5532 298.1494 - C 295.7144 298.1494 293.9233 299.248 292.2808 299.3281 - C 290.248 299.4248 288.9414 297.7607 287.1025 298.0508 - C 286.0518 298.2178 285.167 299.1426 283.3311 299.2129 - C 280.7178 299.3086 277.5244 297.7607 271.5264 297.9531 - C 265.6255 298.1436 260.1753 305.4082 259.4312 306.5635 - C 258.5605 307.9199 257.4961 307.9199 256.335 306.8555 - C 255.1738 305.792 253.7432 306.627 253.3359 307.3389 - C 252.5615 308.6943 250.4927 312.6543 247.2881 313.4824 - C 242.8564 314.6309 240.6118 311.0283 240.9033 308.1621 - C 241.1987 305.252 243.0801 304.4375 243.9512 302.8906 - C 244.8213 301.3428 245.2671 300.3428 246.9053 299.6572 - C 248.0674 299.1758 248.5 298.458 248.1533 297.5049 - C 247.8506 296.6738 246.6416 296.4834 245.8477 296.4463 - C 244.1592 296.3662 242.9756 296.8242 242.1123 297.376 - C 241.1084 298.0137 240.292 298.9033 239.416 300.4131 - C 238.4023 302.0781 236.8052 302.8037 234.9453 302.8037 - C 234.0586 302.8037 233.2295 302.5693 232.4922 302.1895 - C 229.5771 300.6748 226.1064 299.7744 222.3706 299.7744 - L 218.1572 299.7734 - C 216.1064 305.8555 214.9951 312.3682 214.9951 319.1416 - C 214.9951 352.6064 242.1226 379.7334 275.5859 379.7334 - C 309.0498 379.7334 336.1758 352.6064 336.1758 319.1416 - C 336.1758 307 332.6035 295.6895 326.4531 286.208 - " /> - - <!-- The Shadowman's face --> - <path fill="white" d=" - M 326.4531 286.209 - C 324.1177 286.7461 321.6396 287.084 319.1338 287.084 - C 314.8496 287.084 310.9502 286.3418 308.0732 285.1436 - C 307.7559 284.9873 307.5303 284.6553 307.5303 284.2783 - C 307.5303 284.1416 307.5654 284.001 307.6172 283.8838 - C 307.957 282.8994 307.3984 281.8311 304.6157 281.2178 - C 300.4883 280.3115 297.8833 276.0537 296.3916 274.6416 - C 294.6411 272.9766 289.6973 271.9551 290.4404 272.9463 - C 291.0225 273.7197 293.2485 276.1367 294.6016 278.749 - C 295.8125 281.083 296.8906 281.75 298.375 283.9756 - C 298.811 284.627 300.4995 286.9238 300.9912 288.7402 - C 301.543 290.5117 301.356 292.7354 301.5679 293.6514 - C 301.8721 294.9727 303.1182 297.8379 303.2129 299.457 - C 303.2666 300.3721 299.3916 298.1504 297.5532 298.1504 - C 295.7144 298.1504 293.9233 299.251 292.2808 299.3301 - C 290.248 299.4258 288.9414 297.7627 287.1025 298.0518 - C 286.0518 298.2207 285.167 299.1465 283.3311 299.2148 - C 280.7178 299.3096 277.5244 297.7627 271.5264 297.9561 - C 265.6255 298.1475 260.1753 305.4121 259.4312 306.5674 - C 258.5605 307.9219 257.4961 307.9219 256.335 306.8574 - C 255.1738 305.7939 253.7432 306.6299 253.3359 307.3438 - C 252.5615 308.6963 250.4927 312.6553 247.2881 313.4854 - C 242.8564 314.6338 240.6118 311.0313 240.9033 308.1641 - C 241.1987 305.2539 243.0801 304.4395 243.9512 302.8926 - C 244.8213 301.3438 245.2671 300.3457 246.9053 299.6621 - C 248.0674 299.1768 248.5 298.4609 248.1533 297.5068 - C 247.8506 296.6768 246.6416 296.4873 245.8477 296.4492 - C 244.1592 296.3672 242.9756 296.8262 242.1123 297.376 - C 241.1084 298.0176 240.292 298.9043 239.416 300.416 - C 238.4023 302.0801 236.8052 302.8086 234.9453 302.8086 - C 234.0586 302.8086 233.2295 302.5723 232.4922 302.1934 - C 229.5771 300.6748 226.1064 299.7773 222.3706 299.7773 - L 218.1572 299.7744 - C 226.2363 275.8105 248.8965 258.5527 275.5859 258.5527 - C 296.9063 258.5527 315.6538 269.5635 326.4531 286.209 - " /> - - <!-- nose shadow --> - <path fill="black" d=" - M 288.9307 291.7637 - C 289.2422 291.46 289.7793 290.4375 289.1226 289.1396 - C 288.7544 288.4521 288.3579 287.9678 287.6489 287.4023 - C 286.7969 286.7188 285.1309 285.9307 282.8457 287.3799 - C 281.6172 288.1592 281.543 288.4209 279.8467 288.2012 - C 278.6348 288.043 278.1533 289.2656 278.5884 290.2832 - C 279.0244 291.2969 280.8145 292.1191 283.04 290.8135 - C 284.041 290.2256 285.6025 288.9844 286.9688 290.084 - C 287.5356 290.5381 287.875 290.8408 288.6611 291.75 - C 288.6963 291.7881 288.7461 291.8105 288.8018 291.8105 - C 288.8516 291.8105 288.8965 291.793 288.9307 291.7637 - " /> - - <!-- The Shadowman's red hat --> - <path fill="#cc0000" d=" - M 309.7769 335.2627 - C 309.1787 333.251 308.3271 330.6763 304.5391 328.7314 - C 303.9878 328.4497 303.7764 328.9126 304.0313 329.3477 - C 305.4629 331.7832 305.7168 332.3921 306.1328 333.3525 - C 306.7148 334.7568 307.02 336.7549 305.8618 340.9219 - C 303.5835 349.1221 298.8296 360.083 295.375 363.6392 - C 292.04 367.0698 285.998 368.0361 280.5371 366.6348 - C 278.5264 366.1191 274.5918 364.0732 267.2939 365.7168 - C 254.665 368.5605 252.7939 362.2368 252.0693 359.4824 - C 251.3438 356.7271 249.6045 348.897 249.6045 348.897 - C 249.0244 345.7085 248.2646 340.1631 267.874 336.4287 - C 277.0088 334.6885 277.4736 332.3276 277.8779 330.6289 - C 278.603 327.585 279.7627 325.8438 281.0674 324.9746 - C 282.373 324.1035 281.0674 323.3828 279.6187 323.2349 - C 275.7285 322.8311 261.3491 326.9541 252.8428 331.7881 - C 245.8828 336.0415 245.7656 339.8721 247.3584 343.1211 - C 236.8452 344.2573 228.9561 342.1348 227.5254 337.1582 - C 225.0693 328.6157 246.3047 314.0264 270.4839 306.7061 - C 295.8579 299.0225 321.9556 304.3857 324.8564 320.335 - C 326.1738 327.5811 320.0713 332.9419 309.7769 335.2627 - " /> - - <!-- shadow on hat --> - <path fill="black" d=" - M 270.8711 350.8813 - C 263.8721 350.375 263.145 349.6191 261.834 348.2227 - C 259.9854 346.2539 257.5508 350.7773 257.5508 350.7773 - C 256.0898 351.085 254.3179 353.4404 255.2744 355.6411 - C 256.2158 357.8174 257.9551 357.1641 258.5 356.4868 - C 259.1626 355.6621 260.5771 354.3125 262.4141 354.3613 - C 264.251 354.4097 266.3706 354.7959 269.3262 354.7959 - C 272.3213 354.7959 274.335 353.6777 274.4487 352.7168 - C 274.5459 351.8965 274.2061 351.1226 270.8711 350.8813 - " /> - - <!-- another shadow on hat --> - <path fill="black" d=" - M 278.2236 362.4463 - C 278.2129 362.4453 278.2021 362.4438 278.1919 362.4438 - C 278.084 362.4438 277.9961 362.5273 277.9961 362.6274 - C 277.9961 362.7007 278.041 362.7646 278.106 362.7939 - C 279.4629 363.5107 281.4873 364.0811 283.8042 364.3169 - C 284.499 364.3887 285.1787 364.4248 285.832 364.4307 - C 285.9478 364.4307 286.0615 364.4297 286.1787 364.4277 - C 290.062 364.3398 293.1719 362.7974 293.1255 360.9814 - C 293.0791 359.165 289.8955 357.7637 286.0112 357.8506 - C 284.7529 357.8794 283.5732 358.0615 282.5576 358.3545 - C 282.4385 358.3857 282.3506 358.4883 282.3506 358.6094 - C 282.3506 358.731 282.4385 358.834 282.5605 358.8638 - C 284.9839 359.4248 286.6191 360.3408 286.5039 361.207 - C 286.3511 362.3545 283.1816 362.979 279.4248 362.6011 - C 279.0137 362.5596 278.6118 362.5068 278.2236 362.4463 - " /> - - <!-- ® for The Shadowman --> - <path fill="black" d=" - M 588.3018 288.9707 - L 588.8369 288.9707 - L 589.6426 287.6445 - L 590.1626 287.6445 - L 589.2905 288.9937 - C 589.7422 289.0498 590.085 289.2881 590.085 289.834 - C 590.085 290.4385 589.7275 290.7051 589.0034 290.7051 - L 587.8384 290.7051 - L 587.8384 287.6445 - L 588.3018 287.6445 - L 588.3018 288.9707 - - M 588.3018 289.3643 - L 588.3018 290.3101 - L 588.9336 290.3101 - C 589.2549 290.3101 589.5996 290.2402 589.5996 289.8647 - C 589.5996 289.3916 589.251 289.3643 588.8584 289.3643 - L 588.3018 289.3643 - " /> - - <path fill="black" d=" - M 591.8457 289.1719 - C 591.8457 287.5176 590.5059 286.1763 588.8511 286.1763 - C 587.1968 286.1763 585.8545 287.5176 585.8545 289.1719 - C 585.8545 290.8271 587.1968 292.1675 588.8511 292.1675 - C 590.5059 292.1675 591.8457 290.8271 591.8457 289.1719 - - M 588.8511 291.6367 - C 587.4883 291.6367 586.3853 290.5332 586.3853 289.1719 - C 586.3853 287.8096 587.4883 286.7061 588.8511 286.7061 - C 590.21 286.7061 591.3135 287.8096 591.3135 289.1719 - C 591.3135 290.5332 590.21 291.6367 588.8511 291.6367 - " /> - - </g> - </g> - - </defs> - -<g fill="black"> - - <g font-family="Frutiger"> - - <rect x="0" y="0" width="341" height="768" fill="#162284"/> - - <use xlink:href="#cairo_logo_with_text" fill="white" transform="translate(170, 420)" /> - - <use xlink:href="#redhat_logo_horizontal" - transform="translate(826,768),scale(.5,.5),translate(0,-125)"/> - - <g id="slide_title" transform="translate(683, 80)"> - <text text-anchor="middle" - fill="black" - font-weight="bold" - x="0" - y="10" font-size="50" - ss:variable="presentation">Presentation Title</text> - </g> - - <g ss:region="default" text-anchor="middle"> - <rect x="683" y="270" width="2" height="350" fill="none" stroke="blue"/> - <text font-size="40" fill="black" - x="683" y="310">Slide content</text> - </g> - </g> - -</g> - -</svg> diff --git a/doc/tutorial/slides/cairo.svg b/doc/tutorial/slides/cairo.svg deleted file mode 100644 index 3d96abc53..000000000 --- a/doc/tutorial/slides/cairo.svg +++ /dev/null @@ -1,898 +0,0 @@ -<?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" - fill="black"> - - - <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="#f19a14" stroke="none"> - <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> - <g id="dung_2_color"> - <path stroke="none" d=" -M -46, 0 -A 46, 46, - 0, - 0, 1, - 46, 0 -A 46, 46, - 0, - 0, 1, - -46, 0 -M -50, 0 -A 50, 50, - 0, - 0, 0, - 50, 0 -A 50, 50, - 0, - 0, 0, - -50, 0 -Z" /> - <g transform="scale(9)"> - <!-- Hacker emblem grid --> - <path fill="none" stroke-width="0.2" - d="M -3,-3 L 3,-3 L 3,3 L-3,3 Z - M -1,-3 L -1, 3 - M 1,-3 L 1, 3 - M -3,-1 L 3,-1 - M -3, 1 L 3, 1"/> - <g stroke="none"> - <!-- Hacker emblem dots --> - <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> - - <!-- 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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_2_color" 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" transform="translate(0,-97)"> - <g transform="scale(0.1484,0.1484)"> <g transform="translate(-1139,-208.5)"> - <!-- 63 (c), advance 444, 0 horiBearing 38,522 --> - <path transform="translate(65,0)" d=" - M 412, 433 - C 385, 422 336, 413 298, 413 - C 142, 413 38, 525 38, 680 - C 38, 826 144, 947 298, 947 - C 332, 947 377, 944 416, 926 - L 409, 842 - C 380, 861 340, 871 308, 871 - C 187, 871 138, 771 138, 680 - C 138, 583 197, 489 302, 489 - C 332, 489 368, 496 404, 511 - L 412, 433 " /> - <!-- 61 (a), advance 556, 0 horiBearing 46,522 --> - <path transform="translate(486.75,0)" d=" - M 109, 541 - C 147, 509 204, 489 257, 489 - C 351, 489 383, 534 383, 622 - C 346, 620 320, 620 283, 620 - C 186, 620 46, 660 46, 788 - C 46, 899 123, 947 233, 947 - C 319, 947 369, 900 391, 869 - L 393, 869 - L 393, 935 - L 481, 935 - C 479, 920 477, 893 477, 835 - L 477, 624 - C 477, 485 418, 413 272, 413 - C 207, 413 151, 433 104, 461 - L 109, 541 - M 383, 737 - C 383, 813 334, 871 241, 871 - C 198, 871 146, 842 146, 788 - C 146, 698 272, 690 323, 690 - C 343, 690 363, 692 383, 692 - L 383, 737 " /> - <!-- 69 (i), advance 278, 0 horiBearing 86,730 --> - <path transform="translate(1000,0)" d=" - M 92, 935 - L 186, 935 - L 186, 425 - L 92, 425 - L 92, 935 - M 88, 261 - A 51, 51 0 1 1 190,261 - A 51, 51 0 1 1 88,261" /> - <!-- 72 (r), advance 389, 0 horiBearing 80,522 --> - <path transform="translate(1234.25,0)" d=" - M 80, 935 - L 174, 935 - L 174, 703 - C 174, 575 229, 495 313, 495 - C 329, 495 348, 497 365, 504 - L 365, 420 - C 345, 416 331, 413 303, 413 - C 249, 413 195, 451 170, 504 - L 168, 504 - L 168, 425 - L 80, 425 - L 80, 935 " /> - <!-- 6f (o), advance 611, 0 horiBearing 46,522 --> - <path transform="translate(1610,0)" d=" - M 46, 680 - C 46, 826 152, 947 306, 947 - C 459, 947 565, 826 565, 680 - C 565, 525 461, 413 306, 413 - C 150, 413 46, 525 46, 680 - M 146, 680 - C 146, 583 205, 489 306, 489 - C 406, 489 465, 583 465, 680 - C 465, 771 416, 871 306, 871 - C 195, 871 146, 771 146, 680 " /> - <!-- bounds: 38, 205 <-> 2232, 947 --> - </g> </g> - </g> - - <!-- scaled by 0.72, shifted around to hit pixel boundaries --> - <g id="cairo_text_small_spaced" transform="translate(0,-71)"> - <g transform="scale(0.085,0.085)"> <g transform="translate(-1139,-208.5)"> - <!-- 63 (c), advance 444, 0 horiBearing 38,522 --> - <path transform="translate(-151,0)" d=" - M 412, 433 - C 385, 422 336, 413 298, 413 - C 142, 413 38, 525 38, 680 - C 38, 826 144, 947 298, 947 - C 332, 947 377, 944 416, 926 - L 409, 842 - C 380, 861 340, 871 308, 871 - C 187, 871 138, 771 138, 680 - C 138, 583 197, 489 302, 489 - C 332, 489 368, 496 404, 511 - L 412, 433 " /> - <!-- 61 (a), advance 556, 0 horiBearing 46,522 --> - <path transform="translate(379.5,0)" d=" - M 109, 541 - C 147, 509 204, 489 257, 489 - C 351, 489 383, 534 383, 622 - C 346, 620 320, 620 283, 620 - C 186, 620 46, 660 46, 788 - C 46, 899 123, 947 233, 947 - C 319, 947 369, 900 391, 869 - L 393, 869 - L 393, 935 - L 481, 935 - C 479, 920 477, 893 477, 835 - L 477, 624 - C 477, 485 418, 413 272, 413 - C 207, 413 151, 433 104, 461 - L 109, 541 - M 383, 737 - C 383, 813 334, 871 241, 871 - C 198, 871 146, 842 146, 788 - C 146, 698 272, 690 323, 690 - C 343, 690 363, 692 383, 692 - L 383, 737 " /> - <!-- 69 (i), advance 278, 0 horiBearing 86,730 --> - <path transform="translate(1000,0)" d=" - M 92, 935 - L 186, 935 - L 186, 425 - L 92, 425 - L 92, 935 - M 88, 261 - A 51, 51 0 1 1 190,261 - A 51, 51 0 1 1 88,261" /> - <!-- 72 (r), advance 389, 0 horiBearing 80,522 --> - <path transform="translate(1341.5,0)" d=" - M 80, 935 - L 174, 935 - L 174, 703 - C 174, 575 229, 495 313, 495 - C 329, 495 348, 497 365, 504 - L 365, 420 - C 345, 416 331, 413 303, 413 - C 249, 413 195, 451 170, 504 - L 168, 504 - L 168, 425 - L 80, 425 - L 80, 935 " /> - <!-- 6f (o), advance 611, 0 horiBearing 46,522 --> - <path transform="translate(1826,0)" d=" - M 46, 680 - C 46, 826 152, 947 306, 947 - C 459, 947 565, 826 565, 680 - C 565, 525 461, 413 306, 413 - C 150, 413 46, 525 46, 680 - M 146, 680 - C 146, 583 205, 489 306, 489 - C 406, 489 465, 583 465, 680 - C 465, 771 416, 871 306, 871 - C 195, 871 146, 771 146, 680 " /> - <!-- bounds: 38, 205 <-> 2232, 947 --> - </g> </g> - </g> - - - <!-- scaled by 0.72, shifted around to hit pixel boundaries --> - <g id="cairo_text_small" transform="translate(0,-71)"> - <g transform="scale(0.085,0.085)"> <g transform="translate(-1139,-208.5)"> - <!-- 63 (c), advance 444, 0 horiBearing 38,522 --> - <path transform="translate(-151,0)" d=" - M 412, 433 - C 385, 422 336, 413 298, 413 - C 142, 413 38, 525 38, 680 - C 38, 826 144, 947 298, 947 - C 332, 947 377, 944 416, 926 - L 409, 842 - C 380, 861 340, 871 308, 871 - C 187, 871 138, 771 138, 680 - C 138, 583 197, 489 302, 489 - C 332, 489 368, 496 404, 511 - L 412, 433 " /> - <!-- 61 (a), advance 556, 0 horiBearing 46,522 --> - <path transform="translate(261.75,0)" d=" - M 109, 541 - C 147, 509 204, 489 257, 489 - C 351, 489 383, 534 383, 622 - C 346, 620 320, 620 283, 620 - C 186, 620 46, 660 46, 788 - C 46, 899 123, 947 233, 947 - C 319, 947 369, 900 391, 869 - L 393, 869 - L 393, 935 - L 481, 935 - C 479, 920 477, 893 477, 835 - L 477, 624 - C 477, 485 418, 413 272, 413 - C 207, 413 151, 433 104, 461 - L 109, 541 - M 383, 737 - C 383, 813 334, 871 241, 871 - C 198, 871 146, 842 146, 788 - C 146, 698 272, 690 323, 690 - C 343, 690 363, 692 383, 692 - L 383, 737 " /> - <!-- 69 (i), advance 278, 0 horiBearing 86,730 --> - <path transform="translate(764.75)" d=" - M 92, 935 - L 186, 935 - L 186, 425 - L 92, 425 - L 92, 935 - M 88, 261 - A 51, 51 0 1 1 190,261 - A 51, 51 0 1 1 88,261" /> - <!-- 72 (r), advance 389, 0 horiBearing 80,522 --> - <path transform="translate(988.5,0)" d=" - M 80, 935 - L 174, 935 - L 174, 703 - C 174, 575 229, 495 313, 495 - C 329, 495 348, 497 365, 504 - L 365, 420 - C 345, 416 331, 413 303, 413 - C 249, 413 195, 451 170, 504 - L 168, 504 - L 168, 425 - L 80, 425 - L 80, 935 " /> - <!-- 6f (o), advance 611, 0 horiBearing 46,522 --> - <path transform="translate(1355.5,0)" d=" - M 46, 680 - C 46, 826 152, 947 306, 947 - C 459, 947 565, 826 565, 680 - C 565, 525 461, 413 306, 413 - C 150, 413 46, 525 46, 680 - M 146, 680 - C 146, 583 205, 489 306, 489 - C 406, 489 465, 583 465, 680 - C 465, 771 416, 871 306, 871 - C 195, 871 146, 771 146, 680 " /> - <!-- bounds: 38, 205 <-> 2232, 947 --> - </g> </g> - </g> - - <g id="cairo_logo_text_small"> - <!-- The logo on the left, the text 'cairo' on the right --> - <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(0, 78), scale(0.1944)" /> - <use xlink:href="#cairo_text_small" fill="white" transform="translate(175,82)"/> - </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: 370x88, centered --> - <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(-180, 40), scale(0.1944)" /> - <use xlink:href="#cairo_text_small" transform="translate(0, 42)" fill="black" /> - <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(180, 40), scale(0.1944), scale(-1, 1)" /> - </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>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>g> - <g id="bullet"> - <use x="0" y="0" xlink:href="#cairo_logo" transform="translate(-6,-2) scale(0.1, 0.1)"/>> - </g> - <g id="redhat_logo_horizontal"> - <!-- 380x125 Red Hat log (horizontal layout) --> - <g fill="black" stroke="none" - transform="translate(0,124),scale(1,-1),translate(-214,-258)" - fill-rule="evenodd" - > - <!-- r --> - <path fill="black" d=" - M 367.0625 315.3203 - C 367.0625 320.8765 366.9463 324.9644 366.7227 328.6597 - L 375.811 328.6597 - L 376.2002 320.7764 - L 376.4971 320.7764 - C 378.5391 326.6221 383.3809 329.5996 387.8594 329.5996 - C 388.8843 329.5996 389.4824 329.5601 390.3218 329.373 - L 390.3218 319.4863 - C 389.3398 319.6763 388.4224 319.7842 387.1592 319.7842 - C 382.1597 319.7842 378.688 316.6006 377.751 311.8447 - C 377.5732 310.918 377.4805 309.8086 377.4805 308.6777 - L 377.4805 287.1504 - L 366.9766 287.1504 - L 367.0625 315.3203 - " /> - - <!-- e --> - <path fill="black" d=" - M 402.9927 305.0791 - C 403.2715 297.5586 409.0918 294.2695 415.814 294.2695 - C 420.6406 294.2695 424.0942 295.0234 427.2681 296.1924 - L 428.8232 288.9678 - C 425.269 287.4629 420.3413 286.3359 414.3149 286.3359 - C 400.8384 286.3359 392.9409 294.6592 392.9409 307.3809 - C 392.9409 318.8369 399.8911 329.6772 413.2437 329.6772 - C 426.7397 329.6772 431.1338 318.5771 431.1338 309.4893 - C 431.1338 307.5381 430.9624 305.9707 430.7593 305.0059 - L 402.9927 305.0791 - - M 421.2485 312.3926 - C 421.2954 316.2388 419.6206 322.5088 412.5903 322.5088 - C 406.1299 322.5088 403.4438 316.645 402.9722 312.3926 - L 421.2485 312.3926 - " /> - - <!-- d --> - <path fill="black" d=" - M 476.355 344.667 - L 465.8638 347.5083 - L 465.8638 324.1914 - L 465.6904 324.1914 - C 463.8335 327.2563 459.7407 329.5996 454.0571 329.5996 - C 444.0762 329.5996 435.3828 321.3374 435.4478 307.4307 - C 435.4478 294.6719 443.2983 286.2168 453.2119 286.2168 - C 459.2017 286.2168 464.2114 289.0723 466.6909 293.7217 - L 466.8779 293.7217 - L 467.3491 287.1504 - L 476.6997 287.1504 - C 476.5083 289.9717 476.355 294.543 476.355 298.792 - L 476.355 344.667 - - M 465.8638 305.1504 - C 465.8638 304.0479 465.7856 303.0234 465.5454 302.0869 - C 464.4873 297.5439 460.7734 294.6172 456.4819 294.6172 - C 449.8721 294.6172 446.0903 300.1885 446.0903 307.8164 - C 446.0903 315.5166 449.8384 321.4761 456.6016 321.4761 - C 461.3208 321.4761 464.6992 318.1484 465.6274 314.1064 - C 465.8071 313.2559 465.8638 312.208 465.8638 311.3711 - L 465.8638 305.1504 - " /> - - <!-- h --> - <path fill="black" d=" - M 503.7964 329.0176 - C 500.6836 329.0176 497.8926 328.1187 495.5493 326.6714 - C 493.1162 325.2461 491.1353 323.0464 489.959 320.7666 - L 489.7915 320.7666 - L 489.7915 341.0195 - L 485.7427 342.1226 - L 485.7427 287.1504 - L 489.7915 287.1504 - L 489.7915 312.1787 - C 489.7915 313.8408 489.9204 314.9946 490.3462 316.2109 - C 492.0928 321.3013 496.8896 325.4805 502.689 325.4805 - C 511.0664 325.4805 513.9673 318.7603 513.9673 311.3906 - L 513.9673 287.1504 - L 518.0137 287.1504 - L 518.0137 311.8359 - C 518.0137 327.0791 507.6753 329.0176 503.7964 329.0176 - " /> - - <!-- a --> - <path fill="black" d=" - M 554.3413 296.873 - C 554.3413 293.6357 554.4692 290.2832 554.9375 287.1504 - L 551.2085 287.1504 - L 550.6128 293.0156 - L 550.4209 293.0156 - C 548.438 289.8594 543.8765 286.2168 537.3726 286.2168 - C 529.1392 286.2168 525.3057 292.0117 525.3057 297.4688 - C 525.3057 306.9121 533.6421 312.6064 550.292 312.4321 - L 550.292 313.5234 - C 550.292 317.5718 549.5044 325.6475 539.8242 325.5859 - C 536.2446 325.5859 532.5132 324.6255 529.5513 322.5366 - L 528.2632 325.4805 - C 532.0015 328.0137 536.5659 329.0176 540.2705 329.0176 - C 552.0801 329.0176 554.3413 320.1509 554.3413 312.8379 - L 554.3413 296.873 - - M 550.292 309.0234 - C 541.3813 309.2813 529.6128 307.9336 529.6128 298.1055 - C 529.6128 292.2246 533.4946 289.5811 537.7578 289.5811 - C 544.5796 289.5811 548.4561 293.8018 549.8677 297.7871 - C 550.1646 298.6621 550.292 299.5371 550.292 300.2402 - L 550.292 309.0234 - " /> - - <!-- t --> - <path fill="black" d=" - M 570.459 337.0996 - L 570.459 328.0801 - L 582.1235 328.0801 - L 582.1235 324.7959 - L 570.459 324.7959 - L 570.459 298.1943 - C 570.459 292.9912 572.0757 289.7285 576.4692 289.7285 - C 578.5815 289.7285 580.0757 290.0078 581.1206 290.3711 - L 581.6099 287.2354 - C 580.2871 286.6836 578.4302 286.2539 575.9619 286.2539 - C 572.9741 286.2539 570.4995 287.1934 568.8994 289.1543 - C 567.0469 291.3057 566.4116 294.7412 566.4116 298.916 - L 566.4116 324.7959 - L 559.5059 324.7959 - L 559.5059 328.0801 - L 566.4116 328.0801 - L 566.4116 335.606 - L 570.459 337.0996 - " /> - - <!-- ® for 'redhat' --> - <path fill="black" d=" - M 335.5 288.9707 - L 336.0352 288.9707 - L 336.8408 287.6445 - L 337.3608 287.6445 - L 336.4888 288.9937 - C 336.9404 289.0498 337.2832 289.2881 337.2832 289.834 - C 337.2832 290.4385 336.9258 290.7051 336.2017 290.7051 - L 335.0366 290.7051 - L 335.0366 287.6445 - L 335.5 287.6445 - L 335.5 288.9707 - - M 335.5 289.3643 - L 335.5 290.3101 - L 336.1318 290.3101 - C 336.4531 290.3101 336.7979 290.2402 336.7979 289.8647 - C 336.7979 289.3916 336.4492 289.3643 336.0566 289.3643 - L 335.5 289.3643 - " /> - - <path fill="black" d=" - M 339.0439 289.1719 - C 339.0439 287.5176 337.7041 286.1763 336.0493 286.1763 - C 334.395 286.1763 333.0527 287.5176 333.0527 289.1719 - C 333.0527 290.8271 334.395 292.1675 336.0493 292.1675 - C 337.7041 292.1675 339.0439 290.8271 339.0439 289.1719 - - M 336.0493 291.6367 - C 334.6865 291.6367 333.5835 290.5332 333.5835 289.1719 - C 333.5835 287.8096 334.6865 286.7061 336.0493 286.7061 - C 337.4082 286.7061 338.5117 287.8096 338.5117 289.1719 - C 338.5117 290.5332 337.4082 291.6367 336.0493 291.6367 - " /> - - <!-- Black background behind The Shadowman --> - <path fill="black" d=" - M 326.4531 286.208 - C 324.1177 286.7451 321.6396 287.0801 319.1338 287.0801 - C 314.8496 287.0801 310.9502 286.3389 308.0732 285.1426 - C 307.7559 284.9844 307.5303 284.6533 307.5303 284.2764 - C 307.5303 284.1406 307.5654 283.999 307.6172 283.8838 - C 307.957 282.8975 307.3984 281.8281 304.6157 281.2158 - C 300.4883 280.3096 297.8833 276.0527 296.3916 274.6367 - C 294.6411 272.9756 289.6973 271.9531 290.4404 272.9434 - C 291.0225 273.7188 293.2485 276.1348 294.6016 278.748 - C 295.8125 281.083 296.8906 281.7461 298.375 283.9736 - C 298.811 284.627 300.4995 286.9219 300.9912 288.7373 - C 301.543 290.5107 301.356 292.7344 301.5679 293.6494 - C 301.8721 294.9697 303.1182 297.8369 303.2129 299.4531 - C 303.2666 300.3691 299.3916 298.1494 297.5532 298.1494 - C 295.7144 298.1494 293.9233 299.248 292.2808 299.3281 - C 290.248 299.4248 288.9414 297.7607 287.1025 298.0508 - C 286.0518 298.2178 285.167 299.1426 283.3311 299.2129 - C 280.7178 299.3086 277.5244 297.7607 271.5264 297.9531 - C 265.6255 298.1436 260.1753 305.4082 259.4312 306.5635 - C 258.5605 307.9199 257.4961 307.9199 256.335 306.8555 - C 255.1738 305.792 253.7432 306.627 253.3359 307.3389 - C 252.5615 308.6943 250.4927 312.6543 247.2881 313.4824 - C 242.8564 314.6309 240.6118 311.0283 240.9033 308.1621 - C 241.1987 305.252 243.0801 304.4375 243.9512 302.8906 - C 244.8213 301.3428 245.2671 300.3428 246.9053 299.6572 - C 248.0674 299.1758 248.5 298.458 248.1533 297.5049 - C 247.8506 296.6738 246.6416 296.4834 245.8477 296.4463 - C 244.1592 296.3662 242.9756 296.8242 242.1123 297.376 - C 241.1084 298.0137 240.292 298.9033 239.416 300.4131 - C 238.4023 302.0781 236.8052 302.8037 234.9453 302.8037 - C 234.0586 302.8037 233.2295 302.5693 232.4922 302.1895 - C 229.5771 300.6748 226.1064 299.7744 222.3706 299.7744 - L 218.1572 299.7734 - C 216.1064 305.8555 214.9951 312.3682 214.9951 319.1416 - C 214.9951 352.6064 242.1226 379.7334 275.5859 379.7334 - C 309.0498 379.7334 336.1758 352.6064 336.1758 319.1416 - C 336.1758 307 332.6035 295.6895 326.4531 286.208 - " /> - - <!-- The Shadowman's face --> - <path fill="white" d=" - M 326.4531 286.209 - C 324.1177 286.7461 321.6396 287.084 319.1338 287.084 - C 314.8496 287.084 310.9502 286.3418 308.0732 285.1436 - C 307.7559 284.9873 307.5303 284.6553 307.5303 284.2783 - C 307.5303 284.1416 307.5654 284.001 307.6172 283.8838 - C 307.957 282.8994 307.3984 281.8311 304.6157 281.2178 - C 300.4883 280.3115 297.8833 276.0537 296.3916 274.6416 - C 294.6411 272.9766 289.6973 271.9551 290.4404 272.9463 - C 291.0225 273.7197 293.2485 276.1367 294.6016 278.749 - C 295.8125 281.083 296.8906 281.75 298.375 283.9756 - C 298.811 284.627 300.4995 286.9238 300.9912 288.7402 - C 301.543 290.5117 301.356 292.7354 301.5679 293.6514 - C 301.8721 294.9727 303.1182 297.8379 303.2129 299.457 - C 303.2666 300.3721 299.3916 298.1504 297.5532 298.1504 - C 295.7144 298.1504 293.9233 299.251 292.2808 299.3301 - C 290.248 299.4258 288.9414 297.7627 287.1025 298.0518 - C 286.0518 298.2207 285.167 299.1465 283.3311 299.2148 - C 280.7178 299.3096 277.5244 297.7627 271.5264 297.9561 - C 265.6255 298.1475 260.1753 305.4121 259.4312 306.5674 - C 258.5605 307.9219 257.4961 307.9219 256.335 306.8574 - C 255.1738 305.7939 253.7432 306.6299 253.3359 307.3438 - C 252.5615 308.6963 250.4927 312.6553 247.2881 313.4854 - C 242.8564 314.6338 240.6118 311.0313 240.9033 308.1641 - C 241.1987 305.2539 243.0801 304.4395 243.9512 302.8926 - C 244.8213 301.3438 245.2671 300.3457 246.9053 299.6621 - C 248.0674 299.1768 248.5 298.4609 248.1533 297.5068 - C 247.8506 296.6768 246.6416 296.4873 245.8477 296.4492 - C 244.1592 296.3672 242.9756 296.8262 242.1123 297.376 - C 241.1084 298.0176 240.292 298.9043 239.416 300.416 - C 238.4023 302.0801 236.8052 302.8086 234.9453 302.8086 - C 234.0586 302.8086 233.2295 302.5723 232.4922 302.1934 - C 229.5771 300.6748 226.1064 299.7773 222.3706 299.7773 - L 218.1572 299.7744 - C 226.2363 275.8105 248.8965 258.5527 275.5859 258.5527 - C 296.9063 258.5527 315.6538 269.5635 326.4531 286.209 - " /> - - <!-- nose shadow --> - <path fill="black" d=" - M 288.9307 291.7637 - C 289.2422 291.46 289.7793 290.4375 289.1226 289.1396 - C 288.7544 288.4521 288.3579 287.9678 287.6489 287.4023 - C 286.7969 286.7188 285.1309 285.9307 282.8457 287.3799 - C 281.6172 288.1592 281.543 288.4209 279.8467 288.2012 - C 278.6348 288.043 278.1533 289.2656 278.5884 290.2832 - C 279.0244 291.2969 280.8145 292.1191 283.04 290.8135 - C 284.041 290.2256 285.6025 288.9844 286.9688 290.084 - C 287.5356 290.5381 287.875 290.8408 288.6611 291.75 - C 288.6963 291.7881 288.7461 291.8105 288.8018 291.8105 - C 288.8516 291.8105 288.8965 291.793 288.9307 291.7637 - " /> - - <!-- The Shadowman's red hat --> - <path fill="#cc0000" d=" - M 309.7769 335.2627 - C 309.1787 333.251 308.3271 330.6763 304.5391 328.7314 - C 303.9878 328.4497 303.7764 328.9126 304.0313 329.3477 - C 305.4629 331.7832 305.7168 332.3921 306.1328 333.3525 - C 306.7148 334.7568 307.02 336.7549 305.8618 340.9219 - C 303.5835 349.1221 298.8296 360.083 295.375 363.6392 - C 292.04 367.0698 285.998 368.0361 280.5371 366.6348 - C 278.5264 366.1191 274.5918 364.0732 267.2939 365.7168 - C 254.665 368.5605 252.7939 362.2368 252.0693 359.4824 - C 251.3438 356.7271 249.6045 348.897 249.6045 348.897 - C 249.0244 345.7085 248.2646 340.1631 267.874 336.4287 - C 277.0088 334.6885 277.4736 332.3276 277.8779 330.6289 - C 278.603 327.585 279.7627 325.8438 281.0674 324.9746 - C 282.373 324.1035 281.0674 323.3828 279.6187 323.2349 - C 275.7285 322.8311 261.3491 326.9541 252.8428 331.7881 - C 245.8828 336.0415 245.7656 339.8721 247.3584 343.1211 - C 236.8452 344.2573 228.9561 342.1348 227.5254 337.1582 - C 225.0693 328.6157 246.3047 314.0264 270.4839 306.7061 - C 295.8579 299.0225 321.9556 304.3857 324.8564 320.335 - C 326.1738 327.5811 320.0713 332.9419 309.7769 335.2627 - " /> - - <!-- shadow on hat --> - <path fill="black" d=" - M 270.8711 350.8813 - C 263.8721 350.375 263.145 349.6191 261.834 348.2227 - C 259.9854 346.2539 257.5508 350.7773 257.5508 350.7773 - C 256.0898 351.085 254.3179 353.4404 255.2744 355.6411 - C 256.2158 357.8174 257.9551 357.1641 258.5 356.4868 - C 259.1626 355.6621 260.5771 354.3125 262.4141 354.3613 - C 264.251 354.4097 266.3706 354.7959 269.3262 354.7959 - C 272.3213 354.7959 274.335 353.6777 274.4487 352.7168 - C 274.5459 351.8965 274.2061 351.1226 270.8711 350.8813 - " /> - - <!-- another shadow on hat --> - <path fill="black" d=" - M 278.2236 362.4463 - C 278.2129 362.4453 278.2021 362.4438 278.1919 362.4438 - C 278.084 362.4438 277.9961 362.5273 277.9961 362.6274 - C 277.9961 362.7007 278.041 362.7646 278.106 362.7939 - C 279.4629 363.5107 281.4873 364.0811 283.8042 364.3169 - C 284.499 364.3887 285.1787 364.4248 285.832 364.4307 - C 285.9478 364.4307 286.0615 364.4297 286.1787 364.4277 - C 290.062 364.3398 293.1719 362.7974 293.1255 360.9814 - C 293.0791 359.165 289.8955 357.7637 286.0112 357.8506 - C 284.7529 357.8794 283.5732 358.0615 282.5576 358.3545 - C 282.4385 358.3857 282.3506 358.4883 282.3506 358.6094 - C 282.3506 358.731 282.4385 358.834 282.5605 358.8638 - C 284.9839 359.4248 286.6191 360.3408 286.5039 361.207 - C 286.3511 362.3545 283.1816 362.979 279.4248 362.6011 - C 279.0137 362.5596 278.6118 362.5068 278.2236 362.4463 - " /> - - <!-- ® for The Shadowman --> - <path fill="black" d=" - M 588.3018 288.9707 - L 588.8369 288.9707 - L 589.6426 287.6445 - L 590.1626 287.6445 - L 589.2905 288.9937 - C 589.7422 289.0498 590.085 289.2881 590.085 289.834 - C 590.085 290.4385 589.7275 290.7051 589.0034 290.7051 - L 587.8384 290.7051 - L 587.8384 287.6445 - L 588.3018 287.6445 - L 588.3018 288.9707 - - M 588.3018 289.3643 - L 588.3018 290.3101 - L 588.9336 290.3101 - C 589.2549 290.3101 589.5996 290.2402 589.5996 289.8647 - C 589.5996 289.3916 589.251 289.3643 588.8584 289.3643 - L 588.3018 289.3643 - " /> - - <path fill="black" d=" - M 591.8457 289.1719 - C 591.8457 287.5176 590.5059 286.1763 588.8511 286.1763 - C 587.1968 286.1763 585.8545 287.5176 585.8545 289.1719 - C 585.8545 290.8271 587.1968 292.1675 588.8511 292.1675 - C 590.5059 292.1675 591.8457 290.8271 591.8457 289.1719 - - M 588.8511 291.6367 - C 587.4883 291.6367 586.3853 290.5332 586.3853 289.1719 - C 586.3853 287.8096 587.4883 286.7061 588.8511 286.7061 - C 590.21 286.7061 591.3135 287.8096 591.3135 289.1719 - C 591.3135 290.5332 590.21 291.6367 588.8511 291.6367 - " /> - - </g> - </g> - - </defs> - - <g id="watermark" transform="translate(200, 185), rotate(-50), scale(2.5)"> - <use xlink:href="#scarab" x="0" y="170" fill-opacity="0.2"/> - </g> - - <!-- Blue bar at top of slide --> - <rect x="0" y="0" width="1024" height="170" fill="#162284" /> - - <!-- Scarab and "cairo" at upper-left --> - <g transform="translate(10,0)"> - <use stroke="none" fill="white" xlink:href="#cairo_logo_text_small"/> - </g> - - <!-- Presentation title at upper-right --> - <text ss:variable="presentation-subtitle" text-anchor="end" - fill="white" x="1016" y="28" font-size="20">Presentation Sub-title</text> - - <!-- Red Hat logo at lower-left --> - <use xlink:href="#redhat_logo_horizontal" transform="translate(8,768),scale(.5,.5),translate(0, -125)" /> - - <g font-family="Frutiger"> - <!-- Slide title --> - <g id="slide_title" transform="translate(512, 133)"> - <text text-anchor="middle" - fill="white" - font-weight="bold" - x="0" - y="4" font-size="55" - ss:variable="title">Really long slide title so you can see</text> - </g> - - <!-- Slide content --> - <g ss:region="default"> - <rect x="112" y="200" width="800" height="480" fill="none" stroke="blue"/> - <text font-size="40" fill="black" - x="112" y="232">Slide content</text> - </g> - - <!-- Footer --> - <text ss:variable="URL" x="1016" y="753" text-anchor="end" font-size="20">http://cairographics.org</text> - </g> - -</svg> diff --git a/doc/tutorial/slides/circle-cairo-large.png b/doc/tutorial/slides/circle-cairo-large.png Binary files differdeleted file mode 100644 index a08e1193a..000000000 --- a/doc/tutorial/slides/circle-cairo-large.png +++ /dev/null diff --git a/doc/tutorial/slides/circle-cairo.png b/doc/tutorial/slides/circle-cairo.png Binary files differdeleted file mode 100644 index f5d8cd438..000000000 --- a/doc/tutorial/slides/circle-cairo.png +++ /dev/null diff --git a/doc/tutorial/slides/circle-ooo-large.png b/doc/tutorial/slides/circle-ooo-large.png Binary files differdeleted file mode 100644 index dfa40997f..000000000 --- a/doc/tutorial/slides/circle-ooo-large.png +++ /dev/null diff --git a/doc/tutorial/slides/circle-ooo.png b/doc/tutorial/slides/circle-ooo.png Binary files differdeleted file mode 100644 index eb90666e6..000000000 --- a/doc/tutorial/slides/circle-ooo.png +++ /dev/null diff --git a/doc/tutorial/slides/expander-fuzzy-large.png b/doc/tutorial/slides/expander-fuzzy-large.png Binary files differdeleted file mode 100644 index 3a485da6a..000000000 --- a/doc/tutorial/slides/expander-fuzzy-large.png +++ /dev/null diff --git a/doc/tutorial/slides/expander-fuzzy.png b/doc/tutorial/slides/expander-fuzzy.png Binary files differdeleted file mode 100644 index b01fd636e..000000000 --- a/doc/tutorial/slides/expander-fuzzy.png +++ /dev/null diff --git a/doc/tutorial/slides/expander-sharp-large.png b/doc/tutorial/slides/expander-sharp-large.png Binary files differdeleted file mode 100644 index f97fa06a4..000000000 --- a/doc/tutorial/slides/expander-sharp-large.png +++ /dev/null diff --git a/doc/tutorial/slides/expander-sharp.png b/doc/tutorial/slides/expander-sharp.png Binary files differdeleted file mode 100644 index 40759aef7..000000000 --- a/doc/tutorial/slides/expander-sharp.png +++ /dev/null diff --git a/doc/tutorial/slides/fuzzies.svg b/doc/tutorial/slides/fuzzies.svg deleted file mode 100644 index df12b8a71..000000000 --- a/doc/tutorial/slides/fuzzies.svg +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<svg xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - width="800" height="500"> - - <image xlink:href="expander-fuzzy.png" x="175" y="25" width="50" height="50"/> - <image xlink:href="expander-sharp.png" x="575" y="25" width="50" height="50"/> - - <image xlink:href="expander-fuzzy-large.png" x="0" y="100" width="400" height="400"/> - <image xlink:href="expander-sharp-large.png" x="400" y="100" width="400" height="400"/> -</svg> diff --git a/doc/tutorial/slides/jaggies.svg b/doc/tutorial/slides/jaggies.svg deleted file mode 100644 index e99d07ba5..000000000 --- a/doc/tutorial/slides/jaggies.svg +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<svg xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - width="800" height="500"> - - <image xlink:href="circle-ooo.png" x="175" y="25" width="50" height="50"/> - <image xlink:href="circle-cairo.png" x="575" y="25" width="50" height="50"/> - - <image xlink:href="circle-ooo-large.png" x="0" y="100" width="400" height="400"/> - <image xlink:href="circle-cairo-large.png" x="400" y="100" width="400" height="400"/> -</svg> diff --git a/doc/tutorial/slides/rendering-model.png b/doc/tutorial/slides/rendering-model.png Binary files differdeleted file mode 100644 index 900898417..000000000 --- a/doc/tutorial/slides/rendering-model.png +++ /dev/null diff --git a/doc/tutorial/slides/tutorial.xml b/doc/tutorial/slides/tutorial.xml deleted file mode 100644 index 3224bea22..000000000 --- a/doc/tutorial/slides/tutorial.xml +++ /dev/null @@ -1,535 +0,0 @@ -<?xml version="1.0" ?> -<svgslides - xmlns="http://www.svgslides.org/svgslides0.1" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - > - - <slides theme="cairo" - presentation="Drawing with cairo" - presentation-subtitle="drawing with cairo" - URL="http://cairographics.org" - bullet="bullet"> - - <slide title="Tutorial preparation" variant="blank" bullet=""> - <lc></lc> - <lc align="center">http://cairographics.org/tutorial</lc> - <lc></lc> - <li>wget http://cairographics.org/cairo-tutorial.tar.gz</li> - <li>tar xzf cairo-tutorial.tar.gz</li> - <li>cd cairo-tutorial</li> - <li>make</li> - <li>cat README</li> - <lc></lc> - <lc align="center">IRC: irc.freenode.net #cairo</lc> - </slide> - - <slide variant="title"> - <lc>Carl Worth</lc> - <lc>Red Hat, Inc.</lc> - <lc></lc> - <lc>linux.conf.au</lc> - <lc>2006-01-26</lc> - <lc>http://cairographics.org</lc> - </slide> - - <slide title="Ugly graphics" variant="separator"> - <lc align="left">Jaggies</lc> - <lc align="center">Fuzzies</lc> - <lc align="right">Fireworks</lc> - </slide> - - <slide title="Jaggies"> - <img src="jaggies.svg"/> - </slide> - - <slide title="Fuzzies"> - <img src="fuzzies.svg"/> - </slide> - - <slide title="Fireworks"> - </slide> - - <slide title="What you can do about it"> - <li>Let application authors know there are options</li> - <li>Learn to use cairo—patch the applications</li> - <li>Write your own cairo-using applications</li> - </slide> - - <slide title="Getting started" variant="separator"> - <lc align="center">Various shell cairo programs</lc> - </slide> - - <slide title="Minimal cairo-xlib program" variant="code"> - <lc>#include <cairo.h></lc> - <lc>#include <cairo-xlib.h></lc> - <lc>int main (void) {</lc> - <lc> Display *dpy = XOpenDisplay (0);</lc> - <lc> Window w = XCreateSimpleWindow (dpy,RootWindow (dpy, 0),</lc> - <lc> 0, 0, WIDTH, HEIGHT, 0, 0, WhitePixel (dpy, 0));</lc> - <lc> cairo_surface_t *surface = cairo_xlib_surface_create (dpy, w,</lc> - <lc> DefaultVisual (dpy, DefaultScreen (dpy)),</lc> - <lc> WIDTH, HEIGHT);</lc> - <lc> XEvent ev;</lc> - <lc> XSelectInput (dpy, w, ExposureMask);</lc> - <lc> XMapWindow (dpy, w);</lc> - <lc> while (XNextEvent (dpy, &ev) == 0)</lc> - <lc> if (ev.type == Expose && !ev.xexpose.count) {</lc> - <lc> cairo_t *cr = cairo_create (surface);</lc> - <lc> draw (cr);</lc> - <lc> cairo_destroy (cr);</lc> - <lc> }</lc> - <lc>}</lc> - </slide> - - <slide title="Minimal cairo-gtk program" variant="code"> - <lc>#include <gtk/gtk.h></lc> - <lc>static gboolean</lc> - <lc>handle_expose (GtkWidget *widget, GdkEventExpose *event, gpointer data) {</lc> - <lc> cairo_t *cr = gdk_cairo_create (widget->window);</lc> - <lc> draw (cr);</lc> - <lc> cairo_destroy (cr);</lc> - <lc> return FALSE;</lc> - <lc>}</lc> - <lc>int main (int argc, char **argv) {</lc> - <lc> GtkWidget *window, *drawing_area;</lc> - <lc> gtk_init (&argc, &argv);</lc> - <lc> window = gtk_window_new (GTK_WINDOW_TOPLEVEL);</lc> - <lc> gtk_window_set_default_size (GTK_WINDOW (window), WIDTH, HEIGHT);</lc> - <lc> drawing_area = gtk_drawing_area_new ();</lc> - <lc> gtk_container_add (GTK_CONTAINER (window), drawing_area);</lc> - <lc> g_signal_connect (drawing_area, "expose-event",</lc> - <lc> G_CALLBACK (handle_expose), NULL);</lc> - <lc> gtk_widget_show_all (window); gtk_main ();</lc> - <lc>}</lc> - </slide> - - <slide title="Minimal cairo-png program" variant="code"> - <lc>#include <cairo.h></lc> - <lc></lc> - <lc>int main (void)</lc> - <lc>{</lc> - <lc> cairo_surface_t *surface;</lc> - <lc> cairo_t *cr;</lc> - <lc></lc> - <lc> surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,</lc> - <lc> WIDTH, HEIGHT);</lc> - <lc> cr = cairo_create (surface);</lc> - <lc> draw (cr);</lc> - <lc> cairo_surface_write_to_png (surface, "foo.png");</lc> - <lc></lc> - <lc> cairo_surface_destroy (surface);</lc> - <lc> cairo_destroy (cr);</lc> - <lc></lc> - <lc> return 0;</lc> - <lc>}</lc> - </slide> - - <slide title="Minimal cairo-pdf program" variant="code"> - <lc>#include <cairo.h></lc> - <lc>#include <cairo-pdf.h></lc> - <lc>int main (void)</lc> - <lc>{</lc> - <lc> cairo_surface_t *surface;</lc> - <lc> cairo_t *cr;</lc> - <lc></lc> - <lc> surface = cairo_pdf_surface_create ("foo.pdf", WIDTH, HEIGHT);</lc> - <lc> </lc> - <lc> cr = cairo_create (surface);</lc> - <lc> draw (cr);</lc> - <lc> cairo_show_page (cr);</lc> - <lc></lc> - <lc> cairo_surface_destroy (surface);</lc> - <lc> cairo_destroy (cr);</lc> - <lc></lc> - <lc> return 0;</lc> - <lc>}</lc> - </slide> - - <slide title="Minimal pycairo-gtk shell" variant="code"> - <lc>#!/usr/bin/env python</lc> - <lc>import gtk</lc> - <lc>import cairo</lc> - <lc></lc> - <lc>def expose (widget, event):</lc> - <lc> cr = widget.window.cairo_create ()</lc> - <lc> draw (cr)</lc> - <lc> </lc> - <lc>win = gtk.Window ()</lc> - <lc>win.connect ('destroy', gtk.main_quit)</lc> - <lc>win.set_default_size(WIDTH, HEIGHT)</lc> - <lc>drawingarea = gtk.DrawingArea ()</lc> - <lc>win.add (drawingarea)</lc> - <lc>drawingarea.connect ('expose_event', expose)</lc> - <lc>win.show_all ()</lc> - <lc>gtk.main ()</lc> - </slide> - - <slide title="Minimal pycairo-png shell" variant="code"> - <lc>#!/usr/bin/env python</lc> - <lc>import cairo</lc> - <lc></lc> - <lc>surface = cairo.ImageSurface (cairo.FORMAT_ARGB32, WIDTH, HEIGHT)</lc> - <lc>cr = cairo.Context (surface)</lc> - <lc></lc> - <lc>draw (cr)</lc> - <lc></lc> - <lc>surface.write_to_png ('foo.png')</lc> - </slide> - - <slide title="Minimal nickle program" variant="code"> - <lc>autoimport Cairo;</lc> - <lc></lc> - <lc>cairo_t cr = new (WIDTH, HEIGHT);</lc> - <lc>draw (cr);</lc> - </slide> - - <slide title="Available bindings:" variant="large-content"> - <li>C++ (cairomm)</li> - <li>Haskell (hscairo)</li> - <li>Java (CairoJava, cairo-java)</li> - <li>Common Lisp (cl-cairo)</li> - <li>Nickle (cairo-5c)</li> - <li>Objective Caml (cairo-ocaml)</li> - <li>perl (cairo-perl)</li> - <li>python (pycairo)</li> - <li>ruby (rcairo)</li> - <li>squeak (cairo-squeak)</li> - </slide> - - <slide title="Following along" > - <lc></lc> - <lc align="center">http://cairographics.org/tutorial</lc> - <lc align="center">http://cairographics.org/cairo-tutorial.tar.gz</lc> - <li>tar xzf cairo-tutorial.tar.gz</li> - <li>cd cairo-tutorial</li> - <li>make</li> - <li>cat README</li> - <lc align="center">IRC: irc.freenode.net #cairo</lc> - </slide> - - <slide title="Cairo's rendering model"> - <g> - <image x="0" y="0" xlink:href="rendering-model.png" width="800" height="500" /> - </g> - </slide> - - <slide title="Let's start drawing" variant="separator"> - <lc align="center">Here comes the fun part</lc> - </slide> - - <slide title="API Overview" variant="large-content"> - <ul> - <li>Paths</li> - <ul> - <li>construction</li> - <li>filling, stroking</li> - </ul> - <li>Images</li> - <ul> - <li>loading from disk</li> - <li>using as source</li> - <li>transforming/filtering</li> - </ul> - <li>Text</li> - <ul> - <li>“Toy” API</li> - <li>“Full” API</li> - </ul> - </ul> - </slide> - - <slide title="Drawing functions" variant="large-content"> - <ul> - <li>Paths</li> - <ul> - <li>cairo_stroke</li> - <li>cairo_fill</li> - </ul> - <li>Images</li> - <ul> - <li>cairo_paint</li> - <li>cairo_mask</li> - <li>cairo_paint_with_alpha</li> - </ul> - <li>Text</li> - <ul> - <li>cairo_show_text (“toy”)</li> - <li>cairo_show_glyphs (“full”)</li> - </ul> - </ul> - </slide> - - <slide title="Basic path building"> - <ul> - <li>Paths consist of lines and splines:</li> - <ul> - <li>cairo_move_to</li> - <lc> start new sub path, set current point</lc> - <li>cairo_line_to</li> - <lc> add line segment to path</lc> - <li>cairo_curve_to</li> - <lc> add Bézier spline to path</lc> - <li>cairo_close_path</li> - <lc> add line segment to last move_to point</lc> - </ul> - </ul> - </slide> - - <slide title="Stroking paths"> - <ul> - <li>cairo_stroke</li> - <ul> - <li>Paints the path itself as stroked by a pen</li> - <li>Controlled by various stroke parameters:</li> - <ul> - <li>cairo_set_line_width</li> - <li>cairo_set_line_cap</li> - <li>cairo_set_line_join</li> - <li>cairo_set_miter_limit</li> - <li>cairo_set_dash</li> - </ul> - </ul> - </ul> - </slide> - - <slide title="cairo_stroke example"> - </slide> - - <slide title="cairo_set_line_width"> - </slide> - - <slide title="cairo_set_line_cap example"> - <ul> - <li>CAIRO_LINE_CAP_BUTT</li> - <li>CAIRO_LINE_CAP_ROUND</li> - <li>CAIRO_LINE_CAP_SQUARE</li> - </ul> - </slide> - - <slide title="cairo_set_line_join example"> - <ul> - <li>CAIRO_LINE_JOIN_BEVEL</li> - <li>CAIRO_LINE_JOIN_ROUND</li> - <li>CAIRO_LINE_JOIN_MITER</li> - </ul> - </slide> - - <slide title="cairo_close_path example"> - <li>Adds a line segment (if necessary) to the</li> - <lc>start of the path</lc> - <li>Draws a join from that line to the first</li> - <lc>element of the path</lc> - </slide> - - <slide title="cairo_set_dash example"> - </slide> - - <slide title="cairo_fill"> - <ul> - <li>Paints the “inside” of the path</li> - <li>Two different ways to determine inside-ness</li> - <ul> - <li>cairo_set_fill_rule:</li> - <lc> CAIRO_FILL_RULE_WINDING</lc> - <lc> CAIRO_FILL_RULE_EVEN_ODD</lc> - </ul> - </ul> - </slide> - - <slide title="cairo_fill example"> - </slide> - - <slide title="cairo_set_fill_rule"> - <li>To test a point for inside-ness, imagine a ray</li> - <lc>from the point and extending to infinity</lc> - <lc>(any direction) and examine path crossings</lc> - <li>EVEN_ODD counts crossings and fills when odd</li> - <li>WINDING counts up/down for left/right crossings</li> - <lc>and fills when the final number is not zero</lc> - </slide> - - <slide title="Fill rule example"> - </slide> - - <slide title="Something besides black?"> - <li>All drawing occurs with the source pattern</li> - <li>Uniform-color sources can be set</li> - <lc>with or without alpha:</lc> - <ul> - <li>cairo_set_source_rgb</li> - <li>cairo_set_source_rgba</li> - </ul> - </slide> - - <slide title="cairo_set_source example"> - </slide> - - <slide title="Fill and stroke the same path"> - <li>cairo_stroke and cairo_fill consume the path</li> - <li>Variants are available to preserve the path:</li> - <ul> - <li>cairo_stroke_preserve</li> - <li>cairo_fill_preserve</li> - </ul> - <li>This is a variation from PostScript and PDF</li> - <ul> - <li>The cairo approach differs in different ways</li> - <li>We think this way is better (of course)</li> - </ul> - </slide> - - <slide title="Fill and stroke example"> - </slide> - - <slide title="More path building"> - <ul> - <li>cairo_rectangle</li> - <li>cairo_arc</li> - <li>cairo_text_path</li> - <li>cairo_glyph_path</li> - <li>Relative-coordinate variants:</li> - <ul> - <li>cairo_rel_move_to</li> - <li>cairo_rel_line_to</li> - <li>cairo_rel_curve_to</li> - </ul> - </ul> - </slide> - - <slide title="cairo_arc example"> - </slide> - - <slide title="Outline text"> - </slide> - - <slide title="Affine Transformations"> - <ul> - <li>Single matrix combines rotation, translation,</li> - <lc>scale and shear</lc> - <li>Non-projective transformations</li> - <ul> - <li>Pen doesn't change shape along the stroke</li> - </ul> - <li>Transformations are cumulative</li> - <ul> - <li>translate, scale != scale, translate</li> - </ul> - </ul> - </slide> - - <slide title="Affine Transform Example"> - </slide> - - <slide title="Save/Restore Graphics States"> - <ul> - <li>cairo_save and cairo_restore</li> - <li>Very useful for bracketing function bodies</li> - <li>Eliminates graphics state side effects</li> - <lc></lc> - <li>NOTE: Path is not part of graphics state</li> - <ul> - <li>Path is not affected by cairo_save/restore</li> - <li>Useful for path-generating functions</li> - </ul> - </ul> - </slide> - - <slide title="Clipping"> - <li>cairo_clip</li> - <li>Intersects path with current clip to further</li> - <lc>restrict drawing</lc> - <li>Pixel-aligned clipping is much faster</li> - <li>cairo_clip_preserve is available as well</li> - </slide> - - <slide title="Other source patterns"> - <ul> - <li>Surface patterns</li> - <ul> - <li>Image from disk</li> - <li>Results of cairo drawing</li> - </ul> - <li>Gradient patterns</li> - <ul> - <li>linear gradients</li> - <li>radial gradients</li> - </ul> - </ul> - </slide> - - <slide title="Loading an image file"> - </slide> - - <slide title="Painting an image"> - </slide> - - <slide title="Pattern transformation"> - </slide> - - <slide title="Pattern filtering"> - </slide> - - <slide title="Linear gradient example"> - </slide> - - <slide title="Radial gradient example"> - </slide> - - <slide title="Text"> - <ul> - <li>“Toy” API:</li> - <ul> - <li>Useful for demos like we are writing today</li> - <li>No real layout—not useful for the majority</li> - <lc>of writing systems in the world</lc> - </ul> - <li>“Full” API:</li> - <ul> - <li>User must do OS-dependent font selection</li> - <li>User must access font glyph IDs directly</li> - <li>User must do all text layout</li> - </ul> - </ul> - </slide> - - <slide title="“Toy” text API"/> - <ul> - <li>Simple font selection</li> - <ul> - <li>family, weight, slant</li> - <li>OS independent</li> - <li>No font listing support</li> - </ul> - <li>UTF-8 text drawing and extents functions</li> - <li>Still supports full font transformations</li> - </ul> - - <slide title="“Toy” text example"> - </slide> - - <slide title="“Real” text example"> - <li>Just use pango</li> - </slide> - - <slide title="Error handling in C"> - <li>C has no exceptions</li> - <li>Checking each return is tedious</li> - <li>C programmers rarely bother</li> - <li>Lots of broken programs result</li> - </slide> - - <slide title="Cairo error handling"> - <li>Cairo stores status value when error occurs</li> - <li>API “shuts down” when an error occurs</li> - <li>All cairo functions are benign</li> - <lc>(and well defined) after any error.</lc> - <li>cairo_status can be called when convenient</li> - <li>Error status values propagate across objects</li> - </slide> - - <slide title="Cairo error example"> - </slide> - - </slides> -</svgslides> diff --git a/doc/tutorial/src/.gitignore b/doc/tutorial/src/.gitignore deleted file mode 100644 index 68af59e73..000000000 --- a/doc/tutorial/src/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -*-gtk -*-pdf -*-png -*-xlib -*.pdf -*.png -*.o -*~ diff --git a/doc/tutorial/src/README b/doc/tutorial/src/README deleted file mode 100644 index a2738da4e..000000000 --- a/doc/tutorial/src/README +++ /dev/null @@ -1,66 +0,0 @@ -Welcome to the cairo tutorial: - -+--------------------------------+ -| How to Recognize Ugly Graphics | -|(and what you can do about them)| -+--------------------------------+ - -This directory is your personal playground for following along with -the examples. In order for you to make use of these files you will -need to have cairo and its header files installed. You can find -instructions for doing this at: - - http://cairographics.org/tutorial - -Notice that there are a few .c files in this directory. - -You should start out by just typing "make" which will turn each .c -file into several different programs. Go ahead and run each of the -programs and see what they do. Some of them will open up new X windows -while others will simply write their output to files (such .png or -.pdf). - -After you play with those a bit, go ahead and take a look at the -contents of the .c files. You'll see that each file contains a draw() -function that does all of the drawing. - -You might be surprised to notice that there is no main() function in -any of the files. Instead, main is hidden away by means of -cairo-tutorial.h. This rather non-conventional style is used to allow -you to focus on the actual drawing code involved in using cairo, while -not having to worry about the setup semantics. We don't recommend that -you follow this style for real projects. - -As you follow along during the tutorial and get some ideas for things -to draw, you'll want to start making your own .c files. You can copy -an existing file or make your own by following this simple minimal -template: - - #include "cairo-tutorial.h" - - static void - draw (cairo_t *cr, int width, int height) - { - /* Put your drawing code here. */ - } - -Any new file you create will automatically get picked up by the -Makefile so that "make" will compile your file into several different -programs, just like the existing examples. - -If you'd like to control the initial size of the output, you may -define WIDTH and HEIGHT before including cairo-tutorial.h like so: - - #define WIDTH 100 - #define HEIGHT 100 - - #include "cairo-tutorial.h" - -If you would like to change the set of cairo-backend target programs -that are compiled, you may edit the "all" target in the Makefile. - -Have fun! - --Carl Worth - -cworth@redhat.com diff --git a/doc/tutorial/src/circle.c b/doc/tutorial/src/circle.c deleted file mode 100644 index 6bd02e8ba..000000000 --- a/doc/tutorial/src/circle.c +++ /dev/null @@ -1,22 +0,0 @@ -#include "cairo-tutorial.h" - -static void -draw (cairo_t *cr, int width, int height) -{ - int radius; - - if (width < height) - radius = width/2 - 4; - else - radius = height/2 - 4; - - cairo_move_to (cr, width/2 + radius, height/2); - cairo_arc (cr, width/2, height/2, radius, - 0.0, 2 * M_PI); - - cairo_set_source_rgb (cr, 0.6, 0.8, 1.0); - cairo_fill_preserve (cr); - - cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); - cairo_stroke (cr); -} diff --git a/doc/tutorial/src/include/cairo-tutorial-gtk.h b/doc/tutorial/src/include/cairo-tutorial-gtk.h deleted file mode 100644 index 60516a356..000000000 --- a/doc/tutorial/src/include/cairo-tutorial-gtk.h +++ /dev/null @@ -1,133 +0,0 @@ -/* cairo-tutorial-gtk.h - a tutorial framework for cairo with gtk+ - * - * Copyright © 2005, Carl Worth - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA. - */ - -#include <gtk/gtk.h> -#include <gdk/gdkkeysyms.h> - -#include <cairo.h> - -#ifndef WIDTH -#define WIDTH 400 -#endif - -#ifndef HEIGHT -#define HEIGHT 400 -#endif - -static void -draw (cairo_t *cr, int width, int height); - -#if ! GTK_CHECK_VERSION(2,7,0) -/* copied from gtk+/gdk/gdkcairo.c and gtk+/gdk/x11/gdkdrawable-x11.c - * gdk_cairo_create() which is available in 2.7.0 and later. - */ -static cairo_t * -gdk_cairo_create (GdkDrawable *drawable) -{ - int width, height; - cairo_t *cr = NULL; - cairo_surface_t *surface = NULL; - GdkVisual *visual = gdk_drawable_get_visual (drawable); - - gdk_drawable_get_size (drawable, &width, &height); - if (visual) - surface = cairo_xlib_surface_create (GDK_DRAWABLE_XDISPLAY (drawable), - GDK_DRAWABLE_XID (drawable), - GDK_VISUAL_XVISUAL (visual), - width, height); - else if (gdk_drawable_get_depth (drawable) == 1) - surface = cairo_xlib_surface_create_for_bitmap - (GDK_PIXMAP_XDISPLAY (drawable), - GDK_PIXMAP_XID (drawable), - GDK_SCREEN_XSCREEN (gdk_drawable_get_screen (drawable)), - width, height); - else { - g_warning ("Using Cairo rendering requires the drawable argument to\n" - "have a specified colormap. All windows have a colormap,\n" - "however, pixmaps only have colormap by default if they\n" - "were created with a non-NULL window argument. Otherwise\n" - "a colormap must be set on them with " - "gdk_drawable_set_colormap"); - return NULL; - } - if (surface) { - cr = cairo_create (surface); - cairo_surface_destroy (surface); - } - return cr; -} -#endif - -static gboolean -handle_expose (GtkWidget *widget, - GdkEventExpose *event, - gpointer data) -{ - cairo_t *cr; - - cr = gdk_cairo_create (widget->window); - - draw (cr, widget->allocation.width, widget->allocation.height); - - cairo_destroy (cr); - - return FALSE; -} - -static gboolean -handle_key_press (GtkWidget *widget, - GdkEventKey *event, - gpointer data) -{ - if ((event->keyval == GDK_Q || - event->keyval == GDK_q) && (event->state & GDK_CONTROL_MASK)) - gtk_main_quit (); - - return FALSE; -} - -int -main (int argc, char **argv) -{ - GtkWidget *window, *drawing_area; - - gtk_init (&argc, &argv); - - window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - - gtk_window_set_default_size (GTK_WINDOW (window), WIDTH, HEIGHT); - gtk_window_set_title (GTK_WINDOW (window), "cairo demo"); - - g_signal_connect (window, "destroy", - G_CALLBACK (gtk_main_quit), NULL); - - drawing_area = gtk_drawing_area_new (); - gtk_container_add (GTK_CONTAINER (window), drawing_area); - - g_signal_connect (drawing_area, "expose-event", - G_CALLBACK (handle_expose), NULL); - - g_signal_connect (window, "key-press-event", - G_CALLBACK (handle_key_press), NULL); - - gtk_widget_show_all (window); - - gtk_main (); - - return 0; -} diff --git a/doc/tutorial/src/include/cairo-tutorial-pdf.h b/doc/tutorial/src/include/cairo-tutorial-pdf.h deleted file mode 100644 index 00d0f188e..000000000 --- a/doc/tutorial/src/include/cairo-tutorial-pdf.h +++ /dev/null @@ -1,74 +0,0 @@ -/* cairo-tutorial-png.h - a tutorial framework for cairo to write a PNG image - * - * Copyright © 2005, Carl Worth - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA. - */ - -#include <cairo.h> -#include <cairo-pdf.h> - -#include <stdio.h> -#include <stdlib.h> -#include <assert.h> -#include <string.h> - -#ifndef WIDTH -#define WIDTH 400 -#endif - -#ifndef HEIGHT -#define HEIGHT 400 -#endif - -static void -draw (cairo_t *cr, int width, int height); - -int -main (int argc, char **argv) -{ - cairo_surface_t *surface; - cairo_t *cr; - char *filename, *dash; - - filename = strdup (argv[0]); - assert (filename != NULL); - - dash = strrchr (filename, '-'); - - if (strcmp (dash, "-pdf") == 0) { - *dash = '.'; - } else { - char *new_filename; - new_filename = malloc (strlen (filename) + 5); - sprintf (new_filename, "%s.pdf", filename); - free (filename); - filename = new_filename; - } - - surface = cairo_pdf_surface_create (filename, WIDTH, HEIGHT); - - cr = cairo_create (surface); - - draw (cr, WIDTH, HEIGHT); - - cairo_show_page (cr); - - cairo_surface_destroy (surface); - cairo_destroy (cr); - - free (filename); - - return 0; -} diff --git a/doc/tutorial/src/include/cairo-tutorial-png.h b/doc/tutorial/src/include/cairo-tutorial-png.h deleted file mode 100644 index 428baf294..000000000 --- a/doc/tutorial/src/include/cairo-tutorial-png.h +++ /dev/null @@ -1,74 +0,0 @@ -/* cairo-tutorial-png.h - a tutorial framework for cairo to write a PNG image - * - * Copyright © 2005, Carl Worth - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA. - */ - -#include <cairo.h> - -#include <stdio.h> -#include <stdlib.h> -#include <assert.h> -#include <string.h> - -#ifndef WIDTH -#define WIDTH 400 -#endif - -#ifndef HEIGHT -#define HEIGHT 400 -#endif - -static void -draw (cairo_t *cr, int width, int height); - -int -main (int argc, char **argv) -{ - cairo_surface_t *surface; - cairo_t *cr; - char *filename, *dash; - - surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, - WIDTH, HEIGHT); - - cr = cairo_create (surface); - - draw (cr, WIDTH, HEIGHT); - - filename = strdup (argv[0]); - assert (filename != NULL); - - dash = strrchr (filename, '-'); - - if (strcmp (dash, "-png") == 0) { - *dash = '.'; - } else { - char *new_filename; - new_filename = malloc (strlen (filename) + 5); - sprintf (new_filename, "%s.png", filename); - free (filename); - filename = new_filename; - } - - cairo_surface_write_to_png (surface, filename); - - free (filename); - - cairo_surface_destroy (surface); - cairo_destroy (cr); - - return 0; -} diff --git a/doc/tutorial/src/include/cairo-tutorial-xlib.h b/doc/tutorial/src/include/cairo-tutorial-xlib.h deleted file mode 100644 index 5e78d0354..000000000 --- a/doc/tutorial/src/include/cairo-tutorial-xlib.h +++ /dev/null @@ -1,251 +0,0 @@ -/* cairo-tutorial-xlib.h - a tutorial framework for cairo with xlib - * - * Copyright © 2005, Keith Packard - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA. - */ - -#include <stdio.h> -#include <stdlib.h> -#include <ctype.h> -#include <strings.h> -#include <X11/Xos.h> -#include <X11/Xlib.h> -#include <X11/Xutil.h> -#include <X11/Xatom.h> -#include <cairo.h> -#include <cairo-xlib.h> - -#ifndef WIDTH -#define WIDTH 400 -#endif - -#ifndef HEIGHT -#define HEIGHT 400 -#endif - -#ifndef DEFAULT_VISUAL -#define DEFAULT_VISUAL 0 -#endif - -static void -Usage (char *program) -{ - fprintf (stderr, "Usage: %s\n", program); - fprintf (stderr, "\t-display <display-name>\n"); - fprintf (stderr, "\t-geometry <geometry>\n"); - exit (1); -} - -char *dpy_name; -VisualID vid = DEFAULT_VISUAL; -Colormap colormap; -Visual *visual; -int depth; -unsigned int width = WIDTH, height = HEIGHT; -Window win; -Pixmap pix; -GC gc; - -static void -draw (cairo_t *cr, int width, int height); - -static void -draw_to_pixmap (Display *dpy, Pixmap pix) -{ - cairo_surface_t *surface; - cairo_t *cr; - - surface = cairo_xlib_surface_create (dpy, pix, visual, - width, height); - cr = cairo_create (surface); - - draw (cr, width, height); - - cairo_destroy (cr); - cairo_surface_destroy (surface); -} - -static void -handle_configure (Display *dpy, XConfigureEvent *cev) -{ - width = cev->width; - height = cev->height; - - XFreePixmap(dpy, pix); - pix = XCreatePixmap(dpy, win, width, height, depth); - XFillRectangle(dpy, pix, gc, 0, 0, width, height); - draw_to_pixmap (dpy, pix); -} - -static void -handle_expose (Display *dpy, XExposeEvent *eev) -{ - XCopyArea (dpy, pix, win, gc, - eev->x, eev->y, - eev->width, eev->height, - eev->x, eev->y); -} - -int -main (argc, argv) - int argc; - char **argv; -{ - Display *dpy; - Window root = 0; - char **init_argv = argv; - XSetWindowAttributes attr; - int scr; - int x = 0, y = 0; - int geometryMask; - int border_width = 1; - XSizeHints sizeHints; - XWMHints wmHints; - XClassHint classHints; - XEvent ev; - XEvent eev; - int HasExpose = 0; - int sync = 0; - XTextProperty wm_name, icon_name; - Atom wm_delete_window; - unsigned long gc_mask; - XGCValues gcv; - char quit_string[10]; - unsigned long window_mask; - int has_colormap = 0; - - wm_name.value = (unsigned char *) argv[0]; - wm_name.encoding = XA_STRING; - wm_name.format = 8; - wm_name.nitems = strlen (argv[0]) + 1; - icon_name = wm_name; - gc_mask = 0; - while (*++argv) { - if (!strcmp (*argv, "-display")) - dpy_name = *++argv; - else if (!strcmp (*argv, "-visual")) - vid = strtol(*++argv, NULL, 0); - else if (!strcmp (*argv, "-geometry")) - geometryMask = XParseGeometry (*++argv, &x, &y, &width, &height); - else if (!strcmp (*argv, "-sync")) - sync = 1; - else if (!strcmp (*argv, "-bw")) - border_width = strtol(*++argv, NULL, 0); - else if (!strcmp (*argv, "-root")) - root = strtol (*++argv, NULL, 0); - else - Usage (*init_argv); - } - sizeHints.flags = 0; - wmHints.flags = InputHint; - wmHints.input = True; - classHints.res_name = init_argv[0]; - classHints.res_class = init_argv[0]; - dpy = XOpenDisplay (dpy_name); - if (!dpy) { - fprintf (stderr, "Error: failed to open display: %s\n", - XDisplayName (dpy_name)); - exit (1); - } - if (sync) - XSynchronize (dpy, sync); - scr = DefaultScreen (dpy); - if (!root) - root = RootWindow (dpy, scr); - window_mask = CWBackPixel|CWBorderPixel|CWEventMask; - if (!has_colormap) - colormap = DefaultColormap (dpy, scr); - else - { - window_mask |= CWColormap; - attr.colormap = colormap; - } - visual = DefaultVisual (dpy, scr); - depth = DefaultDepth (dpy, scr); - if (vid) - { - XVisualInfo vi, *vi_ret; - int n; - - vi.visualid = vid; - vi.screen = scr; - vi_ret = XGetVisualInfo (dpy, VisualIDMask|VisualScreenMask, - &vi, &n); - if (vi_ret) - { - visual = vi_ret->visual; - if (!has_colormap) - { - colormap = XCreateColormap (dpy, root, visual, AllocNone); - window_mask |= CWColormap; - attr.colormap = colormap; - } - depth = vi_ret->depth; - } - } - attr.background_pixel = WhitePixel (dpy, scr); - attr.border_pixel = 0; - attr.event_mask = ExposureMask|KeyPressMask|KeyReleaseMask|StructureNotifyMask; - wm_delete_window = XInternAtom(dpy, "WM_DELETE_WINDOW", False); - win = XCreateWindow (dpy, root, x, y, width, height, border_width, - depth, InputOutput, - visual, - window_mask, - &attr); - pix = XCreatePixmap (dpy, win, width, height, depth); - gcv.foreground = WhitePixel (dpy, scr); - gc = XCreateGC (dpy, pix, GCForeground, &gcv); - XFillRectangle(dpy, pix, gc, 0, 0, width, height); - draw_to_pixmap (dpy, pix); - XSetWMProperties (dpy, win, - &wm_name, &icon_name, - init_argv, argc, - &sizeHints, &wmHints, 0); - XSetWMProtocols (dpy, win, &wm_delete_window, 1); - XMapWindow (dpy, win); - for (;;) { - XNextEvent (dpy, &ev); - if (HasExpose && ev.type != Expose) { - HasExpose = 0; - handle_expose (dpy, &eev.xexpose); - } - switch (ev.type) { - case ConfigureNotify: - handle_configure (dpy, &ev.xconfigure); - break; - case Expose: - if (QLength(dpy)) { - eev = ev; - HasExpose = 1; - } else if (ev.xexpose.count == 0) { - handle_expose (dpy, &ev.xexpose); - } - break; - case KeyPress: - if (XLookupString ((XKeyEvent *) &ev, quit_string, sizeof (quit_string), 0, 0) == 1) { - switch (quit_string[0]) { - case 'q': - exit (0); - case 'c': - XClearArea (dpy, ev.xkey.window, 0, 0, 0, 0, True); - break; - } - } - break; - case ClientMessage: - exit (0); - } - } -} diff --git a/doc/tutorial/src/include/cairo-tutorial.h b/doc/tutorial/src/include/cairo-tutorial.h deleted file mode 100644 index ec738e915..000000000 --- a/doc/tutorial/src/include/cairo-tutorial.h +++ /dev/null @@ -1,40 +0,0 @@ -/* cairo-tutorial-gtk.h - a tutorial framework for cairo - * - * Copyright © 2005, Carl Worth - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA. - */ - -#include <cairo.h> -#include <math.h> - -/* The application program may override these before including - * cairo-tutorial.h in order to get a window of a different size. */ -#ifndef WIDTH -#define WIDTH 400 -#endif - -#ifndef HEIGHT -#define HEIGHT 400 -#endif - -#ifdef CAIRO_TUTORIAL_GTK -#include "cairo-tutorial-gtk.h" -#elif CAIRO_TUTORIAL_XLIB -#include "cairo-tutorial-xlib.h" -#elif CAIRO_TUTORIAL_PDF -#include "cairo-tutorial-pdf.h" -#elif CAIRO_TUTORIAL_PNG -#include "cairo-tutorial-png.h" -#endif diff --git a/doc/tutorial/src/lca.c b/doc/tutorial/src/lca.c deleted file mode 100644 index 0b131afaf..000000000 --- a/doc/tutorial/src/lca.c +++ /dev/null @@ -1,32 +0,0 @@ -#define WIDTH 750 -#define HEIGHT 360 - -#include "cairo-tutorial.h" - -static void -draw (cairo_t *cr, int width, int height) -{ - cairo_save (cr); - - cairo_translate (cr, 60, 60); - cairo_scale (cr, 3, 3); - - cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND); - cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND); - cairo_set_line_width (cr, 20); - - /* L */ - cairo_move_to (cr, 0, 0); - cairo_line_to (cr, 0, 80); - cairo_line_to (cr, 50, 80); - - /* C */ - cairo_move_to (cr, 110 + 40 * cos (M_PI / 3), 40 + 40 * sin(M_PI / 3)); - cairo_arc (cr, 110, 40, 40, M_PI / 3, -M_PI / 3); - - /* A */ - cairo_move_to (cr, 160, 80); - cairo_curve_to (cr, 160, -30, 210, -30, 210, 80); - - cairo_stroke (cr); -} diff --git a/doc/tutorial/src/singular.c b/doc/tutorial/src/singular.c deleted file mode 100644 index 958b2b047..000000000 --- a/doc/tutorial/src/singular.c +++ /dev/null @@ -1,162 +0,0 @@ -/** - * Uses Singular values of transformation matrix to find the length of the - * major and minor axes of the scaled pen. - * - * Put this file in cairo/doc/tutorial/src and type "make" - */ - -#define WIDTH 300 -#define HEIGHT 300 - -#include "cairo-tutorial.h" - -#include <math.h> - -/* - * Finds the singular values of the non-translation part of matrix. - * - * Let M be the cairo transformation matrix in question: - * - * ⌈xx xy⌉ - * M = |yx yy| - * ⌊x0 y0⌋ - * - * The non-translation part is: - * - * A = ⌈xx xy⌉ - * ⌊yx yy⌋ - * - * The non-zero singular values of A are the square roots of the non-zero - * eigenvalues of A⁺ A, where A⁺ is A-transpose. - * - * A⁺ A = ⌈xx yx⌉⌈xx xy⌉ = ⌈xx²+yx² xx*xy+yx*yy⌉ - * ⌊xy yy⌋⌊yx yy⌋ ⌊xx*xy+yx*yy xy²+yy²⌋ - * - * Name those: - * - * B = A⁺ A = ⌈a k⌉ - * ⌊k b⌋ - * - * The eigenvalues of B satisfy: - * - * λ² - (a+b).λ + a.b - k² = 0 - * - * The eigenvalues are: - * __________________ - * (a+b) ± √(a+b)² - 4(a.b-k²) - * λ = --------------------------- - * 2 - * that simplifies to: - * _______________ - * λ = (a+b)/2 ± √((a-b)/2)² + k² - * - * And the Singular values are the root of λs. - * - */ -static void -get_singular_values (const cairo_matrix_t *matrix, - double *major, - double *minor) -{ - double xx = matrix->xx, xy = matrix->xy; - double yx = matrix->yx, yy = matrix->yy; - - double a = xx*xx+yx*yx; - double b = xy*xy+yy*yy; - double k = xx*xy+yx*yy; - - double f = (a+b) * .5; - double g = (a-b) * .5; - double delta = sqrt (g*g + k*k); - - if (major) - *major = sqrt (f + delta); - if (minor) - *minor = sqrt (f - delta); -} - -/* - * Finds the length of the major and minor axes of the pen for a cairo_t, - * identified by the current transformation matrix and line width. - * - * Returned values are in device units. - */ -static void -get_pen_axes (cairo_t *cr, - double *major, - double *minor) -{ - double width; - cairo_matrix_t matrix; - - width = cairo_get_line_width (cr); - cairo_get_matrix (cr, &matrix); - - get_singular_values (&matrix, major, minor); - - if (major) - *major *= width; - if (minor) - *minor *= width; -} - -static void -draw (cairo_t *cr, int width, int height) -{ - double major_width, minor_width; - - /* clear background */ - cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */ - cairo_paint (cr); - -#define W width -#define H height -#define B ((width+height)/16) - - /* the spline we want to stroke */ - cairo_move_to (cr, W-B, B); - cairo_curve_to (cr, -W, B, - 2*W, H-B, - B, H-B); - - /* the effect is show better with round caps */ - cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND); - - /* set the skewed pen */ - cairo_rotate (cr, +.7); - cairo_scale (cr, .5, 2.); - cairo_rotate (cr, -.7); - cairo_set_line_width (cr, B); - - get_pen_axes (cr, &major_width, &minor_width); - - /* stroke with "major" pen in translucent red */ - cairo_save (cr); - cairo_identity_matrix (cr); - cairo_set_line_width (cr, major_width); - cairo_set_source_rgba (cr, 1.0, 0.0, 0.0, .9); - cairo_stroke_preserve (cr); - cairo_restore (cr); - - /* stroke with skewed pen in translucent black */ - cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, .9); - cairo_stroke_preserve (cr); - - /* stroke with "minor" pen in translucent yellow */ - cairo_save (cr); - cairo_identity_matrix (cr); - cairo_set_line_width (cr, minor_width); - cairo_set_source_rgba (cr, 1.0, 1.0, 0.0, .9); - cairo_stroke_preserve (cr); - cairo_restore (cr); - - /* stroke with hairline in black */ - cairo_save (cr); - cairo_identity_matrix (cr); - cairo_set_line_width (cr, 1); - cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); - cairo_stroke_preserve (cr); - cairo_restore (cr); - - cairo_new_path (cr); -} diff --git a/doc/tutorial/src/twin.c b/doc/tutorial/src/twin.c deleted file mode 100644 index 14347bac2..000000000 --- a/doc/tutorial/src/twin.c +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Put this file in cairo/doc/tutorial/src and type "make" - */ - -#define WIDTH 1350 -#define HEIGHT 900 - -#include "cairo-tutorial.h" - - -static void -draw (cairo_t *cr, int width, int height) -{ - int i, j, h; - unsigned char s[2] = {0, 0}; - - /* clear background */ - cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */ - cairo_paint (cr); - - cairo_set_source_rgb (cr, 0, 0, 0); - cairo_select_font_face (cr, - "@cairo:", - CAIRO_FONT_SLANT_NORMAL, - CAIRO_FONT_WEIGHT_NORMAL); - - h = 2; - for (i = 8; i < 48; i >= 24 ? i+=3 : i++) { - cairo_set_font_size (cr, i); - for (j = 33; j < 128; j++) { - if (j == 33 || (j == 80 && i > 24)) { - h += i + 2; - cairo_move_to (cr, 10, h); - } - s[0] = j; - cairo_show_text (cr, (const char *) s); - } - } -} |