<?xml version="1.0" encoding="utf-8"?>
<Shell name="shell" descriptors="xworker.swt.widgets.Shell" text="Canvas" RESIZE="true"
width="800" height="600" label="Canvas">
<FillLayout name="shellFillLayout"></FillLayout>
<Group name="group" text="Canvas" label="Canvas">
<FillLayout name="groupFillLayout"></FillLayout>
<Canvas name="canvas">
<Listeners>
<Listener name="canvasPaintListener" type="Paint">
<GroovyAction name="painGroovy">
<code><![CDATA[def e = event;
def gc = e.gc;
def size = canvas.getSize ();
def cx = 0; cy = 0;
gc.drawArc(cx + 1, cy + 1, size.x - 2, size.y - 2, 0, 360);
gc.drawRectangle((int) (cx + (size.x - 10) / 2), (int) (cy + (size.y - 10) / 2), 10, 10);
def canvasString = "Canvas";
def extent = gc.textExtent(canvasString);
gc.drawString(canvasString, (int) (cx + (size.x - extent.x) / 2),
(int) (cy - extent.y + (size.y - 10) / 2), true);]]></code>
</GroovyAction>
</Listener>
</Listeners>
</Canvas>
</Group>
</Shell>