Mercurial > projects > dwt-samples
diff snippets/button/Snippet294.d @ 117:8cdaac0dc743
Added more snippets from TomD
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Sat, 12 Jul 2008 20:09:06 +0200 |
parents | 0de3dab4d6e1 |
children |
line wrap: on
line diff
--- a/snippets/button/Snippet294.d Sat Jul 12 17:54:42 2008 +0200 +++ b/snippets/button/Snippet294.d Sat Jul 12 20:09:06 2008 +0200 @@ -27,7 +27,7 @@ import tango.util.Convert; void main(String[] args){ - Snippet294.main(args); + Snippet294.main(args); } /* @@ -41,54 +41,54 @@ public class Snippet294 { - static int[] circle(int r, int offsetX, int offsetY) { - int[] polygon = new int[8 * r + 4]; - // x^2 + y^2 = r^2 - for (int i = 0; i < 2 * r + 1; i++) { - int x = i - r; - int y = cast(int)Math.sqrt(cast(real)(r*r - x*x)); - polygon[2*i] = offsetX + x; - polygon[2*i+1] = offsetY + y; - polygon[8*r - 2*i - 2] = offsetX + x; - polygon[8*r - 2*i - 1] = offsetY - y; + static int[] circle(int r, int offsetX, int offsetY) { + int[] polygon = new int[8 * r + 4]; + // x^2 + y^2 = r^2 + for (int i = 0; i < 2 * r + 1; i++) { + int x = i - r; + int y = cast(int)Math.sqrt(cast(real)(r*r - x*x)); + polygon[2*i] = offsetX + x; + polygon[2*i+1] = offsetY + y; + polygon[8*r - 2*i - 2] = offsetX + x; + polygon[8*r - 2*i - 1] = offsetY - y; + } + return polygon; } - return polygon; - } - public static void main(String[] args) { - Display display = new Display(); - Shell shell = new Shell(display); - shell.setText("Regions on a Control"); - shell.setLayout(new FillLayout()); - shell.setBackground(display.getSystemColor(DWT.COLOR_DARK_RED)); + public static void main(String[] args) { + Display display = new Display(); + Shell shell = new Shell(display); + shell.setText("Regions on a Control"); + shell.setLayout(new FillLayout()); + shell.setBackground(display.getSystemColor(DWT.COLOR_DARK_RED)); - Button b2 = new Button(shell, DWT.PUSH); - b2.setText("Button with Regions"); + Button b2 = new Button(shell, DWT.PUSH); + b2.setText("Button with Regions"); - // define a region that looks like a circle with two holes in ot - Region region = new Region(); - region.add(circle(67, 87, 77)); - region.subtract(circle(20, 87, 47)); - region.subtract(circle(20, 87, 113)); + // define a region that looks like a circle with two holes in ot + Region region = new Region(); + region.add(circle(67, 87, 77)); + region.subtract(circle(20, 87, 47)); + region.subtract(circle(20, 87, 113)); - // define the shape of the button using setRegion - b2.setRegion(region); - b2.setLocation(100,50); + // define the shape of the button using setRegion + b2.setRegion(region); + b2.setLocation(100,50); - b2.addListener(DWT.Selection, new class() Listener { - public void handleEvent(Event e) { - shell.close(); - } - }); + b2.addListener(DWT.Selection, new class() Listener { + public void handleEvent(Event e) { + shell.close(); + } + }); - shell.setSize(200,200); - shell.open(); + shell.setSize(200,200); + shell.open(); - while (!shell.isDisposed()) { - if (!display.readAndDispatch()) - display.sleep(); + while (!shell.isDisposed()) { + if (!display.readAndDispatch()) + display.sleep(); + } + region.dispose(); + display.dispose(); } - region.dispose(); - display.dispose(); - } }