<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: fun code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Sat, 17 May 2008 18:04:46 GMT</pubDate>
    <description>DZone Snippets: fun code</description>
    <item>
      <title>Create and drag circles in SVG</title>
      <link>http://snippets.dzone.com/posts/show/5268</link>
      <description>Demonstrates creating creating and dragging circles using SVG and ECMAScript.&lt;br /&gt;&lt;br /&gt;Tested on Firefox 3 beta 4.&lt;br /&gt;&lt;br /&gt;file: makeDragDrop.svg&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;svg	xmlns="http://www.w3.org/2000/svg" width="100%"&lt;br /&gt;		xmlns:xlink="http://www.w3.org/1999/xlink" &gt;&lt;br /&gt;&lt;script&gt;&lt;![CDATA[&lt;br /&gt;var	xmlns="http://www.w3.org/2000/svg"&lt;br /&gt;	xlink="http://www.w3.org/1999/xlink" &lt;br /&gt;	Root=document.documentElement&lt;br /&gt;standardize(Root)&lt;br /&gt;&lt;br /&gt;function standardize(R){&lt;br /&gt;	var Attr={&lt;br /&gt;		"onmouseup":"add(evt)",&lt;br /&gt;		"onmousedown":"grab(evt)",&lt;br /&gt;		"onmousemove":null,&lt;br /&gt;		"onmouseover":"hilight(evt)",&lt;br /&gt;		"onmouseout":"hilight(evt)"&lt;br /&gt;	}&lt;br /&gt;	assignAttr(R,Attr)&lt;br /&gt;}&lt;br /&gt;function hilight(evt){&lt;br /&gt;	var T=evt.target&lt;br /&gt;	if (T.nodeName=="rect") return&lt;br /&gt;	if (evt.type=="mouseover") T.setAttributeNS(null,"stroke-opacity",1)&lt;br /&gt;	else T.setAttributeNS(null,"stroke-opacity",.5)&lt;br /&gt;}&lt;br /&gt;function add(evt){&lt;br /&gt;	if (evt.target.nodeName!="rect") return&lt;br /&gt;	var C=document.createElementNS(xmlns,"circle") &lt;br /&gt;	var stroke=Color()&lt;br /&gt;	var rad=10+Math.random()*50&lt;br /&gt;	var Attr={&lt;br /&gt;		r:rad,&lt;br /&gt;		cx:evt.clientX,&lt;br /&gt;		cy:evt.clientY,&lt;br /&gt;		"fill": Color(),&lt;br /&gt;		"fill-opacity":.75,&lt;br /&gt;		"stroke": stroke,&lt;br /&gt;		"stroke-opacity":.5,&lt;br /&gt;		"id":stroke,&lt;br /&gt;		"stroke-width":10+Math.random()*(55-rad)&lt;br /&gt;	}&lt;br /&gt;	assignAttr(C,Attr)&lt;br /&gt;	Root.appendChild(C)&lt;br /&gt;}&lt;br /&gt;function grab(evt){&lt;br /&gt;	var O=evt.target&lt;br /&gt;	if (evt.target.nodeName=="rect") return&lt;br /&gt;	var Attr={&lt;br /&gt;		"onmousemove":"slide(evt,'"+O.id+"')",&lt;br /&gt;		"onmouseup":"standardize(Root)"&lt;br /&gt;	}&lt;br /&gt;	assignAttr(Root,Attr)&lt;br /&gt;}&lt;br /&gt;function slide(evt,id){&lt;br /&gt;	var o=document.getElementById(id)&lt;br /&gt;	var c=""; if (o.nodeName=="circle") c="c"&lt;br /&gt;	o.setAttributeNS(null, c+"x", evt.clientX)&lt;br /&gt;	o.setAttributeNS(null, c+"y", evt.clientY)&lt;br /&gt;}&lt;br /&gt;function assignAttr(O,A){&lt;br /&gt;	for (i in A) O.setAttributeNS(null,i, A[i])&lt;br /&gt;}&lt;br /&gt;function Color(){&lt;br /&gt;	return "rgb("+parseInt(Math.random()*255)+","+parseInt(Math.random()*255)+","+parseInt(Math.random()*255)+")"&lt;br /&gt;}&lt;br /&gt;]]&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;rect width="100%" height="100%" fill="white"/&gt;&lt;br /&gt;&lt;text font-size="12pt" x="50" y="20" id="t1"&gt;Click something to move it&lt;/text&gt;&lt;br /&gt;&lt;text font-size="12pt" x="80" y="40" id="t2"&gt;Click nothing to add something&lt;/text&gt;&lt;br /&gt;&lt;/svg&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Source file copied from &lt;a href="http://srufaculty.sru.edu/david.dailey/svg/makeDragDrop.svg"&gt;http://srufaculty.sru.edu/david.dailey/svg/makeDragDrop.svg&lt;/a&gt;&lt;br /&gt;</description>
      <pubDate>Sat, 22 Mar 2008 00:30:36 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/5268</guid>
      <author>jrobertson (James Robertson)</author>
    </item>
    <item>
      <title>wazup?!!!?!??1:!!??</title>
      <link>http://snippets.dzone.com/posts/show/2600</link>
      <description>Only in Ruby can something this awesome be possible!&lt;br /&gt;&lt;br /&gt;Try to guess its output before you run it.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;def wazup?(a) puts "#{a} dat!" end&lt;br /&gt;wazup?!!!?!??1:!!??&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Sat, 16 Sep 2006 01:19:27 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/2600</guid>
      <author>jicksta (Jay Phillips)</author>
    </item>
    <item>
      <title>Sierpinski Triangle - ruby one-liner</title>
      <link>http://snippets.dzone.com/posts/show/1784</link>
      <description>&lt;code&gt;&lt;br /&gt;ruby -le'32.times{|y|print" "*(31-y),(0..y).map{|x|~y&amp;x&gt;0?" .":" A"}}'&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Source: &lt;a href="http://ruby-talk.org/cgi-bin/vframe.rb/ruby/ruby-talk/122644?122482-123428"&gt;Signatures and one liners&lt;/a&gt;</description>
      <pubDate>Tue, 28 Mar 2006 15:49:57 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/1784</guid>
      <author>413x ()</author>
    </item>
  </channel>
</rss>
