Testdraw = {}; Testdraw.line = function(){ var root = Draw9p.RootImage(); var src = new Draw9p.Image(0, "r8g8b8", 1, {min: {x: 0, y: 0}, max: {x: 1, y: 1}}, {min: {x: 0, y: 0}, max: {x: 1, y: 1}}, 0x00FF00FF); var img = new Draw9p.Image(0, "r8g8b8", 0, {min: {x: 0, y: 0}, max: {x: 100, y: 100}}, {min: {x: 0, y: 0}, max: {x: 100, y: 100}}, 0xFF00FFFF); Memdraw.line(img, {x: 45, y: 15}, {x: 0, y: 100}, 0, 0, 10, src, {x: 0, y: 0}, 0); Memdraw.line(root, {x: 15, y: 15}, {x: 100, y: 100}, 0, 0, 10, img, {x: 0, y: 0}, 0); var cap = Memdraw.ARROW(25, 25, 10); Memdraw.line(root, {x: 100, y: 15}, {x: 200, y: 200}, cap, cap, 10, src, {x:0,y:0}, 0); Memdraw.line(root, {x: 200, y: 15}, {x: 400, y: 200}, Memdraw.End.disc, Memdraw.End.disc, 15, src, {x:0, y:0}, 0); } Testdraw.fillpoly = function(){ var root = Draw9p.RootImage(); var src = new Draw9p.Image(0, Chan.fmts.CMAP8, 1, new Rect(new Point(0, 0), new Point(1, 1)), new Rect(new Point(0, 0), new Point(1048576, 1048576)), 0x00FF00FF); var pts = [ {x: 20, y: 20}, {x: 20, y: 400}, {x: 400, y: 400}, {x: 20, y: 20} ] Memdraw.fillpoly(root, pts, 0, src, {x: 0, y: 0}, 11); } Testdraw.poly = function(){ var root = Draw9p.RootImage(); var src = new Draw9p.Image(0, "r8g8b8", 1, {min: {x: 0, y: 0}, max: {x: 1, y: 1}}, {min: {x: 0, y: 0}, max: {x: 1, y: 1}}, 0x00FF00FF); var pts = [ {x: 20, y: 20}, {x: 20, y: 200}, {x: 200, y: 200}, {x: 200, y: 20}, {x: 20, y: 20} ]; Memdraw.poly(root, pts, 0, 0, 15, src, {x:0, y:0}, 0); } /* XXX Doesn't work, and would fail if it did. */ Testdraw.mask = function(){ var root = Draw9p.RootImage(); var alpha = new Draw9p.Image(0, "r8g8b8a8", 1, {min: {x: 0, y: 0}, max: {x: 1, y: 1}}, {min: {x: 0, y: 0}, max: {x: 1, y: 1}}, 0x000000FF); var red = new Draw9p.Image(0, "r8g8b8a8", 1, {min: {x: 0, y: 0}, max: {x: 1, y: 1}}, {min: {x: 0, y: 0}, max: {x: 1, y: 1}}, 0xFF0000FF); var mask = new Draw9p.Image(0, "r8g8b8a8", 0, {min: {x: 0, y: 0}, max: {x: 100, y: 100}}, {min: {x: 0, y: 0}, max: {x: 100, y: 100}}, 0x000000FF); Memdraw.line(mask, {x: 10, y: 10}, {x: 90, y: 90}, 0, 0, 10, alpha, {x: 0, y: 0}, 0); Memdraw.drawmasked(root, mask.clipr, red, {x: 0, y: 0}, mask, {x: 0, y: 0}, 0); } Testdraw.ellipse = function(){ var root = Draw9p.RootImage(); var src = new Draw9p.Image(0, "r8g8b8", 1, {min: {x: 0, y: 0}, max: {x: 1, y: 1}}, {min: {x: 0, y: 0}, max: {x: 1024, y: 1024}}, 0x44AA77FF); Memdraw.fillellipse(root, {x: 100, y: 100}, 75, 25, 0, 2*Math.PI, src, {x: 0, y: 0}, 11); }