examples/painting/svgviewer/files/bubbles.svg
changeset 0 1918ee327afb
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1 <?xml version="1.0" standalone="no"?>
       
     2 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
       
     3 <svg width="20cm" height="15cm" viewBox="0 0 800 600"
       
     4     xmlns="http://www.w3.org/2000/svg"
       
     5     xmlns:xlink="http://www.w3.org/1999/xlink/"
       
     6     baseProfile="tiny" version="1.2">
       
     7   <title>Spheres</title>
       
     8   <desc>Semi-transparent bubbles on a colored background.</desc>
       
     9     <defs>
       
    10       <!-- Create radial gradients for each bubble. -->
       
    11       <radialGradient id="blueBubble" gradientUnits="userSpaceOnUse"
       
    12                       cx="0" cy="0" r="100" fx="-50" fy="-50">
       
    13         <stop offset="0%" stop-color="white" stop-opacity="1" />
       
    14         <stop offset="25%" stop-color="#cdcdff" stop-opacity=".65" />
       
    15         <stop offset="100%" stop-color="#cdaacd" stop-opacity=".75" />
       
    16       </radialGradient>
       
    17       <radialGradient id="redBubble" gradientUnits="userSpaceOnUse"
       
    18                       cx="0" cy="0" r="100" fx="-50" fy="-50">
       
    19         <stop offset="0%" stop-color="white" stop-opacity="1" />
       
    20         <stop offset="25%" stop-color="#ffcdcd" stop-opacity=".65" />
       
    21         <stop offset="100%" stop-color="#bbbb99" stop-opacity=".75" />
       
    22       </radialGradient>
       
    23       <radialGradient id="greenBubble" gradientUnits="userSpaceOnUse"
       
    24                       cx="0" cy="0" r="100" fx="-50" fy="-50">
       
    25         <stop offset="0%" stop-color="white" stop-opacity="1" />
       
    26         <stop offset="25%" stop-color="#cdffcd" stop-opacity=".65" />
       
    27         <stop offset="100%" stop-color="#99aaaa" stop-opacity=".75" />
       
    28       </radialGradient>
       
    29       <radialGradient id="yellowBubble" gradientUnits="userSpaceOnUse"
       
    30                       cx="0" cy="0" r="100" fx="-50" fy="-50">
       
    31         <stop offset="0%" stop-color="white" stop-opacity="1" />
       
    32         <stop offset="25%" stop-color="#ffffcd" stop-opacity=".65" />
       
    33         <stop offset="100%" stop-color="#bbbbaa" stop-opacity=".75" />
       
    34       </radialGradient>
       
    35       <radialGradient id="background" gradientUnits="userSpaceOnUse"
       
    36                       cx="0" cy="0" r="400" fx="250" fy="250">
       
    37         <stop offset="0%" stop-color="#ffffee" />
       
    38         <stop offset="100%" stop-color="#ccccaa" />
       
    39       </radialGradient>
       
    40       <linearGradient id="surface" gradientUnits="userSpaceOnUse"
       
    41                       x1="-100" y1="200" x2="400" y2="200">
       
    42         <stop offset="0%" stop-color="#ffffcc" />
       
    43         <stop offset="100%" stop-color="#bbbb88" />
       
    44       </linearGradient>
       
    45 
       
    46       <!-- Create radial gradients for each circle to make them look like
       
    47            spheres. -->
       
    48       <radialGradient id="blueSphere" gradientUnits="userSpaceOnUse"
       
    49                       cx="0" cy="0" r="100" fx="-50" fy="-50">
       
    50         <stop offset="0%" stop-color="white" />
       
    51         <stop offset="75%" stop-color="blue" />
       
    52         <stop offset="100%" stop-color="#222244" />
       
    53       </radialGradient>
       
    54       <radialGradient id="redSphere" gradientUnits="userSpaceOnUse"
       
    55                       cx="0" cy="0" r="100" fx="-50" fy="-50">
       
    56         <stop offset="0%" stop-color="white" />
       
    57         <stop offset="75%" stop-color="red" />
       
    58         <stop offset="100%" stop-color="#442222" />
       
    59       </radialGradient>
       
    60       <radialGradient id="greenSphere" gradientUnits="userSpaceOnUse"
       
    61                       cx="0" cy="0" r="100" fx="-50" fy="-50">
       
    62         <stop offset="0%" stop-color="white" />
       
    63         <stop offset="75%" stop-color="green" />
       
    64         <stop offset="100%" stop-color="#113311" />
       
    65       </radialGradient>
       
    66       <radialGradient id="yellowSphere" gradientUnits="userSpaceOnUse"
       
    67                       cx="0" cy="0" r="100" fx="-50" fy="-50">
       
    68         <stop offset="0%" stop-color="white" />
       
    69         <stop offset="75%" stop-color="yellow" />
       
    70         <stop offset="100%" stop-color="#444422" />
       
    71       </radialGradient>
       
    72       <radialGradient id="shadowGrad" gradientUnits="userSpaceOnUse"
       
    73                       cx="0" cy="0" r="100" fx="-50" fy="50">
       
    74         <stop offset="0%" stop-color="black" stop-opacity="1.0" />
       
    75         <stop offset="100%" stop-color="black" stop-opacity="0.0" />
       
    76       </radialGradient>
       
    77 
       
    78       <!-- Define a shadow for each sphere. -->
       
    79       <circle id="shadow" fill="url(#shadowGrad)" cx="0" cy="0" r="100" />
       
    80       <g id="bubble">
       
    81         <circle fill="black" cx="0" cy="0" r="50" />
       
    82         <circle fill="#a6ce39" cx="0" cy="0" r="33" />
       
    83         <path fill="black" d="M 37,50 L 50,37 L 12,-1 L 22,-11 L 10,-24 L -24,10
       
    84                               L -11,22 L -1,12 Z" />
       
    85         <circle cx="0" cy="0" r="100" />
       
    86       </g>
       
    87     </defs>
       
    88   <g>
       
    89     <rect fill="url(#background)" x="0" y="0" width="800" height="600" />
       
    90   </g>
       
    91 
       
    92   <g transform="translate(200,700)">
       
    93     <use xlink:href="#bubble" fill="url(#blueBubble)" />
       
    94     <animateTransform attributeName="transform" type="translate" additive="sum"
       
    95         values="0,0; 0,-800" begin="1s" dur="10s" fill="freeze" repeatCount="indefinite" />
       
    96   </g>
       
    97   <g transform="translate(315,700)">
       
    98     <g transform="scale(0.5,0.5)">
       
    99       <use xlink:href="#bubble" fill="url(#redBubble)" />
       
   100     </g>
       
   101     <animateTransform attributeName="transform" type="translate" additive="sum"
       
   102         values="0,0; 0,-800" begin="3s" dur="7s" fill="freeze" repeatCount="indefinite" />
       
   103   </g>
       
   104   <g transform="translate(80,700)">
       
   105     <g transform="scale(0.65,0.65)">
       
   106       <use xlink:href="#bubble" fill="url(#greenBubble)" />
       
   107     </g>
       
   108     <animateTransform attributeName="transform" type="translate" additive="sum"
       
   109         values="0,0; 0,-800" begin="5s" dur="9s" fill="freeze" repeatCount="indefinite" />
       
   110   </g>
       
   111   <g transform="translate(255,700)">
       
   112     <g transform="scale(0.3,0.3)">
       
   113       <use xlink:href="#bubble" fill="url(#yellowBubble)" />
       
   114     </g>
       
   115     <animateTransform attributeName="transform" type="translate" additive="sum"
       
   116         values="0,0; 0,-800" begin="2s" dur="6s" fill="freeze" repeatCount="indefinite" />
       
   117   </g>
       
   118   <g transform="translate(565,700)">
       
   119     <g transform="scale(0.4,0.4)">
       
   120       <use xlink:href="#bubble" fill="url(#blueBubble)" />
       
   121     </g>
       
   122     <animateTransform attributeName="transform" type="translate" additive="sum"
       
   123         values="0,0; 0,-800" begin="4s" dur="8s" fill="freeze" repeatCount="indefinite" />
       
   124   </g>
       
   125   <g transform="translate(715,700)">
       
   126     <g transform="scale(0.6,0.6)">
       
   127       <use xlink:href="#bubble" fill="url(#redBubble)" />
       
   128     </g>
       
   129     <animateTransform attributeName="transform" type="translate" additive="sum"
       
   130         values="0,0; 0,-800" begin="1s" dur="4s" fill="freeze" repeatCount="indefinite" />
       
   131   </g>
       
   132   <g transform="translate(645,700)">
       
   133     <g transform="scale(0.375,0.375)">
       
   134       <use xlink:href="#bubble" fill="url(#greenBubble)" />
       
   135     </g>
       
   136     <animateTransform attributeName="transform" type="translate" additive="sum"
       
   137         values="0,0; 0,-800" begin="0s" dur="11s" fill="freeze" repeatCount="indefinite" />
       
   138   </g>
       
   139   <g transform="translate(555,700)">
       
   140     <g transform="scale(0.9,0.9)">
       
   141       <use xlink:href="#bubble" fill="url(#yellowBubble)" />
       
   142     </g>
       
   143     <animateTransform attributeName="transform" type="translate" additive="sum"
       
   144         values="0,0; 0,-800" begin="3s" dur="7.5s" fill="freeze" repeatCount="indefinite" />
       
   145   </g>
       
   146 
       
   147   <g transform="translate(360,700)">
       
   148     <g transform="scale(0.5,0.5)">
       
   149       <use xlink:href="#bubble" fill="url(#blueBubble)" />
       
   150     </g>
       
   151     <animateTransform attributeName="transform" type="translate" additive="sum"
       
   152         values="0,0; 0,-800" begin="3s" dur="6s" fill="freeze" repeatCount="indefinite" />
       
   153   </g>
       
   154   <g transform="translate(215,700)">
       
   155     <g transform="scale(0.45,0.45)">
       
   156       <use xlink:href="#bubble" fill="url(#redBubble)" />
       
   157     </g>
       
   158     <animateTransform attributeName="transform" type="translate" additive="sum"
       
   159         values="0,0; 0,-800" begin="5.5s" dur="7s" fill="freeze" repeatCount="indefinite" />
       
   160   </g>
       
   161   <g transform="translate(420,700)">
       
   162     <g transform="scale(0.75,0.75)">
       
   163       <use xlink:href="#bubble" fill="url(#greenBubble)" />
       
   164     </g>
       
   165     <animateTransform attributeName="transform" type="translate" additive="sum"
       
   166         values="0,0; 0,-800" begin="1s" dur="9s" fill="freeze" repeatCount="indefinite" />
       
   167   </g>
       
   168   <g transform="translate(815,700)">
       
   169     <g transform="scale(0.6,0.6)">
       
   170       <use xlink:href="#bubble" fill="url(#yellowBubble)" />
       
   171     </g>
       
   172     <animateTransform attributeName="transform" type="translate" additive="sum"
       
   173         values="0,0; 0,-800" begin="2s" dur="9.5s" fill="freeze" repeatCount="indefinite" />
       
   174   </g>
       
   175 
       
   176   <g transform="translate(225,375)" >
       
   177     <g transform="scale(1.0,0.5)" >
       
   178       <path d="M 0 0 L 350 0 L 450 450 L -100 450 z"
       
   179             fill="url(#surface)" stroke="none" />
       
   180     </g>
       
   181   </g>
       
   182     <g transform="translate(200,0)" >
       
   183     <g transform="translate(200,490) scale(2.0,1.0) rotate(45)" >
       
   184       <rect fill="#a6ce39" x="-69" y="-69" width="138" height="138" />
       
   185       <circle fill="black" cx="0" cy="0" r="50" />
       
   186       <circle fill="#a6ce39" cx="0" cy="0" r="33" />
       
   187       <path fill="black" d="M 37,50 L 50,37 L 12,-1 L 22,-11 L 10,-24 L -24,10
       
   188                             L -11,22 L -1,12 Z" />
       
   189       <animateTransform attributeName="transform"  type="rotate" additive="sum" values="0; 360"
       
   190 	         begin="0s" dur="10s" fill="freeze" repeatCount="indefinite" />
       
   191     </g>
       
   192     <g transform="translate(200,375)">
       
   193       <use xlink:href="#shadow" transform="translate(25,55) scale(1.0,0.5)" />
       
   194       <circle fill="url(#blueSphere)" cx="0" cy="0" r="100" />
       
   195     </g>
       
   196     <g transform="translate(315,440)">
       
   197       <g transform="scale(0.5,0.5)">
       
   198         <use xlink:href="#shadow" transform="translate(25,55) scale(1.0,0.5)" />
       
   199         <circle fill="url(#redSphere)" cx="0" cy="0" r="100" />
       
   200       </g>
       
   201     </g>
       
   202     <g transform="translate(80,475)">
       
   203       <g transform="scale(0.65,0.65)">
       
   204         <use xlink:href="#shadow" transform="translate(25,55) scale(1.0,0.5)" />
       
   205         <circle fill="url(#greenSphere)" cx="0" cy="0" r="100" />
       
   206       </g>
       
   207     </g>
       
   208     <g transform="translate(255,525)">
       
   209       <g transform="scale(0.3,0.3)">
       
   210         <use xlink:href="#shadow" transform="translate(25,55) scale(1.0,0.5)" />
       
   211         <circle fill="url(#yellowSphere)" cx="0" cy="0" r="100" />
       
   212       </g>
       
   213     </g>
       
   214   </g>
       
   215 </svg>