01: /*
02: * @(#)Stroke.java 1.20 01/12/03
03: *
04: * Copyright 1990-2006 Sun Microsystems, Inc. All Rights Reserved.
05: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
06: *
07: * This program is free software; you can redistribute it and/or
08: * modify it under the terms of the GNU General Public License version
09: * 2 only, as published by the Free Software Foundation.
10: *
11: * This program is distributed in the hope that it will be useful, but
12: * WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * General Public License version 2 for more details (a copy is
15: * included at /legal/license.txt).
16: *
17: * You should have received a copy of the GNU General Public License
18: * version 2 along with this work; if not, write to the Free Software
19: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20: * 02110-1301 USA
21: *
22: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
23: * Clara, CA 95054 or visit www.sun.com if you need additional
24: * information or have any questions.
25: */
26:
27: package java.awt;
28:
29: /**
30: * The <code>Stroke</code> interface allows a
31: * {@link Graphics2D} object to obtain a {@link Shape} that is the
32: * decorated outline, or stylistic representation of the outline,
33: * of the specified <code>Shape</code>.
34: * Stroking a <code>Shape</code> is like tracing its outline with a
35: * marking pen of the appropriate size and shape.
36: * The area where the pen would place ink is the area enclosed by the
37: * outline <code>Shape</code>.
38: * <p>
39: * The methods of the <code>Graphics2D</code> interface that use the
40: * outline <code>Shape</code> returned by a <code>Stroke</code> object
41: * include <code>draw</code> and any other methods that are
42: * implemented in terms of that method, such as
43: * <code>drawLine</code>, <code>drawRect</code>,
44: * <code>drawRoundRect</code>, <code>drawOval</code>,
45: * <code>drawArc</code>, <code>drawPolyline</code>,
46: * and <code>drawPolygon</code>.
47: * <p>
48: * The objects of the classes implementing <code>Stroke</code>
49: * must be read-only because <code>Graphics2D</code> does not
50: * clone these objects either when they are set as an attribute
51: * with the <code>setStroke</code> method or when the
52: * <code>Graphics2D</code> object is itself cloned.
53: * If a <code>Stroke</code> object is modified after it is set in
54: * the <code>Graphics2D</code> context then the behavior
55: * of subsequent rendering would be undefined.
56: * @see BasicStroke
57: * @see Graphics2D#setStroke
58: * @version 1.20, 12/03/01
59: */
60: public interface Stroke {
61: // /**
62: // * Returns an outline <code>Shape</code> which encloses the area that
63: // * should be painted when the <code>Shape</code> is stroked according
64: // * to the rules defined by the
65: // * object implementing the <code>Stroke</code> interface.
66: // * @param p a <code>Shape</code> to be stroked
67: // * @return the stroked outline <code>Shape</code>.
68: // */
69: // Shape createStrokedShape (Shape p);
70: }
|