1 /*
2 *
3 * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * - Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * - Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * - Neither the name of Oracle nor the names of its
17 * contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
21 * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
154 path.append(Tx.createTransformedShape(rectshape), false);
155 }
156
157 if (doIntersection) {
158 g2.clip(rect);
159 g2.clip(path);
160 }
161
162 g2.setColor(GREEN);
163 g2.fill(rect);
164
165 g2.setClip(new Rectangle(0, 0, w, h));
166
167 g2.setColor(LIGHT_GRAY);
168 g2.draw(rect);
169 g2.setColor(BLACK);
170 g2.draw(path);
171 }
172
173
174 public static void main(String argv[]) {
175 createDemoFrame(new Intersection());
176 }
177
178
179 static final class DemoControls extends CustomControls implements ActionListener {
180
181 Intersection demo;
182 JToolBar toolbar;
183
184 public DemoControls(Intersection demo) {
185 super(demo.name);
186 this.demo = demo;
187 add(toolbar = new JToolBar());
188 toolbar.setFloatable(false);
189 addTool("Intersect", true );
190 addTool("Text", false);
191 addTool("Ovals", true );
192 }
193
194
|
1 /*
2 *
3 * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * - Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * - Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * - Neither the name of Oracle nor the names of its
17 * contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
21 * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
154 path.append(Tx.createTransformedShape(rectshape), false);
155 }
156
157 if (doIntersection) {
158 g2.clip(rect);
159 g2.clip(path);
160 }
161
162 g2.setColor(GREEN);
163 g2.fill(rect);
164
165 g2.setClip(new Rectangle(0, 0, w, h));
166
167 g2.setColor(LIGHT_GRAY);
168 g2.draw(rect);
169 g2.setColor(BLACK);
170 g2.draw(path);
171 }
172
173
174 public static void main(String[] argv) {
175 createDemoFrame(new Intersection());
176 }
177
178
179 static final class DemoControls extends CustomControls implements ActionListener {
180
181 Intersection demo;
182 JToolBar toolbar;
183
184 public DemoControls(Intersection demo) {
185 super(demo.name);
186 this.demo = demo;
187 add(toolbar = new JToolBar());
188 toolbar.setFloatable(false);
189 addTool("Intersect", true );
190 addTool("Text", false);
191 addTool("Ovals", true );
192 }
193
194
|