summaryrefslogtreecommitdiffstats
path: root/awt
diff options
context:
space:
mode:
Diffstat (limited to 'awt')
-rw-r--r--awt/java/awt/AWTEvent.java637
-rw-r--r--awt/java/awt/AWTException.java18
-rw-r--r--awt/java/awt/AWTKeyStroke.java502
-rw-r--r--awt/java/awt/AWTPermission.java23
-rw-r--r--awt/java/awt/ActiveEvent.java13
-rw-r--r--awt/java/awt/Adjustable.java54
-rw-r--r--awt/java/awt/AlphaComposite.java277
-rw-r--r--awt/java/awt/BasicStroke.java1499
-rw-r--r--awt/java/awt/BufferCapabilities.java88
-rw-r--r--awt/java/awt/Color.java647
-rw-r--r--awt/java/awt/Component.java3896
-rw-r--r--awt/java/awt/ComponentBehavior.java2
-rw-r--r--awt/java/awt/ComponentOrientation.java74
-rw-r--r--awt/java/awt/Composite.java30
-rw-r--r--awt/java/awt/CompositeContext.java23
-rw-r--r--awt/java/awt/Cursor.java217
-rw-r--r--awt/java/awt/Dimension.java76
-rw-r--r--awt/java/awt/DisplayMode.java88
-rw-r--r--awt/java/awt/Event.java421
-rw-r--r--awt/java/awt/EventQueue.java178
-rw-r--r--awt/java/awt/Font.java879
-rw-r--r--awt/java/awt/FontFormatException.java16
-rw-r--r--awt/java/awt/FontMetrics.java382
-rw-r--r--awt/java/awt/GradientPaint.java180
-rw-r--r--awt/java/awt/Graphics.java923
-rw-r--r--awt/java/awt/Graphics2D.java385
-rw-r--r--awt/java/awt/GraphicsConfiguration.java163
-rw-r--r--awt/java/awt/GraphicsDevice.java165
-rw-r--r--awt/java/awt/GraphicsEnvironment.java109
-rw-r--r--awt/java/awt/HeadlessException.java18
-rw-r--r--awt/java/awt/HeadlessGraphicsEnvironment.java31
-rw-r--r--awt/java/awt/HeadlessToolkit.java249
-rw-r--r--awt/java/awt/IllegalComponentStateException.java24
-rw-r--r--awt/java/awt/Image.java144
-rw-r--r--awt/java/awt/ImageCapabilities.java32
-rw-r--r--awt/java/awt/Insets.java98
-rw-r--r--awt/java/awt/ItemSelectable.java20
-rw-r--r--awt/java/awt/MenuComponent.java854
-rw-r--r--awt/java/awt/MenuContainer.java15
-rw-r--r--awt/java/awt/Paint.java41
-rw-r--r--awt/java/awt/PaintContext.java41
-rw-r--r--awt/java/awt/Point.java92
-rw-r--r--awt/java/awt/Polygon.java337
-rw-r--r--awt/java/awt/Rectangle.java469
-rw-r--r--awt/java/awt/RenderingHints.java359
-rw-r--r--awt/java/awt/Shape.java156
-rw-r--r--awt/java/awt/Stroke.java31
-rw-r--r--awt/java/awt/Toolkit.java834
-rw-r--r--awt/java/awt/Transparency.java24
-rw-r--r--awt/java/awt/color/CMMException.java12
-rw-r--r--awt/java/awt/color/ColorSpace.java242
-rw-r--r--awt/java/awt/color/ICC_ColorSpace.java165
-rw-r--r--awt/java/awt/color/ICC_Profile.java892
-rw-r--r--awt/java/awt/color/ICC_ProfileGray.java24
-rw-r--r--awt/java/awt/color/ICC_ProfileRGB.java58
-rw-r--r--awt/java/awt/color/ProfileDataException.java13
-rw-r--r--awt/java/awt/color/package.html8
-rw-r--r--awt/java/awt/event/AWTEventListener.java6
-rw-r--r--awt/java/awt/event/AWTEventListenerProxy.java6
-rw-r--r--awt/java/awt/event/ActionEvent.java6
-rw-r--r--awt/java/awt/event/ActionListener.java6
-rw-r--r--awt/java/awt/event/AdjustmentEvent.java6
-rw-r--r--awt/java/awt/event/AdjustmentListener.java6
-rw-r--r--awt/java/awt/event/ComponentAdapter.java6
-rw-r--r--awt/java/awt/event/ComponentEvent.java6
-rw-r--r--awt/java/awt/event/ComponentListener.java6
-rw-r--r--awt/java/awt/event/ContainerAdapter.java6
-rw-r--r--awt/java/awt/event/ContainerEvent.java6
-rw-r--r--awt/java/awt/event/ContainerListener.java6
-rw-r--r--awt/java/awt/event/FocusAdapter.java6
-rw-r--r--awt/java/awt/event/FocusEvent.java6
-rw-r--r--awt/java/awt/event/FocusListener.java6
-rw-r--r--awt/java/awt/event/HierarchyBoundsAdapter.java6
-rw-r--r--awt/java/awt/event/HierarchyBoundsListener.java6
-rw-r--r--awt/java/awt/event/HierarchyEvent.java6
-rw-r--r--awt/java/awt/event/HierarchyListener.java6
-rw-r--r--awt/java/awt/event/InputEvent.java6
-rw-r--r--awt/java/awt/event/InputMethodEvent.java6
-rw-r--r--awt/java/awt/event/InputMethodListener.java6
-rw-r--r--awt/java/awt/event/InvocationEvent.java6
-rw-r--r--awt/java/awt/event/ItemEvent.java6
-rw-r--r--awt/java/awt/event/ItemListener.java6
-rw-r--r--awt/java/awt/event/KeyAdapter.java6
-rw-r--r--awt/java/awt/event/KeyEvent.java6
-rw-r--r--awt/java/awt/event/KeyListener.java6
-rw-r--r--awt/java/awt/event/MouseAdapter.java6
-rw-r--r--awt/java/awt/event/MouseEvent.java6
-rw-r--r--awt/java/awt/event/MouseListener.java6
-rw-r--r--awt/java/awt/event/MouseMotionAdapter.java6
-rw-r--r--awt/java/awt/event/MouseMotionListener.java6
-rw-r--r--awt/java/awt/event/MouseWheelEvent.java6
-rw-r--r--awt/java/awt/event/MouseWheelListener.java6
-rw-r--r--awt/java/awt/event/PaintEvent.java6
-rw-r--r--awt/java/awt/event/TextEvent.java6
-rw-r--r--awt/java/awt/event/TextListener.java6
-rw-r--r--awt/java/awt/event/WindowAdapter.java6
-rw-r--r--awt/java/awt/event/WindowEvent.java6
-rw-r--r--awt/java/awt/event/WindowFocusListener.java6
-rw-r--r--awt/java/awt/event/WindowListener.java6
-rw-r--r--awt/java/awt/event/WindowStateListener.java6
-rw-r--r--awt/java/awt/font/FontRenderContext.java66
-rw-r--r--awt/java/awt/font/GlyphJustificationInfo.java142
-rw-r--r--awt/java/awt/font/GlyphMetrics.java116
-rw-r--r--awt/java/awt/font/GlyphVector.java297
-rw-r--r--awt/java/awt/font/GraphicAttribute.java131
-rw-r--r--awt/java/awt/font/ImageGraphicAttribute.java80
-rw-r--r--awt/java/awt/font/LineBreakMeasurer.java175
-rw-r--r--awt/java/awt/font/LineMetrics.java33
-rw-r--r--awt/java/awt/font/MultipleMaster.java47
-rw-r--r--awt/java/awt/font/OpenType.java390
-rw-r--r--awt/java/awt/font/ShapeGraphicAttribute.java103
-rw-r--r--awt/java/awt/font/TextHitInfo.java153
-rw-r--r--awt/java/awt/font/TextLayout.java583
-rw-r--r--awt/java/awt/font/TextMeasurer.java117
-rw-r--r--awt/java/awt/font/TransformAttribute.java28
-rw-r--r--awt/java/awt/font/package.html8
-rw-r--r--awt/java/awt/geom/AffineTransform.java987
-rw-r--r--awt/java/awt/geom/Arc2D.java653
-rw-r--r--awt/java/awt/geom/Area.java123
-rw-r--r--awt/java/awt/geom/CubicCurve2D.java704
-rw-r--r--awt/java/awt/geom/Dimension2D.java29
-rw-r--r--awt/java/awt/geom/Ellipse2D.java201
-rw-r--r--awt/java/awt/geom/FlatteningPathIterator.java348
-rw-r--r--awt/java/awt/geom/GeneralPath.java384
-rw-r--r--awt/java/awt/geom/IllegalPathStateException.java21
-rw-r--r--awt/java/awt/geom/Line2D.java629
-rw-r--r--awt/java/awt/geom/NoninvertibleTransformException.java19
-rw-r--r--awt/java/awt/geom/PathIterator.java156
-rw-r--r--awt/java/awt/geom/Point2D.java153
-rw-r--r--awt/java/awt/geom/QuadCurve2D.java630
-rw-r--r--awt/java/awt/geom/Rectangle2D.java527
-rw-r--r--awt/java/awt/geom/RectangularShape.java111
-rw-r--r--awt/java/awt/geom/RoundRectangle2D.java365
-rw-r--r--awt/java/awt/geom/package.html8
-rw-r--r--awt/java/awt/im/InputContext.java6
-rw-r--r--awt/java/awt/im/InputMethodHighlight.java6
-rw-r--r--awt/java/awt/im/InputMethodRequests.java6
-rw-r--r--awt/java/awt/im/InputSubset.java6
-rw-r--r--awt/java/awt/im/spi/InputMethod.java6
-rw-r--r--awt/java/awt/im/spi/InputMethodContext.java6
-rw-r--r--awt/java/awt/im/spi/InputMethodDescriptor.java6
-rw-r--r--awt/java/awt/image/AffineTransformOp.java321
-rw-r--r--awt/java/awt/image/AreaAveragingScaleFilter.java191
-rw-r--r--awt/java/awt/image/AwtImageBackdoorAccessorImpl.java35
-rw-r--r--awt/java/awt/image/BandCombineOp.java466
-rw-r--r--awt/java/awt/image/BandedSampleModel.java327
-rw-r--r--awt/java/awt/image/BufferStrategy.java28
-rw-r--r--awt/java/awt/image/BufferedImage.java787
-rw-r--r--awt/java/awt/image/BufferedImageFilter.java164
-rw-r--r--awt/java/awt/image/BufferedImageOp.java50
-rw-r--r--awt/java/awt/image/ByteLookupTable.java70
-rw-r--r--awt/java/awt/image/ColorConvertOp.java543
-rw-r--r--awt/java/awt/image/ColorModel.java649
-rw-r--r--awt/java/awt/image/ComponentColorModel.java1597
-rw-r--r--awt/java/awt/image/ComponentSampleModel.java433
-rw-r--r--awt/java/awt/image/ConvolveOp.java348
-rw-r--r--awt/java/awt/image/CropImageFilter.java111
-rw-r--r--awt/java/awt/image/DataBuffer.java371
-rw-r--r--awt/java/awt/image/DataBufferByte.java88
-rw-r--r--awt/java/awt/image/DataBufferDouble.java94
-rw-r--r--awt/java/awt/image/DataBufferFloat.java92
-rw-r--r--awt/java/awt/image/DataBufferInt.java88
-rw-r--r--awt/java/awt/image/DataBufferShort.java89
-rw-r--r--awt/java/awt/image/DataBufferUShort.java99
-rw-r--r--awt/java/awt/image/DirectColorModel.java701
-rw-r--r--awt/java/awt/image/FilteredImageSource.java42
-rw-r--r--awt/java/awt/image/ImageConsumer.java160
-rw-r--r--awt/java/awt/image/ImageFilter.java37
-rw-r--r--awt/java/awt/image/ImageObserver.java82
-rw-r--r--awt/java/awt/image/ImageProducer.java43
-rw-r--r--awt/java/awt/image/ImagingOpException.java17
-rw-r--r--awt/java/awt/image/IndexColorModel.java596
-rw-r--r--awt/java/awt/image/Kernel.java63
-rw-r--r--awt/java/awt/image/LookupOp.java418
-rw-r--r--awt/java/awt/image/LookupTable.java48
-rw-r--r--awt/java/awt/image/MemoryImageSource.java557
-rw-r--r--awt/java/awt/image/MultiPixelPackedSampleModel.java299
-rw-r--r--awt/java/awt/image/PackedColorModel.java201
-rw-r--r--awt/java/awt/image/PixelInterleavedSampleModel.java50
-rw-r--r--awt/java/awt/image/RGBImageFilter.java159
-rw-r--r--awt/java/awt/image/Raster.java1243
-rw-r--r--awt/java/awt/image/RasterFormatException.java21
-rw-r--r--awt/java/awt/image/RasterOp.java45
-rw-r--r--awt/java/awt/image/RenderedImage.java54
-rw-r--r--awt/java/awt/image/ReplicateScaleFilter.java124
-rw-r--r--awt/java/awt/image/RescaleOp.java346
-rw-r--r--awt/java/awt/image/SampleModel.java1055
-rw-r--r--awt/java/awt/image/ShortLookupTable.java69
-rw-r--r--awt/java/awt/image/SinglePixelPackedSampleModel.java251
-rw-r--r--awt/java/awt/image/TileObserver.java31
-rw-r--r--awt/java/awt/image/VolatileImage.java58
-rw-r--r--awt/java/awt/image/WritableRaster.java566
-rw-r--r--awt/java/awt/image/WritableRenderedImage.java62
-rw-r--r--awt/java/awt/image/package.html8
-rw-r--r--awt/java/awt/image/renderable/ContextualRenderedImageFactory.java58
-rw-r--r--awt/java/awt/image/renderable/ParameterBlock.java376
-rw-r--r--awt/java/awt/image/renderable/RenderContext.java110
-rw-r--r--awt/java/awt/image/renderable/RenderableImage.java78
-rw-r--r--awt/java/awt/image/renderable/RenderableImageOp.java79
-rw-r--r--awt/java/awt/image/renderable/RenderableImageProducer.java56
-rw-r--r--awt/java/awt/image/renderable/RenderedImageFactory.java17
-rw-r--r--awt/java/awt/image/renderable/package.html8
-rw-r--r--awt/java/awt/package.html8
-rw-r--r--awt/java/beans/IndexedPropertyChangeEvent.java66
-rw-r--r--awt/java/beans/PropertyChangeEvent.java62
-rw-r--r--awt/java/beans/PropertyChangeListener.java25
-rw-r--r--awt/java/beans/PropertyChangeListenerProxy.java41
-rw-r--r--awt/java/beans/PropertyChangeSupport.java351
-rw-r--r--awt/javax/imageio/IIOException.java16
-rw-r--r--awt/javax/imageio/IIOImage.java99
-rw-r--r--awt/javax/imageio/IIOParam.java170
-rw-r--r--awt/javax/imageio/IIOParamController.java14
-rw-r--r--awt/javax/imageio/ImageIO.java419
-rw-r--r--awt/javax/imageio/ImageReadParam.java106
-rw-r--r--awt/javax/imageio/ImageReader.java910
-rw-r--r--awt/javax/imageio/ImageTranscoder.java43
-rw-r--r--awt/javax/imageio/ImageTypeSpecifier.java254
-rw-r--r--awt/javax/imageio/ImageWriteParam.java291
-rw-r--r--awt/javax/imageio/ImageWriter.java640
-rw-r--r--awt/javax/imageio/event/IIOReadProgressListener.java84
-rw-r--r--awt/javax/imageio/event/IIOReadUpdateListener.java200
-rw-r--r--awt/javax/imageio/event/IIOReadWarningListener.java17
-rw-r--r--awt/javax/imageio/event/IIOWriteProgressListener.java67
-rw-r--r--awt/javax/imageio/event/IIOWriteWarningListener.java20
-rw-r--r--awt/javax/imageio/event/package.html8
-rw-r--r--awt/javax/imageio/metadata/IIOInvalidTreeException.java37
-rw-r--r--awt/javax/imageio/metadata/IIOMetadata.java174
-rw-r--r--awt/javax/imageio/metadata/IIOMetadataController.java17
-rw-r--r--awt/javax/imageio/metadata/IIOMetadataFormat.java391
-rw-r--r--awt/javax/imageio/metadata/IIOMetadataFormatImpl.java661
-rw-r--r--awt/javax/imageio/metadata/IIOMetadataNode.java523
-rw-r--r--awt/javax/imageio/metadata/IIOStandardMetadataFormat.java85
-rw-r--r--awt/javax/imageio/metadata/package.html8
-rw-r--r--awt/javax/imageio/package.html8
-rw-r--r--awt/javax/imageio/plugins/bmp/BMPImageWriteParam.java34
-rw-r--r--awt/javax/imageio/plugins/bmp/package.html8
-rw-r--r--awt/javax/imageio/plugins/jpeg/JPEGHuffmanTable.java171
-rw-r--r--awt/javax/imageio/plugins/jpeg/JPEGImageReadParam.java49
-rw-r--r--awt/javax/imageio/plugins/jpeg/JPEGImageWriteParam.java96
-rw-r--r--awt/javax/imageio/plugins/jpeg/JPEGQTable.java121
-rw-r--r--awt/javax/imageio/plugins/jpeg/package.html8
-rw-r--r--awt/javax/imageio/spi/IIORegistry.java47
-rw-r--r--awt/javax/imageio/spi/IIOServiceProvider.java32
-rw-r--r--awt/javax/imageio/spi/ImageInputStreamSpi.java93
-rw-r--r--awt/javax/imageio/spi/ImageOutputStreamSpi.java92
-rw-r--r--awt/javax/imageio/spi/ImageReaderSpi.java186
-rw-r--r--awt/javax/imageio/spi/ImageReaderWriterSpi.java317
-rw-r--r--awt/javax/imageio/spi/ImageTranscoderSpi.java34
-rw-r--r--awt/javax/imageio/spi/ImageWriterSpi.java200
-rw-r--r--awt/javax/imageio/spi/RegisterableService.java36
-rw-r--r--awt/javax/imageio/spi/ServiceRegistry.java320
-rw-r--r--awt/javax/imageio/spi/package.html8
-rw-r--r--awt/javax/imageio/stream/FileCacheImageInputStream.java46
-rw-r--r--awt/javax/imageio/stream/FileCacheImageOutputStream.java56
-rw-r--r--awt/javax/imageio/stream/FileImageInputStream.java35
-rw-r--r--awt/javax/imageio/stream/FileImageOutputStream.java35
-rw-r--r--awt/javax/imageio/stream/IIOByteBuffer.java53
-rw-r--r--awt/javax/imageio/stream/ImageInputStream.java427
-rw-r--r--awt/javax/imageio/stream/ImageInputStreamImpl.java130
-rw-r--r--awt/javax/imageio/stream/ImageOutputStream.java289
-rw-r--r--awt/javax/imageio/stream/ImageOutputStreamImpl.java49
-rw-r--r--awt/javax/imageio/stream/MemoryCacheImageInputStream.java28
-rw-r--r--awt/javax/imageio/stream/MemoryCacheImageOutputStream.java29
-rw-r--r--awt/javax/imageio/stream/package.html8
-rw-r--r--awt/org/apache/harmony/awt/internal/nls/Messages.java8
-rw-r--r--awt/org/apache/harmony/beans/internal/nls/Messages.java31
-rw-r--r--awt/org/apache/harmony/beans/internal/nls/MsgHelp.java86
-rw-r--r--awt/resources/org/apache/harmony/beans/internals/nls/messages.properties (renamed from awt/org/apache/harmony/beans/internal/nls/messages.properties)0
268 files changed, 27310 insertions, 22961 deletions
diff --git a/awt/java/awt/AWTEvent.java b/awt/java/awt/AWTEvent.java
index 1ed9a37..a8dc83a 100644
--- a/awt/java/awt/AWTEvent.java
+++ b/awt/java/awt/AWTEvent.java
@@ -18,6 +18,7 @@
* @author Dmitry A. Durnev, Michael Danilov
* @version $Revision$
*/
+
package java.awt;
import java.util.EventObject;
@@ -27,190 +28,252 @@ import java.util.EventListener;
import java.awt.event.*;
/**
- * The abstract AWT events is base class for all AWT events.
- * This class and its subclasses supercede the original java.awt.Event class.
+ * The abstract class AWTEvent is the base class for all AWT events. This class
+ * and its subclasses supersede the original java.awt.Event class.
+ *
+ * @since Android 1.0
*/
public abstract class AWTEvent extends EventObject {
-
- /** The Constant serialVersionUID. */
+
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = -1825314779160409405L;
- /** The Constant COMPONENT_EVENT_MASK indicates the event relates to a component. */
+ /**
+ * The Constant COMPONENT_EVENT_MASK indicates the event relates to a
+ * component.
+ */
public static final long COMPONENT_EVENT_MASK = 1;
- /** The Constant CONTAINER_EVENT_MASK indicates the event relates to a container. */
+ /**
+ * The Constant CONTAINER_EVENT_MASK indicates the event relates to a
+ * container.
+ */
public static final long CONTAINER_EVENT_MASK = 2;
- /** The Constant FOCUS_EVENT_MASK indicates the event relates to the focus. */
+ /**
+ * The Constant FOCUS_EVENT_MASK indicates the event relates to the focus.
+ */
public static final long FOCUS_EVENT_MASK = 4;
- /** The Constant KEY_EVENT_MASK indicates the event relates to a key. */
+ /**
+ * The Constant KEY_EVENT_MASK indicates the event relates to a key.
+ */
public static final long KEY_EVENT_MASK = 8;
- /** The Constant MOUSE_EVENT_MASK indicates the event relates to the mouse. */
+ /**
+ * The Constant MOUSE_EVENT_MASK indicates the event relates to the mouse.
+ */
public static final long MOUSE_EVENT_MASK = 16;
- /** The Constant MOUSE_MOTION_EVENT_MASK indicates the event relates to a mouse motion. */
+ /**
+ * The Constant MOUSE_MOTION_EVENT_MASK indicates the event relates to a
+ * mouse motion.
+ */
public static final long MOUSE_MOTION_EVENT_MASK = 32;
- /** The Constant WINDOW_EVENT_MASK indicates the event relates to a window. */
+ /**
+ * The Constant WINDOW_EVENT_MASK indicates the event relates to a window.
+ */
public static final long WINDOW_EVENT_MASK = 64;
- /** The Constant ACTION_EVENT_MASK indicates the event relates to an action. */
+ /**
+ * The Constant ACTION_EVENT_MASK indicates the event relates to an action.
+ */
public static final long ACTION_EVENT_MASK = 128;
- /** The Constant ADJUSTMENT_EVENT_MASK indicates the event relates to an adjustment. */
+ /**
+ * The Constant ADJUSTMENT_EVENT_MASK indicates the event relates to an
+ * adjustment.
+ */
public static final long ADJUSTMENT_EVENT_MASK = 256;
- /** The Constant ITEM_EVENT_MASK indicates the event relates to an item. */
+ /**
+ * The Constant ITEM_EVENT_MASK indicates the event relates to an item.
+ */
public static final long ITEM_EVENT_MASK = 512;
- /** The Constant TEXT_EVENT_MASK indicates the event relates to text. */
+ /**
+ * The Constant TEXT_EVENT_MASK indicates the event relates to text.
+ */
public static final long TEXT_EVENT_MASK = 1024;
- /** The Constant INPUT_METHOD_EVENT_MASK indicates the event relates to an input method. */
+ /**
+ * The Constant INPUT_METHOD_EVENT_MASK indicates the event relates to an
+ * input method.
+ */
public static final long INPUT_METHOD_EVENT_MASK = 2048;
- /** The Constant PAINT_EVENT_MASK indicates the event relates to a paint method. */
+ /**
+ * The Constant PAINT_EVENT_MASK indicates the event relates to a paint
+ * method.
+ */
public static final long PAINT_EVENT_MASK = 8192;
- /** The Constant INVOCATION_EVENT_MASK indicates the event relates to a method invocation. */
+ /**
+ * The Constant INVOCATION_EVENT_MASK indicates the event relates to a
+ * method invocation.
+ */
public static final long INVOCATION_EVENT_MASK = 16384;
- /** The Constant HIERARCHY_EVENT_MASK indicates the event relates to a hierarchy. */
+ /**
+ * The Constant HIERARCHY_EVENT_MASK indicates the event relates to a
+ * hierarchy.
+ */
public static final long HIERARCHY_EVENT_MASK = 32768;
- /**
- * The Constant HIERARCHY_BOUNDS_EVENT_MASK indicates the event relates to hierarchy bounds.
+ /**
+ * The Constant HIERARCHY_BOUNDS_EVENT_MASK indicates the event relates to
+ * hierarchy bounds.
*/
public static final long HIERARCHY_BOUNDS_EVENT_MASK = 65536;
- /** The Constant MOUSE_WHEEL_EVENT_MASK indicates the event relates to the mouse wheel. */
+ /**
+ * The Constant MOUSE_WHEEL_EVENT_MASK indicates the event relates to the
+ * mouse wheel.
+ */
public static final long MOUSE_WHEEL_EVENT_MASK = 131072;
- /** The Constant WINDOW_STATE_EVENT_MASK indicates the event relates to a window state. */
+ /**
+ * The Constant WINDOW_STATE_EVENT_MASK indicates the event relates to a
+ * window state.
+ */
public static final long WINDOW_STATE_EVENT_MASK = 262144;
- /** The Constant WINDOW_FOCUS_EVENT_MASK indicates the event relates to a window focus. */
+ /**
+ * The Constant WINDOW_FOCUS_EVENT_MASK indicates the event relates to a
+ * window focus.
+ */
public static final long WINDOW_FOCUS_EVENT_MASK = 524288;
- /** The Constant RESERVED_ID_MAX indicates the maximum value for reserved
- * AWT event IDs.
+ /**
+ * The Constant RESERVED_ID_MAX indicates the maximum value for reserved AWT
+ * event IDs.
*/
public static final int RESERVED_ID_MAX = 1999;
- /** The Constant eventsMap. */
+ /**
+ * The Constant eventsMap.
+ */
private static final Hashtable<Integer, EventDescriptor> eventsMap = new Hashtable<Integer, EventDescriptor>();
- /** The converter. */
+ /**
+ * The converter.
+ */
private static EventConverter converter;
- /** The ID of the event. */
+ /**
+ * The ID of the event.
+ */
protected int id;
- /**
- * The consumed indicates whether or not the event is sent back down to
- * the peer once the source has processed it (false means it's sent to the peer,
+ /**
+ * The consumed indicates whether or not the event is sent back down to the
+ * peer once the source has processed it (false means it's sent to the peer,
* true means it's not).
- */
+ */
protected boolean consumed;
- /** The dispatched by kfm. */
+ /**
+ * The dispatched by kfm.
+ */
boolean dispatchedByKFM;
-
- /** The is posted. */
+
+ /**
+ * The is posted.
+ */
transient boolean isPosted;
static {
- eventsMap.put(new Integer(KeyEvent.KEY_TYPED),
- new EventDescriptor(KEY_EVENT_MASK, KeyListener.class));
- eventsMap.put(new Integer(KeyEvent.KEY_PRESSED),
- new EventDescriptor(KEY_EVENT_MASK, KeyListener.class));
- eventsMap.put(new Integer(KeyEvent.KEY_RELEASED),
- new EventDescriptor(KEY_EVENT_MASK, KeyListener.class));
- eventsMap.put(new Integer(MouseEvent.MOUSE_CLICKED),
- new EventDescriptor(MOUSE_EVENT_MASK, MouseListener.class));
- eventsMap.put(new Integer(MouseEvent.MOUSE_PRESSED),
- new EventDescriptor(MOUSE_EVENT_MASK, MouseListener.class));
- eventsMap.put(new Integer(MouseEvent.MOUSE_RELEASED),
- new EventDescriptor(MOUSE_EVENT_MASK, MouseListener.class));
- eventsMap.put(new Integer(MouseEvent.MOUSE_MOVED),
- new EventDescriptor(MOUSE_MOTION_EVENT_MASK, MouseMotionListener.class));
- eventsMap.put(new Integer(MouseEvent.MOUSE_ENTERED),
- new EventDescriptor(MOUSE_EVENT_MASK, MouseListener.class));
- eventsMap.put(new Integer(MouseEvent.MOUSE_EXITED),
- new EventDescriptor(MOUSE_EVENT_MASK, MouseListener.class));
- eventsMap.put(new Integer(MouseEvent.MOUSE_DRAGGED),
- new EventDescriptor(MOUSE_MOTION_EVENT_MASK, MouseMotionListener.class));
- eventsMap.put(new Integer(MouseEvent.MOUSE_WHEEL),
- new EventDescriptor(MOUSE_WHEEL_EVENT_MASK, MouseWheelListener.class));
- eventsMap.put(new Integer(ComponentEvent.COMPONENT_MOVED),
- new EventDescriptor(COMPONENT_EVENT_MASK, ComponentListener.class));
- eventsMap.put(new Integer(ComponentEvent.COMPONENT_RESIZED),
- new EventDescriptor(COMPONENT_EVENT_MASK, ComponentListener.class));
- eventsMap.put(new Integer(ComponentEvent.COMPONENT_SHOWN),
- new EventDescriptor(COMPONENT_EVENT_MASK, ComponentListener.class));
- eventsMap.put(new Integer(ComponentEvent.COMPONENT_HIDDEN),
- new EventDescriptor(COMPONENT_EVENT_MASK, ComponentListener.class));
- eventsMap.put(new Integer(FocusEvent.FOCUS_GAINED),
- new EventDescriptor(FOCUS_EVENT_MASK, FocusListener.class));
- eventsMap.put(new Integer(FocusEvent.FOCUS_LOST),
- new EventDescriptor(FOCUS_EVENT_MASK, FocusListener.class));
- eventsMap.put(new Integer(PaintEvent.PAINT),
- new EventDescriptor(PAINT_EVENT_MASK, null));
- eventsMap.put(new Integer(PaintEvent.UPDATE),
- new EventDescriptor(PAINT_EVENT_MASK, null));
- eventsMap.put(new Integer(WindowEvent.WINDOW_OPENED),
- new EventDescriptor(WINDOW_EVENT_MASK, WindowListener.class));
- eventsMap.put(new Integer(WindowEvent.WINDOW_CLOSING),
- new EventDescriptor(WINDOW_EVENT_MASK, WindowListener.class));
- eventsMap.put(new Integer(WindowEvent.WINDOW_CLOSED),
- new EventDescriptor(WINDOW_EVENT_MASK, WindowListener.class));
- eventsMap.put(new Integer(WindowEvent.WINDOW_DEICONIFIED),
- new EventDescriptor(WINDOW_EVENT_MASK, WindowListener.class));
- eventsMap.put(new Integer(WindowEvent.WINDOW_ICONIFIED),
- new EventDescriptor(WINDOW_EVENT_MASK, WindowListener.class));
- eventsMap.put(new Integer(WindowEvent.WINDOW_STATE_CHANGED),
- new EventDescriptor(WINDOW_STATE_EVENT_MASK, WindowStateListener.class));
- eventsMap.put(new Integer(WindowEvent.WINDOW_LOST_FOCUS),
- new EventDescriptor(WINDOW_FOCUS_EVENT_MASK, WindowFocusListener.class));
- eventsMap.put(new Integer(WindowEvent.WINDOW_GAINED_FOCUS),
- new EventDescriptor(WINDOW_FOCUS_EVENT_MASK, WindowFocusListener.class));
- eventsMap.put(new Integer(WindowEvent.WINDOW_DEACTIVATED),
- new EventDescriptor(WINDOW_EVENT_MASK, WindowListener.class));
- eventsMap.put(new Integer(WindowEvent.WINDOW_ACTIVATED),
- new EventDescriptor(WINDOW_EVENT_MASK, WindowListener.class));
- eventsMap.put(new Integer(HierarchyEvent.HIERARCHY_CHANGED),
- new EventDescriptor(HIERARCHY_EVENT_MASK, HierarchyListener.class));
- eventsMap.put(new Integer(HierarchyEvent.ANCESTOR_MOVED),
- new EventDescriptor(HIERARCHY_BOUNDS_EVENT_MASK, HierarchyBoundsListener.class));
- eventsMap.put(new Integer(HierarchyEvent.ANCESTOR_RESIZED),
- new EventDescriptor(HIERARCHY_BOUNDS_EVENT_MASK, HierarchyBoundsListener.class));
- eventsMap.put(new Integer(ContainerEvent.COMPONENT_ADDED),
- new EventDescriptor(CONTAINER_EVENT_MASK, ContainerListener.class));
- eventsMap.put(new Integer(ContainerEvent.COMPONENT_REMOVED),
- new EventDescriptor(CONTAINER_EVENT_MASK, ContainerListener.class));
- eventsMap.put(new Integer(InputMethodEvent.INPUT_METHOD_TEXT_CHANGED),
- new EventDescriptor(INPUT_METHOD_EVENT_MASK, InputMethodListener.class));
- eventsMap.put(new Integer(InputMethodEvent.CARET_POSITION_CHANGED),
- new EventDescriptor(INPUT_METHOD_EVENT_MASK, InputMethodListener.class));
- eventsMap.put(new Integer(InvocationEvent.INVOCATION_DEFAULT),
- new EventDescriptor(INVOCATION_EVENT_MASK, null));
- eventsMap.put(new Integer(ItemEvent.ITEM_STATE_CHANGED),
- new EventDescriptor(ITEM_EVENT_MASK, ItemListener.class));
- eventsMap.put(new Integer(TextEvent.TEXT_VALUE_CHANGED),
- new EventDescriptor(TEXT_EVENT_MASK, TextListener.class));
- eventsMap.put(new Integer(ActionEvent.ACTION_PERFORMED),
- new EventDescriptor(ACTION_EVENT_MASK, ActionListener.class));
- eventsMap.put(new Integer(AdjustmentEvent.ADJUSTMENT_VALUE_CHANGED),
- new EventDescriptor(ADJUSTMENT_EVENT_MASK, AdjustmentListener.class));
+ eventsMap.put(new Integer(KeyEvent.KEY_TYPED), new EventDescriptor(KEY_EVENT_MASK,
+ KeyListener.class));
+ eventsMap.put(new Integer(KeyEvent.KEY_PRESSED), new EventDescriptor(KEY_EVENT_MASK,
+ KeyListener.class));
+ eventsMap.put(new Integer(KeyEvent.KEY_RELEASED), new EventDescriptor(KEY_EVENT_MASK,
+ KeyListener.class));
+ eventsMap.put(new Integer(MouseEvent.MOUSE_CLICKED), new EventDescriptor(MOUSE_EVENT_MASK,
+ MouseListener.class));
+ eventsMap.put(new Integer(MouseEvent.MOUSE_PRESSED), new EventDescriptor(MOUSE_EVENT_MASK,
+ MouseListener.class));
+ eventsMap.put(new Integer(MouseEvent.MOUSE_RELEASED), new EventDescriptor(MOUSE_EVENT_MASK,
+ MouseListener.class));
+ eventsMap.put(new Integer(MouseEvent.MOUSE_MOVED), new EventDescriptor(
+ MOUSE_MOTION_EVENT_MASK, MouseMotionListener.class));
+ eventsMap.put(new Integer(MouseEvent.MOUSE_ENTERED), new EventDescriptor(MOUSE_EVENT_MASK,
+ MouseListener.class));
+ eventsMap.put(new Integer(MouseEvent.MOUSE_EXITED), new EventDescriptor(MOUSE_EVENT_MASK,
+ MouseListener.class));
+ eventsMap.put(new Integer(MouseEvent.MOUSE_DRAGGED), new EventDescriptor(
+ MOUSE_MOTION_EVENT_MASK, MouseMotionListener.class));
+ eventsMap.put(new Integer(MouseEvent.MOUSE_WHEEL), new EventDescriptor(
+ MOUSE_WHEEL_EVENT_MASK, MouseWheelListener.class));
+ eventsMap.put(new Integer(ComponentEvent.COMPONENT_MOVED), new EventDescriptor(
+ COMPONENT_EVENT_MASK, ComponentListener.class));
+ eventsMap.put(new Integer(ComponentEvent.COMPONENT_RESIZED), new EventDescriptor(
+ COMPONENT_EVENT_MASK, ComponentListener.class));
+ eventsMap.put(new Integer(ComponentEvent.COMPONENT_SHOWN), new EventDescriptor(
+ COMPONENT_EVENT_MASK, ComponentListener.class));
+ eventsMap.put(new Integer(ComponentEvent.COMPONENT_HIDDEN), new EventDescriptor(
+ COMPONENT_EVENT_MASK, ComponentListener.class));
+ eventsMap.put(new Integer(FocusEvent.FOCUS_GAINED), new EventDescriptor(FOCUS_EVENT_MASK,
+ FocusListener.class));
+ eventsMap.put(new Integer(FocusEvent.FOCUS_LOST), new EventDescriptor(FOCUS_EVENT_MASK,
+ FocusListener.class));
+ eventsMap.put(new Integer(PaintEvent.PAINT), new EventDescriptor(PAINT_EVENT_MASK, null));
+ eventsMap.put(new Integer(PaintEvent.UPDATE), new EventDescriptor(PAINT_EVENT_MASK, null));
+ eventsMap.put(new Integer(WindowEvent.WINDOW_OPENED), new EventDescriptor(
+ WINDOW_EVENT_MASK, WindowListener.class));
+ eventsMap.put(new Integer(WindowEvent.WINDOW_CLOSING), new EventDescriptor(
+ WINDOW_EVENT_MASK, WindowListener.class));
+ eventsMap.put(new Integer(WindowEvent.WINDOW_CLOSED), new EventDescriptor(
+ WINDOW_EVENT_MASK, WindowListener.class));
+ eventsMap.put(new Integer(WindowEvent.WINDOW_DEICONIFIED), new EventDescriptor(
+ WINDOW_EVENT_MASK, WindowListener.class));
+ eventsMap.put(new Integer(WindowEvent.WINDOW_ICONIFIED), new EventDescriptor(
+ WINDOW_EVENT_MASK, WindowListener.class));
+ eventsMap.put(new Integer(WindowEvent.WINDOW_STATE_CHANGED), new EventDescriptor(
+ WINDOW_STATE_EVENT_MASK, WindowStateListener.class));
+ eventsMap.put(new Integer(WindowEvent.WINDOW_LOST_FOCUS), new EventDescriptor(
+ WINDOW_FOCUS_EVENT_MASK, WindowFocusListener.class));
+ eventsMap.put(new Integer(WindowEvent.WINDOW_GAINED_FOCUS), new EventDescriptor(
+ WINDOW_FOCUS_EVENT_MASK, WindowFocusListener.class));
+ eventsMap.put(new Integer(WindowEvent.WINDOW_DEACTIVATED), new EventDescriptor(
+ WINDOW_EVENT_MASK, WindowListener.class));
+ eventsMap.put(new Integer(WindowEvent.WINDOW_ACTIVATED), new EventDescriptor(
+ WINDOW_EVENT_MASK, WindowListener.class));
+ eventsMap.put(new Integer(HierarchyEvent.HIERARCHY_CHANGED), new EventDescriptor(
+ HIERARCHY_EVENT_MASK, HierarchyListener.class));
+ eventsMap.put(new Integer(HierarchyEvent.ANCESTOR_MOVED), new EventDescriptor(
+ HIERARCHY_BOUNDS_EVENT_MASK, HierarchyBoundsListener.class));
+ eventsMap.put(new Integer(HierarchyEvent.ANCESTOR_RESIZED), new EventDescriptor(
+ HIERARCHY_BOUNDS_EVENT_MASK, HierarchyBoundsListener.class));
+ eventsMap.put(new Integer(ContainerEvent.COMPONENT_ADDED), new EventDescriptor(
+ CONTAINER_EVENT_MASK, ContainerListener.class));
+ eventsMap.put(new Integer(ContainerEvent.COMPONENT_REMOVED), new EventDescriptor(
+ CONTAINER_EVENT_MASK, ContainerListener.class));
+ eventsMap.put(new Integer(InputMethodEvent.INPUT_METHOD_TEXT_CHANGED), new EventDescriptor(
+ INPUT_METHOD_EVENT_MASK, InputMethodListener.class));
+ eventsMap.put(new Integer(InputMethodEvent.CARET_POSITION_CHANGED), new EventDescriptor(
+ INPUT_METHOD_EVENT_MASK, InputMethodListener.class));
+ eventsMap.put(new Integer(InvocationEvent.INVOCATION_DEFAULT), new EventDescriptor(
+ INVOCATION_EVENT_MASK, null));
+ eventsMap.put(new Integer(ItemEvent.ITEM_STATE_CHANGED), new EventDescriptor(
+ ITEM_EVENT_MASK, ItemListener.class));
+ eventsMap.put(new Integer(TextEvent.TEXT_VALUE_CHANGED), new EventDescriptor(
+ TEXT_EVENT_MASK, TextListener.class));
+ eventsMap.put(new Integer(ActionEvent.ACTION_PERFORMED), new EventDescriptor(
+ ACTION_EVENT_MASK, ActionListener.class));
+ eventsMap.put(new Integer(AdjustmentEvent.ADJUSTMENT_VALUE_CHANGED), new EventDescriptor(
+ ADJUSTMENT_EVENT_MASK, AdjustmentListener.class));
converter = new EventConverter();
}
-
+
/**
* Instantiates a new AWT event from the specified Event object.
*
- * @param event the Event object.
+ * @param event
+ * the Event object.
*/
public AWTEvent(Event event) {
this(event.target, event.id);
@@ -219,8 +282,10 @@ public abstract class AWTEvent extends EventObject {
/**
* Instantiates a new AWT event with the specified object and type.
*
- * @param source the source Object.
- * @param id the event's type.
+ * @param source
+ * the source Object.
+ * @param id
+ * the event's type.
*/
public AWTEvent(Object source, int id) {
super(source);
@@ -240,7 +305,8 @@ public abstract class AWTEvent extends EventObject {
/**
* Sets a new source for the AWTEvent.
*
- * @param newSource the new source Object for the AWTEvent.
+ * @param newSource
+ * the new source Object for the AWTEvent.
*/
public void setSource(Object newSource) {
source = newSource;
@@ -253,33 +319,32 @@ public abstract class AWTEvent extends EventObject {
*/
@Override
public String toString() {
- /* The format is based on 1.5 release behavior
- * which can be revealed by the following code:
- *
- * AWTEvent event = new AWTEvent(new Component(){}, 1){};
- * System.out.println(event);
+ /*
+ * The format is based on 1.5 release behavior which can be revealed by
+ * the following code: AWTEvent event = new AWTEvent(new Component(){},
+ * 1){}; System.out.println(event);
*/
String name = ""; //$NON-NLS-1$
-
+
if (source instanceof Component && (source != null)) {
- Component comp = (Component) getSource();
+ Component comp = (Component)getSource();
name = comp.getName();
if (name == null) {
name = ""; //$NON-NLS-1$
}
}
-
+
return (getClass().getName() + "[" + paramString() + "]" //$NON-NLS-1$ //$NON-NLS-2$
+ " on " + (name.length() > 0 ? name : source)); //$NON-NLS-1$
}
/**
- * Returns a string representation of the AWTEvent state.
- *
+ * Returns a string representation of the AWTEvent state.
+ *
* @return a string representation of the AWTEvent state.
*/
public String paramString() {
- //nothing to implement: all event types must override this method
+ // nothing to implement: all event types must override this method
return ""; //$NON-NLS-1$
}
@@ -296,73 +361,77 @@ public abstract class AWTEvent extends EventObject {
* Consumes the AWTEvent.
*/
protected void consume() {
- consumed = true;
+ consumed = true;
}
/**
* Convert AWTEvent object to a corresponding (deprecated) Event object.
*
- * @return new Event object which is a converted AWTEvent object or null
- * if the conversion is not possible
+ * @return new Event object which is a converted AWTEvent object or null if
+ * the conversion is not possible
*/
Event getEvent() {
-
+
if (id == ActionEvent.ACTION_PERFORMED) {
- ActionEvent ae = (ActionEvent) this;
+ ActionEvent ae = (ActionEvent)this;
return converter.convertActionEvent(ae);
} else if (id == AdjustmentEvent.ADJUSTMENT_VALUE_CHANGED) {
- AdjustmentEvent ae = (AdjustmentEvent) this;
+ AdjustmentEvent ae = (AdjustmentEvent)this;
return converter.convertAdjustmentEvent(ae);
-//???AWT
-// } else if (id == ComponentEvent.COMPONENT_MOVED
-// && source instanceof Window) {
-// //the only type of Component events is COMPONENT_MOVED on window
-// ComponentEvent ce = (ComponentEvent) this;
-// return converter.convertComponentEvent(ce);
+ // ???AWT
+ // } else if (id == ComponentEvent.COMPONENT_MOVED
+ // && source instanceof Window) {
+ // //the only type of Component events is COMPONENT_MOVED on window
+ // ComponentEvent ce = (ComponentEvent) this;
+ // return converter.convertComponentEvent(ce);
} else if (id >= FocusEvent.FOCUS_FIRST && id <= FocusEvent.FOCUS_LAST) {
- //nothing to convert
+ // nothing to convert
-//???AWT
-// } else if (id == ItemEvent.ITEM_STATE_CHANGED) {
-// ItemEvent ie = (ItemEvent) this;
-// return converter.convertItemEvent(ie);
+ // ???AWT
+ // } else if (id == ItemEvent.ITEM_STATE_CHANGED) {
+ // ItemEvent ie = (ItemEvent) this;
+ // return converter.convertItemEvent(ie);
} else if (id == KeyEvent.KEY_PRESSED || id == KeyEvent.KEY_RELEASED) {
- KeyEvent ke = (KeyEvent) this;
+ KeyEvent ke = (KeyEvent)this;
return converter.convertKeyEvent(ke);
} else if (id >= MouseEvent.MOUSE_FIRST && id <= MouseEvent.MOUSE_LAST) {
- MouseEvent me = (MouseEvent) this;
+ MouseEvent me = (MouseEvent)this;
return converter.convertMouseEvent(me);
- } else if (id == WindowEvent.WINDOW_CLOSING
- || id == WindowEvent.WINDOW_ICONIFIED
+ } else if (id == WindowEvent.WINDOW_CLOSING || id == WindowEvent.WINDOW_ICONIFIED
|| id == WindowEvent.WINDOW_DEICONIFIED) {
- //nothing to convert
+ // nothing to convert
} else {
return null;
}
return new Event(source, id, null);
}
-
/**
- * The Class EventDescriptor.
+ * The class EventDescriptor.
*/
static final class EventDescriptor {
- /** The event mask. */
+ /**
+ * The event mask.
+ */
final long eventMask;
- /** The listener type. */
+ /**
+ * The listener type.
+ */
final Class<? extends EventListener> listenerType;
/**
* Instantiates a new event descriptor.
*
- * @param eventMask the event mask
- * @param listenerType the listener type
+ * @param eventMask
+ * the event mask.
+ * @param listenerType
+ * the listener type.
*/
EventDescriptor(long eventMask, Class<? extends EventListener> listenerType) {
this.eventMask = eventMask;
@@ -370,24 +439,28 @@ public abstract class AWTEvent extends EventObject {
}
}
-
+
/**
- * The Class EventTypeLookup.
+ * The class EventTypeLookup.
*/
static final class EventTypeLookup {
-
- /** The last event. */
+
+ /**
+ * The last event.
+ */
private AWTEvent lastEvent = null;
-
- /** The last event descriptor. */
+
+ /**
+ * The last event descriptor.
+ */
private EventDescriptor lastEventDescriptor = null;
/**
* Gets the event descriptor.
*
- * @param event the event
- *
- * @return the event descriptor
+ * @param event
+ * the event.
+ * @return the event descriptor.
*/
EventDescriptor getEventDescriptor(AWTEvent event) {
synchronized (this) {
@@ -403,9 +476,9 @@ public abstract class AWTEvent extends EventObject {
/**
* Gets the event mask.
*
- * @param event the event
- *
- * @return the event mask
+ * @param event
+ * the event.
+ * @return the event mask.
*/
long getEventMask(AWTEvent event) {
final EventDescriptor ed = getEventDescriptor(event);
@@ -414,65 +487,62 @@ public abstract class AWTEvent extends EventObject {
}
/**
- * The Class EventConverter.
+ * The class EventConverter.
*/
static final class EventConverter {
-
- /** The Constant OLD_MOD_MASK. */
- static final int OLD_MOD_MASK = Event.ALT_MASK | Event.CTRL_MASK
- | Event.META_MASK | Event.SHIFT_MASK;
+
+ /**
+ * The constant OLD_MOD_MASK.
+ */
+ static final int OLD_MOD_MASK = Event.ALT_MASK | Event.CTRL_MASK | Event.META_MASK
+ | Event.SHIFT_MASK;
/**
* Convert action event.
*
- * @param ae the ae
- *
- * @return the event
+ * @param ae
+ * the ae.
+ * @return the event.
*/
Event convertActionEvent(ActionEvent ae) {
Event evt = new Event(ae.getSource(), ae.getID(), ae.getActionCommand());
evt.when = ae.getWhen();
evt.modifiers = ae.getModifiers() & OLD_MOD_MASK;
- /* if (source instanceof Button) {
- arg = ((Button) source).getLabel();
- } else if (source instanceof Checkbox) {
- arg = new Boolean(((Checkbox) source).getState());
- } else if (source instanceof CheckboxMenuItem) {
- arg = ((CheckboxMenuItem) source).getLabel();
- } else if (source instanceof Choice) {
- arg = ((Choice) source).getSelectedItem();
- } else if (source instanceof List) {
- arg = ((List) source).getSelectedItem();
- } else if (source instanceof MenuItem) {
- arg = ((MenuItem) source).getLabel();
- } else if (source instanceof TextField) {
- arg = ((TextField) source).getText();
- }
-*/
+ /*
+ * if (source instanceof Button) { arg = ((Button)
+ * source).getLabel(); } else if (source instanceof Checkbox) { arg
+ * = new Boolean(((Checkbox) source).getState()); } else if (source
+ * instanceof CheckboxMenuItem) { arg = ((CheckboxMenuItem)
+ * source).getLabel(); } else if (source instanceof Choice) { arg =
+ * ((Choice) source).getSelectedItem(); } else if (source instanceof
+ * List) { arg = ((List) source).getSelectedItem(); } else if
+ * (source instanceof MenuItem) { arg = ((MenuItem)
+ * source).getLabel(); } else if (source instanceof TextField) { arg
+ * = ((TextField) source).getText(); }
+ */
return evt;
}
-
/**
* Convert adjustment event.
*
- * @param ae the ae
- *
- * @return the event
+ * @param ae
+ * the ae.
+ * @return the event.
*/
Event convertAdjustmentEvent(AdjustmentEvent ae) {
- //TODO: Event.SCROLL_BEGIN/SCROLL_END
- return new Event(ae.source, ae.id + ae.getAdjustmentType() - 1,
- new Integer(ae.getValue()));
+ // TODO: Event.SCROLL_BEGIN/SCROLL_END
+ return new Event(ae.source, ae.id + ae.getAdjustmentType() - 1, new Integer(ae
+ .getValue()));
}
/**
* Convert component event.
*
- * @param ce the ce
- *
- * @return the event
+ * @param ce
+ * the ce.
+ * @return the event.
*/
Event convertComponentEvent(ComponentEvent ce) {
Component comp = ce.getComponent();
@@ -482,35 +552,27 @@ public abstract class AWTEvent extends EventObject {
return evt;
}
- //???AWT
+ // ???AWT
/*
- Event convertItemEvent(ItemEvent ie) {
- int oldId = ie.id + ie.getStateChange() - 1;
- Object source = ie.source;
- int idx = -1;
- if (source instanceof List) {
- List list = (List) source;
- idx = list.getSelectedIndex();
- }
- else if (source instanceof Choice) {
- Choice choice = (Choice) source;
- idx = choice.getSelectedIndex();
- }
- Object arg = idx >= 0 ? new Integer(idx) : null;
- return new Event(source, oldId, arg);
- }
- */
-
+ * Event convertItemEvent(ItemEvent ie) { int oldId = ie.id +
+ * ie.getStateChange() - 1; Object source = ie.source; int idx = -1; if
+ * (source instanceof List) { List list = (List) source; idx =
+ * list.getSelectedIndex(); } else if (source instanceof Choice) {
+ * Choice choice = (Choice) source; idx = choice.getSelectedIndex(); }
+ * Object arg = idx >= 0 ? new Integer(idx) : null; return new
+ * Event(source, oldId, arg); }
+ */
+
/**
* Convert key event.
*
- * @param ke the ke
- *
- * @return the event
+ * @param ke
+ * the ke.
+ * @return the event.
*/
Event convertKeyEvent(KeyEvent ke) {
int oldId = ke.id;
- //leave only old Event's modifiers
+ // leave only old Event's modifiers
int mod = ke.getModifiers() & OLD_MOD_MASK;
Component comp = ke.getComponent();
@@ -518,7 +580,7 @@ public abstract class AWTEvent extends EventObject {
int keyCode = ke.getKeyCode();
int key = convertKey(keyChar, keyCode);
if (key >= Event.HOME && key <= Event.INSERT) {
- oldId += 2; //non-ASCII key -> action key
+ oldId += 2; // non-ASCII key -> action key
}
return new Event(comp, ke.getWhen(), oldId, 0, 0, key, mod);
}
@@ -526,9 +588,9 @@ public abstract class AWTEvent extends EventObject {
/**
* Convert mouse event.
*
- * @param me the me
- *
- * @return the event
+ * @param me
+ * the me.
+ * @return the event.
*/
Event convertMouseEvent(MouseEvent me) {
int id = me.id;
@@ -537,7 +599,7 @@ public abstract class AWTEvent extends EventObject {
evt.x = me.getX();
evt.y = me.getY();
int mod = me.getModifiers();
- //in Event modifiers mean button number for mouse events:
+ // in Event modifiers mean button number for mouse events:
evt.modifiers = mod & (Event.ALT_MASK | Event.META_MASK);
if (id == MouseEvent.MOUSE_PRESSED) {
evt.clickCount = me.getClickCount();
@@ -546,68 +608,69 @@ public abstract class AWTEvent extends EventObject {
}
return null;
}
-
+
/**
* Convert key.
*
- * @param keyChar the key char
- * @param keyCode the key code
- *
- * @return the int
+ * @param keyChar
+ * the key char.
+ * @param keyCode
+ * the key code.
+ * @return the int.
*/
int convertKey(char keyChar, int keyCode) {
int key;
- //F1 - F12
+ // F1 - F12
if (keyCode >= KeyEvent.VK_F1 && keyCode <= KeyEvent.VK_F12) {
key = Event.F1 + keyCode - KeyEvent.VK_F1;
} else {
switch (keyCode) {
- default: //non-action key
- key = keyChar;
- break;
- //action keys:
- case KeyEvent.VK_HOME:
- key = Event.HOME;
- break;
- case KeyEvent.VK_END:
- key = Event.END;
- break;
- case KeyEvent.VK_PAGE_UP:
- key = Event.PGUP;
- break;
- case KeyEvent.VK_PAGE_DOWN:
- key = Event.PGDN;
- break;
- case KeyEvent.VK_UP:
- key = Event.UP;
- break;
- case KeyEvent.VK_DOWN:
- key = Event.DOWN;
- break;
- case KeyEvent.VK_LEFT:
- key = Event.LEFT;
- break;
- case KeyEvent.VK_RIGHT:
- key = Event.RIGHT;
- break;
- case KeyEvent.VK_PRINTSCREEN:
- key = Event.PRINT_SCREEN;
- break;
- case KeyEvent.VK_SCROLL_LOCK:
- key = Event.SCROLL_LOCK;
- break;
- case KeyEvent.VK_CAPS_LOCK:
- key = Event.CAPS_LOCK;
- break;
- case KeyEvent.VK_NUM_LOCK:
- key = Event.NUM_LOCK;
- break;
- case KeyEvent.VK_PAUSE:
- key = Event.PAUSE;
- break;
- case KeyEvent.VK_INSERT:
- key = Event.INSERT;
- break;
+ default: // non-action key
+ key = keyChar;
+ break;
+ // action keys:
+ case KeyEvent.VK_HOME:
+ key = Event.HOME;
+ break;
+ case KeyEvent.VK_END:
+ key = Event.END;
+ break;
+ case KeyEvent.VK_PAGE_UP:
+ key = Event.PGUP;
+ break;
+ case KeyEvent.VK_PAGE_DOWN:
+ key = Event.PGDN;
+ break;
+ case KeyEvent.VK_UP:
+ key = Event.UP;
+ break;
+ case KeyEvent.VK_DOWN:
+ key = Event.DOWN;
+ break;
+ case KeyEvent.VK_LEFT:
+ key = Event.LEFT;
+ break;
+ case KeyEvent.VK_RIGHT:
+ key = Event.RIGHT;
+ break;
+ case KeyEvent.VK_PRINTSCREEN:
+ key = Event.PRINT_SCREEN;
+ break;
+ case KeyEvent.VK_SCROLL_LOCK:
+ key = Event.SCROLL_LOCK;
+ break;
+ case KeyEvent.VK_CAPS_LOCK:
+ key = Event.CAPS_LOCK;
+ break;
+ case KeyEvent.VK_NUM_LOCK:
+ key = Event.NUM_LOCK;
+ break;
+ case KeyEvent.VK_PAUSE:
+ key = Event.PAUSE;
+ break;
+ case KeyEvent.VK_INSERT:
+ key = Event.INSERT;
+ break;
}
}
return key;
diff --git a/awt/java/awt/AWTException.java b/awt/java/awt/AWTException.java
index 70ce6e1..6590b73 100644
--- a/awt/java/awt/AWTException.java
+++ b/awt/java/awt/AWTException.java
@@ -18,26 +18,30 @@
* @author Michael Danilov
* @version $Revision$
*/
-package java.awt;
+package java.awt;
/**
- * The AWTException class is used to provide notification and information
- * about AWT errors.
+ * The AWTException class is used to provide notification and information about
+ * AWT errors.
+ *
+ * @since Android 1.0
*/
public class AWTException extends Exception {
-
- /** The Constant serialVersionUID. */
+
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = -1900414231151323879L;
/**
* Instantiates a new AWT exception with the specified message.
*
- * @param msg the specific message for current exception.
+ * @param msg
+ * the specific message for current exception.
*/
public AWTException(String msg) {
super(msg);
}
}
-
diff --git a/awt/java/awt/AWTKeyStroke.java b/awt/java/awt/AWTKeyStroke.java
index 5e7de4e..f01f6f0 100644
--- a/awt/java/awt/AWTKeyStroke.java
+++ b/awt/java/awt/AWTKeyStroke.java
@@ -18,7 +18,9 @@
* @author Dmitry A. Durnev
* @version $Revision$
*/
+
package java.awt;
+
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.io.ObjectStreamException;
@@ -36,7 +38,7 @@ import org.apache.harmony.awt.internal.nls.Messages;
* The AWTKeyStroke holds all of the information for the complete act of
* typing a character. This includes the events that are generated when
* the key is pressed, released, or typed (pressed and released generating
- * a unicode character result) which are associated with the event
+ * a Unicode character result) which are associated with the event
* objects KeyEvent.KEY_PRESSED, KeyEvent.KEY_RELEASED, or KeyEvent.KEY_TYPED.
* It also holds information about which modifiers (such as control or
* shift) were used in conjunction with the keystroke. The following masks
@@ -57,19 +59,41 @@ import org.apache.harmony.awt.internal.nls.Messages;
* The AWTKeyStroke is unique, and applications should not create their own
* instances of AWTKeyStroke. All applications should use getAWTKeyStroke
* methods for obtaining instances of AWTKeyStroke.
+ *
+ * @since Android 1.0
*/
public class AWTKeyStroke implements Serializable {
-
- /** The Constant serialVersionUID. */
+
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = -6430539691155161871L;
- /** The Constant cache. */
- private static final Map<AWTKeyStroke, AWTKeyStroke> cache = new HashMap<AWTKeyStroke, AWTKeyStroke>(); //Map<AWTKeyStroke, ? extends AWTKeyStroke>
-
- /** The Constant keyEventTypesMap. */
- private static final Map<Integer, String> keyEventTypesMap = new HashMap<Integer, String>(); //Map<int, String>
+ /**
+ * The Constant cache.
+ */
+ private static final Map<AWTKeyStroke, AWTKeyStroke> cache = new HashMap<AWTKeyStroke, AWTKeyStroke>(); // Map
- private static Constructor<?> subConstructor;
+ // <
+ // AWTKeyStroke
+ // ,
+ // ?
+ // extends
+ // AWTKeyStroke
+ // >
+
+ /**
+ * The Constant keyEventTypesMap.
+ */
+ private static final Map<Integer, String> keyEventTypesMap = new HashMap<Integer, String>(); // Map
+
+ // <
+ // int
+ // ,
+ // String
+ // >
+
+ private static Constructor<?> subConstructor;
static {
keyEventTypesMap.put(new Integer(KeyEvent.KEY_PRESSED), "pressed"); //$NON-NLS-1$
@@ -77,53 +101,66 @@ public class AWTKeyStroke implements Serializable {
keyEventTypesMap.put(new Integer(KeyEvent.KEY_TYPED), "typed"); //$NON-NLS-1$
}
- /** The key char. */
+ /**
+ * The key char.
+ */
private char keyChar;
-
- /** The key code. */
+
+ /**
+ * The key code.
+ */
private int keyCode;
-
- /** The modifiers. */
+
+ /**
+ * The modifiers.
+ */
private int modifiers;
-
- /** The on key release. */
+
+ /**
+ * The on key release.
+ */
private boolean onKeyRelease;
-
+
/**
- * Instantiates a new AWTKeyStroke.
- * getAWTKeyStroke method should be used by applications code.
- *
- * @param keyChar the key char
- * @param keyCode the key code
- * @param modifiers the modifiers
- * @param onKeyRelease true if AWTKeyStroke is for a key release, overwise false.
- */
- protected AWTKeyStroke(char keyChar, int keyCode, int modifiers,
- boolean onKeyRelease)
- {
- setAWTKeyStroke(keyChar, keyCode, modifiers, onKeyRelease);
+ * Instantiates a new AWTKeyStroke. getAWTKeyStroke method should be used by
+ * applications code.
+ *
+ * @param keyChar
+ * the key char.
+ * @param keyCode
+ * the key code.
+ * @param modifiers
+ * the modifiers.
+ * @param onKeyRelease
+ * true if AWTKeyStroke is for a key release, false otherwise.
+ */
+ protected AWTKeyStroke(char keyChar, int keyCode, int modifiers, boolean onKeyRelease) {
+ setAWTKeyStroke(keyChar, keyCode, modifiers, onKeyRelease);
}
- /** Sets the awt key stroke.
- *
- * @param keyChar the key char
- * @param keyCode the key code
- * @param modifiers the modifiers
- * @param onKeyRelease the on key release
- */
- private void setAWTKeyStroke( char keyChar, int keyCode, int modifiers,
- boolean onKeyRelease)
- {
+ /**
+ * Sets the AWT key stroke.
+ *
+ * @param keyChar
+ * the key char.
+ * @param keyCode
+ * the key code.
+ * @param modifiers
+ * the modifiers.
+ * @param onKeyRelease
+ * the on key release.
+ */
+ private void setAWTKeyStroke(char keyChar, int keyCode, int modifiers, boolean onKeyRelease) {
this.keyChar = keyChar;
this.keyCode = keyCode;
this.modifiers = modifiers;
this.onKeyRelease = onKeyRelease;
}
-
+
/**
* Instantiates a new AWTKeyStroke with default parameters:
- * KeyEvent.CHAR_UNDEFINED key char, KeyEvent.VK_UNDEFINED key code,
- * without modifiers and false key realised value.
+ * KeyEvent.CHAR_UNDEFINED key char, KeyEvent.VK_UNDEFINED key code, without
+ * modifiers and false key realized value.
*/
protected AWTKeyStroke() {
this(KeyEvent.CHAR_UNDEFINED, KeyEvent.VK_UNDEFINED, 0, false);
@@ -132,42 +169,44 @@ public class AWTKeyStroke implements Serializable {
/**
* Returns the unique number value for AWTKeyStroke object.
*
- * @return the int unique value of the AWTKeyStroke object.
+ * @return the integer unique value of the AWTKeyStroke object.
*/
@Override
public int hashCode() {
- return modifiers + ( keyCode != KeyEvent.VK_UNDEFINED ?
- keyCode : keyChar) + (onKeyRelease ? -1 : 0);
+ return modifiers + (keyCode != KeyEvent.VK_UNDEFINED ? keyCode : keyChar)
+ + (onKeyRelease ? -1 : 0);
}
/**
* Gets the set of modifiers for the AWTKeyStroke object.
*
- * @return the int value which contains modifiers.
+ * @return the integer value which contains modifiers.
*/
public final int getModifiers() {
return modifiers;
}
/**
- * Compares the AWTKeyStroke object to the specified object.
+ * Compares this AWTKeyStroke object to the specified object.
*
- * @return true, if objects are identical, overwise false.
+ * @param anObject
+ * the specified AWTKeyStroke object to compare with this
+ * instance.
+ * @return true if objects are identical, false otherwise.
*/
@Override
public final boolean equals(Object anObject) {
if (anObject instanceof AWTKeyStroke) {
AWTKeyStroke key = (AWTKeyStroke)anObject;
- return ((key.keyCode == keyCode) && (key.keyChar == keyChar) &&
- (key.modifiers == modifiers) &&
- (key.onKeyRelease == onKeyRelease));
+ return ((key.keyCode == keyCode) && (key.keyChar == keyChar)
+ && (key.modifiers == modifiers) && (key.onKeyRelease == onKeyRelease));
}
return false;
}
/**
- * Returns the string representation of the AWTKeyStroke.
- * This string should contain key stroke properties.
+ * Returns the string representation of the AWTKeyStroke. This string should
+ * contain key stroke properties.
*
* @return the string representation of the AWTKeyStroke.
*/
@@ -175,9 +214,10 @@ public class AWTKeyStroke implements Serializable {
public String toString() {
int type = getKeyEventType();
return InputEvent.getModifiersExText(getModifiers()) + " " + //$NON-NLS-1$
- keyEventTypesMap.get(new Integer(type)) + " " + //$NON-NLS-1$
- (type == KeyEvent.KEY_TYPED ? new String(new char[] {keyChar}) :
- KeyEvent.getKeyText(keyCode));
+ keyEventTypesMap.get(new Integer(type)) + " " + //$NON-NLS-1$
+ (type == KeyEvent.KEY_TYPED ? new String(new char[] {
+ keyChar
+ }) : KeyEvent.getKeyText(keyCode));
}
/**
@@ -201,16 +241,18 @@ public class AWTKeyStroke implements Serializable {
/**
* Gets the AWT key stroke.
*
- * @param keyChar the key char
- * @param keyCode the key code
- * @param modifiers the modifiers
- * @param onKeyRelease the on key release
- *
- * @return the AWT key stroke
+ * @param keyChar
+ * the key char.
+ * @param keyCode
+ * the key code.
+ * @param modifiers
+ * the modifiers.
+ * @param onKeyRelease
+ * the on key release.
+ * @return the AWT key stroke.
*/
- private static AWTKeyStroke getAWTKeyStroke(char keyChar, int keyCode,
- int modifiers,
- boolean onKeyRelease) {
+ private static AWTKeyStroke getAWTKeyStroke(char keyChar, int keyCode, int modifiers,
+ boolean onKeyRelease) {
AWTKeyStroke key = newInstance(keyChar, keyCode, modifiers, onKeyRelease);
AWTKeyStroke value = cache.get(key);
@@ -224,28 +266,30 @@ public class AWTKeyStroke implements Serializable {
/**
* New instance.
*
- * @param keyChar the key char
- * @param keyCode the key code
- * @param modifiers the modifiers
- * @param onKeyRelease the on key release
- *
- * @return the AWT key stroke
+ * @param keyChar
+ * the key char.
+ * @param keyCode
+ * the key code.
+ * @param modifiers
+ * the modifiers.
+ * @param onKeyRelease
+ * the on key release.
+ * @return the AWT key stroke.
*/
- private static AWTKeyStroke newInstance(char keyChar, int keyCode,
- int modifiers,
- boolean onKeyRelease) {
+ private static AWTKeyStroke newInstance(char keyChar, int keyCode, int modifiers,
+ boolean onKeyRelease) {
AWTKeyStroke key;
- //???AWT
-// if (subConstructor == null) {
- key = new AWTKeyStroke();
- //???AWT
-// } else {
-// try {
-// key = (AWTKeyStroke) subConstructor.newInstance();
-// } catch (Exception e) {
-// throw new RuntimeException(e);
-// }
-// }
+ // ???AWT
+ // if (subConstructor == null) {
+ key = new AWTKeyStroke();
+ // ???AWT
+ // } else {
+ // try {
+ // key = (AWTKeyStroke) subConstructor.newInstance();
+ // } catch (Exception e) {
+ // throw new RuntimeException(e);
+ // }
+ // }
int allModifiers = getAllModifiers(modifiers);
key.setAWTKeyStroke(keyChar, keyCode, allModifiers, onKeyRelease);
return key;
@@ -254,21 +298,22 @@ public class AWTKeyStroke implements Serializable {
/**
* Adds the mask.
*
- * @param mod the mod
- * @param mask the mask
- *
- * @return the int
+ * @param mod
+ * the mod.
+ * @param mask
+ * the mask.
+ * @return the int.
*/
private static int addMask(int mod, int mask) {
return ((mod & mask) != 0) ? (mod | mask) : mod;
}
/**
- * return all (old & new) modifiers corresponding to.
- *
- * @param mod old or new modifiers
+ * Return all (old & new) modifiers corresponding to.
*
- * @return old and new modifiers together
+ * @param mod
+ * old or new modifiers.
+ * @return old and new modifiers together.
*/
static int getAllModifiers(int mod) {
int allMod = mod;
@@ -289,27 +334,23 @@ public class AWTKeyStroke implements Serializable {
}
/**
- * Returns an instance of AWTKeyStroke for parsed string.
- *
- * The string must have the following syntax:
+ * Returns an instance of AWTKeyStroke for parsed string. The string must
+ * have the following syntax:
*<p>
* &lt;modifiers&gt;* (&lt;typedID&gt; | &lt;pressedReleasedID&gt;)
*<p>
- * modifiers := shift | control | ctrl | meta | alt | altGraph
- * <br>
- * typedID := typed <typedKey>
- * <br>
- * typedKey := string of length 1 giving the Unicode character.
- * <br>
- * pressedReleasedID := (pressed | released) <key>
- * <br>
+ * modifiers := shift | control | ctrl | meta | alt | altGraph <br>
+ * typedID := typed <typedKey> <br>
+ * typedKey := string of length 1 giving the Unicode character. <br>
+ * pressedReleasedID := (pressed | released) <key> <br>
* key := KeyEvent key code name, i.e. the name following "VK_".
* <p>
- * @param s the String which contains key stroke parameters.
*
+ * @param s
+ * the String which contains key stroke parameters.
* @return the AWTKeyStroke for string.
- *
- * @throws IllegalArgumentException if string has incorrect format or null.
+ * @throws IllegalArgumentException
+ * if string has incorrect format or null.
*/
public static AWTKeyStroke getAWTKeyStroke(String s) {
if (s == null) {
@@ -351,16 +392,15 @@ public class AWTKeyStroke implements Serializable {
throw new IllegalArgumentException(Messages.getString("awt.66")); //$NON-NLS-1$
}
- return getAWTKeyStroke(keyChar, keyCode, modifiers,
- release == Boolean.TRUE);
+ return getAWTKeyStroke(keyChar, keyCode, modifiers, release == Boolean.TRUE);
}
/**
* Gets the next token.
*
- * @param tokenizer the tokenizer
- *
- * @return the next token
+ * @param tokenizer
+ * the tokenizer.
+ * @return the next token.
*/
private static String getNextToken(StringTokenizer tokenizer) {
try {
@@ -374,9 +414,9 @@ public class AWTKeyStroke implements Serializable {
/**
* Gets the key code.
*
- * @param s the s
- *
- * @return the key code
+ * @param s
+ * the s.
+ * @return the key code.
*/
static int getKeyCode(String s) {
try {
@@ -394,8 +434,8 @@ public class AWTKeyStroke implements Serializable {
/**
* Gets an instance of the AWTKeyStroke for specified character.
*
- * @param keyChar the keyboard character value.
- *
+ * @param keyChar
+ * the keyboard character value.
* @return a AWTKeyStroke for specified character.
*/
public static AWTKeyStroke getAWTKeyStroke(char keyChar) {
@@ -403,120 +443,121 @@ public class AWTKeyStroke implements Serializable {
}
/**
- * Returns an instance of AWTKeyStroke for a given key code, set
- * of modifiers, and specified key released flag value.
- * The key codes are defined in java.awt.event.KeyEvent class.
- * The set of modifiers is given as a bitwise combination
- * of masks taken from the following list:
+ * Returns an instance of AWTKeyStroke for a given key code, set of
+ * modifiers, and specified key released flag value. The key codes are
+ * defined in java.awt.event.KeyEvent class. The set of modifiers is given
+ * as a bitwise combination of masks taken from the following list:
* <ul>
- * <li>java.awt.event.InputEvent.ALT_GRAPH_DOWN_MASK</li>
- * <li>java.awt.event.InputEvent.ALT_DOWN_MASK</li>
- * <li>java.awt.event.InputEvent.CTRL_DOWN_MASK</li>
- * <li>java.awt.event.InputEvent.META_DOWN_MASK</li>
- * <li>java.awt.event.InputEvent.SHIFT_DOWN_MASK</li>
- * <li>java.awt.event.InputEvent.ALT_GRAPH_MASK</li>
- * <li>java.awt.event.InputEvent.ALT_MASK</li>
- * <li>java.awt.event.InputEvent.CTRL_MASK</li>
- * <li>java.awt.event.InputEvent.META_MASK</li>
- * <li>java.awt.event.InputEvent.SHIFT_MASK</li>
+ * <li>java.awt.event.InputEvent.ALT_GRAPH_DOWN_MASK</li> <li>
+ * java.awt.event.InputEvent.ALT_DOWN_MASK</li> <li>
+ * java.awt.event.InputEvent.CTRL_DOWN_MASK</li> <li>
+ * java.awt.event.InputEvent.META_DOWN_MASK</li> <li>
+ * java.awt.event.InputEvent.SHIFT_DOWN_MASK</li> <li>
+ * java.awt.event.InputEvent.ALT_GRAPH_MASK</li> <li>
+ * java.awt.event.InputEvent.ALT_MASK</li> <li>
+ * java.awt.event.InputEvent.CTRL_MASK</li> <li>
+ * java.awt.event.InputEvent.META_MASK</li> <li>
+ * java.awt.event.InputEvent.SHIFT_MASK</li>
* </ul>
- * <br>
- *
- * @param keyCode the specified key code of keyboard.
- * @param modifiers the bit set of modifiers.
+ * <br>
*
+ * @param keyCode
+ * the specified key code of keyboard.
+ * @param modifiers
+ * the bit set of modifiers.
+ * @param onKeyRelease
+ * the value which represents whether this AWTKeyStroke shall
+ * represents a key release.
* @return the AWTKeyStroke.
*/
- public static AWTKeyStroke getAWTKeyStroke(int keyCode, int modifiers,
- boolean onKeyRelease) {
- return getAWTKeyStroke(KeyEvent.CHAR_UNDEFINED, keyCode, modifiers,
- onKeyRelease);
+ public static AWTKeyStroke getAWTKeyStroke(int keyCode, int modifiers, boolean onKeyRelease) {
+ return getAWTKeyStroke(KeyEvent.CHAR_UNDEFINED, keyCode, modifiers, onKeyRelease);
}
/**
- * Returns AWTKeyStroke for a specified character and set of modifiers.
- * The set of modifiers is given as a bitwise combination
- * of masks taken from the following list:
+ * Returns AWTKeyStroke for a specified character and set of modifiers. The
+ * set of modifiers is given as a bitwise combination of masks taken from
+ * the following list:
* <ul>
- * <li>java.awt.event.InputEvent.ALT_GRAPH_DOWN_MASK</li>
- * <li>java.awt.event.InputEvent.ALT_DOWN_MASK</li>
- * <li>java.awt.event.InputEvent.CTRL_DOWN_MASK</li>
- * <li>java.awt.event.InputEvent.META_DOWN_MASK</li>
- * <li>java.awt.event.InputEvent.SHIFT_DOWN_MASK</li>
- * <li>java.awt.event.InputEvent.ALT_GRAPH_MASK</li>
- * <li>java.awt.event.InputEvent.ALT_MASK</li>
- * <li>java.awt.event.InputEvent.CTRL_MASK</li>
- * <li>java.awt.event.InputEvent.META_MASK</li>
- * <li>java.awt.event.InputEvent.SHIFT_MASK</li>
+ * <li>java.awt.event.InputEvent.ALT_GRAPH_DOWN_MASK</li> <li>
+ * java.awt.event.InputEvent.ALT_DOWN_MASK</li> <li>
+ * java.awt.event.InputEvent.CTRL_DOWN_MASK</li> <li>
+ * java.awt.event.InputEvent.META_DOWN_MASK</li> <li>
+ * java.awt.event.InputEvent.SHIFT_DOWN_MASK</li> <li>
+ * java.awt.event.InputEvent.ALT_GRAPH_MASK</li> <li>
+ * java.awt.event.InputEvent.ALT_MASK</li> <li>
+ * java.awt.event.InputEvent.CTRL_MASK</li> <li>
+ * java.awt.event.InputEvent.META_MASK</li> <li>
+ * java.awt.event.InputEvent.SHIFT_MASK</li>
* </ul>
*
- * @param keyChar the Character object which represents keyboard character value.
- * @param modifiers the bit set of modifiers.
- *
+ * @param keyChar
+ * the Character object which represents keyboard character
+ * value.
+ * @param modifiers
+ * the bit set of modifiers.
* @return the AWTKeyStroke object.
- *
- * @throws IllegalArgumentException if keyChar value is null.
+ * @throws IllegalArgumentException
+ * if keyChar value is null.
*/
public static AWTKeyStroke getAWTKeyStroke(Character keyChar, int modifiers) {
if (keyChar == null) {
// awt.01='{0}' parameter is null
throw new IllegalArgumentException(Messages.getString("awt.01", "keyChar")); //$NON-NLS-1$ //$NON-NLS-2$
}
- return getAWTKeyStroke(keyChar.charValue(), KeyEvent.VK_UNDEFINED,
- modifiers, false);
+ return getAWTKeyStroke(keyChar.charValue(), KeyEvent.VK_UNDEFINED, modifiers, false);
}
/**
- * Returns an instance of AWTKeyStroke for a specified key code and
- * set of modifiers.
- * The key codes are defined in java.awt.event.KeyEvent class.
- * The set of modifiers is given as a bitwise combination
- * of masks taken from the following list:
+ * Returns an instance of AWTKeyStroke for a specified key code and set of
+ * modifiers. The key codes are defined in java.awt.event.KeyEvent class.
+ * The set of modifiers is given as a bitwise combination of masks taken
+ * from the following list:
* <ul>
- * <li>java.awt.event.InputEvent.ALT_GRAPH_DOWN_MASK</li>
- * <li>java.awt.event.InputEvent.ALT_DOWN_MASK</li>
- * <li>java.awt.event.InputEvent.CTRL_DOWN_MASK</li>
- * <li>java.awt.event.InputEvent.META_DOWN_MASK</li>
- * <li>java.awt.event.InputEvent.SHIFT_DOWN_MASK</li>
- * <li>java.awt.event.InputEvent.ALT_GRAPH_MASK</li>
- * <li>java.awt.event.InputEvent.ALT_MASK</li>
- * <li>java.awt.event.InputEvent.CTRL_MASK</li>
- * <li>java.awt.event.InputEvent.META_MASK</li>
- * <li>java.awt.event.InputEvent.SHIFT_MASK</li>
+ * <li>java.awt.event.InputEvent.ALT_GRAPH_DOWN_MASK</li> <li>
+ * java.awt.event.InputEvent.ALT_DOWN_MASK</li> <li>
+ * java.awt.event.InputEvent.CTRL_DOWN_MASK</li> <li>
+ * java.awt.event.InputEvent.META_DOWN_MASK</li> <li>
+ * java.awt.event.InputEvent.SHIFT_DOWN_MASK</li> <li>
+ * java.awt.event.InputEvent.ALT_GRAPH_MASK</li> <li>
+ * java.awt.event.InputEvent.ALT_MASK</li> <li>
+ * java.awt.event.InputEvent.CTRL_MASK</li> <li>
+ * java.awt.event.InputEvent.META_MASK</li> <li>
+ * java.awt.event.InputEvent.SHIFT_MASK</li>
* </ul>
- *
- * @param keyCode the specified key code of keyboard.
- * @param modifiers the bit set of modifiers.
*
- * @return the AWTKeyStroke
+ * @param keyCode
+ * the specified key code of keyboard.
+ * @param modifiers
+ * the bit set of modifiers.
+ * @return the AWTKeyStroke.
*/
public static AWTKeyStroke getAWTKeyStroke(int keyCode, int modifiers) {
return getAWTKeyStroke(keyCode, modifiers, false);
}
/**
- * Gets the AWTKeyStroke for a key event. This method obtains the key char
+ * Gets the AWTKeyStroke for a key event. This method obtains the key char
* and key code from the specified key event.
*
- * @param anEvent the key event which identifies the desired AWTKeyStroke.
- *
+ * @param anEvent
+ * the key event which identifies the desired AWTKeyStroke.
* @return the AWTKeyStroke for the key event.
*/
public static AWTKeyStroke getAWTKeyStrokeForEvent(KeyEvent anEvent) {
int id = anEvent.getID();
char undef = KeyEvent.CHAR_UNDEFINED;
- char keyChar = (id == KeyEvent.KEY_TYPED ? anEvent.getKeyChar() :
- undef);
- int keyCode = (keyChar == undef ? anEvent.getKeyCode() :
- KeyEvent.VK_UNDEFINED);
+ char keyChar = (id == KeyEvent.KEY_TYPED ? anEvent.getKeyChar() : undef);
+ int keyCode = (keyChar == undef ? anEvent.getKeyCode() : KeyEvent.VK_UNDEFINED);
return getAWTKeyStroke(keyChar, keyCode, anEvent.getModifiersEx(),
- id == KeyEvent.KEY_RELEASED);
+ id == KeyEvent.KEY_RELEASED);
}
/**
* Gets the key event type for the AWTKeyStroke object.
*
- * @return the key event type: KeyEvent.KEY_PRESSED, KeyEvent.KEY_TYPED, or KeyEvent.KEY_RELEASED
+ * @return the key event type: KeyEvent.KEY_PRESSED, KeyEvent.KEY_TYPED, or
+ * KeyEvent.KEY_RELEASED.
*/
public final int getKeyEventType() {
if (keyCode == KeyEvent.VK_UNDEFINED) {
@@ -526,11 +567,11 @@ public class AWTKeyStroke implements Serializable {
}
/**
- * Retuns true if the key event is associated with the AWTKeyStroke is
- * KEY_RELEASED, overwise false.
+ * Returns true if the key event is associated with the AWTKeyStroke is
+ * KEY_RELEASED, false otherwise.
*
- * @return true, if if the key event associated with the AWTKeyStroke is
- * KEY_RELEASED, overwise false.
+ * @return true, if if the key event associated with the AWTKeyStroke is
+ * KEY_RELEASED, false otherwise.
*/
public final boolean isOnKeyRelease() {
return onKeyRelease;
@@ -539,50 +580,44 @@ public class AWTKeyStroke implements Serializable {
/**
* Read resolve.
*
- * @return the object
- *
- * @throws ObjectStreamException the object stream exception
+ * @return the object.
+ * @throws ObjectStreamException
+ * the object stream exception.
*/
protected Object readResolve() throws ObjectStreamException {
- return getAWTKeyStroke(this.keyChar, this.keyCode,
- this.modifiers, this.onKeyRelease);
+ return getAWTKeyStroke(this.keyChar, this.keyCode, this.modifiers, this.onKeyRelease);
}
/**
* Register subclass.
*
- * @param subclass the subclass
+ * @param subclass
+ * the subclass.
*/
protected static void registerSubclass(Class<?> subclass) {
- //???AWT
+ // ???AWT
/*
- if (subclass == null) {
- // awt.01='{0}' parameter is null
- throw new IllegalArgumentException(Messages.getString("awt.01", "subclass")); //$NON-NLS-1$ //$NON-NLS-2$
- }
- if (! AWTKeyStroke.class.isAssignableFrom(subclass)) {
- // awt.67=subclass is not derived from AWTKeyStroke
- throw new ClassCastException(Messages.getString("awt.67")); //$NON-NLS-1$
- }
- try {
- subConstructor = subclass.getDeclaredConstructor();
- subConstructor.setAccessible(true);
- } catch (SecurityException e) {
- throw new RuntimeException(e);
- } catch (NoSuchMethodException e) {
- // awt.68=subclass could not be instantiated
- throw new IllegalArgumentException(Messages.getString("awt.68")); //$NON-NLS-1$
- }
- cache.clear(); //flush the cache
- */
+ * if (subclass == null) { // awt.01='{0}' parameter is null throw new
+ * IllegalArgumentException(Messages.getString("awt.01", "subclass"));
+ * //$NON-NLS-1$ //$NON-NLS-2$ } if (!
+ * AWTKeyStroke.class.isAssignableFrom(subclass)) { // awt.67=subclass
+ * is not derived from AWTKeyStroke throw new
+ * ClassCastException(Messages.getString("awt.67")); //$NON-NLS-1$ } try
+ * { subConstructor = subclass.getDeclaredConstructor();
+ * subConstructor.setAccessible(true); } catch (SecurityException e) {
+ * throw new RuntimeException(e); } catch (NoSuchMethodException e) { //
+ * awt.68=subclass could not be instantiated throw new
+ * IllegalArgumentException(Messages.getString("awt.68")); //$NON-NLS-1$
+ * } cache.clear(); //flush the cache
+ */
}
/**
* Parses the modifier.
*
- * @param strMod the str mod
- *
- * @return the long
+ * @param strMod
+ * the str mod.
+ * @return the long.
*/
private static long parseModifier(String strMod) {
long modifiers = 0l;
@@ -609,9 +644,9 @@ public class AWTKeyStroke implements Serializable {
/**
* Parses the typed id.
*
- * @param strTyped the str typed
- *
- * @return true, if successful
+ * @param strTyped
+ * the str typed.
+ * @return true, if successful.
*/
private static boolean parseTypedID(String strTyped) {
if (strTyped.equals("typed")) { //$NON-NLS-1$
@@ -624,9 +659,9 @@ public class AWTKeyStroke implements Serializable {
/**
* Parses the typed key.
*
- * @param strChar the str char
- *
- * @return the char
+ * @param strChar
+ * the str char.
+ * @return the char.
*/
private static char parseTypedKey(String strChar) {
char keyChar = KeyEvent.CHAR_UNDEFINED;
@@ -642,9 +677,9 @@ public class AWTKeyStroke implements Serializable {
/**
* Parses the pressed released id.
*
- * @param str the str
- *
- * @return the boolean
+ * @param str
+ * the str.
+ * @return the boolean.
*/
private static Boolean parsePressedReleasedID(String str) {
@@ -659,9 +694,9 @@ public class AWTKeyStroke implements Serializable {
/**
* Parses the key.
*
- * @param strCode the str code
- *
- * @return the int
+ * @param strCode
+ * the str code.
+ * @return the int.
*/
private static int parseKey(String strCode) {
int keyCode = KeyEvent.VK_UNDEFINED;
@@ -675,4 +710,3 @@ public class AWTKeyStroke implements Serializable {
return keyCode;
}
}
-
diff --git a/awt/java/awt/AWTPermission.java b/awt/java/awt/AWTPermission.java
index 25326ab..4bd8357 100644
--- a/awt/java/awt/AWTPermission.java
+++ b/awt/java/awt/AWTPermission.java
@@ -18,24 +18,31 @@
* @author Pavel Dolgov
* @version $Revision$
*/
+
package java.awt;
import java.security.BasicPermission;
/**
- * The AWTPermission specifies the name of the permission and the
- * corresponding action list.
+ * The AWTPermission specifies the name of the permission and the corresponding
+ * action list.
+ *
+ * @since Android 1.0
*/
public final class AWTPermission extends BasicPermission {
-
- /** The Constant serialVersionUID. */
+
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = 8890392402588814465L;
/**
* Instantiates a new AWTPermission with defined name and actions.
*
- * @param name the name of a new AWTPermission.
- * @param actions the actions of a new AWTPermission.
+ * @param name
+ * the name of a new AWTPermission.
+ * @param actions
+ * the actions of a new AWTPermission.
*/
public AWTPermission(String name, String actions) {
super(name, actions);
@@ -44,11 +51,11 @@ public final class AWTPermission extends BasicPermission {
/**
* Instantiates a new AWT permission with the defined name.
*
- * @param name the name of a new AWTPermission.
+ * @param name
+ * the name of a new AWTPermission.
*/
public AWTPermission(String name) {
super(name);
}
}
-
diff --git a/awt/java/awt/ActiveEvent.java b/awt/java/awt/ActiveEvent.java
index 4133752..7044623 100644
--- a/awt/java/awt/ActiveEvent.java
+++ b/awt/java/awt/ActiveEvent.java
@@ -18,18 +18,21 @@
* @author Michael Danilov
* @version $Revision$
*/
+
package java.awt;
/**
- * This interface defines events that know how to dispatch themselves.
- * Such event can be placed upon the event queue and its dispatch method
- * will be called when the event is dispatched.
+ * This interface defines events that know how to dispatch themselves. Such
+ * event can be placed upon the event queue and its dispatch method will be
+ * called when the event is dispatched.
+ *
+ * @since Android 1.0
*/
public interface ActiveEvent {
/**
- * Dispatches the event to the listeners of the event's source,
- * or does whatever it is this event is supposed to do.
+ * Dispatches the event to the listeners of the event's source, or does
+ * whatever it is this event is supposed to do.
*/
public void dispatch();
diff --git a/awt/java/awt/Adjustable.java b/awt/java/awt/Adjustable.java
index 3241cad..baf80f7 100644
--- a/awt/java/awt/Adjustable.java
+++ b/awt/java/awt/Adjustable.java
@@ -18,32 +18,35 @@
* @author Pavel Dolgov
* @version $Revision$
*/
+
package java.awt;
import java.awt.event.AdjustmentListener;
/**
- * The Adjustable interface represents an adjustable numeric value
- * contained within a bounded range of values, such as the current
- * location in scrollable region or the value of a gauge.
+ * The Adjustable interface represents an adjustable numeric value contained
+ * within a bounded range of values, such as the current location in scrollable
+ * region or the value of a gauge.
+ *
+ * @since Android 1.0
*/
public interface Adjustable {
- /**
- * The Constant HORIZONTAL indicates that the Adjustable's orientation
- * is horizontal.
+ /**
+ * The Constant HORIZONTAL indicates that the Adjustable's orientation is
+ * horizontal.
*/
public static final int HORIZONTAL = 0;
- /**
- * The Constant VERTICAL indicates that the Adjustable's orientation
- * is vertical.
+ /**
+ * The Constant VERTICAL indicates that the Adjustable's orientation is
+ * vertical.
*/
public static final int VERTICAL = 1;
- /**
- * The Constant NO_ORIENTATION indicates that the Adjustable
- * has no orientation.
+ /**
+ * The Constant NO_ORIENTATION indicates that the Adjustable has no
+ * orientation.
*/
public static final int NO_ORIENTATION = 2;
@@ -57,14 +60,16 @@ public interface Adjustable {
/**
* Sets the value to the Adjustable object.
*
- * @param a0 the new value of the Adjustable object.
+ * @param a0
+ * the new value of the Adjustable object.
*/
public void setValue(int a0);
/**
* Adds the AdjustmentListener to current Adjustment.
*
- * @param a0 the AdjustmentListener object.
+ * @param a0
+ * the AdjustmentListener object.
*/
public void addAdjustmentListener(AdjustmentListener a0);
@@ -85,7 +90,7 @@ public interface Adjustable {
/**
* Gets the minimum value of the Adjustable.
*
- * @return the minimum value of the Adjustable.
+ * @return the minimum value of the Adjustable.
*/
public int getMinimum();
@@ -113,44 +118,49 @@ public interface Adjustable {
/**
* Removes the adjustment listener of the Adjustable.
*
- * @param a0 the specified AdjustmentListener to be removed.
+ * @param a0
+ * the specified AdjustmentListener to be removed.
*/
public void removeAdjustmentListener(AdjustmentListener a0);
/**
* Sets the block increment for the Adjustable.
*
- * @param a0 the new block increment.
+ * @param a0
+ * the new block increment.
*/
public void setBlockIncrement(int a0);
/**
* Sets the maximum value of the Adjustable.
*
- * @param a0 the new maximum of the Adjustable.
+ * @param a0
+ * the new maximum of the Adjustable.
*/
public void setMaximum(int a0);
/**
* Sets the minimum value of the Adjustable.
*
- * @param a0 the new minimum of the Adjustable.
+ * @param a0
+ * the new minimum of the Adjustable.
*/
public void setMinimum(int a0);
/**
* Sets the unit increment of the Adjustable.
*
- * @param a0 the new unit increment of the Adjustable.
+ * @param a0
+ * the new unit increment of the Adjustable.
*/
public void setUnitIncrement(int a0);
/**
* Sets the visible amount of the Adjustable.
*
- * @param a0 the new visible amount of the Adjustable.
+ * @param a0
+ * the new visible amount of the Adjustable.
*/
public void setVisibleAmount(int a0);
}
-
diff --git a/awt/java/awt/AlphaComposite.java b/awt/java/awt/AlphaComposite.java
index d26753c..8389eb4 100644
--- a/awt/java/awt/AlphaComposite.java
+++ b/awt/java/awt/AlphaComposite.java
@@ -18,6 +18,7 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt;
import java.awt.Composite;
@@ -28,148 +29,181 @@ import java.awt.image.ColorModel;
import org.apache.harmony.awt.gl.ICompositeContext;
import org.apache.harmony.awt.internal.nls.Messages;
-
/**
- * The AlphaComposite class defines a basic alpha compositing rules for
- * combining source and destination colors to achieve blending and
- * transparency effects with graphics and images.
+ * The AlphaComposite class defines a basic alpha compositing rules for
+ * combining source and destination colors to achieve blending and transparency
+ * effects with graphics and images.
+ *
+ * @since Android 1.0
*/
public final class AlphaComposite implements Composite {
- /**
- * The Constant CLEAR indicates that both the color and the alpha of
- * the destination are cleared (Porter-Duff Clear rule).
+ /**
+ * The Constant CLEAR indicates that both the color and the alpha of the
+ * destination are cleared (Porter-Duff Clear rule).
*/
public static final int CLEAR = 1;
- /**
- * The Constant SRC indicates that the source is copied to the destination
+ /**
+ * The Constant SRC indicates that the source is copied to the destination
* (Porter-Duff Source rule).
*/
public static final int SRC = 2;
- /** The Constant DST indicates that the destination is left untouched
+ /**
+ * The Constant DST indicates that the destination is left untouched
* (Porter-Duff Destination rule).
*/
public static final int DST = 9;
- /**
- * The Constant SRC_OVER indicates that the source is composited over
- * the destination (Porter-Duff Source Over Destination rule).
+ /**
+ * The Constant SRC_OVER indicates that the source is composited over the
+ * destination (Porter-Duff Source Over Destination rule).
*/
public static final int SRC_OVER = 3;
/**
- * The Constant DST_OVER indicates that The destination is composited over
- * the source and the result replaces the destination
- * (Porter-Duff Destination Over Source rule).
+ * The Constant DST_OVER indicates that The destination is composited over
+ * the source and the result replaces the destination (Porter-Duff
+ * Destination Over Source rule).
*/
public static final int DST_OVER = 4;
/**
- * The Constant SRC_IN indicates that the part of the source lying
- * inside of the destination replaces the destination (Porter-Duff
- * Source In Destination rule).
+ * The Constant SRC_IN indicates that the part of the source lying inside of
+ * the destination replaces the destination (Porter-Duff Source In
+ * Destination rule).
*/
public static final int SRC_IN = 5;
- /**
- * The Constant DST_IN indicates that the part of the destination
- * lying inside of the source replaces the destination
- * (Porter-Duff Destination In Source rule).
+ /**
+ * The Constant DST_IN indicates that the part of the destination lying
+ * inside of the source replaces the destination (Porter-Duff Destination In
+ * Source rule).
*/
public static final int DST_IN = 6;
/**
- * The Constant SRC_OUT indicates that the part of the source lying
- * outside of the destination replaces the destination (Porter-Duff
- * Source Held Out By Destination rule).
+ * The Constant SRC_OUT indicates that the part of the source lying outside
+ * of the destination replaces the destination (Porter-Duff Source Held Out
+ * By Destination rule).
*/
public static final int SRC_OUT = 7;
- /**
- * The Constant DST_OUT indicates that the part of the destination
- * lying outside of the source replaces the destination (Porter-Duff
- * Destination Held Out By Source rule).
+ /**
+ * The Constant DST_OUT indicates that the part of the destination lying
+ * outside of the source replaces the destination (Porter-Duff Destination
+ * Held Out By Source rule).
*/
public static final int DST_OUT = 8;
- /**
- * The Constant SRC_ATOP indicates that the part of the source lying
- * inside of the destination is composited onto the destination
- * (Porter-Duff Source Atop Destination rule).
+ /**
+ * The Constant SRC_ATOP indicates that the part of the source lying inside
+ * of the destination is composited onto the destination (Porter-Duff Source
+ * Atop Destination rule).
*/
public static final int SRC_ATOP = 10;
- /**
- * The Constant DST_ATOP indicates that the part of the destination
- * lying inside of the source is composited over the source and replaces
- * the destination (Porter-Duff Destination Atop Source rule).
+ /**
+ * The Constant DST_ATOP indicates that the part of the destination lying
+ * inside of the source is composited over the source and replaces the
+ * destination (Porter-Duff Destination Atop Source rule).
*/
public static final int DST_ATOP = 11;
/**
- * The Constant XOR indicates that the part of the source that lies
- * outside of the destination is combined with the part of the destination
- * that lies outside of the source (Porter-Duff Source Xor Destination rule).
+ * The Constant XOR indicates that the part of the source that lies outside
+ * of the destination is combined with the part of the destination that lies
+ * outside of the source (Porter-Duff Source Xor Destination rule).
*/
public static final int XOR = 12;
- /** AlphaComposite object with the opaque CLEAR rule and an alpha of 1.0f. */
+ /**
+ * AlphaComposite object with the opaque CLEAR rule and an alpha of 1.0f.
+ */
public static final AlphaComposite Clear = new AlphaComposite(CLEAR);
- /** AlphaComposite object with the opaque SRC rule and an alpha of 1.0f. */
+ /**
+ * AlphaComposite object with the opaque SRC rule and an alpha of 1.0f.
+ */
public static final AlphaComposite Src = new AlphaComposite(SRC);
- /** AlphaComposite object with the opaque DST rule and an alpha of 1.0f. */
+ /**
+ * AlphaComposite object with the opaque DST rule and an alpha of 1.0f.
+ */
public static final AlphaComposite Dst = new AlphaComposite(DST);
- /** AlphaComposite object with the opaque SRC_OVER rule and an alpha of 1.0f. */
+ /**
+ * AlphaComposite object with the opaque SRC_OVER rule and an alpha of 1.0f.
+ */
public static final AlphaComposite SrcOver = new AlphaComposite(SRC_OVER);
- /** AlphaComposite object with the opaque DST_OVER rule and an alpha of 1.0f. */
+ /**
+ * AlphaComposite object with the opaque DST_OVER rule and an alpha of 1.0f.
+ */
public static final AlphaComposite DstOver = new AlphaComposite(DST_OVER);
- /** AlphaComposite object with the opaque SRC_IN rule and an alpha of 1.0f. */
+ /**
+ * AlphaComposite object with the opaque SRC_IN rule and an alpha of 1.0f.
+ */
public static final AlphaComposite SrcIn = new AlphaComposite(SRC_IN);
- /** AlphaComposite object with the opaque DST_IN rule and an alpha of 1.0f. */
+ /**
+ * AlphaComposite object with the opaque DST_IN rule and an alpha of 1.0f.
+ */
public static final AlphaComposite DstIn = new AlphaComposite(DST_IN);
- /** AlphaComposite object with the opaque SRC_OUT rule and an alpha of 1.0f. */
+ /**
+ * AlphaComposite object with the opaque SRC_OUT rule and an alpha of 1.0f.
+ */
public static final AlphaComposite SrcOut = new AlphaComposite(SRC_OUT);
- /** AlphaComposite object with the opaque DST_OUT rule and an alpha of 1.0f. */
+ /**
+ * AlphaComposite object with the opaque DST_OUT rule and an alpha of 1.0f.
+ */
public static final AlphaComposite DstOut = new AlphaComposite(DST_OUT);
- /** AlphaComposite object with the opaque SRC_ATOP rule and an alpha of 1.0f. */
+ /**
+ * AlphaComposite object with the opaque SRC_ATOP rule and an alpha of 1.0f.
+ */
public static final AlphaComposite SrcAtop = new AlphaComposite(SRC_ATOP);
- /** AlphaComposite object with the opaque DST_ATOP rule and an alpha of 1.0f. */
+ /**
+ * AlphaComposite object with the opaque DST_ATOP rule and an alpha of 1.0f.
+ */
public static final AlphaComposite DstAtop = new AlphaComposite(DST_ATOP);
- /** AlphaComposite object with the opaque XOR rule and an alpha of 1.0f. */
+ /**
+ * AlphaComposite object with the opaque XOR rule and an alpha of 1.0f.
+ */
public static final AlphaComposite Xor = new AlphaComposite(XOR);
- /** The rule. */
+ /**
+ * The rule.
+ */
private int rule;
-
- /** The alpha. */
+
+ /**
+ * The alpha.
+ */
private float alpha;
/**
- * Instantiates a new alpha composite.
- * Creates a context for the compositing operation. The context contains state that is used in performing the compositing operation.
+ * Instantiates a new alpha composite. Creates a context for the compositing
+ * operation. The context contains state that is used in performing the
+ * compositing operation.
*
- * @param rule the rule
- * @param alpha the alpha
+ * @param rule
+ * the rule.
+ * @param alpha
+ * the alpha.
*/
- private AlphaComposite(int rule, float alpha){
- if(rule < CLEAR || rule > XOR) {
+ private AlphaComposite(int rule, float alpha) {
+ if (rule < CLEAR || rule > XOR) {
// awt.11D=Unknown rule
throw new IllegalArgumentException(Messages.getString("awt.11D")); //$NON-NLS-1$
}
- if(alpha < 0.0f || alpha > 1.0f) {
+ if (alpha < 0.0f || alpha > 1.0f) {
// awt.11E=Wrong alpha value
throw new IllegalArgumentException(Messages.getString("awt.11E")); //$NON-NLS-1$
}
@@ -181,41 +215,44 @@ public final class AlphaComposite implements Composite {
/**
* Instantiates a new alpha composite.
*
- * @param rule the rule
+ * @param rule
+ * the rule.
*/
- private AlphaComposite(int rule){
+ private AlphaComposite(int rule) {
this(rule, 1.0f);
}
/**
* Creates a CompositeContext object with the specified source ColorModel,
- * destination ColorModel and RenderingHints parameters for a composing
+ * destination ColorModel and RenderingHints parameters for a composing
* operation.
*
- * @param srcColorModel the source's ColorModel.
- * @param dstColorModel the destination's ColorModel.
- * @param hints the RenderingHints object.
- *
- * @return the CompositeContext object.
- *
- * @see java.awt.Composite#createContext(java.awt.image.ColorModel, java.awt.image.ColorModel, java.awt.RenderingHints)
+ * @param srcColorModel
+ * the source's ColorModel.
+ * @param dstColorModel
+ * the destination's ColorModel.
+ * @param hints
+ * the RenderingHints object.
+ * @return the CompositeContext object.
+ * @see java.awt.Composite#createContext(java.awt.image.ColorModel,
+ * java.awt.image.ColorModel, java.awt.RenderingHints)
*/
- public CompositeContext createContext(ColorModel srcColorModel,
- ColorModel dstColorModel, RenderingHints hints) {
+ public CompositeContext createContext(ColorModel srcColorModel, ColorModel dstColorModel,
+ RenderingHints hints) {
return new ICompositeContext(this, srcColorModel, dstColorModel);
}
/**
* Compares the AlphaComposite object with the specified object.
*
- * @param obj the Object to be compared.
- *
+ * @param obj
+ * the Object to be compared.
* @return true, if the AlphaComposite object is equal to the specified
- * object.
+ * object.
*/
@Override
public boolean equals(Object obj) {
- if(!(obj instanceof AlphaComposite)) {
+ if (!(obj instanceof AlphaComposite)) {
return false;
}
AlphaComposite other = (AlphaComposite)obj;
@@ -247,11 +284,11 @@ public final class AlphaComposite implements Composite {
}
/**
- * Gets the alpha value of this AlphaComposite object; returns 1.0 if
- * this AlphaComposite object doesn't have alpha value.
+ * Gets the alpha value of this AlphaComposite object; returns 1.0 if this
+ * AlphaComposite object doesn't have alpha value.
*
- * @return the alpha value of this AlphaComposite object or 1.0 if
- * this AlphaComposite object doesn't have alpha value.
+ * @return the alpha value of this AlphaComposite object or 1.0 if this
+ * AlphaComposite object doesn't have alpha value.
*/
public float getAlpha() {
return alpha;
@@ -260,13 +297,14 @@ public final class AlphaComposite implements Composite {
/**
* Gets the AlphaComposite instance with the specified rule and alpha value.
*
- * @param rule the compositing rule.
- * @param alpha the alpha value.
- *
- * @return AlphaComposite instance.
+ * @param rule
+ * the compositing rule.
+ * @param alpha
+ * the alpha value.
+ * @return the AlphaComposite instance.
*/
public static AlphaComposite getInstance(int rule, float alpha) {
- if(alpha == 1.0f) {
+ if (alpha == 1.0f) {
return getInstance(rule);
}
return new AlphaComposite(rule, alpha);
@@ -275,41 +313,40 @@ public final class AlphaComposite implements Composite {
/**
* Gets the AlphaComposite instance with the specified rule.
*
- * @param rule the compositing rule.
- *
- * @return AlphaComposite instance.
+ * @param rule
+ * the compositing rule.
+ * @return the AlphaComposite instance.
*/
public static AlphaComposite getInstance(int rule) {
- switch(rule){
- case CLEAR:
- return Clear;
- case SRC:
- return Src;
- case DST:
- return Dst;
- case SRC_OVER:
- return SrcOver;
- case DST_OVER:
- return DstOver;
- case SRC_IN:
- return SrcIn;
- case DST_IN:
- return DstIn;
- case SRC_OUT:
- return SrcOut;
- case DST_OUT:
- return DstOut;
- case SRC_ATOP:
- return SrcAtop;
- case DST_ATOP:
- return DstAtop;
- case XOR:
- return Xor;
- default:
- // awt.11D=Unknown rule
- throw new IllegalArgumentException(Messages.getString("awt.11D")); //$NON-NLS-1$
+ switch (rule) {
+ case CLEAR:
+ return Clear;
+ case SRC:
+ return Src;
+ case DST:
+ return Dst;
+ case SRC_OVER:
+ return SrcOver;
+ case DST_OVER:
+ return DstOver;
+ case SRC_IN:
+ return SrcIn;
+ case DST_IN:
+ return DstIn;
+ case SRC_OUT:
+ return SrcOut;
+ case DST_OUT:
+ return DstOut;
+ case SRC_ATOP:
+ return SrcAtop;
+ case DST_ATOP:
+ return DstAtop;
+ case XOR:
+ return Xor;
+ default:
+ // awt.11D=Unknown rule
+ throw new IllegalArgumentException(Messages.getString("awt.11D")); //$NON-NLS-1$
}
}
}
-
diff --git a/awt/java/awt/BasicStroke.java b/awt/java/awt/BasicStroke.java
index 955dc6b..2457815 100644
--- a/awt/java/awt/BasicStroke.java
+++ b/awt/java/awt/BasicStroke.java
@@ -18,6 +18,7 @@
* @author Denis M. Kishenko
* @version $Revision$
*/
+
package java.awt;
import java.awt.geom.GeneralPath;
@@ -27,139 +28,188 @@ import org.apache.harmony.awt.internal.nls.Messages;
import org.apache.harmony.misc.HashCode;
/**
- * The BasicStroke class specifies a set of rendering attributes for the outlines
- * of graphics primitives. The BasicStroke attributes describe the shape of the
- * pen which draws the outline of a Shape and the decorations applied at the ends
- * and joins of path segments of the Shape. The BasicStroke has the following
- * rendering attributes:
+ * The BasicStroke class specifies a set of rendering attributes for the
+ * outlines of graphics primitives. The BasicStroke attributes describe the
+ * shape of the pen which draws the outline of a Shape and the decorations
+ * applied at the ends and joins of path segments of the Shape. The BasicStroke
+ * has the following rendering attributes:
* <p>
* <ul>
- * <li> line width -the pen width which draws the outlines.</li>
- * <li> end caps - indicates the decoration applied to the ends of unclosed
- * subpaths and dash segments. The BasicStroke defines three different decorations:
- * CAP_BUTT, CAP_ROUND, and CAP_SQUARE.</li>
- * <li>line joins - indicates the decoration applied at the intersection of
- * two path segments and at the intersection of the endpoints of a subpath.
- * The BasicStroke defines three decorations: JOIN_BEVEL, JOIN_MITER,
- * and JOIN_ROUND.</li>
- * <li>miter limit - the limit to trim a line join that has a JOIN_MITER
+ * <li>line width -the pen width which draws the outlines.</li>
+ * <li>end caps - indicates the decoration applied to the ends of unclosed
+ * subpaths and dash segments. The BasicStroke defines three different
+ * decorations: CAP_BUTT, CAP_ROUND, and CAP_SQUARE.</li>
+ * <li>line joins - indicates the decoration applied at the intersection of two
+ * path segments and at the intersection of the endpoints of a subpath. The
+ * BasicStroke defines three decorations: JOIN_BEVEL, JOIN_MITER, and
+ * JOIN_ROUND.</li>
+ * <li>miter limit - the limit to trim a line join that has a JOIN_MITER
* decoration.</li>
- * <li>dash attributes - the definition of how to make a dash pattern by
- * alternating between opaque and transparent sections </li>
+ * <li>dash attributes - the definition of how to make a dash pattern by
+ * alternating between opaque and transparent sections</li>
* </ul>
+ * </p>
+ *
+ * @since Android 1.0
*/
public class BasicStroke implements Stroke {
- /**
- * The Constant CAP_BUTT indicates the ends of unclosed subpaths
- * and dash segments have no added decoration.
+ /**
+ * The Constant CAP_BUTT indicates the ends of unclosed subpaths and dash
+ * segments have no added decoration.
*/
public static final int CAP_BUTT = 0;
-
- /**
- * The Constant CAP_ROUND indicates the ends of unclosed subpaths
- * and dash segments have a round decoration.
+
+ /**
+ * The Constant CAP_ROUND indicates the ends of unclosed subpaths and dash
+ * segments have a round decoration.
*/
public static final int CAP_ROUND = 1;
-
- /**
- * The Constant CAP_SQUARE indicates the ends of unclosed subpaths
- * and dash segments have a square projection.
+
+ /**
+ * The Constant CAP_SQUARE indicates the ends of unclosed subpaths and dash
+ * segments have a square projection.
*/
public static final int CAP_SQUARE = 2;
- /**
- * The Constant JOIN_MITER indicates that path segments are joined by
+ /**
+ * The Constant JOIN_MITER indicates that path segments are joined by
* extending their outside edges until they meet.
*/
public static final int JOIN_MITER = 0;
-
- /**
- * The Constant JOIN_ROUND indicates that path segments are joined by
+
+ /**
+ * The Constant JOIN_ROUND indicates that path segments are joined by
* rounding off the corner at a radius of half the line width.
*/
public static final int JOIN_ROUND = 1;
-
- /**
- * The Constant JOIN_BEVEL indicates that path segments are joined by
- * connecting the outer corners of their wide outlines with
- * a straight segment.
+
+ /**
+ * The Constant JOIN_BEVEL indicates that path segments are joined by
+ * connecting the outer corners of their wide outlines with a straight
+ * segment.
*/
public static final int JOIN_BEVEL = 2;
-
- /** Constants for calculating. */
- static final int MAX_LEVEL = 20; // Maximal deepness of curve subdivision
-
- /** The Constant CURVE_DELTA. */
- static final double CURVE_DELTA = 2.0; // Width tolerance
-
- /** The Constant CORNER_ANGLE. */
+
+ /**
+ * Constants for calculating.
+ */
+ static final int MAX_LEVEL = 20; // Maximal deepness of curve subdivision
+
+ /**
+ * The Constant CURVE_DELTA.
+ */
+ static final double CURVE_DELTA = 2.0; // Width tolerance
+
+ /**
+ * The Constant CORNER_ANGLE.
+ */
static final double CORNER_ANGLE = 4.0; // Minimum corner angle
-
- /** The Constant CORNER_ZERO. */
+
+ /**
+ * The Constant CORNER_ZERO.
+ */
static final double CORNER_ZERO = 0.01; // Zero angle
-
- /** The Constant CUBIC_ARC. */
+
+ /**
+ * The Constant CUBIC_ARC.
+ */
static final double CUBIC_ARC = 4.0 / 3.0 * (Math.sqrt(2.0) - 1);
- /** Stroke width. */
+ /**
+ * Stroke width.
+ */
float width;
-
- /** Stroke cap type. */
+
+ /**
+ * Stroke cap type.
+ */
int cap;
-
- /** Stroke join type. */
+
+ /**
+ * Stroke join type.
+ */
int join;
-
- /** Stroke miter limit. */
+
+ /**
+ * Stroke miter limit.
+ */
float miterLimit;
-
- /** Stroke dashes array. */
+
+ /**
+ * Stroke dashes array.
+ */
float dash[];
-
- /** Stroke dash phase. */
+
+ /**
+ * Stroke dash phase.
+ */
float dashPhase;
- /** The temporary pre-calculated values. */
+ /**
+ * The temporary pre-calculated values.
+ */
double curveDelta;
-
- /** The corner delta. */
+
+ /**
+ * The corner delta.
+ */
double cornerDelta;
-
- /** The zero delta. */
+
+ /**
+ * The zero delta.
+ */
double zeroDelta;
- /** The w2. */
+ /**
+ * The w2.
+ */
double w2;
-
- /** The fmy. */
+
+ /**
+ * The fmy.
+ */
double fmx, fmy;
-
- /** The smy. */
+
+ /**
+ * The smy.
+ */
double scx, scy, smx, smy;
-
- /** The cy. */
+
+ /**
+ * The cy.
+ */
double mx, my, cx, cy;
- /** The temporary indicators. */
+ /**
+ * The temporary indicators.
+ */
boolean isMove;
-
- /** The is first. */
+
+ /**
+ * The is first.
+ */
boolean isFirst;
-
- /** The check move. */
+
+ /**
+ * The check move.
+ */
boolean checkMove;
-
- /** The temporary and destination work paths. */
+
+ /**
+ * The temporary and destination work paths.
+ */
BufferedPath dst, lp, rp, sp;
-
- /** Stroke dasher class. */
+
+ /**
+ * Stroke dasher class.
+ */
Dasher dasher;
/**
- * Instantiates a new BasicStroke with default width, cap, join, limit,
- * dash attributes parameters. The default parameters are a solid line of
- * width 1.0, CAP_SQUARE, JOIN_MITER, a miter limit of 10.0, null dash attributes,
+ * Instantiates a new BasicStroke with default width, cap, join, limit, dash
+ * attributes parameters. The default parameters are a solid line of width
+ * 1.0, CAP_SQUARE, JOIN_MITER, a miter limit of 10.0, null dash attributes,
* and a dash phase of 0.0f.
*/
public BasicStroke() {
@@ -167,17 +217,24 @@ public class BasicStroke implements Stroke {
}
/**
- * Instantiates a new BasicStroke with the specified width,
- * caps, joins, limit, dash attributes, dash phase parameters.
+ * Instantiates a new BasicStroke with the specified width, caps, joins,
+ * limit, dash attributes, dash phase parameters.
*
- * @param width the width of BasikStroke.
- * @param cap the end decoration of BasikStroke.
- * @param join the join segments decoration.
- * @param miterLimit the limit to trim the miter join.
- * @param dash the array with the dashing pattern.
- * @param dashPhase the offset to start the dashing pattern.
- */
- public BasicStroke(float width, int cap, int join, float miterLimit, float[] dash, float dashPhase) {
+ * @param width
+ * the width of BasikStroke.
+ * @param cap
+ * the end decoration of BasikStroke.
+ * @param join
+ * the join segments decoration.
+ * @param miterLimit
+ * the limit to trim the miter join.
+ * @param dash
+ * the array with the dashing pattern.
+ * @param dashPhase
+ * the offset to start the dashing pattern.
+ */
+ public BasicStroke(float width, int cap, int join, float miterLimit, float[] dash,
+ float dashPhase) {
if (width < 0.0f) {
// awt.133=Negative width
throw new IllegalArgumentException(Messages.getString("awt.133")); //$NON-NLS-1$
@@ -204,7 +261,7 @@ public class BasicStroke implements Stroke {
throw new IllegalArgumentException(Messages.getString("awt.138")); //$NON-NLS-1$
}
ZERO: {
- for(int i = 0; i < dash.length; i++) {
+ for (int i = 0; i < dash.length; i++) {
if (dash[i] < 0.0) {
// awt.139=Negative dash[{0}]
throw new IllegalArgumentException(Messages.getString("awt.139", i)); //$NON-NLS-1$
@@ -226,35 +283,43 @@ public class BasicStroke implements Stroke {
}
/**
- * Instantiates a new BasicStroke with specified width, cap, join, limit
- * and default dash attributes parameters.
+ * Instantiates a new BasicStroke with specified width, cap, join, limit and
+ * default dash attributes parameters.
*
- * @param width the width of BasikStroke.
- * @param cap the end decoration of BasikStroke.
- * @param join the join segments decoration.
- * @param miterLimit the limit to trim the miter join.
+ * @param width
+ * the width of BasikStroke.
+ * @param cap
+ * the end decoration of BasikStroke.
+ * @param join
+ * the join segments decoration.
+ * @param miterLimit
+ * the limit to trim the miter join.
*/
public BasicStroke(float width, int cap, int join, float miterLimit) {
this(width, cap, join, miterLimit, null, 0.0f);
}
/**
- * Instantiates a new BasicStroke with specified width, cap, join
- * and default limit and dash attributes parameters.
+ * Instantiates a new BasicStroke with specified width, cap, join and
+ * default limit and dash attributes parameters.
*
- * @param width the width of BasikStroke.
- * @param cap the end decoration of BasikStroke.
- * @param join the join segments decoration.
+ * @param width
+ * the width of BasikStroke.
+ * @param cap
+ * the end decoration of BasikStroke.
+ * @param join
+ * the join segments decoration.
*/
public BasicStroke(float width, int cap, int join) {
this(width, cap, join, 10.0f, null, 0.0f);
}
/**
- * Instantiates a new BasicStroke with specified width and default cap, join,
- * limit, dash attributes parameters.
+ * Instantiates a new BasicStroke with specified width and default cap,
+ * join, limit, dash attributes parameters.
*
- * @param width the width of BasicStroke.
+ * @param width
+ * the width of BasicStroke.
*/
public BasicStroke(float width) {
this(width, CAP_SQUARE, JOIN_MITER, 10.0f, null, 0.0f);
@@ -288,7 +353,8 @@ public class BasicStroke implements Stroke {
}
/**
- * Gets the miter limit of the BasicStroke (the limit to trim the miter join).
+ * Gets the miter limit of the BasicStroke (the limit to trim the miter
+ * join).
*
* @return the miter limit of the BasicStroke.
*/
@@ -338,10 +404,10 @@ public class BasicStroke implements Stroke {
/**
* Compares this BasicStroke object with the specified Object.
*
- * @param obj the Object to be compared.
- *
- * @return true, if the Object is a BasicStroke with the same data
- * values as this BasicStroke; false otherwise.
+ * @param obj
+ * the Object to be compared.
+ * @return true, if the Object is a BasicStroke with the same data values as
+ * this BasicStroke; false otherwise.
*/
@Override
public boolean equals(Object obj) {
@@ -350,13 +416,9 @@ public class BasicStroke implements Stroke {
}
if (obj instanceof BasicStroke) {
BasicStroke bs = (BasicStroke)obj;
- return
- bs.width == width &&
- bs.cap == cap &&
- bs.join == join &&
- bs.miterLimit == miterLimit &&
- bs.dashPhase == dashPhase &&
- java.util.Arrays.equals(bs.dash, dash);
+ return bs.width == width && bs.cap == cap && bs.join == join
+ && bs.miterLimit == miterLimit && bs.dashPhase == dashPhase
+ && java.util.Arrays.equals(bs.dash, dash);
}
return false;
}
@@ -364,9 +426,9 @@ public class BasicStroke implements Stroke {
/**
* Calculates allowable curve derivation.
*
- * @param width the width
- *
- * @return the curve delta
+ * @param width
+ * the width.
+ * @return the curve delta.
*/
double getCurveDelta(double width) {
double a = width + CURVE_DELTA;
@@ -378,9 +440,9 @@ public class BasicStroke implements Stroke {
/**
* Calculates the value to detect a small angle.
*
- * @param width the width
- *
- * @return the corner delta
+ * @param width
+ * the width.
+ * @return the corner delta.
*/
double getCornerDelta(double width) {
return width * width * Math.sin(Math.PI * CORNER_ANGLE / 180.0);
@@ -389,22 +451,21 @@ public class BasicStroke implements Stroke {
/**
* Calculates value to detect a zero angle.
*
- * @param width the width
- *
- * @return the zero delta
+ * @param width
+ * the width.
+ * @return the zero delta.
*/
double getZeroDelta(double width) {
return width * width * Math.sin(Math.PI * CORNER_ZERO / 180.0);
}
/**
- * Creates a Shape from the outline of the specified shape
- * drawn with this BasicStroke.
- *
- * @param s the specified Shape to be stroked.
+ * Creates a Shape from the outline of the specified shape drawn with this
+ * BasicStroke.
*
+ * @param s
+ * the specified Shape to be stroked.
* @return the Shape of the stroked outline.
- *
* @see java.awt.Stroke#createStrokedShape(java.awt.Shape)
*/
public Shape createStrokedShape(Shape s) {
@@ -429,7 +490,8 @@ public class BasicStroke implements Stroke {
/**
* Generates a shape with a solid (not dashed) outline.
*
- * @param p - the PathIterator of source shape
+ * @param p
+ * the PathIterator of source shape.
*/
void createSolidShape(PathIterator p) {
double coords[] = new double[6];
@@ -439,36 +501,37 @@ public class BasicStroke implements Stroke {
checkMove = true;
boolean isClosed = true;
- while(!p.isDone()) {
- switch(p.currentSegment(coords)) {
- case PathIterator.SEG_MOVETO:
- if (!isClosed) {
- closeSolidShape();
- }
- rp.clean();
- mx = cx = coords[0];
- my = cy = coords[1];
- isMove = true;
- isClosed = false;
- break;
- case PathIterator.SEG_LINETO:
- addLine(cx, cy, cx = coords[0], cy = coords[1], true);
- break;
- case PathIterator.SEG_QUADTO:
- addQuad(cx, cy, coords[0], coords[1], cx = coords[2], cy = coords[3]);
- break;
- case PathIterator.SEG_CUBICTO:
- addCubic(cx, cy, coords[0], coords[1], coords[2], coords[3], cx = coords[4], cy = coords[5]);
- break;
- case PathIterator.SEG_CLOSE:
- addLine(cx, cy, mx, my, false);
- addJoin(lp, mx, my, lp.xMove, lp.yMove, true);
- addJoin(rp, mx, my, rp.xMove, rp.yMove, false);
- lp.closePath();
- rp.closePath();
- lp.appendReverse(rp);
- isClosed = true;
- break;
+ while (!p.isDone()) {
+ switch (p.currentSegment(coords)) {
+ case PathIterator.SEG_MOVETO:
+ if (!isClosed) {
+ closeSolidShape();
+ }
+ rp.clean();
+ mx = cx = coords[0];
+ my = cy = coords[1];
+ isMove = true;
+ isClosed = false;
+ break;
+ case PathIterator.SEG_LINETO:
+ addLine(cx, cy, cx = coords[0], cy = coords[1], true);
+ break;
+ case PathIterator.SEG_QUADTO:
+ addQuad(cx, cy, coords[0], coords[1], cx = coords[2], cy = coords[3]);
+ break;
+ case PathIterator.SEG_CUBICTO:
+ addCubic(cx, cy, coords[0], coords[1], coords[2], coords[3], cx = coords[4],
+ cy = coords[5]);
+ break;
+ case PathIterator.SEG_CLOSE:
+ addLine(cx, cy, mx, my, false);
+ addJoin(lp, mx, my, lp.xMove, lp.yMove, true);
+ addJoin(rp, mx, my, rp.xMove, rp.yMove, false);
+ lp.closePath();
+ rp.closePath();
+ lp.appendReverse(rp);
+ isClosed = true;
+ break;
}
p.next();
}
@@ -492,7 +555,8 @@ public class BasicStroke implements Stroke {
/**
* Generates dashed stroked shape.
*
- * @param p - the PathIterator of source shape
+ * @param p
+ * the PathIterator of source shape.
*/
void createDashedShape(PathIterator p) {
double coords[] = new double[6];
@@ -502,52 +566,53 @@ public class BasicStroke implements Stroke {
checkMove = false;
boolean isClosed = true;
- while(!p.isDone()) {
- switch(p.currentSegment(coords)) {
- case PathIterator.SEG_MOVETO:
+ while (!p.isDone()) {
+ switch (p.currentSegment(coords)) {
+ case PathIterator.SEG_MOVETO:
- if (!isClosed) {
- closeDashedShape();
- }
+ if (!isClosed) {
+ closeDashedShape();
+ }
- dasher = new Dasher(dash, dashPhase);
- lp.clean();
- rp.clean();
- sp = null;
- isFirst = true;
- isMove = true;
- isClosed = false;
- mx = cx = coords[0];
- my = cy = coords[1];
- break;
- case PathIterator.SEG_LINETO:
- addDashLine(cx, cy, cx = coords[0], cy = coords[1]);
- break;
- case PathIterator.SEG_QUADTO:
- addDashQuad(cx, cy, coords[0], coords[1], cx = coords[2], cy = coords[3]);
- break;
- case PathIterator.SEG_CUBICTO:
- addDashCubic(cx, cy, coords[0], coords[1], coords[2], coords[3], cx = coords[4], cy = coords[5]);
- break;
- case PathIterator.SEG_CLOSE:
- addDashLine(cx, cy, cx = mx, cy = my);
-
- if (dasher.isConnected()) {
- // Connect current and head segments
- addJoin(lp, fmx, fmy, sp.xMove, sp.yMove, true);
- lp.join(sp);
- addJoin(lp, fmx, fmy, rp.xLast, rp.yLast, true);
- lp.combine(rp);
- addCap(lp, smx, smy, lp.xMove, lp.yMove);
- lp.closePath();
- dst.append(lp);
+ dasher = new Dasher(dash, dashPhase);
+ lp.clean();
+ rp.clean();
sp = null;
- } else {
- closeDashedShape();
- }
+ isFirst = true;
+ isMove = true;
+ isClosed = false;
+ mx = cx = coords[0];
+ my = cy = coords[1];
+ break;
+ case PathIterator.SEG_LINETO:
+ addDashLine(cx, cy, cx = coords[0], cy = coords[1]);
+ break;
+ case PathIterator.SEG_QUADTO:
+ addDashQuad(cx, cy, coords[0], coords[1], cx = coords[2], cy = coords[3]);
+ break;
+ case PathIterator.SEG_CUBICTO:
+ addDashCubic(cx, cy, coords[0], coords[1], coords[2], coords[3],
+ cx = coords[4], cy = coords[5]);
+ break;
+ case PathIterator.SEG_CLOSE:
+ addDashLine(cx, cy, cx = mx, cy = my);
- isClosed = true;
- break;
+ if (dasher.isConnected()) {
+ // Connect current and head segments
+ addJoin(lp, fmx, fmy, sp.xMove, sp.yMove, true);
+ lp.join(sp);
+ addJoin(lp, fmx, fmy, rp.xLast, rp.yLast, true);
+ lp.combine(rp);
+ addCap(lp, smx, smy, lp.xMove, lp.yMove);
+ lp.closePath();
+ dst.append(lp);
+ sp = null;
+ } else {
+ closeDashedShape();
+ }
+
+ isClosed = true;
+ break;
}
p.next();
}
@@ -583,11 +648,16 @@ public class BasicStroke implements Stroke {
/**
* Adds cap to the work path.
*
- * @param p - the BufferedPath object of work path
- * @param x0 - the x coordinate of the source path
- * @param y0 - the y coordinate on the source path
- * @param x2 - the x coordinate of the next point on the work path
- * @param y2 - the y coordinate of the next point on the work path
+ * @param p
+ * the BufferedPath object of work path.
+ * @param x0
+ * the x coordinate of the source path.
+ * @param y0
+ * the y coordinate on the source path.
+ * @param x2
+ * the x coordinate of the next point on the work path.
+ * @param y2
+ * the y coordinate of the next point on the work path.
*/
void addCap(BufferedPath p, double x0, double y0, double x2, double y2) {
double x1 = p.xLast;
@@ -597,42 +667,49 @@ public class BasicStroke implements Stroke {
double x20 = x2 - x0;
double y20 = y2 - y0;
- switch(cap) {
- case CAP_BUTT:
- p.lineTo(x2, y2);
- break;
- case CAP_ROUND:
- double mx = x10 * CUBIC_ARC;
- double my = y10 * CUBIC_ARC;
-
- double x3 = x0 + y10;
- double y3 = y0 - x10;
-
- x10 *= CUBIC_ARC;
- y10 *= CUBIC_ARC;
- x20 *= CUBIC_ARC;
- y20 *= CUBIC_ARC;
-
- p.cubicTo(x1 + y10, y1 - x10, x3 + mx, y3 + my, x3, y3);
- p.cubicTo(x3 - mx, y3 - my, x2 - y20, y2 + x20, x2, y2);
- break;
- case CAP_SQUARE:
- p.lineTo(x1 + y10, y1 - x10);
- p.lineTo(x2 - y20, y2 + x20);
- p.lineTo(x2, y2);
- break;
+ switch (cap) {
+ case CAP_BUTT:
+ p.lineTo(x2, y2);
+ break;
+ case CAP_ROUND:
+ double mx = x10 * CUBIC_ARC;
+ double my = y10 * CUBIC_ARC;
+
+ double x3 = x0 + y10;
+ double y3 = y0 - x10;
+
+ x10 *= CUBIC_ARC;
+ y10 *= CUBIC_ARC;
+ x20 *= CUBIC_ARC;
+ y20 *= CUBIC_ARC;
+
+ p.cubicTo(x1 + y10, y1 - x10, x3 + mx, y3 + my, x3, y3);
+ p.cubicTo(x3 - mx, y3 - my, x2 - y20, y2 + x20, x2, y2);
+ break;
+ case CAP_SQUARE:
+ p.lineTo(x1 + y10, y1 - x10);
+ p.lineTo(x2 - y20, y2 + x20);
+ p.lineTo(x2, y2);
+ break;
}
}
/**
* Adds bevel and miter join to the work path.
*
- * @param p - the BufferedPath object of work path
- * @param x0 - the x coordinate of the source path
- * @param y0 - the y coordinate on the source path
- * @param x2 - the x coordinate of the next point on the work path
- * @param y2 - the y coordinate of the next point on the work path
- * @param isLeft - the orientation of work path, true if work path lies to the left from source path, false otherwise
+ * @param p
+ * the BufferedPath object of work path.
+ * @param x0
+ * the x coordinate of the source path.
+ * @param y0
+ * the y coordinate on the source path.
+ * @param x2
+ * the x coordinate of the next point on the work path.
+ * @param y2
+ * the y coordinate of the next point on the work path.
+ * @param isLeft
+ * the orientation of work path, true if work path lies to the
+ * left from source path, false otherwise.
*/
void addJoin(BufferedPath p, double x0, double y0, double x2, double y2, boolean isLeft) {
double x1 = p.xLast;
@@ -667,26 +744,26 @@ public class BasicStroke implements Stroke {
p.lineTo(x0, y0);
p.lineTo(x2, y2);
} else {
- switch(join) {
- case JOIN_BEVEL:
- p.lineTo(x2, y2);
- break;
- case JOIN_MITER:
- double s1 = x1 * x10 + y1 * y10;
- double s2 = x2 * x20 + y2 * y20;
- double x3 = (s1 * y20 - s2 * y10) / sin0;
- double y3 = (s2 * x10 - s1 * x20) / sin0;
- double x30 = x3 - x0;
- double y30 = y3 - y0;
- double miterLength = Math.sqrt(x30 * x30 + y30 * y30);
- if (miterLength < miterLimit * w2) {
- p.lineTo(x3, y3);
- }
- p.lineTo(x2, y2);
- break;
- case JOIN_ROUND:
- addRoundJoin(p, x0, y0, x2, y2, isLeft);
- break;
+ switch (join) {
+ case JOIN_BEVEL:
+ p.lineTo(x2, y2);
+ break;
+ case JOIN_MITER:
+ double s1 = x1 * x10 + y1 * y10;
+ double s2 = x2 * x20 + y2 * y20;
+ double x3 = (s1 * y20 - s2 * y10) / sin0;
+ double y3 = (s2 * x10 - s1 * x20) / sin0;
+ double x30 = x3 - x0;
+ double y30 = y3 - y0;
+ double miterLength = Math.sqrt(x30 * x30 + y30 * y30);
+ if (miterLength < miterLimit * w2) {
+ p.lineTo(x3, y3);
+ }
+ p.lineTo(x2, y2);
+ break;
+ case JOIN_ROUND:
+ addRoundJoin(p, x0, y0, x2, y2, isLeft);
+ break;
}
}
}
@@ -694,12 +771,19 @@ public class BasicStroke implements Stroke {
/**
* Adds round join to the work path.
*
- * @param p - the BufferedPath object of work path
- * @param x0 - the x coordinate of the source path
- * @param y0 - the y coordinate on the source path
- * @param x2 - the x coordinate of the next point on the work path
- * @param y2 - the y coordinate of the next point on the work path
- * @param isLeft - the orientation of work path, true if work path lies to the left from source path, false otherwise
+ * @param p
+ * the BufferedPath object of work path.
+ * @param x0
+ * the x coordinate of the source path.
+ * @param y0
+ * the y coordinate on the source path.
+ * @param x2
+ * the x coordinate of the next point on the work path.
+ * @param y2
+ * the y coordinate of the next point on the work path.
+ * @param isLeft
+ * the orientation of work path, true if work path lies to the
+ * left from source path, false otherwise.
*/
void addRoundJoin(BufferedPath p, double x0, double y0, double x2, double y2, boolean isLeft) {
double x1 = p.xLast;
@@ -763,11 +847,16 @@ public class BasicStroke implements Stroke {
/**
* Adds solid line segment to the work path.
*
- * @param x1 - the x coordinate of the start line point
- * @param y1 - the y coordinate of the start line point
- * @param x2 - the x coordinate of the end line point
- * @param y2 - the y coordinate of the end line point
- * @param zero - if true it's allowable to add zero length line segment
+ * @param x1
+ * the x coordinate of the start line point.
+ * @param y1
+ * the y coordinate of the start line point.
+ * @param x2
+ * the x coordinate of the end line point.
+ * @param y2
+ * the y coordinate of the end line point.
+ * @param zero
+ * if true it's allowable to add zero length line segment.
*/
void addLine(double x1, double y1, double x2, double y2, boolean zero) {
double dx = x2 - x1;
@@ -808,12 +897,18 @@ public class BasicStroke implements Stroke {
/**
* Adds solid quad segment to the work path.
*
- * @param x1 - the x coordinate of the first control point
- * @param y1 - the y coordinate of the first control point
- * @param x2 - the x coordinate of the second control point
- * @param y2 - the y coordinate of the second control point
- * @param x3 - the x coordinate of the third control point
- * @param y3 - the y coordinate of the third control point
+ * @param x1
+ * the x coordinate of the first control point.
+ * @param y1
+ * the y coordinate of the first control point.
+ * @param x2
+ * the x coordinate of the second control point.
+ * @param y2
+ * the y coordinate of the second control point.
+ * @param x3
+ * the x coordinate of the third control point.
+ * @param y3
+ * the y coordinate of the third control point.
*/
void addQuad(double x1, double y1, double x2, double y2, double x3, double y3) {
double x21 = x2 - x1;
@@ -841,11 +936,11 @@ public class BasicStroke implements Stroke {
double w;
w = w2 / l21;
- double mx1 = - y21 * w;
- double my1 = x21 * w;
+ double mx1 = -y21 * w;
+ double my1 = x21 * w;
w = w2 / l23;
- double mx3 = y23 * w;
- double my3 = - x23 * w;
+ double mx3 = y23 * w;
+ double my3 = -x23 * w;
double lx1 = x1 + mx1;
double ly1 = y1 + my1;
@@ -903,15 +998,23 @@ public class BasicStroke implements Stroke {
}
/**
- * Subdivides solid quad curve to make outline for source quad segment and adds it to work path.
+ * Subdivides solid quad curve to make outline for source quad segment and
+ * adds it to work path.
*
- * @param x1 - the x coordinate of the first control point
- * @param y1 - the y coordinate of the first control point
- * @param x2 - the x coordinate of the second control point
- * @param y2 - the y coordinate of the second control point
- * @param x3 - the x coordinate of the third control point
- * @param y3 - the y coordinate of the third control point
- * @param level - the maximum level of subdivision deepness
+ * @param x1
+ * the x coordinate of the first control point.
+ * @param y1
+ * the y coordinate of the first control point.
+ * @param x2
+ * the x coordinate of the second control point.
+ * @param y2
+ * the y coordinate of the second control point.
+ * @param x3
+ * the x coordinate of the third control point.
+ * @param y3
+ * the y coordinate of the third control point.
+ * @param level
+ * the maximum level of subdivision deepness.
*/
void addSubQuad(double x1, double y1, double x2, double y2, double x3, double y3, int level) {
double x21 = x2 - x1;
@@ -939,8 +1042,8 @@ public class BasicStroke implements Stroke {
double mx2 = (x21 * l23 + x23 * l21) * w;
double my2 = (y21 * l23 + y23 * l21) * w;
w = w2 / l23;
- double mx3 = y23 * w;
- double my3 = - x23 * w;
+ double mx3 = y23 * w;
+ double my3 = -x23 * w;
lp.quadTo(x2 + mx2, y2 + my2, x3 + mx3, y3 + my3);
rp.quadTo(x2 - mx2, y2 - my2, x3 - mx3, y3 - my3);
}
@@ -949,16 +1052,25 @@ public class BasicStroke implements Stroke {
/**
* Adds solid cubic segment to the work path.
*
- * @param x1 - the x coordinate of the first control point
- * @param y1 - the y coordinate of the first control point
- * @param x2 - the x coordinate of the second control point
- * @param y2 - the y coordinate of the second control point
- * @param x3 - the x coordinate of the third control point
- * @param y3 - the y coordinate of the third control point
- * @param x4 - the x coordinate of the fours control point
- * @param y4 - the y coordinate of the fours control point
- */
- void addCubic(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4) {
+ * @param x1
+ * the x coordinate of the first control point.
+ * @param y1
+ * the y coordinate of the first control point.
+ * @param x2
+ * the x coordinate of the second control point.
+ * @param y2
+ * the y coordinate of the second control point.
+ * @param x3
+ * the x coordinate of the third control point.
+ * @param y3
+ * the y coordinate of the third control point.
+ * @param x4
+ * the x coordinate of the fours control point.
+ * @param y4
+ * the y coordinate of the fours control point.
+ */
+ void addCubic(double x1, double y1, double x2, double y2, double x3, double y3, double x4,
+ double y4) {
double x12 = x1 - x2;
double y12 = y1 - y2;
double x23 = x2 - x3;
@@ -997,35 +1109,32 @@ public class BasicStroke implements Stroke {
if (l12 == 0.0) {
w = w2 / l23;
- mx1 = y23 * w;
- my1 = - x23 * w;
+ mx1 = y23 * w;
+ my1 = -x23 * w;
w = w2 / l34;
- mx4 = y34 * w;
- my4 = - x34 * w;
- onLine = - x23 * y34 + y23 * x34 == 0.0; // sin3
- } else
- if (l34 == 0.0) {
+ mx4 = y34 * w;
+ my4 = -x34 * w;
+ onLine = -x23 * y34 + y23 * x34 == 0.0; // sin3
+ } else if (l34 == 0.0) {
w = w2 / l12;
- mx1 = y12 * w;
- my1 = - x12 * w;
+ mx1 = y12 * w;
+ my1 = -x12 * w;
w = w2 / l23;
- mx4 = y23 * w;
- my4 = - x23 * w;
- onLine = - x12 * y23 + y12 * x23 == 0.0; // sin2
+ mx4 = y23 * w;
+ my4 = -x23 * w;
+ onLine = -x12 * y23 + y12 * x23 == 0.0; // sin2
} else {
w = w2 / l12;
- mx1 = y12 * w;
- my1 = - x12 * w;
+ mx1 = y12 * w;
+ my1 = -x12 * w;
w = w2 / l34;
- mx4 = y34 * w;
- my4 = - x34 * w;
+ mx4 = y34 * w;
+ my4 = -x34 * w;
if (l23 == 0.0) {
- onLine = - x12 * y34 + y12 * x34 == 0.0;
+ onLine = -x12 * y34 + y12 * x34 == 0.0;
} else {
- onLine =
- - x12 * y34 + y12 * x34 == 0.0 &&
- - x12 * y23 + y12 * x23 == 0.0 && // sin2
- - x23 * y34 + y23 * x34 == 0.0; // sin3
+ onLine = -x12 * y34 + y12 * x34 == 0.0 && -x12 * y23 + y12 * x23 == 0.0 && // sin2
+ -x23 * y34 + y23 * x34 == 0.0; // sin3
}
}
@@ -1063,8 +1172,7 @@ public class BasicStroke implements Stroke {
if (0.0 < t && t < 1.0) {
roots[rc++] = t;
}
- } else
- if (d > 0.0) {
+ } else if (d > 0.0) {
d = Math.sqrt(d);
double z = l12 + l34 - l23 - l23;
double t;
@@ -1087,15 +1195,15 @@ public class BasicStroke implements Stroke {
}
roots[rc++] = 1.0;
- double ax = - x34 - x12 + x23 + x23;
- double ay = - y34 - y12 + y23 + y23;
- double bx = 3.0 * (- x23 + x12);
- double by = 3.0 * (- y23 + y12);
- double cx = 3.0 * (- x12);
- double cy = 3.0 * (- y12);
+ double ax = -x34 - x12 + x23 + x23;
+ double ay = -y34 - y12 + y23 + y23;
+ double bx = 3.0 * (-x23 + x12);
+ double by = 3.0 * (-y23 + y12);
+ double cx = 3.0 * (-x12);
+ double cy = 3.0 * (-y12);
double xPrev = x1;
double yPrev = y1;
- for(int i = 0; i < rc; i++) {
+ for (int i = 0; i < rc; i++) {
double t = roots[i];
double px = t * (t * (t * ax + bx) + cx) + x1;
double py = t * (t * (t * ay + by) + cy) + y1;
@@ -1109,8 +1217,8 @@ public class BasicStroke implements Stroke {
}
xPrev = px;
yPrev = py;
- mx1 = - mx1;
- my1 = - my1;
+ mx1 = -mx1;
+ my1 = -my1;
}
} else {
lp.cubicTo(x2 + mx1, y2 + my1, x3 + mx4, y3 + my4, x4 + mx4, y4 + my4);
@@ -1122,19 +1230,30 @@ public class BasicStroke implements Stroke {
}
/**
- * Subdivides solid cubic curve to make outline for source quad segment and adds it to work path.
+ * Subdivides solid cubic curve to make outline for source quad segment and
+ * adds it to work path.
*
- * @param x1 - the x coordinate of the first control point
- * @param y1 - the y coordinate of the first control point
- * @param x2 - the x coordinate of the second control point
- * @param y2 - the y coordinate of the second control point
- * @param x3 - the x coordinate of the third control point
- * @param y3 - the y coordinate of the third control point
- * @param x4 - the x coordinate of the fours control point
- * @param y4 - the y coordinate of the fours control point
- * @param level - the maximum level of subdivision deepness
- */
- void addSubCubic(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4, int level) {
+ * @param x1
+ * the x coordinate of the first control point.
+ * @param y1
+ * the y coordinate of the first control point.
+ * @param x2
+ * the x coordinate of the second control point.
+ * @param y2
+ * the y coordinate of the second control point.
+ * @param x3
+ * the x coordinate of the third control point.
+ * @param y3
+ * the y coordinate of the third control point.
+ * @param x4
+ * the x coordinate of the fours control point.
+ * @param y4
+ * the y coordinate of the fours control point.
+ * @param level
+ * the maximum level of subdivision deepness.
+ */
+ void addSubCubic(double x1, double y1, double x2, double y2, double x3, double y3, double x4,
+ double y4, int level) {
double x12 = x1 - x2;
double y12 = y1 - y2;
double x23 = x2 - x3;
@@ -1142,19 +1261,18 @@ public class BasicStroke implements Stroke {
double x34 = x3 - x4;
double y34 = y3 - y4;
- double cos2 = - x12 * x23 - y12 * y23;
- double cos3 = - x23 * x34 - y23 * y34;
- double sin2 = - x12 * y23 + y12 * x23;
- double sin3 = - x23 * y34 + y23 * x34;
- double sin0 = - x12 * y34 + y12 * x34;
- double cos0 = - x12 * x34 - y12 * y34;
-
- if (level < MAX_LEVEL && (sin2 != 0.0 || sin3 != 0.0 || sin0 != 0.0) &&
- (cos2 >= 0.0 || cos3 >= 0.0 || cos0 >= 0.0 ||
- (Math.abs(sin2 / cos2) > curveDelta) ||
- (Math.abs(sin3 / cos3) > curveDelta) ||
- (Math.abs(sin0 / cos0) > curveDelta)))
- {
+ double cos2 = -x12 * x23 - y12 * y23;
+ double cos3 = -x23 * x34 - y23 * y34;
+ double sin2 = -x12 * y23 + y12 * x23;
+ double sin3 = -x23 * y34 + y23 * x34;
+ double sin0 = -x12 * y34 + y12 * x34;
+ double cos0 = -x12 * x34 - y12 * y34;
+
+ if (level < MAX_LEVEL
+ && (sin2 != 0.0 || sin3 != 0.0 || sin0 != 0.0)
+ && (cos2 >= 0.0 || cos3 >= 0.0 || cos0 >= 0.0
+ || (Math.abs(sin2 / cos2) > curveDelta)
+ || (Math.abs(sin3 / cos3) > curveDelta) || (Math.abs(sin0 / cos0) > curveDelta))) {
double cx = (x2 + x3) / 2.0;
double cy = (y2 + y3) / 2.0;
double lx2 = (x2 + x1) / 2.0;
@@ -1177,27 +1295,26 @@ public class BasicStroke implements Stroke {
if (l12 == 0.0) {
w = w2 / l23;
- mx1 = y23 * w;
- my1 = - x23 * w;
+ mx1 = y23 * w;
+ my1 = -x23 * w;
w = w2 / l34;
- mx4 = y34 * w;
- my4 = - x34 * w;
- } else
- if (l34 == 0.0) {
+ mx4 = y34 * w;
+ my4 = -x34 * w;
+ } else if (l34 == 0.0) {
w = w2 / l12;
- mx1 = y12 * w;
- my1 = - x12 * w;
+ mx1 = y12 * w;
+ my1 = -x12 * w;
w = w2 / l23;
- mx4 = y23 * w;
- my4 = - x23 * w;
+ mx4 = y23 * w;
+ my4 = -x23 * w;
} else {
// Common case
w = w2 / l12;
- mx1 = y12 * w;
- my1 = - x12 * w;
+ mx1 = y12 * w;
+ my1 = -x12 * w;
w = w2 / l34;
- mx4 = y34 * w;
- my4 = - x34 * w;
+ mx4 = y34 * w;
+ my4 = -x34 * w;
}
if (sin2 == 0.0) {
@@ -1225,10 +1342,14 @@ public class BasicStroke implements Stroke {
/**
* Adds dashed line segment to the work path.
*
- * @param x1 - the x coordinate of the start line point
- * @param y1 - the y coordinate of the start line point
- * @param x2 - the x coordinate of the end line point
- * @param y2 - the y coordinate of the end line point
+ * @param x1
+ * the x coordinate of the start line point.
+ * @param y1
+ * the y coordinate of the start line point.
+ * @param x2
+ * the x coordinate of the end line point.
+ * @param y2
+ * the y coordinate of the end line point.
*/
void addDashLine(double x1, double y1, double x2, double y2) {
double x21 = x2 - x1;
@@ -1243,12 +1364,12 @@ public class BasicStroke implements Stroke {
double px1, py1;
px1 = py1 = 0.0;
double w = w2 / l21;
- double mx = - y21 * w;
- double my = x21 * w;
+ double mx = -y21 * w;
+ double my = x21 * w;
dasher.init(new DashIterator.Line(l21));
- while(!dasher.eof()) {
+ while (!dasher.eof()) {
double t = dasher.getValue();
scx = x1 + t * x21;
scy = y1 + t * y21;
@@ -1271,28 +1392,27 @@ public class BasicStroke implements Stroke {
addJoin(lp, x1, y1, lx1, ly1, true);
addJoin(rp, x1, y1, rx1, ry1, false);
}
- } else
- if (dasher.isContinue()) {
- double px2 = scx;
- double py2 = scy;
- lp.lineTo(px2 + mx, py2 + my);
- rp.lineTo(px2 - mx, py2 - my);
- if (dasher.close) {
- addCap(lp, px2, py2, rp.xLast, rp.yLast);
- lp.combine(rp);
- if (isFirst) {
- isFirst = false;
- fmx = smx;
- fmy = smy;
- sp = lp;
- lp = new BufferedPath();
- } else {
- addCap(lp, smx, smy, lp.xMove, lp.yMove);
- lp.closePath();
- }
- isMove = true;
+ } else if (dasher.isContinue()) {
+ double px2 = scx;
+ double py2 = scy;
+ lp.lineTo(px2 + mx, py2 + my);
+ rp.lineTo(px2 - mx, py2 - my);
+ if (dasher.close) {
+ addCap(lp, px2, py2, rp.xLast, rp.yLast);
+ lp.combine(rp);
+ if (isFirst) {
+ isFirst = false;
+ fmx = smx;
+ fmy = smy;
+ sp = lp;
+ lp = new BufferedPath();
+ } else {
+ addCap(lp, smx, smy, lp.xMove, lp.yMove);
+ lp.closePath();
}
+ isMove = true;
}
+ }
dasher.next();
}
@@ -1301,12 +1421,18 @@ public class BasicStroke implements Stroke {
/**
* Adds dashed quad segment to the work path.
*
- * @param x1 - the x coordinate of the first control point
- * @param y1 - the y coordinate of the first control point
- * @param x2 - the x coordinate of the second control point
- * @param y2 - the y coordinate of the second control point
- * @param x3 - the x coordinate of the third control point
- * @param y3 - the y coordinate of the third control point
+ * @param x1
+ * the x coordinate of the first control point.
+ * @param y1
+ * the y coordinate of the first control point.
+ * @param x2
+ * the x coordinate of the second control point.
+ * @param y2
+ * the y coordinate of the second control point.
+ * @param x3
+ * the x coordinate of the third control point.
+ * @param y3
+ * the y coordinate of the third control point.
*/
void addDashQuad(double x1, double y1, double x2, double y2, double x3, double y3) {
@@ -1345,7 +1471,7 @@ public class BasicStroke implements Stroke {
dasher.init(new DashIterator.Quad(x1, y1, x2, y2, x3, y3));
- while(!dasher.eof()) {
+ while (!dasher.eof()) {
double t = dasher.getValue();
double dx = t * ax + bx;
double dy = t * ay + by;
@@ -1357,8 +1483,8 @@ public class BasicStroke implements Stroke {
dx1 = dx;
dy1 = dy;
double w = w2 / Math.sqrt(dx1 * dx1 + dy1 * dy1);
- double mx1 = - dy1 * w;
- double my1 = dx1 * w;
+ double mx1 = -dy1 * w;
+ double my1 = dx1 * w;
double lx1 = px1 + mx1;
double ly1 = py1 + my1;
double rx1 = px1 - mx1;
@@ -1374,33 +1500,32 @@ public class BasicStroke implements Stroke {
addJoin(lp, x1, y1, lx1, ly1, true);
addJoin(rp, x1, y1, rx1, ry1, false);
}
- } else
- if (dasher.isContinue()) {
- double px3 = scx;
- double py3 = scy;
- double sx = x2 - x23 * prev;
- double sy = y2 - y23 * prev;
- double t2 = (t - prev) / (1 - prev);
- double px2 = px1 + (sx - px1) * t2;
- double py2 = py1 + (sy - py1) * t2;
-
- addQuad(px1, py1, px2, py2, px3, py3);
- if (dasher.isClosed()) {
- addCap(lp, px3, py3, rp.xLast, rp.yLast);
- lp.combine(rp);
- if (isFirst) {
- isFirst = false;
- fmx = smx;
- fmy = smy;
- sp = lp;
- lp = new BufferedPath();
- } else {
- addCap(lp, smx, smy, lp.xMove, lp.yMove);
- lp.closePath();
- }
- isMove = true;
+ } else if (dasher.isContinue()) {
+ double px3 = scx;
+ double py3 = scy;
+ double sx = x2 - x23 * prev;
+ double sy = y2 - y23 * prev;
+ double t2 = (t - prev) / (1 - prev);
+ double px2 = px1 + (sx - px1) * t2;
+ double py2 = py1 + (sy - py1) * t2;
+
+ addQuad(px1, py1, px2, py2, px3, py3);
+ if (dasher.isClosed()) {
+ addCap(lp, px3, py3, rp.xLast, rp.yLast);
+ lp.combine(rp);
+ if (isFirst) {
+ isFirst = false;
+ fmx = smx;
+ fmy = smy;
+ sp = lp;
+ lp = new BufferedPath();
+ } else {
+ addCap(lp, smx, smy, lp.xMove, lp.yMove);
+ lp.closePath();
}
+ isMove = true;
}
+ }
prev = t;
dasher.next();
@@ -1410,16 +1535,25 @@ public class BasicStroke implements Stroke {
/**
* Adds dashed cubic segment to the work path.
*
- * @param x1 - the x coordinate of the first control point
- * @param y1 - the y coordinate of the first control point
- * @param x2 - the x coordinate of the second control point
- * @param y2 - the y coordinate of the second control point
- * @param x3 - the x coordinate of the third control point
- * @param y3 - the y coordinate of the third control point
- * @param x4 - the x coordinate of the fours control point
- * @param y4 - the y coordinate of the fours control point
+ * @param x1
+ * the x coordinate of the first control point.
+ * @param y1
+ * the y coordinate of the first control point.
+ * @param x2
+ * the x coordinate of the second control point.
+ * @param y2
+ * the y coordinate of the second control point.
+ * @param x3
+ * the x coordinate of the third control point.
+ * @param y3
+ * the y coordinate of the third control point.
+ * @param x4
+ * the x coordinate of the fours control point.
+ * @param y4
+ * the y coordinate of the fours control point.
*/
- void addDashCubic(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4) {
+ void addDashCubic(double x1, double y1, double x2, double y2, double x3, double y3, double x4,
+ double y4) {
double x12 = x1 - x2;
double y12 = y1 - y2;
@@ -1469,7 +1603,7 @@ public class BasicStroke implements Stroke {
dasher.init(new DashIterator.Cubic(x1, y1, x2, y2, x3, y3, x4, y4));
- while(!dasher.eof()) {
+ while (!dasher.eof()) {
double t = dasher.getValue();
scx = t * (t * (t * ax + bx) + cx) + dx;
@@ -1480,8 +1614,8 @@ public class BasicStroke implements Stroke {
double dx1 = t * (t * (ax + ax + ax) + bx + bx) + cx;
double dy1 = t * (t * (ay + ay + ay) + by + by) + cy;
double w = w2 / Math.sqrt(dx1 * dx1 + dy1 * dy1);
- double mx1 = - dy1 * w;
- double my1 = dx1 * w;
+ double mx1 = -dy1 * w;
+ double my1 = dx1 * w;
double lx1 = px1 + mx1;
double ly1 = py1 + my1;
double rx1 = px1 - mx1;
@@ -1497,42 +1631,41 @@ public class BasicStroke implements Stroke {
addJoin(lp, x1, y1, lx1, ly1, true);
addJoin(rp, x1, y1, rx1, ry1, false);
}
- } else
- if (dasher.isContinue()) {
- double sx1 = x2 - x23 * prev;
- double sy1 = y2 - y23 * prev;
- double sx2 = x3 - x34 * prev;
- double sy2 = y3 - y34 * prev;
- double sx3 = sx1 + (sx2 - sx1) * prev;
- double sy3 = sy1 + (sy2 - sy1) * prev;
- double t2 = (t - prev) / (1 - prev);
- double sx4 = sx3 + (sx2 - sx3) * t2;
- double sy4 = sy3 + (sy2 - sy3) * t2;
-
- double px4 = scx;
- double py4 = scy;
- double px2 = px1 + (sx3 - px1) * t2;
- double py2 = py1 + (sy3 - py1) * t2;
- double px3 = px2 + (sx4 - px2) * t2;
- double py3 = py2 + (sy4 - py2) * t2;
-
- addCubic(px1, py1, px2, py2, px3, py3, px4, py4);
- if (dasher.isClosed()) {
- addCap(lp, px4, py4, rp.xLast, rp.yLast);
- lp.combine(rp);
- if (isFirst) {
- isFirst = false;
- fmx = smx;
- fmy = smy;
- sp = lp;
- lp = new BufferedPath();
- } else {
- addCap(lp, smx, smy, lp.xMove, lp.yMove);
- lp.closePath();
- }
- isMove = true;
+ } else if (dasher.isContinue()) {
+ double sx1 = x2 - x23 * prev;
+ double sy1 = y2 - y23 * prev;
+ double sx2 = x3 - x34 * prev;
+ double sy2 = y3 - y34 * prev;
+ double sx3 = sx1 + (sx2 - sx1) * prev;
+ double sy3 = sy1 + (sy2 - sy1) * prev;
+ double t2 = (t - prev) / (1 - prev);
+ double sx4 = sx3 + (sx2 - sx3) * t2;
+ double sy4 = sy3 + (sy2 - sy3) * t2;
+
+ double px4 = scx;
+ double py4 = scy;
+ double px2 = px1 + (sx3 - px1) * t2;
+ double py2 = py1 + (sy3 - py1) * t2;
+ double px3 = px2 + (sx4 - px2) * t2;
+ double py3 = py2 + (sy4 - py2) * t2;
+
+ addCubic(px1, py1, px2, py2, px3, py3, px4, py4);
+ if (dasher.isClosed()) {
+ addCap(lp, px4, py4, rp.xLast, rp.yLast);
+ lp.combine(rp);
+ if (isFirst) {
+ isFirst = false;
+ fmx = smx;
+ fmy = smy;
+ sp = lp;
+ lp = new BufferedPath();
+ } else {
+ addCap(lp, smx, smy, lp.xMove, lp.yMove);
+ lp.closePath();
}
+ isMove = true;
}
+ }
prev = t;
dasher.next();
@@ -1543,30 +1676,44 @@ public class BasicStroke implements Stroke {
* Dasher class provides dashing for particular dash style.
*/
class Dasher {
-
- /** The pos. */
+
+ /**
+ * The pos.
+ */
double pos;
-
- /** The first. */
+
+ /**
+ * The first.
+ */
boolean close, visible, first;
-
- /** The dash. */
+
+ /**
+ * The dash.
+ */
float dash[];
-
- /** The phase. */
+
+ /**
+ * The phase.
+ */
float phase;
-
- /** The index. */
+
+ /**
+ * The index.
+ */
int index;
-
- /** The iter. */
+
+ /**
+ * The iter.
+ */
DashIterator iter;
-
+
/**
* Instantiates a new dasher.
*
- * @param dash the dash
- * @param phase the phase
+ * @param dash
+ * the dash.
+ * @param phase
+ * the phase.
*/
Dasher(float dash[], float phase) {
this.dash = dash;
@@ -1578,52 +1725,53 @@ public class BasicStroke implements Stroke {
visible = !visible;
pos -= dash[index];
index = (index + 1) % dash.length;
- }
+ }
pos = -pos;
first = visible;
}
-
+
/**
* Inits the.
*
- * @param iter the iter
+ * @param iter
+ * the iter.
*/
void init(DashIterator iter) {
this.iter = iter;
close = true;
}
-
+
/**
* Checks if is open.
*
- * @return true, if is open
+ * @return true, if is open.
*/
boolean isOpen() {
return visible && pos < iter.length;
}
-
+
/**
* Checks if is continue.
*
- * @return true, if is continue
+ * @return true, if is continue.
*/
boolean isContinue() {
return !visible && pos > 0;
}
-
+
/**
* Checks if is closed.
*
- * @return true, if is closed
+ * @return true, if is closed.
*/
boolean isClosed() {
return close;
}
-
+
/**
* Checks if is connected.
*
- * @return true, if is connected
+ * @return true, if is connected.
*/
boolean isConnected() {
return first && !close;
@@ -1632,7 +1780,7 @@ public class BasicStroke implements Stroke {
/**
* Eof.
*
- * @return true, if successful
+ * @return true, if successful.
*/
boolean eof() {
if (!close) {
@@ -1648,7 +1796,7 @@ public class BasicStroke implements Stroke {
}
return false;
}
-
+
/**
* Next.
*/
@@ -1663,17 +1811,17 @@ public class BasicStroke implements Stroke {
}
visible = !visible;
}
-
+
/**
* Gets the value.
*
- * @return the value
+ * @return the value.
*/
double getValue() {
double t = iter.getNext(pos);
return t < 0 ? 0 : (t > 1 ? 1 : t);
}
-
+
}
/**
@@ -1681,7 +1829,9 @@ public class BasicStroke implements Stroke {
*/
static abstract class DashIterator {
- /** The Constant FLATNESS. */
+ /**
+ * The Constant FLATNESS.
+ */
static final double FLATNESS = 1.0;
/**
@@ -1692,7 +1842,8 @@ public class BasicStroke implements Stroke {
/**
* Instantiates a new line.
*
- * @param len the len
+ * @param len
+ * the len.
*/
Line(double len) {
length = len;
@@ -1710,36 +1861,56 @@ public class BasicStroke implements Stroke {
*/
static class Quad extends DashIterator {
- /** The val size. */
+ /**
+ * The val size.
+ */
int valSize;
-
- /** The val pos. */
+
+ /**
+ * The val pos.
+ */
int valPos;
-
- /** The cur len. */
+
+ /**
+ * The cur len.
+ */
double curLen;
-
- /** The prev len. */
+
+ /**
+ * The prev len.
+ */
double prevLen;
-
- /** The last len. */
+
+ /**
+ * The last len.
+ */
double lastLen;
-
- /** The values. */
+
+ /**
+ * The values.
+ */
double[] values;
-
- /** The step. */
+
+ /**
+ * The step.
+ */
double step;
/**
* Instantiates a new quad.
*
- * @param x1 the x1
- * @param y1 the y1
- * @param x2 the x2
- * @param y2 the y2
- * @param x3 the x3
- * @param y3 the y3
+ * @param x1
+ * the x1.
+ * @param y1
+ * the y1.
+ * @param x2
+ * the x2.
+ * @param y2
+ * the y2.
+ * @param x3
+ * the x3.
+ * @param y3
+ * the y3.
*/
Quad(double x1, double y1, double x2, double y2, double x3, double y3) {
@@ -1766,7 +1937,7 @@ public class BasicStroke implements Stroke {
double pvx = vx;
double pvy = vy;
length = 0.0;
- for(int i = 0; i < n; i++) {
+ for (int i = 0; i < n; i++) {
vx += dx1;
vy += dy1;
dx1 += dx2;
@@ -1804,40 +1975,63 @@ public class BasicStroke implements Stroke {
*/
static class Cubic extends DashIterator {
- /** The val size. */
+ /**
+ * The val size.
+ */
int valSize;
-
- /** The val pos. */
+
+ /**
+ * The val pos.
+ */
int valPos;
-
- /** The cur len. */
+
+ /**
+ * The cur len.
+ */
double curLen;
-
- /** The prev len. */
+
+ /**
+ * The prev len.
+ */
double prevLen;
-
- /** The last len. */
+
+ /**
+ * The last len.
+ */
double lastLen;
-
- /** The values. */
+
+ /**
+ * The values.
+ */
double[] values;
-
- /** The step. */
+
+ /**
+ * The step.
+ */
double step;
/**
* Instantiates a new cubic.
*
- * @param x1 the x1
- * @param y1 the y1
- * @param x2 the x2
- * @param y2 the y2
- * @param x3 the x3
- * @param y3 the y3
- * @param x4 the x4
- * @param y4 the y4
+ * @param x1
+ * the x1.
+ * @param y1
+ * the y1.
+ * @param x2
+ * the x2.
+ * @param y2
+ * the y2.
+ * @param x3
+ * the x3.
+ * @param y3
+ * the y3.
+ * @param x4
+ * the x4.
+ * @param y4
+ * the y4.
*/
- Cubic(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4) {
+ Cubic(double x1, double y1, double x2, double y2, double x3, double y3, double x4,
+ double y4) {
double nx1 = x1 + x3 - x2 - x2;
double ny1 = y1 + y3 - y2 - y2;
@@ -1869,7 +2063,7 @@ public class BasicStroke implements Stroke {
double pvx = vx;
double pvy = vy;
length = 0.0;
- for(int i = 0; i < n; i++) {
+ for (int i = 0; i < n; i++) {
vx += dx1;
vy += dy1;
dx1 += dx2;
@@ -1904,15 +2098,17 @@ public class BasicStroke implements Stroke {
}
- /** The length. */
+ /**
+ * The length.
+ */
double length;
/**
* Gets the next.
*
- * @param dashPos the dash pos
- *
- * @return the next
+ * @param dashPos
+ * the dash pos.
+ * @return the next.
*/
abstract double getNext(double dashPos);
@@ -1923,39 +2119,60 @@ public class BasicStroke implements Stroke {
*/
static class BufferedPath {
- /** The Constant bufCapacity. */
+ /**
+ * The Constant bufCapacity.
+ */
private static final int bufCapacity = 10;
- /** The point shift. */
+ /**
+ * The point shift.
+ */
static int pointShift[] = {
- 2, // MOVETO
- 2, // LINETO
- 4, // QUADTO
- 6, // CUBICTO
- 0}; // CLOSE
+ 2, // MOVETO
+ 2, // LINETO
+ 4, // QUADTO
+ 6, // CUBICTO
+ 0
+ }; // CLOSE
- /** The types. */
+ /**
+ * The types.
+ */
byte[] types;
-
- /** The points. */
+
+ /**
+ * The points.
+ */
float[] points;
-
- /** The type size. */
+
+ /**
+ * The type size.
+ */
int typeSize;
-
- /** The point size. */
+
+ /**
+ * The point size.
+ */
int pointSize;
- /** The x last. */
+ /**
+ * The x last.
+ */
float xLast;
-
- /** The y last. */
+
+ /**
+ * The y last.
+ */
float yLast;
-
- /** The x move. */
+
+ /**
+ * The x move.
+ */
float xMove;
-
- /** The y move. */
+
+ /**
+ * The y move.
+ */
float yMove;
/**
@@ -1969,8 +2186,10 @@ public class BasicStroke implements Stroke {
/**
* Check buf.
*
- * @param typeCount the type count
- * @param pointCount the point count
+ * @param typeCount
+ * the type count.
+ * @param pointCount
+ * the point count.
*/
void checkBuf(int typeCount, int pointCount) {
if (typeSize + typeCount > types.length) {
@@ -1988,7 +2207,7 @@ public class BasicStroke implements Stroke {
/**
* Checks if is empty.
*
- * @return true, if is empty
+ * @return true, if is empty.
*/
boolean isEmpty() {
return typeSize == 0;
@@ -2005,8 +2224,10 @@ public class BasicStroke implements Stroke {
/**
* Move to.
*
- * @param x the x
- * @param y the y
+ * @param x
+ * the x.
+ * @param y
+ * the y.
*/
void moveTo(double x, double y) {
checkBuf(1, 2);
@@ -2018,8 +2239,10 @@ public class BasicStroke implements Stroke {
/**
* Line to.
*
- * @param x the x
- * @param y the y
+ * @param x
+ * the x.
+ * @param y
+ * the y.
*/
void lineTo(double x, double y) {
checkBuf(1, 2);
@@ -2031,10 +2254,14 @@ public class BasicStroke implements Stroke {
/**
* Quad to.
*
- * @param x1 the x1
- * @param y1 the y1
- * @param x2 the x2
- * @param y2 the y2
+ * @param x1
+ * the x1.
+ * @param y1
+ * the y1.
+ * @param x2
+ * the x2.
+ * @param y2
+ * the y2.
*/
void quadTo(double x1, double y1, double x2, double y2) {
checkBuf(1, 4);
@@ -2048,12 +2275,18 @@ public class BasicStroke implements Stroke {
/**
* Cubic to.
*
- * @param x1 the x1
- * @param y1 the y1
- * @param x2 the x2
- * @param y2 the y2
- * @param x3 the x3
- * @param y3 the y3
+ * @param x1
+ * the x1.
+ * @param y1
+ * the y1.
+ * @param x2
+ * the x2.
+ * @param y2
+ * the y2.
+ * @param x3
+ * the x3.
+ * @param y3
+ * the y3.
*/
void cubicTo(double x1, double y1, double x2, double y2, double x3, double y3) {
checkBuf(1, 6);
@@ -2077,8 +2310,10 @@ public class BasicStroke implements Stroke {
/**
* Sets the last.
*
- * @param x the x
- * @param y the y
+ * @param x
+ * the x.
+ * @param y
+ * the y.
*/
void setLast(double x, double y) {
points[pointSize - 2] = xLast = (float)x;
@@ -2088,7 +2323,8 @@ public class BasicStroke implements Stroke {
/**
* Append.
*
- * @param p the p
+ * @param p
+ * the p.
*/
void append(BufferedPath p) {
checkBuf(p.typeSize, p.pointSize);
@@ -2103,18 +2339,19 @@ public class BasicStroke implements Stroke {
/**
* Append reverse.
*
- * @param p the p
+ * @param p
+ * the p.
*/
void appendReverse(BufferedPath p) {
checkBuf(p.typeSize, p.pointSize);
// Skip last point, beacause it's the first point of the second path
- for(int i = p.pointSize - 2; i >= 0; i -= 2) {
+ for (int i = p.pointSize - 2; i >= 0; i -= 2) {
points[pointSize++] = p.points[i + 0];
points[pointSize++] = p.points[i + 1];
}
// Skip first type, beacuse it's always MOVETO
int closeIndex = 0;
- for(int i = p.typeSize - 1; i >= 0; i--) {
+ for (int i = p.typeSize - 1; i >= 0; i--) {
byte type = p.types[i];
if (type == PathIterator.SEG_MOVETO) {
types[closeIndex] = PathIterator.SEG_MOVETO;
@@ -2133,7 +2370,8 @@ public class BasicStroke implements Stroke {
/**
* Join.
*
- * @param p the p
+ * @param p
+ * the p.
*/
void join(BufferedPath p) {
// Skip MOVETO
@@ -2149,17 +2387,18 @@ public class BasicStroke implements Stroke {
/**
* Combine.
*
- * @param p the p
+ * @param p
+ * the p.
*/
void combine(BufferedPath p) {
checkBuf(p.typeSize - 1, p.pointSize - 2);
// Skip last point, beacause it's the first point of the second path
- for(int i = p.pointSize - 4; i >= 0; i -= 2) {
+ for (int i = p.pointSize - 4; i >= 0; i -= 2) {
points[pointSize++] = p.points[i + 0];
points[pointSize++] = p.points[i + 1];
}
// Skip first type, beacuse it's always MOVETO
- for(int i = p.typeSize - 1; i >= 1; i--) {
+ for (int i = p.typeSize - 1; i >= 1; i--) {
types[typeSize++] = p.types[i];
}
xLast = points[pointSize - 2];
@@ -2169,29 +2408,30 @@ public class BasicStroke implements Stroke {
/**
* Creates the general path.
*
- * @return the general path
+ * @return the general path.
*/
GeneralPath createGeneralPath() {
GeneralPath p = new GeneralPath();
int j = 0;
- for(int i = 0; i < typeSize; i++) {
+ for (int i = 0; i < typeSize; i++) {
int type = types[i];
- switch(type){
- case PathIterator.SEG_MOVETO:
- p.moveTo(points[j], points[j + 1]);
- break;
- case PathIterator.SEG_LINETO:
- p.lineTo(points[j], points[j + 1]);
- break;
- case PathIterator.SEG_QUADTO:
- p.quadTo(points[j], points[j + 1], points[j + 2], points[j + 3]);
- break;
- case PathIterator.SEG_CUBICTO:
- p.curveTo(points[j], points[j + 1], points[j + 2], points[j + 3], points[j + 4], points[j + 5]);
- break;
- case PathIterator.SEG_CLOSE:
- p.closePath();
- break;
+ switch (type) {
+ case PathIterator.SEG_MOVETO:
+ p.moveTo(points[j], points[j + 1]);
+ break;
+ case PathIterator.SEG_LINETO:
+ p.lineTo(points[j], points[j + 1]);
+ break;
+ case PathIterator.SEG_QUADTO:
+ p.quadTo(points[j], points[j + 1], points[j + 2], points[j + 3]);
+ break;
+ case PathIterator.SEG_CUBICTO:
+ p.curveTo(points[j], points[j + 1], points[j + 2], points[j + 3],
+ points[j + 4], points[j + 5]);
+ break;
+ case PathIterator.SEG_CLOSE:
+ p.closePath();
+ break;
}
j += pointShift[type];
}
@@ -2201,4 +2441,3 @@ public class BasicStroke implements Stroke {
}
}
-
diff --git a/awt/java/awt/BufferCapabilities.java b/awt/java/awt/BufferCapabilities.java
index 80e8add..cd5fe7b 100644
--- a/awt/java/awt/BufferCapabilities.java
+++ b/awt/java/awt/BufferCapabilities.java
@@ -18,35 +18,45 @@
* @author Alexey A. Petrenko
* @version $Revision$
*/
-package java.awt;
+package java.awt;
/**
- * The BufferCapabilities class represents the capabilities
- * and other properties of the image buffers.
+ * The BufferCapabilities class represents the capabilities and other properties
+ * of the image buffers.
+ *
+ * @since Android 1.0
*/
public class BufferCapabilities implements Cloneable {
-
- /** The front buffer capabilities. */
+
+ /**
+ * The front buffer capabilities.
+ */
private final ImageCapabilities frontBufferCapabilities;
-
- /** The back buffer capabilities. */
+
+ /**
+ * The back buffer capabilities.
+ */
private final ImageCapabilities backBufferCapabilities;
-
- /** The flip contents. */
+
+ /**
+ * The flip contents.
+ */
private final FlipContents flipContents;
/**
* Instantiates a new BufferCapabilities object.
*
- * @param frontBufferCapabilities the front buffer capabilities,
- * can not be null.
- * @param backBufferCapabilities the the back and intermediate
- * buffers capabilities, can not be null.
- * @param flipContents the back buffer contents after page flipping,
- * null if page flipping is not used.
+ * @param frontBufferCapabilities
+ * the front buffer capabilities, can not be null.
+ * @param backBufferCapabilities
+ * the the back and intermediate buffers capabilities, can not be
+ * null.
+ * @param flipContents
+ * the back buffer contents after page flipping, null if page
+ * flipping is not used.
*/
- public BufferCapabilities(ImageCapabilities frontBufferCapabilities,
+ public BufferCapabilities(ImageCapabilities frontBufferCapabilities,
ImageCapabilities backBufferCapabilities, FlipContents flipContents) {
if (frontBufferCapabilities == null || backBufferCapabilities == null) {
throw new IllegalArgumentException();
@@ -70,8 +80,8 @@ public class BufferCapabilities implements Cloneable {
/**
* Gets the image capabilities of the front buffer.
*
- * @return the ImageCapabilities object represented capabilities
- * of the front buffer.
+ * @return the ImageCapabilities object represented capabilities of the
+ * front buffer.
*/
public ImageCapabilities getFrontBufferCapabilities() {
return frontBufferCapabilities;
@@ -80,15 +90,15 @@ public class BufferCapabilities implements Cloneable {
/**
* Gets the image capabilities of the back buffer.
*
- * @return the ImageCapabilities object represented capabilities
- * of the back buffer.
+ * @return the ImageCapabilities object represented capabilities of the back
+ * buffer.
*/
public ImageCapabilities getBackBufferCapabilities() {
return backBufferCapabilities;
}
/**
- * Gets the flip contents of the back buffer after page-flipping.
+ * Gets the flip contents of the back buffer after page-flipping.
*
* @return the FlipContents of the back buffer after page-flipping.
*/
@@ -99,8 +109,7 @@ public class BufferCapabilities implements Cloneable {
/**
* Checks if the buffer strategy uses page flipping.
*
- * @return true, if the buffer strategy uses page flipping,
- * false otherwise.
+ * @return true, if the buffer strategy uses page flipping, false otherwise.
*/
public boolean isPageFlipping() {
return flipContents != null;
@@ -110,7 +119,7 @@ public class BufferCapabilities implements Cloneable {
* Checks if page flipping is only available in full-screen mode.
*
* @return true, if page flipping is only available in full-screen mode,
- * false otherwise.
+ * false otherwise.
*/
public boolean isFullScreenRequired() {
return false;
@@ -119,39 +128,40 @@ public class BufferCapabilities implements Cloneable {
/**
* Checks if page flipping can be performed using more than two buffers.
*
- * @return true, if page flipping can be performed using more than two buffers,
- * false otherwise.
+ * @return true, if page flipping can be performed using more than two
+ * buffers, false otherwise.
*/
public boolean isMultiBufferAvailable() {
return false;
}
/**
- * The FlipContents class represents a set of possible back buffer contents
+ * The FlipContents class represents a set of possible back buffer contents
* after page-flipping.
+ *
+ * @since Android 1.0
*/
public static final class FlipContents {
-
+
/**
- * The back buffered contents are cleared with the background color
+ * The back buffered contents are cleared with the background color
* after flipping.
*/
public static final FlipContents BACKGROUND = new FlipContents();
-
- /**
- * The back buffered contents are copied to the front buffer before
+
+ /**
+ * The back buffered contents are copied to the front buffer before
* flipping.
*/
public static final FlipContents COPIED = new FlipContents();
-
- /**
- * The back buffer contents are the prior contents of the
- * front buffer.
+
+ /**
+ * The back buffer contents are the prior contents of the front buffer.
*/
public static final FlipContents PRIOR = new FlipContents();
-
- /**
- * The back buffer contents are undefined after flipping
+
+ /**
+ * The back buffer contents are undefined after flipping
*/
public static final FlipContents UNDEFINED = new FlipContents();
diff --git a/awt/java/awt/Color.java b/awt/java/awt/Color.java
index e1e4178..93c532d 100644
--- a/awt/java/awt/Color.java
+++ b/awt/java/awt/Color.java
@@ -18,6 +18,7 @@
* @author Oleg V. Khaschansky
* @version $Revision$
*/
+
package java.awt;
import java.awt.color.ColorSpace;
@@ -33,155 +34,230 @@ import java.util.Arrays;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The Color class defines colors in the default sRGB color
- * space or in the specified ColorSpace. Every Color contains alpha value.
- * The alpha value defines the transparency of a color and can be represented
- * by a float value in the range 0.0 - 1.0 or 0 - 255.
- */
+ * The Color class defines colors in the default sRGB color space or in the
+ * specified ColorSpace. Every Color contains alpha value. The alpha value
+ * defines the transparency of a color and can be represented by a float value
+ * in the range 0.0 - 1.0 or 0 - 255.
+ *
+ * @since Android 1.0
+ */
public class Color implements Paint, Serializable {
-
- /** The Constant serialVersionUID. */
+
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = 118526816881161077L;
/*
- * The values of the following colors are based on 1.5 release behavior which
- * can be revealed using the following or similar code:
- * Color c = Color.white;
- * System.out.println(c);
+ * The values of the following colors are based on 1.5 release behavior
+ * which can be revealed using the following or similar code: Color c =
+ * Color.white; System.out.println(c);
*/
- /** The color white. */
+ /**
+ * The color white.
+ */
public static final Color white = new Color(255, 255, 255);
- /** The color white. */
+ /**
+ * The color white.
+ */
public static final Color WHITE = white;
- /** The color light gray. */
+ /**
+ * The color light gray.
+ */
public static final Color lightGray = new Color(192, 192, 192);
- /** The color light gray. */
+ /**
+ * The color light gray.
+ */
public static final Color LIGHT_GRAY = lightGray;
- /** The color gray. */
+ /**
+ * The color gray.
+ */
public static final Color gray = new Color(128, 128, 128);
- /** The color gray. */
+ /**
+ * The color gray.
+ */
public static final Color GRAY = gray;
- /** The color dark gray. */
+ /**
+ * The color dark gray.
+ */
public static final Color darkGray = new Color(64, 64, 64);
- /** The color dark gray. */
+ /**
+ * The color dark gray.
+ */
public static final Color DARK_GRAY = darkGray;
- /** The color black. */
+ /**
+ * The color black.
+ */
public static final Color black = new Color(0, 0, 0);
- /** The color black. */
+ /**
+ * The color black.
+ */
public static final Color BLACK = black;
- /** The color red. */
+ /**
+ * The color red.
+ */
public static final Color red = new Color(255, 0, 0);
- /** The color red. */
+ /**
+ * The color red.
+ */
public static final Color RED = red;
- /** The color pink. */
+ /**
+ * The color pink.
+ */
public static final Color pink = new Color(255, 175, 175);
- /** The color pink. */
+ /**
+ * The color pink.
+ */
public static final Color PINK = pink;
- /** The color orange. */
+ /**
+ * The color orange.
+ */
public static final Color orange = new Color(255, 200, 0);
- /** The color orange. */
+ /**
+ * The color orange.
+ */
public static final Color ORANGE = orange;
- /** The color yellow. */
+ /**
+ * The color yellow.
+ */
public static final Color yellow = new Color(255, 255, 0);
- /** The color yellow. */
+ /**
+ * The color yellow.
+ */
public static final Color YELLOW = yellow;
- /** The color green. */
+ /**
+ * The color green.
+ */
public static final Color green = new Color(0, 255, 0);
- /** The color green. */
+ /**
+ * The color green.
+ */
public static final Color GREEN = green;
- /** The color magenta. */
+ /**
+ * The color magenta.
+ */
public static final Color magenta = new Color(255, 0, 255);
- /** The color magenta. */
+ /**
+ * The color magenta.
+ */
public static final Color MAGENTA = magenta;
- /** The color cyan. */
+ /**
+ * The color cyan.
+ */
public static final Color cyan = new Color(0, 255, 255);
- /** The color cyan. */
+ /**
+ * The color cyan.
+ */
public static final Color CYAN = cyan;
- /** The color blue. */
+ /**
+ * The color blue.
+ */
public static final Color blue = new Color(0, 0, 255);
- /** The color blue. */
+ /**
+ * The color blue.
+ */
public static final Color BLUE = blue;
- /** integer RGB value. */
+ /**
+ * integer RGB value.
+ */
int value;
- /** Float sRGB value. */
+ /**
+ * Float sRGB value.
+ */
private float[] frgbvalue;
- /** Color in an arbitrary color space with <code>float</code> components. If null, other value should be used. */
+ /**
+ * Color in an arbitrary color space with <code>float</code> components. If
+ * null, other value should be used.
+ */
private float fvalue[];
- /** Float alpha value. If frgbvalue is null, this is not valid data. */
+ /**
+ * Float alpha value. If frgbvalue is null, this is not valid data.
+ */
private float falpha;
- /** The color's color space if applicable. */
+ /**
+ * The color's color space if applicable.
+ */
private ColorSpace cs;
/*
- * The value of the SCALE_FACTOR is based on 1.5 release behavior which
- * can be revealed using the following code:
- * Color c = new Color(100, 100, 100);
- * Color bc = c.brighter();
- * System.out.println("Brighter factor: " + ((float)c.getRed())/((float)bc.getRed()));
- * Color dc = c.darker();
- * System.out.println("Darker factor: " + ((float)dc.getRed())/((float)c.getRed()));
- * The result is the same for brighter and darker methods, so we need only
- * one scale factor for both.
- */
- /** The Constant SCALE_FACTOR. */
+ * The value of the SCALE_FACTOR is based on 1.5 release behavior which can
+ * be revealed using the following code: Color c = new Color(100, 100, 100);
+ * Color bc = c.brighter(); System.out.println("Brighter factor: " +
+ * ((float)c.getRed())/((float)bc.getRed())); Color dc = c.darker();
+ * System.out.println("Darker factor: " +
+ * ((float)dc.getRed())/((float)c.getRed())); The result is the same for
+ * brighter and darker methods, so we need only one scale factor for both.
+ */
+ /**
+ * The Constant SCALE_FACTOR.
+ */
private static final double SCALE_FACTOR = 0.7;
- /** The Constant MIN_SCALABLE. */
- private static final int MIN_SCALABLE = 3; // should increase when multiplied by SCALE_FACTOR
+ /**
+ * The Constant MIN_SCALABLE.
+ */
+ private static final int MIN_SCALABLE = 3; // should increase when
+
+ // multiplied by SCALE_FACTOR
- /** The current paint context. */
+ /**
+ * The current paint context.
+ */
transient private PaintContext currentPaintContext;
/**
- * Creates a color in the specified ColorSpace, the specified color
- * components and the specified alpha.
+ * Creates a color in the specified ColorSpace, the specified color
+ * components and the specified alpha.
*
- * @param cspace the ColorSpace to be used to define the components.
- * @param components the components.
- * @param alpha the alpha.
+ * @param cspace
+ * the ColorSpace to be used to define the components.
+ * @param components
+ * the components.
+ * @param alpha
+ * the alpha.
*/
public Color(ColorSpace cspace, float[] components, float alpha) {
int nComps = cspace.getNumComponents();
float comp;
fvalue = new float[nComps];
- for(int i=0 ; i<nComps; i++) {
+ for (int i = 0; i < nComps; i++) {
comp = components[i];
- if(comp < 0.0f || comp > 1.0f) {
- // awt.107=Color parameter outside of expected range: component {0}.
- throw new IllegalArgumentException(
- Messages.getString("awt.107", i)); //$NON-NLS-1$
+ if (comp < 0.0f || comp > 1.0f) {
+ // awt.107=Color parameter outside of expected range: component
+ // {0}.
+ throw new IllegalArgumentException(Messages.getString("awt.107", i)); //$NON-NLS-1$
}
fvalue[i] = components[i];
}
@@ -196,22 +272,22 @@ public class Color implements Paint, Serializable {
frgbvalue = cs.toRGB(fvalue);
- value = ((int)(frgbvalue[2]*255 + 0.5)) |
- (((int)(frgbvalue[1]*255 + 0.5)) << 8 ) |
- (((int)(frgbvalue[0]*255 + 0.5)) << 16 ) |
- (((int)(falpha*255 + 0.5)) << 24 );
+ value = ((int)(frgbvalue[2] * 255 + 0.5)) | (((int)(frgbvalue[1] * 255 + 0.5)) << 8)
+ | (((int)(frgbvalue[0] * 255 + 0.5)) << 16) | (((int)(falpha * 255 + 0.5)) << 24);
}
/**
- * Instantiates a new sRGB color with the specified combined
- * RGBA value consisting of the alpha component in bits 24-31,
- * the red component in bits 16-23, the green component in bits 8-15,
- * and the blue component in bits 0-7. If the hasalpha argument is
- * false, the alpha has default value - 255.
+ * Instantiates a new sRGB color with the specified combined RGBA value
+ * consisting of the alpha component in bits 24-31, the red component in
+ * bits 16-23, the green component in bits 8-15, and the blue component in
+ * bits 0-7. If the hasalpha argument is false, the alpha has default value
+ * - 255.
*
- * @param rgba the RGBA components.
- * @param hasAlpha alpha parameter is true if alpha bits are valid,
- * false otherwise.
+ * @param rgba
+ * the RGBA components.
+ * @param hasAlpha
+ * the alpha parameter is true if alpha bits are valid, false
+ * otherwise.
*/
public Color(int rgba, boolean hasAlpha) {
if (!hasAlpha) {
@@ -222,13 +298,17 @@ public class Color implements Paint, Serializable {
}
/**
- * Instantiates a new color with the specified red, green, blue and alpha
+ * Instantiates a new color with the specified red, green, blue and alpha
* components.
*
- * @param r the red component.
- * @param g the green component.
- * @param b the blue component.
- * @param a the alpha component.
+ * @param r
+ * the red component.
+ * @param g
+ * the green component.
+ * @param b
+ * the blue component.
+ * @param a
+ * the alpha component.
*/
public Color(int r, int g, int b, int a) {
if ((r & 0xFF) != r || (g & 0xFF) != g || (b & 0xFF) != b || (a & 0xFF) != a) {
@@ -239,12 +319,15 @@ public class Color implements Paint, Serializable {
}
/**
- * Instantiates a new opaque sRGB color with the specified red, green,
- * and blue values. The Alpha component is set to the default - 1.0.
+ * Instantiates a new opaque sRGB color with the specified red, green, and
+ * blue values. The Alpha component is set to the default - 1.0.
*
- * @param r the red component.
- * @param g the green component.
- * @param b the blue component.
+ * @param r
+ * the red component.
+ * @param g
+ * the green component.
+ * @param b
+ * the blue component.
*/
public Color(int r, int g, int b) {
if ((r & 0xFF) != r || (g & 0xFF) != g || (b & 0xFF) != b) {
@@ -256,31 +339,32 @@ public class Color implements Paint, Serializable {
}
/**
- * Instantiates a new sRGB color with the specified
- * RGB value consisting of the red component in bits 16-23,
- * the green component in bits 8-15, and the blue component
- * in bits 0-7. Alpha has default value - 255.
+ * Instantiates a new sRGB color with the specified RGB value consisting of
+ * the red component in bits 16-23, the green component in bits 8-15, and
+ * the blue component in bits 0-7. Alpha has default value - 255.
*
- * @param rgb the RGB components.
+ * @param rgb
+ * the RGB components.
*/
public Color(int rgb) {
value = rgb | 0xFF000000;
}
/**
- * Instantiates a new color with the specified red, green, blue and alpha
+ * Instantiates a new color with the specified red, green, blue and alpha
* components.
*
- * @param r the red component.
- * @param g the green component.
- * @param b the blue component.
- * @param a the alpha component.
+ * @param r
+ * the red component.
+ * @param g
+ * the green component.
+ * @param b
+ * the blue component.
+ * @param a
+ * the alpha component.
*/
public Color(float r, float g, float b, float a) {
- this((int)(r*255+0.5),
- (int)(g*255+0.5),
- (int)(b*255+0.5),
- (int)(a*255+0.5));
+ this((int)(r * 255 + 0.5), (int)(g * 255 + 0.5), (int)(b * 255 + 0.5), (int)(a * 255 + 0.5));
falpha = a;
fvalue = new float[3];
fvalue[0] = r;
@@ -290,25 +374,23 @@ public class Color implements Paint, Serializable {
}
/**
- * Instantiates a new color with the specified red, green, and blue
- * components and default alfa value - 1.0.
+ * Instantiates a new color with the specified red, green, and blue
+ * components and default alpha value - 1.0.
*
- * @param r the red component.
- * @param g the green component.
- * @param b the blue component.
+ * @param r
+ * the red component.
+ * @param g
+ * the green component.
+ * @param b
+ * the blue component.
*/
public Color(float r, float g, float b) {
this(r, g, b, 1.0f);
}
- public PaintContext createContext(
- ColorModel cm,
- Rectangle r,
- Rectangle2D r2d,
- AffineTransform xform,
- RenderingHints rhs
- ) {
- if(currentPaintContext != null) {
+ public PaintContext createContext(ColorModel cm, Rectangle r, Rectangle2D r2d,
+ AffineTransform xform, RenderingHints rhs) {
+ if (currentPaintContext != null) {
return currentPaintContext;
}
currentPaintContext = new Color.ColorPaintContext(value);
@@ -323,15 +405,12 @@ public class Color implements Paint, Serializable {
@Override
public String toString() {
/*
- The format of the string is based on 1.5 release behavior which
- can be revealed using the following code:
-
- Color c = new Color(1, 2, 3);
- System.out.println(c);
- */
-
- return getClass().getName() +
- "[r=" + getRed() + //$NON-NLS-1$
+ * The format of the string is based on 1.5 release behavior which can
+ * be revealed using the following code: Color c = new Color(1, 2, 3);
+ * System.out.println(c);
+ */
+
+ return getClass().getName() + "[r=" + getRed() + //$NON-NLS-1$
",g=" + getGreen() + //$NON-NLS-1$
",b=" + getBlue() + //$NON-NLS-1$
"]"; //$NON-NLS-1$
@@ -340,65 +419,67 @@ public class Color implements Paint, Serializable {
/**
* Compares the specified Object to the Color.
*
- * @param obj the Object to be compared.
- *
- * @return true, if the specified Object is a Color whose
- * value is equal to this Color, false otherwise.
+ * @param obj
+ * the Object to be compared.
+ * @return true, if the specified Object is a Color whose value is equal to
+ * this Color, false otherwise.
*/
@Override
public boolean equals(Object obj) {
- if(obj instanceof Color) {
+ if (obj instanceof Color) {
return ((Color)obj).value == this.value;
}
return false;
}
/**
- * Returns a float array containing the color and alpha components of
- * the Color in the specified ColorSpace.
- *
- * @param colorSpace the specified ColorSpace.
- * @param components the results of this method will be written to
- * this float array. If null, a float array will be created.
+ * Returns a float array containing the color and alpha components of the
+ * Color in the specified ColorSpace.
*
+ * @param colorSpace
+ * the specified ColorSpace.
+ * @param components
+ * the results of this method will be written to this float
+ * array. If null, a float array will be created.
* @return the color and alpha components in a float array.
*/
public float[] getComponents(ColorSpace colorSpace, float[] components) {
int nComps = colorSpace.getNumComponents();
- if(components == null) {
- components = new float[nComps+1];
+ if (components == null) {
+ components = new float[nComps + 1];
}
getColorComponents(colorSpace, components);
- if(frgbvalue != null) {
+ if (frgbvalue != null) {
components[nComps] = falpha;
} else {
- components[nComps] = getAlpha()/255f;
+ components[nComps] = getAlpha() / 255f;
}
return components;
}
/**
- * Returns a float array containing the color components of
- * the Color in the specified ColorSpace.
- *
- * @param colorSpace the specified ColorSpace.
- * @param components the results of this method will be written to
- * this float array. If null, a float array will be created.
+ * Returns a float array containing the color components of the Color in the
+ * specified ColorSpace.
*
+ * @param colorSpace
+ * the specified ColorSpace.
+ * @param components
+ * the results of this method will be written to this float
+ * array. If null, a float array will be created.
* @return the color components in a float array.
*/
public float[] getColorComponents(ColorSpace colorSpace, float[] components) {
float[] cieXYZComponents = getColorSpace().toCIEXYZ(getColorComponents(null));
float[] csComponents = colorSpace.fromCIEXYZ(cieXYZComponents);
- if(components == null) {
+ if (components == null) {
return csComponents;
}
- for(int i=0; i<csComponents.length; i++) {
+ for (int i = 0; i < csComponents.length; i++) {
components[i] = csComponents[i];
}
@@ -419,16 +500,14 @@ public class Color implements Paint, Serializable {
}
/**
- * Creates a new Color which is a darker than this Color
- * according to a fixed scale factor.
+ * Creates a new Color which is a darker than this Color according to a
+ * fixed scale factor.
*
* @return the darker Color.
*/
public Color darker() {
- return new Color(
- (int)(getRed()*SCALE_FACTOR),
- (int)(getGreen()*SCALE_FACTOR),
- (int)(getBlue()*SCALE_FACTOR));
+ return new Color((int)(getRed() * SCALE_FACTOR), (int)(getGreen() * SCALE_FACTOR),
+ (int)(getBlue() * SCALE_FACTOR));
}
/**
@@ -442,28 +521,28 @@ public class Color implements Paint, Serializable {
int b = getBlue();
int g = getGreen();
- if(r == 0 && b == 0 && g == 0) {
+ if (r == 0 && b == 0 && g == 0) {
return new Color(MIN_SCALABLE, MIN_SCALABLE, MIN_SCALABLE);
}
- if(r < MIN_SCALABLE && r != 0) {
+ if (r < MIN_SCALABLE && r != 0) {
r = MIN_SCALABLE;
} else {
- r = (int) (r/SCALE_FACTOR);
+ r = (int)(r / SCALE_FACTOR);
r = (r > 255) ? 255 : r;
}
- if(b < MIN_SCALABLE && b != 0) {
+ if (b < MIN_SCALABLE && b != 0) {
b = MIN_SCALABLE;
} else {
- b = (int) (b/SCALE_FACTOR);
+ b = (int)(b / SCALE_FACTOR);
b = (b > 255) ? 255 : b;
}
- if(g < MIN_SCALABLE && g != 0) {
+ if (g < MIN_SCALABLE && g != 0) {
g = MIN_SCALABLE;
} else {
- g = (int) (g/SCALE_FACTOR);
+ g = (int)(g / SCALE_FACTOR);
g = (g > 255) ? 255 : g;
}
@@ -471,24 +550,24 @@ public class Color implements Paint, Serializable {
}
/**
- * Returns a float array containing the color and alpha components of
- * the Color in the default sRGB color space.
- *
- * @param components the results of this method will be written to
- * this float array. A new float array will be created if this
- * argument is null.
+ * Returns a float array containing the color and alpha components of the
+ * Color in the default sRGB color space.
*
+ * @param components
+ * the results of this method will be written to this float
+ * array. A new float array will be created if this argument is
+ * null.
* @return the RGB color and alpha components in a float array.
*/
public float[] getRGBComponents(float[] components) {
- if(components == null) {
+ if (components == null) {
components = new float[4];
}
- if(frgbvalue != null) {
+ if (frgbvalue != null) {
components[3] = falpha;
} else {
- components[3] = getAlpha()/255f;
+ components[3] = getAlpha() / 255f;
}
getRGBColorComponents(components);
@@ -497,52 +576,52 @@ public class Color implements Paint, Serializable {
}
/**
- * Returns a float array containing the color components of
- * the Color in the default sRGB color space.
- *
- * @param components the results of this method will be written to
- * this float array. A new float array will be created if this
- * argument is null.
+ * Returns a float array containing the color components of the Color in the
+ * default sRGB color space.
*
+ * @param components
+ * the results of this method will be written to this float
+ * array. A new float array will be created if this argument is
+ * null.
* @return the RGB color components in a float array.
*/
public float[] getRGBColorComponents(float[] components) {
- if(components == null) {
+ if (components == null) {
components = new float[3];
}
- if(frgbvalue != null) {
+ if (frgbvalue != null) {
components[2] = frgbvalue[2];
components[1] = frgbvalue[1];
components[0] = frgbvalue[0];
} else {
- components[2] = getBlue()/255f;
- components[1] = getGreen()/255f;
- components[0] = getRed()/255f;
+ components[2] = getBlue() / 255f;
+ components[1] = getGreen() / 255f;
+ components[0] = getRed() / 255f;
}
return components;
}
/**
- * Returns a float array which contains the color and alpha components of
+ * Returns a float array which contains the color and alpha components of
* the Color in the ColorSpace of the Color.
*
- * @param components the results of this method will be written to
- * this float array. A new float array will be created if this
- * argument is null.
- *
+ * @param components
+ * the results of this method will be written to this float
+ * array. A new float array will be created if this argument is
+ * null.
* @return the color and alpha components in a float array.
*/
public float[] getComponents(float[] components) {
- if(fvalue == null) {
+ if (fvalue == null) {
return getRGBComponents(components);
}
int nColorComps = fvalue.length;
- if(components == null) {
- components = new float[nColorComps+1];
+ if (components == null) {
+ components = new float[nColorComps + 1];
}
getColorComponents(components);
@@ -553,25 +632,25 @@ public class Color implements Paint, Serializable {
}
/**
- * Returns a float array which contains the color components of
- * the Color in the ColorSpace of the Color.
- *
- * @param components the results of this method will be written to
- * this float array. A new float array will be created if this
- * argument is null.
+ * Returns a float array which contains the color components of the Color in
+ * the ColorSpace of the Color.
*
+ * @param components
+ * the results of this method will be written to this float
+ * array. A new float array will be created if this argument is
+ * null.
* @return the color components in a float array.
*/
public float[] getColorComponents(float[] components) {
- if(fvalue == null) {
+ if (fvalue == null) {
return getRGBColorComponents(components);
}
- if(components == null) {
+ if (components == null) {
components = new float[fvalue.length];
}
- for(int i=0; i<fvalue.length; i++) {
+ for (int i = 0; i < fvalue.length; i++) {
components[i] = fvalue[i];
}
@@ -589,7 +668,7 @@ public class Color implements Paint, Serializable {
}
public int getTransparency() {
- switch(getAlpha()) {
+ switch (getAlpha()) {
case 0xff:
return Transparency.OPAQUE;
case 0:
@@ -609,7 +688,8 @@ public class Color implements Paint, Serializable {
}
/**
- * Gets the RGB value that represents the color in the default sRGB ColorModel.
+ * Gets the RGB value that represents the color in the default sRGB
+ * ColorModel.
*
* @return the RGB color value in the default sRGB ColorModel.
*/
@@ -645,14 +725,15 @@ public class Color implements Paint, Serializable {
}
/**
- * Gets the Color from the specified string, or returns the Color
- * specified by the second parameter.
- *
- * @param nm the specified string.
- * @param def the default Color.
+ * Gets the Color from the specified string, or returns the Color specified
+ * by the second parameter.
*
- * @return the color from the specified string, or the Color
- * specified by the second parameter.
+ * @param nm
+ * the specified string.
+ * @param def
+ * the default Color.
+ * @return the color from the specified string, or the Color specified by
+ * the second parameter.
*/
public static Color getColor(String nm, Color def) {
Integer integer = Integer.getInteger(nm);
@@ -668,11 +749,12 @@ public class Color implements Paint, Serializable {
* Gets the Color from the specified string, or returns the Color converted
* from the second parameter.
*
- * @param nm the specified string.
- * @param def the default Color.
- *
- * @return the color from the specified string, or the Color
- * converted from the second parameter.
+ * @param nm
+ * the specified string.
+ * @param def
+ * the default Color.
+ * @return the color from the specified string, or the Color converted from
+ * the second parameter.
*/
public static Color getColor(String nm, int def) {
Integer integer = Integer.getInteger(nm);
@@ -687,8 +769,8 @@ public class Color implements Paint, Serializable {
/**
* Gets the Color from the specified String.
*
- * @param nm the specified string.
- *
+ * @param nm
+ * the specified string.
* @return the Color object, or null.
*/
public static Color getColor(String nm) {
@@ -704,10 +786,12 @@ public class Color implements Paint, Serializable {
/**
* Decodes a String to an integer and returns the specified opaque Color.
*
- * @param nm a String which represents an opaque color as a 24-bit integer.
- *
- * @throws NumberFormatException if the specified string can not be
- * converted to an integer.
+ * @param nm
+ * the String which represents an opaque color as a 24-bit
+ * integer.
+ * @return the Color object from the given String.
+ * @throws NumberFormatException
+ * if the specified string can not be converted to an integer.
*/
public static Color decode(String nm) throws NumberFormatException {
Integer integer = Integer.decode(nm);
@@ -717,31 +801,36 @@ public class Color implements Paint, Serializable {
/**
* Gets a Color object using the specified values of the HSB color model.
*
- * @param h the hue component of the Color.
- * @param s the saturation of the Color.
- * @param b the brightness of the Color.
- *
- * @return a color object with the specified hue, saturation and
- * brightness values.
+ * @param h
+ * the hue component of the Color.
+ * @param s
+ * the saturation of the Color.
+ * @param b
+ * the brightness of the Color.
+ * @return a color object with the specified hue, saturation and brightness
+ * values.
*/
public static Color getHSBColor(float h, float s, float b) {
return new Color(HSBtoRGB(h, s, b));
}
/**
- * Converts the Color specified by the RGB model to an equivalent
- * color in the HSB model.
- *
- * @param r the red component.
- * @param g the green component.
- * @param b the blue component.
- * @param hsbvals the array of result hue, saturation, brightness
- * values or null.
+ * Converts the Color specified by the RGB model to an equivalent color in
+ * the HSB model.
*
+ * @param r
+ * the red component.
+ * @param g
+ * the green component.
+ * @param b
+ * the blue component.
+ * @param hsbvals
+ * the array of result hue, saturation, brightness values or
+ * null.
* @return the float array of hue, saturation, brightness values.
*/
public static float[] RGBtoHSB(int r, int g, int b, float[] hsbvals) {
- if(hsbvals == null) {
+ if (hsbvals == null) {
hsbvals = new float[3];
}
@@ -750,12 +839,12 @@ public class Color implements Paint, Serializable {
float H, S, B;
- B = V/255.f;
+ B = V / 255.f;
- if(V == temp) {
+ if (V == temp) {
H = S = 0;
} else {
- S = (V - temp)/((float)V);
+ S = (V - temp) / ((float)V);
float Cr = (V - r) / (float)(V - temp);
float Cg = (V - g) / (float)(V - temp);
@@ -770,7 +859,7 @@ public class Color implements Paint, Serializable {
}
H /= 6.f;
- if(H < 0) {
+ if (H < 0) {
H++;
}
}
@@ -783,50 +872,70 @@ public class Color implements Paint, Serializable {
}
/**
- * Converts the Color specified by the HSB model to an equivalent
- * color in the default RGB model.
- *
- * @param hue the hue component of the Color.
- * @param saturation the saturation of the Color.
- * @param brightness the brightness of the Color.
+ * Converts the Color specified by the HSB model to an equivalent color in
+ * the default RGB model.
*
- * @return the RGB value of the color with the specified hue,
- * saturation and brightness.
+ * @param hue
+ * the hue component of the Color.
+ * @param saturation
+ * the saturation of the Color.
+ * @param brightness
+ * the brightness of the Color.
+ * @return the RGB value of the color with the specified hue, saturation and
+ * brightness.
*/
public static int HSBtoRGB(float hue, float saturation, float brightness) {
float fr, fg, fb;
- if(saturation == 0) {
+ if (saturation == 0) {
fr = fg = fb = brightness;
} else {
float H = (hue - (float)Math.floor(hue)) * 6;
- int I = (int) Math.floor(H);
+ int I = (int)Math.floor(H);
float F = H - I;
float M = brightness * (1 - saturation);
float N = brightness * (1 - saturation * F);
float K = brightness * (1 - saturation * (1 - F));
- switch(I) {
+ switch (I) {
case 0:
- fr = brightness; fg = K; fb = M; break;
+ fr = brightness;
+ fg = K;
+ fb = M;
+ break;
case 1:
- fr = N; fg = brightness; fb = M; break;
+ fr = N;
+ fg = brightness;
+ fb = M;
+ break;
case 2:
- fr = M; fg = brightness; fb = K; break;
+ fr = M;
+ fg = brightness;
+ fb = K;
+ break;
case 3:
- fr = M; fg = N; fb = brightness; break;
+ fr = M;
+ fg = N;
+ fb = brightness;
+ break;
case 4:
- fr = K; fg = M; fb = brightness; break;
+ fr = K;
+ fg = M;
+ fb = brightness;
+ break;
case 5:
- fr = brightness; fg = M; fb = N; break;
+ fr = brightness;
+ fg = M;
+ fb = N;
+ break;
default:
fr = fb = fg = 0; // impossible, to supress compiler error
}
}
- int r = (int) (fr * 255. + 0.5);
- int g = (int) (fg * 255. + 0.5);
- int b = (int) (fb * 255. + 0.5);
+ int r = (int)(fr * 255. + 0.5);
+ int g = (int)(fg * 255. + 0.5);
+ int b = (int)(fb * 255. + 0.5);
return (r << 16) | (g << 8) | b | 0xFF000000;
}
@@ -835,17 +944,22 @@ public class Color implements Paint, Serializable {
* The Class ColorPaintContext.
*/
class ColorPaintContext implements PaintContext {
-
- /** The rgb value. */
+
+ /**
+ * The RGB value.
+ */
int rgbValue;
-
- /** The saved raster. */
+
+ /**
+ * The saved raster.
+ */
WritableRaster savedRaster = null;
/**
* Instantiates a new color paint context.
*
- * @param rgb the rgb
+ * @param rgb
+ * the RGB value.
*/
protected ColorPaintContext(int rgb) {
rgbValue = rgb;
@@ -860,15 +974,11 @@ public class Color implements Paint, Serializable {
}
public Raster getRaster(int x, int y, int w, int h) {
- if (savedRaster == null ||
- w != savedRaster.getWidth() ||
- h != savedRaster.getHeight()) {
- savedRaster =
- getColorModel().createCompatibleWritableRaster(w, h);
+ if (savedRaster == null || w != savedRaster.getWidth() || h != savedRaster.getHeight()) {
+ savedRaster = getColorModel().createCompatibleWritableRaster(w, h);
// Suppose we have here simple INT/RGB color/sample model
- DataBufferInt intBuffer =
- (DataBufferInt) savedRaster.getDataBuffer();
+ DataBufferInt intBuffer = (DataBufferInt)savedRaster.getDataBuffer();
int rgbValues[] = intBuffer.getData();
int rgbFillValue = rgbValue;
Arrays.fill(rgbValues, rgbFillValue);
@@ -878,4 +988,3 @@ public class Color implements Paint, Serializable {
}
}
}
-
diff --git a/awt/java/awt/Component.java b/awt/java/awt/Component.java
index f19d285..c52a9f4 100644
--- a/awt/java/awt/Component.java
+++ b/awt/java/awt/Component.java
@@ -78,547 +78,273 @@ import java.util.Set;
//import javax.accessibility.AccessibleState;
//import javax.accessibility.AccessibleStateSet;
-import org.apache.harmony.awt.ClipRegion;
-//import org.apache.harmony.awt.FieldsAccessor;
+import org.apache.harmony.awt.ClipRegion; //import org.apache.harmony.awt.FieldsAccessor;
import org.apache.harmony.awt.gl.MultiRectArea;
import org.apache.harmony.awt.internal.nls.Messages;
-import org.apache.harmony.awt.state.State;
-//import org.apache.harmony.awt.text.TextFieldKit;
+import org.apache.harmony.awt.state.State; //import org.apache.harmony.awt.text.TextFieldKit;
//import org.apache.harmony.awt.text.TextKit;
import org.apache.harmony.awt.wtk.NativeWindow;
+import org.apache.harmony.luni.util.NotImplementedException;
/**
- * The abstract Component class specifies an object with a graphical
- * representation that can be displayed on the screen and that can
- * interact with the user (for example: scrollbars, buttons, checkboxes).
+ * The abstract Component class specifies an object with a graphical
+ * representation that can be displayed on the screen and that can interact with
+ * the user (for example: scrollbars, buttons, checkboxes).
+ *
+ * @since Android 1.0
*/
public abstract class Component implements ImageObserver, MenuContainer, Serializable {
-
- /** The Constant serialVersionUID. */
+
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = -7644114512714619750L;
- /** The Constant TOP_ALIGNMENT indicates the top alignment of the component. */
+ /**
+ * The Constant TOP_ALIGNMENT indicates the top alignment of the component.
+ */
public static final float TOP_ALIGNMENT = 0.0f;
- /** The Constant CENTER_ALIGNMENT indicates the center alignment of the component. */
+ /**
+ * The Constant CENTER_ALIGNMENT indicates the center alignment of the
+ * component.
+ */
public static final float CENTER_ALIGNMENT = 0.5f;
- /** The Constant BOTTOM_ALIGNMENT indicates the bottom alignment of the component. */
+ /**
+ * The Constant BOTTOM_ALIGNMENT indicates the bottom alignment of the
+ * component.
+ */
public static final float BOTTOM_ALIGNMENT = 1.0f;
- /** The Constant LEFT_ALIGNMENT indicates the left alignment of the component. */
+ /**
+ * The Constant LEFT_ALIGNMENT indicates the left alignment of the
+ * component.
+ */
public static final float LEFT_ALIGNMENT = 0.0f;
- /** The Constant RIGHT_ALIGNMENT indicates the right alignment of the component. */
+ /**
+ * The Constant RIGHT_ALIGNMENT indicates the right alignment of the
+ * component.
+ */
public static final float RIGHT_ALIGNMENT = 1.0f;
- /** The Constant childClassesFlags. */
+ /**
+ * The Constant childClassesFlags.
+ */
private static final Hashtable<Class<?>, Boolean> childClassesFlags = new Hashtable<Class<?>, Boolean>();
- /** The Constant peer. */
+ /**
+ * The Constant peer.
+ */
private static final ComponentPeer peer = new ComponentPeer() {
};
- /** The Constant incrementalImageUpdate. */
+ /**
+ * The Constant incrementalImageUpdate.
+ */
private static final boolean incrementalImageUpdate;
- /** The toolkit. */
+ /**
+ * The toolkit.
+ */
final transient Toolkit toolkit = Toolkit.getDefaultToolkit();
- //???AWT
+ // ???AWT
/*
- protected abstract class AccessibleAWTComponent extends AccessibleContext implements
- Serializable, AccessibleComponent {
- private static final long serialVersionUID = 642321655757800191L;
-
- protected class AccessibleAWTComponentHandler implements ComponentListener {
- protected AccessibleAWTComponentHandler() {
- }
-
- public void componentHidden(ComponentEvent e) {
- if (behaviour.isLightweight()) {
- return;
- }
- firePropertyChange(AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
- AccessibleState.VISIBLE, null);
- }
-
- public void componentMoved(ComponentEvent e) {
- }
-
- public void componentResized(ComponentEvent e) {
- }
-
- public void componentShown(ComponentEvent e) {
- if (behaviour.isLightweight()) {
- return;
- }
- firePropertyChange(AccessibleContext.ACCESSIBLE_STATE_PROPERTY, null,
- AccessibleState.VISIBLE);
- }
- }
-
- protected class AccessibleAWTFocusHandler implements FocusListener {
- public void focusGained(FocusEvent e) {
- if (behaviour.isLightweight()) {
- return;
- }
- firePropertyChange(AccessibleContext.ACCESSIBLE_STATE_PROPERTY, null,
- AccessibleState.FOCUSED);
- }
-
- public void focusLost(FocusEvent e) {
- if (behaviour.isLightweight()) {
- return;
- }
- firePropertyChange(AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
- AccessibleState.FOCUSED, null);
- }
- }
-
- protected ComponentListener accessibleAWTComponentHandler;
-
- protected FocusListener accessibleAWTFocusHandler;
- */
- /*
- * Number of registered property change listeners.
- */
- /*
- int listenersCount;
-
- public void addFocusListener(FocusListener l) {
- Component.this.addFocusListener(l);
- }
-
- @Override
- public void addPropertyChangeListener(PropertyChangeListener listener) {
- toolkit.lockAWT();
- try {
- super.addPropertyChangeListener(listener);
- listenersCount++;
- if (accessibleAWTComponentHandler == null) {
- accessibleAWTComponentHandler = new AccessibleAWTComponentHandler();
- Component.this.addComponentListener(accessibleAWTComponentHandler);
- }
- if (accessibleAWTFocusHandler == null) {
- accessibleAWTFocusHandler = new AccessibleAWTFocusHandler();
- Component.this.addFocusListener(accessibleAWTFocusHandler);
- }
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public boolean contains(Point p) {
- toolkit.lockAWT();
- try {
- return Component.this.contains(p);
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public Accessible getAccessibleAt(Point arg0) {
- toolkit.lockAWT();
- try {
- return null;
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public Color getBackground() {
- toolkit.lockAWT();
- try {
- return Component.this.getBackground();
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public Rectangle getBounds() {
- toolkit.lockAWT();
- try {
- return Component.this.getBounds();
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public Cursor getCursor() {
- toolkit.lockAWT();
- try {
- return Component.this.getCursor();
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public Font getFont() {
- toolkit.lockAWT();
- try {
- return Component.this.getFont();
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public FontMetrics getFontMetrics(Font f) {
- toolkit.lockAWT();
- try {
- return Component.this.getFontMetrics(f);
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public Color getForeground() {
- toolkit.lockAWT();
- try {
- return Component.this.getForeground();
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public Point getLocation() {
- toolkit.lockAWT();
- try {
- return Component.this.getLocation();
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public Point getLocationOnScreen() {
- toolkit.lockAWT();
- try {
- return Component.this.getLocationOnScreen();
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public Dimension getSize() {
- toolkit.lockAWT();
- try {
- return Component.this.getSize();
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public boolean isEnabled() {
- toolkit.lockAWT();
- try {
- return Component.this.isEnabled();
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public boolean isFocusTraversable() {
- toolkit.lockAWT();
- try {
- return Component.this.isFocusTraversable();
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public boolean isShowing() {
- toolkit.lockAWT();
- try {
- return Component.this.isShowing();
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public boolean isVisible() {
- toolkit.lockAWT();
- try {
- return Component.this.isVisible();
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public void removeFocusListener(FocusListener l) {
- Component.this.removeFocusListener(l);
- }
-
- @Override
- public void removePropertyChangeListener(PropertyChangeListener listener) {
- toolkit.lockAWT();
- try {
- super.removePropertyChangeListener(listener);
- listenersCount--;
- if (listenersCount > 0) {
- return;
- }
- // if there are no more listeners, remove handlers:
- Component.this.removeFocusListener(accessibleAWTFocusHandler);
- Component.this.removeComponentListener(accessibleAWTComponentHandler);
- accessibleAWTComponentHandler = null;
- accessibleAWTFocusHandler = null;
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public void requestFocus() {
- toolkit.lockAWT();
- try {
- Component.this.requestFocus();
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public void setBackground(Color color) {
- toolkit.lockAWT();
- try {
- Component.this.setBackground(color);
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public void setBounds(Rectangle r) {
- toolkit.lockAWT();
- try {
- Component.this.setBounds(r);
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public void setCursor(Cursor cursor) {
- toolkit.lockAWT();
- try {
- Component.this.setCursor(cursor);
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public void setEnabled(boolean enabled) {
- toolkit.lockAWT();
- try {
- Component.this.setEnabled(enabled);
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public void setFont(Font f) {
- toolkit.lockAWT();
- try {
- Component.this.setFont(f);
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public void setForeground(Color color) {
- toolkit.lockAWT();
- try {
- Component.this.setForeground(color);
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public void setLocation(Point p) {
- toolkit.lockAWT();
- try {
- Component.this.setLocation(p);
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public void setSize(Dimension size) {
- toolkit.lockAWT();
- try {
- Component.this.setSize(size);
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public void setVisible(boolean visible) {
- toolkit.lockAWT();
- try {
- Component.this.setVisible(visible);
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- @Override
- public Accessible getAccessibleParent() {
- toolkit.lockAWT();
- try {
- Accessible aParent = super.getAccessibleParent();
- if (aParent != null) {
- return aParent;
- }
- Container parent = getParent();
- return (parent instanceof Accessible ? (Accessible) parent : null);
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- @Override
- public Accessible getAccessibleChild(int i) {
- toolkit.lockAWT();
- try {
- return null;
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- @Override
- public int getAccessibleChildrenCount() {
- toolkit.lockAWT();
- try {
- return 0;
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- @Override
- public AccessibleComponent getAccessibleComponent() {
- return this;
- }
-
- @Override
- public String getAccessibleDescription() {
- return super.getAccessibleDescription(); // why override?
- }
-
- @Override
- public int getAccessibleIndexInParent() {
- toolkit.lockAWT();
- try {
- if (getAccessibleParent() == null) {
- return -1;
- }
- int count = 0;
- Container parent = getParent();
- for (int i = 0; i < parent.getComponentCount(); i++) {
- Component aComp = parent.getComponent(i);
- if (aComp instanceof Accessible) {
- if (aComp == Component.this) {
- return count;
- }
- ++count;
- }
- }
- return -1;
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- @Override
- public AccessibleRole getAccessibleRole() {
- toolkit.lockAWT();
- try {
- return AccessibleRole.AWT_COMPONENT;
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- @Override
- public AccessibleStateSet getAccessibleStateSet() {
- toolkit.lockAWT();
- try {
- AccessibleStateSet set = new AccessibleStateSet();
- if (isEnabled()) {
- set.add(AccessibleState.ENABLED);
- }
- if (isFocusable()) {
- set.add(AccessibleState.FOCUSABLE);
- }
- if (hasFocus()) {
- set.add(AccessibleState.FOCUSED);
- }
- if (isOpaque()) {
- set.add(AccessibleState.OPAQUE);
- }
- if (isShowing()) {
- set.add(AccessibleState.SHOWING);
- }
- if (isVisible()) {
- set.add(AccessibleState.VISIBLE);
- }
- return set;
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- @Override
- public Locale getLocale() throws IllegalComponentStateException {
- toolkit.lockAWT();
- try {
- return Component.this.getLocale();
- } finally {
- toolkit.unlockAWT();
- }
- }
- }
- */
- /**
- * The BltBufferStrategy class provides opportunity of blitting
- * offscreen surfaces to a component. For more information on
- * blitting, see <a href="http://en.wikipedia.org/wiki/Bit_blit">Bit blit</a>.
+ * protected abstract class AccessibleAWTComponent extends AccessibleContext
+ * implements Serializable, AccessibleComponent { private static final long
+ * serialVersionUID = 642321655757800191L; protected class
+ * AccessibleAWTComponentHandler implements ComponentListener { protected
+ * AccessibleAWTComponentHandler() { } public void
+ * componentHidden(ComponentEvent e) { if (behaviour.isLightweight()) {
+ * return; } firePropertyChange(AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
+ * AccessibleState.VISIBLE, null); } public void
+ * componentMoved(ComponentEvent e) { } public void
+ * componentResized(ComponentEvent e) { } public void
+ * componentShown(ComponentEvent e) { if (behaviour.isLightweight()) {
+ * return; } firePropertyChange(AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
+ * null, AccessibleState.VISIBLE); } } protected class
+ * AccessibleAWTFocusHandler implements FocusListener { public void
+ * focusGained(FocusEvent e) { if (behaviour.isLightweight()) { return; }
+ * firePropertyChange(AccessibleContext.ACCESSIBLE_STATE_PROPERTY, null,
+ * AccessibleState.FOCUSED); } public void focusLost(FocusEvent e) { if
+ * (behaviour.isLightweight()) { return; }
+ * firePropertyChange(AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
+ * AccessibleState.FOCUSED, null); } } protected ComponentListener
+ * accessibleAWTComponentHandler; protected FocusListener
+ * accessibleAWTFocusHandler;
+ */
+ /*
+ * Number of registered property change listeners.
+ */
+ /*
+ * int listenersCount; public void addFocusListener(FocusListener l) {
+ * Component.this.addFocusListener(l); }
+ * @Override public void addPropertyChangeListener(PropertyChangeListener
+ * listener) { toolkit.lockAWT(); try {
+ * super.addPropertyChangeListener(listener); listenersCount++; if
+ * (accessibleAWTComponentHandler == null) { accessibleAWTComponentHandler =
+ * new AccessibleAWTComponentHandler();
+ * Component.this.addComponentListener(accessibleAWTComponentHandler); } if
+ * (accessibleAWTFocusHandler == null) { accessibleAWTFocusHandler = new
+ * AccessibleAWTFocusHandler();
+ * Component.this.addFocusListener(accessibleAWTFocusHandler); } } finally {
+ * toolkit.unlockAWT(); } } public boolean contains(Point p) {
+ * toolkit.lockAWT(); try { return Component.this.contains(p); } finally {
+ * toolkit.unlockAWT(); } } public Accessible getAccessibleAt(Point arg0) {
+ * toolkit.lockAWT(); try { return null; } finally { toolkit.unlockAWT(); }
+ * } public Color getBackground() { toolkit.lockAWT(); try { return
+ * Component.this.getBackground(); } finally { toolkit.unlockAWT(); } }
+ * public Rectangle getBounds() { toolkit.lockAWT(); try { return
+ * Component.this.getBounds(); } finally { toolkit.unlockAWT(); } } public
+ * Cursor getCursor() { toolkit.lockAWT(); try { return
+ * Component.this.getCursor(); } finally { toolkit.unlockAWT(); } } public
+ * Font getFont() { toolkit.lockAWT(); try { return
+ * Component.this.getFont(); } finally { toolkit.unlockAWT(); } } public
+ * FontMetrics getFontMetrics(Font f) { toolkit.lockAWT(); try { return
+ * Component.this.getFontMetrics(f); } finally { toolkit.unlockAWT(); } }
+ * public Color getForeground() { toolkit.lockAWT(); try { return
+ * Component.this.getForeground(); } finally { toolkit.unlockAWT(); } }
+ * public Point getLocation() { toolkit.lockAWT(); try { return
+ * Component.this.getLocation(); } finally { toolkit.unlockAWT(); } } public
+ * Point getLocationOnScreen() { toolkit.lockAWT(); try { return
+ * Component.this.getLocationOnScreen(); } finally { toolkit.unlockAWT(); }
+ * } public Dimension getSize() { toolkit.lockAWT(); try { return
+ * Component.this.getSize(); } finally { toolkit.unlockAWT(); } } public
+ * boolean isEnabled() { toolkit.lockAWT(); try { return
+ * Component.this.isEnabled(); } finally { toolkit.unlockAWT(); } } public
+ * boolean isFocusTraversable() { toolkit.lockAWT(); try { return
+ * Component.this.isFocusTraversable(); } finally { toolkit.unlockAWT(); } }
+ * public boolean isShowing() { toolkit.lockAWT(); try { return
+ * Component.this.isShowing(); } finally { toolkit.unlockAWT(); } } public
+ * boolean isVisible() { toolkit.lockAWT(); try { return
+ * Component.this.isVisible(); } finally { toolkit.unlockAWT(); } } public
+ * void removeFocusListener(FocusListener l) {
+ * Component.this.removeFocusListener(l); }
+ * @Override public void removePropertyChangeListener(PropertyChangeListener
+ * listener) { toolkit.lockAWT(); try {
+ * super.removePropertyChangeListener(listener); listenersCount--; if
+ * (listenersCount > 0) { return; } // if there are no more listeners,
+ * remove handlers:
+ * Component.this.removeFocusListener(accessibleAWTFocusHandler);
+ * Component.this.removeComponentListener(accessibleAWTComponentHandler);
+ * accessibleAWTComponentHandler = null; accessibleAWTFocusHandler = null; }
+ * finally { toolkit.unlockAWT(); } } public void requestFocus() {
+ * toolkit.lockAWT(); try { Component.this.requestFocus(); } finally {
+ * toolkit.unlockAWT(); } } public void setBackground(Color color) {
+ * toolkit.lockAWT(); try { Component.this.setBackground(color); } finally {
+ * toolkit.unlockAWT(); } } public void setBounds(Rectangle r) {
+ * toolkit.lockAWT(); try { Component.this.setBounds(r); } finally {
+ * toolkit.unlockAWT(); } } public void setCursor(Cursor cursor) {
+ * toolkit.lockAWT(); try { Component.this.setCursor(cursor); } finally {
+ * toolkit.unlockAWT(); } } public void setEnabled(boolean enabled) {
+ * toolkit.lockAWT(); try { Component.this.setEnabled(enabled); } finally {
+ * toolkit.unlockAWT(); } } public void setFont(Font f) { toolkit.lockAWT();
+ * try { Component.this.setFont(f); } finally { toolkit.unlockAWT(); } }
+ * public void setForeground(Color color) { toolkit.lockAWT(); try {
+ * Component.this.setForeground(color); } finally { toolkit.unlockAWT(); } }
+ * public void setLocation(Point p) { toolkit.lockAWT(); try {
+ * Component.this.setLocation(p); } finally { toolkit.unlockAWT(); } }
+ * public void setSize(Dimension size) { toolkit.lockAWT(); try {
+ * Component.this.setSize(size); } finally { toolkit.unlockAWT(); } } public
+ * void setVisible(boolean visible) { toolkit.lockAWT(); try {
+ * Component.this.setVisible(visible); } finally { toolkit.unlockAWT(); } }
+ * @Override public Accessible getAccessibleParent() { toolkit.lockAWT();
+ * try { Accessible aParent = super.getAccessibleParent(); if (aParent !=
+ * null) { return aParent; } Container parent = getParent(); return (parent
+ * instanceof Accessible ? (Accessible) parent : null); } finally {
+ * toolkit.unlockAWT(); } }
+ * @Override public Accessible getAccessibleChild(int i) {
+ * toolkit.lockAWT(); try { return null; } finally { toolkit.unlockAWT(); }
+ * }
+ * @Override public int getAccessibleChildrenCount() { toolkit.lockAWT();
+ * try { return 0; } finally { toolkit.unlockAWT(); } }
+ * @Override public AccessibleComponent getAccessibleComponent() { return
+ * this; }
+ * @Override public String getAccessibleDescription() { return
+ * super.getAccessibleDescription(); // why override? }
+ * @Override public int getAccessibleIndexInParent() { toolkit.lockAWT();
+ * try { if (getAccessibleParent() == null) { return -1; } int count = 0;
+ * Container parent = getParent(); for (int i = 0; i <
+ * parent.getComponentCount(); i++) { Component aComp =
+ * parent.getComponent(i); if (aComp instanceof Accessible) { if (aComp ==
+ * Component.this) { return count; } ++count; } } return -1; } finally {
+ * toolkit.unlockAWT(); } }
+ * @Override public AccessibleRole getAccessibleRole() { toolkit.lockAWT();
+ * try { return AccessibleRole.AWT_COMPONENT; } finally {
+ * toolkit.unlockAWT(); } }
+ * @Override public AccessibleStateSet getAccessibleStateSet() {
+ * toolkit.lockAWT(); try { AccessibleStateSet set = new
+ * AccessibleStateSet(); if (isEnabled()) {
+ * set.add(AccessibleState.ENABLED); } if (isFocusable()) {
+ * set.add(AccessibleState.FOCUSABLE); } if (hasFocus()) {
+ * set.add(AccessibleState.FOCUSED); } if (isOpaque()) {
+ * set.add(AccessibleState.OPAQUE); } if (isShowing()) {
+ * set.add(AccessibleState.SHOWING); } if (isVisible()) {
+ * set.add(AccessibleState.VISIBLE); } return set; } finally {
+ * toolkit.unlockAWT(); } }
+ * @Override public Locale getLocale() throws IllegalComponentStateException
+ * { toolkit.lockAWT(); try { return Component.this.getLocale(); } finally {
+ * toolkit.unlockAWT(); } } }
+ */
+ /**
+ * The BltBufferStrategy class provides opportunity of blitting offscreen
+ * surfaces to a component. For more information on blitting, see <a
+ * href="http://en.wikipedia.org/wiki/Bit_blit">Bit blit</a>.
+ *
+ * @since Android 1.0
*/
protected class BltBufferStrategy extends BufferStrategy {
-
- /** The back buffers. */
+
+ /**
+ * The back buffers.
+ */
protected VolatileImage[] backBuffers;
- /** The caps. */
+ /**
+ * The caps.
+ */
protected BufferCapabilities caps;
- /** The width. */
+ /**
+ * The width.
+ */
protected int width;
- /** The height. */
+ /**
+ * The height.
+ */
protected int height;
- /** The validated contents. */
+ /**
+ * The validated contents.
+ */
protected boolean validatedContents;
/**
* Instantiates a new BltBufferStrategy buffer strategy.
*
- * @param numBuffers the number of buffers.
- * @param caps the BufferCapabilities.
- *
- * @throws NotImplementedException the not implemented exception.
+ * @param numBuffers
+ * the number of buffers.
+ * @param caps
+ * the BufferCapabilities.
+ * @throws NotImplementedException
+ * the not implemented exception.
*/
- protected BltBufferStrategy(int numBuffers, BufferCapabilities caps) throws org.apache.harmony.luni.util.NotImplementedException {
+ protected BltBufferStrategy(int numBuffers, BufferCapabilities caps)
+ throws org.apache.harmony.luni.util.NotImplementedException {
if (true) {
throw new RuntimeException("Method is not implemented"); //$NON-NLS-1$
}
}
/**
- * Returns true if the drawing buffer has been lost since the last call
- * to getDrawGraphics.
+ * Returns true if the drawing buffer has been lost since the last call
+ * to getDrawGraphics.
*
- * @return true if the drawing buffer has been lost since the last call
- * to getDrawGraphics, false otherwise.
- *
+ * @return true if the drawing buffer has been lost since the last call
+ * to getDrawGraphics, false otherwise.
* @see java.awt.image.BufferStrategy#contentsLost()
*/
@Override
@@ -634,9 +360,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
* state and reinitialized to the default background color.
*
* @return true if the drawing buffer has been restored from a lost
- * state and reinitialized to the default background color,
- * false otherwise.
- *
+ * state and reinitialized to the default background color,
+ * false otherwise.
* @see java.awt.image.BufferStrategy#contentsRestored()
*/
@Override
@@ -650,7 +375,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Creates the back buffers.
*
- * @param numBuffers the number of buffers.
+ * @param numBuffers
+ * the number of buffers.
*/
protected void createBackBuffers(int numBuffers) {
if (true) {
@@ -662,19 +388,17 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
* Returns the BufferCapabilities of the buffer strategy.
*
* @return the BufferCapabilities.
- *
* @see java.awt.image.BufferStrategy#getCapabilities()
*/
@Override
public BufferCapabilities getCapabilities() {
- return (BufferCapabilities) caps.clone();
+ return (BufferCapabilities)caps.clone();
}
/**
* Gets Graphics of current buffer strategy.
*
* @return the Graphics of current buffer strategy.
- *
* @see java.awt.image.BufferStrategy#getDrawGraphics()
*/
@Override
@@ -708,56 +432,68 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * The FlipBufferStrategy class is for flipping buffers on a component.
+ * The FlipBufferStrategy class is for flipping buffers on a component.
+ *
+ * @since Android 1.0
*/
protected class FlipBufferStrategy extends BufferStrategy {
-
- /** The Buffer Capabilities. */
+
+ /**
+ * The Buffer Capabilities.
+ */
protected BufferCapabilities caps;
- /** The drawing buffer. */
+ /**
+ * The drawing buffer.
+ */
protected Image drawBuffer;
- /** The drawing VolatileImage buffer. */
+ /**
+ * The drawing VolatileImage buffer.
+ */
protected VolatileImage drawVBuffer;
- /** The number of buffers. */
+ /**
+ * The number of buffers.
+ */
protected int numBuffers;
- /** The validated contents indicates if the drawing buffer is restored from
- * lost state. */
+ /**
+ * The validated contents indicates if the drawing buffer is restored
+ * from lost state.
+ */
protected boolean validatedContents;
/**
* Instantiates a new flip buffer strategy.
*
- * @param numBuffers the number of buffers.
- * @param caps the BufferCapabilities.
- *
- * @throws AWTException if the capabilities supplied could not
- * be supported or met.
+ * @param numBuffers
+ * the number of buffers.
+ * @param caps
+ * the BufferCapabilities.
+ * @throws AWTException
+ * if the capabilities supplied could not be supported or
+ * met.
*/
- protected FlipBufferStrategy(int numBuffers, BufferCapabilities caps)
- throws AWTException {
- //???AWT
+ protected FlipBufferStrategy(int numBuffers, BufferCapabilities caps) throws AWTException {
+ // ???AWT
/*
- if (!(Component.this instanceof Window) && !(Component.this instanceof Canvas)) {
- // awt.14B=Only Canvas or Window is allowed
- throw new ClassCastException(Messages.getString("awt.14B")); //$NON-NLS-1$
- }
- */
+ * if (!(Component.this instanceof Window) && !(Component.this
+ * instanceof Canvas)) { // awt.14B=Only Canvas or Window is allowed
+ * throw new ClassCastException(Messages.getString("awt.14B"));
+ * //$NON-NLS-1$ }
+ */
// TODO: throw new AWTException("Capabilities are not supported");
this.numBuffers = numBuffers;
- this.caps = (BufferCapabilities) caps.clone();
+ this.caps = (BufferCapabilities)caps.clone();
}
/**
- * Returns true if the drawing buffer has been lost since the last call
- * to getDrawGraphics.
- *
- * @return true if the drawing buffer has been lost since the last call
- * to getDrawGraphics, false otherwise.
+ * Returns true if the drawing buffer has been lost since the last call
+ * to getDrawGraphics.
*
+ * @return true if the drawing buffer has been lost since the last call
+ * to getDrawGraphics, false otherwise.
* @see java.awt.image.BufferStrategy#contentsLost()
*/
@Override
@@ -773,9 +509,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
* state and reinitialized to the default background color.
*
* @return true if the drawing buffer has been restored from a lost
- * state and reinitialized to the default background color,
- * false otherwise.
- *
+ * state and reinitialized to the default background color,
+ * false otherwise.
* @see java.awt.image.BufferStrategy#contentsRestored()
*/
@Override
@@ -789,14 +524,14 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Creates flipping buffers with the specified buffer capabilities.
*
- * @param numBuffers the number of buffers.
- * @param caps the BufferCapabilities.
- *
- * @throws AWTException if the capabilities could not be
- * supported or met.
+ * @param numBuffers
+ * the number of buffers.
+ * @param caps
+ * the BufferCapabilities.
+ * @throws AWTException
+ * if the capabilities could not be supported or met.
*/
- protected void createBuffers(int numBuffers, BufferCapabilities caps)
- throws AWTException {
+ protected void createBuffers(int numBuffers, BufferCapabilities caps) throws AWTException {
if (numBuffers < 2) {
// awt.14C=Number of buffers must be greater than one
throw new IllegalArgumentException(Messages.getString("awt.14C")); //$NON-NLS-1$
@@ -827,7 +562,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Flips the contents of the back buffer to the front buffer.
*
- * @param flipAction the flip action.
+ * @param flipAction
+ * the flip action.
*/
protected void flip(BufferCapabilities.FlipContents flipAction) {
if (true) {
@@ -851,19 +587,17 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
* Returns the BufferCapabilities of the buffer strategy.
*
* @return the BufferCapabilities.
- *
* @see java.awt.image.BufferStrategy#getCapabilities()
*/
@Override
public BufferCapabilities getCapabilities() {
- return (BufferCapabilities) caps.clone();
+ return (BufferCapabilities)caps.clone();
}
/**
* Gets Graphics of current buffer strategy.
*
* @return the Graphics of current buffer strategy.
- *
* @see java.awt.image.BufferStrategy#getDrawGraphics()
*/
@Override
@@ -900,14 +634,16 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
* The internal component's state utilized by the visual theme.
*/
class ComponentState implements State {
-
- /** The default minimum size. */
+
+ /**
+ * The default minimum size.
+ */
private Dimension defaultMinimumSize = new Dimension();
/**
* Checks if the component is enabled.
*
- * @return true, if the component is enabled
+ * @return true, if the component is enabled.
*/
public boolean isEnabled() {
return enabled;
@@ -916,7 +652,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Checks if the component is visible.
*
- * @return true, if the component is visible
+ * @return true, if the component is visible.
*/
public boolean isVisible() {
return visible;
@@ -925,17 +661,17 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Checks if is focused.
*
- * @return true, if is focused
+ * @return true, if is focused.
*/
public boolean isFocused() {
- //???AWT: return isFocusOwner();
+ // ???AWT: return isFocusOwner();
return false;
}
/**
* Gets the font.
*
- * @return the font
+ * @return the font.
*/
public Font getFont() {
return Component.this.getFont();
@@ -944,7 +680,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Checks if the font has been set.
*
- * @return true, if the font has been set
+ * @return true, if the font has been set.
*/
public boolean isFontSet() {
return font != null;
@@ -953,7 +689,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Gets the background color.
*
- * @return the background color
+ * @return the background color.
*/
public Color getBackground() {
Color c = Component.this.getBackground();
@@ -963,7 +699,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Checks if the background is set.
*
- * @return true, if the background is set
+ * @return true, if the background is set.
*/
public boolean isBackgroundSet() {
return backColor != null;
@@ -972,7 +708,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Gets the text color.
*
- * @return the text color
+ * @return the text color.
*/
public Color getTextColor() {
Color c = getForeground();
@@ -982,7 +718,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Checks if the text color is set.
*
- * @return true, if the text color is set
+ * @return true, if the text color is set.
*/
public boolean isTextColorSet() {
return foreColor != null;
@@ -991,7 +727,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Gets the font metrics.
*
- * @return the font metrics
+ * @return the font metrics.
*/
@SuppressWarnings("deprecation")
public FontMetrics getFontMetrics() {
@@ -1001,7 +737,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Gets the bounding rectangle.
*
- * @return the bounding rectangle
+ * @return the bounding rectangle.
*/
public Rectangle getBounds() {
return new Rectangle(x, y, w, h);
@@ -1010,7 +746,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Gets the size of the bounding rectangle.
*
- * @return the size of the bounding rectangle
+ * @return the size of the bounding rectangle.
*/
public Dimension getSize() {
return new Dimension(w, h);
@@ -1019,7 +755,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Gets the window id.
*
- * @return the window id
+ * @return the window id.
*/
public long getWindowId() {
NativeWindow win = getNativeWindow();
@@ -1029,7 +765,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Gets the default minimum size.
*
- * @return the default minimum size
+ * @return the default minimum size.
*/
public Dimension getDefaultMinimumSize() {
if (defaultMinimumSize == null) {
@@ -1041,7 +777,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Sets the default minimum size.
*
- * @param size the new default minimum size
+ * @param size
+ * the new default minimum size.
*/
public void setDefaultMinimumSize(Dimension size) {
defaultMinimumSize = size;
@@ -1062,179 +799,283 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
}
- //???AWT: private transient AccessibleContext accessibleContext;
+ // ???AWT: private transient AccessibleContext accessibleContext;
- /** The behaviour. */
+ /**
+ * The behaviour.
+ */
final transient ComponentBehavior behaviour;
- //???AWT: Container parent;
+ // ???AWT: Container parent;
- /** The name. */
+ /**
+ * The name.
+ */
private String name;
- /** The auto name. */
+ /**
+ * The auto name.
+ */
private boolean autoName = true;
- /** The font. */
+ /**
+ * The font.
+ */
private Font font;
- /** The back color. */
+ /**
+ * The back color.
+ */
private Color backColor;
- /** The fore color. */
+ /**
+ * The fore color.
+ */
private Color foreColor;
- /** The deprecated event handler. */
+ /**
+ * The deprecated event handler.
+ */
boolean deprecatedEventHandler = true;
- /** The enabled events. */
+ /**
+ * The enabled events.
+ */
private long enabledEvents;
- /** The enabled awt events. */
+ /**
+ * The enabled AWT events.
+ */
private long enabledAWTEvents;
- /** The component listeners. */
+ /**
+ * The component listeners.
+ */
private final AWTListenerList<ComponentListener> componentListeners = new AWTListenerList<ComponentListener>(
this);
- /** The focus listeners. */
+ /**
+ * The focus listeners.
+ */
private final AWTListenerList<FocusListener> focusListeners = new AWTListenerList<FocusListener>(
this);
- /** The hierarchy listeners. */
+ /**
+ * The hierarchy listeners.
+ */
private final AWTListenerList<HierarchyListener> hierarchyListeners = new AWTListenerList<HierarchyListener>(
this);
- /** The hierarchy bounds listeners. */
+ /**
+ * The hierarchy bounds listeners.
+ */
private final AWTListenerList<HierarchyBoundsListener> hierarchyBoundsListeners = new AWTListenerList<HierarchyBoundsListener>(
this);
- /** The key listeners. */
- private final AWTListenerList<KeyListener> keyListeners = new AWTListenerList<KeyListener>(
- this);
+ /**
+ * The key listeners.
+ */
+ private final AWTListenerList<KeyListener> keyListeners = new AWTListenerList<KeyListener>(this);
- /** The mouse listeners. */
+ /**
+ * The mouse listeners.
+ */
private final AWTListenerList<MouseListener> mouseListeners = new AWTListenerList<MouseListener>(
this);
- /** The mouse motion listeners. */
+ /**
+ * The mouse motion listeners.
+ */
private final AWTListenerList<MouseMotionListener> mouseMotionListeners = new AWTListenerList<MouseMotionListener>(
this);
- /** The mouse wheel listeners. */
+ /**
+ * The mouse wheel listeners.
+ */
private final AWTListenerList<MouseWheelListener> mouseWheelListeners = new AWTListenerList<MouseWheelListener>(
this);
- /** The input method listeners. */
+ /**
+ * The input method listeners.
+ */
private final AWTListenerList<InputMethodListener> inputMethodListeners = new AWTListenerList<InputMethodListener>(
this);
- /** The x. */
+ /**
+ * The x.
+ */
int x;
- /** The y. */
+ /**
+ * The y.
+ */
int y;
- /** The w. */
+ /**
+ * The w.
+ */
int w;
- /** The h. */
+ /**
+ * The h.
+ */
int h;
- /** The maximum size. */
+ /**
+ * The maximum size.
+ */
private Dimension maximumSize;
- /** The minimum size. */
+ /**
+ * The minimum size.
+ */
private Dimension minimumSize;
- /** The preferred size. */
+ /**
+ * The preferred size.
+ */
private Dimension preferredSize;
- /** The bounds mask param. */
+ /**
+ * The bounds mask param.
+ */
private int boundsMaskParam;
- /** The ignore repaint. */
+ /**
+ * The ignore repaint.
+ */
private boolean ignoreRepaint;
- /** The enabled. */
+ /**
+ * The enabled.
+ */
private boolean enabled = true;
- /** The input methods enabled. */
+ /**
+ * The input methods enabled.
+ */
private boolean inputMethodsEnabled = true;
- /** The dispatch to im. */
+ /**
+ * The dispatch to im.
+ */
transient boolean dispatchToIM = true;
- /** The focusable. */
+ /**
+ * The focusable.
+ */
private boolean focusable = true; // By default, all Components return
// true from isFocusable() method
- /** The visible. */
+ /**
+ * The visible.
+ */
boolean visible = true;
- /** The called set focusable. */
+ /**
+ * The called set focusable.
+ */
private boolean calledSetFocusable;
- /** The overriden is focusable. */
+ /**
+ * The overridden is focusable.
+ */
private boolean overridenIsFocusable = true;
- /** The focus traversal keys enabled. */
+ /**
+ * The focus traversal keys enabled.
+ */
private boolean focusTraversalKeysEnabled = true;
- /** Possible keys are: FORWARD_TRAVERSAL_KEYS, BACKWARD_TRAVERSAL_KEYS, UP_CYCLE_TRAVERSAL_KEYS. */
+ /**
+ * Possible keys are: FORWARD_TRAVERSAL_KEYS, BACKWARD_TRAVERSAL_KEYS,
+ * UP_CYCLE_TRAVERSAL_KEYS.
+ */
private final Map<Integer, Set<? extends AWTKeyStroke>> traversalKeys = new HashMap<Integer, Set<? extends AWTKeyStroke>>();
- /** The traversal i ds. */
+ /**
+ * The traversal i ds.
+ */
int[] traversalIDs;
- /** The locale. */
+ /**
+ * The locale.
+ */
private Locale locale;
- /** The orientation. */
+ /**
+ * The orientation.
+ */
private ComponentOrientation orientation;
- /** The property change support. */
+ /**
+ * The property change support.
+ */
private PropertyChangeSupport propertyChangeSupport;
- //???AWT: private ArrayList<PopupMenu> popups;
+ // ???AWT: private ArrayList<PopupMenu> popups;
- /** The coalescer. */
+ /**
+ * The coalescer.
+ */
private boolean coalescer;
- /** The events table. */
+ /**
+ * The events table.
+ */
private Hashtable<Integer, LinkedList<AWTEvent>> eventsTable;
- /** Cashed reference used during EventQueue.postEvent() */
+ /**
+ * Cashed reference used during EventQueue.postEvent()
+ */
private LinkedList<AWTEvent> eventsList;
- /** The hierarchy changing counter. */
+ /**
+ * The hierarchy changing counter.
+ */
private int hierarchyChangingCounter;
- /** The was showing. */
+ /**
+ * The was showing.
+ */
private boolean wasShowing;
- /** The was displayable. */
+ /**
+ * The was displayable.
+ */
private boolean wasDisplayable;
- /** The cursor. */
+ /**
+ * The cursor.
+ */
Cursor cursor;
- //???AWT: DropTarget dropTarget;
+ // ???AWT: DropTarget dropTarget;
- /** The mouse exited expected. */
+ /**
+ * The mouse exited expected.
+ */
private boolean mouseExitedExpected;
- /** The repaint region. */
+ /**
+ * The repaint region.
+ */
transient MultiRectArea repaintRegion;
- //???AWT: transient RedrawManager redrawManager;
- /** The redraw manager. */
+ // ???AWT: transient RedrawManager redrawManager;
+ /**
+ * The redraw manager.
+ */
transient Object redrawManager;
- /** The valid. */
+ /**
+ * The valid.
+ */
private boolean valid;
- /** The updated images. */
+ /**
+ * The updated images.
+ */
private HashMap<Image, ImageParameters> updatedImages;
/**
@@ -1244,7 +1085,9 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
private class ComponentLock {
}
- /** The component lock. */
+ /**
+ * The component lock.
+ */
private final transient Object componentLock = new ComponentLock();
static {
PrivilegedAction<String[]> action = new PrivilegedAction<String[]>() {
@@ -1276,17 +1119,16 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
try {
orientation = ComponentOrientation.UNKNOWN;
redrawManager = null;
- //???AWT
+ // ???AWT
/*
- traversalIDs = this instanceof Container ? KeyboardFocusManager.contTraversalIDs
- : KeyboardFocusManager.compTraversalIDs;
- for (int element : traversalIDs) {
- traversalKeys.put(new Integer(element), null);
- }
- behaviour = createBehavior();
- */
+ * traversalIDs = this instanceof Container ?
+ * KeyboardFocusManager.contTraversalIDs :
+ * KeyboardFocusManager.compTraversalIDs; for (int element :
+ * traversalIDs) { traversalKeys.put(new Integer(element), null); }
+ * behaviour = createBehavior();
+ */
behaviour = null;
-
+
deriveCoalescerFlag();
} finally {
toolkit.unlockAWT();
@@ -1307,8 +1149,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
for (Class<?> c = thisClass; c != Component.class; c = c.getSuperclass()) {
try {
coalesceMethod = c.getDeclaredMethod("coalesceEvents", new Class[] { //$NON-NLS-1$
- Class.forName("java.awt.AWTEvent"), //$NON-NLS-1$
- Class.forName("java.awt.AWTEvent") }); //$NON-NLS-1$
+ Class.forName("java.awt.AWTEvent"), //$NON-NLS-1$
+ Class.forName("java.awt.AWTEvent")}); //$NON-NLS-1$
} catch (Exception e) {
}
if (coalesceMethod != null) {
@@ -1332,7 +1174,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Sets the name of the Component.
*
- * @param name the new name of the Component.
+ * @param name
+ * the new name of the Component.
*/
public void setName(String name) {
String oldName;
@@ -1367,15 +1210,15 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Auto name.
*
- * @return the string
+ * @return the string.
*/
String autoName() {
String name = getClass().getName();
if (name.indexOf("$") != -1) { //$NON-NLS-1$
return null;
}
- //???AWT
- //int number = toolkit.autoNumber.nextComponent++;
+ // ???AWT
+ // int number = toolkit.autoNumber.nextComponent++;
int number = 0;
name = name.substring(name.lastIndexOf(".") + 1) + Integer.toString(number); //$NON-NLS-1$
return name;
@@ -1390,10 +1233,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
public String toString() {
/*
* The format is based on 1.5 release behavior which can be revealed by
- * the following code:
- *
- * Component c = new Component(){}; c.setVisible(false);
- * System.out.println(c);
+ * the following code: Component c = new Component(){};
+ * c.setVisible(false); System.out.println(c);
*/
toolkit.lockAWT();
try {
@@ -1403,32 +1244,21 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
}
- //???AWT
+ // ???AWT
/*
- public void add(PopupMenu popup) {
- toolkit.lockAWT();
- try {
- if (popup.getParent() == this) {
- return;
- }
- if (popups == null) {
- popups = new ArrayList<PopupMenu>();
- }
- popup.setParent(this);
- popups.add(popup);
- } finally {
- toolkit.unlockAWT();
- }
- }
- */
+ * public void add(PopupMenu popup) { toolkit.lockAWT(); try { if
+ * (popup.getParent() == this) { return; } if (popups == null) { popups =
+ * new ArrayList<PopupMenu>(); } popup.setParent(this); popups.add(popup); }
+ * finally { toolkit.unlockAWT(); } }
+ */
/**
* Returns true, if the component contains the specified Point.
*
- * @param p the Point.
- *
- * @return true, if the component contains the specified Point,
- * false otherwise.
+ * @param p
+ * the Point.
+ * @return true, if the component contains the specified Point, false
+ * otherwise.
*/
public boolean contains(Point p) {
toolkit.lockAWT();
@@ -1440,14 +1270,15 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Returns true, if the component contains the point with
- * the specified coordinates.
+ * Returns true, if the component contains the point with the specified
+ * coordinates.
*
- * @param x the x coordinate.
- * @param y the y coordinate.
- *
- * @return true, if the component contains the point with
- * the specified coordinates, false otherwise.
+ * @param x
+ * the x coordinate.
+ * @param y
+ * the y coordinate.
+ * @return true, if the component contains the point with the specified
+ * coordinates, false otherwise.
*/
public boolean contains(int x, int y) {
toolkit.lockAWT();
@@ -1462,7 +1293,6 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
* Deprecated: replaced by replaced by getSize() method.
*
* @return the dimension.
- *
* @deprecated Replaced by getSize() method.
*/
@Deprecated
@@ -1474,90 +1304,63 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
toolkit.unlockAWT();
}
}
-
- //???AWT
+
+ // ???AWT
/*
- public Container getParent() {
- toolkit.lockAWT();
- try {
- return parent;
- } finally {
- toolkit.unlockAWT();
- }
- }
- */
-
+ * public Container getParent() { toolkit.lockAWT(); try { return parent; }
+ * finally { toolkit.unlockAWT(); } }
+ */
+
/**
* List.
*
- * @param out the out
- * @param indent the indent
- *
+ * @param out
+ * the out.
+ * @param indent
+ * the indent
* @return the nearest heavyweight ancestor in hierarchy or
- * <code>null</code> if not found
+ * <code>null</code> if not found.
*/
- //???AWT
+ // ???AWT
/*
- Component getHWAncestor() {
- return (parent != null ? parent.getHWSurface() : null);
- }
- */
-
+ * Component getHWAncestor() { return (parent != null ?
+ * parent.getHWSurface() : null); }
+ */
+
/**
* @return heavyweight component that is equal to or is a nearest
* heavyweight container of the current component, or
- * <code>null</code> if not found
+ * <code>null</code> if not found.
*/
- //???AWT
+ // ???AWT
/*
- Component getHWSurface() {
- Component parent;
- for (parent = this; (parent != null) && (parent.isLightweight()); parent = parent
- .getParent()) {
- ;
- }
- return parent;
- }
+ * Component getHWSurface() { Component parent; for (parent = this; (parent
+ * != null) && (parent.isLightweight()); parent = parent .getParent()) { ; }
+ * return parent; } Window getWindowAncestor() { Component par; for (par =
+ * this; par != null && !(par instanceof Window); par = par.getParent()) { ;
+ * } return (Window) par; }
+ */
- Window getWindowAncestor() {
- Component par;
- for (par = this; par != null && !(par instanceof Window); par = par.getParent()) {
- ;
- }
- return (Window) par;
- }
- */
-
- /** To be called by container */
- //???AWT
+ /**
+ * To be called by container
+ */
+ // ???AWT
/*
- void setParent(Container parent) {
- this.parent = parent;
- setRedrawManager();
- }
-
- void setRedrawManager() {
- redrawManager = getRedrawManager();
- }
-
- public void remove(MenuComponent menu) {
- toolkit.lockAWT();
- try {
- if (menu.getParent() == this) {
- menu.setParent(null);
- popups.remove(menu);
- }
- } finally {
- toolkit.unlockAWT();
- }
- }
- */
+ * void setParent(Container parent) { this.parent = parent;
+ * setRedrawManager(); } void setRedrawManager() { redrawManager =
+ * getRedrawManager(); } public void remove(MenuComponent menu) {
+ * toolkit.lockAWT(); try { if (menu.getParent() == this) {
+ * menu.setParent(null); popups.remove(menu); } } finally {
+ * toolkit.unlockAWT(); } }
+ */
/**
- * Prints a list of this component with the specified number of
- * leading whitespace characters to the specified PrintStream.
+ * Prints a list of this component with the specified number of leading
+ * whitespace characters to the specified PrintStream.
*
- * @param out the output PrintStream object.
- * @param indent how many leading whitespace characters to prepend
+ * @param out
+ * the output PrintStream object.
+ * @param indent
+ * how many leading whitespace characters to prepend.
*/
public void list(PrintStream out, int indent) {
toolkit.lockAWT();
@@ -1571,7 +1374,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Prints a list of this component to the specified PrintWriter.
*
- * @param out the output PrintWriter object.
+ * @param out
+ * the output PrintWriter object.
*/
public void list(PrintWriter out) {
toolkit.lockAWT();
@@ -1583,11 +1387,13 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Prints a list of this component with the specified number of
- * leading whitespace characters to the specified PrintWriter.
+ * Prints a list of this component with the specified number of leading
+ * whitespace characters to the specified PrintWriter.
*
- * @param out the output PrintWriter object.
- * @param indent how many leading whitespace characters to prepend
+ * @param out
+ * the output PrintWriter object.
+ * @param indent
+ * how many leading whitespace characters to prepend.
*/
public void list(PrintWriter out, int indent) {
toolkit.lockAWT();
@@ -1599,13 +1405,12 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Gets a string composed of the desired number of
- * whitespace characters.
- *
- * @param indent the length of the String to return
+ * Gets a string composed of the desired number of whitespace characters.
*
- * @return the string composed of the desired number of
- * whitespace characters
+ * @param indent
+ * the length of the String to return.
+ * @return the string composed of the desired number of whitespace
+ * characters.
*/
String getIndentStr(int indent) {
char[] ind = new char[indent];
@@ -1616,9 +1421,10 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Prints a list of this component to the specified PrintStream
+ * Prints a list of this component to the specified PrintStream.
*
- * @param out the output PrintStream object.
+ * @param out
+ * the output PrintStream object.
*/
public void list(PrintStream out) {
toolkit.lockAWT();
@@ -1631,8 +1437,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Prints a list of this component to the standard system
- * output stream.
+ * Prints a list of this component to the standard system output stream.
*/
public void list() {
toolkit.lockAWT();
@@ -1644,9 +1449,10 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Prints this component.
+ * Prints this component.
*
- * @param g the Graphics to be used for painting.
+ * @param g
+ * the Graphics to be used for painting.
*/
public void print(Graphics g) {
toolkit.lockAWT();
@@ -1660,7 +1466,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Prints the component and all of its subcomponents.
*
- * @param g the Graphics to be used for painting.
+ * @param g
+ * the Graphics to be used for painting.
*/
public void printAll(Graphics g) {
toolkit.lockAWT();
@@ -1672,11 +1479,12 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Sets the size of the Component specified by width and height
- * parameters.
+ * Sets the size of the Component specified by width and height parameters.
*
- * @param width the width of the Component.
- * @param height the height of the Component.
+ * @param width
+ * the width of the Component.
+ * @param height
+ * the height of the Component.
*/
public void setSize(int width, int height) {
toolkit.lockAWT();
@@ -1690,7 +1498,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Sets the size of the Component specified by Dimension object.
*
- * @param d the new size of the Component.
+ * @param d
+ * the new size of the Component.
*/
public void setSize(Dimension d) {
toolkit.lockAWT();
@@ -1704,9 +1513,10 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Deprecated: replaced by setSize(int, int) method.
*
- * @param width the width.
- * @param height the height.
- *
+ * @param width
+ * the width.
+ * @param height
+ * the height.
* @deprecated Replaced by setSize(int, int) method.
*/
@Deprecated
@@ -1723,8 +1533,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Deprecated: replaced by setSize(int, int) method.
*
- * @param size the size.
- *
+ * @param size
+ * the size.
* @deprecated Replaced by setSize(int, int) method.
*/
@Deprecated
@@ -1740,8 +1550,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Checks whether or not this component is completely opaque.
*
- * @return true, if this component is completely opaque,
- * false by default.
+ * @return true, if this component is completely opaque, false by default.
*/
public boolean isOpaque() {
toolkit.lockAWT();
@@ -1765,7 +1574,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
} finally {
toolkit.unlockAWT();
}
- //???AWT: fireAccessibleStateChange(AccessibleState.ENABLED, false);
+ // ???AWT: fireAccessibleStateChange(AccessibleState.ENABLED, false);
}
/**
@@ -1781,15 +1590,15 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
} finally {
toolkit.unlockAWT();
}
- //???AWT: fireAccessibleStateChange(AccessibleState.ENABLED, true);
+ // ???AWT: fireAccessibleStateChange(AccessibleState.ENABLED, true);
}
/**
* Enables or disable this component.
*
- * @param b the boolean parameter.
- *
- * @deprecated Replaced by setEnabled(boolean) method.
+ * @param b
+ * the boolean parameter.
+ * @deprecated Replaced by setEnabled(boolean) method.
*/
@Deprecated
public void enable(boolean b) {
@@ -1809,9 +1618,9 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
* Stores the location of this component to the specified Point object;
* returns the point of the component's top-left corner.
*
- * @param rv the Point object where the component's top-left corner
- * position will be stored.
- *
+ * @param rv
+ * the Point object where the component's top-left corner
+ * position will be stored.
* @return the Point which specifies the component's top-left corner.
*/
public Point getLocation(Point rv) {
@@ -1828,8 +1637,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Gets the location of this component on the form;
- * returns the point of the component's top-left corner.
+ * Gets the location of this component on the form; returns the point of the
+ * component's top-left corner.
*
* @return the Point which specifies the component's top-left corner.
*/
@@ -1857,12 +1666,11 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Stores the size of this Component to the specified Dimension
- * object.
- *
- * @param rv the Dimension object where the size of the Component
- * will be stored.
+ * Stores the size of this Component to the specified Dimension object.
*
+ * @param rv
+ * the Dimension object where the size of the Component will be
+ * stored.
* @return the Dimension of this Component.
*/
public Dimension getSize(Dimension rv) {
@@ -1879,9 +1687,9 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Checks whether or not this Component is valid. A component is valid
- * if it is correctly sized and positioned within its parent container
- * and all its children are also valid.
+ * Checks whether or not this Component is valid. A component is valid if it
+ * is correctly sized and positioned within its parent container and all its
+ * children are also valid.
*
* @return true, if the Component is valid, false otherwise.
*/
@@ -1898,7 +1706,6 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
* Deprecated: replaced by getComponentAt(int, int) method.
*
* @return the Point.
- *
* @deprecated Replaced by getComponentAt(int, int) method.
*/
@Deprecated
@@ -1912,7 +1719,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Connects this Component to a native screen resource and makes it
+ * Connects this Component to a native screen resource and makes it
* displayable. This method not be called directly by user applications.
*/
public void addNotify() {
@@ -1920,11 +1727,11 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
try {
prepare4HierarchyChange();
behaviour.addNotify();
- //???AWT
-// finishHierarchyChange(this, parent, 0);
-// if (dropTarget != null) {
-// dropTarget.addNotify(peer);
-// }
+ // ???AWT
+ // finishHierarchyChange(this, parent, 0);
+ // if (dropTarget != null) {
+ // dropTarget.addNotify(peer);
+ // }
} finally {
toolkit.unlockAWT();
}
@@ -1933,45 +1740,32 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Map to display.
*
- * @param b the b
+ * @param b
+ * the b.
*/
void mapToDisplay(boolean b) {
- //???AWT
+ // ???AWT
/*
- if (b && !isDisplayable()) {
- if ((this instanceof Window) || ((parent != null) && parent.isDisplayable())) {
- addNotify();
- }
- } else if (!b && isDisplayable()) {
- removeNotify();
- }
- */
+ * if (b && !isDisplayable()) { if ((this instanceof Window) || ((parent
+ * != null) && parent.isDisplayable())) { addNotify(); } } else if (!b
+ * && isDisplayable()) { removeNotify(); }
+ */
}
/**
* Gets the toolkit.
*
- * @return accessible context specific for particular component
+ * @return accessible context specific for particular component.
*/
- //???AWT
+ // ???AWT
/*
- AccessibleContext createAccessibleContext() {
- return null;
- }
+ * AccessibleContext createAccessibleContext() { return null; } public
+ * AccessibleContext getAccessibleContext() { toolkit.lockAWT(); try { if
+ * (accessibleContext == null) { accessibleContext =
+ * createAccessibleContext(); } return accessibleContext; } finally {
+ * toolkit.unlockAWT(); } }
+ */
- public AccessibleContext getAccessibleContext() {
- toolkit.lockAWT();
- try {
- if (accessibleContext == null) {
- accessibleContext = createAccessibleContext();
- }
- return accessibleContext;
- } finally {
- toolkit.unlockAWT();
- }
- }
- */
-
/**
* Gets Toolkit for the current Component.
*
@@ -1982,8 +1776,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Gets this component's locking object for AWT component tree
- * and layout operations.
+ * Gets this component's locking object for AWT component tree and layout
+ * operations.
*
* @return the tree locking object.
*/
@@ -1992,12 +1786,14 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * @param evt the Event.
- * @param what the event's key.
+ * Handles the event. Use ActionListener instead of this.
*
+ * @param evt
+ * the Event.
+ * @param what
+ * the event's key.
* @return true, if successful.
- *
- * @deprecated Use ActionListener class for registering event listener.
+ * @deprecated Use ActionListener class for registering event listener.
*/
@Deprecated
public boolean action(Event evt, Object what) {
@@ -2006,11 +1802,10 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
return false;
}
-
/**
* Gets the property change support.
*
- * @return the property change support
+ * @return the property change support.
*/
private PropertyChangeSupport getPropertyChangeSupport() {
synchronized (componentLock) {
@@ -2020,36 +1815,29 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
return propertyChangeSupport;
}
}
-
- //???AWT
- /*
- public void addPropertyChangeListener(PropertyChangeListener listener) {
- getPropertyChangeSupport().addPropertyChangeListener(listener);
- }
- public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener) {
- getPropertyChangeSupport().addPropertyChangeListener(propertyName, listener);
- }
-
- public void applyComponentOrientation(ComponentOrientation orientation) {
- toolkit.lockAWT();
- try {
- setComponentOrientation(orientation);
- } finally {
- toolkit.unlockAWT();
- }
- }
- */
+ // ???AWT
+ /*
+ * public void addPropertyChangeListener(PropertyChangeListener listener) {
+ * getPropertyChangeSupport().addPropertyChangeListener(listener); } public
+ * void addPropertyChangeListener(String propertyName,
+ * PropertyChangeListener listener) {
+ * getPropertyChangeSupport().addPropertyChangeListener(propertyName,
+ * listener); } public void applyComponentOrientation(ComponentOrientation
+ * orientation) { toolkit.lockAWT(); try {
+ * setComponentOrientation(orientation); } finally { toolkit.unlockAWT(); }
+ * }
+ */
/**
- * Returns true if the set of focus traversal keys for the given focus
- * traversal operation has been explicitly defined for this Component.
+ * Returns true if the set of focus traversal keys for the given focus
+ * traversal operation has been explicitly defined for this Component.
*
- * @param id the ID of traversal key.
- *
- * @return true, if the set of focus traversal keys for the given focus
- * traversal operation has been explicitly defined for this Component,
- * false otherwise.
+ * @param id
+ * the ID of traversal key.
+ * @return true, if the set of focus traversal keys for the given focus.
+ * traversal operation has been explicitly defined for this
+ * Component, false otherwise.
*/
public boolean areFocusTraversalKeysSet(int id) {
toolkit.lockAWT();
@@ -2069,7 +1857,6 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
* Gets the bounds of the Component.
*
* @return the rectangle bounds of the Component.
- *
* @deprecated Use getBounds() methood.
*/
@Deprecated
@@ -2083,16 +1870,20 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Returns the construction status of a specified image
- * with the specified width and height that is being created.
- *
- *
- * @param image the image to be checked.
- * @param width the width of scaled image which status is being checked, or -1.
- * @param height the height of scaled image which status is being checked, or -1.
- * @param observer the ImageObserver object to be notified while
- * the image is being prepared.
+ * Returns the construction status of a specified image with the specified
+ * width and height that is being created.
*
+ * @param image
+ * the image to be checked.
+ * @param width
+ * the width of scaled image which status is being checked, or
+ * -1.
+ * @param height
+ * the height of scaled image which status is being checked, or
+ * -1.
+ * @param observer
+ * the ImageObserver object to be notified while the image is
+ * being prepared.
* @return the ImageObserver flags of the current state of the image data.
*/
public int checkImage(Image image, int width, int height, ImageObserver observer) {
@@ -2105,13 +1896,14 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Returns the construction status of a specified image that is being created.
- *
- *
- * @param image the image to be checked.
- * @param observer the ImageObserver object to be notified while
- * the image is being prepared.
+ * Returns the construction status of a specified image that is being
+ * created.
*
+ * @param image
+ * the image to be checked.
+ * @param observer
+ * the ImageObserver object to be notified while the image is
+ * being prepared.
* @return the ImageObserver flags of the current state of the image data.
*/
public int checkImage(Image image, ImageObserver observer) {
@@ -2126,10 +1918,11 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Coalesces the existed event with new event.
*
- * @param existingEvent the existing event in the EventQueue.
- * @param newEvent the new event to be posted to the EventQueue.
- *
- * @return the coalesced AWTEvent, or null if there is no coalescing done.
+ * @param existingEvent
+ * the existing event in the EventQueue.
+ * @param newEvent
+ * the new event to be posted to the EventQueue.
+ * @return the coalesced AWTEvent, or null if there is no coalescing done.
*/
protected AWTEvent coalesceEvents(AWTEvent existingEvent, AWTEvent newEvent) {
toolkit.lockAWT();
@@ -2147,7 +1940,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Checks if this Component is a coalescer.
*
- * @return true, if is coalescer
+ * @return true, if is coalescer.
*/
boolean isCoalescer() {
return coalescer;
@@ -2156,9 +1949,9 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Gets the relative event.
*
- * @param id the id
- *
- * @return the relative event
+ * @param id
+ * the id.
+ * @return the relative event.
*/
AWTEvent getRelativeEvent(int id) {
Integer idWrapper = new Integer(id);
@@ -2177,7 +1970,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Adds the new event.
*
- * @param event the event
+ * @param event
+ * the event.
*/
void addNewEvent(AWTEvent event) {
eventsList.addLast(event);
@@ -2193,7 +1987,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Removes the next event.
*
- * @param id the id
+ * @param id
+ * the id.
*/
void removeNextEvent(int id) {
eventsTable.get(new Integer(id)).removeFirst();
@@ -2202,8 +1997,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Creates the image with the specified ImageProducer.
*
- * @param producer the ImageProducer to be used for image creation.
- *
+ * @param producer
+ * the ImageProducer to be used for image creation.
* @return the image with the specified ImageProducer.
*/
public Image createImage(ImageProducer producer) {
@@ -2218,11 +2013,13 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Creates an off-screen drawable image to be used for double buffering.
*
- * @param width the width of the image.
- * @param height the height of the image.
- *
- * @return the off-screen drawable image or null if the component is not
- * displayable or GraphicsEnvironment.isHeadless() method returns true.
+ * @param width
+ * the width of the image.
+ * @param height
+ * the height of the image.
+ * @return the off-screen drawable image or null if the component is not
+ * displayable or GraphicsEnvironment.isHeadless() method returns
+ * true.
*/
public Image createImage(int width, int height) {
toolkit.lockAWT();
@@ -2245,17 +2042,19 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Creates an off-screen drawable image with the specified width,
- * height and ImageCapabilities.
+ * Creates an off-screen drawable image with the specified width, height and
+ * ImageCapabilities.
*
- * @param width the width
- * @param height the height
- * @param caps the ImageCapabilities.
- *
- * @return the volatile image
- *
- * @throws AWTException if an image with the specified capabilities
- * cannot be created.
+ * @param width
+ * the width.
+ * @param height
+ * the height.
+ * @param caps
+ * the ImageCapabilities.
+ * @return the volatile image.
+ * @throws AWTException
+ * if an image with the specified capabilities cannot be
+ * created.
*/
public VolatileImage createVolatileImage(int width, int height, ImageCapabilities caps)
throws AWTException {
@@ -2277,16 +2076,17 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Creates a volatile off-screen drawable image which is used
- * for double buffering.
- *
- * @param width the width of image.
- * @param height the height of image.
+ * Creates a volatile off-screen drawable image which is used for double
+ * buffering.
*
- * @return the volatile image a volatile off-screen drawable image
- * which is used for double buffering or null if the component
- * is not displayable, or GraphicsEnvironment.isHeadless() method
- * returns true.
+ * @param width
+ * the width of image.
+ * @param height
+ * the height of image.
+ * @return the volatile image a volatile off-screen drawable image which is
+ * used for double buffering or null if the component is not
+ * displayable, or GraphicsEnvironment.isHeadless() method returns
+ * true.
*/
public VolatileImage createVolatileImage(int width, int height) {
toolkit.lockAWT();
@@ -2311,9 +2111,12 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
* with the component's background color to prepare it for double-buffered
* painting.
*
- * @param image the image
- * @param width the width
- * @param height the height
+ * @param image
+ * the image.
+ * @param width
+ * the width.
+ * @param height
+ * the height.
*/
private void fillImageBackground(Image image, int width, int height) {
Graphics gr = image.getGraphics();
@@ -2325,8 +2128,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Delivers event.
*
- * @param evt the event.
- *
+ * @param evt
+ * the event.
* @deprecated Replaced by dispatchEvent(AWTEvent e) method.
*/
@Deprecated
@@ -2335,7 +2138,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Prompts the layout manager to lay out this component.
+ * Prompts the layout manager to lay out this component.
*/
public void doLayout() {
toolkit.lockAWT();
@@ -2350,9 +2153,12 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Fire property change impl.
*
- * @param propertyName the property name
- * @param oldValue the old value
- * @param newValue the new value
+ * @param propertyName
+ * the property name.
+ * @param oldValue
+ * the old value.
+ * @param newValue
+ * the new value.
*/
private void firePropertyChangeImpl(String propertyName, Object oldValue, Object newValue) {
PropertyChangeSupport pcs;
@@ -2368,32 +2174,40 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Reports a bound property changes for int properties.
*
- * @param propertyName the property name.
- * @param oldValue the old property's value.
- * @param newValue the new property's value.
+ * @param propertyName
+ * the property name.
+ * @param oldValue
+ * the old property's value.
+ * @param newValue
+ * the new property's value.
*/
protected void firePropertyChange(String propertyName, int oldValue, int newValue) {
firePropertyChangeImpl(propertyName, new Integer(oldValue), new Integer(newValue));
}
/**
- * Report a bound property change for a boolean-valued property.
- *
- * @param propertyName the property name.
- * @param oldValue the property's old value.
- * @param newValue the property's new value.
+ * Report a bound property change for a boolean-valued property.
+ *
+ * @param propertyName
+ * the property name.
+ * @param oldValue
+ * the property's old value.
+ * @param newValue
+ * the property's new value.
*/
protected void firePropertyChange(String propertyName, boolean oldValue, boolean newValue) {
- firePropertyChangeImpl(propertyName, Boolean.valueOf(oldValue), Boolean
- .valueOf(newValue));
+ firePropertyChangeImpl(propertyName, Boolean.valueOf(oldValue), Boolean.valueOf(newValue));
}
/**
- * Reports a bound property change for an Object-valued property.
+ * Reports a bound property change for an Object-valued property.
*
- * @param propertyName the property name.
- * @param oldValue the property's old value
- * @param newValue the property's new value
+ * @param propertyName
+ * the property name.
+ * @param oldValue
+ * the property's old value.
+ * @param newValue
+ * the property's new value.
*/
protected void firePropertyChange(final String propertyName, final Object oldValue,
final Object newValue) {
@@ -2401,75 +2215,93 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Report a bound property change for a byte-valued property.
+ * Report a bound property change for a byte-valued property.
*
- * @param propertyName the property name.
- * @param oldValue the property's old value.
- * @param newValue the property's new value.
+ * @param propertyName
+ * the property name.
+ * @param oldValue
+ * the property's old value.
+ * @param newValue
+ * the property's new value.
*/
public void firePropertyChange(String propertyName, byte oldValue, byte newValue) {
firePropertyChangeImpl(propertyName, new Byte(oldValue), new Byte(newValue));
}
/**
- * Report a bound property change for a char-valued property.
+ * Report a bound property change for a char-valued property.
*
- * @param propertyName the property name.
- * @param oldValue the old property's value.
- * @param newValue the new property's value.
+ * @param propertyName
+ * the property name.
+ * @param oldValue
+ * the old property's value.
+ * @param newValue
+ * the new property's value.
*/
public void firePropertyChange(String propertyName, char oldValue, char newValue) {
firePropertyChangeImpl(propertyName, new Character(oldValue), new Character(newValue));
}
/**
- * Report a bound property change for a short-valued property.
+ * Report a bound property change for a short-valued property.
*
- * @param propertyName the property name.
- * @param oldValue the old property's value.
- * @param newValue the new property's value.
+ * @param propertyName
+ * the property name.
+ * @param oldValue
+ * the old property's value.
+ * @param newValue
+ * the new property's value.
*/
public void firePropertyChange(String propertyName, short oldValue, short newValue) {
firePropertyChangeImpl(propertyName, new Short(oldValue), new Short(newValue));
}
/**
- * Report a bound property change for a long-valued property.
+ * Report a bound property change for a long-valued property.
*
- * @param propertyName the property name.
- * @param oldValue the old property's value.
- * @param newValue the new property's value.
+ * @param propertyName
+ * the property name.
+ * @param oldValue
+ * the old property's value.
+ * @param newValue
+ * the new property's value.
*/
public void firePropertyChange(String propertyName, long oldValue, long newValue) {
firePropertyChangeImpl(propertyName, new Long(oldValue), new Long(newValue));
}
/**
- * Report a bound property change for a float-valued property.
+ * Report a bound property change for a float-valued property.
*
- * @param propertyName the property name.
- * @param oldValue the old property's value.
- * @param newValue the new property's value.
+ * @param propertyName
+ * the property name.
+ * @param oldValue
+ * the old property's value.
+ * @param newValue
+ * the new property's value.
*/
public void firePropertyChange(String propertyName, float oldValue, float newValue) {
firePropertyChangeImpl(propertyName, new Float(oldValue), new Float(newValue));
}
/**
- * Report a bound property change for a double-valued property.
+ * Report a bound property change for a double-valued property.
*
- * @param propertyName the property name.
- * @param oldValue the old property's value.
- * @param newValue the new property's value.
+ * @param propertyName
+ * the property name.
+ * @param oldValue
+ * the old property's value.
+ * @param newValue
+ * the new property's value.
*/
public void firePropertyChange(String propertyName, double oldValue, double newValue) {
firePropertyChangeImpl(propertyName, new Double(oldValue), new Double(newValue));
}
/**
- * Gets the alignment along the x axis.
+ * Gets the alignment along the x axis.
*
- * @return the alignment along the x axis.
+ * @return the alignment along the x axis.
*/
public float getAlignmentX() {
toolkit.lockAWT();
@@ -2481,7 +2313,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Gets the alignment along the y axis.
+ * Gets the alignment along the y axis.
*
* @return the alignment along y axis.
*/
@@ -2502,12 +2334,11 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
public Color getBackground() {
toolkit.lockAWT();
try {
- //???AWT
+ // ???AWT
/*
- if ((backColor == null) && (parent != null)) {
- return parent.getBackground();
- }
- */
+ * if ((backColor == null) && (parent != null)) { return
+ * parent.getBackground(); }
+ */
return backColor;
} finally {
toolkit.unlockAWT();
@@ -2529,11 +2360,12 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Writes the data of the bounding rectangle to the specified
- * Rectangle object.
- *
- * @param rv the Rectangle object where the bounding rectangle's data is stored.
+ * Writes the data of the bounding rectangle to the specified Rectangle
+ * object.
*
+ * @param rv
+ * the Rectangle object where the bounding rectangle's data is
+ * stored.
* @return the bounding rectangle.
*/
public Rectangle getBounds(Rectangle rv) {
@@ -2566,8 +2398,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Gets the Component which contains the specified Point.
*
- * @param p the Point.
- *
+ * @param p
+ * the Point.
* @return the Component which contains the specified Point.
*/
public Component getComponentAt(Point p) {
@@ -2580,14 +2412,15 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Gets the Component which contains the point with the
- * specified coordinates.
- *
- * @param x the x coordinate of the point.
- * @param y the y coordinate of the point.
+ * Gets the Component which contains the point with the specified
+ * coordinates.
*
- * @return the Component which contains the point with the
- * specified coordinates.
+ * @param x
+ * the x coordinate of the point.
+ * @param y
+ * the y coordinate of the point.
+ * @return the Component which contains the point with the specified
+ * coordinates.
*/
public Component getComponentAt(int x, int y) {
toolkit.lockAWT();
@@ -2622,11 +2455,10 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
try {
if (cursor != null) {
return cursor;
- //???AWT
- /*
- } else if (parent != null) {
- return parent.getCursor();
- */
+ // ???AWT
+ /*
+ * } else if (parent != null) { return parent.getCursor();
+ */
}
return Cursor.getDefaultCursor();
} finally {
@@ -2634,57 +2466,29 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
}
- //???AWT
+ // ???AWT
/*
- public DropTarget getDropTarget() {
- toolkit.lockAWT();
- try {
- return dropTarget;
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public Container getFocusCycleRootAncestor() {
- toolkit.lockAWT();
- try {
- for (Container c = parent; c != null; c = c.getParent()) {
- if (c.isFocusCycleRoot()) {
- return c;
- }
- }
- return null;
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- @SuppressWarnings("unchecked")
- public Set<AWTKeyStroke> getFocusTraversalKeys(int id) {
- toolkit.lockAWT();
- try {
- Integer kId = new Integer(id);
- KeyboardFocusManager.checkTraversalKeysID(traversalKeys, kId);
- Set<? extends AWTKeyStroke> keys = traversalKeys.get(kId);
- if (keys == null && parent != null) {
- keys = parent.getFocusTraversalKeys(id);
- }
- if (keys == null) {
- keys = KeyboardFocusManager.getCurrentKeyboardFocusManager()
- .getDefaultFocusTraversalKeys(id);
- }
- return (Set<AWTKeyStroke>) keys;
- } finally {
- toolkit.unlockAWT();
- }
- }
- */
-
+ * public DropTarget getDropTarget() { toolkit.lockAWT(); try { return
+ * dropTarget; } finally { toolkit.unlockAWT(); } } public Container
+ * getFocusCycleRootAncestor() { toolkit.lockAWT(); try { for (Container c =
+ * parent; c != null; c = c.getParent()) { if (c.isFocusCycleRoot()) {
+ * return c; } } return null; } finally { toolkit.unlockAWT(); } }
+ * @SuppressWarnings("unchecked") public Set<AWTKeyStroke>
+ * getFocusTraversalKeys(int id) { toolkit.lockAWT(); try { Integer kId =
+ * new Integer(id); KeyboardFocusManager.checkTraversalKeysID(traversalKeys,
+ * kId); Set<? extends AWTKeyStroke> keys = traversalKeys.get(kId); if (keys
+ * == null && parent != null) { keys = parent.getFocusTraversalKeys(id); }
+ * if (keys == null) { keys =
+ * KeyboardFocusManager.getCurrentKeyboardFocusManager()
+ * .getDefaultFocusTraversalKeys(id); } return (Set<AWTKeyStroke>) keys; }
+ * finally { toolkit.unlockAWT(); } }
+ */
+
/**
* Checks if the the focus traversal keys are enabled for this component.
*
- * @return true, if the the focus traversal keys are enabled for
- * this component, false otherwise.
+ * @return true, if the the focus traversal keys are enabled for this
+ * component, false otherwise.
*/
public boolean getFocusTraversalKeysEnabled() {
toolkit.lockAWT();
@@ -2698,8 +2502,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Gets the font metrics of the specified Font.
*
- * @param f the Font.
- *
+ * @param f
+ * the Font.
* @return the FontMetrics of the specified Font.
*/
@SuppressWarnings("deprecation")
@@ -2715,12 +2519,11 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
public Color getForeground() {
toolkit.lockAWT();
try {
- //???AWT
+ // ???AWT
/*
- if (foreColor == null && parent != null) {
- return parent.getForeground();
- }
- */
+ * if (foreColor == null && parent != null) { return
+ * parent.getForeground(); }
+ */
return foreColor;
} finally {
toolkit.unlockAWT();
@@ -2728,11 +2531,11 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Gets the Graphics of the Component or null if this Component
- * is not displayable.
+ * Gets the Graphics of the Component or null if this Component is not
+ * displayable.
*
- * @return the Graphics of the Component or null if this Component
- * is not displayable.
+ * @return the Graphics of the Component or null if this Component is not
+ * displayable.
*/
public Graphics getGraphics() {
toolkit.lockAWT();
@@ -2749,26 +2552,18 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
}
-
/**
* Gets the GraphicsConfiguration associated with this Component.
*
* @return the GraphicsConfiguration associated with this Component.
*/
public GraphicsConfiguration getGraphicsConfiguration() {
- //???AWT
+ // ???AWT
/*
- toolkit.lockAWT();
- try {
- Window win = getWindowAncestor();
- if (win == null) {
- return null;
- }
- return win.getGraphicsConfiguration();
- } finally {
- toolkit.unlockAWT();
- }
- */
+ * toolkit.lockAWT(); try { Window win = getWindowAncestor(); if (win ==
+ * null) { return null; } return win.getGraphicsConfiguration(); }
+ * finally { toolkit.unlockAWT(); }
+ */
return null;
}
@@ -2787,11 +2582,11 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Returns true if paint messages received from the operating system
- * should be ignored.
+ * Returns true if paint messages received from the operating system should
+ * be ignored.
*
- * @return true if paint messages received from the operating system
- * should be ignored, false otherwise.
+ * @return true if paint messages received from the operating system should
+ * be ignored, false otherwise.
*/
public boolean getIgnoreRepaint() {
toolkit.lockAWT();
@@ -2803,23 +2598,20 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Gets the input context of this component for handling
- * the communication with input methods when text is entered
- * in this component.
+ * Gets the input context of this component for handling the communication
+ * with input methods when text is entered in this component.
*
- * @return the InputContext used by this Component or
- * null if no context is specifined.
+ * @return the InputContext used by this Component or null if no context is
+ * specifined.
*/
public InputContext getInputContext() {
toolkit.lockAWT();
try {
- //???AWT
+ // ???AWT
/*
- Container parent = getParent();
- if (parent != null) {
- return parent.getInputContext();
- }
- */
+ * Container parent = getParent(); if (parent != null) { return
+ * parent.getInputContext(); }
+ */
return null;
} finally {
toolkit.unlockAWT();
@@ -2827,11 +2619,11 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Gets the input method request handler which supports requests
- * from input methods for this component, or null for default.
+ * Gets the input method request handler which supports requests from input
+ * methods for this component, or null for default.
*
- * @return the input method request handler which supports requests
- * from input methods for this component, or null for default.
+ * @return the input method request handler which supports requests from
+ * input methods for this component, or null for default.
*/
public InputMethodRequests getInputMethodRequests() {
return null;
@@ -2845,19 +2637,14 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
public Locale getLocale() {
toolkit.lockAWT();
try {
- //???AWT
+ // ???AWT
/*
- if (locale == null) {
- if (parent == null) {
- if (this instanceof Window) {
- return Locale.getDefault();
- }
- // awt.150=no parent
- throw new IllegalComponentStateException(Messages.getString("awt.150")); //$NON-NLS-1$
- }
- return getParent().getLocale();
- }
- */
+ * if (locale == null) { if (parent == null) { if (this instanceof
+ * Window) { return Locale.getDefault(); } // awt.150=no parent
+ * throw new
+ * IllegalComponentStateException(Messages.getString("awt.150"));
+ * //$NON-NLS-1$ } return getParent().getLocale(); }
+ */
return locale;
} finally {
toolkit.unlockAWT();
@@ -2865,35 +2652,30 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Gets the location of this component in the form of a point
- * specifying the component's top-left corner in the
- * screen's coordinate space.
+ * Gets the location of this component in the form of a point specifying the
+ * component's top-left corner in the screen's coordinate space.
*
- * @return the Point giving the component's location in the
- * screen's coordinate space.
- *
- * @throws IllegalComponentStateException if the component is
- * not shown on the screen.
+ * @return the Point giving the component's location in the screen's
+ * coordinate space.
+ * @throws IllegalComponentStateException
+ * if the component is not shown on the screen.
*/
public Point getLocationOnScreen() throws IllegalComponentStateException {
toolkit.lockAWT();
try {
Point p = new Point();
if (isShowing()) {
- //???AWT
+ // ???AWT
/*
- Component comp;
- for (comp = this; comp != null && !(comp instanceof Window); comp = comp
- .getParent()) {
- p.translate(comp.getX(), comp.getY());
- }
- if (comp instanceof Window) {
- p.translate(comp.getX(), comp.getY());
- }
- */
+ * Component comp; for (comp = this; comp != null && !(comp
+ * instanceof Window); comp = comp .getParent()) {
+ * p.translate(comp.getX(), comp.getY()); } if (comp instanceof
+ * Window) { p.translate(comp.getX(), comp.getY()); }
+ */
return p;
}
- // awt.151=component must be showing on the screen to determine its location
+ // awt.151=component must be showing on the screen to determine its
+ // location
throw new IllegalComponentStateException(Messages.getString("awt.151")); //$NON-NLS-1$
} finally {
toolkit.unlockAWT();
@@ -2901,11 +2683,10 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Gets the peer. This method should not be called directly by
- * user applications.
+ * Gets the peer. This method should not be called directly by user
+ * applications.
*
* @return the ComponentPeer.
- *
* @deprecated Replaced by isDisplayable().
*/
@Deprecated
@@ -2922,24 +2703,24 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Gets an array of the property change listeners registered to
- * this Component.
+ * Gets an array of the property change listeners registered to this
+ * Component.
*
- * @return an array of the PropertyChangeListeners registered to
- * this Component.
+ * @return an array of the PropertyChangeListeners registered to this
+ * Component.
*/
public PropertyChangeListener[] getPropertyChangeListeners() {
return getPropertyChangeSupport().getPropertyChangeListeners();
}
/**
- * Gets an array of PropertyChangeListener objects registered
- * to this Component for the specified property.
- *
- * @param propertyName the property name.
+ * Gets an array of PropertyChangeListener objects registered to this
+ * Component for the specified property.
*
- * @return an array of PropertyChangeListener objects registered
- * to this Component for the specified property.
+ * @param propertyName
+ * the property name.
+ * @return an array of PropertyChangeListener objects registered to this
+ * Component for the specified property.
*/
public PropertyChangeListener[] getPropertyChangeListeners(String propertyName) {
return getPropertyChangeSupport().getPropertyChangeListeners(propertyName);
@@ -2990,11 +2771,11 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Got the focus.
*
- * @param evt the Event.
- * @param what the Object.
- *
+ * @param evt
+ * the Event.
+ * @param what
+ * the Object.
* @return true, if successful.
- *
* @deprecated Replaced by processFocusEvent(FocusEvent) method.
*/
@Deprecated
@@ -3007,10 +2788,9 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Handles event.
*
- * @param evt the Event.
- *
+ * @param evt
+ * the Event.
* @return true, if successful.
- *
* @deprecated Replaced by processEvent(AWTEvent) method.
*/
@Deprecated
@@ -3052,7 +2832,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
public boolean hasFocus() {
toolkit.lockAWT();
try {
- //???AWT: return isFocusOwner();
+ // ???AWT: return isFocusOwner();
return false;
} finally {
toolkit.unlockAWT();
@@ -3076,24 +2856,24 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
moveFocusOnHide();
behaviour.setVisible(false);
postEvent(new ComponentEvent(this, ComponentEvent.COMPONENT_HIDDEN));
- //???AWT: finishHierarchyChange(this, parent, 0);
+ // ???AWT: finishHierarchyChange(this, parent, 0);
notifyInputMethod(null);
- //???AWT: invalidateRealParent();
+ // ???AWT: invalidateRealParent();
} finally {
toolkit.unlockAWT();
}
}
/**
- * Checks whether or not the point with the specified coordinates
- * belongs to the Commponent.
- *
- * @param x the x coordinate of the Point.
- * @param y the y coordinate of the Point.
- *
- * @return true, if the point with the specified coordinates
- * belongs to the Commponent, false otherwise.
+ * Checks whether or not the point with the specified coordinates belongs to
+ * the Commponent.
*
+ * @param x
+ * the x coordinate of the Point.
+ * @param y
+ * the y coordinate of the Point.
+ * @return true, if the point with the specified coordinates belongs to the
+ * Commponent, false otherwise.
* @deprecated Replaced by contains(int, int) method.
*/
@Deprecated
@@ -3107,15 +2887,15 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Invalidates the component, this component and all parents
- * above it are marked as needing to be laid out.
+ * Invalidates the component, this component and all parents above it are
+ * marked as needing to be laid out.
*/
public void invalidate() {
toolkit.lockAWT();
try {
valid = false;
resetDefaultSize();
- //???AWT: invalidateRealParent();
+ // ???AWT: invalidateRealParent();
} finally {
toolkit.unlockAWT();
}
@@ -3124,8 +2904,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Checks whether or not the background color is set to this Component.
*
- * @return true, if the background color is set to this Component,
- * false otherwise.
+ * @return true, if the background color is set to this Component, false
+ * otherwise.
*/
public boolean isBackgroundSet() {
toolkit.lockAWT();
@@ -3139,8 +2919,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Checks whether or not a cursor is set for the Component.
*
- * @return true, if a cursor is set for the Component,
- * false otherwise.
+ * @return true, if a cursor is set for the Component, false otherwise.
*/
public boolean isCursorSet() {
toolkit.lockAWT();
@@ -3166,11 +2945,11 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Checks whether or not this component is painted to an buffer
- * which is copied to the screen later.
+ * Checks whether or not this component is painted to an buffer which is
+ * copied to the screen later.
*
- * @return true, if this component is painted to an buffer
- * which is copied to the screen later, false otherwise.
+ * @return true, if this component is painted to an buffer which is copied
+ * to the screen later, false otherwise.
*/
public boolean isDoubleBuffered() {
toolkit.lockAWT();
@@ -3200,7 +2979,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
* "Recursive" isEnabled().
*
* @return true if not only component itself is enabled but its heavyweight
- * parent is also "indirectly" enabled
+ * parent is also "indirectly" enabled.
*/
boolean isIndirectlyEnabled() {
Component comp = this;
@@ -3208,7 +2987,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
if (!comp.isLightweight() && !comp.isEnabled()) {
return false;
}
- //???AWT: comp = comp.getRealParent();
+ // ???AWT: comp = comp.getRealParent();
}
return true;
}
@@ -3216,7 +2995,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Checks if the component is key enabled.
*
- * @return true, if the component is enabled and indirectly enabled
+ * @return true, if the component is enabled and indirectly enabled.
*/
boolean isKeyEnabled() {
if (!isEnabled()) {
@@ -3229,39 +3008,24 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
* Gets only parent of a child component, but not owner of a window.
*
* @return parent of child component, null if component is a top-level
- * (Window instance)
+ * (Window instance).
*/
- //???AWT
+ // ???AWT
/*
- Container getRealParent() {
- return (!(this instanceof Window) ? getParent() : null);
- }
-
- public boolean isFocusCycleRoot(Container container) {
- toolkit.lockAWT();
- try {
- return getFocusCycleRootAncestor() == container;
- } finally {
- toolkit.unlockAWT();
- }
- }
+ * Container getRealParent() { return (!(this instanceof Window) ?
+ * getParent() : null); } public boolean isFocusCycleRoot(Container
+ * container) { toolkit.lockAWT(); try { return getFocusCycleRootAncestor()
+ * == container; } finally { toolkit.unlockAWT(); } } public boolean
+ * isFocusOwner() { toolkit.lockAWT(); try { return
+ * KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner() ==
+ * this; } finally { toolkit.unlockAWT(); } }
+ */
- public boolean isFocusOwner() {
- toolkit.lockAWT();
- try {
- return KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner() == this;
- } finally {
- toolkit.unlockAWT();
- }
- }
- */
-
/**
* Checks whether or not this Component can be focusable.
*
* @return true, if this Component can be focusable, false otherwise.
- *
- * @deprecated Replaced by isFocusable().
+ * @deprecated Replaced by isFocusable().
*/
@Deprecated
public boolean isFocusTraversable() {
@@ -3306,8 +3070,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Checks if foreground color is set for the Component or not.
*
- * @return true, if is foreground color is set for the Component,
- * false otherwise.
+ * @return true, if is foreground color is set for the Component, false
+ * otherwise.
*/
public boolean isForegroundSet() {
toolkit.lockAWT();
@@ -3321,8 +3085,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Returns true if this component has a lightweight peer.
*
- * @return true, if this component has a lightweight peer,
- * false if it has a native peer or no peer.
+ * @return true, if this component has a lightweight peer, false if it has a
+ * native peer or no peer.
*/
public boolean isLightweight() {
toolkit.lockAWT();
@@ -3333,22 +3097,18 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
}
-
/**
* Checks whether or not this Component is shown.
*
* @return true, if this Component is shown, false otherwise.
*/
public boolean isShowing() {
- //???AWT
+ // ???AWT
/*
- toolkit.lockAWT();
- try {
- return (isVisible() && isDisplayable() && (parent != null) && parent.isShowing());
- } finally {
- toolkit.unlockAWT();
- }
- */
+ * toolkit.lockAWT(); try { return (isVisible() && isDisplayable() &&
+ * (parent != null) && parent.isShowing()); } finally {
+ * toolkit.unlockAWT(); }
+ */
return false;
}
@@ -3369,11 +3129,11 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Deprecated: replaced by processKeyEvent(KeyEvent) method.
*
- * @param evt the Event.
- * @param key the key code.
- *
+ * @param evt
+ * the Event.
+ * @param key
+ * the key code.
* @return true, if successful.
- *
* @deprecated Replaced by replaced by processKeyEvent(KeyEvent) method.
*/
@Deprecated
@@ -3386,11 +3146,11 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Deprecated: replaced by processKeyEvent(KeyEvent) method.
*
- * @param evt the Event.
- * @param key the key code.
- *
+ * @param evt
+ * the Event.
+ * @param key
+ * the key code.
* @return true, if successful.
- *
* @deprecated Replaced by processKeyEvent(KeyEvent) method.
*/
@Deprecated
@@ -3418,11 +3178,11 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Deprecated: replaced by getComponentAt(int, int) method.
*
- * @param x the x coordinate.
- * @param y the y coordinate.
- *
+ * @param x
+ * the x coordinate.
+ * @param y
+ * the y coordinate.
* @return The component.
- *
* @deprecated Replaced by getComponentAt(int, int) method.
*/
@Deprecated
@@ -3439,13 +3199,13 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Deprecated: replaced by processFocusEvent(FocusEvent).
- *
- * @param evt the Event.
- * @param what the Object.
+ * Deprecated: replaced by processFocusEvent(FocusEvent).
*
+ * @param evt
+ * the Event.
+ * @param what
+ * the Object.
* @return true, if successful.
- *
* @deprecated Replaced by processFocusEvent(FocusEvent).
*/
@Deprecated
@@ -3458,12 +3218,13 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Deprecated: replaced by processMouseEvent(MouseEvent) method.
*
- * @param evt the MouseEvent.
- * @param x the x coordinate.
- * @param y the y coordinate.
- *
+ * @param evt
+ * the MouseEvent.
+ * @param x
+ * the x coordinate.
+ * @param y
+ * the y coordinate.
* @return true, if successful.
- *
* @deprecated Replaced by processMouseEvent(MouseEvent) method.
*/
@Deprecated
@@ -3476,12 +3237,13 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Deprecated: replaced by getMinimumSize() method.
*
- * @param evt the Event.
- * @param x the x coordinate.
- * @param y the y coordinate.
- *
+ * @param evt
+ * the Event.
+ * @param x
+ * the x coordinate.
+ * @param y
+ * the y coordinate.
* @return true, if successful.
- *
* @deprecated Replaced by getMinimumSize() method.
*/
@Deprecated
@@ -3494,12 +3256,13 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Replaced by processMouseEvent(MouseEvent) method.
*
- * @param evt the Event.
- * @param x the x coordinate.
- * @param y the y coordinate.
- *
+ * @param evt
+ * the Event.
+ * @param x
+ * the x coordinate.
+ * @param y
+ * the y coordinate.
* @return true, if successful.
- *
* @deprecated replaced by processMouseEvent(MouseEvent) method.
*/
@Deprecated
@@ -3512,12 +3275,13 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Replaced by processMouseEvent(MouseEvent) method.
*
- * @param evt the Event.
- * @param x the x coordinate.
- * @param y the y coordinate.
- *
+ * @param evt
+ * the Event.
+ * @param x
+ * the x coordinate.
+ * @param y
+ * the y coordinate.
* @return true, if successful.
- *
* @deprecated Replaced by processMouseEvent(MouseEvent) method.
*/
@Deprecated
@@ -3530,12 +3294,13 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Replaced by processMouseEvent(MouseEvent) method.
*
- * @param evt the Event.
- * @param x the x coordinate.
- * @param y the y coordinate.
- *
+ * @param evt
+ * the Event.
+ * @param x
+ * the x coordinate.
+ * @param y
+ * the y coordinate.
* @deprecated Replaced by processMouseEvent(MouseEvent) method.
- *
* @return true, if successful.
*/
@Deprecated
@@ -3548,12 +3313,13 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Replaced by processMouseEvent(MouseEvent) method.
*
- * @param evt the Event.
- * @param x the x coordinate.
- * @param y the y coordinate.
- *
+ * @param evt
+ * the Event.
+ * @param x
+ * the x coordinate.
+ * @param y
+ * the y coordinate.
* @return true, if successful.
- *
* @deprecated Replaced by processMouseEvent(MouseEvent) method.
*/
@Deprecated
@@ -3566,9 +3332,10 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Deprecated: replaced by setLocation(int, int) method.
*
- * @param x the x coordinates.
- * @param y the y coordinates.
- *
+ * @param x
+ * the x coordinates.
+ * @param y
+ * the y coordinates.
* @deprecated Replaced by setLocation(int, int) method.
*/
@Deprecated
@@ -3582,18 +3349,12 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
}
- //???AWT
+ // ???AWT
/*
- @Deprecated
- public void nextFocus() {
- toolkit.lockAWT();
- try {
- transferFocus(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS);
- } finally {
- toolkit.unlockAWT();
- }
- }
- */
+ * @Deprecated public void nextFocus() { toolkit.lockAWT(); try {
+ * transferFocus(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS); } finally {
+ * toolkit.unlockAWT(); } }
+ */
/**
* Returns a string representation of the component's state.
@@ -3603,10 +3364,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
protected String paramString() {
/*
* The format is based on 1.5 release behavior which can be revealed by
- * the following code:
- *
- * Component c = new Component(){}; c.setVisible(false);
- * System.out.println(c);
+ * the following code: Component c = new Component(){};
+ * c.setVisible(false); System.out.println(c);
*/
toolkit.lockAWT();
try {
@@ -3624,35 +3383,27 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
if (handled) {
return true;
}
- //???AWT
+ // ???AWT
/*
-
- // propagate non-handled events up to parent
- Component par = parent;
- // try to call postEvent only on components which
- // override any of deprecated method handlers
- // while (par != null && !par.deprecatedEventHandler) {
- // par = par.parent;
- // }
- // translate event coordinates before posting it to parent
- if (par != null) {
- evt.translate(x, y);
- par.postEvent(evt);
- }
-
- */
+ * // propagate non-handled events up to parent Component par = parent;
+ * // try to call postEvent only on components which // override any of
+ * deprecated method handlers // while (par != null &&
+ * !par.deprecatedEventHandler) { // par = par.parent; // } // translate
+ * event coordinates before posting it to parent if (par != null) {
+ * evt.translate(x, y); par.postEvent(evt); }
+ */
return false;
}
/**
- * Prepares an image for rendering on the Component.
- *
- * @param image the Image to be prepared.
- * @param observer the ImageObserver object to be notified as soon as
- * the image is prepared.
+ * Prepares an image for rendering on the Component.
*
- * @return true if the image has been fully prepared,
- * false otherwise.
+ * @param image
+ * the Image to be prepared.
+ * @param observer
+ * the ImageObserver object to be notified as soon as the image
+ * is prepared.
+ * @return true if the image has been fully prepared, false otherwise.
*/
public boolean prepareImage(Image image, ImageObserver observer) {
toolkit.lockAWT();
@@ -3664,17 +3415,19 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Prepares an image for rendering on the Component with the
- * specified width, height, and ImageObserver.
+ * Prepares an image for rendering on the Component with the specified
+ * width, height, and ImageObserver.
*
- * @param image the Image to be prepared.
- * @param width the width of scaled image.
- * @param height the height of scaled height.
- * @param observer the ImageObserver object to be notified as soon as
- * the image is prepared.
- *
- * @return true if the image is been fully prepared,
- * false otherwise.
+ * @param image
+ * the Image to be prepared.
+ * @param width
+ * the width of scaled image.
+ * @param height
+ * the height of scaled height.
+ * @param observer
+ * the ImageObserver object to be notified as soon as the image
+ * is prepared.
+ * @return true if the image is been fully prepared, false otherwise.
*/
public boolean prepareImage(Image image, int width, int height, ImageObserver observer) {
toolkit.lockAWT();
@@ -3691,16 +3444,14 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
public void removeNotify() {
toolkit.lockAWT();
try {
- //???AWT
+ // ???AWT
/*
- if (dropTarget != null) {
- dropTarget.removeNotify(peer);
- }
- */
+ * if (dropTarget != null) { dropTarget.removeNotify(peer); }
+ */
prepare4HierarchyChange();
- ///???AWT: moveFocus();
+ // /???AWT: moveFocus();
behaviour.removeNotify();
- //???AWT: finishHierarchyChange(this, parent, 0);
+ // ???AWT: finishHierarchyChange(this, parent, 0);
removeNotifyInputContext();
} finally {
toolkit.unlockAWT();
@@ -3708,7 +3459,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Calls InputContext.removeNotify
+ * Calls InputContext.removeNotify.
*/
private void removeNotifyInputContext() {
if (!inputMethodsEnabled) {
@@ -3716,7 +3467,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
InputContext ic = getInputContext();
if (ic != null) {
- //???AWT: ic.removeNotify(this);
+ // ???AWT: ic.removeNotify(this);
}
}
@@ -3726,46 +3477,25 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
* setFocusable(false) is called, and therefore automatic forward focus
* traversal is necessary
*/
- //???AWT
+ // ???AWT
/*
- void moveFocus() {
- // don't use transferFocus(), but query focus traversal policy directly
- // and if it returns null, transfer focus up cycle
- // and find next focusable component there
- KeyboardFocusManager kfm = KeyboardFocusManager.getCurrentKeyboardFocusManager();
- Container root = kfm.getCurrentFocusCycleRoot();
- Component nextComp = this;
- boolean success = !isFocusOwner();
- while (!success) {
- if (root != nextComp.getFocusCycleRootAncestor()) {
- // component was probably removed from container
- // so focus will be lost in some time
- return;
- }
- nextComp = root.getFocusTraversalPolicy().getComponentAfter(root, nextComp);
- if (nextComp == this) {
- nextComp = null; // avoid looping
- }
- if (nextComp != null) {
- success = nextComp.requestFocusInWindow();
- } else {
- nextComp = root;
- root = root.getFocusCycleRootAncestor();
- // if no acceptable component is found at all - clear global
- // focus owner
- if (root == null) {
- if (nextComp instanceof Window) {
- Window wnd = (Window) nextComp;
- wnd.setFocusOwner(null);
- wnd.setRequestedFocus(null);
- }
- kfm.clearGlobalFocusOwner();
- return;
- }
- }
- }
- }
- */
+ * void moveFocus() { // don't use transferFocus(), but query focus
+ * traversal policy directly // and if it returns null, transfer focus up
+ * cycle // and find next focusable component there KeyboardFocusManager kfm
+ * = KeyboardFocusManager.getCurrentKeyboardFocusManager(); Container root =
+ * kfm.getCurrentFocusCycleRoot(); Component nextComp = this; boolean
+ * success = !isFocusOwner(); while (!success) { if (root !=
+ * nextComp.getFocusCycleRootAncestor()) { // component was probably removed
+ * from container // so focus will be lost in some time return; } nextComp =
+ * root.getFocusTraversalPolicy().getComponentAfter(root, nextComp); if
+ * (nextComp == this) { nextComp = null; // avoid looping } if (nextComp !=
+ * null) { success = nextComp.requestFocusInWindow(); } else { nextComp =
+ * root; root = root.getFocusCycleRootAncestor(); // if no acceptable
+ * component is found at all - clear global // focus owner if (root == null)
+ * { if (nextComp instanceof Window) { Window wnd = (Window) nextComp;
+ * wnd.setFocusOwner(null); wnd.setRequestedFocus(null); }
+ * kfm.clearGlobalFocusOwner(); return; } } } }
+ */
/**
* For Container there's a difference between moving focus when being made
@@ -3774,80 +3504,73 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
* setVisible() is not called.
*/
void moveFocusOnHide() {
- //???AWT: moveFocus();
+ // ???AWT: moveFocus();
}
/**
* Removes the property change listener registered for this component.
*
- * @param listener the PropertyChangeListener.
+ * @param listener
+ * the PropertyChangeListener.
*/
public void removePropertyChangeListener(PropertyChangeListener listener) {
getPropertyChangeSupport().removePropertyChangeListener(listener);
}
/**
- * Removes the property change listener registered fot this component
- * for the specified propertyy.
+ * Removes the property change listener registered fot this component for
+ * the specified propertyy.
*
- * @param propertyName the property name.
- * @param listener the PropertyChangeListener.
+ * @param propertyName
+ * the property name.
+ * @param listener
+ * the PropertyChangeListener.
*/
- public void removePropertyChangeListener(String propertyName,
- PropertyChangeListener listener) {
+ public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener) {
getPropertyChangeSupport().removePropertyChangeListener(propertyName, listener);
}
-
/**
- * Repaints the specified rectangle of this component within
- * tm milliseconds.
+ * Repaints the specified rectangle of this component within tm
+ * milliseconds.
*
- * @param tm the time in milliseconds before updating.
- * @param x the x coordinate of Rectangle.
- * @param y the y coordinate of Rectangle.
- * @param width the width of Rectangle.
- * @param height the height of Rectangle.
+ * @param tm
+ * the time in milliseconds before updating.
+ * @param x
+ * the x coordinate of Rectangle.
+ * @param y
+ * the y coordinate of Rectangle.
+ * @param width
+ * the width of Rectangle.
+ * @param height
+ * the height of Rectangle.
*/
public void repaint(long tm, int x, int y, int width, int height) {
- //???AWT
+ // ???AWT
/*
- toolkit.lockAWT();
- try {
- if (width <= 0 || height <= 0 || (redrawManager == null) || !isShowing()) {
- return;
- }
- if (behaviour instanceof LWBehavior) {
- if (parent == null || !parent.visible || !parent.behaviour.isDisplayable()) {
- return;
- }
- if (repaintRegion == null) {
- repaintRegion = new MultiRectArea(new Rectangle(x, y, width, height));
- }
- repaintRegion.intersect(new Rectangle(0, 0, this.w, this.h));
- repaintRegion.translate(this.x, this.y);
- parent.repaintRegion = repaintRegion;
- repaintRegion = null;
- parent.repaint(tm, x + this.x, y + this.y, width, height);
- } else {
- if (repaintRegion != null) {
- redrawManager.addUpdateRegion(this, repaintRegion);
- repaintRegion = null;
- } else {
- redrawManager.addUpdateRegion(this, new Rectangle(x, y, width, height));
- }
- toolkit.getSystemEventQueueCore().notifyEventMonitor(toolkit);
- }
- } finally {
- toolkit.unlockAWT();
- }
- */
+ * toolkit.lockAWT(); try { if (width <= 0 || height <= 0 ||
+ * (redrawManager == null) || !isShowing()) { return; } if (behaviour
+ * instanceof LWBehavior) { if (parent == null || !parent.visible ||
+ * !parent.behaviour.isDisplayable()) { return; } if (repaintRegion ==
+ * null) { repaintRegion = new MultiRectArea(new Rectangle(x, y, width,
+ * height)); } repaintRegion.intersect(new Rectangle(0, 0, this.w,
+ * this.h)); repaintRegion.translate(this.x, this.y);
+ * parent.repaintRegion = repaintRegion; repaintRegion = null;
+ * parent.repaint(tm, x + this.x, y + this.y, width, height); } else {
+ * if (repaintRegion != null) { redrawManager.addUpdateRegion(this,
+ * repaintRegion); repaintRegion = null; } else {
+ * redrawManager.addUpdateRegion(this, new Rectangle(x, y, width,
+ * height)); }
+ * toolkit.getSystemEventQueueCore().notifyEventMonitor(toolkit); } }
+ * finally { toolkit.unlockAWT(); }
+ */
}
/**
* Post event.
*
- * @param e the e
+ * @param e
+ * the e.
*/
void postEvent(AWTEvent e) {
getToolkit().getSystemEventQueueImpl().postEvent(e);
@@ -3856,10 +3579,14 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Repaints the specified Rectangle of this Component.
*
- * @param x the x coordinate of Rectangle.
- * @param y the y coordinate of Rectangle.
- * @param width the width of Rectangle.
- * @param height the height of Rectangle.
+ * @param x
+ * the x coordinate of Rectangle.
+ * @param y
+ * the y coordinate of Rectangle.
+ * @param width
+ * the width of Rectangle.
+ * @param height
+ * the height of Rectangle.
*/
public void repaint(int x, int y, int width, int height) {
toolkit.lockAWT();
@@ -3887,7 +3614,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Repaints the component within tm milliseconds.
*
- * @param tm the time in milliseconds before updating.
+ * @param tm
+ * the time in milliseconds before updating.
*/
public void repaint(long tm) {
toolkit.lockAWT();
@@ -3899,29 +3627,28 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Requests that this Component get the input focus temporarily.
- * This component must be displayable, visible, and focusable.
- *
- * @param temporary this parameter is true if the focus change
- * is temporary, when the window loses the focus.
+ * Requests that this Component get the input focus temporarily. This
+ * component must be displayable, visible, and focusable.
*
- * @return true if the focus change request is succeeded,
- * false otherwise.
+ * @param temporary
+ * this parameter is true if the focus change is temporary, when
+ * the window loses the focus.
+ * @return true if the focus change request is succeeded, false otherwise.
*/
protected boolean requestFocus(boolean temporary) {
toolkit.lockAWT();
try {
- //???AWT: return requestFocusImpl(temporary, true, false);
+ // ???AWT: return requestFocusImpl(temporary, true, false);
} finally {
toolkit.unlockAWT();
}
- //???AWT
+ // ???AWT
return false;
}
/**
- * Requests that this Component get the input focus.
- * This component must be displayable, visible, and focusable.
+ * Requests that this Component get the input focus. This component must be
+ * displayable, visible, and focusable.
*/
public void requestFocus() {
toolkit.lockAWT();
@@ -3932,55 +3659,35 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
}
- //???AWT
+ // ???AWT
/*
- protected boolean requestFocusInWindow(boolean temporary) {
- toolkit.lockAWT();
- try {
- Window wnd = getWindowAncestor();
- if ((wnd == null) || !wnd.isFocused()) {
- return false;
- }
- return requestFocusImpl(temporary, false, false);
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- boolean requestFocusImpl(boolean temporary, boolean crossWindow, boolean rejectionRecovery) {
- if (!rejectionRecovery && isFocusOwner()) {
- return true;
- }
- Window wnd = getWindowAncestor();
- Container par = getRealParent();
- if ((par != null) && par.isRemoved) {
- return false;
- }
- if (!isShowing() || !isFocusable() || !wnd.isFocusableWindow()) {
- return false;
- }
- return KeyboardFocusManager.getCurrentKeyboardFocusManager().requestFocus(this,
- temporary, crossWindow, true);
- }
-
- public boolean requestFocusInWindow() {
- toolkit.lockAWT();
- try {
- return requestFocusInWindow(false);
- } finally {
- toolkit.unlockAWT();
- }
- }
- */
+ * protected boolean requestFocusInWindow(boolean temporary) {
+ * toolkit.lockAWT(); try { Window wnd = getWindowAncestor(); if ((wnd ==
+ * null) || !wnd.isFocused()) { return false; } return
+ * requestFocusImpl(temporary, false, false); } finally {
+ * toolkit.unlockAWT(); } } boolean requestFocusImpl(boolean temporary,
+ * boolean crossWindow, boolean rejectionRecovery) { if (!rejectionRecovery
+ * && isFocusOwner()) { return true; } Window wnd = getWindowAncestor();
+ * Container par = getRealParent(); if ((par != null) && par.isRemoved) {
+ * return false; } if (!isShowing() || !isFocusable() ||
+ * !wnd.isFocusableWindow()) { return false; } return
+ * KeyboardFocusManager.getCurrentKeyboardFocusManager().requestFocus(this,
+ * temporary, crossWindow, true); } public boolean requestFocusInWindow() {
+ * toolkit.lockAWT(); try { return requestFocusInWindow(false); } finally {
+ * toolkit.unlockAWT(); } }
+ */
/**
* Deprecated: replaced by setBounds(int, int, int, int) method.
*
- * @param x the x coordinate.
- * @param y the y coordinate.
- * @param w the width.
- * @param h the height.
- *
+ * @param x
+ * the x coordinate.
+ * @param y
+ * the y coordinate.
+ * @param w
+ * the width.
+ * @param h
+ * the height.
* @deprecated Replaced by setBounds(int, int, int, int) method.
*/
@Deprecated
@@ -3995,13 +3702,17 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Sets rectangle for this Component to be the rectangle with the specified
+ * Sets rectangle for this Component to be the rectangle with the specified
* x,y coordinates of the top-left corner and the width and height.
*
- * @param x the x coordinate of the rectangle's top-left corner.
- * @param y the y coordinate of the rectangle's top-left corner.
- * @param w the width of rectangle.
- * @param h the height of rectangle.
+ * @param x
+ * the x coordinate of the rectangle's top-left corner.
+ * @param y
+ * the y coordinate of the rectangle's top-left corner.
+ * @param w
+ * the width of rectangle.
+ * @param h
+ * the height of rectangle.
*/
public void setBounds(int x, int y, int w, int h) {
toolkit.lockAWT();
@@ -4013,16 +3724,22 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Sets rectangle for this Component to be the rectangle with the specified
- * x,y coordinates of the top-left corner and the width and height
- * and posts the appropriate events.
+ * Sets rectangle for this Component to be the rectangle with the specified
+ * x,y coordinates of the top-left corner and the width and height and posts
+ * the appropriate events.
*
- * @param x the x coordinate of the rectangle's top-left corner.
- * @param y the y coordinate of the rectangle's top-left corner.
- * @param w the width of rectangle.
- * @param h the height of rectangle.
- * @param bMask the bitmask of bounds options
- * @param updateBehavior the whether to update the behavoir's bounds as well
+ * @param x
+ * the x coordinate of the rectangle's top-left corner.
+ * @param y
+ * the y coordinate of the rectangle's top-left corner.
+ * @param w
+ * the width of rectangle.
+ * @param h
+ * the height of rectangle.
+ * @param bMask
+ * the bitmask of bounds options.
+ * @param updateBehavior
+ * the whether to update the behavoir's bounds as well.
*/
void setBounds(int x, int y, int w, int h, int bMask, boolean updateBehavior) {
int oldX = this.x;
@@ -4032,7 +3749,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
setBoundsFields(x, y, w, h, bMask);
// Moved
if ((oldX != this.x) || (oldY != this.y)) {
- //???AWT: invalidateRealParent();
+ // ???AWT: invalidateRealParent();
postEvent(new ComponentEvent(this, ComponentEvent.COMPONENT_MOVED));
spreadHierarchyBoundsEvents(this, HierarchyEvent.ANCESTOR_MOVED);
}
@@ -4051,7 +3768,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Calls InputContextImpl.notifyClientWindowChanged.
*
- * @param bounds the bounds
+ * @param bounds
+ * the bounds.
*/
void notifyInputMethod(Rectangle bounds) {
// only Window actually notifies IM of bounds change
@@ -4060,11 +3778,16 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Sets the bounds fields.
*
- * @param x the x
- * @param y the y
- * @param w the w
- * @param h the h
- * @param bMask the b mask
+ * @param x
+ * the x.
+ * @param y
+ * the y.
+ * @param w
+ * the w.
+ * @param h
+ * the h.
+ * @param bMask
+ * the b mask.
*/
private void setBoundsFields(int x, int y, int w, int h, int bMask) {
if ((bMask & NativeWindow.BOUNDS_NOSIZE) == 0) {
@@ -4080,7 +3803,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Gets the native insets.
*
- * @return the native insets
+ * @return the native insets.
*/
Insets getNativeInsets() {
return new Insets(0, 0, 0, 0);
@@ -4089,7 +3812,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Gets the insets.
*
- * @return the insets
+ * @return the insets.
*/
Insets getInsets() {
return new Insets(0, 0, 0, 0);
@@ -4098,7 +3821,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Checks if is mouse exited expected.
*
- * @return true, if is mouse exited expected
+ * @return true, if is mouse exited expected.
*/
boolean isMouseExitedExpected() {
return mouseExitedExpected;
@@ -4107,7 +3830,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Sets the mouse exited expected.
*
- * @param expected the new mouse exited expected
+ * @param expected
+ * the new mouse exited expected.
*/
void setMouseExitedExpected(boolean expected) {
mouseExitedExpected = expected;
@@ -4116,7 +3840,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Sets the new bounding rectangle for this Component.
*
- * @param r the new bounding rectangle.
+ * @param r
+ * the new bounding rectangle.
*/
public void setBounds(Rectangle r) {
toolkit.lockAWT();
@@ -4128,10 +3853,11 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Sets the component orientation which affects the component's
- * elements and text within this component.
+ * Sets the component orientation which affects the component's elements and
+ * text within this component.
*
- * @param o the ComponentOrientation object.
+ * @param o
+ * the ComponentOrientation object.
*/
public void setComponentOrientation(ComponentOrientation o) {
ComponentOrientation oldOrientation;
@@ -4149,7 +3875,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Sets the specified cursor for this Component.
*
- * @param cursor the new Cursor.
+ * @param cursor
+ * the new Cursor.
*/
public void setCursor(Cursor cursor) {
toolkit.lockAWT();
@@ -4168,26 +3895,20 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
if (isDisplayable() && isShowing()) {
Rectangle absRect = new Rectangle(getLocationOnScreen(), getSize());
Point absPointerPos = toolkit.dispatcher.mouseDispatcher.getPointerPos();
- //???AWT
+ // ???AWT
/*
- if (absRect.contains(absPointerPos)) {
- // set Cursor only on top-level Windows(on X11)
- Window topLevelWnd = getWindowAncestor();
- if (topLevelWnd != null) {
- Point pointerPos = MouseDispatcher.convertPoint(null, absPointerPos,
- topLevelWnd);
- Component compUnderCursor = topLevelWnd.findComponentAt(pointerPos);
- // if (compUnderCursor == this ||
- // compUnderCursor.getCursorAncestor() == this) {
- NativeWindow wnd = topLevelWnd.getNativeWindow();
- if (compUnderCursor != null && wnd != null) {
- compUnderCursor.getRealCursor().getNativeCursor()
- .setCursor(wnd.getId());
- }
- // }
- }
- }
- */
+ * if (absRect.contains(absPointerPos)) { // set Cursor only on
+ * top-level Windows(on X11) Window topLevelWnd =
+ * getWindowAncestor(); if (topLevelWnd != null) { Point pointerPos
+ * = MouseDispatcher.convertPoint(null, absPointerPos, topLevelWnd);
+ * Component compUnderCursor =
+ * topLevelWnd.findComponentAt(pointerPos); // if (compUnderCursor
+ * == this || // compUnderCursor.getCursorAncestor() == this) {
+ * NativeWindow wnd = topLevelWnd.getNativeWindow(); if
+ * (compUnderCursor != null && wnd != null) {
+ * compUnderCursor.getRealCursor().getNativeCursor()
+ * .setCursor(wnd.getId()); } // } } }
+ */
}
}
@@ -4195,68 +3916,44 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
* Gets the ancestor Cursor if Component is disabled (directly or via an
* ancestor) even if Cursor is explicitly set.
*
- * @param value the value
- *
- * @return actual Cursor to be displayed
+ * @param value
+ * the value.
+ * @return the actual Cursor to be displayed.
*/
- //???AWT
+ // ???AWT
/*
- Cursor getRealCursor() {
- Component cursorAncestor = getCursorAncestor();
- return cursorAncestor != null ? cursorAncestor.getCursor() : Cursor.getDefaultCursor();
- }
- */
+ * Cursor getRealCursor() { Component cursorAncestor = getCursorAncestor();
+ * return cursorAncestor != null ? cursorAncestor.getCursor() :
+ * Cursor.getDefaultCursor(); }
+ */
/**
* Gets the ancestor(or component itself) whose cursor is set when pointer
* is inside component
*
- * @return actual Cursor to be displayed
+ * @return the actual Cursor to be displayed.
*/
- //???AWT
+ // ???AWT
/*
- Component getCursorAncestor() {
- Component comp;
- for (comp = this; comp != null; comp = comp.getParent()) {
- if (comp instanceof Window || comp.isCursorSet() && comp.isKeyEnabled()) {
- return comp;
- }
- }
- return null;
- }
+ * Component getCursorAncestor() { Component comp; for (comp = this; comp !=
+ * null; comp = comp.getParent()) { if (comp instanceof Window ||
+ * comp.isCursorSet() && comp.isKeyEnabled()) { return comp; } } return
+ * null; } public void setDropTarget(DropTarget dt) { toolkit.lockAWT(); try
+ * { if (dropTarget == dt) { return; } DropTarget oldDropTarget =
+ * dropTarget; dropTarget = dt; if (oldDropTarget != null) { if
+ * (behaviour.isDisplayable()) { oldDropTarget.removeNotify(peer); }
+ * oldDropTarget.setComponent(null); } if (dt != null) {
+ * dt.setComponent(this); if (behaviour.isDisplayable()) {
+ * dt.addNotify(peer); } } } finally { toolkit.unlockAWT(); } }
+ */
- public void setDropTarget(DropTarget dt) {
- toolkit.lockAWT();
- try {
- if (dropTarget == dt) {
- return;
- }
- DropTarget oldDropTarget = dropTarget;
- dropTarget = dt;
- if (oldDropTarget != null) {
- if (behaviour.isDisplayable()) {
- oldDropTarget.removeNotify(peer);
- }
- oldDropTarget.setComponent(null);
- }
- if (dt != null) {
- dt.setComponent(this);
- if (behaviour.isDisplayable()) {
- dt.addNotify(peer);
- }
- }
- } finally {
- toolkit.unlockAWT();
- }
- }
- */
-
/**
- * Sets this component to the "enabled" or "disabled" state depending
- * on the specified boolean parameter.
+ * Sets this component to the "enabled" or "disabled" state depending on the
+ * specified boolean parameter.
*
- * @param value true if this component should be enabled; false
- * if this component should be disabled.
+ * @param value
+ * true if this component should be enabled; false if this
+ * component should be disabled.
*/
public void setEnabled(boolean value) {
toolkit.lockAWT();
@@ -4270,7 +3967,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Sets the enabled impl.
*
- * @param value the new enabled impl
+ * @param value
+ * the new enabled impl.
*/
void setEnabledImpl(boolean value) {
if (enabled != value) {
@@ -4283,77 +3981,49 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
}
- //???AWT
+ // ???AWT
/*
- private void fireAccessibleStateChange(AccessibleState state, boolean value) {
- if (behaviour.isLightweight()) {
- return;
- }
- AccessibleContext ac = getAccessibleContext();
- if (ac != null) {
- AccessibleState oldValue = null;
- AccessibleState newValue = null;
- if (value) {
- newValue = state;
- } else {
- oldValue = state;
- }
- ac.firePropertyChange(AccessibleContext.ACCESSIBLE_STATE_PROPERTY, oldValue,
- newValue);
- }
- }
- */
+ * private void fireAccessibleStateChange(AccessibleState state, boolean
+ * value) { if (behaviour.isLightweight()) { return; } AccessibleContext ac
+ * = getAccessibleContext(); if (ac != null) { AccessibleState oldValue =
+ * null; AccessibleState newValue = null; if (value) { newValue = state; }
+ * else { oldValue = state; }
+ * ac.firePropertyChange(AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
+ * oldValue, newValue); } }
+ */
- //???AWT
+ // ???AWT
/*
- public void setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes) {
- Set<? extends AWTKeyStroke> oldTraversalKeys;
- String propName = "FocusTraversalKeys"; //$NON-NLS-1$
- toolkit.lockAWT();
- try {
- Integer kId = new Integer(id);
- KeyboardFocusManager.checkTraversalKeysID(traversalKeys, kId);
- Map<Integer, Set<? extends AWTKeyStroke>> keys = new HashMap<Integer, Set<? extends AWTKeyStroke>>();
- for (int kid : traversalIDs) {
- Integer key = new Integer(kid);
- keys.put(key, getFocusTraversalKeys(kid));
- }
- KeyboardFocusManager.checkKeyStrokes(traversalIDs, keys, kId, keystrokes);
- oldTraversalKeys = traversalKeys.get(new Integer(id));
- // put a copy of keystrokes object into map:
- Set<? extends AWTKeyStroke> newKeys = keystrokes;
- if (keystrokes != null) {
- newKeys = new HashSet<AWTKeyStroke>(keystrokes);
- }
- traversalKeys.put(kId, newKeys);
- String direction = ""; //$NON-NLS-1$
- switch (id) {
- case KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS:
- direction = "forward"; //$NON-NLS-1$
- break;
- case KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS:
- direction = "backward"; //$NON-NLS-1$
- break;
- case KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS:
- direction = "upCycle"; //$NON-NLS-1$
- break;
- case KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS:
- direction = "downCycle"; //$NON-NLS-1$
- break;
- }
- propName = direction + propName;
- } finally {
- toolkit.unlockAWT();
- }
- firePropertyChange(propName, oldTraversalKeys, keystrokes);
- }
- */
+ * public void setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke>
+ * keystrokes) { Set<? extends AWTKeyStroke> oldTraversalKeys; String
+ * propName = "FocusTraversalKeys"; //$NON-NLS-1$ toolkit.lockAWT(); try {
+ * Integer kId = new Integer(id);
+ * KeyboardFocusManager.checkTraversalKeysID(traversalKeys, kId);
+ * Map<Integer, Set<? extends AWTKeyStroke>> keys = new HashMap<Integer,
+ * Set<? extends AWTKeyStroke>>(); for (int kid : traversalIDs) { Integer
+ * key = new Integer(kid); keys.put(key, getFocusTraversalKeys(kid)); }
+ * KeyboardFocusManager.checkKeyStrokes(traversalIDs, keys, kId,
+ * keystrokes); oldTraversalKeys = traversalKeys.get(new Integer(id)); //
+ * put a copy of keystrokes object into map: Set<? extends AWTKeyStroke>
+ * newKeys = keystrokes; if (keystrokes != null) { newKeys = new
+ * HashSet<AWTKeyStroke>(keystrokes); } traversalKeys.put(kId, newKeys);
+ * String direction = ""; //$NON-NLS-1$ switch (id) { case
+ * KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS: direction = "forward";
+ * //$NON-NLS-1$ break; case KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS:
+ * direction = "backward"; //$NON-NLS-1$ break; case
+ * KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS: direction = "upCycle";
+ * //$NON-NLS-1$ break; case KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS:
+ * direction = "downCycle"; //$NON-NLS-1$ break; } propName = direction +
+ * propName; } finally { toolkit.unlockAWT(); } firePropertyChange(propName,
+ * oldTraversalKeys, keystrokes); }
+ */
/**
* Sets the focus traversal keys state for this component.
*
- * @param value true if the focus traversal keys state is enabled,
- * false if the focus traversal keys state is disabled.
+ * @param value
+ * true if the focus traversal keys state is enabled, false if
+ * the focus traversal keys state is disabled.
*/
public void setFocusTraversalKeysEnabled(boolean value) {
boolean oldFocusTraversalKeysEnabled;
@@ -4368,38 +4038,23 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
focusTraversalKeysEnabled);
}
- //???AWT
+ // ???AWT
/*
- public void setFocusable(boolean focusable) {
- boolean oldFocusable;
- toolkit.lockAWT();
- try {
- calledSetFocusable = true;
- oldFocusable = this.focusable;
- this.focusable = focusable;
- if (!focusable) {
- moveFocus();
- }
- } finally {
- toolkit.unlockAWT();
- }
- firePropertyChange("focusable", oldFocusable, focusable); //$NON-NLS-1$
- }
-
- public Font getFont() {
- toolkit.lockAWT();
- try {
- return (font == null) && (parent != null) ? parent.getFont() : font;
- } finally {
- toolkit.unlockAWT();
- }
- }
- */
+ * public void setFocusable(boolean focusable) { boolean oldFocusable;
+ * toolkit.lockAWT(); try { calledSetFocusable = true; oldFocusable =
+ * this.focusable; this.focusable = focusable; if (!focusable) {
+ * moveFocus(); } } finally { toolkit.unlockAWT(); }
+ * firePropertyChange("focusable", oldFocusable, focusable); //$NON-NLS-1$ }
+ * public Font getFont() { toolkit.lockAWT(); try { return (font == null) &&
+ * (parent != null) ? parent.getFont() : font; } finally {
+ * toolkit.unlockAWT(); } }
+ */
/**
* Sets the font for this Component.
*
- * @param f the new font of the Component.
+ * @param f
+ * the new font of the Component.
*/
public void setFont(Font f) {
Font oldFont;
@@ -4416,7 +4071,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Sets the font impl.
*
- * @param f the new font impl
+ * @param f
+ * the new font impl.
*/
void setFontImpl(Font f) {
font = f;
@@ -4426,12 +4082,11 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
}
-
/**
* Invalidate the component if it inherits the font from the parent. This
* method is overridden in Container.
*
- * @return true if the component was invalidated, false otherwise
+ * @return true if the component was invalidated, false otherwise.
*/
boolean propagateFont() {
if (font == null) {
@@ -4444,7 +4099,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Sets the foreground color for this Component.
*
- * @param c the new foreground color.
+ * @param c
+ * the new foreground color.
*/
public void setForeground(Color c) {
Color oldFgColor;
@@ -4462,7 +4118,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Sets the background color for the Component.
*
- * @param c the new background color for this component.
+ * @param c
+ * the new background color for this component.
*/
public void setBackground(Color c) {
Color oldBkColor;
@@ -4478,11 +4135,12 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Sets the flag for whether paint messages received from the operating
- * system should be ignored or not.
+ * Sets the flag for whether paint messages received from the operating
+ * system should be ignored or not.
*
- * @param value true if paint messages received from the operating
- * system should be ignored, false otherwise.
+ * @param value
+ * true if paint messages received from the operating system
+ * should be ignored, false otherwise.
*/
public void setIgnoreRepaint(boolean value) {
toolkit.lockAWT();
@@ -4496,7 +4154,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Sets the locale of the component.
*
- * @param locale the new Locale.
+ * @param locale
+ * the new Locale.
*/
public void setLocale(Locale locale) {
Locale oldLocale;
@@ -4513,7 +4172,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Sets the location of the Component to the specified point.
*
- * @param p the new location of the Component
+ * @param p
+ * the new location of the Component.
*/
public void setLocation(Point p) {
toolkit.lockAWT();
@@ -4525,10 +4185,12 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Sets the location of the Component to the specified x, y coordinates.
+ * Sets the location of the Component to the specified x, y coordinates.
*
- * @param x the x coordinate.
- * @param y the y coordinate.
+ * @param x
+ * the x coordinate.
+ * @param y
+ * the y coordinate.
*/
public void setLocation(int x, int y) {
toolkit.lockAWT();
@@ -4542,8 +4204,9 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Sets the visibility state of the component.
*
- * @param b true if the component is visible, false if the component
- * is not shown.
+ * @param b
+ * true if the component is visible, false if the component is
+ * not shown.
*/
public void setVisible(boolean b) {
// show() & hide() are not deprecated for Window,
@@ -4569,9 +4232,9 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
visible = true;
behaviour.setVisible(true);
postEvent(new ComponentEvent(this, ComponentEvent.COMPONENT_SHOWN));
- //???AWT: finishHierarchyChange(this, parent, 0);
+ // ???AWT: finishHierarchyChange(this, parent, 0);
notifyInputMethod(new Rectangle(x, y, w, h));
- //???AWT: invalidateRealParent();
+ // ???AWT: invalidateRealParent();
} finally {
toolkit.unlockAWT();
}
@@ -4580,8 +4243,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Deprecated: replaced by setVisible(boolean) method.
*
- * @param b the visibility's state.
- *
+ * @param b
+ * the visibility's state.
* @deprecated Replaced by setVisible(boolean) method.
*/
@Deprecated
@@ -4593,97 +4256,40 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
}
- //???AWT
+ // ???AWT
/*
- void transferFocus(int dir) {
- Container root = null;
- if (this instanceof Container) {
- Container cont = (Container) this;
- if (cont.isFocusCycleRoot()) {
- root = cont.getFocusTraversalRoot();
- }
- }
- if (root == null) {
- root = getFocusCycleRootAncestor();
- }
- // transfer focus up cycle if root is unreachable
- Component comp = this;
- while ((root != null)
- && !(root.isFocusCycleRoot() && root.isShowing() && root.isEnabled() && root
- .isFocusable())) {
- comp = root;
- root = root.getFocusCycleRootAncestor();
- }
- if (root == null) {
- return;
- }
- FocusTraversalPolicy policy = root.getFocusTraversalPolicy();
- Component nextComp = null;
- switch (dir) {
- case KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS:
- nextComp = policy.getComponentAfter(root, comp);
- break;
- case KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS:
- nextComp = policy.getComponentBefore(root, comp);
- break;
- }
- if (nextComp != null) {
- nextComp.requestFocus(false);
- }
- }
-
- public void transferFocus() {
- toolkit.lockAWT();
- try {
- nextFocus();
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public void transferFocusBackward() {
- toolkit.lockAWT();
- try {
- transferFocus(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS);
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- public void transferFocusUpCycle() {
- toolkit.lockAWT();
- try {
- KeyboardFocusManager kfm = KeyboardFocusManager.getCurrentKeyboardFocusManager();
- Container root = kfm.getCurrentFocusCycleRoot();
-
- if(root == null) {
- return;
- }
-
- boolean success = false;
- Component nextComp = null;
- Container newRoot = root;
- do {
- nextComp = newRoot instanceof Window ? newRoot.getFocusTraversalPolicy()
- .getDefaultComponent(newRoot) : newRoot;
- newRoot = newRoot.getFocusCycleRootAncestor();
- if (nextComp == null) {
- break;
- }
- success = nextComp.requestFocusInWindow();
- if (newRoot == null) {
- break;
- }
- kfm.setGlobalCurrentFocusCycleRoot(newRoot);
- } while (!success);
- if (!success && root != newRoot) {
- kfm.setGlobalCurrentFocusCycleRoot(root);
- }
- } finally {
- toolkit.unlockAWT();
- }
- }
- */
+ * void transferFocus(int dir) { Container root = null; if (this instanceof
+ * Container) { Container cont = (Container) this; if
+ * (cont.isFocusCycleRoot()) { root = cont.getFocusTraversalRoot(); } } if
+ * (root == null) { root = getFocusCycleRootAncestor(); } // transfer focus
+ * up cycle if root is unreachable Component comp = this; while ((root !=
+ * null) && !(root.isFocusCycleRoot() && root.isShowing() &&
+ * root.isEnabled() && root .isFocusable())) { comp = root; root =
+ * root.getFocusCycleRootAncestor(); } if (root == null) { return; }
+ * FocusTraversalPolicy policy = root.getFocusTraversalPolicy(); Component
+ * nextComp = null; switch (dir) { case
+ * KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS: nextComp =
+ * policy.getComponentAfter(root, comp); break; case
+ * KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS: nextComp =
+ * policy.getComponentBefore(root, comp); break; } if (nextComp != null) {
+ * nextComp.requestFocus(false); } } public void transferFocus() {
+ * toolkit.lockAWT(); try { nextFocus(); } finally { toolkit.unlockAWT(); }
+ * } public void transferFocusBackward() { toolkit.lockAWT(); try {
+ * transferFocus(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS); } finally {
+ * toolkit.unlockAWT(); } } public void transferFocusUpCycle() {
+ * toolkit.lockAWT(); try { KeyboardFocusManager kfm =
+ * KeyboardFocusManager.getCurrentKeyboardFocusManager(); Container root =
+ * kfm.getCurrentFocusCycleRoot(); if(root == null) { return; } boolean
+ * success = false; Component nextComp = null; Container newRoot = root; do
+ * { nextComp = newRoot instanceof Window ?
+ * newRoot.getFocusTraversalPolicy() .getDefaultComponent(newRoot) :
+ * newRoot; newRoot = newRoot.getFocusCycleRootAncestor(); if (nextComp ==
+ * null) { break; } success = nextComp.requestFocusInWindow(); if (newRoot
+ * == null) { break; } kfm.setGlobalCurrentFocusCycleRoot(newRoot); } while
+ * (!success); if (!success && root != newRoot) {
+ * kfm.setGlobalCurrentFocusCycleRoot(root); } } finally {
+ * toolkit.unlockAWT(); } }
+ */
/**
* Validates that this component has a valid layout.
@@ -4710,7 +4316,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Gets the native window.
*
- * @return the native window
+ * @return the native window.
*/
NativeWindow getNativeWindow() {
return behaviour.getNativeWindow();
@@ -4719,8 +4325,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Checks whether or not a maximum size is set for the Component.
*
- * @return true, if the maximum size is set for the Component,
- * false otherwise.
+ * @return true, if the maximum size is set for the Component, false
+ * otherwise.
*/
public boolean isMaximumSizeSet() {
toolkit.lockAWT();
@@ -4734,8 +4340,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Checks whether or not the minimum size is set for the component.
*
- * @return true, if the minimum size is set for the component,
- * false otherwise.
+ * @return true, if the minimum size is set for the component, false
+ * otherwise.
*/
public boolean isMinimumSizeSet() {
toolkit.lockAWT();
@@ -4749,8 +4355,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Checks whether or not the preferred size is set for the Component.
*
- * @return true, if the preferred size is set for the Component,
- * false otherwise.
+ * @return true, if the preferred size is set for the Component, false
+ * otherwise.
*/
public boolean isPreferredSizeSet() {
toolkit.lockAWT();
@@ -4769,8 +4375,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
public Dimension getMaximumSize() {
toolkit.lockAWT();
try {
- return isMaximumSizeSet() ? new Dimension(maximumSize) : new Dimension(
- Short.MAX_VALUE, Short.MAX_VALUE);
+ return isMaximumSizeSet() ? new Dimension(maximumSize) : new Dimension(Short.MAX_VALUE,
+ Short.MAX_VALUE);
} finally {
toolkit.unlockAWT();
}
@@ -4794,7 +4400,6 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
* Deprecated: replaced by getMinimumSize() method.
*
* @return the Dimension.
- *
* @deprecated Replaced by getMinimumSize() method.
*/
@Deprecated
@@ -4808,7 +4413,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
if (defSize != null) {
return (Dimension)defSize.clone();
}
- return isDisplayable()? new Dimension(1, 1) : new Dimension(w, h);
+ return isDisplayable() ? new Dimension(1, 1) : new Dimension(w, h);
} finally {
toolkit.unlockAWT();
}
@@ -4832,7 +4437,6 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
* Deprecated: replaced by getPreferredSize() method.
*
* @return the Dimension.
- *
* @deprecated Replaced by getPreferredSize() method.
*/
@Deprecated
@@ -4855,7 +4459,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Sets the maximum size of the Component.
*
- * @param maximumSize the new maximum size of the Component.
+ * @param maximumSize
+ * the new maximum size of the Component.
*/
public void setMaximumSize(Dimension maximumSize) {
Dimension oldMaximumSize;
@@ -4882,7 +4487,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
firePropertyChange("maximumSize", oldMaximumSize, this.maximumSize); //$NON-NLS-1$
toolkit.lockAWT();
try {
- //???AWT: invalidateRealParent();
+ // ???AWT: invalidateRealParent();
} finally {
toolkit.unlockAWT();
}
@@ -4891,7 +4496,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Sets the minimum size of the Component.
*
- * @param minimumSize the new minimum size of the Component.
+ * @param minimumSize
+ * the new minimum size of the Component.
*/
public void setMinimumSize(Dimension minimumSize) {
Dimension oldMinimumSize;
@@ -4918,7 +4524,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
firePropertyChange("minimumSize", oldMinimumSize, this.minimumSize); //$NON-NLS-1$
toolkit.lockAWT();
try {
- //???AWT: invalidateRealParent();
+ // ???AWT: invalidateRealParent();
} finally {
toolkit.unlockAWT();
}
@@ -4927,7 +4533,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Sets the preferred size of the Component.
*
- * @param preferredSize the new preferred size of the Component.
+ * @param preferredSize
+ * the new preferred size of the Component.
*/
public void setPreferredSize(Dimension preferredSize) {
Dimension oldPreferredSize;
@@ -4954,47 +4561,38 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
firePropertyChange("preferredSize", oldPreferredSize, this.preferredSize); //$NON-NLS-1$
toolkit.lockAWT();
try {
- //???AWT: invalidateRealParent();
+ // ???AWT: invalidateRealParent();
} finally {
toolkit.unlockAWT();
}
}
- //???AWT
+ // ???AWT
/*
- RedrawManager getRedrawManager() {
- if (parent == null) {
- return null;
- }
- return parent.getRedrawManager();
- }
- */
+ * RedrawManager getRedrawManager() { if (parent == null) { return null; }
+ * return parent.getRedrawManager(); }
+ */
/**
* Checks if is focusability explicitly set.
*
- * @return true if component has a focusable peer
+ * @return true if component has a focusable peer.
*/
- //???AWT
+ // ???AWT
/*
- boolean isPeerFocusable() {
- // The recommendations for Windows and Unix are that
- // Canvases, Labels, Panels, Scrollbars, ScrollPanes, Windows,
- // and lightweight Components have non-focusable peers,
- // and all other Components have focusable peers.
- if (this instanceof Canvas || this instanceof Label || this instanceof Panel
- || this instanceof Scrollbar || this instanceof ScrollPane
- || this instanceof Window || isLightweight()) {
- return false;
- }
- return true;
- }
- */
+ * boolean isPeerFocusable() { // The recommendations for Windows and Unix
+ * are that // Canvases, Labels, Panels, Scrollbars, ScrollPanes, Windows,
+ * // and lightweight Components have non-focusable peers, // and all other
+ * Components have focusable peers. if (this instanceof Canvas || this
+ * instanceof Label || this instanceof Panel || this instanceof Scrollbar ||
+ * this instanceof ScrollPane || this instanceof Window || isLightweight())
+ * { return false; } return true; }
+ */
/**
* @return true if focusability was explicitly set via a call to
* setFocusable() or via overriding isFocusable() or
- * isFocusTraversable()
+ * isFocusTraversable().
*/
boolean isFocusabilityExplicitlySet() {
return calledSetFocusable || overridenIsFocusable;
@@ -5003,7 +4601,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Paints the component and all of its subcomponents.
*
- * @param g the Graphics to be used for painting.
+ * @param g
+ * the Graphics to be used for painting.
*/
public void paintAll(Graphics g) {
toolkit.lockAWT();
@@ -5017,7 +4616,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Updates this Component.
*
- * @param g the Graphics to be used for updating.
+ * @param g
+ * the Graphics to be used for updating.
*/
public void update(Graphics g) {
toolkit.lockAWT();
@@ -5036,7 +4636,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Paints this component.
*
- * @param g the Graphics to be used for painting.
+ * @param g
+ * the Graphics to be used for painting.
*/
public void paint(Graphics g) {
toolkit.lockAWT();
@@ -5050,7 +4651,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Prepares the component to be painted.
*
- * @param g the Graphics to be used for painting.
+ * @param g
+ * the Graphics to be used for painting.
*/
void prepaint(Graphics g) {
// Just to nothing. For overriding.
@@ -5059,7 +4661,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Checks if is prepainter.
*
- * @return true, if is prepainter
+ * @return true, if is prepainter.
*/
boolean isPrepainter() {
return false;
@@ -5083,41 +4685,29 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
// To be inherited by Container
}
- //???AWT
+ // ???AWT
/*
- void finishHierarchyChange(Component changed, Container changedParent, int ancestorFlags) {
- if (--hierarchyChangingCounter == 0) {
- int changeFlags = ancestorFlags;
- if (wasShowing != isShowing()) {
- changeFlags |= HierarchyEvent.SHOWING_CHANGED;
- }
- if (wasDisplayable != isDisplayable()) {
- changeFlags |= HierarchyEvent.DISPLAYABILITY_CHANGED;
- }
- if (changeFlags > 0) {
- postEvent(new HierarchyEvent(this, HierarchyEvent.HIERARCHY_CHANGED, changed,
- changedParent, changeFlags));
- }
- finishChildrenHierarchyChange(changed, changedParent, ancestorFlags);
- }
- }
-
-
- void finishChildrenHierarchyChange(Component changed, Container changedParent,
- int ancestorFlags) {
- // To be inherited by Container
- }
+ * void finishHierarchyChange(Component changed, Container changedParent,
+ * int ancestorFlags) { if (--hierarchyChangingCounter == 0) { int
+ * changeFlags = ancestorFlags; if (wasShowing != isShowing()) { changeFlags
+ * |= HierarchyEvent.SHOWING_CHANGED; } if (wasDisplayable !=
+ * isDisplayable()) { changeFlags |= HierarchyEvent.DISPLAYABILITY_CHANGED;
+ * } if (changeFlags > 0) { postEvent(new HierarchyEvent(this,
+ * HierarchyEvent.HIERARCHY_CHANGED, changed, changedParent, changeFlags));
+ * } finishChildrenHierarchyChange(changed, changedParent, ancestorFlags); }
+ * } void finishChildrenHierarchyChange(Component changed, Container
+ * changedParent, int ancestorFlags) { // To be inherited by Container }
+ * void postHierarchyBoundsEvents(Component changed, int id) { postEvent(new
+ * HierarchyEvent(this, id, changed, null, 0)); }
+ */
- void postHierarchyBoundsEvents(Component changed, int id) {
- postEvent(new HierarchyEvent(this, id, changed, null, 0));
- }
- */
-
/**
* Spread hierarchy bounds events.
*
- * @param changed the changed
- * @param id the id
+ * @param changed
+ * the changed.
+ * @param id
+ * the id.
*/
void spreadHierarchyBoundsEvents(Component changed, int id) {
// To be inherited by Container
@@ -5126,59 +4716,40 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Dispatches an event to this component.
*
- * @param e the Event.
+ * @param e
+ * the Event.
*/
public final void dispatchEvent(AWTEvent e) {
- //???AWT
+ // ???AWT
/*
- if (e.isConsumed()) {
- return;
- }
- if (e instanceof PaintEvent) {
- toolkit.dispatchAWTEvent(e);
- processPaintEvent((PaintEvent) e);
- return;
- }
- KeyboardFocusManager kfm = KeyboardFocusManager.getCurrentKeyboardFocusManager();
- if (!e.dispatchedByKFM && kfm.dispatchEvent(e)) {
- return;
- }
- if (e instanceof KeyEvent) {
- KeyEvent ke = (KeyEvent) e;
- // consumes KeyEvent which represents a focus traversal key
- if (getFocusTraversalKeysEnabled()) {
- kfm.processKeyEvent(this, ke);
- if (ke.isConsumed()) {
- return;
- }
- }
- }
- if (inputMethodsEnabled && dispatchToIM && e.isPosted && dispatchEventToIM(e)) {
- return;
- }
- if (e.getID() == WindowEvent.WINDOW_ICONIFIED) {
- notifyInputMethod(null);
- }
- AWTEvent.EventDescriptor descriptor = toolkit.eventTypeLookup.getEventDescriptor(e);
- toolkit.dispatchAWTEvent(e);
- if (descriptor != null) {
- if (isEventEnabled(descriptor.eventMask)
- || (getListeners(descriptor.listenerType).length > 0)) {
- processEvent(e);
- }
- // input events can be consumed by user listeners:
- if (!e.isConsumed() && ((enabledAWTEvents & descriptor.eventMask) != 0)) {
- postprocessEvent(e, descriptor.eventMask);
- }
- }
- postDeprecatedEvent(e);
- */
+ * if (e.isConsumed()) { return; } if (e instanceof PaintEvent) {
+ * toolkit.dispatchAWTEvent(e); processPaintEvent((PaintEvent) e);
+ * return; } KeyboardFocusManager kfm =
+ * KeyboardFocusManager.getCurrentKeyboardFocusManager(); if
+ * (!e.dispatchedByKFM && kfm.dispatchEvent(e)) { return; } if (e
+ * instanceof KeyEvent) { KeyEvent ke = (KeyEvent) e; // consumes
+ * KeyEvent which represents a focus traversal key if
+ * (getFocusTraversalKeysEnabled()) { kfm.processKeyEvent(this, ke); if
+ * (ke.isConsumed()) { return; } } } if (inputMethodsEnabled &&
+ * dispatchToIM && e.isPosted && dispatchEventToIM(e)) { return; } if
+ * (e.getID() == WindowEvent.WINDOW_ICONIFIED) {
+ * notifyInputMethod(null); } AWTEvent.EventDescriptor descriptor =
+ * toolkit.eventTypeLookup.getEventDescriptor(e);
+ * toolkit.dispatchAWTEvent(e); if (descriptor != null) { if
+ * (isEventEnabled(descriptor.eventMask) ||
+ * (getListeners(descriptor.listenerType).length > 0)) {
+ * processEvent(e); } // input events can be consumed by user listeners:
+ * if (!e.isConsumed() && ((enabledAWTEvents & descriptor.eventMask) !=
+ * 0)) { postprocessEvent(e, descriptor.eventMask); } }
+ * postDeprecatedEvent(e);
+ */
}
/**
* Post deprecated event.
*
- * @param e the e
+ * @param e
+ * the e.
*/
private void postDeprecatedEvent(AWTEvent e) {
if (deprecatedEventHandler) {
@@ -5192,27 +4763,29 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Postprocess event.
*
- * @param e the e
- * @param eventMask the event mask
+ * @param e
+ * the e.
+ * @param eventMask
+ * the event mask.
*/
void postprocessEvent(AWTEvent e, long eventMask) {
toolkit.lockAWT();
try {
// call system listeners under AWT lock
if (eventMask == AWTEvent.FOCUS_EVENT_MASK) {
- preprocessFocusEvent((FocusEvent) e);
+ preprocessFocusEvent((FocusEvent)e);
} else if (eventMask == AWTEvent.KEY_EVENT_MASK) {
- preprocessKeyEvent((KeyEvent) e);
+ preprocessKeyEvent((KeyEvent)e);
} else if (eventMask == AWTEvent.MOUSE_EVENT_MASK) {
- preprocessMouseEvent((MouseEvent) e);
+ preprocessMouseEvent((MouseEvent)e);
} else if (eventMask == AWTEvent.MOUSE_MOTION_EVENT_MASK) {
- preprocessMouseMotionEvent((MouseEvent) e);
+ preprocessMouseMotionEvent((MouseEvent)e);
} else if (eventMask == AWTEvent.COMPONENT_EVENT_MASK) {
- preprocessComponentEvent((ComponentEvent) e);
+ preprocessComponentEvent((ComponentEvent)e);
} else if (eventMask == AWTEvent.MOUSE_WHEEL_EVENT_MASK) {
- preprocessMouseWheelEvent((MouseWheelEvent) e);
+ preprocessMouseWheelEvent((MouseWheelEvent)e);
} else if (eventMask == AWTEvent.INPUT_METHOD_EVENT_MASK) {
- preprocessInputMethodEvent((InputMethodEvent) e);
+ preprocessInputMethodEvent((InputMethodEvent)e);
}
} finally {
toolkit.unlockAWT();
@@ -5222,7 +4795,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Preprocess input method event.
*
- * @param e the e
+ * @param e
+ * the e.
*/
private void preprocessInputMethodEvent(InputMethodEvent e) {
processInputMethodEventImpl(e, inputMethodListeners.getSystemListeners());
@@ -5231,7 +4805,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Preprocess mouse wheel event.
*
- * @param e the e
+ * @param e
+ * the e.
*/
private void preprocessMouseWheelEvent(MouseWheelEvent e) {
processMouseWheelEventImpl(e, mouseWheelListeners.getSystemListeners());
@@ -5240,8 +4815,10 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Process mouse wheel event impl.
*
- * @param e the e
- * @param c the c
+ * @param e
+ * the e.
+ * @param c
+ * the c.
*/
private void processMouseWheelEventImpl(MouseWheelEvent e, Collection<MouseWheelListener> c) {
for (MouseWheelListener listener : c) {
@@ -5256,7 +4833,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Preprocess component event.
*
- * @param e the e
+ * @param e
+ * the e.
*/
private void preprocessComponentEvent(ComponentEvent e) {
processComponentEventImpl(e, componentListeners.getSystemListeners());
@@ -5265,7 +4843,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Preprocess mouse motion event.
*
- * @param e the e
+ * @param e
+ * the e.
*/
void preprocessMouseMotionEvent(MouseEvent e) {
processMouseMotionEventImpl(e, mouseMotionListeners.getSystemListeners());
@@ -5274,7 +4853,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Preprocess mouse event.
*
- * @param e the e
+ * @param e
+ * the e
*/
void preprocessMouseEvent(MouseEvent e) {
processMouseEventImpl(e, mouseListeners.getSystemListeners());
@@ -5283,7 +4863,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Preprocess key event.
*
- * @param e the e
+ * @param e
+ * the e.
*/
void preprocessKeyEvent(KeyEvent e) {
processKeyEventImpl(e, keyListeners.getSystemListeners());
@@ -5292,79 +4873,82 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Preprocess focus event.
*
- * @param e the e
+ * @param e
+ * the e.
*/
void preprocessFocusEvent(FocusEvent e) {
processFocusEventImpl(e, focusListeners.getSystemListeners());
}
/**
- * Processes AWTEvent occurred on this component.
+ * Processes AWTEvent occurred on this component.
*
- * @param e the AWTEvent.
+ * @param e
+ * the AWTEvent.
*/
protected void processEvent(AWTEvent e) {
long eventMask = toolkit.eventTypeLookup.getEventMask(e);
if (eventMask == AWTEvent.COMPONENT_EVENT_MASK) {
- processComponentEvent((ComponentEvent) e);
+ processComponentEvent((ComponentEvent)e);
} else if (eventMask == AWTEvent.FOCUS_EVENT_MASK) {
- processFocusEvent((FocusEvent) e);
+ processFocusEvent((FocusEvent)e);
} else if (eventMask == AWTEvent.KEY_EVENT_MASK) {
- processKeyEvent((KeyEvent) e);
+ processKeyEvent((KeyEvent)e);
} else if (eventMask == AWTEvent.MOUSE_EVENT_MASK) {
- processMouseEvent((MouseEvent) e);
+ processMouseEvent((MouseEvent)e);
} else if (eventMask == AWTEvent.MOUSE_WHEEL_EVENT_MASK) {
- processMouseWheelEvent((MouseWheelEvent) e);
+ processMouseWheelEvent((MouseWheelEvent)e);
} else if (eventMask == AWTEvent.MOUSE_MOTION_EVENT_MASK) {
- processMouseMotionEvent((MouseEvent) e);
+ processMouseMotionEvent((MouseEvent)e);
} else if (eventMask == AWTEvent.HIERARCHY_EVENT_MASK) {
- processHierarchyEvent((HierarchyEvent) e);
+ processHierarchyEvent((HierarchyEvent)e);
} else if (eventMask == AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK) {
- processHierarchyBoundsEvent((HierarchyEvent) e);
+ processHierarchyBoundsEvent((HierarchyEvent)e);
} else if (eventMask == AWTEvent.INPUT_METHOD_EVENT_MASK) {
- processInputMethodEvent((InputMethodEvent) e);
+ processInputMethodEvent((InputMethodEvent)e);
}
}
/**
- * Gets an array of all listener's objects based on the specified
- * listener type and registered to this Component.
- *
- * @param listenerType the listener type.
+ * Gets an array of all listener's objects based on the specified listener
+ * type and registered to this Component.
*
+ * @param listenerType
+ * the listener type.
* @return an array of all listener's objects based on the specified
- * listener type and registered to this Component.
+ * listener type and registered to this Component.
*/
@SuppressWarnings("unchecked")
public <T extends EventListener> T[] getListeners(Class<T> listenerType) {
if (ComponentListener.class.isAssignableFrom(listenerType)) {
- return (T[]) getComponentListeners();
+ return (T[])getComponentListeners();
} else if (FocusListener.class.isAssignableFrom(listenerType)) {
- return (T[]) getFocusListeners();
+ return (T[])getFocusListeners();
} else if (HierarchyBoundsListener.class.isAssignableFrom(listenerType)) {
- return (T[]) getHierarchyBoundsListeners();
+ return (T[])getHierarchyBoundsListeners();
} else if (HierarchyListener.class.isAssignableFrom(listenerType)) {
- return (T[]) getHierarchyListeners();
+ return (T[])getHierarchyListeners();
} else if (InputMethodListener.class.isAssignableFrom(listenerType)) {
- return (T[]) getInputMethodListeners();
+ return (T[])getInputMethodListeners();
} else if (KeyListener.class.isAssignableFrom(listenerType)) {
- return (T[]) getKeyListeners();
+ return (T[])getKeyListeners();
} else if (MouseWheelListener.class.isAssignableFrom(listenerType)) {
- return (T[]) getMouseWheelListeners();
+ return (T[])getMouseWheelListeners();
} else if (MouseMotionListener.class.isAssignableFrom(listenerType)) {
- return (T[]) getMouseMotionListeners();
+ return (T[])getMouseMotionListeners();
} else if (MouseListener.class.isAssignableFrom(listenerType)) {
- return (T[]) getMouseListeners();
+ return (T[])getMouseListeners();
} else if (PropertyChangeListener.class.isAssignableFrom(listenerType)) {
- return (T[]) getPropertyChangeListeners();
+ return (T[])getPropertyChangeListeners();
}
- return (T[]) Array.newInstance(listenerType, 0);
+ return (T[])Array.newInstance(listenerType, 0);
}
/**
* Process paint event.
*
- * @param event the event
+ * @param event
+ * the event.
*/
private void processPaintEvent(PaintEvent event) {
if (redrawManager == null) {
@@ -5392,13 +4976,15 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Inits the graphics.
*
- * @param g the g
- * @param e the e
+ * @param g
+ * the g.
+ * @param e
+ * the e.
*/
void initGraphics(Graphics g, PaintEvent e) {
Rectangle clip = e.getUpdateRect();
if (clip instanceof ClipRegion) {
- g.setClip(((ClipRegion) clip).getClip());
+ g.setClip(((ClipRegion)clip).getClip());
} else {
g.setClip(clip);
}
@@ -5413,11 +4999,11 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Enables the events with the specified event mask to be delivered to
- * this component.
+ * Enables the events with the specified event mask to be delivered to this
+ * component.
*
- * @param eventsToEnable the events mask which specifies the types
- * of events to enable.
+ * @param eventsToEnable
+ * the events mask which specifies the types of events to enable.
*/
protected final void enableEvents(long eventsToEnable) {
toolkit.lockAWT();
@@ -5432,17 +5018,19 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Enable awt events.
*
- * @param eventsToEnable the events to enable
+ * @param eventsToEnable
+ * the events to enable.
*/
private void enableAWTEvents(long eventsToEnable) {
enabledAWTEvents |= eventsToEnable;
}
/**
- * Disables the events with types specified by the specified event mask
- * from being delivered to this component.
+ * Disables the events with types specified by the specified event mask from
+ * being delivered to this component.
*
- * @param eventsToDisable the event mask specifying the event types.
+ * @param eventsToDisable
+ * the event mask specifying the event types.
*/
protected final void disableEvents(long eventsToDisable) {
toolkit.lockAWT();
@@ -5459,9 +5047,9 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Checks if is mouse event enabled.
*
- * @param eventMask the event mask
- *
- * @return true, if is mouse event enabled
+ * @param eventMask
+ * the event mask.
+ * @return true, if is mouse event enabled.
*/
boolean isMouseEventEnabled(long eventMask) {
return (isEventEnabled(eventMask) || (enabledAWTEvents & eventMask) != 0);
@@ -5470,18 +5058,19 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Checks if is event enabled.
*
- * @param eventMask the event mask
- *
- * @return true, if is event enabled
+ * @param eventMask
+ * the event mask.
+ * @return true, if is event enabled.
*/
boolean isEventEnabled(long eventMask) {
return ((enabledEvents & eventMask) != 0);
}
/**
- * Enables or disables input method support for this component.
+ * Enables or disables input method support for this component.
*
- * @param enable true to enable input method support, false to disable it.
+ * @param enable
+ * true to enable input method support, false to disable it.
*/
public void enableInputMethods(boolean enable) {
toolkit.lockAWT();
@@ -5496,11 +5085,10 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Gets an array of all component's listeners registered for this
- * component.
+ * Gets an array of all component's listeners registered for this component.
*
* @return an array of all component's listeners registered for this
- * component.
+ * component.
*/
public ComponentListener[] getComponentListeners() {
return componentListeners.getUserListeners(new ComponentListener[0]);
@@ -5510,7 +5098,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
* Adds the specified component listener to the Component for receiving
* component's event.
*
- * @param l the ComponentListener.
+ * @param l
+ * the ComponentListener.
*/
public void addComponentListener(ComponentListener l) {
componentListeners.addUserListener(l);
@@ -5519,17 +5108,19 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Removes the component listener registered for this Component.
*
- * @param l the ComponentListener.
+ * @param l
+ * the ComponentListener.
*/
public void removeComponentListener(ComponentListener l) {
componentListeners.removeUserListener(l);
}
/**
- * Processes a component event that has occurred on this component
- * by dispatching them to any registered ComponentListener objects.
+ * Processes a component event that has occurred on this component by
+ * dispatching them to any registered ComponentListener objects.
*
- * @param e the ComponentEvent.
+ * @param e
+ * the ComponentEvent.
*/
protected void processComponentEvent(ComponentEvent e) {
processComponentEventImpl(e, componentListeners.getUserListeners());
@@ -5538,8 +5129,10 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Process component event impl.
*
- * @param e the e
- * @param c the c
+ * @param e
+ * the e.
+ * @param c
+ * the c.
*/
private void processComponentEventImpl(ComponentEvent e, Collection<ComponentListener> c) {
for (ComponentListener listener : c) {
@@ -5570,10 +5163,11 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Adds the specified focus listener to the Component for receiving
- * focus events.
+ * Adds the specified focus listener to the Component for receiving focus
+ * events.
*
- * @param l the FocusListener.
+ * @param l
+ * the FocusListener.
*/
public void addFocusListener(FocusListener l) {
focusListeners.addUserListener(l);
@@ -5582,7 +5176,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Adds the awt focus listener.
*
- * @param l the l
+ * @param l
+ * the l.
*/
void addAWTFocusListener(FocusListener l) {
enableAWTEvents(AWTEvent.FOCUS_EVENT_MASK);
@@ -5592,17 +5187,19 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Removes the focus listener registered for this Component.
*
- * @param l the FocusListener.
+ * @param l
+ * the FocusListener.
*/
public void removeFocusListener(FocusListener l) {
focusListeners.removeUserListener(l);
}
/**
- * Processes a FocusEvent that has occurred on this component
- * by dispatching it to the registered listeners.
- *
- * @param e the FocusEvent.
+ * Processes a FocusEvent that has occurred on this component by dispatching
+ * it to the registered listeners.
+ *
+ * @param e
+ * the FocusEvent.
*/
protected void processFocusEvent(FocusEvent e) {
processFocusEventImpl(e, focusListeners.getUserListeners());
@@ -5611,8 +5208,10 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Process focus event impl.
*
- * @param e the e
- * @param c the c
+ * @param e
+ * the e.
+ * @param c
+ * the c.
*/
private void processFocusEventImpl(FocusEvent e, Collection<FocusListener> c) {
for (FocusListener listener : c) {
@@ -5628,11 +5227,9 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Gets an array of registered HierarchyListeners for
- * this Component.
+ * Gets an array of registered HierarchyListeners for this Component.
*
- * @return an array of registered HierarchyListeners for
- * this Component.
+ * @return an array of registered HierarchyListeners for this Component.
*/
public HierarchyListener[] getHierarchyListeners() {
return hierarchyListeners.getUserListeners(new HierarchyListener[0]);
@@ -5641,7 +5238,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Adds the specified hierarchy listener.
*
- * @param l the HierarchyListener.
+ * @param l
+ * the HierarchyListener.
*/
public void addHierarchyListener(HierarchyListener l) {
hierarchyListeners.addUserListener(l);
@@ -5650,17 +5248,19 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Removes the hierarchy listener registered for this component.
*
- * @param l the HierarchyListener.
+ * @param l
+ * the HierarchyListener.
*/
public void removeHierarchyListener(HierarchyListener l) {
hierarchyListeners.removeUserListener(l);
}
/**
- * Processes a hierarchy event that has occurred on this component
- * by dispatching it to the registered listeners.
+ * Processes a hierarchy event that has occurred on this component by
+ * dispatching it to the registered listeners.
*
- * @param e the HierarchyEvent.
+ * @param e
+ * the HierarchyEvent.
*/
protected void processHierarchyEvent(HierarchyEvent e) {
for (HierarchyListener listener : hierarchyListeners.getUserListeners()) {
@@ -5673,8 +5273,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Gets an array of HierarchyBoundsListener objects registered
- * to this Component.
+ * Gets an array of HierarchyBoundsListener objects registered to this
+ * Component.
*
* @return an array of HierarchyBoundsListener objects.
*/
@@ -5685,7 +5285,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Adds the specified hierarchy bounds listener.
*
- * @param l the HierarchyBoundsListener.
+ * @param l
+ * the HierarchyBoundsListener.
*/
public void addHierarchyBoundsListener(HierarchyBoundsListener l) {
hierarchyBoundsListeners.addUserListener(l);
@@ -5694,17 +5295,19 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Removes the hierarchy bounds listener registered for this Component.
*
- * @param l the HierarchyBoundsListener.
+ * @param l
+ * the HierarchyBoundsListener.
*/
public void removeHierarchyBoundsListener(HierarchyBoundsListener l) {
hierarchyBoundsListeners.removeUserListener(l);
}
/**
- * Processes a hierarchy bounds event that has occurred on this component
- * by dispatching it to the registered listeners.
- *
- * @param e the HierarchyBoundsEvent.
+ * Processes a hierarchy bounds event that has occurred on this component by
+ * dispatching it to the registered listeners.
+ *
+ * @param e
+ * the HierarchyBoundsEvent.
*/
protected void processHierarchyBoundsEvent(HierarchyEvent e) {
for (HierarchyBoundsListener listener : hierarchyBoundsListeners.getUserListeners()) {
@@ -5731,7 +5334,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Adds the specified key listener.
*
- * @param l the KeyListener.
+ * @param l
+ * the KeyListener.
*/
public void addKeyListener(KeyListener l) {
keyListeners.addUserListener(l);
@@ -5740,7 +5344,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Adds the awt key listener.
*
- * @param l the l
+ * @param l
+ * the l.
*/
void addAWTKeyListener(KeyListener l) {
enableAWTEvents(AWTEvent.KEY_EVENT_MASK);
@@ -5750,17 +5355,19 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Removes the key listener registered for this Component.
*
- * @param l the KeyListener.
+ * @param l
+ * the KeyListener.
*/
public void removeKeyListener(KeyListener l) {
keyListeners.removeUserListener(l);
}
/**
- * Processes a key event that has occurred on this component
- * by dispatching it to the registered listeners.
+ * Processes a key event that has occurred on this component by dispatching
+ * it to the registered listeners.
*
- * @param e the KeyEvent.
+ * @param e
+ * the KeyEvent.
*/
protected void processKeyEvent(KeyEvent e) {
processKeyEventImpl(e, keyListeners.getUserListeners());
@@ -5769,8 +5376,10 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Process key event impl.
*
- * @param e the e
- * @param c the c
+ * @param e
+ * the e.
+ * @param c
+ * the c.
*/
private void processKeyEventImpl(KeyEvent e, Collection<KeyListener> c) {
for (KeyListener listener : c) {
@@ -5800,7 +5409,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Adds the specified mouse listener.
*
- * @param l the MouseListener.
+ * @param l
+ * the MouseListener.
*/
public void addMouseListener(MouseListener l) {
mouseListeners.addUserListener(l);
@@ -5809,7 +5419,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Adds the awt mouse listener.
*
- * @param l the l
+ * @param l
+ * the l.
*/
void addAWTMouseListener(MouseListener l) {
enableAWTEvents(AWTEvent.MOUSE_EVENT_MASK);
@@ -5819,7 +5430,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Adds the awt mouse motion listener.
*
- * @param l the l
+ * @param l
+ * the l.
*/
void addAWTMouseMotionListener(MouseMotionListener l) {
enableAWTEvents(AWTEvent.MOUSE_MOTION_EVENT_MASK);
@@ -5829,7 +5441,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Adds the awt component listener.
*
- * @param l the l
+ * @param l
+ * the l.
*/
void addAWTComponentListener(ComponentListener l) {
enableAWTEvents(AWTEvent.COMPONENT_EVENT_MASK);
@@ -5839,7 +5452,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Adds the awt input method listener.
*
- * @param l the l
+ * @param l
+ * the l.
*/
void addAWTInputMethodListener(InputMethodListener l) {
enableAWTEvents(AWTEvent.INPUT_METHOD_EVENT_MASK);
@@ -5849,7 +5463,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Adds the awt mouse wheel listener.
*
- * @param l the l
+ * @param l
+ * the l.
*/
void addAWTMouseWheelListener(MouseWheelListener l) {
enableAWTEvents(AWTEvent.MOUSE_WHEEL_EVENT_MASK);
@@ -5859,17 +5474,19 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Removes the mouse listener registered for this Component.
*
- * @param l the MouseListener.
+ * @param l
+ * the MouseListener.
*/
public void removeMouseListener(MouseListener l) {
mouseListeners.removeUserListener(l);
}
/**
- * Processes a mouse event that has occurred on this component
- * by dispatching it to the registered listeners.
+ * Processes a mouse event that has occurred on this component by
+ * dispatching it to the registered listeners.
*
- * @param e the MouseEvent.
+ * @param e
+ * the MouseEvent.
*/
protected void processMouseEvent(MouseEvent e) {
processMouseEventImpl(e, mouseListeners.getUserListeners());
@@ -5878,8 +5495,10 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Process mouse event impl.
*
- * @param e the e
- * @param c the c
+ * @param e
+ * the e.
+ * @param c
+ * the c.
*/
private void processMouseEventImpl(MouseEvent e, Collection<MouseListener> c) {
for (MouseListener listener : c) {
@@ -5906,8 +5525,10 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Process mouse motion event impl.
*
- * @param e the e
- * @param c the c
+ * @param e
+ * the e.
+ * @param c
+ * the c.
*/
private void processMouseMotionEventImpl(MouseEvent e, Collection<MouseMotionListener> c) {
for (MouseMotionListener listener : c) {
@@ -5923,11 +5544,9 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
/**
- * Gets an array of the mouse motion listeners registered to
- * the Component.
+ * Gets an array of the mouse motion listeners registered to the Component.
*
- * @return an array of the MouseMotionListeners registered to
- * the Component.
+ * @return an array of the MouseMotionListeners registered to the Component.
*/
public MouseMotionListener[] getMouseMotionListeners() {
return mouseMotionListeners.getUserListeners(new MouseMotionListener[0]);
@@ -5936,7 +5555,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Adds the specified mouse motion listener.
*
- * @param l the MouseMotionListener.
+ * @param l
+ * the MouseMotionListener.
*/
public void addMouseMotionListener(MouseMotionListener l) {
mouseMotionListeners.addUserListener(l);
@@ -5945,28 +5565,28 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Removes the mouse motion listener registered for this component.
*
- * @param l the MouseMotionListener.
+ * @param l
+ * the MouseMotionListener.
*/
public void removeMouseMotionListener(MouseMotionListener l) {
mouseMotionListeners.removeUserListener(l);
}
/**
- * Processes a mouse motion event that has occurred on this component
- * by dispatching it to the registered listeners.
+ * Processes a mouse motion event that has occurred on this component by
+ * dispatching it to the registered listeners.
*
- * @param e the MouseEvent.
+ * @param e
+ * the MouseEvent.
*/
protected void processMouseMotionEvent(MouseEvent e) {
processMouseMotionEventImpl(e, mouseMotionListeners.getUserListeners());
}
/**
- * Gets an array of the mouse wheel listeners registered to
- * the Component.
+ * Gets an array of the mouse wheel listeners registered to the Component.
*
- * @return an array of the MouseWheelListeners registered to
- * the Component.
+ * @return an array of the MouseWheelListeners registered to the Component.
*/
public MouseWheelListener[] getMouseWheelListeners() {
return mouseWheelListeners.getUserListeners(new MouseWheelListener[0]);
@@ -5975,7 +5595,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Adds the specified mouse wheel listener.
*
- * @param l the MouseWheelListener.
+ * @param l
+ * the MouseWheelListener.
*/
public void addMouseWheelListener(MouseWheelListener l) {
mouseWheelListeners.addUserListener(l);
@@ -5984,28 +5605,30 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Removes the mouse wheel listener registered for this component.
*
- * @param l the MouseWheelListener.
+ * @param l
+ * the MouseWheelListener.
*/
public void removeMouseWheelListener(MouseWheelListener l) {
mouseWheelListeners.removeUserListener(l);
}
/**
- * Processes a mouse wheel event that has occurred on this component
- * by dispatching it to the registered listeners.
+ * Processes a mouse wheel event that has occurred on this component by
+ * dispatching it to the registered listeners.
*
- * @param e the MouseWheelEvent.
+ * @param e
+ * the MouseWheelEvent.
*/
protected void processMouseWheelEvent(MouseWheelEvent e) {
processMouseWheelEventImpl(e, mouseWheelListeners.getUserListeners());
}
/**
- * Gets an array of the InputMethodListener listeners
- * registered to the Component.
+ * Gets an array of the InputMethodListener listeners registered to the
+ * Component.
*
- * @return an array of the InputMethodListener listeners
- * registered to the Component.
+ * @return an array of the InputMethodListener listeners registered to the
+ * Component.
*/
public InputMethodListener[] getInputMethodListeners() {
return inputMethodListeners.getUserListeners(new InputMethodListener[0]);
@@ -6014,7 +5637,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Adds the specified input method listener.
*
- * @param l the InputMethodListener.
+ * @param l
+ * the InputMethodListener.
*/
public void addInputMethodListener(InputMethodListener l) {
inputMethodListeners.addUserListener(l);
@@ -6023,17 +5647,19 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Removes the input method listener registered for this component.
*
- * @param l the InputMethodListener.
+ * @param l
+ * the InputMethodListener.
*/
public void removeInputMethodListener(InputMethodListener l) {
inputMethodListeners.removeUserListener(l);
}
/**
- * Processes an input method event that has occurred on this component
- * by dispatching it to the registered listeners.
+ * Processes an input method event that has occurred on this component by
+ * dispatching it to the registered listeners.
*
- * @param e the InputMethodEvent.
+ * @param e
+ * the InputMethodEvent.
*/
protected void processInputMethodEvent(InputMethodEvent e) {
processInputMethodEventImpl(e, inputMethodListeners.getUserListeners());
@@ -6042,11 +5668,12 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Process input method event impl.
*
- * @param e the e
- * @param c the c
+ * @param e
+ * the e.
+ * @param c
+ * the c.
*/
- private void processInputMethodEventImpl(InputMethodEvent e,
- Collection<InputMethodListener> c) {
+ private void processInputMethodEventImpl(InputMethodEvent e, Collection<InputMethodListener> c) {
for (InputMethodListener listener : c) {
switch (e.getID()) {
case InputMethodEvent.CARET_POSITION_CHANGED:
@@ -6059,31 +5686,28 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
}
- //???AWT
+ // ???AWT
/*
- public Point getMousePosition() throws HeadlessException {
- Point absPointerPos = MouseInfo.getPointerInfo().getLocation();
- Window winUnderPtr = toolkit.dispatcher.mouseDispatcher.findWindowAt(absPointerPos);
- Point pointerPos = MouseDispatcher.convertPoint(null, absPointerPos, winUnderPtr);
- boolean isUnderPointer = false;
- if (winUnderPtr == null) {
- return null;
- }
- isUnderPointer = winUnderPtr.isComponentAt(this, pointerPos);
- if (isUnderPointer) {
- return MouseDispatcher.convertPoint(null, absPointerPos, this);
- }
- return null;
- }
- */
+ * public Point getMousePosition() throws HeadlessException { Point
+ * absPointerPos = MouseInfo.getPointerInfo().getLocation(); Window
+ * winUnderPtr =
+ * toolkit.dispatcher.mouseDispatcher.findWindowAt(absPointerPos); Point
+ * pointerPos = MouseDispatcher.convertPoint(null, absPointerPos,
+ * winUnderPtr); boolean isUnderPointer = false; if (winUnderPtr == null) {
+ * return null; } isUnderPointer = winUnderPtr.isComponentAt(this,
+ * pointerPos); if (isUnderPointer) { return
+ * MouseDispatcher.convertPoint(null, absPointerPos, this); } return null; }
+ */
/**
* Set native caret at the given position <br>
* Note: this method takes AWT lock inside because it walks through the
* component hierarchy.
*
- * @param x the x
- * @param y the y
+ * @param x
+ * the x.
+ * @param y
+ * the y.
*/
void setCaretPos(final int x, final int y) {
Runnable r = new Runnable() {
@@ -6106,35 +5730,34 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* This method should be called only at event dispatch thread.
*
- * @param x the x
- * @param y the y
+ * @param x
+ * the x.
+ * @param y
+ * the y.
*/
void setCaretPosImpl(int x, int y) {
Component c = this;
while ((c != null) && c.behaviour.isLightweight()) {
x += c.x;
y += c.y;
- //???AWT: c = c.getParent();
+ // ???AWT: c = c.getParent();
}
if (c == null) {
return;
}
- //???AWT
+ // ???AWT
/*
- if (c instanceof Window) {
- Insets insets = c.getNativeInsets();
- x -= insets.left;
- y -= insets.top;
- }
- toolkit.getWindowFactory().setCaretPosition(x, y);
- */
+ * if (c instanceof Window) { Insets insets = c.getNativeInsets(); x -=
+ * insets.left; y -= insets.top; }
+ * toolkit.getWindowFactory().setCaretPosition(x, y);
+ */
}
// to be overridden in standard components such as Button and List
/**
* Gets the default minimum size.
*
- * @return the default minimum size
+ * @return the default minimum size.
*/
Dimension getDefaultMinimumSize() {
return null;
@@ -6144,7 +5767,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Gets the default preferred size.
*
- * @return the default preferred size
+ * @return the default preferred size.
*/
Dimension getDefaultPreferredSize() {
return null;
@@ -6157,30 +5780,28 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
void resetDefaultSize() {
}
- //???AWT
+ // ???AWT
/*
- ComponentBehavior createBehavior() {
- return new LWBehavior(this);
- }
- */
+ * ComponentBehavior createBehavior() { return new LWBehavior(this); }
+ */
/**
* Gets the default background.
*
- * @return the default background
+ * @return the default background.
*/
Color getDefaultBackground() {
- //???AWT: return getWindowAncestor().getDefaultBackground();
+ // ???AWT: return getWindowAncestor().getDefaultBackground();
return getBackground();
}
/**
* Gets the default foreground.
*
- * @return the default foreground
+ * @return the default foreground.
*/
Color getDefaultForeground() {
- //???AWT return getWindowAncestor().getDefaultForeground();
+ // ???AWT return getWindowAncestor().getDefaultForeground();
return getForeground();
}
@@ -6188,7 +5809,8 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
* Called when native resource for this component is created (for
* heavyweights only).
*
- * @param win the win
+ * @param win
+ * the win.
*/
void nativeWindowCreated(NativeWindow win) {
// to be overridden
@@ -6198,48 +5820,37 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
* Determine the component's area hidden behind the windows that have higher
* Z-order, including windows of other applications.
*
- * @param image the image
- * @param destLocation the dest location
- * @param destSize the dest size
- * @param source the source
- *
- * @return the calculated region, or null if it cannot be determined
- */
- //???AWT
+ * @param image
+ * the image.
+ * @param destLocation
+ * the dest location.
+ * @param destSize
+ * the dest size.
+ * @param source
+ * the source.
+ * @return the calculated region, or null if it cannot be determined.
+ */
+ // ???AWT
/*
- MultiRectArea getObscuredRegion(Rectangle part) {
- if (!visible || parent == null || !parent.visible) {
- return null;
- }
- Rectangle r = new Rectangle(0, 0, w, h);
- if (part != null) {
- r = r.intersection(part);
- }
- if (r.isEmpty()) {
- return null;
- }
- r.translate(x, y);
- MultiRectArea ret = parent.getObscuredRegion(r);
- if (ret != null) {
- parent.addObscuredRegions(ret, this);
- ret.translate(-x, -y);
- ret.intersect(new Rectangle(0, 0, w, h));
- }
- return ret;
- }
- */
+ * MultiRectArea getObscuredRegion(Rectangle part) { if (!visible || parent
+ * == null || !parent.visible) { return null; } Rectangle r = new
+ * Rectangle(0, 0, w, h); if (part != null) { r = r.intersection(part); } if
+ * (r.isEmpty()) { return null; } r.translate(x, y); MultiRectArea ret =
+ * parent.getObscuredRegion(r); if (ret != null) {
+ * parent.addObscuredRegions(ret, this); ret.translate(-x, -y);
+ * ret.intersect(new Rectangle(0, 0, w, h)); } return ret; }
+ */
- //???AWT
+ // ???AWT
/*
- private void readObject(ObjectInputStream stream) throws IOException,
- ClassNotFoundException {
- stream.defaultReadObject();
- FieldsAccessor accessor = new FieldsAccessor(Component.class, this);
- accessor.set("toolkit", Toolkit.getDefaultToolkit()); //$NON-NLS-1$
- accessor.set("behaviour", createBehavior()); //$NON-NLS-1$
- accessor.set("componentLock", new Object()); // $NON-LOCK-1$ //$NON-NLS-1$
- }
- */
+ * private void readObject(ObjectInputStream stream) throws IOException,
+ * ClassNotFoundException { stream.defaultReadObject(); FieldsAccessor
+ * accessor = new FieldsAccessor(Component.class, this);
+ * accessor.set("toolkit", Toolkit.getDefaultToolkit()); //$NON-NLS-1$
+ * accessor.set("behaviour", createBehavior()); //$NON-NLS-1$
+ * accessor.set("componentLock", new Object()); // $NON-LOCK-1$
+ * //$NON-NLS-1$ }
+ */
final void onDrawImage(Image image, Point destLocation, Dimension destSize, Rectangle source) {
ImageParameters imageParams;
@@ -6272,33 +5883,37 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
}
}
- //???AWT
+ // ???AWT
/*
- private void invalidateRealParent() {
- Container realParent = getRealParent();
- if ((realParent != null) && realParent.isValid()) {
- realParent.invalidate();
- }
- }
- */
+ * private void invalidateRealParent() { Container realParent =
+ * getRealParent(); if ((realParent != null) && realParent.isValid()) {
+ * realParent.invalidate(); } }
+ */
/**
* The Class ImageParameters.
*/
private class ImageParameters {
-
- /** The drawing params. */
+
+ /**
+ * The drawing params.
+ */
private final LinkedList<DrawingParameters> drawingParams = new LinkedList<DrawingParameters>();
- /** The size. */
+ /**
+ * The size.
+ */
Dimension size = new Dimension(Component.this.w, Component.this.h);
/**
* Adds the drawing.
*
- * @param destLocation the dest location
- * @param destSize the dest size
- * @param source the source
+ * @param destLocation
+ * the dest location.
+ * @param destSize
+ * the dest size.
+ * @param source
+ * the source.
*/
void addDrawing(Point destLocation, Dimension destSize, Rectangle source) {
drawingParams.add(new DrawingParameters(destLocation, destSize, source));
@@ -6307,7 +5922,7 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* Drawing parameters iterator.
*
- * @return the iterator< drawing parameters>
+ * @return the iterator< drawing parameters>.
*/
Iterator<DrawingParameters> drawingParametersIterator() {
return drawingParams.iterator();
@@ -6317,22 +5932,31 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
* The Class DrawingParameters.
*/
class DrawingParameters {
-
- /** The dest location. */
+
+ /**
+ * The dest location.
+ */
Point destLocation;
- /** The dest size. */
+ /**
+ * The dest size.
+ */
Dimension destSize;
- /** The source. */
+ /**
+ * The source.
+ */
Rectangle source;
/**
* Instantiates a new drawing parameters.
*
- * @param destLocation the dest location
- * @param destSize the dest size
- * @param source the source
+ * @param destLocation
+ * the dest location.
+ * @param destSize
+ * the dest size.
+ * @param source
+ * the source.
*/
DrawingParameters(Point destLocation, Dimension destSize, Rectangle source) {
this.destLocation = new Point(destLocation);
@@ -6353,44 +5977,32 @@ public abstract class Component implements ImageObserver, MenuContainer, Seriali
/**
* TextComponent support.
*
- * @param e the e
- *
- * @return true, if dispatch event to im
+ * @param e
+ * the e.
+ * @return true, if dispatch event to im.
*/
- //???AWT
+ // ???AWT
/*
- private TextKit textKit = null;
-
- TextKit getTextKit() {
- return textKit;
- }
-
- void setTextKit(TextKit kit) {
- textKit = kit;
- }
- */
+ * private TextKit textKit = null; TextKit getTextKit() { return textKit; }
+ * void setTextKit(TextKit kit) { textKit = kit; }
+ */
/**
- * TextField support
+ * TextField support.
*/
- //???AWT
+ // ???AWT
/*
- private TextFieldKit textFieldKit = null;
-
- TextFieldKit getTextFieldKit() {
- return textFieldKit;
- }
-
- void setTextFieldKit(TextFieldKit kit) {
- textFieldKit = kit;
- }
- */
+ * private TextFieldKit textFieldKit = null; TextFieldKit getTextFieldKit()
+ * { return textFieldKit; } void setTextFieldKit(TextFieldKit kit) {
+ * textFieldKit = kit; }
+ */
/**
- * Dispatches input & focus events to input method
- * context.
- * @param e event to pass to InputContext.dispatchEvent()
- * @return true if event was consumed by IM, false otherwise
+ * Dispatches input & focus events to input method context.
+ *
+ * @param e
+ * event to pass to InputContext.dispatchEvent().
+ * @return true if event was consumed by IM, false otherwise.
*/
private boolean dispatchEventToIM(AWTEvent e) {
InputContext ic = getInputContext();
diff --git a/awt/java/awt/ComponentBehavior.java b/awt/java/awt/ComponentBehavior.java
index 89c9999..f4e8ffb 100644
--- a/awt/java/awt/ComponentBehavior.java
+++ b/awt/java/awt/ComponentBehavior.java
@@ -24,7 +24,7 @@ import org.apache.harmony.awt.wtk.NativeWindow;
/**
* The interface of the helper object that encapsulates the difference
- * between lightweight and heavyweight components.
+ * between lightweight and heavyweight components.
*/
interface ComponentBehavior {
diff --git a/awt/java/awt/ComponentOrientation.java b/awt/java/awt/ComponentOrientation.java
index ddb118d..5acc11a 100644
--- a/awt/java/awt/ComponentOrientation.java
+++ b/awt/java/awt/ComponentOrientation.java
@@ -18,44 +18,59 @@
* @author Michael Danilov, Dmitry A. Durnev
* @version $Revision$
*/
+
package java.awt;
import java.io.Serializable;
import java.util.*;
/**
- * The ComponentOrientation class specifies the language-sensitive orientation
- * of component's elements or text. It is used to reflect the differences in this
- * ordering between different writting systems. The ComponentOrientation class
- * indicates the orientation of the elements/text in the horizontal direction
- * ("left to right" or "right to left") and in the vertical direction
+ * The ComponentOrientation class specifies the language-sensitive orientation
+ * of component's elements or text. It is used to reflect the differences in
+ * this ordering between different writing systems. The ComponentOrientation
+ * class indicates the orientation of the elements/text in the horizontal
+ * direction ("left to right" or "right to left") and in the vertical direction
* ("top to bottom" or "bottom to top").
+ *
+ * @since Android 1.0
*/
public final class ComponentOrientation implements Serializable {
-
- /** The Constant serialVersionUID. */
+
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = -4113291392143563828L;
- /**
+ /**
* The Constant LEFT_TO_RIGHT indicates that items run left to right.
*/
public static final ComponentOrientation LEFT_TO_RIGHT = new ComponentOrientation(true, true);
- /**
+ /**
* The Constant RIGHT_TO_LEFT indicates that items run right to left.
*/
public static final ComponentOrientation RIGHT_TO_LEFT = new ComponentOrientation(true, false);
- /** The Constant UNKNOWN indicates that a component's orientation is not set. */
+ /**
+ * The Constant UNKNOWN indicates that a component's orientation is not set.
+ */
public static final ComponentOrientation UNKNOWN = new ComponentOrientation(true, true);
- /** The Constant rlLangs. */
- private static final Set<String> rlLangs = new HashSet<String>(); //RIGHT_TO_LEFT languages
+ /**
+ * The Constant rlLangs.
+ */
+ private static final Set<String> rlLangs = new HashSet<String>(); // RIGHT_TO_LEFT
- /** The horizontal. */
+ // languages
+
+ /**
+ * The horizontal.
+ */
private final boolean horizontal;
- /** The left2right. */
+ /**
+ * The left2right.
+ */
private final boolean left2right;
static {
@@ -68,10 +83,9 @@ public final class ComponentOrientation implements Serializable {
/**
* Gets the orientation for the given ResourceBundle's localization.
*
- * @param bdl the ResourceBundle.
- *
+ * @param bdl
+ * the ResourceBundle.
* @return the ComponentOrientation.
- *
* @deprecated Use getOrientation(java.util.Locale) method.
*/
@Deprecated
@@ -79,12 +93,11 @@ public final class ComponentOrientation implements Serializable {
Object obj = null;
try {
obj = bdl.getObject("Orientation"); //$NON-NLS-1$
- }
- catch (MissingResourceException mre) {
+ } catch (MissingResourceException mre) {
obj = null;
}
if (obj instanceof ComponentOrientation) {
- return (ComponentOrientation) obj;
+ return (ComponentOrientation)obj;
}
Locale locale = bdl.getLocale();
if (locale == null) {
@@ -96,8 +109,8 @@ public final class ComponentOrientation implements Serializable {
/**
* Gets the orientation for the specified locale.
*
- * @param locale the specified Locale.
- *
+ * @param locale
+ * the specified Locale.
* @return the ComponentOrientation.
*/
public static ComponentOrientation getOrientation(Locale locale) {
@@ -108,8 +121,10 @@ public final class ComponentOrientation implements Serializable {
/**
* Instantiates a new component orientation.
*
- * @param hor whether the items should be arranged horizontally
- * @param l2r whether this orientation specifies a left-to-right flow
+ * @param hor
+ * whether the items should be arranged horizontally.
+ * @param l2r
+ * whether this orientation specifies a left-to-right flow.
*/
private ComponentOrientation(boolean hor, boolean l2r) {
horizontal = hor;
@@ -117,11 +132,10 @@ public final class ComponentOrientation implements Serializable {
}
/**
- * Returns true if the text of the of writing systems arranged
- * horizontally.
+ * Returns true if the text of the of writing systems arranged horizontally.
*
- * @return true, if the text is written horizontally, false
- * for a vertical arrangement.
+ * @return true, if the text is written horizontally, false for a vertical
+ * arrangement.
*/
public boolean isHorizontal() {
return horizontal;
@@ -130,8 +144,8 @@ public final class ComponentOrientation implements Serializable {
/**
* Returns true if the text is arranged from left to right.
*
- * @return true, for writing systems written from left to right;
- * false for right-to-left.
+ * @return true, for writing systems written from left to right; false for
+ * right-to-left.
*/
public boolean isLeftToRight() {
return left2right;
diff --git a/awt/java/awt/Composite.java b/awt/java/awt/Composite.java
index 8e5b90a..d1730fe 100644
--- a/awt/java/awt/Composite.java
+++ b/awt/java/awt/Composite.java
@@ -18,30 +18,34 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt;
import java.awt.image.ColorModel;
/**
- * The Composite interface allows the methods to compose a draw primitive
- * on the graphics area. The classes implementing this interface provides
- * the rules and a method to create the context for a particular operation.
+ * The Composite interface allows the methods to compose a draw primitive on the
+ * graphics area. The classes implementing this interface provides the rules and
+ * a method to create the context for a particular operation.
+ *
+ * @since Android 1.0
*/
public interface Composite {
/**
- * Creates a CompositeContext which defines the encapsulated and
- * optimized environment for a compositing operation. Several contexts
- * can exist for a single Composite object.
- *
- * @param srcColorModel the source's ColorModel.
- * @param dstColorModel the destination's ColorModel.
- * @param hints the RenderingHints.
+ * Creates a CompositeContext which defines the encapsulated and optimized
+ * environment for a compositing operation. Several contexts can exist for a
+ * single Composite object.
*
+ * @param srcColorModel
+ * the source's ColorModel.
+ * @param dstColorModel
+ * the destination's ColorModel.
+ * @param hints
+ * the RenderingHints.
* @return the CompositeContext object.
*/
- public CompositeContext createContext(ColorModel srcColorModel,
- ColorModel dstColorModel, RenderingHints hints);
+ public CompositeContext createContext(ColorModel srcColorModel, ColorModel dstColorModel,
+ RenderingHints hints);
}
-
diff --git a/awt/java/awt/CompositeContext.java b/awt/java/awt/CompositeContext.java
index c676032..795640d 100644
--- a/awt/java/awt/CompositeContext.java
+++ b/awt/java/awt/CompositeContext.java
@@ -18,25 +18,31 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt;
import java.awt.image.Raster;
import java.awt.image.WritableRaster;
/**
- * The CompositeContext interface specifies the encapsulated and optimized
- * environment for a compositing operation.
+ * The CompositeContext interface specifies the encapsulated and optimized
+ * environment for a compositing operation.
+ *
+ * @since Android 1.0
*/
public interface CompositeContext {
/**
- * Composes the two source Raster objects and places the result in the
- * destination WritableRaster.
+ * Composes the two source Raster objects and places the result in the
+ * destination WritableRaster.
*
- * @param src the source Raster.
- * @param dstIn the destination Raster.
- * @param dstOut the WritableRaster object where the result of
- * composing operation is stored.
+ * @param src
+ * the source Raster.
+ * @param dstIn
+ * the destination Raster.
+ * @param dstOut
+ * the WritableRaster object where the result of composing
+ * operation is stored.
*/
public void compose(Raster src, Raster dstIn, WritableRaster dstOut);
@@ -46,4 +52,3 @@ public interface CompositeContext {
public void dispose();
}
-
diff --git a/awt/java/awt/Cursor.java b/awt/java/awt/Cursor.java
index 625686c..0a0cc84 100644
--- a/awt/java/awt/Cursor.java
+++ b/awt/java/awt/Cursor.java
@@ -18,6 +18,7 @@
* @author Dmitry A. Durnev
* @version $Revision$
*/
+
package java.awt;
import java.io.File;
@@ -35,61 +36,99 @@ import org.apache.harmony.awt.wtk.NativeCursor;
/**
* The Cursor class represents the bitmap of the mouse cursor.
+ *
+ * @since Android 1.0
*/
public class Cursor implements Serializable {
-
- /** The Constant serialVersionUID. */
+
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = 8028237497568985504L;
-
- /** The Constant DEFAULT_CURSOR indicates the default cursor type. */
+
+ /**
+ * The Constant DEFAULT_CURSOR indicates the default cursor type.
+ */
public static final int DEFAULT_CURSOR = 0;
- /** The Constant CROSSHAIR_CURSOR cursor type. */
+ /**
+ * The Constant CROSSHAIR_CURSOR cursor type.
+ */
public static final int CROSSHAIR_CURSOR = 1;
- /** The Constant TEXT_CURSOR cursor type. */
+ /**
+ * The Constant TEXT_CURSOR cursor type.
+ */
public static final int TEXT_CURSOR = 2;
- /** The Constant WAIT_CURSOR cursor type. */
+ /**
+ * The Constant WAIT_CURSOR cursor type.
+ */
public static final int WAIT_CURSOR = 3;
- /** The Constant SW_RESIZE_CURSOR cursor type. */
+ /**
+ * The Constant SW_RESIZE_CURSOR cursor type.
+ */
public static final int SW_RESIZE_CURSOR = 4;
- /** The Constant SE_RESIZE_CURSOR cursor type. */
+ /**
+ * The Constant SE_RESIZE_CURSOR cursor type.
+ */
public static final int SE_RESIZE_CURSOR = 5;
- /** The Constant NW_RESIZE_CURSOR cursor type. */
+ /**
+ * The Constant NW_RESIZE_CURSOR cursor type.
+ */
public static final int NW_RESIZE_CURSOR = 6;
- /** The Constant NE_RESIZE_CURSOR cursor type. */
+ /**
+ * The Constant NE_RESIZE_CURSOR cursor type.
+ */
public static final int NE_RESIZE_CURSOR = 7;
- /** The Constant N_RESIZE_CURSOR cursor type. */
+ /**
+ * The Constant N_RESIZE_CURSOR cursor type.
+ */
public static final int N_RESIZE_CURSOR = 8;
- /** The Constant S_RESIZE_CURSOR cursor type. */
+ /**
+ * The Constant S_RESIZE_CURSOR cursor type.
+ */
public static final int S_RESIZE_CURSOR = 9;
- /** The Constant W_RESIZE_CURSOR cursor type. */
+ /**
+ * The Constant W_RESIZE_CURSOR cursor type.
+ */
public static final int W_RESIZE_CURSOR = 10;
- /** The Constant E_RESIZE_CURSOR cursor type. */
+ /**
+ * The Constant E_RESIZE_CURSOR cursor type.
+ */
public static final int E_RESIZE_CURSOR = 11;
- /** The Constant HAND_CURSOR cursor type. */
+ /**
+ * The Constant HAND_CURSOR cursor type.
+ */
public static final int HAND_CURSOR = 12;
- /** The Constant MOVE_CURSOR cursor type. */
+ /**
+ * The Constant MOVE_CURSOR cursor type.
+ */
public static final int MOVE_CURSOR = 13;
- /** A mapping from names to system custom cursors. */
+ /**
+ * A mapping from names to system custom cursors.
+ */
static Map<String, Cursor> systemCustomCursors;
-
- /** The cursor props. */
+
+ /**
+ * The cursor props.
+ */
static Properties cursorProps;
- /** The Constant predefinedNames. */
+ /**
+ * The Constant predefinedNames.
+ */
static final String[] predefinedNames = {
"Default", "Crosshair", "Text", "Wait", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
"Southwest Resize", "Southeast Resize", //$NON-NLS-1$ //$NON-NLS-2$
@@ -99,41 +138,52 @@ public class Cursor implements Serializable {
};
- /** The predefined set of cursors. */
+ /**
+ * The predefined set of cursors.
+ */
protected static Cursor[] predefined = {
- new Cursor(DEFAULT_CURSOR), null, null, null,
- null, null, null, null,
- null, null, null, null,
- null, null
+ new Cursor(DEFAULT_CURSOR), null, null, null, null, null, null, null, null, null, null,
+ null, null, null
};
- /** The Constant CUSTOM_CURSOR is associated with all custom cursor types.
+ /**
+ * The Constant CUSTOM_CURSOR is associated with all custom cursor types.
* (Those which are not predefined)
*/
public static final int CUSTOM_CURSOR = -1;
- /** The name of the cursor. */
+ /**
+ * The name of the cursor.
+ */
protected String name;
- /** The type of the cursor, chosen from the list of cursor type constants. */
+ /**
+ * The type of the cursor, chosen from the list of cursor type constants.
+ */
private final int type;
-
- /** The native cursor. */
+
+ /**
+ * The native cursor.
+ */
private transient NativeCursor nativeCursor;
-
- /** The exact point on the cursor image that indicates which point
- * the cursor is selecting (pointing to). The coordinates are given
- * with respect the origin of the Image (its upper left corner).
+
+ /**
+ * The exact point on the cursor image that indicates which point the cursor
+ * is selecting (pointing to). The coordinates are given with respect the
+ * origin of the Image (its upper left corner).
*/
private Point hotSpot;
-
- /** The image to draw on the screen representing the cursor. */
+
+ /**
+ * The image to draw on the screen representing the cursor.
+ */
private Image image;
/**
* Instantiates a new cursor with the specified name.
*
- * @param name the name of cursor.
+ * @param name
+ * the name of cursor.
*/
protected Cursor(String name) {
this(name, null, new Point());
@@ -142,7 +192,8 @@ public class Cursor implements Serializable {
/**
* Instantiates a new cursor of the specified type.
*
- * @param type the type of cursor.
+ * @param type
+ * the type of cursor.
*/
public Cursor(int type) {
checkType(type);
@@ -155,9 +206,12 @@ public class Cursor implements Serializable {
/**
* Instantiates a new cursor.
*
- * @param name the name
- * @param img the img
- * @param hotSpot the hot spot
+ * @param name
+ * the name.
+ * @param img
+ * the img.
+ * @param hotSpot
+ * the hot spot.
*/
Cursor(String name, Image img, Point hotSpot) {
this.name = name;
@@ -167,10 +221,11 @@ public class Cursor implements Serializable {
}
/**
- * Finalize method overrided finalize method from Object class.
+ * Finalize method overrides the finalize method from Object class.
*
- * @throws Throwable if the native cursor is not null and throws
- * a throwable when destroyed.
+ * @throws Throwable
+ * if the native cursor is not null and throws a Throwable when
+ * destroyed.
*/
@Override
protected void finalize() throws Throwable {
@@ -201,7 +256,7 @@ public class Cursor implements Serializable {
/**
* Gets the cursor type.
*
- * @return the cursor type
+ * @return the cursor type.
*/
public int getType() {
return type;
@@ -210,8 +265,8 @@ public class Cursor implements Serializable {
/**
* Gets the predefined cursor with the specified type.
*
- * @param type the type of cursor.
- *
+ * @param type
+ * the type of cursor.
* @return the predefined cursor with the specified type.
*/
public static Cursor getPredefinedCursor(int type) {
@@ -236,33 +291,33 @@ public class Cursor implements Serializable {
/**
* Gets the specified system custom cursor.
*
- * @param name the name of the desired system cursor.
- *
+ * @param name
+ * the name of the desired system cursor.
* @return the specific system cursor with the specified name.
- *
- * @throws AWTException if the desired cursor has malformed data
- * such as an incorrectly defined hot spot.
- * @throws HeadlessException if the isHeadless method of the GraphicsEnvironment
- * returns true.
+ * @throws AWTException
+ * if the desired cursor has malformed data such as an
+ * incorrectly defined hot spot.
+ * @throws HeadlessException
+ * if the isHeadless method of the GraphicsEnvironment returns
+ * true.
*/
- public static Cursor getSystemCustomCursor(String name)
- throws AWTException, HeadlessException {
+ public static Cursor getSystemCustomCursor(String name) throws AWTException, HeadlessException {
Toolkit.checkHeadless();
return getSystemCustomCursorFromMap(name);
}
/**
- * Gets the specified system custom cursor from the map of system custom cursors.
+ * Gets the specified system custom cursor from the map of system custom
+ * cursors.
*
- * @param name the name of the desired cursor.
- *
- * @return the desired system custom cursor from the
- * map of system custom cursors.
- *
- * @throws AWTException the AWT exception
+ * @param name
+ * the name of the desired cursor.
+ * @return the desired system custom cursor from the map of system custom
+ * cursors.
+ * @throws AWTException
+ * the AWT exception.
*/
- private static Cursor getSystemCustomCursorFromMap (String name)
- throws AWTException {
+ private static Cursor getSystemCustomCursorFromMap(String name) throws AWTException {
loadCursorProps();
if (systemCustomCursors == null) {
systemCustomCursors = new HashMap<String, Cursor>();
@@ -284,8 +339,7 @@ public class Cursor implements Serializable {
int x, y;
try {
x = new Integer(hotSpotStr.substring(0, idx)).intValue();
- y = new Integer(hotSpotStr.substring(idx + 1,
- hotSpotStr.length())).intValue();
+ y = new Integer(hotSpotStr.substring(idx + 1, hotSpotStr.length())).intValue();
} catch (NumberFormatException nfe) {
throw new AWTException(exMsg);
}
@@ -299,7 +353,8 @@ public class Cursor implements Serializable {
/**
* Load cursor props.
*
- * @throws AWTException the AWT exception
+ * @throws AWTException
+ * the AWT exception.
*/
private static void loadCursorProps() throws AWTException {
if (cursorProps != null) {
@@ -308,18 +363,18 @@ public class Cursor implements Serializable {
String sep = File.separator;
String cursorsDir = "lib" + sep + "images" + sep + "cursors"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
String cursorsAbsDir = System.getProperty("java.home") + sep + //$NON-NLS-1$
- cursorsDir;
+ cursorsDir;
String cursorPropsFileName = "cursors.properties"; //$NON-NLS-1$
- String cursorPropsFullFileName = (cursorsAbsDir + sep +
- cursorPropsFileName);
+ String cursorPropsFullFileName = (cursorsAbsDir + sep + cursorPropsFileName);
cursorProps = new Properties();
try {
- cursorProps.load(new FileInputStream(new File(
- cursorPropsFullFileName)));
+ cursorProps.load(new FileInputStream(new File(cursorPropsFullFileName)));
} catch (FileNotFoundException e) {
// awt.142=Exception: class {0} {1} occurred while loading: {2}
throw new AWTException(Messages.getString("awt.142",//$NON-NLS-1$
- new Object[]{e.getClass(), e.getMessage(), cursorPropsFullFileName}));
+ new Object[] {
+ e.getClass(), e.getMessage(), cursorPropsFullFileName
+ }));
} catch (IOException e) {
throw new AWTException(e.getMessage());
}
@@ -329,7 +384,8 @@ public class Cursor implements Serializable {
/**
* Check type.
*
- * @param type the type
+ * @param type
+ * the type.
*/
static void checkType(int type) {
// can't use predefined array here because it may not have been
@@ -344,7 +400,7 @@ public class Cursor implements Serializable {
/**
* Gets the native cursor.
*
- * @return the native cursor
+ * @return the native cursor.
*/
NativeCursor getNativeCursor() {
if (nativeCursor != null) {
@@ -354,8 +410,7 @@ public class Cursor implements Serializable {
if (type != CUSTOM_CURSOR) {
nativeCursor = toolkit.createNativeCursor(type);
} else {
- nativeCursor = toolkit.createCustomNativeCursor(image, hotSpot,
- name);
+ nativeCursor = toolkit.createCustomNativeCursor(image, hotSpot, name);
}
return nativeCursor;
}
@@ -363,10 +418,10 @@ public class Cursor implements Serializable {
/**
* Sets the native cursor.
*
- * @param nativeCursor the new native cursor
+ * @param nativeCursor
+ * the new native cursor.
*/
void setNativeCursor(NativeCursor nativeCursor) {
this.nativeCursor = nativeCursor;
}
}
-
diff --git a/awt/java/awt/Dimension.java b/awt/java/awt/Dimension.java
index 8137846..6777962 100644
--- a/awt/java/awt/Dimension.java
+++ b/awt/java/awt/Dimension.java
@@ -18,6 +18,7 @@
* @author Denis M. Kishenko
* @version $Revision$
*/
+
package java.awt;
import java.awt.geom.Dimension2D;
@@ -26,26 +27,36 @@ import java.io.Serializable;
import org.apache.harmony.misc.HashCode;
/**
- * The Dimension represents the size (width and height) of a component.
- * The width and height values can be negative, but in that case the
- * behavior of some methods is unexpected.
+ * The Dimension represents the size (width and height) of a component. The
+ * width and height values can be negative, but in that case the behavior of
+ * some methods is unexpected.
+ *
+ * @since Android 1.0
*/
public class Dimension extends Dimension2D implements Serializable {
- /** The Constant serialVersionUID. */
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = 4723952579491349524L;
- /** The width dimension. */
+ /**
+ * The width dimension.
+ */
public int width;
-
- /** The height dimension. */
+
+ /**
+ * The height dimension.
+ */
public int height;
/**
- * Instantiates a new Dimension with the same data as the specified Dimension.
+ * Instantiates a new Dimension with the same data as the specified
+ * Dimension.
*
- * @param d the Dimension to copy the data from when creating the
- * new Dimension object.
+ * @param d
+ * the Dimension to copy the data from when creating the new
+ * Dimension object.
*/
public Dimension(Dimension d) {
this(d.width, d.height);
@@ -61,8 +72,10 @@ public class Dimension extends Dimension2D implements Serializable {
/**
* Instantiates a new Dimension with the specified width and height.
*
- * @param width the width of the new Dimension.
- * @param height the height of the new Dimension.
+ * @param width
+ * the width of the new Dimension.
+ * @param height
+ * the height of the new Dimension.
*/
public Dimension(int width, int height) {
setSize(width, height);
@@ -84,10 +97,10 @@ public class Dimension extends Dimension2D implements Serializable {
/**
* Compares this Dimension object with the specified object.
*
- * @param obj the Object to be compared.
- *
- * @return true, if the specified Object is a Dimension with
- * the same width and height data as this Dimension.
+ * @param obj
+ * the Object to be compared.
+ * @return true, if the specified Object is a Dimension with the same width
+ * and height data as this Dimension.
*/
@Override
public boolean equals(Object obj) {
@@ -108,16 +121,20 @@ public class Dimension extends Dimension2D implements Serializable {
*/
@Override
public String toString() {
- // The output format based on 1.5 release behaviour. It could be obtained in the following way
+ // The output format based on 1.5 release behaviour. It could be
+ // obtained in the following way
// System.out.println(new Dimension().toString())
return getClass().getName() + "[width=" + width + ",height=" + height + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
/**
- * Sets the size of this Dimension object with the specified width and height.
+ * Sets the size of this Dimension object with the specified width and
+ * height.
*
- * @param width the width of the Dimension.
- * @param height the height of the Dimension.
+ * @param width
+ * the width of the Dimension.
+ * @param height
+ * the height of the Dimension.
*/
public void setSize(int width, int height) {
this.width = width;
@@ -125,22 +142,24 @@ public class Dimension extends Dimension2D implements Serializable {
}
/**
- * Sets the size of this Dimension object by copying the
- * data from the specified Dimension object.
+ * Sets the size of this Dimension object by copying the data from the
+ * specified Dimension object.
*
- * @param d the Dimension that gives the new size values.
+ * @param d
+ * the Dimension that gives the new size values.
*/
public void setSize(Dimension d) {
setSize(d.width, d.height);
}
/**
- * Sets the size of this Dimension object with the specified double width
+ * Sets the size of this Dimension object with the specified double width
* and height.
*
- * @param width the width of the Dimension.
- * @param height the height of the Dimension.
- *
+ * @param width
+ * the width of the Dimension.
+ * @param height
+ * the height of the Dimension.
* @see java.awt.geom.Dimension2D#setSize(double, double)
*/
@Override
@@ -161,7 +180,6 @@ public class Dimension extends Dimension2D implements Serializable {
* Gets the height of the Dimension.
*
* @return the height of the Dimension.
- *
* @see java.awt.geom.Dimension2D#getHeight()
*/
@Override
@@ -173,7 +191,6 @@ public class Dimension extends Dimension2D implements Serializable {
* Gets the width of the Dimension.
*
* @return the width of the Dimension.
- *
* @see java.awt.geom.Dimension2D#getWidth()
*/
@Override
@@ -182,4 +199,3 @@ public class Dimension extends Dimension2D implements Serializable {
}
}
-
diff --git a/awt/java/awt/DisplayMode.java b/awt/java/awt/DisplayMode.java
index 082c7b8..8021010 100644
--- a/awt/java/awt/DisplayMode.java
+++ b/awt/java/awt/DisplayMode.java
@@ -18,41 +18,60 @@
* @author Alexey A. Petrenko
* @version $Revision$
*/
+
package java.awt;
/**
- * The DisplayMode class containes the bit depth, height, width and
- * refresh rate of a GraphicsDevice.
+ * The DisplayMode class contains the bit depth, height, width and refresh rate
+ * of a GraphicsDevice.
+ *
+ * @since Android 1.0
*/
public final class DisplayMode {
-
- /** The width. */
+
+ /**
+ * The width.
+ */
private final int width;
- /** The height. */
+ /**
+ * The height.
+ */
private final int height;
- /** The bit depth. */
+ /**
+ * The bit depth.
+ */
private final int bitDepth;
- /** The refresh rate. */
+ /**
+ * The refresh rate.
+ */
private final int refreshRate;
- /** The Constant Value BIT_DEPTH_MULTI indicates the bit depth */
+ /**
+ * The Constant Value BIT_DEPTH_MULTI indicates the bit depth
+ */
public static final int BIT_DEPTH_MULTI = -1;
- /** The Constant REFRESH_RATE_UNKNOWN indicates the refresh rate. */
+ /**
+ * The Constant REFRESH_RATE_UNKNOWN indicates the refresh rate.
+ */
public static final int REFRESH_RATE_UNKNOWN = 0;
- /**
- * Creates a new DisplayMode object with the specified parameters.
- *
- * @param width the width of the display.
- * @param height the height of the display.
- * @param bitDepth the bit depth of the display.
- * @param refreshRate the refresh rate of the display.
- */
+ /**
+ * Creates a new DisplayMode object with the specified parameters.
+ *
+ * @param width
+ * the width of the display.
+ * @param height
+ * the height of the display.
+ * @param bitDepth
+ * the bit depth of the display.
+ * @param refreshRate
+ * the refresh rate of the display.
+ */
public DisplayMode(int width, int height, int bitDepth, int refreshRate) {
this.width = width;
@@ -61,15 +80,14 @@ public final class DisplayMode {
this.refreshRate = refreshRate;
}
-
- /**
- * Compares if this DisplayMode is equal to the specified object or not.
- *
- * @param dm the Object to be compared.
- *
- * @return true, if the specified object is a DisplayMode with the same
- * data values as this DisplayMode, false otherwise.
- */
+ /**
+ * Compares if this DisplayMode is equal to the specified object or not.
+ *
+ * @param dm
+ * the Object to be compared.
+ * @return true, if the specified object is a DisplayMode with the same data
+ * values as this DisplayMode, false otherwise.
+ */
@Override
public boolean equals(Object dm) {
@@ -80,13 +98,13 @@ public final class DisplayMode {
}
/**
- * Compares if this DisplayMode is equal to the specified DisplayMode object
- * or not.
- *
- * @param dm the DisplayMode to be compared.
- *
- * @return true, if all of the data values of this DisplayMode are equal
- * to the values of the specified DisplayMode object, false otherwise.
+ * Compares if this DisplayMode is equal to the specified DisplayMode object
+ * or not.
+ *
+ * @param dm
+ * the DisplayMode to be compared.
+ * @return true, if all of the data values of this DisplayMode are equal to
+ * the values of the specified DisplayMode object, false otherwise.
*/
public boolean equals(DisplayMode dm) {
if (dm == null) {
@@ -108,8 +126,8 @@ public final class DisplayMode {
}
/**
- * Gets the bit depth of the DisplayMode, returns BIT_DEPTH_MULTI value
- * if multiple bit depths are supported in this display mode.
+ * Gets the bit depth of the DisplayMode, returns BIT_DEPTH_MULTI value if
+ * multiple bit depths are supported in this display mode.
*
* @return the bit depth of the DisplayMode.
*/
diff --git a/awt/java/awt/Event.java b/awt/java/awt/Event.java
index f074258..226a61f 100644
--- a/awt/java/awt/Event.java
+++ b/awt/java/awt/Event.java
@@ -18,224 +18,293 @@
* @author Dmitry A. Durnev
* @version $Revision$
*/
+
package java.awt;
import java.io.Serializable;
/**
- * The Event Class is obsolete and has been replaced by AWTEvent class.
+ * The Event class is obsolete and has been replaced by AWTEvent class.
*
+ * @since Android 1.0
*/
public class Event implements Serializable {
-
- /** The Constant serialVersionUID. */
+
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = 5488922509400504703L;
-
- /**
- * The Constant SHIFT_MASK indicates that the Shift key is down when
- * the event occurred.
+
+ /**
+ * The Constant SHIFT_MASK indicates that the Shift key is down when the
+ * event occurred.
*/
public static final int SHIFT_MASK = 1;
- /**
- * The Constant CTRL_MASK indicates that the Control key is down when
- * the event occurred.
+ /**
+ * The Constant CTRL_MASK indicates that the Control key is down when the
+ * event occurred.
*/
public static final int CTRL_MASK = 2;
- /** The Constant META_MASK indicates that the Meta key is down when t
- * he event occurred (or the right mouse button). */
+ /**
+ * The Constant META_MASK indicates that the Meta key is down when t he
+ * event occurred (or the right mouse button).
+ */
public static final int META_MASK = 4;
- /**
- * The Constant ALT_MASK indicates that the Alt key is down when
- * the event occurred (or the middle mouse button).
+ /**
+ * The Constant ALT_MASK indicates that the Alt key is down when the event
+ * occurred (or the middle mouse button).
*/
public static final int ALT_MASK = 8;
- /** The Constant HOME indicates Home key. */
+ /**
+ * The Constant HOME indicates Home key.
+ */
public static final int HOME = 1000;
- /** The Constant END indicates End key. */
+ /**
+ * The Constant END indicates End key.
+ */
public static final int END = 1001;
- /** The Constant PGUP indicates Page Up key. */
+ /**
+ * The Constant PGUP indicates Page Up key.
+ */
public static final int PGUP = 1002;
- /** The Constant PGDN indicates Page Down key. */
+ /**
+ * The Constant PGDN indicates Page Down key.
+ */
public static final int PGDN = 1003;
- /** The Constant UP indicates Up key. */
+ /**
+ * The Constant UP indicates Up key.
+ */
public static final int UP = 1004;
- /** The Constant DOWN indicates Down key. */
+ /**
+ * The Constant DOWN indicates Down key.
+ */
public static final int DOWN = 1005;
- /** The Constant LEFT indicates Left key. */
+ /**
+ * The Constant LEFT indicates Left key.
+ */
public static final int LEFT = 1006;
- /** The Constant RIGHT indicates Right key. */
+ /**
+ * The Constant RIGHT indicates Right key.
+ */
public static final int RIGHT = 1007;
- /** The Constant F1 indicates F1 key. */
+ /**
+ * The Constant F1 indicates F1 key.
+ */
public static final int F1 = 1008;
- /** The Constant F2 indicates F2 key. */
+ /**
+ * The Constant F2 indicates F2 key.
+ */
public static final int F2 = 1009;
- /** The Constant F3 indicates F3 key. */
+ /**
+ * The Constant F3 indicates F3 key.
+ */
public static final int F3 = 1010;
- /** The Constant F4 indicates F4 key. */
+ /**
+ * The Constant F4 indicates F4 key.
+ */
public static final int F4 = 1011;
- /** The Constant F5 indicates F5 key. */
+ /**
+ * The Constant F5 indicates F5 key.
+ */
public static final int F5 = 1012;
- /** The Constant F6 indicates F6 key. */
+ /**
+ * The Constant F6 indicates F6 key.
+ */
public static final int F6 = 1013;
- /** The Constant F7 indicates F7 key. */
+ /**
+ * The Constant F7 indicates F7 key.
+ */
public static final int F7 = 1014;
- /** The Constant F8 indicates F8 key. */
+ /**
+ * The Constant F8 indicates F8 key.
+ */
public static final int F8 = 1015;
- /** The Constant F9 indicates F9 key. */
+ /**
+ * The Constant F9 indicates F9 key.
+ */
public static final int F9 = 1016;
- /** The Constant F10 indicates F10 key. */
+ /**
+ * The Constant F10 indicates F10 key.
+ */
public static final int F10 = 1017;
- /** The Constant F11 indicates F11 key. */
+ /**
+ * The Constant F11 indicates F11 key.
+ */
public static final int F11 = 1018;
- /** The Constant F12 indicates F12 key. */
+ /**
+ * The Constant F12 indicates F12 key.
+ */
public static final int F12 = 1019;
- /** The Constant PRINT_SCREEN indicates Print Screen key. */
+ /**
+ * The Constant PRINT_SCREEN indicates Print Screen key.
+ */
public static final int PRINT_SCREEN = 1020;
- /** The Constant SCROLL_LOCK indicates Scroll Lock key. */
+ /**
+ * The Constant SCROLL_LOCK indicates Scroll Lock key.
+ */
public static final int SCROLL_LOCK = 1021;
- /** The Constant CAPS_LOCK indicates Caps Lock key. */
+ /**
+ * The Constant CAPS_LOCK indicates Caps Lock key.
+ */
public static final int CAPS_LOCK = 1022;
- /** The Constant NUM_LOCK indicates Num Lock key. */
+ /**
+ * The Constant NUM_LOCK indicates Num Lock key.
+ */
public static final int NUM_LOCK = 1023;
- /** The Constant PAUSE indicates Pause key. */
+ /**
+ * The Constant PAUSE indicates Pause key.
+ */
public static final int PAUSE = 1024;
- /** The Constant INSERT indicates Insert key. */
+ /**
+ * The Constant INSERT indicates Insert key.
+ */
public static final int INSERT = 1025;
- /** The Constant ENTER indicates Enter key. */
+ /**
+ * The Constant ENTER indicates Enter key.
+ */
public static final int ENTER = 10;
- /** The Constant BACK_SPACE indicates Back Space key. */
+ /**
+ * The Constant BACK_SPACE indicates Back Space key.
+ */
public static final int BACK_SPACE = 8;
- /** The Constant TAB indicates TAb key. */
+ /**
+ * The Constant TAB indicates TAb key.
+ */
public static final int TAB = 9;
- /** The Constant ESCAPE indicates Escape key. */
+ /**
+ * The Constant ESCAPE indicates Escape key.
+ */
public static final int ESCAPE = 27;
- /** The Constant DELETE indicates Delete key. */
+ /**
+ * The Constant DELETE indicates Delete key.
+ */
public static final int DELETE = 127;
- /**
- * The Constant WINDOW_DESTROY indicates an event when the user has asked the
- * window manager to kill the window.
+ /**
+ * The Constant WINDOW_DESTROY indicates an event when the user has asked
+ * the window manager to kill the window.
*/
public static final int WINDOW_DESTROY = 201;
- /**
+ /**
* The Constant WINDOW_EXPOSE indicates an event when the user has asked the
* window manager to expose the window.
*/
public static final int WINDOW_EXPOSE = 202;
- /**
- * The Constant WINDOW_ICONIFY indicates an event when the user has asked the
- * window manager to inconify the window.
+ /**
+ * The Constant WINDOW_ICONIFY indicates an event when the user has asked
+ * the window manager to iconify the window.
*/
public static final int WINDOW_ICONIFY = 203;
- /**
- * The Constant WINDOW_DEICONIFY indicates an event when the user has asked the
- * window manager to deinconify the window.
+ /**
+ * The Constant WINDOW_DEICONIFY indicates an event when the user has asked
+ * the window manager to deiconify the window.
*/
public static final int WINDOW_DEICONIFY = 204;
- /**
+ /**
* The Constant WINDOW_MOVED indicates an event when the user has asked the
- * window manager to move the window.
+ * window manager to move the window.
*/
public static final int WINDOW_MOVED = 205;
- /**
- * The Constant KEY_PRESS indicates an event when the user presses
- * a normal key.
+ /**
+ * The Constant KEY_PRESS indicates an event when the user presses a normal
+ * key.
*/
public static final int KEY_PRESS = 401;
- /**
- * The Constant KEY_RELEASE indicates an event when the user releases
- * a normal key.
+ /**
+ * The Constant KEY_RELEASE indicates an event when the user releases a
+ * normal key.
*/
public static final int KEY_RELEASE = 402;
- /**
- * The Constant KEY_ACTION indicates an event when the user pressed
- * a non-ASCII action key.
+ /**
+ * The Constant KEY_ACTION indicates an event when the user pressed a
+ * non-ASCII action key.
*/
public static final int KEY_ACTION = 403;
/**
- * The Constant KEY_ACTION_RELEASE indicates an event when the user released
- * a non-ASCII action key.
+ * The Constant KEY_ACTION_RELEASE indicates an event when the user released
+ * a non-ASCII action key.
*/
public static final int KEY_ACTION_RELEASE = 404;
- /**
- * The Constant MOUSE_DOWN indicates an event when the user has pressed
- * the mouse button.
+ /**
+ * The Constant MOUSE_DOWN indicates an event when the user has pressed the
+ * mouse button.
*/
public static final int MOUSE_DOWN = 501;
- /**
- * The Constant MOUSE_UP indicates an event when the user has released
- * the mouse button.
+ /**
+ * The Constant MOUSE_UP indicates an event when the user has released the
+ * mouse button.
*/
public static final int MOUSE_UP = 502;
- /**
- * The Constant MOUSE_MOVE indicates an event when the user has moved
- * the mouse with no button pressed.
+ /**
+ * The Constant MOUSE_MOVE indicates an event when the user has moved the
+ * mouse with no button pressed.
*/
public static final int MOUSE_MOVE = 503;
- /**
- * The Constant MOUSE_ENTER indicates an event when the mouse
- * has entered a component.
+ /**
+ * The Constant MOUSE_ENTER indicates an event when the mouse has entered a
+ * component.
*/
public static final int MOUSE_ENTER = 504;
- /**
- * The Constant MOUSE_EXIT indicates an event when the mouse
- * has exited a component.
+ /**
+ * The Constant MOUSE_EXIT indicates an event when the mouse has exited a
+ * component.
*/
public static final int MOUSE_EXIT = 505;
- /** The Constant MOUSE_DRAG indicates an event when the user
- * has moved a mouse with the pressed button.
+ /**
+ * The Constant MOUSE_DRAG indicates an event when the user has moved a
+ * mouse with the pressed button.
*/
public static final int MOUSE_DRAG = 506;
- /**
+ /**
* The Constant SCROLL_LINE_UP indicates an event when the user has
* activated line-up area of scrollbar.
*/
@@ -243,101 +312,136 @@ public class Event implements Serializable {
/**
* The Constant SCROLL_LINE_DOWN indicates an event when the user has
- * activated line-down area of scrollbar.
+ * activated line-down area of scrollbar.
*/
public static final int SCROLL_LINE_DOWN = 602;
/**
* The Constant SCROLL_PAGE_UP indicates an event when the user has
- * activated page up area of scrollbar.
+ * activated page up area of scrollbar.
*/
public static final int SCROLL_PAGE_UP = 603;
/**
* The Constant SCROLL_PAGE_DOWN indicates an event when the user has
- * activated page down area of scrollbar.
+ * activated page down area of scrollbar.
*/
public static final int SCROLL_PAGE_DOWN = 604;
/**
- * The Constant SCROLL_ABSOLUTE indicates an event when the user
- * has moved the bubble in a scroll bar.
+ * The Constant SCROLL_ABSOLUTE indicates an event when the user has moved
+ * the bubble in a scroll bar.
*/
public static final int SCROLL_ABSOLUTE = 605;
- /** The Constant SCROLL_BEGIN indicates a scroll begin event. */
+ /**
+ * The Constant SCROLL_BEGIN indicates a scroll begin event.
+ */
public static final int SCROLL_BEGIN = 606;
- /** The Constant SCROLL_END indicates a scroll end event. */
+ /**
+ * The Constant SCROLL_END indicates a scroll end event.
+ */
public static final int SCROLL_END = 607;
- /**
- * The Constant LIST_SELECT indicates that an item in a list
- * has been selected.
+ /**
+ * The Constant LIST_SELECT indicates that an item in a list has been
+ * selected.
*/
public static final int LIST_SELECT = 701;
- /**
- * The Constant LIST_DESELECT indicates that an item in a list
- * has been deselected.
+ /**
+ * The Constant LIST_DESELECT indicates that an item in a list has been
+ * unselected.
*/
public static final int LIST_DESELECT = 702;
- /**
- * The Constant ACTION_EVENT indicates that the user wants some
- * action to occur.
+ /**
+ * The Constant ACTION_EVENT indicates that the user wants some action to
+ * occur.
*/
public static final int ACTION_EVENT = 1001;
- /** The Constant LOAD_FILE indicates a file loading event. */
+ /**
+ * The Constant LOAD_FILE indicates a file loading event.
+ */
public static final int LOAD_FILE = 1002;
- /** The Constant SAVE_FILE indicates a file saving event. */
+ /**
+ * The Constant SAVE_FILE indicates a file saving event.
+ */
public static final int SAVE_FILE = 1003;
- /** The Constant GOT_FOCUS indicates that a component got the focus. */
+ /**
+ * The Constant GOT_FOCUS indicates that a component got the focus.
+ */
public static final int GOT_FOCUS = 1004;
- /** The Constant LOST_FOCUS indicates that the component lost the focus. */
+ /**
+ * The Constant LOST_FOCUS indicates that the component lost the focus.
+ */
public static final int LOST_FOCUS = 1005;
- /** The target is the component with which the event is associated. */
+ /**
+ * The target is the component with which the event is associated.
+ */
public Object target;
- /** The when is timestamp when event has occured. */
+ /**
+ * The when is timestamp when event has occured.
+ */
public long when;
- /** The id indicates the type of the event. */
+ /**
+ * The id indicates the type of the event.
+ */
public int id;
- /** The x coordinate of event. */
+ /**
+ * The x coordinate of event.
+ */
public int x;
- /** The y coordinate of event. */
+ /**
+ * The y coordinate of event.
+ */
public int y;
- /** The key code of key event. */
+ /**
+ * The key code of key event.
+ */
public int key;
- /** The state of the modifier keys (given by a bitmask). */
+ /**
+ * The state of the modifier keys (given by a bitmask).
+ */
public int modifiers;
- /** The click count indicates the number of consecutive clicks. */
+ /**
+ * The click count indicates the number of consecutive clicks.
+ */
public int clickCount;
- /** The argument of the event. */
+ /**
+ * The argument of the event.
+ */
public Object arg;
- /** The next event. */
+ /**
+ * The next event.
+ */
public Event evt;
/**
- * Instantiates a new event with the specified target component,
- * event type, and argument.
+ * Instantiates a new event with the specified target component, event type,
+ * and argument.
*
- * @param target the target component.
- * @param id the event type.
- * @param arg the argument.
+ * @param target
+ * the target component.
+ * @param id
+ * the event type.
+ * @param arg
+ * the argument.
*/
public Event(Object target, int id, Object arg) {
this(target, 0l, id, 0, 0, 0, 0, arg);
@@ -348,13 +452,20 @@ public class Event implements Serializable {
* event type, x and y coordinates, keyboard key, state of the modifier
* keys, and an argument set to null.
*
- * @param target the target component.
- * @param when the time stamp.
- * @param id the event type.
- * @param x the x coordinate.
- * @param y the y coordinate.
- * @param key the key.
- * @param modifiers the modifier keys state.
+ * @param target
+ * the target component.
+ * @param when
+ * the time stamp.
+ * @param id
+ * the event type.
+ * @param x
+ * the x coordinate.
+ * @param y
+ * the y coordinate.
+ * @param key
+ * the key.
+ * @param modifiers
+ * the modifier keys state.
*/
public Event(Object target, long when, int id, int x, int y, int key, int modifiers) {
this(target, when, id, x, y, key, modifiers, null);
@@ -365,14 +476,22 @@ public class Event implements Serializable {
* event type, x and y coordinates, keyboard key, state of the modifier
* keys, and an argument.
*
- * @param target the target component.
- * @param when the time stamp.
- * @param id the event type.
- * @param x the x coordinate.
- * @param y the y coordinate.
- * @param key the key.
- * @param modifiers the modifier keys state.
- * @param arg the specified argument.
+ * @param target
+ * the target component.
+ * @param when
+ * the time stamp.
+ * @param id
+ * the event type.
+ * @param x
+ * the x coordinate.
+ * @param y
+ * the y coordinate.
+ * @param key
+ * the key.
+ * @param modifiers
+ * the modifier keys state.
+ * @param arg
+ * the specified argument.
*/
public Event(Object target, long when, int id, int x, int y, int key, int modifiers, Object arg) {
this.target = target;
@@ -392,11 +511,10 @@ public class Event implements Serializable {
*/
@Override
public String toString() {
- /* The format is based on 1.5 release behavior
- * which can be revealed by the following code:
- *
- * Event e = new Event(new Button(), 0l, Event.KEY_PRESS,
- * 0, 0, Event.TAB, Event.SHIFT_MASK, "arg");
+ /*
+ * The format is based on 1.5 release behavior which can be revealed by
+ * the following code: Event e = new Event(new Button(), 0l,
+ * Event.KEY_PRESS, 0, 0, Event.TAB, Event.SHIFT_MASK, "arg");
* System.out.println(e);
*/
@@ -410,15 +528,15 @@ public class Event implements Serializable {
*/
protected String paramString() {
return "id=" + id + ",x=" + x + ",y=" + y + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- (key != 0 ? ",key=" + key + getModifiersString() : "") + //$NON-NLS-1$ //$NON-NLS-2$
- ",target=" + target + //$NON-NLS-1$
- (arg != null ? ",arg=" + arg : ""); //$NON-NLS-1$ //$NON-NLS-2$
+ (key != 0 ? ",key=" + key + getModifiersString() : "") + //$NON-NLS-1$ //$NON-NLS-2$
+ ",target=" + target + //$NON-NLS-1$
+ (arg != null ? ",arg=" + arg : ""); //$NON-NLS-1$ //$NON-NLS-2$
}
/**
* Gets a string representation of the modifiers.
*
- * @return a string representation of the modifiers
+ * @return a string representation of the modifiers.
*/
private String getModifiersString() {
String strMod = ""; //$NON-NLS-1$
@@ -435,13 +553,13 @@ public class Event implements Serializable {
}
/**
- * Translates x and y coordinates of his event to the x+dx and x+dy
+ * Translates x and y coordinates of his event to the x+dx and x+dy
* coordinates.
*
- * @param dx the dx - the distance by which the event's x coordinate
- * is increased
- * @param dy the dy - the distance by which the event's y coordinate
- * is increased
+ * @param dx
+ * the distance by which the event's x coordinate is increased.
+ * @param dy
+ * the distance by which the event's y coordinate is increased.
*/
public void translate(int dx, int dy) {
x += dx;
@@ -476,4 +594,3 @@ public class Event implements Serializable {
}
}
-
diff --git a/awt/java/awt/EventQueue.java b/awt/java/awt/EventQueue.java
index 3997546..126a593 100644
--- a/awt/java/awt/EventQueue.java
+++ b/awt/java/awt/EventQueue.java
@@ -18,6 +18,7 @@
* @author Michael Danilov, Pavel Dolgov
* @version $Revision$
*/
+
package java.awt;
import java.awt.event.InvocationEvent;
@@ -25,60 +26,69 @@ import java.lang.reflect.InvocationTargetException;
import java.util.EmptyStackException;
/**
- * The EventQueue class manages events. It is a platform-independent class
- * that queues events both from the underlying peer classes and from trusted
+ * The EventQueue class manages events. It is a platform-independent class that
+ * queues events both from the underlying peer classes and from trusted
* application classes.
+ *
+ * @since Android 1.0
*/
public class EventQueue {
-
- /** The core ref. */
- private final EventQueueCoreAtomicReference coreRef =
- new EventQueueCoreAtomicReference();
-
+
+ /**
+ * The core ref.
+ */
+ private final EventQueueCoreAtomicReference coreRef = new EventQueueCoreAtomicReference();
+
/**
* The Class EventQueueCoreAtomicReference.
*/
private static final class EventQueueCoreAtomicReference {
-
- /** The core. */
+
+ /**
+ * The core.
+ */
private EventQueueCore core;
- /*synchronized*/ /**
+ /* synchronized */
+ /**
* Gets the.
*
- * @return the event queue core
+ * @return the event queue core.
*/
- EventQueueCore get() {
+ EventQueueCore get() {
return core;
}
- /*synchronized*/ /**
+ /* synchronized */
+ /**
* Sets the.
*
- * @param newCore the new core
+ * @param newCore
+ * the new core.
*/
- void set(EventQueueCore newCore) {
+ void set(EventQueueCore newCore) {
core = newCore;
}
}
/**
- * Returns true if the calling thread is the current
- * AWT EventQueue's dispatch thread.
+ * Returns true if the calling thread is the current AWT EventQueue's
+ * dispatch thread.
*
- * @return true, if the calling thread is the current
- * AWT EventQueue's dispatch thread; false otherwise.
+ * @return true, if the calling thread is the current AWT EventQueue's
+ * dispatch thread; false otherwise.
*/
public static boolean isDispatchThread() {
return Thread.currentThread() instanceof EventDispatchThread;
}
/**
- * Posts an InvocationEvent which executes the run() method on a Runnable
+ * Posts an InvocationEvent which executes the run() method on a Runnable
* when dispatched by the AWT event dispatcher thread.
*
- * @param runnable the Runnable whose run method should be executed
- * synchronously on the EventQueue.
+ * @param runnable
+ * the Runnable whose run method should be executed synchronously
+ * on the EventQueue.
*/
public static void invokeLater(Runnable runnable) {
Toolkit toolkit = Toolkit.getDefaultToolkit();
@@ -87,29 +97,28 @@ public class EventQueue {
}
/**
- * Posts an InvocationEvent which executes the run() method on a Runnable
- * when dispatched by the AWT event dispatcher thread and the
- * notifyAll method is called on it immediately after run returns.
- *
- * @param runnable the Runnable whose run method should be executed
- * synchronously on the EventQueue.
+ * Posts an InvocationEvent which executes the run() method on a Runnable
+ * when dispatched by the AWT event dispatcher thread and the notifyAll
+ * method is called on it immediately after run returns.
*
- * @throws InterruptedException if another thread has interrupted
- * this thread.
- * @throws InvocationTargetException if a throwable is thrown
- * when running the runnable.
+ * @param runnable
+ * the Runnable whose run method should be executed synchronously
+ * on the EventQueue.
+ * @throws InterruptedException
+ * if another thread has interrupted this thread.
+ * @throws InvocationTargetException
+ * if an error occurred while running the runnable.
*/
- public static void invokeAndWait(Runnable runnable)
- throws InterruptedException, InvocationTargetException {
+ public static void invokeAndWait(Runnable runnable) throws InterruptedException,
+ InvocationTargetException {
if (isDispatchThread()) {
throw new Error();
}
final Toolkit toolkit = Toolkit.getDefaultToolkit();
- final Object notifier = new Object(); //$NON-LOCK-1$
- InvocationEvent event = new InvocationEvent(
- toolkit, runnable, notifier, true);
+ final Object notifier = new Object(); // $NON-LOCK-1$
+ InvocationEvent event = new InvocationEvent(toolkit, runnable, notifier, true);
synchronized (notifier) {
toolkit.getSystemEventQueueImpl().postEvent(event);
@@ -126,7 +135,7 @@ public class EventQueue {
/**
* Gets the system event queue.
*
- * @return the system event queue
+ * @return the system event queue.
*/
private static EventQueue getSystemEventQueue() {
Thread th = Thread.currentThread();
@@ -135,48 +144,45 @@ public class EventQueue {
}
return null;
}
-
+
/**
- * Gets the most recent event's timestamp.
- * This event was dispatched from the EventQueue associated with the
- * calling thread.
+ * Gets the most recent event's timestamp. This event was dispatched from
+ * the EventQueue associated with the calling thread.
*
- * @return the timestamp of the last Event to be dispatched,
- * or System.currentTimeMillis() if this method is invoked from
- * a thread other than an event-dispatching thread.
+ * @return the timestamp of the last Event to be dispatched, or
+ * System.currentTimeMillis() if this method is invoked from a
+ * thread other than an event-dispatching thread.
*/
public static long getMostRecentEventTime() {
EventQueue eq = getSystemEventQueue();
- return (eq != null) ?
- eq.getMostRecentEventTimeImpl() : System.currentTimeMillis();
+ return (eq != null) ? eq.getMostRecentEventTimeImpl() : System.currentTimeMillis();
}
-
+
/**
* Gets the most recent event time impl.
*
- * @return the most recent event time impl
+ * @return the most recent event time impl.
*/
private long getMostRecentEventTimeImpl() {
return getCore().getMostRecentEventTime();
}
/**
- * Returns the the currently dispatched event by the EventQueue
- * associated with the calling thread.
+ * Returns the the currently dispatched event by the EventQueue associated
+ * with the calling thread.
*
- * @return the currently dispatched event or null if this method
- * is invoked from a thread other than an event-dispatching thread.
+ * @return the currently dispatched event or null if this method is invoked
+ * from a thread other than an event-dispatching thread.
*/
public static AWTEvent getCurrentEvent() {
EventQueue eq = getSystemEventQueue();
- return (eq != null) ?
- eq.getCurrentEventImpl() : null;
+ return (eq != null) ? eq.getCurrentEventImpl() : null;
}
/**
* Gets the current event impl.
*
- * @return the current event impl
+ * @return the current event impl.
*/
private AWTEvent getCurrentEventImpl() {
return getCore().getCurrentEvent();
@@ -192,7 +198,8 @@ public class EventQueue {
/**
* Instantiates a new event queue.
*
- * @param t the t
+ * @param t
+ * the t.
*/
EventQueue(Toolkit t) {
setCore(new EventQueueCore(this, t));
@@ -201,7 +208,8 @@ public class EventQueue {
/**
* Posts a event to the EventQueue.
*
- * @param event AWTEvent.
+ * @param event
+ * AWTEvent.
*/
public void postEvent(AWTEvent event) {
event.isPosted = true;
@@ -209,29 +217,28 @@ public class EventQueue {
}
/**
- * Returns an event from the EventQueue and removes it from this queue.
- *
- * @return the next AWTEvent.
+ * Returns an event from the EventQueue and removes it from this queue.
*
- * @throws InterruptedException is thrown if another thread
- * interrupts this thread.
+ * @return the next AWTEvent.
+ * @throws InterruptedException
+ * is thrown if another thread interrupts this thread.
*/
public AWTEvent getNextEvent() throws InterruptedException {
return getCore().getNextEvent();
}
-
+
/**
* Gets the next event no wait.
*
- * @return the next event no wait
+ * @return the next event no wait.
*/
AWTEvent getNextEventNoWait() {
return getCore().getNextEventNoWait();
}
/**
- * Returns the first event of the EventQueue (without removing it
- * from the queue).
+ * Returns the first event of the EventQueue (without removing it from the
+ * queue).
*
* @return the the first AWT event of the EventQueue.
*/
@@ -240,11 +247,11 @@ public class EventQueue {
}
/**
- * Returns the first event of the EventQueue with the specified ID
- * (without removing it from the queue).
- *
- * @param id the type ID of event.
+ * Returns the first event of the EventQueue with the specified ID (without
+ * removing it from the queue).
*
+ * @param id
+ * the type ID of event.
* @return the first event of the EventQueue with the specified ID.
*/
public AWTEvent peekEvent(int id) {
@@ -252,21 +259,22 @@ public class EventQueue {
}
/**
- * Replaces the existing EventQueue with the specified EventQueue.
- * Any pending events are transferred to the new EventQueue.
+ * Replaces the existing EventQueue with the specified EventQueue. Any
+ * pending events are transferred to the new EventQueue.
*
- * @param newEventQueue the new event queue.
+ * @param newEventQueue
+ * the new event queue.
*/
public void push(EventQueue newEventQueue) {
getCore().push(newEventQueue);
}
-
+
/**
- * Stops dispatching events using this EventQueue.
- * Any pending events are transferred to the previous EventQueue.
+ * Stops dispatching events using this EventQueue. Any pending events are
+ * transferred to the previous EventQueue.
*
- * @throws EmptyStackException is thrown if no previous push
- * was made on this EventQueue.
+ * @throws EmptyStackException
+ * is thrown if no previous push was made on this EventQueue.
*/
protected void pop() throws EmptyStackException {
getCore().pop();
@@ -275,7 +283,8 @@ public class EventQueue {
/**
* Dispatches the specified event.
*
- * @param event the AWTEvent.
+ * @param event
+ * the AWTEvent.
*/
protected void dispatchEvent(AWTEvent event) {
getCore().dispatchEventImpl(event);
@@ -284,7 +293,7 @@ public class EventQueue {
/**
* Checks if the queue is empty.
*
- * @return true, if is empty
+ * @return true, if is empty.
*/
boolean isEmpty() {
return getCore().isEmpty();
@@ -293,16 +302,17 @@ public class EventQueue {
/**
* Gets the core.
*
- * @return the core
+ * @return the core.
*/
EventQueueCore getCore() {
return coreRef.get();
}
-
+
/**
* Sets the core.
*
- * @param newCore the new core
+ * @param newCore
+ * the new core.
*/
void setCore(EventQueueCore newCore) {
coreRef.set((newCore != null) ? newCore : new EventQueueCore(this));
diff --git a/awt/java/awt/Font.java b/awt/java/awt/Font.java
index 139ae68..4ed9343 100644
--- a/awt/java/awt/Font.java
+++ b/awt/java/awt/Font.java
@@ -46,130 +46,165 @@ import org.apache.harmony.awt.gl.font.FontPeerImpl;
import org.apache.harmony.awt.gl.font.FontMetricsImpl;
import org.apache.harmony.awt.gl.font.LineMetricsImpl;
import org.apache.harmony.awt.internal.nls.Messages;
+import org.apache.harmony.luni.util.NotImplementedException;
import org.apache.harmony.misc.HashCode;
-
/**
- * The Font class represents fonts for rendering text.
- * This class allow to map characters to glyphs.
- * <p>
- * A glyph is a shape used to render a character or a sequence of
- * characters. For example one character of Latin writing system
- * represented by one glyth, but in complex writing system such as
- * South and South-East Asian there is more complicated correspondence
- * between characters and glyphs.
+ * The Font class represents fonts for rendering text. This class allow to map
+ * characters to glyphs.
+ * <p>
+ * A glyph is a shape used to render a character or a sequence of characters.
+ * For example one character of Latin writing system represented by one glyph,
+ * but in complex writing system such as South and South-East Asian there is
+ * more complicated correspondence between characters and glyphs.
* <p>
- * The Font object is identified by two types of names. The logical font name
- * is the name that is used to construct the font. The font name
- * is the name of a particular font face (for example, Arial Bold).
- * The family name is the font's family name that specifies
- * the typographic design across several faces (for example, Arial). In
- * all the Font is identified by three attributes: the family name,
- * the style (such as bold or italic), and the size.
+ * The Font object is identified by two types of names. The logical font name is
+ * the name that is used to construct the font. The font name is the name of a
+ * particular font face (for example, Arial Bold). The family name is the font's
+ * family name that specifies the typographic design across several faces (for
+ * example, Arial). In all the Font is identified by three attributes: the
+ * family name, the style (such as bold or italic), and the size.
+ *
+ * @since Android 1.0
*/
public class Font implements Serializable {
- /** The Constant serialVersionUID. */
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = -4206021311591459213L;
// Identity Transform attribute
- /** The Constant IDENTITY_TRANSFORM. */
+ /**
+ * The Constant IDENTITY_TRANSFORM.
+ */
private static final TransformAttribute IDENTITY_TRANSFORM = new TransformAttribute(
new AffineTransform());
- /** The Constant PLAIN indicates font's plain style. */
+ /**
+ * The Constant PLAIN indicates font's plain style.
+ */
public static final int PLAIN = 0;
- /** The Constant BOLD indicates font's bold style. */
+ /**
+ * The Constant BOLD indicates font's bold style.
+ */
public static final int BOLD = 1;
- /** The Constant ITALIC indicates font's italic style. */
+ /**
+ * The Constant ITALIC indicates font's italic style.
+ */
public static final int ITALIC = 2;
- /** The Constant ROMAN_BASELINE indicated roman baseline. */
+ /**
+ * The Constant ROMAN_BASELINE indicated roman baseline.
+ */
public static final int ROMAN_BASELINE = 0;
- /** The Constant CENTER_BASELINE indicates center baseline. */
+ /**
+ * The Constant CENTER_BASELINE indicates center baseline.
+ */
public static final int CENTER_BASELINE = 1;
- /** The Constant HANGING_BASELINE indicates hanging baseline. */
+ /**
+ * The Constant HANGING_BASELINE indicates hanging baseline.
+ */
public static final int HANGING_BASELINE = 2;
- /**
- * The Constant TRUETYPE_FONT indicates a font resource of
- * type TRUETYPE.
+ /**
+ * The Constant TRUETYPE_FONT indicates a font resource of type TRUETYPE.
*/
public static final int TRUETYPE_FONT = 0;
- /**
- * The Constant TYPE1_FONT indicates a font resource of
- * type TYPE1.
+ /**
+ * The Constant TYPE1_FONT indicates a font resource of type TYPE1.
*/
public static final int TYPE1_FONT = 1;
- /**
- * The Constant LAYOUT_LEFT_TO_RIGHT indicates that text is
- * left to right.
+ /**
+ * The Constant LAYOUT_LEFT_TO_RIGHT indicates that text is left to right.
*/
public static final int LAYOUT_LEFT_TO_RIGHT = 0;
- /**
- * The Constant LAYOUT_RIGHT_TO_LEFT indicates that text is
- * right to left.
+ /**
+ * The Constant LAYOUT_RIGHT_TO_LEFT indicates that text is right to left.
*/
public static final int LAYOUT_RIGHT_TO_LEFT = 1;
- /**
- * The Constant LAYOUT_NO_START_CONTEXT indicates that the text
- * in the char array before the indicated start should not be examined.
+ /**
+ * The Constant LAYOUT_NO_START_CONTEXT indicates that the text in the char
+ * array before the indicated start should not be examined.
*/
public static final int LAYOUT_NO_START_CONTEXT = 2;
- /** The Constant LAYOUT_NO_LIMIT_CONTEXT indicates that text in
- * the char array after the indicated limit should not be examined. */
+ /**
+ * The Constant LAYOUT_NO_LIMIT_CONTEXT indicates that text in the char
+ * array after the indicated limit should not be examined.
+ */
public static final int LAYOUT_NO_LIMIT_CONTEXT = 4;
- /** The Constant DEFAULT_FONT. */
+ /**
+ * The Constant DEFAULT_FONT.
+ */
static final Font DEFAULT_FONT = new Font("Dialog", Font.PLAIN, 12); //$NON-NLS-1$
- /** The name of the Font. */
+ /**
+ * The name of the Font.
+ */
protected String name;
- /** The style of the Font. */
+ /**
+ * The style of the Font.
+ */
protected int style;
- /** The size of the Font. */
+ /**
+ * The size of the Font.
+ */
protected int size;
- /** The point size of the Font. */
+ /**
+ * The point size of the Font.
+ */
protected float pointSize;
// Flag if the Font object transformed
- /** The transformed. */
+ /**
+ * The transformed.
+ */
private boolean transformed;
// Set of font attributes
- /** The requested attributes. */
+ /**
+ * The requested attributes.
+ */
private Hashtable<Attribute, Object> fRequestedAttributes;
// font peer object corresponding to this Font
- /** The font peer. */
+ /**
+ * The font peer.
+ */
private transient FontPeerImpl fontPeer;
// number of glyphs in this Font
- /** The num glyphs. */
+ /**
+ * The num glyphs.
+ */
private transient int numGlyphs = -1;
// code for missing glyph for this Font
- /** The missing glyph code. */
+ /**
+ * The missing glyph code.
+ */
private transient int missingGlyphCode = -1;
/**
* Writes object to ObjectOutputStream.
*
- * @param out ObjectOutputStream
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param out
+ * ObjectOutputStream.
+ * @throws IOException
+ * Signals that an I/O exception has occurred.
*/
private void writeObject(java.io.ObjectOutputStream out) throws IOException {
out.defaultWriteObject();
@@ -179,10 +214,12 @@ public class Font implements Serializable {
* Reads object from ObjectInputStream object and set native platform
* dependent fields to default values.
*
- * @param in ObjectInputStream object
- *
- * @throws IOException Signals that an I/O exception has occurred.
- * @throws ClassNotFoundException the class not found exception
+ * @param in
+ * ObjectInputStream object.
+ * @throws IOException
+ * Signals that an I/O exception has occurred.
+ * @throws ClassNotFoundException
+ * the class not found exception.
*/
private void readObject(java.io.ObjectInputStream in) throws IOException,
ClassNotFoundException {
@@ -194,11 +231,11 @@ public class Font implements Serializable {
}
/**
- * Instantiates a new Font with the specified attributes.
- * The Font will be created with default attributes
- * if the attribute's parameter is null.
+ * Instantiates a new Font with the specified attributes. The Font will be
+ * created with default attributes if the attribute's parameter is null.
*
- * @param attributes the attributes to be assigned to the new Font, or null.
+ * @param attributes
+ * the attributes to be assigned to the new Font, or null.
*/
public Font(Map<? extends Attribute, ?> attributes) {
Object currAttr;
@@ -217,43 +254,38 @@ public class Font implements Serializable {
currAttr = attributes.get(TextAttribute.SIZE);
if (currAttr != null) {
- this.pointSize = ((Float) currAttr).floatValue();
- this.size = (int) Math.ceil(this.pointSize);
+ this.pointSize = ((Float)currAttr).floatValue();
+ this.size = (int)Math.ceil(this.pointSize);
}
currAttr = attributes.get(TextAttribute.POSTURE);
- if (currAttr != null
- && currAttr.equals(TextAttribute.POSTURE_OBLIQUE)) {
+ if (currAttr != null && currAttr.equals(TextAttribute.POSTURE_OBLIQUE)) {
this.style |= Font.ITALIC;
}
currAttr = attributes.get(TextAttribute.WEIGHT);
if ((currAttr != null)
- && (((Float) currAttr).floatValue() >= (TextAttribute.WEIGHT_BOLD)
- .floatValue())) {
+ && (((Float)currAttr).floatValue() >= (TextAttribute.WEIGHT_BOLD).floatValue())) {
this.style |= Font.BOLD;
}
currAttr = attributes.get(TextAttribute.FAMILY);
if (currAttr != null) {
- this.name = (String) currAttr;
+ this.name = (String)currAttr;
}
currAttr = attributes.get(TextAttribute.TRANSFORM);
if (currAttr != null) {
if (currAttr instanceof TransformAttribute) {
- this.transformed = !((TransformAttribute) currAttr)
- .getTransform().isIdentity();
+ this.transformed = !((TransformAttribute)currAttr).getTransform().isIdentity();
} else if (currAttr instanceof AffineTransform) {
- this.transformed = !((AffineTransform) currAttr)
- .isIdentity();
+ this.transformed = !((AffineTransform)currAttr).isIdentity();
}
}
} else {
fRequestedAttributes = new Hashtable<Attribute, Object>(5);
- fRequestedAttributes.put(TextAttribute.TRANSFORM,
- IDENTITY_TRANSFORM);
+ fRequestedAttributes.put(TextAttribute.TRANSFORM, IDENTITY_TRANSFORM);
this.transformed = false;
@@ -262,18 +294,14 @@ public class Font implements Serializable {
fRequestedAttributes.put(TextAttribute.SIZE, new Float(this.size));
if ((this.style & Font.BOLD) != 0) {
- fRequestedAttributes.put(TextAttribute.WEIGHT,
- TextAttribute.WEIGHT_BOLD);
+ fRequestedAttributes.put(TextAttribute.WEIGHT, TextAttribute.WEIGHT_BOLD);
} else {
- fRequestedAttributes.put(TextAttribute.WEIGHT,
- TextAttribute.WEIGHT_REGULAR);
+ fRequestedAttributes.put(TextAttribute.WEIGHT, TextAttribute.WEIGHT_REGULAR);
}
if ((this.style & Font.ITALIC) != 0) {
- fRequestedAttributes.put(TextAttribute.POSTURE,
- TextAttribute.POSTURE_OBLIQUE);
+ fRequestedAttributes.put(TextAttribute.POSTURE, TextAttribute.POSTURE_OBLIQUE);
} else {
- fRequestedAttributes.put(TextAttribute.POSTURE,
- TextAttribute.POSTURE_REGULAR);
+ fRequestedAttributes.put(TextAttribute.POSTURE, TextAttribute.POSTURE_REGULAR);
}
}
@@ -282,9 +310,12 @@ public class Font implements Serializable {
/**
* Instantiates a new Font with the specified name, style and size.
*
- * @param name the name of font.
- * @param style the style of font.
- * @param size the size of font.
+ * @param name
+ * the name of font.
+ * @param style
+ * the style of font.
+ * @param size
+ * the size of font.
*/
public Font(String name, int style, int size) {
@@ -303,46 +334,43 @@ public class Font implements Serializable {
fRequestedAttributes.put(TextAttribute.SIZE, new Float(this.size));
if ((this.style & Font.BOLD) != 0) {
- fRequestedAttributes.put(TextAttribute.WEIGHT,
- TextAttribute.WEIGHT_BOLD);
+ fRequestedAttributes.put(TextAttribute.WEIGHT, TextAttribute.WEIGHT_BOLD);
} else {
- fRequestedAttributes.put(TextAttribute.WEIGHT,
- TextAttribute.WEIGHT_REGULAR);
+ fRequestedAttributes.put(TextAttribute.WEIGHT, TextAttribute.WEIGHT_REGULAR);
}
if ((this.style & Font.ITALIC) != 0) {
- fRequestedAttributes.put(TextAttribute.POSTURE,
- TextAttribute.POSTURE_OBLIQUE);
+ fRequestedAttributes.put(TextAttribute.POSTURE, TextAttribute.POSTURE_OBLIQUE);
} else {
- fRequestedAttributes.put(TextAttribute.POSTURE,
- TextAttribute.POSTURE_REGULAR);
+ fRequestedAttributes.put(TextAttribute.POSTURE, TextAttribute.POSTURE_REGULAR);
}
}
/**
* Returns true if this Font has a glyph for the specified character.
*
- * @param c the character.
- *
- * @return true if this Font has a glyph for the specified character,
- * false otherwise.
+ * @param c
+ * the character.
+ * @return true if this Font has a glyph for the specified character, false
+ * otherwise.
*/
public boolean canDisplay(char c) {
- FontPeerImpl peer = (FontPeerImpl) this.getPeer();
+ FontPeerImpl peer = (FontPeerImpl)this.getPeer();
return peer.canDisplay(c);
}
/**
- * Returns true if the Font can display the characters of the
- * the specified text from the specified start position
- * to the specified limit position.
- *
- * @param text the text.
- * @param start the start offset (in the character array).
- * @param limit the limit offset (in the character array).
- *
- * @return the a character's position in the text that this Font
- * can not display, or -1 if this Font can display all characters
- * in this text.
+ * Returns true if the Font can display the characters of the the specified
+ * text from the specified start position to the specified limit position.
+ *
+ * @param text
+ * the text.
+ * @param start
+ * the start offset (in the character array).
+ * @param limit
+ * the limit offset (in the character array).
+ * @return the a character's position in the text that this Font can not
+ * display, or -1 if this Font can display all characters in this
+ * text.
*/
public int canDisplayUpTo(char[] text, int start, int limit) {
int st = start;
@@ -361,17 +389,19 @@ public class Font implements Serializable {
}
/**
- * Returns true if the Font can display the characters of the
- * the specified CharacterIterator from the specified start position
- * and the specified limit position.
- *
- * @param iter the CharacterIterator.
- * @param start the start offset.
- * @param limit the limit offset.
- *
- * @return the a character's position in the CharacterIterator
- * that this Font can not display, or -1 if this Font can display
- * all characters in this text.
+ * Returns true if the Font can display the characters of the the specified
+ * CharacterIterator from the specified start position and the specified
+ * limit position.
+ *
+ * @param iter
+ * the CharacterIterator.
+ * @param start
+ * the start offset.
+ * @param limit
+ * the limit offset.
+ * @return the a character's position in the CharacterIterator that this
+ * Font can not display, or -1 if this Font can display all
+ * characters in this text.
*/
public int canDisplayUpTo(CharacterIterator iter, int start, int limit) {
int st = start;
@@ -394,11 +424,11 @@ public class Font implements Serializable {
/**
* Returns true if this Font can display a specified String.
*
- * @param str the String.
- *
- * @return the a character's position in the String that
- * this Font can not display, or -1 if this Font can display
- * all characters in this text.
+ * @param str
+ * the String.
+ * @return the a character's position in the String that this Font can not
+ * display, or -1 if this Font can display all characters in this
+ * text.
*/
public int canDisplayUpTo(String str) {
char[] chars = str.toCharArray();
@@ -406,45 +436,49 @@ public class Font implements Serializable {
}
/**
- * Creates a GlyphVector of associating characters to glyphs
- * based on the unicode map of this Font.
- *
- * @param frc the FontRenderContext.
- * @param chars the characters array.
+ * Creates a GlyphVector of associating characters to glyphs based on the
+ * Unicode map of this Font.
*
- * @return the GlyphVector of associating characters to glyphs
- * based on the unicode map of this Font.
+ * @param frc
+ * the FontRenderContext.
+ * @param chars
+ * the characters array.
+ * @return the GlyphVector of associating characters to glyphs based on the
+ * Unicode map of this Font.
*/
public GlyphVector createGlyphVector(FontRenderContext frc, char[] chars) {
return new AndroidGlyphVector(chars, frc, this, 0);
}
/**
- * Creates a GlyphVector of associating characters contained
- * in the specified CharacterIterator to glyphs based on
- * the unicode map of this Font.
- *
- * @param frc the FontRenderContext.
- * @param iter the CharacterIterator.
- *
- * @return the GlyphVector of associating characters contained
- * in the specified CharacterIterator to glyphs
- * based on the unicode map of this Font.
- */
- public GlyphVector createGlyphVector(FontRenderContext frc,
- CharacterIterator iter) {
- throw new RuntimeException("Not implemented!"); //$NON-NLS-1$
+ * Creates a GlyphVector of associating characters contained in the
+ * specified CharacterIterator to glyphs based on the Unicode map of this
+ * Font.
+ *
+ * @param frc
+ * the FontRenderContext.
+ * @param iter
+ * the CharacterIterator.
+ * @return the GlyphVector of associating characters contained in the
+ * specified CharacterIterator to glyphs based on the Unicode map of
+ * this Font.
+ */
+ public GlyphVector createGlyphVector(FontRenderContext frc, CharacterIterator iter) {
+ throw new RuntimeException("Not implemented!"); //$NON-NLS-1$
}
/**
- * Creates a GlyphVector of associating characters to glyphs based on
- * the unicode map of this Font.
- *
- * @param frc the FontRenderContext.
- * @param glyphCodes the specified integer array of glyph codes.
- *
- * @return the GlyphVector of associating characters to glyphs
- * based on the unicode map of this Font.
+ * Creates a GlyphVector of associating characters to glyphs based on the
+ * Unicode map of this Font.
+ *
+ * @param frc
+ * the FontRenderContext.
+ * @param glyphCodes
+ * the specified integer array of glyph codes.
+ * @return the GlyphVector of associating characters to glyphs based on the
+ * Unicode map of this Font.
+ * @throws NotImplementedException
+ * if this method is not implemented by a subclass.
*/
public GlyphVector createGlyphVector(FontRenderContext frc, int[] glyphCodes)
throws org.apache.harmony.luni.util.NotImplementedException {
@@ -452,14 +486,15 @@ public class Font implements Serializable {
}
/**
- * Creates a GlyphVector of associating characters to glyphs based on
- * the unicode map of this Font.
+ * Creates a GlyphVector of associating characters to glyphs based on the
+ * Unicode map of this Font.
*
- * @param frc the FontRenderContext.
- * @param str the specified String.
- *
- * @return the GlyphVector of associating characters to glyphs
- * based on the unicode map of this Font.
+ * @param frc
+ * the FontRenderContext.
+ * @param str
+ * the specified String.
+ * @return the GlyphVector of associating characters to glyphs based on the
+ * Unicode map of this Font.
*/
public GlyphVector createGlyphVector(FontRenderContext frc, String str) {
return new AndroidGlyphVector(str.toCharArray(), frc, this, 0);
@@ -467,14 +502,14 @@ public class Font implements Serializable {
}
/**
- * Returns the font style constant value corresponding to one of the font style
- * names ("BOLD", "ITALIC", "BOLDITALIC"). This method returns Font.PLAIN if
- * the argument is not one of the predefined style names.
- *
- * @param fontStyleName font style name
+ * Returns the font style constant value corresponding to one of the font
+ * style names ("BOLD", "ITALIC", "BOLDITALIC"). This method returns
+ * Font.PLAIN if the argument is not one of the predefined style names.
*
+ * @param fontStyleName
+ * font style name.
* @return font style constant value corresponding to the font style name
- * specified.
+ * specified.
*/
private static int getFontStyle(String fontStyleName) {
int result = Font.PLAIN;
@@ -491,12 +526,12 @@ public class Font implements Serializable {
}
/**
- * Decodes the specified string which described the Font. The string
- * should have the following format: fontname-style-pointsize.
- * The style can be PLAIN, BOLD, BOLDITALIC, or ITALIC.
- *
- * @param str the string which describes the font.
+ * Decodes the specified string which described the Font. The string should
+ * have the following format: fontname-style-pointsize. The style can be
+ * PLAIN, BOLD, BOLDITALIC, or ITALIC.
*
+ * @param str
+ * the string which describes the font.
* @return the Font from the specified string.
*/
public static Font decode(String str) {
@@ -553,15 +588,14 @@ public class Font implements Serializable {
}
/**
- * Perfoms the specified affine transform to the Font and returns
- * a new Font.
- *
- * @param trans the AffineTransform.
+ * Performs the specified affine transform to the Font and returns a new
+ * Font.
*
+ * @param trans
+ * the AffineTransform.
* @return the Font object.
- *
- * @throws IllegalArgumentException if affine transform parameter
- * is null.
+ * @throws IllegalArgumentException
+ * if affine transform parameter is null.
*/
@SuppressWarnings("unchecked")
public Font deriveFont(AffineTransform trans) {
@@ -571,55 +605,52 @@ public class Font implements Serializable {
throw new IllegalArgumentException(Messages.getString("awt.94")); //$NON-NLS-1$
}
- Hashtable<Attribute, Object> derivefRequestedAttributes = (Hashtable<Attribute, Object>) fRequestedAttributes
+ Hashtable<Attribute, Object> derivefRequestedAttributes = (Hashtable<Attribute, Object>)fRequestedAttributes
.clone();
- derivefRequestedAttributes.put(TextAttribute.TRANSFORM,
- new TransformAttribute(trans));
+ derivefRequestedAttributes.put(TextAttribute.TRANSFORM, new TransformAttribute(trans));
return new Font(derivefRequestedAttributes);
}
/**
- * Returns a new Font that is a copy of the current Font
- * modified so that the size is the specified size.
- *
- * @param size the size of font.
+ * Returns a new Font that is a copy of the current Font modified so that
+ * the size is the specified size.
*
+ * @param size
+ * the size of font.
* @return the Font object.
*/
@SuppressWarnings("unchecked")
public Font deriveFont(float size) {
- Hashtable<Attribute, Object> derivefRequestedAttributes = (Hashtable<Attribute, Object>) fRequestedAttributes
+ Hashtable<Attribute, Object> derivefRequestedAttributes = (Hashtable<Attribute, Object>)fRequestedAttributes
.clone();
derivefRequestedAttributes.put(TextAttribute.SIZE, new Float(size));
return new Font(derivefRequestedAttributes);
}
/**
- * Returns a new Font that is a copy of the current Font
- * modified so that the style is the specified style.
- *
- * @param style the style of font.
+ * Returns a new Font that is a copy of the current Font modified so that
+ * the style is the specified style.
*
+ * @param style
+ * the style of font.
* @return the Font object.
*/
@SuppressWarnings("unchecked")
public Font deriveFont(int style) {
- Hashtable<Attribute, Object> derivefRequestedAttributes = (Hashtable<Attribute, Object>) fRequestedAttributes
+ Hashtable<Attribute, Object> derivefRequestedAttributes = (Hashtable<Attribute, Object>)fRequestedAttributes
.clone();
if ((style & Font.BOLD) != 0) {
- derivefRequestedAttributes.put(TextAttribute.WEIGHT,
- TextAttribute.WEIGHT_BOLD);
+ derivefRequestedAttributes.put(TextAttribute.WEIGHT, TextAttribute.WEIGHT_BOLD);
} else if (derivefRequestedAttributes.get(TextAttribute.WEIGHT) != null) {
derivefRequestedAttributes.remove(TextAttribute.WEIGHT);
}
if ((style & Font.ITALIC) != 0) {
- derivefRequestedAttributes.put(TextAttribute.POSTURE,
- TextAttribute.POSTURE_OBLIQUE);
+ derivefRequestedAttributes.put(TextAttribute.POSTURE, TextAttribute.POSTURE_OBLIQUE);
} else if (derivefRequestedAttributes.get(TextAttribute.POSTURE) != null) {
derivefRequestedAttributes.remove(TextAttribute.POSTURE);
}
@@ -628,13 +659,14 @@ public class Font implements Serializable {
}
/**
- * Returns a new Font that is a copy of the current Font
- * modified to match the specified style and with the specified
- * affine transform applied to its glyphs.
- *
- * @param style the style of font.
- * @param trans the AffineTransform.
- *
+ * Returns a new Font that is a copy of the current Font modified to match
+ * the specified style and with the specified affine transform applied to
+ * its glyphs.
+ *
+ * @param style
+ * the style of font.
+ * @param trans
+ * the AffineTransform.
* @return the Font object.
*/
@SuppressWarnings("unchecked")
@@ -644,53 +676,48 @@ public class Font implements Serializable {
// awt.94=transform can not be null
throw new IllegalArgumentException(Messages.getString("awt.94")); //$NON-NLS-1$
}
- Hashtable<Attribute, Object> derivefRequestedAttributes = (Hashtable<Attribute, Object>) fRequestedAttributes
+ Hashtable<Attribute, Object> derivefRequestedAttributes = (Hashtable<Attribute, Object>)fRequestedAttributes
.clone();
if ((style & BOLD) != 0) {
- derivefRequestedAttributes.put(TextAttribute.WEIGHT,
- TextAttribute.WEIGHT_BOLD);
+ derivefRequestedAttributes.put(TextAttribute.WEIGHT, TextAttribute.WEIGHT_BOLD);
} else if (derivefRequestedAttributes.get(TextAttribute.WEIGHT) != null) {
derivefRequestedAttributes.remove(TextAttribute.WEIGHT);
}
if ((style & ITALIC) != 0) {
- derivefRequestedAttributes.put(TextAttribute.POSTURE,
- TextAttribute.POSTURE_OBLIQUE);
+ derivefRequestedAttributes.put(TextAttribute.POSTURE, TextAttribute.POSTURE_OBLIQUE);
} else if (derivefRequestedAttributes.get(TextAttribute.POSTURE) != null) {
derivefRequestedAttributes.remove(TextAttribute.POSTURE);
}
- derivefRequestedAttributes.put(TextAttribute.TRANSFORM,
- new TransformAttribute(trans));
+ derivefRequestedAttributes.put(TextAttribute.TRANSFORM, new TransformAttribute(trans));
return new Font(derivefRequestedAttributes);
}
/**
- * Returns a new Font that is a copy of the current Font
- * modified so that the size and style are the specified
- * size and style.
- *
- * @param style the style of font.
- * @param size the size of font.
+ * Returns a new Font that is a copy of the current Font modified so that
+ * the size and style are the specified size and style.
*
+ * @param style
+ * the style of font.
+ * @param size
+ * the size of font.
* @return the Font object.
*/
@SuppressWarnings("unchecked")
public Font deriveFont(int style, float size) {
- Hashtable<Attribute, Object> derivefRequestedAttributes = (Hashtable<Attribute, Object>) fRequestedAttributes
+ Hashtable<Attribute, Object> derivefRequestedAttributes = (Hashtable<Attribute, Object>)fRequestedAttributes
.clone();
if ((style & BOLD) != 0) {
- derivefRequestedAttributes.put(TextAttribute.WEIGHT,
- TextAttribute.WEIGHT_BOLD);
+ derivefRequestedAttributes.put(TextAttribute.WEIGHT, TextAttribute.WEIGHT_BOLD);
} else if (derivefRequestedAttributes.get(TextAttribute.WEIGHT) != null) {
derivefRequestedAttributes.remove(TextAttribute.WEIGHT);
}
if ((style & ITALIC) != 0) {
- derivefRequestedAttributes.put(TextAttribute.POSTURE,
- TextAttribute.POSTURE_OBLIQUE);
+ derivefRequestedAttributes.put(TextAttribute.POSTURE, TextAttribute.POSTURE_OBLIQUE);
} else if (derivefRequestedAttributes.get(TextAttribute.POSTURE) != null) {
derivefRequestedAttributes.remove(TextAttribute.POSTURE);
}
@@ -703,15 +730,15 @@ public class Font implements Serializable {
/**
* Returns a new Font object with a new set of font attributes.
*
- * @param attributes the map of attributes.
- *
+ * @param attributes
+ * the map of attributes.
* @return the Font.
*/
@SuppressWarnings("unchecked")
public Font deriveFont(Map<? extends Attribute, ?> attributes) {
Attribute[] avalAttributes = this.getAvailableAttributes();
- Hashtable<Attribute, Object> derivefRequestedAttributes = (Hashtable<Attribute, Object>) fRequestedAttributes
+ Hashtable<Attribute, Object> derivefRequestedAttributes = (Hashtable<Attribute, Object>)fRequestedAttributes
.clone();
Object currAttribute;
for (Attribute element : avalAttributes) {
@@ -726,10 +753,10 @@ public class Font implements Serializable {
/**
* Compares the specified Object with the current Font.
*
- * @param obj the Object to be compared.
- *
- * @return true, if the specified Object is an instance of Font
- * with the same family, size, and style as this Font, false otherwise.
+ * @param obj
+ * the Object to be compared.
+ * @return true, if the specified Object is an instance of Font with the
+ * same family, size, and style as this Font, false otherwise.
*/
@Override
public boolean equals(Object obj) {
@@ -739,11 +766,10 @@ public class Font implements Serializable {
if (obj != null) {
try {
- Font font = (Font) obj;
+ Font font = (Font)obj;
return ((this.style == font.style) && (this.size == font.size)
- && this.name.equals(font.name)
- && (this.pointSize == font.pointSize) && (this
+ && this.name.equals(font.name) && (this.pointSize == font.pointSize) && (this
.getTransform()).equals(font.getTransform()));
} catch (ClassCastException e) {
}
@@ -759,7 +785,7 @@ public class Font implements Serializable {
*/
@SuppressWarnings("unchecked")
public Map<TextAttribute, ?> getAttributes() {
- return (Map<TextAttribute, ?>) fRequestedAttributes.clone();
+ return (Map<TextAttribute, ?>)fRequestedAttributes.clone();
}
/**
@@ -768,18 +794,19 @@ public class Font implements Serializable {
* @return the keys array of all available attributes.
*/
public Attribute[] getAvailableAttributes() {
- Attribute[] attrs = { TextAttribute.FAMILY, TextAttribute.POSTURE,
- TextAttribute.SIZE, TextAttribute.TRANSFORM,
- TextAttribute.WEIGHT, TextAttribute.SUPERSCRIPT,
- TextAttribute.WIDTH };
+ Attribute[] attrs = {
+ TextAttribute.FAMILY, TextAttribute.POSTURE, TextAttribute.SIZE,
+ TextAttribute.TRANSFORM, TextAttribute.WEIGHT, TextAttribute.SUPERSCRIPT,
+ TextAttribute.WIDTH
+ };
return attrs;
}
/**
* Gets the baseline for this character.
*
- * @param c the character.
- *
+ * @param c
+ * the character.
* @return the baseline for this character.
*/
public byte getBaselineFor(char c) {
@@ -800,19 +827,18 @@ public class Font implements Serializable {
}
/**
- * Returns the family name of this Font associated with
- * the specified locale.
- *
- * @param l the locale.
+ * Returns the family name of this Font associated with the specified
+ * locale.
*
- * @return the family name of this Font associated with
- * the specified locale.
+ * @param l
+ * the locale.
+ * @return the family name of this Font associated with the specified
+ * locale.
*/
public String getFamily(Locale l) {
if (l == null) {
// awt.01='{0}' parameter is null
- throw new NullPointerException(Messages.getString(
- "awt.01", "Locale")); //$NON-NLS-1$ //$NON-NLS-2$
+ throw new NullPointerException(Messages.getString("awt.01", "Locale")); //$NON-NLS-1$ //$NON-NLS-2$
}
return getFamily();
}
@@ -820,12 +846,12 @@ public class Font implements Serializable {
/**
* Gets a Font with the specified attribute set.
*
- * @param attributes the attributes to be assigned to the new Font.
- *
+ * @param attributes
+ * the attributes to be assigned to the new Font.
* @return the Font.
*/
public static Font getFont(Map<? extends Attribute, ?> attributes) {
- Font fnt = (Font) attributes.get(TextAttribute.FONT);
+ Font fnt = (Font)attributes.get(TextAttribute.FONT);
if (fnt != null) {
return fnt;
}
@@ -833,14 +859,16 @@ public class Font implements Serializable {
}
/**
- * Gets a Font object from the system properties list with the specified name
- * or returns the specified Font if there is no such property.
- *
- * @param sp the specified property name.
- * @param f the Font.
+ * Gets a Font object from the system properties list with the specified
+ * name or returns the specified Font if there is no such property.
*
- * @return the Font object from the system properties list with the specified name
- * or the specified Font if there is no such property.
+ * @param sp
+ * the specified property name.
+ * @param f
+ * the Font.
+ * @return the Font object from the system properties list with the
+ * specified name or the specified Font if there is no such
+ * property.
*/
public static Font getFont(String sp, Font f) {
String pr = System.getProperty(sp);
@@ -851,12 +879,13 @@ public class Font implements Serializable {
}
/**
- * Gets a Font object from the system properties list with the specified name.
- *
- * @param sp the system property name.
+ * Gets a Font object from the system properties list with the specified
+ * name.
*
- * @return the Font, or null if there is no shuch property
- * with the specified name.
+ * @param sp
+ * the system property name.
+ * @return the Font, or null if there is no such property with the specified
+ * name.
*/
public static Font getFont(String sp) {
return getFont(sp, null);
@@ -877,8 +906,8 @@ public class Font implements Serializable {
/**
* Returns the font name associated with the specified locale.
*
- * @param l the locale.
- *
+ * @param l
+ * the locale.
* @return the font name associated with the specified locale.
*/
public String getFontName(Locale l) {
@@ -888,38 +917,45 @@ public class Font implements Serializable {
/**
* Returns a LineMetrics object created with the specified parameters.
*
- * @param chars the chars array.
- * @param start the start offset.
- * @param end the end offset.
- * @param frc the FontRenderContext.
- *
+ * @param chars
+ * the chars array.
+ * @param start
+ * the start offset.
+ * @param end
+ * the end offset.
+ * @param frc
+ * the FontRenderContext.
* @return the LineMetrics for the specified parameters.
*/
- public LineMetrics getLineMetrics(char[] chars, int start, int end,
- FontRenderContext frc) {
+ public LineMetrics getLineMetrics(char[] chars, int start, int end, FontRenderContext frc) {
if (frc == null) {
// awt.00=FontRenderContext is null
throw new NullPointerException(Messages.getString("awt.00")); //$NON-NLS-1$
}
- //FontMetrics fm = AndroidGraphics2D.getInstance().getFontMetrics();
+ // FontMetrics fm = AndroidGraphics2D.getInstance().getFontMetrics();
FontMetrics fm = new FontMetricsImpl(this);
- float[] fmet = {fm.getAscent(), fm.getDescent(), fm.getLeading()};
+ float[] fmet = {
+ fm.getAscent(), fm.getDescent(), fm.getLeading()
+ };
return new LineMetricsImpl(chars.length, fmet, null);
}
/**
* Returns a LineMetrics object created with the specified parameters.
*
- * @param iter the CharacterIterator.
- * @param start the start offset.
- * @param end the end offset.
- * @param frc the FontRenderContext.
- *
+ * @param iter
+ * the CharacterIterator.
+ * @param start
+ * the start offset.
+ * @param end
+ * the end offset.
+ * @param frc
+ * the FontRenderContext.
* @return the LineMetrics for the specified parameters.
*/
- public LineMetrics getLineMetrics(CharacterIterator iter, int start,
- int end, FontRenderContext frc) {
+ public LineMetrics getLineMetrics(CharacterIterator iter, int start, int end,
+ FontRenderContext frc) {
if (frc == null) {
// awt.00=FontRenderContext is null
@@ -935,8 +971,8 @@ public class Font implements Serializable {
} else {
char[] chars = new char[iterCount];
int i = 0;
- for (char c = iter.setIndex(start); c != CharacterIterator.DONE
- && (i < iterCount); c = iter.next()) {
+ for (char c = iter.setIndex(start); c != CharacterIterator.DONE && (i < iterCount); c = iter
+ .next()) {
chars[i] = c;
i++;
}
@@ -948,16 +984,19 @@ public class Font implements Serializable {
/**
* Returns a LineMetrics object created with the specified parameters.
*
- * @param str the String.
- * @param frc the FontRenderContext.
- *
+ * @param str
+ * the String.
+ * @param frc
+ * the FontRenderContext.
* @return the LineMetrics for the specified parameters.
*/
public LineMetrics getLineMetrics(String str, FontRenderContext frc) {
- //FontMetrics fm = AndroidGraphics2D.getInstance().getFontMetrics();
+ // FontMetrics fm = AndroidGraphics2D.getInstance().getFontMetrics();
FontMetrics fm = new FontMetricsImpl(this);
- float[] fmet = {fm.getAscent(), fm.getDescent(), fm.getLeading()};
- //Log.i("FONT FMET", fmet.toString());
+ float[] fmet = {
+ fm.getAscent(), fm.getDescent(), fm.getLeading()
+ };
+ // Log.i("FONT FMET", fmet.toString());
return new LineMetricsImpl(str.length(), fmet, null);
}
@@ -965,45 +1004,48 @@ public class Font implements Serializable {
/**
* Returns a LineMetrics object created with the specified parameters.
*
- * @param str the String.
- * @param start the start offset.
- * @param end the end offset.
- * @param frc the FontRenderContext.
- *
+ * @param str
+ * the String.
+ * @param start
+ * the start offset.
+ * @param end
+ * the end offset.
+ * @param frc
+ * the FontRenderContext.
* @return the LineMetrics for the specified parameters.
*/
- public LineMetrics getLineMetrics(String str, int start, int end,
- FontRenderContext frc) {
+ public LineMetrics getLineMetrics(String str, int start, int end, FontRenderContext frc) {
return this.getLineMetrics(str.substring(start, end), frc);
}
/**
- * Gets the logical bounds of the specified String in
- * the specified FontRenderContext. The logical bounds contains
- * the origin, ascent, advance, and height.
- *
- * @param ci the specified CharacterIterator.
- * @param start the start offset.
- * @param end the end offset.
- * @param frc the FontRenderContext.
- *
+ * Gets the logical bounds of the specified String in the specified
+ * FontRenderContext. The logical bounds contains the origin, ascent,
+ * advance, and height.
+ *
+ * @param ci
+ * the specified CharacterIterator.
+ * @param start
+ * the start offset.
+ * @param end
+ * the end offset.
+ * @param frc
+ * the FontRenderContext.
* @return a Rectangle2D object.
*/
- public Rectangle2D getStringBounds(CharacterIterator ci, int start,
- int end, FontRenderContext frc) {
+ public Rectangle2D getStringBounds(CharacterIterator ci, int start, int end,
+ FontRenderContext frc) {
int first = ci.getBeginIndex();
int finish = ci.getEndIndex();
char[] chars;
if (start < first) {
// awt.95=Wrong start index: {0}
- throw new IndexOutOfBoundsException(Messages.getString(
- "awt.95", start)); //$NON-NLS-1$
+ throw new IndexOutOfBoundsException(Messages.getString("awt.95", start)); //$NON-NLS-1$
}
if (end > finish) {
// awt.96=Wrong finish index: {0}
- throw new IndexOutOfBoundsException(Messages.getString(
- "awt.96", end)); //$NON-NLS-1$
+ throw new IndexOutOfBoundsException(Messages.getString("awt.96", end)); //$NON-NLS-1$
}
if (start > end) {
// awt.97=Wrong range length: {0}
@@ -1028,13 +1070,14 @@ public class Font implements Serializable {
}
/**
- * Gets the logical bounds of the specified String in
- * the specified FontRenderContext. The logical bounds contains
- * the origin, ascent, advance, and height.
- *
- * @param str the specified String.
- * @param frc the FontRenderContext.
- *
+ * Gets the logical bounds of the specified String in the specified
+ * FontRenderContext. The logical bounds contains the origin, ascent,
+ * advance, and height.
+ *
+ * @param str
+ * the specified String.
+ * @param frc
+ * the FontRenderContext.
* @return a Rectangle2D object.
*/
public Rectangle2D getStringBounds(String str, FontRenderContext frc) {
@@ -1044,46 +1087,48 @@ public class Font implements Serializable {
}
/**
- * Gets the logical bounds of the specified String in
- * the specified FontRenderContext. The logical bounds contains
- * the origin, ascent, advance, and height.
- *
- * @param str the specified String.
- * @param start the start offset.
- * @param end the end offset.
- * @param frc the FontRenderContext.
- *
+ * Gets the logical bounds of the specified String in the specified
+ * FontRenderContext. The logical bounds contains the origin, ascent,
+ * advance, and height.
+ *
+ * @param str
+ * the specified String.
+ * @param start
+ * the start offset.
+ * @param end
+ * the end offset.
+ * @param frc
+ * the FontRenderContext.
* @return a Rectangle2D object.
*/
- public Rectangle2D getStringBounds(String str, int start, int end,
- FontRenderContext frc) {
+ public Rectangle2D getStringBounds(String str, int start, int end, FontRenderContext frc) {
return this.getStringBounds((str.substring(start, end)), frc);
}
/**
- * Gets the logical bounds of the specified String in
- * the specified FontRenderContext. The logical bounds contains
- * the origin, ascent, advance, and height.
- *
- * @param chars the specified character array.
- * @param start the start offset.
- * @param end the end offset.
- * @param frc the FontRenderContext.
- *
+ * Gets the logical bounds of the specified String in the specified
+ * FontRenderContext. The logical bounds contains the origin, ascent,
+ * advance, and height.
+ *
+ * @param chars
+ * the specified character array.
+ * @param start
+ * the start offset.
+ * @param end
+ * the end offset.
+ * @param frc
+ * the FontRenderContext.
* @return a Rectangle2D object.
*/
- public Rectangle2D getStringBounds(char[] chars, int start, int end,
- FontRenderContext frc) {
+ public Rectangle2D getStringBounds(char[] chars, int start, int end, FontRenderContext frc) {
if (start < 0) {
// awt.95=Wrong start index: {0}
- throw new IndexOutOfBoundsException(Messages.getString(
- "awt.95", start)); //$NON-NLS-1$
+ throw new IndexOutOfBoundsException(Messages.getString("awt.95", start)); //$NON-NLS-1$
}
if (end > chars.length) {
// awt.96=Wrong finish index: {0}
- throw new IndexOutOfBoundsException(Messages.getString(
- "awt.96", end)); //$NON-NLS-1$
+ throw new IndexOutOfBoundsException(Messages.getString("awt.96", end)); //$NON-NLS-1$
}
if (start > end) {
// awt.97=Wrong range length: {0}
@@ -1095,7 +1140,7 @@ public class Font implements Serializable {
throw new NullPointerException(Messages.getString("awt.00")); //$NON-NLS-1$
}
- FontPeerImpl peer = (FontPeerImpl) this.getPeer();
+ FontPeerImpl peer = (FontPeerImpl)this.getPeer();
final int TRANSFORM_MASK = AffineTransform.TYPE_GENERAL_ROTATION
| AffineTransform.TYPE_GENERAL_TRANSFORM;
@@ -1110,13 +1155,13 @@ public class Font implements Serializable {
for (int i = start; i < end; i++) {
width += peer.charWidth(chars[i]);
}
- //LineMetrics nlm = peer.getLineMetrics();
-
+ // LineMetrics nlm = peer.getLineMetrics();
+
LineMetrics nlm = getLineMetrics(chars, start, end, frc);
-
+
bounds = transform.createTransformedShape(
- new Rectangle2D.Float(0, -nlm.getAscent(), width, nlm
- .getHeight())).getBounds2D();
+ new Rectangle2D.Float(0, -nlm.getAscent(), width, nlm.getHeight()))
+ .getBounds2D();
} else {
int len = end - start;
char[] subChars = new char[len];
@@ -1127,11 +1172,11 @@ public class Font implements Serializable {
}
/**
- * Gets the character's maximum bounds as defined in
- * the specified FontRenderContext.
- *
- * @param frc the FontRenderContext.
+ * Gets the character's maximum bounds as defined in the specified
+ * FontRenderContext.
*
+ * @param frc
+ * the FontRenderContext.
* @return the character's maximum bounds.
*/
public Rectangle2D getMaxCharBounds(FontRenderContext frc) {
@@ -1140,7 +1185,7 @@ public class Font implements Serializable {
throw new NullPointerException(Messages.getString("awt.00")); //$NON-NLS-1$
}
- FontPeerImpl peer = (FontPeerImpl) this.getPeer();
+ FontPeerImpl peer = (FontPeerImpl)this.getPeer();
Rectangle2D bounds = peer.getMaxCharBounds(frc);
AffineTransform transform = getTransform();
@@ -1155,42 +1200,40 @@ public class Font implements Serializable {
}
/**
- * Returns a new GlyphVector object performing full layout of
- * the text.
- *
- * @param frc the FontRenderContext.
- * @param chars the character array to be layout.
- * @param start the start offset of the text to use for
- * the GlyphVector.
- * @param count the count of characters to use for
- * the GlyphVector.
- * @param flags the flag indicating text direction:
- * LAYOUT_RIGHT_TO_LEFT, LAYOUT_LEFT_TO_RIGHT.
- *
+ * Returns a new GlyphVector object performing full layout of the text.
+ *
+ * @param frc
+ * the FontRenderContext.
+ * @param chars
+ * the character array to be layout.
+ * @param start
+ * the start offset of the text to use for the GlyphVector.
+ * @param count
+ * the count of characters to use for the GlyphVector.
+ * @param flags
+ * the flag indicating text direction: LAYOUT_RIGHT_TO_LEFT,
+ * LAYOUT_LEFT_TO_RIGHT.
* @return the GlyphVector.
*/
- public GlyphVector layoutGlyphVector(FontRenderContext frc, char[] chars,
- int start, int count, int flags) {
+ public GlyphVector layoutGlyphVector(FontRenderContext frc, char[] chars, int start, int count,
+ int flags) {
// TODO: implement method for bidirectional text.
// At the moment only LTR and RTL texts supported.
if (start < 0) {
// awt.95=Wrong start index: {0}
- throw new ArrayIndexOutOfBoundsException(Messages.getString(
- "awt.95", //$NON-NLS-1$
+ throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.95", //$NON-NLS-1$
start));
}
if (count < 0) {
// awt.98=Wrong count value, can not be negative: {0}
- throw new ArrayIndexOutOfBoundsException(Messages.getString(
- "awt.98", //$NON-NLS-1$
+ throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.98", //$NON-NLS-1$
count));
}
if (start + count > chars.length) {
// awt.99=Wrong [start + count] is out of range: {0}
- throw new ArrayIndexOutOfBoundsException(Messages.getString(
- "awt.99", //$NON-NLS-1$
+ throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.99", //$NON-NLS-1$
(start + count)));
}
@@ -1234,7 +1277,7 @@ public class Font implements Serializable {
* @return the postscript name of this Font.
*/
public String getPSName() {
- FontPeerImpl peer = (FontPeerImpl) this.getPeer();
+ FontPeerImpl peer = (FontPeerImpl)this.getPeer();
return peer.getPSName();
}
@@ -1251,39 +1294,37 @@ public class Font implements Serializable {
* Gets the peer of this Font.
*
* @return the peer of this Font.
- *
* @deprecated Font rendering is platform independent now.
*/
@Deprecated
public java.awt.peer.FontPeer getPeer() {
if (fontPeer == null) {
- fontPeer = (FontPeerImpl) Toolkit.getDefaultToolkit()
- .getGraphicsFactory().getFontPeer(this);
+ fontPeer = (FontPeerImpl)Toolkit.getDefaultToolkit().getGraphicsFactory().getFontPeer(
+ this);
}
return fontPeer;
}
/**
- * Gets the transform acting on this Font (from the Font's
- * attributes).
+ * Gets the transform acting on this Font (from the Font's attributes).
*
- * @return the transformation of this Font.
+ * @return the transformation of this Font.
*/
public AffineTransform getTransform() {
Object transform = fRequestedAttributes.get(TextAttribute.TRANSFORM);
if (transform != null) {
if (transform instanceof TransformAttribute) {
- return ((TransformAttribute) transform).getTransform();
+ return ((TransformAttribute)transform).getTransform();
}
if (transform instanceof AffineTransform) {
- return new AffineTransform((AffineTransform) transform);
+ return new AffineTransform((AffineTransform)transform);
}
} else {
transform = new AffineTransform();
}
- return (AffineTransform) transform;
+ return (AffineTransform)transform;
}
@@ -1324,13 +1365,12 @@ public class Font implements Serializable {
}
/**
- * Returns true if this Font has uniform line metrics.
+ * Returns true if this Font has uniform line metrics.
*
- * @return true if this Font has uniform line metrics,
- * false otherwise.
+ * @return true if this Font has uniform line metrics, false otherwise.
*/
public boolean hasUniformLineMetrics() {
- FontPeerImpl peer = (FontPeerImpl) this.getPeer();
+ FontPeerImpl peer = (FontPeerImpl)this.getPeer();
return peer.hasUniformLineMetrics();
}
@@ -1338,7 +1378,6 @@ public class Font implements Serializable {
* Returns hash code of this Font object.
*
* @return the hash code of this Font object.
-
*/
@Override
public int hashCode() {
@@ -1376,21 +1415,21 @@ public class Font implements Serializable {
*/
public int getNumGlyphs() {
if (numGlyphs == -1) {
- FontPeerImpl peer = (FontPeerImpl) this.getPeer();
+ FontPeerImpl peer = (FontPeerImpl)this.getPeer();
this.numGlyphs = peer.getNumGlyphs();
}
return this.numGlyphs;
}
/**
- * Gets the glyphCode which is used as default glyph when this Font
- * does not have a glyph for a specified unicode.
+ * Gets the glyphCode which is used as default glyph when this Font does not
+ * have a glyph for a specified Unicode.
*
* @return the missing glyph code.
*/
public int getMissingGlyphCode() {
if (missingGlyphCode == -1) {
- FontPeerImpl peer = (FontPeerImpl) this.getPeer();
+ FontPeerImpl peer = (FontPeerImpl)this.getPeer();
this.missingGlyphCode = peer.getMissingGlyphCode();
}
return this.missingGlyphCode;
@@ -1407,29 +1446,30 @@ public class Font implements Serializable {
/**
* Gets the italic angle of this Font.
- *
+ *
* @return the italic angle of this Font.
*/
public float getItalicAngle() {
- FontPeerImpl peer = (FontPeerImpl) this.getPeer();
+ FontPeerImpl peer = (FontPeerImpl)this.getPeer();
return peer.getItalicAngle();
}
/**
* Creates the font with the specified font format and font file.
*
- * @param fontFormat the font format.
- * @param fontFile the file object represented the input data
- * for the font.
- *
+ * @param fontFormat
+ * the font format.
+ * @param fontFile
+ * the file object represented the input data for the font.
* @return the Font.
- *
- * @throws FontFormatException is thrown if fontFile does not contain
- * the required font tables for the specified format.
- * @throws IOException signals that an I/O exception has occurred.
- */
- public static Font createFont(int fontFormat, File fontFile)
- throws FontFormatException, IOException {
+ * @throws FontFormatException
+ * is thrown if fontFile does not contain the required font
+ * tables for the specified format.
+ * @throws IOException
+ * signals that an I/O exception has occurred.
+ */
+ public static Font createFont(int fontFormat, File fontFile) throws FontFormatException,
+ IOException {
// ???AWT not supported
InputStream is = new FileInputStream(fontFile);
try {
@@ -1442,15 +1482,16 @@ public class Font implements Serializable {
/**
* Creates the font with the specified font format and input stream.
*
- * @param fontFormat the font format.
- * @param fontStream the input stream represented input data for
- * the font.
- *
+ * @param fontFormat
+ * the font format.
+ * @param fontStream
+ * the input stream represented input data for the font.
* @return the Font.
- *
- * @throws FontFormatException is thrown if fontFile does not contain
- * the required font tables for the specified format.
- * @throws IOException signals that an I/O exception has occurred.
+ * @throws FontFormatException
+ * is thrown if fontFile does not contain the required font
+ * tables for the specified format.
+ * @throws IOException
+ * signals that an I/O exception has occurred.
*/
public static Font createFont(int fontFormat, InputStream fontStream)
throws FontFormatException, IOException {
@@ -1466,15 +1507,15 @@ public class Font implements Serializable {
if (fontFormat != TRUETYPE_FONT) { // awt.9A=Unsupported font format
throw new IllegalArgumentException(Messages.getString("awt.9A")); //$NON-NLS-1$
}
-
+
/* Get font file in system-specific directory */
- File fontFile = Toolkit.getDefaultToolkit().getGraphicsFactory()
- .getFontManager().getTempFontFile();
+ File fontFile = Toolkit.getDefaultToolkit().getGraphicsFactory().getFontManager()
+ .getTempFontFile();
- // BEGIN android-modified
+ // BEGIN android-modified
buffStream = new BufferedInputStream(fontStream, 8192);
- // END android-modified
+ // END android-modified
FileOutputStream fOutStream = new FileOutputStream(fontFile);
bRead = buffStream.read(buf, 0, size);
diff --git a/awt/java/awt/FontFormatException.java b/awt/java/awt/FontFormatException.java
index c017fd2..806711a 100644
--- a/awt/java/awt/FontFormatException.java
+++ b/awt/java/awt/FontFormatException.java
@@ -18,21 +18,27 @@
* @author Ilya S. Okomin
* @version $Revision$
*/
+
package java.awt;
/**
- * The FontFormatException class is used to provide notification
- * and information that font can't be created.
+ * The FontFormatException class is used to provide notification and information
+ * that font can't be created.
+ *
+ * @since Android 1.0
*/
public class FontFormatException extends Exception {
-
- /** The Constant serialVersionUID. */
+
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = -4481290147811361272L;
/**
* Instantiates a new font format exception with detailed message.
*
- * @param reason the detailed message.
+ * @param reason
+ * the detailed message.
*/
public FontFormatException(String reason) {
super(reason);
diff --git a/awt/java/awt/FontMetrics.java b/awt/java/awt/FontMetrics.java
index 3948d73..9082626 100644
--- a/awt/java/awt/FontMetrics.java
+++ b/awt/java/awt/FontMetrics.java
@@ -18,6 +18,7 @@
* @author Ilya S. Okomin
* @version $Revision$
*/
+
package java.awt;
import java.awt.font.FontRenderContext;
@@ -29,34 +30,40 @@ import java.text.CharacterIterator;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The FontMetrics class contains information about the rendering
- * of a particular font on a particular screen.
+ * The FontMetrics class contains information about the rendering of a
+ * particular font on a particular screen.
* <p>
- * Each character in the Font has three values that help define where
- * to place it: an ascent, a descent, and an advance. The ascent is the
- * distance the character extends above the baseline. The descent is
- * the distance the character extends below the baseline.
- * The advance width defines the position at which the next character
- * should be placed.
+ * Each character in the Font has three values that help define where to place
+ * it: an ascent, a descent, and an advance. The ascent is the distance the
+ * character extends above the baseline. The descent is the distance the
+ * character extends below the baseline. The advance width defines the position
+ * at which the next character should be placed.
* <p>
- * An array of characters or a string has an ascent, a descent,
- * and an advance width too. The ascent or descent of the array
- * is specified by the maximum ascent or descent of the characters
- * in the array. The advance width is the sum of the advance widths
- * of each of the characters in the character array.
+ * An array of characters or a string has an ascent, a descent, and an advance
+ * width too. The ascent or descent of the array is specified by the maximum
+ * ascent or descent of the characters in the array. The advance width is the
+ * sum of the advance widths of each of the characters in the character array.
+ * </p>
+ *
+ * @since Android 1.0
*/
public abstract class FontMetrics implements Serializable {
-
- /** The Constant serialVersionUID. */
+
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = 1681126225205050147L;
- /** The font from which the FontMetrics is created. */
+ /**
+ * The font from which the FontMetrics is created.
+ */
protected Font font;
/**
* Instantiates a new font metrics from the specified Font.
*
- * @param fnt the Font.
+ * @param fnt
+ * the Font.
*/
protected FontMetrics(Font fnt) {
this.font = fnt;
@@ -65,12 +72,11 @@ public abstract class FontMetrics implements Serializable {
/**
* Returns the String representation of this FontMetrics.
*
- * @return the string
+ * @return the string.
*/
@Override
public String toString() {
- return this.getClass().getName() +
- "[font=" + this.getFont() + //$NON-NLS-1$
+ return this.getClass().getName() + "[font=" + this.getFont() + //$NON-NLS-1$
"ascent=" + this.getAscent() + //$NON-NLS-1$
", descent=" + this.getDescent() + //$NON-NLS-1$
", height=" + this.getHeight() + "]"; //$NON-NLS-1$ //$NON-NLS-2$
@@ -95,9 +101,9 @@ public abstract class FontMetrics implements Serializable {
}
/**
- * Gets the font ascent of the Font associated with this FontMetrics.
- * The font ascent is the distance from the font's baseline to
- * the top of most alphanumeric characters.
+ * Gets the font ascent of the Font associated with this FontMetrics. The
+ * font ascent is the distance from the font's baseline to the top of most
+ * alphanumeric characters.
*
* @return the ascent of the Font associated with this FontMetrics.
*/
@@ -106,9 +112,9 @@ public abstract class FontMetrics implements Serializable {
}
/**
- * Gets the font descent of the Font associated with this FontMetrics.
- * The font descent is the distance from the font's baseline to
- * the bottom of most alphanumeric characters with descenders.
+ * Gets the font descent of the Font associated with this FontMetrics. The
+ * font descent is the distance from the font's baseline to the bottom of
+ * most alphanumeric characters with descenders.
*
* @return the descent of the Font associated with this FontMetrics.
*/
@@ -126,192 +132,198 @@ public abstract class FontMetrics implements Serializable {
}
/**
- * Gets the LineMetrics object for the specified CharacterIterator
- * in the specified Graphics.
- *
- * @param ci the CharacterIterator.
- * @param beginIndex the offset.
- * @param limit the number of characters to be used.
- * @param context the Graphics.
- *
- * @return the LineMetrics object for the specified CharacterIterator
- * in the specified Graphics.
+ * Gets the LineMetrics object for the specified CharacterIterator in the
+ * specified Graphics.
+ *
+ * @param ci
+ * the CharacterIterator.
+ * @param beginIndex
+ * the offset.
+ * @param limit
+ * the number of characters to be used.
+ * @param context
+ * the Graphics.
+ * @return the LineMetrics object for the specified CharacterIterator in the
+ * specified Graphics.
*/
- public LineMetrics getLineMetrics(CharacterIterator ci, int beginIndex,
- int limit, Graphics context) {
- return font.getLineMetrics(ci, beginIndex, limit,
- this.getFRCFromGraphics(context));
+ public LineMetrics getLineMetrics(CharacterIterator ci, int beginIndex, int limit,
+ Graphics context) {
+ return font.getLineMetrics(ci, beginIndex, limit, this.getFRCFromGraphics(context));
}
/**
- * Gets the LineMetrics object for the specified String
- * in the specified Graphics.
- *
- * @param str the String.
- * @param context the Graphics.
- *
- * @return the LineMetrics object for the specified String
- * in the specified Graphics.
+ * Gets the LineMetrics object for the specified String in the specified
+ * Graphics.
+ *
+ * @param str
+ * the String.
+ * @param context
+ * the Graphics.
+ * @return the LineMetrics object for the specified String in the specified
+ * Graphics.
*/
public LineMetrics getLineMetrics(String str, Graphics context) {
return font.getLineMetrics(str, this.getFRCFromGraphics(context));
}
/**
- * Gets the LineMetrics object for the specified character
- * array in the specified Graphics.
- *
- * @param chars the character array.
- * @param beginIndex the offset of array.
- * @param limit the number of characters to be used.
- * @param context the Graphics.
- *
- * @return the LineMetrics object for the specified character
- * array in the specified Graphics.
+ * Gets the LineMetrics object for the specified character array in the
+ * specified Graphics.
+ *
+ * @param chars
+ * the character array.
+ * @param beginIndex
+ * the offset of array.
+ * @param limit
+ * the number of characters to be used.
+ * @param context
+ * the Graphics.
+ * @return the LineMetrics object for the specified character array in the
+ * specified Graphics.
*/
- public LineMetrics getLineMetrics(char[] chars, int beginIndex, int limit,
- Graphics context) {
- return font.getLineMetrics(chars, beginIndex, limit,
- this.getFRCFromGraphics(context));
+ public LineMetrics getLineMetrics(char[] chars, int beginIndex, int limit, Graphics context) {
+ return font.getLineMetrics(chars, beginIndex, limit, this.getFRCFromGraphics(context));
}
/**
- * Gets the LineMetrics object for the specified String
- * in the specified Graphics.
- *
- * @param str the String.
- * @param beginIndex the offset.
- * @param limit the number of characters to be used.
- * @param context the Graphics.
- *
- * @return the LineMetrics object for the specified String
- * in the specified Graphics.
+ * Gets the LineMetrics object for the specified String in the specified
+ * Graphics.
+ *
+ * @param str
+ * the String.
+ * @param beginIndex
+ * the offset.
+ * @param limit
+ * the number of characters to be used.
+ * @param context
+ * the Graphics.
+ * @return the LineMetrics object for the specified String in the specified
+ * Graphics.
*/
- public LineMetrics getLineMetrics(String str, int beginIndex, int limit,
- Graphics context) {
- return font.getLineMetrics(str, beginIndex, limit,
- this.getFRCFromGraphics(context));
+ public LineMetrics getLineMetrics(String str, int beginIndex, int limit, Graphics context) {
+ return font.getLineMetrics(str, beginIndex, limit, this.getFRCFromGraphics(context));
}
/**
- * Returns the character's maximum bounds in the specified
- * Graphics context.
- *
- * @param context the Graphics context.
+ * Returns the character's maximum bounds in the specified Graphics context.
*
- * @return the character's maximum bounds in the specified
- * Graphics context.
+ * @param context
+ * the Graphics context.
+ * @return the character's maximum bounds in the specified Graphics context.
*/
public Rectangle2D getMaxCharBounds(Graphics context) {
return this.font.getMaxCharBounds(this.getFRCFromGraphics(context));
}
-
+
/**
- * Gets the bounds of the specified CharacterIterator
- * in the specified Graphics context.
- *
- * @param ci the CharacterIterator.
- * @param beginIndex the begin offset of the array.
- * @param limit the number of characters.
- * @param context the Graphics.
+ * Gets the bounds of the specified CharacterIterator in the specified
+ * Graphics context.
*
- * @return the bounds of the specified CharacterIterator
- * in the specified Graphics context.
+ * @param ci
+ * the CharacterIterator.
+ * @param beginIndex
+ * the begin offset of the array.
+ * @param limit
+ * the number of characters.
+ * @param context
+ * the Graphics.
+ * @return the bounds of the specified CharacterIterator in the specified
+ * Graphics context.
*/
- public Rectangle2D getStringBounds(CharacterIterator ci, int beginIndex,
- int limit, Graphics context) {
- return font.getStringBounds(ci, beginIndex, limit,
- this.getFRCFromGraphics(context));
+ public Rectangle2D getStringBounds(CharacterIterator ci, int beginIndex, int limit,
+ Graphics context) {
+ return font.getStringBounds(ci, beginIndex, limit, this.getFRCFromGraphics(context));
}
/**
- * Gets the bounds of the specified String
- * in the specified Graphics context.
- *
- * @param str the String.
- * @param beginIndex the begin offset of the array.
- * @param limit the number of characters.
- * @param context the Graphics.
- *
- * @return the bounds of the specified String
- * in the specified Graphics context.
+ * Gets the bounds of the specified String in the specified Graphics
+ * context.
+ *
+ * @param str
+ * the String.
+ * @param beginIndex
+ * the begin offset of the array.
+ * @param limit
+ * the number of characters.
+ * @param context
+ * the Graphics.
+ * @return the bounds of the specified String in the specified Graphics
+ * context.
*/
- public Rectangle2D getStringBounds(String str, int beginIndex, int limit,
- Graphics context) {
- return font.getStringBounds(str, beginIndex, limit,
- this.getFRCFromGraphics(context));
+ public Rectangle2D getStringBounds(String str, int beginIndex, int limit, Graphics context) {
+ return font.getStringBounds(str, beginIndex, limit, this.getFRCFromGraphics(context));
}
-
/**
- * Gets the bounds of the specified characters array
- * in the specified Graphics context.
- *
- * @param chars the characters array.
- * @param beginIndex the begin offset of the array.
- * @param limit the number of characters.
- * @param context the Graphics.
+ * Gets the bounds of the specified characters array in the specified
+ * Graphics context.
*
- * @return the bounds of the specified characters array
- * in the specified Graphics context.
+ * @param chars
+ * the characters array.
+ * @param beginIndex
+ * the begin offset of the array.
+ * @param limit
+ * the number of characters.
+ * @param context
+ * the Graphics.
+ * @return the bounds of the specified characters array in the specified
+ * Graphics context.
*/
- public Rectangle2D getStringBounds(char[] chars, int beginIndex, int limit,
- Graphics context) {
- return font.getStringBounds(chars, beginIndex, limit,
- this.getFRCFromGraphics(context));
+ public Rectangle2D getStringBounds(char[] chars, int beginIndex, int limit, Graphics context) {
+ return font.getStringBounds(chars, beginIndex, limit, this.getFRCFromGraphics(context));
}
/**
- * Gets the bounds of the specified String
- * in the specified Graphics context.
- *
- * @param str the String.
- * @param context the Graphics.
- *
- * @return the bounds of the specified String
- * in the specified Graphics context.
+ * Gets the bounds of the specified String in the specified Graphics
+ * context.
+ *
+ * @param str
+ * the String.
+ * @param context
+ * the Graphics.
+ * @return the bounds of the specified String in the specified Graphics
+ * context.
*/
public Rectangle2D getStringBounds(String str, Graphics context) {
return font.getStringBounds(str, this.getFRCFromGraphics(context));
}
/**
- * Checks if the Font has uniform line metrics or not.
- * The Font can contain characters of other fonts for
- * covering character set. In this case the Font isn't
- * uniform.
- *
- * @return true, if the Font has uniform line metrics,
- * false otherwise.
+ * Checks if the Font has uniform line metrics or not. The Font can contain
+ * characters of other fonts for covering character set. In this case the
+ * Font isn't uniform.
+ *
+ * @return true, if the Font has uniform line metrics, false otherwise.
*/
public boolean hasUniformLineMetrics() {
return this.font.hasUniformLineMetrics();
}
/**
- * Returns the distance from the leftmost point to the rightmost
- * point on the string's baseline showing the specified array
- * of bytes in this Font.
- *
- * @param data the array of bytes to be measured.
- * @param off the start offset.
- * @param len the number of bytes to be measured.
- *
+ * Returns the distance from the leftmost point to the rightmost point on
+ * the string's baseline showing the specified array of bytes in this Font.
+ *
+ * @param data
+ * the array of bytes to be measured.
+ * @param off
+ * the start offset.
+ * @param len
+ * the number of bytes to be measured.
* @return the advance width of the array.
*/
public int bytesWidth(byte[] data, int off, int len) {
int width = 0;
- if ((off >= data.length) || (off < 0)){
+ if ((off >= data.length) || (off < 0)) {
// awt.13B=offset off is out of range
throw new IllegalArgumentException(Messages.getString("awt.13B")); //$NON-NLS-1$
}
- if ((off+len > data.length)){
+ if ((off + len > data.length)) {
// awt.13C=number of elemets len is out of range
throw new IllegalArgumentException(Messages.getString("awt.13C")); //$NON-NLS-1$
}
- for (int i = off; i < off+len; i++){
+ for (int i = off; i < off + len; i++) {
width += charWidth(data[i]);
}
@@ -319,29 +331,31 @@ public abstract class FontMetrics implements Serializable {
}
/**
- * Returns the distance from the leftmost point to the rightmost
- * point on the string's baseline showing the specified array
- * of characters in this Font.
- *
- * @param data the array of characters to be measured.
- * @param off the start offset.
- * @param len the number of bytes to be measured.
- *
+ * Returns the distance from the leftmost point to the rightmost point on
+ * the string's baseline showing the specified array of characters in this
+ * Font.
+ *
+ * @param data
+ * the array of characters to be measured.
+ * @param off
+ * the start offset.
+ * @param len
+ * the number of bytes to be measured.
* @return the advance width of the array.
*/
- public int charsWidth(char[] data, int off , int len){
+ public int charsWidth(char[] data, int off, int len) {
int width = 0;
- if ((off >= data.length) || (off < 0)){
+ if ((off >= data.length) || (off < 0)) {
// awt.13B=offset off is out of range
throw new IllegalArgumentException(Messages.getString("awt.13B")); //$NON-NLS-1$
}
- if ((off+len > data.length)){
+ if ((off + len > data.length)) {
// awt.13C=number of elemets len is out of range
throw new IllegalArgumentException(Messages.getString("awt.13C")); //$NON-NLS-1$
}
- for (int i = off; i < off+len; i++){
+ for (int i = off; i < off + len; i++) {
width += charWidth(data[i]);
}
@@ -349,12 +363,11 @@ public abstract class FontMetrics implements Serializable {
}
/**
- * Returns the distance from the leftmost point to the rightmost
- * point of the specified character in this Font.
- *
- * @param ch the specified unicode point code of
- * character to be measured.
+ * Returns the distance from the leftmost point to the rightmost point of
+ * the specified character in this Font.
*
+ * @param ch
+ * the specified Unicode point code of character to be measured.
* @return the advance width of the character.
*/
public int charWidth(int ch) {
@@ -362,11 +375,11 @@ public abstract class FontMetrics implements Serializable {
}
/**
- * Returns the distance from the leftmost point to the rightmost
- * point of the specified character in this Font.
- *
- * @param ch the specified character to be measured.
+ * Returns the distance from the leftmost point to the rightmost point of
+ * the specified character in this Font.
*
+ * @param ch
+ * the specified character to be measured.
* @return the advance width of the character.
*/
public int charWidth(char ch) {
@@ -383,11 +396,11 @@ public abstract class FontMetrics implements Serializable {
}
/**
- * Gets the maximum font ascent of the Font associated with
- * this FontMetrics.
+ * Gets the maximum font ascent of the Font associated with this
+ * FontMetrics.
*
- * @return the maximum font ascent of the Font associated with
- * this FontMetrics.
+ * @return the maximum font ascent of the Font associated with this
+ * FontMetrics.
*/
public int getMaxAscent() {
return 0;
@@ -397,7 +410,6 @@ public abstract class FontMetrics implements Serializable {
* Gets the maximum font descent of character in this Font.
*
* @return the maximum font descent of character in this Font.
- *
* @deprecated Replaced by getMaxDescent() method.
*/
@Deprecated
@@ -426,23 +438,22 @@ public abstract class FontMetrics implements Serializable {
/**
* Returns the advance width for the specified String in this Font.
*
- * @param str String to be measured.
- *
- * @return the the advance width for the specified String
- * in this Font.
+ * @param str
+ * String to be measured.
+ * @return the the advance width for the specified String in this Font.
*/
public int stringWidth(String str) {
return 0;
}
-
+
/**
- * Returns FontRenderContext instanse of the Graphics context specified.
- *
- * @param context the specified Graphics context
+ * Returns a FontRenderContext instance of the Graphics context specified.
*
+ * @param context
+ * the specified Graphics context.
* @return a FontRenderContext of the specified Graphics context.
*/
- private FontRenderContext getFRCFromGraphics(Graphics context){
+ private FontRenderContext getFRCFromGraphics(Graphics context) {
FontRenderContext frc;
if (context instanceof Graphics2D) {
frc = ((Graphics2D)context).getFontRenderContext();
@@ -453,4 +464,3 @@ public abstract class FontMetrics implements Serializable {
return frc;
}
}
-
diff --git a/awt/java/awt/GradientPaint.java b/awt/java/awt/GradientPaint.java
index 0e06528..3b32ef5 100644
--- a/awt/java/awt/GradientPaint.java
+++ b/awt/java/awt/GradientPaint.java
@@ -26,56 +26,71 @@ import org.apache.harmony.awt.internal.nls.Messages;
/**
* The GradientPaint class defines a way to fill a Shape with a linear color
- * gradient pattern.
+ * gradient pattern.
* <p>
- * The GradientPaint's fill pattern is determined by two points and two colors,
- * plus the cyclic mode option.
- * Each of the two points is painted with its corresponding color, and on
- * the line segment connecting the two points, the color is proportionally
- * changed between the two colors. For points on the same line which are not
- * between the two specified points (outside of the connecting segment) their
- * color is determined by the cyclic mode option. If the mode is cyclic, then
- * the rest of the line repeats the color pattern of the connecting segment,
- * cycling back and forth between the two colors. If not, the mode is acyclic
- * which means that all points
- * on the line outside the connecting line segment are given the same
- * color as the closest of the two specified points.
+ * The GradientPaint's fill pattern is determined by two points and two colors,
+ * plus the cyclic mode option. Each of the two points is painted with its
+ * corresponding color, and on the line segment connecting the two points, the
+ * color is proportionally changed between the two colors. For points on the
+ * same line which are not between the two specified points (outside of the
+ * connecting segment) their color is determined by the cyclic mode option. If
+ * the mode is cyclic, then the rest of the line repeats the color pattern of
+ * the connecting segment, cycling back and forth between the two colors. If
+ * not, the mode is acyclic which means that all points on the line outside the
+ * connecting line segment are given the same color as the closest of the two
+ * specified points.
* <p>
- * The color of points that are not on the line connecting the two
- * specified points are given by perpendicular projection: by taking
- * the set of lines perpendicular to the connecting line and for each
- * one, the whole line is colored with the same color.
+ * The color of points that are not on the line connecting the two specified
+ * points are given by perpendicular projection: by taking the set of lines
+ * perpendicular to the connecting line and for each one, the whole line is
+ * colored with the same color.
+ *
+ * @since Android 1.0
*/
public class GradientPaint implements Paint {
-
- /** The start point color. */
+
+ /**
+ * The start point color.
+ */
Color color1;
- /** The end color point. */
+ /**
+ * The end color point.
+ */
Color color2;
- /** The location of the start point. */
+ /**
+ * The location of the start point.
+ */
Point2D point1;
- /** The location of the end point. */
+ /**
+ * The location of the end point.
+ */
Point2D point2;
- /** The indicator of cycle filling. If TRUE filling
- * repeated outside points stripe, if FALSE solid color filling outside. */
+ /**
+ * The indicator of cycle filling. If TRUE filling repeated outside points
+ * stripe, if FALSE solid color filling outside.
+ */
boolean cyclic;
/**
* Instantiates a new GradientPaint with cyclic or acyclic mode.
*
- * @param point1 the first specified point.
- * @param color1 the Color of the first specified point.
- * @param point2 the second specified point.
- * @param color2 the Color of the second specified point.
- * @param cyclic the cyclic mode - true if the gradient pattern should cycle
- * repeatedly between the two colors; false otherwise.
- */
- public GradientPaint(Point2D point1, Color color1, Point2D point2,
- Color color2, boolean cyclic) {
+ * @param point1
+ * the first specified point.
+ * @param color1
+ * the Color of the first specified point.
+ * @param point2
+ * the second specified point.
+ * @param color2
+ * the Color of the second specified point.
+ * @param cyclic
+ * the cyclic mode - true if the gradient pattern should cycle
+ * repeatedly between the two colors; false otherwise.
+ */
+ public GradientPaint(Point2D point1, Color color1, Point2D point2, Color color2, boolean cyclic) {
if (point1 == null || point2 == null) {
// awt.6D=Point is null
throw new NullPointerException(Messages.getString("awt.6D")); //$NON-NLS-1$
@@ -93,17 +108,24 @@ public class GradientPaint implements Paint {
}
/**
- * Instantiates a new GradientPaint with cyclic or acyclic mode;
- * points are specified by coordinates.
+ * Instantiates a new GradientPaint with cyclic or acyclic mode; points are
+ * specified by coordinates.
*
- * @param x1 the X coordinate of the first point.
- * @param y1 the Y coordinate of the first point.
- * @param color1 the color of the first point.
- * @param x2 the X coordinate of the second point.
- * @param y2 the Y coordinate of the second point.
- * @param color2 the color of the second point.
- * @param cyclic the cyclic mode - true if the gradient pattern should cycle
- * repeatedly between the two colors; false otherwise.
+ * @param x1
+ * the X coordinate of the first point.
+ * @param y1
+ * the Y coordinate of the first point.
+ * @param color1
+ * the color of the first point.
+ * @param x2
+ * the X coordinate of the second point.
+ * @param y2
+ * the Y coordinate of the second point.
+ * @param color2
+ * the color of the second point.
+ * @param cyclic
+ * the cyclic mode - true if the gradient pattern should cycle
+ * repeatedly between the two colors; false otherwise.
*/
public GradientPaint(float x1, float y1, Color color1, float x2, float y2, Color color2,
boolean cyclic) {
@@ -111,15 +133,21 @@ public class GradientPaint implements Paint {
}
/**
- * Instantiates a new acyclic GradientPaint;
- * points are specified by coordinates.
+ * Instantiates a new acyclic GradientPaint; points are specified by
+ * coordinates.
*
- * @param x1 the X coordinate of the first point.
- * @param y1 the Y coordinate of the first point.
- * @param color1 the color of the first point.
- * @param x2 the X coordinate of the second point.
- * @param y2 the Y coordinate of the second point.
- * @param color2 the color of the second point.
+ * @param x1
+ * the X coordinate of the first point.
+ * @param y1
+ * the Y coordinate of the first point.
+ * @param color1
+ * the color of the first point.
+ * @param x2
+ * the X coordinate of the second point.
+ * @param y2
+ * the Y coordinate of the second point.
+ * @param color2
+ * the color of the second point.
*/
public GradientPaint(float x1, float y1, Color color1, float x2, float y2, Color color2) {
this(x1, y1, color1, x2, y2, color2, false);
@@ -128,29 +156,38 @@ public class GradientPaint implements Paint {
/**
* Instantiates a new acyclic GradientPaint.
*
- * @param point1 the first specified point.
- * @param color1 the Color of the first specified point.
- * @param point2 the second specified point.
- * @param color2 the Color of the second specified point.
+ * @param point1
+ * the first specified point.
+ * @param color1
+ * the Color of the first specified point.
+ * @param point2
+ * the second specified point.
+ * @param color2
+ * the Color of the second specified point.
*/
public GradientPaint(Point2D point1, Color color1, Point2D point2, Color color2) {
this(point1, color1, point2, color2, false);
}
/**
- * Creates PaintContext for a color pattern generating.
- *
- * @param cm the ColorModel of the Paint data.
- * @param deviceBounds the bounding Rectangle of graphics primitives
- * being rendered in the device space.
- * @param userBounds tthe bounding Rectangle of graphics primitives
- * being rendered in the user space.
- * @param t the AffineTransform from user space into device space.
- * @param hints the RrenderingHints object.
+ * Creates PaintContext for a color pattern generating.
*
+ * @param cm
+ * the ColorModel of the Paint data.
+ * @param deviceBounds
+ * the bounding Rectangle of graphics primitives being rendered
+ * in the device space.
+ * @param userBounds
+ * the bounding Rectangle of graphics primitives being rendered
+ * in the user space.
+ * @param t
+ * the AffineTransform from user space into device space.
+ * @param hints
+ * the RrenderingHints object.
* @return the PaintContext for color pattern generating.
- *
- * @see java.awt.Paint#createContext(java.awt.image.ColorModel, java.awt.Rectangle, java.awt.geom.Rectangle2D, java.awt.geom.AffineTransform, java.awt.RenderingHints)
+ * @see java.awt.Paint#createContext(java.awt.image.ColorModel,
+ * java.awt.Rectangle, java.awt.geom.Rectangle2D,
+ * java.awt.geom.AffineTransform, java.awt.RenderingHints)
*/
public PaintContext createContext(ColorModel cm, Rectangle deviceBounds,
Rectangle2D userBounds, AffineTransform t, RenderingHints hints) {
@@ -178,7 +215,7 @@ public class GradientPaint implements Paint {
/**
* Gets the first point.
*
- * @return the Point object - the first point.
+ * @return the Point object - the first point.
*/
public Point2D getPoint1() {
return point1;
@@ -197,7 +234,6 @@ public class GradientPaint implements Paint {
* Gets the transparency mode for the GradientPaint.
*
* @return the transparency mode for the GradientPaint.
- *
* @see java.awt.Transparency#getTransparency()
*/
public int getTransparency() {
@@ -207,11 +243,11 @@ public class GradientPaint implements Paint {
}
/**
- * Returns the GradientPaint mode: true for cyclic mode, false for
- * acyclic mode.
+ * Returns the GradientPaint mode: true for cyclic mode, false for acyclic
+ * mode.
*
- * @return true if the gradient cycles repeatedly between the two colors;
- * false otherwise.
+ * @return true if the gradient cycles repeatedly between the two colors;
+ * false otherwise.
*/
public boolean isCyclic() {
return cyclic;
diff --git a/awt/java/awt/Graphics.java b/awt/java/awt/Graphics.java
index c20f6bc..2d6e79f 100644
--- a/awt/java/awt/Graphics.java
+++ b/awt/java/awt/Graphics.java
@@ -18,26 +18,27 @@
* @author Alexey A. Petrenko
* @version $Revision$
*/
+
package java.awt;
import java.awt.image.ImageObserver;
import java.text.AttributedCharacterIterator;
/**
- * The abstract Graphics class allows applications to draw on a screen
- * or other rendering target. There are several properties which
- * define rendering options: origin point, clipping area, color, font.
- * <br><br>
- * The origin point specifies the beggining of the clipping area coordinate
- * system. All coordinates used in rendering operations are computed with
- * respect to this point. The clipping area defines the boundaries where
- * rendering operations can be performed. Rendering operations can't modify
- * pixels outside of the clipping area.
- * <br><br>
- * The draw and fill methods allow applications to drawing shapes, text,
- * images with specified font and color options in the specified part
- * of the screen.
- *
+ * The abstract Graphics class allows applications to draw on a screen or other
+ * rendering target. There are several properties which define rendering
+ * options: origin point, clipping area, color, font. <br>
+ * <br>
+ * The origin point specifies the beginning of the clipping area coordinate
+ * system. All coordinates used in rendering operations are computed with
+ * respect to this point. The clipping area defines the boundaries where
+ * rendering operations can be performed. Rendering operations can't modify
+ * pixels outside of the clipping area. <br>
+ * <br>
+ * The draw and fill methods allow applications to drawing shapes, text, images
+ * with specified font and color options in the specified part of the screen.
+ *
+ * @since Android 1.0
*/
public abstract class Graphics {
@@ -45,7 +46,7 @@ public abstract class Graphics {
/**
* Instantiates a new Graphics. This constructor is default for Graphics and
- * can not be called directly.
+ * can not be called directly.
*/
protected Graphics() {
}
@@ -53,19 +54,22 @@ public abstract class Graphics {
// Public methods
/**
- * Creates a copy of the Graphics object with a new origin and a new
- * specified clip area. The new clip area is the rectangle defined by
- * the origin point with coordinates X,Y and the given width and height.
- * The coordinates of all subsequent rendering operations will be computed
- * with respect to the new origin and can be performed only within the
- * range of the clipping area dimentions.
- *
- * @param x the X coordinate of the original point
- * @param y the Y coordinate of the original point
- * @param width the width of clipping area
- * @param height the height of clipping area
+ * Creates a copy of the Graphics object with a new origin and a new
+ * specified clip area. The new clip area is the rectangle defined by the
+ * origin point with coordinates X,Y and the given width and height. The
+ * coordinates of all subsequent rendering operations will be computed with
+ * respect to the new origin and can be performed only within the range of
+ * the clipping area dimensions.
*
- * @return the Graphics object with new origin point and clipping area.
+ * @param x
+ * the X coordinate of the original point.
+ * @param y
+ * the Y coordinate of the original point.
+ * @param width
+ * the width of clipping area.
+ * @param height
+ * the height of clipping area.
+ * @return the Graphics object with new origin point and clipping area.
*/
public Graphics create(int x, int y, int width, int height) {
Graphics res = create();
@@ -75,18 +79,24 @@ public abstract class Graphics {
}
/**
- * Draws the higlighted outline of a rectangle.
+ * Draws the highlighted outline of a rectangle.
*
- * @param x the X coordinate of the rectangle's top left corner.
- * @param y the Y coordinate of the rectangle's top left corner.
- * @param width the width of rectangle.
- * @param height the height of rectangle.
- * @param raised a boolean value that determines whether the rectangle
- * is drawn as raised or indented.
+ * @param x
+ * the X coordinate of the rectangle's top left corner.
+ * @param y
+ * the Y coordinate of the rectangle's top left corner.
+ * @param width
+ * the width of rectangle.
+ * @param height
+ * the height of rectangle.
+ * @param raised
+ * a boolean value that determines whether the rectangle is drawn
+ * as raised or indented.
*/
public void draw3DRect(int x, int y, int width, int height, boolean raised) {
// Note: lighter/darker colors should be used to draw 3d rect.
- // The resulting rect is (width+1)x(height+1). Stroke and paint attributes of
+ // The resulting rect is (width+1)x(height+1). Stroke and paint
+ // attributes of
// the Graphics2D should be reset to the default values.
// fillRect is used instead of drawLine to bypass stroke
// reset/set and rasterization.
@@ -103,36 +113,46 @@ public abstract class Graphics {
setColor(colorUp);
fillRect(x, y, width, 1);
- fillRect(x, y+1, 1, height);
+ fillRect(x, y + 1, 1, height);
setColor(colorDown);
- fillRect(x+width, y, 1, height);
- fillRect(x+1, y+height, width, 1);
+ fillRect(x + width, y, 1, height);
+ fillRect(x + 1, y + height, width, 1);
}
/**
- * Draws the text represented by byte array. This method uses the current
+ * Draws the text represented by byte array. This method uses the current
* font and color for rendering.
*
- * @param bytes the byte array which contains the text to be drawn.
- * @param off the offset within the byte array of the text to be drawn.
- * @param len the number of bytes of text to draw.
- * @param x the X coordinate where the text is to be drawn.
- * @param y the Y coordinate where the text is to be drawn.
+ * @param bytes
+ * the byte array which contains the text to be drawn.
+ * @param off
+ * the offset within the byte array of the text to be drawn.
+ * @param len
+ * the number of bytes of text to draw.
+ * @param x
+ * the X coordinate where the text is to be drawn.
+ * @param y
+ * the Y coordinate where the text is to be drawn.
*/
public void drawBytes(byte[] bytes, int off, int len, int x, int y) {
drawString(new String(bytes, off, len), x, y);
}
/**
- * Draws the text represented by character array. This method uses the
+ * Draws the text represented by character array. This method uses the
* current font and color for rendering.
*
- * @param chars the character array.
- * @param off the offset within the character array of the text to be drawn.
- * @param len the number of characters which will be drawn.
- * @param x the X coordinate where the text is to be drawn.
- * @param y the Y coordinate where the text is to be drawn.
+ * @param chars
+ * the character array.
+ * @param off
+ * the offset within the character array of the text to be drawn.
+ * @param len
+ * the number of characters which will be drawn.
+ * @param x
+ * the X coordinate where the text is to be drawn.
+ * @param y
+ * the Y coordinate where the text is to be drawn.
*/
public void drawChars(char[] chars, int off, int len, int x, int y) {
drawString(new String(chars, off, len), x, y);
@@ -141,37 +161,51 @@ public abstract class Graphics {
/**
* Draws the outline of a polygon which is defined by Polygon object.
*
- * @param p the Polygon object.
+ * @param p
+ * the Polygon object.
*/
public void drawPolygon(Polygon p) {
drawPolygon(p.xpoints, p.ypoints, p.npoints);
}
/**
- * Draws the rectangle with the specified width and length and top left
+ * Draws the rectangle with the specified width and length and top left
* corner coordinates.
*
- * @param x the X coordinate of the rectangle's top left corner.
- * @param y the Y coordinate of the rectangle's top left corner.
- * @param width the width of the rectangle.
- * @param height the height of the rectangle.
+ * @param x
+ * the X coordinate of the rectangle's top left corner.
+ * @param y
+ * the Y coordinate of the rectangle's top left corner.
+ * @param width
+ * the width of the rectangle.
+ * @param height
+ * the height of the rectangle.
*/
public void drawRect(int x, int y, int width, int height) {
- int []xpoints = {x, x, x+width, x+width};
- int []ypoints = {y, y+height, y+height, y};
+ int[] xpoints = {
+ x, x, x + width, x + width
+ };
+ int[] ypoints = {
+ y, y + height, y + height, y
+ };
drawPolygon(xpoints, ypoints, 4);
}
/**
- * Fills the higlighted outline of a rectangle.
+ * Fills the highlighted outline of a rectangle.
*
- * @param x the X coordinate of the rectangle's top left corner.
- * @param y the Y coordinate of the rectangle's top left corner.
- * @param width the width of the rectangle.
- * @param height the height of the rectangle.
- * @param raised a boolean value that determines whether the rectangle
- * is drawn as raised or indented.
+ * @param x
+ * the X coordinate of the rectangle's top left corner.
+ * @param y
+ * the Y coordinate of the rectangle's top left corner.
+ * @param width
+ * the width of the rectangle.
+ * @param height
+ * the height of the rectangle.
+ * @param raised
+ * a boolean value that determines whether the rectangle is drawn
+ * as raised or indented.
*/
public void fill3DRect(int x, int y, int width, int height, boolean raised) {
// Note: lighter/darker colors should be used to draw 3d rect.
@@ -179,7 +213,7 @@ public abstract class Graphics {
// Stroke and paint attributes of the Graphics2D should be reset
// to the default values. fillRect is used instead of drawLine to
// bypass stroke reset/set and line rasterization.
-
+
Color color = getColor();
Color colorUp, colorDown;
if (raised) {
@@ -194,21 +228,22 @@ public abstract class Graphics {
width--;
height--;
- fillRect(x+1, y+1, width-1, height-1);
+ fillRect(x + 1, y + 1, width - 1, height - 1);
setColor(colorUp);
fillRect(x, y, width, 1);
- fillRect(x, y+1, 1, height);
+ fillRect(x, y + 1, 1, height);
setColor(colorDown);
- fillRect(x+width, y, 1, height);
- fillRect(x+1, y+height, width, 1);
+ fillRect(x + width, y, 1, height);
+ fillRect(x + 1, y + height, width, 1);
}
/**
* Fills the polygon with the current color.
*
- * @param p the Polygon object.
+ * @param p
+ * the Polygon object.
*/
public void fillPolygon(Polygon p) {
fillPolygon(p.xpoints, p.ypoints, p.npoints);
@@ -222,12 +257,12 @@ public abstract class Graphics {
}
/**
- * Gets the bounds of the current clipping area as a rectangle
- * and copies it to an existing rectangle.
- *
- * @param r a Rectangle object where the current clipping area
- * bounds are to be copied.
+ * Gets the bounds of the current clipping area as a rectangle and copies it
+ * to an existing rectangle.
*
+ * @param r
+ * a Rectangle object where the current clipping area bounds are
+ * to be copied.
* @return the bounds of the current clipping area.
*/
public Rectangle getClipBounds(Rectangle r) {
@@ -248,8 +283,7 @@ public abstract class Graphics {
/**
* Gets the bounds of the current clipping area as a rectangle.
*
- * @return a Rectangle object
- *
+ * @return a Rectangle object.
* @deprecated Use {@link #getClipBounds()}
*/
@Deprecated
@@ -258,9 +292,8 @@ public abstract class Graphics {
}
/**
- * Gets the font metrics of the current font.
- * The font metrics object contains information about the rendering
- * of a particular font.
+ * Gets the font metrics of the current font. The font metrics object
+ * contains information about the rendering of a particular font.
*
* @return the font metrics of current font.
*/
@@ -269,19 +302,23 @@ public abstract class Graphics {
}
/**
- * Determines whether or not the specified rectangle intersects the
- * current clipping area.
- *
- * @param x the X coordinate of the rectangle.
- * @param y the Y coordinate of the rectangle.
- * @param width the width of the rectangle.
- * @param height the height of the rectangle.
+ * Determines whether or not the specified rectangle intersects the current
+ * clipping area.
*
- * @return true, if the specified rectangle intersects the current clipping area,
- * overwise false.
+ * @param x
+ * the X coordinate of the rectangle.
+ * @param y
+ * the Y coordinate of the rectangle.
+ * @param width
+ * the width of the rectangle.
+ * @param height
+ * the height of the rectangle.
+ * @return true, if the specified rectangle intersects the current clipping
+ * area, false otherwise.
*/
public boolean hitClip(int x, int y, int width, int height) {
- // TODO: Create package private method Rectangle.intersects(int, int, int, int);
+ // TODO: Create package private method Rectangle.intersects(int, int,
+ // int, int);
return getClipBounds().intersects(new Rectangle(x, y, width, height));
}
@@ -299,45 +336,56 @@ public abstract class Graphics {
// Abstract methods
/**
- * Clears the specified rectangle. This method fills specified rectangle
- * with background color.
+ * Clears the specified rectangle. This method fills specified rectangle
+ * with background color.
*
- * @param x the X coordinate of the rectangle.
- * @param y the Y coordinate of the rectangle.
- * @param width the width of the rectangle.
- * @param height the height of the rectangle.
+ * @param x
+ * the X coordinate of the rectangle.
+ * @param y
+ * the Y coordinate of the rectangle.
+ * @param width
+ * the width of the rectangle.
+ * @param height
+ * the height of the rectangle.
*/
public abstract void clearRect(int x, int y, int width, int height);
/**
- * Intersects the current clipping area with a new rectangle.
- * If the current clipping area is not defined, the rectangle
- * becomes a new clipping area. Rendering operations are only allowed
- * within the new the clipping area.
- *
- * @param x the X coordinate of the rectangle for intersection.
- * @param y the Y coordinate of the rectangle for intersection.
- * @param width the width of the rectangle for intersection.
- * @param height the height of the rectangle for intersection.
+ * Intersects the current clipping area with a new rectangle. If the current
+ * clipping area is not defined, the rectangle becomes a new clipping area.
+ * Rendering operations are only allowed within the new the clipping area.
+ *
+ * @param x
+ * the X coordinate of the rectangle for intersection.
+ * @param y
+ * the Y coordinate of the rectangle for intersection.
+ * @param width
+ * the width of the rectangle for intersection.
+ * @param height
+ * the height of the rectangle for intersection.
*/
public abstract void clipRect(int x, int y, int width, int height);
/**
- * Copies the rectangle area to another area specified by
- * a distance (dx, dy) from the original rectangle's location.
- * Positive dx and dy values give a new location defined by
- * translation to the right and down from the original location,
- * negative dx and dy values - to the left and up.
- * <br><br>
- *
- * @param sx the X coordinate of the rectangle which will be copied.
- * @param sy the Y coordinate of the rectangle which will be copied.
- * @param width the width of the rectangle which will be copied.
- * @param height the height of the rectangle which will be copied.
- * @param dx the horizontal distance from the source rectangle's
- * location to the copy's location.
- * @param dy the vertical distance from the source rectangle's
- * location to the copy's location.
+ * Copies the rectangle area to another area specified by a distance (dx,
+ * dy) from the original rectangle's location. Positive dx and dy values
+ * give a new location defined by translation to the right and down from the
+ * original location, negative dx and dy values - to the left and up.
+ *
+ * @param sx
+ * the X coordinate of the rectangle which will be copied.
+ * @param sy
+ * the Y coordinate of the rectangle which will be copied.
+ * @param width
+ * the width of the rectangle which will be copied.
+ * @param height
+ * the height of the rectangle which will be copied.
+ * @param dx
+ * the horizontal distance from the source rectangle's location
+ * to the copy's location.
+ * @param dy
+ * the vertical distance from the source rectangle's location to
+ * the copy's location.
*/
public abstract void copyArea(int sx, int sy, int width, int height, int dx, int dy);
@@ -349,215 +397,314 @@ public abstract class Graphics {
public abstract Graphics create();
/**
- * Disposes of the Graphics. This Graphics object can not be used after
- * calling this method.
+ * Disposes of the Graphics. This Graphics object can not be used after
+ * calling this method.
*/
public abstract void dispose();
/**
- * Draws the arc covering the specified rectangle and using the current color.
- * The rectangle is defined by the origin point (X, Y) and dimentions
- * (width and height). The arc center is the the center of specified rectangle.
- * The angle origin is 3 o'clock position, the positive angle is counted as a
- * counter-clockwise rotation, the negotive angle is counted as clockwise rotation.
- *
- * @param x the X origin coordinate of the rectangle which scales the arc.
- * @param y the Y origin coordinate of the rectangle which scales the arc.
- * @param width the width of the rectangle which scales the arc.
- * @param height the height of the rectangle which scales the arc.
- * @param sa start angle - the origin angle of arc.
- * @param ea arc angle - the angular arc value relative to the start angle.
+ * Draws the arc covering the specified rectangle and using the current
+ * color. The rectangle is defined by the origin point (X, Y) and dimensions
+ * (width and height). The arc center is the the center of specified
+ * rectangle. The angle origin is 3 o'clock position, the positive angle is
+ * counted as a counter-clockwise rotation, the negative angle is counted as
+ * clockwise rotation.
+ *
+ * @param x
+ * the X origin coordinate of the rectangle which scales the arc.
+ * @param y
+ * the Y origin coordinate of the rectangle which scales the arc.
+ * @param width
+ * the width of the rectangle which scales the arc.
+ * @param height
+ * the height of the rectangle which scales the arc.
+ * @param sa
+ * start angle - the origin angle of arc.
+ * @param ea
+ * arc angle - the angular arc value relative to the start angle.
*/
public abstract void drawArc(int x, int y, int width, int height, int sa, int ea);
/**
- * Draws the specified image with the defined background color.
- * The top left corner of image will be drawn at point (x, y)
- * in current coordinate system. The image loading process notifies the
- * specified Image Observer. This method returns true if the image
- * has loaded, overwise it returns false.
- *
- * @param img the image which will be drawn.
- * @param x the X coordinate of the image top left corner.
- * @param y the Y coordinate of the image top left corner.
- * @param bgcolor the background color.
- * @param observer the ImageObserver object which should be notified about image loading process.
- *
- * @return true, if loading image is successful or image is null, overwise false.
+ * Draws the specified image with the defined background color. The top left
+ * corner of image will be drawn at point (x, y) in current coordinate
+ * system. The image loading process notifies the specified Image Observer.
+ * This method returns true if the image has loaded, otherwise it returns
+ * false.
+ *
+ * @param img
+ * the image which will be drawn.
+ * @param x
+ * the X coordinate of the image top left corner.
+ * @param y
+ * the Y coordinate of the image top left corner.
+ * @param bgcolor
+ * the background color.
+ * @param observer
+ * the ImageObserver object which should be notified about image
+ * loading process.
+ * @return true, if loading image is successful or image is null, false
+ * otherwise.
*/
public abstract boolean drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer);
/**
- * Draws the specified image.
- * The top left corner of image will be drawn at point (x, y)
- * in current coordinate system. The image loading process notifies the
- * specified Image Observer. This method returns true if the image
- * has loaded, overwise it returns false.
+ * Draws the specified image. The top left corner of image will be drawn at
+ * point (x, y) in current coordinate system. The image loading process
+ * notifies the specified Image Observer. This method returns true if the
+ * image has loaded, otherwise it returns false.
*
- * @param img the image which will be drawn.
- * @param x the X coordinate of the image top left corner.
- * @param y the Y coordinate of the image top left corner.
- * @param observer the ImageObserver object which should be notified about image loading process.
- *
- * @return true, if loading image is successful or image is null, overwise false.
+ * @param img
+ * the image which will be drawn.
+ * @param x
+ * the X coordinate of the image top left corner.
+ * @param y
+ * the Y coordinate of the image top left corner.
+ * @param observer
+ * the ImageObserver object which should be notified about image
+ * loading process.
+ * @return true, if loading image is successful or image is null, otherwise
+ * false.
*/
public abstract boolean drawImage(Image img, int x, int y, ImageObserver observer);
/**
- * Scales the specified image to fit in the specified rectangle and
- * draws it with the defined background color. The top left corner
- * of the image will be drawn at the point (x, y) in current coordinate
- * system. The non-opaque pixels will be drawn in the background color.
- * The image loading process notifies the specified Image Observer.
- * This method returns true if the image has loaded, overwise it returns false.
- *
- * @param img the image which will be drawn.
- * @param x the X coordinate of the image's top left corner.
- * @param y the Y coordinate of the image's top left corner.
- * @param width the width of rectangle which scales the image.
- * @param height the height of rectangle which scales the image.
- * @param bgcolor the background color.
- * @param observer the ImageObserver object which should be notified about image loading process.
- *
- * @return true, if loading image is successful or image is null, overwise false.
- */
- public abstract boolean drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer);
-
- /**
- * Scales the specified image to fit in the specified rectangle and
- * draws it. The top left corner of the image will be drawn at the
- * point (x, y) in current coordinate system. The image loading process
- * notifies the specified Image Observer.
- * This method returns true if the image has loaded, overwise it returns false.
- *
- * @param img the image which will be drawn.
- * @param x the X coordinate of the image top left corner.
- * @param y the Y coordinate of the image top left corner.
- * @param width the width of rectangle which scales the image.
- * @param height the height of rectangle which scales the image.
- * @param observer the ImageObserver object which should be notified about image loading process.
- *
- * @return true, if loading image is successful or image is null, overwise false.
- */
- public abstract boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer);
-
- /**
- * Scales the specified area of the specified image to fit in the rectangle area
- * defined by its corners coordinates and draws the sub-image with the specified
- * background color. The sub-image to be drawn is defined by its top left
- * corner coordinates (sx1, sy1) and bottom right corner coordinates (sx2, sy2)
- * computed with respect to the origin (top left corner) of the source image.
- * The non opaque pixels will be drawn in the background color. The
- * image loading process notifies specified Image Observer.
- * This method returns true if the image
- * has loaded, overwise it returns false.
- *
- * @param img the image which will be drawn.
- * @param dx1 the X top left corner coordinate of the destination rectangle area.
- * @param dy1 the Y top left corner coordinate of the destination rectangle area.
- * @param dx2 the X bottom right corner coordinate of the destination rectangle area.
- * @param dy2 the Y bottom right corner coordinate of the destination rectangle area.
- * @param sx1 the X top left corner coordinate of the area to be drawn within the source image.
- * @param sy1 the Y top left corner coordinate of the area to be drawn within the source image.
- * @param sx2 the X bottom right corner coordinate of the area to be drawn within the source image.
- * @param sy2 the Y bottom right corner coordinate of the area to be drawn within the source image.
- * @param bgcolor the background color.
- * @param observer the ImageObserver object which should be notified about image loading process.
- *
- * @return true, if loading image is successful or image is null, overwise false.
- */
- public abstract boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, Color bgcolor, ImageObserver observer);
-
- /**
- * Scales the specified area of the specified image to fit in the rectangle area
- * defined by its corners coordinates and draws the sub-image. The sub-image
- * to be drawn is defined by its top left
- * corner coordinates (sx1, sy1) and bottom right corner coordinates (sx2, sy2)
- * computed with respect to the origin (top left corner) of the source image.
- * The image loading process notifies specified Image Observer.
- * This method returns true if the image
- * has loaded, overwise it returns false.
- *
- * @param img the image which will be drawn.
- * @param dx1 the X top left corner coordinate of the destination rectangle area.
- * @param dy1 the Y top left corner coordinate of the destination rectangle area.
- * @param dx2 the X bottom right corner coordinate of the destination rectangle area.
- * @param dy2 the Y bottom right corner coordinate of the destination rectangle area.
- * @param sx1 the X top left corner coordinate of the area to be drawn within the source image.
- * @param sy1 the Y top left corner coordinate of the area to be drawn within the source image.
- * @param sx2 the X bottom right corner coordinate of the area to be drawn within the source image.
- * @param sy2 the Y bottom right corner coordinate of the area to be drawn within the source image.
- * @param observer the ImageObserver object which should be notified about image loading process.
- *
- * @return true, if loading image is successful or image is null, overwise false.
- */
- public abstract boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer);
-
- /**
- * Draws a line from the point (x1, y1) to the point (x2, y2).
- * This method draws the line with current color
- * which can be changed by setColor(Color c) method.
- *
- * @param x1 the X coordinate of the first point.
- * @param y1 the Y coordinate of the first point.
- * @param x2 the X coordinate of the second point.
- * @param y2 the Y coordinate of the second point.
+ * Scales the specified image to fit in the specified rectangle and draws it
+ * with the defined background color. The top left corner of the image will
+ * be drawn at the point (x, y) in current coordinate system. The non-opaque
+ * pixels will be drawn in the background color. The image loading process
+ * notifies the specified Image Observer. This method returns true if the
+ * image has loaded, otherwise it returns false.
+ *
+ * @param img
+ * the image which will be drawn.
+ * @param x
+ * the X coordinate of the image's top left corner.
+ * @param y
+ * the Y coordinate of the image's top left corner.
+ * @param width
+ * the width of rectangle which scales the image.
+ * @param height
+ * the height of rectangle which scales the image.
+ * @param bgcolor
+ * the background color.
+ * @param observer
+ * the ImageObserver object which should be notified about image
+ * loading process.
+ * @return true, if loading image is successful or image is null, otherwise
+ * false.
+ */
+ public abstract boolean drawImage(Image img, int x, int y, int width, int height,
+ Color bgcolor, ImageObserver observer);
+
+ /**
+ * Scales the specified image to fit in the specified rectangle and draws
+ * it. The top left corner of the image will be drawn at the point (x, y) in
+ * current coordinate system. The image loading process notifies the
+ * specified Image Observer. This method returns true if the image has
+ * loaded, otherwise it returns false.
+ *
+ * @param img
+ * the image which will be drawn.
+ * @param x
+ * the X coordinate of the image top left corner.
+ * @param y
+ * the Y coordinate of the image top left corner.
+ * @param width
+ * the width of rectangle which scales the image.
+ * @param height
+ * the height of rectangle which scales the image.
+ * @param observer
+ * the ImageObserver object which should be notified about image
+ * loading process.
+ * @return true, if loading image is successful or image is null, otherwise
+ * false.
+ */
+ public abstract boolean drawImage(Image img, int x, int y, int width, int height,
+ ImageObserver observer);
+
+ /**
+ * Scales the specified area of the specified image to fit in the rectangle
+ * area defined by its corners coordinates and draws the sub-image with the
+ * specified background color. The sub-image to be drawn is defined by its
+ * top left corner coordinates (sx1, sy1) and bottom right corner
+ * coordinates (sx2, sy2) computed with respect to the origin (top left
+ * corner) of the source image. The non opaque pixels will be drawn in the
+ * background color. The image loading process notifies specified Image
+ * Observer. This method returns true if the image has loaded, otherwise it
+ * returns false.
+ *
+ * @param img
+ * the image which will be drawn.
+ * @param dx1
+ * the X top left corner coordinate of the destination rectangle
+ * area.
+ * @param dy1
+ * the Y top left corner coordinate of the destination rectangle
+ * area.
+ * @param dx2
+ * the X bottom right corner coordinate of the destination
+ * rectangle area.
+ * @param dy2
+ * the Y bottom right corner coordinate of the destination
+ * rectangle area.
+ * @param sx1
+ * the X top left corner coordinate of the area to be drawn
+ * within the source image.
+ * @param sy1
+ * the Y top left corner coordinate of the area to be drawn
+ * within the source image.
+ * @param sx2
+ * the X bottom right corner coordinate of the area to be drawn
+ * within the source image.
+ * @param sy2
+ * the Y bottom right corner coordinate of the area to be drawn
+ * within the source image.
+ * @param bgcolor
+ * the background color.
+ * @param observer
+ * the ImageObserver object which should be notified about image
+ * loading process.
+ * @return true, if loading image is successful or image is null, false
+ * otherwise.
+ */
+ public abstract boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1,
+ int sy1, int sx2, int sy2, Color bgcolor, ImageObserver observer);
+
+ /**
+ * Scales the specified area of the specified image to fit in the rectangle
+ * area defined by its corners coordinates and draws the sub-image. The
+ * sub-image to be drawn is defined by its top left corner coordinates (sx1,
+ * sy1) and bottom right corner coordinates (sx2, sy2) computed with respect
+ * to the origin (top left corner) of the source image. The image loading
+ * process notifies specified Image Observer. This method returns true if
+ * the image has loaded, otherwise it returns false.
+ *
+ * @param img
+ * the image which will be drawn.
+ * @param dx1
+ * the X top left corner coordinate of the destination rectangle
+ * area.
+ * @param dy1
+ * the Y top left corner coordinate of the destination rectangle
+ * area.
+ * @param dx2
+ * the X bottom right corner coordinate of the destination
+ * rectangle area.
+ * @param dy2
+ * the Y bottom right corner coordinate of the destination
+ * rectangle area.
+ * @param sx1
+ * the X top left corner coordinate of the area to be drawn
+ * within the source image.
+ * @param sy1
+ * the Y top left corner coordinate of the area to be drawn
+ * within the source image.
+ * @param sx2
+ * the X bottom right corner coordinate of the area to be drawn
+ * within the source image.
+ * @param sy2
+ * the Y bottom right corner coordinate of the area to be drawn
+ * within the source image.
+ * @param observer
+ * the ImageObserver object which should be notified about image
+ * loading process.
+ * @return true, if loading image is successful or image is null, false
+ * otherwise.
+ */
+ public abstract boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1,
+ int sy1, int sx2, int sy2, ImageObserver observer);
+
+ /**
+ * Draws a line from the point (x1, y1) to the point (x2, y2). This method
+ * draws the line with current color which can be changed by setColor(Color
+ * c) method.
+ *
+ * @param x1
+ * the X coordinate of the first point.
+ * @param y1
+ * the Y coordinate of the first point.
+ * @param x2
+ * the X coordinate of the second point.
+ * @param y2
+ * the Y coordinate of the second point.
*/
public abstract void drawLine(int x1, int y1, int x2, int y2);
/**
- * Draws the ouline of an oval to fit in the rectangle defined
- * by the given width, height, and top left corner.
+ * Draws the outline of an oval to fit in the rectangle defined by the given
+ * width, height, and top left corner.
*
- * @param x the X top left corner oval coordinate
- * @param y the Y top left corner oval coordinate
- * @param width the oval width
- * @param height the oval height
+ * @param x
+ * the X top left corner oval coordinate.
+ * @param y
+ * the Y top left corner oval coordinate.
+ * @param width
+ * the oval width.
+ * @param height
+ * the oval height.
*/
public abstract void drawOval(int x, int y, int width, int height);
/**
- * Draws the outline of a polygon. The polygon vertices are defined by points
- * with xpoints[i], ypoints[i] as coordinates. The polygon edges are the
- * lines from the points with (xpoints[i-1], ypoints[i-1]) coordinates to
- * the points with (xpoints[i], ypoints[i]) coordinates, for 0 < i < npoints +1.
+ * Draws the outline of a polygon. The polygon vertices are defined by
+ * points with xpoints[i], ypoints[i] as coordinates. The polygon edges are
+ * the lines from the points with (xpoints[i-1], ypoints[i-1]) coordinates
+ * to the points with (xpoints[i], ypoints[i]) coordinates, for 0 < i <
+ * npoints +1.
*
- * @param xpoints the array of X coordinates of the polygon vertices.
- * @param ypoints the array of Y coordinates of the polygon vertices.
- * @param npoints the number of polygon vertices/points.
+ * @param xpoints
+ * the array of X coordinates of the polygon vertices.
+ * @param ypoints
+ * the array of Y coordinates of the polygon vertices.
+ * @param npoints
+ * the number of polygon vertices/points.
*/
public abstract void drawPolygon(int[] xpoints, int[] ypoints, int npoints);
/**
- * Draws a set of connected lines which are defined by the x and y coordinate arrays.
- * The polyline is closed if coordinates of the first point are the same as
- * coordinates of the last point.
+ * Draws a set of connected lines which are defined by the x and y
+ * coordinate arrays. The polyline is closed if coordinates of the first
+ * point are the same as coordinates of the last point.
*
- * @param xpoints the array of X point coordinates.
- * @param ypoints the array of Y point coordinates.
- * @param npoints the number of points.
+ * @param xpoints
+ * the array of X point coordinates.
+ * @param ypoints
+ * the array of Y point coordinates.
+ * @param npoints
+ * the number of points.
*/
public abstract void drawPolyline(int[] xpoints, int[] ypoints, int npoints);
/**
* Draws the outline of a rectangle with round corners.
*
- * @param x the X coordinate of the rectangle's top left corner.
- * @param y the Y coordinate of the rectangle's top left corner.
- * @param width the width of the rectangle.
- * @param height the height of the rectangle.
- * @param arcWidth the arc width for the corners.
- * @param arcHeight the arc height for the corners.
- */
- public abstract void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight);
-
- /**
- * Draws a text defined by an iterator. The iterator should specify the font
- * for every character.
- *
- * @param iterator the iterator.
- * @param x the X coordinate of the firt character.
- * @param y the Y coordinate of the first character.
+ * @param x
+ * the X coordinate of the rectangle's top left corner.
+ * @param y
+ * the Y coordinate of the rectangle's top left corner.
+ * @param width
+ * the width of the rectangle.
+ * @param height
+ * the height of the rectangle.
+ * @param arcWidth
+ * the arc width for the corners.
+ * @param arcHeight
+ * the arc height for the corners.
+ */
+ public abstract void drawRoundRect(int x, int y, int width, int height, int arcWidth,
+ int arcHeight);
+
+ /**
+ * Draws a text defined by an iterator. The iterator should specify the font
+ * for every character.
+ *
+ * @param iterator
+ * the iterator.
+ * @param x
+ * the X coordinate of the first character.
+ * @param y
+ * the Y coordinate of the first character.
*/
public abstract void drawString(AttributedCharacterIterator iterator, int x, int y);
@@ -565,86 +712,117 @@ public abstract class Graphics {
* Draws a text defined by a string. This method draws the text with current
* font and color.
*
- * @param str the string.
- * @param x the X coordinate of the firt character.
- * @param y the Y coordinate of the first character.
+ * @param str
+ * the string.
+ * @param x
+ * the X coordinate of the first character.
+ * @param y
+ * the Y coordinate of the first character.
*/
public abstract void drawString(String str, int x, int y);
/**
- * Fills the arc covering the rectangle and using the current color.
- * The rectangle is defined by the origin point (X, Y) and dimentions (width and height).
- * The arc center is the the center of specified rectangle.
- * The angle origin is at the 3 o'clock position, and a positive angle gives
+ * Fills the arc covering the rectangle and using the current color. The
+ * rectangle is defined by the origin point (X, Y) and dimensions (width and
+ * height). The arc center is the the center of specified rectangle. The
+ * angle origin is at the 3 o'clock position, and a positive angle gives
* counter-clockwise rotation, a negative angle gives clockwise rotation.
- *
- * @param x the X origin coordinate of the rectangle which scales the arc.
- * @param y the Y origin coordinate of the rectangle which scales the arc.
- * @param width the width of the rectangle which scales the arc.
- * @param height the height of the rectangle which scales the arc.
- * @param sa start angle - the origin angle of arc.
- * @param ea arc angle - the angular arc value relative to the start angle.
+ *
+ * @param x
+ * the X origin coordinate of the rectangle which scales the arc.
+ * @param y
+ * the Y origin coordinate of the rectangle which scales the arc.
+ * @param width
+ * the width of the rectangle which scales the arc.
+ * @param height
+ * the height of the rectangle which scales the arc.
+ * @param sa
+ * start angle - the origin angle of arc.
+ * @param ea
+ * arc angle - the angular arc value relative to the start angle.
*/
public abstract void fillArc(int x, int y, int width, int height, int sa, int ea);
/**
- * Fills an oval with the current color where the oval is defined by the
+ * Fills an oval with the current color where the oval is defined by the
* bounding rectangle with the given width, height, and top left corner.
*
- * @param x the X top left corner oval coordinate.
- * @param y the Y top left corner oval coordinate.
- * @param width the oval width.
- * @param height the oval height.
+ * @param x
+ * the X top left corner oval coordinate.
+ * @param y
+ * the Y top left corner oval coordinate.
+ * @param width
+ * the oval width.
+ * @param height
+ * the oval height.
*/
public abstract void fillOval(int x, int y, int width, int height);
/**
- * Fills a polygon with the current color. The polygon vertices are defined by the points
- * with xpoints[i], ypoints[i] as coordinates. The polygon edges are the
- * lines from the points with (xpoints[i-1], ypoints[i-1]) coordinates to
- * the points with (xpoints[i], ypoints[i]) coordinates, for 0 < i < npoints +1.
+ * Fills a polygon with the current color. The polygon vertices are defined
+ * by the points with xpoints[i], ypoints[i] as coordinates. The polygon
+ * edges are the lines from the points with (xpoints[i-1], ypoints[i-1])
+ * coordinates to the points with (xpoints[i], ypoints[i]) coordinates, for
+ * 0 < i < npoints +1.
*
- * @param xpoints the array of X coordinates of the polygon vertices.
- * @param ypoints the array of Y coordinates of the polygon vertices.
- * @param npoints the number of polygon vertices/points.
+ * @param xpoints
+ * the array of X coordinates of the polygon vertices.
+ * @param ypoints
+ * the array of Y coordinates of the polygon vertices.
+ * @param npoints
+ * the number of polygon vertices/points.
*/
public abstract void fillPolygon(int[] xpoints, int[] ypoints, int npoints);
/**
- * Fills a rectangle with the current color.
- * The rectangle is defined by its width and length and top left corner coordinates.
+ * Fills a rectangle with the current color. The rectangle is defined by its
+ * width and length and top left corner coordinates.
*
- * @param x the X coordinate of the rectangle's top left corner.
- * @param y the Y coordinate of the rectangle's top left corner.
- * @param width the width of rectangle.
- * @param height the height of rectangle.
+ * @param x
+ * the X coordinate of the rectangle's top left corner.
+ * @param y
+ * the Y coordinate of the rectangle's top left corner.
+ * @param width
+ * the width of rectangle.
+ * @param height
+ * the height of rectangle.
*/
public abstract void fillRect(int x, int y, int width, int height);
/**
* Fills a round cornered rectangle with the current color.
*
- * @param x the X coordinate of the top left corner of the bounding rectangle.
- * @param y the Y coordinate of the top left corner of the bounding rectangle.
- * @param width the width of the bounding rectangle.
- * @param height the height of the bounding rectangle.
- * @param arcWidth the arc width at the corners.
- * @param arcHeight the arc height at the corners.
+ * @param x
+ * the X coordinate of the top left corner of the bounding
+ * rectangle.
+ * @param y
+ * the Y coordinate of the top left corner of the bounding
+ * rectangle.
+ * @param width
+ * the width of the bounding rectangle.
+ * @param height
+ * the height of the bounding rectangle.
+ * @param arcWidth
+ * the arc width at the corners.
+ * @param arcHeight
+ * the arc height at the corners.
*/
- public abstract void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight);
+ public abstract void fillRoundRect(int x, int y, int width, int height, int arcWidth,
+ int arcHeight);
/**
- * Gets the clipping area.
- * <br> <br>
- *
+ * Gets the clipping area. <br>
+ * <br>
+ *
* @return a Shape object of the clipping area or null if it is not set.
*/
public abstract Shape getClip();
/**
* Gets the bounds of the current clipping area as a rectangle.
- *
- * @return a Rectangle object which represents the bounds of the current clipping area.
+ *
+ * @return a Rectangle object which represents the bounds of the current
+ * clipping area.
*/
public abstract Rectangle getClipBounds();
@@ -663,75 +841,84 @@ public abstract class Graphics {
public abstract Font getFont();
/**
- * Gets the font metrics of the specified font.
- * The font metrics object contains information about the rendering of a particular font.
- *
- * @param font the specified font
+ * Gets the font metrics of the specified font. The font metrics object
+ * contains information about the rendering of a particular font.
*
+ * @param font
+ * the specified font.
* @return the font metrics for the specified font.
*/
public abstract FontMetrics getFontMetrics(Font font);
/**
- * Sets the new clipping area specified by rectangle. The new clipping area
- * doesn't depend on the window's visibility. Rendering operations can't be performed
- * outside new clipping area.
+ * Sets the new clipping area specified by rectangle. The new clipping area
+ * doesn't depend on the window's visibility. Rendering operations can't be
+ * performed outside new clipping area.
*
- * @param x the X coordinate of the new clipping rectangle.
- * @param y the Y coordinate of the new clipping rectangle.
- * @param width the width of the new clipping rectangle.
- * @param height the height of the new clipping rectangle.
+ * @param x
+ * the X coordinate of the new clipping rectangle.
+ * @param y
+ * the Y coordinate of the new clipping rectangle.
+ * @param width
+ * the width of the new clipping rectangle.
+ * @param height
+ * the height of the new clipping rectangle.
*/
public abstract void setClip(int x, int y, int width, int height);
/**
- * Sets the new clipping area to be the area specified by Shape object.
- * The new clipping area doesn't depend on the window's visibility.
- * Rendering operations can't be performed outside new clipping area.
+ * Sets the new clipping area to be the area specified by Shape object. The
+ * new clipping area doesn't depend on the window's visibility. Rendering
+ * operations can't be performed outside new clipping area.
*
- * @param clip a Shape object which representes new clipping area.
+ * @param clip
+ * the Shape object which represents new clipping area.
*/
public abstract void setClip(Shape clip);
/**
- * Sets the current Graphics color. All rendering operations with this Graphics
- * will use this color.
+ * Sets the current Graphics color. All rendering operations with this
+ * Graphics will use this color.
*
- * @param c the new color.
+ * @param c
+ * the new color.
*/
public abstract void setColor(Color c);
/**
- * Sets the current Graphics font. All rendering operations with this Graphics
- * will use this font.
+ * Sets the current Graphics font. All rendering operations with this
+ * Graphics will use this font.
*
- * @param font the new font.
+ * @param font
+ * the new font.
*/
public abstract void setFont(Font font);
/**
- * Sets the paint mode for the Graphics which overwrites all rendering
+ * Sets the paint mode for the Graphics which overwrites all rendering
* operations with the current color.
- *
*/
public abstract void setPaintMode();
/**
- * Sets the XOR mode for the Graphics which changes a pixel from
- * the current color to the specified XOR color.
- * <br> <br>
+ * Sets the XOR mode for the Graphics which changes a pixel from the current
+ * color to the specified XOR color. <br>
+ * <br>
*
- * @param color the new XOR mode
+ * @param color
+ * the new XOR mode.
*/
public abstract void setXORMode(Color color);
/**
- * Translates the origin of Graphics current coordinate system
- * to the point with X, Y coordinates in the current coordinate system.
- * All rendering operation in this Graphics will be related to the new origin.
+ * Translates the origin of Graphics current coordinate system to the point
+ * with X, Y coordinates in the current coordinate system. All rendering
+ * operation in this Graphics will be related to the new origin.
*
- * @param x the X coordinate of the origin
- * @param y the Y coordinate of the origin
+ * @param x
+ * the X coordinate of the origin.
+ * @param y
+ * the Y coordinate of the origin.
*/
public abstract void translate(int x, int y);
}
diff --git a/awt/java/awt/Graphics2D.java b/awt/java/awt/Graphics2D.java
index 2ff5e0c..04a7319 100644
--- a/awt/java/awt/Graphics2D.java
+++ b/awt/java/awt/Graphics2D.java
@@ -30,19 +30,22 @@ import java.util.Map;
/**
* The Graphics2D class extends Graphics class and provides more capabilities
- * for rendering text, images, shapes. This provides methods to peform
- * transformation of coordinate system, color management, and text layout.
- * The following attributes exist for rendering:
+ * for rendering text, images, shapes. This provides methods to perform
+ * transformation of coordinate system, color management, and text layout. The
+ * following attributes exist for rendering:
* <ul>
* <li>Color - current Graphics2D color;</li>
* <li>Font - current Graphics2D font;</li>
- * <li>Stroke - pen with a width of 1 pixel;</li>
+ * <li>Stroke - pen with a width of 1 pixel;</li>
* <li>Transform - current Graphics2D Transformation;</li>
- * <li>Composite - alpha compositing rules for combining source and destination colors.</li>
- * </ul>
+ * <li>Composite - alpha compositing rules for combining source and destination
+ * colors.</li>
+ * </ul>
+ *
+ * @since Android 1.0
*/
public abstract class Graphics2D extends Graphics {
-
+
/**
* Instantiates a new Graphics2D object. This constructor should never be
* called directly.
@@ -52,41 +55,46 @@ public abstract class Graphics2D extends Graphics {
}
/**
- * Adds preferences for the rendering algorithms. The preferences
- * are arbitrary and specified by Map objects. All specified by Map object
- * preferencies can be modified.
+ * Adds preferences for the rendering algorithms. The preferences are
+ * arbitrary and specified by Map objects. All specified by Map object
+ * preferences can be modified.
*
- * @param hints the rendering hints.
+ * @param hints
+ * the rendering hints.
*/
public abstract void addRenderingHints(Map<?, ?> hints);
/**
- * Intersects the current clipping area with the specified Shape
- * and the result becomes a new clipping area.
- * If current clipping area is not defined, the Shape
- * becomes the new clipping area. No rendering operations
- * are allowed outside the clipping area.
+ * Intersects the current clipping area with the specified Shape and the
+ * result becomes a new clipping area. If current clipping area is not
+ * defined, the Shape becomes the new clipping area. No rendering operations
+ * are allowed outside the clipping area.
*
- * @param s the specified Shape object which will be intersected
- * with current clipping area.
+ * @param s
+ * the specified Shape object which will be intersected with
+ * current clipping area.
*/
public abstract void clip(Shape s);
/**
* Draws the outline of the specified Shape.
*
- * @param s the Shape which ouline is drawn.
+ * @param s
+ * the Shape which outline is drawn.
*/
public abstract void draw(Shape s);
/**
- * Draws the specified GlyphVector object's text at the point x, y.
+ * Draws the specified GlyphVector object's text at the point x, y.
*
- * @param g the GlyphVector object to be drawn.
- * @param x the X position where the GlyphVector's text should
- * be rendered.
- * @param y the Y position where the GlyphVector's text should
- * be rendered.
+ * @param g
+ * the GlyphVector object to be drawn.
+ * @param x
+ * the X position where the GlyphVector's text should be
+ * rendered.
+ * @param y
+ * the Y position where the GlyphVector's text should be
+ * rendered.
*/
public abstract void drawGlyphVector(GlyphVector g, float x, float y);
@@ -94,87 +102,107 @@ public abstract class Graphics2D extends Graphics {
* Draws the BufferedImage -- modified according to the operation
* BufferedImageOp -- at the point x, y.
*
- * @param img the BufferedImage to be rendered.
- * @param op the filter to be applied to the image before rendering.
- * @param x the X coordinate of the point where the image's upper left corner
- * will be placed.
- * @param y the Y coordinate of the point where the image's upper left corner
- * will be placed.
+ * @param img
+ * the BufferedImage to be rendered.
+ * @param op
+ * the filter to be applied to the image before rendering.
+ * @param x
+ * the X coordinate of the point where the image's upper left
+ * corner will be placed.
+ * @param y
+ * the Y coordinate of the point where the image's upper left
+ * corner will be placed.
*/
public abstract void drawImage(BufferedImage img, BufferedImageOp op, int x, int y);
/**
- * Draws BufferedImage transformed from image space into user space
+ * Draws BufferedImage transformed from image space into user space
* according to the AffineTransform xform and notifies the ImageObserver.
- *
- * @param img the BufferedImage to be rendered.
- * @param xform the affine transformation from the image to the user space.
- * @param obs the ImageObserver to be notified about the image conversion.
*
- * @return true, if the image is successfully loaded and rendered,
- * or it's null, otherwise false.
+ * @param img
+ * the BufferedImage to be rendered.
+ * @param xform
+ * the affine transformation from the image to the user space.
+ * @param obs
+ * the ImageObserver to be notified about the image conversion.
+ * @return true, if the image is successfully loaded and rendered, or it's
+ * null, otherwise false.
*/
public abstract boolean drawImage(Image img, AffineTransform xform, ImageObserver obs);
/**
- * Draws a RenderableImage which is transformed from image space into user
+ * Draws a RenderableImage which is transformed from image space into user
* according to the AffineTransform xform.
- *
- * @param img the RenderableImage to be rendered.
- * @param xform the affine transformation from image to user space.
+ *
+ * @param img
+ * the RenderableImage to be rendered.
+ * @param xform
+ * the affine transformation from image to user space.
*/
public abstract void drawRenderableImage(RenderableImage img, AffineTransform xform);
/**
- * Draws a RenderedImage which is transformed from image space into user
+ * Draws a RenderedImage which is transformed from image space into user
* according to the AffineTransform xform.
- *
- * @param img the RenderedImage to be rendered.
- * @param xform the affine transformation from image to user space.
+ *
+ * @param img
+ * the RenderedImage to be rendered.
+ * @param xform
+ * the affine transformation from image to user space.
*/
public abstract void drawRenderedImage(RenderedImage img, AffineTransform xform);
/**
- * Draws the string specified by the AttributedCharacterIterator.
- * The first character's position is specified by the X, Y parameters.
+ * Draws the string specified by the AttributedCharacterIterator. The first
+ * character's position is specified by the X, Y parameters.
*
- * @param iterator whose text is drawn.
- * @param x the X position where the first character is drawn.
- * @param y the Y position where the first character is drawn.
+ * @param iterator
+ * whose text is drawn.
+ * @param x
+ * the X position where the first character is drawn.
+ * @param y
+ * the Y position where the first character is drawn.
*/
public abstract void drawString(AttributedCharacterIterator iterator, float x, float y);
/**
- * Draws the string specified by the AttributedCharacterIterator.
- * The first character's position is specified by the X, Y parameters.
- *
- * @param iterator whose text is drawn.
- * @param x the X position where the first character is drawn.
- * @param y the Y position where the first character is drawn.
+ * Draws the string specified by the AttributedCharacterIterator. The first
+ * character's position is specified by the X, Y parameters.
*
+ * @param iterator
+ * whose text is drawn.
+ * @param x
+ * the X position where the first character is drawn.
+ * @param y
+ * the Y position where the first character is drawn.
* @see java.awt.Graphics#drawString(AttributedCharacterIterator, int, int)
*/
@Override
public abstract void drawString(AttributedCharacterIterator iterator, int x, int y);
/**
- * Draws the String whose the first character position is specified
- * by the parameters X, Y.
+ * Draws the String whose the first character position is specified by the
+ * parameters X, Y.
*
- * @param s the String to be drawn.
- * @param x the X position of the first character.
- * @param y the Y position of the first character.
+ * @param s
+ * the String to be drawn.
+ * @param x
+ * the X position of the first character.
+ * @param y
+ * the Y position of the first character.
*/
public abstract void drawString(String s, float x, float y);
/**
- * Draws the String whose the first character coordinates are specified
- * by the parameters X, Y.
- *
- * @param str the String to be drawn.
- * @param x the X coordinate of the first character.
- * @param y the Y coordinate of the first character.
+ * Draws the String whose the first character coordinates are specified by
+ * the parameters X, Y.
*
+ * @param str
+ * the String to be drawn.
+ * @param x
+ * the X coordinate of the first character.
+ * @param y
+ * the Y coordinate of the first character.
* @see java.awt.Graphics#drawString(String, int, int)
*/
@Override
@@ -183,7 +211,8 @@ public abstract class Graphics2D extends Graphics {
/**
* Fills the interior of the specified Shape.
*
- * @param s the Shape to be filled.
+ * @param s
+ * the Shape to be filled.
*/
public abstract void fill(Shape s);
@@ -204,7 +233,7 @@ public abstract class Graphics2D extends Graphics {
/**
* Gets the device configuration.
*
- * @return the device configuration
+ * @return the device configuration.
*/
public abstract GraphicsConfiguration getDeviceConfiguration();
@@ -223,17 +252,17 @@ public abstract class Graphics2D extends Graphics {
public abstract Paint getPaint();
/**
- * Gets the value of single preference for specified key.
- *
- * @param key the specified key of the rendering hint.
+ * Gets the value of single preference for specified key.
*
+ * @param key
+ * the specified key of the rendering hint.
* @return the value of rendering hint for specified key.
*/
public abstract Object getRenderingHint(RenderingHints.Key key);
/**
- * Gets the set of the rendering preferences as a collection of
- * key/value pairs.
+ * Gets the set of the rendering preferences as a collection of key/value
+ * pairs.
*
* @return the RenderingHints which contains the rendering preferences.
*/
@@ -254,172 +283,196 @@ public abstract class Graphics2D extends Graphics {
public abstract AffineTransform getTransform();
/**
- * Determines wether or not the specified Shape intersects the specified
- * Rectangle. If the onStroke parameter is true, this method
- * checks whether or not the specified Shape outline intersects the specified
- * Rectangle, otherwise this method checks whether or not the specified
- * Shape's interior intersects the specified Rectangle.
+ * Determines whether or not the specified Shape intersects the specified
+ * Rectangle. If the onStroke parameter is true, this method checks whether
+ * or not the specified Shape outline intersects the specified Rectangle,
+ * otherwise this method checks whether or not the specified Shape's
+ * interior intersects the specified Rectangle.
*
- * @param rect the specified Rectangle.
- * @param s the Shape to check for intersection.
- * @param onStroke the parameter determines whether or not this method checks
- * for intersection of the Shape outline or of the Shape interior with
- * the Rectangle.
- *
- * @return true, if there is a hit, otherwise false.
+ * @param rect
+ * the specified Rectangle.
+ * @param s
+ * the Shape to check for intersection.
+ * @param onStroke
+ * the parameter determines whether or not this method checks for
+ * intersection of the Shape outline or of the Shape interior
+ * with the Rectangle.
+ * @return true, if there is a hit, false otherwise.
*/
public abstract boolean hit(Rectangle rect, Shape s, boolean onStroke);
/**
* Performs a rotation transform relative to current Graphics2D Transform.
- * The coordinate system is rotated by the specified angle in radians relative to
- * current origin.
+ * The coordinate system is rotated by the specified angle in radians
+ * relative to current origin.
*
- * @param theta the angle of rotation in radians.
+ * @param theta
+ * the angle of rotation in radians.
*/
public abstract void rotate(double theta);
/**
- * Performs a translated rotation transform relative to current Graphics2D
- * Transform. The coordinate system is rotated by the specified angle in radians
- * relative to current origin and then moved to point (x, y).
- *
- * Is this right?
+ * Performs a translated rotation transform relative to current Graphics2D
+ * Transform. The coordinate system is rotated by the specified angle in
+ * radians relative to current origin and then moved to point (x, y). Is
+ * this right?
*
- * @param theta the angle of rotation in radians.
- * @param x the X coordinate.
- * @param y the Y coordinate.
+ * @param theta
+ * the angle of rotation in radians.
+ * @param x
+ * the X coordinate.
+ * @param y
+ * the Y coordinate.
*/
public abstract void rotate(double theta, double x, double y);
/**
- * Performs a linear scale transform relative to current Graphics2D Transform.
- * The coordinate system is rescaled vertically and horizontally
+ * Performs a linear scale transform relative to current Graphics2D
+ * Transform. The coordinate system is rescaled vertically and horizontally
* by the specified parameters.
*
- * @param sx the scaling factor by which the X coordinate is multiplied.
- * @param sy the scaling factor by which the Y coordinate is multiplied.
+ * @param sx
+ * the scaling factor by which the X coordinate is multiplied.
+ * @param sy
+ * the scaling factor by which the Y coordinate is multiplied.
*/
public abstract void scale(double sx, double sy);
/**
- * Sets a new background color for clearing rectangular areas.
- * The clearRect method uses the current background color.
+ * Sets a new background color for clearing rectangular areas. The clearRect
+ * method uses the current background color.
*
- * @param color the new background color.
+ * @param color
+ * the new background color.
*/
public abstract void setBackground(Color color);
/**
- * Sets the current composite for Graphics2D.
+ * Sets the current composite for Graphics2D.
*
- * @param comp the Composite object.
+ * @param comp
+ * the Composite object.
*/
public abstract void setComposite(Composite comp);
/**
* Sets the paint for Graphics2D.
*
- * @param paint the Paint object.
+ * @param paint
+ * the Paint object.
*/
public abstract void setPaint(Paint paint);
/**
* Sets a key-value pair in the current RenderingHints map.
*
- * @param key the key of the rendering hint to set.
- * @param value the value to set for the rendering hint.
+ * @param key
+ * the key of the rendering hint to set.
+ * @param value
+ * the value to set for the rendering hint.
*/
public abstract void setRenderingHint(RenderingHints.Key key, Object value);
/**
- * Replaces the current rendering hints with the specified rendering preferences.
+ * Replaces the current rendering hints with the specified rendering
+ * preferences.
*
- * @param hints the new Map of rendering hints.
+ * @param hints
+ * the new Map of rendering hints.
*/
public abstract void setRenderingHints(Map<?, ?> hints);
/**
* Sets the stroke for the Graphics2D.
*
- * @param s the Stroke object.
+ * @param s
+ * the Stroke object.
*/
public abstract void setStroke(Stroke s);
/**
- * Overwrite the current Transform of the Graphics2D. The specified Transform
- * should be received from the getTransform() method and should be used
- * only for restoring the original Graphics2D transform after calling
- * draw or fill methods.
+ * Overwrite the current Transform of the Graphics2D. The specified
+ * Transform should be received from the getTransform() method and should be
+ * used only for restoring the original Graphics2D transform after calling
+ * draw or fill methods.
*
- * @param Tx the specified Transform.
+ * @param Tx
+ * the specified Transform.
*/
public abstract void setTransform(AffineTransform Tx);
/**
- * Performs a shear transform relative to current Graphics2D Transform.
- * The coordinate system is shifted by the specified multipliers relative to
+ * Performs a shear transform relative to current Graphics2D Transform. The
+ * coordinate system is shifted by the specified multipliers relative to
* current position.
*
- * @param shx the multiplier by which the X coordinates shift position
- * along X axis as a function of Y coordinates.
- * @param shy the multiplier by which the Y coordinates shift position
- * along Y axis as a function of X coordinates.
+ * @param shx
+ * the multiplier by which the X coordinates shift position along
+ * X axis as a function of Y coordinates.
+ * @param shy
+ * the multiplier by which the Y coordinates shift position along
+ * Y axis as a function of X coordinates.
*/
public abstract void shear(double shx, double shy);
/**
- * Concatenates the AffineTransform object with current Transform
- * of this Graphics2D. The transforms are applied in reverse order
- * with the last specified transform applied first and the next
- * transformation applied to the result of previous transformation.
- * More precisely, if Cx is the current Graphics2D transform, the
- * transform method's result with Tx as the parameter
- * is the transformation Rx, where Rx(p) = Cx(Tx(p)), for p - a point
- * in current coordinate system. Rx becomes the current Transform
+ * Concatenates the AffineTransform object with current Transform of this
+ * Graphics2D. The transforms are applied in reverse order with the last
+ * specified transform applied first and the next transformation applied to
+ * the result of previous transformation. More precisely, if Cx is the
+ * current Graphics2D transform, the transform method's result with Tx as
+ * the parameter is the transformation Rx, where Rx(p) = Cx(Tx(p)), for p -
+ * a point in current coordinate system. Rx becomes the current Transform
* for this Graphics2D.
*
- * @param Tx the AffineTransform object to be concatenated with
- * current Transform.
+ * @param Tx
+ * the AffineTransform object to be concatenated with current
+ * Transform.
*/
public abstract void transform(AffineTransform Tx);
/**
* Performs a translate transform relative to current Graphics2D Transform.
- * The coordinate system is moved by the specified distance relative
- * to current position.
+ * The coordinate system is moved by the specified distance relative to
+ * current position.
*
- * @param tx the translation distance along the X axis.
- * @param ty the translation distance along the Y axis.
+ * @param tx
+ * the translation distance along the X axis.
+ * @param ty
+ * the translation distance along the Y axis.
*/
public abstract void translate(double tx, double ty);
/**
- * Moves the origin Graphics2D Transform to the point with x, y
- * coordinates in current coordinate system. The new origin of coordinate
- * system is moved to the (x, y) point accordingly. All rendering and
- * transform operations are performed relative to this new origin.
- *
- * @param x the X coordinate.
- * @param y the Y coordinate.
+ * Moves the origin Graphics2D Transform to the point with x, y coordinates
+ * in current coordinate system. The new origin of coordinate system is
+ * moved to the (x, y) point accordingly. All rendering and transform
+ * operations are performed relative to this new origin.
*
+ * @param x
+ * the X coordinate.
+ * @param y
+ * the Y coordinate.
* @see java.awt.Graphics#translate(int, int)
*/
@Override
public abstract void translate(int x, int y);
/**
- * Fills a 3D rectangle with the current color.
- * The rectangle is specified by its width, height, and top left corner
- * coordinates.
- *
- * @param x the X coordinate of the rectangle's top left corner.
- * @param y the Y coordinate of the rectangle's top left corner.
- * @param width the width of rectangle.
- * @param height the height of rectangle.
- * @param raised a boolean value that determines whether the rectangle
- * is drawn as raised or indented.
- *
+ * Fills a 3D rectangle with the current color. The rectangle is specified
+ * by its width, height, and top left corner coordinates.
+ *
+ * @param x
+ * the X coordinate of the rectangle's top left corner.
+ * @param y
+ * the Y coordinate of the rectangle's top left corner.
+ * @param width
+ * the width of rectangle.
+ * @param height
+ * the height of rectangle.
+ * @param raised
+ * a boolean value that determines whether the rectangle is drawn
+ * as raised or indented.
* @see java.awt.Graphics#fill3DRect(int, int, int, int, boolean)
*/
@Override
@@ -433,15 +486,19 @@ public abstract class Graphics2D extends Graphics {
}
/**
- * Draws the higlighted outline of a rectangle.
+ * Draws the highlighted outline of a rectangle.
*
- * @param x the X coordinate of the rectangle's top left corner.
- * @param y the Y coordinate of the rectangle's top left corner.
- * @param width the width of rectangle.
- * @param height the height of rectangle.
- * @param raised a boolean value that determines whether the rectangle
- * is drawn as raised or indented.
- *
+ * @param x
+ * the X coordinate of the rectangle's top left corner.
+ * @param y
+ * the Y coordinate of the rectangle's top left corner.
+ * @param width
+ * the width of rectangle.
+ * @param height
+ * the height of rectangle.
+ * @param raised
+ * a boolean value that determines whether the rectangle is drawn
+ * as raised or indented.
* @see java.awt.Graphics#draw3DRect(int, int, int, int, boolean)
*/
@Override
diff --git a/awt/java/awt/GraphicsConfiguration.java b/awt/java/awt/GraphicsConfiguration.java
index 8bec253..d59e896 100644
--- a/awt/java/awt/GraphicsConfiguration.java
+++ b/awt/java/awt/GraphicsConfiguration.java
@@ -18,6 +18,7 @@
* @author Alexey A. Petrenko
* @version $Revision$
*/
+
package java.awt;
import java.awt.geom.AffineTransform;
@@ -30,70 +31,76 @@ import org.apache.harmony.awt.internal.nls.Messages;
/**
* The GraphicsConfiguration class contains the characteristics of graphics
* devices such as a printer or monitor, and represents device's capabilities
- * and modes. Many GraphicsConfiguration objects can be associated with
- * single graphics device.
+ * and modes. Many GraphicsConfiguration objects can be associated with single
+ * graphics device.
+ *
+ * @since Android 1.0
*/
public abstract class GraphicsConfiguration {
-
- /**
- * Constructor could not be used directly and should be obtained in
- * extended classes.
- */
+ /**
+ * Constructor could not be used directly and should be obtained in extended
+ * classes.
+ */
protected GraphicsConfiguration() {
}
-
- /**
- * Creates BufferedImage image object with a data layout and color model
- * compatible with this GraphicsConfiguration with specified width
- * and height parameters.
- *
- * @param width the width of BufferedImage.
- * @param height the height of BufferedImage.
- *
- * @return the BufferedImage object with specified width and height
- * parameters.
- */
+ /**
+ * Creates BufferedImage image object with a data layout and color model
+ * compatible with this GraphicsConfiguration with specified width and
+ * height parameters.
+ *
+ * @param width
+ * the width of BufferedImage.
+ * @param height
+ * the height of BufferedImage.
+ * @return the BufferedImage object with specified width and height
+ * parameters.
+ */
public abstract BufferedImage createCompatibleImage(int width, int height);
/**
* Creates a BufferedImage that has the specified width, height,
- * transparency and has a data layout and color model compatible with this
- * GraphicsConfiguration.
- *
- * @param width the width of image.
- * @param height the height of image.
- * @param transparency the transparency mode.
+ * transparency and has a data layout and color model compatible with this
+ * GraphicsConfiguration.
*
+ * @param width
+ * the width of image.
+ * @param height
+ * the height of image.
+ * @param transparency
+ * the transparency mode.
* @return the BufferedImage object.
*/
public abstract BufferedImage createCompatibleImage(int width, int height, int transparency);
/**
- * Creates a VolatileImage that has the specified width and height
- * and has a data layout and color model compatible with this
- * GraphicsConfiguration.
- *
- * @param width the width of image.
- * @param height the height of image.
+ * Creates a VolatileImage that has the specified width and height and has a
+ * data layout and color model compatible with this GraphicsConfiguration.
*
+ * @param width
+ * the width of image.
+ * @param height
+ * the height of image.
* @return the VolatileImage object.
*/
public abstract VolatileImage createCompatibleVolatileImage(int width, int height);
/**
* Creates a VolatileImage that supports the specified width, height,
- * transparency and has a data layout and color model compatible with this
- * GraphicsConfiguration.
- *
- * @param width the width of image.
- * @param height the height of image.
- * @param transparency the transparency mode.
+ * transparency and has a data layout and color model compatible with this
+ * GraphicsConfiguration.
*
+ * @param width
+ * the width of image.
+ * @param height
+ * the height of image.
+ * @param transparency
+ * the transparency mode.
* @return the VolatileImage object.
*/
- public abstract VolatileImage createCompatibleVolatileImage(int width, int height, int transparency);
+ public abstract VolatileImage createCompatibleVolatileImage(int width, int height,
+ int transparency);
/**
* Gets the bounds of area covered by the GraphicsConfiguration in the
@@ -111,20 +118,19 @@ public abstract class GraphicsConfiguration {
public abstract ColorModel getColorModel();
/**
- * Gets the ColorModel of the GraphicsConfiguration which
- * supports specified Transparency.
+ * Gets the ColorModel of the GraphicsConfiguration which supports specified
+ * Transparency.
*
- * @param transparency the Transparency mode: OPAQUE, BITMASK, or
- * TRANSLUCENT.
- *
- * @return the ColorModel of the GraphicsConfiguration which
- * supports specified Transparency.
+ * @param transparency
+ * the Transparency mode: OPAQUE, BITMASK, or TRANSLUCENT.
+ * @return the ColorModel of the GraphicsConfiguration which supports
+ * specified Transparency.
*/
public abstract ColorModel getColorModel(int transparency);
/**
- * Gets the default AffineTransform of the GraphicsConfiguration.
- * This method translates user coordinates to device coordinates.
+ * Gets the default AffineTransform of the GraphicsConfiguration. This
+ * method translates user coordinates to device coordinates.
*
* @return the default AffineTransform of the GraphicsConfiguration.
*/
@@ -144,23 +150,24 @@ public abstract class GraphicsConfiguration {
*/
public abstract AffineTransform getNormalizingTransform();
-
/**
- * Creates VolatileImage with specified width, height, ImageCapabilities;
- * a data layout and color model compatible with this GraphicsConfiguration.
- *
- * @param width the width of image.
- * @param height the height of image.
- * @param caps the ImageCapabilities object.
- *
- * @return the VolatileImage which data layout and color model compatible
- * with this GraphicsConfiguration.
- *
- * @throws AWTException if ImageCapabilities is not supported by the
- * GraphicsConfiguration.
+ * Creates VolatileImage with specified width, height, ImageCapabilities; a
+ * data layout and color model compatible with this GraphicsConfiguration.
+ *
+ * @param width
+ * the width of image.
+ * @param height
+ * the height of image.
+ * @param caps
+ * the ImageCapabilities object.
+ * @return the VolatileImage which data layout and color model compatible
+ * with this GraphicsConfiguration.
+ * @throws AWTException
+ * if ImageCapabilities is not supported by the
+ * GraphicsConfiguration.
*/
- public VolatileImage createCompatibleVolatileImage(int width, int height,
- ImageCapabilities caps) throws AWTException {
+ public VolatileImage createCompatibleVolatileImage(int width, int height, ImageCapabilities caps)
+ throws AWTException {
VolatileImage res = createCompatibleVolatileImage(width, height);
if (!res.getCapabilities().equals(caps)) {
// awt.14A=Can not create VolatileImage with specified capabilities
@@ -170,21 +177,23 @@ public abstract class GraphicsConfiguration {
}
/**
- * Creates a VolatileImage with specified width, height, transparency
- * and ImageCapabilities; a data layout and color model compatible with
- * this GraphicsConfiguration.
- *
- * @param width the width of image.
- * @param height the height of image.
- * @param caps the ImageCapabilities object.
- * @param transparency the Transparency mode: OPAQUE, BITMASK, or
- * TRANSLUCENT.
- *
- * @return the VolatileImage which data layout and color model compatible
- * with this GraphicsConfiguration.
- *
- * @throws AWTException if ImageCapabilities is not supported by the
+ * Creates a VolatileImage with specified width, height, transparency and
+ * ImageCapabilities; a data layout and color model compatible with this
* GraphicsConfiguration.
+ *
+ * @param width
+ * the width of image.
+ * @param height
+ * the height of image.
+ * @param caps
+ * the ImageCapabilities object.
+ * @param transparency
+ * the Transparency mode: OPAQUE, BITMASK, or TRANSLUCENT.
+ * @return the VolatileImage which data layout and color model compatible
+ * with this GraphicsConfiguration.
+ * @throws AWTException
+ * if ImageCapabilities is not supported by the
+ * GraphicsConfiguration.
*/
public VolatileImage createCompatibleVolatileImage(int width, int height,
ImageCapabilities caps, int transparency) throws AWTException {
@@ -199,7 +208,7 @@ public abstract class GraphicsConfiguration {
/**
* Gets the buffering capabilities of the GraphicsConfiguration.
*
- * @return the BufferCapabilities object.
+ * @return the BufferCapabilities object.
*/
public BufferCapabilities getBufferCapabilities() {
return new BufferCapabilities(new ImageCapabilities(false), new ImageCapabilities(false),
diff --git a/awt/java/awt/GraphicsDevice.java b/awt/java/awt/GraphicsDevice.java
index 8cf700a..9eda4e0 100644
--- a/awt/java/awt/GraphicsDevice.java
+++ b/awt/java/awt/GraphicsDevice.java
@@ -18,50 +18,61 @@
* @author Alexey A. Petrenko
* @version $Revision$
*/
+
package java.awt;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The GraphicsDevice class describes the graphics devices (such as screens
- * or printers) which are available in a particular graphics environment.
- * Many GraphicsDevice instances can be associated with a single
- * GraphicsEnvironment. Each GraphicsDevice has one or more GraphicsConfiguration
- * objects which specify the different configurations and modes of GraphicsDevice.
+ * The GraphicsDevice class describes the graphics devices (such as screens or
+ * printers) which are available in a particular graphics environment. Many
+ * GraphicsDevice instances can be associated with a single GraphicsEnvironment.
+ * Each GraphicsDevice has one or more GraphicsConfiguration objects which
+ * specify the different configurations and modes of GraphicsDevice.
+ *
+ * @since Android 1.0
*/
public abstract class GraphicsDevice {
-
- /** The display mode. */
+
+ /**
+ * The display mode.
+ */
private DisplayMode displayMode;
- //???AWT
-// private Window fullScreenWindow = null;
+ // ???AWT
+ // private Window fullScreenWindow = null;
- /** The Constant TYPE_IMAGE_BUFFER indicates a image buffer device. */
+ /**
+ * The Constant TYPE_IMAGE_BUFFER indicates a image buffer device.
+ */
public static final int TYPE_IMAGE_BUFFER = 2;
- /** The Constant TYPE_PRINTER indicates a printer device. */
+ /**
+ * The Constant TYPE_PRINTER indicates a printer device.
+ */
public static final int TYPE_PRINTER = 1;
- /** The Constant TYPE_RASTER_SCREEN indicates a raster screen device. */
+ /**
+ * The Constant TYPE_RASTER_SCREEN indicates a raster screen device.
+ */
public static final int TYPE_RASTER_SCREEN = 0;
- /**
- * Constructor is not to be used directly as this class is abstract.
- */
+ /**
+ * Constructor is not to be used directly as this class is abstract.
+ */
protected GraphicsDevice() {
- displayMode = new DisplayMode(0, 0, DisplayMode.BIT_DEPTH_MULTI, DisplayMode.REFRESH_RATE_UNKNOWN);
+ displayMode = new DisplayMode(0, 0, DisplayMode.BIT_DEPTH_MULTI,
+ DisplayMode.REFRESH_RATE_UNKNOWN);
}
-
- /**
- * Returns an array of GraphicsConfiguration objects associated
- * with the GraphicsDevice.
- *
- * @return an array of GraphicsConfiguration objects associated
- * with the GraphicsDevice.
- */
+ /**
+ * Returns an array of GraphicsConfiguration objects associated with the
+ * GraphicsDevice.
+ *
+ * @return an array of GraphicsConfiguration objects associated with the
+ * GraphicsDevice.
+ */
public abstract GraphicsConfiguration[] getConfigurations();
/**
@@ -72,41 +83,39 @@ public abstract class GraphicsDevice {
public abstract GraphicsConfiguration getDefaultConfiguration();
/**
- * Gets the String identifier which associated with the GraphicsDevice in
+ * Gets the String identifier which associated with the GraphicsDevice in
* the GraphicsEnvironment.
*
- * @return the String identifier of the GraphicsDevice in
- * the GraphicsEnvironment.
+ * @return the String identifier of the GraphicsDevice in the
+ * GraphicsEnvironment.
*/
public abstract String getIDstring();
/**
- * Gets the type of this GraphicsDevice:
- * TYPE_IMAGE_BUFFER, TYPE_PRINTER or TYPE_RASTER_SCREEN.
+ * Gets the type of this GraphicsDevice: TYPE_IMAGE_BUFFER, TYPE_PRINTER or
+ * TYPE_RASTER_SCREEN.
*
- * @return the type of this GraphicsDevice: TYPE_IMAGE_BUFFER,
- * TYPE_PRINTER or TYPE_RASTER_SCREEN.
+ * @return the type of this GraphicsDevice: TYPE_IMAGE_BUFFER, TYPE_PRINTER
+ * or TYPE_RASTER_SCREEN.
*/
public abstract int getType();
-
-
- /**
- * Returns the number of bytes available in accelerated
- * memory on this device.
- *
- * @return the number of bytes available accelerated memory.
- */
+ /**
+ * Returns the number of bytes available in accelerated memory on this
+ * device.
+ *
+ * @return the number of bytes available accelerated memory.
+ */
public int getAvailableAcceleratedMemory() {
return 0;
}
- /* ???AWT
- public GraphicsConfiguration getBestConfiguration(GraphicsConfigTemplate gct) {
- return gct.getBestConfiguration(getConfigurations());
- }
- */
-
+ /*
+ * ???AWT public GraphicsConfiguration
+ * getBestConfiguration(GraphicsConfigTemplate gct) { return
+ * gct.getBestConfiguration(getConfigurations()); }
+ */
+
/**
* Gets the current display mode of the GraphicsDevice.
*
@@ -122,43 +131,43 @@ public abstract class GraphicsDevice {
* @return an array of display modes available in this GraphicsDevice.
*/
public DisplayMode[] getDisplayModes() {
- DisplayMode []dms = {displayMode};
- return dms;
+ DisplayMode[] dms = {
+ displayMode
+ };
+ return dms;
}
- /* ???AWT
- public Window getFullScreenWindow() {
- return fullScreenWindow;
- }
- */
-
+ /*
+ * ???AWT public Window getFullScreenWindow() { return fullScreenWindow; }
+ */
+
/**
- * Returns true if this GraphicsDevice supports low-level
- * display changes.
+ * Returns true if this GraphicsDevice supports low-level display changes.
*
- * @return true, if this GraphicsDevice supports low-level
- * display changes; false otherwise.
+ * @return true, if this GraphicsDevice supports low-level display changes;
+ * false otherwise.
*/
public boolean isDisplayChangeSupported() {
return false;
}
/**
- * Returns true if this GraphicsDevice supports full screen
- * mode.
+ * Returns true if this GraphicsDevice supports full screen mode.
*
- * @return true, if this GraphicsDevice supports full screen
- * mode; otherwise false.
+ * @return true, if this GraphicsDevice supports full screen mode, false
+ * otherwise.
*/
public boolean isFullScreenSupported() {
return false;
}
- //an array of display modes available in this GraphicsDevice.
-
+
+ // an array of display modes available in this GraphicsDevice.
+
/**
* Sets the display mode of this GraphicsDevice.
*
- * @param dm the new display mode of this GraphicsDevice.
+ * @param dm
+ * the new display mode of this GraphicsDevice.
*/
public void setDisplayMode(DisplayMode dm) {
if (!isDisplayChangeSupported()) {
@@ -166,7 +175,7 @@ public abstract class GraphicsDevice {
throw new UnsupportedOperationException(Messages.getString("awt.122")); //$NON-NLS-1$
}
- DisplayMode []dms = getDisplayModes();
+ DisplayMode[] dms = getDisplayModes();
for (DisplayMode element : dms) {
if (element.equals(dm)) {
displayMode = dm;
@@ -177,23 +186,11 @@ public abstract class GraphicsDevice {
throw new IllegalArgumentException(Messages.getString("awt.123", dm)); //$NON-NLS-1$
}
- /* ???AWT
- public void setFullScreenWindow(Window w) {
- if (w == null) {
- fullScreenWindow = null;
- return;
- }
-
- fullScreenWindow = w;
-
- if (isFullScreenSupported()) {
- w.enableInputMethods(false);
- } else {
- w.setSize(displayMode.getWidth(), displayMode.getHeight());
- w.setLocation(0, 0);
- }
- w.setVisible(true);
- w.setAlwaysOnTop(true);
- }
- */
+ /*
+ * ???AWT public void setFullScreenWindow(Window w) { if (w == null) {
+ * fullScreenWindow = null; return; } fullScreenWindow = w; if
+ * (isFullScreenSupported()) { w.enableInputMethods(false); } else {
+ * w.setSize(displayMode.getWidth(), displayMode.getHeight());
+ * w.setLocation(0, 0); } w.setVisible(true); w.setAlwaysOnTop(true); }
+ */
}
diff --git a/awt/java/awt/GraphicsEnvironment.java b/awt/java/awt/GraphicsEnvironment.java
index 3b14f55..d527417 100644
--- a/awt/java/awt/GraphicsEnvironment.java
+++ b/awt/java/awt/GraphicsEnvironment.java
@@ -28,17 +28,20 @@ import org.apache.harmony.awt.ContextStorage;
import org.apache.harmony.awt.gl.CommonGraphics2DFactory;
/**
- * The GraphicsEnvironment class defines a collection of GraphicsDevice
- * objects and Font objects which are available for Java application on
- * current platform.
+ * The GraphicsEnvironment class defines a collection of GraphicsDevice objects
+ * and Font objects which are available for Java application on current
+ * platform.
+ *
+ * @since Android 1.0
*/
public abstract class GraphicsEnvironment {
-
+
/**
- * Constructor could not be used directly and should be obtained in
- * extended classes.
+ * Constructor could not be used directly and should be obtained in extended
+ * classes.
*/
- protected GraphicsEnvironment() {}
+ protected GraphicsEnvironment() {
+ }
/**
* Gets the local GraphicsEnvironment.
@@ -46,17 +49,16 @@ public abstract class GraphicsEnvironment {
* @return the local GraphicsEnvironment.
*/
public static GraphicsEnvironment getLocalGraphicsEnvironment() {
- synchronized(ContextStorage.getContextLock()) {
+ synchronized (ContextStorage.getContextLock()) {
if (ContextStorage.getGraphicsEnvironment() == null) {
- if (isHeadless()) {
- ContextStorage.setGraphicsEnvironment(new HeadlessGraphicsEnvironment());
+ if (isHeadless()) {
+ ContextStorage.setGraphicsEnvironment(new HeadlessGraphicsEnvironment());
} else {
- CommonGraphics2DFactory g2df =
- (CommonGraphics2DFactory) Toolkit.getDefaultToolkit().getGraphicsFactory();
-
- ContextStorage.setGraphicsEnvironment(
- g2df.createGraphicsEnvironment(ContextStorage.getWindowFactory())
- );
+ CommonGraphics2DFactory g2df = (CommonGraphics2DFactory)Toolkit
+ .getDefaultToolkit().getGraphicsFactory();
+
+ ContextStorage.setGraphicsEnvironment(g2df
+ .createGraphicsEnvironment(ContextStorage.getWindowFactory()));
}
}
@@ -65,24 +67,24 @@ public abstract class GraphicsEnvironment {
}
/**
- * Returns whether or not a display, keyboard, and mouse are supported
- * in this graphics environment.
+ * Returns whether or not a display, keyboard, and mouse are supported in
+ * this graphics environment.
*
- * @return true, if HeadlessException will be thrown from areas of
- * the graphics environment that are dependent on a display, keyboard,
- * or mouse; false otherwise.
+ * @return true, if HeadlessException will be thrown from areas of the
+ * graphics environment that are dependent on a display, keyboard,
+ * or mouse, false otherwise.
*/
public boolean isHeadlessInstance() {
return false;
}
/**
- * Checks whether or not a display, keyboard, and mouse are supported
- * in this environment.
+ * Checks whether or not a display, keyboard, and mouse are supported in
+ * this environment.
*
- * @return true, if a HeadlessException is thrown from areas of
- * the Toolkit and GraphicsEnvironment that are dependent on
- * a display, keyboard, or mouse; false otherwise.
+ * @return true, if a HeadlessException is thrown from areas of the Toolkit
+ * and GraphicsEnvironment that are dependent on a display,
+ * keyboard, or mouse, false otherwise.
*/
public static boolean isHeadless() {
return "true".equals(System.getProperty("java.awt.headless"));
@@ -92,8 +94,8 @@ public abstract class GraphicsEnvironment {
* Gets the maximum bounds of system centered windows.
*
* @return the maximum bounds of system centered windows.
- *
- * @throws HeadlessException if isHeadless() method returns true.
+ * @throws HeadlessException
+ * if isHeadless() method returns true.
*/
public Rectangle getMaximumWindowBounds() throws HeadlessException {
return getDefaultScreenDevice().getDefaultConfiguration().getBounds();
@@ -103,8 +105,8 @@ public abstract class GraphicsEnvironment {
* Gets the Point which should defines the center of system window.
*
* @return the Point where the system window should be centered.
- *
- * @throws HeadlessException if isHeadless() method returns true.
+ * @throws HeadlessException
+ * if isHeadless() method returns true.
*/
public Point getCenterPoint() throws HeadlessException {
Rectangle mwb = getMaximumWindowBounds();
@@ -112,9 +114,8 @@ public abstract class GraphicsEnvironment {
}
/**
- * Indicates that the primary font should be used.
- * Primary font is specified by initial system locale or default encoding).
- *
+ * Indicates that the primary font should be used. Primary font is specified
+ * by initial system locale or default encoding).
*/
public void preferLocaleFonts() {
// Note: API specification says following:
@@ -123,7 +124,8 @@ public abstract class GraphicsEnvironment {
// it may have no effect at all." So, doing nothing is an
// acceptable behavior for this method.
- // For now FontManager uses 1.4 font.properties scheme for font mapping, so
+ // For now FontManager uses 1.4 font.properties scheme for font mapping,
+ // so
// this method doesn't make any sense. The implementation of this method
// which will influence font mapping is postponed until
// 1.5 mapping scheme not implemented.
@@ -141,7 +143,8 @@ public abstract class GraphicsEnvironment {
// it may have no effect at all." So, doing nothing is an
// acceptable behavior for this method.
- // For now FontManager uses 1.4 font.properties scheme for font mapping, so
+ // For now FontManager uses 1.4 font.properties scheme for font mapping,
+ // so
// this method doesn't make any sense. The implementation of this method
// which will influence font mapping is postponed until
// 1.5 mapping scheme not implemented.
@@ -153,19 +156,19 @@ public abstract class GraphicsEnvironment {
* Creates the Graphics2D object for rendering to the specified
* BufferedImage.
*
- * @param bufferedImage the BufferedImage object.
- *
- * @return the Graphics2D object which allows to render to the specified
- * BufferedImage.
+ * @param bufferedImage
+ * the BufferedImage object.
+ * @return the Graphics2D object which allows to render to the specified
+ * BufferedImage.
*/
public abstract Graphics2D createGraphics(BufferedImage bufferedImage);
/**
- * Gets the array of all available fonts instances in this
+ * Gets the array of all available fonts instances in this
* GraphicsEnviroments.
*
- * @return the array of all available fonts instances in this
- * GraphicsEnviroments.
+ * @return the array of all available fonts instances in this
+ * GraphicsEnviroments.
*/
public abstract Font[] getAllFonts();
@@ -180,11 +183,11 @@ public abstract class GraphicsEnvironment {
* Gets the array of all available font family names for the specified
* locale.
*
- * @param locale the Locale object which represents geographical
- * region. The default locale is used if locale is null.
- *
- * @return the array of available font family names for the specified
- * locale.
+ * @param locale
+ * the Locale object which represents geographical region. The
+ * default locale is used if locale is null.
+ * @return the array of available font family names for the specified
+ * locale.
*/
public abstract String[] getAvailableFontFamilyNames(Locale locale);
@@ -192,18 +195,18 @@ public abstract class GraphicsEnvironment {
* Gets the default screen device as GraphicDevice object.
*
* @return the GraphicDevice object which represents default screen device.
- *
- * @throws HeadlessException if isHeadless() returns true.
+ * @throws HeadlessException
+ * if isHeadless() returns true.
*/
public abstract GraphicsDevice getDefaultScreenDevice() throws HeadlessException;
/**
* Gets an array of all available screen devices.
*
- * @return the array of GraphicsDevice obgects which represents
- * all available screen devices.
- *
- * @throws HeadlessException if isHeadless() returns true.
+ * @return the array of GraphicsDevice objects which represents all
+ * available screen devices.
+ * @throws HeadlessException
+ * if isHeadless() returns true.
*/
public abstract GraphicsDevice[] getScreenDevices() throws HeadlessException;
}
diff --git a/awt/java/awt/HeadlessException.java b/awt/java/awt/HeadlessException.java
index 28e463b..ec111f1 100644
--- a/awt/java/awt/HeadlessException.java
+++ b/awt/java/awt/HeadlessException.java
@@ -18,16 +18,21 @@
* @author Alexey A. Petrenko
* @version $Revision$
*/
+
package java.awt;
/**
- * The HeadlessException class provides notifications and error messages
- * when code that is dependent on a keyboard, display, or mouse is called
- * in an environment that does not support a keyboard, display, or mouse.
+ * The HeadlessException class provides notifications and error messages when
+ * code that is dependent on a keyboard, display, or mouse is called in an
+ * environment that does not support a keyboard, display, or mouse.
+ *
+ * @since Android 1.0
*/
public class HeadlessException extends UnsupportedOperationException {
-
- /** The Constant serialVersionUID. */
+
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = 167183644944358563L;
/**
@@ -40,7 +45,8 @@ public class HeadlessException extends UnsupportedOperationException {
/**
* Instantiates a new headless exception with the specified message.
*
- * @param msg the String which represents error message.
+ * @param msg
+ * the String which represents error message.
*/
public HeadlessException(String msg) {
super(msg);
diff --git a/awt/java/awt/HeadlessGraphicsEnvironment.java b/awt/java/awt/HeadlessGraphicsEnvironment.java
index 97f88d1..306393f 100644
--- a/awt/java/awt/HeadlessGraphicsEnvironment.java
+++ b/awt/java/awt/HeadlessGraphicsEnvironment.java
@@ -14,6 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package java.awt;
import java.awt.GraphicsDevice;
@@ -23,30 +24,32 @@ import org.apache.harmony.awt.gl.CommonGraphicsEnvironment;
/**
* The HeadlessGraphicsEnvironment class is the CommonGraphicsEnvironment
- * implementation to use in the case where the environment lacks display,
+ * implementation to use in the case where the environment lacks display,
* keyboard, and mouse support.
+ *
+ * @since Android 1.0
*/
public class HeadlessGraphicsEnvironment extends CommonGraphicsEnvironment {
-
+
/**
- * Returns whether or not a display, keyboard, and mouse are supported
- * in this graphics environment.
+ * Returns whether or not a display, keyboard, and mouse are supported in
+ * this graphics environment.
*
- * @return true, if HeadlessException will be thrown from areas of
- * the graphics environment that are dependent on a display, keyboard,
- * or mouse; false otherwise.
+ * @return true, if HeadlessException will be thrown from areas of the
+ * graphics environment that are dependent on a display, keyboard,
+ * or mouse, false otherwise.
*/
@Override
public boolean isHeadlessInstance() {
return true;
}
-
+
/**
* Gets the default screen device as GraphicDevice object.
*
* @return the GraphicDevice object which represents default screen device.
- *
- * @throws HeadlessException if isHeadless() returns true.
+ * @throws HeadlessException
+ * if isHeadless() returns true.
*/
@Override
public GraphicsDevice getDefaultScreenDevice() throws HeadlessException {
@@ -56,10 +59,10 @@ public class HeadlessGraphicsEnvironment extends CommonGraphicsEnvironment {
/**
* Gets an array of all available screen devices.
*
- * @return the array of GraphicsDevice objects which represents
- * all available screen devices.
- *
- * @throws HeadlessException if isHeadless() returns true.
+ * @return the array of GraphicsDevice objects which represents all
+ * available screen devices.
+ * @throws HeadlessException
+ * if isHeadless() returns true.
*/
@Override
public GraphicsDevice[] getScreenDevices() throws HeadlessException {
diff --git a/awt/java/awt/HeadlessToolkit.java b/awt/java/awt/HeadlessToolkit.java
index a7dd557..c64a85a 100644
--- a/awt/java/awt/HeadlessToolkit.java
+++ b/awt/java/awt/HeadlessToolkit.java
@@ -26,136 +26,75 @@ package java.awt;
//import java.awt.dnd.InvalidDnDOperationException;
//import java.awt.dnd.peer.DragSourceContextPeer;
import java.awt.im.InputMethodHighlight;
-import java.awt.image.ColorModel;
-//import java.awt.peer.*;
+import java.awt.image.ColorModel; //import java.awt.peer.*;
//import java.beans.PropertyChangeSupport;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
-import org.apache.harmony.awt.ComponentInternals;
-//import org.apache.harmony.awt.datatransfer.DTK;
+import org.apache.harmony.awt.ComponentInternals; //import org.apache.harmony.awt.datatransfer.DTK;
import org.apache.harmony.awt.wtk.GraphicsFactory;
import org.apache.harmony.awt.wtk.NativeEventQueue;
import org.apache.harmony.awt.wtk.WindowFactory;
/**
- * The HeadlessToolkit class is a subclass of ToolkitImpl to
- * be used for graphical environments that lack keyboard and
- * mouse capabilities.
+ * The HeadlessToolkit class is a subclass of ToolkitImpl to be used for
+ * graphical environments that lack keyboard and mouse capabilities.
+ *
+ * @since Android 1.0
*/
public final class HeadlessToolkit extends ToolkitImpl {
-
- //???AWT
- /*
- @Override
- protected ButtonPeer createButton(Button a0) throws HeadlessException {
- throw new HeadlessException();
- }
-
- @Override
- protected CheckboxPeer createCheckbox(Checkbox a0) throws HeadlessException {
- throw new HeadlessException();
- }
-
- @Override
- protected CheckboxMenuItemPeer createCheckboxMenuItem(CheckboxMenuItem a0) throws HeadlessException {
- throw new HeadlessException();
- }
-
- @Override
- protected ChoicePeer createChoice(Choice a0) throws HeadlessException {
- throw new HeadlessException();
- }
-
- public Cursor createCustomCursor(Image img, Point hotSpot, String name)
- throws HeadlessException {
- throw new HeadlessException();
- }
-
- @Override
- protected DialogPeer createDialog(Dialog a0) throws HeadlessException {
- throw new HeadlessException();
- }
-
- @Override
- public <T extends DragGestureRecognizer> T createDragGestureRecognizer(
- Class<T> recognizerAbstractClass, DragSource ds, Component c, int srcActions,
- DragGestureListener dgl) {
- return null;
- }
-
- @Override
- public DragSourceContextPeer createDragSourceContextPeer(DragGestureEvent dge)
- throws InvalidDnDOperationException {
- throw new InvalidDnDOperationException();
- }
-
- @Override
- protected FileDialogPeer createFileDialog(FileDialog a0) throws HeadlessException {
- throw new HeadlessException();
- }
-
- @Override
- protected FramePeer createFrame(Frame a0) throws HeadlessException {
- throw new HeadlessException();
- }
-
- @Override
- protected LabelPeer createLabel(Label a0) throws HeadlessException {
- throw new HeadlessException();
- }
-
- @Override
- protected ListPeer createList(List a0) throws HeadlessException {
- throw new HeadlessException();
- }
-
- @Override
- protected MenuPeer createMenu(Menu a0) throws HeadlessException {
- throw new HeadlessException();
- }
-
- @Override
- protected MenuBarPeer createMenuBar(MenuBar a0) throws HeadlessException {
- throw new HeadlessException();
- }
- @Override
- protected MenuItemPeer createMenuItem(MenuItem a0) throws HeadlessException {
- throw new HeadlessException();
- }
-
- @Override
- protected PopupMenuPeer createPopupMenu(PopupMenu a0) throws HeadlessException {
- throw new HeadlessException();
- }
-
- @Override
- protected ScrollbarPeer createScrollbar(Scrollbar a0) throws HeadlessException {
- throw new HeadlessException();
- }
-
- @Override
- protected ScrollPanePeer createScrollPane(ScrollPane a0) throws HeadlessException {
- throw new HeadlessException();
- }
-
- @Override
- protected TextAreaPeer createTextArea(TextArea a0) throws HeadlessException {
- throw new HeadlessException();
- }
-
- @Override
- protected TextFieldPeer createTextField(TextField a0) throws HeadlessException {
- throw new HeadlessException();
- }
-
- @Override
- protected WindowPeer createWindow(Window a0) throws HeadlessException {
- throw new HeadlessException();
- }
- */
+ // ???AWT
+ /*
+ * @Override protected ButtonPeer createButton(Button a0) throws
+ * HeadlessException { throw new HeadlessException(); }
+ * @Override protected CheckboxPeer createCheckbox(Checkbox a0) throws
+ * HeadlessException { throw new HeadlessException(); }
+ * @Override protected CheckboxMenuItemPeer
+ * createCheckboxMenuItem(CheckboxMenuItem a0) throws HeadlessException {
+ * throw new HeadlessException(); }
+ * @Override protected ChoicePeer createChoice(Choice a0) throws
+ * HeadlessException { throw new HeadlessException(); } public Cursor
+ * createCustomCursor(Image img, Point hotSpot, String name) throws
+ * HeadlessException { throw new HeadlessException(); }
+ * @Override protected DialogPeer createDialog(Dialog a0) throws
+ * HeadlessException { throw new HeadlessException(); }
+ * @Override public <T extends DragGestureRecognizer> T
+ * createDragGestureRecognizer( Class<T> recognizerAbstractClass, DragSource
+ * ds, Component c, int srcActions, DragGestureListener dgl) { return null;
+ * }
+ * @Override public DragSourceContextPeer
+ * createDragSourceContextPeer(DragGestureEvent dge) throws
+ * InvalidDnDOperationException { throw new InvalidDnDOperationException();
+ * }
+ * @Override protected FileDialogPeer createFileDialog(FileDialog a0) throws
+ * HeadlessException { throw new HeadlessException(); }
+ * @Override protected FramePeer createFrame(Frame a0) throws
+ * HeadlessException { throw new HeadlessException(); }
+ * @Override protected LabelPeer createLabel(Label a0) throws
+ * HeadlessException { throw new HeadlessException(); }
+ * @Override protected ListPeer createList(List a0) throws HeadlessException
+ * { throw new HeadlessException(); }
+ * @Override protected MenuPeer createMenu(Menu a0) throws HeadlessException
+ * { throw new HeadlessException(); }
+ * @Override protected MenuBarPeer createMenuBar(MenuBar a0) throws
+ * HeadlessException { throw new HeadlessException(); }
+ * @Override protected MenuItemPeer createMenuItem(MenuItem a0) throws
+ * HeadlessException { throw new HeadlessException(); }
+ * @Override protected PopupMenuPeer createPopupMenu(PopupMenu a0) throws
+ * HeadlessException { throw new HeadlessException(); }
+ * @Override protected ScrollbarPeer createScrollbar(Scrollbar a0) throws
+ * HeadlessException { throw new HeadlessException(); }
+ * @Override protected ScrollPanePeer createScrollPane(ScrollPane a0) throws
+ * HeadlessException { throw new HeadlessException(); }
+ * @Override protected TextAreaPeer createTextArea(TextArea a0) throws
+ * HeadlessException { throw new HeadlessException(); }
+ * @Override protected TextFieldPeer createTextField(TextField a0) throws
+ * HeadlessException { throw new HeadlessException(); }
+ * @Override protected WindowPeer createWindow(Window a0) throws
+ * HeadlessException { throw new HeadlessException(); }
+ */
@Override
public Dimension getBestCursorSize(int prefWidth, int prefHeight) throws HeadlessException {
@@ -186,25 +125,18 @@ public final class HeadlessToolkit extends ToolkitImpl {
public int getMenuShortcutKeyMask() throws HeadlessException {
throw new HeadlessException();
}
-
- //???AWT
+
+ // ???AWT
/*
- @Override
- NativeEventQueue getNativeEventQueue() throws HeadlessException {
- throw new HeadlessException();
- }
-
- @Override
- public PrintJob getPrintJob(Frame frame, String jobtitle, JobAttributes jobAttributes,
- PageAttributes pageAttributes) throws IllegalArgumentException {
- throw new IllegalArgumentException();
- }
-
- @Override
- public PrintJob getPrintJob(Frame frame, String jobtitle, Properties props) throws NullPointerException {
- throw new NullPointerException();
- }
- */
+ * @Override NativeEventQueue getNativeEventQueue() throws HeadlessException
+ * { throw new HeadlessException(); }
+ * @Override public PrintJob getPrintJob(Frame frame, String jobtitle,
+ * JobAttributes jobAttributes, PageAttributes pageAttributes) throws
+ * IllegalArgumentException { throw new IllegalArgumentException(); }
+ * @Override public PrintJob getPrintJob(Frame frame, String jobtitle,
+ * Properties props) throws NullPointerException { throw new
+ * NullPointerException(); }
+ */
@Override
public Insets getScreenInsets(GraphicsConfiguration gc) throws HeadlessException {
@@ -214,44 +146,37 @@ public final class HeadlessToolkit extends ToolkitImpl {
@Override
public int getScreenResolution() throws HeadlessException {
throw new HeadlessException();
- }
+ }
@Override
public Dimension getScreenSize() throws HeadlessException {
throw new HeadlessException();
}
-
- //???AWT
+
+ // ???AWT
/*
- @Override
- public Clipboard getSystemClipboard() throws HeadlessException {
- throw new HeadlessException();
- }
-
- @Override
- public Clipboard getSystemSelection() throws HeadlessException {
- throw new HeadlessException();
- }
-
- @Override
- WindowFactory getWindowFactory() throws HeadlessException {
- throw new HeadlessException();
- }
- */
+ * @Override public Clipboard getSystemClipboard() throws HeadlessException
+ * { throw new HeadlessException(); }
+ * @Override public Clipboard getSystemSelection() throws HeadlessException
+ * { throw new HeadlessException(); }
+ * @Override WindowFactory getWindowFactory() throws HeadlessException {
+ * throw new HeadlessException(); }
+ */
@Override
protected void init() {
lockAWT();
try {
ComponentInternals.setComponentInternals(new ComponentInternalsImpl());
- //???AWT: new EventQueue(this); // create the system EventQueue
- //???AWT: dispatcher = new Dispatcher(this);
+ // ???AWT: new EventQueue(this); // create the system EventQueue
+ // ???AWT: dispatcher = new Dispatcher(this);
desktopProperties = new HashMap<String, Object>();
- //???AWT: desktopPropsSupport = new PropertyChangeSupport(this);
-// ???AWT: awtEventsManager = new AWTEventsManager();
-// ???AWT: dispatchThread = new HeadlessEventDispatchThread(this, dispatcher);
-// ???AWT: dtk = DTK.getDTK();
- dispatchThread.start();
+ // ???AWT: desktopPropsSupport = new PropertyChangeSupport(this);
+ // ???AWT: awtEventsManager = new AWTEventsManager();
+ // ???AWT: dispatchThread = new HeadlessEventDispatchThread(this,
+ // dispatcher);
+ // ???AWT: dtk = DTK.getDTK();
+ dispatchThread.start();
} finally {
unlockAWT();
}
@@ -284,8 +209,8 @@ public final class HeadlessToolkit extends ToolkitImpl {
}
@Override
- Map<java.awt.font.TextAttribute, ?> mapInputMethodHighlightImpl(
- InputMethodHighlight highlight) throws HeadlessException {
+ Map<java.awt.font.TextAttribute, ?> mapInputMethodHighlightImpl(InputMethodHighlight highlight)
+ throws HeadlessException {
throw new HeadlessException();
}
diff --git a/awt/java/awt/IllegalComponentStateException.java b/awt/java/awt/IllegalComponentStateException.java
index 21dc35f..bed1729 100644
--- a/awt/java/awt/IllegalComponentStateException.java
+++ b/awt/java/awt/IllegalComponentStateException.java
@@ -18,34 +18,38 @@
* @author Michael Danilov
* @version $Revision$
*/
+
package java.awt;
/**
- * The IllegalComponentStateException class is used to provide
- * notification that AWT component is not in an appropriate state
- * for the requested operation.
+ * The IllegalComponentStateException class is used to provide notification that
+ * AWT component is not in an appropriate state for the requested operation.
+ *
+ * @since Android 1.0
*/
public class IllegalComponentStateException extends IllegalStateException {
- /** The Constant serialVersionUID. */
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = -1889339587208144238L;
/**
- * Instantiates a new IllegalComponentStateException with
- * the specified message.
+ * Instantiates a new IllegalComponentStateException with the specified
+ * message.
*
- * @param s the String message which describes the exception.
+ * @param s
+ * the String message which describes the exception.
*/
public IllegalComponentStateException(String s) {
super(s);
}
/**
- * Instantiates a new IllegalComponentStateException without
- * detailed message.
+ * Instantiates a new IllegalComponentStateException without detailed
+ * message.
*/
public IllegalComponentStateException() {
}
}
-
diff --git a/awt/java/awt/Image.java b/awt/java/awt/Image.java
index c217e38..7ae3ed8 100644
--- a/awt/java/awt/Image.java
+++ b/awt/java/awt/Image.java
@@ -18,6 +18,7 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt;
import java.awt.image.AreaAveragingScaleFilter;
@@ -30,64 +31,67 @@ import java.awt.image.ReplicateScaleFilter;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The Image abstract class represents the graphic images.
+ * The Image abstract class represents the graphic images.
+ *
+ * @since Android 1.0
*/
public abstract class Image {
- /**
- * The UndefinedProperty object should be returned if
- * property is not defined for a particular image.
+ /**
+ * The UndefinedProperty object should be returned if property is not
+ * defined for a particular image.
*/
- public static final Object UndefinedProperty = new Object(); //$NON-LOCK-1$
+ public static final Object UndefinedProperty = new Object(); // $NON-LOCK-1$
- /**
- * The Constant SCALE_DEFAULT indicates the default image
- * scaling algorithm.
+ /**
+ * The Constant SCALE_DEFAULT indicates the default image scaling algorithm.
*/
public static final int SCALE_DEFAULT = 1;
- /**
- * The Constant SCALE_FAST indicates an image scaling algorithm which
- * places a higher priority on scaling speed than on the image's smoothness.
+ /**
+ * The Constant SCALE_FAST indicates an image scaling algorithm which places
+ * a higher priority on scaling speed than on the image's smoothness.
*/
public static final int SCALE_FAST = 2;
- /**
- * The Constant SCALE_SMOOTH indicates an image scaling algorithm which
- * places a higher priority on image smoothness than on scaling speed.
+ /**
+ * The Constant SCALE_SMOOTH indicates an image scaling algorithm which
+ * places a higher priority on image smoothness than on scaling speed.
*/
public static final int SCALE_SMOOTH = 4;
- /**
- * The Constant SCALE_REPLICATE indicates the image scaling
- * algorithm in the ReplicateScaleFilter class.
+ /**
+ * The Constant SCALE_REPLICATE indicates the image scaling algorithm in the
+ * ReplicateScaleFilter class.
*/
public static final int SCALE_REPLICATE = 8;
- /**
- * The Constant SCALE_AREA_AVERAGING indicates
- * the area averaging image scaling algorithm.
+ /**
+ * The Constant SCALE_AREA_AVERAGING indicates the area averaging image
+ * scaling algorithm.
*/
public static final int SCALE_AREA_AVERAGING = 16;
- /**
- * The acceleration priority indicates image acceleration.
+ /**
+ * The acceleration priority indicates image acceleration.
*/
protected float accelerationPriority = 0.5f;
- /** The Constant capabilities. */
+ /**
+ * The Constant capabilities.
+ */
private static final ImageCapabilities capabilities = new ImageCapabilities(false);
/**
- * Gets the image property with the specified name.
- * The UndefinedProperty object should be return if the property is
- * not specified for this image. The return value should be null if the
- * property is currently unknown yet and the specified ImageObserver is
- * to be notified later.
- *
- * @param name the name of image's property.
- * @param observer the ImageObserver.
+ * Gets the image property with the specified name. The UndefinedProperty
+ * object should be return if the property is not specified for this image.
+ * The return value should be null if the property is currently unknown yet
+ * and the specified ImageObserver is to be notified later.
*
+ * @param name
+ * the name of image's property.
+ * @param observer
+ * the ImageObserver.
* @return the Object which represents value of the specified property.
*/
public abstract Object getProperty(String name, ImageObserver observer);
@@ -100,39 +104,40 @@ public abstract class Image {
public abstract ImageProducer getSource();
/**
- * Gets the width of this image. The specified ImageObserver object
- * is notified when the width of this image is available.
- *
- * @param observer the ImageObserver object which is
- * is notified when the width of this image is available.
+ * Gets the width of this image. The specified ImageObserver object is
+ * notified when the width of this image is available.
*
- * @return the width of image, or -1 if the width of this image
- * is not available.
+ * @param observer
+ * the ImageObserver object which is is notified when the width
+ * of this image is available.
+ * @return the width of image, or -1 if the width of this image is not
+ * available.
*/
public abstract int getWidth(ImageObserver observer);
/**
- * Gets the height of this image. The specified ImageObserver object
- * is notified when the height of this image is available.
+ * Gets the height of this image. The specified ImageObserver object is
+ * notified when the height of this image is available.
*
- * @param observer the ImageObserver object which is
- * is notified when the height of this image is available.
- *
- * @return the height of image, or -1 if the height of this image
- * is not available.
+ * @param observer
+ * the ImageObserver object which is is notified when the height
+ * of this image is available.
+ * @return the height of image, or -1 if the height of this image is not
+ * available.
*/
public abstract int getHeight(ImageObserver observer);
/**
- * Gets the scaled instance of this Image. This method returns
- * an Image object constructed from the source of this image
- * with the specified width, height, and applied scaling
- * alghorithm.
- *
- * @param width the width of scaled Image.
- * @param height the height of scaled Image.
- * @param hints the constant which indicates scaling algorithm.
+ * Gets the scaled instance of this Image. This method returns an Image
+ * object constructed from the source of this image with the specified
+ * width, height, and applied scaling algorithm.
*
+ * @param width
+ * the width of scaled Image.
+ * @param height
+ * the height of scaled Image.
+ * @param hints
+ * the constant which indicates scaling algorithm.
* @return the scaled Image.
*/
public Image getScaledInstance(int width, int height, int hints) {
@@ -147,17 +152,16 @@ public abstract class Image {
}
/**
- * Gets a Graphics object for rendering this image.
- * This method can be used for off-screen images.
+ * Gets a Graphics object for rendering this image. This method can be used
+ * for off-screen images.
*
* @return a Graphics object for rendering to this image.
*/
public abstract Graphics getGraphics();
/**
- * Flushes resources which are used by this Image object.
- * This method resets the image to the reconstructered state
- * from the image's source.
+ * Flushes resources which are used by this Image object. This method resets
+ * the image to the reconstructed state from the image's source.
*/
public abstract void flush();
@@ -171,10 +175,10 @@ public abstract class Image {
}
/**
- * Sets the acceleration priority for this image.
- *
- * @param priority the new acceleration priority (value in the
- * range 0-1).
+ * Sets the acceleration priority for this image.
+ *
+ * @param priority
+ * the new acceleration priority (value in the range 0-1).
*/
public void setAccelerationPriority(float priority) {
if (priority < 0 || priority > 1) {
@@ -185,19 +189,17 @@ public abstract class Image {
}
/**
- * Gets an ImageCapabilities object of this Image object
- * for the specified GraphicsConfiguration.
- *
- * @param gc the specified GraphicsConfiguration object
- * (null value means default GraphicsConfiguration).
+ * Gets an ImageCapabilities object of this Image object for the specified
+ * GraphicsConfiguration.
*
- * @return an ImageCapabilities object of this Image object
- * for the specified GraphicsConfiguration.
+ * @param gc
+ * the specified GraphicsConfiguration object (null value means
+ * default GraphicsConfiguration).
+ * @return an ImageCapabilities object of this Image object for the
+ * specified GraphicsConfiguration.
*/
public ImageCapabilities getCapabilities(GraphicsConfiguration gc) {
// Note: common image is not accelerated.
return capabilities;
}
}
-
-
diff --git a/awt/java/awt/ImageCapabilities.java b/awt/java/awt/ImageCapabilities.java
index 6e9ecfc..c6d5946 100644
--- a/awt/java/awt/ImageCapabilities.java
+++ b/awt/java/awt/ImageCapabilities.java
@@ -18,22 +18,27 @@
* @author Alexey A. Petrenko
* @version $Revision$
*/
+
package java.awt;
/**
* The ImageCapabilities class gives information about an image's capabilities.
+ *
+ * @since Android 1.0
*/
public class ImageCapabilities implements Cloneable {
-
- /** The accelerated. */
+
+ /**
+ * The accelerated.
+ */
private final boolean accelerated;
/**
- * Instantiates a new ImageCapabilities with the specified
- * acceleration flag which indicates whether acceleration
- * is desired or not.
+ * Instantiates a new ImageCapabilities with the specified acceleration flag
+ * which indicates whether acceleration is desired or not.
*
- * @param accelerated the accelerated flag.
+ * @param accelerated
+ * the accelerated flag.
*/
public ImageCapabilities(boolean accelerated) {
this.accelerated = accelerated;
@@ -50,23 +55,22 @@ public class ImageCapabilities implements Cloneable {
}
/**
- * Returne true if the Image of this ImageCapabilities is or can be
+ * Returns true if the Image of this ImageCapabilities is or can be
* accelerated.
- *
+ *
* @return true, if the Image of this ImageCapabilities is or can be
- * accelerated, false otherwise.
+ * accelerated, false otherwise.
*/
public boolean isAccelerated() {
return accelerated;
}
/**
- * Returns true if this ImageCapabilities applies to
- * the VolatileImage which can lose its surfaces.
+ * Returns true if this ImageCapabilities applies to the VolatileImage which
+ * can lose its surfaces.
*
- * @return true if this ImageCapabilities applies to
- * the VolatileImage which can lose its surfaces,
- * false otherwise.
+ * @return true if this ImageCapabilities applies to the VolatileImage which
+ * can lose its surfaces, false otherwise.
*/
public boolean isTrueVolatile() {
return true;
diff --git a/awt/java/awt/Insets.java b/awt/java/awt/Insets.java
index 61f3fd8..04f198c 100644
--- a/awt/java/awt/Insets.java
+++ b/awt/java/awt/Insets.java
@@ -18,44 +18,49 @@
* @author Dmitry A. Durnev
* @version $Revision$
*/
+
package java.awt;
import java.io.Serializable;
import org.apache.harmony.misc.HashCode;
-
/**
- * The Insets class represents the borders of a container.
- * This class describes the space that a container should leave at each edge:
- * the top, the bottom, the right side, and the left side.
- * The space can be filled with a border, a blank space, or a title.
+ * The Insets class represents the borders of a container. This class describes
+ * the space that a container should leave at each edge: the top, the bottom,
+ * the right side, and the left side. The space can be filled with a border, a
+ * blank space, or a title.
+ *
+ * @since Android 1.0
*/
public class Insets implements Cloneable, Serializable {
- /** The Constant serialVersionUID. */
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = -2272572637695466749L;
/**
- * The top inset indicates the size of the space added to the
- * top of the rectangle.
+ * The top inset indicates the size of the space added to the top of the
+ * rectangle.
*/
public int top;
- /**
- * The left inset indicates the size of the space added to the
- * left side of the rectangle.
+ /**
+ * The left inset indicates the size of the space added to the left side of
+ * the rectangle.
*/
public int left;
- /**
- * The bottom inset indicates the size of the space subtracted from
- * the bottom of the rectangle.
+ /**
+ * The bottom inset indicates the size of the space subtracted from the
+ * bottom of the rectangle.
*/
public int bottom;
- /** The right inset indicates the size of the space subtracted from
- * the right side of the rectangle.
+ /**
+ * The right inset indicates the size of the space subtracted from the right
+ * side of the rectangle.
*/
public int right;
@@ -63,10 +68,14 @@ public class Insets implements Cloneable, Serializable {
* Instantiates a new Inset object with the specified top, left, bottom,
* right parameters.
*
- * @param top the top inset.
- * @param left the left inset.
- * @param bottom the bottom inset.
- * @param right the right inset.
+ * @param top
+ * the top inset.
+ * @param left
+ * the left inset.
+ * @param bottom
+ * the bottom inset.
+ * @param right
+ * the right inset.
*/
public Insets(int top, int left, int bottom, int right) {
setValues(top, left, bottom, right);
@@ -100,10 +109,10 @@ public class Insets implements Cloneable, Serializable {
/**
* Checks if this Insets object is equal to the specified object.
*
- * @param o the Object to be compared.
- *
- * @return true, if the object is an Insets object whose data values
- * are equal to those of this object, false otherwise.
+ * @param o
+ * the Object to be compared.
+ * @return true, if the object is an Insets object whose data values are
+ * equal to those of this object, false otherwise.
*/
@Override
public boolean equals(Object o) {
@@ -111,9 +120,8 @@ public class Insets implements Cloneable, Serializable {
return true;
}
if (o instanceof Insets) {
- Insets i = (Insets) o;
- return ((i.left == left) && (i.bottom == bottom) &&
- (i.right == right) && (i.top == top));
+ Insets i = (Insets)o;
+ return ((i.left == left) && (i.bottom == bottom) && (i.right == right) && (i.top == top));
}
return false;
}
@@ -125,23 +133,26 @@ public class Insets implements Cloneable, Serializable {
*/
@Override
public String toString() {
- /* The format is based on 1.5 release behavior
- * which can be revealed by the following code:
- * System.out.println(new Insets(1, 2, 3, 4));
+ /*
+ * The format is based on 1.5 release behavior which can be revealed by
+ * the following code: System.out.println(new Insets(1, 2, 3, 4));
*/
- return (getClass().getName() +
- "[left=" + left + ",top=" + top + //$NON-NLS-1$ //$NON-NLS-2$
- ",right=" + right + ",bottom=" + bottom + "]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ return (getClass().getName() + "[left=" + left + ",top=" + top + //$NON-NLS-1$ //$NON-NLS-2$
+ ",right=" + right + ",bottom=" + bottom + "]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
/**
* Sets top, left, bottom, and right insets to the specified values.
*
- * @param top the top inset.
- * @param left the left inset.
- * @param bottom the bottom inset.
- * @param right the right inset.
+ * @param top
+ * the top inset.
+ * @param left
+ * the left inset.
+ * @param bottom
+ * the bottom inset.
+ * @param right
+ * the right inset.
*/
public void set(int top, int left, int bottom, int right) {
setValues(top, left, bottom, right);
@@ -150,10 +161,14 @@ public class Insets implements Cloneable, Serializable {
/**
* Sets the values.
*
- * @param top the top
- * @param left the left
- * @param bottom the bottom
- * @param right the right
+ * @param top
+ * the top.
+ * @param left
+ * the left.
+ * @param bottom
+ * the bottom.
+ * @param right
+ * the right.
*/
private void setValues(int top, int left, int bottom, int right) {
this.top = top;
@@ -162,4 +177,3 @@ public class Insets implements Cloneable, Serializable {
this.right = right;
}
}
-
diff --git a/awt/java/awt/ItemSelectable.java b/awt/java/awt/ItemSelectable.java
index a46364b..212cf70 100644
--- a/awt/java/awt/ItemSelectable.java
+++ b/awt/java/awt/ItemSelectable.java
@@ -18,35 +18,41 @@
* @author Michael Danilov
* @version $Revision$
*/
+
package java.awt;
import java.awt.event.ItemListener;
/**
* The ItemSelectable interface represents a set of items which can be selected.
+ *
+ * @since Android 1.0
*/
public interface ItemSelectable {
/**
- * Adds an ItemListener for receiving item events when the state of an item
- * is changed by the user.
+ * Adds an ItemListener for receiving item events when the state of an item
+ * is changed by the user.
*
- * @param l the ItemListener.
+ * @param l
+ * the ItemListener.
*/
public void addItemListener(ItemListener l);
/**
- * Gets an array of the selected objects or null if there is no selected object.
- *
- * @return an array of the selected objects or null if there is no selected
+ * Gets an array of the selected objects or null if there is no selected
* object.
+ *
+ * @return an array of the selected objects or null if there is no selected
+ * object.
*/
public Object[] getSelectedObjects();
/**
* Removes the specified ItemListener.
*
- * @param l the ItemListener which will be removed.
+ * @param l
+ * the ItemListener which will be removed.
*/
public void removeItemListener(ItemListener l);
diff --git a/awt/java/awt/MenuComponent.java b/awt/java/awt/MenuComponent.java
index 9eb4f3d..9c1b120 100644
--- a/awt/java/awt/MenuComponent.java
+++ b/awt/java/awt/MenuComponent.java
@@ -21,8 +21,7 @@ import java.awt.event.FocusListener;
import java.awt.event.MouseEvent;
import java.awt.peer.MenuComponentPeer;
import java.io.Serializable;
-import java.util.Locale;
-//import javax.accessibility.Accessible;
+import java.util.Locale; //import javax.accessibility.Accessible;
//import javax.accessibility.AccessibleComponent;
//import javax.accessibility.AccessibleContext;
//import javax.accessibility.AccessibleRole;
@@ -31,371 +30,172 @@ import java.util.Locale;
import org.apache.harmony.awt.gl.MultiRectArea;
import org.apache.harmony.awt.state.MenuItemState;
import org.apache.harmony.awt.state.MenuState;
+import org.apache.harmony.luni.util.NotImplementedException;
/**
- * The MenuComponent abstract class is the superclass for menu
- * components. Menu components receive and process AWT events.
+ * The MenuComponent abstract class is the superclass for menu components. Menu
+ * components receive and process AWT events.
+ *
+ * @since Android 1.0
*/
public abstract class MenuComponent implements Serializable {
-
- /** The Constant serialVersionUID. */
+
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = -4536902356223894379L;
- /** The name. */
+ /**
+ * The name.
+ */
private String name;
- /** The font. */
+ /**
+ * The font.
+ */
private Font font;
- /** The parent. */
+ /**
+ * The parent.
+ */
MenuContainer parent;
- /** The deprecated event handler. */
+ /**
+ * The deprecated event handler.
+ */
boolean deprecatedEventHandler = true;
- /** The selected item index. */
+ /**
+ * The selected item index.
+ */
private int selectedItemIndex;
- //???AWT: private AccessibleContext accessibleContext;
+ // ???AWT: private AccessibleContext accessibleContext;
- /** The toolkit. */
+ /**
+ * The toolkit.
+ */
final Toolkit toolkit = Toolkit.getDefaultToolkit();
- //???AWT
+ // ???AWT
/*
- protected abstract class AccessibleAWTMenuComponent extends AccessibleContext implements
- Serializable, AccessibleComponent, AccessibleSelection {
- private static final long serialVersionUID = -4269533416223798698L;
-
- public void addFocusListener(FocusListener listener) {
- }
-
- public boolean contains(Point pt) {
- return false;
- }
-
- public Accessible getAccessibleAt(Point pt) {
- return null;
- }
-
- public Color getBackground() {
- return null;
- }
-
- public Rectangle getBounds() {
- return null;
- }
-
- public Cursor getCursor() {
- return null;
- }
-
- public Font getFont() {
- return MenuComponent.this.getFont();
- }
-
- public FontMetrics getFontMetrics(Font font) {
- return null;
- }
-
- public Color getForeground() {
- return null;
- }
-
- public Point getLocation() {
- return null;
- }
-
- public Point getLocationOnScreen() {
- return null;
- }
-
- public Dimension getSize() {
- return null;
- }
-
- public boolean isEnabled() {
- return true; // always enabled
- }
-
- public boolean isFocusTraversable() {
- return true; // always focus traversable
- }
-
- public boolean isShowing() {
- return true;// always showing
- }
-
- public boolean isVisible() {
- return true; // always visible
- }
-
- public void removeFocusListener(FocusListener listener) {
- }
-
- public void requestFocus() {
- }
-
- public void setBackground(Color color) {
- }
-
- public void setBounds(Rectangle rect) {
- }
-
- public void setCursor(Cursor cursor) {
- }
-
- public void setEnabled(boolean enabled) {
- }
-
- public void setFont(Font font) {
- MenuComponent.this.setFont(font);
- }
-
- public void setForeground(Color color) {
- }
-
- public void setLocation(Point pt) {
- }
-
- public void setSize(Dimension pt) {
- }
-
- public void setVisible(boolean visible) {
- }
-
- public void addAccessibleSelection(int index) {
- }
-
- public void clearAccessibleSelection() {
- }
-
- public Accessible getAccessibleSelection(int index) {
- return null;
- }
-
- public int getAccessibleSelectionCount() {
- return 0;
- }
-
- public boolean isAccessibleChildSelected(int index) {
- return false;
- }
-
- public void removeAccessibleSelection(int index) {
- }
-
- public void selectAllAccessibleSelection() {
- }
-
- @Override
- public Accessible getAccessibleChild(int index) {
- return null;
- }
-
- @Override
- public int getAccessibleChildrenCount() {
- return 0;
- }
-
- @Override
- public AccessibleComponent getAccessibleComponent() {
- return this;
- }
-
- @Override
- public String getAccessibleDescription() {
- return super.getAccessibleDescription();
- }
-
- @Override
- public int getAccessibleIndexInParent() {
- toolkit.lockAWT();
- try {
- Accessible aParent = getAccessibleParent();
- int aIndex = -1;
- if (aParent instanceof MenuComponent) {
- MenuComponent parent = (MenuComponent) aParent;
- int count = parent.getItemCount();
- for (int i = 0; i < count; i++) {
- MenuComponent comp = parent.getItem(i);
- if (comp instanceof Accessible) {
- aIndex++;
- if (comp == MenuComponent.this) {
- return aIndex;
- }
- }
- }
- }
- return -1;
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- @Override
- public String getAccessibleName() {
- return super.getAccessibleName();
- }
-
- @Override
- public Accessible getAccessibleParent() {
- toolkit.lockAWT();
- try {
- Accessible aParent = super.getAccessibleParent();
- if (aParent != null) {
- return aParent;
- }
- MenuContainer parent = getParent();
- if (parent instanceof Accessible) {
- aParent = (Accessible) parent;
- }
- return aParent;
- } finally {
- toolkit.unlockAWT();
- }
- }
-
- @Override
- public AccessibleRole getAccessibleRole() {
- return AccessibleRole.AWT_COMPONENT;
- }
-
- @Override
- public AccessibleSelection getAccessibleSelection() {
- return this;
- }
-
- @Override
- public AccessibleStateSet getAccessibleStateSet() {
- return new AccessibleStateSet();
- }
-
- @Override
- public Locale getLocale() {
- return Locale.getDefault();
- }
- }
- */
-
- /**
- * The accessor to MenuComponent internal state,
- * utilized by the visual theme.
- *
- * @throws HeadlessException the headless exception
- */
- //???AWT
+ * protected abstract class AccessibleAWTMenuComponent extends
+ * AccessibleContext implements Serializable, AccessibleComponent,
+ * AccessibleSelection { private static final long serialVersionUID =
+ * -4269533416223798698L; public void addFocusListener(FocusListener
+ * listener) { } public boolean contains(Point pt) { return false; } public
+ * Accessible getAccessibleAt(Point pt) { return null; } public Color
+ * getBackground() { return null; } public Rectangle getBounds() { return
+ * null; } public Cursor getCursor() { return null; } public Font getFont()
+ * { return MenuComponent.this.getFont(); } public FontMetrics
+ * getFontMetrics(Font font) { return null; } public Color getForeground() {
+ * return null; } public Point getLocation() { return null; } public Point
+ * getLocationOnScreen() { return null; } public Dimension getSize() {
+ * return null; } public boolean isEnabled() { return true; // always
+ * enabled } public boolean isFocusTraversable() { return true; // always
+ * focus traversable } public boolean isShowing() { return true;// always
+ * showing } public boolean isVisible() { return true; // always visible }
+ * public void removeFocusListener(FocusListener listener) { } public void
+ * requestFocus() { } public void setBackground(Color color) { } public void
+ * setBounds(Rectangle rect) { } public void setCursor(Cursor cursor) { }
+ * public void setEnabled(boolean enabled) { } public void setFont(Font
+ * font) { MenuComponent.this.setFont(font); } public void
+ * setForeground(Color color) { } public void setLocation(Point pt) { }
+ * public void setSize(Dimension pt) { } public void setVisible(boolean
+ * visible) { } public void addAccessibleSelection(int index) { } public
+ * void clearAccessibleSelection() { } public Accessible
+ * getAccessibleSelection(int index) { return null; } public int
+ * getAccessibleSelectionCount() { return 0; } public boolean
+ * isAccessibleChildSelected(int index) { return false; } public void
+ * removeAccessibleSelection(int index) { } public void
+ * selectAllAccessibleSelection() { }
+ * @Override public Accessible getAccessibleChild(int index) { return null;
+ * }
+ * @Override public int getAccessibleChildrenCount() { return 0; }
+ * @Override public AccessibleComponent getAccessibleComponent() { return
+ * this; }
+ * @Override public String getAccessibleDescription() { return
+ * super.getAccessibleDescription(); }
+ * @Override public int getAccessibleIndexInParent() { toolkit.lockAWT();
+ * try { Accessible aParent = getAccessibleParent(); int aIndex = -1; if
+ * (aParent instanceof MenuComponent) { MenuComponent parent =
+ * (MenuComponent) aParent; int count = parent.getItemCount(); for (int i =
+ * 0; i < count; i++) { MenuComponent comp = parent.getItem(i); if (comp
+ * instanceof Accessible) { aIndex++; if (comp == MenuComponent.this) {
+ * return aIndex; } } } } return -1; } finally { toolkit.unlockAWT(); } }
+ * @Override public String getAccessibleName() { return
+ * super.getAccessibleName(); }
+ * @Override public Accessible getAccessibleParent() { toolkit.lockAWT();
+ * try { Accessible aParent = super.getAccessibleParent(); if (aParent !=
+ * null) { return aParent; } MenuContainer parent = getParent(); if (parent
+ * instanceof Accessible) { aParent = (Accessible) parent; } return aParent;
+ * } finally { toolkit.unlockAWT(); } }
+ * @Override public AccessibleRole getAccessibleRole() { return
+ * AccessibleRole.AWT_COMPONENT; }
+ * @Override public AccessibleSelection getAccessibleSelection() { return
+ * this; }
+ * @Override public AccessibleStateSet getAccessibleStateSet() { return new
+ * AccessibleStateSet(); }
+ * @Override public Locale getLocale() { return Locale.getDefault(); } }
+ */
+
+ /**
+ * The accessor to MenuComponent internal state, utilized by the visual
+ * theme.
+ *
+ * @throws HeadlessException
+ * the headless exception.
+ */
+ // ???AWT
/*
- class State implements MenuState {
- Dimension size;
-
- Dimension getSize() {
- if (size == null) {
- calculate();
- }
- return size;
- }
-
- public int getWidth() {
- return getSize().width;
- }
-
- public int getHeight() {
- return getSize().height;
- }
-
- public Font getFont() {
- return MenuComponent.this.getFont();
- }
-
- public int getItemCount() {
- return MenuComponent.this.getItemCount();
- }
-
- public int getSelectedItemIndex() {
- return MenuComponent.this.getSelectedItemIndex();
- }
-
- public boolean isFontSet() {
- return MenuComponent.this.isFontSet();
- }
-
- @SuppressWarnings("deprecation")
- public FontMetrics getFontMetrics(Font f) {
- return MenuComponent.this.toolkit.getFontMetrics(f);
- }
-
- public Point getLocation() {
- return MenuComponent.this.getLocation();
- }
-
- public MenuItemState getItem(int index) {
- MenuItem item = MenuComponent.this.getItem(index);
- return item.itemState;
- }
-
- public void setSize(int w, int h) {
- this.size = new Dimension(w, h);
- }
-
- void calculate() {
- size = new Dimension();
- size.setSize(toolkit.theme.calculateMenuSize(this));
- }
-
- void reset() {
- for (int i = 0; i < getItemCount(); i++) {
- ((MenuItem.State) getItem(i)).reset();
- }
- }
-
- }
- */
-
- /**
- * Pop-up box for menu. It transfers the paint events,
- * keyboard and mouse events to the menu component itself
- */
- //???AWT
+ * class State implements MenuState { Dimension size; Dimension getSize() {
+ * if (size == null) { calculate(); } return size; } public int getWidth() {
+ * return getSize().width; } public int getHeight() { return
+ * getSize().height; } public Font getFont() { return
+ * MenuComponent.this.getFont(); } public int getItemCount() { return
+ * MenuComponent.this.getItemCount(); } public int getSelectedItemIndex() {
+ * return MenuComponent.this.getSelectedItemIndex(); } public boolean
+ * isFontSet() { return MenuComponent.this.isFontSet(); }
+ * @SuppressWarnings("deprecation") public FontMetrics getFontMetrics(Font
+ * f) { return MenuComponent.this.toolkit.getFontMetrics(f); } public Point
+ * getLocation() { return MenuComponent.this.getLocation(); } public
+ * MenuItemState getItem(int index) { MenuItem item =
+ * MenuComponent.this.getItem(index); return item.itemState; } public void
+ * setSize(int w, int h) { this.size = new Dimension(w, h); } void
+ * calculate() { size = new Dimension();
+ * size.setSize(toolkit.theme.calculateMenuSize(this)); } void reset() { for
+ * (int i = 0; i < getItemCount(); i++) { ((MenuItem.State)
+ * getItem(i)).reset(); } } }
+ */
+
+ /**
+ * Pop-up box for menu. It transfers the paint events, keyboard and mouse
+ * events to the menu component itself.
+ */
+ // ???AWT
/*
- class MenuPopupBox extends PopupBox {
- private final Point lastMousePos = new Point();
-
- @Override
- boolean isMenu() {
- return true;
- }
-
- @Override
- void paint(Graphics gr) {
- MenuComponent.this.paint(gr);
- }
-
- @Override
- void onKeyEvent(int eventId, int vKey, long when, int modifiers) {
- MenuComponent.this.onKeyEvent(eventId, vKey, when, modifiers);
- }
+ * class MenuPopupBox extends PopupBox { private final Point lastMousePos =
+ * new Point();
+ * @Override boolean isMenu() { return true; }
+ * @Override void paint(Graphics gr) { MenuComponent.this.paint(gr); }
+ * @Override void onKeyEvent(int eventId, int vKey, long when, int
+ * modifiers) { MenuComponent.this.onKeyEvent(eventId, vKey, when,
+ * modifiers); }
+ * @Override void onMouseEvent(int eventId, Point where, int mouseButton,
+ * long when, int modifiers, int wheelRotation) { // prevent conflict of
+ * mouse and keyboard // when sub-menu drops down due to keyboard navigation
+ * if (lastMousePos.equals(where) && (eventId == MouseEvent.MOUSE_MOVED ||
+ * eventId == MouseEvent.MOUSE_ENTERED)) { return; }
+ * lastMousePos.setLocation(where); MenuComponent.this.onMouseEvent(eventId,
+ * where, mouseButton, when, modifiers); } }
+ */
- @Override
- void onMouseEvent(int eventId, Point where, int mouseButton, long when, int modifiers,
- int wheelRotation) {
- // prevent conflict of mouse and keyboard
- // when sub-menu drops down due to keyboard navigation
- if (lastMousePos.equals(where)
- && (eventId == MouseEvent.MOUSE_MOVED || eventId == MouseEvent.MOUSE_ENTERED)) {
- return;
- }
- lastMousePos.setLocation(where);
- MenuComponent.this.onMouseEvent(eventId, where, mouseButton, when, modifiers);
- }
- }
- */
-
/**
* Instantiates a new MenuComponent object.
*
- * @throws HeadlessException if the graphical interface
- * environment can't support MenuComponents
+ * @throws HeadlessException
+ * if the graphical interface environment can't support
+ * MenuComponents.
*/
public MenuComponent() throws HeadlessException {
toolkit.lockAWT();
@@ -438,9 +238,9 @@ public abstract class MenuComponent implements Serializable {
}
/**
- * Gets the Parent menu Container .
+ * Gets the parent menu container.
*
- * @return the parent
+ * @return the parent.
*/
public MenuContainer getParent() {
toolkit.lockAWT();
@@ -454,7 +254,8 @@ public abstract class MenuComponent implements Serializable {
/**
* Sets the name of the MenuComponent to the specified string.
*
- * @param name the new name of the MenuComponent object.
+ * @param name
+ * the new name of the MenuComponent object.
*/
public void setName(String name) {
toolkit.lockAWT();
@@ -468,7 +269,8 @@ public abstract class MenuComponent implements Serializable {
/**
* Dispatches AWT event.
*
- * @param event the AWTEvent.
+ * @param event
+ * the AWTEvent.
*/
public final void dispatchEvent(AWTEvent event) {
toolkit.lockAWT();
@@ -485,7 +287,8 @@ public abstract class MenuComponent implements Serializable {
/**
* Post deprecated event.
*
- * @param event the event
+ * @param event
+ * the event.
*/
void postDeprecatedEvent(AWTEvent event) {
Event evt = event.getEvent();
@@ -495,11 +298,12 @@ public abstract class MenuComponent implements Serializable {
}
/**
- * Gets the peer of the MenuComponent; an application must not
- * use this method directly.
+ * Gets the peer of the MenuComponent; an application must not use this
+ * method directly.
*
* @return the MenuComponentPeer object.
- *
+ * @throws NotImplementedException
+ * if this method is not implemented by a subclass.
* @deprecated an application must not use this method directly.
*/
@Deprecated
@@ -527,11 +331,9 @@ public abstract class MenuComponent implements Serializable {
/**
* Posts the Event to the MenuComponent.
*
- * @param e the Event.
- *
- * @return true, if the event is posted successfully;
- * false otherwise.
- *
+ * @param e
+ * the Event.
+ * @return true, if the event is posted successfully, false otherwise.
* @deprecated Replaced dispatchEvent method.
*/
@SuppressWarnings("deprecation")
@@ -551,8 +353,7 @@ public abstract class MenuComponent implements Serializable {
/**
* Returns the string representation of the MenuComponent state.
*
- * @return returns the string representation of the MenuComponent
- * state.
+ * @return returns the string representation of the MenuComponent state.
*/
protected String paramString() {
toolkit.lockAWT();
@@ -563,20 +364,13 @@ public abstract class MenuComponent implements Serializable {
}
}
- //???AWT
+ // ???AWT
/*
- public AccessibleContext getAccessibleContext() {
- toolkit.lockAWT();
- try {
- if (accessibleContext == null) {
- accessibleContext = createAccessibleContext();
- }
- return accessibleContext;
- } finally {
- toolkit.unlockAWT();
- }
- }
- */
+ * public AccessibleContext getAccessibleContext() { toolkit.lockAWT(); try
+ * { if (accessibleContext == null) { accessibleContext =
+ * createAccessibleContext(); } return accessibleContext; } finally {
+ * toolkit.unlockAWT(); } }
+ */
/**
* Gets the font of the MenuComponent object.
@@ -605,13 +399,13 @@ public abstract class MenuComponent implements Serializable {
*/
boolean isFontSet() {
return font != null
- || ((parent instanceof MenuComponent) && ((MenuComponent) parent).isFontSet());
+ || ((parent instanceof MenuComponent) && ((MenuComponent)parent).isFontSet());
}
/**
* Checks for default font.
*
- * @return true, if successful
+ * @return true, if successful.
*/
boolean hasDefaultFont() {
return false;
@@ -620,7 +414,8 @@ public abstract class MenuComponent implements Serializable {
/**
* Processes an AWTEevent on this menu component.
*
- * @param event the AWTEvent.
+ * @param event
+ * the AWTEvent.
*/
protected void processEvent(AWTEvent event) {
toolkit.lockAWT();
@@ -645,7 +440,8 @@ public abstract class MenuComponent implements Serializable {
/**
* Sets the Font for this MenuComponent object.
*
- * @param font the new Font to be used for this MenuComponent.
+ * @param font
+ * the new Font to be used for this MenuComponent.
*/
public void setFont(Font font) {
toolkit.lockAWT();
@@ -659,7 +455,8 @@ public abstract class MenuComponent implements Serializable {
/**
* Sets the parent.
*
- * @param parent the new parent
+ * @param parent
+ * the new parent.
*/
void setParent(MenuContainer parent) {
this.parent = parent;
@@ -668,7 +465,7 @@ public abstract class MenuComponent implements Serializable {
/**
* Gets the location.
*
- * @return the location
+ * @return the location.
*/
Point getLocation() {
// to be overridden
@@ -678,7 +475,7 @@ public abstract class MenuComponent implements Serializable {
/**
* Gets the width.
*
- * @return the width
+ * @return the width.
*/
int getWidth() {
// to be overridden
@@ -688,7 +485,7 @@ public abstract class MenuComponent implements Serializable {
/**
* Gets the height.
*
- * @return the height
+ * @return the height.
*/
int getHeight() {
// to be overridden
@@ -698,31 +495,19 @@ public abstract class MenuComponent implements Serializable {
/**
* Recursively find the menu item for a menu shortcut.
*
- * @param gr the gr
- *
- * @return the menu item;
- * or null if the item is not available for this shortcut
+ * @param gr
+ * the gr.
+ * @return the menu item; or null if the item is not available for this
+ * shortcut.
*/
- //???AWT
+ // ???AWT
/*
- MenuItem getShortcutMenuItemImpl(MenuShortcut ms) {
- if (ms == null) {
- return null;
- }
- for (int i = 0; i < getItemCount(); i++) {
- MenuItem mi = getItem(i);
- if (mi instanceof Menu) {
- mi = ((Menu) mi).getShortcutMenuItemImpl(ms);
- if (mi != null) {
- return mi;
- }
- } else if (ms.equals(mi.getShortcut())) {
- return mi;
- }
- }
- return null;
- }
- */
+ * MenuItem getShortcutMenuItemImpl(MenuShortcut ms) { if (ms == null) {
+ * return null; } for (int i = 0; i < getItemCount(); i++) { MenuItem mi =
+ * getItem(i); if (mi instanceof Menu) { mi = ((Menu)
+ * mi).getShortcutMenuItemImpl(ms); if (mi != null) { return mi; } } else if
+ * (ms.equals(mi.getShortcut())) { return mi; } } return null; }
+ */
void paint(Graphics gr) {
gr.setColor(Color.LIGHT_GRAY);
@@ -733,11 +518,16 @@ public abstract class MenuComponent implements Serializable {
/**
* Mouse events handler.
*
- * @param eventId - one of the MouseEvent.MOUSE_* constants
- * @param where - mouse location
- * @param mouseButton - mouse button that was pressed or released
- * @param when - event time
- * @param modifiers - input event modifiers
+ * @param eventId
+ * one of the MouseEvent.MOUSE_* constants.
+ * @param where
+ * mouse location.
+ * @param mouseButton
+ * mouse button that was pressed or released.
+ * @param when
+ * event time.
+ * @param modifiers
+ * input event modifiers.
*/
void onMouseEvent(int eventId, Point where, int mouseButton, long when, int modifiers) {
// to be overridden
@@ -746,159 +536,109 @@ public abstract class MenuComponent implements Serializable {
/**
* Keyboard event handler.
*
- * @param eventId - one of the KeyEvent.KEY_* constants
- * @param vKey - the key code
- * @param when - event time
- * @param modifiers - input event modifiers
+ * @param eventId
+ * one of the KeyEvent.KEY_* constants.
+ * @param vKey
+ * the key code.
+ * @param when
+ * event time.
+ * @param modifiers
+ * input event modifiers.
*/
void onKeyEvent(int eventId, int vKey, long when, int modifiers) {
// to be overridden
}
/**
- * Post the ActionEvent or ItemEvent,
- * depending on type of the menu item.
+ * Post the ActionEvent or ItemEvent, depending on type of the menu item.
*
- * @param index the index
- *
- * @return the item rect
+ * @param index
+ * the index.
+ * @return the item rect.
*/
- //???AWT
+ // ???AWT
/*
- void fireItemAction(int item, long when, int modifiers) {
- MenuItem mi = getItem(item);
- mi.itemSelected(when, modifiers);
- }
-
- MenuItem getItem(int index) {
- // to be overridden
- return null;
- }
-
- int getItemCount() {
- return 0;
- }
- */
+ * void fireItemAction(int item, long when, int modifiers) { MenuItem mi =
+ * getItem(item); mi.itemSelected(when, modifiers); } MenuItem getItem(int
+ * index) { // to be overridden return null; } int getItemCount() { return
+ * 0; }
+ */
/**
- * @return The sub-menu of currently selecetd item,
- * or null if such a sub-menu is not available
+ * @return The sub-menu of currently selecetd item, or null if such a
+ * sub-menu is not available.
*/
- //???AWT
+ // ???AWT
/*
- Menu getSelectedSubmenu() {
- if (selectedItemIndex < 0) {
- return null;
- }
- MenuItem item = getItem(selectedItemIndex);
- return (item instanceof Menu) ? (Menu) item : null;
- }
- */
+ * Menu getSelectedSubmenu() { if (selectedItemIndex < 0) { return null; }
+ * MenuItem item = getItem(selectedItemIndex); return (item instanceof Menu)
+ * ? (Menu) item : null; }
+ */
/**
- * Convenience method for selectItem(index, true)
+ * Convenience method for selectItem(index, true).
*/
- //???AWT
+ // ???AWT
/*
- void selectItem(int index) {
- selectItem(index, true);
- }
- */
+ * void selectItem(int index) { selectItem(index, true); }
+ */
/**
- * Change the selection in the menu
- * @param index - new selecetd item's index
- * @param showSubMenu - if new selected item has a sub-menu,
- * should that sub-menu be displayed
+ * Change the selection in the menu.
+ *
+ * @param index
+ * new selecetd item's index.
+ * @param showSubMenu
+ * if new selected item has a sub-menu, should that sub-menu be
+ * displayed.
*/
- //???AWT
+ // ???AWT
/*
- void selectItem(int index, boolean showSubMenu) {
- if (selectedItemIndex == index) {
- return;
- }
- if (selectedItemIndex >= 0 && getItem(selectedItemIndex) instanceof Menu) {
- ((Menu) getItem(selectedItemIndex)).hide();
- }
- MultiRectArea clip = getUpdateClip(index, selectedItemIndex);
- selectedItemIndex = index;
- Graphics gr = getGraphics(clip);
- if (gr != null) {
- paint(gr);
- }
- if (showSubMenu) {
- showSubMenu(selectedItemIndex);
- }
- }
- */
+ * void selectItem(int index, boolean showSubMenu) { if (selectedItemIndex
+ * == index) { return; } if (selectedItemIndex >= 0 &&
+ * getItem(selectedItemIndex) instanceof Menu) { ((Menu)
+ * getItem(selectedItemIndex)).hide(); } MultiRectArea clip =
+ * getUpdateClip(index, selectedItemIndex); selectedItemIndex = index;
+ * Graphics gr = getGraphics(clip); if (gr != null) { paint(gr); } if
+ * (showSubMenu) { showSubMenu(selectedItemIndex); } }
+ */
/**
* Change the selected item to the next one in the requested direction
* moving cyclically, skipping separators
- * @param forward - the direction to move the selection
- * @param showSubMenu - if new selected item has a sub-menu,
- * should that sub-menu be displayed
+ *
+ * @param forward
+ * the direction to move the selection.
+ * @param showSubMenu
+ * if new selected item has a sub-menu, should that sub-menu be
+ * displayed.
*/
- //???AWT
+ // ???AWT
/*
- void selectNextItem(boolean forward, boolean showSubMenu) {
- int selected = getSelectedItemIndex();
- int count = getItemCount();
- if (count == 0) {
- return;
- }
- if (selected < 0) {
- selected = (forward ? count - 1 : 0);
- }
- int i = selected;
- do {
- i = (forward ? (i + 1) : (i + count - 1)) % count;
- i %= count;
- MenuItem item = getItem(i);
- if (!"-".equals(item.getLabel())) { //$NON-NLS-1$
- selectItem(i, showSubMenu);
- return;
- }
- } while (i != selected);
- }
-
-
- void showSubMenu(int index) {
- if ((index < 0) || !isActive()) {
- return;
- }
- MenuItem item = getItem(index);
- if (item instanceof Menu) {
- Menu menu = ((Menu) getItem(index));
- if (menu.getItemCount() == 0) {
- return;
- }
- Point location = getSubmenuLocation(index);
- menu.show(location.x, location.y, false);
- }
- }
- */
+ * void selectNextItem(boolean forward, boolean showSubMenu) { int selected
+ * = getSelectedItemIndex(); int count = getItemCount(); if (count == 0) {
+ * return; } if (selected < 0) { selected = (forward ? count - 1 : 0); } int
+ * i = selected; do { i = (forward ? (i + 1) : (i + count - 1)) % count; i
+ * %= count; MenuItem item = getItem(i); if (!"-".equals(item.getLabel())) {
+ * //$NON-NLS-1$ selectItem(i, showSubMenu); return; } } while (i !=
+ * selected); } void showSubMenu(int index) { if ((index < 0) ||
+ * !isActive()) { return; } MenuItem item = getItem(index); if (item
+ * instanceof Menu) { Menu menu = ((Menu) getItem(index)); if
+ * (menu.getItemCount() == 0) { return; } Point location =
+ * getSubmenuLocation(index); menu.show(location.x, location.y, false); } }
+ */
/**
- * @return - the menu bar which is the root of crrent menu's hierarchy;
- * or null if the hierarchy root is not a menu bar
+ * @return the menu bar which is the root of current menu's hierarchy; or
+ * null if the hierarchy root is not a menu bar.
*/
- //???AWT
+ // ???AWT
/*
- MenuBar getMenuBar() {
- if (parent instanceof MenuBar) {
- return (MenuBar) parent;
- }
- if (parent instanceof MenuComponent) {
- return ((MenuComponent) parent).getMenuBar();
- }
- return null;
- }
-
- PopupBox getPopupBox() {
- return null;
- }
- */
+ * MenuBar getMenuBar() { if (parent instanceof MenuBar) { return (MenuBar)
+ * parent; } if (parent instanceof MenuComponent) { return ((MenuComponent)
+ * parent).getMenuBar(); } return null; } PopupBox getPopupBox() { return
+ * null; }
+ */
Rectangle getItemRect(int index) {
// to be overridden
@@ -906,13 +646,14 @@ public abstract class MenuComponent implements Serializable {
}
/**
- * Determine the clip region when menu selection is changed
- * from index1 to index2.
- *
- * @param index1 - old selected intem
- * @param index2 - new selected item
+ * Determine the clip region when menu selection is changed from index1 to
+ * index2.
*
- * @return - the region to repaint
+ * @param index1
+ * old selected item.
+ * @param index2
+ * new selected item.
+ * @return the region to repaint.
*/
final MultiRectArea getUpdateClip(int index1, int index2) {
MultiRectArea clip = new MultiRectArea();
@@ -928,9 +669,9 @@ public abstract class MenuComponent implements Serializable {
/**
* Gets the submenu location.
*
- * @param index the index
- *
- * @return the submenu location
+ * @param index
+ * the index.
+ * @return the submenu location.
*/
Point getSubmenuLocation(int index) {
// to be overridden
@@ -940,7 +681,7 @@ public abstract class MenuComponent implements Serializable {
/**
* Gets the selected item index.
*
- * @return the selected item index
+ * @return the selected item index.
*/
int getSelectedItemIndex() {
return selectedItemIndex;
@@ -952,14 +693,15 @@ public abstract class MenuComponent implements Serializable {
void hide() {
selectedItemIndex = -1;
if (parent instanceof MenuComponent) {
- ((MenuComponent) parent).itemHidden(this);
+ ((MenuComponent)parent).itemHidden(this);
}
}
/**
* Item hidden.
*
- * @param mc the mc
+ * @param mc
+ * the mc.
*/
void itemHidden(MenuComponent mc) {
// to be overridden
@@ -968,7 +710,7 @@ public abstract class MenuComponent implements Serializable {
/**
* Checks if is visible.
*
- * @return true, if is visible
+ * @return true, if is visible.
*/
boolean isVisible() {
return true;
@@ -977,7 +719,7 @@ public abstract class MenuComponent implements Serializable {
/**
* Checks if is active.
*
- * @return true, if is active
+ * @return true, if is active.
*/
boolean isActive() {
return true;
@@ -987,14 +729,16 @@ public abstract class MenuComponent implements Serializable {
* Hide all menu hierarchy.
*/
void endMenu() {
- //???AWT: toolkit.dispatcher.popupDispatcher.deactivateAll();
+ // ???AWT: toolkit.dispatcher.popupDispatcher.deactivateAll();
}
/**
* Handle the mouse click or Enter key event on a menu's item.
*
- * @param when - the event time
- * @param modifiers - input event modifiers
+ * @param when
+ * the event time.
+ * @param modifiers
+ * input event modifiers.
*/
void itemSelected(long when, int modifiers) {
endMenu();
@@ -1003,14 +747,14 @@ public abstract class MenuComponent implements Serializable {
/**
* Auto name.
*
- * @return the string
+ * @return the string.
*/
String autoName() {
String name = getClass().getName();
if (name.indexOf("$") != -1) { //$NON-NLS-1$
return null;
}
- //???AWT: int number = toolkit.autoNumber.nextMenuComponent++;
+ // ???AWT: int number = toolkit.autoNumber.nextMenuComponent++;
int number = 0;
name = name.substring(name.lastIndexOf(".") + 1) + Integer.toString(number); //$NON-NLS-1$
return name;
@@ -1019,10 +763,10 @@ public abstract class MenuComponent implements Serializable {
/**
* Creates the Graphics object for the pop-up box of this menu component.
*
- * @param clip - the clip to set on this Graphics
- *
- * @return - the created Graphics object,
- * or null if such object is not available.
+ * @param clip
+ * the clip to set on this Graphics.
+ * @return the created Graphics object, or null if such object is not
+ * available.
*/
Graphics getGraphics(MultiRectArea clip) {
// to be overridden
@@ -1030,12 +774,10 @@ public abstract class MenuComponent implements Serializable {
}
/**
- * @return accessible context specific for particular menu component
+ * @return accessible context specific for particular menu component.
*/
- //???AWT
+ // ???AWT
/*
- AccessibleContext createAccessibleContext() {
- return null;
- }
- */
+ * AccessibleContext createAccessibleContext() { return null; }
+ */
}
diff --git a/awt/java/awt/MenuContainer.java b/awt/java/awt/MenuContainer.java
index 7a48f13..e509a1b 100644
--- a/awt/java/awt/MenuContainer.java
+++ b/awt/java/awt/MenuContainer.java
@@ -18,17 +18,21 @@
* @author Pavel Dolgov
* @version $Revision$
*/
+
package java.awt;
/**
* The MenuContainer interface represents all menu containers.
+ *
+ * @since Android 1.0
*/
public interface MenuContainer {
/**
* Removes the specified MenuComponent from the MenuContainer.
*
- * @param c the MenuComponent.
+ * @param c
+ * the MenuComponent.
*/
public void remove(MenuComponent c);
@@ -42,15 +46,12 @@ public interface MenuContainer {
/**
* Posts an Event.
*
- * @param e the Event.
- *
- * @return true if the event is posted successfully;
- * false otherwise.
- *
+ * @param e
+ * the Event.
+ * @return true if the event is posted successfully, false otherwise.
* @deprecated Replaced by dispatchEvent method.
*/
@Deprecated
public boolean postEvent(Event e);
}
-
diff --git a/awt/java/awt/Paint.java b/awt/java/awt/Paint.java
index f8732c8..dfea3a7 100644
--- a/awt/java/awt/Paint.java
+++ b/awt/java/awt/Paint.java
@@ -18,6 +18,7 @@
* @author Alexey A. Petrenko
* @version $Revision$
*/
+
package java.awt;
import java.awt.geom.AffineTransform;
@@ -25,28 +26,32 @@ import java.awt.geom.Rectangle2D;
import java.awt.image.ColorModel;
/**
- * The Paint interface provides possibility of generating
- * color patterns in device space for fill, draw, or stroke operations
- * in a Graphics2D.
+ * The Paint interface provides possibility of generating color patterns in
+ * device space for fill, draw, or stroke operations in a Graphics2D.
+ *
+ * @since Android 1.0
*/
public interface Paint extends Transparency {
-
+
/**
- * Creates the PaintContext which is used to generate color
- * patterns for rendering operations of Graphics2D.
- *
- * @param cm the ColorModel object, or null.
- * @param deviceBounds the Rectangle represents the bounding box of
- * device space for the graphics rendering operations.
- * @param userBounds the Rectangle represents bounding box of
- * user space for the graphics rendering operations.
- * @param xform the AffineTransform for translation from user space
- * to device space.
- * @param hints the RenderingHints preferences.
+ * Creates the PaintContext which is used to generate color patterns for
+ * rendering operations of Graphics2D.
*
+ * @param cm
+ * the ColorModel object, or null.
+ * @param deviceBounds
+ * the Rectangle represents the bounding box of device space for
+ * the graphics rendering operations.
+ * @param userBounds
+ * the Rectangle represents bounding box of user space for the
+ * graphics rendering operations.
+ * @param xform
+ * the AffineTransform for translation from user space to device
+ * space.
+ * @param hints
+ * the RenderingHints preferences.
* @return the PaintContext for generating color patterns.
*/
- PaintContext createContext(ColorModel cm, Rectangle deviceBounds,
- Rectangle2D userBounds, AffineTransform xform,
- RenderingHints hints);
+ PaintContext createContext(ColorModel cm, Rectangle deviceBounds, Rectangle2D userBounds,
+ AffineTransform xform, RenderingHints hints);
}
diff --git a/awt/java/awt/PaintContext.java b/awt/java/awt/PaintContext.java
index 647de8b..966b6ca 100644
--- a/awt/java/awt/PaintContext.java
+++ b/awt/java/awt/PaintContext.java
@@ -18,20 +18,22 @@
* @author Alexey A. Petrenko
* @version $Revision$
*/
+
package java.awt;
import java.awt.image.ColorModel;
import java.awt.image.Raster;
/**
- * The PaintContext interface determines the specific environment for
- * generating color patterns in device space for fill, draw, or stroke
- * rendering operations using Graphics2D. This interface provides colors
- * through the Raster object associated with the specific ColorModel
- * for Graphics2D rendering operations.
+ * The PaintContext interface determines the specific environment for generating
+ * color patterns in device space for fill, draw, or stroke rendering operations
+ * using Graphics2D. This interface provides colors through the Raster object
+ * associated with the specific ColorModel for Graphics2D rendering operations.
+ *
+ * @since Android 1.0
*/
public interface PaintContext {
-
+
/**
* Releases the resources allocated for the operation.
*/
@@ -45,20 +47,23 @@ public interface PaintContext {
ColorModel getColorModel();
/**
- * Gets the Raster which defines the colors of the specified rectangular
+ * Gets the Raster which defines the colors of the specified rectangular
* area for Graphics2D rendering operations.
*
- * @param x the X coordinate of the device space area for which
- * colors are generated.
- * @param y the Y coordinate of the device space area for which
- * colors are generated.
- * @param w the width of the device space area for which
- * colors are generated.
- * @param h the height of the device space area for which
- * colors are generated.
- *
- * @return the Raster object which contains the colors of the specified
- * rectangular area for Graphics2D rendering operations.
+ * @param x
+ * the X coordinate of the device space area for which colors are
+ * generated.
+ * @param y
+ * the Y coordinate of the device space area for which colors are
+ * generated.
+ * @param w
+ * the width of the device space area for which colors are
+ * generated.
+ * @param h
+ * the height of the device space area for which colors are
+ * generated.
+ * @return the Raster object which contains the colors of the specified
+ * rectangular area for Graphics2D rendering operations.
*/
Raster getRaster(int x, int y, int w, int h);
}
diff --git a/awt/java/awt/Point.java b/awt/java/awt/Point.java
index 99418ed..8ec4241 100644
--- a/awt/java/awt/Point.java
+++ b/awt/java/awt/Point.java
@@ -18,28 +18,37 @@
* @author Denis M. Kishenko
* @version $Revision$
*/
+
package java.awt;
import java.awt.geom.Point2D;
import java.io.Serializable;
/**
- * The Point class represents a point location with coordinates X, Y in
- * current coordinate system.
+ * The Point class represents a point location with coordinates X, Y in current
+ * coordinate system.
+ *
+ * @since Android 1.0
*/
public class Point extends Point2D implements Serializable {
- /** The Constant serialVersionUID. */
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = -5276940640259749850L;
- /** The X coordinate of Point. */
+ /**
+ * The X coordinate of Point.
+ */
public int x;
-
- /** The Y coordinate of Point. */
+
+ /**
+ * The Y coordinate of Point.
+ */
public int y;
/**
- * Instantiates a new point with (0, O) coordinates, the origin of
+ * Instantiates a new point with (0, O) coordinates, the origin of
* coordinate system.
*/
public Point() {
@@ -49,18 +58,20 @@ public class Point extends Point2D implements Serializable {
/**
* Instantiates a new point with (x, y) coordinates.
*
- * @param x the X coordinate of Point.
- * @param y the Y coordinate of Point.
+ * @param x
+ * the X coordinate of Point.
+ * @param y
+ * the Y coordinate of Point.
*/
public Point(int x, int y) {
setLocation(x, y);
}
/**
- * Instantiates a new point, giving it the same locaion as
- * the parameter p.
+ * Instantiates a new point, giving it the same location as the parameter p.
*
- * @param p the Point object giving the coordinates of the new point.
+ * @param p
+ * the Point object giving the coordinates of the new point.
*/
public Point(Point p) {
setLocation(p.x, p.y);
@@ -69,12 +80,10 @@ public class Point extends Point2D implements Serializable {
/**
* Compares current Point with the specified object.
*
- * @param obj the Object to be compared.
- *
- * @return true, if the Object being compared is a Point
- * whose coordinates are equal to the coordinates of this
- * Point, otherwise false.
- *
+ * @param obj
+ * the Object to be compared.
+ * @return true, if the Object being compared is a Point whose coordinates
+ * are equal to the coordinates of this Point, false otherwise.
* @see java.awt.geom.Point2D#equals(Object)
*/
@Override
@@ -103,7 +112,6 @@ public class Point extends Point2D implements Serializable {
* Gets X coordinate of Point as a double.
*
* @return X coordinate of the point as a double.
- *
* @see java.awt.geom.Point2D#getX()
*/
@Override
@@ -115,7 +123,6 @@ public class Point extends Point2D implements Serializable {
* Gets Y coordinate of Point as a double.
*
* @return Y coordinate of the point as a double.
- *
* @see java.awt.geom.Point2D#getY()
*/
@Override
@@ -135,7 +142,8 @@ public class Point extends Point2D implements Serializable {
/**
* Sets the location of the Point to the same coordinates as p.
*
- * @param p the Point that gives the new location.
+ * @param p
+ * the Point that gives the new location.
*/
public void setLocation(Point p) {
setLocation(p.x, p.y);
@@ -144,8 +152,10 @@ public class Point extends Point2D implements Serializable {
/**
* Sets the location of the Point to the coordinates X, Y.
*
- * @param x the X coordinate of the Point's new location.
- * @param y the Y coordinate of the Point's new location.
+ * @param x
+ * the X coordinate of the Point's new location.
+ * @param y
+ * the Y coordinate of the Point's new location.
*/
public void setLocation(int x, int y) {
this.x = x;
@@ -155,36 +165,43 @@ public class Point extends Point2D implements Serializable {
/**
* Sets the location of Point to the specified double coordinates.
*
- * @param x the X the Point's new location.
- * @param y the Y the Point's new location.
- *
+ * @param x
+ * the X the Point's new location.
+ * @param y
+ * the Y the Point's new location.
* @see java.awt.geom.Point2D#setLocation(double, double)
*/
@Override
public void setLocation(double x, double y) {
- x = x < Integer.MIN_VALUE ? Integer.MIN_VALUE : x > Integer.MAX_VALUE ? Integer.MAX_VALUE : x;
- y = y < Integer.MIN_VALUE ? Integer.MIN_VALUE : y > Integer.MAX_VALUE ? Integer.MAX_VALUE : y;
+ x = x < Integer.MIN_VALUE ? Integer.MIN_VALUE : x > Integer.MAX_VALUE ? Integer.MAX_VALUE
+ : x;
+ y = y < Integer.MIN_VALUE ? Integer.MIN_VALUE : y > Integer.MAX_VALUE ? Integer.MAX_VALUE
+ : y;
setLocation((int)Math.round(x), (int)Math.round(y));
}
/**
* Moves the Point to the specified (x, y) location.
*
- * @param x the X coordinate of the new location.
- * @param y the Y coordinate of the new location.
+ * @param x
+ * the X coordinate of the new location.
+ * @param y
+ * the Y coordinate of the new location.
*/
public void move(int x, int y) {
setLocation(x, y);
}
/**
- * Translates current Point moving it from the position (x, y)
- * to the new position given by (x+dx, x+dy) coordinates.
- *
- * @param dx the horizontal delta - the Point is moved to this distance along
- * X axis.
- * @param dy the vertical delta - the Point is moved to this distance along
- * Y axis.
+ * Translates current Point moving it from the position (x, y) to the new
+ * position given by (x+dx, x+dy) coordinates.
+ *
+ * @param dx
+ * the horizontal delta - the Point is moved to this distance
+ * along X axis.
+ * @param dy
+ * the vertical delta - the Point is moved to this distance along
+ * Y axis.
*/
public void translate(int dx, int dy) {
x += dx;
@@ -192,4 +209,3 @@ public class Point extends Point2D implements Serializable {
}
}
-
diff --git a/awt/java/awt/Polygon.java b/awt/java/awt/Polygon.java
index 6f3fc97..de31eb9 100644
--- a/awt/java/awt/Polygon.java
+++ b/awt/java/awt/Polygon.java
@@ -18,6 +18,7 @@
* @author Denis M. Kishenko
* @version $Revision$
*/
+
package java.awt;
import java.awt.Point;
@@ -34,57 +35,78 @@ import org.apache.harmony.awt.gl.*;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The Polygon class defines an closed area specified by n vertices and
- * n edges. The coordinates of the vertices are specified by x, y arrays.
- * The edges are the line segments from the point (x[i], y[i]) to the point
- * (x[i+1], y[i+1]), for -1 < i < (n-1) plus the line segment from
- * the point (x[n-1], y[n-1]) to the point (x[0], y[0]) point.
- * The Polygon is empty if the number of vertices is zero.
+ * The Polygon class defines an closed area specified by n vertices and n edges.
+ * The coordinates of the vertices are specified by x, y arrays. The edges are
+ * the line segments from the point (x[i], y[i]) to the point (x[i+1], y[i+1]),
+ * for -1 < i < (n-1) plus the line segment from the point (x[n-1], y[n-1]) to
+ * the point (x[0], y[0]) point. The Polygon is empty if the number of vertices
+ * is zero.
+ *
+ * @since Android 1.0
*/
public class Polygon implements Shape, Serializable {
- /** The Constant serialVersionUID. */
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = -6460061437900069969L;
- /** The points buffer capacity. */
+ /**
+ * The points buffer capacity.
+ */
private static final int BUFFER_CAPACITY = 4;
-
- /** The number of Polygon vertices.*/
+
+ /**
+ * The number of Polygon vertices.
+ */
public int npoints;
-
- /** The array of X coordinates of the vertices. */
+
+ /**
+ * The array of X coordinates of the vertices.
+ */
public int[] xpoints;
-
- /** The array of Y coordinates of the vertices. */
+
+ /**
+ * The array of Y coordinates of the vertices.
+ */
public int[] ypoints;
-
- /**
- * The smallest Rectangle that completely contains this Polygon.
+
+ /**
+ * The smallest Rectangle that completely contains this Polygon.
*/
protected Rectangle bounds;
/*
- * Polygon path iterator
+ * Polygon path iterator
*/
/**
* The internal Class Iterator.
*/
class Iterator implements PathIterator {
- /** The source Polygon object. */
+ /**
+ * The source Polygon object.
+ */
public Polygon p;
-
- /** The path iterator transformation. */
+
+ /**
+ * The path iterator transformation.
+ */
public AffineTransform t;
-
- /** The current segmenet index. */
+
+ /**
+ * The current segment index.
+ */
public int index;
/**
- * Constructs a new Polygon.Iterator for the given polygon and transformation
+ * Constructs a new Polygon.Iterator for the given polygon and
+ * transformation
*
- * @param at - the AffineTransform object to apply rectangle path
- * @param p the p
+ * @param at
+ * the AffineTransform object to apply rectangle path.
+ * @param p
+ * the p.
*/
public Iterator(AffineTransform at, Polygon p) {
this.p = p;
@@ -148,18 +170,21 @@ public class Polygon implements Shape, Serializable {
}
/**
- * Instantiates a new polygon with the specified number of vertices,
- * and the given arrays of x, y vertex coordinates. The length of
- * each coordinate array may not be less than the specified number of
- * vertices but may be greater. Only the first n elements are used from
- * each coordinate array.
- *
- * @param xpoints the array of X vertex coordinates.
- * @param ypoints the array of Y vertex coordinates.
- * @param npoints the number vertices of the polygon.
- * @throws IndexOutOfBoundsException if the length of xpoints or ypoints
- * is less than n.
- * @throws NegativeArraySizeException if n is negative.
+ * Instantiates a new polygon with the specified number of vertices, and the
+ * given arrays of x, y vertex coordinates. The length of each coordinate
+ * array may not be less than the specified number of vertices but may be
+ * greater. Only the first n elements are used from each coordinate array.
+ *
+ * @param xpoints
+ * the array of X vertex coordinates.
+ * @param ypoints
+ * the array of Y vertex coordinates.
+ * @param npoints
+ * the number vertices of the polygon.
+ * @throws IndexOutOfBoundsException
+ * if the length of xpoints or ypoints is less than n.
+ * @throws NegativeArraySizeException
+ * if n is negative.
*/
public Polygon(int[] xpoints, int[] ypoints, int npoints) {
if (npoints > xpoints.length || npoints > ypoints.length) {
@@ -178,9 +203,9 @@ public class Polygon implements Shape, Serializable {
}
/**
- * Resets the current Polygon to an empty Polygon. More precisely,
- * the number of Polygon vertices is set to zero, but x, y coordinates
- * arrays are not affected.
+ * Resets the current Polygon to an empty Polygon. More precisely, the
+ * number of Polygon vertices is set to zero, but x, y coordinates arrays
+ * are not affected.
*/
public void reset() {
npoints = 0;
@@ -188,21 +213,22 @@ public class Polygon implements Shape, Serializable {
}
/**
- * Invalidates the data that depends on the vertex coordinates.
- * This method should be called after direct manipulations
- * of the x, y vertex coordinates arrays to avoid unpredictable
- * results of methods which rely on the bounding box.
+ * Invalidates the data that depends on the vertex coordinates. This method
+ * should be called after direct manipulations of the x, y vertex
+ * coordinates arrays to avoid unpredictable results of methods which rely
+ * on the bounding box.
*/
public void invalidate() {
bounds = null;
}
/**
- * Adds the point to the Polygon and updates the bounding box
- * accordingly.
+ * Adds the point to the Polygon and updates the bounding box accordingly.
*
- * @param px the X coordinate of the added vertex.
- * @param py the Y coordinate of the added vertex.
+ * @param px
+ * the X coordinate of the added vertex.
+ * @param py
+ * the Y coordinate of the added vertex.
*/
public void addPoint(int px, int py) {
if (npoints == xpoints.length) {
@@ -222,20 +248,16 @@ public class Polygon implements Shape, Serializable {
npoints++;
if (bounds != null) {
- bounds.setFrameFromDiagonal(
- Math.min(bounds.getMinX(), px),
- Math.min(bounds.getMinY(), py),
- Math.max(bounds.getMaxX(), px),
- Math.max(bounds.getMaxY(), py));
+ bounds.setFrameFromDiagonal(Math.min(bounds.getMinX(), px), Math.min(bounds.getMinY(),
+ py), Math.max(bounds.getMaxX(), px), Math.max(bounds.getMaxY(), py));
}
}
/**
- * Gets the bounding rectangle of the Polygon. The bounding rectangle
- * is the smallest rectangle which contains the Polygon.
+ * Gets the bounding rectangle of the Polygon. The bounding rectangle is the
+ * smallest rectangle which contains the Polygon.
*
* @return the bounding rectangle of the Polygon.
- *
* @see java.awt.Shape#getBounds()
*/
public Rectangle getBounds() {
@@ -270,11 +292,10 @@ public class Polygon implements Shape, Serializable {
}
/**
- * Gets the bounding rectangle of the Polygon. The bounding rectangle
- * is the smallest rectangle which contains the Polygon.
+ * Gets the bounding rectangle of the Polygon. The bounding rectangle is the
+ * smallest rectangle which contains the Polygon.
*
* @return the bounding rectangle of the Polygon.
- *
* @deprecated Use getBounds() method.
*/
@Deprecated
@@ -283,12 +304,10 @@ public class Polygon implements Shape, Serializable {
}
/**
- * Gets the Rectangle2D which represents Polygon bounds.
- * The bounding rectangle is the smallest rectangle which contains
- * the Polygon.
+ * Gets the Rectangle2D which represents Polygon bounds. The bounding
+ * rectangle is the smallest rectangle which contains the Polygon.
*
* @return the bounding rectangle of the Polygon.
- *
* @see java.awt.Shape#getBounds2D()
*/
public Rectangle2D getBounds2D() {
@@ -296,11 +315,13 @@ public class Polygon implements Shape, Serializable {
}
/**
- * Translates all vertices of Polygon the specified distances
- * along X, Y axis.
+ * Translates all vertices of Polygon the specified distances along X, Y
+ * axis.
*
- * @param mx the distance to translate horizontally.
- * @param my the distance to translate vertically.
+ * @param mx
+ * the distance to translate horizontally.
+ * @param my
+ * the distance to translate vertically.
*/
public void translate(int mx, int my) {
for (int i = 0; i < npoints; i++) {
@@ -313,46 +334,47 @@ public class Polygon implements Shape, Serializable {
}
/**
- * Checks whether or not the point given by the coordinates x, y lies inside
+ * Checks whether or not the point given by the coordinates x, y lies inside
* the Polygon.
*
- * @param x the X coordinate of the point to check.
- * @param y the Y coordinate of the point to check.
- *
- * @return true, if the specified point lies inside the Polygon,
- * otherwise false.
- *
+ * @param x
+ * the X coordinate of the point to check.
+ * @param y
+ * the Y coordinate of the point to check.
+ * @return true, if the specified point lies inside the Polygon, false
+ * otherwise.
* @deprecated Use contains(int, int) method.
*/
@Deprecated
public boolean inside(int x, int y) {
- return contains((double) x, (double) y);
+ return contains((double)x, (double)y);
}
/**
- * Checks whether or not the point given by the coordinates x, y lies inside
+ * Checks whether or not the point given by the coordinates x, y lies inside
* the Polygon.
*
- * @param x the X coordinate of the point to check.
- * @param y the Y coordinate of the point to check.
- *
- * @return true, if the specified point lies inside the Polygon,
- * otherwise false.
+ * @param x
+ * the X coordinate of the point to check.
+ * @param y
+ * the Y coordinate of the point to check.
+ * @return true, if the specified point lies inside the Polygon, false
+ * otherwise.
*/
public boolean contains(int x, int y) {
- return contains((double) x, (double) y);
+ return contains((double)x, (double)y);
}
/**
- * Checks whether or not the point with specified double coordinates
- * lies inside the Polygon.
- *
- * @param x the X coordinate of the point to check.
- * @param y the Y coordinate of the point to check.
- *
- * @return true, if the point given by the double coordinates
- * lies inside the Polygon, otherwise false.
- *
+ * Checks whether or not the point with specified double coordinates lies
+ * inside the Polygon.
+ *
+ * @param x
+ * the X coordinate of the point to check.
+ * @param y
+ * the Y coordinate of the point to check.
+ * @return true, if the point given by the double coordinates lies inside
+ * the Polygon, false otherwise.
* @see java.awt.Shape#contains(double, double)
*/
public boolean contains(double x, double y) {
@@ -360,19 +382,21 @@ public class Polygon implements Shape, Serializable {
}
/**
- * Checks whether or not the rectangle determined by the parameters
- * [x, y, width, height] lies inside the Polygon.
- *
- * @param x the X coordinate of the rectangles's left upper
- * corner as a double.
- * @param y the Y coordinate of the rectangles's left upper
- * corner as a double.
- * @param width the width of rectangle as a double.
- * @param width the height of rectangle as a double.
- *
- * @return true, if the specified rectangle lies inside the Polygon,
- * otherwise false.
- *
+ * Checks whether or not the rectangle determined by the parameters [x, y,
+ * width, height] lies inside the Polygon.
+ *
+ * @param x
+ * the X coordinate of the rectangles's left upper corner as a
+ * double.
+ * @param y
+ * the Y coordinate of the rectangles's left upper corner as a
+ * double.
+ * @param width
+ * the width of rectangle as a double.
+ * @param height
+ * the height of rectangle as a double.
+ * @return true, if the specified rectangle lies inside the Polygon, false
+ * otherwise.
* @see java.awt.Shape#contains(double, double, double, double)
*/
public boolean contains(double x, double y, double width, double height) {
@@ -381,20 +405,21 @@ public class Polygon implements Shape, Serializable {
}
/**
- * Checks whether or not the rectangle determined by the parameters
- * [x, y, width, height] intersects the interior of
- * the Polygon.
- *
- * @param x the X coordinate of the rectangles's left upper
- * corner as a double.
- * @param y the Y coordinate of the rectangles's left upper
- * corner as a double.
- * @param width the width of rectangle as a double.
- * @param width the height of rectangle as a double.
- *
- * @return true, if the specified rectangle intersects the interior of
- * the Polygon, otherwise false.
- *
+ * Checks whether or not the rectangle determined by the parameters [x, y,
+ * width, height] intersects the interior of the Polygon.
+ *
+ * @param x
+ * the X coordinate of the rectangles's left upper corner as a
+ * double.
+ * @param y
+ * the Y coordinate of the rectangles's left upper corner as a
+ * double.
+ * @param width
+ * the width of rectangle as a double.
+ * @param height
+ * the height of rectangle as a double.
+ * @return true, if the specified rectangle intersects the interior of the
+ * Polygon, false otherwise.
* @see java.awt.Shape#intersects(double, double, double, double)
*/
public boolean intersects(double x, double y, double width, double height) {
@@ -405,11 +430,10 @@ public class Polygon implements Shape, Serializable {
/**
* Checks whether or not the specified rectangle lies inside the Polygon.
*
- * @param rect the Rectangle2D object.
- *
- * @return true, if the specified rectangle lies inside the Polygon,
- * otherwise false.
- *
+ * @param rect
+ * the Rectangle2D object.
+ * @return true, if the specified rectangle lies inside the Polygon, false
+ * otherwise.
* @see java.awt.Shape#contains(java.awt.geom.Rectangle2D)
*/
public boolean contains(Rectangle2D rect) {
@@ -419,10 +443,10 @@ public class Polygon implements Shape, Serializable {
/**
* Checks whether or not the specified Point lies inside the Polygon.
*
- * @param point the Point object.
- *
- * @return true, if the specified Point lies inside the Polygon,
- * otherwise false.
+ * @param point
+ * the Point object.
+ * @return true, if the specified Point lies inside the Polygon, false
+ * otherwise.
*/
public boolean contains(Point point) {
return contains(point.getX(), point.getY());
@@ -431,11 +455,10 @@ public class Polygon implements Shape, Serializable {
/**
* Checks whether or not the specified Point2D lies inside the Polygon.
*
- * @param point the Point2D object.
- *
- * @return true, if the specified Point2D lies inside the Polygon,
- * otherwise false.
- *
+ * @param point
+ * the Point2D object.
+ * @return true, if the specified Point2D lies inside the Polygon, false
+ * otherwise.
* @see java.awt.Shape#contains(java.awt.geom.Point2D)
*/
public boolean contains(Point2D point) {
@@ -443,14 +466,13 @@ public class Polygon implements Shape, Serializable {
}
/**
- * Checks whether or not the interior of rectangle specified by
- * the Rectangle2D object intersects the interior of the Polygon.
- *
- * @param rect the Rectangle2D object.
- *
- * @return true, if the Rectangle2D intersects the interior of
- * the Polygon, otherwise false.
+ * Checks whether or not the interior of rectangle specified by the
+ * Rectangle2D object intersects the interior of the Polygon.
*
+ * @param rect
+ * the Rectangle2D object.
+ * @return true, if the Rectangle2D intersects the interior of the Polygon,
+ * false otherwise.
* @see java.awt.Shape#intersects(java.awt.geom.Rectangle2D)
*/
public boolean intersects(Rectangle2D rect) {
@@ -458,13 +480,12 @@ public class Polygon implements Shape, Serializable {
}
/**
- * Gets the PathIterator object which gives the coordinates of
- * the polygon, transformed according to the specified AffineTransform.
- *
- * @param t the specified AffineTransform object, or null.
+ * Gets the PathIterator object which gives the coordinates of the polygon,
+ * transformed according to the specified AffineTransform.
*
+ * @param t
+ * the specified AffineTransform object or null.
* @return PathIterator object for the Polygon.
- *
* @see java.awt.Shape#getPathIterator(java.awt.geom.AffineTransform)
*/
public PathIterator getPathIterator(AffineTransform t) {
@@ -472,23 +493,23 @@ public class Polygon implements Shape, Serializable {
}
/**
- * Gets the PathIterator object which gives the coordinates of
- * the polygon, transformed according to the specified AffineTransform.
- * The flatness parameter is ignored.
- *
- * @param t the specified AffineTransform object, or null.
- * @param flatness the maximum number of the control points for
- * a given curve which varies from colinear before a subdivided curve
- * is replaced by a straight line connecting the endpoints.
- * This parameter is ignored for the Polygon class.
- *
+ * Gets the PathIterator object which gives the coordinates of the polygon,
+ * transformed according to the specified AffineTransform. The flatness
+ * parameter is ignored.
+ *
+ * @param t
+ * the specified AffineTransform object or null.
+ * @param flatness
+ * the maximum number of the control points for a given curve
+ * which varies from colinear before a subdivided curve is
+ * replaced by a straight line connecting the endpoints. This
+ * parameter is ignored for the Polygon class.
* @return PathIterator object for the Polygon.
- *
- * @see java.awt.Shape#getPathIterator(java.awt.geom.AffineTransform, double)
+ * @see java.awt.Shape#getPathIterator(java.awt.geom.AffineTransform,
+ * double)
*/
public PathIterator getPathIterator(AffineTransform t, double flatness) {
return new Iterator(t, this);
}
}
-
diff --git a/awt/java/awt/Rectangle.java b/awt/java/awt/Rectangle.java
index 86c4dfc..d8ebb3a 100644
--- a/awt/java/awt/Rectangle.java
+++ b/awt/java/awt/Rectangle.java
@@ -18,36 +18,48 @@
* @author Denis M. Kishenko
* @version $Revision$
*/
+
package java.awt;
import java.awt.geom.Rectangle2D;
import java.io.Serializable;
/**
- * The Rectangle class defines the rectangular area in terms of its
- * upper left corner coordinates [x,y], its width, and its height.
- * A Rectangle specified by [x, y, width, height] parameters has an
- * outline path with corners at [x, y], [x + width,y], [x + width,y + height],
- * and [x, y + height].
- * <br><br>
- * The rectangle is empty if the width or height is negative or zero.
- * In this case the isEmpty method returns true.
+ * The Rectangle class defines the rectangular area in terms of its upper left
+ * corner coordinates [x,y], its width, and its height. A Rectangle specified by
+ * [x, y, width, height] parameters has an outline path with corners at [x, y],
+ * [x + width,y], [x + width,y + height], and [x, y + height]. <br>
+ * <br>
+ * The rectangle is empty if the width or height is negative or zero. In this
+ * case the isEmpty method returns true.
+ *
+ * @since Android 1.0
*/
public class Rectangle extends Rectangle2D implements Shape, Serializable {
- /** The Constant serialVersionUID. */
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = -4345857070255674764L;
- /** The X coordinate of the rectangle's left upper corner. */
+ /**
+ * The X coordinate of the rectangle's left upper corner.
+ */
public int x;
-
- /** The Y coordinate of the rectangle's left upper corner. */
+
+ /**
+ * The Y coordinate of the rectangle's left upper corner.
+ */
public int y;
-
- /** The width of rectangle. */
+
+ /**
+ * The width of rectangle.
+ */
public int width;
-
- /** The height of rectangle. */
+
+ /**
+ * The height of rectangle.
+ */
public int height;
/**
@@ -60,73 +72,82 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
/**
* Instantiates a new rectangle whose upper left corner coordinates are
- * given by the Point object (p.X and p.Y), and the width and
- * the height are zero.
+ * given by the Point object (p.X and p.Y), and the width and the height are
+ * zero.
*
- * @param p the Point specifies the upper left corner coordinates of
- * the rectangle.
+ * @param p
+ * the Point specifies the upper left corner coordinates of the
+ * rectangle.
*/
public Rectangle(Point p) {
setBounds(p.x, p.y, 0, 0);
}
/**
- * Instantiates a new rectangle whose upper left corner coordinates are
- * given by the Point object (p.X and p.Y), and the width and the height
- * are given by Dimension object (d.width and d.height).
+ * Instantiates a new rectangle whose upper left corner coordinates are
+ * given by the Point object (p.X and p.Y), and the width and the height are
+ * given by Dimension object (d.width and d.height).
*
- * @param p the Point specifies the upper left corner coordinates of
- * the rectangle.
- * @param d the Dimention specifies the width and the height of the rectangle.
+ * @param p
+ * the point specifies the upper left corner coordinates of the
+ * rectangle.
+ * @param d
+ * the dimension specifies the width and the height of the
+ * rectangle.
*/
public Rectangle(Point p, Dimension d) {
setBounds(p.x, p.y, d.width, d.height);
}
/**
- * Instantiates a new rectangle determined by the upper left corner
+ * Instantiates a new rectangle determined by the upper left corner
* coordinates (x, y), width and height.
*
- * @param x the X upper left corner coordinate of the rectangle.
- * @param y the Y upper left corner coordinate of the rectangle.
- * @param width the width of rectangle.
- * @param height the height of rectangle.
+ * @param x
+ * the X upper left corner coordinate of the rectangle.
+ * @param y
+ * the Y upper left corner coordinate of the rectangle.
+ * @param width
+ * the width of rectangle.
+ * @param height
+ * the height of rectangle.
*/
public Rectangle(int x, int y, int width, int height) {
setBounds(x, y, width, height);
}
/**
- * Instantiates a new rectangle with [0, 0] as its upper left
- * corner coordinates and the specified width and height.
+ * Instantiates a new rectangle with [0, 0] as its upper left corner
+ * coordinates and the specified width and height.
*
- * @param width the width of rectangle.
- * @param height the height of rectangle.
+ * @param width
+ * the width of rectangle.
+ * @param height
+ * the height of rectangle.
*/
public Rectangle(int width, int height) {
setBounds(0, 0, width, height);
}
/**
- * Instantiates a new rectangle with the same coordinates
- * as the given source rectangle.
+ * Instantiates a new rectangle with the same coordinates as the given
+ * source rectangle.
*
- * @param r the Rectangle object which parameters will be used for
- * instantiating a new Rectangle.
+ * @param r
+ * the Rectangle object which parameters will be used for
+ * instantiating a new Rectangle.
*/
public Rectangle(Rectangle r) {
setBounds(r.x, r.y, r.width, r.height);
}
-/*
- public Rectangle(Dimension d) {
- setBounds(0, 0, d.width, d.height);
- }
-*/
+
+ /*
+ * public Rectangle(Dimension d) { setBounds(0, 0, d.width, d.height); }
+ */
/**
* Gets the X coordinate of bound as a double.
*
* @return the X coordinate of bound as a double.
- *
* @see java.awt.geom.RectangularShape#getX()
*/
@Override
@@ -138,7 +159,6 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
* Gets the Y coordinate of bound as a double.
*
* @return the Y coordinate of bound as a double.
- *
* @see java.awt.geom.RectangularShape#getY()
*/
@Override
@@ -149,8 +169,7 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
/**
* Gets the height of the rectangle as a double.
*
- * @return the height of the rectangle as a double.
- *
+ * @return the height of the rectangle as a double.
* @see java.awt.geom.RectangularShape#getHeight()
*/
@Override
@@ -162,7 +181,6 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
* Gets the width of the rectangle as a double.
*
* @return the width of the rectangle as a double.
- *
* @see java.awt.geom.RectangularShape#getWidth()
*/
@Override
@@ -171,11 +189,10 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
}
/**
- * Determines whether or not the rectangle is empty. The rectangle is empty if
- * its width or height is negative or zero.
+ * Determines whether or not the rectangle is empty. The rectangle is empty
+ * if its width or height is negative or zero.
*
* @return true, if the rectangle is empty, otherwise false.
- *
* @see java.awt.geom.RectangularShape#isEmpty()
*/
@Override
@@ -184,9 +201,9 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
}
/**
- * Gets the size of a Rectangle as Dimention object.
+ * Gets the size of a Rectangle as Dimension object.
*
- * @return a Dimention object which represents size of the rectangle.
+ * @return a Dimension object which represents size of the rectangle.
*/
public Dimension getSize() {
return new Dimension(width, height);
@@ -195,8 +212,10 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
/**
* Sets the size of the Rectangle.
*
- * @param width the new width of the rectangle.
- * @param height the new height of the rectangle.
+ * @param width
+ * the new width of the rectangle.
+ * @param height
+ * the new height of the rectangle.
*/
public void setSize(int width, int height) {
this.width = width;
@@ -206,7 +225,8 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
/**
* Sets the size of a Rectangle specified as Dimension object.
*
- * @param d a Dimension object which represents new size of a rectangle.
+ * @param d
+ * a Dimension object which represents new size of a rectangle.
*/
public void setSize(Dimension d) {
setSize(d.width, d.height);
@@ -215,19 +235,21 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
/**
* Gets the location of a rectangle's upper left corner as a Point object.
*
- * @return the Point object with coordinates equal to the upper left corner
- * of the rectangle.
+ * @return the Point object with coordinates equal to the upper left corner
+ * of the rectangle.
*/
public Point getLocation() {
return new Point(x, y);
}
/**
- * Sets the location of the rectangle in terms of its upper left
- * corner coordinates X and Y.
+ * Sets the location of the rectangle in terms of its upper left corner
+ * coordinates X and Y.
*
- * @param x the X coordinate of the rectangle's upper left corner.
- * @param y the Y coordinate of the rectangle's upper left corner.
+ * @param x
+ * the X coordinate of the rectangle's upper left corner.
+ * @param y
+ * the Y coordinate of the rectangle's upper left corner.
*/
public void setLocation(int x, int y) {
this.x = x;
@@ -235,23 +257,25 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
}
/**
- * Sets the location of a rectangle using a Point object to give the
+ * Sets the location of a rectangle using a Point object to give the
* coordinates of the upper left corner.
*
- * @param p the Point object which represents the new upper left corner
- * coordinates of rectangle.
+ * @param p
+ * the Point object which represents the new upper left corner
+ * coordinates of rectangle.
*/
public void setLocation(Point p) {
setLocation(p.x, p.y);
}
/**
- * Moves a rectangle to the new location by moving its upper left corner
- * to the point with coordinates X and Y.
- *
- * @param x the new X coordinate of the rectangle's upper left corner.
- * @param y the new Y coordinate of the rectangle's upper left corner.
+ * Moves a rectangle to the new location by moving its upper left corner to
+ * the point with coordinates X and Y.
*
+ * @param x
+ * the new X coordinate of the rectangle's upper left corner.
+ * @param y
+ * the new Y coordinate of the rectangle's upper left corner.
* @deprecated Use setLocation(int, int) method.
*/
@Deprecated
@@ -260,16 +284,19 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
}
/**
- * Sets the rectangle to be the nearest rectangle with integer coordinates
+ * Sets the rectangle to be the nearest rectangle with integer coordinates
* bounding the rectangle defined by the double-valued parameters.
*
- * @param x the X coordinate of the upper left corner of the double-valued
- * rectangle to be bounded.
- * @param y the Y coordinate of the upper left corner of the double-valued
- * rectangle to be bounded.
- * @param width the width of the rectangle to be bounded.
- * @param height the height of the rectangle to be bounded.
- *
+ * @param x
+ * the X coordinate of the upper left corner of the double-valued
+ * rectangle to be bounded.
+ * @param y
+ * the Y coordinate of the upper left corner of the double-valued
+ * rectangle to be bounded.
+ * @param width
+ * the width of the rectangle to be bounded.
+ * @param height
+ * the height of the rectangle to be bounded.
* @see java.awt.geom.Rectangle2D#setRect(double, double, double, double)
*/
@Override
@@ -284,9 +311,10 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
/**
* Sets a new size for the rectangle.
*
- * @param width the rectangle's new width.
- * @param height the rectangle's new height.
- *
+ * @param width
+ * the rectangle's new width.
+ * @param height
+ * the rectangle's new height.
* @deprecated use the setSize(int, int) method.
*/
@Deprecated
@@ -295,14 +323,17 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
}
/**
- * Resets the bounds of a rectangle to the specified x, y, width and height
+ * Resets the bounds of a rectangle to the specified x, y, width and height
* parameters.
*
- * @param x the new X coordinate of the upper left corner.
- * @param y the new Y coordinate of the upper left corner.
- * @param width the new width of rectangle.
- * @param height the new height of rectangle.
- *
+ * @param x
+ * the new X coordinate of the upper left corner.
+ * @param y
+ * the new Y coordinate of the upper left corner.
+ * @param width
+ * the new width of rectangle.
+ * @param height
+ * the new height of rectangle.
* @deprecated use setBounds(int, int, int, int) method
*/
@Deprecated
@@ -312,10 +343,9 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
/**
* Gets bounds of the rectangle as a new Rectangle object.
- *
- * @return the Rectangle object with the same bounds as
- * the original rectangle.
*
+ * @return the Rectangle object with the same bounds as the original
+ * rectangle.
* @see java.awt.geom.RectangularShape#getBounds()
*/
@Override
@@ -325,10 +355,9 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
/**
* Gets the bounds of the original rectangle as a Rectangle2D object.
- *
- * @return the Rectangle2D object which represents the bounds of
- * the original rectangle.
*
+ * @return the Rectangle2D object which represents the bounds of the
+ * original rectangle.
* @see java.awt.geom.Rectangle2D#getBounds2D()
*/
@Override
@@ -337,13 +366,17 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
}
/**
- * Sets the bounds of a rectangle to the specified x, y, width, and height
+ * Sets the bounds of a rectangle to the specified x, y, width, and height
* parameters.
*
- * @param x the X coordinate of the upper left corner.
- * @param y the Y coordinate of the upper left corner.
- * @param width the width of rectangle.
- * @param height the height of rectangle.
+ * @param x
+ * the X coordinate of the upper left corner.
+ * @param y
+ * the Y coordinate of the upper left corner.
+ * @param width
+ * the width of rectangle.
+ * @param height
+ * the height of rectangle.
*/
public void setBounds(int x, int y, int width, int height) {
this.x = x;
@@ -353,25 +386,26 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
}
/**
- * Sets the bounds of the rectangle to match the bounds of the
- * Rectangle object sent as a parameter.
+ * Sets the bounds of the rectangle to match the bounds of the Rectangle
+ * object sent as a parameter.
*
- * @param r the Rectangle object which specifies the new bounds.
+ * @param r
+ * the Rectangle object which specifies the new bounds.
*/
public void setBounds(Rectangle r) {
setBounds(r.x, r.y, r.width, r.height);
}
/**
- * Enlarges the rectangle by moving each corner outward from the
- * center by a distance of dx horizonally and a distance of dy
- * vertically. Specifically, changes a rectangle with
- * [x, y, width, height] parameters to
- * a rectangle with [x-dx, y-dy, width+2*dx, height+2*dy]
- * parameters.
- *
- * @param dx the horizontal distance to move each corner coordinate.
- * @param dy the vertical distance to move each corner coordinate.
+ * Enlarges the rectangle by moving each corner outward from the center by a
+ * distance of dx horizonally and a distance of dy vertically. Specifically,
+ * changes a rectangle with [x, y, width, height] parameters to a rectangle
+ * with [x-dx, y-dy, width+2*dx, height+2*dy] parameters.
+ *
+ * @param dx
+ * the horizontal distance to move each corner coordinate.
+ * @param dy
+ * the vertical distance to move each corner coordinate.
*/
public void grow(int dx, int dy) {
x -= dx;
@@ -381,11 +415,13 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
}
/**
- * Moves a rectangle a distance of mx along the x coordinate axis
- * and a distance of my along y coordinate axis.
+ * Moves a rectangle a distance of mx along the x coordinate axis and a
+ * distance of my along y coordinate axis.
*
- * @param mx the horizontal translation increment.
- * @param my the vertical translation increment.
+ * @param mx
+ * the horizontal translation increment.
+ * @param my
+ * the vertical translation increment.
*/
public void translate(int mx, int my) {
x += mx;
@@ -395,8 +431,12 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
/**
* Enlarges the rectangle to cover the specified point.
*
- * @param px the X coordinate of the new point to be covered by the rectangle.
- * @param py the Y coordinate of the new point to be covered by the rectangle.
+ * @param px
+ * the X coordinate of the new point to be covered by the
+ * rectangle.
+ * @param py
+ * the Y coordinate of the new point to be covered by the
+ * rectangle.
*/
public void add(int px, int py) {
int x1 = Math.min(x, px);
@@ -407,11 +447,12 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
}
/**
- * Enlarges the rectangle to cover the specified point with the
- * new point given as a Point object.
+ * Enlarges the rectangle to cover the specified point with the new point
+ * given as a Point object.
*
- * @param p the Point object that specifies the new point to
- * be covered by the rectangle.
+ * @param p
+ * the Point object that specifies the new point to be covered by
+ * the rectangle.
*/
public void add(Point p) {
add(p.x, p.y);
@@ -421,7 +462,8 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
* Adds a new rectangle to the original rectangle, the result is an union of
* the specified specified rectangle and original rectangle.
*
- * @param r the Rectangle which is added to the original rectangle.
+ * @param r
+ * the Rectangle which is added to the original rectangle.
*/
public void add(Rectangle r) {
int x1 = Math.min(x, r.x);
@@ -432,14 +474,15 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
}
/**
- * Determines whether or not the point with specified coordinates [px, py]
+ * Determines whether or not the point with specified coordinates [px, py]
* is within the bounds of the rectangle.
*
- * @param px the X coordinate of point.
- * @param py the Y coordinate of point.
- *
- * @return true, if the point with specified coordinates [px, py] is
- * within the bounds of the rectangle, otherwise false.
+ * @param px
+ * the X coordinate of point.
+ * @param py
+ * the Y coordinate of point.
+ * @return true, if the point with specified coordinates [px, py] is within
+ * the bounds of the rectangle, false otherwise.
*/
public boolean contains(int px, int py) {
if (isEmpty()) {
@@ -454,29 +497,32 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
}
/**
- * Determines whether or not the point given as a Point object
- * is within the bounds of the rectangle.
- *
- * @param p the Point object
+ * Determines whether or not the point given as a Point object is within the
+ * bounds of the rectangle.
*
- * @return true, if the point p is within the bounds of the
- * rectangle, otherwise false.
+ * @param p
+ * the Point object
+ * @return true, if the point p is within the bounds of the rectangle,
+ * otherwise false.
*/
public boolean contains(Point p) {
return contains(p.x, p.y);
}
/**
- * Determines whether or not the rectangle specified by [rx, ry, rw, rh]
+ * Determines whether or not the rectangle specified by [rx, ry, rw, rh]
* parameters is located inside the original rectangle.
*
- * @param rx the X coordinate of the rectangle to compare.
- * @param ry the Y coordinate of the rectangle to compare.
- * @param rw the width of the rectangle to compare.
- * @param rh the height of the rectangle to compare.
- *
+ * @param rx
+ * the X coordinate of the rectangle to compare.
+ * @param ry
+ * the Y coordinate of the rectangle to compare.
+ * @param rw
+ * the width of the rectangle to compare.
+ * @param rh
+ * the height of the rectangle to compare.
* @return true, if a rectangle with [rx, ry, rw, rh] parameters is entirely
- * contained in the original rectangle, otherwise false.
+ * contained in the original rectangle, false otherwise.
*/
public boolean contains(int rx, int ry, int rw, int rh) {
return contains(rx, ry) && contains(rx + rw - 1, ry + rh - 1);
@@ -486,25 +532,25 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
* Compares whether or not the rectangle specified by the Rectangle object
* is located inside the original rectangle.
*
- * @param r the Rectangle object.
- *
+ * @param r
+ * the Rectangle object.
* @return true, if the rectangle specified by Rectangle object is entirely
- * contained in the original rectangle, otherwise false.
+ * contained in the original rectangle, false otherwise.
*/
public boolean contains(Rectangle r) {
return contains(r.x, r.y, r.width, r.height);
}
/**
- * Compares whether or not a point with specified coordinates [px, py] belongs
- * to a rectangle.
- *
- * @param px the X coordinate of a point.
- * @param py the Y coordinate of a point.
- *
- * @return true, if a point with specified coordinates [px, py] belongs
- * to a rectangle, otherwise false.
+ * Compares whether or not a point with specified coordinates [px, py]
+ * belongs to a rectangle.
*
+ * @param px
+ * the X coordinate of a point.
+ * @param py
+ * the Y coordinate of a point.
+ * @return true, if a point with specified coordinates [px, py] belongs to a
+ * rectangle, otherwise false.
* @deprecated use contains(int, int) method.
*/
@Deprecated
@@ -513,20 +559,19 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
}
/**
- * Returns the intersection of the original rectangle with the
- * specified Rectangle2D.
- *
- * @param r the Rectangle2D object.
- *
- * @return the Rectangle2D object that is the result of intersecting
- * the original rectangle with the specified Rectangle2D.
+ * Returns the intersection of the original rectangle with the specified
+ * Rectangle2D.
*
+ * @param r
+ * the Rectangle2D object.
+ * @return the Rectangle2D object that is the result of intersecting the
+ * original rectangle with the specified Rectangle2D.
* @see java.awt.geom.Rectangle2D#createIntersection(java.awt.geom.Rectangle2D)
*/
@Override
public Rectangle2D createIntersection(Rectangle2D r) {
if (r instanceof Rectangle) {
- return intersection((Rectangle) r);
+ return intersection((Rectangle)r);
}
Rectangle2D dst = new Rectangle2D.Double();
Rectangle2D.intersect(this, r, dst);
@@ -534,14 +579,13 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
}
/**
- * Returns the intersection of the original rectangle with the
- * specified rectangle. An empty rectangle is returned if there is no
- * intersection.
- *
- * @param r the Rectangle object.
+ * Returns the intersection of the original rectangle with the specified
+ * rectangle. An empty rectangle is returned if there is no intersection.
*
- * @return the Rectangle object is result of the original rectangle with the
- * specified rectangle.
+ * @param r
+ * the Rectangle object.
+ * @return the Rectangle object is result of the original rectangle with the
+ * specified rectangle.
*/
public Rectangle intersection(Rectangle r) {
int x1 = Math.max(x, r.x);
@@ -552,39 +596,38 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
}
/**
- * Determines whether or not the original rectangle intersects
- * the specified rectangle.
+ * Determines whether or not the original rectangle intersects the specified
+ * rectangle.
*
- * @param r the Rectangle object.
- *
- * @return true, if the two rectangles overlap; otherwise false.
+ * @param r
+ * the Rectangle object.
+ * @return true, if the two rectangles overlap, false otherwise.
*/
public boolean intersects(Rectangle r) {
return !intersection(r).isEmpty();
}
/**
- * Determines where the specified Point is located with respect to
- * the rectangle. This method computes whether the point is to the
- * right or to the left of the rectangle and whether it is above
- * or below the rectangle, and packs the result into an int by
- * using a binary OR operation with the following masks:
+ * Determines where the specified Point is located with respect to the
+ * rectangle. This method computes whether the point is to the right or to
+ * the left of the rectangle and whether it is above or below the rectangle,
+ * and packs the result into an integer by using a binary OR operation with
+ * the following masks:
* <ul>
*<li>Rectangle2D.OUT_LEFT</li>
*<li>Rectangle2D.OUT_TOP</li>
*<li>Rectangle2D.OUT_RIGHT</li>
*<li>Rectangle2D.OUT_BOTTOM</li>
*</ul>
- *
- * If the rectangle is empty, all masks are set, and if the
- * point is inside the rectangle, none are set.
- *
- * @param px the X coordinate of the specified point.
- * @param py the Y coordinate of the specified point.
- *
- * @return the location of the Point relative to the rectangle
- * as the result of logical OR operation with all out masks.
- *
+ * If the rectangle is empty, all masks are set, and if the point is inside
+ * the rectangle, none are set.
+ *
+ * @param px
+ * the X coordinate of the specified point.
+ * @param py
+ * the Y coordinate of the specified point.
+ * @return the location of the Point relative to the rectangle as the result
+ * of logical OR operation with all out masks.
* @see java.awt.geom.Rectangle2D#outcode(double, double)
*/
@Override
@@ -593,23 +636,19 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
if (width <= 0) {
code |= OUT_LEFT | OUT_RIGHT;
- } else
- if (px < x) {
- code |= OUT_LEFT;
- } else
- if (px > x + width) {
- code |= OUT_RIGHT;
- }
+ } else if (px < x) {
+ code |= OUT_LEFT;
+ } else if (px > x + width) {
+ code |= OUT_RIGHT;
+ }
if (height <= 0) {
code |= OUT_TOP | OUT_BOTTOM;
- } else
- if (py < y) {
- code |= OUT_TOP;
- } else
- if (py > y + height) {
- code |= OUT_BOTTOM;
- }
+ } else if (py < y) {
+ code |= OUT_TOP;
+ } else if (py > y + height) {
+ code |= OUT_BOTTOM;
+ }
return code;
}
@@ -617,10 +656,9 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
/**
* Enlarges the rectangle to cover the specified Rectangle2D.
*
- * @param r the Rectangle2D object.
- *
+ * @param r
+ * the Rectangle2D object.
* @return the union of the original and the specified Rectangle2D.
- *
* @see java.awt.geom.Rectangle2D#createUnion(java.awt.geom.Rectangle2D)
*/
@Override
@@ -636,8 +674,8 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
/**
* Enlarges the rectangle to cover the specified rectangle.
*
- * @param r the Rectangle.
- *
+ * @param r
+ * the Rectangle.
* @return the union of the original and the specified rectangle.
*/
public Rectangle union(Rectangle r) {
@@ -649,11 +687,10 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
/**
* Compares the original Rectangle with the specified object.
*
- * @param obj the specified Object for comparison.
- *
- * @return true, if the specified Object is a rectangle with the
- * same dimensions as the original rectangle, otherwise false.
- *
+ * @param obj
+ * the specified Object for comparison.
+ * @return true, if the specified Object is a rectangle with the same
+ * dimensions as the original rectangle, false otherwise.
* @see java.awt.geom.Rectangle2D#equals(Object)
*/
@Override
@@ -669,18 +706,18 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable {
}
/**
- * Returns a string representation of the rectangle; the string contains
- * [x, y, width, height] parameters of the rectangle.
+ * Returns a string representation of the rectangle; the string contains [x,
+ * y, width, height] parameters of the rectangle.
*
* @return the string representation of the rectangle.
*/
@Override
public String toString() {
- // The output format based on 1.5 release behaviour. It could be obtained in the following way
+ // The output format based on 1.5 release behaviour. It could be
+ // obtained in the following way
// System.out.println(new Rectangle().toString())
return getClass().getName() + "[x=" + x + ",y=" + y + //$NON-NLS-1$ //$NON-NLS-2$
- ",width=" + width + ",height=" + height + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ",width=" + width + ",height=" + height + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
}
-
diff --git a/awt/java/awt/RenderingHints.java b/awt/java/awt/RenderingHints.java
index 4957884..acf6fa1 100644
--- a/awt/java/awt/RenderingHints.java
+++ b/awt/java/awt/RenderingHints.java
@@ -18,6 +18,7 @@
* @author Alexey A. Petrenko
* @version $Revision$
*/
+
package java.awt;
import java.util.Collection;
@@ -27,224 +28,219 @@ import java.util.Map;
import java.util.Set;
/**
- * The RenderingHints class represents preferences for the rendering algorithms.
- * The preferences are arbitrary and can be specified by Map objects or by
- * key-value pairs.
+ * The RenderingHints class represents preferences for the rendering algorithms.
+ * The preferences are arbitrary and can be specified by Map objects or by
+ * key-value pairs.
+ *
+ * @since Android 1.0
*/
public class RenderingHints implements Map<Object, Object>, Cloneable {
-
+
/**
- * The Constant KEY_ALPHA_INTERPOLATION - alpha interpolation rendering
- * hint key.
+ * The Constant KEY_ALPHA_INTERPOLATION - alpha interpolation rendering hint
+ * key.
*/
public static final Key KEY_ALPHA_INTERPOLATION = new KeyImpl(1);
-
- /**
+
+ /**
* The Constant VALUE_ALPHA_INTERPOLATION_DEFAULT - alpha interpolation
* rendering hint value.
*/
- public static final Object VALUE_ALPHA_INTERPOLATION_DEFAULT = new KeyValue(KEY_ALPHA_INTERPOLATION);
-
- /**
+ public static final Object VALUE_ALPHA_INTERPOLATION_DEFAULT = new KeyValue(
+ KEY_ALPHA_INTERPOLATION);
+
+ /**
* The Constant VALUE_ALPHA_INTERPOLATION_SPEED - alpha interpolation
* rendering hint value.
*/
- public static final Object VALUE_ALPHA_INTERPOLATION_SPEED = new KeyValue(KEY_ALPHA_INTERPOLATION);
-
- /**
+ public static final Object VALUE_ALPHA_INTERPOLATION_SPEED = new KeyValue(
+ KEY_ALPHA_INTERPOLATION);
+
+ /**
* The Constant VALUE_ALPHA_INTERPOLATION_QUALITY - alpha interpolation
* rendering hint value.
*/
- public static final Object VALUE_ALPHA_INTERPOLATION_QUALITY = new KeyValue(KEY_ALPHA_INTERPOLATION);
+ public static final Object VALUE_ALPHA_INTERPOLATION_QUALITY = new KeyValue(
+ KEY_ALPHA_INTERPOLATION);
- /**
- * The Constant KEY_ANTIALIASING - antialiasing rendering
- * hint key.
+ /**
+ * The Constant KEY_ANTIALIASING - antialiasing rendering hint key.
*/
public static final Key KEY_ANTIALIASING = new KeyImpl(2);
-
+
/**
- * The Constant VALUE_ANTIALIAS_DEFAULT - antialiasing
- * rendering hint value.
+ * The Constant VALUE_ANTIALIAS_DEFAULT - antialiasing rendering hint value.
*/
public static final Object VALUE_ANTIALIAS_DEFAULT = new KeyValue(KEY_ANTIALIASING);
-
- /**
- * The Constant VALUE_ANTIALIAS_ON - antialiasing
- * rendering hint value.
+
+ /**
+ * The Constant VALUE_ANTIALIAS_ON - antialiasing rendering hint value.
*/
public static final Object VALUE_ANTIALIAS_ON = new KeyValue(KEY_ANTIALIASING);
-
+
/**
- * The Constant VALUE_ANTIALIAS_OFF - antialiasing
- * rendering hint value.
+ * The Constant VALUE_ANTIALIAS_OFF - antialiasing rendering hint value.
*/
public static final Object VALUE_ANTIALIAS_OFF = new KeyValue(KEY_ANTIALIASING);
- /**
- * The Constant KEY_COLOR_RENDERING - color rendering
- * hint key.
+ /**
+ * The Constant KEY_COLOR_RENDERING - color rendering hint key.
*/
public static final Key KEY_COLOR_RENDERING = new KeyImpl(3);
-
+
/**
- * The Constant VALUE_COLOR_RENDER_DEFAULT - color
- * rendering hint value.
+ * The Constant VALUE_COLOR_RENDER_DEFAULT - color rendering hint value.
*/
public static final Object VALUE_COLOR_RENDER_DEFAULT = new KeyValue(KEY_COLOR_RENDERING);
-
- /**
- * The Constant VALUE_COLOR_RENDER_SPEED - color
- * rendering hint value.
+
+ /**
+ * The Constant VALUE_COLOR_RENDER_SPEED - color rendering hint value.
*/
public static final Object VALUE_COLOR_RENDER_SPEED = new KeyValue(KEY_COLOR_RENDERING);
-
- /**
- * The Constant VALUE_COLOR_RENDER_QUALITY - color
- * rendering hint value.
+
+ /**
+ * The Constant VALUE_COLOR_RENDER_QUALITY - color rendering hint value.
*/
public static final Object VALUE_COLOR_RENDER_QUALITY = new KeyValue(KEY_COLOR_RENDERING);
/**
- * The Constant KEY_DITHERING - dithering
- * rendering hint key.
+ * The Constant KEY_DITHERING - dithering rendering hint key.
*/
public static final Key KEY_DITHERING = new KeyImpl(4);
-
+
/**
- * The Constant VALUE_DITHER_DEFAULT - dithering
- * rendering hint value.
+ * The Constant VALUE_DITHER_DEFAULT - dithering rendering hint value.
*/
public static final Object VALUE_DITHER_DEFAULT = new KeyValue(KEY_DITHERING);
-
- /**
- * The Constant VALUE_DITHER_DISABLE - dithering
- * rendering hint value.
+
+ /**
+ * The Constant VALUE_DITHER_DISABLE - dithering rendering hint value.
*/
public static final Object VALUE_DITHER_DISABLE = new KeyValue(KEY_DITHERING);
-
- /**
- * The Constant VALUE_DITHER_DISABLE - dithering
- * rendering hint value.
+
+ /**
+ * The Constant VALUE_DITHER_DISABLE - dithering rendering hint value.
*/
public static final Object VALUE_DITHER_ENABLE = new KeyValue(KEY_DITHERING);
- /**
- * The Constant KEY_FRACTIONALMETRICS - fractional metrics
- * rendering hint key.
+ /**
+ * The Constant KEY_FRACTIONALMETRICS - fractional metrics rendering hint
+ * key.
*/
public static final Key KEY_FRACTIONALMETRICS = new KeyImpl(5);
-
+
/**
* The Constant VALUE_FRACTIONALMETRICS_DEFAULT - fractional metrics
* rendering hint value.
*/
public static final Object VALUE_FRACTIONALMETRICS_DEFAULT = new KeyValue(KEY_FRACTIONALMETRICS);
-
+
/**
- * The Constant VALUE_FRACTIONALMETRICS_ON - fractional metrics
- * rendering hint value.
+ * The Constant VALUE_FRACTIONALMETRICS_ON - fractional metrics rendering
+ * hint value.
*/
public static final Object VALUE_FRACTIONALMETRICS_ON = new KeyValue(KEY_FRACTIONALMETRICS);
-
+
/**
- * The Constant VALUE_FRACTIONALMETRICS_OFF - fractional metrics
- * rendering hint value.
+ * The Constant VALUE_FRACTIONALMETRICS_OFF - fractional metrics rendering
+ * hint value.
*/
public static final Object VALUE_FRACTIONALMETRICS_OFF = new KeyValue(KEY_FRACTIONALMETRICS);
- /**
- * The Constant KEY_INTERPOLATION - interpolation
- * rendering hint key.
+ /**
+ * The Constant KEY_INTERPOLATION - interpolation rendering hint key.
*/
public static final Key KEY_INTERPOLATION = new KeyImpl(6);
-
- /**
- * The Constant VALUE_INTERPOLATION_BICUBIC - interpolation
- * rendering hint value.
+
+ /**
+ * The Constant VALUE_INTERPOLATION_BICUBIC - interpolation rendering hint
+ * value.
*/
public static final Object VALUE_INTERPOLATION_BICUBIC = new KeyValue(KEY_INTERPOLATION);
-
+
/**
- * The Constant VALUE_INTERPOLATION_BILINEAR - interpolation
- * rendering hint value.
+ * The Constant VALUE_INTERPOLATION_BILINEAR - interpolation rendering hint
+ * value.
*/
public static final Object VALUE_INTERPOLATION_BILINEAR = new KeyValue(KEY_INTERPOLATION);
-
- /** The Constant VALUE_INTERPOLATION_NEAREST_NEIGHBOR - interpolation
+
+ /**
+ * The Constant VALUE_INTERPOLATION_NEAREST_NEIGHBOR - interpolation
* rendering hint value.
*/
- public static final Object VALUE_INTERPOLATION_NEAREST_NEIGHBOR = new KeyValue(KEY_INTERPOLATION);
+ public static final Object VALUE_INTERPOLATION_NEAREST_NEIGHBOR = new KeyValue(
+ KEY_INTERPOLATION);
/**
* The Constant KEY_RENDERING - rendering hint key.
*/
public static final Key KEY_RENDERING = new KeyImpl(7);
-
- /**
- * The Constant VALUE_RENDER_DEFAULT - rendering hint value.
+
+ /**
+ * The Constant VALUE_RENDER_DEFAULT - rendering hint value.
*/
public static final Object VALUE_RENDER_DEFAULT = new KeyValue(KEY_RENDERING);
-
- /**
- * The Constant VALUE_RENDER_SPEED - rendering hint value.
+
+ /**
+ * The Constant VALUE_RENDER_SPEED - rendering hint value.
*/
public static final Object VALUE_RENDER_SPEED = new KeyValue(KEY_RENDERING);
-
- /**
- * The Constant VALUE_RENDER_QUALITY - rendering hint value.
+
+ /**
+ * The Constant VALUE_RENDER_QUALITY - rendering hint value.
*/
public static final Object VALUE_RENDER_QUALITY = new KeyValue(KEY_RENDERING);
- /**
- * The Constant KEY_STROKE_CONTROL - stroke control hint key.
+ /**
+ * The Constant KEY_STROKE_CONTROL - stroke control hint key.
*/
public static final Key KEY_STROKE_CONTROL = new KeyImpl(8);
-
- /**
- * The Constant VALUE_STROKE_DEFAULT - stroke hint value.
+
+ /**
+ * The Constant VALUE_STROKE_DEFAULT - stroke hint value.
*/
public static final Object VALUE_STROKE_DEFAULT = new KeyValue(KEY_STROKE_CONTROL);
-
- /**
- * The Constant VALUE_STROKE_NORMALIZE - stroke hint value.
+
+ /**
+ * The Constant VALUE_STROKE_NORMALIZE - stroke hint value.
*/
public static final Object VALUE_STROKE_NORMALIZE = new KeyValue(KEY_STROKE_CONTROL);
-
- /**
- * The Constant VALUE_STROKE_PURE - stroke hint value.
+
+ /**
+ * The Constant VALUE_STROKE_PURE - stroke hint value.
*/
public static final Object VALUE_STROKE_PURE = new KeyValue(KEY_STROKE_CONTROL);
- /**
- * The Constant KEY_TEXT_ANTIALIASING - text antialiasing hint key.
+ /**
+ * The Constant KEY_TEXT_ANTIALIASING - text antialiasing hint key.
*/
public static final Key KEY_TEXT_ANTIALIASING = new KeyImpl(9);
-
+
/**
- * The Constant VALUE_TEXT_ANTIALIAS_DEFAULT - text antialiasing hint key.
+ * The Constant VALUE_TEXT_ANTIALIAS_DEFAULT - text antialiasing hint key.
*/
public static final Object VALUE_TEXT_ANTIALIAS_DEFAULT = new KeyValue(KEY_TEXT_ANTIALIASING);
-
+
/**
* The Constant VALUE_TEXT_ANTIALIAS_ON - text antialiasing hint key.
*/
public static final Object VALUE_TEXT_ANTIALIAS_ON = new KeyValue(KEY_TEXT_ANTIALIASING);
-
+
/**
- * The Constant VALUE_TEXT_ANTIALIAS_OFF - text antialiasing hint key.
+ * The Constant VALUE_TEXT_ANTIALIAS_OFF - text antialiasing hint key.
*/
public static final Object VALUE_TEXT_ANTIALIAS_OFF = new KeyValue(KEY_TEXT_ANTIALIASING);
/** The map. */
private HashMap<Object, Object> map = new HashMap<Object, Object>();
-
+
/**
- * Instantiates a new rendering hints object from specified Map object with defined
- * key/value pairs or null for empty RenderingHints.
+ * Instantiates a new rendering hints object from specified Map object with
+ * defined key/value pairs or null for empty RenderingHints.
*
- * @param map the Map object with defined key/value pairs or null for
- * empty RenderingHints.
+ * @param map
+ * the Map object with defined key/value pairs or null for empty
+ * RenderingHints.
*/
public RenderingHints(Map<Key, ?> map) {
super();
@@ -254,10 +250,13 @@ public class RenderingHints implements Map<Object, Object>, Cloneable {
}
/**
- * Instantiates a new rendering hints object with the specified key/value pair.
+ * Instantiates a new rendering hints object with the specified key/value
+ * pair.
*
- * @param key the key of hint property.
- * @param value the value of hint property.
+ * @param key
+ * the key of hint property.
+ * @param value
+ * the value of hint property.
*/
public RenderingHints(Key key, Object value) {
super();
@@ -268,21 +267,22 @@ public class RenderingHints implements Map<Object, Object>, Cloneable {
* Adds the properties represented by key/value pairs from the specified
* RenderingHints object to current object.
*
- * @param hints the RenderingHints to be added.
+ * @param hints
+ * the RenderingHints to be added.
*/
public void add(RenderingHints hints) {
map.putAll(hints.map);
}
/**
- * Puts the specified value to the specified key. Neither the key nor
- * the value can be null.
- *
- * @param key the rendering hint key.
- * @param value the rendering hint value.
+ * Puts the specified value to the specified key. Neither the key nor the
+ * value can be null.
*
+ * @param key
+ * the rendering hint key.
+ * @param value
+ * the rendering hint value.
* @return the previous rendering hint value assigned to the key or null.
- *
*/
public Object put(Object key, Object value) {
if (!((Key)key).isCompatibleValue(value)) {
@@ -293,13 +293,13 @@ public class RenderingHints implements Map<Object, Object>, Cloneable {
}
/**
- * Removes the specified key and corresponding value from
- * the RenderingHints object.
+ * Removes the specified key and corresponding value from the RenderingHints
+ * object.
*
- * @param key the specified hint key to be removed.
- *
- * @return the object of previous rendering hint value which is
- * assigned to the specified key, or null.
+ * @param key
+ * the specified hint key to be removed.
+ * @return the object of previous rendering hint value which is assigned to
+ * the specified key, or null.
*/
public Object remove(Object key) {
return map.remove(key);
@@ -308,8 +308,8 @@ public class RenderingHints implements Map<Object, Object>, Cloneable {
/**
* Gets the value assigned to the specified key.
*
- * @param key the rendering hint key.
- *
+ * @param key
+ * the rendering hint key.
* @return the object assigned to the specified key.
*/
public Object get(Object key) {
@@ -319,7 +319,7 @@ public class RenderingHints implements Map<Object, Object>, Cloneable {
/**
* Returns a set of rendering hints keys for current RenderingHints object.
*
- * @return the set of rendering hints keys.
+ * @return the set of rendering hints keys.
*/
public Set<Object> keySet() {
return map.keySet();
@@ -336,23 +336,23 @@ public class RenderingHints implements Map<Object, Object>, Cloneable {
}
/**
- * Puts all of the preferences from the specified Map into
- * the current RenderingHints object. These mappings replace
- * all existing preferences.
+ * Puts all of the preferences from the specified Map into the current
+ * RenderingHints object. These mappings replace all existing preferences.
*
- * @param m the specified Map of preferences.
+ * @param m
+ * the specified Map of preferences.
*/
public void putAll(Map<?, ?> m) {
if (m instanceof RenderingHints) {
- map.putAll(((RenderingHints) m).map);
+ map.putAll(((RenderingHints)m).map);
} else {
Set<?> entries = m.entrySet();
- if (entries != null){
+ if (entries != null) {
Iterator<?> it = entries.iterator();
while (it.hasNext()) {
- Map.Entry<?, ?> entry = (Map.Entry<?, ?>) it.next();
- Key key = (Key) entry.getKey();
+ Map.Entry<?, ?> entry = (Map.Entry<?, ?>)it.next();
+ Key key = (Key)entry.getKey();
Object val = entry.getValue();
put(key, val);
}
@@ -361,7 +361,8 @@ public class RenderingHints implements Map<Object, Object>, Cloneable {
}
/**
- * Returns a Collection of values contained in current RenderingHints object.
+ * Returns a Collection of values contained in current RenderingHints
+ * object.
*
* @return the Collection of RenderingHints's values.
*/
@@ -373,10 +374,10 @@ public class RenderingHints implements Map<Object, Object>, Cloneable {
* Checks whether or not current RenderingHints object contains at least one
* the value which is equal to the specified Object.
*
- * @param value the specified Object.
- *
+ * @param value
+ * the specified Object.
* @return true, if the specified object is assigned to at least one
- * RenderingHint's key, false otherwise.
+ * RenderingHint's key, false otherwise.
*/
public boolean containsValue(Object value) {
return map.containsValue(value);
@@ -386,11 +387,10 @@ public class RenderingHints implements Map<Object, Object>, Cloneable {
* Checks whether or not current RenderingHints object contains the key
* which is equal to the specified Object.
*
- * @param key the specified Object.
- *
+ * @param key
+ * the specified Object.
* @return true, if the RenderingHints object contains the specified Object
- * as a key, false otherwise.
- *
+ * as a key, false otherwise.
*/
public boolean containsKey(Object key) {
if (key == null) {
@@ -401,8 +401,8 @@ public class RenderingHints implements Map<Object, Object>, Cloneable {
}
/**
- * Checks whether or not the RenderingHints object contains any
- * key/value pairs.
+ * Checks whether or not the RenderingHints object contains any key/value
+ * pairs.
*
* @return true, if the RenderingHints object is empty, false otherwise.
*/
@@ -429,11 +429,10 @@ public class RenderingHints implements Map<Object, Object>, Cloneable {
/**
* Compares the RenderingHints object with the specified object.
*
- * @param o the specified Object to be compaired.
- *
- * @return true, if the Object is a Map whose key/value pairs
- * match this RenderingHints' key/value pairs,
- * false otherwise.
+ * @param o
+ * the specified Object to be compared.
+ * @return true, if the Object is a Map whose key/value pairs match this
+ * RenderingHints' key/value pairs, false otherwise.
*/
@Override
public boolean equals(Object o) {
@@ -452,7 +451,7 @@ public class RenderingHints implements Map<Object, Object>, Cloneable {
Key key = (Key)it.next();
Object v1 = get(key);
Object v2 = m.get(key);
- if (!(v1==null?v2==null:v1.equals(v2))) {
+ if (!(v1 == null ? v2 == null : v1.equals(v2))) {
return false;
}
}
@@ -485,28 +484,30 @@ public class RenderingHints implements Map<Object, Object>, Cloneable {
/**
* Returns the string representation of the RenderingHints object.
*
- * @return the String object which represents RenderingHints object.
+ * @return the String object which represents RenderingHints object.
*/
@Override
public String toString() {
- return "RenderingHints["+map.toString()+"]"; //$NON-NLS-1$ //$NON-NLS-2$
+ return "RenderingHints[" + map.toString() + "]"; //$NON-NLS-1$ //$NON-NLS-2$
}
/**
- * The RenderingHints.Key class is abstract and defines a base type for
- * all RenderingHints keys.
+ * The RenderingHints.Key class is abstract and defines a base type for all
+ * RenderingHints keys.
+ *
+ * @since Android 1.0
*/
public abstract static class Key {
-
+
/** The key. */
private final int key;
/**
- * Instantiates a new key with unique int identifier.
- * No two objects of the same subclass with the same integer key
- * can be instantiated.
+ * Instantiates a new key with unique integer identifier. No two objects
+ * of the same subclass with the same integer key can be instantiated.
*
- * @param key the unique key.
+ * @param key
+ * the unique key.
*/
protected Key(int key) {
this.key = key;
@@ -515,10 +516,10 @@ public class RenderingHints implements Map<Object, Object>, Cloneable {
/**
* Compares the Key object with the specified object.
*
- * @param o the specified Object to be compaired.
- *
- * @return true, if the Key is equal to the specified object,
- * false otherwise.
+ * @param o
+ * the specified Object to be compared.
+ * @return true, if the Key is equal to the specified object, false
+ * otherwise.
*/
@Override
public final boolean equals(Object o) {
@@ -536,11 +537,11 @@ public class RenderingHints implements Map<Object, Object>, Cloneable {
}
/**
- * Returns int unique key with which this Key object has been
+ * Returns integer unique key with which this Key object has been
* instantiated.
*
- * @return the int unique key with which this Key object has been
- * instantiated.
+ * @return the integer unique key with which this Key object has been
+ * instantiated.
*/
protected final int intKey() {
return key;
@@ -549,10 +550,10 @@ public class RenderingHints implements Map<Object, Object>, Cloneable {
/**
* Checks whether or not specified value is compatible with the Key.
*
- * @param val the Object.
- *
+ * @param val
+ * the Object.
* @return true, if the specified value is compatible with the Key,
- * false otherwise.
+ * false otherwise.
*/
public abstract boolean isCompatibleValue(Object val);
}
@@ -563,9 +564,10 @@ public class RenderingHints implements Map<Object, Object>, Cloneable {
private static class KeyImpl extends Key {
/**
- * Instantiates a new key impl.
+ * Instantiates a new key implementation.
*
- * @param key the key
+ * @param key
+ * the key.
*/
protected KeyImpl(int key) {
super(key);
@@ -585,14 +587,17 @@ public class RenderingHints implements Map<Object, Object>, Cloneable {
* Private class KeyValue is used as value for Key class instance.
*/
private static class KeyValue {
-
- /** The key. */
+
+ /**
+ * The key.
+ */
private final Key key;
/**
* Instantiates a new key value.
*
- * @param key the key
+ * @param key
+ * the key.
*/
protected KeyValue(Key key) {
this.key = key;
diff --git a/awt/java/awt/Shape.java b/awt/java/awt/Shape.java
index 3dbad25..59bc623 100644
--- a/awt/java/awt/Shape.java
+++ b/awt/java/awt/Shape.java
@@ -18,6 +18,7 @@
* @author Alexey A. Petrenko
* @version $Revision$
*/
+
package java.awt;
import java.awt.geom.AffineTransform;
@@ -26,137 +27,136 @@ import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
/**
- * The Shape interface defines a geometric shape defined by a boundary
- * (outline) path. The path outline can be accessed through a
- * PathIterator object. The Shape
- * interface provides methods for obtaining the bounding box (which is
- * the smallest rectangle containing the shape and for obtaining a PathIterator
- * object for current Shape, as well as utility methods which
- * determine if the Shape contains or intersects a Rectangle or contains a Point.
+ * The Shape interface defines a geometric shape defined by a boundary (outline)
+ * path. The path outline can be accessed through a PathIterator object. The
+ * Shape interface provides methods for obtaining the bounding box (which is the
+ * smallest rectangle containing the shape and for obtaining a PathIterator
+ * object for current Shape, as well as utility methods which determine if the
+ * Shape contains or intersects a Rectangle or contains a Point.
+ *
+ * @since Android 1.0
*/
public interface Shape {
-
+
/**
- * Checks whether or not the point with specified coordinates lies inside
+ * Checks whether or not the point with specified coordinates lies inside
* the Shape.
*
- * @param x the X coordinate.
- * @param y the Y coordinate.
- *
- * @return true, if the specified coordinates lie inside the Shape,
- * otherwise false.
+ * @param x
+ * the X coordinate.
+ * @param y
+ * the Y coordinate.
+ * @return true, if the specified coordinates lie inside the Shape, false
+ * otherwise.
*/
public boolean contains(double x, double y);
/**
- * Checks whether or not the rectangle with specified
- * [x, y, width, height] parameters lies inside the Shape.
- *
- * @param x the X double coordinate of the rectangle's upper left
- * corner.
- * @param y the Y double coordinate of the rectangle's upper left
- * corner.
- * @param w the width of rectangle.
- * @param h the height of rectangle.
- *
- * @return true, if the specified rectangle lies inside the Shape,
- * otherwise false.
+ * Checks whether or not the rectangle with specified [x, y, width, height]
+ * parameters lies inside the Shape.
+ *
+ * @param x
+ * the X double coordinate of the rectangle's upper left corner.
+ * @param y
+ * the Y double coordinate of the rectangle's upper left corner.
+ * @param w
+ * the width of rectangle.
+ * @param h
+ * the height of rectangle.
+ * @return true, if the specified rectangle lies inside the Shape, false
+ * otherwise.
*/
public boolean contains(double x, double y, double w, double h);
/**
* Checks whether or not the specified Point2D lies inside the Shape.
*
- * @param point the Point2D object.
- *
- * @return true, if the specified Point2D lies inside the Shape,
- * otherwise false.
+ * @param point
+ * the Point2D object.
+ * @return true, if the specified Point2D lies inside the Shape, false
+ * otherwise.
*/
public boolean contains(Point2D point);
/**
* Checks whether or not the specified rectangle lies inside the Shape.
*
- * @param r the Rectangle2D object.
- *
- * @return true, if the specified rectangle lies inside the Shape,
- * otherwise false.
+ * @param r
+ * the Rectangle2D object.
+ * @return true, if the specified rectangle lies inside the Shape, false
+ * otherwise.
*/
public boolean contains(Rectangle2D r);
/**
- * Gets the bounding rectangle of the Shape. The bounding rectangle
- * is the smallest rectangle which contains the Shape.
+ * Gets the bounding rectangle of the Shape. The bounding rectangle is the
+ * smallest rectangle which contains the Shape.
*
* @return the bounding rectangle of the Shape.
*/
public Rectangle getBounds();
/**
- * Gets the Rectangle2D which represents Shape bounds.
- * The bounding rectangle is the smallest rectangle which contains
- * the Shape.
+ * Gets the Rectangle2D which represents Shape bounds. The bounding
+ * rectangle is the smallest rectangle which contains the Shape.
*
* @return the bounding rectangle of the Shape.
*/
public Rectangle2D getBounds2D();
/**
- * Gets the PathIterator object of the Shape which provides
- * access to the shape's boundary modified
- * by the specified AffineTransform.
- *
- * @param at the specified AffineTransform object, or null.
+ * Gets the PathIterator object of the Shape which provides access to the
+ * shape's boundary modified by the specified AffineTransform.
*
+ * @param at
+ * the specified AffineTransform object or null.
* @return PathIterator object for the Shape.
*/
public PathIterator getPathIterator(AffineTransform at);
/**
- * Gets the PathIterator object of the Shape which provides
- * access to the coordinates of the shapes boundary modified
- * by the specified AffineTransform. The flatness parameter
- * defines the amount of subdivision of the curved segments and
- * specifies the maximum distance which every point on the
- * unflattened transformed curve can deviate from the returned
- * flattened path segments.
- *
- * @param at the specified AffineTransform object, or null.
- * @param flatness the maximum number of the control points for
- * a given curve which varies from colinear before a subdivided
- * curve is replaced by a straight line connecting the endpoints.
- *
+ * Gets the PathIterator object of the Shape which provides access to the
+ * coordinates of the shapes boundary modified by the specified
+ * AffineTransform. The flatness parameter defines the amount of subdivision
+ * of the curved segments and specifies the maximum distance which every
+ * point on the unflattened transformed curve can deviate from the returned
+ * flattened path segments.
+ *
+ * @param at
+ * the specified AffineTransform object or null.
+ * @param flatness
+ * the maximum number of the control points for a given curve
+ * which varies from colinear before a subdivided curve is
+ * replaced by a straight line connecting the endpoints.
* @return PathIterator object for the Shape.
*/
public PathIterator getPathIterator(AffineTransform at, double flatness);
/**
- * Checks whether or not the interior of rectangular specified by
- * [x, y, width, height] parameters intersects the interior of
- * the Shape.
- *
- * @param x the X double coordinate of the rectangle's upper left
- * corner.
- * @param y the Y double coordinate of the rectangle's upper left
- * corner.
- * @param w the width of rectangle.
- * @param h the height of rectangle.
- *
- * @return true, if the rectangle specified by
- * [x, y, width, height] parameters intersects the interior of
- * the Shape, otherwise false.
- *
+ * Checks whether or not the interior of rectangular specified by [x, y,
+ * width, height] parameters intersects the interior of the Shape.
+ *
+ * @param x
+ * the X double coordinate of the rectangle's upper left corner.
+ * @param y
+ * the Y double coordinate of the rectangle's upper left corner.
+ * @param w
+ * the width of rectangle.
+ * @param h
+ * the height of rectangle.
+ * @return true, if the rectangle specified by [x, y, width, height]
+ * parameters intersects the interior of the Shape, false otherwise.
*/
public boolean intersects(double x, double y, double w, double h);
/**
- * Checks whether or not the interior of rectangl specified by
- * Rectangle2D object intersects the interior of the Shape.
- *
- * @param r the Rectangle2D object.
+ * Checks whether or not the interior of rectangle specified by Rectangle2D
+ * object intersects the interior of the Shape.
*
- * @return true, if the Rectangle2D intersects the interior of
- * the Shape, otherwise false.
+ * @param r
+ * the Rectangle2D object.
+ * @return true, if the Rectangle2D intersects the interior of the Shape,
+ * otherwise false.
*/
public boolean intersects(Rectangle2D r);
}
diff --git a/awt/java/awt/Stroke.java b/awt/java/awt/Stroke.java
index e6d683d..6d17a23 100644
--- a/awt/java/awt/Stroke.java
+++ b/awt/java/awt/Stroke.java
@@ -18,29 +18,32 @@
* @author Alexey A. Petrenko
* @version $Revision$
*/
+
package java.awt;
/**
- * The Stroke interface gives a pen style to be used by the
- * Graphics2D interface. It provides a means for getting a stroked version
- * of a shape, which is the version that is suitable for drawing via
- * the Graphics2D interface. Stroking a shape gives the shape's outline
- * a width or drawing style.
+ * The Stroke interface gives a pen style to be used by the Graphics2D
+ * interface. It provides a means for getting a stroked version of a shape,
+ * which is the version that is suitable for drawing via the Graphics2D
+ * interface. Stroking a shape gives the shape's outline a width or drawing
+ * style.
* <p>
- * The Draw methods from Graphics2D interface should use the Stroke object for
- * rendering the shape's outline. The stroke should be set by
- * setStroke(java.awt.Stroke) method of the Graphics2D interface.
+ * The Draw methods from Graphics2D interface should use the Stroke object for
+ * rendering the shape's outline. The stroke should be set by
+ * setStroke(java.awt.Stroke) method of the Graphics2D interface.
+ *
* @see java.awt.Graphics2D#setStroke(java.awt.Stroke)
+ * @since Android 1.0
*/
public interface Stroke {
-
+
/**
- * Creates the stroked shape, which is the version that is suitable for drawing via
- * the Graphics2D interface. Stroking a shape gives the shape's outline
- * a width or drawing style.
- *
- * @param p the original shape.
+ * Creates the stroked shape, which is the version that is suitable for
+ * drawing via the Graphics2D interface. Stroking a shape gives the shape's
+ * outline a width or drawing style.
*
+ * @param p
+ * the original shape.
* @return the stroked shape.
*/
public Shape createStrokedShape(Shape p);
diff --git a/awt/java/awt/Toolkit.java b/awt/java/awt/Toolkit.java
index 0c066b2..e38d524 100644
--- a/awt/java/awt/Toolkit.java
+++ b/awt/java/awt/Toolkit.java
@@ -56,34 +56,50 @@ import org.apache.harmony.awt.wtk.NativeEventThread;
import org.apache.harmony.awt.wtk.ShutdownWatchdog;
import org.apache.harmony.awt.wtk.Synchronizer;
import org.apache.harmony.awt.wtk.WTK;
+import org.apache.harmony.luni.util.NotImplementedException;
/**
- * The Toolkit class is the representation of the platform-specific
- * Abstract Window Toolkit implementation. Toolkit's subclasses
- * are used to bind the various components to particular native
- * toolkit implementations.
+ * The Toolkit class is the representation of the platform-specific Abstract
+ * Window Toolkit implementation. Toolkit's subclasses are used to bind the
+ * various components to particular native toolkit implementations.
+ *
+ * @since Android 1.0
*/
public abstract class Toolkit {
-
- /** The Constant RECOURCE_PATH. */
+
+ /**
+ * The Constant RECOURCE_PATH.
+ */
private static final String RECOURCE_PATH = "org.apache.harmony.awt.resources.AWTProperties"; //$NON-NLS-1$
-
- /** The Constant properties. */
+
+ /**
+ * The Constant properties.
+ */
private static final ResourceBundle properties = loadResources(RECOURCE_PATH);
-
- /** The dispatcher. */
+
+ /**
+ * The dispatcher.
+ */
Dispatcher dispatcher;
- /** The system event queue core. */
+ /**
+ * The system event queue core.
+ */
private EventQueueCore systemEventQueueCore;
- /** The dispatch thread. */
+ /**
+ * The dispatch thread.
+ */
EventDispatchThread dispatchThread;
- /** The native thread. */
+ /**
+ * The native thread.
+ */
NativeEventThread nativeThread;
- /** The awt events manager. */
+ /**
+ * The AWT events manager.
+ */
protected AWTEventsManager awtEventsManager;
/**
@@ -92,47 +108,68 @@ public abstract class Toolkit {
private class AWTTreeLock {
}
- /** The awt tree lock. */
+ /**
+ * The AWT tree lock.
+ */
final Object awtTreeLock = new AWTTreeLock();
- /** The synchronizer. */
+ /**
+ * The synchronizer.
+ */
private final Synchronizer synchronizer = ContextStorage.getSynchronizer();
- /** The shutdown watchdog. */
+ /**
+ * The shutdown watchdog.
+ */
final ShutdownWatchdog shutdownWatchdog = new ShutdownWatchdog();
- /** The auto number. */
+ /**
+ * The auto number.
+ */
final AutoNumber autoNumber = new AutoNumber();
- /** The event type lookup. */
+ /**
+ * The event type lookup.
+ */
final AWTEvent.EventTypeLookup eventTypeLookup = new AWTEvent.EventTypeLookup();
- /** The b dynamic layout set. */
+ /**
+ * The b dynamic layout set.
+ */
private boolean bDynamicLayoutSet = true;
- /** The set of desktop properties that user set directly. */
+ /**
+ * The set of desktop properties that user set directly.
+ */
private final HashSet<String> userPropSet = new HashSet<String>();
- /** The desktop properties. */
+ /**
+ * The desktop properties.
+ */
protected Map<String, Object> desktopProperties;
- /** The desktop props support. */
+ /**
+ * The desktop props support.
+ */
protected PropertyChangeSupport desktopPropsSupport;
/**
- * For this component the native window is being created
- * It is used in the callback-driven window creation
- * (e.g. on Windows in the handler of WM_CREATE event)
- * to establish the connection between this component
- * and its native window.
+ * For this component the native window is being created It is used in the
+ * callback-driven window creation (e.g. on Windows in the handler of
+ * WM_CREATE event) to establish the connection between this component and
+ * its native window.
*/
private Object recentNativeWindowComponent;
- /** The wtk. */
+ /**
+ * The wtk.
+ */
private WTK wtk;
/**
* The Class ComponentInternalsImpl.
+ *
+ * @since Android 1.0
*/
protected final class ComponentInternalsImpl extends ComponentInternals {
@@ -143,13 +180,15 @@ public abstract class Toolkit {
public void shutdown() {
dispatchThread.shutdown();
}
-
+
/**
- * Sets the desktop property to the specified value and fires a property
- * change event.
+ * Sets the desktop property to the specified value and fires a property
+ * change event.
*
- * @param name the name of property.
- * @param value the new value of property.
+ * @param name
+ * the name of property.
+ * @param value
+ * the new value of property.
*/
@Override
public void setDesktopProperty(String name, Object value) {
@@ -157,12 +196,12 @@ public abstract class Toolkit {
}
}
-
/**
- * A lot of methods must throw HeadlessException
- * if <code>GraphicsEnvironment.isHeadless()</code> returns <code>true</code>.
+ * A lot of methods must throw HeadlessException if
+ * <code>GraphicsEnvironment.isHeadless()</code> returns <code>true</code>.
*
- * @throws HeadlessException the headless exception
+ * @throws HeadlessException
+ * the headless exception.
*/
static void checkHeadless() throws HeadlessException {
if (GraphicsEnvironment.getLocalGraphicsEnvironment().isHeadlessInstance())
@@ -170,51 +209,49 @@ public abstract class Toolkit {
}
/**
- * Lock awt.
+ * Lock AWT.
*/
final void lockAWT() {
synchronizer.lock();
}
/**
- * Static lock awt.
+ * Static lock AWT.
*/
static final void staticLockAWT() {
ContextStorage.getSynchronizer().lock();
}
/**
- * Unlock awt.
+ * Unlock AWT.
*/
final void unlockAWT() {
synchronizer.unlock();
}
/**
- * Static unlock awt.
+ * Static unlock AWT.
*/
static final void staticUnlockAWT() {
ContextStorage.getSynchronizer().unlock();
- }
-
- /**
- * InvokeAndWait under AWT lock. W/o this method system can hang up.
- * Added to support modality (Dialog.show() & PopupMenu.show()) from
- * not event dispatch thread. Use in other cases is not recommended.
- *
- * Still can be called only for whole API methods that
- * cannot be called from other classes API methods.
- * Examples:
- * show() for modal dialogs - correct, only user can call it,
- * directly or through setVisible(true)
- * setBounds() for components - incorrect, setBounds()
- * can be called from layoutContainer()
- * for layout managers
- *
- * @param runnable the runnable
+ }
+
+ /**
+ * InvokeAndWait under AWT lock. W/o this method system can hang up. Added
+ * to support modality (Dialog.show() & PopupMenu.show()) from not event
+ * dispatch thread. Use in other cases is not recommended. Still can be
+ * called only for whole API methods that cannot be called from other
+ * classes API methods. Examples: show() for modal dialogs - correct, only
+ * user can call it, directly or through setVisible(true) setBounds() for
+ * components - incorrect, setBounds() can be called from layoutContainer()
+ * for layout managers
*
- * @throws InterruptedException the interrupted exception
- * @throws InvocationTargetException the invocation target exception
+ * @param runnable
+ * the runnable.
+ * @throws InterruptedException
+ * the interrupted exception.
+ * @throws InvocationTargetException
+ * the invocation target exception.
*/
final void unsafeInvokeAndWait(Runnable runnable) throws InterruptedException,
InvocationTargetException {
@@ -229,7 +266,7 @@ public abstract class Toolkit {
/**
* Gets the synchronizer.
*
- * @return the synchronizer
+ * @return the synchronizer.
*/
final Synchronizer getSynchronizer() {
return synchronizer;
@@ -238,19 +275,20 @@ public abstract class Toolkit {
/**
* Gets the wTK.
*
- * @return the wTK
+ * @return the wTK.
*/
final WTK getWTK() {
return wtk;
}
/**
- * Gets the property with the specified key and default value.
- * This method returns the defValue if the property is not found.
- *
- * @param propName the name of property.
- * @param defVal the default value.
+ * Gets the property with the specified key and default value. This method
+ * returns the defValue if the property is not found.
*
+ * @param propName
+ * the name of property.
+ * @param defVal
+ * the default value.
* @return the property value.
*/
public static String getProperty(String propName, String defVal) {
@@ -273,11 +311,11 @@ public abstract class Toolkit {
staticUnlockAWT();
}
}
-
+
/**
* Gets the default Toolkit.
*
- * @return the default Toolkit
+ * @return the default Toolkit.
*/
public static Toolkit getDefaultToolkit() {
synchronized (ContextStorage.getContextLock()) {
@@ -290,34 +328,34 @@ public abstract class Toolkit {
}
staticLockAWT();
try {
- defToolkit = GraphicsEnvironment.isHeadless() ?
- new HeadlessToolkit() : new ToolkitImpl();
+ defToolkit = GraphicsEnvironment.isHeadless() ? new HeadlessToolkit()
+ : new ToolkitImpl();
ContextStorage.setDefaultToolkit(defToolkit);
return defToolkit;
} finally {
staticUnlockAWT();
}
- //TODO: read system property named awt.toolkit
- //and create an instance of the specified class,
- //by default use ToolkitImpl
+ // TODO: read system property named awt.toolkit
+ // and create an instance of the specified class,
+ // by default use ToolkitImpl
}
}
-
+
/**
* Gets the default Font.
*
- * @return the derault Font for Toolkit.
+ * @return the default Font for Toolkit.
*/
Font getDefaultFont() {
return wtk.getSystemProperties().getDefaultFont();
}
-
+
/**
* Load resources.
*
- * @param path the path
- *
- * @return the resource bundle
+ * @param path
+ * the path.
+ * @return the resource bundle.
*/
private static ResourceBundle loadResources(String path) {
try {
@@ -330,7 +368,7 @@ public abstract class Toolkit {
/**
* Gets the wTK class name.
*
- * @return the wTK class name
+ * @return the wTK class name.
*/
private static String getWTKClassName() {
return "com.android.internal.awt.AndroidWTK";
@@ -339,9 +377,9 @@ public abstract class Toolkit {
/**
* Gets the component by id.
*
- * @param id the id
- *
- * @return the component by id
+ * @param id
+ * the id.
+ * @return the component by id.
*/
Component getComponentById(long id) {
if (id == 0) {
@@ -362,12 +400,12 @@ public abstract class Toolkit {
/**
* Instantiates a new toolkit.
*/
- public Toolkit() {
+ public Toolkit() {
init();
}
/**
- * Inits AWT.
+ * Initiates AWT.
*/
protected void init() {
lockAWT();
@@ -397,43 +435,52 @@ public abstract class Toolkit {
unlockAWT();
}
}
-
+
/**
* Synchronizes this toolkit's graphics.
*/
public abstract void sync();
/**
- * Returns the construction status of a specified image that is being created.
- *
- * @param a0 the image to be checked.
- * @param a1 the width of scaled image for which the status is being checked, or -1.
- * @param a2 the height of scaled image for which the status is being checked, or -1.
- * @param a3 the ImageObserver object to be notified while
- * the image is being prepared.
+ * Returns the construction status of a specified image that is being
+ * created.
*
- * @return the ImageObserver flags which give the current state of the image data.
+ * @param a0
+ * the image to be checked.
+ * @param a1
+ * the width of scaled image for which the status is being
+ * checked or -1.
+ * @param a2
+ * the height of scaled image for which the status is being
+ * checked or -1.
+ * @param a3
+ * the ImageObserver object to be notified while the image is
+ * being prepared.
+ * @return the ImageObserver flags which give the current state of the image
+ * data.
*/
public abstract int checkImage(Image a0, int a1, int a2, ImageObserver a3);
-
+
/**
* Creates the image with the specified ImageProducer.
*
- * @param a0 the ImageProducer to be used for image creation.
- *
+ * @param a0
+ * the ImageProducer to be used for image creation.
* @return the image with the specified ImageProducer.
*/
public abstract Image createImage(ImageProducer a0);
/**
- * Creates the image from the specified byte array, offset and length.
- * The byte array should contain data with image format supported by
- * Toolkit such as JPEG, GIF, or PNG.
- *
- * @param a0 the byte array with the image data.
- * @param a1 the offset of the beggining the image data in the byte array.
- * @param a2 the length of the image data in the byte array.
+ * Creates the image from the specified byte array, offset and length. The
+ * byte array should contain data with image format supported by Toolkit
+ * such as JPEG, GIF, or PNG.
*
+ * @param a0
+ * the byte array with the image data.
+ * @param a1
+ * the offset of the beginning the image data in the byte array.
+ * @param a2
+ * the length of the image data in the byte array.
* @return the created Image.
*/
public abstract Image createImage(byte[] a0, int a1, int a2);
@@ -441,8 +488,8 @@ public abstract class Toolkit {
/**
* Creates the image using image data from the specified URL.
*
- * @param a0 the URL for extracting image data.
- *
+ * @param a0
+ * the URL for extracting image data.
* @return the Image.
*/
public abstract Image createImage(URL a0);
@@ -450,8 +497,8 @@ public abstract class Toolkit {
/**
* Creates the image using image data from the specified file.
*
- * @param a0 the file name which contains image data of supported format.
- *
+ * @param a0
+ * the file name which contains image data of supported format.
* @return the Image.
*/
public abstract Image createImage(String a0);
@@ -460,22 +507,20 @@ public abstract class Toolkit {
* Gets the color model.
*
* @return the ColorModel of Toolkit's screen.
- *
- * @throws HeadlessException if the
- * GraphicsEnvironment.isHeadless() method returns true.
+ * @throws HeadlessException
+ * if the GraphicsEnvironment.isHeadless() method returns true.
*/
public abstract ColorModel getColorModel() throws HeadlessException;
-
+
/**
* Gets the screen device metrics for the specified font.
*
- * @param font the Font.
- *
+ * @param font
+ * the Font.
* @return the FontMetrics for the specified Font.
- *
* @deprecated Use getLineMetrics method from Font class.
*/
-
+
@Deprecated
public abstract FontMetrics getFontMetrics(Font font);
@@ -483,13 +528,18 @@ public abstract class Toolkit {
* Prepares the specified image for rendering on the screen with the
* specified size.
*
- * @param a0 the Image to be prepared.
- * @param a1 the width of the screen representation or -1 for the current screen.
- * @param a2 the height of the screen representation or -1 for the current screen.
- * @param a3 the ImageObserver object to be notified as soon as
- * the image is prepared.
- *
- * @return true, if image is fully prepared; false otherwise.
+ * @param a0
+ * the Image to be prepared.
+ * @param a1
+ * the width of the screen representation or -1 for the current
+ * screen.
+ * @param a2
+ * the height of the screen representation or -1 for the current
+ * screen.
+ * @param a3
+ * the ImageObserver object to be notified as soon as the image
+ * is prepared.
+ * @return true, if image is fully prepared, false otherwise.
*/
public abstract boolean prepareImage(Image a0, int a1, int a2, ImageObserver a3);
@@ -502,21 +552,19 @@ public abstract class Toolkit {
* Returns the array of font names which are available in this Toolkit.
*
* @return the array of font names which are available in this Toolkit.
- *
* @deprecated use GraphicsEnvironment.getAvailableFontFamilyNames() method.
*/
@Deprecated
public abstract String[] getFontList();
-
+
/**
- * Gets the the Font implementation using the specified peer
- * interface.
- *
- * @param a0 the Font name to be implemented.
- * @param a1 the the font style: PLAIN, BOLD, ITALIC.
+ * Gets the the Font implementation using the specified peer interface.
*
+ * @param a0
+ * the Font name to be implemented.
+ * @param a1
+ * the the font style: PLAIN, BOLD, ITALIC.
* @return the FontPeer implementation of the specified Font.
- *
* @deprecated use java.awt.GraphicsEnvironment.getAllFonts method.
*/
@@ -524,27 +572,27 @@ public abstract class Toolkit {
protected abstract FontPeer getFontPeer(String a0, int a1);
/**
- * Gets the image from the specified file which contains image data in
- * a supported image format (such as JPEG, GIF, or PNG); this method
- * should return the same Image for multiple calls of this method with
- * the same image file name.
- *
- * @param a0 the file name which contains image data in
- * a supported image format (such as JPEG, GIF, or PNG).
+ * Gets the image from the specified file which contains image data in a
+ * supported image format (such as JPEG, GIF, or PNG); this method should
+ * return the same Image for multiple calls of this method with the same
+ * image file name.
*
+ * @param a0
+ * the file name which contains image data in a supported image
+ * format (such as JPEG, GIF, or PNG).
* @return the Image.
*/
public abstract Image getImage(String a0);
/**
- * Gets the image from the specified URL which contains image data in
- * a supported image format (such as JPEG, GIF, or PNG); this method
- * should return the same Image for multiple calls of this method with
- * the same image URL.
- *
- * @param a0 the URL which contains image data in
- * a supported image format (such as JPEG, GIF, or PNG).
+ * Gets the image from the specified URL which contains image data in a
+ * supported image format (such as JPEG, GIF, or PNG); this method should
+ * return the same Image for multiple calls of this method with the same
+ * image URL.
*
+ * @param a0
+ * the URL which contains image data in a supported image format
+ * (such as JPEG, GIF, or PNG).
* @return the Image.
*/
public abstract Image getImage(URL a0);
@@ -553,20 +601,17 @@ public abstract class Toolkit {
* Gets the screen resolution.
*
* @return the screen resolution.
- *
- * @throws HeadlessException if the GraphicsEnvironment.isHeadless()
- * method returns true.
+ * @throws HeadlessException
+ * if the GraphicsEnvironment.isHeadless() method returns true.
*/
public abstract int getScreenResolution() throws HeadlessException;
/**
* Gets the screen size.
*
- * @return a Dimension object containing the width and height of
- * the screen.
- *
- * @throws HeadlessException if the GraphicsEnvironment.isHeadless()
- * method returns true.
+ * @return a Dimension object containing the width and height of the screen.
+ * @throws HeadlessException
+ * if the GraphicsEnvironment.isHeadless() method returns true.
*/
public abstract Dimension getScreenSize() throws HeadlessException;
@@ -578,15 +623,14 @@ public abstract class Toolkit {
protected abstract EventQueue getSystemEventQueueImpl();
/**
- * Returns a map of text attributes for the abstract level description
- * of the specified input method highlight, or null if no mapping is found.
- *
- * @param highlight the InputMethodHighlight.
+ * Returns a map of text attributes for the abstract level description of
+ * the specified input method highlight, or null if no mapping is found.
*
- * @return the Map<java.awt.font. text attribute,?>
- *
- * @throws HeadlessException if the GraphicsEnvironment.isHeadless()
- * method returns true.
+ * @param highlight
+ * the InputMethodHighlight.
+ * @return the Map<java.awt.font. text attribute,?>.
+ * @throws HeadlessException
+ * if the GraphicsEnvironment.isHeadless() method returns true.
*/
public abstract Map<java.awt.font.TextAttribute, ?> mapInputMethodHighlight(
InputMethodHighlight highlight) throws HeadlessException;
@@ -594,14 +638,14 @@ public abstract class Toolkit {
/**
* Map input method highlight impl.
*
- * @param highlight the highlight
- *
- * @return the map<java.awt.font. text attribute,?>
- *
- * @throws HeadlessException the headless exception
+ * @param highlight
+ * the highlight.
+ * @return the map<java.awt.font. text attribute,?>.
+ * @throws HeadlessException
+ * the headless exception.
*/
- Map<java.awt.font.TextAttribute, ?> mapInputMethodHighlightImpl(
- InputMethodHighlight highlight) throws HeadlessException {
+ Map<java.awt.font.TextAttribute, ?> mapInputMethodHighlightImpl(InputMethodHighlight highlight)
+ throws HeadlessException {
HashMap<java.awt.font.TextAttribute, ?> map = new HashMap<java.awt.font.TextAttribute, Object>();
wtk.getSystemProperties().mapInputMethodHighlight(highlight, map);
return Collections.<java.awt.font.TextAttribute, Object> unmodifiableMap(map);
@@ -611,9 +655,11 @@ public abstract class Toolkit {
* Adds the specified PropertyChangeListener listener for the specified
* property.
*
- * @param propName the property name for which the specified PropertyChangeListener
- * will be added.
- * @param l the PropertyChangeListener object.
+ * @param propName
+ * the property name for which the specified
+ * PropertyChangeListener will be added.
+ * @param l
+ * the PropertyChangeListener object.
*/
public void addPropertyChangeListener(String propName, PropertyChangeListener l) {
lockAWT();
@@ -624,31 +670,32 @@ public abstract class Toolkit {
} finally {
unlockAWT();
}
- if (l != null) { // there is no guarantee that null listener will not be added
+ if (l != null) { // there is no guarantee that null listener will not be
+ // added
desktopPropsSupport.addPropertyChangeListener(propName, l);
}
}
/**
- * Returns an array of the property change listeners registered with
- * this Toolkit.
+ * Returns an array of the property change listeners registered with this
+ * Toolkit.
*
- * @return an array of the property change listeners registered with
- * this Toolkit.
+ * @return an array of the property change listeners registered with this
+ * Toolkit.
*/
public PropertyChangeListener[] getPropertyChangeListeners() {
return desktopPropsSupport.getPropertyChangeListeners();
}
/**
- * Returns an array of the property change listeners registered with
- * this Toolkit for notification regarding the specified property.
- *
- * @param propName the property name for which the PropertyChangeListener
- * was registered.
+ * Returns an array of the property change listeners registered with this
+ * Toolkit for notification regarding the specified property.
*
- * @return the array of PropertyChangeListeners registered for the specified
- * property name.
+ * @param propName
+ * the property name for which the PropertyChangeListener was
+ * registered.
+ * @return the array of PropertyChangeListeners registered for the specified
+ * property name.
*/
public PropertyChangeListener[] getPropertyChangeListeners(String propName) {
return desktopPropsSupport.getPropertyChangeListeners(propName);
@@ -658,28 +705,33 @@ public abstract class Toolkit {
* Removes the specified property change listener registered for the
* specified property name.
*
- * @param propName the property name.
- * @param l the PropertyChangeListener registered for the specified property name.
+ * @param propName
+ * the property name.
+ * @param l
+ * the PropertyChangeListener registered for the specified
+ * property name.
*/
public void removePropertyChangeListener(String propName, PropertyChangeListener l) {
desktopPropsSupport.removePropertyChangeListener(propName, l);
}
-
+
/**
* Creates a custom cursor with the specified Image, hot spot, and cursor
* description.
*
- * @param img the image of activated cursor.
- * @param hotSpot the Point giving the coordinates of the cursor's hot spot.
- * @param name the cursor description.
- *
+ * @param img
+ * the image of activated cursor.
+ * @param hotSpot
+ * the Point giving the coordinates of the cursor's hot spot.
+ * @param name
+ * the cursor description.
* @return the cursor with the specified Image, hot spot, and cursor
- * description.
- *
- * @throws IndexOutOfBoundsException if the hot spot values are outside
- * the bounds of the cursor.
- * @throws HeadlessException if isHeadless() method of GraphicsEnvironment
- * class returns true.
+ * description.
+ * @throws IndexOutOfBoundsException
+ * if the hot spot values are outside the bounds of the cursor.
+ * @throws HeadlessException
+ * if isHeadless() method of GraphicsEnvironment class returns
+ * true.
*/
public Cursor createCustomCursor(Image img, Point hotSpot, String name)
throws IndexOutOfBoundsException, HeadlessException {
@@ -698,20 +750,19 @@ public abstract class Toolkit {
}
/**
- * Returns the supported cursor dimension which is closest to the
- * specified width and height. If the Toolkit only supports a single
- * cursor size, this method should return the supported cursor size.
- * If custom cursor is not supported, a dimension of 0, 0 should be
- * returned.
- *
- * @param prefWidth the preffered cursor width.
- * @param prefHeight the preffered cursor height.
+ * Returns the supported cursor dimension which is closest to the specified
+ * width and height. If the Toolkit only supports a single cursor size, this
+ * method should return the supported cursor size. If custom cursor is not
+ * supported, a dimension of 0, 0 should be returned.
*
- * @return the supported cursor dimension which is closest to the
- * specified width and height.
- *
- * @throws HeadlessException if GraphicsEnvironment.isHeadless()
- * returns true.
+ * @param prefWidth
+ * the preferred cursor width.
+ * @param prefHeight
+ * the preferred cursor height.
+ * @return the supported cursor dimension which is closest to the specified
+ * width and height.
+ * @throws HeadlessException
+ * if GraphicsEnvironment.isHeadless() returns true.
*/
public Dimension getBestCursorSize(int prefWidth, int prefHeight) throws HeadlessException {
lockAWT();
@@ -723,10 +774,10 @@ public abstract class Toolkit {
}
/**
- * Gets the value for the specified desktop property.
- *
- * @param propName the property name.
+ * Gets the value for the specified desktop property.
*
+ * @param propName
+ * the property name.
* @return the Object that is the property's value.
*/
public final Object getDesktopProperty(String propName) {
@@ -754,17 +805,19 @@ public abstract class Toolkit {
/**
* Returns the locking key state for the specified key.
*
- * @param a0 the key code: VK_CAPS_LOCK, VK_NUM_LOCK, VK_SCROLL_LOCK,
- * or VK_KANA_LOCK.
- *
- * @return true if the specified key code is in the locked state,
- * false otherwise.
- *
- * @throws UnsupportedOperationException if the state of this key
- * can't be retrieved, or if the keyboard doesn't have this key.
- * @throws NotImplementedException if this method is not implemented.
- */
- public boolean getLockingKeyState(int a0) throws UnsupportedOperationException, org.apache.harmony.luni.util.NotImplementedException {
+ * @param a0
+ * the key code: VK_CAPS_LOCK, VK_NUM_LOCK, VK_SCROLL_LOCK, or
+ * VK_KANA_LOCK.
+ * @return true if the specified key code is in the locked state, false
+ * otherwise.
+ * @throws UnsupportedOperationException
+ * if the state of this key can't be retrieved, or if the
+ * keyboard doesn't have this key.
+ * @throws NotImplementedException
+ * if this method is not implemented.
+ */
+ public boolean getLockingKeyState(int a0) throws UnsupportedOperationException,
+ org.apache.harmony.luni.util.NotImplementedException {
lockAWT();
try {
} finally {
@@ -781,9 +834,8 @@ public abstract class Toolkit {
* custom cursor.
*
* @return the maximum cursor colors.
- *
- * @throws HeadlessException if the GraphicsEnvironment.isHeadless()
- * method returns true.
+ * @throws HeadlessException
+ * if the GraphicsEnvironment.isHeadless() method returns true.
*/
public int getMaximumCursorColors() throws HeadlessException {
lockAWT();
@@ -796,11 +848,10 @@ public abstract class Toolkit {
/**
* Gets the menu shortcut key mask.
- *
- * @return the menu shortcut key mask.
*
- * @throws HeadlessException if the GraphicsEnvironment.isHeadless()
- * method returns true.
+ * @return the menu shortcut key mask.
+ * @throws HeadlessException
+ * if the GraphicsEnvironment.isHeadless() method returns true.
*/
public int getMenuShortcutKeyMask() throws HeadlessException {
lockAWT();
@@ -814,12 +865,11 @@ public abstract class Toolkit {
/**
* Gets the screen insets.
*
- * @param gc the GraphicsConfiguration.
- *
+ * @param gc
+ * the GraphicsConfiguration.
* @return the insets of this toolkit.
- *
- * @throws HeadlessException if the GraphicsEnvironment.isHeadless()
- * method returns true.
+ * @throws HeadlessException
+ * if the GraphicsEnvironment.isHeadless() method returns true.
*/
public Insets getScreenInsets(GraphicsConfiguration gc) throws HeadlessException {
if (gc == null) {
@@ -827,17 +877,17 @@ public abstract class Toolkit {
}
lockAWT();
try {
- return new Insets(0, 0, 0, 0); //TODO: get real screen insets
+ return new Insets(0, 0, 0, 0); // TODO: get real screen insets
} finally {
unlockAWT();
}
}
/**
- * Gets the system EventQueue instance.
- * If the default implementation of checkAwtEventQueueAccess is used,
- * then this results of a call to the security manager's checkPermission
- * method with an AWTPermission("accessEventQueue") permission.
+ * Gets the system EventQueue instance. If the default implementation of
+ * checkAwtEventQueueAccess is used, then this results of a call to the
+ * security manager's checkPermission method with an
+ * AWTPermission("accessEventQueue") permission.
*
* @return the system EventQueue instance.
*/
@@ -849,19 +899,20 @@ public abstract class Toolkit {
return getSystemEventQueueImpl();
}
- /**
+ /**
* Gets the system event queue core.
*
- * @return the system event queue core
+ * @return the system event queue core.
*/
EventQueueCore getSystemEventQueueCore() {
return systemEventQueueCore;
}
-
+
/**
* Sets the system event queue core.
*
- * @param core the new system event queue core
+ * @param core
+ * the new system event queue core.
*/
void setSystemEventQueueCore(EventQueueCore core) {
systemEventQueueCore = core;
@@ -882,11 +933,10 @@ public abstract class Toolkit {
/**
* Checks if dynamic layout of Containers is active or not.
*
- * @return true, if is dynamic layout of Containers is active,
- * false otherwise.
- *
- * @throws HeadlessException if the GraphicsEnvironment.isHeadless()
- * method returns true.
+ * @return true, if is dynamic layout of Containers is active, false
+ * otherwise.
+ * @throws HeadlessException
+ * if the GraphicsEnvironment.isHeadless() method returns true.
*/
public boolean isDynamicLayoutActive() throws HeadlessException {
lockAWT();
@@ -898,17 +948,15 @@ public abstract class Toolkit {
}
}
-
/**
- * Returns if the layout of Containers is checked dynamically during resizing,
- * or statically after resizing is completed.
- *
- * @return true, if if the layout of Containers is checked dynamically during
- * resizing; false, if the layout of Containers is checked statically after
- * resizing is completed.
+ * Returns if the layout of Containers is checked dynamically during
+ * resizing, or statically after resizing is completed.
*
- * @throws HeadlessException if the GraphicsEnvironment.isHeadless()
- * method returns true.
+ * @return true, if if the layout of Containers is checked dynamically
+ * during resizing; false, if the layout of Containers is checked
+ * statically after resizing is completed.
+ * @throws HeadlessException
+ * if the GraphicsEnvironment.isHeadless() method returns true.
*/
protected boolean isDynamicLayoutSet() throws HeadlessException {
lockAWT();
@@ -922,12 +970,11 @@ public abstract class Toolkit {
/**
* Checks if the specified frame state is supported by Toolkit or not.
*
- * @param state the frame state.
- *
- * @return true, if frame state is supported; false othrwise.
- *
- * @throws HeadlessException if the GraphicsEnvironment.isHeadless()
- * method returns true.
+ * @param state
+ * the frame state.
+ * @return true, if frame state is supported, false otherwise.
+ * @throws HeadlessException
+ * if the GraphicsEnvironment.isHeadless() method returns true.
*/
public boolean isFrameStateSupported(int state) throws HeadlessException {
lockAWT();
@@ -941,8 +988,8 @@ public abstract class Toolkit {
/**
* Loads the value of the desktop property with the specified property name.
*
- * @param propName the property name.
- *
+ * @param propName
+ * the property name.
* @return the desktop property values.
*/
protected Object lazilyLoadDesktopProperty(String propName) {
@@ -952,11 +999,11 @@ public abstract class Toolkit {
/**
* Loads the current system color values to the specified array.
*
- * @param colors the array where the current system color values
- * are written by this method.
- *
- * @throws HeadlessException if the GraphicsEnvironment.isHeadless()
- * method returns true.
+ * @param colors
+ * the array where the current system color values are written by
+ * this method.
+ * @throws HeadlessException
+ * if the GraphicsEnvironment.isHeadless() method returns true.
*/
protected void loadSystemColors(int[] colors) throws HeadlessException {
lockAWT();
@@ -969,8 +1016,10 @@ public abstract class Toolkit {
/**
* Sets the value of the desktop property with the specified name.
*
- * @param propName the property's name.
- * @param value the property's value.
+ * @param propName
+ * the property's name.
+ * @param value
+ * the property's value.
*/
protected final void setDesktopProperty(String propName, Object value) {
Object oldVal;
@@ -986,15 +1035,15 @@ public abstract class Toolkit {
}
/**
- * Sets the layout state, whether the Container layout is checked
- * dynamically during resizing, or statically after resizing is completed.
- *
- * @param dynamic the new dynamic layout state - if true the layout of
- * Containers is checked dynamically during resizing, if false -
- * statically after resizing is completed.
+ * Sets the layout state, whether the Container layout is checked
+ * dynamically during resizing, or statically after resizing is completed.
*
- * @throws HeadlessException if the GraphicsEnvironment.isHeadless()
- * method returns true.
+ * @param dynamic
+ * the new dynamic layout state - if true the layout of
+ * Containers is checked dynamically during resizing, if false -
+ * statically after resizing is completed.
+ * @throws HeadlessException
+ * if the GraphicsEnvironment.isHeadless() method returns true.
*/
public void setDynamicLayout(boolean dynamic) throws HeadlessException {
lockAWT();
@@ -1008,16 +1057,20 @@ public abstract class Toolkit {
/**
* Sets the locking key state for the specified key code.
*
- * @param a0 the key code: VK_CAPS_LOCK, VK_NUM_LOCK, VK_SCROLL_LOCK,
- * or VK_KANA_LOCK.
- * @param a1 the state - true to set the specified key code to the locked state,
- * false - to unlock it.
- *
- * @throws UnsupportedOperationException if the state of this key
- * can't be set, or if the keyboard doesn't have this key.
- * @throws NotImplementedException if this method is not implemented.
- */
- public void setLockingKeyState(int a0, boolean a1) throws UnsupportedOperationException, org.apache.harmony.luni.util.NotImplementedException {
+ * @param a0
+ * the key code: VK_CAPS_LOCK, VK_NUM_LOCK, VK_SCROLL_LOCK, or
+ * VK_KANA_LOCK.
+ * @param a1
+ * the state - true to set the specified key code to the locked
+ * state, false - to unlock it.
+ * @throws UnsupportedOperationException
+ * if the state of this key can't be set, or if the keyboard
+ * doesn't have this key.
+ * @throws NotImplementedException
+ * if this method is not implemented.
+ */
+ public void setLockingKeyState(int a0, boolean a1) throws UnsupportedOperationException,
+ org.apache.harmony.luni.util.NotImplementedException {
lockAWT();
try {
} finally {
@@ -1029,7 +1082,6 @@ public abstract class Toolkit {
return;
}
-
/**
* On queue empty.
*/
@@ -1040,14 +1092,14 @@ public abstract class Toolkit {
/**
* Creates the wtk.
*
- * @param clsName the cls name
- *
- * @return the wTK
+ * @param clsName
+ * the cls name.
+ * @return the wTK.
*/
private WTK createWTK(String clsName) {
WTK newWTK = null;
try {
- newWTK = (WTK) Class.forName(clsName).newInstance();
+ newWTK = (WTK)Class.forName(clsName).newInstance();
} catch (Exception e) {
throw new RuntimeException(e);
}
@@ -1056,7 +1108,9 @@ public abstract class Toolkit {
/**
* Connect the component to its native window
- * @param winId - id of native window just created
+ *
+ * @param winId
+ * the id of native window just created.
*/
boolean onWindowCreated(long winId) {
return false;
@@ -1065,45 +1119,50 @@ public abstract class Toolkit {
/**
* Gets the native event queue.
*
- * @return the native event queue
+ * @return the native event queue.
*/
NativeEventQueue getNativeEventQueue() {
return wtk.getNativeEventQueue();
}
/**
- * Returns a shared instance of implementation of org.apache.harmony.awt.wtk.NativeCursor
- * for current platform for
+ * Returns a shared instance of implementation of
+ * org.apache.harmony.awt.wtk.NativeCursor for current platform for.
*
- * @param type - Java Cursor type
- *
- * @return new instance of implementation of NativeCursor
+ * @param type
+ * the Java Cursor type.
+ * @return new instance of implementation of NativeCursor.
*/
NativeCursor createNativeCursor(int type) {
return wtk.getCursorFactory().getCursor(type);
}
/**
- * Returns a shared instance of implementation of org.apache.harmony.awt.wtk.NativeCursor
- * for current platform for custom cursor
- *
- * @param img the img
- * @param hotSpot the hot spot
- * @param name the name
+ * Returns a shared instance of implementation of
+ * org.apache.harmony.awt.wtk.NativeCursor for current platform for custom
+ * cursor
*
- * @return new instance of implementation of NativeCursor
+ * @param img
+ * the img.
+ * @param hotSpot
+ * the hot spot.
+ * @param name
+ * the name.
+ * @return new instance of implementation of NativeCursor.
*/
NativeCursor createCustomNativeCursor(Image img, Point hotSpot, String name) {
return wtk.getCursorFactory().createCustomCursor(img, hotSpot.x, hotSpot.y);
}
/**
- * Adds an AWTEventListener to the Toolkit to listen for events
- * of types corresponding to bits in the specified event mask.
- * Event masks are defined in AWTEvent class.
+ * Adds an AWTEventListener to the Toolkit to listen for events of types
+ * corresponding to bits in the specified event mask. Event masks are
+ * defined in AWTEvent class.
*
- * @param listener the AWTEventListener.
- * @param eventMask he bitmask of event types.
+ * @param listener
+ * the AWTEventListener.
+ * @param eventMask
+ * the bitmask of event types.
*/
public void addAWTEventListener(AWTEventListener listener, long eventMask) {
lockAWT();
@@ -1119,9 +1178,10 @@ public abstract class Toolkit {
}
/**
- * Removes the specified awt event listener.
+ * Removes the specified AWT event listener.
*
- * @param listener the AWTEventListener to be removed.
+ * @param listener
+ * the AWTEventListener to be removed.
*/
public void removeAWTEventListener(AWTEventListener listener) {
lockAWT();
@@ -1139,7 +1199,8 @@ public abstract class Toolkit {
/**
* Gets the array of all AWT event listeners registered with this Toolkit.
*
- * @return the array of all AWT event listeners registered with this Toolkit.
+ * @return the array of all AWT event listeners registered with this
+ * Toolkit.
*/
public AWTEventListener[] getAWTEventListeners() {
lockAWT();
@@ -1155,13 +1216,13 @@ public abstract class Toolkit {
}
/**
- * Returns the array of the AWT event listeners registered with this Toolkit
+ * Returns the array of the AWT event listeners registered with this Toolkit
* for the event types corresponding to the specified event mask.
*
- * @param eventMask the bit mask of event type.
- *
- * @return the array of the AWT event listeners registered in this Toolkit
- * for the event types corresponding to the specified event mask.
+ * @param eventMask
+ * the bit mask of event type.
+ * @return the array of the AWT event listeners registered in this Toolkit
+ * for the event types corresponding to the specified event mask.
*/
public AWTEventListener[] getAWTEventListeners(long eventMask) {
lockAWT();
@@ -1177,30 +1238,37 @@ public abstract class Toolkit {
}
/**
- * Dispatch awt event.
+ * Dispatch AWT event.
*
- * @param event the event
+ * @param event
+ * the event.
*/
void dispatchAWTEvent(AWTEvent event) {
awtEventsManager.dispatchAWTEvent(event);
}
-
+
/**
* The Class AWTEventsManager.
*/
final class AWTEventsManager {
- /** The permission. */
+ /**
+ * The permission.
+ */
AWTPermission permission = new AWTPermission("listenToAllAWTEvents"); //$NON-NLS-1$
- /** The listeners. */
+ /**
+ * The listeners.
+ */
private final AWTListenerList<AWTEventListenerProxy> listeners = new AWTListenerList<AWTEventListenerProxy>();
/**
- * Adds the awt event listener.
+ * Adds the AWT event listener.
*
- * @param listener the listener
- * @param eventMask the event mask
+ * @param listener
+ * the listener.
+ * @param eventMask
+ * the event mask.
*/
void addAWTEventListener(AWTEventListener listener, long eventMask) {
if (listener != null) {
@@ -1209,9 +1277,10 @@ public abstract class Toolkit {
}
/**
- * Removes the awt event listener.
+ * Removes the AWT event listener.
*
- * @param listener the listener
+ * @param listener
+ * the listener.
*/
void removeAWTEventListener(AWTEventListener listener) {
if (listener != null) {
@@ -1225,9 +1294,9 @@ public abstract class Toolkit {
}
/**
- * Gets the aWT event listeners.
+ * Gets the AWT event listeners.
*
- * @return the aWT event listeners
+ * @return the AWT event listeners.
*/
AWTEventListener[] getAWTEventListeners() {
HashSet<EventListener> listenersSet = new HashSet<EventListener>();
@@ -1238,11 +1307,11 @@ public abstract class Toolkit {
}
/**
- * Gets the aWT event listeners.
+ * Gets the AWT event listeners.
*
- * @param eventMask the event mask
- *
- * @return the aWT event listeners
+ * @param eventMask
+ * the event mask.
+ * @return the AWT event listeners.
*/
AWTEventListener[] getAWTEventListeners(long eventMask) {
HashSet<EventListener> listenersSet = new HashSet<EventListener>();
@@ -1255,9 +1324,10 @@ public abstract class Toolkit {
}
/**
- * Dispatch awt event.
+ * Dispatch AWT event.
*
- * @param event the event
+ * @param event
+ * the event.
*/
void dispatchAWTEvent(AWTEvent event) {
AWTEvent.EventDescriptor descriptor = eventTypeLookup.getEventDescriptor(event);
@@ -1271,68 +1341,104 @@ public abstract class Toolkit {
}
}
}
-
+
/**
* The Class AutoNumber.
*/
static final class AutoNumber {
- /** The next component. */
+ /**
+ * The next component.
+ */
int nextComponent = 0;
- /** The next canvas. */
+ /**
+ * The next canvas.
+ */
int nextCanvas = 0;
- /** The next panel. */
+ /**
+ * The next panel.
+ */
int nextPanel = 0;
- /** The next window. */
+ /**
+ * The next window.
+ */
int nextWindow = 0;
- /** The next frame. */
+ /**
+ * The next frame.
+ */
int nextFrame = 0;
- /** The next dialog. */
+ /**
+ * The next dialog.
+ */
int nextDialog = 0;
- /** The next button. */
+ /**
+ * The next button.
+ */
int nextButton = 0;
- /** The next menu component. */
+ /**
+ * The next menu component.
+ */
int nextMenuComponent = 0;
- /** The next label. */
+ /**
+ * The next label.
+ */
int nextLabel = 0;
- /** The next check box. */
+ /**
+ * The next check box.
+ */
int nextCheckBox = 0;
- /** The next scrollbar. */
+ /**
+ * The next scrollbar.
+ */
int nextScrollbar = 0;
- /** The next scroll pane. */
+ /**
+ * The next scroll pane.
+ */
int nextScrollPane = 0;
- /** The next list. */
+ /**
+ * The next list.
+ */
int nextList = 0;
- /** The next choice. */
+ /**
+ * The next choice.
+ */
int nextChoice = 0;
- /** The next file dialog. */
+ /**
+ * The next file dialog.
+ */
int nextFileDialog = 0;
- /** The next text area. */
+ /**
+ * The next text area.
+ */
int nextTextArea = 0;
- /** The next text field. */
+ /**
+ * The next text field.
+ */
int nextTextField = 0;
}
-
+
private class Lock {
}
- /** The lock. */
+ /**
+ * The lock.
+ */
private final Object lock = new Lock();
-
+
}
diff --git a/awt/java/awt/Transparency.java b/awt/java/awt/Transparency.java
index 9793114..44a1e7f 100644
--- a/awt/java/awt/Transparency.java
+++ b/awt/java/awt/Transparency.java
@@ -18,34 +18,40 @@
* @author Pavel Dolgov
* @version $Revision$
*/
+
package java.awt;
/**
* The Transparency interface defines transparency's general modes.
+ *
+ * @since Android 1.0
*/
public interface Transparency {
- /** The Constant OPAQUE represents completely opaque data,
- * all pixels have an alpha value of 1.0.
+ /**
+ * The Constant OPAQUE represents completely opaque data, all pixels have an
+ * alpha value of 1.0.
*/
public static final int OPAQUE = 1;
- /** The Constant BITMASK represents data which can be either
- * completely opaque, with an alpha value of 1.0, or completely
- * transparent, with an alpha value of 0.0.
+ /**
+ * The Constant BITMASK represents data which can be either completely
+ * opaque, with an alpha value of 1.0, or completely transparent, with an
+ * alpha value of 0.0.
*/
public static final int BITMASK = 2;
- /** The Constant TRANSLUCENT represents data which alpha value
- * can vary between and including 0.0 and 1.0. */
+ /**
+ * The Constant TRANSLUCENT represents data which alpha value can vary
+ * between and including 0.0 and 1.0.
+ */
public static final int TRANSLUCENT = 3;
/**
* Gets the transparency mode.
*
- * @return the transparency mode: OPAQUE, BITMASK or TRANSLUCENT.
+ * @return the transparency mode: OPAQUE, BITMASK or TRANSLUCENT.
*/
public int getTransparency();
}
-
diff --git a/awt/java/awt/color/CMMException.java b/awt/java/awt/color/CMMException.java
index 16fe76e..18b9a7e 100644
--- a/awt/java/awt/color/CMMException.java
+++ b/awt/java/awt/color/CMMException.java
@@ -21,18 +21,22 @@
package java.awt.color;
/**
- * The CMMException is thrown as soon as a native CMM error
- * occures.
+ * The CMMException is thrown as soon as a native CMM error occurs.
+ *
+ * @since Android 1.0
*/
public class CMMException extends java.lang.RuntimeException {
- /** The Constant serialVersionUID. */
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = 5775558044142994965L;
/**
* Instantiates a new CMM exception with detail message.
*
- * @param s the String - detail message.
+ * @param s
+ * the detail message of the exception.
*/
public CMMException (String s) {
super (s);
diff --git a/awt/java/awt/color/ColorSpace.java b/awt/java/awt/color/ColorSpace.java
index f961514..44c491b 100644
--- a/awt/java/awt/color/ColorSpace.java
+++ b/awt/java/awt/color/ColorSpace.java
@@ -26,131 +26,209 @@ import org.apache.harmony.awt.gl.color.LUTColorConverter;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The ColorSpace class defines a color space type for a Color and provides methods
- * for arrays of color component operations.
+ * The ColorSpace class defines a color space type for a Color and provides
+ * methods for arrays of color component operations.
+ *
+ * @since Android 1.0
*/
public abstract class ColorSpace implements Serializable {
/** The Constant serialVersionUID. */
private static final long serialVersionUID = -409452704308689724L;
- /** The Constant TYPE_XYZ indicates XYZ color space type. */
+ /**
+ * The Constant TYPE_XYZ indicates XYZ color space type.
+ */
public static final int TYPE_XYZ = 0;
- /** The Constant TYPE_Lab indicates Lab color space type. */
+ /**
+ * The Constant TYPE_Lab indicates Lab color space type.
+ */
public static final int TYPE_Lab = 1;
- /** The Constant TYPE_Luv indicates Luv color space type. */
+ /**
+ * The Constant TYPE_Luv indicates Luv color space type.
+ */
public static final int TYPE_Luv = 2;
- /** The Constant TYPE_YCbCr indicates YCbCr color space type. */
+ /**
+ * The Constant TYPE_YCbCr indicates YCbCr color space type.
+ */
public static final int TYPE_YCbCr = 3;
- /** The Constant TYPE_Yxy indicates Yxy color space type. */
+ /**
+ * The Constant TYPE_Yxy indicates Yxy color space type.
+ */
public static final int TYPE_Yxy = 4;
- /** The Constant TYPE_RGB indicates RGB color space type. */
+ /**
+ * The Constant TYPE_RGB indicates RGB color space type.
+ */
public static final int TYPE_RGB = 5;
- /** The Constant TYPE_GRAY indicates Gray color space type. */
+ /**
+ * The Constant TYPE_GRAY indicates Gray color space type.
+ */
public static final int TYPE_GRAY = 6;
- /** The Constant TYPE_HSV indicates HSV color space type. */
+ /**
+ * The Constant TYPE_HSV indicates HSV color space type.
+ */
public static final int TYPE_HSV = 7;
- /** The Constant TYPE_HLS indicates HLS color space type. */
+ /**
+ * The Constant TYPE_HLS indicates HLS color space type.
+ */
public static final int TYPE_HLS = 8;
- /** The Constant TYPE_CMYK indicates CMYK color space type. */
+ /**
+ * The Constant TYPE_CMYK indicates CMYK color space type.
+ */
public static final int TYPE_CMYK = 9;
- /** The Constant TYPE_CMY indicates CMY color space type. */
+ /**
+ * The Constant TYPE_CMY indicates CMY color space type.
+ */
public static final int TYPE_CMY = 11;
- /** The Constant TYPE_2CLR indicates color spaces with 2 components. */
+ /**
+ * The Constant TYPE_2CLR indicates color spaces with 2 components.
+ */
public static final int TYPE_2CLR = 12;
- /** The Constant TYPE_3CLR indicates color spaces with 3 components. */
+ /**
+ * The Constant TYPE_3CLR indicates color spaces with 3 components.
+ */
public static final int TYPE_3CLR = 13;
- /** The Constant TYPE_4CLR indicates color spaces with 4 components. */
+ /**
+ * The Constant TYPE_4CLR indicates color spaces with 4 components.
+ */
public static final int TYPE_4CLR = 14;
- /** The Constant TYPE_5CLR indicates color spaces with 5 components. */
+ /**
+ * The Constant TYPE_5CLR indicates color spaces with 5 components.
+ */
public static final int TYPE_5CLR = 15;
- /** The Constant TYPE_6CLR indicates color spaces with 6 components. */
+ /**
+ * The Constant TYPE_6CLR indicates color spaces with 6 components.
+ */
public static final int TYPE_6CLR = 16;
- /** The Constant TYPE_7CLR indicates color spaces with 7 components. */
+ /**
+ * The Constant TYPE_7CLR indicates color spaces with 7 components.
+ */
public static final int TYPE_7CLR = 17;
- /** The Constant TYPE_8CLR indicates color spaces with 8 components. */
+ /**
+ * The Constant TYPE_8CLR indicates color spaces with 8 components.
+ */
public static final int TYPE_8CLR = 18;
- /** The Constant TYPE_9CLR indicates color spaces with 9 components. */
+ /**
+ * The Constant TYPE_9CLR indicates color spaces with 9 components.
+ */
public static final int TYPE_9CLR = 19;
- /** The Constant TYPE_ACLR indicates color spaces with 10 components. */
+ /**
+ * The Constant TYPE_ACLR indicates color spaces with 10 components.
+ */
public static final int TYPE_ACLR = 20;
- /** The Constant TYPE_BCLR indicates color spaces with 11 components. */
+ /**
+ * The Constant TYPE_BCLR indicates color spaces with 11 components.
+ */
public static final int TYPE_BCLR = 21;
- /** The Constant TYPE_CCLR indicates color spaces with 12 components. */
+ /**
+ * The Constant TYPE_CCLR indicates color spaces with 12 components.
+ */
public static final int TYPE_CCLR = 22;
- /** The Constant TYPE_DCLR indicates color spaces with 13 components. */
+ /**
+ * The Constant TYPE_DCLR indicates color spaces with 13 components.
+ */
public static final int TYPE_DCLR = 23;
- /** The Constant TYPE_ECLR indicates color spaces with 14 components. */
+ /**
+ * The Constant TYPE_ECLR indicates color spaces with 14 components.
+ */
public static final int TYPE_ECLR = 24;
- /** The Constant TYPE_FCLR indicates color spaces with 15 components. */
+ /**
+ * The Constant TYPE_FCLR indicates color spaces with 15 components.
+ */
public static final int TYPE_FCLR = 25;
- /** The Constant CS_sRGB indicates standard RGB color space.*/
+ /**
+ * The Constant CS_sRGB indicates standard RGB color space.
+ */
public static final int CS_sRGB = 1000;
- /** The Constant CS_LINEAR_RGB indicates linear RGB color space. */
+ /**
+ * The Constant CS_LINEAR_RGB indicates linear RGB color space.
+ */
public static final int CS_LINEAR_RGB = 1004;
- /** The Constant CS_CIEXYZ indicates CIEXYZ conversion color space. */
+ /**
+ * The Constant CS_CIEXYZ indicates CIEXYZ conversion color space.
+ */
public static final int CS_CIEXYZ = 1001;
- /** The Constant CS_PYCC indicates Photo YCC conversion color space. */
+ /**
+ * The Constant CS_PYCC indicates Photo YCC conversion color space.
+ */
public static final int CS_PYCC = 1002;
- /** The Constant CS_GRAY indicates linear gray scale color space. */
+ /**
+ * The Constant CS_GRAY indicates linear gray scale color space.
+ */
public static final int CS_GRAY = 1003;
- /** The cs_ gray. */
+ /**
+ * The cs_ gray.
+ */
private static ColorSpace cs_Gray = null;
- /** The cs_ pycc. */
+ /**
+ * The cs_ pycc.
+ */
private static ColorSpace cs_PYCC = null;
- /** The cs_ ciexyz. */
+ /**
+ * The cs_ ciexyz.
+ */
private static ColorSpace cs_CIEXYZ = null;
- /** The cs_ lrgb. */
+ /**
+ * The cs_ lrgb.
+ */
private static ColorSpace cs_LRGB = null;
- /** The cs_s rgb. */
+ /**
+ * The cs_s rgb.
+ */
private static ColorSpace cs_sRGB = null;
- /** The type. */
+ /**
+ * The type.
+ */
private int type;
- /** The num components. */
+ /**
+ * The num components.
+ */
private int numComponents;
/**
- * Instantiates a ColorSpace with the specified
- * ColorSpace type and number of components.
+ * Instantiates a ColorSpace with the specified ColorSpace type and number
+ * of components.
*
- * @param type the type of color space.
- * @param numcomponents the number of components.
+ * @param type
+ * the type of color space.
+ * @param numcomponents
+ * the number of components.
*/
protected ColorSpace(int type, int numcomponents) {
this.numComponents = numcomponents;
@@ -160,8 +238,8 @@ public abstract class ColorSpace implements Serializable {
/**
* Gets the name of the component for the specified component index.
*
- * @param idx the index of the component.
- *
+ * @param idx
+ * the index of the component.
* @return the name of the component.
*/
public String getName(int idx) {
@@ -174,56 +252,54 @@ public abstract class ColorSpace implements Serializable {
}
/**
- * Perform transformation a color from this ColorSpace
- * into the RGB color space.
- *
- * @param colorvalue the color value in this ColorSpace.
+ * Performs the transformation of a color from this ColorSpace into the RGB
+ * color space.
*
- * @return the float array with color components in the
- * RGB color space.
+ * @param colorvalue
+ * the color value in this ColorSpace.
+ * @return the float array with color components in the RGB color space.
*/
public abstract float[] toRGB(float[] colorvalue);
/**
- * Perform transformation a color from this ColorSpace
- * into the CS_CIEXYZ color space.
+ * Performs the transformation of a color from this ColorSpace into the
+ * CS_CIEXYZ color space.
*
- * @param colorvalue the color value in this ColorSpace.
- *
- * @return the float array with color components in the
- * CS_CIEXYZ color space.
+ * @param colorvalue
+ * the color value in this ColorSpace.
+ * @return the float array with color components in the CS_CIEXYZ color
+ * space.
*/
public abstract float[] toCIEXYZ(float[] colorvalue);
/**
- * Performs color transformation from the RGB color space
- * into this ColorSpace.
+ * Performs the transformation of a color from the RGB color space into this
+ * ColorSpace.
*
- * @param rgbvalue a float array in the RGB color space.
- *
- * @return the float[] an array of transformed color
- * components.
+ * @param rgbvalue
+ * the float array representing a color in the RGB color space.
+ * @return the float array with the transformed color components.
*/
public abstract float[] fromRGB(float[] rgbvalue);
/**
- * Performs color transformation from the CS_CIEXYZ color space
+ * Performs the transformation of a color from the CS_CIEXYZ color space
* into this ColorSpace.
*
- * @param colorvalue a float array in the CS_CIEXYZ color space.
- *
- * @return the float[] an array of transformed color
- * components.
+ * @param colorvalue
+ * the float array representing a color in the CS_CIEXYZ color
+ * space.
+ * @return the float array with the transformed color components.
*/
public abstract float[] fromCIEXYZ(float[] colorvalue);
/**
- * Gets the minimum normalized color component value for
- * the specified component.
- *
- * @param component the component.
+ * Gets the minimum normalized color component value for the specified
+ * component.
*
- * @return the miniimum normalized value of the component.
+ * @param component
+ * the component to determine the minimum value.
+ * @return the minimum normalized value of the component.
*/
public float getMinValue(int component) {
if (component < 0 || component > numComponents - 1) {
@@ -234,11 +310,11 @@ public abstract class ColorSpace implements Serializable {
}
/**
- * Gets the maximum normalized color component value for
- * the specified component.
- *
- * @param component the component.
+ * Gets the maximum normalized color component value for the specified
+ * component.
*
+ * @param component
+ * the component to determine the maximum value.
* @return the maximum normalized value of the component.
*/
public float getMaxValue(int component) {
@@ -252,8 +328,7 @@ public abstract class ColorSpace implements Serializable {
/**
* Checks if this ColorSpace has CS_sRGB type or not.
*
- * @return true, if this ColorSpace has CS_sRGB type,
- * false otherwise.
+ * @return true, if this ColorSpace has CS_sRGB type, false otherwise.
*/
public boolean isCS_sRGB() {
// If our color space is sRGB, then cs_sRGB
@@ -281,12 +356,11 @@ public abstract class ColorSpace implements Serializable {
/**
- * Gets the single instance of ColorSpace with the specified
- * ColorSpace: CS_sRGB, CS_LINEAR_RGB, CS_CIEXYZ, CS_GRAY,
- * or CS_PYCC.
- *
- * @param colorspace the identifier of the specified Colorspace.
+ * Gets the single instance of ColorSpace with the specified ColorSpace:
+ * CS_sRGB, CS_LINEAR_RGB, CS_CIEXYZ, CS_GRAY, or CS_PYCC.
*
+ * @param colorspace
+ * the identifier of the specified Colorspace.
* @return the single instance of the desired ColorSpace.
*/
public static ColorSpace getInstance(int colorspace) {
diff --git a/awt/java/awt/color/ICC_ColorSpace.java b/awt/java/awt/color/ICC_ColorSpace.java
index 5ece2ef..5b4d7e9 100644
--- a/awt/java/awt/color/ICC_ColorSpace.java
+++ b/awt/java/awt/color/ICC_ColorSpace.java
@@ -28,19 +28,24 @@ import org.apache.harmony.awt.internal.nls.Messages;
import java.io.*;
/**
- * ICC_ColorSpace class implements ColorSpace abstract class and
- * represents device independent and device dependent color spaces.
- * This color space is based on the International Color Consortium
- * Specification (ICC) File Format for Color Profiles:
- * <a href="http://www.color.org">http://www.color.org</a>
+ * This class implements the abstract class ColorSpace and represents device
+ * independent and device dependent color spaces. This color space is based on
+ * the International Color Consortium Specification (ICC) File Format for Color
+ * Profiles: <a href="http://www.color.org">http://www.color.org</a>
+ *
+ * @since Android 1.0
*/
public class ICC_ColorSpace extends ColorSpace {
- /** The Constant serialVersionUID. */
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = 3455889114070431483L;
// Need to keep compatibility with serialized form
- /** The Constant serialPersistentFields. */
+ /**
+ * The Constant serialPersistentFields.
+ */
private static final ObjectStreamField[]
serialPersistentFields = {
new ObjectStreamField("thisProfile", ICC_Profile.class), //$NON-NLS-1$
@@ -53,63 +58,94 @@ public class ICC_ColorSpace extends ColorSpace {
/**
- * According to ICC specification (from http://www.color.org)
- * "For the CIEXYZ encoding, each component (X, Y, and Z)
- * is encoded as a u1Fixed15Number".
- * This means that max value for this encoding is 1 + (32767/32768)
- */
+ * According to ICC specification (from http://www.color.org) "For the
+ * CIEXYZ encoding, each component (X, Y, and Z) is encoded as a
+ * u1Fixed15Number". This means that max value for this encoding is 1 +
+ * (32767/32768)
+ */
private static final float MAX_XYZ = 1f + (32767f/32768f);
- /** The Constant MAX_SHORT. */
+ /**
+ * The Constant MAX_SHORT.
+ */
private static final float MAX_SHORT = 65535f;
- /** The Constant INV_MAX_SHORT. */
+ /**
+ * The Constant INV_MAX_SHORT.
+ */
private static final float INV_MAX_SHORT = 1f/MAX_SHORT;
- /** The Constant SHORT2XYZ_FACTOR. */
+ /**
+ * The Constant SHORT2XYZ_FACTOR.
+ */
private static final float SHORT2XYZ_FACTOR = MAX_XYZ/MAX_SHORT;
- /** The Constant XYZ2SHORT_FACTOR. */
+ /**
+ * The Constant XYZ2SHORT_FACTOR.
+ */
private static final float XYZ2SHORT_FACTOR = MAX_SHORT/MAX_XYZ;
- /** The profile. */
+ /**
+ * The profile.
+ */
private ICC_Profile profile = null;
- /** The min values. */
+ /**
+ * The min values.
+ */
private float minValues[] = null;
- /** The max values. */
+ /**
+ * The max values.
+ */
private float maxValues[] = null;
// cache transforms here - performance gain
- /** The to rgb transform. */
+ /**
+ * The to rgb transform.
+ */
private ICC_Transform toRGBTransform = null;
- /** The from rgb transform. */
+ /**
+ * The from rgb transform.
+ */
private ICC_Transform fromRGBTransform = null;
- /** The to xyz transform. */
+ /**
+ * The to xyz transform.
+ */
private ICC_Transform toXYZTransform = null;
- /** The from xyz transform. */
+ /**
+ * The from xyz transform.
+ */
private ICC_Transform fromXYZTransform = null;
- /** The converter. */
+ /**
+ * The converter.
+ */
private final ColorConverter converter = new ColorConverter();
- /** The scaler. */
+ /**
+ * The scaler.
+ */
private final ColorScaler scaler = new ColorScaler();
- /** The scaling data loaded. */
+ /**
+ * The scaling data loaded.
+ */
private boolean scalingDataLoaded = false;
- /** The resolved deserialized inst. */
+ /**
+ * The resolved deserialized inst.
+ */
private ICC_ColorSpace resolvedDeserializedInst;
/**
* Instantiates a new ICC color space from an ICC_Profile object.
*
- * @param pf the ICC_Profile object.
+ * @param pf
+ * the ICC_Profile object.
*/
public ICC_ColorSpace(ICC_Profile pf) {
super(pf.getColorSpaceType(), pf.getNumComponents());
@@ -132,7 +168,7 @@ public class ICC_ColorSpace extends ColorSpace {
}
/**
- * Returns the ICC_Profile for this ICC_ColorSpace.
+ * Gets the ICC_Profile for this ICC_ColorSpace.
*
* @return the ICC_Profile for this ICC_ColorSpace.
*/
@@ -144,6 +180,14 @@ public class ICC_ColorSpace extends ColorSpace {
return profile;
}
+ /**
+ * Performs the transformation of a color from this ColorSpace into the RGB
+ * color space.
+ *
+ * @param colorvalue
+ * the color value in this ColorSpace.
+ * @return the float array with color components in the RGB color space.
+ */
@Override
public float[] toRGB(float[] colorvalue) {
if (toRGBTransform == null) {
@@ -174,6 +218,15 @@ public class ICC_ColorSpace extends ColorSpace {
return res;
}
+ /**
+ * Performs the transformation of a color from this ColorSpace into the
+ * CS_CIEXYZ color space.
+ *
+ * @param colorvalue
+ * the color value in this ColorSpace.
+ * @return the float array with color components in the CS_CIEXYZ color
+ * space.
+ */
@Override
public float[] toCIEXYZ(float[] colorvalue) {
if (toXYZTransform == null) {
@@ -212,6 +265,14 @@ public class ICC_ColorSpace extends ColorSpace {
return res;
}
+ /**
+ * Performs the transformation of a color from the RGB color space into this
+ * ColorSpace.
+ *
+ * @param rgbvalue
+ * the float array representing a color in the RGB color space.
+ * @return the float array with the transformed color components.
+ */
@Override
public float[] fromRGB(float[] rgbvalue) {
if (fromRGBTransform == null) {
@@ -241,6 +302,15 @@ public class ICC_ColorSpace extends ColorSpace {
return res;
}
+ /**
+ * Performs the transformation of a color from the CS_CIEXYZ color space
+ * into this ColorSpace.
+ *
+ * @param xyzvalue
+ * the float array representing a color in the CS_CIEXYZ color
+ * space.
+ * @return the float array with the transformed color components.
+ */
@Override
public float[] fromCIEXYZ(float[] xyzvalue) {
if (fromXYZTransform == null) {
@@ -279,6 +349,14 @@ public class ICC_ColorSpace extends ColorSpace {
return res;
}
+ /**
+ * Gets the minimum normalized color component value for the specified
+ * component.
+ *
+ * @param component
+ * the component to determine the minimum value.
+ * @return the minimum normalized value of the component.
+ */
@Override
public float getMinValue(int component) {
if ((component < 0) || (component > this.getNumComponents() - 1)) {
@@ -289,6 +367,14 @@ public class ICC_ColorSpace extends ColorSpace {
return minValues[component];
}
+ /**
+ * Gets the maximum normalized color component value for the specified
+ * component.
+ *
+ * @param component
+ * the component to determine the maximum value.
+ * @return the maximum normalized value of the component.
+ */
@Override
public float getMaxValue(int component) {
if ((component < 0) || (component > this.getNumComponents() - 1)) {
@@ -334,9 +420,10 @@ public class ICC_ColorSpace extends ColorSpace {
/**
* Write object.
*
- * @param out the out
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param out
+ * the out
+ * @throws IOException
+ * Signals that an I/O exception has occurred.
*/
private void writeObject(ObjectOutputStream out) throws IOException {
ObjectOutputStream.PutField fields = out.putFields();
@@ -354,10 +441,12 @@ public class ICC_ColorSpace extends ColorSpace {
/**
* Read object.
*
- * @param in the in
- *
- * @throws IOException Signals that an I/O exception has occurred.
- * @throws ClassNotFoundException the class not found exception
+ * @param in
+ * the in
+ * @throws IOException
+ * Signals that an I/O exception has occurred.
+ * @throws ClassNotFoundException
+ * the class not found exception
*/
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
ObjectInputStream.GetField fields = in.readFields();
@@ -369,8 +458,8 @@ public class ICC_ColorSpace extends ColorSpace {
* Read resolve.
*
* @return the object
- *
- * @throws ObjectStreamException the object stream exception
+ * @throws ObjectStreamException
+ * the object stream exception
*/
Object readResolve() throws ObjectStreamException {
return resolvedDeserializedInst;
diff --git a/awt/java/awt/color/ICC_Profile.java b/awt/java/awt/color/ICC_Profile.java
index ad704e0..8ffee6c 100644
--- a/awt/java/awt/color/ICC_Profile.java
+++ b/awt/java/awt/color/ICC_Profile.java
@@ -18,6 +18,7 @@
* @author Oleg V. Khaschansky
* @version $Revision$
*/
+
package java.awt.color;
import java.io.File;
@@ -40,427 +41,681 @@ import org.apache.harmony.awt.gl.color.NativeCMM;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The ICC_Profile class represents a color profile data for color spaces
- * based on the International Color Consortium Specification ICC.1:2001-12,
- * File Format for Color Profiles.
+ * The ICC_Profile class represents a color profile data for color spaces based
+ * on the International Color Consortium Specification ICC.1:2001-12, File
+ * Format for Color Profiles.
+ *
+ * @since Android 1.0
*/
public class ICC_Profile implements Serializable {
- /** The Constant serialVersionUID. */
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = -3938515861990936766L;
// NOTE: Constant field values are noted in 1.5 specification.
/**
- * The Constant CLASS_INPUT indicates that profile class is input.
+ * The Constant CLASS_INPUT indicates that profile class is input.
*/
public static final int CLASS_INPUT = 0;
- /**
- * The Constant CLASS_DISPLAY indicates that profile class is display.
+ /**
+ * The Constant CLASS_DISPLAY indicates that profile class is display.
*/
public static final int CLASS_DISPLAY = 1;
- /**
- * The Constant CLASS_OUTPUT indicates that profile class is output.
+ /**
+ * The Constant CLASS_OUTPUT indicates that profile class is output.
*/
public static final int CLASS_OUTPUT = 2;
- /**
- * The Constant CLASS_DEVICELINK indicates that profile class
- * is device link.
+ /**
+ * The Constant CLASS_DEVICELINK indicates that profile class is device
+ * link.
*/
public static final int CLASS_DEVICELINK = 3;
- /**
- * The Constant CLASS_COLORSPACECONVERSION indicates that profile class
- * is color space conversion.
+ /**
+ * The Constant CLASS_COLORSPACECONVERSION indicates that profile class is
+ * color space conversion.
*/
public static final int CLASS_COLORSPACECONVERSION = 4;
- /** The Constant CLASS_ABSTRACT indicates that profile class is abstract. */
+ /**
+ * The Constant CLASS_ABSTRACT indicates that profile class is abstract.
+ */
public static final int CLASS_ABSTRACT = 5;
- /**
- * The Constant CLASS_NAMEDCOLOR indicates that profile class
- * is named color.
+ /**
+ * The Constant CLASS_NAMEDCOLOR indicates that profile class is named
+ * color.
*/
public static final int CLASS_NAMEDCOLOR = 6;
- /** The Constant icSigXYZData - ICC Profile Color Space Type Signature. */
+ /**
+ * The Constant icSigXYZData - ICC Profile Color Space Type Signature.
+ */
public static final int icSigXYZData = 1482250784;
- /** The Constant icSigLabData - ICC Profile Color Space Type Signature. */
+ /**
+ * The Constant icSigLabData - ICC Profile Color Space Type Signature.
+ */
public static final int icSigLabData = 1281450528;
- /** The Constant icSigLuvData - ICC Profile Color Space Type Signature. */
+ /**
+ * The Constant icSigLuvData - ICC Profile Color Space Type Signature.
+ */
public static final int icSigLuvData = 1282766368;
- /** The Constant icSigYCbCrData - ICC Profile Color Space Type Signature. */
+ /**
+ * The Constant icSigYCbCrData - ICC Profile Color Space Type Signature.
+ */
public static final int icSigYCbCrData = 1497588338;
- /** The Constant icSigYxyData - ICC Profile Color Space Type Signature. */
+ /**
+ * The Constant icSigYxyData - ICC Profile Color Space Type Signature.
+ */
public static final int icSigYxyData = 1501067552;
- /** The Constant icSigRgbData - ICC Profile Color Space Type Signature. */
+ /**
+ * The Constant icSigRgbData - ICC Profile Color Space Type Signature.
+ */
public static final int icSigRgbData = 1380401696;
- /** The Constant icSigGrayData - ICC Profile Color Space Type Signature. */
+ /**
+ * The Constant icSigGrayData - ICC Profile Color Space Type Signature.
+ */
public static final int icSigGrayData = 1196573017;
- /** The Constant icSigHsvData - ICC Profile Color Space Type Signature. */
+ /**
+ * The Constant icSigHsvData - ICC Profile Color Space Type Signature.
+ */
public static final int icSigHsvData = 1213421088;
- /** The Constant icSigHlsData - ICC Profile Color Space Type Signature. */
+ /**
+ * The Constant icSigHlsData - ICC Profile Color Space Type Signature.
+ */
public static final int icSigHlsData = 1212961568;
- /** The Constant icSigCmykData - ICC Profile Color Space Type Signature. */
+ /**
+ * The Constant icSigCmykData - ICC Profile Color Space Type Signature.
+ */
public static final int icSigCmykData = 1129142603;
- /** The Constant icSigCmyData - ICC Profile Color Space Type Signature. */
+ /**
+ * The Constant icSigCmyData - ICC Profile Color Space Type Signature.
+ */
public static final int icSigCmyData = 1129142560;
- /** The Constant icSigSpace2CLR - ICC Profile Color Space Type Signature. */
+ /**
+ * The Constant icSigSpace2CLR - ICC Profile Color Space Type Signature.
+ */
public static final int icSigSpace2CLR = 843271250;
- /** The Constant icSigSpace3CLR - ICC Profile Color Space Type Signature. */
+ /**
+ * The Constant icSigSpace3CLR - ICC Profile Color Space Type Signature.
+ */
public static final int icSigSpace3CLR = 860048466;
- /** The Constant icSigSpace4CLR - ICC Profile Color Space Type Signature. */
+ /**
+ * The Constant icSigSpace4CLR - ICC Profile Color Space Type Signature.
+ */
public static final int icSigSpace4CLR = 876825682;
- /** The Constant icSigSpace5CLR - ICC Profile Color Space Type Signature. */
+ /**
+ * The Constant icSigSpace5CLR - ICC Profile Color Space Type Signature.
+ */
public static final int icSigSpace5CLR = 893602898;
- /** The Constant icSigSpace6CLR - ICC Profile Color Space Type Signature. */
+ /**
+ * The Constant icSigSpace6CLR - ICC Profile Color Space Type Signature.
+ */
public static final int icSigSpace6CLR = 910380114;
- /** The Constant icSigSpace7CLR - ICC Profile Color Space Type Signature. */
+ /**
+ * The Constant icSigSpace7CLR - ICC Profile Color Space Type Signature.
+ */
public static final int icSigSpace7CLR = 927157330;
- /** The Constant icSigSpace8CLR - ICC Profile Color Space Type Signature. */
+ /**
+ * The Constant icSigSpace8CLR - ICC Profile Color Space Type Signature.
+ */
public static final int icSigSpace8CLR = 943934546;
- /** The Constant icSigSpace9CLR - ICC Profile Color Space Type Signature. */
+ /**
+ * The Constant icSigSpace9CLR - ICC Profile Color Space Type Signature.
+ */
public static final int icSigSpace9CLR = 960711762;
- /** The Constant icSigSpaceACLR - ICC Profile Color Space Type Signature. */
+ /**
+ * The Constant icSigSpaceACLR - ICC Profile Color Space Type Signature.
+ */
public static final int icSigSpaceACLR = 1094929490;
- /** The Constant icSigSpaceBCLR - ICC Profile Color Space Type Signature. */
+ /**
+ * The Constant icSigSpaceBCLR - ICC Profile Color Space Type Signature.
+ */
public static final int icSigSpaceBCLR = 1111706706;
- /** The Constant icSigSpaceCCLR - ICC Profile Color Space Type Signature. */
+ /**
+ * The Constant icSigSpaceCCLR - ICC Profile Color Space Type Signature.
+ */
public static final int icSigSpaceCCLR = 1128483922;
- /** The Constant icSigSpaceDCLR - ICC Profile Color Space Type Signature. */
+ /**
+ * The Constant icSigSpaceDCLR - ICC Profile Color Space Type Signature.
+ */
public static final int icSigSpaceDCLR = 1145261138;
- /** The Constant icSigSpaceECLR - ICC Profile Color Space Type Signature. */
+ /**
+ * The Constant icSigSpaceECLR - ICC Profile Color Space Type Signature.
+ */
public static final int icSigSpaceECLR = 1162038354;
- /** The Constant icSigSpaceFCLR - ICC Profile Color Space Type Signature. */
+ /**
+ * The Constant icSigSpaceFCLR - ICC Profile Color Space Type Signature.
+ */
public static final int icSigSpaceFCLR = 1178815570;
- /** The Constant icSigInputClass - ICC Profile Class Signature. */
+ /**
+ * The Constant icSigInputClass - ICC Profile Class Signature.
+ */
public static final int icSigInputClass = 1935896178;
- /** The Constant icSigDisplayClass - ICC Profile Class Signature. */
+ /**
+ * The Constant icSigDisplayClass - ICC Profile Class Signature.
+ */
public static final int icSigDisplayClass = 1835955314;
- /** The Constant icSigOutputClass - ICC Profile Class Signature. */
+ /**
+ * The Constant icSigOutputClass - ICC Profile Class Signature.
+ */
public static final int icSigOutputClass = 1886549106;
- /** The Constant icSigLinkClass - ICC Profile Class Signature. */
+ /**
+ * The Constant icSigLinkClass - ICC Profile Class Signature.
+ */
public static final int icSigLinkClass = 1818848875;
- /** The Constant icSigAbstractClass - ICC Profile Class Signature. */
+ /**
+ * The Constant icSigAbstractClass - ICC Profile Class Signature.
+ */
public static final int icSigAbstractClass = 1633842036;
- /** The Constant icSigColorantOrderTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigColorantOrderTag - ICC Profile Tag Signature.
+ */
public static final int icSigColorantOrderTag = 1668051567;
- /** The Constant icSigColorantTableTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigColorantTableTag - ICC Profile Tag Signature.
+ */
public static final int icSigColorantTableTag = 1668051572;
- /** The Constant icSigColorSpaceClass - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigColorSpaceClass - ICC Profile Tag Signature.
+ */
public static final int icSigColorSpaceClass = 1936744803;
- /** The Constant icSigNamedColorClass - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigNamedColorClass - ICC Profile Tag Signature.
+ */
public static final int icSigNamedColorClass = 1852662636;
- /** The Constant icPerceptual - ICC Profile Rendering Intent. */
+ /**
+ * The Constant icPerceptual - ICC Profile Rendering Intent.
+ */
public static final int icPerceptual = 0;
- /** The Constant icRelativeColorimetric - ICC Profile Rendering Intent. */
+ /**
+ * The Constant icRelativeColorimetric - ICC Profile Rendering Intent.
+ */
public static final int icRelativeColorimetric = 1;
- /** The Constant icSaturation - ICC Profile Rendering Intent. */
+ /**
+ * The Constant icSaturation - ICC Profile Rendering Intent.
+ */
public static final int icSaturation = 2;
- /** The Constant icAbsoluteColorimetric - ICC Profile Rendering Intent. */
+ /**
+ * The Constant icAbsoluteColorimetric - ICC Profile Rendering Intent.
+ */
public static final int icAbsoluteColorimetric = 3;
- /** The Constant icSigHead - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigHead - ICC Profile Tag Signature.
+ */
public static final int icSigHead = 1751474532;
- /** The Constant icSigAToB0Tag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigAToB0Tag - ICC Profile Tag Signature.
+ */
public static final int icSigAToB0Tag = 1093812784;
- /** The Constant icSigAToB1Tag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigAToB1Tag - ICC Profile Tag Signature.
+ */
public static final int icSigAToB1Tag = 1093812785;
- /** The Constant icSigAToB2Tag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigAToB2Tag - ICC Profile Tag Signature.
+ */
public static final int icSigAToB2Tag = 1093812786;
- /** The Constant icSigBlueColorantTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigBlueColorantTag - ICC Profile Tag Signature.
+ */
public static final int icSigBlueColorantTag = 1649957210;
- /** The Constant icSigBlueMatrixColumnTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigBlueMatrixColumnTag - ICC Profile Tag Signature.
+ */
public static final int icSigBlueMatrixColumnTag = 1649957210;
- /** The Constant icSigBlueTRCTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigBlueTRCTag - ICC Profile Tag Signature.
+ */
public static final int icSigBlueTRCTag = 1649693251;
- /** The Constant icSigBToA0Tag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigBToA0Tag - ICC Profile Tag Signature.
+ */
public static final int icSigBToA0Tag = 1110589744;
- /** The Constant icSigBToA1Tag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigBToA1Tag - ICC Profile Tag Signature.
+ */
public static final int icSigBToA1Tag = 1110589745;
- /** The Constant icSigBToA2Tag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigBToA2Tag - ICC Profile Tag Signature.
+ */
public static final int icSigBToA2Tag = 1110589746;
- /** The Constant icSigCalibrationDateTimeTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigCalibrationDateTimeTag - ICC Profile Tag Signature.
+ */
public static final int icSigCalibrationDateTimeTag = 1667329140;
- /** The Constant icSigCharTargetTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigCharTargetTag - ICC Profile Tag Signature.
+ */
public static final int icSigCharTargetTag = 1952543335;
- /** The Constant icSigCopyrightTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigCopyrightTag - ICC Profile Tag Signature.
+ */
public static final int icSigCopyrightTag = 1668313716;
- /** The Constant icSigCrdInfoTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigCrdInfoTag - ICC Profile Tag Signature.
+ */
public static final int icSigCrdInfoTag = 1668441193;
- /** The Constant icSigDeviceMfgDescTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigDeviceMfgDescTag - ICC Profile Tag Signature.
+ */
public static final int icSigDeviceMfgDescTag = 1684893284;
- /** The Constant icSigDeviceModelDescTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigDeviceModelDescTag - ICC Profile Tag Signature.
+ */
public static final int icSigDeviceModelDescTag = 1684890724;
- /** The Constant icSigDeviceSettingsTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigDeviceSettingsTag - ICC Profile Tag Signature.
+ */
public static final int icSigDeviceSettingsTag = 1684371059;
- /** The Constant icSigGamutTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigGamutTag - ICC Profile Tag Signature.
+ */
public static final int icSigGamutTag = 1734438260;
- /** The Constant icSigGrayTRCTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigGrayTRCTag - ICC Profile Tag Signature.
+ */
public static final int icSigGrayTRCTag = 1800688195;
- /** The Constant icSigGreenColorantTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigGreenColorantTag - ICC Profile Tag Signature.
+ */
public static final int icSigGreenColorantTag = 1733843290;
- /** The Constant icSigGreenMatrixColumnTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigGreenMatrixColumnTag - ICC Profile Tag Signature.
+ */
public static final int icSigGreenMatrixColumnTag = 1733843290;
- /** The Constant icSigGreenTRCTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigGreenTRCTag - ICC Profile Tag Signature.
+ */
public static final int icSigGreenTRCTag = 1733579331;
- /** The Constant icSigLuminanceTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigLuminanceTag - ICC Profile Tag Signature.
+ */
public static final int icSigLuminanceTag = 1819635049;
- /** The Constant icSigMeasurementTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigMeasurementTag - ICC Profile Tag Signature.
+ */
public static final int icSigMeasurementTag = 1835360627;
- /** The Constant icSigMediaBlackPointTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigMediaBlackPointTag - ICC Profile Tag Signature.
+ */
public static final int icSigMediaBlackPointTag = 1651208308;
- /** The Constant icSigMediaWhitePointTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigMediaWhitePointTag - ICC Profile Tag Signature.
+ */
public static final int icSigMediaWhitePointTag = 2004119668;
- /** The Constant icSigNamedColor2Tag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigNamedColor2Tag - ICC Profile Tag Signature.
+ */
public static final int icSigNamedColor2Tag = 1852009522;
- /** The Constant icSigOutputResponseTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigOutputResponseTag - ICC Profile Tag Signature.
+ */
public static final int icSigOutputResponseTag = 1919251312;
- /** The Constant icSigPreview0Tag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigPreview0Tag - ICC Profile Tag Signature.
+ */
public static final int icSigPreview0Tag = 1886545200;
- /** The Constant icSigPreview1Tag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigPreview1Tag - ICC Profile Tag Signature.
+ */
public static final int icSigPreview1Tag = 1886545201;
- /** The Constant icSigPreview2Tag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigPreview2Tag - ICC Profile Tag Signature.
+ */
public static final int icSigPreview2Tag = 1886545202;
- /** The Constant icSigProfileDescriptionTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigProfileDescriptionTag - ICC Profile Tag Signature.
+ */
public static final int icSigProfileDescriptionTag = 1684370275;
- /** The Constant icSigProfileSequenceDescTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigProfileSequenceDescTag - ICC Profile Tag Signature.
+ */
public static final int icSigProfileSequenceDescTag = 1886610801;
- /** The Constant icSigPs2CRD0Tag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigPs2CRD0Tag - ICC Profile Tag Signature.
+ */
public static final int icSigPs2CRD0Tag = 1886610480;
- /** The Constant icSigPs2CRD1Tag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigPs2CRD1Tag - ICC Profile Tag Signature.
+ */
public static final int icSigPs2CRD1Tag = 1886610481;
- /** The Constant icSigPs2CRD2Tag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigPs2CRD2Tag - ICC Profile Tag Signature.
+ */
public static final int icSigPs2CRD2Tag = 1886610482;
- /** The Constant icSigPs2CRD3Tag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigPs2CRD3Tag - ICC Profile Tag Signature.
+ */
public static final int icSigPs2CRD3Tag = 1886610483;
- /** The Constant icSigPs2CSATag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigPs2CSATag - ICC Profile Tag Signature.
+ */
public static final int icSigPs2CSATag = 1886597747;
- /** The Constant icSigPs2RenderingIntentTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigPs2RenderingIntentTag - ICC Profile Tag Signature.
+ */
public static final int icSigPs2RenderingIntentTag = 1886597737;
- /** The Constant icSigRedColorantTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigRedColorantTag - ICC Profile Tag Signature.
+ */
public static final int icSigRedColorantTag = 1918392666;
- /** The Constant icSigRedMatrixColumnTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigRedMatrixColumnTag - ICC Profile Tag Signature.
+ */
public static final int icSigRedMatrixColumnTag = 1918392666;
- /** The Constant icSigRedTRCTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigRedTRCTag - ICC Profile Tag Signature.
+ */
public static final int icSigRedTRCTag = 1918128707;
- /** The Constant icSigScreeningDescTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigScreeningDescTag - ICC Profile Tag Signature.
+ */
public static final int icSigScreeningDescTag = 1935897188;
- /** The Constant icSigScreeningTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigScreeningTag - ICC Profile Tag Signature.
+ */
public static final int icSigScreeningTag = 1935897198;
- /** The Constant icSigTechnologyTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigTechnologyTag - ICC Profile Tag Signature.
+ */
public static final int icSigTechnologyTag = 1952801640;
- /** The Constant icSigUcrBgTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigUcrBgTag - ICC Profile Tag Signature.
+ */
public static final int icSigUcrBgTag = 1650877472;
- /** The Constant icSigViewingCondDescTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigViewingCondDescTag - ICC Profile Tag Signature.
+ */
public static final int icSigViewingCondDescTag = 1987405156;
- /** The Constant icSigViewingConditionsTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigViewingConditionsTag - ICC Profile Tag Signature.
+ */
public static final int icSigViewingConditionsTag = 1986618743;
- /** The Constant icSigChromaticAdaptationTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigChromaticAdaptationTag - ICC Profile Tag Signature.
+ */
public static final int icSigChromaticAdaptationTag = 1667785060;
- /** The Constant icSigChromaticityTag - ICC Profile Tag Signature. */
+ /**
+ * The Constant icSigChromaticityTag - ICC Profile Tag Signature.
+ */
public static final int icSigChromaticityTag = 1667789421;
- /** The Constant icHdrSize - ICC Profile Header Location. */
+ /**
+ * The Constant icHdrSize - ICC Profile Header Location.
+ */
public static final int icHdrSize = 0;
- /** The Constant icHdrCmmId - ICC Profile Header Location. */
+ /**
+ * The Constant icHdrCmmId - ICC Profile Header Location.
+ */
public static final int icHdrCmmId = 4;
- /** The Constant icHdrVersion - ICC Profile Header Location. */
+ /**
+ * The Constant icHdrVersion - ICC Profile Header Location.
+ */
public static final int icHdrVersion = 8;
- /** The Constant icHdrDeviceClass - ICC Profile Header Location. */
+ /**
+ * The Constant icHdrDeviceClass - ICC Profile Header Location.
+ */
public static final int icHdrDeviceClass = 12;
- /** The Constant icHdrColorSpace - ICC Profile Header Location. */
+ /**
+ * The Constant icHdrColorSpace - ICC Profile Header Location.
+ */
public static final int icHdrColorSpace = 16;
- /** The Constant icHdrPcs - ICC Profile Header Location. */
+ /**
+ * The Constant icHdrPcs - ICC Profile Header Location.
+ */
public static final int icHdrPcs = 20;
- /** The Constant icHdrDate - ICC Profile Header Location. */
+ /**
+ * The Constant icHdrDate - ICC Profile Header Location.
+ */
public static final int icHdrDate = 24;
- /** The Constant icHdrMagic - ICC Profile Header Location. */
+ /**
+ * The Constant icHdrMagic - ICC Profile Header Location.
+ */
public static final int icHdrMagic = 36;
- /** The Constant icHdrPlatform - ICC Profile Header Location. */
+ /**
+ * The Constant icHdrPlatform - ICC Profile Header Location.
+ */
public static final int icHdrPlatform = 40;
- /** The Constant icHdrProfileID - ICC Profile Header Location. */
+ /**
+ * The Constant icHdrProfileID - ICC Profile Header Location.
+ */
public static final int icHdrProfileID = 84;
- /** The Constant icHdrFlags - ICC Profile Header Location. */
+ /**
+ * The Constant icHdrFlags - ICC Profile Header Location.
+ */
public static final int icHdrFlags = 44;
- /** The Constant icHdrManufacturer - ICC Profile Header Location. */
+ /**
+ * The Constant icHdrManufacturer - ICC Profile Header Location.
+ */
public static final int icHdrManufacturer = 48;
- /** The Constant icHdrModel - ICC Profile Header Location. */
+ /**
+ * The Constant icHdrModel - ICC Profile Header Location.
+ */
public static final int icHdrModel = 52;
- /** The Constant icHdrAttributes - ICC Profile Header Location. */
+ /**
+ * The Constant icHdrAttributes - ICC Profile Header Location.
+ */
public static final int icHdrAttributes = 56;
- /** The Constant icHdrRenderingIntent - ICC Profile Header Location. */
+ /**
+ * The Constant icHdrRenderingIntent - ICC Profile Header Location.
+ */
public static final int icHdrRenderingIntent = 64;
- /** The Constant icHdrIlluminant - ICC Profile Header Location. */
+ /**
+ * The Constant icHdrIlluminant - ICC Profile Header Location.
+ */
public static final int icHdrIlluminant = 68;
- /** The Constant icHdrCreator - ICC Profile Header Location. */
+ /**
+ * The Constant icHdrCreator - ICC Profile Header Location.
+ */
public static final int icHdrCreator = 80;
- /** The Constant icICCAbsoluteColorimetric - ICC Profile Rendering Intent. */
+ /**
+ * The Constant icICCAbsoluteColorimetric - ICC Profile Rendering Intent.
+ */
public static final int icICCAbsoluteColorimetric = 3;
- /** The Constant icMediaRelativeColorimetric - ICC Profile Rendering Intent. */
+ /**
+ * The Constant icMediaRelativeColorimetric - ICC Profile Rendering Intent.
+ */
public static final int icMediaRelativeColorimetric = 1;
- /** The Constant icTagType - ICC Profile Constant. */
+ /**
+ * The Constant icTagType - ICC Profile Constant.
+ */
public static final int icTagType = 0;
- /** The Constant icTagReserved - ICC Profile Constant. */
+ /**
+ * The Constant icTagReserved - ICC Profile Constant.
+ */
public static final int icTagReserved = 4;
- /** The Constant icCurveCount - ICC Profile Constant. */
+ /**
+ * The Constant icCurveCount - ICC Profile Constant.
+ */
public static final int icCurveCount = 8;
- /** The Constant icCurveData - ICC Profile Constant. */
+ /**
+ * The Constant icCurveData - ICC Profile Constant.
+ */
public static final int icCurveData = 12;
- /** The Constant icXYZNumberX - ICC Profile Constant. */
+ /**
+ * The Constant icXYZNumberX - ICC Profile Constant.
+ */
public static final int icXYZNumberX = 8;
- /** Size of a profile header. */
+ /**
+ * Size of a profile header.
+ */
private static final int headerSize = 128;
- /** header magic number. */
+ /**
+ * header magic number.
+ */
private static final int headerMagicNumber = 0x61637370;
// Cache of predefined profiles
- /** The s rgb profile. */
+ /**
+ * The s rgb profile.
+ */
private static ICC_Profile sRGBProfile;
-
- /** The xyz profile. */
+
+ /**
+ * The xyz profile.
+ */
private static ICC_Profile xyzProfile;
-
- /** The gray profile. */
+
+ /**
+ * The gray profile.
+ */
private static ICC_Profile grayProfile;
-
- /** The pycc profile. */
+
+ /**
+ * The pycc profile.
+ */
private static ICC_Profile pyccProfile;
-
- /** The linear rgb profile. */
+
+ /**
+ * The linear rgb profile.
+ */
private static ICC_Profile linearRGBProfile;
- /** Handle to the current profile. */
+ /**
+ * Handle to the current profile.
+ */
private transient long profileHandle = 0;
- /** If handle is used by another class this object is not responsible for closing profile. */
+ /**
+ * If handle is used by another class this object is not responsible for
+ * closing profile.
+ */
private transient boolean handleStolen = false;
- /** Cached header data. */
+ /**
+ * Cached header data.
+ */
private transient byte[] headerData = null;
- /** Serialization support. */
+ /**
+ * Serialization support.
+ */
private transient ICC_Profile openedProfileObject;
/**
- * Instantiates a new iC c_ profile.
+ * Instantiates a new ICC profile with the given data.
*
- * @param data the data
+ * @param data
+ * the data.
*/
private ICC_Profile(byte[] data) {
profileHandle = NativeCMM.cmmOpenProfile(data);
@@ -476,7 +731,8 @@ public class ICC_Profile implements Serializable {
/**
* Used to instantiate subclasses (ICC_ProfileGrey and ICC_ProfileRGB).
*
- * @param profileHandle - should be valid handle to opened color profile
+ * @param profileHandle
+ * - should be valid handle to opened color profile
*/
ICC_Profile(long profileHandle) {
this.profileHandle = profileHandle;
@@ -487,10 +743,11 @@ public class ICC_Profile implements Serializable {
/**
* Writes the ICC_Profile to a file with the specified name.
*
- * @param fileName the file name.
- *
- * @throws IOException signals that an I/O exception has occurred during
- * writing or opening the file.
+ * @param fileName
+ * the file name.
+ * @throws IOException
+ * if an I/O exception has occurred during writing or opening
+ * the file.
*/
public void write(String fileName) throws IOException {
FileOutputStream oStream = new FileOutputStream(fileName);
@@ -501,9 +758,10 @@ public class ICC_Profile implements Serializable {
/**
* Serializable implementation.
*
- * @param s the s
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param s
+ * the s
+ * @throws IOException
+ * Signals that an I/O exception has occurred.
*/
private void writeObject(ObjectOutputStream s) throws IOException {
s.defaultWriteObject();
@@ -514,10 +772,12 @@ public class ICC_Profile implements Serializable {
/**
* Serializable implementation.
*
- * @param s the s
- *
- * @throws IOException Signals that an I/O exception has occurred.
- * @throws ClassNotFoundException the class not found exception
+ * @param s
+ * the s
+ * @throws IOException
+ * Signals that an I/O exception has occurred.
+ * @throws ClassNotFoundException
+ * the class not found exception
*/
private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException {
s.defaultReadObject();
@@ -547,9 +807,9 @@ public class ICC_Profile implements Serializable {
* Resolves instances being deserialized into instances registered with CMM.
*
* @return ICC_Profile object for profile registered with CMM.
- *
- * @throws ObjectStreamException if there is an error in the serialized
- * files or during the process of reading them.
+ * @throws ObjectStreamException
+ * if there is an error in the serialized files or during the
+ * process of reading them.
*/
protected Object readResolve() throws ObjectStreamException {
return openedProfileObject;
@@ -558,20 +818,23 @@ public class ICC_Profile implements Serializable {
/**
* Writes the ICC_Profile to an OutputStream.
*
- * @param s the OutputStream.
- *
- * @throws IOException signals that an I/O exception has occurred during
- * writing or opening OutputStream.
+ * @param s
+ * the OutputStream.
+ * @throws IOException
+ * signals that an I/O exception has occurred during writing or
+ * opening OutputStream.
*/
public void write(OutputStream s) throws IOException {
s.write(getData());
}
/**
- * Sets a tagged data element in the profile from a byte array.
+ * Sets a tagged data element in the profile from a byte array.
*
- * @param tagSignature the ICC tag signature for the data element to be set.
- * @param tagData the data to be set for the specified tag signature.
+ * @param tagSignature
+ * the ICC tag signature for the data element to be set.
+ * @param tagData
+ * the data to be set for the specified tag signature.
*/
public void setData(int tagSignature, byte[] tagData) {
NativeCMM.cmmSetProfileElement(profileHandle, tagSignature, tagData);
@@ -582,21 +845,17 @@ public class ICC_Profile implements Serializable {
}
/**
- * Gets a tagged data element from the profile as a byte array.
- * Elements are identified by tag signatures as defined in
- * the ICC specification.
- *
- * @param tagSignature the ICC tag signature for the data element to get.
+ * Gets a tagged data element from the profile as a byte array. Elements are
+ * identified by tag signatures as defined in the ICC specification.
*
+ * @param tagSignature
+ * the ICC tag signature for the data element to get.
* @return a byte array that contains the tagged data element.
*/
public byte[] getData(int tagSignature) {
int tagSize = 0;
try {
- tagSize = NativeCMM.cmmGetProfileElementSize(
- profileHandle,
- tagSignature
- );
+ tagSize = NativeCMM.cmmGetProfileElementSize(profileHandle, tagSignature);
} catch (CMMException e) {
// We'll get this exception if there's no element with
// the specified tag signature
@@ -625,7 +884,7 @@ public class ICC_Profile implements Serializable {
*/
@Override
protected void finalize() {
- if (profileHandle!=0 && !handleStolen) {
+ if (profileHandle != 0 && !handleStolen) {
NativeCMM.cmmCloseProfile(profileHandle);
}
@@ -663,16 +922,16 @@ public class ICC_Profile implements Serializable {
// Not an ICC profile class
// awt.15F=Profile class does not comply with ICC specification
throw new IllegalArgumentException(Messages.getString("awt.15F")); //$NON-NLS-1$
-
+
}
/**
- * Returns the color space type of the Profile Connection Space (PCS).
+ * Gets the color space type of the Profile Connection Space (PCS).
*
* @return the PCS type.
*/
public int getPCSType() {
- return csFromSignature(getIntFromHeader(icHdrPcs));
+ return csFromSignature(getIntFromHeader(icHdrPcs));
}
/**
@@ -740,7 +999,7 @@ public class ICC_Profile implements Serializable {
* @return the minor version of this ICC profile.
*/
public int getMinorVersion() {
- return getByteFromHeader(icHdrVersion+1);
+ return getByteFromHeader(icHdrVersion + 1);
}
/**
@@ -762,13 +1021,14 @@ public class ICC_Profile implements Serializable {
}
/**
- * Tries to open file at the specified path. Path entries can be
- * divided by a separator character.
+ * Tries to open the file at the specified path. Path entries can be divided
+ * by a separator character.
*
- * @param path the path
- * @param fileName the file name
- *
- * @return the file input stream
+ * @param path
+ * the path to the file.
+ * @param fileName
+ * the file name.
+ * @return the input stream to read the file.
*/
private static FileInputStream tryPath(String path, String fileName) {
FileInputStream fiStream = null;
@@ -786,7 +1046,8 @@ public class ICC_Profile implements Serializable {
if (fiStream != null) {
return fiStream;
}
- } catch (FileNotFoundException e) {}
+ } catch (FileNotFoundException e) {
+ }
}
return fiStream;
@@ -795,18 +1056,18 @@ public class ICC_Profile implements Serializable {
/**
* Gets the single instance of ICC_Profile from data in the specified file.
*
- * @param fileName the specified name of file with ICC profile data.
- *
+ * @param fileName
+ * the specified name of file with ICC profile data.
* @return single instance of ICC_Profile.
- *
- * @throws IOException signals that an I/O error occured while reading the file
- * or the file doesn't exist.
+ * @throws IOException
+ * signals that an I/O error occurred while reading the file or
+ * the file does not exist.
*/
public static ICC_Profile getInstance(String fileName) throws IOException {
final String fName = fileName; // to use in the privileged block
- FileInputStream fiStream = (FileInputStream) AccessController.doPrivileged(
- new PrivilegedAction<FileInputStream>() {
+ FileInputStream fiStream = (FileInputStream)AccessController
+ .doPrivileged(new PrivilegedAction<FileInputStream>() {
public FileInputStream run() {
FileInputStream fiStream = null;
@@ -816,7 +1077,8 @@ public class ICC_Profile implements Serializable {
if (fiStream != null) {
return fiStream;
}
- } catch (FileNotFoundException e) {}
+ } catch (FileNotFoundException e) {
+ }
// Check java.iccprofile.path entries
fiStream = tryPath(System.getProperty("java.iccprofile.path"), fName); //$NON-NLS-1$
@@ -833,9 +1095,8 @@ public class ICC_Profile implements Serializable {
// Check directory with java sample profiles
String home = System.getProperty("java.home"); //$NON-NLS-1$
if (home != null) {
- fiStream = tryPath(
- home + File.separatorChar +
- "lib" + File.separatorChar + "cmm", fName //$NON-NLS-1$ //$NON-NLS-2$
+ fiStream = tryPath(home + File.separatorChar
+ + "lib" + File.separatorChar + "cmm", fName //$NON-NLS-1$ //$NON-NLS-2$
);
}
@@ -854,17 +1115,17 @@ public class ICC_Profile implements Serializable {
}
/**
- * Gets the single instance of ICC_Profile with data in
- * the specified InputStream.
- *
- * @param s the InputStream with ICC profile data.
+ * Gets the single instance of ICC_Profile with data in the specified
+ * InputStream.
*
+ * @param s
+ * the InputStream with ICC profile data.
* @return single instance of ICC_Profile.
- *
- * @throws IOException if an I/O exception has occurred during reading
- * from InputStream.
- * @throws IllegalArgumentException if the file does not contain valid
- * ICC Profile data.
+ * @throws IOException
+ * if an I/O exception has occurred during reading from
+ * InputStream.
+ * @throws IllegalArgumentException
+ * if the file does not contain valid ICC Profile data.
*/
public static ICC_Profile getInstance(InputStream s) throws IOException {
byte[] header = new byte[headerSize];
@@ -877,10 +1138,7 @@ public class ICC_Profile implements Serializable {
}
// Check the profile data for consistency
- if (
- ICC_ProfileHelper.getBigEndianFromByteArray(header, icHdrMagic) !=
- headerMagicNumber
- ) {
+ if (ICC_ProfileHelper.getBigEndianFromByteArray(header, icHdrMagic) != headerMagicNumber) {
throw new IllegalArgumentException(invalidDataMessage);
}
@@ -892,10 +1150,7 @@ public class ICC_Profile implements Serializable {
System.arraycopy(header, 0, profileData, 0, headerSize);
// Read the profile itself
- if (
- s.read(profileData, headerSize, profileSize - headerSize) !=
- profileSize - headerSize
- ) {
+ if (s.read(profileData, headerSize, profileSize - headerSize) != profileSize - headerSize) {
throw new IllegalArgumentException(invalidDataMessage);
}
@@ -903,16 +1158,15 @@ public class ICC_Profile implements Serializable {
}
/**
- * Gets the single instance of ICC_Profile from the specified data in
- * a byte array.
+ * Gets the single instance of ICC_Profile from the specified data in a byte
+ * array.
*
- * @param data the byte array of ICC profile.
- *
- * @return single instance of ICC_Profile from the specified data in
- * a byte array.
- *
- * @throws IllegalArgumentException if the file does not contain valid
- * ICC Profile data.
+ * @param data
+ * the byte array of ICC profile.
+ * @return single instance of ICC_Profile from the specified data in a byte
+ * array.
+ * @throws IllegalArgumentException
+ * if the file does not contain valid ICC Profile data.
*/
public static ICC_Profile getInstance(byte[] data) {
ICC_Profile res = null;
@@ -924,29 +1178,28 @@ public class ICC_Profile implements Serializable {
throw new IllegalArgumentException(Messages.getString("awt.162")); //$NON-NLS-1$
}
- if (System.getProperty("os.name").toLowerCase().indexOf("windows") >= 0) { //$NON-NLS-1$ //$NON-NLS-2$
- try {
- if ( res.getColorSpaceType () == ColorSpace.TYPE_RGB &&
- res.getDataSize(icSigMediaWhitePointTag) > 0 &&
- res.getDataSize(icSigRedColorantTag) > 0 &&
- res.getDataSize(icSigGreenColorantTag) > 0 &&
- res.getDataSize(icSigBlueColorantTag) > 0 &&
- res.getDataSize(icSigRedTRCTag) > 0 &&
- res.getDataSize(icSigGreenTRCTag) > 0 &&
- res.getDataSize(icSigBlueTRCTag) > 0
- ) {
- res = new ICC_ProfileRGB(res.getProfileHandle());
- } else if ( res.getColorSpaceType () == ColorSpace.TYPE_GRAY &&
- res.getDataSize(icSigMediaWhitePointTag) > 0 &&
- res.getDataSize(icSigGrayTRCTag) > 0
- ) {
- res = new ICC_ProfileGray (res.getProfileHandle());
- }
+ if (System.getProperty("os.name").toLowerCase().indexOf("windows") >= 0) { //$NON-NLS-1$ //$NON-NLS-2$
+ try {
+ if (res.getColorSpaceType() == ColorSpace.TYPE_RGB
+ && res.getDataSize(icSigMediaWhitePointTag) > 0
+ && res.getDataSize(icSigRedColorantTag) > 0
+ && res.getDataSize(icSigGreenColorantTag) > 0
+ && res.getDataSize(icSigBlueColorantTag) > 0
+ && res.getDataSize(icSigRedTRCTag) > 0
+ && res.getDataSize(icSigGreenTRCTag) > 0
+ && res.getDataSize(icSigBlueTRCTag) > 0) {
+ res = new ICC_ProfileRGB(res.getProfileHandle());
+ } else if (res.getColorSpaceType() == ColorSpace.TYPE_GRAY
+ && res.getDataSize(icSigMediaWhitePointTag) > 0
+ && res.getDataSize(icSigGrayTRCTag) > 0) {
+ res = new ICC_ProfileGray(res.getProfileHandle());
+ }
- } catch (CMMException e) { /* return res in this case */ }
- }
+ } catch (CMMException e) { /* return res in this case */
+ }
+ }
- return res;
+ return res;
}
/**
@@ -954,80 +1207,77 @@ public class ICC_Profile implements Serializable {
* defined by the ColorSpace class: CS_sRGB, CS_LINEAR_RGB, CS_CIEXYZ,
* CS_PYCC, CS_GRAY.
*
- * @param cspace the type of color space defined in the ColorSpace class.
- *
+ * @param cspace
+ * the type of color space defined in the ColorSpace class.
* @return single instance of ICC_Profile.
- *
- * @throws IllegalArgumentException is not one of the defined color
- * space types.
+ * @throws IllegalArgumentException
+ * is not one of the defined color space types.
*/
public static ICC_Profile getInstance(int cspace) {
- try {
- switch (cspace) {
+ try {
+ switch (cspace) {
- case ColorSpace.CS_sRGB:
- if (sRGBProfile == null) {
- sRGBProfile = getInstance("sRGB.pf"); //$NON-NLS-1$
- }
- return sRGBProfile;
+ case ColorSpace.CS_sRGB:
+ if (sRGBProfile == null) {
+ sRGBProfile = getInstance("sRGB.pf"); //$NON-NLS-1$
+ }
+ return sRGBProfile;
- case ColorSpace.CS_CIEXYZ:
- if (xyzProfile == null) {
- xyzProfile = getInstance("CIEXYZ.pf"); //$NON-NLS-1$
- }
- return xyzProfile;
+ case ColorSpace.CS_CIEXYZ:
+ if (xyzProfile == null) {
+ xyzProfile = getInstance("CIEXYZ.pf"); //$NON-NLS-1$
+ }
+ return xyzProfile;
- case ColorSpace.CS_GRAY:
- if (grayProfile == null) {
- grayProfile = getInstance("GRAY.pf"); //$NON-NLS-1$
- }
- return grayProfile;
+ case ColorSpace.CS_GRAY:
+ if (grayProfile == null) {
+ grayProfile = getInstance("GRAY.pf"); //$NON-NLS-1$
+ }
+ return grayProfile;
- case ColorSpace.CS_PYCC:
- if (pyccProfile == null) {
- pyccProfile = getInstance("PYCC.pf"); //$NON-NLS-1$
- }
- return pyccProfile;
+ case ColorSpace.CS_PYCC:
+ if (pyccProfile == null) {
+ pyccProfile = getInstance("PYCC.pf"); //$NON-NLS-1$
+ }
+ return pyccProfile;
- case ColorSpace.CS_LINEAR_RGB:
- if (linearRGBProfile == null) {
- linearRGBProfile = getInstance("LINEAR_RGB.pf"); //$NON-NLS-1$
+ case ColorSpace.CS_LINEAR_RGB:
+ if (linearRGBProfile == null) {
+ linearRGBProfile = getInstance("LINEAR_RGB.pf"); //$NON-NLS-1$
+ }
+ return linearRGBProfile;
+ }
+
+ } catch (IOException e) {
+ // awt.163=Can't open color profile
+ throw new IllegalArgumentException(Messages.getString("Can't open color profile")); //$NON-NLS-1$
}
- return linearRGBProfile;
- }
- } catch (IOException e) {
- // awt.163=Can't open color profile
- throw new IllegalArgumentException(Messages.getString("Can't open color profile")); //$NON-NLS-1$
+ // awt.164=Not a predefined color space
+ throw new IllegalArgumentException(Messages.getString("Not a predefined color space")); //$NON-NLS-1$
}
- // awt.164=Not a predefined color space
- throw new IllegalArgumentException(Messages.getString("Not a predefined color space")); //$NON-NLS-1$
- }
-
/**
* Reads an integer from the profile header at the specified position.
*
- * @param idx - offset in bytes from the beginning of the header
- *
- * @return the int from header
+ * @param idx
+ * - offset in bytes from the beginning of the header
+ * @return the integer value from header
*/
private int getIntFromHeader(int idx) {
if (headerData == null) {
headerData = getData(icSigHead);
}
- return ((headerData[idx] & 0xFF) << 24)|
- ((headerData[idx+1] & 0xFF) << 16)|
- ((headerData[idx+2] & 0xFF) << 8) |
- ((headerData[idx+3] & 0xFF));
+ return ((headerData[idx] & 0xFF) << 24) | ((headerData[idx + 1] & 0xFF) << 16)
+ | ((headerData[idx + 2] & 0xFF) << 8) | ((headerData[idx + 3] & 0xFF));
}
/**
* Reads byte from the profile header at the specified position.
*
- * @param idx - offset in bytes from the beginning of the header
- *
+ * @param idx
+ * - offset in bytes from the beginning of the header
* @return the byte from header
*/
private byte getByteFromHeader(int idx) {
@@ -1039,11 +1289,11 @@ public class ICC_Profile implements Serializable {
}
/**
- * Converts ICC color space signature to the java predefined
- * color space type.
- *
- * @param signature the signature
+ * Converts ICC color space signature to the java predefined color space
+ * type.
*
+ * @param signature
+ * the signature
* @return the int
*/
private int csFromSignature(int signature) {
@@ -1102,7 +1352,7 @@ public class ICC_Profile implements Serializable {
}
// awt.165=Color space doesn't comply with ICC specification
- throw new IllegalArgumentException (Messages.getString("awt.165")); //$NON-NLS-1$
+ throw new IllegalArgumentException(Messages.getString("awt.165")); //$NON-NLS-1$
}
/**
@@ -1118,22 +1368,19 @@ public class ICC_Profile implements Serializable {
/**
* Gets the data size.
*
- * @param tagSignature the tag signature
- *
+ * @param tagSignature
+ * the tag signature
* @return the data size
*/
private int getDataSize(int tagSignature) {
- return NativeCMM.cmmGetProfileElementSize(
- profileHandle,
- tagSignature
- );
+ return NativeCMM.cmmGetProfileElementSize(profileHandle, tagSignature);
}
/**
* Reads XYZ value from the tag data.
*
- * @param tagSignature the tag signature
- *
+ * @param tagSignature
+ * the tag signature
* @return the XYZ value
*/
float[] getXYZValue(int tagSignature) {
@@ -1153,20 +1400,20 @@ public class ICC_Profile implements Serializable {
/**
* Gets the media white point.
*
- * @return the media white point
+ * @return the media white point.
*/
float[] getMediaWhitePoint() {
return getXYZValue(icSigMediaWhitePointTag);
}
/**
- * If TRC is not a table returns gamma via return value
- * and sets dataTRC to null. If TRC is a table returns 0
- * and fills dataTRC with values.
- *
- * @param tagSignature the tag signature
- * @param dataTRC the data trc
+ * If TRC is not a table returns gamma via return value and sets dataTRC to
+ * null. If TRC is a table returns 0 and fills dataTRC with values.
*
+ * @param tagSignature
+ * the tag signature
+ * @param dataTRC
+ * the data trc
* @return - gamma or zero if TRC is a table
*/
private float getGammaOrTRC(int tagSignature, short[] dataTRC) {
@@ -1195,8 +1442,8 @@ public class ICC_Profile implements Serializable {
/**
* Gets the gamma.
*
- * @param tagSignature the tag signature
- *
+ * @param tagSignature
+ * the tag signature
* @return the gamma
*/
float getGamma(int tagSignature) {
@@ -1211,10 +1458,10 @@ public class ICC_Profile implements Serializable {
}
/**
- * Gets the tRC.
- *
- * @param tagSignature the tag signature
+ * Gets the TRC.
*
+ * @param tagSignature
+ * the tag signature
* @return the tRC
*/
short[] getTRC(int tagSignature) {
@@ -1228,4 +1475,3 @@ public class ICC_Profile implements Serializable {
return dataTRC;
}
}
-
diff --git a/awt/java/awt/color/ICC_ProfileGray.java b/awt/java/awt/color/ICC_ProfileGray.java
index f009b18..f748101 100644
--- a/awt/java/awt/color/ICC_ProfileGray.java
+++ b/awt/java/awt/color/ICC_ProfileGray.java
@@ -22,21 +22,26 @@ package java.awt.color;
/**
* The ICC_ProfileGray class represent profiles with TYPE_GRAY color space type,
- * and includes the grayTRCTag and mediaWhitePointTag tags.
+ * and includes the grayTRCTag and mediaWhitePointTag tags. The gray component
+ * can be transformed from a GRAY device profile color space to the CIEXYZ
+ * Profile through the tone reproduction curve (TRC):
+ * <p>
+ * PCSY = grayTRC[deviceGray]
*
- * The gray component can be transformed from a GRAY device profile color space
- * to the CIEXYZ Profile through the tone reproduction curve (TRC):
- * <p>PCSY = grayTRC[deviceGray]
+ * @since Android 1.0
*/
public class ICC_ProfileGray extends ICC_Profile {
- /** The Constant serialVersionUID. */
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = -1124721290732002649L;
/**
* Instantiates a new iC c_ profile gray.
*
- * @param profileHandle the profile handle
+ * @param profileHandle
+ * the profile handle
*/
ICC_ProfileGray(long profileHandle) {
super(profileHandle);
@@ -45,12 +50,17 @@ public class ICC_ProfileGray extends ICC_Profile {
/**
* Gets the TRC as an array of shorts.
*
- * @return a short array of the TRC.
+ * @return the short array of the TRC.
*/
public short[] getTRC() {
return super.getTRC(icSigGrayTRCTag);
}
+ /**
+ * Gets the media white point.
+ *
+ * @return the media white point
+ */
@Override
public float[] getMediaWhitePoint() {
return super.getMediaWhitePoint();
diff --git a/awt/java/awt/color/ICC_ProfileRGB.java b/awt/java/awt/color/ICC_ProfileRGB.java
index beb1a0c..9c6010f 100644
--- a/awt/java/awt/color/ICC_ProfileRGB.java
+++ b/awt/java/awt/color/ICC_ProfileRGB.java
@@ -23,38 +23,58 @@ package java.awt.color;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The ICC_ProfileRGB class represents profiles with RGB color space type and
- * contains the redColorantTag, greenColorantTag, blueColorantTag, redTRCTag,
+ * The ICC_ProfileRGB class represents profiles with RGB color space type and
+ * contains the redColorantTag, greenColorantTag, blueColorantTag, redTRCTag,
* greenTRCTag, blueTRCTag, and mediaWhitePointTag tags.
+ *
+ * @since Android 1.0
*/
public class ICC_ProfileRGB extends ICC_Profile {
- /** The Constant serialVersionUID. */
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = 8505067385152579334L;
/**
- * Instantiates a new iC c_ profile rgb.
+ * Instantiates a new RGB ICC_Profile.
*
- * @param profileHandle the profile handle
+ * @param profileHandle
+ * the profile handle
*/
ICC_ProfileRGB(long profileHandle) {
super(profileHandle);
}
- /** The Constant REDCOMPONENT indicates the red component. */
+ /**
+ * The Constant REDCOMPONENT indicates the red component.
+ */
public static final int REDCOMPONENT = 0;
- /** The Constant GREENCOMPONENT indicates the green component. */
+ /**
+ * The Constant GREENCOMPONENT indicates the green component.
+ */
public static final int GREENCOMPONENT = 1;
- /** The Constant BLUECOMPONENT indicates the blue component. */
+ /**
+ * The Constant BLUECOMPONENT indicates the blue component.
+ */
public static final int BLUECOMPONENT = 2;
// awt.15E=Unknown component. Must be REDCOMPONENT, GREENCOMPONENT or BLUECOMPONENT.
- /** The Constant UNKNOWN_COMPONENT_MSG. */
+ /**
+ * The Constant UNKNOWN_COMPONENT_MSG.
+ */
private static final String UNKNOWN_COMPONENT_MSG = Messages
.getString("awt.15E"); //$NON-NLS-1$
+ /**
+ * Gets the TRC.
+ *
+ * @param component
+ * the tag signature.
+ * @return the TRC value.
+ */
@Override
public short[] getTRC(int component) {
switch (component) {
@@ -70,6 +90,13 @@ public class ICC_ProfileRGB extends ICC_Profile {
throw new IllegalArgumentException(UNKNOWN_COMPONENT_MSG);
}
+ /**
+ * Gets the gamma.
+ *
+ * @param component
+ * the tag signature.
+ * @return the gamma value.
+ */
@Override
public float getGamma(int component) {
switch (component) {
@@ -86,11 +113,11 @@ public class ICC_ProfileRGB extends ICC_Profile {
}
/**
- * Gets a float matrix which contains the X, Y, and Z components of
- * the profile's redColorantTag, greenColorantTag, and blueColorantTag.
+ * Gets a float matrix which contains the X, Y, and Z components of the
+ * profile's redColorantTag, greenColorantTag, and blueColorantTag.
*
- * @return a float matrix which contains the X, Y, and Z components of
- * the profile's redColorantTag, greenColorantTag, and blueColorantTag.
+ * @return the float matrix which contains the X, Y, and Z components of the
+ * profile's redColorantTag, greenColorantTag, and blueColorantTag.
*/
public float[][] getMatrix() {
float [][] m = new float[3][3]; // The matrix
@@ -114,6 +141,11 @@ public class ICC_ProfileRGB extends ICC_Profile {
return m;
}
+ /**
+ * Gets the media white point.
+ *
+ * @return the media white point.
+ */
@Override
public float[] getMediaWhitePoint() {
return super.getMediaWhitePoint();
diff --git a/awt/java/awt/color/ProfileDataException.java b/awt/java/awt/color/ProfileDataException.java
index ca169fe..335f314 100644
--- a/awt/java/awt/color/ProfileDataException.java
+++ b/awt/java/awt/color/ProfileDataException.java
@@ -21,18 +21,23 @@
package java.awt.color;
/**
- * The ProfileDataException class represents an error which occurs
- * while accessing or processing an ICC_Profile object.
+ * The ProfileDataException class represents an error which occurs while
+ * accessing or processing an ICC_Profile object.
+ *
+ * @since Android 1.0
*/
public class ProfileDataException extends RuntimeException {
- /** The Constant serialVersionUID. */
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = 7286140888240322498L;
/**
* Instantiates a new profile data exception with detailed message.
*
- * @param s the detailed message.
+ * @param s
+ * the detailed message of the exception.
*/
public ProfileDataException(String s) {
super(s);
diff --git a/awt/java/awt/color/package.html b/awt/java/awt/color/package.html
new file mode 100644
index 0000000..609d963
--- /dev/null
+++ b/awt/java/awt/color/package.html
@@ -0,0 +1,8 @@
+<html>
+ <body>
+ <p>
+ This package contains classes representing color spaces and profiles based on the International Color Consortium (ICC) Profile Format Specification.
+ </p>
+ @since Android 1.0
+ </body>
+</html>
diff --git a/awt/java/awt/event/AWTEventListener.java b/awt/java/awt/event/AWTEventListener.java
index f621c9b..76293b3 100644
--- a/awt/java/awt/event/AWTEventListener.java
+++ b/awt/java/awt/event/AWTEventListener.java
@@ -23,6 +23,12 @@ package java.awt.event;
import java.awt.AWTEvent;
import java.util.EventListener;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public interface AWTEventListener extends EventListener {
public void eventDispatched(AWTEvent event);
diff --git a/awt/java/awt/event/AWTEventListenerProxy.java b/awt/java/awt/event/AWTEventListenerProxy.java
index 5ee5e59..3edc41f 100644
--- a/awt/java/awt/event/AWTEventListenerProxy.java
+++ b/awt/java/awt/event/AWTEventListenerProxy.java
@@ -26,6 +26,12 @@ import java.util.EventListenerProxy;
import org.apache.harmony.awt.internal.nls.Messages;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public class AWTEventListenerProxy extends EventListenerProxy implements AWTEventListener {
private AWTEventListener listener;
diff --git a/awt/java/awt/event/ActionEvent.java b/awt/java/awt/event/ActionEvent.java
index c32fc4b..e882e0d 100644
--- a/awt/java/awt/event/ActionEvent.java
+++ b/awt/java/awt/event/ActionEvent.java
@@ -22,6 +22,12 @@ package java.awt.event;
import java.awt.AWTEvent;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public class ActionEvent extends AWTEvent {
private static final long serialVersionUID = -7671078796273832149L;
diff --git a/awt/java/awt/event/ActionListener.java b/awt/java/awt/event/ActionListener.java
index 473d2b6..a6eee7a 100644
--- a/awt/java/awt/event/ActionListener.java
+++ b/awt/java/awt/event/ActionListener.java
@@ -22,6 +22,12 @@ package java.awt.event;
import java.util.EventListener;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public interface ActionListener extends EventListener {
public void actionPerformed(ActionEvent e);
diff --git a/awt/java/awt/event/AdjustmentEvent.java b/awt/java/awt/event/AdjustmentEvent.java
index a2b11a8..be2d6c4 100644
--- a/awt/java/awt/event/AdjustmentEvent.java
+++ b/awt/java/awt/event/AdjustmentEvent.java
@@ -23,6 +23,12 @@ package java.awt.event;
import java.awt.AWTEvent;
import java.awt.Adjustable;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public class AdjustmentEvent extends AWTEvent {
private static final long serialVersionUID = 5700290645205279921L;
diff --git a/awt/java/awt/event/AdjustmentListener.java b/awt/java/awt/event/AdjustmentListener.java
index ef7c378..5f6a724 100644
--- a/awt/java/awt/event/AdjustmentListener.java
+++ b/awt/java/awt/event/AdjustmentListener.java
@@ -22,6 +22,12 @@ package java.awt.event;
import java.util.EventListener;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public interface AdjustmentListener extends EventListener {
public void adjustmentValueChanged(AdjustmentEvent e);
diff --git a/awt/java/awt/event/ComponentAdapter.java b/awt/java/awt/event/ComponentAdapter.java
index 4f0bd90..c42235f 100644
--- a/awt/java/awt/event/ComponentAdapter.java
+++ b/awt/java/awt/event/ComponentAdapter.java
@@ -20,6 +20,12 @@
*/
package java.awt.event;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public abstract class ComponentAdapter implements ComponentListener {
public ComponentAdapter() {
diff --git a/awt/java/awt/event/ComponentEvent.java b/awt/java/awt/event/ComponentEvent.java
index d0bca54..760d3ab 100644
--- a/awt/java/awt/event/ComponentEvent.java
+++ b/awt/java/awt/event/ComponentEvent.java
@@ -23,6 +23,12 @@ package java.awt.event;
import java.awt.AWTEvent;
import java.awt.Component;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public class ComponentEvent extends AWTEvent {
private static final long serialVersionUID = 8101406823902992965L;
diff --git a/awt/java/awt/event/ComponentListener.java b/awt/java/awt/event/ComponentListener.java
index 147e9e0..a5adba2 100644
--- a/awt/java/awt/event/ComponentListener.java
+++ b/awt/java/awt/event/ComponentListener.java
@@ -22,6 +22,12 @@ package java.awt.event;
import java.util.EventListener;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public interface ComponentListener extends EventListener {
public void componentHidden(ComponentEvent e);
diff --git a/awt/java/awt/event/ContainerAdapter.java b/awt/java/awt/event/ContainerAdapter.java
index 12dc3de..44983c7 100644
--- a/awt/java/awt/event/ContainerAdapter.java
+++ b/awt/java/awt/event/ContainerAdapter.java
@@ -20,6 +20,12 @@
*/
package java.awt.event;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public abstract class ContainerAdapter implements ContainerListener {
public ContainerAdapter() {
diff --git a/awt/java/awt/event/ContainerEvent.java b/awt/java/awt/event/ContainerEvent.java
index 1a1055c..372c9e4 100644
--- a/awt/java/awt/event/ContainerEvent.java
+++ b/awt/java/awt/event/ContainerEvent.java
@@ -23,6 +23,12 @@ package java.awt.event;
import java.awt.Component;
//???AWT: import java.awt.Container;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public class ContainerEvent extends ComponentEvent {
private static final long serialVersionUID = -4114942250539772041L;
diff --git a/awt/java/awt/event/ContainerListener.java b/awt/java/awt/event/ContainerListener.java
index bf47664..517859e 100644
--- a/awt/java/awt/event/ContainerListener.java
+++ b/awt/java/awt/event/ContainerListener.java
@@ -22,6 +22,12 @@ package java.awt.event;
import java.util.EventListener;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public interface ContainerListener extends EventListener {
public void componentAdded(ContainerEvent e);
diff --git a/awt/java/awt/event/FocusAdapter.java b/awt/java/awt/event/FocusAdapter.java
index 3489e11..3a3e37f 100644
--- a/awt/java/awt/event/FocusAdapter.java
+++ b/awt/java/awt/event/FocusAdapter.java
@@ -20,6 +20,12 @@
*/
package java.awt.event;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public abstract class FocusAdapter implements FocusListener {
public FocusAdapter() {
diff --git a/awt/java/awt/event/FocusEvent.java b/awt/java/awt/event/FocusEvent.java
index 1db5263..4a18689 100644
--- a/awt/java/awt/event/FocusEvent.java
+++ b/awt/java/awt/event/FocusEvent.java
@@ -22,6 +22,12 @@ package java.awt.event;
import java.awt.Component;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public class FocusEvent extends ComponentEvent {
private static final long serialVersionUID = 523753786457416396L;
diff --git a/awt/java/awt/event/FocusListener.java b/awt/java/awt/event/FocusListener.java
index ee98d90..6bbbd00 100644
--- a/awt/java/awt/event/FocusListener.java
+++ b/awt/java/awt/event/FocusListener.java
@@ -22,6 +22,12 @@ package java.awt.event;
import java.util.EventListener;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public interface FocusListener extends EventListener {
public void focusGained(FocusEvent e);
diff --git a/awt/java/awt/event/HierarchyBoundsAdapter.java b/awt/java/awt/event/HierarchyBoundsAdapter.java
index 24e3d9d..bbfe8ff 100644
--- a/awt/java/awt/event/HierarchyBoundsAdapter.java
+++ b/awt/java/awt/event/HierarchyBoundsAdapter.java
@@ -20,6 +20,12 @@
*/
package java.awt.event;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public abstract class HierarchyBoundsAdapter implements HierarchyBoundsListener {
public HierarchyBoundsAdapter() {
diff --git a/awt/java/awt/event/HierarchyBoundsListener.java b/awt/java/awt/event/HierarchyBoundsListener.java
index 4288f52..3e8f2e7 100644
--- a/awt/java/awt/event/HierarchyBoundsListener.java
+++ b/awt/java/awt/event/HierarchyBoundsListener.java
@@ -22,6 +22,12 @@ package java.awt.event;
import java.util.EventListener;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public interface HierarchyBoundsListener extends EventListener {
public void ancestorMoved(HierarchyEvent e);
diff --git a/awt/java/awt/event/HierarchyEvent.java b/awt/java/awt/event/HierarchyEvent.java
index 1881667..c1d22f4 100644
--- a/awt/java/awt/event/HierarchyEvent.java
+++ b/awt/java/awt/event/HierarchyEvent.java
@@ -24,6 +24,12 @@ import java.awt.AWTEvent;
import java.awt.Component;
//???AWT: import java.awt.Container;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public class HierarchyEvent extends AWTEvent {
private static final long serialVersionUID = -5337576970038043990L;
diff --git a/awt/java/awt/event/HierarchyListener.java b/awt/java/awt/event/HierarchyListener.java
index e01ba11..ff3d9bc 100644
--- a/awt/java/awt/event/HierarchyListener.java
+++ b/awt/java/awt/event/HierarchyListener.java
@@ -22,6 +22,12 @@ package java.awt.event;
import java.util.EventListener;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public interface HierarchyListener extends EventListener {
public void hierarchyChanged(HierarchyEvent e);
diff --git a/awt/java/awt/event/InputEvent.java b/awt/java/awt/event/InputEvent.java
index c98382d..343b7a3 100644
--- a/awt/java/awt/event/InputEvent.java
+++ b/awt/java/awt/event/InputEvent.java
@@ -22,6 +22,12 @@ package java.awt.event;
import java.awt.Component;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public abstract class InputEvent extends ComponentEvent {
private static final long serialVersionUID = -2482525981698309786L;
diff --git a/awt/java/awt/event/InputMethodEvent.java b/awt/java/awt/event/InputMethodEvent.java
index a5cac4e..be001a5 100644
--- a/awt/java/awt/event/InputMethodEvent.java
+++ b/awt/java/awt/event/InputMethodEvent.java
@@ -27,6 +27,12 @@ import java.text.AttributedCharacterIterator;
import org.apache.harmony.awt.internal.nls.Messages;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public class InputMethodEvent extends AWTEvent {
private static final long serialVersionUID = 4727190874778922661L;
diff --git a/awt/java/awt/event/InputMethodListener.java b/awt/java/awt/event/InputMethodListener.java
index 0ab6918..85eaa7e 100644
--- a/awt/java/awt/event/InputMethodListener.java
+++ b/awt/java/awt/event/InputMethodListener.java
@@ -22,6 +22,12 @@ package java.awt.event;
import java.util.EventListener;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public interface InputMethodListener extends EventListener {
public void caretPositionChanged(InputMethodEvent e);
diff --git a/awt/java/awt/event/InvocationEvent.java b/awt/java/awt/event/InvocationEvent.java
index 59346ed..58e3b72 100644
--- a/awt/java/awt/event/InvocationEvent.java
+++ b/awt/java/awt/event/InvocationEvent.java
@@ -25,6 +25,12 @@ import java.awt.ActiveEvent;
import org.apache.harmony.awt.internal.nls.Messages;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public class InvocationEvent extends AWTEvent implements ActiveEvent {
private static final long serialVersionUID = 436056344909459450L;
diff --git a/awt/java/awt/event/ItemEvent.java b/awt/java/awt/event/ItemEvent.java
index 842da14..09908f2 100644
--- a/awt/java/awt/event/ItemEvent.java
+++ b/awt/java/awt/event/ItemEvent.java
@@ -23,6 +23,12 @@ package java.awt.event;
import java.awt.AWTEvent;
import java.awt.ItemSelectable;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public class ItemEvent extends AWTEvent {
private static final long serialVersionUID = -608708132447206933L;
diff --git a/awt/java/awt/event/ItemListener.java b/awt/java/awt/event/ItemListener.java
index 33633be..8dec673 100644
--- a/awt/java/awt/event/ItemListener.java
+++ b/awt/java/awt/event/ItemListener.java
@@ -22,6 +22,12 @@ package java.awt.event;
import java.util.EventListener;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public interface ItemListener extends EventListener {
public void itemStateChanged(ItemEvent e);
diff --git a/awt/java/awt/event/KeyAdapter.java b/awt/java/awt/event/KeyAdapter.java
index 423b5c9..a96cca8 100644
--- a/awt/java/awt/event/KeyAdapter.java
+++ b/awt/java/awt/event/KeyAdapter.java
@@ -20,6 +20,12 @@
*/
package java.awt.event;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public abstract class KeyAdapter implements KeyListener {
public KeyAdapter() {
diff --git a/awt/java/awt/event/KeyEvent.java b/awt/java/awt/event/KeyEvent.java
index 056c64c..8627f70 100644
--- a/awt/java/awt/event/KeyEvent.java
+++ b/awt/java/awt/event/KeyEvent.java
@@ -27,6 +27,12 @@ import java.lang.reflect.Modifier;
import org.apache.harmony.awt.internal.nls.Messages;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public class KeyEvent extends InputEvent {
private static final long serialVersionUID = -2352130953028126954L;
diff --git a/awt/java/awt/event/KeyListener.java b/awt/java/awt/event/KeyListener.java
index f20fc90..ec144df 100644
--- a/awt/java/awt/event/KeyListener.java
+++ b/awt/java/awt/event/KeyListener.java
@@ -22,6 +22,12 @@ package java.awt.event;
import java.util.EventListener;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public interface KeyListener extends EventListener {
public void keyPressed(KeyEvent e);
diff --git a/awt/java/awt/event/MouseAdapter.java b/awt/java/awt/event/MouseAdapter.java
index 4973956..dc19173 100644
--- a/awt/java/awt/event/MouseAdapter.java
+++ b/awt/java/awt/event/MouseAdapter.java
@@ -20,6 +20,12 @@
*/
package java.awt.event;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public abstract class MouseAdapter implements MouseListener {
public MouseAdapter() {
diff --git a/awt/java/awt/event/MouseEvent.java b/awt/java/awt/event/MouseEvent.java
index 0b776f9..2b1fa8b 100644
--- a/awt/java/awt/event/MouseEvent.java
+++ b/awt/java/awt/event/MouseEvent.java
@@ -26,6 +26,12 @@ import java.awt.Toolkit;
import org.apache.harmony.awt.internal.nls.Messages;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public class MouseEvent extends InputEvent {
private static final long serialVersionUID = -991214153494842848L;
diff --git a/awt/java/awt/event/MouseListener.java b/awt/java/awt/event/MouseListener.java
index 5d32b0f..95879b9 100644
--- a/awt/java/awt/event/MouseListener.java
+++ b/awt/java/awt/event/MouseListener.java
@@ -22,6 +22,12 @@ package java.awt.event;
import java.util.EventListener;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public interface MouseListener extends EventListener {
public void mouseClicked(MouseEvent e);
diff --git a/awt/java/awt/event/MouseMotionAdapter.java b/awt/java/awt/event/MouseMotionAdapter.java
index a4bebcc..1ecd0d5 100644
--- a/awt/java/awt/event/MouseMotionAdapter.java
+++ b/awt/java/awt/event/MouseMotionAdapter.java
@@ -20,6 +20,12 @@
*/
package java.awt.event;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public abstract class MouseMotionAdapter implements MouseMotionListener {
public MouseMotionAdapter() {
diff --git a/awt/java/awt/event/MouseMotionListener.java b/awt/java/awt/event/MouseMotionListener.java
index a5c11da..e1313c3 100644
--- a/awt/java/awt/event/MouseMotionListener.java
+++ b/awt/java/awt/event/MouseMotionListener.java
@@ -22,6 +22,12 @@ package java.awt.event;
import java.util.EventListener;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public interface MouseMotionListener extends EventListener {
public void mouseDragged(MouseEvent e);
diff --git a/awt/java/awt/event/MouseWheelEvent.java b/awt/java/awt/event/MouseWheelEvent.java
index d3ac9d8..a3ed424 100644
--- a/awt/java/awt/event/MouseWheelEvent.java
+++ b/awt/java/awt/event/MouseWheelEvent.java
@@ -22,6 +22,12 @@ package java.awt.event;
import java.awt.Component;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public class MouseWheelEvent extends MouseEvent {
private static final long serialVersionUID = -9187413581993563929L;
diff --git a/awt/java/awt/event/MouseWheelListener.java b/awt/java/awt/event/MouseWheelListener.java
index 8ca1c8b..2d6a982 100644
--- a/awt/java/awt/event/MouseWheelListener.java
+++ b/awt/java/awt/event/MouseWheelListener.java
@@ -22,6 +22,12 @@ package java.awt.event;
import java.util.EventListener;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public interface MouseWheelListener extends EventListener {
public void mouseWheelMoved(MouseWheelEvent e);
diff --git a/awt/java/awt/event/PaintEvent.java b/awt/java/awt/event/PaintEvent.java
index d0573e1..22ac090 100644
--- a/awt/java/awt/event/PaintEvent.java
+++ b/awt/java/awt/event/PaintEvent.java
@@ -23,6 +23,12 @@ package java.awt.event;
import java.awt.Component;
import java.awt.Rectangle;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public class PaintEvent extends ComponentEvent {
private static final long serialVersionUID = 1267492026433337593L;
diff --git a/awt/java/awt/event/TextEvent.java b/awt/java/awt/event/TextEvent.java
index e2bfd96..2a690ad 100644
--- a/awt/java/awt/event/TextEvent.java
+++ b/awt/java/awt/event/TextEvent.java
@@ -22,6 +22,12 @@ package java.awt.event;
import java.awt.AWTEvent;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public class TextEvent extends AWTEvent {
private static final long serialVersionUID = 6269902291250941179L;
diff --git a/awt/java/awt/event/TextListener.java b/awt/java/awt/event/TextListener.java
index 6c5a671..05757c4 100644
--- a/awt/java/awt/event/TextListener.java
+++ b/awt/java/awt/event/TextListener.java
@@ -22,6 +22,12 @@ package java.awt.event;
import java.util.EventListener;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public interface TextListener extends EventListener {
public void textValueChanged(TextEvent e);
diff --git a/awt/java/awt/event/WindowAdapter.java b/awt/java/awt/event/WindowAdapter.java
index 9d4b377..970aa8d 100644
--- a/awt/java/awt/event/WindowAdapter.java
+++ b/awt/java/awt/event/WindowAdapter.java
@@ -20,6 +20,12 @@
*/
package java.awt.event;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public abstract class WindowAdapter implements WindowListener, WindowStateListener, WindowFocusListener {
public WindowAdapter() {
diff --git a/awt/java/awt/event/WindowEvent.java b/awt/java/awt/event/WindowEvent.java
index 65a30e4..474d2ac 100644
--- a/awt/java/awt/event/WindowEvent.java
+++ b/awt/java/awt/event/WindowEvent.java
@@ -25,6 +25,12 @@ package java.awt.event;
//import java.awt.Window;
//import java.awt.Frame;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public class WindowEvent extends ComponentEvent {
private static final long serialVersionUID = -1567959133147912127L;
diff --git a/awt/java/awt/event/WindowFocusListener.java b/awt/java/awt/event/WindowFocusListener.java
index e0200f2..528459f 100644
--- a/awt/java/awt/event/WindowFocusListener.java
+++ b/awt/java/awt/event/WindowFocusListener.java
@@ -22,6 +22,12 @@ package java.awt.event;
import java.util.EventListener;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public interface WindowFocusListener extends EventListener {
public void windowGainedFocus(WindowEvent e);
diff --git a/awt/java/awt/event/WindowListener.java b/awt/java/awt/event/WindowListener.java
index 20a2b08..31bd547 100644
--- a/awt/java/awt/event/WindowListener.java
+++ b/awt/java/awt/event/WindowListener.java
@@ -22,6 +22,12 @@ package java.awt.event;
import java.util.EventListener;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public interface WindowListener extends EventListener {
public void windowActivated(WindowEvent e);
diff --git a/awt/java/awt/event/WindowStateListener.java b/awt/java/awt/event/WindowStateListener.java
index 12dbc20..ba14d9e 100644
--- a/awt/java/awt/event/WindowStateListener.java
+++ b/awt/java/awt/event/WindowStateListener.java
@@ -22,6 +22,12 @@ package java.awt.event;
import java.util.EventListener;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public interface WindowStateListener extends EventListener {
public void windowStateChanged(WindowEvent e);
diff --git a/awt/java/awt/font/FontRenderContext.java b/awt/java/awt/font/FontRenderContext.java
index 766300d..d7de00f 100644
--- a/awt/java/awt/font/FontRenderContext.java
+++ b/awt/java/awt/font/FontRenderContext.java
@@ -23,23 +23,30 @@ package java.awt.font;
import java.awt.geom.AffineTransform;
/**
- * The FontRenderContext class contains the information
- * about text measurement. Anti-aliasing and fractional-metrics
- * modes are defined by an application and affect the size of
- * a character.
+ * The FontRenderContext class contains the information about text measurement.
+ * Anti-aliasing and fractional-metrics modes are defined by an application and
+ * affect the size of a character.
+ *
+ * @since Android 1.0
*/
public class FontRenderContext {
// Affine transform of this mode
- /** The transform. */
+ /**
+ * The transform.
+ */
private AffineTransform transform;
// Is the anti-aliased mode used
- /** The anti aliased. */
+ /**
+ * The anti aliased.
+ */
private boolean fAntiAliased;
// Is the fractional metrics used
- /** The fractional metrics. */
+ /**
+ * The fractional metrics.
+ */
private boolean fFractionalMetrics;
@@ -47,9 +54,12 @@ public class FontRenderContext {
* Instantiates a new FontRenderContext object with the specified
* AffineTransform, anti-aliasing and fractional metrics flags.
*
- * @param trans the AffineTransform.
- * @param antiAliased the anti-aliasing flag.
- * @param usesFractionalMetrics the fractional metrics flag.
+ * @param trans
+ * the AffineTransform.
+ * @param antiAliased
+ * the anti-aliasing flag.
+ * @param usesFractionalMetrics
+ * the fractional metrics flag.
*/
public FontRenderContext(AffineTransform trans, boolean antiAliased,
boolean usesFractionalMetrics) {
@@ -67,12 +77,12 @@ public class FontRenderContext {
}
/**
- * Compares the specified Object with current FontRenderContext object.
- *
- * @param obj the Object to be compared.
+ * Compares the specified Object with current FontRenderContext object.
*
+ * @param obj
+ * the Object to be compared.
* @return true, if the specified Object is equal to current
- * FontRenderContext object.
+ * FontRenderContext object.
*/
@Override
public boolean equals(Object obj) {
@@ -92,11 +102,11 @@ public class FontRenderContext {
}
/**
- * Gets the transform which is used for scaling typographical points
- * to pixels in this FontRenderContext.
+ * Gets the transform which is used for scaling typographical points to
+ * pixels in this FontRenderContext.
*
- * @return the AffineTransform which is used for scaling typographical
- * points to pixels in this FontRenderContext.
+ * @return the AffineTransform which is used for scaling typographical
+ * points to pixels in this FontRenderContext.
*/
public AffineTransform getTransform() {
if (transform != null){
@@ -106,13 +116,13 @@ public class FontRenderContext {
}
/**
- * Compares the specified FontRenderContext object with current
+ * Compares the specified FontRenderContext object with current
* FontRenderContext.
*
- * @param frc the FontRenderContext object to be compared.
- *
- * @return true, if the specified FontRenderContext object is
- * equal to current FontRenderContext.
+ * @param frc
+ * the FontRenderContext object to be compared.
+ * @return true, if the specified FontRenderContext object is equal to
+ * current FontRenderContext.
*/
public boolean equals(FontRenderContext frc) {
if (this == frc){
@@ -132,11 +142,11 @@ public class FontRenderContext {
}
/**
- * Returns true if the text fractional metrics are used in
- * this FontRenderContext.
+ * Returns true if the text fractional metrics are used in this
+ * FontRenderContext.
*
- * @return true, if the text fractional metrics are used in
- * this FontRenderContext, false otherwise.
+ * @return true, if the text fractional metrics are used in this
+ * FontRenderContext, false otherwise.
*/
public boolean usesFractionalMetrics() {
return this.fFractionalMetrics;
@@ -146,7 +156,7 @@ public class FontRenderContext {
* Returns true if anti-aliasing is used in this FontRenderContext.
*
* @return true, if is anti-aliasing is used in this FontRenderContext,
- * false otherwise.
+ * false otherwise.
*/
public boolean isAntiAliased() {
return this.fAntiAliased;
diff --git a/awt/java/awt/font/GlyphJustificationInfo.java b/awt/java/awt/font/GlyphJustificationInfo.java
index 4c3e02e..b03de0a 100644
--- a/awt/java/awt/font/GlyphJustificationInfo.java
+++ b/awt/java/awt/font/GlyphJustificationInfo.java
@@ -18,124 +18,134 @@
* @author Ilya S. Okomin
* @version $Revision$
*/
+
package java.awt.font;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The GlyphJustificationInfo class provides information about
- * the glyph's justification properties. There are four justification
- * properties: weight, priority, absorb, and limit.
+ * The GlyphJustificationInfo class provides information about the glyph's
+ * justification properties. There are four justification properties: weight,
+ * priority, absorb, and limit.
* <p>
- * There are two sets of metrics: growing and shrinking.
- * Growing metrics are used when the glyphs are to be spread apart
- * to fit a larger width. Shrinking metrics are used when the glyphs
- * are to be moved together to fit a smaller width.
+ * There are two sets of metrics: growing and shrinking. Growing metrics are
+ * used when the glyphs are to be spread apart to fit a larger width. Shrinking
+ * metrics are used when the glyphs are to be moved together to fit a smaller
+ * width.
+ * </p>
+ *
+ * @since Android 1.0
*/
public final class GlyphJustificationInfo {
- /**
- * The Constant PRIORITY_KASHIDA indicates the highest
- * justification priority.
+ /**
+ * The Constant PRIORITY_KASHIDA indicates the highest justification
+ * priority.
*/
public static final int PRIORITY_KASHIDA = 0;
/**
- * The Constant PRIORITY_WHITESPACE indicates the second highest
- * justification priority.
+ * The Constant PRIORITY_WHITESPACE indicates the second highest
+ * justification priority.
*/
public static final int PRIORITY_WHITESPACE = 1;
- /**
- * The Constant PRIORITY_INTERCHAR indicates the second lowest
- * justification priority.
+ /**
+ * The Constant PRIORITY_INTERCHAR indicates the second lowest justification
+ * priority.
*/
public static final int PRIORITY_INTERCHAR = 2;
/**
- * The Constant PRIORITY_NONE indicates the lowest justification
- * priority.
+ * The Constant PRIORITY_NONE indicates the lowest justification priority.
*/
public static final int PRIORITY_NONE = 3;
- /**
- * The grow absorb flag indicates if this glyph absorbs all extra
- * space at this and lower priority levels when it grows.
+ /**
+ * The grow absorb flag indicates if this glyph absorbs all extra space at
+ * this and lower priority levels when it grows.
*/
public final boolean growAbsorb;
- /**
- * The grow left limit value represents the maximum value by which
- * the left side of this glyph grows.
+ /**
+ * The grow left limit value represents the maximum value by which the left
+ * side of this glyph grows.
*/
public final float growLeftLimit;
- /**
- * The grow right limit value repesents the maximum value by which
- * the right side of this glyph grows.
+ /**
+ * The grow right limit value repesents the maximum value by which the right
+ * side of this glyph grows.
*/
public final float growRightLimit;
- /**
- * The grow priority value represents the priority level of this
- * glyph as it is growing.
+ /**
+ * The grow priority value represents the priority level of this glyph as it
+ * is growing.
*/
public final int growPriority;
- /**
- * The shrink absorb fleg indicates this glyph absorbs all remaining
- * shrinkage at this and lower priority levels as it shrinks.
+ /**
+ * The shrink absorb fleg indicates this glyph absorbs all remaining
+ * shrinkage at this and lower priority levels as it shrinks.
*/
public final boolean shrinkAbsorb;
- /**
- * The shrink left limit value represents the maximum value by which
- * the left side of this glyph shrinks.
+ /**
+ * The shrink left limit value represents the maximum value by which the
+ * left side of this glyph shrinks.
*/
public final float shrinkLeftLimit;
- /**
- * The shrink right limit value represents the maximum value by which
- * the right side of this glyph shrinks.
+ /**
+ * The shrink right limit value represents the maximum value by which the
+ * right side of this glyph shrinks.
*/
public final float shrinkRightLimit;
/**
- * The shrink priority represents the glyth's priority level
- * as it is shrinking.
+ * The shrink priority represents the glyth's priority level as it is
+ * shrinking.
*/
public final int shrinkPriority;
- /**
- * The weight of the glyph.
+ /**
+ * The weight of the glyph.
*/
public final float weight;
/**
- * Instantiates a new GlyphJustificationInfo object which contains
- * glyph's justification properties.
+ * Instantiates a new GlyphJustificationInfo object which contains glyph's
+ * justification properties.
*
- * @param weight the weight of glyph.
- * @param growAbsorb indicates if this glyph contais all space
- * at this priority and lower priority levels when it grows.
- * @param growPriority indicates the priority level of this glyph
- * when it grows.
- * @param growLeftLimit indicates the maximum value of which the
- * left side of this glyph can grow.
- * @param growRightLimit the maximum value of which the right side of
- * this glyph can grow.
- * @param shrinkAbsorb indicates if this glyph contains all remaining
- * shrinkage at this and lower priority levels when it shrinks.
- * @param shrinkPriority indicates the glyph's priority level when
- * it shrinks.
- * @param shrinkLeftLimit indicates the maximum value of which
- * the left side of this glyph can shrink.
- * @param shrinkRightLimit indicates the maximum amount by which
- * the right side of this glyph can shrink.
+ * @param weight
+ * the weight of glyph.
+ * @param growAbsorb
+ * indicates if this glyph contais all space at this priority and
+ * lower priority levels when it grows.
+ * @param growPriority
+ * indicates the priority level of this glyph when it grows.
+ * @param growLeftLimit
+ * indicates the maximum value of which the left side of this
+ * glyph can grow.
+ * @param growRightLimit
+ * the maximum value of which the right side of this glyph can
+ * grow.
+ * @param shrinkAbsorb
+ * indicates if this glyph contains all remaining shrinkage at
+ * this and lower priority levels when it shrinks.
+ * @param shrinkPriority
+ * indicates the glyph's priority level when it shrinks.
+ * @param shrinkLeftLimit
+ * indicates the maximum value of which the left side of this
+ * glyph can shrink.
+ * @param shrinkRightLimit
+ * indicates the maximum amount by which the right side of this
+ * glyph can shrink.
*/
public GlyphJustificationInfo(float weight, boolean growAbsorb, int growPriority,
- float growLeftLimit, float growRightLimit, boolean shrinkAbsorb,
- int shrinkPriority, float shrinkLeftLimit, float shrinkRightLimit) {
+ float growLeftLimit, float growRightLimit, boolean shrinkAbsorb, int shrinkPriority,
+ float shrinkLeftLimit, float shrinkRightLimit) {
if (weight < 0) {
// awt.19C=weight must be a positive number
@@ -156,13 +166,15 @@ public final class GlyphJustificationInfo {
this.growRightLimit = growRightLimit;
if ((shrinkPriority < 0) || (shrinkPriority > PRIORITY_NONE)) {
- // awt.19F=incorrect value for shrinkPriority, more than PRIORITY_NONE or less than PRIORITY_KASHIDA value
+ // awt.19F=incorrect value for shrinkPriority, more than
+ // PRIORITY_NONE or less than PRIORITY_KASHIDA value
throw new IllegalArgumentException(Messages.getString("awt.19F")); //$NON-NLS-1$
}
this.shrinkPriority = shrinkPriority;
if ((growPriority < 0) || (growPriority > PRIORITY_NONE)) {
- // awt.200=incorrect value for growPriority, more than PRIORITY_NONE or less than PRIORITY_KASHIDA value
+ // awt.200=incorrect value for growPriority, more than PRIORITY_NONE
+ // or less than PRIORITY_KASHIDA value
throw new IllegalArgumentException(Messages.getString("awt.200")); //$NON-NLS-1$
}
this.growPriority = growPriority;
diff --git a/awt/java/awt/font/GlyphMetrics.java b/awt/java/awt/font/GlyphMetrics.java
index d96ef18..2871722 100644
--- a/awt/java/awt/font/GlyphMetrics.java
+++ b/awt/java/awt/font/GlyphMetrics.java
@@ -18,82 +18,98 @@
* @author Ilya S. Okomin
* @version $Revision$
*/
+
package java.awt.font;
import java.awt.geom.Rectangle2D;
/**
- * The GlyphMetrics class provides information about the size and shape
- * of a single glyph.
- * Each glyph has information to specify whether its baseline is horizontal
- * or vertical as well as information on how it interacts with
- * other characters in a text, given as one of the
- * following types: STANDARD, LIGATURE, COMBINING, or COMPONENT.
+ * The GlyphMetrics class provides information about the size and shape of a
+ * single glyph. Each glyph has information to specify whether its baseline is
+ * horizontal or vertical as well as information on how it interacts with other
+ * characters in a text, given as one of the following types: STANDARD,
+ * LIGATURE, COMBINING, or COMPONENT.
+ *
+ * @since Android 1.0
*/
public final class GlyphMetrics {
// advance width of the glyph character cell
- /** The advance x. */
+ /**
+ * The advance x.
+ */
private float advanceX;
-
+
// advance height of the glyph character cell
- /** The advance y. */
+ /**
+ * The advance y.
+ */
private float advanceY;
// flag if the glyph horizontal
- /** The horizontal. */
+ /**
+ * The horizontal.
+ */
private boolean horizontal;
- // glyph type code
- /** The glyph type. */
+ // glyph type code
+ /**
+ * The glyph type.
+ */
private byte glyphType;
-
+
// bounding box for outline of the glyph
- /** The bounds. */
+ /**
+ * The bounds.
+ */
private Rectangle2D.Float bounds;
- /**
- * The Constant STANDARD indicates a glyph that represents a single
- * character.
+ /**
+ * The Constant STANDARD indicates a glyph that represents a single
+ * character.
*/
public static final byte STANDARD = 0;
- /**
- * The Constant LIGATURE indicates a glyph that represents multiple
- * characters as a ligature.
+ /**
+ * The Constant LIGATURE indicates a glyph that represents multiple
+ * characters as a ligature.
*/
public static final byte LIGATURE = 1;
- /**
- * The Constant COMBINING indicates a glyph which has no caret position
+ /**
+ * The Constant COMBINING indicates a glyph which has no caret position
* between glyphs (for example umlaut).
*/
public static final byte COMBINING = 2;
- /**
- * The Constant COMPONENT indicates a glyph with no corresponding character
+ /**
+ * The Constant COMPONENT indicates a glyph with no corresponding character
* in the backing store.
*/
public static final byte COMPONENT = 3;
- /**
- * The Constant WHITESPACE indicates a glyph without visual
- * representation.
+ /**
+ * The Constant WHITESPACE indicates a glyph without visual representation.
*/
public static final byte WHITESPACE = 4;
/**
* Instantiates a new GlyphMetrics object with the specified parameters.
*
- * @param horizontal specifies if metrics are for a horizontal baseline
- * (true value), or a vertical baseline (false value).
- * @param advanceX the X component of the glyph's advance.
- * @param advanceY the Y component of the glyph's advance.
- * @param bounds the glyph's bounds.
- * @param glyphType the glyph's type.
- */
- public GlyphMetrics(boolean horizontal, float advanceX, float advanceY,
- Rectangle2D bounds, byte glyphType) {
+ * @param horizontal
+ * specifies if metrics are for a horizontal baseline (true
+ * value), or a vertical baseline (false value).
+ * @param advanceX
+ * the X component of the glyph's advance.
+ * @param advanceY
+ * the Y component of the glyph's advance.
+ * @param bounds
+ * the glyph's bounds.
+ * @param glyphType
+ * the glyph's type.
+ */
+ public GlyphMetrics(boolean horizontal, float advanceX, float advanceY, Rectangle2D bounds,
+ byte glyphType) {
this.horizontal = horizontal;
this.advanceX = advanceX;
this.advanceY = advanceY;
@@ -107,9 +123,12 @@ public final class GlyphMetrics {
/**
* Instantiates a new horizontal GlyphMetrics with the specified parameters.
*
- * @param advanceX the X component of the glyph's advance.
- * @param bounds the glyph's bounds.
- * @param glyphType the glyph's type.
+ * @param advanceX
+ * the X component of the glyph's advance.
+ * @param bounds
+ * the glyph's bounds.
+ * @param glyphType
+ * the glyph's type.
*/
public GlyphMetrics(float advanceX, Rectangle2D bounds, byte glyphType) {
this.advanceX = advanceX;
@@ -129,7 +148,7 @@ public final class GlyphMetrics {
* @return glyph's bounds.
*/
public Rectangle2D getBounds2D() {
- return (Rectangle2D.Float) this.bounds.clone();
+ return (Rectangle2D.Float)this.bounds.clone();
}
/**
@@ -187,11 +206,11 @@ public final class GlyphMetrics {
}
/**
- * Gets the distance from the right (for horizontal) or
- * bottom (for vertical) of the glyph bounds to the advance.
+ * Gets the distance from the right (for horizontal) or bottom (for
+ * vertical) of the glyph bounds to the advance.
*
- * @return the distance from the right (for horizontal) or
- * bottom (for vertical) of the glyph bounds to the advance.
+ * @return the distance from the right (for horizontal) or bottom (for
+ * vertical) of the glyph bounds to the advance.
*/
public float getRSB() {
if (this.horizontal) {
@@ -201,11 +220,11 @@ public final class GlyphMetrics {
}
/**
- * Gets the distance from 0, 0 to the left (for horizontal)
- * or top (for vertical) of the glyph bounds.
+ * Gets the distance from 0, 0 to the left (for horizontal) or top (for
+ * vertical) of the glyph bounds.
*
- * @return the distance from 0, 0 to the left (for horizontal)
- * or top (for vertical) of the glyph bounds.
+ * @return the distance from 0, 0 to the left (for horizontal) or top (for
+ * vertical) of the glyph bounds.
*/
public float getLSB() {
if (this.horizontal) {
@@ -245,4 +264,3 @@ public final class GlyphMetrics {
}
}
-
diff --git a/awt/java/awt/font/GlyphVector.java b/awt/java/awt/font/GlyphVector.java
index b3c9406..a72b774 100644
--- a/awt/java/awt/font/GlyphVector.java
+++ b/awt/java/awt/font/GlyphVector.java
@@ -18,6 +18,7 @@
* @author Ilya S. Okomin
* @version $Revision$
*/
+
package java.awt.font;
import java.awt.Font;
@@ -32,45 +33,47 @@ import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
/**
- * The GlyphVector class contains a collection of glyphs with geometric
- * information and each glyph's location. Each GlyphVector can be associated
- * with only one Font. GlyphVector contains the following properties for
- * each glyph:
+ * The GlyphVector class contains a collection of glyphs with geometric
+ * information and each glyph's location. Each GlyphVector can be associated
+ * with only one Font. GlyphVector contains the following properties for each
+ * glyph:
* <ul>
* <li>the glyph position;</li>
* <li>the transform of the glyph;</li>
* <li>the metrics of the glyph in the context of the GlyphVector.</li>
* </ul>
+ *
+ * @since Android 1.0
*/
public abstract class GlyphVector implements Cloneable {
- /**
- * The Constant FLAG_HAS_TRANSFORMS indicates that this GlyphVector
- * has per-glyph transforms.
+ /**
+ * The Constant FLAG_HAS_TRANSFORMS indicates that this GlyphVector has
+ * per-glyph transforms.
*/
public static final int FLAG_HAS_TRANSFORMS = 1;
- /**
- * The Constant FLAG_HAS_POSITION_ADJUSTMENTS indicates that
- * the GlyphVector has per-glyph position adjustments.
+ /**
+ * The Constant FLAG_HAS_POSITION_ADJUSTMENTS indicates that the GlyphVector
+ * has per-glyph position adjustments.
*/
public static final int FLAG_HAS_POSITION_ADJUSTMENTS = 2;
- /**
- * The Constant FLAG_RUN_RTL indicates that this GlyphVector has a
- * right to left run direction.
+ /**
+ * The Constant FLAG_RUN_RTL indicates that this GlyphVector has a right to
+ * left run direction.
*/
public static final int FLAG_RUN_RTL = 4;
- /**
- * The Constant FLAG_COMPLEX_GLYPHS indicates that this GlyphVector
- * has a complex glyph to char mapping.
+ /**
+ * The Constant FLAG_COMPLEX_GLYPHS indicates that this GlyphVector has a
+ * complex glyph to char mapping.
*/
public static final int FLAG_COMPLEX_GLYPHS = 8;
- /**
- * The Constant FLAG_MASK indicates a mask for supported flags
- * from getLayoutFlags.
+ /**
+ * The Constant FLAG_MASK indicates a mask for supported flags from
+ * getLayoutFlags.
*/
public static final int FLAG_MASK = 15; // (|) mask of other flags
@@ -81,17 +84,19 @@ public abstract class GlyphVector implements Cloneable {
}
/**
- * Gets the pixel bounds of the GlyphVector when rendered
- * at the specified location with the specified FontRenderContext.
- *
- * @param frc the FontRenderContext.
- * @param x the X coordinate of the GlyphVector's location.
- * @param y the Y coordinate of the GlyphVector's location.
- *
+ * Gets the pixel bounds of the GlyphVector when rendered at the specified
+ * location with the specified FontRenderContext.
+ *
+ * @param frc
+ * the FontRenderContext.
+ * @param x
+ * the X coordinate of the GlyphVector's location.
+ * @param y
+ * the Y coordinate of the GlyphVector's location.
* @return the pixel bounds
*/
public Rectangle getPixelBounds(FontRenderContext frc, float x, float y) {
- // default implementation - integer Rectangle, that encloses visual
+ // default implementation - integer Rectangle, that encloses visual
// bounds rectangle
Rectangle2D visualRect = getVisualBounds();
@@ -104,19 +109,21 @@ public abstract class GlyphVector implements Cloneable {
}
/**
- * Gets the pixel bounds of the glyph with the specified index in
- * this GlyphVector which is rendered with the specified
- * FontRenderContext at the specified location.
- *
- * @param index the glyph index in this GlyphVector.
- * @param frc the FontRenderContext.
- * @param x the X coordinate of the GlyphVector's location.
- * @param y the Y coordinate of the GlyphVector's location.
- *
+ * Gets the pixel bounds of the glyph with the specified index in this
+ * GlyphVector which is rendered with the specified FontRenderContext at the
+ * specified location.
+ *
+ * @param index
+ * the glyph index in this GlyphVector.
+ * @param frc
+ * the FontRenderContext.
+ * @param x
+ * the X coordinate of the GlyphVector's location.
+ * @param y
+ * the Y coordinate of the GlyphVector's location.
* @return a Rectangle bounds.
*/
- public Rectangle getGlyphPixelBounds(int index, FontRenderContext frc,
- float x, float y) {
+ public Rectangle getGlyphPixelBounds(int index, FontRenderContext frc, float x, float y) {
Rectangle2D visualRect = getGlyphVisualBounds(index).getBounds2D();
int minX = (int)Math.floor(visualRect.getMinX() + x);
@@ -128,14 +135,14 @@ public abstract class GlyphVector implements Cloneable {
}
/**
- * Gets the visual bounds of the GlyphVector.
+ * Gets the visual bounds of the GlyphVector.
*
* @return the visual bounds of the GlyphVector.
*/
public abstract Rectangle2D getVisualBounds();
/**
- * Gets the logical bounds of the GlyphVector.
+ * Gets the logical bounds of the GlyphVector.
*
* @return the logical bounds of the GlyphVector.
*/
@@ -144,36 +151,38 @@ public abstract class GlyphVector implements Cloneable {
/**
* Sets the position of the specified glyph in this GlyphVector.
*
- * @param glyphIndex the glyph index in this GlyphVector.
- * @param newPos the new position of the glyph at the specified glyphIndex.
+ * @param glyphIndex
+ * the glyph index in this GlyphVector.
+ * @param newPos
+ * the new position of the glyph at the specified glyphIndex.
*/
public abstract void setGlyphPosition(int glyphIndex, Point2D newPos);
/**
* Gets the position of the specified glyph in this GlyphVector.
*
- * @param glyphIndex the glyph index in this GlyphVector.
- *
+ * @param glyphIndex
+ * the glyph index in this GlyphVector.
* @return the position of the specified glyph in this GlyphVector.
*/
public abstract Point2D getGlyphPosition(int glyphIndex);
/**
- * Sets the affine transform to a glyph with the specified index
- * in this GlyphVector.
+ * Sets the affine transform to a glyph with the specified index in this
+ * GlyphVector.
*
- * @param glyphIndex the glyth index in this GlyphVector.
- * @param trans the AffineTransform to be assigned to the
- * specified glyph.
+ * @param glyphIndex
+ * the glyth index in this GlyphVector.
+ * @param trans
+ * the AffineTransform to be assigned to the specified glyph.
*/
- public abstract void setGlyphTransform(int glyphIndex,
- AffineTransform trans);
+ public abstract void setGlyphTransform(int glyphIndex, AffineTransform trans);
/**
* Gets the transform of the specified glyph in this GlyphVector.
*
- * @param glyphIndex the glyph index in this GlyphVector.
- *
+ * @param glyphIndex
+ * the glyph index in this GlyphVector.
* @return the new transform of the glyph.
*/
public abstract AffineTransform getGlyphTransform(int glyphIndex);
@@ -181,34 +190,32 @@ public abstract class GlyphVector implements Cloneable {
/**
* Compares this GlyphVector with the specified GlyphVector objects.
*
- * @param glyphVector the GlyphVector object to be compared.
- *
+ * @param glyphVector
+ * the GlyphVector object to be compared.
* @return true, if this GlyphVector is equal to the specified GlyphVector
- * object, false otherwise.
+ * object, false otherwise.
*/
public abstract boolean equals(GlyphVector glyphVector);
/**
- * Gets the metrics of the glyph with the specified index
- * in this GlyphVector.
- *
- * @param glyphIndex index in this GlyphVector.
+ * Gets the metrics of the glyph with the specified index in this
+ * GlyphVector.
*
- * @return the metrics of the glyph with the specified index
- * in this GlyphVector.
+ * @param glyphIndex
+ * index in this GlyphVector.
+ * @return the metrics of the glyph with the specified index in this
+ * GlyphVector.
*/
public abstract GlyphMetrics getGlyphMetrics(int glyphIndex);
/**
- * Gets the justification information of the glyph
- * whose index is specified.
+ * Gets the justification information of the glyph whose index is specified.
*
- * @param glyphIndex the glyph index.
- *
- * @return the GlyphJustificationInfo for the specified glyph.
+ * @param glyphIndex
+ * the glyph index.
+ * @return the GlyphJustificationInfo for the specified glyph.
*/
- public abstract GlyphJustificationInfo getGlyphJustificationInfo(
- int glyphIndex);
+ public abstract GlyphJustificationInfo getGlyphJustificationInfo(int glyphIndex);
/**
* Gets the FontRenderContext of this GlyphVector.
@@ -218,18 +225,20 @@ public abstract class GlyphVector implements Cloneable {
public abstract FontRenderContext getFontRenderContext();
/**
- * Gets a Shape object which defines the visual representation
- * of the specified glyph in this GlyphVector, translated a
- * distance of x in the X direction and y in the Y direction.
- *
- * @param glyphIndex the glyth index in this GlyphVector.
- * @param x the distance in the X direction to translate the
- * shape object before returning it.
- * @param y the distance in the Y direction to translate the
- * shape object before returning it.
- *
- * @return a Shape object which represents the visual representation
- * of the specified glyph in this GlyphVector - glyph outline.
+ * Gets a Shape object which defines the visual representation of the
+ * specified glyph in this GlyphVector, translated a distance of x in the X
+ * direction and y in the Y direction.
+ *
+ * @param glyphIndex
+ * the glyth index in this GlyphVector.
+ * @param x
+ * the distance in the X direction to translate the shape object
+ * before returning it.
+ * @param y
+ * the distance in the Y direction to translate the shape object
+ * before returning it.
+ * @return a Shape object which represents the visual representation of the
+ * specified glyph in this GlyphVector - glyph outline.
*/
public Shape getGlyphOutline(int glyphIndex, float x, float y) {
Shape initialShape = getGlyphOutline(glyphIndex);
@@ -240,43 +249,42 @@ public abstract class GlyphVector implements Cloneable {
/**
* Gets the visual bounds of the specified glyph in the GlyphVector.
*
- * @param glyphIndex the glyph index in this GlyphVector.
- *
- * @return the glyph visual bounds of the glyph with the specified
- * index in the GlyphVector.
+ * @param glyphIndex
+ * the glyph index in this GlyphVector.
+ * @return the glyph visual bounds of the glyph with the specified index in
+ * the GlyphVector.
*/
public abstract Shape getGlyphVisualBounds(int glyphIndex);
/**
- * Gets a Shape object which defines the visual representation
- * of the specified glyph in this GlyphVector.
- *
- * @param glyphIndex the glyth index in this GlyphVector.
+ * Gets a Shape object which defines the visual representation of the
+ * specified glyph in this GlyphVector.
*
- * @return a Shape object which represents the visual representation
- * of the specified glyph in this GlyphVector - glyph outline.
+ * @param glyphIndex
+ * the glyth index in this GlyphVector.
+ * @return a Shape object which represents the visual representation of the
+ * specified glyph in this GlyphVector - glyph outline.
*/
public abstract Shape getGlyphOutline(int glyphIndex);
/**
- * Gets the logical bounds of the specified glyph in
- * the GlyphVector.
+ * Gets the logical bounds of the specified glyph in the GlyphVector.
*
- * @param glyphIndex the index in this GlyphVector of the glyph from which
- * to retrieve its logical bounds
- *
- * @return the logical bounds of the specified glyph in
- * the GlyphVector.
+ * @param glyphIndex
+ * the index in this GlyphVector of the glyph from which to
+ * retrieve its logical bounds
+ * @return the logical bounds of the specified glyph in the GlyphVector.
*/
public abstract Shape getGlyphLogicalBounds(int glyphIndex);
/**
- * Gets the visual representation of this GlyphVector rendered in
- * x, y location as a Shape object.
- *
- * @param x the x coordinate of the GlyphVector.
- * @param y the y coordinate of the GlyphVector.
+ * Gets the visual representation of this GlyphVector rendered in x, y
+ * location as a Shape object.
*
+ * @param x
+ * the x coordinate of the GlyphVector.
+ * @param y
+ * the y coordinate of the GlyphVector.
* @return the visual representation of this GlyphVector as a Shape object.
*/
public abstract Shape getOutline(float x, float y);
@@ -298,77 +306,79 @@ public abstract class GlyphVector implements Cloneable {
/**
* Gets an array of the glyph codes of the specified glyphs.
*
- * @param beginGlyphIndex the index into this GlyphVector at which
- * to start retrieving glyph codes.
- * @param numEntries the number of glyph codes.
- * @param codeReturn the array into which the resulting
- * glyphcodes will be written.
- *
+ * @param beginGlyphIndex
+ * the index into this GlyphVector at which to start retrieving
+ * glyph codes.
+ * @param numEntries
+ * the number of glyph codes.
+ * @param codeReturn
+ * the array into which the resulting glyphcodes will be written.
* @return the array of the glyph codes.
*/
- public abstract int[] getGlyphCodes(int beginGlyphIndex, int numEntries,
- int[] codeReturn);
+ public abstract int[] getGlyphCodes(int beginGlyphIndex, int numEntries, int[] codeReturn);
/**
- * Gets an array of the character indices of
- * the specified glyphs.
- *
- * @param beginGlyphIndex the index of the first glyph to return information for.
- * @param numEntries the number of glyph indices to return.
- * @param codeReturn the array into which the resulting character
- * indices will be written.
- *
+ * Gets an array of the character indices of the specified glyphs.
+ *
+ * @param beginGlyphIndex
+ * the index of the first glyph to return information for.
+ * @param numEntries
+ * the number of glyph indices to return.
+ * @param codeReturn
+ * the array into which the resulting character indices will be
+ * written.
* @return an array of character indices for the specifies glyphs.
*/
- public int[] getGlyphCharIndices(int beginGlyphIndex, int numEntries,
- int[] codeReturn) {
+ public int[] getGlyphCharIndices(int beginGlyphIndex, int numEntries, int[] codeReturn) {
if (codeReturn == null) {
codeReturn = new int[numEntries];
}
- for (int i = 0; i < numEntries; i++){
- codeReturn[i] = getGlyphCharIndex(i+beginGlyphIndex);
+ for (int i = 0; i < numEntries; i++) {
+ codeReturn[i] = getGlyphCharIndex(i + beginGlyphIndex);
}
return codeReturn;
}
/**
- * Gets an array of the positions of the specified glyphs in
- * this GlyphVector.
- *
- * @param beginGlyphIndex the index of the first glyph to return information for.
- * @param numEntries the number of glyphs to return information for.
- * @param positionReturn the array where the result will be stored.
- *
+ * Gets an array of the positions of the specified glyphs in this
+ * GlyphVector.
+ *
+ * @param beginGlyphIndex
+ * the index of the first glyph to return information for.
+ * @param numEntries
+ * the number of glyphs to return information for.
+ * @param positionReturn
+ * the array where the result will be stored.
* @return an array of glyph positions.
*/
- public abstract float[] getGlyphPositions(int beginGlyphIndex,
- int numEntries, float[] positionReturn);
+ public abstract float[] getGlyphPositions(int beginGlyphIndex, int numEntries,
+ float[] positionReturn);
/**
* Gets the glyph code of the specified glyph.
*
- * @param glyphIndex the index in this GlyphVector which corresponds
- * to the glyph from which to retrieve the glyphcode.
- *
+ * @param glyphIndex
+ * the index in this GlyphVector which corresponds to the glyph
+ * from which to retrieve the glyphcode.
* @return the glyphcode of the specified glyph.
*/
public abstract int getGlyphCode(int glyphIndex);
/**
- * Gets the first logical character's index of the specified glyph.
- *
- * @param glyphIndex the glyph index.
+ * Gets the first logical character's index of the specified glyph.
*
+ * @param glyphIndex
+ * the glyph index.
* @return the the first logical character's index.
*/
- public int getGlyphCharIndex(int glyphIndex){
+ public int getGlyphCharIndex(int glyphIndex) {
// default implemetation one-to-one
return glyphIndex;
}
/**
- * Sets default layout to this GlyphVector.
+ * Sets default layout to this GlyphVector.
*/
public abstract void performDefaultLayout();
@@ -380,15 +390,14 @@ public abstract class GlyphVector implements Cloneable {
public abstract int getNumGlyphs();
/**
- * Gets flags which describe the global state of the GlyphVector.
- * The default implementation returns 0.
+ * Gets flags which describe the global state of the GlyphVector. The
+ * default implementation returns 0.
*
* @return the layout flags
*/
- public int getLayoutFlags(){
+ public int getLayoutFlags() {
// default implementation - returned value is 0
return 0;
}
}
-
diff --git a/awt/java/awt/font/GraphicAttribute.java b/awt/java/awt/font/GraphicAttribute.java
index 2f41951..8480e0f 100644
--- a/awt/java/awt/font/GraphicAttribute.java
+++ b/awt/java/awt/font/GraphicAttribute.java
@@ -18,6 +18,7 @@
* @author Ilya S. Okomin
* @version $Revision$
*/
+
package java.awt.font;
import java.awt.Graphics2D;
@@ -26,49 +27,54 @@ import java.awt.geom.Rectangle2D;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The GraphicAttribute abstract class provides an opportunity to
- * insert graphical elements in printed text.
+ * The GraphicAttribute abstract class provides an opportunity to insert
+ * graphical elements in printed text.
+ *
+ * @since Android 1.0
*/
public abstract class GraphicAttribute {
- /**
- * The Constant TOP_ALIGNMENT indicates using the top line to
- * calculate placement of graphics.
+ /**
+ * The Constant TOP_ALIGNMENT indicates using the top line to calculate
+ * placement of graphics.
*/
public static final int TOP_ALIGNMENT = -1;
- /**
- * The Constant BOTTOM_ALIGNMENT indicates using the bottom line to
- * calculate placement of graphics.
+ /**
+ * The Constant BOTTOM_ALIGNMENT indicates using the bottom line to
+ * calculate placement of graphics.
*/
public static final int BOTTOM_ALIGNMENT = -2;
- /**
- * The Constant ROMAN_BASELINE indicates the placement of the roman
- * baseline with respect to the graphics origin.
+ /**
+ * The Constant ROMAN_BASELINE indicates the placement of the roman baseline
+ * with respect to the graphics origin.
*/
public static final int ROMAN_BASELINE = 0;
- /**
- * The Constant CENTER_BASELINE indicates the placement of the center
+ /**
+ * The Constant CENTER_BASELINE indicates the placement of the center
* baseline with respect to the graphics origin.
*/
public static final int CENTER_BASELINE = 1;
- /**
- * The Constant HANGING_BASELINE indicates the placement of the hanging
- * baseline with respect to the graphics origin.
+ /**
+ * The Constant HANGING_BASELINE indicates the placement of the hanging
+ * baseline with respect to the graphics origin.
*/
public static final int HANGING_BASELINE = 2;
// the alignment of this GraphicAttribute
- /** The alignment. */
+ /**
+ * The alignment.
+ */
private int alignment;
/**
* Instantiates a new graphic attribute with the specified alignment.
*
- * @param align the specified alignment.
+ * @param align
+ * the specified alignment.
*/
protected GraphicAttribute(int align) {
if ((align < BOTTOM_ALIGNMENT) || (align > HANGING_BASELINE)) {
@@ -81,16 +87,19 @@ public abstract class GraphicAttribute {
/**
* Draws the GraphicAttribute at the specified location.
*
- * @param graphics the Graphics.
- * @param x the X coordinate of GraphicAttribute location.
- * @param y the Y coordinate of GraphicAttribute location.
+ * @param graphics
+ * the Graphics.
+ * @param x
+ * the X coordinate of GraphicAttribute location.
+ * @param y
+ * the Y coordinate of GraphicAttribute location.
*/
public abstract void draw(Graphics2D graphics, float x, float y);
/**
- * Gets the GraphicAttribute's advance. It's the distance from the point
- * at which the graphic is rendered and the point where the next character
- * or graphic is rendered.
+ * Gets the GraphicAttribute's advance. It's the distance from the point at
+ * which the graphic is rendered and the point where the next character or
+ * graphic is rendered.
*
* @return the GraphicAttribute's advance.
*/
@@ -139,58 +148,32 @@ public abstract class GraphicAttribute {
* @return the GlyphJustificationInfo of this GraphicAttribute.
*/
public GlyphJustificationInfo getJustificationInfo() {
-
- /* Default implementation.
- * Since documentation doesn't describe default values,
- * they were calculated based on 1.5 release
- * behavior and can be obtained using next test sample:
- *
- * // Create GraphicAttribute class implementation
- * public class MyGraphicAttribute extends GraphicAttribute {
- * protected MyGraphicAttribute(int align) {
- * super(align);
- * }
- *
- * public float getDescent() {
- * return 0;
- * }
- *
- * public float getAdvance() {
- * return 1;
- * }
- *
- * public void draw(Graphics2D g2, float x, float y) {
- * }
- *
- * public float getAscent() {
- * return 0;
- * }
- * }
- *
- * MyGraphicAttribute myGA = gat.new MyGraphicAttribute(0);
- * // print justification parameters
- * System.out.println(myGA.getJustificationInfo().growAbsorb);
- * System.out.println(myGA.getJustificationInfo().shrinkAbsorb);
- * System.out.println(myGA.getJustificationInfo().growLeftLimit);
- * System.out.println(myGA.getJustificationInfo().growPriority);
- * System.out.println(myGA.getJustificationInfo().growRightLimit);
- * System.out.println(myGA.getJustificationInfo().shrinkLeftLimit);
- * System.out.println(myGA.getJustificationInfo().shrinkPriority);
- * System.out.println(myGA.getJustificationInfo().shrinkRightLimit);
- * System.out.println(myGA.getJustificationInfo().weight);
+
+ /*
+ * Default implementation. Since documentation doesn't describe default
+ * values, they were calculated based on 1.5 release behavior and can be
+ * obtained using next test sample: // Create GraphicAttribute class
+ * implementation public class MyGraphicAttribute extends
+ * GraphicAttribute { protected MyGraphicAttribute(int align) {
+ * super(align); } public float getDescent() { return 0; } public float
+ * getAdvance() { return 1; } public void draw(Graphics2D g2, float x,
+ * float y) { } public float getAscent() { return 0; } }
+ * MyGraphicAttribute myGA = gat.new MyGraphicAttribute(0); // print
+ * justification parameters
+ * System.out.println(myGA.getJustificationInfo().growAbsorb);
+ * System.out.println(myGA.getJustificationInfo().shrinkAbsorb);
+ * System.out.println(myGA.getJustificationInfo().growLeftLimit);
+ * System.out.println(myGA.getJustificationInfo().growPriority);
+ * System.out.println(myGA.getJustificationInfo().growRightLimit);
+ * System.out.println(myGA.getJustificationInfo().shrinkLeftLimit);
+ * System.out.println(myGA.getJustificationInfo().shrinkPriority);
+ * System.out.println(myGA.getJustificationInfo().shrinkRightLimit);
+ * System.out.println(myGA.getJustificationInfo().weight);
*/
float advance = getAdvance();
- return new GlyphJustificationInfo(
- advance,
- false,
- GlyphJustificationInfo.PRIORITY_INTERCHAR,
- advance / 3,
- advance / 3,
- false,
- GlyphJustificationInfo.PRIORITY_WHITESPACE,
- 0,
- 0);
+ return new GlyphJustificationInfo(advance, false,
+ GlyphJustificationInfo.PRIORITY_INTERCHAR, advance / 3, advance / 3, false,
+ GlyphJustificationInfo.PRIORITY_WHITESPACE, 0, 0);
}
}
-
diff --git a/awt/java/awt/font/ImageGraphicAttribute.java b/awt/java/awt/font/ImageGraphicAttribute.java
index 41f90b8..d6d4758 100644
--- a/awt/java/awt/font/ImageGraphicAttribute.java
+++ b/awt/java/awt/font/ImageGraphicAttribute.java
@@ -18,6 +18,7 @@
* @author Ilya S. Okomin
* @version $Revision$
*/
+
package java.awt.font;
import java.awt.Graphics2D;
@@ -27,44 +28,57 @@ import java.awt.geom.Rectangle2D;
import org.apache.harmony.misc.HashCode;
/**
- * The ImageGraphicAttribute class provides an opportunity to insert
- * images to a text.
+ * The ImageGraphicAttribute class provides an opportunity to insert images to a
+ * text.
+ *
+ * @since Android 1.0
*/
public final class ImageGraphicAttribute extends GraphicAttribute {
// Image object rendered by this ImageGraphicAttribute
- /** The image. */
+ /**
+ * The image.
+ */
private Image fImage;
// X coordinate of the origin point
- /** The origin x. */
+ /**
+ * The origin x.
+ */
private float fOriginX;
// Y coordinate of the origin point
- /** The origin y. */
+ /**
+ * The origin y.
+ */
private float fOriginY;
// the width of the image object
- /** The img width. */
+ /**
+ * The img width.
+ */
private float fImgWidth;
// the height of the image object
- /** The img height. */
+ /**
+ * The img height.
+ */
private float fImgHeight;
/**
* Instantiates a new ImageGraphicAttribute with the specified image,
* alignment and origins.
*
- * @param image the Image to be rendered by ImageGraphicAttribute.
- * @param alignment the alignment of the ImageGraphicAttribute.
- * @param originX the origin X coordinate in the image of
- * ImageGraphicAttribute.
- * @param originY the origin Y coordinate in the image of
- * ImageGraphicAttribute.
+ * @param image
+ * the Image to be rendered by ImageGraphicAttribute.
+ * @param alignment
+ * the alignment of the ImageGraphicAttribute.
+ * @param originX
+ * the origin X coordinate in the image of ImageGraphicAttribute.
+ * @param originY
+ * the origin Y coordinate in the image of ImageGraphicAttribute.
*/
- public ImageGraphicAttribute(Image image, int alignment, float originX,
- float originY) {
+ public ImageGraphicAttribute(Image image, int alignment, float originX, float originY) {
super(alignment);
this.fImage = image;
@@ -80,8 +94,10 @@ public final class ImageGraphicAttribute extends GraphicAttribute {
* Instantiates a new ImageGraphicAttribute with the specified image and
* alignment.
*
- * @param image the Image to be rendered by ImageGraphicAttribute.
- * @param alignment the alignment of the ImageGraphicAttribute.
+ * @param image
+ * the Image to be rendered by ImageGraphicAttribute.
+ * @param alignment
+ * the alignment of the ImageGraphicAttribute.
*/
public ImageGraphicAttribute(Image image, int alignment) {
this(image, alignment, 0, 0);
@@ -105,10 +121,10 @@ public final class ImageGraphicAttribute extends GraphicAttribute {
* Compares the specified ImageGraphicAttribute object with this
* ImageGraphicAttribute object.
*
- * @param iga the ImageGraphicAttribute object to be compared.
- *
+ * @param iga
+ * the ImageGraphicAttribute object to be compared.
* @return true, if the specified ImageGraphicAttribute object is equal to
- * this ImageGraphicAttribute object, false otherwise.
+ * this ImageGraphicAttribute object, false otherwise.
*/
public boolean equals(ImageGraphicAttribute iga) {
if (iga == null) {
@@ -119,26 +135,23 @@ public final class ImageGraphicAttribute extends GraphicAttribute {
return true;
}
- return (fOriginX == iga.fOriginX &&
- fOriginY == iga.fOriginY &&
- getAlignment() == iga.getAlignment() &&
- fImage.equals(iga.fImage));
+ return (fOriginX == iga.fOriginX && fOriginY == iga.fOriginY
+ && getAlignment() == iga.getAlignment() && fImage.equals(iga.fImage));
}
/**
* Compares the specified Object with this ImageGraphicAttribute object.
- *
- * @param obj the Object to be compared.
*
+ * @param obj
+ * the Object to be compared.
* @return true, if the specified Object is equal to this
- * ImageGraphicAttribute object, false otherwise.
+ * ImageGraphicAttribute object, false otherwise.
*/
@Override
public boolean equals(Object obj) {
try {
- return equals((ImageGraphicAttribute) obj);
- }
- catch(ClassCastException e) {
+ return equals((ImageGraphicAttribute)obj);
+ } catch (ClassCastException e) {
return false;
}
@@ -149,9 +162,6 @@ public final class ImageGraphicAttribute extends GraphicAttribute {
g2.drawImage(fImage, (int)(x - fOriginX), (int)(y - fOriginY), null);
}
- /**
- * @see java.awt.font.GraphicAttribute#getAdvance()
- */
@Override
public float getAdvance() {
return Math.max(0, fImgWidth - fOriginX);
@@ -167,13 +177,9 @@ public final class ImageGraphicAttribute extends GraphicAttribute {
return new Rectangle2D.Float(-fOriginX, -fOriginY, fImgWidth, fImgHeight);
}
- /**
- * @see java.awt.font.GraphicAttribute#getDescent()
- */
@Override
public float getDescent() {
return Math.max(0, fImgHeight - fOriginY);
}
}
-
diff --git a/awt/java/awt/font/LineBreakMeasurer.java b/awt/java/awt/font/LineBreakMeasurer.java
index efce615..4800093 100644
--- a/awt/java/awt/font/LineBreakMeasurer.java
+++ b/awt/java/awt/font/LineBreakMeasurer.java
@@ -21,64 +21,69 @@
package java.awt.font;
-import java.text.AttributedCharacterIterator;
-//???AWT: import java.text.BreakIterator;
+import java.text.AttributedCharacterIterator; //???AWT: import java.text.BreakIterator;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The class LineBreakMeasurer provides methods to measure the graphical
- * representation of a text in order to determine where to add line
- * breaks so the resulting line of text fits its wrapping width.
- * The wrapping width defines the visual width of the paragraph.
+ * The class LineBreakMeasurer provides methods to measure the graphical
+ * representation of a text in order to determine where to add line breaks so
+ * the resulting line of text fits its wrapping width. The wrapping width
+ * defines the visual width of the paragraph.
+ *
+ * @since Android 1.0
*/
public final class LineBreakMeasurer {
-
- /** The tm. */
+
+ /**
+ * The tm.
+ */
private TextMeasurer tm = null;
- //???AWT private BreakIterator bi = null;
- /** The position. */
+
+ // ???AWT private BreakIterator bi = null;
+ /**
+ * The position.
+ */
private int position = 0;
-
- /** The maxpos. */
+
+ /**
+ * The maxpos.
+ */
int maxpos = 0;
/**
* Instantiates a new LineBreakMeasurer object for the specified text.
*
- * @param text the AttributedCharacterIterator object which contains
- * text with at least one character.
- * @param frc the FontRenderContext represented information
- * about graphic device.
+ * @param text
+ * the AttributedCharacterIterator object which contains text
+ * with at least one character.
+ * @param frc
+ * the FontRenderContext represented information about graphic
+ * device.
*/
public LineBreakMeasurer(AttributedCharacterIterator text, FontRenderContext frc) {
- //???AWT: this(text, BreakIterator.getLineInstance(), frc);
+ // ???AWT: this(text, BreakIterator.getLineInstance(), frc);
}
- /* ???AWT
- public LineBreakMeasurer(
- AttributedCharacterIterator text,
- BreakIterator bi,
- FontRenderContext frc
- ) {
- tm = new TextMeasurer(text, frc);
- this.bi = bi;
- this.bi.setText(text);
- position = text.getBeginIndex();
- maxpos = tm.aci.getEndIndex();
- }
- */
+ /*
+ * ???AWT public LineBreakMeasurer( AttributedCharacterIterator text,
+ * BreakIterator bi, FontRenderContext frc ) { tm = new TextMeasurer(text,
+ * frc); this.bi = bi; this.bi.setText(text); position =
+ * text.getBeginIndex(); maxpos = tm.aci.getEndIndex(); }
+ */
/**
- * Deletes a character from the specified position of the text,
- * updates this LineBreakMeasurer object.
+ * Deletes a character from the specified position of the text, updates this
+ * LineBreakMeasurer object.
*
- * @param newText the new text.
- * @param pos the posion of the character which is deleted.
+ * @param newText
+ * the new text.
+ * @param pos
+ * the position of the character which is deleted.
*/
public void deleteChar(AttributedCharacterIterator newText, int pos) {
tm.deleteChar(newText, pos);
- //???AWT: bi.setText(newText);
+ // ???AWT: bi.setText(newText);
position = newText.getBeginIndex();
@@ -88,22 +93,24 @@ public final class LineBreakMeasurer {
/**
* Gets current position of this LineBreakMeasurer.
*
- * @return current position of this LineBreakMeasurer
+ * @return the current position of this LineBreakMeasurer
*/
public int getPosition() {
return position;
}
/**
- * Insertes a character at the specified position in the text,
- * updates this LineBreakMeasurer object.
+ * Inserts a character at the specified position in the text, updates this
+ * LineBreakMeasurer object.
*
- * @param newText the new text.
- * @param pos the posion of the character which is inserted.
+ * @param newText
+ * the new text.
+ * @param pos
+ * the position of the character which is inserted.
*/
public void insertChar(AttributedCharacterIterator newText, int pos) {
tm.insertChar(newText, pos);
-// ???AWT: bi.setText(newText);
+ // ???AWT: bi.setText(newText);
position = newText.getBeginIndex();
@@ -111,21 +118,23 @@ public final class LineBreakMeasurer {
}
/**
- * Returns the next line of text, updates current position in this
+ * Returns the next line of text, updates current position in this
* LineBreakMeasurer.
*
- * @param wrappingWidth the maximum visible line width.
- * @param offsetLimit the limit point withing the text indicating
- * that no further text should be included on the line; the paragraph break.
- * @param requireNextWord if true, null is returned (the entire word at the current
- * position does not fit within the wrapping width);
- * if false, a valid layout is returned that includes at least the
- * character at the current position.
- *
- * @return the next TextLayout which begins at the current position and
- * represents the next line of text with width wrappingWidth, null is
- * returned if the entire word at the current position does not fit within
- * the wrapping width.
+ * @param wrappingWidth
+ * the maximum visible line width.
+ * @param offsetLimit
+ * the limit point within the text indicating that no further
+ * text should be included on the line; the paragraph break.
+ * @param requireNextWord
+ * if true, null is returned (the entire word at the current
+ * position does not fit within the wrapping width); if false, a
+ * valid layout is returned that includes at least the character
+ * at the current position.
+ * @return the next TextLayout which begins at the current position and
+ * represents the next line of text with width wrappingWidth, null
+ * is returned if the entire word at the current position does not
+ * fit within the wrapping width.
*/
public TextLayout nextLayout(float wrappingWidth, int offsetLimit, boolean requireNextWord) {
if (position == maxpos) {
@@ -145,8 +154,8 @@ public final class LineBreakMeasurer {
/**
* Returns the next line of text.
*
- * @param wrappingWidth the maximum visible line width.
- *
+ * @param wrappingWidth
+ * the maximum visible line width.
* @return the next line of text.
*/
public TextLayout nextLayout(float wrappingWidth) {
@@ -156,8 +165,8 @@ public final class LineBreakMeasurer {
/**
* Returns the end position of the next line of text.
*
- * @param wrappingWidth the maximum visible line width.
- *
+ * @param wrappingWidth
+ * the maximum visible line width.
* @return the end position of the next line of text.
*/
public int nextOffset(float wrappingWidth) {
@@ -167,22 +176,22 @@ public final class LineBreakMeasurer {
/**
* Returns the end position of the next line of text.
*
- * @param wrappingWidth the maximum visible line width.
- * @param offsetLimit the limit point withing the text indicating
- * that no further text should be included on the line; the paragraph break.
- * @param requireNextWord if true, the current position is returned
- * if the entire next word does not fit within wrappingWidth;
- * if false, the offset returned is at least one greater than the current
- * position.
- *
+ * @param wrappingWidth
+ * the maximum visible line width.
+ * @param offsetLimit
+ * the limit point withing the text indicating that no further
+ * text should be included on the line; the paragraph break.
+ * @param requireNextWord
+ * if true, the current position is returned if the entire next
+ * word does not fit within wrappingWidth; if false, the offset
+ * returned is at least one greater than the current position.
* @return the end position of the next line of text.
- *
- * @throws IllegalArgumentException if the offsetLimit is less than
- * the current position.
+ * @throws IllegalArgumentException
+ * if the offsetLimit is less than the current position.
*/
public int nextOffset(float wrappingWidth, int offsetLimit, boolean requireNextWord) {
if (offsetLimit <= position) {
- // awt.203=Offset limit should be greater than current position.
+ // awt.203=Offset limit should be greater than current position.
throw new IllegalArgumentException(Messages.getString("awt.203")); //$NON-NLS-1$
}
@@ -193,22 +202,20 @@ public final class LineBreakMeasurer {
int breakPos = tm.getLineBreakIndex(position, wrappingWidth);
int correctedPos = breakPos;
- // This check is required because bi.preceding(maxpos) throws an exception
- /* ???AWT
- if (breakPos == maxpos) {
- correctedPos = maxpos;
- } else if (Character.isWhitespace(bi.getText().setIndex(breakPos))) {
- correctedPos = bi.following(breakPos);
- } else {
- correctedPos = bi.preceding(breakPos);
- }
- */
-
+ // This check is required because bi.preceding(maxpos) throws an
+ // exception
+ /*
+ * ???AWT if (breakPos == maxpos) { correctedPos = maxpos; } else if
+ * (Character.isWhitespace(bi.getText().setIndex(breakPos))) {
+ * correctedPos = bi.following(breakPos); } else { correctedPos =
+ * bi.preceding(breakPos); }
+ */
+
if (position >= correctedPos) {
if (requireNextWord) {
correctedPos = position;
} else {
- correctedPos = Math.max(position+1, breakPos);
+ correctedPos = Math.max(position + 1, breakPos);
}
}
@@ -218,7 +225,8 @@ public final class LineBreakMeasurer {
/**
* Sets the new position of this LineBreakMeasurer.
*
- * @param pos the new position of this LineBreakMeasurer.
+ * @param pos
+ * the new position of this LineBreakMeasurer.
*/
public void setPosition(int pos) {
if (tm.aci.getBeginIndex() > pos || maxpos < pos) {
@@ -228,4 +236,3 @@ public final class LineBreakMeasurer {
position = pos;
}
}
-
diff --git a/awt/java/awt/font/LineMetrics.java b/awt/java/awt/font/LineMetrics.java
index 2857187..4b03e5d 100644
--- a/awt/java/awt/font/LineMetrics.java
+++ b/awt/java/awt/font/LineMetrics.java
@@ -18,22 +18,24 @@
* @author Ilya S. Okomin
* @version $Revision$
*/
+
package java.awt.font;
/**
- * The LineMetrics class provides information such as concerning how the text
- * is positioned with respect to the base line, such as ascent, descent,
- * and leading.
+ * The LineMetrics class provides information such as concerning how the text is
+ * positioned with respect to the base line, such as ascent, descent, and
+ * leading.
*
+ * @since Android 1.0
*/
public abstract class LineMetrics {
/**
- * Gets the baseline offsets of the text according to the
- * the baseline of this text.
+ * Gets the baseline offsets of the text according to the the baseline of
+ * this text.
*
- * @return the baseline offsets of the text according to the
- * the baseline of this text.
+ * @return the baseline offsets of the text according to the the baseline of
+ * this text.
*/
public abstract float[] getBaselineOffsets();
@@ -45,11 +47,11 @@ public abstract class LineMetrics {
public abstract int getNumChars();
/**
- * Gets the baseline index, returns one of the following
- * index: ROMAN_BASELINE, CENTER_BASELINE, HANGING_BASELINE.
+ * Gets the baseline index, returns one of the following index:
+ * ROMAN_BASELINE, CENTER_BASELINE, HANGING_BASELINE.
*
- * @return the baseline index: ROMAN_BASELINE, CENTER_BASELINE
- * or HANGING_BASELINE.
+ * @return the baseline index: ROMAN_BASELINE, CENTER_BASELINE or
+ * HANGING_BASELINE.
*/
public abstract int getBaselineIndex();
@@ -89,11 +91,11 @@ public abstract class LineMetrics {
public abstract float getLeading();
/**
- * Gets the height of the text as a sum of the ascent, the descent
- * and the leading.
+ * Gets the height of the text as a sum of the ascent, the descent and the
+ * leading.
*
- * @return the height of the text as a sum of the ascent, the descent
- * and the leading.
+ * @return the height of the text as a sum of the ascent, the descent and
+ * the leading.
*/
public abstract float getHeight();
@@ -112,4 +114,3 @@ public abstract class LineMetrics {
public abstract float getAscent();
}
-
diff --git a/awt/java/awt/font/MultipleMaster.java b/awt/java/awt/font/MultipleMaster.java
index 773bfcf..d264f24 100644
--- a/awt/java/awt/font/MultipleMaster.java
+++ b/awt/java/awt/font/MultipleMaster.java
@@ -18,38 +18,44 @@
* @author Ilya S. Okomin
* @version $Revision$
*/
+
package java.awt.font;
import java.awt.Font;
/**
- * The MultipleMaster interface provides methods to manipulate MultipleMaster
+ * The MultipleMaster interface provides methods to manipulate MultipleMaster
* type fonts and retrieve graphical and design data from them.
+ *
+ * @since Android 1.0
*/
public interface MultipleMaster {
/**
- * Derives a new multiple master font based on the specified
- * parameters.
- *
- * @param glyphWidths float array which represents width of each glyph
- * in font space.
- * @param avgStemWidth the average stem width in font space.
- * @param typicalCapHeight the typical upper case char height.
- * @param typicalXHeight the typical lower case char height.
- * @param italicAngle the slope angle for italics.
+ * Derives a new multiple master font based on the specified parameters.
*
+ * @param glyphWidths
+ * float array which represents width of each glyph in font
+ * space.
+ * @param avgStemWidth
+ * the average stem width in font space.
+ * @param typicalCapHeight
+ * the typical upper case char height.
+ * @param typicalXHeight
+ * the typical lower case char height.
+ * @param italicAngle
+ * the slope angle for italics.
* @return a MultipleMaster font.
*/
- public Font deriveMMFont(float[] glyphWidths, float avgStemWidth,
- float typicalCapHeight, float typicalXHeight, float italicAngle);
+ public Font deriveMMFont(float[] glyphWidths, float avgStemWidth, float typicalCapHeight,
+ float typicalXHeight, float italicAngle);
/**
- * Derives a new multiple master font based on the design axis values
- * contained in the specified array.
- *
- * @param axes an float array which contains axis values.
+ * Derives a new multiple master font based on the design axis values
+ * contained in the specified array.
*
+ * @param axes
+ * an float array which contains axis values.
* @return a MultipleMaster font.
*/
public Font deriveMMFont(float[] axes);
@@ -62,25 +68,24 @@ public interface MultipleMaster {
public float[] getDesignAxisDefaults();
/**
- * Gets the array of design axis names.
+ * Gets the array of design axis names.
*
- * @return the array of design axis names.
+ * @return the array of design axis names.
*/
public String[] getDesignAxisNames();
/**
- * Gets the array of design axis ranges.
+ * Gets the array of design axis ranges.
*
* @return the array of design axis ranges.
*/
public float[] getDesignAxisRanges();
/**
- * Gets the number of multiple master design controls.
+ * Gets the number of multiple master design controls.
*
* @return the number of multiple master design controls.
*/
public int getNumDesignAxes();
}
-
diff --git a/awt/java/awt/font/OpenType.java b/awt/java/awt/font/OpenType.java
index 53cb6c0..db66911 100644
--- a/awt/java/awt/font/OpenType.java
+++ b/awt/java/awt/font/OpenType.java
@@ -18,318 +18,323 @@
* @author Ilya S. Okomin
* @version $Revision$
*/
+
package java.awt.font;
/**
- * The OpenType interface provides constants and methods for getting
- * instance data for fonts of type OpenType and TrueType. For more information,
- * see the <a href="http://partners.adobe.com/public/developer/opentype/index_spec.html">OpenType specification</a>.
+ * The OpenType interface provides constants and methods for getting instance
+ * data for fonts of type OpenType and TrueType. For more information, see the
+ * <a
+ * href="http://partners.adobe.com/public/developer/opentype/index_spec.html">
+ * OpenType specification</a>.
+ *
+ * @since Android 1.0
*/
public interface OpenType {
- /**
- * The Constant TAG_ACNT indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_ACNT indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_ACNT = 1633906292;
- /**
- * The Constant TAG_AVAR indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_AVAR indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_AVAR = 1635148146;
- /**
- * The Constant TAG_BASE indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_BASE indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_BASE = 1111577413;
- /**
- * The Constant TAG_BDAT indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_BDAT indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_BDAT = 1650745716;
- /**
- * The Constant TAG_BLOC indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_BLOC indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_BLOC = 1651273571;
- /**
- * The Constant TAG_BSLN indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_BSLN indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_BSLN = 1651731566;
- /**
- * The Constant TAG_CFF indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_CFF indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_CFF = 1128678944;
- /**
- * The Constant TAG_CMAP indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_CMAP indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_CMAP = 1668112752;
- /**
- * The Constant TAG_CVAR indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_CVAR indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_CVAR = 1668702578;
- /**
- * The Constant TAG_CVT indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_CVT indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_CVT = 1668707360;
- /**
- * The Constant TAG_DSIG indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_DSIG indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_DSIG = 1146308935;
- /**
- * The Constant TAG_EBDT indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_EBDT indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_EBDT = 1161970772;
- /**
- * The Constant TAG_EBLC indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_EBLC indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_EBLC = 1161972803;
- /**
- * The Constant TAG_EBSC indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_EBSC indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_EBSC = 1161974595;
- /**
- * The Constant TAG_FDSC indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_FDSC indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_FDSC = 1717859171;
- /**
- * The Constant TAG_FEAT indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_FEAT indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_FEAT = 1717920116;
- /**
- * The Constant TAG_FMTX indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_FMTX indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_FMTX = 1718449272;
- /**
- * The Constant TAG_FPGM indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_FPGM indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_FPGM = 1718642541;
- /**
- * The Constant TAG_FVAR indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_FVAR indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_FVAR = 1719034226;
- /**
- * The Constant TAG_GASP indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_GASP indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_GASP = 1734439792;
- /**
- * The Constant TAG_GDEF indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_GDEF indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_GDEF = 1195656518;
- /**
- * The Constant TAG_GLYF indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_GLYF indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_GLYF = 1735162214;
- /**
- * The Constant TAG_GPOS indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_GPOS indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_GPOS = 1196445523;
- /**
- * The Constant TAG_GSUB indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_GSUB indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_GSUB = 1196643650;
- /**
- * The Constant TAG_GVAR indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_GVAR indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_GVAR = 1735811442;
- /**
- * The Constant TAG_HDMX indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_HDMX indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_HDMX = 1751412088;
- /**
- * The Constant TAG_HEAD indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_HEAD indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_HEAD = 1751474532;
- /**
- * The Constant TAG_HHEA indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_HHEA indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_HHEA = 1751672161;
- /**
- * The Constant TAG_HMTX indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_HMTX indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_HMTX = 1752003704;
- /**
- * The Constant TAG_JSTF indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_JSTF indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_JSTF = 1246975046;
- /**
- * The Constant TAG_JUST indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_JUST indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_JUST = 1786082164;
- /**
- * The Constant TAG_KERN indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_KERN indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_KERN = 1801810542;
- /**
- * The Constant TAG_LCAR indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_LCAR indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_LCAR = 1818452338;
- /**
- * The Constant TAG_LOCA indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_LOCA indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_LOCA = 1819239265;
- /**
- * The Constant TAG_LTSH indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_LTSH indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_LTSH = 1280594760;
- /**
- * The Constant TAG_MAXP indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_MAXP indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_MAXP = 1835104368;
- /**
- * The Constant TAG_MMFX indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_MMFX indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_MMFX = 1296909912;
- /**
- * The Constant TAG_MMSD indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_MMSD indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_MMSD = 1296913220;
- /**
- * The Constant TAG_MORT indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_MORT indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_MORT = 1836020340;
- /**
- * The Constant TAG_NAME indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_NAME indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_NAME = 1851878757;
- /**
- * The Constant TAG_OPBD indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_OPBD indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_OPBD = 1836020340;
- /**
- * The Constant TAG_OS2 indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_OS2 indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_OS2 = 1330851634;
- /**
- * The Constant TAG_PCLT indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_PCLT indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_PCLT = 1346587732;
- /**
- * The Constant TAG_POST indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_POST indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_POST = 1886352244;
- /**
- * The Constant TAG_PREP indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_PREP indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_PREP = 1886545264;
- /**
- * The Constant TAG_PROP indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_PROP indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_PROP = 1886547824;
- /**
- * The Constant TAG_TRAK indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_TRAK indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_TRAK = 1953653099;
- /**
- * The Constant TAG_TYP1 indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_TYP1 indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_TYP1 = 1954115633;
- /**
- * The Constant TAG_VDMX indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_VDMX indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_VDMX = 1447316824;
- /**
- * The Constant TAG_VHEA indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_VHEA indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_VHEA = 1986553185;
- /**
- * The Constant TAG_VMTX indicates corresponding table tag
- * in the Open Type Specification.
+ /**
+ * The Constant TAG_VMTX indicates corresponding table tag in the Open Type
+ * Specification.
*/
public static final int TAG_VMTX = 1986884728;
@@ -341,70 +346,73 @@ public interface OpenType {
public int getVersion();
/**
- * Gets the table for a specified tag.
- * Sfnt tables include cmap, name and head items.
- *
- * @param sfntTag the sfnt tag.
+ * Gets the table for a specified tag. Sfnt tables include cmap, name and
+ * head items.
*
- * @return a byte array contains the font data corresponding
- * to the specified tag.
+ * @param sfntTag
+ * the sfnt tag.
+ * @return a byte array contains the font data corresponding to the
+ * specified tag.
*/
public byte[] getFontTable(int sfntTag);
/**
- * Gets the table for a specified tag.
- * Sfnt tables include cmap, name and head items.
- *
- * @param sfntTag the sfnt tag.
- * @param offset the offset of the returned table.
- * @param count the number of returned table.
+ * Gets the table for a specified tag. Sfnt tables include cmap, name and
+ * head items.
*
- * @return the table corresponding to sfntTag and containing
- * the bytes starting at offset byte and including count bytes.
+ * @param sfntTag
+ * the sfnt tag.
+ * @param offset
+ * the offset of the returned table.
+ * @param count
+ * the number of returned table.
+ * @return the table corresponding to sfntTag and containing the bytes
+ * starting at offset byte and including count bytes.
*/
public byte[] getFontTable(int sfntTag, int offset, int count);
/**
- * Gets the table for a specified tag.
- * Sfnt tables include cmap, name and head items.
- *
- * @param strSfntTag the str sfnt tag as a String.
+ * Gets the table for a specified tag. Sfnt tables include cmap, name and
+ * head items.
*
- * @return a byte array contains the font data corresponding
- * to the specified tag.
+ * @param strSfntTag
+ * the str sfnt tag as a String.
+ * @return a byte array contains the font data corresponding to the
+ * specified tag.
*/
public byte[] getFontTable(String strSfntTag);
/**
- * Gets the table for a specified tag.
- * Sfnt tables include cmap, name and head items.
- *
- * @param strSfntTag the sfnt tag as a String.
- * @param offset the offset of the returned table.
- * @param count the number of returned table.
+ * Gets the table for a specified tag. Sfnt tables include cmap, name and
+ * head items.
*
- * @return the table corresponding to sfntTag and containing
- * the bytes starting at offset byte and including count bytes.
+ * @param strSfntTag
+ * the sfnt tag as a String.
+ * @param offset
+ * the offset of the returned table.
+ * @param count
+ * the number of returned table.
+ * @return the table corresponding to sfntTag and containing the bytes
+ * starting at offset byte and including count bytes.
*/
public byte[] getFontTable(String strSfntTag, int offset, int count);
/**
- * Gets the table size for a specified tag.
- *
- * @param strSfntTag the sfnt tag as a String.
+ * Gets the table size for a specified tag.
*
+ * @param strSfntTag
+ * the sfnt tag as a String.
* @return the table size for a specified tag.
*/
public int getFontTableSize(String strSfntTag);
/**
- * Gets the table size for a specified tag.
- *
- * @param sfntTag the sfnt tag.
+ * Gets the table size for a specified tag.
*
+ * @param sfntTag
+ * the sfnt tag.
* @return the table size for a specified tag.
*/
public int getFontTableSize(int sfntTag);
}
-
diff --git a/awt/java/awt/font/ShapeGraphicAttribute.java b/awt/java/awt/font/ShapeGraphicAttribute.java
index 45199fd..182bffd 100644
--- a/awt/java/awt/font/ShapeGraphicAttribute.java
+++ b/awt/java/awt/font/ShapeGraphicAttribute.java
@@ -18,6 +18,7 @@
* @author Ilya S. Okomin
* @version $Revision$
*/
+
package java.awt.font;
import java.awt.BasicStroke;
@@ -29,61 +30,75 @@ import java.awt.geom.Rectangle2D;
import org.apache.harmony.misc.HashCode;
-
/**
- * The ShapeGraphicAttribute class provides an opportunity to insert
- * shapes to a text.
+ * The ShapeGraphicAttribute class provides an opportunity to insert shapes to a
+ * text.
+ *
+ * @since Android 1.0
*/
public final class ShapeGraphicAttribute extends GraphicAttribute {
// shape to render
- /** The shape. */
+ /**
+ * The shape.
+ */
private Shape fShape;
-
+
// flag, if the shape should be stroked (true) or filled (false)
- /** The stroke. */
+ /**
+ * The stroke.
+ */
private boolean fStroke;
// bounds of the shape
- /** The bounds. */
+ /**
+ * The bounds.
+ */
private Rectangle2D fBounds;
-
+
// X coordinate of the origin point
- /** The origin x. */
+ /**
+ * The origin x.
+ */
private float fOriginX;
-
+
// Y coordinate of the origin point
- /** The origin y. */
+ /**
+ * The origin y.
+ */
private float fOriginY;
// width of the shape
- /** The shape width. */
+ /**
+ * The shape width.
+ */
private float fShapeWidth;
-
+
// height of the shape
- /** The shape height. */
+ /**
+ * The shape height.
+ */
private float fShapeHeight;
- /**
- * The Constant STROKE indicates whether the Shape is stroked
- * or not.
+ /**
+ * The Constant STROKE indicates whether the Shape is stroked or not.
*/
public static final boolean STROKE = true;
- /**
- * The Constant FILL indicates whether the Shape is filled
- * or not. */
+ /**
+ * The Constant FILL indicates whether the Shape is filled or not.
+ */
public static final boolean FILL = false;
/**
- * Instantiates a new ShapeGraphicAttribute object for the specified
- * Shape.
+ * Instantiates a new ShapeGraphicAttribute object for the specified Shape.
*
- * @param shape the shape to be rendered by this
- * ShapeGraphicAttribute.
- * @param alignment the alignment of this ShapeGraphicAttribute.
- * @param stroke true if the Shape is stroked,
- * false if the Shape is filled.
+ * @param shape
+ * the shape to be rendered by this ShapeGraphicAttribute.
+ * @param alignment
+ * the alignment of this ShapeGraphicAttribute.
+ * @param stroke
+ * true if the Shape is stroked, false if the Shape is filled.
*/
public ShapeGraphicAttribute(Shape shape, int alignment, boolean stroke) {
super(alignment);
@@ -91,7 +106,7 @@ public final class ShapeGraphicAttribute extends GraphicAttribute {
this.fShape = shape;
this.fStroke = stroke;
- this.fBounds = fShape.getBounds2D();
+ this.fBounds = fShape.getBounds2D();
this.fOriginX = (float)fBounds.getMinX();
this.fOriginY = (float)fBounds.getMinY();
@@ -118,10 +133,10 @@ public final class ShapeGraphicAttribute extends GraphicAttribute {
* Compares this ShapeGraphicAttribute object to the specified
* ShapeGraphicAttribute object.
*
- * @param sga the ShapeGraphicAttribute object to be compared.
- *
- * @return true, if this ShapeGraphicAttribute object is equal
- * to the specified ShapeGraphicAttribute object, false otherwise.
+ * @param sga
+ * the ShapeGraphicAttribute object to be compared.
+ * @return true, if this ShapeGraphicAttribute object is equal to the
+ * specified ShapeGraphicAttribute object, false otherwise.
*/
public boolean equals(ShapeGraphicAttribute sga) {
if (sga == null) {
@@ -132,27 +147,24 @@ public final class ShapeGraphicAttribute extends GraphicAttribute {
return true;
}
- return ( fStroke == sga.fStroke &&
- getAlignment() == sga.getAlignment() &&
- fShape.equals(sga.fShape));
+ return (fStroke == sga.fStroke && getAlignment() == sga.getAlignment() && fShape
+ .equals(sga.fShape));
}
/**
- * Compares this ShapeGraphicAttribute object to the specified
- * Object.
+ * Compares this ShapeGraphicAttribute object to the specified Object.
*
- * @param obj the Object to be compared.
- *
- * @return true, if this ShapeGraphicAttribute object is equal
- * to the specified Object, false otherwise.
+ * @param obj
+ * the Object to be compared.
+ * @return true, if this ShapeGraphicAttribute object is equal to the
+ * specified Object, false otherwise.
*/
@Override
public boolean equals(Object obj) {
try {
- return equals((ShapeGraphicAttribute) obj);
- }
- catch(ClassCastException e) {
+ return equals((ShapeGraphicAttribute)obj);
+ } catch (ClassCastException e) {
return false;
}
}
@@ -160,7 +172,7 @@ public final class ShapeGraphicAttribute extends GraphicAttribute {
@Override
public void draw(Graphics2D g2, float x, float y) {
AffineTransform at = AffineTransform.getTranslateInstance(x, y);
- if (fStroke == STROKE){
+ if (fStroke == STROKE) {
Stroke oldStroke = g2.getStroke();
g2.setStroke(new BasicStroke());
g2.draw(at.createTransformedShape(fShape));
@@ -192,4 +204,3 @@ public final class ShapeGraphicAttribute extends GraphicAttribute {
}
}
-
diff --git a/awt/java/awt/font/TextHitInfo.java b/awt/java/awt/font/TextHitInfo.java
index 17bbf71..6460eba 100644
--- a/awt/java/awt/font/TextHitInfo.java
+++ b/awt/java/awt/font/TextHitInfo.java
@@ -23,29 +23,36 @@ package java.awt.font;
import org.apache.harmony.misc.HashCode;
-
/**
- * The TextHitInfo class provides information about a caret position
- * in a text model for insertion or deletion of a character in a text.
- * The TextHitInfo defines two biases of the character: leading or trailing.
- * Leading position means the left edge of the specified character
- * (TextHitInfo.leading(2) method for "text" returns the left side of "x").
- * Trailing position means the right edge of the specified character
- * (TextHitInfo.trailing(2) method for "text" returns the right side of "x").
+ * The TextHitInfo class provides information about a caret position in a text
+ * model for insertion or deletion of a character in a text. The TextHitInfo
+ * defines two biases of the character: leading or trailing. Leading position
+ * means the left edge of the specified character (TextHitInfo.leading(2) method
+ * for "text" returns the left side of "x"). Trailing position means the right
+ * edge of the specified character (TextHitInfo.trailing(2) method for "text"
+ * returns the right side of "x").
+ *
+ * @since Android 1.0
*/
public final class TextHitInfo {
-
- /** The char idx. */
+
+ /**
+ * The char idx.
+ */
private int charIdx; // Represents character index in the line
-
- /** The is trailing. */
+
+ /**
+ * The is trailing.
+ */
private boolean isTrailing;
/**
* Instantiates a new text hit info.
*
- * @param idx the idx
- * @param isTrailing the is trailing
+ * @param idx
+ * the idx.
+ * @param isTrailing
+ * the is trailing.
*/
private TextHitInfo(int idx, boolean isTrailing) {
charIdx = idx;
@@ -53,90 +60,82 @@ public final class TextHitInfo {
}
/**
- * To string.
+ * Returns the textual string representation of this TextHitInfo instance.
*
- * @return the string
+ * @return the string representation.
*/
@Override
public String toString() {
- return new String(
- "TextHitInfo[" + charIdx + ", " + //$NON-NLS-1$ //$NON-NLS-2$
- (isTrailing?"Trailing":"Leading") + "]" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ return new String("TextHitInfo[" + charIdx + ", " + //$NON-NLS-1$ //$NON-NLS-2$
+ (isTrailing ? "Trailing" : "Leading") + "]" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
);
}
/**
* Compares this TextHitInfo object with the specified object.
*
- * @param obj the Object to be compared.
- *
- * @return true, if the specified object is a TextHitInfo object
- * with the same data values as this TextHitInfo, false otherwise.
+ * @param obj
+ * the Object to be compared.
+ * @return true, if the specified object is a TextHitInfo object with the
+ * same data values as this TextHitInfo, false otherwise.
*/
@Override
public boolean equals(Object obj) {
if (obj instanceof TextHitInfo) {
- return equals((TextHitInfo) obj);
+ return equals((TextHitInfo)obj);
}
return false;
}
/**
- * Compares this TextHitInfo object with the specified TextHitInfo
- * object.
- *
- * @param thi the TextHitInfo object to be compared.
+ * Compares this TextHitInfo object with the specified TextHitInfo object.
*
+ * @param thi
+ * the TextHitInfo object to be compared.
* @return true, if this TextHitInfo object has the same data values as the
- * specified TextHitInfo object, false otherwise.
+ * specified TextHitInfo object, false otherwise.
*/
public boolean equals(TextHitInfo thi) {
- return
- thi != null &&
- thi.charIdx == charIdx &&
- thi.isTrailing == isTrailing;
+ return thi != null && thi.charIdx == charIdx && thi.isTrailing == isTrailing;
}
/**
- * Gets a TextHitInfo object with its character index
- * at the specified offset from the character index of
- * this TextHitInfo.
+ * Gets a TextHitInfo object with its character index at the specified
+ * offset from the character index of this TextHitInfo.
*
- * @param offset the offset.
- *
- * @return the TextHitInfo.
+ * @param offset
+ * the offset.
+ * @return the TextHitInfo.
*/
public TextHitInfo getOffsetHit(int offset) {
return new TextHitInfo(charIdx + offset, isTrailing);
}
/**
- * Gets a TextHitInfo associated with the other side of
- * the insertion point.
- *
+ * Gets a TextHitInfo associated with the other side of the insertion point.
+ *
* @return the other hit.
*/
public TextHitInfo getOtherHit() {
- return isTrailing ?
- new TextHitInfo(charIdx+1, false) :
- new TextHitInfo(charIdx-1, true);
+ return isTrailing ? new TextHitInfo(charIdx + 1, false)
+ : new TextHitInfo(charIdx - 1, true);
}
/**
- * Returns true if the leading edge of the character is hit,
- * false if the trailing edge of the character is hit.
+ * Returns true if the leading edge of the character is hit, false if the
+ * trailing edge of the character is hit.
*
- * @return true if the leading edge of the character is hit,
- * false if the trailing edge of the character is hit.
+ * @return true if the leading edge of the character is hit, false if the
+ * trailing edge of the character is hit.
*/
public boolean isLeadingEdge() {
return !isTrailing;
}
/**
- * Hash code.
+ * Returns the hash code value of this TextHitInfo instance.
*
- * @return the int
+ * @return the hash code value.
*/
@Override
public int hashCode() {
@@ -146,11 +145,11 @@ public final class TextHitInfo {
/**
* Gets the insertion index.
*
- * @return the insertion index: character index if the leading edge
- * is hit, or character index + 1 if the trailing edge is hit.
+ * @return the insertion index: character index if the leading edge is hit,
+ * or character index + 1 if the trailing edge is hit.
*/
public int getInsertionIndex() {
- return isTrailing ? charIdx+1 : charIdx;
+ return isTrailing ? charIdx + 1 : charIdx;
}
/**
@@ -163,52 +162,52 @@ public final class TextHitInfo {
}
/**
- * Returns a TextHitInfo associated with the trailing edge of
- * the character at the specified char index.
+ * Returns a TextHitInfo associated with the trailing edge of the character
+ * at the specified char index.
*
- * @param charIndex the char index.
- *
- * @return the TextHitInfo associated with the trailing edge of
- * the character at the specified char index.
+ * @param charIndex
+ * the char index.
+ * @return the TextHitInfo associated with the trailing edge of the
+ * character at the specified char index.
*/
public static TextHitInfo trailing(int charIndex) {
return new TextHitInfo(charIndex, true);
}
/**
- * Returns a TextHitInfo object associated with the leading edge
- * of the character at the specified char index.
- *
- * @param charIndex the char index.
+ * Returns a TextHitInfo object associated with the leading edge of the
+ * character at the specified char index.
*
- * @return the TextHitInfo object associated with the leading edge
- * of the character at the specified char index.
+ * @param charIndex
+ * the char index.
+ * @return the TextHitInfo object associated with the leading edge of the
+ * character at the specified char index.
*/
public static TextHitInfo leading(int charIndex) {
return new TextHitInfo(charIndex, false);
}
/**
- * Returns a (trailing) TextHitInfo object associated with the character
+ * Returns a (trailing) TextHitInfo object associated with the character
* before the specified offset.
*
- * @param offset the offset.
- *
- * @return the TextHitInfo object associated with the character
- * before the specified offset.
+ * @param offset
+ * the offset.
+ * @return the TextHitInfo object associated with the character before the
+ * specified offset.
*/
public static TextHitInfo beforeOffset(int offset) {
- return new TextHitInfo(offset-1, true);
+ return new TextHitInfo(offset - 1, true);
}
/**
- * Returns a (leading) TextHitInfo object associated with the character
+ * Returns a (leading) TextHitInfo object associated with the character
* after the specified offset.
*
- * @param offset the offset.
- *
- * @return the TextHitInfo object associated with the character
- * after the specified offset.
+ * @param offset
+ * the offset.
+ * @return the TextHitInfo object associated with the character after the
+ * specified offset.
*/
public static TextHitInfo afterOffset(int offset) {
return new TextHitInfo(offset, false);
diff --git a/awt/java/awt/font/TextLayout.java b/awt/java/awt/font/TextLayout.java
index e80afd0..cc6f0ba 100644
--- a/awt/java/awt/font/TextLayout.java
+++ b/awt/java/awt/font/TextLayout.java
@@ -39,18 +39,19 @@ import org.apache.harmony.awt.internal.nls.Messages;
/**
* The TextLayout class defines the graphical representation of character data.
- * This class provides method for obtaining information about cursor
- * positioning and movement, split cursors for text with different directions,
- * logical and visual highlighting, multiple baselines, hits, justification,
- * ascent, descent, and advance, and rendering. A TextLayout object can be
- * rendered using Graphics context.
+ * This class provides method for obtaining information about cursor positioning
+ * and movement, split cursors for text with different directions, logical and
+ * visual highlighting, multiple baselines, hits, justification, ascent,
+ * descent, and advance, and rendering. A TextLayout object can be rendered
+ * using Graphics context.
+ *
+ * @since Android 1.0
*/
public final class TextLayout implements Cloneable {
/**
- * The CaretPolicy class provides a policy for obtaining the
- * caret location. The single getStrongCaret method specifies
- * the policy.
+ * The CaretPolicy class provides a policy for obtaining the caret location.
+ * The single getStrongCaret method specifies the policy.
*/
public static class CaretPolicy {
@@ -62,14 +63,15 @@ public final class TextLayout implements Cloneable {
}
/**
- * Returns whichever of the two specified TextHitInfo objects
- * has the stronger caret (higher character level) in the
- * specified TextLayout.
- *
- * @param hit1 the first TextHitInfo of the specified TextLayout.
- * @param hit2 the second TextHitInfo of the specified TextLayout.
- * @param layout the TextLayout.
+ * Returns whichever of the two specified TextHitInfo objects has the
+ * stronger caret (higher character level) in the specified TextLayout.
*
+ * @param hit1
+ * the first TextHitInfo of the specified TextLayout.
+ * @param hit2
+ * the second TextHitInfo of the specified TextLayout.
+ * @param layout
+ * the TextLayout.
* @return the TextHitInfo with the stronger caret.
*/
public TextHitInfo getStrongCaret(TextHitInfo hit1, TextHitInfo hit2, TextLayout layout) {
@@ -87,50 +89,64 @@ public final class TextLayout implements Cloneable {
}
- /**
+ /**
* The Constant DEFAULT_CARET_POLICY indicates the default caret policy.
*/
public static final TextLayout.CaretPolicy DEFAULT_CARET_POLICY = new CaretPolicy();
- /** The breaker. */
+ /**
+ * The breaker.
+ */
private TextRunBreaker breaker;
-
- /** The metrics valid. */
+
+ /**
+ * The metrics valid.
+ */
private boolean metricsValid = false;
-
- /** The tmc. */
+
+ /**
+ * The tmc.
+ */
private TextMetricsCalculator tmc;
-
- /** The metrics. */
+
+ /**
+ * The metrics.
+ */
private BasicMetrics metrics;
-
- /** The caret manager. */
+
+ /**
+ * The caret manager.
+ */
private CaretManager caretManager;
-
- /** The justification width. */
+
+ /**
+ * The justification width.
+ */
float justificationWidth = -1;
/**
- * Instantiates a new TextLayout object from the specified string
- * and Font.
+ * Instantiates a new TextLayout object from the specified string and Font.
*
- * @param string the string to be displayed.
- * @param font the font of the text.
- * @param frc the FontRenderContext object for obtaining
- * information about a graphics device.
+ * @param string
+ * the string to be displayed.
+ * @param font
+ * the font of the text.
+ * @param frc
+ * the FontRenderContext object for obtaining information about a
+ * graphics device.
*/
public TextLayout(String string, Font font, FontRenderContext frc) {
- if (string == null){
+ if (string == null) {
// awt.01='{0}' parameter is null
throw new IllegalArgumentException(Messages.getString("awt.01", "string")); //$NON-NLS-1$ //$NON-NLS-2$
}
-
- if (font == null){
+
+ if (font == null) {
// awt.01='{0}' parameter is null
throw new IllegalArgumentException(Messages.getString("awt.01", "font")); //$NON-NLS-1$ //$NON-NLS-2$
}
- if (string.length() == 0){
+ if (string.length() == 0) {
// awt.02='{0}' parameter has zero length
throw new IllegalArgumentException(Messages.getString("awt.02", "string")); //$NON-NLS-1$ //$NON-NLS-2$
}
@@ -142,35 +158,35 @@ public final class TextLayout implements Cloneable {
}
/**
- * Instantiates a new TextLayout from the specified text and
- * a map of attributes.
+ * Instantiates a new TextLayout from the specified text and a map of
+ * attributes.
*
- * @param string the string to be displayed.
- * @param attributes the attributes to be used for obtaining the text
- * style.
- * @param frc the FontRenderContext object for obtaining
- * information about a graphics device.
+ * @param string
+ * the string to be displayed.
+ * @param attributes
+ * the attributes to be used for obtaining the text style.
+ * @param frc
+ * the FontRenderContext object for obtaining information about a
+ * graphics device.
*/
- public TextLayout(
- String string,
+ public TextLayout(String string,
Map<? extends java.text.AttributedCharacterIterator.Attribute, ?> attributes,
- FontRenderContext frc ) {
- if (string == null){
+ FontRenderContext frc) {
+ if (string == null) {
// awt.01='{0}' parameter is null
throw new IllegalArgumentException(Messages.getString("awt.01", "string")); //$NON-NLS-1$ //$NON-NLS-2$
}
-
- if (attributes == null){
+
+ if (attributes == null) {
// awt.01='{0}' parameter is null
throw new IllegalArgumentException(Messages.getString("awt.01", "attributes")); //$NON-NLS-1$ //$NON-NLS-2$
}
-
- if (string.length() == 0){
+
+ if (string.length() == 0) {
// awt.02='{0}' parameter has zero length
throw new IllegalArgumentException(Messages.getString("awt.02", "string")); //$NON-NLS-1$ //$NON-NLS-2$
}
-
-
+
AttributedString as = new AttributedString(string);
as.addAttributes(attributes, 0, string.length());
this.breaker = new TextRunBreaker(as.getIterator(), frc);
@@ -180,17 +196,19 @@ public final class TextLayout implements Cloneable {
/**
* Instantiates a new TextLayout from the AttributedCharacterIterator.
*
- * @param text the AttributedCharacterIterator.
- * @param frc the FontRenderContext object for obtaining
- * information about a graphics device.
+ * @param text
+ * the AttributedCharacterIterator.
+ * @param frc
+ * the FontRenderContext object for obtaining information about a
+ * graphics device.
*/
public TextLayout(AttributedCharacterIterator text, FontRenderContext frc) {
- if (text == null){
+ if (text == null) {
// awt.03='{0}' iterator parameter is null
throw new IllegalArgumentException(Messages.getString("awt.03", "text")); //$NON-NLS-1$ //$NON-NLS-2$
}
-
- if (text.getBeginIndex() == text.getEndIndex()){
+
+ if (text.getBeginIndex() == text.getEndIndex()) {
// awt.04='{0}' iterator parameter has zero length
throw new IllegalArgumentException(Messages.getString("awt.04", "text")); //$NON-NLS-1$ //$NON-NLS-2$
}
@@ -202,7 +220,8 @@ public final class TextLayout implements Cloneable {
/**
* Instantiates a new text layout.
*
- * @param breaker the breaker
+ * @param breaker
+ * the breaker.
*/
TextLayout(TextRunBreaker breaker) {
this.breaker = breaker;
@@ -226,7 +245,7 @@ public final class TextLayout implements Cloneable {
*/
@Override
protected Object clone() {
- TextLayout res = new TextLayout((TextRunBreaker) breaker.clone());
+ TextLayout res = new TextLayout((TextRunBreaker)breaker.clone());
if (justificationWidth >= 0) {
res.handleJustify(justificationWidth);
@@ -238,10 +257,10 @@ public final class TextLayout implements Cloneable {
/**
* Compares this TextLayout object to the specified TextLayout object.
*
- * @param layout the TextLayout object to be compared.
- *
- * @return true, if this TextLayout object is equal to
- * the specified TextLayout object, false otherwise.
+ * @param layout
+ * the TextLayout object to be compared.
+ * @return true, if this TextLayout object is equal to the specified
+ * TextLayout object, false otherwise.
*/
public boolean equals(TextLayout layout) {
if (layout == null) {
@@ -253,14 +272,14 @@ public final class TextLayout implements Cloneable {
/**
* Compares this TextLayout object to the specified Object.
*
- * @param obj the Object to be compared.
- *
- * @return true, if this TextLayout object is equal to
- * the specified Object, false otherwise.
+ * @param obj
+ * the Object to be compared.
+ * @return true, if this TextLayout object is equal to the specified Object,
+ * false otherwise.
*/
@Override
public boolean equals(Object obj) {
- return obj instanceof TextLayout ? equals((TextLayout) obj) : false;
+ return obj instanceof TextLayout ? equals((TextLayout)obj) : false;
}
/**
@@ -274,16 +293,19 @@ public final class TextLayout implements Cloneable {
}
/**
- * Draws this TextLayout at the specified location with the
- * specified Graphics2D context.
+ * Draws this TextLayout at the specified location with the specified
+ * Graphics2D context.
*
- * @param g2d the Graphics2D object which renders this TextLayout.
- * @param x the X coordinate of the TextLayout origin.
- * @param y the Y coordinate of the TextLayout origin.
+ * @param g2d
+ * the Graphics2D object which renders this TextLayout.
+ * @param x
+ * the X coordinate of the TextLayout origin.
+ * @param y
+ * the Y coordinate of the TextLayout origin.
*/
public void draw(Graphics2D g2d, float x, float y) {
updateMetrics();
- breaker.drawSegments(g2d, x ,y);
+ breaker.drawSegments(g2d, x, y);
}
/**
@@ -325,15 +347,15 @@ public final class TextLayout implements Cloneable {
*/
public byte getBaseline() {
updateMetrics();
- return (byte) metrics.getBaseLineIndex();
+ return (byte)metrics.getBaseLineIndex();
}
/**
- * Gets the float array of offsets for the baselines which
- * are used in this TextLayout.
+ * Gets the float array of offsets for the baselines which are used in this
+ * TextLayout.
*
- * @return the float array of offsets for the baselines which
- * are used in this TextLayout.
+ * @return the float array of offsets for the baselines which are used in
+ * this TextLayout.
*/
public float[] getBaselineOffsets() {
updateMetrics();
@@ -341,14 +363,15 @@ public final class TextLayout implements Cloneable {
}
/**
- * Gets the black box bounds of the characters in the specified area.
- * The black box bounds is an Shape which contains all
- * bounding boxes of all the glyphs of the characters
- * between firstEndpoint and secondEndpoint parameters values.
- *
- * @param firstEndpoint the first point of the area.
- * @param secondEndpoint the second point of the area.
+ * Gets the black box bounds of the characters in the specified area. The
+ * black box bounds is an Shape which contains all bounding boxes of all the
+ * glyphs of the characters between firstEndpoint and secondEndpoint
+ * parameters values.
*
+ * @param firstEndpoint
+ * the first point of the area.
+ * @param secondEndpoint
+ * the second point of the area.
* @return the Shape which contains black box bounds.
*/
public Shape getBlackBoxBounds(int firstEndpoint, int secondEndpoint) {
@@ -372,8 +395,8 @@ public final class TextLayout implements Cloneable {
/**
* Gets information about the caret of the specified TextHitInfo.
*
- * @param hitInfo the TextHitInfo.
- *
+ * @param hitInfo
+ * the TextHitInfo.
* @return the information about the caret of the specified TextHitInfo.
*/
public float[] getCaretInfo(TextHitInfo hitInfo) {
@@ -382,12 +405,13 @@ public final class TextLayout implements Cloneable {
}
/**
- * Gets information about the caret of the specified TextHitInfo
- * of a character in this TextLayout.
- *
- * @param hitInfo the TextHitInfo of a character in this TextLayout.
- * @param bounds the bounds to which the caret info is constructed.
+ * Gets information about the caret of the specified TextHitInfo of a
+ * character in this TextLayout.
*
+ * @param hitInfo
+ * the TextHitInfo of a character in this TextLayout.
+ * @param bounds
+ * the bounds to which the caret info is constructed.
* @return the caret of the specified TextHitInfo.
*/
public float[] getCaretInfo(TextHitInfo hitInfo, Rectangle2D bounds) {
@@ -396,12 +420,13 @@ public final class TextLayout implements Cloneable {
}
/**
- * Gets a Shape which represents the caret of the specified TextHitInfo
- * in the bounds of this TextLayout.
- *
- * @param hitInfo the TextHitInfo.
- * @param bounds the bounds to which the caret info is constructed.
+ * Gets a Shape which represents the caret of the specified TextHitInfo in
+ * the bounds of this TextLayout.
*
+ * @param hitInfo
+ * the TextHitInfo.
+ * @param bounds
+ * the bounds to which the caret info is constructed.
* @return the Shape which represents the caret.
*/
public Shape getCaretShape(TextHitInfo hitInfo, Rectangle2D bounds) {
@@ -410,11 +435,11 @@ public final class TextLayout implements Cloneable {
}
/**
- * Gets a Shape which represents the caret of the specified TextHitInfo
- * in the bounds of this TextLayout.
- *
- * @param hitInfo the TextHitInfo.
+ * Gets a Shape which represents the caret of the specified TextHitInfo in
+ * the bounds of this TextLayout.
*
+ * @param hitInfo
+ * the TextHitInfo.
* @return the Shape which represents the caret.
*/
public Shape getCaretShape(TextHitInfo hitInfo) {
@@ -423,45 +448,47 @@ public final class TextLayout implements Cloneable {
}
/**
- * Gets two Shapes for the strong and weak carets with
- * default caret policy and null bounds: the first element
- * is the strong caret, the second is the weak caret or null.
+ * Gets two Shapes for the strong and weak carets with default caret policy
+ * and null bounds: the first element is the strong caret, the second is the
+ * weak caret or null.
*
- * @param offset an offset in the TextLayout.
- *
- * @return an array of two Shapes corresponded to the strong
- * and weak carets.
+ * @param offset
+ * an offset in the TextLayout.
+ * @return an array of two Shapes corresponded to the strong and weak
+ * carets.
*/
public Shape[] getCaretShapes(int offset) {
return getCaretShapes(offset, null, TextLayout.DEFAULT_CARET_POLICY);
}
/**
- * Gets two Shapes for the strong and weak carets with
- * the default caret policy: the first element is the strong
- * caret, the second is the weak caret or null.
- *
- * @param offset an offset in the TextLayout.
- * @param bounds the bounds to which to extend the carets.
+ * Gets two Shapes for the strong and weak carets with the default caret
+ * policy: the first element is the strong caret, the second is the weak
+ * caret or null.
*
- * @return an array of two Shapes corresponded to the strong
- * and weak carets.
+ * @param offset
+ * an offset in the TextLayout.
+ * @param bounds
+ * the bounds to which to extend the carets.
+ * @return an array of two Shapes corresponded to the strong and weak
+ * carets.
*/
public Shape[] getCaretShapes(int offset, Rectangle2D bounds) {
return getCaretShapes(offset, bounds, TextLayout.DEFAULT_CARET_POLICY);
}
/**
- * Gets two Shapes for the strong and weak carets: the first
- * element is the strong caret, the second is the weak caret
- * or null.
- *
- * @param offset an offset in the TextLayout.
- * @param bounds the bounds to which to extend the carets.
- * @param policy the specified CaretPolicy.
+ * Gets two Shapes for the strong and weak carets: the first element is the
+ * strong caret, the second is the weak caret or null.
*
- * @return an array of two Shapes corresponded to the strong
- * and weak carets.
+ * @param offset
+ * an offset in the TextLayout.
+ * @param bounds
+ * the bounds to which to extend the carets.
+ * @param policy
+ * the specified CaretPolicy.
+ * @return an array of two Shapes corresponded to the strong and weak
+ * carets.
*/
public Shape[] getCaretShapes(int offset, Rectangle2D bounds, TextLayout.CaretPolicy policy) {
if (offset < 0 || offset > breaker.getCharCount()) {
@@ -483,15 +510,15 @@ public final class TextLayout implements Cloneable {
}
/**
- * Gets the level of the character with the specified index.
- *
- * @param index the specified index of the character.
+ * Gets the level of the character with the specified index.
*
+ * @param index
+ * the specified index of the character.
* @return the level of the character.
*/
public byte getCharacterLevel(int index) {
if (index == -1 || index == getCharacterCount()) {
- return (byte) breaker.getBaseLevel();
+ return (byte)breaker.getBaseLevel();
}
return breaker.getLevel(index);
}
@@ -507,16 +534,15 @@ public final class TextLayout implements Cloneable {
}
/**
- * Gets the TextLayout wich is justified with the specified
- * width related to this TextLayout.
- *
- * @param justificationWidth the width which is used
- * for justification.
+ * Gets the TextLayout wich is justified with the specified width related to
+ * this TextLayout.
*
+ * @param justificationWidth
+ * the width which is used for justification.
* @return a TextLayout justified to the specified width.
- *
- * @throws Error the error occures if this TextLayout has been
- * already justified.
+ * @throws Error
+ * the error occures if this TextLayout has been already
+ * justified.
*/
public TextLayout getJustifiedLayout(float justificationWidth) throws Error {
float justification = breaker.getJustification();
@@ -528,7 +554,7 @@ public final class TextLayout implements Cloneable {
return this;
}
- TextLayout justifiedLayout = new TextLayout((TextRunBreaker) breaker.clone());
+ TextLayout justifiedLayout = new TextLayout((TextRunBreaker)breaker.clone());
justifiedLayout.handleJustify(justificationWidth);
return justifiedLayout;
}
@@ -544,15 +570,15 @@ public final class TextLayout implements Cloneable {
}
/**
- * Gets a Shape representing the logical selection betweeen
- * the specified endpoints and extended to the natural
- * bounds of this TextLayout.
- *
- * @param firstEndpoint the first selected endpoint within the area of characters
- * @param secondEndpoint the second selected endpoint within the area of characters
+ * Gets a Shape representing the logical selection betweeen the specified
+ * endpoints and extended to the natural bounds of this TextLayout.
*
- * @return a Shape represented the logical selection betweeen
- * the specified endpoints.
+ * @param firstEndpoint
+ * the first selected endpoint within the area of characters
+ * @param secondEndpoint
+ * the second selected endpoint within the area of characters
+ * @return a Shape represented the logical selection betweeen the specified
+ * endpoints.
*/
public Shape getLogicalHighlightShape(int firstEndpoint, int secondEndpoint) {
updateMetrics();
@@ -560,22 +586,19 @@ public final class TextLayout implements Cloneable {
}
/**
- * Gets a Shape representing the logical selection betweeen
- * the specified endpoints and extended to the specified
- * bounds of this TextLayout.
+ * Gets a Shape representing the logical selection betweeen the specified
+ * endpoints and extended to the specified bounds of this TextLayout.
*
- * @param firstEndpoint the first selected endpoint within the area of characters
- * @param secondEndpoint the second selected endpoint within the area of characters
- * @param bounds the specified bounds of this TextLayout.
- *
- * @return a Shape represented the logical selection betweeen
- * the specified endpoints.
+ * @param firstEndpoint
+ * the first selected endpoint within the area of characters
+ * @param secondEndpoint
+ * the second selected endpoint within the area of characters
+ * @param bounds
+ * the specified bounds of this TextLayout.
+ * @return a Shape represented the logical selection betweeen the specified
+ * endpoints.
*/
- public Shape getLogicalHighlightShape(
- int firstEndpoint,
- int secondEndpoint,
- Rectangle2D bounds
- ) {
+ public Shape getLogicalHighlightShape(int firstEndpoint, int secondEndpoint, Rectangle2D bounds) {
updateMetrics();
if (firstEndpoint > secondEndpoint) {
@@ -583,62 +606,51 @@ public final class TextLayout implements Cloneable {
// awt.197=Endpoints are out of range
throw new IllegalArgumentException(Messages.getString("awt.197")); //$NON-NLS-1$
}
- return caretManager.getLogicalHighlightShape(
- secondEndpoint,
- firstEndpoint,
- bounds,
- this
- );
+ return caretManager.getLogicalHighlightShape(secondEndpoint, firstEndpoint, bounds,
+ this);
}
if (firstEndpoint < 0 || secondEndpoint > breaker.getCharCount()) {
// awt.197=Endpoints are out of range
throw new IllegalArgumentException(Messages.getString("awt.197")); //$NON-NLS-1$
}
- return caretManager.getLogicalHighlightShape(
- firstEndpoint,
- secondEndpoint,
- bounds,
- this
- );
+ return caretManager.getLogicalHighlightShape(firstEndpoint, secondEndpoint, bounds, this);
}
/**
- * Gets the logical ranges of text which corresponds to a visual
- * selection.
- *
- * @param hit1 the first endpoint of the visual range.
- * @param hit2 the second endpoint of the visual range.
+ * Gets the logical ranges of text which corresponds to a visual selection.
*
- * @return the logical ranges of text which corresponds to a visual
- * selection.
+ * @param hit1
+ * the first endpoint of the visual range.
+ * @param hit2
+ * the second endpoint of the visual range.
+ * @return the logical ranges of text which corresponds to a visual
+ * selection.
*/
public int[] getLogicalRangesForVisualSelection(TextHitInfo hit1, TextHitInfo hit2) {
return caretManager.getLogicalRangesForVisualSelection(hit1, hit2);
}
/**
- * Gets the TextHitInfo for the next caret to the left (or
- * up at the end of the line) of the specified offset.
- *
- * @param offset the offset in this TextLayout.
+ * Gets the TextHitInfo for the next caret to the left (or up at the end of
+ * the line) of the specified offset.
*
- * @return the TextHitInfo for the next caret to the left (or
- * up at the end of the line) of the specified hit, or null
- * if there is no hit.
+ * @param offset
+ * the offset in this TextLayout.
+ * @return the TextHitInfo for the next caret to the left (or up at the end
+ * of the line) of the specified hit, or null if there is no hit.
*/
public TextHitInfo getNextLeftHit(int offset) {
return getNextLeftHit(offset, DEFAULT_CARET_POLICY);
}
/**
- * Gets the TextHitInfo for the next caret to the left (or
- * up at the end of the line) of the specified hit.
+ * Gets the TextHitInfo for the next caret to the left (or up at the end of
+ * the line) of the specified hit.
*
- * @param hitInfo the initial hit.
- *
- * @return the TextHitInfo for the next caret to the left (or
- * up at the end of the line) of the specified hit, or null
- * if there is no hit.
+ * @param hitInfo
+ * the initial hit.
+ * @return the TextHitInfo for the next caret to the left (or up at the end
+ * of the line) of the specified hit, or null if there is no hit.
*/
public TextHitInfo getNextLeftHit(TextHitInfo hitInfo) {
breaker.createAllSegments();
@@ -646,15 +658,15 @@ public final class TextLayout implements Cloneable {
}
/**
- * Gets the TextHitInfo for the next caret to the left (or
- * up at the end of the line) of the specified offset, given the
- * specified caret policy.
- *
- * @param offset the offset in this TextLayout.
- * @param policy the policy to be used for obtaining the strong caret.
+ * Gets the TextHitInfo for the next caret to the left (or up at the end of
+ * the line) of the specified offset, given the specified caret policy.
*
- * @return the TextHitInfo for the next caret to the left of the
- * specified offset, or null if there is no hit.
+ * @param offset
+ * the offset in this TextLayout.
+ * @param policy
+ * the policy to be used for obtaining the strong caret.
+ * @return the TextHitInfo for the next caret to the left of the specified
+ * offset, or null if there is no hit.
*/
public TextHitInfo getNextLeftHit(int offset, TextLayout.CaretPolicy policy) {
if (offset < 0 || offset > breaker.getCharCount()) {
@@ -673,14 +685,14 @@ public final class TextLayout implements Cloneable {
}
/**
- * Gets the TextHitInfo for the next caret to the right (or
- * down at the end of the line) of the specified hit.
- *
- * @param hitInfo the initial hit.
+ * Gets the TextHitInfo for the next caret to the right (or down at the end
+ * of the line) of the specified hit.
*
- * @return the TextHitInfo for the next caret to the right (or
- * down at the end of the line) of the specified hit, or null
- * if there is no hit.
+ * @param hitInfo
+ * the initial hit.
+ * @return the TextHitInfo for the next caret to the right (or down at the
+ * end of the line) of the specified hit, or null if there is no
+ * hit.
*/
public TextHitInfo getNextRightHit(TextHitInfo hitInfo) {
breaker.createAllSegments();
@@ -688,28 +700,28 @@ public final class TextLayout implements Cloneable {
}
/**
- * Gets the TextHitInfo for the next caret to the right (or
- * down at the end of the line) of the specified offset.
+ * Gets the TextHitInfo for the next caret to the right (or down at the end
+ * of the line) of the specified offset.
*
- * @param offset the offset in this TextLayout.
- *
- * @return the TextHitInfo for the next caret to the right of the
- * specified offset, or null if there is no hit.
+ * @param offset
+ * the offset in this TextLayout.
+ * @return the TextHitInfo for the next caret to the right of the specified
+ * offset, or null if there is no hit.
*/
public TextHitInfo getNextRightHit(int offset) {
return getNextRightHit(offset, DEFAULT_CARET_POLICY);
}
/**
- * Gets the TextHitInfo for the next caret to the right (or
- * down at the end of the line) of the specified offset, given the
- * specified caret policy.
- *
- * @param offset the offset in this TextLayout.
- * @param policy the policy to be used for obtaining the strong caret.
+ * Gets the TextHitInfo for the next caret to the right (or down at the end
+ * of the line) of the specified offset, given the specified caret policy.
*
- * @return the TextHitInfo for the next caret to the right of the
- * specified offset, or null if there is no hit.
+ * @param offset
+ * the offset in this TextLayout.
+ * @param policy
+ * the policy to be used for obtaining the strong caret.
+ * @return the TextHitInfo for the next caret to the right of the specified
+ * offset, or null if there is no hit.
*/
public TextHitInfo getNextRightHit(int offset, TextLayout.CaretPolicy policy) {
if (offset < 0 || offset > breaker.getCharCount()) {
@@ -730,10 +742,9 @@ public final class TextLayout implements Cloneable {
/**
* Gets the outline of this TextLayout as a Shape.
*
- * @param xform the AffineTransform to be used to transform
- * the outline before returning it, or null if no transformation
- * is desired.
- *
+ * @param xform
+ * the AffineTransform to be used to transform the outline before
+ * returning it, or null if no transformation is desired.
* @return the outline of this TextLayout as a Shape.
*/
public Shape getOutline(AffineTransform xform) {
@@ -749,8 +760,8 @@ public final class TextLayout implements Cloneable {
}
/**
- * Gets the visible advance of this TextLayout which is defined as
- * diffence between leading (advance) and trailing whitespace.
+ * Gets the visible advance of this TextLayout which is defined as diffence
+ * between leading (advance) and trailing whitespace.
*
* @return the visible advance of this TextLayout.
*/
@@ -764,15 +775,13 @@ public final class TextLayout implements Cloneable {
if (lastNonWhitespace < 0) {
return 0;
- } else if (lastNonWhitespace == getCharacterCount()-1) {
+ } else if (lastNonWhitespace == getCharacterCount() - 1) {
return getAdvance();
} else if (justificationWidth >= 0) { // Layout is justified
return justificationWidth;
} else {
- breaker.pushSegments(
- breaker.getACI().getBeginIndex(),
- lastNonWhitespace + breaker.getACI().getBeginIndex() + 1
- );
+ breaker.pushSegments(breaker.getACI().getBeginIndex(), lastNonWhitespace
+ + breaker.getACI().getBeginIndex() + 1);
breaker.createAllSegments();
@@ -784,14 +793,16 @@ public final class TextLayout implements Cloneable {
}
/**
- * Gets a Shape which corresponds to the highlighted (selected) area
- * based on two hit locations within the text and extends to the bounds.
- *
- * @param hit1 the first text hit location.
- * @param hit2 the second text hit location.
- * @param bounds the rectangle that the highlighted area should be
- * extended or restricted to.
+ * Gets a Shape which corresponds to the highlighted (selected) area based
+ * on two hit locations within the text and extends to the bounds.
*
+ * @param hit1
+ * the first text hit location.
+ * @param hit2
+ * the second text hit location.
+ * @param bounds
+ * the rectangle that the highlighted area should be extended or
+ * restricted to.
* @return a Shape which corresponds to the highlighted (selected) area.
*/
public Shape getVisualHighlightShape(TextHitInfo hit1, TextHitInfo hit2, Rectangle2D bounds) {
@@ -799,12 +810,13 @@ public final class TextLayout implements Cloneable {
}
/**
- * Gets a Shape which corresponds to the highlighted (selected) area
- * based on two hit locations within the text.
- *
- * @param hit1 the first text hit location.
- * @param hit2 the second text hit location.
+ * Gets a Shape which corresponds to the highlighted (selected) area based
+ * on two hit locations within the text.
*
+ * @param hit1
+ * the first text hit location.
+ * @param hit2
+ * the second text hit location.
* @return a Shape which corresponds to the highlighted (selected) area.
*/
public Shape getVisualHighlightShape(TextHitInfo hit1, TextHitInfo hit2) {
@@ -813,23 +825,23 @@ public final class TextLayout implements Cloneable {
}
/**
- * Gets the TextHitInfo for a hit on the opposite side of the
- * specified hit's caret.
- *
- * @param hitInfo the specified TextHitInfo.
+ * Gets the TextHitInfo for a hit on the opposite side of the specified
+ * hit's caret.
*
- * @return the TextHitInfo for a hit on the opposite side of the
- * specified hit's caret.
+ * @param hitInfo
+ * the specified TextHitInfo.
+ * @return the TextHitInfo for a hit on the opposite side of the specified
+ * hit's caret.
*/
public TextHitInfo getVisualOtherHit(TextHitInfo hitInfo) {
return caretManager.getVisualOtherHit(hitInfo);
}
/**
- * Justifies the text; this method should be overridden
- * by subclasses.
+ * Justifies the text; this method should be overridden by subclasses.
*
- * @param justificationWidth the width for justification.
+ * @param justificationWidth
+ * the width for justification.
*/
protected void handleJustify(float justificationWidth) {
float justification = breaker.getJustification();
@@ -851,54 +863,54 @@ public final class TextLayout implements Cloneable {
}
/**
- * Returns a TextHitInfo object that gives information on which
- * division point (between two characters) is corresponds to a
- * hit (such as a mouse click) at the specified coordinates.
+ * Returns a TextHitInfo object that gives information on which division
+ * point (between two characters) is corresponds to a hit (such as a mouse
+ * click) at the specified coordinates.
*
- * @param x the X coordinate in this TextLayout.
- * @param y the Y coordinate in this TextLayout.
- *
- * TextHitInfo object cooresponding to the given coordinates
- * within the text.
+ * @param x
+ * the X coordinate in this TextLayout.
+ * @param y
+ * the Y coordinate in this TextLayout. TextHitInfo object
+ * corresponding to the given coordinates within the text.
+ * @return the information about the character at the specified position.
*/
public TextHitInfo hitTestChar(float x, float y) {
return hitTestChar(x, y, getBounds());
}
/**
- * Returns a TextHitInfo object that gives information on which
- * division point (between two characters) is corresponds to a
- * hit (such as a mouse click) at the specified coordinates within
- * the specified text rectangle.
- *
- * @param x the X coordinate in this TextLayout.
- * @param y the Y coordinate in this TextLayout.
- * @param bounds the bounds of the text area.
+ * Returns a TextHitInfo object that gives information on which division
+ * point (between two characters) is corresponds to a hit (such as a mouse
+ * click) at the specified coordinates within the specified text rectangle.
*
- * TextHitInfo object cooresponding to the given coordinates
- * within the text.
+ * @param x
+ * the X coordinate in this TextLayout.
+ * @param y
+ * the Y coordinate in this TextLayout.
+ * @param bounds
+ * the bounds of the text area. TextHitInfo object corresponding
+ * to the given coordinates within the text.
+ * @return the information about the character at the specified position.
*/
public TextHitInfo hitTestChar(float x, float y, Rectangle2D bounds) {
if (x > bounds.getMaxX()) {
- return breaker.isLTR() ?
- TextHitInfo.trailing(breaker.getCharCount() - 1) : TextHitInfo.leading(0);
+ return breaker.isLTR() ? TextHitInfo.trailing(breaker.getCharCount() - 1) : TextHitInfo
+ .leading(0);
}
if (x < bounds.getMinX()) {
- return breaker.isLTR() ?
- TextHitInfo.leading(0) : TextHitInfo.trailing(breaker.getCharCount() - 1);
+ return breaker.isLTR() ? TextHitInfo.leading(0) : TextHitInfo.trailing(breaker
+ .getCharCount() - 1);
}
return breaker.hitTest(x, y);
}
/**
- * Returns true if this TextLayout has a "left to right"
- * direction.
+ * Returns true if this TextLayout has a "left to right" direction.
*
- * @return true if this TextLayout has a "left to right"
- * direction, false if this TextLayout has a "right to left"
- * direction.
+ * @return true if this TextLayout has a "left to right" direction, false if
+ * this TextLayout has a "right to left" direction.
*/
public boolean isLeftToRight() {
return breaker.isLTR();
@@ -913,4 +925,3 @@ public final class TextLayout implements Cloneable {
return false;
}
}
-
diff --git a/awt/java/awt/font/TextMeasurer.java b/awt/java/awt/font/TextMeasurer.java
index 017f3d9..9741f59 100644
--- a/awt/java/awt/font/TextMeasurer.java
+++ b/awt/java/awt/font/TextMeasurer.java
@@ -21,7 +21,6 @@
package java.awt.font;
-
import java.text.AttributedCharacterIterator;
import org.apache.harmony.awt.gl.font.TextMetricsCalculator;
@@ -29,26 +28,38 @@ import org.apache.harmony.awt.gl.font.TextRunBreaker;
/**
* The TextMeasurer class provides utilities for line break operations.
+ *
+ * @since Android 1.0
*/
public final class TextMeasurer implements Cloneable {
-
- /** The aci. */
+
+ /**
+ * The aci.
+ */
AttributedCharacterIterator aci;
-
- /** The frc. */
+
+ /**
+ * The frc.
+ */
FontRenderContext frc;
-
- /** The breaker. */
+
+ /**
+ * The breaker.
+ */
TextRunBreaker breaker = null;
-
- /** The tmc. */
+
+ /**
+ * The tmc.
+ */
TextMetricsCalculator tmc = null;
/**
* Instantiates a new text measurer from the specified text.
*
- * @param text the source text.
- * @param frc the FontRenderContext.
+ * @param text
+ * the source text.
+ * @param frc
+ * the FontRenderContext.
*/
public TextMeasurer(AttributedCharacterIterator text, FontRenderContext frc) {
this.aci = text;
@@ -58,17 +69,19 @@ public final class TextMeasurer implements Cloneable {
}
/**
- * Replaces the current text with the new text, inserting a break
- * character at the specified insert position.
+ * Replaces the current text with the new text, inserting a break character
+ * at the specified insert position.
*
- * @param newParagraph the new paragraph text.
- * @param insertPos the position in the text where the character is inserted.
+ * @param newParagraph
+ * the new paragraph text.
+ * @param insertPos
+ * the position in the text where the character is inserted.
*/
public void insertChar(AttributedCharacterIterator newParagraph, int insertPos) {
AttributedCharacterIterator oldAci = aci;
aci = newParagraph;
- if ((oldAci.getEndIndex() - oldAci.getBeginIndex()) -
- (aci.getEndIndex() - aci.getBeginIndex()) != -1) {
+ if ((oldAci.getEndIndex() - oldAci.getBeginIndex())
+ - (aci.getEndIndex() - aci.getBeginIndex()) != -1) {
breaker = new TextRunBreaker(aci, this.frc);
tmc = new TextMetricsCalculator(breaker);
} else {
@@ -77,17 +90,19 @@ public final class TextMeasurer implements Cloneable {
}
/**
- * Replaces the current text with the new text and deletes a
- * character at the specified position.
+ * Replaces the current text with the new text and deletes a character at
+ * the specified position.
*
- * @param newParagraph the paragraph text after deletion.
- * @param deletePos the position in the text where the character is removed.
+ * @param newParagraph
+ * the paragraph text after deletion.
+ * @param deletePos
+ * the position in the text where the character is removed.
*/
public void deleteChar(AttributedCharacterIterator newParagraph, int deletePos) {
AttributedCharacterIterator oldAci = aci;
aci = newParagraph;
- if ((oldAci.getEndIndex() - oldAci.getBeginIndex()) -
- (aci.getEndIndex() - aci.getBeginIndex()) != 1) {
+ if ((oldAci.getEndIndex() - oldAci.getBeginIndex())
+ - (aci.getEndIndex() - aci.getBeginIndex()) != 1) {
breaker = new TextRunBreaker(aci, this.frc);
tmc = new TextMetricsCalculator(breaker);
} else {
@@ -102,39 +117,39 @@ public final class TextMeasurer implements Cloneable {
*/
@Override
protected Object clone() {
- return new TextMeasurer((AttributedCharacterIterator) aci.clone(), frc);
+ return new TextMeasurer((AttributedCharacterIterator)aci.clone(), frc);
}
/**
* Returns a TextLayout of the specified character range.
*
- * @param start the index of the first character.
- * @param limit the index after the last character.
- *
- * @return a TextLayout for the characters beginning at "start" up
- * to "end".
+ * @param start
+ * the index of the first character.
+ * @param limit
+ * the index after the last character.
+ * @return a TextLayout for the characters beginning at "start" up to "end".
*/
public TextLayout getLayout(int start, int limit) {
breaker.pushSegments(start - aci.getBeginIndex(), limit - aci.getBeginIndex());
breaker.createAllSegments();
- TextLayout layout = new TextLayout((TextRunBreaker) breaker.clone());
+ TextLayout layout = new TextLayout((TextRunBreaker)breaker.clone());
breaker.popSegments();
return layout;
}
/**
- * Returns the graphical width of a line beginning at "start"
- * parameter and including characters up to "end" parameter.
- * "start" and "end" are absolute indices, not relative to the
- * "start" of the paragraph.
- *
- * @param start the character index at which to start measuring.
- * @param end the character index at which to stop measuring.
+ * Returns the graphical width of a line beginning at "start" parameter and
+ * including characters up to "end" parameter. "start" and "end" are
+ * absolute indices, not relative to the "start" of the paragraph.
*
- * @return the graphical width of a line beginning at "start"
- * and including characters up to "end".
+ * @param start
+ * the character index at which to start measuring.
+ * @param end
+ * the character index at which to stop measuring.
+ * @return the graphical width of a line beginning at "start" and including
+ * characters up to "end".
*/
public float getAdvanceBetween(int start, int end) {
breaker.pushSegments(start - aci.getBeginIndex(), end - aci.getBeginIndex());
@@ -147,21 +162,21 @@ public final class TextMeasurer implements Cloneable {
}
/**
- * Returns the index of the first character which is not fit on
- * a line beginning at start and possible measuring up to maxAdvance
- * in graphical width.
- *
- * @param start he character index at which to start measuring.
- * @param maxAdvance the graphical width in which the line must fit.
- *
- * @return the index after the last character that is fit on a line
- * beginning at start, which is not longer than maxAdvance in graphical
+ * Returns the index of the first character which is not fit on a line
+ * beginning at start and possible measuring up to maxAdvance in graphical
* width.
+ *
+ * @param start
+ * he character index at which to start measuring.
+ * @param maxAdvance
+ * the graphical width in which the line must fit.
+ * @return the index after the last character that is fit on a line
+ * beginning at start, which is not longer than maxAdvance in
+ * graphical width.
*/
public int getLineBreakIndex(int start, float maxAdvance) {
breaker.createAllSegments();
- return breaker.getLineBreakIndex(
- start - aci.getBeginIndex(), maxAdvance) + aci.getBeginIndex();
+ return breaker.getLineBreakIndex(start - aci.getBeginIndex(), maxAdvance)
+ + aci.getBeginIndex();
}
}
-
diff --git a/awt/java/awt/font/TransformAttribute.java b/awt/java/awt/font/TransformAttribute.java
index 7c9b0bd..ff2caa2 100644
--- a/awt/java/awt/font/TransformAttribute.java
+++ b/awt/java/awt/font/TransformAttribute.java
@@ -18,6 +18,7 @@
* @author Ilya S. Okomin
* @version $Revision$
*/
+
package java.awt.font;
import java.awt.geom.AffineTransform;
@@ -28,28 +29,34 @@ import org.apache.harmony.awt.internal.nls.Messages;
/**
* The TransformAttribute class is a wrapper for the AffineTransform class in
* order to use it as attribute.
+ *
+ * @since Android 1.0
*/
public final class TransformAttribute implements Serializable {
-
- /** The Constant serialVersionUID. */
+
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = 3356247357827709530L;
// affine transform of this TransformAttribute instance
- /** The transform. */
+ /**
+ * The transform.
+ */
private AffineTransform fTransform;
/**
- * Instantiates a new TransformAttribute from the specified
- * AffineTransform.
+ * Instantiates a new TransformAttribute from the specified AffineTransform.
*
- * @param transform the AffineTransform to be wrapped.
+ * @param transform
+ * the AffineTransform to be wrapped.
*/
public TransformAttribute(AffineTransform transform) {
if (transform == null) {
// awt.94=transform can not be null
throw new IllegalArgumentException(Messages.getString("awt.94")); //$NON-NLS-1$
}
- if (!transform.isIdentity()){
+ if (!transform.isIdentity()) {
this.fTransform = new AffineTransform(transform);
}
}
@@ -60,7 +67,7 @@ public final class TransformAttribute implements Serializable {
* @return the initial AffineTransform which is wrapped.
*/
public AffineTransform getTransform() {
- if (fTransform != null){
+ if (fTransform != null) {
return new AffineTransform(fTransform);
}
return new AffineTransform();
@@ -69,12 +76,11 @@ public final class TransformAttribute implements Serializable {
/**
* Checks if this transform is an identity transform.
*
- * @return true, if this transform is an identity transform,
- * false otherwise.
+ * @return true, if this transform is an identity transform, false
+ * otherwise.
*/
public boolean isIdentity() {
return (fTransform == null);
}
}
-
diff --git a/awt/java/awt/font/package.html b/awt/java/awt/font/package.html
new file mode 100644
index 0000000..788dcc0
--- /dev/null
+++ b/awt/java/awt/font/package.html
@@ -0,0 +1,8 @@
+<html>
+ <body>
+ <p>
+ This package contains classes to support the representation of different types of fonts for example TrueType fonts.
+ </p>
+ @since Android 1.0
+ </body>
+</html>
diff --git a/awt/java/awt/geom/AffineTransform.java b/awt/java/awt/geom/AffineTransform.java
index 5fd3934..8a6938c 100644
--- a/awt/java/awt/geom/AffineTransform.java
+++ b/awt/java/awt/geom/AffineTransform.java
@@ -18,6 +18,7 @@
* @author Denis M. Kishenko
* @version $Revision$
*/
+
package java.awt.geom;
import java.awt.Shape;
@@ -28,76 +29,118 @@ import org.apache.harmony.awt.internal.nls.Messages;
import org.apache.harmony.misc.HashCode;
/**
- * The Class AffineTransform represents a linear transformation
- * (rotation, scaling, or shear) followed by a translation that
- * acts on a coordinate space. It preserves colinearity of points
- * and ratios of distances between collinear points: so if A, B,
- * and C are on a line, then after the space has been transformed
- * via the affine transform, the images of the three points will
- * still be on a line, and the ratio of the distance from A to B
- * with the distance from B to C will be the same as the corresponding
- * ratio in the image space.
+ * The Class AffineTransform represents a linear transformation (rotation,
+ * scaling, or shear) followed by a translation that acts on a coordinate space.
+ * It preserves collinearity of points and ratios of distances between collinear
+ * points: so if A, B, and C are on a line, then after the space has been
+ * transformed via the affine transform, the images of the three points will
+ * still be on a line, and the ratio of the distance from A to B with the
+ * distance from B to C will be the same as the corresponding ratio in the image
+ * space.
+ *
+ * @since Android 1.0
*/
public class AffineTransform implements Cloneable, Serializable {
- /** The Constant serialVersionUID. */
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = 1330973210523860834L;
- /** The Constant TYPE_IDENTITY. */
+ /**
+ * The Constant TYPE_IDENTITY.
+ */
public static final int TYPE_IDENTITY = 0;
-
- /** The Constant TYPE_TRANSLATION. */
+
+ /**
+ * The Constant TYPE_TRANSLATION.
+ */
public static final int TYPE_TRANSLATION = 1;
-
- /** The Constant TYPE_UNIFORM_SCALE. */
+
+ /**
+ * The Constant TYPE_UNIFORM_SCALE.
+ */
public static final int TYPE_UNIFORM_SCALE = 2;
-
- /** The Constant TYPE_GENERAL_SCALE. */
+
+ /**
+ * The Constant TYPE_GENERAL_SCALE.
+ */
public static final int TYPE_GENERAL_SCALE = 4;
-
- /** The Constant TYPE_QUADRANT_ROTATION. */
+
+ /**
+ * The Constant TYPE_QUADRANT_ROTATION.
+ */
public static final int TYPE_QUADRANT_ROTATION = 8;
-
- /** The Constant TYPE_GENERAL_ROTATION. */
+
+ /**
+ * The Constant TYPE_GENERAL_ROTATION.
+ */
public static final int TYPE_GENERAL_ROTATION = 16;
-
- /** The Constant TYPE_GENERAL_TRANSFORM. */
+
+ /**
+ * The Constant TYPE_GENERAL_TRANSFORM.
+ */
public static final int TYPE_GENERAL_TRANSFORM = 32;
-
- /** The Constant TYPE_FLIP. */
+
+ /**
+ * The Constant TYPE_FLIP.
+ */
public static final int TYPE_FLIP = 64;
-
- /** The Constant TYPE_MASK_SCALE. */
+
+ /**
+ * The Constant TYPE_MASK_SCALE.
+ */
public static final int TYPE_MASK_SCALE = TYPE_UNIFORM_SCALE | TYPE_GENERAL_SCALE;
-
- /** The Constant TYPE_MASK_ROTATION. */
+
+ /**
+ * The Constant TYPE_MASK_ROTATION.
+ */
public static final int TYPE_MASK_ROTATION = TYPE_QUADRANT_ROTATION | TYPE_GENERAL_ROTATION;
- /** The <code>TYPE_UNKNOWN</code> is an initial type value. */
+ /**
+ * The <code>TYPE_UNKNOWN</code> is an initial type value.
+ */
static final int TYPE_UNKNOWN = -1;
-
- /** The min value equivalent to zero. If absolute value less then ZERO it considered as zero. */
+
+ /**
+ * The min value equivalent to zero. If absolute value less then ZERO it
+ * considered as zero.
+ */
static final double ZERO = 1E-10;
-
- /** The values of transformation matrix. */
+
+ /**
+ * The values of transformation matrix.
+ */
double m00;
-
- /** The m10. */
+
+ /**
+ * The m10.
+ */
double m10;
-
- /** The m01. */
+
+ /**
+ * The m01.
+ */
double m01;
-
- /** The m11. */
+
+ /**
+ * The m11.
+ */
double m11;
-
- /** The m02. */
+
+ /**
+ * The m02.
+ */
double m02;
-
- /** The m12. */
+
+ /**
+ * The m12.
+ */
double m12;
- /** The transformation <code>type</code>. */
+ /**
+ * The transformation <code>type</code>.
+ */
transient int type;
/**
@@ -111,10 +154,11 @@ public class AffineTransform implements Cloneable, Serializable {
}
/**
- * Instantiates a new affine transform that has the same data as
- * the given AffineTransform.
+ * Instantiates a new affine transform that has the same data as the given
+ * AffineTransform.
*
- * @param t the transform to copy.
+ * @param t
+ * the transform to copy.
*/
public AffineTransform(AffineTransform t) {
this.type = t.type;
@@ -128,15 +172,21 @@ public class AffineTransform implements Cloneable, Serializable {
/**
* Instantiates a new affine transform by specifying the values of the 2x3
- * transformation matrix as floats. The type is set to the default
- * type: <code>TYPE_UNKNOWN</code>
- *
- * @param m00 the m00 entry in the transformation matrix.
- * @param m10 the m10 entry in the transformation matrix.
- * @param m01 the m01 entry in the transformation matrix.
- * @param m11 the m11 entry in the transformation matrix.
- * @param m02 the m02 entry in the transformation matrix.
- * @param m12 the m12 entry in the transformation matrix.
+ * transformation matrix as floats. The type is set to the default type:
+ * <code>TYPE_UNKNOWN</code>
+ *
+ * @param m00
+ * the m00 entry in the transformation matrix.
+ * @param m10
+ * the m10 entry in the transformation matrix.
+ * @param m01
+ * the m01 entry in the transformation matrix.
+ * @param m11
+ * the m11 entry in the transformation matrix.
+ * @param m02
+ * the m02 entry in the transformation matrix.
+ * @param m12
+ * the m12 entry in the transformation matrix.
*/
public AffineTransform(float m00, float m10, float m01, float m11, float m02, float m12) {
this.type = TYPE_UNKNOWN;
@@ -150,15 +200,21 @@ public class AffineTransform implements Cloneable, Serializable {
/**
* Instantiates a new affine transform by specifying the values of the 2x3
- * transformation matrix as doubles. The type is set to the default
- * type: <code>TYPE_UNKNOWN</code>
- *
- * @param m00 the m00 entry in the transformation matrix.
- * @param m10 the m10 entry in the transformation matrix.
- * @param m01 the m01 entry in the transformation matrix.
- * @param m11 the m11 entry in the transformation matrix.
- * @param m02 the m02 entry in the transformation matrix.
- * @param m12 the m12 entry in the transformation matrix.
+ * transformation matrix as doubles. The type is set to the default type:
+ * <code>TYPE_UNKNOWN</code>
+ *
+ * @param m00
+ * the m00 entry in the transformation matrix.
+ * @param m10
+ * the m10 entry in the transformation matrix.
+ * @param m01
+ * the m01 entry in the transformation matrix.
+ * @param m11
+ * the m11 entry in the transformation matrix.
+ * @param m02
+ * the m02 entry in the transformation matrix.
+ * @param m12
+ * the m12 entry in the transformation matrix.
*/
public AffineTransform(double m00, double m10, double m01, double m11, double m02, double m12) {
this.type = TYPE_UNKNOWN;
@@ -171,20 +227,20 @@ public class AffineTransform implements Cloneable, Serializable {
}
/**
- * Instantiates a new affine transform by reading the values of the
- * transformation matrix from an array of floats. The mapping from the
- * array to the matrix starts with <code>matrix[0]</code> giving the
- * top-left entry of the matrix and
- * proceeds with the usual left-to-right and top-down ordering.
+ * Instantiates a new affine transform by reading the values of the
+ * transformation matrix from an array of floats. The mapping from the array
+ * to the matrix starts with <code>matrix[0]</code> giving the top-left
+ * entry of the matrix and proceeds with the usual left-to-right and
+ * top-down ordering.
* <p>
- * If the array has only four entries, then the two entries of the
- * last row of the transformation matrix default to zero.
- *
- * @param matrix the array of four or six floats giving the values
- * of the matrix.
- *
- * @throws ArrayIndexOutOfBoundsException if the size of the array
- * is 0, 1, 2, 3, or 5.
+ * If the array has only four entries, then the two entries of the last row
+ * of the transformation matrix default to zero.
+ *
+ * @param matrix
+ * the array of four or six floats giving the values of the
+ * matrix.
+ * @throws ArrayIndexOutOfBoundsException
+ * if the size of the array is 0, 1, 2, 3, or 5.
*/
public AffineTransform(float[] matrix) {
this.type = TYPE_UNKNOWN;
@@ -199,20 +255,20 @@ public class AffineTransform implements Cloneable, Serializable {
}
/**
- * Instantiates a new affine transform by reading the values of the
+ * Instantiates a new affine transform by reading the values of the
* transformation matrix from an array of doubles. The mapping from the
- * array to the matrix starts with <code>matrix[0]</code> giving the
- * top-left entry of the matrix and
- * proceeds with the usual left-to-right and top-down ordering.
+ * array to the matrix starts with <code>matrix[0]</code> giving the
+ * top-left entry of the matrix and proceeds with the usual left-to-right
+ * and top-down ordering.
* <p>
- * If the array has only four entries, then the two entries of the
- * last row of the transformation matrix default to zero.
- *
- * @param matrix the array of four or six doubles giving the values
- * of the matrix.
- *
- * @throws ArrayIndexOutOfBoundsException if the size of the array
- * is 0, 1, 2, 3, or 5.
+ * If the array has only four entries, then the two entries of the last row
+ * of the transformation matrix default to zero.
+ *
+ * @param matrix
+ * the array of four or six doubles giving the values of the
+ * matrix.
+ * @throws ArrayIndexOutOfBoundsException
+ * if the size of the array is 0, 1, 2, 3, or 5.
*/
public AffineTransform(double[] matrix) {
this.type = TYPE_UNKNOWN;
@@ -226,27 +282,26 @@ public class AffineTransform implements Cloneable, Serializable {
}
}
-
/**
* Returns type of the affine transformation.
* <p>
- * The type is computed as follows: Label the entries of the
- * transformation matrix as three rows (m00, m01), (m10, m11), and
- * (m02, m12). Then if the original basis vectors are (1, 0) and (0, 1),
- * the new basis vectors after transformation are given by (m00, m01)
- * and (m10, m11), and the translation vector is (m02, m12).
+ * The type is computed as follows: Label the entries of the transformation
+ * matrix as three rows (m00, m01), (m10, m11), and (m02, m12). Then if the
+ * original basis vectors are (1, 0) and (0, 1), the new basis vectors after
+ * transformation are given by (m00, m01) and (m10, m11), and the
+ * translation vector is (m02, m12).
+ * <p>
+ * The types are classified as follows: <br/> TYPE_IDENTITY - no change<br/>
+ * TYPE_TRANSLATION - The translation vector isn't zero<br/>
+ * TYPE_UNIFORM_SCALE - The new basis vectors have equal length<br/>
+ * TYPE_GENERAL_SCALE - The new basis vectors dont' have equal length<br/>
+ * TYPE_FLIP - The new basis vector orientation differs from the original
+ * one<br/> TYPE_QUADRANT_ROTATION - The new basis is a rotation of the
+ * original by 90, 180, 270, or 360 degrees<br/> TYPE_GENERAL_ROTATION - The
+ * new basis is a rotation of the original by an arbitrary angle<br/>
+ * TYPE_GENERAL_TRANSFORM - The transformation can't be inverted.<br/>
* <p>
- * The types are classified as follows: <br/>
- * TYPE_IDENTITY - no change<br/>
- * TYPE_TRANSLATION - The translation vector isn't zero<br/>
- * TYPE_UNIFORM_SCALE - The new basis vectors have equal length<br/>
- * TYPE_GENERAL_SCALE - The new basis vectors dont' have equal length<br/>
- * TYPE_FLIP - The new basis vector orientation differs from the original one<br/>
- * TYPE_QUADRANT_ROTATION - The new basis is a rotation of the original by 90, 180, 270, or 360 degrees<br/>
- * TYPE_GENERAL_ROTATION - The new basis is a rotation of the original by an arbitrary angle<br/>
- * TYPE_GENERAL_TRANSFORM - The transformation can't be inverted.<br/>
- * <p>
- * Note that multiple types are possible, thus the types can be combined
+ * Note that multiple types are possible, thus the types can be combined
* using bitwise combinations.
*
* @return the type of the Affine Transform.
@@ -265,11 +320,10 @@ public class AffineTransform implements Cloneable, Serializable {
if (m02 != 0.0 || m12 != 0.0) {
type |= TYPE_TRANSLATION;
- } else
- if (m00 == 1.0 && m11 == 1.0 && m01 == 0.0 && m10 == 0.0) {
- type = TYPE_IDENTITY;
- return type;
- }
+ } else if (m00 == 1.0 && m11 == 1.0 && m01 == 0.0 && m10 == 0.0) {
+ type = TYPE_IDENTITY;
+ return type;
+ }
if (m00 * m11 - m01 * m10 < 0.0) {
type |= TYPE_FLIP;
@@ -279,26 +333,22 @@ public class AffineTransform implements Cloneable, Serializable {
double dy = m01 * m01 + m11 * m11;
if (dx != dy) {
type |= TYPE_GENERAL_SCALE;
- } else
- if (dx != 1.0) {
- type |= TYPE_UNIFORM_SCALE;
- }
+ } else if (dx != 1.0) {
+ type |= TYPE_UNIFORM_SCALE;
+ }
- if ((m00 == 0.0 && m11 == 0.0) ||
- (m10 == 0.0 && m01 == 0.0 && (m00 < 0.0 || m11 < 0.0)))
- {
+ if ((m00 == 0.0 && m11 == 0.0) || (m10 == 0.0 && m01 == 0.0 && (m00 < 0.0 || m11 < 0.0))) {
type |= TYPE_QUADRANT_ROTATION;
- } else
- if (m01 != 0.0 || m10 != 0.0) {
- type |= TYPE_GENERAL_ROTATION;
- }
+ } else if (m01 != 0.0 || m10 != 0.0) {
+ type |= TYPE_GENERAL_ROTATION;
+ }
return type;
}
/**
- * Gets the scale x entry of the transformation matrix
- * (the upper left matrix entry).
+ * Gets the scale x entry of the transformation matrix (the upper left
+ * matrix entry).
*
* @return the scale x value.
*/
@@ -307,8 +357,8 @@ public class AffineTransform implements Cloneable, Serializable {
}
/**
- * Gets the scale y entry of the transformation matrix
- * (the lower right entry of the linear transformation).
+ * Gets the scale y entry of the transformation matrix (the lower right
+ * entry of the linear transformation).
*
* @return the scale y value.
*/
@@ -317,8 +367,8 @@ public class AffineTransform implements Cloneable, Serializable {
}
/**
- * Gets the shear x entry of the transformation matrix
- * (the upper right entry of the linear transformation).
+ * Gets the shear x entry of the transformation matrix (the upper right
+ * entry of the linear transformation).
*
* @return the shear x value.
*/
@@ -327,8 +377,8 @@ public class AffineTransform implements Cloneable, Serializable {
}
/**
- * Gets the shear y entry of the transformation matrix
- * (the lower left entry of the linear transformation).
+ * Gets the shear y entry of the transformation matrix (the lower left entry
+ * of the linear transformation).
*
* @return the shear y value.
*/
@@ -364,15 +414,15 @@ public class AffineTransform implements Cloneable, Serializable {
}
/**
- * Writes the values of the transformation matrix into the given
- * array of doubles. If the array has length 4, only the linear
- * transformation part will be written into it. If it has length
- * greater than 4, the translation vector will be included as well.
- *
- * @param matrix the array to fill with the values of the matrix.
- *
- * @throws ArrayIndexOutOfBoundsException if the size of the array
- * is 0, 1, 2, 3, or 5.
+ * Writes the values of the transformation matrix into the given array of
+ * doubles. If the array has length 4, only the linear transformation part
+ * will be written into it. If it has length greater than 4, the translation
+ * vector will be included as well.
+ *
+ * @param matrix
+ * the array to fill with the values of the matrix.
+ * @throws ArrayIndexOutOfBoundsException
+ * if the size of the array is 0, 1, 2, 3, or 5.
*/
public void getMatrix(double[] matrix) {
matrix[0] = m00;
@@ -397,12 +447,18 @@ public class AffineTransform implements Cloneable, Serializable {
/**
* Sets the transform in terms of a list of double values.
*
- * @param m00 the m00 coordinate of the transformation matrix.
- * @param m10 the m10 coordinate of the transformation matrix.
- * @param m01 the m01 coordinate of the transformation matrix.
- * @param m11 the m11 coordinate of the transformation matrix.
- * @param m02 the m02 coordinate of the transformation matrix.
- * @param m12 the m12 coordinate of the transformation matrix.
+ * @param m00
+ * the m00 coordinate of the transformation matrix.
+ * @param m10
+ * the m10 coordinate of the transformation matrix.
+ * @param m01
+ * the m01 coordinate of the transformation matrix.
+ * @param m11
+ * the m11 coordinate of the transformation matrix.
+ * @param m02
+ * the m02 coordinate of the transformation matrix.
+ * @param m12
+ * the m12 coordinate of the transformation matrix.
*/
public void setTransform(double m00, double m10, double m01, double m11, double m02, double m12) {
this.type = TYPE_UNKNOWN;
@@ -415,10 +471,11 @@ public class AffineTransform implements Cloneable, Serializable {
}
/**
- * Sets the transform's data to match the data of the transform
- * sent as a parameter.
+ * Sets the transform's data to match the data of the transform sent as a
+ * parameter.
*
- * @param t the transform that gives the new values.
+ * @param t
+ * the transform that gives the new values.
*/
public void setTransform(AffineTransform t) {
type = t.type;
@@ -435,15 +492,16 @@ public class AffineTransform implements Cloneable, Serializable {
}
/**
- * Sets the transformation to a translation alone.
- * Sets the linear part of the transformation to identity
- * and the translation vector to the values sent as parameters.
- * Sets the type to <code>TYPE_IDENTITY</code>
- * if the resulting AffineTransformation is the identity
- * transformation, otherwise sets it to <code>TYPE_TRANSLATION</code>.
- *
- * @param mx the distance to translate in the x direction.
- * @param my the distance to translate in the y direction.
+ * Sets the transformation to a translation alone. Sets the linear part of
+ * the transformation to identity and the translation vector to the values
+ * sent as parameters. Sets the type to <code>TYPE_IDENTITY</code> if the
+ * resulting AffineTransformation is the identity transformation, otherwise
+ * sets it to <code>TYPE_TRANSLATION</code>.
+ *
+ * @param mx
+ * the distance to translate in the x direction.
+ * @param my
+ * the distance to translate in the y direction.
*/
public void setToTranslation(double mx, double my) {
m00 = m11 = 1.0;
@@ -458,14 +516,15 @@ public class AffineTransform implements Cloneable, Serializable {
}
/**
- * Sets the transformation to being a scale alone, eliminating
- * rotation, shear, and translation elements.
- * Sets the type to <code>TYPE_IDENTITY</code>
- * if the resulting AffineTransformation is the identity
- * transformation, otherwise sets it to <code>TYPE_UNKNOWN</code>.
- *
- * @param scx the scaling factor in the x direction.
- * @param scy the scaling factor in the y direction.
+ * Sets the transformation to being a scale alone, eliminating rotation,
+ * shear, and translation elements. Sets the type to
+ * <code>TYPE_IDENTITY</code> if the resulting AffineTransformation is the
+ * identity transformation, otherwise sets it to <code>TYPE_UNKNOWN</code>.
+ *
+ * @param scx
+ * the scaling factor in the x direction.
+ * @param scy
+ * the scaling factor in the y direction.
*/
public void setToScale(double scx, double scy) {
m00 = scx;
@@ -479,14 +538,15 @@ public class AffineTransform implements Cloneable, Serializable {
}
/**
- * Sets the transformation to being a shear alone, eliminating
- * rotation, scaling, and translation elements.
- * Sets the type to <code>TYPE_IDENTITY</code>
- * if the resulting AffineTransformation is the identity
- * transformation, otherwise sets it to <code>TYPE_UNKNOWN</code>.
- *
- * @param shx the shearing factor in the x direction.
- * @param shy the shearing factor in the y direction.
+ * Sets the transformation to being a shear alone, eliminating rotation,
+ * scaling, and translation elements. Sets the type to
+ * <code>TYPE_IDENTITY</code> if the resulting AffineTransformation is the
+ * identity transformation, otherwise sets it to <code>TYPE_UNKNOWN</code>.
+ *
+ * @param shx
+ * the shearing factor in the x direction.
+ * @param shy
+ * the shearing factor in the y direction.
*/
public void setToShear(double shx, double shy) {
m00 = m11 = 1.0;
@@ -501,13 +561,13 @@ public class AffineTransform implements Cloneable, Serializable {
}
/**
- * Sets the transformation to being a rotation alone, eliminating
- * shearing, scaling, and translation elements.
- * Sets the type to <code>TYPE_IDENTITY</code>
- * if the resulting AffineTransformation is the identity
- * transformation, otherwise sets it to <code>TYPE_UNKNOWN</code>.
+ * Sets the transformation to being a rotation alone, eliminating shearing,
+ * scaling, and translation elements. Sets the type to
+ * <code>TYPE_IDENTITY</code> if the resulting AffineTransformation is the
+ * identity transformation, otherwise sets it to <code>TYPE_UNKNOWN</code>.
*
- * @param angle the angle of rotation in radians.
+ * @param angle
+ * the angle of rotation in radians.
*/
public void setToRotation(double angle) {
double sin = Math.sin(angle);
@@ -515,11 +575,10 @@ public class AffineTransform implements Cloneable, Serializable {
if (Math.abs(cos) < ZERO) {
cos = 0.0;
sin = sin > 0.0 ? 1.0 : -1.0;
- } else
- if (Math.abs(sin) < ZERO) {
- sin = 0.0;
- cos = cos > 0.0 ? 1.0 : -1.0;
- }
+ } else if (Math.abs(sin) < ZERO) {
+ sin = 0.0;
+ cos = cos > 0.0 ? 1.0 : -1.0;
+ }
m00 = m11 = cos;
m01 = -sin;
m10 = sin;
@@ -528,13 +587,15 @@ public class AffineTransform implements Cloneable, Serializable {
}
/**
- * Sets the transformation to being a rotation followed by a
- * translation.
+ * Sets the transformation to being a rotation followed by a translation.
* Sets the type to <code>TYPE_UNKNOWN</code>.
*
- * @param angle the angle of rotation in radians.
- * @param px the distance to translate in the x direction.
- * @param py the distance to translate in the y direction.
+ * @param angle
+ * the angle of rotation in radians.
+ * @param px
+ * the distance to translate in the x direction.
+ * @param py
+ * the distance to translate in the y direction.
*/
public void setToRotation(double angle, double px, double py) {
setToRotation(angle);
@@ -544,15 +605,16 @@ public class AffineTransform implements Cloneable, Serializable {
}
/**
- * Creates a new AffineTransformation that is a translation alone
- * with the translation vector given by the values sent as parameters.
- * The new transformation's type is <code>TYPE_IDENTITY</code>
- * if the AffineTransformation is the identity
- * transformation, otherwise it's <code>TYPE_TRANSLATION</code>.
- *
- * @param mx the distance to translate in the x direction.
- * @param my the distance to translate in the y direction.
-
+ * Creates a new AffineTransformation that is a translation alone with the
+ * translation vector given by the values sent as parameters. The new
+ * transformation's type is <code>TYPE_IDENTITY</code> if the
+ * AffineTransformation is the identity transformation, otherwise it's
+ * <code>TYPE_TRANSLATION</code>.
+ *
+ * @param mx
+ * the distance to translate in the x direction.
+ * @param my
+ * the distance to translate in the y direction.
* @return the new AffineTransformation.
*/
public static AffineTransform getTranslateInstance(double mx, double my) {
@@ -562,14 +624,15 @@ public class AffineTransform implements Cloneable, Serializable {
}
/**
- * Creates a new AffineTransformation that is a scale alone.
- * The new transformation's type is <code>TYPE_IDENTITY</code>
- * if the AffineTransformation is the identity
- * transformation, otherwise it's <code>TYPE_UNKNOWN</code>.
- *
- * @param scx the scaling factor in the x direction.
- * @param scY the scaling factor in the y direction.
- *
+ * Creates a new AffineTransformation that is a scale alone. The new
+ * transformation's type is <code>TYPE_IDENTITY</code> if the
+ * AffineTransformation is the identity transformation, otherwise it's
+ * <code>TYPE_UNKNOWN</code>.
+ *
+ * @param scx
+ * the scaling factor in the x direction.
+ * @param scY
+ * the scaling factor in the y direction.
* @return the new AffineTransformation.
*/
public static AffineTransform getScaleInstance(double scx, double scY) {
@@ -579,14 +642,15 @@ public class AffineTransform implements Cloneable, Serializable {
}
/**
- * Creates a new AffineTransformation that is a shear alone.
- * The new transformation's type is <code>TYPE_IDENTITY</code>
- * if the AffineTransformation is the identity
- * transformation, otherwise it's <code>TYPE_UNKNOWN</code>.
- *
- * @param shx the shearing factor in the x direction.
- * @param shy the shearing factor in the y direction.
- *
+ * Creates a new AffineTransformation that is a shear alone. The new
+ * transformation's type is <code>TYPE_IDENTITY</code> if the
+ * AffineTransformation is the identity transformation, otherwise it's
+ * <code>TYPE_UNKNOWN</code>.
+ *
+ * @param shx
+ * the shearing factor in the x direction.
+ * @param shy
+ * the shearing factor in the y direction.
* @return the new AffineTransformation.
*/
public static AffineTransform getShearInstance(double shx, double shy) {
@@ -596,13 +660,13 @@ public class AffineTransform implements Cloneable, Serializable {
}
/**
- * Creates a new AffineTransformation that is a rotation alone.
- * The new transformation's type is <code>TYPE_IDENTITY</code>
- * if the AffineTransformation is the identity
- * transformation, otherwise it's <code>TYPE_UNKNOWN</code>.
- *
- * @param angle the angle of rotation in radians.
+ * Creates a new AffineTransformation that is a rotation alone. The new
+ * transformation's type is <code>TYPE_IDENTITY</code> if the
+ * AffineTransformation is the identity transformation, otherwise it's
+ * <code>TYPE_UNKNOWN</code>.
*
+ * @param angle
+ * the angle of rotation in radians.
* @return the new AffineTransformation.
*/
public static AffineTransform getRotateInstance(double angle) {
@@ -612,14 +676,15 @@ public class AffineTransform implements Cloneable, Serializable {
}
/**
- * Creates a new AffineTransformation that is a rotation followed by a
- * translation.
- * Sets the type to <code>TYPE_UNKNOWN</code>.
- *
- * @param angle the angle of rotation in radians.
- * @param x the distance to translate in the x direction.
- * @param y the distance to translate in the y direction.
- *
+ * Creates a new AffineTransformation that is a rotation followed by a
+ * translation. Sets the type to <code>TYPE_UNKNOWN</code>.
+ *
+ * @param angle
+ * the angle of rotation in radians.
+ * @param x
+ * the distance to translate in the x direction.
+ * @param y
+ * the distance to translate in the y direction.
* @return the new AffineTransformation.
*/
public static AffineTransform getRotateInstance(double angle, double x, double y) {
@@ -631,8 +696,10 @@ public class AffineTransform implements Cloneable, Serializable {
/**
* Applies a translation to this AffineTransformation.
*
- * @param mx the distance to translate in the x direction.
- * @param my the distance to translate in the y direction.
+ * @param mx
+ * the distance to translate in the x direction.
+ * @param my
+ * the distance to translate in the y direction.
*/
public void translate(double mx, double my) {
concatenate(AffineTransform.getTranslateInstance(mx, my));
@@ -641,8 +708,10 @@ public class AffineTransform implements Cloneable, Serializable {
/**
* Applies a scaling transformation to this AffineTransformation.
*
- * @param scx the scaling factor in the x direction.
- * @param scy the scaling factor in the y direction.
+ * @param scx
+ * the scaling factor in the x direction.
+ * @param scy
+ * the scaling factor in the y direction.
*/
public void scale(double scx, double scy) {
concatenate(AffineTransform.getScaleInstance(scx, scy));
@@ -651,8 +720,10 @@ public class AffineTransform implements Cloneable, Serializable {
/**
* Applies a shearing transformation to this AffineTransformation.
*
- * @param shx the shearing factor in the x direction.
- * @param shy the shearing factor in the y direction.
+ * @param shx
+ * the shearing factor in the x direction.
+ * @param shy
+ * the shearing factor in the y direction.
*/
public void shear(double shx, double shy) {
concatenate(AffineTransform.getShearInstance(shx, shy));
@@ -661,19 +732,23 @@ public class AffineTransform implements Cloneable, Serializable {
/**
* Applies a rotation transformation to this AffineTransformation.
*
- * @param angle the angle of rotation in radians.
+ * @param angle
+ * the angle of rotation in radians.
*/
public void rotate(double angle) {
concatenate(AffineTransform.getRotateInstance(angle));
}
/**
- * Applies a rotation and translation transformation to this
+ * Applies a rotation and translation transformation to this
* AffineTransformation.
*
- * @param angle the angle of rotation in radians.
- * @param px the distance to translate in the x direction.
- * @param py the distance to translate in the y direction.
+ * @param angle
+ * the angle of rotation in radians.
+ * @param px
+ * the distance to translate in the x direction.
+ * @param py
+ * the distance to translate in the y direction.
*/
public void rotate(double angle, double px, double py) {
concatenate(AffineTransform.getRotateInstance(angle, px, py));
@@ -682,36 +757,40 @@ public class AffineTransform implements Cloneable, Serializable {
/**
* Multiplies the matrix representations of two AffineTransform objects.
*
- * @param t1 - the AffineTransform object is a multiplicand
- * @param t2 - the AffineTransform object is a multiplier
- *
- * @return an AffineTransform object that is the result of t1 multiplied by the matrix t2.
+ * @param t1
+ * - the AffineTransform object is a multiplicand
+ * @param t2
+ * - the AffineTransform object is a multiplier
+ * @return an AffineTransform object that is the result of t1 multiplied by
+ * the matrix t2.
*/
AffineTransform multiply(AffineTransform t1, AffineTransform t2) {
- return new AffineTransform(
- t1.m00 * t2.m00 + t1.m10 * t2.m01, // m00
- t1.m00 * t2.m10 + t1.m10 * t2.m11, // m01
- t1.m01 * t2.m00 + t1.m11 * t2.m01, // m10
- t1.m01 * t2.m10 + t1.m11 * t2.m11, // m11
+ return new AffineTransform(t1.m00 * t2.m00 + t1.m10 * t2.m01, // m00
+ t1.m00 * t2.m10 + t1.m10 * t2.m11, // m01
+ t1.m01 * t2.m00 + t1.m11 * t2.m01, // m10
+ t1.m01 * t2.m10 + t1.m11 * t2.m11, // m11
t1.m02 * t2.m00 + t1.m12 * t2.m01 + t2.m02, // m02
t1.m02 * t2.m10 + t1.m12 * t2.m11 + t2.m12);// m12
}
/**
- * Applies the given AffineTransform to this AffineTransform
- * via matrix multiplication.
+ * Applies the given AffineTransform to this AffineTransform via matrix
+ * multiplication.
*
- * @param t the AffineTransform to apply to this AffineTransform.
+ * @param t
+ * the AffineTransform to apply to this AffineTransform.
*/
public void concatenate(AffineTransform t) {
setTransform(multiply(t, this));
}
/**
- * Changes the current AffineTransform the one obtained by
- * taking the transform t and applying this AffineTransform to it.
+ * Changes the current AffineTransform the one obtained by taking the
+ * transform t and applying this AffineTransform to it.
*
- * @param t the AffineTransform that this AffineTransform is multiplied by.
+ * @param t
+ * the AffineTransform that this AffineTransform is multiplied
+ * by.
*/
public void preConcatenate(AffineTransform t) {
setTransform(multiply(this, t));
@@ -721,9 +800,9 @@ public class AffineTransform implements Cloneable, Serializable {
* Creates an AffineTransform that is the inverse of this transform.
*
* @return the affine transform that is the inverse of this AffineTransform.
- *
- * @throws NoninvertibleTransformException if this AffineTransform cannot be
- * inverted (the determinant of the linear transformation part is zero).
+ * @throws NoninvertibleTransformException
+ * if this AffineTransform cannot be inverted (the determinant
+ * of the linear transformation part is zero).
*/
public AffineTransform createInverse() throws NoninvertibleTransformException {
double det = getDeterminant();
@@ -731,25 +810,26 @@ public class AffineTransform implements Cloneable, Serializable {
// awt.204=Determinant is zero
throw new NoninvertibleTransformException(Messages.getString("awt.204")); //$NON-NLS-1$
}
- return new AffineTransform(
- m11 / det, // m00
+ return new AffineTransform(m11 / det, // m00
-m10 / det, // m10
-m01 / det, // m01
- m00 / det, // m11
+ m00 / det, // m11
(m01 * m12 - m11 * m02) / det, // m02
- (m10 * m02 - m00 * m12) / det // m12
+ (m10 * m02 - m00 * m12) / det // m12
);
}
/**
* Apply the current AffineTransform to the point.
*
- * @param src the original point.
- * @param dst Point2D object to be filled with the destination
- * coordinates (where the original point is sent by this AffineTransform). May be null.
- *
- * @return the point in the AffineTransform's image space where the
- * original point is sent.
+ * @param src
+ * the original point.
+ * @param dst
+ * Point2D object to be filled with the destination coordinates
+ * (where the original point is sent by this AffineTransform).
+ * May be null.
+ * @return the point in the AffineTransform's image space where the original
+ * point is sent.
*/
public Point2D transform(Point2D src, Point2D dst) {
if (dst == null) {
@@ -770,25 +850,29 @@ public class AffineTransform implements Cloneable, Serializable {
/**
* Applies this AffineTransform to an array of points.
*
- * @param src the array of points to be transformed.
- * @param srcOff the offset in the source point array of the first point
- * to be transformed.
- * @param dst the point array where the images of the points (after
- * applying the AffineTransformation) should be placed.
- * @param dstOff the offset in the destination array where the new
- * values should be written.
- * @param length the number of points to transform.
- *
- * @throws ArrayIndexOutOfBoundsException if
- * <code>srcOff + length > src.length</code> or
- * <code>dstOff + length > dst.length</code>.
+ * @param src
+ * the array of points to be transformed.
+ * @param srcOff
+ * the offset in the source point array of the first point to be
+ * transformed.
+ * @param dst
+ * the point array where the images of the points (after applying
+ * the AffineTransformation) should be placed.
+ * @param dstOff
+ * the offset in the destination array where the new values
+ * should be written.
+ * @param length
+ * the number of points to transform.
+ * @throws ArrayIndexOutOfBoundsException
+ * if <code>srcOff + length > src.length</code> or
+ * <code>dstOff + length > dst.length</code>.
*/
public void transform(Point2D[] src, int srcOff, Point2D[] dst, int dstOff, int length) {
while (--length >= 0) {
- Point2D srcPoint = src[srcOff++];
+ Point2D srcPoint = src[srcOff++];
double x = srcPoint.getX();
double y = srcPoint.getY();
- Point2D dstPoint = dst[dstOff];
+ Point2D dstPoint = dst[dstOff];
if (dstPoint == null) {
if (srcPoint instanceof Point2D.Double) {
dstPoint = new Point2D.Double();
@@ -800,27 +884,31 @@ public class AffineTransform implements Cloneable, Serializable {
dst[dstOff++] = dstPoint;
}
}
-
+
/**
- * Applies this AffineTransform to a set of points given
- * as an array of double values where every two values in the array
- * give the coordinates of a point; the even-indexed values giving the
- * x coordinates and the odd-indexed values giving the y coordinates.
- *
- * @param src the array of points to be transformed.
- * @param srcOff the offset in the source point array of the first point
- * to be transformed.
- * @param dst the point array where the images of the points (after
- * applying the AffineTransformation) should be placed.
- * @param dstOff the offset in the destination array where the new
- * values should be written.
- * @param length the number of points to transform.
- *
- * @throws ArrayIndexOutOfBoundsException if
- * <code>srcOff + length*2 > src.length</code> or
- * <code>dstOff + length*2 > dst.length</code>.
+ * Applies this AffineTransform to a set of points given as an array of
+ * double values where every two values in the array give the coordinates of
+ * a point; the even-indexed values giving the x coordinates and the
+ * odd-indexed values giving the y coordinates.
+ *
+ * @param src
+ * the array of points to be transformed.
+ * @param srcOff
+ * the offset in the source point array of the first point to be
+ * transformed.
+ * @param dst
+ * the point array where the images of the points (after applying
+ * the AffineTransformation) should be placed.
+ * @param dstOff
+ * the offset in the destination array where the new values
+ * should be written.
+ * @param length
+ * the number of points to transform.
+ * @throws ArrayIndexOutOfBoundsException
+ * if <code>srcOff + length*2 > src.length</code> or
+ * <code>dstOff + length*2 > dst.length</code>.
*/
- public void transform(double[] src, int srcOff, double[] dst, int dstOff, int length) {
+ public void transform(double[] src, int srcOff, double[] dst, int dstOff, int length) {
int step = 2;
if (src == dst && srcOff < dstOff && dstOff < srcOff + length * 2) {
srcOff = srcOff + length * 2 - 2;
@@ -838,23 +926,27 @@ public class AffineTransform implements Cloneable, Serializable {
}
/**
- * Applies this AffineTransform to a set of points given
- * as an array of float values where every two values in the array
- * give the coordinates of a point; the even-indexed values giving the
- * x coordinates and the odd-indexed values giving the y coordinates.
- *
- * @param src the array of points to be transformed.
- * @param srcOff the offset in the source point array of the first point
- * to be transformed.
- * @param dst the point array where the images of the points (after
- * applying the AffineTransformation) should be placed.
- * @param dstOff the offset in the destination array where the new
- * values should be written.
- * @param length the number of points to transform.
- *
- * @throws ArrayIndexOutOfBoundsException if
- * <code>srcOff + length*2 > src.length</code> or
- * <code>dstOff + length*2 > dst.length</code>.
+ * Applies this AffineTransform to a set of points given as an array of
+ * float values where every two values in the array give the coordinates of
+ * a point; the even-indexed values giving the x coordinates and the
+ * odd-indexed values giving the y coordinates.
+ *
+ * @param src
+ * the array of points to be transformed.
+ * @param srcOff
+ * the offset in the source point array of the first point to be
+ * transformed.
+ * @param dst
+ * the point array where the images of the points (after applying
+ * the AffineTransformation) should be placed.
+ * @param dstOff
+ * the offset in the destination array where the new values
+ * should be written.
+ * @param length
+ * the number of points to transform.
+ * @throws ArrayIndexOutOfBoundsException
+ * if <code>srcOff + length*2 > src.length</code> or
+ * <code>dstOff + length*2 > dst.length</code>.
*/
public void transform(float[] src, int srcOff, float[] dst, int dstOff, int length) {
int step = 2;
@@ -872,26 +964,30 @@ public class AffineTransform implements Cloneable, Serializable {
dstOff += step;
}
}
-
+
/**
- * Applies this AffineTransform to a set of points given
- * as an array of float values where every two values in the array
- * give the coordinates of a point; the even-indexed values giving the
- * x coordinates and the odd-indexed values giving the y coordinates.
- * The destination coordinates are given as values of type <code>double</code>.
- *
- * @param src the array of points to be transformed.
- * @param srcOff the offset in the source point array of the first point
- * to be transformed.
- * @param dst the point array where the images of the points (after
- * applying the AffineTransformation) should be placed.
- * @param dstOff the offset in the destination array where the new
- * values should be written.
- * @param length the number of points to transform.
- *
- * @throws ArrayIndexOutOfBoundsException if
- * <code>srcOff + length*2 > src.length</code> or
- * <code>dstOff + length*2 > dst.length</code>.
+ * Applies this AffineTransform to a set of points given as an array of
+ * float values where every two values in the array give the coordinates of
+ * a point; the even-indexed values giving the x coordinates and the
+ * odd-indexed values giving the y coordinates. The destination coordinates
+ * are given as values of type <code>double</code>.
+ *
+ * @param src
+ * the array of points to be transformed.
+ * @param srcOff
+ * the offset in the source point array of the first point to be
+ * transformed.
+ * @param dst
+ * the point array where the images of the points (after applying
+ * the AffineTransformation) should be placed.
+ * @param dstOff
+ * the offset in the destination array where the new values
+ * should be written.
+ * @param length
+ * the number of points to transform.
+ * @throws ArrayIndexOutOfBoundsException
+ * if <code>srcOff + length*2 > src.length</code> or
+ * <code>dstOff + length*2 > dst.length</code>.
*/
public void transform(float[] src, int srcOff, double[] dst, int dstOff, int length) {
while (--length >= 0) {
@@ -903,24 +999,28 @@ public class AffineTransform implements Cloneable, Serializable {
}
/**
- * Applies this AffineTransform to a set of points given
- * as an array of double values where every two values in the array
- * give the coordinates of a point; the even-indexed values giving the
- * x coordinates and the odd-indexed values giving the y coordinates.
- * The destination coordinates are given as values of type <code>float</code>.
- *
- * @param src the array of points to be transformed.
- * @param srcOff the offset in the source point array of the first point
- * to be transformed.
- * @param dst the point array where the images of the points (after
- * applying the AffineTransformation) should be placed.
- * @param dstOff the offset in the destination array where the new
- * values should be written.
- * @param length the number of points to transform.
- *
- * @throws ArrayIndexOutOfBoundsException if
- * <code>srcOff + length*2 > src.length</code> or
- * <code>dstOff + length*2 > dst.length</code>.
+ * Applies this AffineTransform to a set of points given as an array of
+ * double values where every two values in the array give the coordinates of
+ * a point; the even-indexed values giving the x coordinates and the
+ * odd-indexed values giving the y coordinates. The destination coordinates
+ * are given as values of type <code>float</code>.
+ *
+ * @param src
+ * the array of points to be transformed.
+ * @param srcOff
+ * the offset in the source point array of the first point to be
+ * transformed.
+ * @param dst
+ * the point array where the images of the points (after applying
+ * the AffineTransformation) should be placed.
+ * @param dstOff
+ * the offset in the destination array where the new values
+ * should be written.
+ * @param length
+ * the number of points to transform.
+ * @throws ArrayIndexOutOfBoundsException
+ * if <code>srcOff + length*2 > src.length</code> or
+ * <code>dstOff + length*2 > dst.length</code>.
*/
public void transform(double[] src, int srcOff, float[] dst, int dstOff, int length) {
while (--length >= 0) {
@@ -932,15 +1032,16 @@ public class AffineTransform implements Cloneable, Serializable {
}
/**
- * Transforms the point according to the linear transformation
- * part of this AffineTransformation (without applying the translation).
- *
- * @param src the original point.
- * @param dst the point object where the result of the delta transform
- * is written.
- *
- * @return the result of applying the delta transform (linear part
- * only) to the original point.
+ * Transforms the point according to the linear transformation part of this
+ * AffineTransformation (without applying the translation).
+ *
+ * @param src
+ * the original point.
+ * @param dst
+ * the point object where the result of the delta transform is
+ * written.
+ * @return the result of applying the delta transform (linear part only) to
+ * the original point.
*/
// TODO: is this right? if dst is null, we check what it's an
// instance of? Shouldn't it be src instanceof Point2D.Double?
@@ -961,24 +1062,28 @@ public class AffineTransform implements Cloneable, Serializable {
}
/**
- * Applies the linear transformation part of this AffineTransform
- * (ignoring the translation part) to a set of points given
- * as an array of double values where every two values in the array
- * give the coordinates of a point; the even-indexed values giving the
- * x coordinates and the odd-indexed values giving the y coordinates.
- *
- * @param src the array of points to be transformed.
- * @param srcOff the offset in the source point array of the first point
- * to be transformed.
- * @param dst the point array where the images of the points (after
- * applying the delta transformation) should be placed.
- * @param dstOff the offset in the destination array where the new
- * values should be written.
- * @param length the number of points to transform.
- *
- * @throws ArrayIndexOutOfBoundsException if
- * <code>srcOff + length*2 > src.length</code> or
- * <code>dstOff + length*2 > dst.length</code>.
+ * Applies the linear transformation part of this AffineTransform (ignoring
+ * the translation part) to a set of points given as an array of double
+ * values where every two values in the array give the coordinates of a
+ * point; the even-indexed values giving the x coordinates and the
+ * odd-indexed values giving the y coordinates.
+ *
+ * @param src
+ * the array of points to be transformed.
+ * @param srcOff
+ * the offset in the source point array of the first point to be
+ * transformed.
+ * @param dst
+ * the point array where the images of the points (after applying
+ * the delta transformation) should be placed.
+ * @param dstOff
+ * the offset in the destination array where the new values
+ * should be written.
+ * @param length
+ * the number of points to transform.
+ * @throws ArrayIndexOutOfBoundsException
+ * if <code>srcOff + length*2 > src.length</code> or
+ * <code>dstOff + length*2 > dst.length</code>.
*/
public void deltaTransform(double[] src, int srcOff, double[] dst, int dstOff, int length) {
while (--length >= 0) {
@@ -990,19 +1095,21 @@ public class AffineTransform implements Cloneable, Serializable {
}
/**
- * Transforms the point according to the inverse of this AffineTransformation.
- *
- * @param src the original point.
- * @param dst the point object where the result of the inverse transform
- * is written (may be null).
- *
- * @return the result of applying the inverse transform.
- * Inverse transform.
+ * Transforms the point according to the inverse of this
+ * AffineTransformation.
*
- * @throws NoninvertibleTransformException if this AffineTransform cannot be
- * inverted (the determinant of the linear transformation part is zero).
+ * @param src
+ * the original point.
+ * @param dst
+ * the point object where the result of the inverse transform is
+ * written (may be null).
+ * @return the result of applying the inverse transform. Inverse transform.
+ * @throws NoninvertibleTransformException
+ * if this AffineTransform cannot be inverted (the determinant
+ * of the linear transformation part is zero).
*/
- public Point2D inverseTransform(Point2D src, Point2D dst) throws NoninvertibleTransformException {
+ public Point2D inverseTransform(Point2D src, Point2D dst)
+ throws NoninvertibleTransformException {
double det = getDeterminant();
if (Math.abs(det) < ZERO) {
// awt.204=Determinant is zero
@@ -1025,29 +1132,33 @@ public class AffineTransform implements Cloneable, Serializable {
}
/**
- * Applies the inverse of this AffineTransform to a set of points given
- * as an array of double values where every two values in the array
- * give the coordinates of a point; the even-indexed values giving the
- * x coordinates and the odd-indexed values giving the y coordinates.
- *
- * @param src the array of points to be transformed.
- * @param srcOff the offset in the source point array of the first point
- * to be transformed.
- * @param dst the point array where the images of the points (after
- * applying the inverse of the AffineTransformation) should be placed.
- * @param dstOff the offset in the destination array where the new
- * values should be written.
- * @param length the number of points to transform.
- *
- * @throws ArrayIndexOutOfBoundsException if
- * <code>srcOff + length*2 > src.length</code> or
- * <code>dstOff + length*2 > dst.length</code>.
- * @throws NoninvertibleTransformException if this AffineTransform cannot be
- * inverted (the determinant of the linear transformation part is zero).
+ * Applies the inverse of this AffineTransform to a set of points given as
+ * an array of double values where every two values in the array give the
+ * coordinates of a point; the even-indexed values giving the x coordinates
+ * and the odd-indexed values giving the y coordinates.
+ *
+ * @param src
+ * the array of points to be transformed.
+ * @param srcOff
+ * the offset in the source point array of the first point to be
+ * transformed.
+ * @param dst
+ * the point array where the images of the points (after applying
+ * the inverse of the AffineTransformation) should be placed.
+ * @param dstOff
+ * the offset in the destination array where the new values
+ * should be written.
+ * @param length
+ * the number of points to transform.
+ * @throws ArrayIndexOutOfBoundsException
+ * if <code>srcOff + length*2 > src.length</code> or
+ * <code>dstOff + length*2 > dst.length</code>.
+ * @throws NoninvertibleTransformException
+ * if this AffineTransform cannot be inverted (the determinant
+ * of the linear transformation part is zero).
*/
public void inverseTransform(double[] src, int srcOff, double[] dst, int dstOff, int length)
- throws NoninvertibleTransformException
- {
+ throws NoninvertibleTransformException {
double det = getDeterminant();
if (Math.abs(det) < ZERO) {
// awt.204=Determinant is zero
@@ -1063,13 +1174,13 @@ public class AffineTransform implements Cloneable, Serializable {
}
/**
- * Creates a new shape whose data is given by applying this
- * AffineTransform to the specified shape.
- *
- * @param src the original shape whose data is to be transformed.
+ * Creates a new shape whose data is given by applying this AffineTransform
+ * to the specified shape.
*
- * @return the new shape found by applying this AffineTransform to
- * the original shape.
+ * @param src
+ * the original shape whose data is to be transformed.
+ * @return the new shape found by applying this AffineTransform to the
+ * original shape.
*/
public Shape createTransformedShape(Shape src) {
if (src == null) {
@@ -1086,9 +1197,7 @@ public class AffineTransform implements Cloneable, Serializable {
@Override
public String toString() {
- return
- getClass().getName() +
- "[[" + m00 + ", " + m01 + ", " + m02 + "], [" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ return getClass().getName() + "[[" + m00 + ", " + m01 + ", " + m02 + "], [" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ m10 + ", " + m11 + ", " + m12 + "]]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
@@ -1120,39 +1229,39 @@ public class AffineTransform implements Cloneable, Serializable {
}
if (obj instanceof AffineTransform) {
AffineTransform t = (AffineTransform)obj;
- return
- m00 == t.m00 && m01 == t.m01 &&
- m02 == t.m02 && m10 == t.m10 &&
- m11 == t.m11 && m12 == t.m12;
+ return m00 == t.m00 && m01 == t.m01 && m02 == t.m02 && m10 == t.m10 && m11 == t.m11
+ && m12 == t.m12;
}
return false;
}
-
/**
* Writes the AffineTrassform object to the output steam.
*
- * @param stream - the output stream
- *
- * @throws IOException - if there are I/O errors while writing to the output strem
+ * @param stream
+ * - the output stream.
+ * @throws IOException
+ * - if there are I/O errors while writing to the output stream.
*/
private void writeObject(java.io.ObjectOutputStream stream) throws IOException {
stream.defaultWriteObject();
}
-
/**
* Read the AffineTransform object from the input stream.
*
- * @param stream - the input steam
- *
- * @throws IOException - if there are I/O errors while reading from the input strem
- * @throws ClassNotFoundException - if class could not be found
+ * @param stream
+ * - the input stream.
+ * @throws IOException
+ * - if there are I/O errors while reading from the input
+ * stream.
+ * @throws ClassNotFoundException
+ * - if class could not be found.
*/
- private void readObject(java.io.ObjectInputStream stream) throws IOException, ClassNotFoundException {
+ private void readObject(java.io.ObjectInputStream stream) throws IOException,
+ ClassNotFoundException {
stream.defaultReadObject();
type = TYPE_UNKNOWN;
}
}
-
diff --git a/awt/java/awt/geom/Arc2D.java b/awt/java/awt/geom/Arc2D.java
index bc1e95c..56f5cd3 100644
--- a/awt/java/awt/geom/Arc2D.java
+++ b/awt/java/awt/geom/Arc2D.java
@@ -18,6 +18,7 @@
* @author Denis M. Kishenko
* @version $Revision$
*/
+
package java.awt.geom;
import java.util.NoSuchElementException;
@@ -25,59 +26,77 @@ import java.util.NoSuchElementException;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The Class Arc2D represents a segment of a curve inscribed
- * in a rectangle. The curve is defined by a start angle and an
- * extent angle (the end angle minus the start angle) as
- * a pie wedge whose point is in the center of the rectangle.
- * The Arc2D as a shape may be either OPEN (including nothing
- * but the curved arc segment itself), CHORD (the curved arc
- * segment closed by a connecting segment from the end to the
- * beginning of the arc, or PIE (the segments from the end
- * of the arc to the center of the rectangle and from the
- * center of the rectangle back to the arc's start point are
- * included).
+ * The Class Arc2D represents a segment of a curve inscribed in a rectangle. The
+ * curve is defined by a start angle and an extent angle (the end angle minus
+ * the start angle) as a pie wedge whose point is in the center of the
+ * rectangle. The Arc2D as a shape may be either OPEN (including nothing but the
+ * curved arc segment itself), CHORD (the curved arc segment closed by a
+ * connecting segment from the end to the beginning of the arc, or PIE (the
+ * segments from the end of the arc to the center of the rectangle and from the
+ * center of the rectangle back to the arc's start point are included).
+ *
+ * @since Android 1.0
*/
public abstract class Arc2D extends RectangularShape {
- /** The arc type OPEN indicates that the shape includes only the
- * curved arc segment. */
+ /**
+ * The arc type OPEN indicates that the shape includes only the curved arc
+ * segment.
+ */
public final static int OPEN = 0;
-
- /** The arc type CHORD indicates that as a shape the connecting
- * segment from the end point of the curved arc to the beginning
- * point is included. */
+
+ /**
+ * The arc type CHORD indicates that as a shape the connecting segment from
+ * the end point of the curved arc to the beginning point is included.
+ */
public final static int CHORD = 1;
-
- /** The arc type PIE indicates that as a shape the two segments
- * from the arc's endpoint to the center of the rectangle and from
- * the center of the rectangle to the arc's endpoint are included. */
+
+ /**
+ * The arc type PIE indicates that as a shape the two segments from the
+ * arc's endpoint to the center of the rectangle and from the center of the
+ * rectangle to the arc's endpoint are included.
+ */
public final static int PIE = 2;
/**
- * The Class Float is a subclass of Arc2D in which all of the
- * data values are given as floats.
+ * The Class Float is a subclass of Arc2D in which all of the data values
+ * are given as floats.
+ *
* @see Arc2D.Double
+ * @since Android 1.0
*/
public static class Float extends Arc2D {
- /** The x coordinate of the upper left corner of the rectangle that
- * contains the arc. */
+ /**
+ * The x coordinate of the upper left corner of the rectangle that
+ * contains the arc.
+ */
public float x;
-
- /** The y coordinate of the upper left corner of the rectangle that
- * contains the arc. */
+
+ /**
+ * The y coordinate of the upper left corner of the rectangle that
+ * contains the arc.
+ */
public float y;
-
- /** The width of the rectangle that contains the arc. */
+
+ /**
+ * The width of the rectangle that contains the arc.
+ */
public float width;
-
- /** The height of the rectangle that contains the arc. */
+
+ /**
+ * The height of the rectangle that contains the arc.
+ */
public float height;
-
- /** The start angle of the arc in degrees. */
+
+ /**
+ * The start angle of the arc in degrees.
+ */
public float start;
-
- /** The width angle of the arc in degrees. */
+
+ /**
+ * The width angle of the arc in degrees.
+ */
public float extent;
/**
@@ -90,8 +109,9 @@ public abstract class Arc2D extends RectangularShape {
/**
* Instantiates a new Arc2D of the specified type with float values.
*
- * @param type the type of the new Arc2D, either {@link Arc2D#OPEN},
- * {@link Arc2D#CHORD}, or {@link Arc2D#PIE}.
+ * @param type
+ * the type of the new Arc2D, either {@link Arc2D#OPEN},
+ * {@link Arc2D#CHORD}, or {@link Arc2D#PIE}.
*/
public Float(int type) {
super(type);
@@ -100,20 +120,26 @@ public abstract class Arc2D extends RectangularShape {
/**
* Instantiates a Arc2D with the specified float-valued data.
*
- * @param x the x coordinate of the upper left corner of the rectangle that
- * contains the arc.
- * @param y the y coordinate of the upper left corner of the rectangle that
- * contains the arc.
- * @param width the width of the rectangle that
- * contains the arc.
- * @param height the height of the rectangle that
- * contains the arc.
- * @param start the start angle of the arc in degrees.
- * @param extent the width angle of the arc in degrees.
- * @param type the type of the new Arc2D, either {@link Arc2D#OPEN},
- * {@link Arc2D#CHORD}, or {@link Arc2D#PIE}.
+ * @param x
+ * the x coordinate of the upper left corner of the rectangle
+ * that contains the arc.
+ * @param y
+ * the y coordinate of the upper left corner of the rectangle
+ * that contains the arc.
+ * @param width
+ * the width of the rectangle that contains the arc.
+ * @param height
+ * the height of the rectangle that contains the arc.
+ * @param start
+ * the start angle of the arc in degrees.
+ * @param extent
+ * the width angle of the arc in degrees.
+ * @param type
+ * the type of the new Arc2D, either {@link Arc2D#OPEN},
+ * {@link Arc2D#CHORD}, or {@link Arc2D#PIE}.
*/
- public Float(float x, float y, float width, float height, float start, float extent, int type) {
+ public Float(float x, float y, float width, float height, float start, float extent,
+ int type) {
super(type);
this.x = x;
this.y = y;
@@ -124,14 +150,18 @@ public abstract class Arc2D extends RectangularShape {
}
/**
- * Instantiates a new Angle2D with the specified float-valued data
- * and the bounding rectangle given by the parameter bounds.
+ * Instantiates a new Angle2D with the specified float-valued data and
+ * the bounding rectangle given by the parameter bounds.
*
- * @param bounds the bounding rectangle of the Angle2D.
- * @param start the start angle of the arc in degrees.
- * @param extent the width angle of the arc in degrees.
- * @param type the type of the new Arc2D, either {@link Arc2D#OPEN},
- * {@link Arc2D#CHORD}, or {@link Arc2D#PIE}.
+ * @param bounds
+ * the bounding rectangle of the Angle2D.
+ * @param start
+ * the start angle of the arc in degrees.
+ * @param extent
+ * the width angle of the arc in degrees.
+ * @param type
+ * the type of the new Arc2D, either {@link Arc2D#OPEN},
+ * {@link Arc2D#CHORD}, or {@link Arc2D#PIE}.
*/
public Float(Rectangle2D bounds, float start, float extent, int type) {
super(type);
@@ -148,8 +178,8 @@ public abstract class Arc2D extends RectangularShape {
return x;
}
- @Override
- public double getY() {
+ @Override
+ public double getY() {
return y;
}
@@ -179,9 +209,8 @@ public abstract class Arc2D extends RectangularShape {
}
@Override
- public void setArc(double x, double y, double width, double height,
- double start, double extent, int type)
- {
+ public void setArc(double x, double y, double width, double height, double start,
+ double extent, int type) {
this.setArcType(type);
this.x = (float)x;
this.y = (float)y;
@@ -209,30 +238,44 @@ public abstract class Arc2D extends RectangularShape {
}
/**
- * The Class Double is a subclass of Arc2D in which all of the
- * data values are given as doubles.
+ * The Class Double is a subclass of Arc2D in which all of the data values
+ * are given as doubles.
+ *
* @see Arc2D.Float
+ * @since Android 1.0
*/
public static class Double extends Arc2D {
- /** The x coordinate of the upper left corner of the rectangle that
- * contains the arc. */
+ /**
+ * The x coordinate of the upper left corner of the rectangle that
+ * contains the arc.
+ */
public double x;
-
- /** The y coordinate of the upper left corner of the rectangle that
- * contains the arc. */
+
+ /**
+ * The y coordinate of the upper left corner of the rectangle that
+ * contains the arc.
+ */
public double y;
-
- /** The width of the rectangle that contains the arc. */
+
+ /**
+ * The width of the rectangle that contains the arc.
+ */
public double width;
-
- /** The height of the rectangle that contains the arc. */
+
+ /**
+ * The height of the rectangle that contains the arc.
+ */
public double height;
-
- /** The start angle of the arc in degrees. */
+
+ /**
+ * The start angle of the arc in degrees.
+ */
public double start;
-
- /** The width angle of the arc in degrees. */
+
+ /**
+ * The width angle of the arc in degrees.
+ */
public double extent;
/**
@@ -245,8 +288,9 @@ public abstract class Arc2D extends RectangularShape {
/**
* Instantiates a new Arc2D of the specified type with double values.
*
- * @param type the type of the new Arc2D, either {@link Arc2D#OPEN},
- * {@link Arc2D#CHORD}, or {@link Arc2D#PIE}.
+ * @param type
+ * the type of the new Arc2D, either {@link Arc2D#OPEN},
+ * {@link Arc2D#CHORD}, or {@link Arc2D#PIE}.
*/
public Double(int type) {
super(type);
@@ -255,22 +299,26 @@ public abstract class Arc2D extends RectangularShape {
/**
* Instantiates a Arc2D with the specified double-valued data.
*
- * @param x the x coordinate of the upper left corner of the rectangle that
- * contains the arc.
- * @param y the y coordinate of the upper left corner of the rectangle that
- * contains the arc.
- * @param width the width of the rectangle that
- * contains the arc.
- * @param height the height of the rectangle that
- * contains the arc.
- * @param start the start angle of the arc in degrees.
- * @param extent the width angle of the arc in degrees.
- * @param type the type of the new Arc2D, either {@link Arc2D#OPEN},
- * {@link Arc2D#CHORD}, or {@link Arc2D#PIE}.
+ * @param x
+ * the x coordinate of the upper left corner of the rectangle
+ * that contains the arc.
+ * @param y
+ * the y coordinate of the upper left corner of the rectangle
+ * that contains the arc.
+ * @param width
+ * the width of the rectangle that contains the arc.
+ * @param height
+ * the height of the rectangle that contains the arc.
+ * @param start
+ * the start angle of the arc in degrees.
+ * @param extent
+ * the width angle of the arc in degrees.
+ * @param type
+ * the type of the new Arc2D, either {@link Arc2D#OPEN},
+ * {@link Arc2D#CHORD}, or {@link Arc2D#PIE}.
*/
- public Double(double x, double y, double width, double height,
- double start, double extent, int type)
- {
+ public Double(double x, double y, double width, double height, double start, double extent,
+ int type) {
super(type);
this.x = x;
this.y = y;
@@ -281,14 +329,18 @@ public abstract class Arc2D extends RectangularShape {
}
/**
- * Instantiates a new Angle2D with the specified float-valued data
- * and the bounding rectangle given by the parameter bounds.
+ * Instantiates a new Angle2D with the specified float-valued data and
+ * the bounding rectangle given by the parameter bounds.
*
- * @param bounds the bounding rectangle of the Angle2D.
- * @param start the start angle of the arc in degrees.
- * @param extent the width angle of the arc in degrees.
- * @param type the type of the new Arc2D, either {@link Arc2D#OPEN},
- * {@link Arc2D#CHORD}, or {@link Arc2D#PIE}.
+ * @param bounds
+ * the bounding rectangle of the Angle2D.
+ * @param start
+ * the start angle of the arc in degrees.
+ * @param extent
+ * the width angle of the arc in degrees.
+ * @param type
+ * the type of the new Arc2D, either {@link Arc2D#OPEN},
+ * {@link Arc2D#CHORD}, or {@link Arc2D#PIE}.
*/
public Double(Rectangle2D bounds, double start, double extent, int type) {
super(type);
@@ -336,9 +388,8 @@ public abstract class Arc2D extends RectangularShape {
}
@Override
- public void setArc(double x, double y, double width, double height,
- double start, double extent, int type)
- {
+ public void setArc(double x, double y, double width, double height, double start,
+ double extent, int type) {
this.setArcType(type);
this.x = x;
this.y = y;
@@ -366,73 +417,116 @@ public abstract class Arc2D extends RectangularShape {
}
/**
- * The Class Iterator is the subclass of PathIterator that is used to
+ * The Class Iterator is the subclass of PathIterator that is used to
* traverse the boundary of a shape of type Arc2D.
*/
class Iterator implements PathIterator {
- /** The x coordinate of the center of the arc's bounding rectangle. */
+ /**
+ * The x coordinate of the center of the arc's bounding rectangle.
+ */
double x;
- /** The y coordinate of the center of the arc's bounding rectangle. */
+ /**
+ * The y coordinate of the center of the arc's bounding rectangle.
+ */
double y;
- /** Half of the width of the arc's bounding rectangle (the radius in the case of a circular arc). */
+ /**
+ * Half of the width of the arc's bounding rectangle (the radius in the
+ * case of a circular arc).
+ */
double width;
-
- /** Half of the height of the arc's bounding rectangle (the radius in the case of a circular arc). */
+
+ /**
+ * Half of the height of the arc's bounding rectangle (the radius in the
+ * case of a circular arc).
+ */
double height;
-
- /** The start angle of the arc in degrees. */
+
+ /**
+ * The start angle of the arc in degrees.
+ */
double angle;
-
- /** The angle extent in degrees. */
+
+ /**
+ * The angle extent in degrees.
+ */
double extent;
-
- /** The closure type of the arc. */
+
+ /**
+ * The closure type of the arc.
+ */
int type;
-
- /** The path iterator transformation. */
+
+ /**
+ * The path iterator transformation.
+ */
AffineTransform t;
-
- /** The current segment index. */
+
+ /**
+ * The current segment index.
+ */
int index;
-
- /** The number of arc segments the source arc subdivided to be approximated by Bezier curves. Depends on extent value. */
+
+ /**
+ * The number of arc segments the source arc subdivided to be
+ * approximated by Bezier curves. Depends on extent value.
+ */
int arcCount;
-
- /** The number of line segments. Depends on closure type. */
+
+ /**
+ * The number of line segments. Depends on closure type.
+ */
int lineCount;
-
- /** The step to calculate next arc subdivision point. */
+
+ /**
+ * The step to calculate next arc subdivision point.
+ */
double step;
-
- /** The temporary value of cosinus of the current angle. */
+
+ /**
+ * The temporary value of cosinus of the current angle.
+ */
double cos;
- /** The temporary value of sinus of the current angle. */
+ /**
+ * The temporary value of sinus of the current angle.
+ */
double sin;
-
+
/** The coefficient to calculate control points of Bezier curves. */
double k;
-
- /** The temporary value of x coordinate of the Bezier curve control vector. */
+
+ /**
+ * The temporary value of x coordinate of the Bezier curve control
+ * vector.
+ */
double kx;
- /** The temporary value of y coordinate of the Bezier curve control vector. */
+ /**
+ * The temporary value of y coordinate of the Bezier curve control
+ * vector.
+ */
double ky;
-
- /** The x coordinate of the first path point (MOVE_TO). */
+
+ /**
+ * The x coordinate of the first path point (MOVE_TO).
+ */
double mx;
-
- /** The y coordinate of the first path point (MOVE_TO). */
+
+ /**
+ * The y coordinate of the first path point (MOVE_TO).
+ */
double my;
/**
* Constructs a new Arc2D.Iterator for given line and transformation
*
- * @param a - the source Arc2D object
- * @param t the AffineTransformation.
+ * @param a
+ * the source Arc2D object.
+ * @param t
+ * the AffineTransformation.
*/
Iterator(Arc2D a, AffineTransform t) {
if (width < 0 || height < 0) {
@@ -462,8 +556,7 @@ public abstract class Arc2D extends RectangularShape {
} else {
arcCount = (int)Math.rint(Math.abs(extent) / 90.0);
step = Math.toRadians(extent / arcCount);
- k = 4.0 / 3.0 * (1.0 - Math.cos(step / 2.0))
- / Math.sin(step / 2.0);
+ k = 4.0 / 3.0 * (1.0 - Math.cos(step / 2.0)) / Math.sin(step / 2.0);
}
lineCount = 0;
@@ -578,13 +671,16 @@ public abstract class Arc2D extends RectangularShape {
}
- /** The closure type of the arc. */
+ /**
+ * The closure type of the arc.
+ */
private int type;
/**
* Instantiates a new arc2D.
*
- * @param type the closure type.
+ * @param type
+ * the closure type.
*/
protected Arc2D(int type) {
setArcType(type);
@@ -595,11 +691,16 @@ public abstract class Arc2D extends RectangularShape {
* object with values either of type float or of type double depending on
* whether this Arc2D instance is of type Float or Double.
*
- * @param x the x coordinate of the upper left corner of the bounding rectangle.
- * @param y the y coordinate of the upper left corner of the bounding rectangle.
- * @param width the width of the bounding rectangle.
- * @param height the height of the bounding rectangle.
- *
+ * @param x
+ * the x coordinate of the upper left corner of the bounding
+ * rectangle.
+ * @param y
+ * the y coordinate of the upper left corner of the bounding
+ * rectangle.
+ * @param width
+ * the width of the bounding rectangle.
+ * @param height
+ * the height of the bounding rectangle.
* @return the corresponding Rectangle2D object.
*/
protected abstract Rectangle2D makeBounds(double x, double y, double width, double height);
@@ -621,39 +722,46 @@ public abstract class Arc2D extends RectangularShape {
/**
* Sets the start angle.
*
- * @param start the new start angle.
+ * @param start
+ * the new start angle.
*/
public abstract void setAngleStart(double start);
/**
* Sets the width angle.
*
- * @param extent the new width angle.
+ * @param extent
+ * the new width angle.
*/
public abstract void setAngleExtent(double extent);
/**
* Sets the data values that define the arc.
*
- * @param x the x coordinate of the upper left corner of the rectangle that
- * contains the arc.
- * @param y the y coordinate of the upper left corner of the rectangle that
- * contains the arc.
- * @param width the width of the rectangle that
- * contains the arc.
- * @param height the height of the rectangle that
- * contains the arc.
- * @param start the start angle of the arc in degrees.
- * @param extent the width angle of the arc in degrees.
- * @param type the type of the new Arc2D, either {@link Arc2D#OPEN},
- * {@link Arc2D#CHORD}, or {@link Arc2D#PIE}.
+ * @param x
+ * the x coordinate of the upper left corner of the rectangle
+ * that contains the arc.
+ * @param y
+ * the y coordinate of the upper left corner of the rectangle
+ * that contains the arc.
+ * @param width
+ * the width of the rectangle that contains the arc.
+ * @param height
+ * the height of the rectangle that contains the arc.
+ * @param start
+ * the start angle of the arc in degrees.
+ * @param extent
+ * the width angle of the arc in degrees.
+ * @param type
+ * the type of the new Arc2D, either {@link Arc2D#OPEN},
+ * {@link Arc2D#CHORD}, or {@link Arc2D#PIE}.
*/
- public abstract void setArc(double x, double y, double width,
- double height, double start, double extent, int type);
+ public abstract void setArc(double x, double y, double width, double height, double start,
+ double extent, int type);
/**
- * Gets the arc type, either {@link Arc2D#OPEN},
- * {@link Arc2D#CHORD}, or {@link Arc2D#PIE}.
+ * Gets the arc type, either {@link Arc2D#OPEN}, {@link Arc2D#CHORD}, or
+ * {@link Arc2D#PIE}.
*
* @return the arc type.
*/
@@ -662,10 +770,11 @@ public abstract class Arc2D extends RectangularShape {
}
/**
- * Sets the arc type, either {@link Arc2D#OPEN},
- * {@link Arc2D#CHORD}, or {@link Arc2D#PIE}.
+ * Sets the arc type, either {@link Arc2D#OPEN}, {@link Arc2D#CHORD}, or
+ * {@link Arc2D#PIE}.
*
- * @param type the new arc type.
+ * @param type
+ * the new arc type.
*/
public void setArcType(int type) {
if (type != OPEN && type != CHORD && type != PIE) {
@@ -682,9 +791,8 @@ public abstract class Arc2D extends RectangularShape {
*/
public Point2D getStartPoint() {
double a = Math.toRadians(getAngleStart());
- return new Point2D.Double(
- getX() + (1.0 + Math.cos(a)) * getWidth() / 2.0,
- getY() + (1.0 - Math.sin(a)) * getHeight() / 2.0);
+ return new Point2D.Double(getX() + (1.0 + Math.cos(a)) * getWidth() / 2.0, getY()
+ + (1.0 - Math.sin(a)) * getHeight() / 2.0);
}
/**
@@ -694,9 +802,8 @@ public abstract class Arc2D extends RectangularShape {
*/
public Point2D getEndPoint() {
double a = Math.toRadians(getAngleStart() + getAngleExtent());
- return new Point2D.Double(
- getX() + (1.0 + Math.cos(a)) * getWidth() / 2.0,
- getY() + (1.0 - Math.sin(a)) * getHeight() / 2.0);
+ return new Point2D.Double(getX() + (1.0 + Math.cos(a)) * getWidth() / 2.0, getY()
+ + (1.0 - Math.sin(a)) * getHeight() / 2.0);
}
public Rectangle2D getBounds2D() {
@@ -712,8 +819,8 @@ public abstract class Arc2D extends RectangularShape {
Point2D p2 = getEndPoint();
double bx1 = containsAngle(180.0) ? rx1 : Math.min(p1.getX(), p2.getX());
- double by1 = containsAngle(90.0) ? ry1 : Math.min(p1.getY(), p2.getY());
- double bx2 = containsAngle(0.0) ? rx2 : Math.max(p1.getX(), p2.getX());
+ double by1 = containsAngle(90.0) ? ry1 : Math.min(p1.getY(), p2.getY());
+ double bx2 = containsAngle(0.0) ? rx2 : Math.max(p1.getX(), p2.getX());
double by2 = containsAngle(270.0) ? ry2 : Math.max(p1.getY(), p2.getY());
if (type == PIE) {
@@ -735,12 +842,17 @@ public abstract class Arc2D extends RectangularShape {
/**
* Sets the data that defines the arc.
*
- * @param point the upper left corner of the bounding rectangle.
- * @param size the size of the bounding rectangle.
- * @param start the start angle of the arc in degrees.
- * @param extent the angle witdth of the arc in degrees.
- * @param type the closure type, either {@link Arc2D#OPEN},
- * {@link Arc2D#CHORD}, or {@link Arc2D#PIE}.
+ * @param point
+ * the upper left corner of the bounding rectangle.
+ * @param size
+ * the size of the bounding rectangle.
+ * @param start
+ * the start angle of the arc in degrees.
+ * @param extent
+ * the angle width of the arc in degrees.
+ * @param type
+ * the closure type, either {@link Arc2D#OPEN},
+ * {@link Arc2D#CHORD}, or {@link Arc2D#PIE}.
*/
public void setArc(Point2D point, Dimension2D size, double start, double extent, int type) {
setArc(point.getX(), point.getY(), size.getWidth(), size.getHeight(), start, extent, type);
@@ -749,11 +861,15 @@ public abstract class Arc2D extends RectangularShape {
/**
* Sets the data that defines the arc.
*
- * @param rect the arc's bounding rectangle.
- * @param start the start angle of the arc in degrees.
- * @param extent the angle witdth of the arc in degrees.
- * @param type the closure type, either {@link Arc2D#OPEN},
- * {@link Arc2D#CHORD}, or {@link Arc2D#PIE}.
+ * @param rect
+ * the arc's bounding rectangle.
+ * @param start
+ * the start angle of the arc in degrees.
+ * @param extent
+ * the angle width of the arc in degrees.
+ * @param type
+ * the closure type, either {@link Arc2D#OPEN},
+ * {@link Arc2D#CHORD}, or {@link Arc2D#PIE}.
*/
public void setArc(Rectangle2D rect, double start, double extent, int type) {
setArc(rect.getX(), rect.getY(), rect.getWidth(), rect.getHeight(), start, extent, type);
@@ -762,47 +878,60 @@ public abstract class Arc2D extends RectangularShape {
/**
* Sets the data that defines the arc by copying it from another Arc2D.
*
- * @param arc the arc whose data is copied into this arc.
+ * @param arc
+ * the arc whose data is copied into this arc.
*/
public void setArc(Arc2D arc) {
- setArc(arc.getX(), arc.getY(), arc.getWidth(), arc.getHeight(), arc
- .getAngleStart(), arc.getAngleExtent(), arc.getArcType());
+ setArc(arc.getX(), arc.getY(), arc.getWidth(), arc.getHeight(), arc.getAngleStart(), arc
+ .getAngleExtent(), arc.getArcType());
}
/**
* Sets the data for a circular arc by giving its center and radius.
*
- * @param x the x coordinate of the center of the circle.
- * @param y the y coordinate of the center of the circle.
- * @param radius the radius of the circle.
- * @param start the start angle of the arc in degrees.
- * @param extent the angle witdth of the arc in degrees.
- * @param type the closure type, either {@link Arc2D#OPEN},
- * {@link Arc2D#CHORD}, or {@link Arc2D#PIE}.
+ * @param x
+ * the x coordinate of the center of the circle.
+ * @param y
+ * the y coordinate of the center of the circle.
+ * @param radius
+ * the radius of the circle.
+ * @param start
+ * the start angle of the arc in degrees.
+ * @param extent
+ * the angle width of the arc in degrees.
+ * @param type
+ * the closure type, either {@link Arc2D#OPEN},
+ * {@link Arc2D#CHORD}, or {@link Arc2D#PIE}.
*/
- public void setArcByCenter(double x, double y, double radius, double start, double extent, int type) {
+ public void setArcByCenter(double x, double y, double radius, double start, double extent,
+ int type) {
setArc(x - radius, y - radius, radius * 2.0, radius * 2.0, start, extent, type);
}
/**
- * Sets the arc data for a circular arc based on two tangent lines
- * and the radius. The two tangent lines are the lines from p1
- * to p2 and from p2 to p3, which determine a unique circle
- * with the given radius. The start and end points of the arc
- * are the points where the circle touches the two lines, and
- * the arc itself is the shorter of the two circle segments
- * determined by the two points (in other words, it is the
- * piece of the circle that is closer to the lines' intersection
- * point p2 and forms a concave shape with the segments from p1 to p2
- * and from p2 to p3).
+ * Sets the arc data for a circular arc based on two tangent lines and the
+ * radius. The two tangent lines are the lines from p1 to p2 and from p2 to
+ * p3, which determine a unique circle with the given radius. The start and
+ * end points of the arc are the points where the circle touches the two
+ * lines, and the arc itself is the shorter of the two circle segments
+ * determined by the two points (in other words, it is the piece of the
+ * circle that is closer to the lines' intersection point p2 and forms a
+ * concave shape with the segments from p1 to p2 and from p2 to p3).
*
- * @param p1 a point which determines one of the two tanget lines (with p2).
- * @param p2 the point of intersection of the two tangent lines.
- * @param p3 a point which determines one of the two tanget lines (with p2).
- * @param radius the radius of the circular arc.
+ * @param p1
+ * a point which determines one of the two tangent lines (with
+ * p2).
+ * @param p2
+ * the point of intersection of the two tangent lines.
+ * @param p3
+ * a point which determines one of the two tangent lines (with
+ * p2).
+ * @param radius
+ * the radius of the circular arc.
*/
public void setArcByTangent(Point2D p1, Point2D p2, Point2D p3, double radius) {
- // Used simple geometric calculations of arc center, radius and angles by tangents
+ // Used simple geometric calculations of arc center, radius and angles
+ // by tangents
double a1 = -Math.atan2(p1.getY() - p2.getY(), p1.getX() - p2.getX());
double a2 = -Math.atan2(p3.getY() - p2.getY(), p3.getX() - p2.getX());
double am = (a1 + a2) / 2.0;
@@ -821,10 +950,11 @@ public abstract class Arc2D extends RectangularShape {
}
/**
- * Sets a new start angle to be the angle given by the the vector
- * from the current center point to the specified point.
+ * Sets a new start angle to be the angle given by the the vector from the
+ * current center point to the specified point.
*
- * @param point the point that determines the new start angle.
+ * @param point
+ * the point that determines the new start angle.
*/
public void setAngleStart(Point2D point) {
double angle = Math.atan2(point.getY() - getCenterY(), point.getX() - getCenterX());
@@ -832,20 +962,23 @@ public abstract class Arc2D extends RectangularShape {
}
/**
- * Sets the angles in terms of vectors from the current arc center
- * to the points (x1, y1) and (x2, y2). The start angle is given
- * by the vector from the current center to the point (x1, y1) and
- * the end angle is given by the vector from the center to the point
- * (x2, y2).
+ * Sets the angles in terms of vectors from the current arc center to the
+ * points (x1, y1) and (x2, y2). The start angle is given by the vector from
+ * the current center to the point (x1, y1) and the end angle is given by
+ * the vector from the center to the point (x2, y2).
*
- * @param x1 the x coordinate of the point whose vector from the center
- * point determines the new start angle of the arc.
- * @param y1 the y coordinate of the point whose vector from the center
- * point determines the new start angle of the arc.
- * @param x2 the x coordinate of the point whose vector from the center
- * point determines the new end angle of the arc.
- * @param y2 the y coordinate of the point whose vector from the center
- * point determines the new end angle of the arc.
+ * @param x1
+ * the x coordinate of the point whose vector from the center
+ * point determines the new start angle of the arc.
+ * @param y1
+ * the y coordinate of the point whose vector from the center
+ * point determines the new start angle of the arc.
+ * @param x2
+ * the x coordinate of the point whose vector from the center
+ * point determines the new end angle of the arc.
+ * @param y2
+ * the y coordinate of the point whose vector from the center
+ * point determines the new end angle of the arc.
*/
public void setAngles(double x1, double y1, double x2, double y2) {
double cx = getCenterX();
@@ -861,29 +994,30 @@ public abstract class Arc2D extends RectangularShape {
}
/**
- * Sets the angles in terms of vectors from the current arc center
- * to the points p1 and p2. The start angle is given
- * by the vector from the current center to the point p1 and
- * the end angle is given by the vector from the center to the point
- * p2.
+ * Sets the angles in terms of vectors from the current arc center to the
+ * points p1 and p2. The start angle is given by the vector from the current
+ * center to the point p1 and the end angle is given by the vector from the
+ * center to the point p2.
*
- * @param p1 the point whose vector from the center
- * point determines the new start angle of the arc.
- * @param p2 the point whose vector from the center
- * point determines the new end angle of the arc.
+ * @param p1
+ * the point whose vector from the center point determines the
+ * new start angle of the arc.
+ * @param p2
+ * the point whose vector from the center point determines the
+ * new end angle of the arc.
*/
public void setAngles(Point2D p1, Point2D p2) {
setAngles(p1.getX(), p1.getY(), p2.getX(), p2.getY());
}
/**
- * Normalizes the angle by removing extra winding (past 360 degrees)
- * and placing it in the positive degree range.
+ * Normalizes the angle by removing extra winding (past 360 degrees) and
+ * placing it in the positive degree range.
*
- * @param angle - the source angle in degrees
- *
- * @return an angle between 0 and 360 degrees which corresponds
- * to the same direction vector as the source angle.
+ * @param angle
+ * the source angle in degrees.
+ * @return an angle between 0 and 360 degrees which corresponds to the same
+ * direction vector as the source angle.
*/
double getNormAngle(double angle) {
double n = Math.floor(angle / 360.0);
@@ -893,10 +1027,10 @@ public abstract class Arc2D extends RectangularShape {
/**
* Determines whether the given angle is contained in the span of the arc.
*
- * @param angle the angle to test in degrees.
- *
- * @return true, if the given angle is between the start angle and
- * the end angle of the arc.
+ * @param angle
+ * the angle to test in degrees.
+ * @return true, if the given angle is between the start angle and the end
+ * angle of the arc.
*/
public boolean containsAngle(double angle) {
double extent = getAngleExtent();
@@ -912,8 +1046,7 @@ public abstract class Arc2D extends RectangularShape {
if (a2 < 0.0) {
return angle >= a2 + 360.0 || angle <= a1;
}
- return extent > 0.0 ? a1 <= angle && angle <= a2 : a2 <= angle
- && angle <= a1;
+ return extent > 0.0 ? a1 <= angle && angle <= a2 : a2 <= angle && angle <= a1;
}
public boolean contains(double px, double py) {
@@ -931,8 +1064,7 @@ public abstract class Arc2D extends RectangularShape {
return true;
}
- boolean containsAngle = containsAngle(Math.toDegrees(-Math
- .atan2(ny, nx)));
+ boolean containsAngle = containsAngle(Math.toDegrees(-Math.atan2(ny, nx)));
if (type == PIE) {
return containsAngle;
}
@@ -943,14 +1075,13 @@ public abstract class Arc2D extends RectangularShape {
Line2D l = new Line2D.Double(getStartPoint(), getEndPoint());
int ccw1 = l.relativeCCW(px, py);
int ccw2 = l.relativeCCW(getCenterX(), getCenterY());
- return ccw1 == 0 || ccw2 == 0
- || ((ccw1 + ccw2) == 0 ^ absExtent > 180.0);
+ return ccw1 == 0 || ccw2 == 0 || ((ccw1 + ccw2) == 0 ^ absExtent > 180.0);
}
public boolean contains(double rx, double ry, double rw, double rh) {
- if (!(contains(rx, ry) && contains(rx + rw, ry)
- && contains(rx + rw, ry + rh) && contains(rx, ry + rh))) {
+ if (!(contains(rx, ry) && contains(rx + rw, ry) && contains(rx + rw, ry + rh) && contains(
+ rx, ry + rh))) {
return false;
}
@@ -1003,9 +1134,8 @@ public abstract class Arc2D extends RectangularShape {
}
if (type == PIE) {
- if (r.intersectsLine(p1.getX(), p1.getY(), cx, cy) ||
- r.intersectsLine(p2.getX(), p2.getY(), cx, cy))
- {
+ if (r.intersectsLine(p1.getX(), p1.getY(), cx, cy)
+ || r.intersectsLine(p2.getX(), p2.getY(), cx, cy)) {
return true;
}
} else {
@@ -1025,4 +1155,3 @@ public abstract class Arc2D extends RectangularShape {
}
}
-
diff --git a/awt/java/awt/geom/Area.java b/awt/java/awt/geom/Area.java
index bc27d4e..e6619e3 100644
--- a/awt/java/awt/geom/Area.java
+++ b/awt/java/awt/geom/Area.java
@@ -18,6 +18,7 @@
* @author Denis M. Kishenko
* @version $Revision$
*/
+
package java.awt.geom;
import java.awt.Rectangle;
@@ -27,13 +28,18 @@ import java.awt.geom.Rectangle2D;
import java.util.NoSuchElementException;
import org.apache.harmony.awt.internal.nls.Messages;
+import org.apache.harmony.luni.util.NotImplementedException;
/**
* The Class Area provides a minimal implementation for a generic shape.
+ *
+ * @since Android 1.0
*/
public class Area implements Shape, Cloneable {
- /** The source Shape object. */
+ /**
+ * The source Shape object.
+ */
Shape s;
/**
@@ -80,7 +86,8 @@ public class Area implements Shape, Cloneable {
/**
* Instantiates a new area with data given by the specified shape.
*
- * @param s the shape that gives the data for this Area
+ * @param s
+ * the shape that gives the data for this Area.
*/
public Area(Shape s) {
if (s == null) {
@@ -114,11 +121,11 @@ public class Area implements Shape, Cloneable {
/**
* Tests whether the object is equal to this Area.
*
- * @param obj the object to compare
- *
- * @return true, if successful
- *
- * @throws NotImplementedException if this method is not implemented
+ * @param obj
+ * the object to compare.
+ * @return true, if successful.
+ * @throws NotImplementedException
+ * if this method is not implemented.
*/
public boolean equals(Area obj) throws org.apache.harmony.luni.util.NotImplementedException {
throw new RuntimeException("Not implemented"); //$NON-NLS-1$
@@ -140,7 +147,7 @@ public class Area implements Shape, Cloneable {
}
public Rectangle2D getBounds2D() {
- return s == null ? new Rectangle2D.Double(): s.getBounds2D();
+ return s == null ? new Rectangle2D.Double() : s.getBounds2D();
}
public PathIterator getPathIterator(AffineTransform t) {
@@ -154,32 +161,34 @@ public class Area implements Shape, Cloneable {
/**
* Adds the specified area to this area.
*
- * @param area the area to add to this area
- *
- * @throws NotImplementedException if this method is not implemented
+ * @param area
+ * the area to add to this area.
+ * @throws NotImplementedException
+ * if this method is not implemented.
*/
public void add(Area area) throws org.apache.harmony.luni.util.NotImplementedException {
throw new RuntimeException("Not implemented"); //$NON-NLS-1$
}
/**
- * Performs an exclusive or operation between this shape and the
- * specified shape.
+ * Performs an exclusive or operation between this shape and the specified
+ * shape.
*
- * @param area the area to XOR against this area
- *
- * @throws NotImplementedException if this method is not implemented
+ * @param area
+ * the area to XOR against this area.
+ * @throws NotImplementedException
+ * if this method is not implemented.
*/
public void exclusiveOr(Area area) throws org.apache.harmony.luni.util.NotImplementedException {
throw new RuntimeException("Not implemented"); //$NON-NLS-1$
}
/**
- * Extracts a Rectangle2D from the source shape if the underlying shape
- * data describes a rectangle.
+ * Extracts a Rectangle2D from the source shape if the underlying shape data
+ * describes a rectangle.
*
- * @return a Rectangle2D object if the source shape is rectangle,
- * or null if shape is empty or not rectangle.
+ * @return a Rectangle2D object if the source shape is rectangle, or null if
+ * shape is empty or not rectangle.
*/
Rectangle2D extractRectangle() {
if (s == null) {
@@ -189,7 +198,7 @@ public class Area implements Shape, Cloneable {
int count = 0;
PathIterator p = s.getPathIterator(null);
float[] coords = new float[6];
- while(!p.isDone()) {
+ while (!p.isDone()) {
int type = p.currentSegment(coords);
if (count > 12 || type == PathIterator.SEG_QUADTO || type == PathIterator.SEG_CUBICTO) {
return null;
@@ -198,21 +207,22 @@ public class Area implements Shape, Cloneable {
points[count++] = coords[1];
p.next();
}
- if (points[0] == points[6] && points[6] == points[8] && points[2] == points[4] &&
- points[1] == points[3] && points[3] == points[9] && points[5] == points[7])
- {
- return new Rectangle2D.Float(points[0], points[1], points[2] - points[0], points[7] - points[1]);
+ if (points[0] == points[6] && points[6] == points[8] && points[2] == points[4]
+ && points[1] == points[3] && points[3] == points[9] && points[5] == points[7]) {
+ return new Rectangle2D.Float(points[0], points[1], points[2] - points[0], points[7]
+ - points[1]);
}
return null;
}
-
+
/**
- * Reduces the size of this Area by intersecting it with the
- * specified Area if they are both rectangles.
+ * Reduces the size of this Area by intersecting it with the specified Area
+ * if they are both rectangles.
*
- * @see java.awt.geom.Rectangle2D#intersect(Rectangle2D, Rectangle2D, Rectangle2D)
- *
- * @param area the area
+ * @see java.awt.geom.Rectangle2D#intersect(Rectangle2D, Rectangle2D,
+ * Rectangle2D)
+ * @param area
+ * the area.
*/
public void intersect(Area area) {
Rectangle2D src1 = extractRectangle();
@@ -225,9 +235,10 @@ public class Area implements Shape, Cloneable {
/**
* Subtract the specified area from this area.
*
- * @param area the area to subtract
- *
- * @throws NotImplementedException if this method is not implemented
+ * @param area
+ * the area to subtract.
+ * @throws NotImplementedException
+ * if this method is not implemented.
*/
public void subtract(Area area) throws org.apache.harmony.luni.util.NotImplementedException {
throw new RuntimeException("Not implemented"); //$NON-NLS-1$
@@ -236,9 +247,9 @@ public class Area implements Shape, Cloneable {
/**
* Checks if this Area is empty.
*
- * @return true, if this Area is empty
- *
- * @throws NotImplementedException if this method is not implemented
+ * @return true, if this Area is empty.
+ * @throws NotImplementedException
+ * if this method is not implemented.
*/
public boolean isEmpty() throws org.apache.harmony.luni.util.NotImplementedException {
throw new RuntimeException("Not implemented"); //$NON-NLS-1$
@@ -247,9 +258,9 @@ public class Area implements Shape, Cloneable {
/**
* Checks if this Area is polygonal.
*
- * @return true, if this Area is polygonal
- *
- * @throws NotImplementedException if this method is not implemented
+ * @return true, if this Area is polygonal.
+ * @throws NotImplementedException
+ * if this method is not implemented.
*/
public boolean isPolygonal() throws org.apache.harmony.luni.util.NotImplementedException {
throw new RuntimeException("Not implemented"); //$NON-NLS-1$
@@ -258,9 +269,9 @@ public class Area implements Shape, Cloneable {
/**
* Checks if this Area is rectangular.
*
- * @return true, if this Area is rectangular
- *
- * @throws NotImplementedException if this method is not implemented
+ * @return true, if this Area is rectangular.
+ * @throws NotImplementedException
+ * if this method is not implemented.
*/
public boolean isRectangular() throws org.apache.harmony.luni.util.NotImplementedException {
throw new RuntimeException("Not implemented"); //$NON-NLS-1$
@@ -269,9 +280,9 @@ public class Area implements Shape, Cloneable {
/**
* Checks if this Area is singular.
*
- * @return true, if this Area is singular
- *
- * @throws NotImplementedException if this method is not implemented
+ * @return true, if this Area is singular.
+ * @throws NotImplementedException
+ * if this method is not implemented.
*/
public boolean isSingular() throws org.apache.harmony.luni.util.NotImplementedException {
throw new RuntimeException("Not implemented"); //$NON-NLS-1$
@@ -280,30 +291,32 @@ public class Area implements Shape, Cloneable {
/**
* Resets the data of this Area.
*
- * @throws NotImplementedException if this method is not implemented
+ * @throws NotImplementedException
+ * if this method is not implemented.
*/
public void reset() throws org.apache.harmony.luni.util.NotImplementedException {
throw new RuntimeException("Not implemented"); //$NON-NLS-1$
}
/**
- * Transforms the data of this Area according to the specified
+ * Transforms the data of this Area according to the specified
* AffineTransform.
*
- * @param t the transform to use to transform the data
+ * @param t
+ * the transform to use to transform the data.
*/
public void transform(AffineTransform t) {
s = t.createTransformedShape(s);
}
/**
- * Creates a new Area that is the result of transforming the data
- * of this Area according to the specified AffineTransform.
- *
- * @param t the transform to use to transform the data
+ * Creates a new Area that is the result of transforming the data of this
+ * Area according to the specified AffineTransform.
*
- * @return the new Area that is the result of transforming the data
- * of this Area according to the specified AffineTransform.
+ * @param t
+ * the transform to use to transform the data.
+ * @return the new Area that is the result of transforming the data of this
+ * Area according to the specified AffineTransform.
*/
public Area createTransformedArea(AffineTransform t) {
return s == null ? new Area() : new Area(t.createTransformedShape(s));
diff --git a/awt/java/awt/geom/CubicCurve2D.java b/awt/java/awt/geom/CubicCurve2D.java
index 3e440c8..1ddedf3 100644
--- a/awt/java/awt/geom/CubicCurve2D.java
+++ b/awt/java/awt/geom/CubicCurve2D.java
@@ -18,6 +18,7 @@
* @author Denis M. Kishenko
* @version $Revision$
*/
+
package java.awt.geom;
import java.awt.Rectangle;
@@ -28,49 +29,69 @@ import org.apache.harmony.awt.gl.Crossing;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The Class CubicCurve2D is a Shape that represents a segment of a
- * quadratic (Bezier) curve. The curved segment is determined by four points:
- * a start point, an end point, and two control points.
- * The control points give information about the tangent and next
- * derivative at the endpoints according to the standard theory of
- * Bezier curves. For more information on Bezier curves,
- * see <a href="http://en.wikipedia.org/wiki/B%C3%A9zier_curve">this article</a>.
+ * The Class CubicCurve2D is a Shape that represents a segment of a quadratic
+ * (Bezier) curve. The curved segment is determined by four points: a start
+ * point, an end point, and two control points. The control points give
+ * information about the tangent and next derivative at the endpoints according
+ * to the standard theory of Bezier curves. For more information on Bezier
+ * curves, see <a href="http://en.wikipedia.org/wiki/B%C3%A9zier_curve">this
+ * article</a>.
+ *
+ * @since Android 1.0
*/
public abstract class CubicCurve2D implements Shape, Cloneable {
/**
- * The Class Float is the subclass of CubicCurve2D that has all
- * of its data values stored with float-level precision.
+ * The Class Float is the subclass of CubicCurve2D that has all of its data
+ * values stored with float-level precision.
+ *
+ * @since Android 1.0
*/
public static class Float extends CubicCurve2D {
- /** The x coordinate of the starting point. */
+ /**
+ * The x coordinate of the starting point.
+ */
public float x1;
-
- /** The y coordinate of the starting point. */
+
+ /**
+ * The y coordinate of the starting point.
+ */
public float y1;
-
- /** The x coordinate of the first control point. */
+
+ /**
+ * The x coordinate of the first control point.
+ */
public float ctrlx1;
-
- /** The y coordinate of the first control point. */
+
+ /**
+ * The y coordinate of the first control point.
+ */
public float ctrly1;
-
- /** The x coordinate of the second control point. */
+
+ /**
+ * The x coordinate of the second control point.
+ */
public float ctrlx2;
-
- /** The y coordinate of the second control point. */
+
+ /**
+ * The y coordinate of the second control point.
+ */
public float ctrly2;
-
- /** The x coordinate of the end point. */
+
+ /**
+ * The x coordinate of the end point.
+ */
public float x2;
-
- /** The y coordinate of the end point. */
+
+ /**
+ * The y coordinate of the end point.
+ */
public float y2;
/**
- * Instantiates a new float-valued CubicCurve2D with all coordinate values
- * set to zero.
+ * Instantiates a new float-valued CubicCurve2D with all coordinate
+ * values set to zero.
*/
public Float() {
}
@@ -79,16 +100,25 @@ public abstract class CubicCurve2D implements Shape, Cloneable {
* Instantiates a new float-valued CubicCurve2D with the specified
* coordinate values.
*
- * @param x1 the x coordinate of the starting point
- * @param y1 the y coordinate of the starting point
- * @param ctrlx1 the x coordinate of the first control point
- * @param ctrly1 the y coordinate of the first control point
- * @param ctrlx2 the x coordinate of the second control point
- * @param ctrly2 the y coordinate of the second control point
- * @param x2 the x coordinate of the end point
- * @param y2 the y coordinate of the end point
+ * @param x1
+ * the x coordinate of the starting point.
+ * @param y1
+ * the y coordinate of the starting point.
+ * @param ctrlx1
+ * the x coordinate of the first control point.
+ * @param ctrly1
+ * the y coordinate of the first control point.
+ * @param ctrlx2
+ * the x coordinate of the second control point.
+ * @param ctrly2
+ * the y coordinate of the second control point.
+ * @param x2
+ * the x coordinate of the end point.
+ * @param y2
+ * the y coordinate of the end point.
*/
- public Float(float x1, float y1, float ctrlx1, float ctrly1, float ctrlx2, float ctrly2, float x2, float y2) {
+ public Float(float x1, float y1, float ctrlx1, float ctrly1, float ctrlx2, float ctrly2,
+ float x2, float y2) {
setCurve(x1, y1, ctrlx1, ctrly1, ctrlx2, ctrly2, x2, y2);
}
@@ -153,9 +183,8 @@ public abstract class CubicCurve2D implements Shape, Cloneable {
}
@Override
- public void setCurve(double x1, double y1, double ctrlx1, double ctrly1,
- double ctrlx2, double ctrly2, double x2, double y2)
- {
+ public void setCurve(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2,
+ double ctrly2, double x2, double y2) {
this.x1 = (float)x1;
this.y1 = (float)y1;
this.ctrlx1 = (float)ctrlx1;
@@ -169,18 +198,25 @@ public abstract class CubicCurve2D implements Shape, Cloneable {
/**
* Sets the data values of the curve.
*
- * @param x1 the x coordinate of the starting point
- * @param y1 the y coordinate of the starting point
- * @param ctrlx1 the x coordinate of the first control point
- * @param ctrly1 the y coordinate of the first control point
- * @param ctrlx2 the x coordinate of the second control point
- * @param ctrly2 the y coordinate of the second control point
- * @param x2 the x coordinate of the end point
- * @param y2 the y coordinate of the end point
+ * @param x1
+ * the x coordinate of the starting point.
+ * @param y1
+ * the y coordinate of the starting point.
+ * @param ctrlx1
+ * the x coordinate of the first control point.
+ * @param ctrly1
+ * the y coordinate of the first control point.
+ * @param ctrlx2
+ * the x coordinate of the second control point.
+ * @param ctrly2
+ * the y coordinate of the second control point.
+ * @param x2
+ * the x coordinate of the end point.
+ * @param y2
+ * the y coordinate of the end point.
*/
- public void setCurve(float x1, float y1, float ctrlx1, float ctrly1,
- float ctrlx2, float ctrly2, float x2, float y2)
- {
+ public void setCurve(float x1, float y1, float ctrlx1, float ctrly1, float ctrlx2,
+ float ctrly2, float x2, float y2) {
this.x1 = x1;
this.y1 = y1;
this.ctrlx1 = ctrlx1;
@@ -201,38 +237,56 @@ public abstract class CubicCurve2D implements Shape, Cloneable {
}
/**
- * The Class Double is the subclass of CubicCurve2D that has all
- * of its data values stored with double-level precision.
+ * The Class Double is the subclass of CubicCurve2D that has all of its data
+ * values stored with double-level precision.
+ *
+ * @since Android 1.0
*/
public static class Double extends CubicCurve2D {
- /** The x coordinate of the starting point. */
+ /**
+ * The x coordinate of the starting point.
+ */
public double x1;
-
- /** The y coordinate of the starting point. */
+
+ /**
+ * The y coordinate of the starting point.
+ */
public double y1;
-
- /** The x coordinate of the first control point. */
+
+ /**
+ * The x coordinate of the first control point.
+ */
public double ctrlx1;
-
- /** The y coordinate of the first control point. */
+
+ /**
+ * The y coordinate of the first control point.
+ */
public double ctrly1;
-
- /** The x coordinate of the second control point. */
+
+ /**
+ * The x coordinate of the second control point.
+ */
public double ctrlx2;
-
- /** The y coordinate of the second control point. */
+
+ /**
+ * The y coordinate of the second control point.
+ */
public double ctrly2;
-
- /** The x coordinate of the end point. */
+
+ /**
+ * The x coordinate of the end point.
+ */
public double x2;
-
- /** The y coordinate of the end point. */
+
+ /**
+ * The y coordinate of the end point.
+ */
public double y2;
/**
- * Instantiates a new double-valued CubicCurve2D with all coordinate values
- * set to zero.
+ * Instantiates a new double-valued CubicCurve2D with all coordinate
+ * values set to zero.
*/
public Double() {
}
@@ -241,17 +295,25 @@ public abstract class CubicCurve2D implements Shape, Cloneable {
* Instantiates a new double-valued CubicCurve2D with the specified
* coordinate values.
*
- * @param x1 the x coordinate of the starting point
- * @param y1 the y coordinate of the starting point
- * @param ctrlx1 the x coordinate of the first control point
- * @param ctrly1 the y coordinate of the first control point
- * @param ctrlx2 the x coordinate of the second control point
- * @param ctrly2 the y coordinate of the second control point
- * @param x2 the x coordinate of the end point
- * @param y2 the y coordinate of the end point
+ * @param x1
+ * the x coordinate of the starting point.
+ * @param y1
+ * the y coordinate of the starting point.
+ * @param ctrlx1
+ * the x coordinate of the first control point.
+ * @param ctrly1
+ * the y coordinate of the first control point.
+ * @param ctrlx2
+ * the x coordinate of the second control point.
+ * @param ctrly2
+ * the y coordinate of the second control point.
+ * @param x2
+ * the x coordinate of the end point.
+ * @param y2
+ * the y coordinate of the end point.
*/
- public Double(double x1, double y1, double ctrlx1, double ctrly1,
- double ctrlx2, double ctrly2, double x2, double y2) {
+ public Double(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2,
+ double ctrly2, double x2, double y2) {
setCurve(x1, y1, ctrlx1, ctrly1, ctrlx2, ctrly2, x2, y2);
}
@@ -316,9 +378,8 @@ public abstract class CubicCurve2D implements Shape, Cloneable {
}
@Override
- public void setCurve(double x1, double y1, double ctrlx1, double ctrly1,
- double ctrlx2, double ctrly2, double x2, double y2)
- {
+ public void setCurve(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2,
+ double ctrly2, double x2, double y2) {
this.x1 = x1;
this.y1 = y1;
this.ctrlx1 = ctrlx1;
@@ -339,27 +400,36 @@ public abstract class CubicCurve2D implements Shape, Cloneable {
}
/*
- * CubicCurve2D path iterator
+ * CubicCurve2D path iterator
*/
/**
* The Iterator class for the Shape CubicCurve2D.
*/
class Iterator implements PathIterator {
- /** The source CubicCurve2D object. */
+ /**
+ * The source CubicCurve2D object.
+ */
CubicCurve2D c;
-
- /** The path iterator transformation. */
+
+ /**
+ * The path iterator transformation.
+ */
AffineTransform t;
-
- /** The current segmenet index. */
+
+ /**
+ * The current segment index.
+ */
int index;
/**
- * Constructs a new CubicCurve2D.Iterator for given line and transformation
+ * Constructs a new CubicCurve2D.Iterator for given line and
+ * transformation
*
- * @param c - the source CubicCurve2D object
- * @param t the t
+ * @param c
+ * the source CubicCurve2D object.
+ * @param t
+ * the affine transformation object.
*/
Iterator(CubicCurve2D c, AffineTransform t) {
this.c = c;
@@ -443,42 +513,42 @@ public abstract class CubicCurve2D implements Shape, Cloneable {
/**
* Gets the x coordinate of the starting point.
*
- * @return the x coordinate of the starting point
+ * @return the x coordinate of the starting point.
*/
public abstract double getX1();
/**
* Gets the y coordinate of the starting point.
*
- * @return the y coordinate of the starting point
+ * @return the y coordinate of the starting point.
*/
public abstract double getY1();
/**
* Gets the starting point.
*
- * @return the starting point
+ * @return the starting point.
*/
public abstract Point2D getP1();
/**
* Gets the x coordinate of the first control point.
*
- * @return the x coordinate of the first control point
+ * @return the x coordinate of the first control point.
*/
public abstract double getCtrlX1();
/**
* Gets the y coordinate of the first control point.
*
- * @return the y coordinate of the first control point
+ * @return the y coordinate of the first control point.
*/
public abstract double getCtrlY1();
/**
* Gets the second control point.
*
- * @return the second control point
+ * @return the second control point.
*/
public abstract Point2D getCtrlP1();
@@ -499,42 +569,50 @@ public abstract class CubicCurve2D implements Shape, Cloneable {
/**
* Gets the second control point.
*
- * @return the second control point
+ * @return the second control point.
*/
public abstract Point2D getCtrlP2();
/**
* Gets the x coordinate of the end point.
*
- * @return the x coordinate of the end point
+ * @return the x coordinate of the end point.
*/
public abstract double getX2();
/**
* Gets the y coordinate of the end point.
*
- * @return the y coordinate of the end point
+ * @return the y coordinate of the end point.
*/
public abstract double getY2();
/**
* Gets the end point.
*
- * @return the end point
+ * @return the end point.
*/
public abstract Point2D getP2();
/**
* Sets the data of the curve.
*
- * @param x1 the x coordinate of the starting point
- * @param y1 the y coordinate of the starting point
- * @param ctrlx1 the x coordinate of the first control point
- * @param ctrly1 the y coordinate of the first control point
- * @param ctrlx2 the x coordinate of the second control point
- * @param ctrly2 the y coordinate of the second control point
- * @param x2 the x coordinate of the end point
- * @param y2 the y coordinate of the end point
+ * @param x1
+ * the x coordinate of the starting point.
+ * @param y1
+ * the y coordinate of the starting point.
+ * @param ctrlx1
+ * the x coordinate of the first control point.
+ * @param ctrly1
+ * the y coordinate of the first control point.
+ * @param ctrlx2
+ * the x coordinate of the second control point.
+ * @param ctrly2
+ * the y coordinate of the second control point.
+ * @param x2
+ * the x coordinate of the end point.
+ * @param y2
+ * the y coordinate of the end point.
*/
public abstract void setCurve(double x1, double y1, double ctrlx1, double ctrly1,
double ctrlx2, double ctrly2, double x2, double y2);
@@ -542,224 +620,238 @@ public abstract class CubicCurve2D implements Shape, Cloneable {
/**
* Sets the data of the curve as point objects.
*
- * @param p1 the starting point
- * @param cp1 the first control point
- * @param cp2 the second control point
- * @param p2 the end point
- *
- * @throws NullPointerException if any of the points is null.
+ * @param p1
+ * the starting point.
+ * @param cp1
+ * the first control point.
+ * @param cp2
+ * the second control point.
+ * @param p2
+ * the end point.
+ * @throws NullPointerException
+ * if any of the points is null.
*/
public void setCurve(Point2D p1, Point2D cp1, Point2D cp2, Point2D p2) {
- setCurve(
- p1.getX(), p1.getY(),
- cp1.getX(), cp1.getY(),
- cp2.getX(), cp2.getY(),
- p2.getX(), p2.getY());
+ setCurve(p1.getX(), p1.getY(), cp1.getX(), cp1.getY(), cp2.getX(), cp2.getY(), p2.getX(),
+ p2.getY());
}
/**
- * Sets the data of the curve by reading the data from an array
- * of values. The values are read in the same order as the arguments
- * of the method {@link CubicCurve2D#setCurve(double, double, double, double, double, double, double, double)}.
- *
- * @param coords the array of values containing the new coordinates
- * @param offset the offset of the data to read within the array
+ * Sets the data of the curve by reading the data from an array of values.
+ * The values are read in the same order as the arguments of the method
+ * {@link CubicCurve2D#setCurve(double, double, double, double, double, double, double, double)}
+ * .
*
- * @throws ArrayIndexOutOfBoundsException if coords.length < offset + 8.
- * @throws NullPointerException if the coordinate array is null.
+ * @param coords
+ * the array of values containing the new coordinates.
+ * @param offset
+ * the offset of the data to read within the array.
+ * @throws ArrayIndexOutOfBoundsException
+ * if {@code coords.length} < offset + 8.
+ * @throws NullPointerException
+ * if the coordinate array is null.
*/
public void setCurve(double[] coords, int offset) {
- setCurve(
- coords[offset + 0], coords[offset + 1],
- coords[offset + 2], coords[offset + 3],
- coords[offset + 4], coords[offset + 5],
- coords[offset + 6], coords[offset + 7]);
+ setCurve(coords[offset + 0], coords[offset + 1], coords[offset + 2], coords[offset + 3],
+ coords[offset + 4], coords[offset + 5], coords[offset + 6], coords[offset + 7]);
}
/**
- * Sets the data of the curve by reading the data from an array
- * of points. The values are read in the same order as the arguments
- * of the method {@link CubicCurve2D#setCurve(Point2D, Point2D, Point2D, Point2D)}
+ * Sets the data of the curve by reading the data from an array of points.
+ * The values are read in the same order as the arguments of the method
+ * {@link CubicCurve2D#setCurve(Point2D, Point2D, Point2D, Point2D)}
*
- * @param points the array of points containing the new coordinates
- * @param offset the offset of the data to read within the array
- *
- * @throws ArrayIndexOutOfBoundsException if points.length < offset + .
- * @throws NullPointerException if the point array is null.
+ * @param points
+ * the array of points containing the new coordinates.
+ * @param offset
+ * the offset of the data to read within the array.
+ * @throws ArrayIndexOutOfBoundsException
+ * if {@code points.length} < offset + .
+ * @throws NullPointerException
+ * if the point array is null.
*/
public void setCurve(Point2D[] points, int offset) {
- setCurve(
- points[offset + 0].getX(), points[offset + 0].getY(),
- points[offset + 1].getX(), points[offset + 1].getY(),
- points[offset + 2].getX(), points[offset + 2].getY(),
+ setCurve(points[offset + 0].getX(), points[offset + 0].getY(), points[offset + 1].getX(),
+ points[offset + 1].getY(), points[offset + 2].getX(), points[offset + 2].getY(),
points[offset + 3].getX(), points[offset + 3].getY());
}
/**
* Sets the data of the curve by copying it from another CubicCurve2D.
*
- * @param curve the curve to copy the data points from
- *
- * @throws NullPointerException if the curve is null.
+ * @param curve
+ * the curve to copy the data points from.
+ * @throws NullPointerException
+ * if the curve is null.
*/
public void setCurve(CubicCurve2D curve) {
- setCurve(
- curve.getX1(), curve.getY1(),
- curve.getCtrlX1(), curve.getCtrlY1(),
- curve.getCtrlX2(), curve.getCtrlY2(),
- curve.getX2(), curve.getY2());
+ setCurve(curve.getX1(), curve.getY1(), curve.getCtrlX1(), curve.getCtrlY1(), curve
+ .getCtrlX2(), curve.getCtrlY2(), curve.getX2(), curve.getY2());
}
/**
- * Gets the square of the flatness of this curve, where the flatness is the
- * maximum distance from the curves control points to the
- * line segment connecting the two points.
+ * Gets the square of the flatness of this curve, where the flatness is the
+ * maximum distance from the curves control points to the line segment
+ * connecting the two points.
*
- * @return the square of the flatness
+ * @return the square of the flatness.
*/
public double getFlatnessSq() {
- return getFlatnessSq(
- getX1(), getY1(),
- getCtrlX1(), getCtrlY1(),
- getCtrlX2(), getCtrlY2(),
+ return getFlatnessSq(getX1(), getY1(), getCtrlX1(), getCtrlY1(), getCtrlX2(), getCtrlY2(),
getX2(), getY2());
}
/**
- * Gets the square of the flatness of the cubic curve segment
- * defined by the specified values.
+ * Gets the square of the flatness of the cubic curve segment defined by the
+ * specified values.
*
- * @param x1 the x coordinate of the starting point
- * @param y1 the y coordinate of the starting point
- * @param ctrlx1 the x coordinate of the first control point
- * @param ctrly1 the y coordinate of the first control point
- * @param ctrlx2 the x coordinate of the second control point
- * @param ctrly2 the y coordinate of the second control point
- * @param x2 the x coordinate of the end point
- * @param y2 the y coordinate of the end point
- *
- * @return the square of the flatness
+ * @param x1
+ * the x coordinate of the starting point.
+ * @param y1
+ * the y coordinate of the starting point.
+ * @param ctrlx1
+ * the x coordinate of the first control point.
+ * @param ctrly1
+ * the y coordinate of the first control point.
+ * @param ctrlx2
+ * the x coordinate of the second control point.
+ * @param ctrly2
+ * the y coordinate of the second control point.
+ * @param x2
+ * the x coordinate of the end point.
+ * @param y2
+ * the y coordinate of the end point.
+ * @return the square of the flatness.
*/
public static double getFlatnessSq(double x1, double y1, double ctrlx1, double ctrly1,
- double ctrlx2, double ctrly2, double x2, double y2)
- {
- return Math.max(
- Line2D.ptSegDistSq(x1, y1, x2, y2, ctrlx1, ctrly1),
- Line2D.ptSegDistSq(x1, y1, x2, y2, ctrlx2, ctrly2));
+ double ctrlx2, double ctrly2, double x2, double y2) {
+ return Math.max(Line2D.ptSegDistSq(x1, y1, x2, y2, ctrlx1, ctrly1), Line2D.ptSegDistSq(x1,
+ y1, x2, y2, ctrlx2, ctrly2));
}
/**
- * Gets the square of the flatness of the cubic curve segment
- * defined by the specified values. The values are read in the same order as the arguments
- * of the method {@link CubicCurve2D#getFlatnessSq(double, double, double, double, double, double, double, double)}.
- *
- * @param coords the array of points containing the new coordinates
- * @param offset the offset of the data to read within the array
+ * Gets the square of the flatness of the cubic curve segment defined by the
+ * specified values. The values are read in the same order as the arguments
+ * of the method
+ * {@link CubicCurve2D#getFlatnessSq(double, double, double, double, double, double, double, double)}
+ * .
*
- * @return the square of the flatness
- *
- * @throws ArrayIndexOutOfBoundsException if points.length < offset + .
- * @throws NullPointerException if the point array is null.
+ * @param coords
+ * the array of points containing the new coordinates.
+ * @param offset
+ * the offset of the data to read within the array.
+ * @return the square of the flatness.
+ * @throws ArrayIndexOutOfBoundsException
+ * if points.length < offset + .
+ * @throws NullPointerException
+ * if the point array is null.
*/
public static double getFlatnessSq(double coords[], int offset) {
- return getFlatnessSq(
- coords[offset + 0], coords[offset + 1],
- coords[offset + 2], coords[offset + 3],
- coords[offset + 4], coords[offset + 5],
- coords[offset + 6], coords[offset + 7]);
+ return getFlatnessSq(coords[offset + 0], coords[offset + 1], coords[offset + 2],
+ coords[offset + 3], coords[offset + 4], coords[offset + 5], coords[offset + 6],
+ coords[offset + 7]);
}
/**
- * Gets the flatness of this curve, where the flatness is the
- * maximum distance from the curves control points to the
- * line segment connecting the two points.
+ * Gets the flatness of this curve, where the flatness is the maximum
+ * distance from the curves control points to the line segment connecting
+ * the two points.
*
- * @return the flatness of this curve
+ * @return the flatness of this curve.
*/
public double getFlatness() {
- return getFlatness(
- getX1(), getY1(),
- getCtrlX1(), getCtrlY1(),
- getCtrlX2(), getCtrlY2(),
+ return getFlatness(getX1(), getY1(), getCtrlX1(), getCtrlY1(), getCtrlX2(), getCtrlY2(),
getX2(), getY2());
}
/**
- * Gets the flatness of the cubic curve segment
- * defined by the specified values.
- *
- * @param x1 the x coordinate of the starting point
- * @param y1 the y coordinate of the starting point
- * @param ctrlx1 the x coordinate of the first control point
- * @param ctrly1 the y coordinate of the first control point
- * @param ctrlx2 the x coordinate of the second control point
- * @param ctrly2 the y coordinate of the second control point
- * @param x2 the x coordinate of the end point
- * @param y2 the y coordinate of the end point
+ * Gets the flatness of the cubic curve segment defined by the specified
+ * values.
*
- * @return the flatness
+ * @param x1
+ * the x coordinate of the starting point.
+ * @param y1
+ * the y coordinate of the starting point.
+ * @param ctrlx1
+ * the x coordinate of the first control point.
+ * @param ctrly1
+ * the y coordinate of the first control point.
+ * @param ctrlx2
+ * the x coordinate of the second control point.
+ * @param ctrly2
+ * the y coordinate of the second control point.
+ * @param x2
+ * the x coordinate of the end point.
+ * @param y2
+ * the y coordinate of the end point.
+ * @return the flatness.
*/
public static double getFlatness(double x1, double y1, double ctrlx1, double ctrly1,
- double ctrlx2, double ctrly2, double x2, double y2)
- {
+ double ctrlx2, double ctrly2, double x2, double y2) {
return Math.sqrt(getFlatnessSq(x1, y1, ctrlx1, ctrly1, ctrlx2, ctrly2, x2, y2));
}
/**
- * Gets the flatness of the cubic curve segment
- * defined by the specified values. The values are read in the same order as the arguments
- * of the method {@link CubicCurve2D#getFlatness(double, double, double, double, double, double, double, double)}.
+ * Gets the flatness of the cubic curve segment defined by the specified
+ * values. The values are read in the same order as the arguments of the
+ * method
+ * {@link CubicCurve2D#getFlatness(double, double, double, double, double, double, double, double)}
+ * .
*
- * @param coords the array of points containing the new coordinates
- * @param offset the offset of the data to read within the array
- *
- * @return the flatness
- *
- * @throws ArrayIndexOutOfBoundsException if points.length < offset + .
- * @throws NullPointerException if the point array is null.
+ * @param coords
+ * the array of points containing the new coordinates.
+ * @param offset
+ * the offset of the data to read within the array.
+ * @return the flatness.
+ * @throws ArrayIndexOutOfBoundsException
+ * if points.length < offset + .
+ * @throws NullPointerException
+ * if the point array is null.
*/
public static double getFlatness(double coords[], int offset) {
- return getFlatness(
- coords[offset + 0], coords[offset + 1],
- coords[offset + 2], coords[offset + 3],
- coords[offset + 4], coords[offset + 5],
- coords[offset + 6], coords[offset + 7]);
+ return getFlatness(coords[offset + 0], coords[offset + 1], coords[offset + 2],
+ coords[offset + 3], coords[offset + 4], coords[offset + 5], coords[offset + 6],
+ coords[offset + 7]);
}
/**
- * Creates the data for two cubic curves by dividing this
- * curve in two. The division point is the point on the curve
- * that is closest to the average of curve's two control points.
- * The two new control points (nearest the new endpoint) are computed
- * by averaging the original control points with the new endpoint.
- * The data of this curve is left unchanged.
- *
- * @param left the CubicCurve2D where the left (start) segment's
- * data is written
- * @param right the CubicCurve2D where the right (end) segment's
- * data is written
+ * Creates the data for two cubic curves by dividing this curve in two. The
+ * division point is the point on the curve that is closest to the average
+ * of curve's two control points. The two new control points (nearest the
+ * new endpoint) are computed by averaging the original control points with
+ * the new endpoint. The data of this curve is left unchanged.
*
- * @throws NullPointerException if either curve is null.
+ * @param left
+ * the CubicCurve2D where the left (start) segment's data is
+ * written.
+ * @param right
+ * the CubicCurve2D where the right (end) segment's data is
+ * written.
+ * @throws NullPointerException
+ * if either curve is null.
*/
public void subdivide(CubicCurve2D left, CubicCurve2D right) {
subdivide(this, left, right);
}
/**
- * Creates the data for two cubic curves by dividing the specified
- * curve in two. The division point is the point on the curve
- * that is closest to the average of curve's two control points.
- * The two new control points (nearest the new endpoint) are computed
- * by averaging the original control points with the new endpoint.
- * The data of the source curve is left unchanged.
+ * Creates the data for two cubic curves by dividing the specified curve in
+ * two. The division point is the point on the curve that is closest to the
+ * average of curve's two control points. The two new control points
+ * (nearest the new endpoint) are computed by averaging the original control
+ * points with the new endpoint. The data of the source curve is left
+ * unchanged.
*
- * @param src the original curve to be divided in two
- * @param left the CubicCurve2D where the left (start) segment's
- * data is written
- * @param right the CubicCurve2D where the right (end) segment's
- * data is written
- *
- * @throws NullPointerException if either curve is null.
+ * @param src
+ * the original curve to be divided in two.
+ * @param left
+ * the CubicCurve2D where the left (start) segment's data is
+ * written.
+ * @param right
+ * the CubicCurve2D where the right (end) segment's data is
+ * written.
+ * @throws NullPointerException
+ * if either curve is null.
*/
public static void subdivide(CubicCurve2D src, CubicCurve2D left, CubicCurve2D right) {
double x1 = src.getX1();
@@ -791,27 +883,36 @@ public abstract class CubicCurve2D implements Shape, Cloneable {
}
/**
- * Creates the data for two cubic curves by dividing the specified
- * curve in two. The division point is the point on the curve
- * that is closest to the average of curve's two control points.
- * The two new control points (nearest the new endpoint) are computed
- * by averaging the original control points with the new endpoint.
- * The data of the source curve is left unchanged. The data for the
- * three curves is read/written in the usual order: { x1, y1,
- * ctrlx1, ctrly1, ctrlx2, crtry2, x2, y3 }
- *
- * @param src the array that gives the data values for the source curve
- * @param srcOff the offset in the src array to read the values from
- * @param left the array where the coordinates of the start curve should be written
- * @param leftOff the offset in the left array to start writing the values
- * @param right the array where the coordinates of the end curve should be written
- * @param rightOff the offset in the right array to start writing the values
+ * Creates the data for two cubic curves by dividing the specified curve in
+ * two. The division point is the point on the curve that is closest to the
+ * average of curve's two control points. The two new control points
+ * (nearest the new endpoint) are computed by averaging the original control
+ * points with the new endpoint. The data of the source curve is left
+ * unchanged. The data for the three curves is read/written in the usual
+ * order: { x1, y1, ctrlx1, ctrly1, ctrlx2, crtry2, x2, y3 }
*
- * @throws ArrayIndexOutOfBoundsException if src.length < srcoff + 8
- * or if left.length < leftOff + 8 or if right.length < rightOff + 8.
- * @throws NullPointerException if one of the arrays is null.
+ * @param src
+ * the array that gives the data values for the source curve.
+ * @param srcOff
+ * the offset in the src array to read the values from.
+ * @param left
+ * the array where the coordinates of the start curve should be
+ * written.
+ * @param leftOff
+ * the offset in the left array to start writing the values.
+ * @param right
+ * the array where the coordinates of the end curve should be
+ * written.
+ * @param rightOff
+ * the offset in the right array to start writing the values.
+ * @throws ArrayIndexOutOfBoundsException
+ * if src.length < srcoff + 8 or if left.length < leftOff + 8 or
+ * if right.length < rightOff + 8.
+ * @throws NullPointerException
+ * if one of the arrays is null.
*/
- public static void subdivide(double src[], int srcOff, double left[], int leftOff, double right[], int rightOff) {
+ public static void subdivide(double src[], int srcOff, double left[], int leftOff,
+ double right[], int rightOff) {
double x1 = src[srcOff + 0];
double y1 = src[srcOff + 1];
double cx1 = src[srcOff + 2];
@@ -855,42 +956,43 @@ public abstract class CubicCurve2D implements Shape, Cloneable {
}
/**
- * Finds the roots of the cubic polynomial. This is
- * accomplished by finding the (real) values of x that solve
- * the following equation: eqn[3]*x*x*x + eqn[2]*x*x + eqn[1]*x + eqn[0] = 0.
- * The solutions are written back into the array eqn starting
- * from the index 0 in the array. The return value tells how
- * many array elements have been changed by this method call.
+ * Finds the roots of the cubic polynomial. This is accomplished by finding
+ * the (real) values of x that solve the following equation: eqn[3]*x*x*x +
+ * eqn[2]*x*x + eqn[1]*x + eqn[0] = 0. The solutions are written back into
+ * the array eqn starting from the index 0 in the array. The return value
+ * tells how many array elements have been changed by this method call.
*
- * @param eqn an array containing the coefficients of the
- * cubic polynomial to solve.
- *
- * @return the number of roots of the cubic polynomial
- *
- * @throws ArrayIndexOutOfBoundsException if eqn.length < 4.
- * @throws NullPointerException if the array is null.
+ * @param eqn
+ * an array containing the coefficients of the cubic polynomial
+ * to solve.
+ * @return the number of roots of the cubic polynomial.
+ * @throws ArrayIndexOutOfBoundsException
+ * if eqn.length < 4.
+ * @throws NullPointerException
+ * if the array is null.
*/
public static int solveCubic(double eqn[]) {
return solveCubic(eqn, eqn);
}
/**
- * Finds the roots of the cubic polynomial. This is
- * accomplished by finding the (real) values of x that solve
- * the following equation: eqn[3]*x*x*x + eqn[2]*x*x + eqn[1]*x + eqn[0] = 0.
- * The solutions are written into the array res starting
- * from the index 0 in the array. The return value tells how
- * many array elements have been changed by this method call.
- *
- * @param eqn an array containing the coefficients of the
- * cubic polynomial to solve.
- * @param res the array that this method writes the results into
- *
- * @return the number of roots of the cubic polynomial
+ * Finds the roots of the cubic polynomial. This is accomplished by finding
+ * the (real) values of x that solve the following equation: eqn[3]*x*x*x +
+ * eqn[2]*x*x + eqn[1]*x + eqn[0] = 0. The solutions are written into the
+ * array res starting from the index 0 in the array. The return value tells
+ * how many array elements have been changed by this method call.
*
- * @throws ArrayIndexOutOfBoundsException if eqn.length < 4 or
- * if res.length is less than the number of roots.
- * @throws NullPointerException if either array is null.
+ * @param eqn
+ * an array containing the coefficients of the cubic polynomial
+ * to solve.
+ * @param res
+ * the array that this method writes the results into.
+ * @return the number of roots of the cubic polynomial.
+ * @throws ArrayIndexOutOfBoundsException
+ * if eqn.length < 4 or if res.length is less than the number of
+ * roots.
+ * @throws NullPointerException
+ * if either array is null.
*/
public static int solveCubic(double eqn[], double res[]) {
return Crossing.solveCubic(eqn, res);
diff --git a/awt/java/awt/geom/Dimension2D.java b/awt/java/awt/geom/Dimension2D.java
index eef63e6..ea081c5 100644
--- a/awt/java/awt/geom/Dimension2D.java
+++ b/awt/java/awt/geom/Dimension2D.java
@@ -18,12 +18,15 @@
* @author Denis M. Kishenko
* @version $Revision$
*/
+
package java.awt.geom;
/**
- * The Class Dimension2D represents a size (width and height) of a
- * geometric object. It stores double-valued data in order to be compatible
- * with high-precision geometric operations.
+ * The Class Dimension2D represents a size (width and height) of a geometric
+ * object. It stores double-valued data in order to be compatible with
+ * high-precision geometric operations.
+ *
+ * @since Android 1.0
*/
public abstract class Dimension2D implements Cloneable {
@@ -36,31 +39,34 @@ public abstract class Dimension2D implements Cloneable {
/**
* Gets the width.
*
- * @return the width
+ * @return the width.
*/
public abstract double getWidth();
/**
* Gets the height.
*
- * @return the height
+ * @return the height.
*/
public abstract double getHeight();
/**
* Sets the width and height.
*
- * @param width the width
- * @param height the height
+ * @param width
+ * the width.
+ * @param height
+ * the height.
*/
public abstract void setSize(double width, double height);
/**
- * Sets the width and height based on the data of another
- * Dimension2D object.
+ * Sets the width and height based on the data of another Dimension2D
+ * object.
*
- * @param d the Dimension2D object providing the data to copy
- * into this Dimension2D object
+ * @param d
+ * the Dimension2D object providing the data to copy into this
+ * Dimension2D object.
*/
public void setSize(Dimension2D d) {
setSize(d.getWidth(), d.getHeight());
@@ -75,4 +81,3 @@ public abstract class Dimension2D implements Cloneable {
}
}
}
-
diff --git a/awt/java/awt/geom/Ellipse2D.java b/awt/java/awt/geom/Ellipse2D.java
index 33464af..89fd0d0 100644
--- a/awt/java/awt/geom/Ellipse2D.java
+++ b/awt/java/awt/geom/Ellipse2D.java
@@ -18,6 +18,7 @@
* @author Denis M. Kishenko
* @version $Revision$
*/
+
package java.awt.geom;
import java.util.NoSuchElementException;
@@ -25,29 +26,41 @@ import java.util.NoSuchElementException;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The Class Ellipse2D describes an ellipse defined by a rectangular
- * area in which it is inscribed.
+ * The Class Ellipse2D describes an ellipse defined by a rectangular area in
+ * which it is inscribed.
+ *
+ * @since Android 1.0
*/
public abstract class Ellipse2D extends RectangularShape {
/**
- * The Class Float is the subclass of Ellipse2D that has all
- * of its data values stored with float-level precision.
+ * The Class Float is the subclass of Ellipse2D that has all of its data
+ * values stored with float-level precision.
+ *
+ * @since Android 1.0
*/
public static class Float extends Ellipse2D {
- /** The x coordinate of the upper left corner of the ellipse's
- * bounding rectangle. */
+ /**
+ * The x coordinate of the upper left corner of the ellipse's bounding
+ * rectangle.
+ */
public float x;
-
- /** The y coordinate of the upper left corner of the ellipse's
- * bounding rectangle. */
+
+ /**
+ * The y coordinate of the upper left corner of the ellipse's bounding
+ * rectangle.
+ */
public float y;
-
- /** The width of the ellipse's bounding rectangle. */
+
+ /**
+ * The width of the ellipse's bounding rectangle.
+ */
public float width;
-
- /** The height of the ellipse's bounding rectangle. */
+
+ /**
+ * The height of the ellipse's bounding rectangle.
+ */
public float height;
/**
@@ -59,12 +72,16 @@ public abstract class Ellipse2D extends RectangularShape {
/**
* Instantiates a new float-valued Ellipse2D with the specified data.
*
- * @param x the x coordinate of the upper left corner of the ellipse's
- * bounding rectangle
- * @param y the y coordinate of the upper left corner of the ellipse's
- * bounding rectangle
- * @param width the width of the ellipse's bounding rectangle
- * @param height the height of the ellipse's bounding rectangle
+ * @param x
+ * the x coordinate of the upper left corner of the ellipse's
+ * bounding rectangle.
+ * @param y
+ * the y coordinate of the upper left corner of the ellipse's
+ * bounding rectangle.
+ * @param width
+ * the width of the ellipse's bounding rectangle.
+ * @param height
+ * the height of the ellipse's bounding rectangle.
*/
public Float(float x, float y, float width, float height) {
setFrame(x, y, width, height);
@@ -98,12 +115,16 @@ public abstract class Ellipse2D extends RectangularShape {
/**
* Sets the data of the ellipse's bounding rectangle.
*
- * @param x the x coordinate of the upper left corner of the ellipse's
- * bounding rectangle
- * @param y the y coordinate of the upper left corner of the ellipse's
- * bounding rectangle
- * @param width the width of the ellipse's bounding rectangle
- * @param height the height of the ellipse's bounding rectangle
+ * @param x
+ * the x coordinate of the upper left corner of the ellipse's
+ * bounding rectangle.
+ * @param y
+ * the y coordinate of the upper left corner of the ellipse's
+ * bounding rectangle.
+ * @param width
+ * the width of the ellipse's bounding rectangle.
+ * @param height
+ * the height of the ellipse's bounding rectangle.
*/
public void setFrame(float x, float y, float width, float height) {
this.x = x;
@@ -126,23 +147,33 @@ public abstract class Ellipse2D extends RectangularShape {
}
/**
- * The Class Double is the subclass of Ellipse2D that has all
- * of its data values stored with double-level precision.
+ * The Class Double is the subclass of Ellipse2D that has all of its data
+ * values stored with double-level precision.
+ *
+ * @since Android 1.0
*/
public static class Double extends Ellipse2D {
- /** The x coordinate of the upper left corner of the ellipse's
- * bounding rectangle. */
+ /**
+ * The x coordinate of the upper left corner of the ellipse's bounding
+ * rectangle.
+ */
public double x;
-
- /** The y coordinate of the upper left corner of the ellipse's
- * bounding rectangle. */
+
+ /**
+ * The y coordinate of the upper left corner of the ellipse's bounding
+ * rectangle.
+ */
public double y;
-
- /** The width of the ellipse's bounding rectangle. */
+
+ /**
+ * The width of the ellipse's bounding rectangle.
+ */
public double width;
-
- /** The height of the ellipse's bounding rectangle. */
+
+ /**
+ * The height of the ellipse's bounding rectangle.
+ */
public double height;
/**
@@ -152,15 +183,18 @@ public abstract class Ellipse2D extends RectangularShape {
}
/**
- * Instantiates a new double-valued Ellipse2D with the specified
- * data.
+ * Instantiates a new double-valued Ellipse2D with the specified data.
*
- * @param x the x coordinate of the upper left corner of the ellipse's
- * bounding rectangle
- * @param y the y coordinate of the upper left corner of the ellipse's
- * bounding rectangle
- * @param width the width of the ellipse's bounding rectangle
- * @param height the height of the ellipse's bounding rectangle
+ * @param x
+ * the x coordinate of the upper left corner of the ellipse's
+ * bounding rectangle.
+ * @param y
+ * the y coordinate of the upper left corner of the ellipse's
+ * bounding rectangle.
+ * @param width
+ * the width of the ellipse's bounding rectangle.
+ * @param height
+ * the height of the ellipse's bounding rectangle.
*/
public Double(double x, double y, double width, double height) {
setFrame(x, y, width, height);
@@ -205,7 +239,7 @@ public abstract class Ellipse2D extends RectangularShape {
}
/*
- * Ellipse2D path iterator
+ * Ellipse2D path iterator
*/
/**
* The subclass of PathIterator to traverse an Ellipse2D.
@@ -213,46 +247,72 @@ public abstract class Ellipse2D extends RectangularShape {
class Iterator implements PathIterator {
/*
- * Ellipse is subdivided into four quarters by x and y axis. Each part approximated by
- * cubic Bezier curve. Arc in first quarter is started in (a, 0) and finished in (0, b) points.
- * Control points for cubic curve wiil be (a, 0), (a, m), (n, b) and (0, b) where n and m are
- * calculated based on requirement Bezier curve in point 0.5 should lay on the arc.
+ * Ellipse is subdivided into four quarters by x and y axis. Each part
+ * approximated by cubic Bezier curve. Arc in first quarter is started
+ * in (a, 0) and finished in (0, b) points. Control points for cubic
+ * curve wiil be (a, 0), (a, m), (n, b) and (0, b) where n and m are
+ * calculated based on requirement Bezier curve in point 0.5 should lay
+ * on the arc.
*/
- /** The coefficient to calculate control points of Bezier curves. */
+ /**
+ * The coefficient to calculate control points of Bezier curves.
+ */
final double u = 2.0 / 3.0 * (Math.sqrt(2.0) - 1.0);
- /** The points coordinates calculation table. */
+ /**
+ * The points coordinates calculation table.
+ */
final double points[][] = {
- { 1.0, 0.5 + u, 0.5 + u, 1.0, 0.5, 1.0 },
- { 0.5 - u, 1.0, 0.0, 0.5 + u, 0.0, 0.5 },
- { 0.0, 0.5 - u, 0.5 - u, 0.0, 0.5, 0.0 },
- { 0.5 + u, 0.0, 1.0, 0.5 - u, 1.0, 0.5 }
+ {
+ 1.0, 0.5 + u, 0.5 + u, 1.0, 0.5, 1.0
+ }, {
+ 0.5 - u, 1.0, 0.0, 0.5 + u, 0.0, 0.5
+ }, {
+ 0.0, 0.5 - u, 0.5 - u, 0.0, 0.5, 0.0
+ }, {
+ 0.5 + u, 0.0, 1.0, 0.5 - u, 1.0, 0.5
+ }
};
- /** The x coordinate of left-upper corner of the ellipse bounds. */
+ /**
+ * The x coordinate of left-upper corner of the ellipse bounds.
+ */
double x;
-
- /** The y coordinate of left-upper corner of the ellipse bounds. */
+
+ /**
+ * The y coordinate of left-upper corner of the ellipse bounds.
+ */
double y;
-
- /** The width of the ellipse bounds. */
+
+ /**
+ * The width of the ellipse bounds.
+ */
double width;
-
- /** The height of the ellipse bounds. */
+
+ /**
+ * The height of the ellipse bounds.
+ */
double height;
- /** The path iterator transformation. */
+ /**
+ * The path iterator transformation.
+ */
AffineTransform t;
- /** The current segmenet index. */
+ /**
+ * The current segment index.
+ */
int index;
/**
- * Constructs a new Ellipse2D.Iterator for given ellipse and transformation
+ * Constructs a new Ellipse2D.Iterator for given ellipse and
+ * transformation
*
- * @param e - the source Ellipse2D object
- * @param t the t
+ * @param e
+ * the source Ellipse2D object.
+ * @param t
+ * the affine transformation object.
*/
Iterator(Ellipse2D e, AffineTransform t) {
this.x = e.getX();
@@ -389,15 +449,10 @@ public abstract class Ellipse2D extends RectangularShape {
double rx2 = rx + rw;
double ry2 = ry + rh;
- return
- contains(rx1, ry1) &&
- contains(rx2, ry1) &&
- contains(rx2, ry2) &&
- contains(rx1, ry2);
+ return contains(rx1, ry1) && contains(rx2, ry1) && contains(rx2, ry2) && contains(rx1, ry2);
}
public PathIterator getPathIterator(AffineTransform at) {
return new Iterator(this, at);
}
}
-
diff --git a/awt/java/awt/geom/FlatteningPathIterator.java b/awt/java/awt/geom/FlatteningPathIterator.java
index ca5c7c2..8208f39 100644
--- a/awt/java/awt/geom/FlatteningPathIterator.java
+++ b/awt/java/awt/geom/FlatteningPathIterator.java
@@ -18,6 +18,7 @@
* @author Denis M. Kishenko
* @version $Revision$
*/
+
package java.awt.geom;
import java.util.NoSuchElementException;
@@ -25,104 +26,139 @@ import java.util.NoSuchElementException;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The Class FlatteningPathIterator takes a PathIterator for traversing
- * a curved shape and flattens it by estimating the curve as a series
- * of line segments. The flattening factor indicates how far the
- * estimating line segments are allowed to be from the actual curve:
- * the FlatteningPathIterator will keep dividing each curved segment
- * into smaller and smaller flat segments until either the segments
- * are withing the flattening factor of the curve or until the buffer
- * limit is reached.
+ * The Class FlatteningPathIterator takes a PathIterator for traversing a curved
+ * shape and flattens it by estimating the curve as a series of line segments.
+ * The flattening factor indicates how far the estimating line segments are
+ * allowed to be from the actual curve: the FlatteningPathIterator will keep
+ * dividing each curved segment into smaller and smaller flat segments until
+ * either the segments are within the flattening factor of the curve or until
+ * the buffer limit is reached.
+ *
+ * @since Android 1.0
*/
public class FlatteningPathIterator implements PathIterator {
- /** The default points buffer size. */
+ /**
+ * The default points buffer size.
+ */
private static final int BUFFER_SIZE = 16;
-
- /** The default curve subdivision limit. */
+
+ /**
+ * The default curve subdivision limit.
+ */
private static final int BUFFER_LIMIT = 16;
- /** The points buffer capacity. */
+ /**
+ * The points buffer capacity.
+ */
private static final int BUFFER_CAPACITY = 16;
-
- /** The type of current segment to be flat. */
+
+ /**
+ * The type of current segment to be flat.
+ */
int bufType;
-
- /** The curve subdivision limit. */
+
+ /**
+ * The curve subdivision limit.
+ */
int bufLimit;
-
- /** The current points buffer size. */
+
+ /**
+ * The current points buffer size.
+ */
int bufSize;
-
- /** The inner cursor position in points buffer. */
+
+ /**
+ * The inner cursor position in points buffer.
+ */
int bufIndex;
-
- /** The current subdivision count. */
+
+ /**
+ * The current subdivision count.
+ */
int bufSubdiv;
- /** The points buffer. */
+ /**
+ * The points buffer.
+ */
double buf[];
-
- /** The indicator of empty points buffer. */
+
+ /**
+ * The indicator of empty points buffer.
+ */
boolean bufEmpty = true;
-
- /** The source PathIterator. */
+
+ /**
+ * The source PathIterator.
+ */
PathIterator p;
-
- /** The flatness of new path. */
+
+ /**
+ * The flatness of new path.
+ */
double flatness;
-
- /** The square of flatness. */
+
+ /**
+ * The square of flatness.
+ */
double flatness2;
-
- /** The x coordinate of previous path segment. */
+
+ /**
+ * The x coordinate of previous path segment.
+ */
double px;
- /** The y coordinate of previous path segment. */
+ /**
+ * The y coordinate of previous path segment.
+ */
double py;
-
- /** The tamporary buffer for getting points from PathIterator. */
+
+ /**
+ * The temporary buffer for getting points from PathIterator.
+ */
double coords[] = new double[6];
/**
- * Instantiates a new flattening path iterator given the path
- * iterator for a (possibly) curved path and a flattening factor
- * which indicates how close together the points on the curve
- * should be chosen. The buffer limit defaults to 16 which means
- * that each curve will be divided into no more than 16 segments
- * regardless of the flattening factor.
- *
- * @param path the path iterator of the original curve
- * @param flatness the flattening factor that indicates how far the
- * flat path is allowed to be from the actual curve in order to
- * decide when to stop dividing the path into smaller and smaller
- * segments.
+ * Instantiates a new flattening path iterator given the path iterator for a
+ * (possibly) curved path and a flattening factor which indicates how close
+ * together the points on the curve should be chosen. The buffer limit
+ * defaults to 16 which means that each curve will be divided into no more
+ * than 16 segments regardless of the flattening factor.
*
- * @throws IllegalArgumentException if the flatness is less than zero.
- * @throws NullPointerException if the path is null.
+ * @param path
+ * the path iterator of the original curve.
+ * @param flatness
+ * the flattening factor that indicates how far the flat path is
+ * allowed to be from the actual curve in order to decide when to
+ * stop dividing the path into smaller and smaller segments.
+ * @throws IllegalArgumentException
+ * if the flatness is less than zero.
+ * @throws NullPointerException
+ * if the path is null.
*/
public FlatteningPathIterator(PathIterator path, double flatness) {
this(path, flatness, BUFFER_LIMIT);
}
/**
- * Instantiates a new flattening path iterator given the path
- * iterator for a (possibly) curved path and a flattening factor
- * and a buffer limit. The FlatteningPathIterator will keep
- * dividing each curved segment into smaller and smaller flat segments
- * until either the segments are withing the flattening factor of the
- * curve or until the buffer limit is reached.
+ * Instantiates a new flattening path iterator given the path iterator for a
+ * (possibly) curved path and a flattening factor and a buffer limit. The
+ * FlatteningPathIterator will keep dividing each curved segment into
+ * smaller and smaller flat segments until either the segments are within
+ * the flattening factor of the curve or until the buffer limit is reached.
*
- * @param path the path iterator of the original curve
- * @param flatness the flattening factor that indicates how far the
- * flat path is allowed to be from the actual curve in order to
- * decide when to stop dividing the path into smaller and smaller
- * segments.
- * @param limit the maximum number of flat segments to divide each
- * curve into
- *
- * @throws IllegalArgumentException if the flatness or limit is less than zero.
- * @throws NullPointerException if the path is null.
+ * @param path
+ * the path iterator of the original curve.
+ * @param flatness
+ * the flattening factor that indicates how far the flat path is
+ * allowed to be from the actual curve in order to decide when to
+ * stop dividing the path into smaller and smaller segments.
+ * @param limit
+ * the maximum number of flat segments to divide each curve into.
+ * @throws IllegalArgumentException
+ * if the flatness or limit is less than zero.
+ * @throws NullPointerException
+ * if the path is null.
*/
public FlatteningPathIterator(PathIterator path, double flatness, int limit) {
if (flatness < 0.0) {
@@ -149,7 +185,7 @@ public class FlatteningPathIterator implements PathIterator {
/**
* Gets the flattening factor.
*
- * @return the flattening factor
+ * @return the flattening factor.
*/
public double getFlatness() {
return flatness;
@@ -158,7 +194,7 @@ public class FlatteningPathIterator implements PathIterator {
/**
* Gets the maximum number of subdivisions per curved segment.
*
- * @return the maximum number of subdivisions per curved segment
+ * @return the maximum number of subdivisions per curved segment.
*/
public int getRecursionLimit() {
return bufLimit;
@@ -173,12 +209,13 @@ public class FlatteningPathIterator implements PathIterator {
}
/**
- * Calculates flat path points for current segment of the source shape.
- *
- * Line segment is flat by itself. Flatness of quad and cubic curves evaluated by getFlatnessSq() method.
- * Curves subdivided until current flatness is bigger than user defined and subdivision limit isn't exhausted.
- * Single source segment translated to series of buffer points. The less flatness the bigger serries.
- * Every currentSegment() call extract one point from the buffer. When series completed evaluate() takes next source shape segment.
+ * Calculates flat path points for current segment of the source shape. Line
+ * segment is flat by itself. Flatness of quad and cubic curves evaluated by
+ * getFlatnessSq() method. Curves subdivided until current flatness is
+ * bigger than user defined and subdivision limit isn't exhausted. Single
+ * source segment translated to series of buffer points. The less flatness
+ * the bigger series. Every currentSegment() call extract one point from the
+ * buffer. When series completed evaluate() takes next source shape segment.
*/
void evaluate() {
if (bufEmpty) {
@@ -186,99 +223,95 @@ public class FlatteningPathIterator implements PathIterator {
}
switch (bufType) {
- case SEG_MOVETO:
- case SEG_LINETO:
- px = coords[0];
- py = coords[1];
- break;
- case SEG_QUADTO:
- if (bufEmpty) {
- bufIndex -= 6;
- buf[bufIndex + 0] = px;
- buf[bufIndex + 1] = py;
- System.arraycopy(coords, 0, buf, bufIndex + 2, 4);
- bufSubdiv = 0;
- }
-
- while (bufSubdiv < bufLimit) {
- if (QuadCurve2D.getFlatnessSq(buf, bufIndex) < flatness2) {
- break;
+ case SEG_MOVETO:
+ case SEG_LINETO:
+ px = coords[0];
+ py = coords[1];
+ break;
+ case SEG_QUADTO:
+ if (bufEmpty) {
+ bufIndex -= 6;
+ buf[bufIndex + 0] = px;
+ buf[bufIndex + 1] = py;
+ System.arraycopy(coords, 0, buf, bufIndex + 2, 4);
+ bufSubdiv = 0;
}
- // Realloc buffer
- if (bufIndex <= 4) {
- double tmp[] = new double[bufSize + BUFFER_CAPACITY];
- System.arraycopy(
- buf, bufIndex,
- tmp, bufIndex + BUFFER_CAPACITY,
- bufSize - bufIndex);
- buf = tmp;
- bufSize += BUFFER_CAPACITY;
- bufIndex += BUFFER_CAPACITY;
+ while (bufSubdiv < bufLimit) {
+ if (QuadCurve2D.getFlatnessSq(buf, bufIndex) < flatness2) {
+ break;
+ }
+
+ // Realloc buffer
+ if (bufIndex <= 4) {
+ double tmp[] = new double[bufSize + BUFFER_CAPACITY];
+ System.arraycopy(buf, bufIndex, tmp, bufIndex + BUFFER_CAPACITY, bufSize
+ - bufIndex);
+ buf = tmp;
+ bufSize += BUFFER_CAPACITY;
+ bufIndex += BUFFER_CAPACITY;
+ }
+
+ QuadCurve2D.subdivide(buf, bufIndex, buf, bufIndex - 4, buf, bufIndex);
+
+ bufIndex -= 4;
+ bufSubdiv++;
}
- QuadCurve2D.subdivide(buf, bufIndex, buf, bufIndex - 4, buf, bufIndex);
-
- bufIndex -= 4;
- bufSubdiv++;
- }
-
- bufIndex += 4;
- px = buf[bufIndex];
- py = buf[bufIndex + 1];
-
- bufEmpty = (bufIndex == bufSize - 2);
- if (bufEmpty) {
- bufIndex = bufSize;
- bufType = SEG_LINETO;
- } else {
- bufSubdiv--;
- }
- break;
- case SEG_CUBICTO:
- if (bufEmpty) {
- bufIndex -= 8;
- buf[bufIndex + 0] = px;
- buf[bufIndex + 1] = py;
- System.arraycopy(coords, 0, buf, bufIndex + 2, 6);
- bufSubdiv = 0;
- }
+ bufIndex += 4;
+ px = buf[bufIndex];
+ py = buf[bufIndex + 1];
- while (bufSubdiv < bufLimit) {
- if (CubicCurve2D.getFlatnessSq(buf, bufIndex) < flatness2) {
- break;
+ bufEmpty = (bufIndex == bufSize - 2);
+ if (bufEmpty) {
+ bufIndex = bufSize;
+ bufType = SEG_LINETO;
+ } else {
+ bufSubdiv--;
}
-
- // Realloc buffer
- if (bufIndex <= 6) {
- double tmp[] = new double[bufSize + BUFFER_CAPACITY];
- System.arraycopy(
- buf, bufIndex,
- tmp, bufIndex + BUFFER_CAPACITY,
- bufSize - bufIndex);
- buf = tmp;
- bufSize += BUFFER_CAPACITY;
- bufIndex += BUFFER_CAPACITY;
+ break;
+ case SEG_CUBICTO:
+ if (bufEmpty) {
+ bufIndex -= 8;
+ buf[bufIndex + 0] = px;
+ buf[bufIndex + 1] = py;
+ System.arraycopy(coords, 0, buf, bufIndex + 2, 6);
+ bufSubdiv = 0;
}
- CubicCurve2D.subdivide(buf, bufIndex, buf, bufIndex - 6, buf, bufIndex);
-
- bufIndex -= 6;
- bufSubdiv++;
- }
+ while (bufSubdiv < bufLimit) {
+ if (CubicCurve2D.getFlatnessSq(buf, bufIndex) < flatness2) {
+ break;
+ }
+
+ // Realloc buffer
+ if (bufIndex <= 6) {
+ double tmp[] = new double[bufSize + BUFFER_CAPACITY];
+ System.arraycopy(buf, bufIndex, tmp, bufIndex + BUFFER_CAPACITY, bufSize
+ - bufIndex);
+ buf = tmp;
+ bufSize += BUFFER_CAPACITY;
+ bufIndex += BUFFER_CAPACITY;
+ }
+
+ CubicCurve2D.subdivide(buf, bufIndex, buf, bufIndex - 6, buf, bufIndex);
+
+ bufIndex -= 6;
+ bufSubdiv++;
+ }
- bufIndex += 6;
- px = buf[bufIndex];
- py = buf[bufIndex + 1];
+ bufIndex += 6;
+ px = buf[bufIndex];
+ py = buf[bufIndex + 1];
- bufEmpty = (bufIndex == bufSize - 2);
- if (bufEmpty) {
- bufIndex = bufSize;
- bufType = SEG_LINETO;
- } else {
- bufSubdiv--;
- }
- break;
+ bufEmpty = (bufIndex == bufSize - 2);
+ if (bufEmpty) {
+ bufIndex = bufSize;
+ bufType = SEG_LINETO;
+ } else {
+ bufSubdiv--;
+ }
+ break;
}
}
@@ -323,4 +356,3 @@ public class FlatteningPathIterator implements PathIterator {
return type;
}
}
-
diff --git a/awt/java/awt/geom/GeneralPath.java b/awt/java/awt/geom/GeneralPath.java
index 36b01c4..0669bc7 100644
--- a/awt/java/awt/geom/GeneralPath.java
+++ b/awt/java/awt/geom/GeneralPath.java
@@ -18,6 +18,7 @@
* @author Denis M. Kishenko
* @version $Revision$
*/
+
package java.awt.geom;
import java.awt.Rectangle;
@@ -28,81 +29,116 @@ import org.apache.harmony.awt.gl.Crossing;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The Class GeneralPath represents a shape whose outline is given
- * by different types of curved and straight segments.
+ * The class GeneralPath represents a shape whose outline is given by different
+ * types of curved and straight segments.
+ *
+ * @since Android 1.0
*/
public final class GeneralPath implements Shape, Cloneable {
- /** The Constant WIND_EVEN_ODD see {@link PathIterator#WIND_EVEN_ODD}. */
+ /**
+ * The Constant WIND_EVEN_ODD see {@link PathIterator#WIND_EVEN_ODD}.
+ */
public static final int WIND_EVEN_ODD = PathIterator.WIND_EVEN_ODD;
-
- /** The Constant WIND_NON_ZERO see {@link PathIterator#WIND_NON_ZERO}. */
+
+ /**
+ * The Constant WIND_NON_ZERO see {@link PathIterator#WIND_NON_ZERO}.
+ */
public static final int WIND_NON_ZERO = PathIterator.WIND_NON_ZERO;
- /** The buffers size. */
+ /**
+ * The buffers size.
+ */
private static final int BUFFER_SIZE = 10;
-
- /** The buffers capacity. */
+
+ /**
+ * The buffers capacity.
+ */
private static final int BUFFER_CAPACITY = 10;
- /** The point's types buffer. */
+ /**
+ * The point's types buffer.
+ */
byte[] types;
-
- /** The points buffer. */
+
+ /**
+ * The points buffer.
+ */
float[] points;
-
- /** The point's type buffer size. */
+
+ /**
+ * The point's type buffer size.
+ */
int typeSize;
-
- /** The points buffer size. */
+
+ /**
+ * The points buffer size.
+ */
int pointSize;
-
- /** The path rule. */
+
+ /**
+ * The path rule.
+ */
int rule;
- /** The space amount in points buffer for different segmenet's types. */
+ /**
+ * The space amount in points buffer for different segmenet's types.
+ */
static int pointShift[] = {
- 2, // MOVETO
- 2, // LINETO
- 4, // QUADTO
- 6, // CUBICTO
- 0}; // CLOSE
+ 2, // MOVETO
+ 2, // LINETO
+ 4, // QUADTO
+ 6, // CUBICTO
+ 0
+ }; // CLOSE
/*
- * GeneralPath path iterator
+ * GeneralPath path iterator
*/
/**
- * The Class Iterator is the subclass of Iterator for traversing the
- * outline of a GeneralPath.
+ * The Class Iterator is the subclass of Iterator for traversing the outline
+ * of a GeneralPath.
*/
class Iterator implements PathIterator {
- /** The current cursor position in types buffer. */
+ /**
+ * The current cursor position in types buffer.
+ */
int typeIndex;
-
- /** The current cursor position in points buffer. */
+
+ /**
+ * The current cursor position in points buffer.
+ */
int pointIndex;
-
- /** The source GeneralPath object. */
+
+ /**
+ * The source GeneralPath object.
+ */
GeneralPath p;
-
- /** The path iterator transformation. */
+
+ /**
+ * The path iterator transformation.
+ */
AffineTransform t;
/**
- * Constructs a new GeneralPath.Iterator for given general path
+ * Constructs a new GeneralPath.Iterator for given general path.
*
- * @param path - the source GeneralPath object
+ * @param path
+ * the source GeneralPath object.
*/
Iterator(GeneralPath path) {
this(path, null);
}
/**
- * Constructs a new GeneralPath.Iterator for given general path and transformation
+ * Constructs a new GeneralPath.Iterator for given general path and
+ * transformation.
*
- * @param path - the source GeneralPath object
- * @param at - the AffineTransform object to apply rectangle path
+ * @param path
+ * the source GeneralPath object.
+ * @param at
+ * the AffineTransform object to apply rectangle path.
*/
Iterator(GeneralPath path, AffineTransform at) {
this.p = path;
@@ -156,33 +192,35 @@ public final class GeneralPath implements Shape, Cloneable {
}
/**
- * Instantiates a new general path with the winding rule set
- * to {@link PathIterator#WIND_NON_ZERO} and the initial capacity
- * (number of segments) set to the default value 10.
+ * Instantiates a new general path with the winding rule set to
+ * {@link PathIterator#WIND_NON_ZERO} and the initial capacity (number of
+ * segments) set to the default value 10.
*/
public GeneralPath() {
this(WIND_NON_ZERO, BUFFER_SIZE);
}
/**
- * Instantiates a new general path with the given winding rule
- * and the initial capacity (number of segments) set to the
- * default value 10.
+ * Instantiates a new general path with the given winding rule and the
+ * initial capacity (number of segments) set to the default value 10.
*
- * @param rule the winding rule, either {@link PathIterator#WIND_EVEN_ODD}
- * or {@link PathIterator#WIND_NON_ZERO}
+ * @param rule
+ * the winding rule, either {@link PathIterator#WIND_EVEN_ODD} or
+ * {@link PathIterator#WIND_NON_ZERO}.
*/
public GeneralPath(int rule) {
this(rule, BUFFER_SIZE);
}
/**
- * Instantiates a new general path with the given winding rule
- * and initial capacity (number of segments).
+ * Instantiates a new general path with the given winding rule and initial
+ * capacity (number of segments).
*
- * @param rule the winding rule, either {@link PathIterator#WIND_EVEN_ODD}
- * or {@link PathIterator#WIND_NON_ZERO}
- * @param initialCapacity the number of segments the path is set to hold
+ * @param rule
+ * the winding rule, either {@link PathIterator#WIND_EVEN_ODD} or
+ * {@link PathIterator#WIND_NON_ZERO}.
+ * @param initialCapacity
+ * the number of segments the path is set to hold.
*/
public GeneralPath(int rule, int initialCapacity) {
setWindingRule(rule);
@@ -193,7 +231,8 @@ public final class GeneralPath implements Shape, Cloneable {
/**
* Creates a new GeneralPath from the outline of the given shape.
*
- * @param shape the shape
+ * @param shape
+ * the shape.
*/
public GeneralPath(Shape shape) {
this(WIND_NON_ZERO, BUFFER_SIZE);
@@ -203,14 +242,15 @@ public final class GeneralPath implements Shape, Cloneable {
}
/**
- * Sets the winding rule, which determines how to decide whether
- * a point that isn't on the path itself is inside or outside of
- * the shape.
- *
- * @param rule the new winding rule
+ * Sets the winding rule, which determines how to decide whether a point
+ * that isn't on the path itself is inside or outside of the shape.
*
- * @throws IllegalArgumentException if the winding rule is neither
- * {@link PathIterator#WIND_EVEN_ODD} nor {@link PathIterator#WIND_NON_ZERO}.
+ * @param rule
+ * the new winding rule.
+ * @throws IllegalArgumentException
+ * if the winding rule is neither
+ * {@link PathIterator#WIND_EVEN_ODD} nor
+ * {@link PathIterator#WIND_NON_ZERO}.
*/
public void setWindingRule(int rule) {
if (rule != WIND_EVEN_ODD && rule != WIND_NON_ZERO) {
@@ -223,8 +263,8 @@ public final class GeneralPath implements Shape, Cloneable {
/**
* Gets the winding rule.
*
- * @return the winding rule, either {@link PathIterator#WIND_EVEN_ODD}
- * or {@link PathIterator#WIND_NON_ZERO}
+ * @return the winding rule, either {@link PathIterator#WIND_EVEN_ODD} or
+ * {@link PathIterator#WIND_NON_ZERO}.
*/
public int getWindingRule() {
return rule;
@@ -232,15 +272,16 @@ public final class GeneralPath implements Shape, Cloneable {
/**
* Checks the point data buffer sizes to see whether pointCount additional
- * point-data elements can fit. (Note that the number of point data
- * elements to add is more than one per point -- it depends on the type
- * of point being added.) Reallocates the buffers to enlarge the size if necessary.
+ * point-data elements can fit. (Note that the number of point data elements
+ * to add is more than one per point -- it depends on the type of point
+ * being added.) Reallocates the buffers to enlarge the size if necessary.
*
- * @param pointCount - the number of point data elements to be added
- * @param checkMove whether to check for existing points
- *
- * @throws IllegalPathStateException checkMove is true and the
- * path is currently empty.
+ * @param pointCount
+ * the number of point data elements to be added.
+ * @param checkMove
+ * whether to check for existing points.
+ * @throws IllegalPathStateException
+ * checkMove is true and the path is currently empty.
*/
void checkBuf(int pointCount, boolean checkMove) {
if (checkMove && typeSize == 0) {
@@ -260,11 +301,13 @@ public final class GeneralPath implements Shape, Cloneable {
}
/**
- * Appends a new point to the end of this general path, disconnected
- * from the existing path.
+ * Appends a new point to the end of this general path, disconnected from
+ * the existing path.
*
- * @param x the x coordinate of the next point to append
- * @param y the y coordinate of the next point to append
+ * @param x
+ * the x coordinate of the next point to append.
+ * @param y
+ * the y coordinate of the next point to append.
*/
public void moveTo(float x, float y) {
if (typeSize > 0 && types[typeSize - 1] == PathIterator.SEG_MOVETO) {
@@ -279,12 +322,13 @@ public final class GeneralPath implements Shape, Cloneable {
}
/**
- * Appends a new segment to the end of this general path by making
- * a straight line segment from the current endpoint to the
- * given new point.
+ * Appends a new segment to the end of this general path by making a
+ * straight line segment from the current endpoint to the given new point.
*
- * @param x the x coordinate of the next point to append
- * @param y the y coordinate of the next point to append
+ * @param x
+ * the x coordinate of the next point to append.
+ * @param y
+ * the y coordinate of the next point to append.
*/
public void lineTo(float x, float y) {
checkBuf(2, true);
@@ -294,14 +338,18 @@ public final class GeneralPath implements Shape, Cloneable {
}
/**
- * Appends a new segment to the end of this general path by making
- * a quadratic curve from the current endpoint to the point (x2, y2)
- * using the point (x1, y1) as the quadratic curve's control point.
+ * Appends a new segment to the end of this general path by making a
+ * quadratic curve from the current endpoint to the point (x2, y2) using the
+ * point (x1, y1) as the quadratic curve's control point.
*
- * @param x1 the x coordinate of the quadratic curve's control point
- * @param y1 the y coordinate of the quadratic curve's control point
- * @param x2 the x coordinate of the quadratic curve's end point
- * @param y2 the y coordinate of the quadratic curve's end point
+ * @param x1
+ * the x coordinate of the quadratic curve's control point.
+ * @param y1
+ * the y coordinate of the quadratic curve's control point.
+ * @param x2
+ * the x coordinate of the quadratic curve's end point.
+ * @param y2
+ * the y coordinate of the quadratic curve's end point.
*/
public void quadTo(float x1, float y1, float x2, float y2) {
checkBuf(4, true);
@@ -313,18 +361,27 @@ public final class GeneralPath implements Shape, Cloneable {
}
/**
- * Appends a new segment to the end of this general path by making
- * a cubic curve from the current endpoint to the point (x3, y3)
- * using (x1, y1) and (x2, y2) as control points.
+ * Appends a new segment to the end of this general path by making a cubic
+ * curve from the current endpoint to the point (x3, y3) using (x1, y1) and
+ * (x2, y2) as control points.
*
* @see java.awt.geom.CubicCurve2D
- *
- * @param x1 the x coordinate of the new cubic segment's first control point
- * @param y1 the y coordinate of the new cubic segment's first control point
- * @param x2 the x coordinate of the new cubic segment's second control point
- * @param y2 the y coordinate of the new cubic segment's second control point
- * @param x3 the x coordinate of the new cubic segment's end point
- * @param y3 the y coordinate of the new cubic segment's end point
+ * @param x1
+ * the x coordinate of the new cubic segment's first control
+ * point.
+ * @param y1
+ * the y coordinate of the new cubic segment's first control
+ * point.
+ * @param x2
+ * the x coordinate of the new cubic segment's second control
+ * point.
+ * @param y2
+ * the y coordinate of the new cubic segment's second control
+ * point.
+ * @param x3
+ * the x coordinate of the new cubic segment's end point.
+ * @param y3
+ * the y coordinate of the new cubic segment's end point.
*/
public void curveTo(float x1, float y1, float x2, float y2, float x3, float y3) {
checkBuf(6, true);
@@ -338,8 +395,8 @@ public final class GeneralPath implements Shape, Cloneable {
}
/**
- * Appends the type information to declare that the current
- * endpoint closes the curve.
+ * Appends the type information to declare that the current endpoint closes
+ * the curve.
*/
public void closePath() {
if (typeSize == 0 || types[typeSize - 1] != PathIterator.SEG_CLOSE) {
@@ -349,15 +406,17 @@ public final class GeneralPath implements Shape, Cloneable {
}
/**
- * Appends the outline of the specified shape onto the end
- * of this GeneralPath.
- *
- * @param shape the shape whose outline is to be appended
- * @param connect true to connect this path's current
- * endpoint to the first point of the shape's outline or
- * false to append the shape's outline without connecting it
+ * Appends the outline of the specified shape onto the end of this
+ * GeneralPath.
*
- * @throws NullPointerException if the shape parameter is null
+ * @param shape
+ * the shape whose outline is to be appended.
+ * @param connect
+ * true to connect this path's current endpoint to the first
+ * point of the shape's outline or false to append the shape's
+ * outline without connecting it.
+ * @throws NullPointerException
+ * if the shape parameter is null.
*/
public void append(Shape shape, boolean connect) {
PathIterator p = shape.getPathIterator(null);
@@ -365,42 +424,43 @@ public final class GeneralPath implements Shape, Cloneable {
}
/**
- * Appends the path defined by the specified PathIterator onto the end
- * of this GeneralPath.
+ * Appends the path defined by the specified PathIterator onto the end of
+ * this GeneralPath.
*
- * @param path the PathIterator that defines the new path to append
- * @param connect true to connect this path's current
- * endpoint to the first point of the shape's outline or
- * false to append the shape's outline without connecting it
+ * @param path
+ * the PathIterator that defines the new path to append.
+ * @param connect
+ * true to connect this path's current endpoint to the first
+ * point of the shape's outline or false to append the shape's
+ * outline without connecting it.
*/
public void append(PathIterator path, boolean connect) {
while (!path.isDone()) {
float coords[] = new float[6];
switch (path.currentSegment(coords)) {
- case PathIterator.SEG_MOVETO:
- if (!connect || typeSize == 0) {
- moveTo(coords[0], coords[1]);
+ case PathIterator.SEG_MOVETO:
+ if (!connect || typeSize == 0) {
+ moveTo(coords[0], coords[1]);
+ break;
+ }
+ if (types[typeSize - 1] != PathIterator.SEG_CLOSE
+ && points[pointSize - 2] == coords[0]
+ && points[pointSize - 1] == coords[1]) {
+ break;
+ }
+ // NO BREAK;
+ case PathIterator.SEG_LINETO:
+ lineTo(coords[0], coords[1]);
break;
- }
- if (types[typeSize - 1] != PathIterator.SEG_CLOSE &&
- points[pointSize - 2] == coords[0] &&
- points[pointSize - 1] == coords[1])
- {
+ case PathIterator.SEG_QUADTO:
+ quadTo(coords[0], coords[1], coords[2], coords[3]);
+ break;
+ case PathIterator.SEG_CUBICTO:
+ curveTo(coords[0], coords[1], coords[2], coords[3], coords[4], coords[5]);
+ break;
+ case PathIterator.SEG_CLOSE:
+ closePath();
break;
- }
- // NO BREAK;
- case PathIterator.SEG_LINETO:
- lineTo(coords[0], coords[1]);
- break;
- case PathIterator.SEG_QUADTO:
- quadTo(coords[0], coords[1], coords[2], coords[3]);
- break;
- case PathIterator.SEG_CUBICTO:
- curveTo(coords[0], coords[1], coords[2], coords[3], coords[4], coords[5]);
- break;
- case PathIterator.SEG_CLOSE:
- closePath();
- break;
}
path.next();
connect = false;
@@ -410,7 +470,7 @@ public final class GeneralPath implements Shape, Cloneable {
/**
* Gets the current end point of the path.
*
- * @return the current end point of the path
+ * @return the current end point of the path.
*/
public Point2D getCurrentPoint() {
if (typeSize == 0) {
@@ -431,9 +491,9 @@ public final class GeneralPath implements Shape, Cloneable {
}
/**
- * Resets the GeneralPath to being an empty path. The underlying
- * point and segment data is not deleted but rather the end indices
- * of the data arrays are set to zero.
+ * Resets the GeneralPath to being an empty path. The underlying point and
+ * segment data is not deleted but rather the end indices of the data arrays
+ * are set to zero.
*/
public void reset() {
typeSize = 0;
@@ -441,23 +501,24 @@ public final class GeneralPath implements Shape, Cloneable {
}
/**
- * Transform all of the coordinates of this path according to the
- * specified AffineTransform.
+ * Transform all of the coordinates of this path according to the specified
+ * AffineTransform.
*
- * @param t the AffineTransform
+ * @param t
+ * the AffineTransform.
*/
public void transform(AffineTransform t) {
t.transform(points, 0, points, 0, pointSize / 2);
}
/**
- * Creates a new GeneralPath whose data is given by this path's
- * data transformed according to the specified AffineTransform.
- *
- * @param t the AffineTransform
+ * Creates a new GeneralPath whose data is given by this path's data
+ * transformed according to the specified AffineTransform.
*
- * @return the new GeneralPath whose data is given by this path's
- * data transformed according to the specified AffineTransform
+ * @param t
+ * the AffineTransform.
+ * @return the new GeneralPath whose data is given by this path's data
+ * transformed according to the specified AffineTransform.
*/
public Shape createTransformedShape(AffineTransform t) {
GeneralPath p = (GeneralPath)clone();
@@ -480,16 +541,14 @@ public final class GeneralPath implements Shape, Cloneable {
float x = points[i--];
if (x < rx1) {
rx1 = x;
- } else
- if (x > rx2) {
- rx2 = x;
- }
+ } else if (x > rx2) {
+ rx2 = x;
+ }
if (y < ry1) {
ry1 = y;
- } else
- if (y > ry2) {
- ry2 = y;
- }
+ } else if (y > ry2) {
+ ry2 = y;
+ }
}
}
return new Rectangle2D.Float(rx1, ry1, rx2 - rx1, ry2 - ry1);
@@ -500,14 +559,14 @@ public final class GeneralPath implements Shape, Cloneable {
}
/**
- * Checks the cross count (number of times a ray from the point
- * crosses the shape's boundary) to determine whether the number
- * of crossings corresponds to a point inside the shape or not
- * (according to the shape's path rule).
- *
- * @param cross - the point's cross count
+ * Checks the cross count (number of times a ray from the point crosses the
+ * shape's boundary) to determine whether the number of crossings
+ * corresponds to a point inside the shape or not (according to the shape's
+ * path rule).
*
- * @return true if the point is inside the path, or false otherwise
+ * @param cross
+ * the point's cross count.
+ * @return true if the point is inside the path, or false otherwise.
*/
boolean isInside(int cross) {
if (rule == WIND_NON_ZERO) {
@@ -553,7 +612,7 @@ public final class GeneralPath implements Shape, Cloneable {
@Override
public Object clone() {
try {
- GeneralPath p = (GeneralPath) super.clone();
+ GeneralPath p = (GeneralPath)super.clone();
p.types = types.clone();
p.points = points.clone();
return p;
@@ -563,4 +622,3 @@ public final class GeneralPath implements Shape, Cloneable {
}
}
-
diff --git a/awt/java/awt/geom/IllegalPathStateException.java b/awt/java/awt/geom/IllegalPathStateException.java
index 7f459e7..750ba29 100644
--- a/awt/java/awt/geom/IllegalPathStateException.java
+++ b/awt/java/awt/geom/IllegalPathStateException.java
@@ -18,16 +18,21 @@
* @author Denis M. Kishenko
* @version $Revision$
*/
+
package java.awt.geom;
/**
- * The Class IllegalPathStateException indicates errors where the
- * current state of a path object is imcompatible with the desired
- * action, such as performing non-trivial actions on an empty path.
+ * The Class IllegalPathStateException indicates errors where the current state
+ * of a path object is incompatible with the desired action, such as performing
+ * non-trivial actions on an empty path.
+ *
+ * @since Android 1.0
*/
public class IllegalPathStateException extends RuntimeException {
- /** The Constant serialVersionUID. */
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = -5158084205220481094L;
/**
@@ -37,14 +42,14 @@ public class IllegalPathStateException extends RuntimeException {
}
/**
- * Instantiates a new illegal path state exception with the
- * specified detail message.
+ * Instantiates a new illegal path state exception with the specified detail
+ * message.
*
- * @param s the details of the error
+ * @param s
+ * the details of the error.
*/
public IllegalPathStateException(String s) {
super(s);
}
}
-
diff --git a/awt/java/awt/geom/Line2D.java b/awt/java/awt/geom/Line2D.java
index a53c470..fcd51b6 100644
--- a/awt/java/awt/geom/Line2D.java
+++ b/awt/java/awt/geom/Line2D.java
@@ -18,6 +18,7 @@
* @author Denis M. Kishenko
* @version $Revision$
*/
+
package java.awt.geom;
import java.awt.Rectangle;
@@ -27,55 +28,71 @@ import java.util.NoSuchElementException;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The Class Line2D represents a line whose data is given in
- * high-precision values appropriate for graphical operations.
+ * The Class Line2D represents a line whose data is given in high-precision
+ * values appropriate for graphical operations.
+ *
+ * @since Android 1.0
*/
public abstract class Line2D implements Shape, Cloneable {
/**
- * The Class Float is the subclass of Line2D that has all
- * of its data values stored with float-level precision.
+ * The Class Float is the subclass of Line2D that has all of its data values
+ * stored with float-level precision.
+ *
+ * @since Android 1.0
*/
public static class Float extends Line2D {
- /** The x coordinate of the starting point. */
+ /**
+ * The x coordinate of the starting point.
+ */
public float x1;
-
- /** The y coordinate of the starting point. */
+
+ /**
+ * The y coordinate of the starting point.
+ */
public float y1;
-
- /** The x coordinate of the end point. */
+
+ /**
+ * The x coordinate of the end point.
+ */
public float x2;
-
- /** The y coordinate of the end point. */
+
+ /**
+ * The y coordinate of the end point.
+ */
public float y2;
/**
- * Instantiates a new float-valued Line2D with
- * its data values set to zero.
+ * Instantiates a new float-valued Line2D with its data values set to
+ * zero.
*/
public Float() {
}
/**
- * Instantiates a new float-valued Line2D with
- * the specified endpoints.
+ * Instantiates a new float-valued Line2D with the specified endpoints.
*
- * @param x1 the x coordinate of the starting point
- * @param y1 the y coordinate of the starting point
- * @param x2 the x coordinate of the end point
- * @param y2 the y coordinate of the end point
+ * @param x1
+ * the x coordinate of the starting point.
+ * @param y1
+ * the y coordinate of the starting point.
+ * @param x2
+ * the x coordinate of the end point.
+ * @param y2
+ * the y coordinate of the end point.
*/
public Float(float x1, float y1, float x2, float y2) {
setLine(x1, y1, x2, y2);
}
/**
- * Instantiates a new float-valued Line2D with
- * the specified endpoints.
+ * Instantiates a new float-valued Line2D with the specified endpoints.
*
- * @param p1 the starting point
- * @param p2 the end point
+ * @param p1
+ * the starting point.
+ * @param p2
+ * the end point.
*/
public Float(Point2D p1, Point2D p2) {
setLine(p1, p2);
@@ -122,10 +139,14 @@ public abstract class Line2D implements Shape, Cloneable {
/**
* Sets the data values that define the line.
*
- * @param x1 the x coordinate of the starting point
- * @param y1 the y coordinate of the starting point
- * @param x2 the x coordinate of the end point
- * @param y2 the y coordinate of the end point
+ * @param x1
+ * the x coordinate of the starting point.
+ * @param y1
+ * the y coordinate of the starting point.
+ * @param x2
+ * the x coordinate of the end point.
+ * @param y2
+ * the y coordinate of the end point.
*/
public void setLine(float x1, float y1, float x2, float y2) {
this.x1 = x1;
@@ -155,49 +176,63 @@ public abstract class Line2D implements Shape, Cloneable {
}
/**
- * The Class Double is the subclass of Line2D that has all
- * of its data values stored with double-level precision.
+ * The Class Double is the subclass of Line2D that has all of its data
+ * values stored with double-level precision.
+ *
+ * @since Android 1.0
*/
public static class Double extends Line2D {
- /** The x coordinate of the starting point. */
+ /**
+ * The x coordinate of the starting point.
+ */
public double x1;
-
- /** The y coordinate of the starting point. */
+
+ /**
+ * The y coordinate of the starting point.
+ */
public double y1;
-
- /** The x coordinate of the end point. */
+
+ /**
+ * The x coordinate of the end point.
+ */
public double x2;
-
- /** The y coordinate of the end point. */
+
+ /**
+ * The y coordinate of the end point.
+ */
public double y2;
/**
- * Instantiates a new double-valued Line2D with
- * its data values set to zero.
+ * Instantiates a new double-valued Line2D with its data values set to
+ * zero.
*/
public Double() {
}
/**
- * Instantiates a new double-valued Line2D with
- * the specified endpoints.
+ * Instantiates a new double-valued Line2D with the specified endpoints.
*
- * @param x1 the x coordinate of the starting point
- * @param y1 the y coordinate of the starting point
- * @param x2 the x coordinate of the end point
- * @param y2 the y coordinate of the end point
+ * @param x1
+ * the x coordinate of the starting point.
+ * @param y1
+ * the y coordinate of the starting point.
+ * @param x2
+ * the x coordinate of the end point.
+ * @param y2
+ * the y coordinate of the end point.
*/
public Double(double x1, double y1, double x2, double y2) {
setLine(x1, y1, x2, y2);
}
/**
- * Instantiates a new double-valued Line2D with
- * the specified endpoints.
+ * Instantiates a new double-valued Line2D with the specified endpoints.
*
- * @param p1 the starting point
- * @param p2 the end point
+ * @param p1
+ * the starting point.
+ * @param p2
+ * the end point.
*/
public Double(Point2D p1, Point2D p2) {
setLine(p1, p2);
@@ -262,36 +297,50 @@ public abstract class Line2D implements Shape, Cloneable {
}
/*
- * Line2D path iterator
+ * Line2D path iterator
*/
/**
* The subclass of PathIterator to traverse a Line2D.
*/
class Iterator implements PathIterator {
- /** The x coordinate of the start line point. */
+ /**
+ * The x coordinate of the start line point.
+ */
double x1;
-
- /** The y coordinate of the start line point. */
+
+ /**
+ * The y coordinate of the start line point.
+ */
double y1;
-
- /** The x coordinate of the end line point. */
+
+ /**
+ * The x coordinate of the end line point.
+ */
double x2;
-
- /** The y coordinate of the end line point. */
+
+ /**
+ * The y coordinate of the end line point.
+ */
double y2;
- /** The path iterator transformation. */
+ /**
+ * The path iterator transformation.
+ */
AffineTransform t;
- /** The current segmenet index. */
+ /**
+ * The current segment index.
+ */
int index;
/**
- * Constructs a new Line2D.Iterator for given line and transformation
+ * Constructs a new Line2D.Iterator for given line and transformation.
*
- * @param l - the source Line2D object
- * @param at - the AffineTransform object to apply rectangle path
+ * @param l
+ * the source Line2D object.
+ * @param at
+ * the AffineTransform object to apply rectangle path.
*/
Iterator(Line2D l, AffineTransform at) {
this.x1 = l.getX1();
@@ -366,60 +415,66 @@ public abstract class Line2D implements Shape, Cloneable {
/**
* Gets the x coordinate of the starting point.
*
- * @return the x coordinate of the starting point
+ * @return the x coordinate of the starting point.
*/
public abstract double getX1();
/**
* Gets the y coordinate of the starting point.
*
- * @return the y coordinate of the starting point
+ * @return the y coordinate of the starting point.
*/
public abstract double getY1();
/**
* Gets the x coordinate of the end point.
*
- * @return the x2
+ * @return the x2.
*/
public abstract double getX2();
/**
* Gets the y coordinate of the end point.
*
- * @return the y coordinate of the end point
+ * @return the y coordinate of the end point.
*/
public abstract double getY2();
/**
* Gets the p the starting point.
*
- * @return the p the starting point
+ * @return the p the starting point.
*/
public abstract Point2D getP1();
/**
* Gets the p end point.
*
- * @return the p end point
+ * @return the p end point.
*/
public abstract Point2D getP2();
/**
* Sets the line's endpoints.
*
- * @param x1 the x coordinate of the starting point
- * @param y1 the y coordinate of the starting point
- * @param x2 the x coordinate of the end point
- * @param y2 the y coordinate of the end point
+ * @param x1
+ * the x coordinate of the starting point.
+ * @param y1
+ * the y coordinate of the starting point.
+ * @param x2
+ * the x coordinate of the end point.
+ * @param y2
+ * the y coordinate of the end point.
*/
public abstract void setLine(double x1, double y1, double x2, double y2);
/**
* Sets the line's endpoints.
*
- * @param p1 the starting point
- * @param p2 the end point
+ * @param p1
+ * the starting point.
+ * @param p2
+ * the end point.
*/
public void setLine(Point2D p1, Point2D p2) {
setLine(p1.getX(), p1.getY(), p2.getX(), p2.getY());
@@ -428,39 +483,44 @@ public abstract class Line2D implements Shape, Cloneable {
/**
* Sets the line's endpoints by copying the data from another Line2D.
*
- * @param line the Line2D to copy the endpoint data from
+ * @param line
+ * the Line2D to copy the endpoint data from.
*/
public void setLine(Line2D line) {
setLine(line.getX1(), line.getY1(), line.getX2(), line.getY2());
}
public Rectangle getBounds() {
- return getBounds2D().getBounds();
+ return getBounds2D().getBounds();
}
/**
- * Tells where the point is with respect to the line segment,
- * given the orientation of the line segment. If the ray
- * found by extending the line segment from its starting point
- * is rotated, this method tells whether the ray
- * should rotate in a clockwise direction or a counter-clockwise
- * direction to hit the point first. The return value is 0 if the
- * point is on the line segment, it's 1 if the point is on the ray
- * or if the ray should rotate in a counter-clockwise direction to get to the
- * point, and it's -1 if the ray should rotate in a clockwise
- * direction to get to the point or if the point is on the line
- * determined by the line segment but not on the ray from the
- * segment's starting point and through its end point.
- *
- * @param x1 the x coordinate of the starting point of the line segment
- * @param y1 the y coordinate of the starting point of the line segment
- * @param x2 the x coordinate of the end point of the line segment
- * @param y2 the y coordinate of the end point of the line segment
- * @param px the x coordinate of the test point
- * @param py the p coordinate of the test point
- *
- * @return the value that describes where the point is with respect to the line segment,
- * given the orientation of the line segment
+ * Tells where the point is with respect to the line segment, given the
+ * orientation of the line segment. If the ray found by extending the line
+ * segment from its starting point is rotated, this method tells whether the
+ * ray should rotate in a clockwise direction or a counter-clockwise
+ * direction to hit the point first. The return value is 0 if the point is
+ * on the line segment, it's 1 if the point is on the ray or if the ray
+ * should rotate in a counter-clockwise direction to get to the point, and
+ * it's -1 if the ray should rotate in a clockwise direction to get to the
+ * point or if the point is on the line determined by the line segment but
+ * not on the ray from the segment's starting point and through its end
+ * point.
+ *
+ * @param x1
+ * the x coordinate of the starting point of the line segment.
+ * @param y1
+ * the y coordinate of the starting point of the line segment.
+ * @param x2
+ * the x coordinate of the end point of the line segment.
+ * @param y2
+ * the y coordinate of the end point of the line segment.
+ * @param px
+ * the x coordinate of the test point.
+ * @param py
+ * the p coordinate of the test point.
+ * @return the value that describes where the point is with respect to the
+ * line segment, given the orientation of the line segment.
*/
public static int relativeCCW(double x1, double y1, double x2, double y2, double px, double py) {
/*
@@ -487,47 +547,46 @@ public abstract class Line2D implements Shape, Cloneable {
}
/**
- * Tells where the point is with respect to this line segment,
- * given the orientation of this line segment. If the ray
- * found by extending the line segment from its starting point
- * is rotated, this method tells whether the ray
- * should rotate in a clockwise direction or a counter-clockwise
- * direction to hit the point first. The return value is 0 if the
- * point is on the line segment, it's 1 if the point is on the ray
- * or if the ray should rotate in a counter-clockwise direction to get to the
- * point, and it's -1 if the ray should rotate in a clockwise
- * direction to get to the point or if the point is on the line
- * determined by the line segment but not on the ray from the
- * segment's starting point and through its end point.
- *
- * @param px the x coordinate of the test point
- * @param py the p coordinate of the test point
- *
- * @return the value that describes where the point is with respect to
- * this line segment, given the orientation of this line segment
+ * Tells where the point is with respect to this line segment, given the
+ * orientation of this line segment. If the ray found by extending the line
+ * segment from its starting point is rotated, this method tells whether the
+ * ray should rotate in a clockwise direction or a counter-clockwise
+ * direction to hit the point first. The return value is 0 if the point is
+ * on the line segment, it's 1 if the point is on the ray or if the ray
+ * should rotate in a counter-clockwise direction to get to the point, and
+ * it's -1 if the ray should rotate in a clockwise direction to get to the
+ * point or if the point is on the line determined by the line segment but
+ * not on the ray from the segment's starting point and through its end
+ * point.
+ *
+ * @param px
+ * the x coordinate of the test point.
+ * @param py
+ * the p coordinate of the test point.
+ * @return the value that describes where the point is with respect to this
+ * line segment, given the orientation of this line segment.
*/
public int relativeCCW(double px, double py) {
return relativeCCW(getX1(), getY1(), getX2(), getY2(), px, py);
}
/**
- * Tells where the point is with respect to this line segment,
- * given the orientation of this line segment. If the ray
- * found by extending the line segment from its starting point
- * is rotated, this method tells whether the ray
- * should rotate in a clockwise direction or a counter-clockwise
- * direction to hit the point first. The return value is 0 if the
- * point is on the line segment, it's 1 if the point is on the ray
- * or if the ray should rotate in a counter-clockwise direction to get to the
- * point, and it's -1 if the ray should rotate in a clockwise
- * direction to get to the point or if the point is on the line
- * determined by the line segment but not on the ray from the
- * segment's starting point and through its end point.
- *
- * @param p the test point
- *
- * @return the value that describes where the point is with respect to
- * this line segment, given the orientation of this line segment
+ * Tells where the point is with respect to this line segment, given the
+ * orientation of this line segment. If the ray found by extending the line
+ * segment from its starting point is rotated, this method tells whether the
+ * ray should rotate in a clockwise direction or a counter-clockwise
+ * direction to hit the point first. The return value is 0 if the point is
+ * on the line segment, it's 1 if the point is on the ray or if the ray
+ * should rotate in a counter-clockwise direction to get to the point, and
+ * it's -1 if the ray should rotate in a clockwise direction to get to the
+ * point or if the point is on the line determined by the line segment but
+ * not on the ray from the segment's starting point and through its end
+ * point.
+ *
+ * @param p
+ * the test point.
+ * @return the value that describes where the point is with respect to this
+ * line segment, given the orientation of this line segment.
*/
public int relativeCCW(Point2D p) {
return relativeCCW(getX1(), getY1(), getX2(), getY2(), p.getX(), p.getY());
@@ -536,28 +595,31 @@ public abstract class Line2D implements Shape, Cloneable {
/**
* Tells whether the two line segments cross.
*
- * @param x1 the x coordinate of the starting point of the first segment
- * @param y1 the y coordinate of the starting point of the first segment
- * @param x2 the x coordinate of the end point of the first segment
- * @param y2 the y coordinate of the end point of the first segment
- * @param x3 the x coordinate of the starting point of the second segment
- * @param y3 the y coordinate of the starting point of the second segment
- * @param x4 the x coordinate of the end point of the second segment
- * @param y4 the y coordinate of the end point of the second segment
- *
- * @return true, if the two line segments cross
- */
- public static boolean linesIntersect(double x1, double y1, double x2,
- double y2, double x3, double y3, double x4, double y4)
- {
+ * @param x1
+ * the x coordinate of the starting point of the first segment.
+ * @param y1
+ * the y coordinate of the starting point of the first segment.
+ * @param x2
+ * the x coordinate of the end point of the first segment.
+ * @param y2
+ * the y coordinate of the end point of the first segment.
+ * @param x3
+ * the x coordinate of the starting point of the second segment.
+ * @param y3
+ * the y coordinate of the starting point of the second segment.
+ * @param x4
+ * the x coordinate of the end point of the second segment.
+ * @param y4
+ * the y coordinate of the end point of the second segment.
+ * @return true, if the two line segments cross.
+ */
+ public static boolean linesIntersect(double x1, double y1, double x2, double y2, double x3,
+ double y3, double x4, double y4) {
/*
* A = (x2-x1, y2-y1) B = (x3-x1, y3-y1) C = (x4-x1, y4-y1) D = (x4-x3,
- * y4-y3) = C-B E = (x1-x3, y1-y3) = -B F = (x2-x3, y2-y3) = A-B
- *
- * Result is ((AxB) * (AxC) <=0) and ((DxE) * (DxF) <= 0)
- *
- * DxE = (C-B)x(-B) = BxB-CxB = BxC DxF = (C-B)x(A-B) = CxA-CxB-BxA+BxB =
- * AxB+BxC-AxC
+ * y4-y3) = C-B E = (x1-x3, y1-y3) = -B F = (x2-x3, y2-y3) = A-B Result
+ * is ((AxB) (AxC) <=0) and ((DxE) (DxF) <= 0) DxE = (C-B)x(-B) =
+ * BxB-CxB = BxC DxF = (C-B)x(A-B) = CxA-CxB-BxA+BxB = AxB+BxC-AxC
*/
x2 -= x1; // A
@@ -573,16 +635,14 @@ public abstract class Line2D implements Shape, Cloneable {
// Online
if (AvB == 0.0 && AvC == 0.0) {
if (x2 != 0.0) {
- return
- (x4 * x3 <= 0.0) ||
- ((x3 * x2 >= 0.0) &&
- (x2 > 0.0 ? x3 <= x2 || x4 <= x2 : x3 >= x2 || x4 >= x2));
+ return (x4 * x3 <= 0.0)
+ || ((x3 * x2 >= 0.0) && (x2 > 0.0 ? x3 <= x2 || x4 <= x2 : x3 >= x2
+ || x4 >= x2));
}
if (y2 != 0.0) {
- return
- (y4 * y3 <= 0.0) ||
- ((y3 * y2 >= 0.0) &&
- (y2 > 0.0 ? y3 <= y2 || y4 <= y2 : y3 >= y2 || y4 >= y2));
+ return (y4 * y3 <= 0.0)
+ || ((y3 * y2 >= 0.0) && (y2 > 0.0 ? y3 <= y2 || y4 <= y2 : y3 >= y2
+ || y4 >= y2));
}
return false;
}
@@ -595,12 +655,15 @@ public abstract class Line2D implements Shape, Cloneable {
/**
* Tells whether the specified line segments crosses this line segment.
*
- * @param x1 the x coordinate of the starting point of the test segment
- * @param y1 the y coordinate of the starting point of the test segment
- * @param x2 the x coordinate of the end point of the test segment
- * @param y2 the y coordinate of the end point of the test segment
- *
- * @return true, if the specified line segments crosses this line segment
+ * @param x1
+ * the x coordinate of the starting point of the test segment.
+ * @param y1
+ * the y coordinate of the starting point of the test segment.
+ * @param x2
+ * the x coordinate of the end point of the test segment.
+ * @param y2
+ * the y coordinate of the end point of the test segment.
+ * @return true, if the specified line segments crosses this line segment.
*/
public boolean intersectsLine(double x1, double y1, double x2, double y2) {
return linesIntersect(x1, y1, x2, y2, getX1(), getY1(), getX2(), getY2());
@@ -609,31 +672,37 @@ public abstract class Line2D implements Shape, Cloneable {
/**
* Tells whether the specified line segments crosses this line segment.
*
- * @param l the test segment
- *
- * @return true, if the specified line segments crosses this line segment
- *
- * @throws NullPointerException if l is null
+ * @param l
+ * the test segment.
+ * @return true, if the specified line segments crosses this line segment.
+ * @throws NullPointerException
+ * if l is null.
*/
public boolean intersectsLine(Line2D l) {
- return linesIntersect(l.getX1(), l.getY1(), l.getX2(), l.getY2(), getX1(), getY1(), getX2(), getY2());
+ return linesIntersect(l.getX1(), l.getY1(), l.getX2(), l.getY2(), getX1(), getY1(),
+ getX2(), getY2());
}
/**
- * Gives the square of the distance between the point and the
- * line segment.
- *
- * @param x1 the x coordinate of the starting point of the line segment
- * @param y1 the y coordinate of the starting point of the line segment
- * @param x2 the x coordinate of the end point of the line segment
- * @param y2 the y coordinate of the end point of the line segment
- * @param px the x coordinate of the test point
- * @param py the y coordinate of the test point
- *
- * @return the the square of the distance between the point and the
- * line segment
- */
- public static double ptSegDistSq(double x1, double y1, double x2, double y2, double px, double py) {
+ * Gives the square of the distance between the point and the line segment.
+ *
+ * @param x1
+ * the x coordinate of the starting point of the line segment.
+ * @param y1
+ * the y coordinate of the starting point of the line segment.
+ * @param x2
+ * the x coordinate of the end point of the line segment.
+ * @param y2
+ * the y coordinate of the end point of the line segment.
+ * @param px
+ * the x coordinate of the test point.
+ * @param py
+ * the y coordinate of the test point.
+ * @return the the square of the distance between the point and the line
+ * segment.
+ */
+ public static double ptSegDistSq(double x1, double y1, double x2, double y2, double px,
+ double py) {
/*
* A = (x2 - x1, y2 - y1) P = (px - x1, py - y1)
*/
@@ -661,92 +730,95 @@ public abstract class Line2D implements Shape, Cloneable {
}
/**
- * Gives the distance between the point and the
- * line segment.
- *
- * @param x1 the x coordinate of the starting point of the line segment
- * @param y1 the y coordinate of the starting point of the line segment
- * @param x2 the x coordinate of the end point of the line segment
- * @param y2 the y coordinate of the end point of the line segment
- * @param px the x coordinate of the test point
- * @param py the y coordinate of the test point
- *
- * @return the the distance between the point and the
- * line segment
+ * Gives the distance between the point and the line segment.
+ *
+ * @param x1
+ * the x coordinate of the starting point of the line segment.
+ * @param y1
+ * the y coordinate of the starting point of the line segment.
+ * @param x2
+ * the x coordinate of the end point of the line segment.
+ * @param y2
+ * the y coordinate of the end point of the line segment.
+ * @param px
+ * the x coordinate of the test point.
+ * @param py
+ * the y coordinate of the test point.
+ * @return the the distance between the point and the line segment.
*/
public static double ptSegDist(double x1, double y1, double x2, double y2, double px, double py) {
return Math.sqrt(ptSegDistSq(x1, y1, x2, y2, px, py));
}
/**
- * Gives the square of the distance between the point and this
- * line segment.
- *
- * @param px the x coordinate of the test point
- * @param py the y coordinate of the test point
+ * Gives the square of the distance between the point and this line segment.
*
- * @return the the square of the distance between the point and this
- * line segment
+ * @param px
+ * the x coordinate of the test point.
+ * @param py
+ * the y coordinate of the test point.
+ * @return the the square of the distance between the point and this line
+ * segment.
*/
public double ptSegDistSq(double px, double py) {
return ptSegDistSq(getX1(), getY1(), getX2(), getY2(), px, py);
}
/**
- * Gives the square of the distance between the point and this
- * line segment.
+ * Gives the square of the distance between the point and this line segment.
*
- * @param p the test point
- *
- * @return the square of the distance between the point and this
- * line segment
+ * @param p
+ * the test point.
+ * @return the square of the distance between the point and this line
+ * segment.
*/
public double ptSegDistSq(Point2D p) {
return ptSegDistSq(getX1(), getY1(), getX2(), getY2(), p.getX(), p.getY());
}
/**
- * Gives the distance between the point and this
- * line segment.
- *
- * @param px the x coordinate of the test point
- * @param py the y coordinate of the test point
+ * Gives the distance between the point and this line segment.
*
- * @return the distance between the point and this
- * line segment
+ * @param px
+ * the x coordinate of the test point.
+ * @param py
+ * the y coordinate of the test point.
+ * @return the distance between the point and this line segment.
*/
public double ptSegDist(double px, double py) {
return ptSegDist(getX1(), getY1(), getX2(), getY2(), px, py);
}
/**
- * Gives the distance between the point and this
- * line segment.
+ * Gives the distance between the point and this line segment.
*
- * @param p the test point
- *
- * @return the distance between the point and this
- * line segment
+ * @param p
+ * the test point.
+ * @return the distance between the point and this line segment.
*/
public double ptSegDist(Point2D p) {
return ptSegDist(getX1(), getY1(), getX2(), getY2(), p.getX(), p.getY());
}
/**
- * Gives the square of the distance between the point and the
- * line.
- *
- * @param x1 the x coordinate of the starting point of the line segment
- * @param y1 the y coordinate of the starting point of the line segment
- * @param x2 the x coordinate of the end point of the line segment
- * @param y2 the y coordinate of the end point of the line segment
- * @param px the x coordinate of the test point
- * @param py the y coordinate of the test point
- *
- * @return the square of the distance between the point and the
- * line
- */
- public static double ptLineDistSq(double x1, double y1, double x2, double y2, double px, double py) {
+ * Gives the square of the distance between the point and the line.
+ *
+ * @param x1
+ * the x coordinate of the starting point of the line segment.
+ * @param y1
+ * the y coordinate of the starting point of the line segment.
+ * @param x2
+ * the x coordinate of the end point of the line segment.
+ * @param y2
+ * the y coordinate of the end point of the line segment.
+ * @param px
+ * the x coordinate of the test point.
+ * @param py
+ * the y coordinate of the test point.
+ * @return the square of the distance between the point and the line.
+ */
+ public static double ptLineDistSq(double x1, double y1, double x2, double y2, double px,
+ double py) {
x2 -= x1;
y2 -= y1;
px -= x1;
@@ -756,72 +828,77 @@ public abstract class Line2D implements Shape, Cloneable {
}
/**
- * Gives the square of the distance between the point and the
- * line.
- *
- * @param x1 the x coordinate of the starting point of the line segment
- * @param y1 the y coordinate of the starting point of the line segment
- * @param x2 the x coordinate of the end point of the line segment
- * @param y2 the y coordinate of the end point of the line segment
- * @param px the x coordinate of the test point
- * @param py the y coordinate of the test point
- *
- * @return the square of the distance between the point and the
- * line
+ * Gives the square of the distance between the point and the line.
+ *
+ * @param x1
+ * the x coordinate of the starting point of the line segment.
+ * @param y1
+ * the y coordinate of the starting point of the line segment.
+ * @param x2
+ * the x coordinate of the end point of the line segment.
+ * @param y2
+ * the y coordinate of the end point of the line segment.
+ * @param px
+ * the x coordinate of the test point.
+ * @param py
+ * the y coordinate of the test point.
+ * @return the square of the distance between the point and the line.
*/
public static double ptLineDist(double x1, double y1, double x2, double y2, double px, double py) {
return Math.sqrt(ptLineDistSq(x1, y1, x2, y2, px, py));
}
/**
- * Gives the square of the distance between the point and the
- * line determined by this Line2D.
+ * Gives the square of the distance between the point and the line
+ * determined by this Line2D.
*
- * @param px the x coordinate of the test point
- * @param py the y coordinate of the test point
- *
- * @return the square of the distance between the point and the
- * line determined by this Line2D
+ * @param px
+ * the x coordinate of the test point.
+ * @param py
+ * the y coordinate of the test point.
+ * @return the square of the distance between the point and the line
+ * determined by this Line2D.
*/
public double ptLineDistSq(double px, double py) {
return ptLineDistSq(getX1(), getY1(), getX2(), getY2(), px, py);
}
/**
- * Gives the square of the distance between the point and the
- * line determined by this Line2D.
- *
- * @param p the test point
+ * Gives the square of the distance between the point and the line
+ * determined by this Line2D.
*
- * @return the square of the distance between the point and the
- * line determined by this Line2D
+ * @param p
+ * the test point.
+ * @return the square of the distance between the point and the line
+ * determined by this Line2D.
*/
public double ptLineDistSq(Point2D p) {
return ptLineDistSq(getX1(), getY1(), getX2(), getY2(), p.getX(), p.getY());
}
/**
- * Gives the distance between the point and the
- * line determined by this Line2D.
+ * Gives the distance between the point and the line determined by this
+ * Line2D.
*
- * @param px the x coordinate of the test point
- * @param py the y coordinate of the test point
- *
- * @return the distance between the point and the
- * line determined by this Line2D
+ * @param px
+ * the x coordinate of the test point.
+ * @param py
+ * the y coordinate of the test point.
+ * @return the distance between the point and the line determined by this
+ * Line2D.
*/
public double ptLineDist(double px, double py) {
return ptLineDist(getX1(), getY1(), getX2(), getY2(), px, py);
}
/**
- * Gives the distance between the point and the
- * line determined by this Line2D.
- *
- * @param p the test point
+ * Gives the distance between the point and the line determined by this
+ * Line2D.
*
- * @return the distance between the point and the
- * line determined by this Line2D
+ * @param p
+ * the test point.
+ * @return the distance between the point and the line determined by this
+ * Line2D.
*/
public double ptLineDist(Point2D p) {
return ptLineDist(getX1(), getY1(), getX2(), getY2(), p.getX(), p.getY());
diff --git a/awt/java/awt/geom/NoninvertibleTransformException.java b/awt/java/awt/geom/NoninvertibleTransformException.java
index 2b7b542..a4e6f0f 100644
--- a/awt/java/awt/geom/NoninvertibleTransformException.java
+++ b/awt/java/awt/geom/NoninvertibleTransformException.java
@@ -18,26 +18,31 @@
* @author Denis M. Kishenko
* @version $Revision$
*/
+
package java.awt.geom;
/**
- * The Class NoninvertibleTransformException is the exception that is thrown
- * when an action requires inverting an {@link AffineTransform} that is
- * not invertible (has determinant 0).
+ * The Class NoninvertibleTransformException is the exception that is thrown
+ * when an action requires inverting an {@link AffineTransform} that is not
+ * invertible (has determinant 0).
+ *
+ * @since Android 1.0
*/
public class NoninvertibleTransformException extends java.lang.Exception {
- /** The Constant serialVersionUID. */
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = 6137225240503990466L;
/**
- * Instantiates a new noninvertible transform exception.
+ * Instantiates a new non-invertible transform exception.
*
- * @param s the error message
+ * @param s
+ * the error message.
*/
public NoninvertibleTransformException(String s) {
super(s);
}
}
-
diff --git a/awt/java/awt/geom/PathIterator.java b/awt/java/awt/geom/PathIterator.java
index 5a98083..2d1c0ff 100644
--- a/awt/java/awt/geom/PathIterator.java
+++ b/awt/java/awt/geom/PathIterator.java
@@ -18,72 +18,87 @@
* @author Denis M. Kishenko
* @version $Revision$
*/
+
package java.awt.geom;
/**
- * The Interface PathIterator represents an iterator object that can
- * be used to traverse the outline of a {@link java.awt.Shape}.
- * It returns points along the boundary of the Shape
- * which may be actual vertices (in the case of a shape made of line
- * segments) or may be points on a curved segment with the distance
- * between the points determined by a chosen flattening factor.
+ * The Interface PathIterator represents an iterator object that can be used to
+ * traverse the outline of a {@link java.awt.Shape}. It returns points along the
+ * boundary of the Shape which may be actual vertices (in the case of a shape
+ * made of line segments) or may be points on a curved segment with the distance
+ * between the points determined by a chosen flattening factor.
* <p>
- * If the shape is closed, the outline is traversed in the counter-clockwise
- * direction. That means that moving forward along the boundary is to travel
- * in such a way that the interior of the shape is to the left of the
- * outline path and the exterior of the shape is to the right of the outline
- * path. The interior and exterior of the shape are determined by a
- * winding rule.
+ * If the shape is closed, the outline is traversed in the counter-clockwise
+ * direction. That means that moving forward along the boundary is to travel in
+ * such a way that the interior of the shape is to the left of the outline path
+ * and the exterior of the shape is to the right of the outline path. The
+ * interior and exterior of the shape are determined by a winding rule.
+ * </p>
+ *
+ * @since Android 1.0
*/
public interface PathIterator {
- /** The Constant WIND_EVEN_ODD indicates the winding rule that says
- * that a point is outside the shape if any infinite ray from the point
- * crosses the outline of the shape an even number of times, otherwise
- * it is inside. */
+ /**
+ * The Constant WIND_EVEN_ODD indicates the winding rule that says that a
+ * point is outside the shape if any infinite ray from the point crosses the
+ * outline of the shape an even number of times, otherwise it is inside.
+ */
public static final int WIND_EVEN_ODD = 0;
-
- /** The Constant WIND_NON_ZERO indicates the winding rule that says that
- * a point is inside the shape if every infinite ray starting from that
- * point crosses the outline of the shape a non-zero number of times. */
+
+ /**
+ * The Constant WIND_NON_ZERO indicates the winding rule that says that a
+ * point is inside the shape if every infinite ray starting from that point
+ * crosses the outline of the shape a non-zero number of times.
+ */
public static final int WIND_NON_ZERO = 1;
- /** The Constant SEG_MOVETO indicates that to follow the shape's outline
- * from the previous point to the current point, the cursor (traversal
- * point) should be placed directly on the current point. */
- public static final int SEG_MOVETO = 0;
-
- /** The Constant SEG_LINETO indicates that to follow the shape's outline
- * from the previous point to the current point, the cursor (traversal
- * point) should follow a straight line. */
- public static final int SEG_LINETO = 1;
-
- /** The Constant SEG_QUADTO indicates that to follow the shape's outline
- * from the previous point to the current point, the cursor (traversal
- * point) should follow a quadratic curve. */
- public static final int SEG_QUADTO = 2;
-
- /** The Constant SEG_CUBICTO indicates that to follow the shape's outline
- * from the previous point to the current point, the cursor (traversal
- * point) should follow a cubic curve. */
+ /**
+ * The Constant SEG_MOVETO indicates that to follow the shape's outline from
+ * the previous point to the current point, the cursor (traversal point)
+ * should be placed directly on the current point.
+ */
+ public static final int SEG_MOVETO = 0;
+
+ /**
+ * The Constant SEG_LINETO indicates that to follow the shape's outline from
+ * the previous point to the current point, the cursor (traversal point)
+ * should follow a straight line.
+ */
+ public static final int SEG_LINETO = 1;
+
+ /**
+ * The Constant SEG_QUADTO indicates that to follow the shape's outline from
+ * the previous point to the current point, the cursor (traversal point)
+ * should follow a quadratic curve.
+ */
+ public static final int SEG_QUADTO = 2;
+
+ /**
+ * The Constant SEG_CUBICTO indicates that to follow the shape's outline
+ * from the previous point to the current point, the cursor (traversal
+ * point) should follow a cubic curve.
+ */
public static final int SEG_CUBICTO = 3;
-
- /** The Constant SEG_CLOSE indicates that the previous point was the end
- * of the shape's outline. */
- public static final int SEG_CLOSE = 4;
+
+ /**
+ * The Constant SEG_CLOSE indicates that the previous point was the end of
+ * the shape's outline.
+ */
+ public static final int SEG_CLOSE = 4;
/**
* Gets the winding rule, either {@link PathIterator#WIND_EVEN_ODD} or
* {@link PathIterator#WIND_NON_ZERO}.
*
- * @return the winding rule
+ * @return the winding rule.
*/
public int getWindingRule();
/**
* Checks if this PathIterator has been completely traversed.
*
- * @return true, if this PathIterator has been completely traversed
+ * @return true, if this PathIterator has been completely traversed.
*/
public boolean isDone();
@@ -93,40 +108,39 @@ public interface PathIterator {
public void next();
/**
- * Gets the coordinates of the next vertex point along the shape's outline
- * and a flag that indicates what kind of segment to use in order to
- * connect the previous vertex point to the current vertex point to form
- * the current segment.
- *
- * @param coords the array that the coordinates of the end point of the current
- * segment are written into.
+ * Gets the coordinates of the next vertex point along the shape's outline
+ * and a flag that indicates what kind of segment to use in order to connect
+ * the previous vertex point to the current vertex point to form the current
+ * segment.
*
- * @return the flag that indicates how to follow the shape's outline
- * from the previous point to the current one, chosen from
- * the following constants:
- * {@link PathIterator#SEG_MOVETO}, {@link PathIterator#SEG_LINETO},
- * {@link PathIterator#SEG_QUADTO}, {@link PathIterator#SEG_CUBICTO},
- * or {@link PathIterator#SEG_CLOSE}
+ * @param coords
+ * the array that the coordinates of the end point of the current
+ * segment are written into.
+ * @return the flag that indicates how to follow the shape's outline from
+ * the previous point to the current one, chosen from the following
+ * constants: {@link PathIterator#SEG_MOVETO},
+ * {@link PathIterator#SEG_LINETO}, {@link PathIterator#SEG_QUADTO},
+ * {@link PathIterator#SEG_CUBICTO}, or
+ * {@link PathIterator#SEG_CLOSE}.
*/
public int currentSegment(float[] coords);
/**
- * Gets the coordinates of the next vertex point along the shape's outline
- * and a flag that indicates what kind of segment to use in order to
- * connect the previous vertex point to the current vertex point to form
- * the current segment.
+ * Gets the coordinates of the next vertex point along the shape's outline
+ * and a flag that indicates what kind of segment to use in order to connect
+ * the previous vertex point to the current vertex point to form the current
+ * segment.
*
- * @param coords the array that the coordinates of the end point of the current
- * segment are written into.
- *
- * @return the flag that indicates how to follow the shape's outline
- * from the previous point to the current one, chosen from
- * the following constants:
- * {@link PathIterator#SEG_MOVETO}, {@link PathIterator#SEG_LINETO},
- * {@link PathIterator#SEG_QUADTO}, {@link PathIterator#SEG_CUBICTO},
- * or {@link PathIterator#SEG_CLOSE}
+ * @param coords
+ * the array that the coordinates of the end point of the current
+ * segment are written into.
+ * @return the flag that indicates how to follow the shape's outline from
+ * the previous point to the current one, chosen from the following
+ * constants: {@link PathIterator#SEG_MOVETO},
+ * {@link PathIterator#SEG_LINETO}, {@link PathIterator#SEG_QUADTO},
+ * {@link PathIterator#SEG_CUBICTO}, or
+ * {@link PathIterator#SEG_CLOSE}.
*/
public int currentSegment(double[] coords);
}
-
diff --git a/awt/java/awt/geom/Point2D.java b/awt/java/awt/geom/Point2D.java
index 7719e67..f7026c8 100644
--- a/awt/java/awt/geom/Point2D.java
+++ b/awt/java/awt/geom/Point2D.java
@@ -18,40 +18,51 @@
* @author Denis M. Kishenko
* @version $Revision$
*/
+
package java.awt.geom;
import org.apache.harmony.misc.HashCode;
/**
- * The Class Point2D represents a point whose data is given in
- * high-precision values appropriate for graphical operations.
+ * The Class Point2D represents a point whose data is given in high-precision
+ * values appropriate for graphical operations.
+ *
+ * @since Android 1.0
*/
public abstract class Point2D implements Cloneable {
/**
- * The Class Float is the subclass of Point2D that has all
- * of its data values stored with float-level precision.
+ * The Class Float is the subclass of Point2D that has all of its data
+ * values stored with float-level precision.
+ *
+ * @since Android 1.0
*/
public static class Float extends Point2D {
- /** The x coordinate. */
+ /**
+ * The x coordinate.
+ */
public float x;
-
- /** The y coordinate. */
+
+ /**
+ * The y coordinate.
+ */
public float y;
/**
- * Instantiates a new float-valued Point2D with its data
- * set to zero.
+ * Instantiates a new float-valued Point2D with its data set to zero.
*/
public Float() {
}
/**
- * Instantiates a new float-valued Point2D with the specified coordinates.
+ * Instantiates a new float-valued Point2D with the specified
+ * coordinates.
*
- * @param x the x coordinate
- * @param y the y coordinate
+ * @param x
+ * the x coordinate.
+ * @param y
+ * the y coordinate.
*/
public Float(float x, float y) {
this.x = x;
@@ -71,8 +82,10 @@ public abstract class Point2D implements Cloneable {
/**
* Sets the point's coordinates.
*
- * @param x the x coordinate
- * @param y the y coordinate
+ * @param x
+ * the x coordinate.
+ * @param y
+ * the y coordinate.
*/
public void setLocation(float x, float y) {
this.x = x;
@@ -92,29 +105,37 @@ public abstract class Point2D implements Cloneable {
}
/**
- * The Class Double is the subclass of Point2D that has all
- * of its data values stored with double-level precision.
+ * The Class Double is the subclass of Point2D that has all of its data
+ * values stored with double-level precision.
+ *
+ * @since Android 1.0
*/
public static class Double extends Point2D {
- /** The x coordinate. */
+ /**
+ * The x coordinate.
+ */
public double x;
-
- /** The y coordinate. */
+
+ /**
+ * The y coordinate.
+ */
public double y;
/**
- * Instantiates a new double-valued Point2D with its data
- * set to zero.
+ * Instantiates a new double-valued Point2D with its data set to zero.
*/
public Double() {
}
/**
- * Instantiates a new double-valued Point2D with the specified coordinates.
+ * Instantiates a new double-valued Point2D with the specified
+ * coordinates.
*
- * @param x the x coordinate
- * @param y the y coordinate
+ * @param x
+ * the x coordinate.
+ * @param y
+ * the y coordinate.
*/
public Double(double x, double y) {
this.x = x;
@@ -152,29 +173,32 @@ public abstract class Point2D implements Cloneable {
/**
* Gets the x coordinate.
*
- * @return the x coordinate
+ * @return the x coordinate.
*/
public abstract double getX();
/**
* Gets the y coordinate.
*
- * @return the y coordinate
+ * @return the y coordinate.
*/
public abstract double getY();
/**
* Sets the point's coordinates.
*
- * @param x the x coordinate
- * @param y the y coordinate
+ * @param x
+ * the x coordinate.
+ * @param y
+ * the y coordinate.
*/
public abstract void setLocation(double x, double y);
/**
* Sets the point's coordinates by copying them from another point.
*
- * @param p the point to copy the data from
+ * @param p
+ * the point to copy the data from.
*/
public void setLocation(Point2D p) {
setLocation(p.getX(), p.getY());
@@ -183,12 +207,15 @@ public abstract class Point2D implements Cloneable {
/**
* Finds the square of the distance between the two specified points.
*
- * @param x1 the x coordinate of the first point
- * @param y1 the y coordinate of the first point
- * @param x2 the x coordinate of the second point
- * @param y2 the y coordinate of the second point
- *
- * @return the square of the distance between the two specified points
+ * @param x1
+ * the x coordinate of the first point.
+ * @param y1
+ * the y coordinate of the first point.
+ * @param x2
+ * the x coordinate of the second point.
+ * @param y2
+ * the y coordinate of the second point.
+ * @return the square of the distance between the two specified points.
*/
public static double distanceSq(double x1, double y1, double x2, double y2) {
x2 -= x1;
@@ -197,23 +224,28 @@ public abstract class Point2D implements Cloneable {
}
/**
- * Finds the square of the distance between this point and the specified point.
- *
- * @param px the x coordinate of the point
- * @param py the y coordinate of the point
+ * Finds the square of the distance between this point and the specified
+ * point.
*
- * @return the square of the distance between this point and the specified point
+ * @param px
+ * the x coordinate of the point.
+ * @param py
+ * the y coordinate of the point.
+ * @return the square of the distance between this point and the specified
+ * point.
*/
public double distanceSq(double px, double py) {
return Point2D.distanceSq(getX(), getY(), px, py);
}
/**
- * Finds the square of the distance between this point and the specified point.
+ * Finds the square of the distance between this point and the specified
+ * point.
*
- * @param p the other point
- *
- * @return the square of the distance between this point and the specified point
+ * @param p
+ * the other point.
+ * @return the square of the distance between this point and the specified
+ * point.
*/
public double distanceSq(Point2D p) {
return Point2D.distanceSq(getX(), getY(), p.getX(), p.getY());
@@ -222,12 +254,15 @@ public abstract class Point2D implements Cloneable {
/**
* Finds the distance between the two specified points.
*
- * @param x1 the x coordinate of the first point
- * @param y1 the y coordinate of the first point
- * @param x2 the x coordinate of the second point
- * @param y2 the y coordinate of the second point
- *
- * @return the distance between the two specified points
+ * @param x1
+ * the x coordinate of the first point.
+ * @param y1
+ * the y coordinate of the first point.
+ * @param x2
+ * the x coordinate of the second point.
+ * @param y2
+ * the y coordinate of the second point.
+ * @return the distance between the two specified points.
*/
public static double distance(double x1, double y1, double x2, double y2) {
return Math.sqrt(distanceSq(x1, y1, x2, y2));
@@ -236,10 +271,11 @@ public abstract class Point2D implements Cloneable {
/**
* Finds the distance between this point and the specified point.
*
- * @param px the x coordinate of the point
- * @param py the y coordinate of the point
- *
- * @return the distance between this point and the specified point
+ * @param px
+ * the x coordinate of the point.
+ * @param py
+ * the y coordinate of the point.
+ * @return the distance between this point and the specified point.
*/
public double distance(double px, double py) {
return Math.sqrt(distanceSq(px, py));
@@ -248,9 +284,9 @@ public abstract class Point2D implements Cloneable {
/**
* Finds the distance between this point and the specified point.
*
- * @param p the other point
- *
- * @return the distance between this point and the specified point
+ * @param p
+ * the other point.
+ * @return the distance between this point and the specified point.
*/
public double distance(Point2D p) {
return Math.sqrt(distanceSq(p));
@@ -279,10 +315,9 @@ public abstract class Point2D implements Cloneable {
return true;
}
if (obj instanceof Point2D) {
- Point2D p = (Point2D) obj;
+ Point2D p = (Point2D)obj;
return getX() == p.getX() && getY() == p.getY();
}
return false;
}
}
-
diff --git a/awt/java/awt/geom/QuadCurve2D.java b/awt/java/awt/geom/QuadCurve2D.java
index 64ea6d6..7a86a48 100644
--- a/awt/java/awt/geom/QuadCurve2D.java
+++ b/awt/java/awt/geom/QuadCurve2D.java
@@ -18,6 +18,7 @@
* @author Denis M. Kishenko
* @version $Revision$
*/
+
package java.awt.geom;
import java.awt.Rectangle;
@@ -28,42 +29,58 @@ import org.apache.harmony.awt.gl.Crossing;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The Class QuadCurve2D is a Shape that represents a segment of a
- * quadratic (Bezier) curve. The curved segment is determined by three points:
- * a start point, an end point, and a control point. The line from the control
- * point to the starting point gives the tangent to the curve at the
- * starting point, and the line from the control point to the end point
- * gives the tangent to the curve at the end point.
+ * The Class QuadCurve2D is a Shape that represents a segment of a quadratic
+ * (Bezier) curve. The curved segment is determined by three points: a start
+ * point, an end point, and a control point. The line from the control point to
+ * the starting point gives the tangent to the curve at the starting point, and
+ * the line from the control point to the end point gives the tangent to the
+ * curve at the end point.
+ *
+ * @since Android 1.0
*/
public abstract class QuadCurve2D implements Shape, Cloneable {
/**
- * The Class Float is the subclass of QuadCurve2D that has all
- * of its data values stored with float-level precision.
+ * The Class Float is the subclass of QuadCurve2D that has all of its data
+ * values stored with float-level precision.
+ *
+ * @since Android 1.0
*/
public static class Float extends QuadCurve2D {
- /** The x coordinate of the starting point of the curved segment. */
+ /**
+ * The x coordinate of the starting point of the curved segment.
+ */
public float x1;
-
- /** The y coordinate of the starting point of the curved segment. */
+
+ /**
+ * The y coordinate of the starting point of the curved segment.
+ */
public float y1;
-
- /** The x coordinate of the control point. */
+
+ /**
+ * The x coordinate of the control point.
+ */
public float ctrlx;
-
- /** The y coordinate of the control point. */
+
+ /**
+ * The y coordinate of the control point.
+ */
public float ctrly;
-
- /** The x coordinate of the end point of the curved segment. */
+
+ /**
+ * The x coordinate of the end point of the curved segment.
+ */
public float x2;
-
- /** The y coordinate of the end point of the curved segment. */
+
+ /**
+ * The y coordinate of the end point of the curved segment.
+ */
public float y2;
/**
- * Instantiates a new float-valued QuadCurve2D with all coordinate values
- * set to zero.
+ * Instantiates a new float-valued QuadCurve2D with all coordinate
+ * values set to zero.
*/
public Float() {
}
@@ -72,12 +89,20 @@ public abstract class QuadCurve2D implements Shape, Cloneable {
* Instantiates a new float-valued QuadCurve2D with the specified
* coordinate values.
*
- * @param x1 the x coordinate of the starting point of the curved segment
- * @param y1 the y coordinate of the starting point of the curved segment
- * @param ctrlx the x coordinate of the control point
- * @param ctrly the y coordinate of the control point
- * @param x2 the x coordinate of the end point of the curved segment
- * @param y2 the y coordinate of the end point of the curved segment
+ * @param x1
+ * the x coordinate of the starting point of the curved
+ * segment.
+ * @param y1
+ * the y coordinate of the starting point of the curved
+ * segment.
+ * @param ctrlx
+ * the x coordinate of the control point.
+ * @param ctrly
+ * the y coordinate of the control point.
+ * @param x2
+ * the x coordinate of the end point of the curved segment.
+ * @param y2
+ * the y coordinate of the end point of the curved segment.
*/
public Float(float x1, float y1, float ctrlx, float ctrly, float x2, float y2) {
setCurve(x1, y1, ctrlx, ctrly, x2, y2);
@@ -141,12 +166,20 @@ public abstract class QuadCurve2D implements Shape, Cloneable {
/**
* Sets the data values of the curve.
*
- * @param x1 the x coordinate of the starting point of the curved segment
- * @param y1 the y coordinate of the starting point of the curved segment
- * @param ctrlx the x coordinate of the control point
- * @param ctrly the y coordinate of the control point
- * @param x2 the x coordinate of the end point of the curved segment
- * @param y2 the y coordinate of the end point of the curved segment
+ * @param x1
+ * the x coordinate of the starting point of the curved
+ * segment.
+ * @param y1
+ * the y coordinate of the starting point of the curved
+ * segment.
+ * @param ctrlx
+ * the x coordinate of the control point.
+ * @param ctrly
+ * the y coordinate of the control point.
+ * @param x2
+ * the x coordinate of the end point of the curved segment.
+ * @param y2
+ * the y coordinate of the end point of the curved segment.
*/
public void setCurve(float x1, float y1, float ctrlx, float ctrly, float x2, float y2) {
this.x1 = x1;
@@ -167,32 +200,46 @@ public abstract class QuadCurve2D implements Shape, Cloneable {
}
/**
- * The Class Double is the subclass of QuadCurve2D that has all
- * of its data values stored with double-level precision.
+ * The Class Double is the subclass of QuadCurve2D that has all of its data
+ * values stored with double-level precision.
+ *
+ * @since Android 1.0
*/
public static class Double extends QuadCurve2D {
- /** The x coordinate of the starting point of the curved segment. */
+ /**
+ * The x coordinate of the starting point of the curved segment.
+ */
public double x1;
-
- /** The y coordinate of the starting point of the curved segment. */
+
+ /**
+ * The y coordinate of the starting point of the curved segment.
+ */
public double y1;
-
- /** The x coordinate of the control point. */
+
+ /**
+ * The x coordinate of the control point.
+ */
public double ctrlx;
-
- /** The y coordinate of the control point. */
+
+ /**
+ * The y coordinate of the control point.
+ */
public double ctrly;
-
- /** The x coordinate of the end point of the curved segment. */
+
+ /**
+ * The x coordinate of the end point of the curved segment.
+ */
public double x2;
-
- /** The y coordinate of the end point of the curved segment. */
+
+ /**
+ * The y coordinate of the end point of the curved segment.
+ */
public double y2;
/**
- * Instantiates a new double-valued QuadCurve2D with all coordinate values
- * set to zero.
+ * Instantiates a new double-valued QuadCurve2D with all coordinate
+ * values set to zero.
*/
public Double() {
}
@@ -201,12 +248,20 @@ public abstract class QuadCurve2D implements Shape, Cloneable {
* Instantiates a new double-valued QuadCurve2D with the specified
* coordinate values.
*
- * @param x1 the x coordinate of the starting point of the curved segment
- * @param y1 the y coordinate of the starting point of the curved segment
- * @param ctrlx the x coordinate of the control point
- * @param ctrly the y coordinate of the control point
- * @param x2 the x coordinate of the end point of the curved segment
- * @param y2 the y coordinate of the end point of the curved segment
+ * @param x1
+ * the x coordinate of the starting point of the curved
+ * segment.
+ * @param y1
+ * the y coordinate of the starting point of the curved
+ * segment.
+ * @param ctrlx
+ * the x coordinate of the control point.
+ * @param ctrly
+ * the y coordinate of the control point.
+ * @param x2
+ * the x coordinate of the end point of the curved segment.
+ * @param y2
+ * the y coordinate of the end point of the curved segment.
*/
public Double(double x1, double y1, double ctrlx, double ctrly, double x2, double y2) {
setCurve(x1, y1, ctrlx, ctrly, x2, y2);
@@ -277,28 +332,37 @@ public abstract class QuadCurve2D implements Shape, Cloneable {
}
/*
- * QuadCurve2D path iterator
+ * QuadCurve2D path iterator
*/
/**
* The PathIterator for a Quad2D curve.
*/
class Iterator implements PathIterator {
- /** The source QuadCurve2D object. */
+ /**
+ * The source QuadCurve2D object.
+ */
QuadCurve2D c;
- /** The path iterator transformation. */
+ /**
+ * The path iterator transformation.
+ */
AffineTransform t;
- /** The current segment index. */
+ /**
+ * The current segment index.
+ */
int index;
/**
- * Constructs a new QuadCurve2D.Iterator for given curve and transformation
+ * Constructs a new QuadCurve2D.Iterator for given curve and
+ * transformation
*
- * @param q - the source QuadCurve2D object
- * @param t the AffineTransform that acts on the coordinates before
- * returning them (or null)
+ * @param q
+ * the source QuadCurve2D object.
+ * @param t
+ * the AffineTransform that acts on the coordinates before
+ * returning them (or null).
*/
Iterator(QuadCurve2D q, AffineTransform t) {
this.c = q;
@@ -380,284 +444,307 @@ public abstract class QuadCurve2D implements Shape, Cloneable {
/**
* Gets the x coordinate of the starting point.
*
- * @return the x coordinate of the starting point
+ * @return the x coordinate of the starting point.
*/
public abstract double getX1();
/**
* Gets the y coordinate of the starting point.
*
- * @return the y coordinate of the starting point
+ * @return the y coordinate of the starting point.
*/
public abstract double getY1();
/**
* Gets the starting point.
*
- * @return the starting point
+ * @return the starting point.
*/
public abstract Point2D getP1();
/**
* Gets the x coordinate of the control point.
*
- * @return the x coordinate of the control point
+ * @return the x coordinate of the control point.
*/
public abstract double getCtrlX();
/**
* Gets the y coordinate of the control point.
*
- * @return y coordinate of the control point
+ * @return y coordinate of the control point.
*/
public abstract double getCtrlY();
/**
* Gets the control point.
*
- * @return the control point
+ * @return the control point.
*/
public abstract Point2D getCtrlPt();
/**
* Gets the x coordinate of the end point.
*
- * @return the x coordinate of the end point
+ * @return the x coordinate of the end point.
*/
public abstract double getX2();
/**
* Gets the y coordinate of the end point.
*
- * @return the y coordinate of the end point
+ * @return the y coordinate of the end point.
*/
public abstract double getY2();
/**
* Gets the end point.
*
- * @return the end point
+ * @return the end point.
*/
public abstract Point2D getP2();
/**
* Sets the data of the curve.
*
- * @param x1 the x coordinate of the starting point of the curved segment
- * @param y1 the y coordinate of the starting point of the curved segment
- * @param ctrlx the x coordinate of the control point
- * @param ctrly the y coordinate of the control point
- * @param x2 the x coordinate of the end point of the curved segment
- * @param y2 the y coordinate of the end point of the curved segment
+ * @param x1
+ * the x coordinate of the starting point of the curved segment.
+ * @param y1
+ * the y coordinate of the starting point of the curved segment.
+ * @param ctrlx
+ * the x coordinate of the control point.
+ * @param ctrly
+ * the y coordinate of the control point.
+ * @param x2
+ * the x coordinate of the end point of the curved segment.
+ * @param y2
+ * the y coordinate of the end point of the curved segment.
*/
- public abstract void setCurve(double x1, double y1, double ctrlx, double ctrly, double x2, double y2);
+ public abstract void setCurve(double x1, double y1, double ctrlx, double ctrly, double x2,
+ double y2);
/**
* Sets the data of the curve.
*
- * @param p1 the starting point of the curved segment
- * @param cp the control point
- * @param p2 the end point of the curved segment
- *
- * @throws NullPointerException if any of the three points is null.
+ * @param p1
+ * the starting point of the curved segment.
+ * @param cp
+ * the control point.
+ * @param p2
+ * the end point of the curved segment.
+ * @throws NullPointerException
+ * if any of the three points is null.
*/
public void setCurve(Point2D p1, Point2D cp, Point2D p2) {
setCurve(p1.getX(), p1.getY(), cp.getX(), cp.getY(), p2.getX(), p2.getY());
}
/**
- * Sets the data of the curve by reading the data from an array
- * of values. The values are read in the same order as the arguments
- * of the method {@link QuadCurve2D#setCurve(double, double, double, double, double, double)}.
- *
- * @param coords the array of values containing the new coordinates
- * @param offset the offset of the data to read within the array
- *
- * @throws ArrayIndexOutOfBoundsException if coords.length < offset + 6.
- * @throws NullPointerException if the coordinate array is null.
+ * Sets the data of the curve by reading the data from an array of values.
+ * The values are read in the same order as the arguments of the method
+ * {@link QuadCurve2D#setCurve(double, double, double, double, double, double)}
+ * .
+ *
+ * @param coords
+ * the array of values containing the new coordinates.
+ * @param offset
+ * the offset of the data to read within the array.
+ * @throws ArrayIndexOutOfBoundsException
+ * if {@code coords.length} < offset + 6.
+ * @throws NullPointerException
+ * if the coordinate array is null.
*/
public void setCurve(double[] coords, int offset) {
- setCurve(
- coords[offset + 0], coords[offset + 1],
- coords[offset + 2], coords[offset + 3],
+ setCurve(coords[offset + 0], coords[offset + 1], coords[offset + 2], coords[offset + 3],
coords[offset + 4], coords[offset + 5]);
}
/**
- * Sets the data of the curve by reading the data from an array
- * of points. The values are read in the same order as the arguments
- * of the method {@link QuadCurve2D#setCurve(Point2D, Point2D, Point2D)}
- *
- * @param points the array of points containing the new coordinates
- * @param offset the offset of the data to read within the array
- *
- * @throws ArrayIndexOutOfBoundsException if points.length < offset + 3.
- * @throws NullPointerException if the point array is null.
+ * Sets the data of the curve by reading the data from an array of points.
+ * The values are read in the same order as the arguments of the method
+ * {@link QuadCurve2D#setCurve(Point2D, Point2D, Point2D)}.
+ *
+ * @param points
+ * the array of points containing the new coordinates.
+ * @param offset
+ * the offset of the data to read within the array.
+ * @throws ArrayIndexOutOfBoundsException
+ * if points.length < offset + 3.
+ * @throws NullPointerException
+ * if the point array is null.
*/
public void setCurve(Point2D[] points, int offset) {
- setCurve(
- points[offset + 0].getX(), points[offset + 0].getY(),
- points[offset + 1].getX(), points[offset + 1].getY(),
- points[offset + 2].getX(), points[offset + 2].getY());
+ setCurve(points[offset + 0].getX(), points[offset + 0].getY(), points[offset + 1].getX(),
+ points[offset + 1].getY(), points[offset + 2].getX(), points[offset + 2].getY());
}
/**
* Sets the data of the curve by copying it from another QuadCurve2D.
*
- * @param curve the curve to copy the data points from
- *
- * @throws NullPointerException if the curve is null.
+ * @param curve
+ * the curve to copy the data points from.
+ * @throws NullPointerException
+ * if the curve is null.
*/
public void setCurve(QuadCurve2D curve) {
- setCurve(
- curve.getX1(), curve.getY1(),
- curve.getCtrlX(), curve.getCtrlY(),
- curve.getX2(), curve.getY2());
+ setCurve(curve.getX1(), curve.getY1(), curve.getCtrlX(), curve.getCtrlY(), curve.getX2(),
+ curve.getY2());
}
/**
- * Gets the square of the distance from the control point to the
- * straight line segment connecting the start point and the end point
- * for this curve.
+ * Gets the square of the distance from the control point to the straight
+ * line segment connecting the start point and the end point for this curve.
*
- * @return the square of the distance from the control point to the
- * straight line segment connecting the start point and the end point.
+ * @return the square of the distance from the control point to the straight
+ * line segment connecting the start point and the end point.
*/
public double getFlatnessSq() {
- return Line2D.ptSegDistSq(
- getX1(), getY1(),
- getX2(), getY2(),
- getCtrlX(), getCtrlY());
+ return Line2D.ptSegDistSq(getX1(), getY1(), getX2(), getY2(), getCtrlX(), getCtrlY());
}
/**
- * Gets the square of the distance from the control point to the
- * straight line segment connecting the start point and the end point.
- *
- * @param x1 the x coordinate of the starting point of the curved segment
- * @param y1 the y coordinate of the starting point of the curved segment
- * @param ctrlx the x coordinate of the control point
- * @param ctrly the y coordinate of the control point
- * @param x2 the x coordinate of the end point of the curved segment
- * @param y2 the y coordinate of the end point of the curved segment
- *
- * @return the square of the distance from the control point to the
- * straight line segment connecting the start point and the end point.
+ * Gets the square of the distance from the control point to the straight
+ * line segment connecting the start point and the end point.
+ *
+ * @param x1
+ * the x coordinate of the starting point of the curved segment.
+ * @param y1
+ * the y coordinate of the starting point of the curved segment.
+ * @param ctrlx
+ * the x coordinate of the control point.
+ * @param ctrly
+ * the y coordinate of the control point.
+ * @param x2
+ * the x coordinate of the end point of the curved segment.
+ * @param y2
+ * the y coordinate of the end point of the curved segment.
+ * @return the square of the distance from the control point to the straight
+ * line segment connecting the start point and the end point.
*/
- public static double getFlatnessSq(double x1, double y1, double ctrlx, double ctrly, double x2, double y2) {
+ public static double getFlatnessSq(double x1, double y1, double ctrlx, double ctrly, double x2,
+ double y2) {
return Line2D.ptSegDistSq(x1, y1, x2, y2, ctrlx, ctrly);
}
/**
- * Gets the square of the distance from the control point to the
- * straight line segment connecting the start point and the end point
- * by reading the coordinates of the points from an array of values.
- * The values are read in the same order as the arguments
- * of the method {@link QuadCurve2D#getFlatnessSq(double, double, double, double, double, double)}.
- *
- * @param coords the array of points containing the coordinates to use for
- * the calculation
- * @param offset the offset of the data to read within the array
- *
- * @return the square of the distance from the control point to the
- * straight line segment connecting the start point and the end point.
- *
- * @throws ArrayIndexOutOfBoundsException if coords.length < offset + 6.
- * @throws NullPointerException if the coordinate array is null.
+ * Gets the square of the distance from the control point to the straight
+ * line segment connecting the start point and the end point by reading the
+ * coordinates of the points from an array of values. The values are read in
+ * the same order as the arguments of the method
+ * {@link QuadCurve2D#getFlatnessSq(double, double, double, double, double, double)}
+ * .
+ *
+ * @param coords
+ * the array of points containing the coordinates to use for the
+ * calculation
+ * @param offset
+ * the offset of the data to read within the array
+ * @return the square of the distance from the control point to the straight
+ * line segment connecting the start point and the end point.
+ * @throws ArrayIndexOutOfBoundsException
+ * if {@code coords.length} < offset + 6.
+ * @throws NullPointerException
+ * if the coordinate array is null.
*/
public static double getFlatnessSq(double coords[], int offset) {
- return Line2D.ptSegDistSq(
- coords[offset + 0], coords[offset + 1],
- coords[offset + 4], coords[offset + 5],
- coords[offset + 2], coords[offset + 3]);
+ return Line2D.ptSegDistSq(coords[offset + 0], coords[offset + 1], coords[offset + 4],
+ coords[offset + 5], coords[offset + 2], coords[offset + 3]);
}
/**
- * Gets the distance from the control point to the
- * straight line segment connecting the start point and the end point
- * of this QuadCurve2D.
+ * Gets the distance from the control point to the straight line segment
+ * connecting the start point and the end point of this QuadCurve2D.
*
- * @return the the distance from the control point to the
- * straight line segment connecting the start point and the end point
- * of this QuadCurve2D
+ * @return the the distance from the control point to the straight line
+ * segment connecting the start point and the end point of this
+ * QuadCurve2D.
*/
public double getFlatness() {
return Line2D.ptSegDist(getX1(), getY1(), getX2(), getY2(), getCtrlX(), getCtrlY());
}
/**
- * Gets the distance from the control point to the
- * straight line segment connecting the start point and the end point.
- *
- * @param x1 the x coordinate of the starting point of the curved segment
- * @param y1 the y coordinate of the starting point of the curved segment
- * @param ctrlx the x coordinate of the control point
- * @param ctrly the y coordinate of the control point
- * @param x2 the x coordinate of the end point of the curved segment
- * @param y2 the y coordinate of the end point of the curved segment
- *
- * @return the the distance from the control point to the
- * straight line segment connecting the start point and the end point
+ * Gets the distance from the control point to the straight line segment
+ * connecting the start point and the end point.
+ *
+ * @param x1
+ * the x coordinate of the starting point of the curved segment.
+ * @param y1
+ * the y coordinate of the starting point of the curved segment.
+ * @param ctrlx
+ * the x coordinate of the control point.
+ * @param ctrly
+ * the y coordinate of the control point.
+ * @param x2
+ * the x coordinate of the end point of the curved segment.
+ * @param y2
+ * the y coordinate of the end point of the curved segment.
+ * @return the the distance from the control point to the straight line
+ * segment connecting the start point and the end point.
*/
- public static double getFlatness(double x1, double y1, double ctrlx,
- double ctrly, double x2, double y2)
- {
+ public static double getFlatness(double x1, double y1, double ctrlx, double ctrly, double x2,
+ double y2) {
return Line2D.ptSegDist(x1, y1, x2, y2, ctrlx, ctrly);
}
/**
- * Gets the the distance from the control point to the
- * straight line segment connecting the start point and the end point.
- * The values are read in the same order as the arguments
- * of the method {@link QuadCurve2D#getFlatness(double, double, double, double, double, double)}.
- *
- * @param coords the array of points containing the coordinates to use for
- * the calculation
- * @param offset the offset of the data to read within the array
- *
- * @return the the distance from the control point to the
- * straight line segment connecting the start point and the end point
- *
- * @throws ArrayIndexOutOfBoundsException if coords.length < offset + 6.
- * @throws NullPointerException if the coordinate array is null.
+ * Gets the the distance from the control point to the straight line segment
+ * connecting the start point and the end point. The values are read in the
+ * same order as the arguments of the method
+ * {@link QuadCurve2D#getFlatness(double, double, double, double, double, double)}
+ * .
+ *
+ * @param coords
+ * the array of points containing the coordinates to use for the
+ * calculation.
+ * @param offset
+ * the offset of the data to read within the array.
+ * @return the the distance from the control point to the straight line
+ * segment connecting the start point and the end point.
+ * @throws ArrayIndexOutOfBoundsException
+ * if {code coords.length} < offset + 6.
+ * @throws NullPointerException
+ * if the coordinate array is null.
*/
public static double getFlatness(double coords[], int offset) {
- return Line2D.ptSegDist(
- coords[offset + 0], coords[offset + 1],
- coords[offset + 4], coords[offset + 5],
- coords[offset + 2], coords[offset + 3]);
+ return Line2D.ptSegDist(coords[offset + 0], coords[offset + 1], coords[offset + 4],
+ coords[offset + 5], coords[offset + 2], coords[offset + 3]);
}
/**
- * Creates the data for two quadratic curves by dividing this
- * curve in two. The division point is the point on the curve
- * that is closest to this curve's control point. The data of
- * this curve is left unchanged.
- *
- * @param left the QuadCurve2D where the left (start) segment's
- * data is written
- * @param right the QuadCurve2D where the right (end) segment's
- * data is written
- *
- * @throws NullPointerException if either curve is null.
+ * Creates the data for two quadratic curves by dividing this curve in two.
+ * The division point is the point on the curve that is closest to this
+ * curve's control point. The data of this curve is left unchanged.
+ *
+ * @param left
+ * the QuadCurve2D where the left (start) segment's data is
+ * written.
+ * @param right
+ * the QuadCurve2D where the right (end) segment's data is
+ * written.
+ * @throws NullPointerException
+ * if either curve is null.
*/
public void subdivide(QuadCurve2D left, QuadCurve2D right) {
subdivide(this, left, right);
}
/**
- * Creates the data for two quadratic curves by dividing a source
- * curve in two. The division point is the point on the curve
- * that is closest to the source curve's control point. The data of
- * the source curve is left unchanged.
- *
- * @param src the curve that provides the initial data
- * @param left the QuadCurve2D where the left (start) segment's
- * data is written
- * @param right the QuadCurve2D where the right (end) segment's
- * data is written
- *
- * @throws NullPointerException if one of the curves is null.
+ * Creates the data for two quadratic curves by dividing a source curve in
+ * two. The division point is the point on the curve that is closest to the
+ * source curve's control point. The data of the source curve is left
+ * unchanged.
+ *
+ * @param src
+ * the curve that provides the initial data.
+ * @param left
+ * the QuadCurve2D where the left (start) segment's data is
+ * written.
+ * @param right
+ * the QuadCurve2D where the right (end) segment's data is
+ * written.
+ * @throws NullPointerException
+ * if one of the curves is null.
*/
public static void subdivide(QuadCurve2D src, QuadCurve2D left, QuadCurve2D right) {
double x1 = src.getX1();
@@ -681,26 +768,33 @@ public abstract class QuadCurve2D implements Shape, Cloneable {
}
/**
- * Creates the data for two quadratic curves by dividing a source
- * curve in two. The division point is the point on the curve
- * that is closest to the source curve's control point. The data
- * for the three curves is read and written from arrays of values in
- * the usual order: x1, y1, cx, cy, x2, y2.
- *
- * @param src the array that gives the data values for the source curve
- * @param srcoff the offset in the src array to read the values from
- * @param left the array where the coordinates of the start curve should be written
- * @param leftOff the offset in the left array to start writing the values
- * @param right the array where the coordinates of the end curve should be written
- * @param rightOff the offset in the right array to start writing the values
- *
- * @throws ArrayIndexOutOfBoundsException if src.length < srcoff + 6
- * or if left.length < leftOff + 6 or if right.length < rightOff + 6.
- * @throws NullPointerException if one of the arrays is null.
+ * Creates the data for two quadratic curves by dividing a source curve in
+ * two. The division point is the point on the curve that is closest to the
+ * source curve's control point. The data for the three curves is read and
+ * written from arrays of values in the usual order: x1, y1, cx, cy, x2, y2.
+ *
+ * @param src
+ * the array that gives the data values for the source curve.
+ * @param srcoff
+ * the offset in the src array to read the values from.
+ * @param left
+ * the array where the coordinates of the start curve should be
+ * written.
+ * @param leftOff
+ * the offset in the left array to start writing the values.
+ * @param right
+ * the array where the coordinates of the end curve should be
+ * written.
+ * @param rightOff
+ * the offset in the right array to start writing the values.
+ * @throws ArrayIndexOutOfBoundsException
+ * if {@code src.length} < srcoff + 6 or if {@code left.length}
+ * < leftOff + 6 or if {@code right.length} < rightOff + 6.
+ * @throws NullPointerException
+ * if one of the arrays is null.
*/
- public static void subdivide(double src[], int srcoff, double left[],
- int leftOff, double right[], int rightOff)
- {
+ public static void subdivide(double src[], int srcoff, double left[], int leftOff,
+ double right[], int rightOff) {
double x1 = src[srcoff + 0];
double y1 = src[srcoff + 1];
double cx = src[srcoff + 2];
@@ -732,42 +826,43 @@ public abstract class QuadCurve2D implements Shape, Cloneable {
}
/**
- * Finds the roots of the quadratic polynomial. This is
- * accomplished by finding the (real) values of x that solve
- * the following equation: eqn[2]*x*x + eqn[1]*x + eqn[0] = 0.
- * The solutions are written back into the array eqn starting
- * from the index 0 in the array. The return value tells how
- * many array elements have been changed by this method call.
- *
- * @param eqn an array containing the coefficients of the
- * quadratic polynomial to solve.
- *
- * @return the number of roots of the quadratic polynomial
- *
- * @throws ArrayIndexOutOfBoundsException if eqn.length < 3.
- * @throws NullPointerException if the array is null.
+ * Finds the roots of the quadratic polynomial. This is accomplished by
+ * finding the (real) values of x that solve the following equation:
+ * eqn[2]*x*x + eqn[1]*x + eqn[0] = 0. The solutions are written back into
+ * the array eqn starting from the index 0 in the array. The return value
+ * tells how many array elements have been changed by this method call.
+ *
+ * @param eqn
+ * an array containing the coefficients of the quadratic
+ * polynomial to solve.
+ * @return the number of roots of the quadratic polynomial.
+ * @throws ArrayIndexOutOfBoundsException
+ * if {@code eqn.length} < 3.
+ * @throws NullPointerException
+ * if the array is null.
*/
public static int solveQuadratic(double eqn[]) {
return solveQuadratic(eqn, eqn);
}
/**
- * Finds the roots of the quadratic polynomial. This is
- * accomplished by finding the (real) values of x that solve
- * the following equation: eqn[2]*x*x + eqn[1]*x + eqn[0] = 0.
- * The solutions are written into the array res starting
- * from the index 0 in the array. The return value tells how
- * many array elements have been written by this method call.
- *
- * @param eqn an array containing the coefficients of the
- * quadratic polynomial to solve.
- * @param res the array that this method writes the results into
- *
- * @return the number of roots of the quadratic polynomial
- *
- * @throws ArrayIndexOutOfBoundsException if eqn.length < 3 or
- * if res.length is less than the number of roots.
- * @throws NullPointerException if either array is null.
+ * Finds the roots of the quadratic polynomial. This is accomplished by
+ * finding the (real) values of x that solve the following equation:
+ * eqn[2]*x*x + eqn[1]*x + eqn[0] = 0. The solutions are written into the
+ * array res starting from the index 0 in the array. The return value tells
+ * how many array elements have been written by this method call.
+ *
+ * @param eqn
+ * an array containing the coefficients of the quadratic
+ * polynomial to solve.
+ * @param res
+ * the array that this method writes the results into.
+ * @return the number of roots of the quadratic polynomial.
+ * @throws ArrayIndexOutOfBoundsException
+ * if {@code eqn.length} < 3 or if {@code res.length} is less
+ * than the number of roots.
+ * @throws NullPointerException
+ * if either array is null.
*/
public static int solveQuadratic(double eqn[], double res[]) {
return Crossing.solveQuad(eqn, res);
@@ -821,4 +916,3 @@ public abstract class QuadCurve2D implements Shape, Cloneable {
}
}
-
diff --git a/awt/java/awt/geom/Rectangle2D.java b/awt/java/awt/geom/Rectangle2D.java
index d33dd91..8166134 100644
--- a/awt/java/awt/geom/Rectangle2D.java
+++ b/awt/java/awt/geom/Rectangle2D.java
@@ -18,6 +18,7 @@
* @author Denis M. Kishenko
* @version $Revision$
*/
+
package java.awt.geom;
import java.util.NoSuchElementException;
@@ -26,44 +27,64 @@ import org.apache.harmony.awt.internal.nls.Messages;
import org.apache.harmony.misc.HashCode;
/**
- * The Class Rectangle2D represents a rectangle whose coordinates are given
- * with the correct precision to be used with the Graphics2D classes.
+ * The Class Rectangle2D represents a rectangle whose coordinates are given with
+ * the correct precision to be used with the Graphics2D classes.
+ *
+ * @since Android 1.0
*/
public abstract class Rectangle2D extends RectangularShape {
- /** The Constant OUT_LEFT is a mask that is used to indicate that a
- * given point is outside the rectangle and to its left. */
- public static final int OUT_LEFT = 1;
-
- /** The Constant OUT_TOP is a mask that is used to indicate that a
- * given point is outside the rectangle and above it. */
- public static final int OUT_TOP = 2;
-
- /** The Constant OUT_RIGHT is a mask that is used to indicate that a
- * given point is outside the rectangle and to its right. */
- public static final int OUT_RIGHT = 4;
-
- /** The Constant OUT_BOTTOM is a mask that is used to indicate that a
- * given point is outside the rectangle and above it. */
+ /**
+ * The Constant OUT_LEFT is a mask that is used to indicate that a given
+ * point is outside the rectangle and to its left.
+ */
+ public static final int OUT_LEFT = 1;
+
+ /**
+ * The Constant OUT_TOP is a mask that is used to indicate that a given
+ * point is outside the rectangle and above it.
+ */
+ public static final int OUT_TOP = 2;
+
+ /**
+ * The Constant OUT_RIGHT is a mask that is used to indicate that a given
+ * point is outside the rectangle and to its right.
+ */
+ public static final int OUT_RIGHT = 4;
+
+ /**
+ * The Constant OUT_BOTTOM is a mask that is used to indicate that a given
+ * point is outside the rectangle and above it.
+ */
public static final int OUT_BOTTOM = 8;
/**
- * The Class Float is the subclass of Rectangle2D that represents a
+ * The Class Float is the subclass of Rectangle2D that represents a
* rectangle whose data values are given as floats (with float-level
* precision).
+ *
+ * @since Android 1.0
*/
public static class Float extends Rectangle2D {
- /** The x coordinate of the rectangle's upper left corner. */
+ /**
+ * The x coordinate of the rectangle's upper left corner.
+ */
public float x;
-
- /** The y coordinate of the rectangle's upper left corner. */
+
+ /**
+ * The y coordinate of the rectangle's upper left corner.
+ */
public float y;
-
- /** The width of the rectangle. */
+
+ /**
+ * The width of the rectangle.
+ */
public float width;
-
- /** The height of the rectangle. */
+
+ /**
+ * The height of the rectangle.
+ */
public float height;
/**
@@ -75,10 +96,14 @@ public abstract class Rectangle2D extends RectangularShape {
/**
* Instantiates a new rectangle with the specified float-precision data.
*
- * @param x the x coordinate of the rectangle's upper left corner
- * @param y the y coordinate of the rectangle's upper left corner
- * @param width the width of the rectangle
- * @param height the height of the rectangle
+ * @param x
+ * the x coordinate of the rectangle's upper left corner.
+ * @param y
+ * the y coordinate of the rectangle's upper left corner.
+ * @param width
+ * the width of the rectangle.
+ * @param height
+ * the height of the rectangle.
*/
public Float(float x, float y, float width, float height) {
setRect(x, y, width, height);
@@ -112,10 +137,14 @@ public abstract class Rectangle2D extends RectangularShape {
/**
* Sets the rectangle's data to the given values.
*
- * @param x the x coordinate of the rectangle's upper left corner
- * @param y the y coordinate of the rectangle's upper left corner
- * @param width the width of the rectangle
- * @param height the height of the rectangle
+ * @param x
+ * the x coordinate of the rectangle's upper left corner.
+ * @param y
+ * the y coordinate of the rectangle's upper left corner.
+ * @param width
+ * the width of the rectangle.
+ * @param height
+ * the height of the rectangle.
*/
public void setRect(float x, float y, float width, float height) {
this.x = x;
@@ -146,23 +175,19 @@ public abstract class Rectangle2D extends RectangularShape {
if (width <= 0.0f) {
code |= OUT_LEFT | OUT_RIGHT;
- } else
- if (px < x) {
- code |= OUT_LEFT;
- } else
- if (px > x + width) {
- code |= OUT_RIGHT;
- }
+ } else if (px < x) {
+ code |= OUT_LEFT;
+ } else if (px > x + width) {
+ code |= OUT_RIGHT;
+ }
if (height <= 0.0f) {
code |= OUT_TOP | OUT_BOTTOM;
- } else
- if (py < y) {
- code |= OUT_TOP;
- } else
- if (py > y + height) {
- code |= OUT_BOTTOM;
- }
+ } else if (py < y) {
+ code |= OUT_TOP;
+ } else if (py > y + height) {
+ code |= OUT_BOTTOM;
+ }
return code;
}
@@ -198,29 +223,41 @@ public abstract class Rectangle2D extends RectangularShape {
@Override
public String toString() {
- // The output format based on 1.5 release behaviour. It could be obtained in the following way
+ // The output format based on 1.5 release behaviour. It could be
+ // obtained in the following way
// System.out.println(new Rectangle2D.Float().toString())
- return getClass().getName() + "[x=" + x + ",y=" + y + ",width=" + width + ",height=" + height + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
+ return getClass().getName()
+ + "[x=" + x + ",y=" + y + ",width=" + width + ",height=" + height + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
}
}
/**
- * The Class Double is the subclass of Rectangle2D that represents a
- * rectangle whose data values are given as doubles (with double-precision-level
- * precision).
+ * The Class Double is the subclass of Rectangle2D that represents a
+ * rectangle whose data values are given as doubles (with
+ * double-precision-level precision).
+ *
+ * @since Android 1.0
*/
public static class Double extends Rectangle2D {
- /** The x coordinate of the rectangle's upper left corner. */
+ /**
+ * The x coordinate of the rectangle's upper left corner.
+ */
public double x;
-
- /** The y coordinate of the rectangle's upper left corner. */
+
+ /**
+ * The y coordinate of the rectangle's upper left corner.
+ */
public double y;
-
- /** The width of the rectangle. */
+
+ /**
+ * The width of the rectangle.
+ */
public double width;
-
- /** The height of the rectangle. */
+
+ /**
+ * The height of the rectangle.
+ */
public double height;
/**
@@ -232,10 +269,14 @@ public abstract class Rectangle2D extends RectangularShape {
/**
* Instantiates a new rectangle with the given double values.
*
- * @param x the x coordinate of the rectangle's upper left corner
- * @param y the y coordinate of the rectangle's upper left corner
- * @param width the width of the rectangle
- * @param height the height of the rectangle
+ * @param x
+ * the x coordinate of the rectangle's upper left corner.
+ * @param y
+ * the y coordinate of the rectangle's upper left corner.
+ * @param width
+ * the width of the rectangle.
+ * @param height
+ * the height of the rectangle.
*/
public Double(double x, double y, double width, double height) {
setRect(x, y, width, height);
@@ -288,23 +329,19 @@ public abstract class Rectangle2D extends RectangularShape {
if (width <= 0.0) {
code |= OUT_LEFT | OUT_RIGHT;
- } else
- if (px < x) {
- code |= OUT_LEFT;
- } else
- if (px > x + width) {
- code |= OUT_RIGHT;
- }
+ } else if (px < x) {
+ code |= OUT_LEFT;
+ } else if (px > x + width) {
+ code |= OUT_RIGHT;
+ }
if (height <= 0.0) {
code |= OUT_TOP | OUT_BOTTOM;
- } else
- if (py < y) {
- code |= OUT_TOP;
- } else
- if (py > y + height) {
- code |= OUT_BOTTOM;
- }
+ } else if (py < y) {
+ code |= OUT_TOP;
+ } else if (py > y + height) {
+ code |= OUT_BOTTOM;
+ }
return code;
}
@@ -330,45 +367,60 @@ public abstract class Rectangle2D extends RectangularShape {
@Override
public String toString() {
- // The output format based on 1.5 release behaviour. It could be obtained in the following way
+ // The output format based on 1.5 release behaviour. It could be
+ // obtained in the following way
// System.out.println(new Rectangle2D.Double().toString())
- return getClass().getName() + "[x=" + x + ",y=" + y + ",width=" + width + ",height=" + height + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
+ return getClass().getName()
+ + "[x=" + x + ",y=" + y + ",width=" + width + ",height=" + height + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
}
}
/**
- * The Class Iterator provides
- * access to the coordinates of the Rectangle2D's boundary modified
- * by an AffineTransform.
+ * The Class Iterator provides access to the coordinates of the
+ * Rectangle2D's boundary modified by an AffineTransform.
*/
class Iterator implements PathIterator {
- /** The x coordinate of the rectangle's upper left corner. */
+ /**
+ * The x coordinate of the rectangle's upper left corner.
+ */
double x;
-
- /** The y coordinate of the rectangle's upper left corner. */
+
+ /**
+ * The y coordinate of the rectangle's upper left corner.
+ */
double y;
-
-
- /** The width of the rectangle. */
+
+ /**
+ * The width of the rectangle.
+ */
double width;
-
- /** The height of the rectangle. */
+
+ /**
+ * The height of the rectangle.
+ */
double height;
-
- /** The AffineTransform that is used to modify the coordinates
- * that are returned by the path iterator. */
+
+ /**
+ * The AffineTransform that is used to modify the coordinates that are
+ * returned by the path iterator.
+ */
AffineTransform t;
-
- /** The current segment index. */
+
+ /**
+ * The current segment index.
+ */
int index;
-
+
/**
- * Constructs a new Rectangle2D.Iterator for given rectangle and transformation.
+ * Constructs a new Rectangle2D.Iterator for given rectangle and
+ * transformation.
*
- * @param r - the source Rectangle2D object
- * @param at - the AffineTransform object to apply to the coordinates
- * before returning them
+ * @param r
+ * the source Rectangle2D object.
+ * @param at
+ * the AffineTransform object to apply to the coordinates
+ * before returning them.
*/
Iterator(Rectangle2D r, AffineTransform at) {
this.x = r.getX();
@@ -407,23 +459,23 @@ public abstract class Rectangle2D extends RectangularShape {
coords[1] = y;
} else {
type = SEG_LINETO;
- switch(index) {
- case 1:
- coords[0] = x + width;
- coords[1] = y;
- break;
- case 2:
- coords[0] = x + width;
- coords[1] = y + height;
- break;
- case 3:
- coords[0] = x;
- coords[1] = y + height;
- break;
- case 4:
- coords[0] = x;
- coords[1] = y;
- break;
+ switch (index) {
+ case 1:
+ coords[0] = x + width;
+ coords[1] = y;
+ break;
+ case 2:
+ coords[0] = x + width;
+ coords[1] = y + height;
+ break;
+ case 3:
+ coords[0] = x;
+ coords[1] = y + height;
+ break;
+ case 4:
+ coords[0] = x;
+ coords[1] = y;
+ break;
}
}
if (t != null) {
@@ -446,23 +498,23 @@ public abstract class Rectangle2D extends RectangularShape {
type = SEG_MOVETO;
} else {
type = SEG_LINETO;
- switch(index) {
- case 1:
- coords[0] = (float)(x + width);
- coords[1] = (float)y;
- break;
- case 2:
- coords[0] = (float)(x + width);
- coords[1] = (float)(y + height);
- break;
- case 3:
- coords[0] = (float)x;
- coords[1] = (float)(y + height);
- break;
- case 4:
- coords[0] = (float)x;
- coords[1] = (float)y;
- break;
+ switch (index) {
+ case 1:
+ coords[0] = (float)(x + width);
+ coords[1] = (float)y;
+ break;
+ case 2:
+ coords[0] = (float)(x + width);
+ coords[1] = (float)(y + height);
+ break;
+ case 3:
+ coords[0] = (float)x;
+ coords[1] = (float)(y + height);
+ break;
+ case 4:
+ coords[0] = (float)x;
+ coords[1] = (float)y;
+ break;
}
}
if (t != null) {
@@ -474,7 +526,7 @@ public abstract class Rectangle2D extends RectangularShape {
}
/**
- * Instantiates a new rectangle2 d.
+ * Instantiates a new Rectangle2D.
*/
protected Rectangle2D() {
}
@@ -482,58 +534,64 @@ public abstract class Rectangle2D extends RectangularShape {
/**
* Sets the rectangle's location and dimension.
*
- * @param x the x coordinate of the rectangle's upper left corner
- * @param y the y coordinate of the rectangle's upper left corner
- * @param width the width of the rectangle
- * @param height the height of the rectangle
+ * @param x
+ * the x coordinate of the rectangle's upper left corner.
+ * @param y
+ * the y coordinate of the rectangle's upper left corner.
+ * @param width
+ * the width of the rectangle.
+ * @param height
+ * the height of the rectangle.
*/
public abstract void setRect(double x, double y, double width, double height);
/**
- * Gets the location of the point with respect to the rectangle and
- * packs the information into a single int using the bitmasks
- * {@link Rectangle2D#OUT_LEFT}, {@link Rectangle2D#OUT_RIGHT},
- * {@link Rectangle2D#OUT_TOP}, and {@link Rectangle2D#OUT_BOTTOM}.
- * If the rectangle has zero or negative width, then every point
- * is regarded as being both to the left and to the right of the
- * rectangle. Similarly, if the height is zero or negative then
- * all points are considered to be both both above and below it.
- *
- * @param x the x coordinate of the point to check
- * @param y the y coordinate of the point to check
+ * Gets the location of the point with respect to the rectangle and packs
+ * the information into a single integer using the bitmasks
+ * {@link Rectangle2D#OUT_LEFT}, {@link Rectangle2D#OUT_RIGHT},
+ * {@link Rectangle2D#OUT_TOP}, and {@link Rectangle2D#OUT_BOTTOM}. If the
+ * rectangle has zero or negative width, then every point is regarded as
+ * being both to the left and to the right of the rectangle. Similarly, if
+ * the height is zero or negative then all points are considered to be both
+ * both above and below it.
*
+ * @param x
+ * the x coordinate of the point to check.
+ * @param y
+ * the y coordinate of the point to check.
* @return the point's location with respect to the rectangle.
*/
public abstract int outcode(double x, double y);
/**
- * Creates an new rectangle that is the intersection of this rectangle
- * with the given rectangle. The resulting rectangle may be empty.
- * The data of this rectangle is left unchanged.
- *
- * @param r the rectangle to intersect with this rectangle.
+ * Creates an new rectangle that is the intersection of this rectangle with
+ * the given rectangle. The resulting rectangle may be empty. The data of
+ * this rectangle is left unchanged.
*
+ * @param r
+ * the rectangle to intersect with this rectangle.
* @return the new rectangle given by intersection.
*/
public abstract Rectangle2D createIntersection(Rectangle2D r);
/**
- * Creates an new rectangle that is the union of this rectangle
- * with the given rectangle. The new rectangle is the smallest
- * rectangle which contains both this rectangle and the rectangle
- * specified as a parameter. The data of this rectangle is left unchanged.
- *
- * @param r the rectangle to combine with this rectangle
+ * Creates an new rectangle that is the union of this rectangle with the
+ * given rectangle. The new rectangle is the smallest rectangle which
+ * contains both this rectangle and the rectangle specified as a parameter.
+ * The data of this rectangle is left unchanged.
*
- * @return the new rectangle given by union
+ * @param r
+ * the rectangle to combine with this rectangle.
+ * @return the new rectangle given by union.
*/
public abstract Rectangle2D createUnion(Rectangle2D r);
/**
- * Sets the data of this rectangle to match the data of the given
- * rectangle.
+ * Sets the data of this rectangle to match the data of the given rectangle.
*
- * @param r the rectangle whose data is to be copied into this rectangle's fields.
+ * @param r
+ * the rectangle whose data is to be copied into this rectangle's
+ * fields.
*/
public void setRect(Rectangle2D r) {
setRect(r.getX(), r.getY(), r.getWidth(), r.getHeight());
@@ -549,61 +607,63 @@ public abstract class Rectangle2D extends RectangularShape {
}
/**
- * Determines whether any part of the line segment between (and including)
- * the two given points touches any
- * part of the rectangle, including its boundary.
+ * Determines whether any part of the line segment between (and including)
+ * the two given points touches any part of the rectangle, including its
+ * boundary.
*
- * @param x1 the x coordinate of one of the points that determines the
- * line segment to test
- * @param y1 the y coordinate of one of the points that determines the
- * line segment to test
- * @param x2 the x coordinate of one of the points that determines the
- * line segment to test
- * @param y2 the y coordinate of one of the points that determines the
- * line segment to test
- *
- * @return true, if at least one point of the line segment between the
- * two points matches any point of the interior of the rectangle or the
- * rectangle's boundary.
+ * @param x1
+ * the x coordinate of one of the points that determines the line
+ * segment to test.
+ * @param y1
+ * the y coordinate of one of the points that determines the line
+ * segment to test.
+ * @param x2
+ * the x coordinate of one of the points that determines the line
+ * segment to test.
+ * @param y2
+ * the y coordinate of one of the points that determines the line
+ * segment to test.
+ * @return true, if at least one point of the line segment between the two
+ * points matches any point of the interior of the rectangle or the
+ * rectangle's boundary.
*/
public boolean intersectsLine(double x1, double y1, double x2, double y2) {
double rx1 = getX();
double ry1 = getY();
double rx2 = rx1 + getWidth();
double ry2 = ry1 + getHeight();
- return
- (rx1 <= x1 && x1 <= rx2 && ry1 <= y1 && y1 <= ry2) ||
- (rx1 <= x2 && x2 <= rx2 && ry1 <= y2 && y2 <= ry2) ||
- Line2D.linesIntersect(rx1, ry1, rx2, ry2, x1, y1, x2, y2) ||
- Line2D.linesIntersect(rx2, ry1, rx1, ry2, x1, y1, x2, y2);
+ return (rx1 <= x1 && x1 <= rx2 && ry1 <= y1 && y1 <= ry2)
+ || (rx1 <= x2 && x2 <= rx2 && ry1 <= y2 && y2 <= ry2)
+ || Line2D.linesIntersect(rx1, ry1, rx2, ry2, x1, y1, x2, y2)
+ || Line2D.linesIntersect(rx2, ry1, rx1, ry2, x1, y1, x2, y2);
}
/**
- * Determines whether any part of the specified line segment touches any
+ * Determines whether any part of the specified line segment touches any
* part of the rectangle, including its boundary.
*
- * @param l the line segment to test
- *
- * @return true, if at least one point of the given line segment
- * matches any point of the interior of the rectangle or the
- * rectangle's boundary.
+ * @param l
+ * the line segment to test.
+ * @return true, if at least one point of the given line segment matches any
+ * point of the interior of the rectangle or the rectangle's
+ * boundary.
*/
public boolean intersectsLine(Line2D l) {
return intersectsLine(l.getX1(), l.getY1(), l.getX2(), l.getY2());
}
/**
- * Gets the location of the point with respect to the rectangle and
- * packs the information into a single int using the bitmasks
- * {@link Rectangle2D#OUT_LEFT}, {@link Rectangle2D#OUT_RIGHT},
- * {@link Rectangle2D#OUT_TOP}, and {@link Rectangle2D#OUT_BOTTOM}.
- * If the rectangle has zero or negative width, then every point
- * is regarded as being both to the left and to the right of the
- * rectangle. Similarly, if the height is zero or negative then
- * all points are considered to be both both above and below it.
- *
- * @param p the point to check
+ * Gets the location of the point with respect to the rectangle and packs
+ * the information into a single integer using the bitmasks
+ * {@link Rectangle2D#OUT_LEFT}, {@link Rectangle2D#OUT_RIGHT},
+ * {@link Rectangle2D#OUT_TOP}, and {@link Rectangle2D#OUT_BOTTOM}. If the
+ * rectangle has zero or negative width, then every point is regarded as
+ * being both to the left and to the right of the rectangle. Similarly, if
+ * the height is zero or negative then all points are considered to be both
+ * both above and below it.
*
+ * @param p
+ * the point to check.
* @return the point's location with respect to the rectangle.
*/
public int outcode(Point2D p) {
@@ -620,9 +680,7 @@ public abstract class Rectangle2D extends RectangularShape {
double x2 = x1 + getWidth();
double y2 = y1 + getHeight();
- return
- x1 <= x && x < x2 &&
- y1 <= y && y < y2;
+ return x1 <= x && x < x2 && y1 <= y && y < y2;
}
public boolean intersects(double x, double y, double width, double height) {
@@ -635,9 +693,7 @@ public abstract class Rectangle2D extends RectangularShape {
double x2 = x1 + getWidth();
double y2 = y1 + getHeight();
- return
- x + width > x1 && x < x2 &&
- y + height > y1 && y < y2;
+ return x + width > x1 && x < x2 && y + height > y1 && y < y2;
}
public boolean contains(double x, double y, double width, double height) {
@@ -650,19 +706,21 @@ public abstract class Rectangle2D extends RectangularShape {
double x2 = x1 + getWidth();
double y2 = y1 + getHeight();
- return
- x1 <= x && x + width <= x2 &&
- y1 <= y && y + height <= y2;
+ return x1 <= x && x + width <= x2 && y1 <= y && y + height <= y2;
}
/**
- * Changes the data values of the destination rectangle to match
- * the intersection of the two source rectangles, leaving the
- * two source rectangles unchanged. The resulting rectangle may be empty.
+ * Changes the data values of the destination rectangle to match the
+ * intersection of the two source rectangles, leaving the two source
+ * rectangles unchanged. The resulting rectangle may be empty.
*
- * @param src1 one of the two source rectangles giving the data to intersect
- * @param src2 one of the two source rectangles giving the data to intersect
- * @param dst the destination object where the data of the intersection is written
+ * @param src1
+ * one of the two source rectangles giving the data to intersect.
+ * @param src2
+ * one of the two source rectangles giving the data to intersect.
+ * @param dst
+ * the destination object where the data of the intersection is
+ * written.
*/
public static void intersect(Rectangle2D src1, Rectangle2D src2, Rectangle2D dst) {
double x1 = Math.max(src1.getMinX(), src2.getMinX());
@@ -673,14 +731,17 @@ public abstract class Rectangle2D extends RectangularShape {
}
/**
- * Changes the data values of the destination rectangle to match
- * the union of the two source rectangles, leaving the
- * two source rectangles unchanged. The union is the smallest rectangle
- * tha completely covers the two source rectangles.
+ * Changes the data values of the destination rectangle to match the union
+ * of the two source rectangles, leaving the two source rectangles
+ * unchanged. The union is the smallest rectangle that completely covers the
+ * two source rectangles.
*
- * @param src1 one of the two source rectangles giving the data
- * @param src2 one of the two source rectangles giving the data
- * @param dst the destination object where the data of the union is written
+ * @param src1
+ * one of the two source rectangles giving the data.
+ * @param src2
+ * one of the two source rectangles giving the data.
+ * @param dst
+ * the destination object where the data of the union is written.
*/
public static void union(Rectangle2D src1, Rectangle2D src2, Rectangle2D dst) {
double x1 = Math.min(src1.getMinX(), src2.getMinX());
@@ -693,8 +754,12 @@ public abstract class Rectangle2D extends RectangularShape {
/**
* Enlarges the rectangle so that it includes the given point.
*
- * @param x the x coordinate of the new point to be covered by the rectangle
- * @param y the y coordinate of the new point to be covered by the rectangle
+ * @param x
+ * the x coordinate of the new point to be covered by the
+ * rectangle.
+ * @param y
+ * the y coordinate of the new point to be covered by the
+ * rectangle.
*/
public void add(double x, double y) {
double x1 = Math.min(getMinX(), x);
@@ -707,7 +772,8 @@ public abstract class Rectangle2D extends RectangularShape {
/**
* Enlarges the rectangle so that it includes the given point.
*
- * @param p the new point to be covered by the rectangle
+ * @param p
+ * the new point to be covered by the rectangle.
*/
public void add(Point2D p) {
add(p.getX(), p.getY());
@@ -716,7 +782,8 @@ public abstract class Rectangle2D extends RectangularShape {
/**
* Enlarges the rectangle so that it covers the given rectangle.
*
- * @param r the new rectangle to be covered by this rectangle
+ * @param r
+ * the new rectangle to be covered by this rectangle.
*/
public void add(Rectangle2D r) {
union(this, r, this);
@@ -748,14 +815,10 @@ public abstract class Rectangle2D extends RectangularShape {
}
if (obj instanceof Rectangle2D) {
Rectangle2D r = (Rectangle2D)obj;
- return
- getX() == r.getX() &&
- getY() == r.getY() &&
- getWidth() == r.getWidth() &&
- getHeight() == r.getHeight();
+ return getX() == r.getX() && getY() == r.getY() && getWidth() == r.getWidth()
+ && getHeight() == r.getHeight();
}
return false;
}
}
-
diff --git a/awt/java/awt/geom/RectangularShape.java b/awt/java/awt/geom/RectangularShape.java
index 0a77dfd..0b0d05c 100644
--- a/awt/java/awt/geom/RectangularShape.java
+++ b/awt/java/awt/geom/RectangularShape.java
@@ -18,17 +18,19 @@
* @author Denis M. Kishenko
* @version $Revision$
*/
+
package java.awt.geom;
import java.awt.Rectangle;
import java.awt.Shape;
/**
- * The Class RectangularShape represents a Shape whose data is
- * (at least partially) described by a rectangular frame. This includes
- * shapes which are obviously rectangular (such as Rectangle2D) as well as
- * shapes like Arc2D which are largely determined by the rectangle they
- * fit inside.
+ * The Class RectangularShape represents a Shape whose data is (at least
+ * partially) described by a rectangular frame. This includes shapes which are
+ * obviously rectangular (such as Rectangle2D) as well as shapes like Arc2D
+ * which are largely determined by the rectangle they fit inside.
+ *
+ * @since Android 1.0
*/
public abstract class RectangularShape implements Shape, Cloneable {
@@ -67,25 +69,30 @@ public abstract class RectangularShape implements Shape, Cloneable {
public abstract double getHeight();
/**
- * Checks if this is an empty rectangle: one with zero as its width or height.
+ * Checks if this is an empty rectangle: one with zero as its width or
+ * height.
*
* @return true, if the width or height is empty.
*/
public abstract boolean isEmpty();
/**
- * Sets the data for the bounding rectangle in terms of double values.
+ * Sets the data for the bounding rectangle in terms of double values.
*
- * @param x the x coordinate of the upper left corner of the rectangle.
- * @param y the y coordinate of the upper left corner of the rectangle.
- * @param w the width of the rectangle.
- * @param h the height of the rectangle.
+ * @param x
+ * the x coordinate of the upper left corner of the rectangle.
+ * @param y
+ * the y coordinate of the upper left corner of the rectangle.
+ * @param w
+ * the width of the rectangle.
+ * @param h
+ * the height of the rectangle.
*/
public abstract void setFrame(double x, double y, double w, double h);
/**
- * Gets the minimum x value of the bounding rectangle (the x
- * coordinate of the upper left corner of the rectangle).
+ * Gets the minimum x value of the bounding rectangle (the x coordinate of
+ * the upper left corner of the rectangle).
*
* @return the minimum x value of the bounding rectangle.
*/
@@ -94,8 +101,8 @@ public abstract class RectangularShape implements Shape, Cloneable {
}
/**
- * Gets the minimum y value of the bounding rectangle (the y
- * coordinate of the upper left corner of the rectangle).
+ * Gets the minimum y value of the bounding rectangle (the y coordinate of
+ * the upper left corner of the rectangle).
*
* @return the minimum y value of the bounding rectangle.
*/
@@ -104,9 +111,8 @@ public abstract class RectangularShape implements Shape, Cloneable {
}
/**
- * Gets the maximum x value of the bounding rectangle (the x
- * coordinate of the upper left corner of the rectangle plus the
- * rectangle's width).
+ * Gets the maximum x value of the bounding rectangle (the x coordinate of
+ * the upper left corner of the rectangle plus the rectangle's width).
*
* @return the maximum x value of the bounding rectangle.
*/
@@ -115,9 +121,8 @@ public abstract class RectangularShape implements Shape, Cloneable {
}
/**
- * Gets the maximum y value of the bounding rectangle (the y
- * coordinate of the upper left corner of the rectangle plus the
- * rectangle's height).
+ * Gets the maximum y value of the bounding rectangle (the y coordinate of
+ * the upper left corner of the rectangle plus the rectangle's height).
*
* @return the maximum y value of the bounding rectangle.
*/
@@ -144,8 +149,8 @@ public abstract class RectangularShape implements Shape, Cloneable {
}
/**
- * Places the rectangle's size and location data in a new Rectangle2D
- * object and returns it.
+ * Places the rectangle's size and location data in a new Rectangle2D object
+ * and returns it.
*
* @return the bounding rectangle as a new Rectangle2D object.
*/
@@ -154,21 +159,24 @@ public abstract class RectangularShape implements Shape, Cloneable {
}
/**
- * Sets the bounding rectangle in terms of a Point2D which gives its
- * upper left corner and a Dimension2D object giving its width and height.
+ * Sets the bounding rectangle in terms of a Point2D which gives its upper
+ * left corner and a Dimension2D object giving its width and height.
*
- * @param loc the new upper left corner coordinate.
- * @param size the new size dimensions.
+ * @param loc
+ * the new upper left corner coordinate.
+ * @param size
+ * the new size dimensions.
*/
public void setFrame(Point2D loc, Dimension2D size) {
setFrame(loc.getX(), loc.getY(), size.getWidth(), size.getHeight());
}
/**
- * Sets the bounding rectangle to match the data contained in the
- * specified Rectangle2D.
+ * Sets the bounding rectangle to match the data contained in the specified
+ * Rectangle2D.
*
- * @param r the rectangle that gives the new frame data.
+ * @param r
+ * the rectangle that gives the new frame data.
*/
public void setFrame(Rectangle2D r) {
setFrame(r.getX(), r.getY(), r.getWidth(), r.getHeight());
@@ -176,12 +184,17 @@ public abstract class RectangularShape implements Shape, Cloneable {
/**
* Sets the framing rectangle given two opposite corners. Any two corners
- * may be used in any order as long as they are diagonally opposite one another.
+ * may be used in any order as long as they are diagonally opposite one
+ * another.
*
- * @param x1 the x coordinate of one of the corner points.
- * @param y1 the y coordinate of one of the corner points.
- * @param x2 the x coordinate of the other corner point.
- * @param y2 the y coordinate of the other corner point.
+ * @param x1
+ * the x coordinate of one of the corner points.
+ * @param y1
+ * the y coordinate of one of the corner points.
+ * @param x2
+ * the x coordinate of the other corner point.
+ * @param y2
+ * the y coordinate of the other corner point.
*/
public void setFrameFromDiagonal(double x1, double y1, double x2, double y2) {
double rx, ry, rw, rh;
@@ -204,10 +217,13 @@ public abstract class RectangularShape implements Shape, Cloneable {
/**
* Sets the framing rectangle given two opposite corners. Any two corners
- * may be used in any order as long as they are diagonally opposite one another.
+ * may be used in any order as long as they are diagonally opposite one
+ * another.
*
- * @param p1 one of the corner points.
- * @param p2 the other corner point.
+ * @param p1
+ * one of the corner points.
+ * @param p2
+ * the other corner point.
*/
public void setFrameFromDiagonal(Point2D p1, Point2D p2) {
setFrameFromDiagonal(p1.getX(), p1.getY(), p2.getX(), p2.getY());
@@ -217,10 +233,14 @@ public abstract class RectangularShape implements Shape, Cloneable {
* Sets the framing rectangle given the center point and one corner. Any
* corner may be used.
*
- * @param centerX the x coordinate of the center point.
- * @param centerY the y coordinate of the center point.
- * @param cornerX the x coordinate of one of the corner points.
- * @param cornerY the y coordinate of one of the corner points.
+ * @param centerX
+ * the x coordinate of the center point.
+ * @param centerY
+ * the y coordinate of the center point.
+ * @param cornerX
+ * the x coordinate of one of the corner points.
+ * @param cornerY
+ * the y coordinate of one of the corner points.
*/
public void setFrameFromCenter(double centerX, double centerY, double cornerX, double cornerY) {
double width = Math.abs(cornerX - centerX);
@@ -232,8 +252,10 @@ public abstract class RectangularShape implements Shape, Cloneable {
* Sets the framing rectangle given the center point and one corner. Any
* corner may be used.
*
- * @param center the center point.
- * @param corner a corner point.
+ * @param center
+ * the center point.
+ * @param corner
+ * a corner point.
*/
public void setFrameFromCenter(Point2D center, Point2D corner) {
setFrameFromCenter(center.getX(), center.getY(), corner.getX(), corner.getY());
@@ -273,4 +295,3 @@ public abstract class RectangularShape implements Shape, Cloneable {
}
}
-
diff --git a/awt/java/awt/geom/RoundRectangle2D.java b/awt/java/awt/geom/RoundRectangle2D.java
index 680a146..8fbddd6 100644
--- a/awt/java/awt/geom/RoundRectangle2D.java
+++ b/awt/java/awt/geom/RoundRectangle2D.java
@@ -18,6 +18,7 @@
* @author Denis M. Kishenko
* @version $Revision$
*/
+
package java.awt.geom;
import java.util.NoSuchElementException;
@@ -25,53 +26,74 @@ import java.util.NoSuchElementException;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The Class RoundRectangle2D describes a rectangle with rounded
- * corners with high-precision data that is appropriate for geometric
- * operations.
+ * The Class RoundRectangle2D describes a rectangle with rounded corners with
+ * high-precision data that is appropriate for geometric operations.
+ *
+ * @since Android 1.0
*/
public abstract class RoundRectangle2D extends RectangularShape {
/**
- * The Class Float is the subclass of RoundRectangle2D that has all
- * of its data values stored with float-level precision.
+ * The Class Float is the subclass of RoundRectangle2D that has all of its
+ * data values stored with float-level precision.
+ *
+ * @since Android 1.0
*/
public static class Float extends RoundRectangle2D {
- /** The x coordinate of the rectangle's upper left corner. */
+ /**
+ * The x coordinate of the rectangle's upper left corner.
+ */
public float x;
-
- /** The y coordinate of the rectangle's upper left corner. */
+
+ /**
+ * The y coordinate of the rectangle's upper left corner.
+ */
public float y;
-
- /** The width of the rectangle. */
+
+ /**
+ * The width of the rectangle.
+ */
public float width;
-
- /** The height of the rectangle. */
+
+ /**
+ * The height of the rectangle.
+ */
public float height;
-
- /** The arcwidth of the rounded corners. */
+
+ /**
+ * The arc width of the rounded corners.
+ */
public float arcwidth;
-
- /** The archeight of the rounded corners. */
+
+ /**
+ * The arc height of the rounded corners.
+ */
public float archeight;
/**
- * Instantiates a new float-valued RoundRectangle2D with
- * its data-values set to zero.
+ * Instantiates a new float-valued RoundRectangle2D with its data-values
+ * set to zero.
*/
public Float() {
}
/**
- * Instantiates a new float-valued RoundRectangle2D with
- * the specified data values
+ * Instantiates a new float-valued RoundRectangle2D with the specified
+ * data values.
*
- * @param x the x coordinate of the rectangle's upper left corner
- * @param y the y coordinate of the rectangle's upper left corner
- * @param width the width of the rectangle
- * @param height the height of the rectangle
- * @param arcwidth the arcwidth of the rounded corners
- * @param archeight the archeight of the rounded corners
+ * @param x
+ * the x coordinate of the rectangle's upper left corner.
+ * @param y
+ * the y coordinate of the rectangle's upper left corner.
+ * @param width
+ * the width of the rectangle.
+ * @param height
+ * the height of the rectangle.
+ * @param arcwidth
+ * the arc width of the rounded corners.
+ * @param archeight
+ * the arc height of the rounded corners.
*/
public Float(float x, float y, float width, float height, float arcwidth, float archeight) {
setRoundRect(x, y, width, height, arcwidth, archeight);
@@ -113,16 +135,23 @@ public abstract class RoundRectangle2D extends RectangularShape {
}
/**
- * Sets the data of the round rect.
+ * Sets the data of the round rectangle.
*
- * @param x the x coordinate of the rectangle's upper left corner
- * @param y the y coordinate of the rectangle's upper left corner
- * @param width the width of the rectangle
- * @param height the height of the rectangle
- * @param arcwidth the arcwidth of the rounded corners
- * @param archeight the archeight of the rounded corners
+ * @param x
+ * the x coordinate of the rectangle's upper left corner.
+ * @param y
+ * the y coordinate of the rectangle's upper left corner.
+ * @param width
+ * the width of the rectangle.
+ * @param height
+ * the height of the rectangle.
+ * @param arcwidth
+ * the arc width of the rounded corners.
+ * @param archeight
+ * the arc height of the rounded corners.
*/
- public void setRoundRect(float x, float y, float width, float height, float arcwidth, float archeight) {
+ public void setRoundRect(float x, float y, float width, float height, float arcwidth,
+ float archeight) {
this.x = x;
this.y = y;
this.width = width;
@@ -132,7 +161,8 @@ public abstract class RoundRectangle2D extends RectangularShape {
}
@Override
- public void setRoundRect(double x, double y, double width, double height, double arcwidth, double archeight) {
+ public void setRoundRect(double x, double y, double width, double height, double arcwidth,
+ double archeight) {
this.x = (float)x;
this.y = (float)y;
this.width = (float)width;
@@ -157,48 +187,69 @@ public abstract class RoundRectangle2D extends RectangularShape {
}
/**
- * The Class Double is the subclass of RoundRectangle2D that has all
- * of its data values stored with double-level precision.
+ * The Class Double is the subclass of RoundRectangle2D that has all of its
+ * data values stored with double-level precision.
+ *
+ * @since Android 1.0
*/
public static class Double extends RoundRectangle2D {
- /** The x coordinate of the rectangle's upper left corner. */
+ /**
+ * The x coordinate of the rectangle's upper left corner.
+ */
public double x;
-
- /** The y coordinate of the rectangle's upper left corner. */
+
+ /**
+ * The y coordinate of the rectangle's upper left corner.
+ */
public double y;
-
- /** The width of the rectangle. */
+
+ /**
+ * The width of the rectangle.
+ */
public double width;
-
- /** The height of the rectangle. */
+
+ /**
+ * The height of the rectangle.
+ */
public double height;
-
- /** The arcwidth of the rounded corners. */
+
+ /**
+ * The arc width of the rounded corners.
+ */
public double arcwidth;
-
- /** The archeight of the rounded corners. */
+
+ /**
+ * The arc height of the rounded corners.
+ */
public double archeight;
/**
- * Instantiates a new double-valued RoundRectangle2D with
- * its data-values set to zero.
+ * Instantiates a new double-valued RoundRectangle2D with its
+ * data-values set to zero.
*/
public Double() {
}
/**
- * Instantiates a new double-valued RoundRectangle2D with
- * the specified data values.
+ * Instantiates a new double-valued RoundRectangle2D with the specified
+ * data values.
*
- * @param x the x coordinate of the rectangle's upper left corner
- * @param y the y coordinate of the rectangle's upper left corner
- * @param width the width of the rectangle
- * @param height the height of the rectangle
- * @param arcwidth the arcwidth of the rounded corners
- * @param archeight the archeight of the rounded corners
+ * @param x
+ * the x coordinate of the rectangle's upper left corner.
+ * @param y
+ * the y coordinate of the rectangle's upper left corner.
+ * @param width
+ * the width of the rectangle.
+ * @param height
+ * the height of the rectangle.
+ * @param arcwidth
+ * the arc width of the rounded corners.
+ * @param archeight
+ * the arc height of the rounded corners.
*/
- public Double(double x, double y, double width, double height, double arcwidth, double archeight) {
+ public Double(double x, double y, double width, double height, double arcwidth,
+ double archeight) {
setRoundRect(x, y, width, height, arcwidth, archeight);
}
@@ -238,7 +289,8 @@ public abstract class RoundRectangle2D extends RectangularShape {
}
@Override
- public void setRoundRect(double x, double y, double width, double height, double arcwidth, double archeight) {
+ public void setRoundRect(double x, double y, double width, double height, double arcwidth,
+ double archeight) {
this.x = x;
this.y = y;
this.width = width;
@@ -263,7 +315,7 @@ public abstract class RoundRectangle2D extends RectangularShape {
}
/*
- * RoundRectangle2D path iterator
+ * RoundRectangle2D path iterator
*/
/**
* The subclass of PathIterator to traverse a RoundRectangle2D.
@@ -274,70 +326,101 @@ public abstract class RoundRectangle2D extends RectangularShape {
* Path for round corners generated the same way as Ellipse2D
*/
- /** The coefficient to calculate control points of Bezier curves. */
+ /**
+ * The coefficient to calculate control points of Bezier curves.
+ */
double u = 0.5 - 2.0 / 3.0 * (Math.sqrt(2.0) - 1.0);
- /** The points coordinates calculation table. */
+ /**
+ * The points coordinates calculation table.
+ */
double points[][] = {
- { 0.0, 0.5, 0.0, 0.0 }, // MOVETO
- { 1.0, -0.5, 0.0, 0.0 }, // LINETO
- { 1.0, -u, 0.0, 0.0, // CUBICTO
- 1.0, 0.0, 0.0, u,
- 1.0, 0.0, 0.0, 0.5 },
- { 1.0, 0.0, 1.0, -0.5 }, // LINETO
- { 1.0, 0.0, 1.0, -u, // CUBICTO
- 1.0, -u, 1.0, 0.0,
- 1.0, -0.5, 1.0, 0.0 },
- { 0.0, 0.5, 1.0, 0.0 }, // LINETO
- { 0.0, u, 1.0, 0.0, // CUBICTO
- 0.0, 0.0, 1.0, -u,
- 0.0, 0.0, 1.0, -0.5 },
- { 0.0, 0.0, 0.0, 0.5 }, // LINETO
- { 0.0, 0.0, 0.0, u, // CUBICTO
- 0.0, u, 0.0, 0.0,
- 0.0, 0.5, 0.0, 0.0 } };
-
- /** The segment types correspond to points array. */
+ {
+ 0.0, 0.5, 0.0, 0.0
+ }, // MOVETO
+ {
+ 1.0, -0.5, 0.0, 0.0
+ }, // LINETO
+ {
+ 1.0, -u, 0.0, 0.0, // CUBICTO
+ 1.0, 0.0, 0.0, u, 1.0, 0.0, 0.0, 0.5
+ }, {
+ 1.0, 0.0, 1.0, -0.5
+ }, // LINETO
+ {
+ 1.0, 0.0, 1.0, -u, // CUBICTO
+ 1.0, -u, 1.0, 0.0, 1.0, -0.5, 1.0, 0.0
+ }, {
+ 0.0, 0.5, 1.0, 0.0
+ }, // LINETO
+ {
+ 0.0, u, 1.0, 0.0, // CUBICTO
+ 0.0, 0.0, 1.0, -u, 0.0, 0.0, 1.0, -0.5
+ }, {
+ 0.0, 0.0, 0.0, 0.5
+ }, // LINETO
+ {
+ 0.0, 0.0, 0.0, u, // CUBICTO
+ 0.0, u, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0
+ }
+ };
+
+ /**
+ * The segment types correspond to points array.
+ */
int types[] = {
- SEG_MOVETO,
- SEG_LINETO,
- SEG_CUBICTO,
- SEG_LINETO,
- SEG_CUBICTO,
- SEG_LINETO,
- SEG_CUBICTO,
- SEG_LINETO,
- SEG_CUBICTO};
-
- /** The x coordinate of left-upper corner of the round rectangle bounds. */
+ SEG_MOVETO, SEG_LINETO, SEG_CUBICTO, SEG_LINETO, SEG_CUBICTO, SEG_LINETO,
+ SEG_CUBICTO, SEG_LINETO, SEG_CUBICTO
+ };
+
+ /**
+ * The x coordinate of left-upper corner of the round rectangle bounds.
+ */
double x;
-
- /** The y coordinate of left-upper corner of the round rectangle bounds. */
+
+ /**
+ * The y coordinate of left-upper corner of the round rectangle bounds.
+ */
double y;
-
- /** The width of the round rectangle bounds. */
+
+ /**
+ * The width of the round rectangle bounds.
+ */
double width;
-
- /** The height of the round rectangle bounds. */
+
+ /**
+ * The height of the round rectangle bounds.
+ */
double height;
-
- /** The width of arc corners of the round rectangle. */
+
+ /**
+ * The width of arc corners of the round rectangle.
+ */
double aw;
-
- /** The height of arc corners of the round rectangle. */
+
+ /**
+ * The height of arc corners of the round rectangle.
+ */
double ah;
- /** The path iterator transformation. */
+ /**
+ * The path iterator transformation.
+ */
AffineTransform t;
- /** The current segmenet index. */
+ /**
+ * The current segment index.
+ */
int index;
/**
- * Constructs a new RoundRectangle2D.Iterator for given round rectangle and transformation.
+ * Constructs a new RoundRectangle2D.Iterator for given round rectangle
+ * and transformation.
*
- * @param rr - the source RoundRectangle2D object
- * @param at - the AffineTransform object to apply rectangle path
+ * @param rr
+ * - the source RoundRectangle2D object
+ * @param at
+ * - the AffineTransform object to apply rectangle path
*/
Iterator(RoundRectangle2D rr, AffineTransform at) {
this.x = rr.getX();
@@ -415,41 +498,48 @@ public abstract class RoundRectangle2D extends RectangularShape {
/**
* Gets the arc width.
*
- * @return the arc width
+ * @return the arc width.
*/
public abstract double getArcWidth();
/**
* Gets the arc height.
*
- * @return the arc height
+ * @return the arc height.
*/
public abstract double getArcHeight();
/**
* Sets the data of the RoundRectangle2D.
*
- * @param x the x coordinate of the rectangle's upper left corner
- * @param y the y coordinate of the rectangle's upper left corner
- * @param width the width of the rectangle
- * @param height the height of the rectangle
- * @param arcWidth the arcwidth of the rounded corners
- * @param arcHeight the archeight of the rounded corners
+ * @param x
+ * the x coordinate of the rectangle's upper left corner.
+ * @param y
+ * the y coordinate of the rectangle's upper left corner.
+ * @param width
+ * the width of the rectangle.
+ * @param height
+ * the height of the rectangle.
+ * @param arcWidth
+ * the arc width of the rounded corners.
+ * @param arcHeight
+ * the arc height of the rounded corners.
*/
public abstract void setRoundRect(double x, double y, double width, double height,
double arcWidth, double arcHeight);
/**
- * Sets the data of the RoundRectangle2D by copying the values
- * from an existing RoundRectangle2D.
+ * Sets the data of the RoundRectangle2D by copying the values from an
+ * existing RoundRectangle2D.
*
- * @param rr the round rectangle to copy the data from
- *
- * @throws NullPointerException if rr is null
+ * @param rr
+ * the round rectangle to copy the data from.
+ * @throws NullPointerException
+ * if rr is null.
*/
public void setRoundRect(RoundRectangle2D rr) {
- setRoundRect(rr.getX(), rr.getY(), rr.getWidth(), rr.getHeight(), rr
- .getArcWidth(), rr.getArcHeight());
+ setRoundRect(rr.getX(), rr.getY(), rr.getWidth(), rr.getHeight(), rr.getArcWidth(), rr
+ .getArcHeight());
}
@Override
@@ -478,21 +568,19 @@ public abstract class RoundRectangle2D extends RectangularShape {
if (px < rx1 + aw) {
cx = rx1 + aw;
- } else
- if (px > rx2 - aw) {
- cx = rx2 - aw;
- } else {
- return true;
- }
+ } else if (px > rx2 - aw) {
+ cx = rx2 - aw;
+ } else {
+ return true;
+ }
if (py < ry1 + ah) {
cy = ry1 + ah;
- } else
- if (py > ry2 - ah) {
- cy = ry2 - ah;
- } else {
- return true;
- }
+ } else if (py > ry2 - ah) {
+ cy = ry2 - ah;
+ } else {
+ return true;
+ }
px = (px - cx) / aw;
py = (py - cy) / ah;
@@ -537,11 +625,7 @@ public abstract class RoundRectangle2D extends RectangularShape {
double rx2 = rx + rw;
double ry2 = ry + rh;
- return
- contains(rx1, ry1) &&
- contains(rx2, ry1) &&
- contains(rx2, ry2) &&
- contains(rx1, ry2);
+ return contains(rx1, ry1) && contains(rx2, ry1) && contains(rx2, ry2) && contains(rx1, ry2);
}
public PathIterator getPathIterator(AffineTransform at) {
@@ -549,4 +633,3 @@ public abstract class RoundRectangle2D extends RectangularShape {
}
}
-
diff --git a/awt/java/awt/geom/package.html b/awt/java/awt/geom/package.html
new file mode 100644
index 0000000..e3a236e
--- /dev/null
+++ b/awt/java/awt/geom/package.html
@@ -0,0 +1,8 @@
+<html>
+ <body>
+ <p>
+ This package contains classes and interfaces related to Java2D shapes and geometry.
+ </p>
+ @since Android 1.0
+ </body>
+</html>
diff --git a/awt/java/awt/im/InputContext.java b/awt/java/awt/im/InputContext.java
index 3468474..cce5148 100644
--- a/awt/java/awt/im/InputContext.java
+++ b/awt/java/awt/im/InputContext.java
@@ -26,6 +26,12 @@ import java.util.Locale;
import org.apache.harmony.awt.im.InputMethodContext;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public class InputContext {
protected InputContext() {
}
diff --git a/awt/java/awt/im/InputMethodHighlight.java b/awt/java/awt/im/InputMethodHighlight.java
index 53bb20b..865d47c 100644
--- a/awt/java/awt/im/InputMethodHighlight.java
+++ b/awt/java/awt/im/InputMethodHighlight.java
@@ -25,6 +25,12 @@ import java.awt.font.TextAttribute;
import org.apache.harmony.awt.internal.nls.Messages;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public class InputMethodHighlight {
public static final int RAW_TEXT = 0;
diff --git a/awt/java/awt/im/InputMethodRequests.java b/awt/java/awt/im/InputMethodRequests.java
index bdd25e6..b12d397 100644
--- a/awt/java/awt/im/InputMethodRequests.java
+++ b/awt/java/awt/im/InputMethodRequests.java
@@ -24,6 +24,12 @@ import java.awt.Rectangle;
import java.awt.font.TextHitInfo;
import java.text.AttributedCharacterIterator;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public interface InputMethodRequests {
public AttributedCharacterIterator cancelLatestCommittedText(AttributedCharacterIterator.Attribute[] attributes);
diff --git a/awt/java/awt/im/InputSubset.java b/awt/java/awt/im/InputSubset.java
index 02a1049..708881e 100644
--- a/awt/java/awt/im/InputSubset.java
+++ b/awt/java/awt/im/InputSubset.java
@@ -20,6 +20,12 @@
*/
package java.awt.im;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public final class InputSubset extends Character.Subset {
public static final InputSubset LATIN = new InputSubset("LATIN"); //$NON-NLS-1$
diff --git a/awt/java/awt/im/spi/InputMethod.java b/awt/java/awt/im/spi/InputMethod.java
index 2c98c46..67a8834 100644
--- a/awt/java/awt/im/spi/InputMethod.java
+++ b/awt/java/awt/im/spi/InputMethod.java
@@ -24,6 +24,12 @@ import java.awt.AWTEvent;
import java.awt.Rectangle;
import java.util.Locale;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public interface InputMethod {
public void activate();
diff --git a/awt/java/awt/im/spi/InputMethodContext.java b/awt/java/awt/im/spi/InputMethodContext.java
index ca33e87..bfc773c 100644
--- a/awt/java/awt/im/spi/InputMethodContext.java
+++ b/awt/java/awt/im/spi/InputMethodContext.java
@@ -26,6 +26,12 @@ import java.awt.im.InputMethodRequests;
import java.text.AttributedCharacterIterator;
//???AWT: import javax.swing.JFrame;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public interface InputMethodContext extends InputMethodRequests {
// ???AWT: public JFrame createInputMethodJFrame(String title, boolean attachToInputContext);
diff --git a/awt/java/awt/im/spi/InputMethodDescriptor.java b/awt/java/awt/im/spi/InputMethodDescriptor.java
index 3068cac..c800bc1 100644
--- a/awt/java/awt/im/spi/InputMethodDescriptor.java
+++ b/awt/java/awt/im/spi/InputMethodDescriptor.java
@@ -24,6 +24,12 @@ import java.awt.AWTException;
import java.awt.Image;
import java.util.Locale;
+/**
+ * This class is not supported in Android 1.0. It is merely provided to maintain
+ * interface compatibility with desktop Java implementations.
+ *
+ * @since Android 1.0
+ */
public interface InputMethodDescriptor {
public Locale[] getAvailableLocales() throws AWTException;
diff --git a/awt/java/awt/image/AffineTransformOp.java b/awt/java/awt/image/AffineTransformOp.java
index 546837a..db25e1a 100644
--- a/awt/java/awt/image/AffineTransformOp.java
+++ b/awt/java/awt/image/AffineTransformOp.java
@@ -32,50 +32,60 @@ import org.apache.harmony.awt.gl.AwtImageBackdoorAccessor;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The AffineTransform class translates coordinates from 2D coordinates
- * in the source image or Raster to 2D coordinates in the destination
- * image or Raster using Affine transformation. The number of bands in
- * the source Raster should equal to the number of bands in the destination
- * Raster.
+ * The AffineTransform class translates coordinates from 2D coordinates in the
+ * source image or Raster to 2D coordinates in the destination image or Raster
+ * using affine transformation. The number of bands in the source Raster should
+ * equal to the number of bands in the destination Raster.
+ *
+ * @since Android 1.0
*/
public class AffineTransformOp implements BufferedImageOp, RasterOp {
-
- /**
- * The Constant TYPE_NEAREST_NEIGHBOR indicates nearest-neighbor
- * interpolation type.
+
+ /**
+ * The Constant TYPE_NEAREST_NEIGHBOR indicates nearest-neighbor
+ * interpolation type.
*/
public static final int TYPE_NEAREST_NEIGHBOR = 1;
-
- /**
- * The Constant TYPE_BILINEAR indicates bilinear interpolation type.
+
+ /**
+ * The Constant TYPE_BILINEAR indicates bilinear interpolation type.
*/
public static final int TYPE_BILINEAR = 2;
-
- /** The Constant TYPE_BICUBIC indicates bicubic interpolation type. */
+
+ /**
+ * The Constant TYPE_BICUBIC indicates bi-cubic interpolation type.
+ */
public static final int TYPE_BICUBIC = 3;
- /** The i type. */
+ /**
+ * The i type.
+ */
private int iType; // interpolation type
-
- /** The at. */
+
+ /**
+ * The at.
+ */
private AffineTransform at;
-
- /** The hints. */
+
+ /**
+ * The hints.
+ */
private RenderingHints hints;
static {
// TODO - uncomment
- //System.loadLibrary("imageops");
+ // System.loadLibrary("imageops");
}
/**
- * Instantiates a new AffineTransformOp with the specified
- * AffineTransform and RenderingHints object which defines
- * the interpolation type.
+ * Instantiates a new AffineTransformOp with the specified AffineTransform
+ * and RenderingHints object which defines the interpolation type.
*
- * @param xform the AffineTransform.
- * @param hints the RenderingHints object which defines
- * the interpolation type.
+ * @param xform
+ * the AffineTransform.
+ * @param hints
+ * the RenderingHints object which defines the interpolation
+ * type.
*/
public AffineTransformOp(AffineTransform xform, RenderingHints hints) {
this(xform, TYPE_NEAREST_NEIGHBOR);
@@ -95,20 +105,22 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp {
// Determine from rendering quality
if (hint == RenderingHints.VALUE_RENDER_QUALITY) {
this.iType = TYPE_BILINEAR;
- // For speed use nearest neighbor
+ // For speed use nearest neighbor
}
}
}
}
/**
- * Instantiates a new AffineTransformOp with the specified
- * AffineTransform and a specified interpolation type from the
- * list of predefined interpolation types.
+ * Instantiates a new AffineTransformOp with the specified AffineTransform
+ * and a specified interpolation type from the list of predefined
+ * interpolation types.
*
- * @param xform the AffineTransform.
- * @param interp the one of predefined interpolation types:
- * TYPE_NEAREST_NEIGHBOR, TYPE_BILINEAR, or TYPE_BICUBIC.
+ * @param xform
+ * the AffineTransform.
+ * @param interp
+ * the one of predefined interpolation types:
+ * TYPE_NEAREST_NEIGHBOR, TYPE_BILINEAR, or TYPE_BICUBIC.
*/
public AffineTransformOp(AffineTransform xform, int interp) {
if (Math.abs(xform.getDeterminant()) <= Double.MIN_VALUE) {
@@ -116,7 +128,7 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp {
throw new ImagingOpException(Messages.getString("awt.24F", xform)); //$NON-NLS-1$
}
- this.at = (AffineTransform) xform.clone();
+ this.at = (AffineTransform)xform.clone();
if (interp != TYPE_NEAREST_NEIGHBOR && interp != TYPE_BILINEAR && interp != TYPE_BICUBIC) {
// awt.250=Unknown interpolation type: {0}
@@ -129,7 +141,7 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp {
/**
* Gets the interpolation type.
*
- * @return the interpolation type
+ * @return the interpolation type.
*/
public final int getInterpolationType() {
return iType;
@@ -165,7 +177,7 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp {
* @return the AffineTransform.
*/
public final AffineTransform getTransform() {
- return (AffineTransform) at.clone();
+ return (AffineTransform)at.clone();
}
public final Point2D getPoint2D(Point2D srcPt, Point2D dstPt) {
@@ -177,21 +189,19 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp {
}
public final Rectangle2D getBounds2D(Raster src) {
- // We position source raster to (0,0) even if it is translated child raster.
+ // We position source raster to (0,0) even if it is translated child
+ // raster.
// This means that we need only width and height of the src
int width = src.getWidth();
int height = src.getHeight();
float[] corners = {
- 0, 0,
- width, 0,
- width, height,
- 0, height
+ 0, 0, width, 0, width, height, 0, height
};
at.transform(corners, 0, corners, 0, 4);
- Rectangle2D.Float bounds = new Rectangle2D.Float(corners[0], corners[1], 0 , 0);
+ Rectangle2D.Float bounds = new Rectangle2D.Float(corners[0], corners[1], 0, 0);
bounds.add(corners[2], corners[3]);
bounds.add(corners[4], corners[5]);
bounds.add(corners[6], corners[7]);
@@ -208,17 +218,14 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp {
double dstHeight = newBounds.getY() + newBounds.getHeight();
if (dstWidth <= 0 || dstHeight <= 0) {
- // awt.251=Transformed width ({0}) and height ({1}) should be greater than 0
- throw new RasterFormatException(
- Messages.getString("awt.251", dstWidth, dstHeight)); //$NON-NLS-1$
+ // awt.251=Transformed width ({0}) and height ({1}) should be
+ // greater than 0
+ throw new RasterFormatException(Messages.getString("awt.251", dstWidth, dstHeight)); //$NON-NLS-1$
}
if (destCM != null) {
- return new BufferedImage(destCM,
- destCM.createCompatibleWritableRaster((int)dstWidth, (int)dstHeight),
- destCM.isAlphaPremultiplied(),
- null
- );
+ return new BufferedImage(destCM, destCM.createCompatibleWritableRaster((int)dstWidth,
+ (int)dstHeight), destCM.isAlphaPremultiplied(), null);
}
ColorModel cm = src.getColorModel();
@@ -229,23 +236,18 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp {
}
// OK, we can get source color model
- return new BufferedImage(cm,
- src.getRaster().createCompatibleWritableRaster((int)dstWidth, (int)dstHeight),
- cm.isAlphaPremultiplied(),
- null
- );
+ return new BufferedImage(cm, src.getRaster().createCompatibleWritableRaster((int)dstWidth,
+ (int)dstHeight), cm.isAlphaPremultiplied(), null);
}
- public WritableRaster createCompatibleDestRaster (Raster src) {
+ public WritableRaster createCompatibleDestRaster(Raster src) {
// Here approach is other then in createCompatibleDestImage -
// destination should include only
// transformed image, but not (0,0) in source coordinate system
Rectangle2D newBounds = getBounds2D(src);
- return src.createCompatibleWritableRaster(
- (int) newBounds.getX(), (int) newBounds.getY(),
- (int) newBounds.getWidth(), (int)newBounds.getHeight()
- );
+ return src.createCompatibleWritableRaster((int)newBounds.getX(), (int)newBounds.getY(),
+ (int)newBounds.getWidth(), (int)newBounds.getHeight());
}
public final BufferedImage filter(BufferedImage src, BufferedImage dst) {
@@ -257,10 +259,8 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp {
ColorModel srcCM = src.getColorModel();
BufferedImage finalDst = null;
- if (
- srcCM instanceof IndexColorModel &&
- (iType != TYPE_NEAREST_NEIGHBOR || srcCM.getPixelSize() % 8 != 0)
- ) {
+ if (srcCM instanceof IndexColorModel
+ && (iType != TYPE_NEAREST_NEIGHBOR || srcCM.getPixelSize() % 8 != 0)) {
src = ((IndexColorModel)srcCM).convertToIntDiscrete(src.getRaster(), true);
srcCM = src.getColorModel();
}
@@ -269,15 +269,10 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp {
dst = createCompatibleDestImage(src, srcCM);
} else {
if (!srcCM.equals(dst.getColorModel())) {
- // Treat BufferedImage.TYPE_INT_RGB and BufferedImage.TYPE_INT_ARGB as same
- if (
- !(
- (src.getType() == BufferedImage.TYPE_INT_RGB ||
- src.getType() == BufferedImage.TYPE_INT_ARGB) &&
- (dst.getType() == BufferedImage.TYPE_INT_RGB ||
- dst.getType() == BufferedImage.TYPE_INT_ARGB)
- )
- ) {
+ // Treat BufferedImage.TYPE_INT_RGB and
+ // BufferedImage.TYPE_INT_ARGB as same
+ if (!((src.getType() == BufferedImage.TYPE_INT_RGB || src.getType() == BufferedImage.TYPE_INT_ARGB) && (dst
+ .getType() == BufferedImage.TYPE_INT_RGB || dst.getType() == BufferedImage.TYPE_INT_ARGB))) {
finalDst = dst;
dst = createCompatibleDestImage(src, srcCM);
}
@@ -287,10 +282,11 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp {
// Skip alpha channel for TYPE_INT_RGB images
if (slowFilter(src.getRaster(), dst.getRaster()) != 0) {
// awt.21F=Unable to transform source
- throw new ImagingOpException (Messages.getString("awt.21F")); //$NON-NLS-1$
- // TODO - uncomment
- //if (ippFilter(src.getRaster(), dst.getRaster(), src.getType()) != 0)
- //throw new ImagingOpException ("Unable to transform source");
+ throw new ImagingOpException(Messages.getString("awt.21F")); //$NON-NLS-1$
+ // TODO - uncomment
+ // if (ippFilter(src.getRaster(), dst.getRaster(), src.getType()) !=
+ // 0)
+ // throw new ImagingOpException ("Unable to transform source");
}
if (finalDst != null) {
@@ -320,9 +316,9 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp {
if (slowFilter(src, dst) != 0) {
// awt.21F=Unable to transform source
throw new ImagingOpException(Messages.getString("awt.21F")); //$NON-NLS-1$
- // TODO - uncomment
- //if (ippFilter(src, dst, BufferedImage.TYPE_CUSTOM) != 0)
- // throw new ImagingOpException("Unable to transform source");
+ // TODO - uncomment
+ // if (ippFilter(src, dst, BufferedImage.TYPE_CUSTOM) != 0)
+ // throw new ImagingOpException("Unable to transform source");
}
return dst;
@@ -332,11 +328,13 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp {
/**
* Ipp filter.
*
- * @param src the src
- * @param dst the dst
- * @param imageType the image type
- *
- * @return the int
+ * @param src
+ * the src.
+ * @param dst
+ * the dst.
+ * @param imageType
+ * the image type.
+ * @return the int.
*/
@SuppressWarnings("unused")
private int ippFilter(Raster src, WritableRaster dst, int imageType) {
@@ -349,8 +347,8 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp {
case BufferedImage.TYPE_INT_RGB:
case BufferedImage.TYPE_INT_BGR: {
channels = 4;
- srcStride = src.getWidth()*4;
- dstStride = dst.getWidth()*4;
+ srcStride = src.getWidth() * 4;
+ dstStride = dst.getWidth() * 4;
skipChannel = true;
break;
}
@@ -360,8 +358,8 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp {
case BufferedImage.TYPE_4BYTE_ABGR:
case BufferedImage.TYPE_4BYTE_ABGR_PRE: {
channels = 4;
- srcStride = src.getWidth()*4;
- dstStride = dst.getWidth()*4;
+ srcStride = src.getWidth() * 4;
+ dstStride = dst.getWidth() * 4;
break;
}
@@ -375,12 +373,13 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp {
case BufferedImage.TYPE_3BYTE_BGR: {
channels = 3;
- srcStride = src.getWidth()*3;
- dstStride = dst.getWidth()*3;
+ srcStride = src.getWidth() * 3;
+ dstStride = dst.getWidth() * 3;
break;
}
- case BufferedImage.TYPE_USHORT_GRAY: // TODO - could be done in native code?
+ case BufferedImage.TYPE_USHORT_GRAY: // TODO - could be done in
+ // native code?
case BufferedImage.TYPE_USHORT_565_RGB:
case BufferedImage.TYPE_USHORT_555_RGB:
case BufferedImage.TYPE_BYTE_BINARY: {
@@ -391,34 +390,29 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp {
SampleModel srcSM = src.getSampleModel();
SampleModel dstSM = dst.getSampleModel();
- if (
- srcSM instanceof PixelInterleavedSampleModel &&
- dstSM instanceof PixelInterleavedSampleModel
- ) {
+ if (srcSM instanceof PixelInterleavedSampleModel
+ && dstSM instanceof PixelInterleavedSampleModel) {
// Check PixelInterleavedSampleModel
- if (
- srcSM.getDataType() != DataBuffer.TYPE_BYTE ||
- dstSM.getDataType() != DataBuffer.TYPE_BYTE
- ) {
+ if (srcSM.getDataType() != DataBuffer.TYPE_BYTE
+ || dstSM.getDataType() != DataBuffer.TYPE_BYTE) {
return slowFilter(src, dst);
}
- channels = srcSM.getNumBands(); // Have IPP functions for 1, 3 and 4 channels
+ channels = srcSM.getNumBands(); // Have IPP functions for 1,
+ // 3 and 4 channels
if (channels != 1 && channels != 3 && channels != 4) {
return slowFilter(src, dst);
}
int dataTypeSize = DataBuffer.getDataTypeSize(srcSM.getDataType()) / 8;
- srcStride = ((ComponentSampleModel) srcSM).getScanlineStride() * dataTypeSize;
- dstStride = ((ComponentSampleModel) dstSM).getScanlineStride() * dataTypeSize;
- } else if (
- srcSM instanceof SinglePixelPackedSampleModel &&
- dstSM instanceof SinglePixelPackedSampleModel
- ) {
+ srcStride = ((ComponentSampleModel)srcSM).getScanlineStride() * dataTypeSize;
+ dstStride = ((ComponentSampleModel)dstSM).getScanlineStride() * dataTypeSize;
+ } else if (srcSM instanceof SinglePixelPackedSampleModel
+ && dstSM instanceof SinglePixelPackedSampleModel) {
// Check SinglePixelPackedSampleModel
- SinglePixelPackedSampleModel sppsm1 = (SinglePixelPackedSampleModel) srcSM;
- SinglePixelPackedSampleModel sppsm2 = (SinglePixelPackedSampleModel) dstSM;
+ SinglePixelPackedSampleModel sppsm1 = (SinglePixelPackedSampleModel)srcSM;
+ SinglePixelPackedSampleModel sppsm2 = (SinglePixelPackedSampleModel)dstSM;
// No IPP function for this type
if (sppsm1.getDataType() == DataBuffer.TYPE_USHORT) {
@@ -432,15 +426,13 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp {
}
// Check compatibility of sample models
- if (
- sppsm1.getDataType() != sppsm2.getDataType() ||
- !Arrays.equals(sppsm1.getBitOffsets(), sppsm2.getBitOffsets()) ||
- !Arrays.equals(sppsm1.getBitMasks(), sppsm2.getBitMasks())
- ) {
+ if (sppsm1.getDataType() != sppsm2.getDataType()
+ || !Arrays.equals(sppsm1.getBitOffsets(), sppsm2.getBitOffsets())
+ || !Arrays.equals(sppsm1.getBitMasks(), sppsm2.getBitMasks())) {
return slowFilter(src, dst);
}
- for (int i=0; i<channels; i++) {
+ for (int i = 0; i < channels; i++) {
if (sppsm1.getSampleSize(i) != 8) {
return slowFilter(src, dst);
}
@@ -460,12 +452,9 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp {
// Fill offsets if there's a child raster
if (src.getParent() != null || dst.getParent() != null) {
- if (
- src.getSampleModelTranslateX() != 0 ||
- src.getSampleModelTranslateY() != 0 ||
- dst.getSampleModelTranslateX() != 0 ||
- dst.getSampleModelTranslateY() != 0
- ) {
+ if (src.getSampleModelTranslateX() != 0 || src.getSampleModelTranslateY() != 0
+ || dst.getSampleModelTranslateX() != 0
+ || dst.getSampleModelTranslateY() != 0) {
offsets = new int[4];
offsets[0] = -src.getSampleModelTranslateX() + src.getMinX();
offsets[1] = -src.getSampleModelTranslateY() + src.getMinY();
@@ -492,20 +481,19 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp {
return -1; // Unknown data buffer type
}
- return ippAffineTransform(
- m00, m01, m02, m10, m11, m12,
- srcData, src.getWidth(), src.getHeight(), srcStride,
- dstData, dst.getWidth(), dst.getHeight(), dstStride,
- iType, channels, skipChannel, offsets);
+ return ippAffineTransform(m00, m01, m02, m10, m11, m12, srcData, src.getWidth(), src
+ .getHeight(), srcStride, dstData, dst.getWidth(), dst.getHeight(), dstStride,
+ iType, channels, skipChannel, offsets);
}
/**
* Slow filter.
*
- * @param src the src
- * @param dst the dst
- *
- * @return the int
+ * @param src
+ * the src.
+ * @param dst
+ * the dst.
+ * @return the int.
*/
private int slowFilter(Raster src, WritableRaster dst) {
// TODO: make correct interpolation
@@ -518,7 +506,7 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp {
AffineTransform inv = null;
try {
- inv = at.createInverse();
+ inv = at.createInverse();
} catch (NoninvertibleTransformException e) {
return -1;
}
@@ -552,7 +540,7 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp {
int px = sx >> 8;
int py = sy >> 8;
if (px >= minSrcX && py >= minSrcY && px < maxSrcX && py < maxSrcY) {
- Object val = src.getDataElements(px , py , null);
+ Object val = src.getDataElements(px, py, null);
dst.setDataElements(x, y, val);
}
sx += hx;
@@ -585,33 +573,46 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp {
/**
* Ipp affine transform.
*
- * @param m00 the m00
- * @param m01 the m01
- * @param m02 the m02
- * @param m10 the m10
- * @param m11 the m11
- * @param m12 the m12
- * @param src the src
- * @param srcWidth the src width
- * @param srcHeight the src height
- * @param srcStride the src stride
- * @param dst the dst
- * @param dstWidth the dst width
- * @param dstHeight the dst height
- * @param dstStride the dst stride
- * @param iType the i type
- * @param channels the channels
- * @param skipChannel the skip channel
- * @param offsets the offsets
- *
- * @return the int
+ * @param m00
+ * the m00.
+ * @param m01
+ * the m01.
+ * @param m02
+ * the m02.
+ * @param m10
+ * the m10.
+ * @param m11
+ * the m11.
+ * @param m12
+ * the m12.
+ * @param src
+ * the src.
+ * @param srcWidth
+ * the src width.
+ * @param srcHeight
+ * the src height.
+ * @param srcStride
+ * the src stride.
+ * @param dst
+ * the dst.
+ * @param dstWidth
+ * the dst width.
+ * @param dstHeight
+ * the dst height.
+ * @param dstStride
+ * the dst stride.
+ * @param iType
+ * the i type.
+ * @param channels
+ * the channels.
+ * @param skipChannel
+ * the skip channel.
+ * @param offsets
+ * the offsets.
+ * @return the int.
*/
- private native int ippAffineTransform(
- double m00, double m01,
- double m02, double m10,
- double m11, double m12,
- Object src, int srcWidth, int srcHeight, int srcStride,
- Object dst, int dstWidth, int dstHeight, int dstStride,
- int iType, int channels, boolean skipChannel,
- int offsets[]);
+ private native int ippAffineTransform(double m00, double m01, double m02, double m10,
+ double m11, double m12, Object src, int srcWidth, int srcHeight, int srcStride,
+ Object dst, int dstWidth, int dstHeight, int dstStride, int iType, int channels,
+ boolean skipChannel, int offsets[]);
} \ No newline at end of file
diff --git a/awt/java/awt/image/AreaAveragingScaleFilter.java b/awt/java/awt/image/AreaAveragingScaleFilter.java
index f4933db..7fb138e 100644
--- a/awt/java/awt/image/AreaAveragingScaleFilter.java
+++ b/awt/java/awt/image/AreaAveragingScaleFilter.java
@@ -18,72 +18,101 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import java.util.Arrays;
-
/**
- * The AreaAveragingScaleFilter class scales the source image using
- * area averaging algorithm. This algorithm provides a source image
- * with a new image containing the resampled image.
+ * The AreaAveragingScaleFilter class scales the source image using area
+ * averaging algorithm. This algorithm provides a source image with a new image
+ * containing the resampled image.
+ *
+ * @since Android 1.0
*/
public class AreaAveragingScaleFilter extends ReplicateScaleFilter {
- /** The Constant rgbCM. */
+ /**
+ * The Constant rgbCM.
+ */
private static final ColorModel rgbCM = ColorModel.getRGBdefault();
-
- /** The Constant averagingFlags. */
- private static final int averagingFlags = (ImageConsumer.TOPDOWNLEFTRIGHT |
- ImageConsumer.COMPLETESCANLINES);
-
- /** The reset. */
- private boolean reset = true; // Flag for used superclass filter
-
- /** The inited. */
+
+ /**
+ * The Constant averagingFlags.
+ */
+ private static final int averagingFlags = (ImageConsumer.TOPDOWNLEFTRIGHT | ImageConsumer.COMPLETESCANLINES);
+
+ /**
+ * The reset.
+ */
+ private boolean reset = true; // Flag for used superclass filter
+
+ /**
+ * The inited.
+ */
private boolean inited = false; // All data inited
- /** The sum_r. */
+ /**
+ * The sum_r.
+ */
private int sum_r[]; // Array for average Red samples
-
- /** The sum_g. */
+
+ /**
+ * The sum_g.
+ */
private int sum_g[]; // Array for average Green samples
-
- /** The sum_b. */
+
+ /**
+ * The sum_b.
+ */
private int sum_b[]; // Array for average Blue samples
-
- /** The sum_a. */
+
+ /**
+ * The sum_a.
+ */
private int sum_a[]; // Array for average Alpha samples
- /** The buff. */
- private int buff[]; // Stride buffer
-
- /** The avg factor. */
- private int avgFactor; // Global averaging factor
-
- /** The cached dy. */
- private int cachedDY; // Cached number of the destination scanline
-
- /** The cached dv rest. */
- private int cachedDVRest; // Cached value of rest src scanlines for sum
- // pixel samples
- // Because data if transfering by whole scanlines
- // we are caching only Y coordinate values
-
/**
- * Instantiates a new AreaAveragingScaleFilter object which scales
- * a source image with the specified width and height.
+ * The buff.
+ */
+ private int buff[]; // Stride buffer
+
+ /**
+ * The avg factor.
+ */
+ private int avgFactor; // Global averaging factor
+
+ /**
+ * The cached dy.
+ */
+ private int cachedDY; // Cached number of the destination scanline
+
+ /**
+ * The cached dv rest.
+ */
+ private int cachedDVRest; // Cached value of rest src scanlines for sum
+
+ // pixel samples
+ // Because data if transferring by whole scanlines
+ // we are caching only Y coordinate values
+
+ /**
+ * Instantiates a new AreaAveragingScaleFilter object which scales a source
+ * image with the specified width and height.
*
- * @param width the scaled width of the image.
- * @param height the scaled height of the image.
+ * @param width
+ * the scaled width of the image.
+ * @param height
+ * the scaled height of the image.
*/
public AreaAveragingScaleFilter(int width, int height) {
super(width, height);
}
@Override
- public void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off, int scansize) {
- if(reset) {
+ public void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off,
+ int scansize) {
+ if (reset) {
super.setPixels(x, y, w, h, model, pixels, off, scansize);
} else {
setFilteredPixels(x, y, w, h, model, pixels, off, scansize);
@@ -91,8 +120,9 @@ public class AreaAveragingScaleFilter extends ReplicateScaleFilter {
}
@Override
- public void setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off, int scansize) {
- if(reset) {
+ public void setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off,
+ int scansize) {
+ if (reset) {
super.setPixels(x, y, w, h, model, pixels, off, scansize);
} else {
setFilteredPixels(x, y, w, h, model, pixels, off, scansize);
@@ -106,37 +136,44 @@ public class AreaAveragingScaleFilter extends ReplicateScaleFilter {
}
/**
- * This method implements the Area Averaging Scale filter.
- * The description of algorithm is presented in Java API Specification.
- *
- * Arrays sum_r, sum_g, sum_b, sum_a have length equals width of destination
- * image. In each array's element is accumulating pixel's component values,
- * proportional to the area which source pixels will occupy in destination
- * image. Then that values will divide by Global averaging
- * factor (area of the destination image) for receiving
- * average values of destination pixels.
+ * This method implements the Area Averaging Scale filter. The description
+ * of algorithm is presented in Java API Specification. Arrays sum_r, sum_g,
+ * sum_b, sum_a have length equals width of destination image. In each
+ * array's element is accumulating pixel's component values, proportional to
+ * the area which source pixels will occupy in destination image. Then that
+ * values will divide by Global averaging factor (area of the destination
+ * image) for receiving average values of destination pixels.
*
- * @param x - Src pixels X coordinate
- * @param y - Src pixels Y coordinate
- * @param w - width of the area of Src pixels
- * @param h - height of the area of Src pixels
- * @param model - Color Model of Src pixels
- * @param pixels - array of Src pixels
- * @param off - offset into the Src pixels array
- * @param scansize - length of scanline in the pixels array
+ * @param x
+ * the source pixels X coordinate.
+ * @param y
+ * the source pixels Y coordinate.
+ * @param w
+ * the width of the area of the source pixels.
+ * @param h
+ * the height of the area of the source pixels.
+ * @param model
+ * the color model of the source pixels.
+ * @param pixels
+ * the array of source pixels.
+ * @param off
+ * the offset into the source pixels array.
+ * @param scansize
+ * the length of scanline in the pixels array.
*/
- private void setFilteredPixels(int x, int y, int w, int h, ColorModel model, Object pixels, int off, int scansize){
- if(!inited){
+ private void setFilteredPixels(int x, int y, int w, int h, ColorModel model, Object pixels,
+ int off, int scansize) {
+ if (!inited) {
initialize();
}
int srcX, srcY, dx, dy;
int svRest, dvRest, shRest, dhRest, vDif, hDif;
- if(y == 0){
+ if (y == 0) {
dy = 0;
dvRest = srcHeight;
- }else{
+ } else {
dy = cachedDY;
dvRest = cachedDVRest;
}
@@ -166,9 +203,9 @@ public class AreaAveragingScaleFilter extends ReplicateScaleFilter {
int rgb, pix;
if (pixels instanceof int[]) {
- pix = ((int[]) pixels)[srcOff + srcX];
+ pix = ((int[])pixels)[srcOff + srcX];
} else {
- pix = ((byte[]) pixels)[srcOff + srcX] & 0xff;
+ pix = ((byte[])pixels)[srcOff + srcX] & 0xff;
}
rgb = model.getRGB(pix);
@@ -208,7 +245,7 @@ public class AreaAveragingScaleFilter extends ReplicateScaleFilter {
if (dvRest == 0) {
// averaging destination pixel's values
- for(int i = 0; i < destWidth; i++){
+ for (int i = 0; i < destWidth; i++) {
int a = (sum_a[i] / avgFactor) & 0xff;
int r = (sum_r[i] / avgFactor) & 0xff;
int g = (sum_g[i] / avgFactor) & 0xff;
@@ -216,8 +253,7 @@ public class AreaAveragingScaleFilter extends ReplicateScaleFilter {
int frgb = (a << 24) | (r << 16) | (g << 8) | b;
buff[i] = frgb;
}
- consumer.setPixels(0, dy, destWidth, 1, rgbCM, buff, 0,
- destWidth);
+ consumer.setPixels(0, dy, destWidth, 1, rgbCM, buff, 0, destWidth);
dy++;
dvRest = srcHeight;
Arrays.fill(sum_a, 0);
@@ -236,18 +272,17 @@ public class AreaAveragingScaleFilter extends ReplicateScaleFilter {
/**
* Initialization of the auxiliary data.
*/
- private void initialize(){
+ private void initialize() {
- sum_a = new int[destWidth];
- sum_r = new int[destWidth];
- sum_g = new int[destWidth];
- sum_b = new int[destWidth];
+ sum_a = new int[destWidth];
+ sum_r = new int[destWidth];
+ sum_g = new int[destWidth];
+ sum_b = new int[destWidth];
- buff = new int[destWidth];
+ buff = new int[destWidth];
outpixbuf = buff;
- avgFactor = srcWidth * srcHeight;
+ avgFactor = srcWidth * srcHeight;
inited = true;
}
}
-
diff --git a/awt/java/awt/image/AwtImageBackdoorAccessorImpl.java b/awt/java/awt/image/AwtImageBackdoorAccessorImpl.java
index ce85ddd..6dffee8 100644
--- a/awt/java/awt/image/AwtImageBackdoorAccessorImpl.java
+++ b/awt/java/awt/image/AwtImageBackdoorAccessorImpl.java
@@ -20,6 +20,7 @@
* Created on 23.11.2005
*
*/
+
package java.awt.image;
import java.awt.Image;
@@ -40,41 +41,43 @@ import org.apache.harmony.awt.internal.nls.Messages;
/**
* This class not part of public API. It useful for receiving package private
* data from other packages.
+ *
+ * @since Android 1.0
*/
class AwtImageBackdoorAccessorImpl extends AwtImageBackdoorAccessor {
- static void init(){
+ static void init() {
inst = new AwtImageBackdoorAccessorImpl();
}
@Override
public Surface getImageSurface(Image image) {
- if (image instanceof BufferedImage){
+ if (image instanceof BufferedImage) {
return ((BufferedImage)image).getImageSurface();
- } else if (image instanceof GLVolatileImage){
+ } else if (image instanceof GLVolatileImage) {
return ((GLVolatileImage)image).getImageSurface();
}
return null;
}
@Override
- public boolean isGrayPallete(IndexColorModel icm){
+ public boolean isGrayPallete(IndexColorModel icm) {
return icm.isGrayPallete();
}
@Override
public Object getData(DataBuffer db) {
- if (db instanceof DataBufferByte){
+ if (db instanceof DataBufferByte) {
return ((DataBufferByte)db).getData();
- } else if (db instanceof DataBufferUShort){
+ } else if (db instanceof DataBufferUShort) {
return ((DataBufferUShort)db).getData();
- } else if (db instanceof DataBufferShort){
+ } else if (db instanceof DataBufferShort) {
return ((DataBufferShort)db).getData();
- } else if (db instanceof DataBufferInt){
+ } else if (db instanceof DataBufferInt) {
return ((DataBufferInt)db).getData();
- } else if (db instanceof DataBufferFloat){
+ } else if (db instanceof DataBufferFloat) {
return ((DataBufferFloat)db).getData();
- } else if (db instanceof DataBufferDouble){
+ } else if (db instanceof DataBufferDouble) {
return ((DataBufferDouble)db).getData();
} else {
// awt.235=Wrong Data Buffer type : {0}
@@ -85,7 +88,7 @@ class AwtImageBackdoorAccessorImpl extends AwtImageBackdoorAccessor {
@Override
public int[] getDataInt(DataBuffer db) {
- if (db instanceof DataBufferInt){
+ if (db instanceof DataBufferInt) {
return ((DataBufferInt)db).getData();
}
return null;
@@ -93,7 +96,7 @@ class AwtImageBackdoorAccessorImpl extends AwtImageBackdoorAccessor {
@Override
public byte[] getDataByte(DataBuffer db) {
- if (db instanceof DataBufferByte){
+ if (db instanceof DataBufferByte) {
return ((DataBufferByte)db).getData();
}
return null;
@@ -101,7 +104,7 @@ class AwtImageBackdoorAccessorImpl extends AwtImageBackdoorAccessor {
@Override
public short[] getDataShort(DataBuffer db) {
- if (db instanceof DataBufferShort){
+ if (db instanceof DataBufferShort) {
return ((DataBufferShort)db).getData();
}
return null;
@@ -109,7 +112,7 @@ class AwtImageBackdoorAccessorImpl extends AwtImageBackdoorAccessor {
@Override
public short[] getDataUShort(DataBuffer db) {
- if (db instanceof DataBufferUShort){
+ if (db instanceof DataBufferUShort) {
return ((DataBufferUShort)db).getData();
}
return null;
@@ -117,7 +120,7 @@ class AwtImageBackdoorAccessorImpl extends AwtImageBackdoorAccessor {
@Override
public double[] getDataDouble(DataBuffer db) {
- if (db instanceof DataBufferDouble){
+ if (db instanceof DataBufferDouble) {
return ((DataBufferDouble)db).getData();
}
return null;
@@ -125,7 +128,7 @@ class AwtImageBackdoorAccessorImpl extends AwtImageBackdoorAccessor {
@Override
public float[] getDataFloat(DataBuffer db) {
- if (db instanceof DataBufferFloat){
+ if (db instanceof DataBufferFloat) {
return ((DataBufferFloat)db).getData();
}
return null;
diff --git a/awt/java/awt/image/BandCombineOp.java b/awt/java/awt/image/BandCombineOp.java
index cd77a21..da2cc89 100644
--- a/awt/java/awt/image/BandCombineOp.java
+++ b/awt/java/awt/image/BandCombineOp.java
@@ -32,82 +32,124 @@ import org.apache.harmony.awt.gl.AwtImageBackdoorAccessor;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The BandCombineOp class translates coordinates from
- * coordinates in the source Raster to coordinates in
- * the destination Raster by an arbitrary linear combination
- * of the bands in a source Raster, using a specified matrix.
- * The number of bands in the matrix should equal to
- * the number of bands in the source Raster plus 1.
+ * The BandCombineOp class translates coordinates from coordinates in the source
+ * Raster to coordinates in the destination Raster by an arbitrary linear
+ * combination of the bands in a source Raster, using a specified matrix. The
+ * number of bands in the matrix should equal to the number of bands in the
+ * source Raster plus 1.
+ *
+ * @since Android 1.0
*/
public class BandCombineOp implements RasterOp {
-
- /** The Constant offsets3c. */
- static final int offsets3c[] = {16, 8, 0};
-
- /** The Constant offsets4ac. */
- static final int offsets4ac[] = {16, 8, 0, 24};
-
- /** The Constant masks3c. */
- static final int masks3c[] = {0xFF0000, 0xFF00, 0xFF};
-
- /** The Constant masks4ac. */
- static final int masks4ac[] = {0xFF0000, 0xFF00, 0xFF, 0xFF000000};
-
- /** The Constant piOffsets. */
- private static final int piOffsets[] = {0, 1, 2};
-
- /** The Constant piInvOffsets. */
- private static final int piInvOffsets[] = {2, 1, 0};
-
- /** The Constant TYPE_BYTE3C. */
+
+ /**
+ * The Constant offsets3c.
+ */
+ static final int offsets3c[] = {
+ 16, 8, 0
+ };
+
+ /**
+ * The Constant offsets4ac.
+ */
+ static final int offsets4ac[] = {
+ 16, 8, 0, 24
+ };
+
+ /**
+ * The Constant masks3c.
+ */
+ static final int masks3c[] = {
+ 0xFF0000, 0xFF00, 0xFF
+ };
+
+ /**
+ * The Constant masks4ac.
+ */
+ static final int masks4ac[] = {
+ 0xFF0000, 0xFF00, 0xFF, 0xFF000000
+ };
+
+ /**
+ * The Constant piOffsets.
+ */
+ private static final int piOffsets[] = {
+ 0, 1, 2
+ };
+
+ /**
+ * The Constant piInvOffsets.
+ */
+ private static final int piInvOffsets[] = {
+ 2, 1, 0
+ };
+
+ /**
+ * The Constant TYPE_BYTE3C.
+ */
private static final int TYPE_BYTE3C = 0;
-
- /** The Constant TYPE_BYTE4AC. */
+
+ /**
+ * The Constant TYPE_BYTE4AC.
+ */
private static final int TYPE_BYTE4AC = 1;
-
- /** The Constant TYPE_USHORT3C. */
+
+ /**
+ * The Constant TYPE_USHORT3C.
+ */
private static final int TYPE_USHORT3C = 2;
-
- /** The Constant TYPE_SHORT3C. */
+
+ /**
+ * The Constant TYPE_SHORT3C.
+ */
private static final int TYPE_SHORT3C = 3;
- /** The mx width. */
+ /**
+ * The mx width.
+ */
private int mxWidth;
-
- /** The mx height. */
+
+ /**
+ * The mx height.
+ */
private int mxHeight;
-
- /** The matrix. */
+
+ /**
+ * The matrix.
+ */
private float matrix[][];
-
- /** The r hints. */
+
+ /**
+ * The r hints.
+ */
private RenderingHints rHints;
static {
// XXX - todo
- //System.loadLibrary("imageops");
+ // System.loadLibrary("imageops");
}
/**
- * Instantiates a new BandCombineOp object with the specified
- * matrix.
+ * Instantiates a new BandCombineOp object with the specified matrix.
*
- * @param matrix the specified matrix for band combining.
- * @param hints the RenderingHints.
+ * @param matrix
+ * the specified matrix for band combining.
+ * @param hints
+ * the RenderingHints.
*/
public BandCombineOp(float matrix[][], RenderingHints hints) {
this.mxHeight = matrix.length;
this.mxWidth = matrix[0].length;
this.matrix = new float[mxHeight][mxWidth];
- for (int i=0; i<mxHeight; i++){
+ for (int i = 0; i < mxHeight; i++) {
System.arraycopy(matrix[i], 0, this.matrix[i], 0, mxWidth);
}
this.rHints = hints;
}
- public final RenderingHints getRenderingHints(){
+ public final RenderingHints getRenderingHints() {
return this.rHints;
}
@@ -119,14 +161,14 @@ public class BandCombineOp implements RasterOp {
public final float[][] getMatrix() {
float res[][] = new float[mxHeight][mxWidth];
- for (int i=0; i<mxHeight; i++) {
+ for (int i = 0; i < mxHeight; i++) {
System.arraycopy(matrix[i], 0, res[i], 0, mxWidth);
}
return res;
}
- public final Point2D getPoint2D (Point2D srcPoint, Point2D dstPoint) {
+ public final Point2D getPoint2D(Point2D srcPoint, Point2D dstPoint) {
if (dstPoint == null) {
dstPoint = new Point2D.Float();
}
@@ -135,17 +177,19 @@ public class BandCombineOp implements RasterOp {
return dstPoint;
}
- public final Rectangle2D getBounds2D(Raster src){
+ public final Rectangle2D getBounds2D(Raster src) {
return src.getBounds();
}
- public WritableRaster createCompatibleDestRaster (Raster src) {
+ public WritableRaster createCompatibleDestRaster(Raster src) {
int numBands = src.getNumBands();
- if (mxWidth != numBands && mxWidth != (numBands+1) || numBands != mxHeight) {
+ if (mxWidth != numBands && mxWidth != (numBands + 1) || numBands != mxHeight) {
// awt.254=Number of bands in the source raster ({0}) is
- // incompatible with the matrix [{1}x{2}]
+ // incompatible with the matrix [{1}x{2}]
throw new IllegalArgumentException(Messages.getString("awt.254", //$NON-NLS-1$
- new Object[]{numBands, mxWidth, mxHeight}));
+ new Object[] {
+ numBands, mxWidth, mxHeight
+ }));
}
return src.createCompatibleWritableRaster(src.getWidth(), src.getHeight());
@@ -154,27 +198,31 @@ public class BandCombineOp implements RasterOp {
public WritableRaster filter(Raster src, WritableRaster dst) {
int numBands = src.getNumBands();
- if (mxWidth != numBands && mxWidth != (numBands+1)) {
+ if (mxWidth != numBands && mxWidth != (numBands + 1)) {
// awt.254=Number of bands in the source raster ({0}) is
- // incompatible with the matrix [{1}x{2}]
- throw new IllegalArgumentException(
- Messages.getString("awt.254", //$NON-NLS-1$
- new Object[]{numBands, mxWidth, mxHeight}));
+ // incompatible with the matrix [{1}x{2}]
+ throw new IllegalArgumentException(Messages.getString("awt.254", //$NON-NLS-1$
+ new Object[] {
+ numBands, mxWidth, mxHeight
+ }));
}
if (dst == null) {
dst = createCompatibleDestRaster(src);
} else if (dst.getNumBands() != mxHeight) {
- // awt.255=Number of bands in the destination raster ({0}) is incompatible with the matrix [{1}x{2}]
+ // awt.255=Number of bands in the destination raster ({0}) is
+ // incompatible with the matrix [{1}x{2}]
throw new IllegalArgumentException(Messages.getString("awt.255", //$NON-NLS-1$
- new Object[]{dst.getNumBands(), mxWidth, mxHeight}));
+ new Object[] {
+ dst.getNumBands(), mxWidth, mxHeight
+ }));
}
// XXX - todo
- //if (ippFilter(src, dst) != 0)
+ // if (ippFilter(src, dst) != 0)
if (verySlowFilter(src, dst) != 0) {
// awt.21F=Unable to transform source
- throw new ImagingOpException (Messages.getString("awt.21F")); //$NON-NLS-1$
+ throw new ImagingOpException(Messages.getString("awt.21F")); //$NON-NLS-1$
}
return dst;
@@ -184,23 +232,29 @@ public class BandCombineOp implements RasterOp {
* The Class SampleModelInfo.
*/
private static final class SampleModelInfo {
-
- /** The channels. */
+
+ /**
+ * The channels.
+ */
int channels;
-
- /** The channels order. */
+
+ /**
+ * The channels order.
+ */
int channelsOrder[];
-
- /** The stride. */
+
+ /**
+ * The stride.
+ */
int stride;
}
/**
* Check sample model.
*
- * @param sm the sm
- *
- * @return the sample model info
+ * @param sm
+ * the sm.
+ * @return the sample model info.
*/
private final SampleModelInfo checkSampleModel(SampleModel sm) {
SampleModelInfo ret = new SampleModelInfo();
@@ -212,12 +266,12 @@ public class BandCombineOp implements RasterOp {
}
ret.channels = sm.getNumBands();
- ret.stride = ((ComponentSampleModel) sm).getScanlineStride();
- ret.channelsOrder = ((ComponentSampleModel) sm).getBandOffsets();
+ ret.stride = ((ComponentSampleModel)sm).getScanlineStride();
+ ret.channelsOrder = ((ComponentSampleModel)sm).getBandOffsets();
} else if (sm instanceof SinglePixelPackedSampleModel) {
// Check SinglePixelPackedSampleModel
- SinglePixelPackedSampleModel sppsm1 = (SinglePixelPackedSampleModel) sm;
+ SinglePixelPackedSampleModel sppsm1 = (SinglePixelPackedSampleModel)sm;
ret.channels = sppsm1.getNumBands();
if (sppsm1.getDataType() != DataBuffer.TYPE_INT) {
@@ -225,7 +279,7 @@ public class BandCombineOp implements RasterOp {
}
// Check sample models
- for (int i=0; i<ret.channels; i++) {
+ for (int i = 0; i < ret.channels; i++) {
if (sppsm1.getSampleSize(i) != 8) {
return null;
}
@@ -233,7 +287,7 @@ public class BandCombineOp implements RasterOp {
ret.channelsOrder = new int[ret.channels];
int bitOffsets[] = sppsm1.getBitOffsets();
- for (int i=0; i<ret.channels; i++) {
+ for (int i = 0; i < ret.channels; i++) {
if (bitOffsets[i] % 8 != 0) {
return null;
}
@@ -253,10 +307,11 @@ public class BandCombineOp implements RasterOp {
/**
* Slow filter.
*
- * @param src the src
- * @param dst the dst
- *
- * @return the int
+ * @param src
+ * the src.
+ * @param dst
+ * the dst.
+ * @return the int.
*/
private final int slowFilter(Raster src, WritableRaster dst) {
int res = 0;
@@ -272,8 +327,8 @@ public class BandCombineOp implements RasterOp {
// Fill offsets if there's a child raster
if (src.getParent() != null || dst.getParent() != null) {
- if (src.getSampleModelTranslateX() != 0 || src.getSampleModelTranslateY() != 0 ||
- dst.getSampleModelTranslateX() != 0 || dst.getSampleModelTranslateY() != 0) {
+ if (src.getSampleModelTranslateX() != 0 || src.getSampleModelTranslateY() != 0
+ || dst.getSampleModelTranslateX() != 0 || dst.getSampleModelTranslateY() != 0) {
offsets = new int[4];
offsets[0] = -src.getSampleModelTranslateX() + src.getMinX();
offsets[1] = -src.getSampleModelTranslateY() + src.getMinY();
@@ -282,23 +337,22 @@ public class BandCombineOp implements RasterOp {
}
}
- int rmxWidth = (srcInfo.channels+1); // width of the reordered matrix
- float reorderedMatrix[] = new float[rmxWidth*dstInfo.channels];
- for (int j=0; j<dstInfo.channels; j++) {
+ int rmxWidth = (srcInfo.channels + 1); // width of the reordered matrix
+ float reorderedMatrix[] = new float[rmxWidth * dstInfo.channels];
+ for (int j = 0; j < dstInfo.channels; j++) {
if (j >= dstInfo.channelsOrder.length) {
continue;
}
- for (int i=0; i<srcInfo.channels; i++) {
+ for (int i = 0; i < srcInfo.channels; i++) {
if (i >= srcInfo.channelsOrder.length) {
break;
}
- reorderedMatrix[dstInfo.channelsOrder[j]*rmxWidth + srcInfo.channelsOrder[i]] =
- matrix[j][i];
+ reorderedMatrix[dstInfo.channelsOrder[j] * rmxWidth + srcInfo.channelsOrder[i]] = matrix[j][i];
}
if (mxWidth == rmxWidth) {
- reorderedMatrix[(dstInfo.channelsOrder[j]+1)*rmxWidth - 1] = matrix[j][mxWidth-1];
+ reorderedMatrix[(dstInfo.channelsOrder[j] + 1) * rmxWidth - 1] = matrix[j][mxWidth - 1];
}
}
@@ -311,11 +365,9 @@ public class BandCombineOp implements RasterOp {
return -1; // Unknown data buffer type
}
- simpleCombineBands(
- srcData, src.getWidth(), src.getHeight(), srcInfo.stride, srcInfo.channels,
- dstData, dstInfo.stride, dstInfo.channels,
- reorderedMatrix, offsets
- );
+ simpleCombineBands(srcData, src.getWidth(), src.getHeight(), srcInfo.stride,
+ srcInfo.channels, dstData, dstInfo.stride, dstInfo.channels, reorderedMatrix,
+ offsets);
return res;
}
@@ -323,10 +375,11 @@ public class BandCombineOp implements RasterOp {
/**
* Very slow filter.
*
- * @param src the src
- * @param dst the dst
- *
- * @return the int
+ * @param src
+ * the src.
+ * @param dst
+ * the dst.
+ * @return the int.
*/
private int verySlowFilter(Raster src, WritableRaster dst) {
int numBands = src.getNumBands();
@@ -337,33 +390,35 @@ public class BandCombineOp implements RasterOp {
int dstMinX = dst.getMinX();
int dstY = dst.getMinY();
- int dX = src.getWidth();//< dst.getWidth() ? src.getWidth() : dst.getWidth();
- int dY = src.getHeight();//< dst.getHeight() ? src.getHeight() : dst.getHeight();
+ int dX = src.getWidth();// < dst.getWidth() ? src.getWidth() :
+ // dst.getWidth();
+ int dY = src.getHeight();// < dst.getHeight() ? src.getHeight() :
+ // dst.getHeight();
float sample;
- int srcPixels[] = new int[numBands*dX*dY];
- int dstPixels[] = new int[mxHeight*dX*dY];
+ int srcPixels[] = new int[numBands * dX * dY];
+ int dstPixels[] = new int[mxHeight * dX * dY];
srcPixels = src.getPixels(srcMinX, srcY, dX, dY, srcPixels);
if (numBands == mxWidth) {
- for (int i=0, j=0; i<srcPixels.length; i+=numBands) {
+ for (int i = 0, j = 0; i < srcPixels.length; i += numBands) {
for (int dstB = 0; dstB < mxHeight; dstB++) {
sample = 0f;
for (int srcB = 0; srcB < numBands; srcB++) {
- sample += matrix[dstB][srcB] * srcPixels[i+srcB];
+ sample += matrix[dstB][srcB] * srcPixels[i + srcB];
}
- dstPixels[j++] = (int) sample;
+ dstPixels[j++] = (int)sample;
}
}
} else {
- for (int i=0, j=0; i<srcPixels.length; i+=numBands) {
+ for (int i = 0, j = 0; i < srcPixels.length; i += numBands) {
for (int dstB = 0; dstB < mxHeight; dstB++) {
sample = 0f;
for (int srcB = 0; srcB < numBands; srcB++) {
- sample += matrix[dstB][srcB] * srcPixels[i+srcB];
+ sample += matrix[dstB][srcB] * srcPixels[i + srcB];
}
- dstPixels[j++] = (int) (sample + matrix[dstB][numBands]);
+ dstPixels[j++] = (int)(sample + matrix[dstB][numBands]);
}
}
}
@@ -373,14 +428,15 @@ public class BandCombineOp implements RasterOp {
return 0;
}
- //TODO remove when method is used
+ // TODO remove when method is used
/**
* Ipp filter.
*
- * @param src the src
- * @param dst the dst
- *
- * @return the int
+ * @param src
+ * the src.
+ * @param dst
+ * the dst.
+ * @return the int.
*/
@SuppressWarnings("unused")
private int ippFilter(Raster src, WritableRaster dst) {
@@ -393,56 +449,39 @@ public class BandCombineOp implements RasterOp {
int srcBands = src.getNumBands();
int dstBands = dst.getNumBands();
- if (
- dstBands != 3 ||
- (srcBands != 3 &&
- !(srcBands == 4 &&
- matrix[0][3] == 0 &&
- matrix[1][3] == 0 &&
- matrix[2][3] == 0)
- )
- ) {
+ if (dstBands != 3
+ || (srcBands != 3 && !(srcBands == 4 && matrix[0][3] == 0 && matrix[1][3] == 0 && matrix[2][3] == 0))) {
return slowFilter(src, dst);
}
SampleModel srcSM = src.getSampleModel();
SampleModel dstSM = dst.getSampleModel();
- if (
- srcSM instanceof SinglePixelPackedSampleModel &&
- dstSM instanceof SinglePixelPackedSampleModel
- ) {
+ if (srcSM instanceof SinglePixelPackedSampleModel
+ && dstSM instanceof SinglePixelPackedSampleModel) {
// Check SinglePixelPackedSampleModel
- SinglePixelPackedSampleModel sppsm1 = (SinglePixelPackedSampleModel) srcSM;
- SinglePixelPackedSampleModel sppsm2 = (SinglePixelPackedSampleModel) dstSM;
+ SinglePixelPackedSampleModel sppsm1 = (SinglePixelPackedSampleModel)srcSM;
+ SinglePixelPackedSampleModel sppsm2 = (SinglePixelPackedSampleModel)dstSM;
- if (
- sppsm1.getDataType() != DataBuffer.TYPE_INT ||
- sppsm2.getDataType() != DataBuffer.TYPE_INT
- ) {
+ if (sppsm1.getDataType() != DataBuffer.TYPE_INT
+ || sppsm2.getDataType() != DataBuffer.TYPE_INT) {
return slowFilter(src, dst);
}
// Check sample models
- if (
- !Arrays.equals(sppsm2.getBitOffsets(), offsets3c) ||
- !Arrays.equals(sppsm2.getBitMasks(), masks3c)
- ) {
+ if (!Arrays.equals(sppsm2.getBitOffsets(), offsets3c)
+ || !Arrays.equals(sppsm2.getBitMasks(), masks3c)) {
return slowFilter(src, dst);
}
if (srcBands == 3) {
- if (
- !Arrays.equals(sppsm1.getBitOffsets(), offsets3c) ||
- !Arrays.equals(sppsm1.getBitMasks(), masks3c)
- ) {
+ if (!Arrays.equals(sppsm1.getBitOffsets(), offsets3c)
+ || !Arrays.equals(sppsm1.getBitMasks(), masks3c)) {
return slowFilter(src, dst);
}
} else if (srcBands == 4) {
- if (
- !Arrays.equals(sppsm1.getBitOffsets(), offsets4ac) ||
- !Arrays.equals(sppsm1.getBitMasks(), masks4ac)
- ) {
+ if (!Arrays.equals(sppsm1.getBitOffsets(), offsets4ac)
+ || !Arrays.equals(sppsm1.getBitMasks(), masks4ac)) {
return slowFilter(src, dst);
}
}
@@ -452,10 +491,8 @@ public class BandCombineOp implements RasterOp {
srcStride = sppsm1.getScanlineStride() * 4;
dstStride = sppsm2.getScanlineStride() * 4;
- } else if (
- srcSM instanceof PixelInterleavedSampleModel &&
- dstSM instanceof PixelInterleavedSampleModel
- ) {
+ } else if (srcSM instanceof PixelInterleavedSampleModel
+ && dstSM instanceof PixelInterleavedSampleModel) {
if (srcBands != 3) {
return slowFilter(src, dst);
}
@@ -477,15 +514,12 @@ public class BandCombineOp implements RasterOp {
}
// Check PixelInterleavedSampleModel
- PixelInterleavedSampleModel pism1 = (PixelInterleavedSampleModel) srcSM;
- PixelInterleavedSampleModel pism2 = (PixelInterleavedSampleModel) dstSM;
-
- if (
- srcDataType != pism2.getDataType() ||
- pism1.getPixelStride() != 3 ||
- pism2.getPixelStride() != 3 ||
- !Arrays.equals(pism1.getBandOffsets(), pism2.getBandOffsets())
- ) {
+ PixelInterleavedSampleModel pism1 = (PixelInterleavedSampleModel)srcSM;
+ PixelInterleavedSampleModel pism2 = (PixelInterleavedSampleModel)dstSM;
+
+ if (srcDataType != pism2.getDataType() || pism1.getPixelStride() != 3
+ || pism2.getPixelStride() != 3
+ || !Arrays.equals(pism1.getBandOffsets(), pism2.getBandOffsets())) {
return slowFilter(src, dst);
}
@@ -507,8 +541,8 @@ public class BandCombineOp implements RasterOp {
// Fill offsets if there's a child raster
if (src.getParent() != null || dst.getParent() != null) {
- if (src.getSampleModelTranslateX() != 0 || src.getSampleModelTranslateY() != 0 ||
- dst.getSampleModelTranslateX() != 0 || dst.getSampleModelTranslateY() != 0) {
+ if (src.getSampleModelTranslateX() != 0 || src.getSampleModelTranslateY() != 0
+ || dst.getSampleModelTranslateX() != 0 || dst.getSampleModelTranslateY() != 0) {
offsets = new int[4];
offsets[0] = -src.getSampleModelTranslateX() + src.getMinX();
offsets[1] = -src.getSampleModelTranslateY() + src.getMinY();
@@ -532,79 +566,93 @@ public class BandCombineOp implements RasterOp {
// IPP treats big endian integers like BGR, so we have to
// swap columns 1 and 3 and rows 1 and 3
for (int i = 0; i < mxHeight; i++) {
- ippMatrix[i*4] = matrix[2-i][2];
- ippMatrix[i*4+1] = matrix[2-i][1];
- ippMatrix[i*4+2] = matrix[2-i][0];
+ ippMatrix[i * 4] = matrix[2 - i][2];
+ ippMatrix[i * 4 + 1] = matrix[2 - i][1];
+ ippMatrix[i * 4 + 2] = matrix[2 - i][0];
if (mxWidth == 4) {
- ippMatrix[i*4+3] = matrix[2-i][3];
+ ippMatrix[i * 4 + 3] = matrix[2 - i][3];
} else if (mxWidth == 5) {
- ippMatrix[i*4+3] = matrix[2-i][4];
+ ippMatrix[i * 4 + 3] = matrix[2 - i][4];
}
}
} else {
for (int i = 0; i < mxHeight; i++) {
- ippMatrix[i*4] = matrix[i][0];
- ippMatrix[i*4+1] = matrix[i][1];
- ippMatrix[i*4+2] = matrix[i][2];
+ ippMatrix[i * 4] = matrix[i][0];
+ ippMatrix[i * 4 + 1] = matrix[i][1];
+ ippMatrix[i * 4 + 2] = matrix[i][2];
if (mxWidth == 4) {
- ippMatrix[i*4+3] = matrix[i][3];
+ ippMatrix[i * 4 + 3] = matrix[i][3];
} else if (mxWidth == 5) {
- ippMatrix[i*4+3] = matrix[i][4];
+ ippMatrix[i * 4 + 3] = matrix[i][4];
}
}
}
- return ippColorTwist(
- srcData, src.getWidth(), src.getHeight(), srcStride,
- dstData, dst.getWidth(), dst.getHeight(), dstStride,
- ippMatrix, type, offsets, inPlace);
+ return ippColorTwist(srcData, src.getWidth(), src.getHeight(), srcStride, dstData, dst
+ .getWidth(), dst.getHeight(), dstStride, ippMatrix, type, offsets, inPlace);
}
/**
* Ipp color twist.
*
- * @param srcData the src data
- * @param srcWidth the src width
- * @param srcHeight the src height
- * @param srcStride the src stride
- * @param dstData the dst data
- * @param dstWidth the dst width
- * @param dstHeight the dst height
- * @param dstStride the dst stride
- * @param ippMatrix the ipp matrix
- * @param type the type
- * @param offsets the offsets
- * @param inPlace the in place
- *
- * @return the int
+ * @param srcData
+ * the src data.
+ * @param srcWidth
+ * the src width.
+ * @param srcHeight
+ * the src height.
+ * @param srcStride
+ * the src stride.
+ * @param dstData
+ * the dst data.
+ * @param dstWidth
+ * the dst width.
+ * @param dstHeight
+ * the dst height.
+ * @param dstStride
+ * the dst stride.
+ * @param ippMatrix
+ * the ipp matrix.
+ * @param type
+ * the type.
+ * @param offsets
+ * the offsets.
+ * @param inPlace
+ * the in place.
+ * @return the int.
*/
- private final native int ippColorTwist(
- Object srcData, int srcWidth, int srcHeight, int srcStride,
- Object dstData, int dstWidth, int dstHeight, int dstStride,
- float ippMatrix[], int type, int offsets[], boolean inPlace
- );
+ private final native int ippColorTwist(Object srcData, int srcWidth, int srcHeight,
+ int srcStride, Object dstData, int dstWidth, int dstHeight, int dstStride,
+ float ippMatrix[], int type, int offsets[], boolean inPlace);
/**
* Simple combine bands.
*
- * @param srcData the src data
- * @param srcWidth the src width
- * @param srcHeight the src height
- * @param srcStride the src stride
- * @param srcChannels the src channels
- * @param dstData the dst data
- * @param dstStride the dst stride
- * @param dstChannels the dst channels
- * @param m the m
- * @param offsets the offsets
- *
- * @return the int
+ * @param srcData
+ * the src data.
+ * @param srcWidth
+ * the src width.
+ * @param srcHeight
+ * the src height.
+ * @param srcStride
+ * the src stride.
+ * @param srcChannels
+ * the src channels.
+ * @param dstData
+ * the dst data.
+ * @param dstStride
+ * the dst stride.
+ * @param dstChannels
+ * the dst channels.
+ * @param m
+ * the m.
+ * @param offsets
+ * the offsets.
+ * @return the int.
*/
- private final native int simpleCombineBands(
- Object srcData, int srcWidth, int srcHeight, int srcStride, int srcChannels,
- Object dstData, int dstStride, int dstChannels,
- float m[], int offsets[]
- );
+ private final native int simpleCombineBands(Object srcData, int srcWidth, int srcHeight,
+ int srcStride, int srcChannels, Object dstData, int dstStride, int dstChannels,
+ float m[], int offsets[]);
}
diff --git a/awt/java/awt/image/BandedSampleModel.java b/awt/java/awt/image/BandedSampleModel.java
index 392e44c..0aa30d7 100644
--- a/awt/java/awt/image/BandedSampleModel.java
+++ b/awt/java/awt/image/BandedSampleModel.java
@@ -18,24 +18,26 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The BandedSampleModel class provides samples of pixels in an image
- * which is stored in a band interleaved method. Each pixel's sample
- * takes one data element of the DataBuffer. The pixel stride for a
- * BandedSampleModel is one.
+ * The BandedSampleModel class provides samples of pixels in an image which is
+ * stored in a band interleaved method. Each pixel's sample takes one data
+ * element of the DataBuffer. The pixel stride for a BandedSampleModel is one.
+ *
+ * @since Android 1.0
*/
public final class BandedSampleModel extends ComponentSampleModel {
/**
* Creates the indices.
*
- * @param numBands the num bands
- *
- * @return the int[]
+ * @param numBands
+ * the num bands.
+ * @return the int[].
*/
private static int[] createIndices(int numBands) {
int indices[] = new int[numBands];
@@ -48,9 +50,9 @@ public final class BandedSampleModel extends ComponentSampleModel {
/**
* Creates the offsets.
*
- * @param numBands the num bands
- *
- * @return the int[]
+ * @param numBands
+ * the num bands.
+ * @return the int[].
*/
private static int[] createOffsets(int numBands) {
int offsets[] = new int[numBands];
@@ -61,41 +63,48 @@ public final class BandedSampleModel extends ComponentSampleModel {
}
/**
- * Instantiates a new BandedSampleModel object with the specified
- * data type of samples, the width, height and bands number
- * of image data.
+ * Instantiates a new BandedSampleModel object with the specified data type
+ * of samples, the width, height and bands number of image data.
*
- * @param dataType the data type of samples.
- * @param w the width of image data.
- * @param h the height of image data.
- * @param numBands the number of bands.
+ * @param dataType
+ * the data type of samples.
+ * @param w
+ * the width of image data.
+ * @param h
+ * the height of image data.
+ * @param numBands
+ * the number of bands.
*/
public BandedSampleModel(int dataType, int w, int h, int numBands) {
- this(dataType, w, h, w, BandedSampleModel.createIndices(numBands),
- BandedSampleModel.createOffsets(numBands));
+ this(dataType, w, h, w, BandedSampleModel.createIndices(numBands), BandedSampleModel
+ .createOffsets(numBands));
}
/**
- * Instantiates a new BandedSampleModel object with the specified
- * data type of samples, the width, height and bands number
- * of image data.
+ * Instantiates a new BandedSampleModel object with the specified data type
+ * of samples, the width, height and bands number of image data.
*
- * @param dataType the data type of samples.
- * @param w the width of image data.
- * @param h the height of image data.
- * @param scanlineStride the scanline stride of the of the image data.
- * @param bankIndices the array of the bank indecies.
- * @param bandOffsets the array of the band offsets.
+ * @param dataType
+ * the data type of samples.
+ * @param w
+ * the width of image data.
+ * @param h
+ * the height of image data.
+ * @param scanlineStride
+ * the scanline stride of the of the image data.
+ * @param bankIndices
+ * the array of the bank indices.
+ * @param bandOffsets
+ * the array of the band offsets.
*/
- public BandedSampleModel(int dataType, int w, int h, int scanlineStride,
- int bankIndices[], int bandOffsets[]) {
+ public BandedSampleModel(int dataType, int w, int h, int scanlineStride, int bankIndices[],
+ int bandOffsets[]) {
super(dataType, w, h, 1, scanlineStride, bankIndices, bandOffsets);
}
@Override
public SampleModel createCompatibleSampleModel(int w, int h) {
- return new BandedSampleModel(dataType, w, h, w, bankIndices,
- bandOffsets);
+ return new BandedSampleModel(dataType, w, h, w, bankIndices, bandOffsets);
}
@Override
@@ -104,22 +113,22 @@ public final class BandedSampleModel extends ComponentSampleModel {
int size = scanlineStride * height;
switch (dataType) {
- case DataBuffer.TYPE_BYTE:
- data = new DataBufferByte(size, numBanks);
- break;
- case DataBuffer.TYPE_SHORT:
- case DataBuffer.TYPE_USHORT:
- data = new DataBufferShort(size, numBanks);
- break;
- case DataBuffer.TYPE_INT:
- data = new DataBufferInt(size, numBanks);
- break;
- case DataBuffer.TYPE_FLOAT:
- data = new DataBufferFloat(size, numBanks);
- break;
- case DataBuffer.TYPE_DOUBLE:
- data = new DataBufferDouble(size, numBanks);
- break;
+ case DataBuffer.TYPE_BYTE:
+ data = new DataBufferByte(size, numBanks);
+ break;
+ case DataBuffer.TYPE_SHORT:
+ case DataBuffer.TYPE_USHORT:
+ data = new DataBufferShort(size, numBanks);
+ break;
+ case DataBuffer.TYPE_INT:
+ data = new DataBufferInt(size, numBanks);
+ break;
+ case DataBuffer.TYPE_FLOAT:
+ data = new DataBufferFloat(size, numBanks);
+ break;
+ case DataBuffer.TYPE_DOUBLE:
+ data = new DataBufferDouble(size, numBanks);
+ break;
}
return data;
@@ -129,7 +138,8 @@ public final class BandedSampleModel extends ComponentSampleModel {
@Override
public SampleModel createSubsetSampleModel(int[] bands) {
if (bands.length > numBands) {
- // awt.64=The number of the bands in the subset is greater than the number of bands in the sample model
+ // awt.64=The number of the bands in the subset is greater than the
+ // number of bands in the sample model
throw new RasterFormatException(Messages.getString("awt.64")); //$NON-NLS-1$
}
@@ -141,94 +151,93 @@ public final class BandedSampleModel extends ComponentSampleModel {
offsets[i] = bandOffsets[bands[i]];
}
- return new BandedSampleModel(dataType, width, height, scanlineStride,
- indices, offsets);
+ return new BandedSampleModel(dataType, width, height, scanlineStride, indices, offsets);
}
@Override
public Object getDataElements(int x, int y, Object obj, DataBuffer data) {
switch (dataType) {
- case DataBuffer.TYPE_BYTE: {
- byte bdata[];
+ case DataBuffer.TYPE_BYTE: {
+ byte bdata[];
- if (obj == null) {
- bdata = new byte[numBands];
- } else {
- bdata = (byte[]) obj;
- }
+ if (obj == null) {
+ bdata = new byte[numBands];
+ } else {
+ bdata = (byte[])obj;
+ }
- for (int i = 0; i < numBands; i++) {
- bdata[i] = (byte) getSample(x, y, i, data);
- }
+ for (int i = 0; i < numBands; i++) {
+ bdata[i] = (byte)getSample(x, y, i, data);
+ }
- obj = bdata;
- break;
- }
- case DataBuffer.TYPE_SHORT:
- case DataBuffer.TYPE_USHORT: {
- short sdata[];
-
- if (obj == null) {
- sdata = new short[numBands];
- } else {
- sdata = (short[]) obj;
+ obj = bdata;
+ break;
}
+ case DataBuffer.TYPE_SHORT:
+ case DataBuffer.TYPE_USHORT: {
+ short sdata[];
+
+ if (obj == null) {
+ sdata = new short[numBands];
+ } else {
+ sdata = (short[])obj;
+ }
- for (int i = 0; i < numBands; i++) {
- sdata[i] = (short) getSample(x, y, i, data);
+ for (int i = 0; i < numBands; i++) {
+ sdata[i] = (short)getSample(x, y, i, data);
+ }
+
+ obj = sdata;
+ break;
}
+ case DataBuffer.TYPE_INT: {
+ int idata[];
- obj = sdata;
- break;
- }
- case DataBuffer.TYPE_INT: {
- int idata[];
+ if (obj == null) {
+ idata = new int[numBands];
+ } else {
+ idata = (int[])obj;
+ }
- if (obj == null) {
- idata = new int[numBands];
- } else {
- idata = (int[]) obj;
- }
+ for (int i = 0; i < numBands; i++) {
+ idata[i] = getSample(x, y, i, data);
+ }
- for (int i = 0; i < numBands; i++) {
- idata[i] = getSample(x, y, i, data);
+ obj = idata;
+ break;
}
+ case DataBuffer.TYPE_FLOAT: {
+ float fdata[];
- obj = idata;
- break;
- }
- case DataBuffer.TYPE_FLOAT: {
- float fdata[];
+ if (obj == null) {
+ fdata = new float[numBands];
+ } else {
+ fdata = (float[])obj;
+ }
- if (obj == null) {
- fdata = new float[numBands];
- } else {
- fdata = (float[]) obj;
- }
+ for (int i = 0; i < numBands; i++) {
+ fdata[i] = getSampleFloat(x, y, i, data);
+ }
- for (int i = 0; i < numBands; i++) {
- fdata[i] = getSampleFloat(x, y, i, data);
+ obj = fdata;
+ break;
}
+ case DataBuffer.TYPE_DOUBLE: {
+ double ddata[];
- obj = fdata;
- break;
- }
- case DataBuffer.TYPE_DOUBLE: {
- double ddata[];
+ if (obj == null) {
+ ddata = new double[numBands];
+ } else {
+ ddata = (double[])obj;
+ }
- if (obj == null) {
- ddata = new double[numBands];
- } else {
- ddata = (double[]) obj;
- }
+ for (int i = 0; i < numBands; i++) {
+ ddata[i] = getSampleDouble(x, y, i, data);
+ }
- for (int i = 0; i < numBands; i++) {
- ddata[i] = getSampleDouble(x, y, i, data);
+ obj = ddata;
+ break;
}
-
- obj = ddata;
- break;
- }
}
return obj;
@@ -257,8 +266,7 @@ public final class BandedSampleModel extends ComponentSampleModel {
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
}
- return data.getElem(bankIndices[b], y * scanlineStride + x +
- bandOffsets[b]);
+ return data.getElem(bankIndices[b], y * scanlineStride + x + bandOffsets[b]);
}
@Override
@@ -268,8 +276,7 @@ public final class BandedSampleModel extends ComponentSampleModel {
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
}
- return data.getElemDouble(bankIndices[b], y * scanlineStride + x +
- bandOffsets[b]);
+ return data.getElemDouble(bankIndices[b], y * scanlineStride + x + bandOffsets[b]);
}
@Override
@@ -279,13 +286,11 @@ public final class BandedSampleModel extends ComponentSampleModel {
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
}
- return data.getElemFloat(bankIndices[b], y * scanlineStride + x +
- bandOffsets[b]);
+ return data.getElemFloat(bankIndices[b], y * scanlineStride + x + bandOffsets[b]);
}
@Override
- public int[] getSamples(int x, int y, int w, int h, int b, int iArray[],
- DataBuffer data) {
+ public int[] getSamples(int x, int y, int w, int h, int b, int iArray[], DataBuffer data) {
int samples[];
int idx = 0;
@@ -317,41 +322,41 @@ public final class BandedSampleModel extends ComponentSampleModel {
@Override
public void setDataElements(int x, int y, Object obj, DataBuffer data) {
switch (dataType) {
- case DataBuffer.TYPE_BYTE:
- byte bdata[] = (byte[]) obj;
- for (int i = 0; i < numBands; i++) {
- setSample(x, y, i, bdata[i] & 0xff, data);
- }
- break;
+ case DataBuffer.TYPE_BYTE:
+ byte bdata[] = (byte[])obj;
+ for (int i = 0; i < numBands; i++) {
+ setSample(x, y, i, bdata[i] & 0xff, data);
+ }
+ break;
- case DataBuffer.TYPE_SHORT:
- case DataBuffer.TYPE_USHORT:
- short sdata[] = (short[]) obj;
- for (int i = 0; i < numBands; i++) {
- setSample(x, y, i, sdata[i] & 0xffff, data);
- }
- break;
+ case DataBuffer.TYPE_SHORT:
+ case DataBuffer.TYPE_USHORT:
+ short sdata[] = (short[])obj;
+ for (int i = 0; i < numBands; i++) {
+ setSample(x, y, i, sdata[i] & 0xffff, data);
+ }
+ break;
- case DataBuffer.TYPE_INT:
- int idata[] = (int[]) obj;
- for (int i = 0; i < numBands; i++) {
- setSample(x, y, i, idata[i], data);
- }
- break;
+ case DataBuffer.TYPE_INT:
+ int idata[] = (int[])obj;
+ for (int i = 0; i < numBands; i++) {
+ setSample(x, y, i, idata[i], data);
+ }
+ break;
- case DataBuffer.TYPE_FLOAT:
- float fdata[] = (float[]) obj;
- for (int i = 0; i < numBands; i++) {
- setSample(x, y, i, fdata[i], data);
- }
- break;
+ case DataBuffer.TYPE_FLOAT:
+ float fdata[] = (float[])obj;
+ for (int i = 0; i < numBands; i++) {
+ setSample(x, y, i, fdata[i], data);
+ }
+ break;
- case DataBuffer.TYPE_DOUBLE:
- double ddata[] = (double[]) obj;
- for (int i = 0; i < numBands; i++) {
- setSample(x, y, i, ddata[i], data);
- }
- break;
+ case DataBuffer.TYPE_DOUBLE:
+ double ddata[] = (double[])obj;
+ for (int i = 0; i < numBands; i++) {
+ setSample(x, y, i, ddata[i], data);
+ }
+ break;
}
}
@@ -363,8 +368,7 @@ public final class BandedSampleModel extends ComponentSampleModel {
}
@Override
- public void setPixels(int x, int y, int w, int h, int iArray[],
- DataBuffer data) {
+ public void setPixels(int x, int y, int w, int h, int iArray[], DataBuffer data) {
int idx = 0;
for (int i = y; i < y + h; i++) {
@@ -383,8 +387,7 @@ public final class BandedSampleModel extends ComponentSampleModel {
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
}
- data.setElemDouble(bankIndices[b], y * scanlineStride + x +
- bandOffsets[b], s);
+ data.setElemDouble(bankIndices[b], y * scanlineStride + x + bandOffsets[b], s);
}
@Override
@@ -394,8 +397,7 @@ public final class BandedSampleModel extends ComponentSampleModel {
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
}
- data.setElemFloat(bankIndices[b], y * scanlineStride + x +
- bandOffsets[b], s);
+ data.setElemFloat(bankIndices[b], y * scanlineStride + x + bandOffsets[b], s);
}
@Override
@@ -405,13 +407,11 @@ public final class BandedSampleModel extends ComponentSampleModel {
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
}
- data.setElem(bankIndices[b], y * scanlineStride + x +
- bandOffsets[b], s);
+ data.setElem(bankIndices[b], y * scanlineStride + x + bandOffsets[b], s);
}
@Override
- public void setSamples(int x, int y, int w, int h, int b, int iArray[],
- DataBuffer data) {
+ public void setSamples(int x, int y, int w, int h, int b, int iArray[], DataBuffer data) {
int idx = 0;
for (int i = y; i < y + h; i++) {
@@ -423,4 +423,3 @@ public final class BandedSampleModel extends ComponentSampleModel {
}
}
-
diff --git a/awt/java/awt/image/BufferStrategy.java b/awt/java/awt/image/BufferStrategy.java
index e0508f0..3c8779d 100644
--- a/awt/java/awt/image/BufferStrategy.java
+++ b/awt/java/awt/image/BufferStrategy.java
@@ -18,35 +18,37 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import java.awt.BufferCapabilities;
import java.awt.Graphics;
/**
- * The BufferStrategy abstract class provides an opportunity
- * to organize the buffers for a Canvas or Window. The BufferStrategy
- * implementation depends on hardware and software limitations.
- * These limitations are detectible through the capabilities
- * object which can be obtained by the GraphicsConfiguration of the Canvas
- * or Window.
+ * The BufferStrategy abstract class provides an opportunity to organize the
+ * buffers for a Canvas or Window. The BufferStrategy implementation depends on
+ * hardware and software limitations. These limitations are detectable through
+ * the capabilities object which can be obtained by the GraphicsConfiguration of
+ * the Canvas or Window.
+ *
+ * @since Android 1.0
*/
public abstract class BufferStrategy {
/**
- * Returns true if the drawing buffer was lost since the last call
- * of getDrawGraphics.
+ * Returns true if the drawing buffer was lost since the last call of
+ * getDrawGraphics.
*
- * @return true if the drawing buffer was lost since the last call
- * of getDrawGraphics, false otherwise.
+ * @return true if the drawing buffer was lost since the last call of
+ * getDrawGraphics, false otherwise.
*/
public abstract boolean contentsLost();
/**
- * Returns true if the drawing buffer is restored from a lost state.
+ * Returns true if the drawing buffer is restored from a lost state.
*
- * @return true if the drawing buffer is restored from a lost state,
- * false otherwise.
+ * @return true if the drawing buffer is restored from a lost state, false
+ * otherwise.
*/
public abstract boolean contentsRestored();
diff --git a/awt/java/awt/image/BufferedImage.java b/awt/java/awt/image/BufferedImage.java
index d305d66..c9d58d9 100644
--- a/awt/java/awt/image/BufferedImage.java
+++ b/awt/java/awt/image/BufferedImage.java
@@ -18,6 +18,7 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import com.android.internal.awt.AndroidGraphics2D;
@@ -39,184 +40,215 @@ import org.apache.harmony.awt.gl.Surface;
import org.apache.harmony.awt.gl.image.BufferedImageSource;
import org.apache.harmony.awt.internal.nls.Messages;
-
/**
- * The BufferedImage class describes an Image which contains a buffer
- * of image data and includes a ColorModel and a Raster for this data.
- * This class provides methods for obtaining and setting the Raster
- * and for manipulating the ColorModel parameters.
+ * The BufferedImage class describes an Image which contains a buffer of image
+ * data and includes a ColorModel and a Raster for this data. This class
+ * provides methods for obtaining and setting the Raster and for manipulating
+ * the ColorModel parameters.
+ *
+ * @since Android 1.0
*/
-public class BufferedImage extends
-Image implements WritableRenderedImage, Transparency{
+public class BufferedImage extends Image implements WritableRenderedImage, Transparency {
- /**
- * The Constant TYPE_CUSTOM indicates that Image type
- * is unknown.
+ /**
+ * The Constant TYPE_CUSTOM indicates that Image type is unknown.
*/
public static final int TYPE_CUSTOM = 0;
- /**
- * The Constant TYPE_INT_RGB indicates an image with
- * 8 bit RGB color components, it has a DirectColorModel
- * without alpha.
+ /**
+ * The Constant TYPE_INT_RGB indicates an image with 8 bit RGB color
+ * components, it has a DirectColorModel without alpha.
*/
public static final int TYPE_INT_RGB = 1;
- /**
- * The Constant TYPE_INT_ARGB indicates an image with
- * 8 bit RGBA color components, it has a DirectColorModel
- * with alpha.
+ /**
+ * The Constant TYPE_INT_ARGB indicates an image with 8 bit RGBA color
+ * components, it has a DirectColorModel with alpha.
*/
public static final int TYPE_INT_ARGB = 2;
- /**
- * The Constant TYPE_INT_ARGB_PRE indicates an image with
- * 8 bit RGBA color components, it has a DirectColorModel
- * with alpha, and image data is premultiplied by alpha.
+ /**
+ * The Constant TYPE_INT_ARGB_PRE indicates an image with 8 bit RGBA color
+ * components, it has a DirectColorModel with alpha, and image data is
+ * pre-multiplied by alpha.
*/
public static final int TYPE_INT_ARGB_PRE = 3;
- /**
- * The Constant TYPE_INT_BGR indicates an image with
- * 8 bit RGB color components, BGR color model
- * (with the colors Blue, Green, and Red). There is no
- * alpha. The image has a DirectColorModel.
+ /**
+ * The Constant TYPE_INT_BGR indicates an image with 8 bit RGB color
+ * components, BGR color model (with the colors Blue, Green, and Red). There
+ * is no alpha. The image has a DirectColorModel.
*/
public static final int TYPE_INT_BGR = 4;
- /**
- * The Constant TYPE_3BYTE_BGR indicates an image with
- * 8 bit RGB color components, BGR color model
- * (with the colors Blue, Green, and Red stored in 3 bytes).
- * There is no alpha. The image has a ComponentColorModel.
+ /**
+ * The Constant TYPE_3BYTE_BGR indicates an image with 8 bit RGB color
+ * components, BGR color model (with the colors Blue, Green, and Red stored
+ * in 3 bytes). There is no alpha. The image has a ComponentColorModel.
*/
public static final int TYPE_3BYTE_BGR = 5;
- /**
- * The Constant TYPE_4BYTE_ABGR indicates an image with
- * 8 bit RGBA color components stored in 3 bytes and 1 byte of alpha.
- * It has a ComponentColorModel with alpha.
+ /**
+ * The Constant TYPE_4BYTE_ABGR indicates an image with 8 bit RGBA color
+ * components stored in 3 bytes and 1 byte of alpha. It has a
+ * ComponentColorModel with alpha.
*/
public static final int TYPE_4BYTE_ABGR = 6;
- /**
- * The Constant TYPE_4BYTE_ABGR_PRE indicates an image with
- * 8 bit RGBA color components stored in 3 bytes and 1 byte
- * for alpha. The image has a ComponentColorModel with alpha.
- * The color data is premultiplied with alpha.
+ /**
+ * The Constant TYPE_4BYTE_ABGR_PRE indicates an image with 8 bit RGBA color
+ * components stored in 3 bytes and 1 byte for alpha. The image has a
+ * ComponentColorModel with alpha. The color data is pre-multiplied with
+ * alpha.
*/
public static final int TYPE_4BYTE_ABGR_PRE = 7;
- /**
- * The Constant TYPE_USHORT_565_RGB indicates an image with
- * 565 RGB color components (5-bits red, 6-bits green, 5-bits blue)
- * with no alpha. This image has a DirectColorModel.
+ /**
+ * The Constant TYPE_USHORT_565_RGB indicates an image with 565 RGB color
+ * components (5-bits red, 6-bits green, 5-bits blue) with no alpha. This
+ * image has a DirectColorModel.
*/
public static final int TYPE_USHORT_565_RGB = 8;
- /**
- * The Constant TYPE_USHORT_555_RGB indicates an image with
- * 555 RGB color components (5-bits red, 5-bits green, 5-bits blue)
- * with no alpha. This image has a DirectColorModel.
+ /**
+ * The Constant TYPE_USHORT_555_RGB indicates an image with 555 RGB color
+ * components (5-bits red, 5-bits green, 5-bits blue) with no alpha. This
+ * image has a DirectColorModel.
*/
public static final int TYPE_USHORT_555_RGB = 9;
- /**
- * The Constant TYPE_BYTE_GRAY indicates a unsigned byte
- * image. This image has a ComponentColorModel with
- * a CS_GRAY ColorSpace.
+ /**
+ * The Constant TYPE_BYTE_GRAY indicates a unsigned byte image. This image
+ * has a ComponentColorModel with a CS_GRAY ColorSpace.
*/
public static final int TYPE_BYTE_GRAY = 10;
- /**
- * The Constant TYPE_USHORT_GRAY indicates an unsigned short
- * image. This image has a ComponentColorModel with a CS_GRAY
- * ColorSpace.
+ /**
+ * The Constant TYPE_USHORT_GRAY indicates an unsigned short image. This
+ * image has a ComponentColorModel with a CS_GRAY ColorSpace.
*/
public static final int TYPE_USHORT_GRAY = 11;
- /**
- * The Constant TYPE_BYTE_BINARY indicates an opaque byte-packed
- * 1, 2 or 4 bit image. The image has an IndexColorModel without
- * alpha.
+ /**
+ * The Constant TYPE_BYTE_BINARY indicates an opaque byte-packed 1, 2 or 4
+ * bit image. The image has an IndexColorModel without alpha.
*/
public static final int TYPE_BYTE_BINARY = 12;
- /**
- * The Constant TYPE_BYTE_INDEXED indicates an indexed byte image.
+ /**
+ * The Constant TYPE_BYTE_INDEXED indicates an indexed byte image.
*/
public static final int TYPE_BYTE_INDEXED = 13;
- /** The Constant ALPHA_MASK. */
+ /**
+ * The Constant ALPHA_MASK.
+ */
private static final int ALPHA_MASK = 0xff000000;
- /** The Constant RED_MASK. */
+ /**
+ * The Constant RED_MASK.
+ */
private static final int RED_MASK = 0x00ff0000;
- /** The Constant GREEN_MASK. */
+ /**
+ * The Constant GREEN_MASK.
+ */
private static final int GREEN_MASK = 0x0000ff00;
- /** The Constant BLUE_MASK. */
+ /**
+ * The Constant BLUE_MASK.
+ */
private static final int BLUE_MASK = 0x000000ff;
- /** The Constant RED_BGR_MASK. */
+ /**
+ * The Constant RED_BGR_MASK.
+ */
private static final int RED_BGR_MASK = 0x000000ff;
- /** The Constant GREEN_BGR_MASK. */
+ /**
+ * The Constant GREEN_BGR_MASK.
+ */
private static final int GREEN_BGR_MASK = 0x0000ff00;
- /** The Constant BLUE_BGR_MASK. */
+ /**
+ * The Constant BLUE_BGR_MASK.
+ */
private static final int BLUE_BGR_MASK = 0x00ff0000;
- /** The Constant RED_565_MASK. */
+ /**
+ * The Constant RED_565_MASK.
+ */
private static final int RED_565_MASK = 0xf800;
- /** The Constant GREEN_565_MASK. */
+ /**
+ * The Constant GREEN_565_MASK.
+ */
private static final int GREEN_565_MASK = 0x07e0;
- /** The Constant BLUE_565_MASK. */
+ /**
+ * The Constant BLUE_565_MASK.
+ */
private static final int BLUE_565_MASK = 0x001f;
- /** The Constant RED_555_MASK. */
+ /**
+ * The Constant RED_555_MASK.
+ */
private static final int RED_555_MASK = 0x7c00;
- /** The Constant GREEN_555_MASK. */
+ /**
+ * The Constant GREEN_555_MASK.
+ */
private static final int GREEN_555_MASK = 0x03e0;
- /** The Constant BLUE_555_MASK. */
+ /**
+ * The Constant BLUE_555_MASK.
+ */
private static final int BLUE_555_MASK = 0x001f;
- /** The cm. */
+ /**
+ * The cm.
+ */
private ColorModel cm;
- /** The raster. */
+ /**
+ * The raster.
+ */
private final WritableRaster raster;
- /** The image type. */
+ /**
+ * The image type.
+ */
private final int imageType;
- /** The properties. */
+ /**
+ * The properties.
+ */
private Hashtable<?, ?> properties;
- // Surface of the Buffered Image - used for blitting one Buffered Image
+ // Surface of the Buffered Image - used for blitting one Buffered Image
// on the other one or on the Component
- /** The image surf. */
+ /**
+ * The image surf.
+ */
private final ImageSurface imageSurf;
/**
- * Instantiates a new BufferedImage with the specified ColorModel,
- * and WritableRaster objects. The Raster data can be
- * be divided or multiplied by alpha. It depends on the
- * alphaPremultiplied state in the ColorModel.
+ * Instantiates a new BufferedImage with the specified ColorModel, and
+ * WritableRaster objects. The Raster data can be be divided or multiplied
+ * by alpha. It depends on the alphaPremultiplied state in the ColorModel.
*
- * @param cm the ColorModel of the new image.
- * @param raster the WritableRaster of the new image.
- * @param isRasterPremultiplied if true the data of the specified
- * Raster is premultiplied by alpha.
- * @param properties the properties of new Image.
- */
- public BufferedImage(ColorModel cm, WritableRaster raster,
- boolean isRasterPremultiplied, Hashtable<?, ?> properties) {
+ * @param cm
+ * the ColorModel of the new image.
+ * @param raster
+ * the WritableRaster of the new image.
+ * @param isRasterPremultiplied
+ * if true the data of the specified Raster is pre-multiplied by
+ * alpha.
+ * @param properties
+ * the properties of new Image.
+ */
+ public BufferedImage(ColorModel cm, WritableRaster raster, boolean isRasterPremultiplied,
+ Hashtable<?, ?> properties) {
if (!cm.isCompatibleRaster(raster)) {
// awt.4D=The raster is incompatible with this ColorModel
throw new IllegalArgumentException(Messages.getString("awt.4D")); //$NON-NLS-1$
@@ -227,7 +259,7 @@ Image implements WritableRenderedImage, Transparency{
throw new IllegalArgumentException(Messages.getString("awt.228")); //$NON-NLS-1$
}
- this.cm = cm;
+ this.cm = cm;
this.raster = raster;
this.properties = properties;
@@ -240,47 +272,52 @@ Image implements WritableRenderedImage, Transparency{
/**
* Instantiates a new BufferedImage with the specified width, height
- * predefined image type (TYPE_BYTE_BINARY or TYPE_BYTE_INDEXED)
- * and the specified IndexColorModel.
+ * predefined image type (TYPE_BYTE_BINARY or TYPE_BYTE_INDEXED) and the
+ * specified IndexColorModel.
*
- * @param width the width of new image.
- * @param height the height of new image.
- * @param imageType the predefined image type.
- * @param cm the specified IndexColorModel.
+ * @param width
+ * the width of new image.
+ * @param height
+ * the height of new image.
+ * @param imageType
+ * the predefined image type.
+ * @param cm
+ * the specified IndexColorModel.
*/
- public BufferedImage(int width, int height, int imageType,
- IndexColorModel cm) {
+ public BufferedImage(int width, int height, int imageType, IndexColorModel cm) {
switch (imageType) {
- case TYPE_BYTE_BINARY:
- if (cm.hasAlpha()) {
- // awt.227=This image type can't have alpha
- throw new IllegalArgumentException(Messages.getString("awt.227")); //$NON-NLS-1$
- }
- int pixel_bits = 0;
- int mapSize = cm.getMapSize();
- if (mapSize <= 2) {
- pixel_bits = 1;
- } else if (mapSize <= 4) {
- pixel_bits = 2;
- } else if (mapSize <= 16) {
- pixel_bits = 4;
- } else {
- // awt.221=The imageType is TYPE_BYTE_BINARY and the color map has more than 16 entries
- throw new IllegalArgumentException(Messages.getString("awt.221")); //$NON-NLS-1$
- }
+ case TYPE_BYTE_BINARY:
+ if (cm.hasAlpha()) {
+ // awt.227=This image type can't have alpha
+ throw new IllegalArgumentException(Messages.getString("awt.227")); //$NON-NLS-1$
+ }
+ int pixel_bits = 0;
+ int mapSize = cm.getMapSize();
+ if (mapSize <= 2) {
+ pixel_bits = 1;
+ } else if (mapSize <= 4) {
+ pixel_bits = 2;
+ } else if (mapSize <= 16) {
+ pixel_bits = 4;
+ } else {
+ // awt.221=The imageType is TYPE_BYTE_BINARY and the color
+ // map has more than 16 entries
+ throw new IllegalArgumentException(Messages.getString("awt.221")); //$NON-NLS-1$
+ }
- raster = Raster.createPackedRaster(DataBuffer.TYPE_BYTE, width,
- height, 1, pixel_bits, null);
- break;
+ raster = Raster.createPackedRaster(DataBuffer.TYPE_BYTE, width, height, 1,
+ pixel_bits, null);
+ break;
- case TYPE_BYTE_INDEXED:
- raster = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE,
- width, height, 1, null);
- break;
+ case TYPE_BYTE_INDEXED:
+ raster = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, width, height, 1,
+ null);
+ break;
- default:
- // awt.222=The imageType is not TYPE_BYTE_BINARY or TYPE_BYTE_INDEXED
- throw new IllegalArgumentException(Messages.getString("awt.222")); //$NON-NLS-1$
+ default:
+ // awt.222=The imageType is not TYPE_BYTE_BINARY or
+ // TYPE_BYTE_INDEXED
+ throw new IllegalArgumentException(Messages.getString("awt.222")); //$NON-NLS-1$
}
@@ -296,187 +333,159 @@ Image implements WritableRenderedImage, Transparency{
}
/**
- * Instantiates a new BufferedImage with the specified width, height
- * and predefined image type.
+ * Instantiates a new BufferedImage with the specified width, height and
+ * predefined image type.
*
- * @param width the width of new image.
- * @param height the height of new image.
- * @param imageType the predefined image type.
+ * @param width
+ * the width of new image.
+ * @param height
+ * the height of new image.
+ * @param imageType
+ * the predefined image type.
*/
public BufferedImage(int width, int height, int imageType) {
switch (imageType) {
- case TYPE_INT_RGB:
- cm = new DirectColorModel(24, RED_MASK, GREEN_MASK, BLUE_MASK);
- raster = cm.createCompatibleWritableRaster(width, height);
- break;
-
- case TYPE_INT_ARGB:
- cm = ColorModel.getRGBdefault();
- raster = cm.createCompatibleWritableRaster(width, height);
- break;
-
- case TYPE_INT_ARGB_PRE:
- cm = new DirectColorModel(
- ColorSpace.getInstance(ColorSpace.CS_sRGB),
- 32,
- RED_MASK,
- GREEN_MASK,
- BLUE_MASK,
- ALPHA_MASK,
- true,
- DataBuffer.TYPE_INT);
-
- raster = cm.createCompatibleWritableRaster(width, height);
- break;
-
- case TYPE_INT_BGR:
- cm = new DirectColorModel(24,
- RED_BGR_MASK,
- GREEN_BGR_MASK,
- BLUE_BGR_MASK);
-
- raster = cm.createCompatibleWritableRaster(width, height);
- break;
-
- case TYPE_3BYTE_BGR: {
- int bits[] = { 8, 8, 8 };
- int bandOffsets[] = { 2, 1, 0 };
- cm = new ComponentColorModel(
- ColorSpace.getInstance(ColorSpace.CS_sRGB),
- bits,
- false,
- false,
- Transparency.OPAQUE,
- DataBuffer.TYPE_BYTE);
-
- raster = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE,
- width, height, width * 3, 3, bandOffsets, null);
+ case TYPE_INT_RGB:
+ cm = new DirectColorModel(24, RED_MASK, GREEN_MASK, BLUE_MASK);
+ raster = cm.createCompatibleWritableRaster(width, height);
+ break;
+
+ case TYPE_INT_ARGB:
+ cm = ColorModel.getRGBdefault();
+ raster = cm.createCompatibleWritableRaster(width, height);
+ break;
+
+ case TYPE_INT_ARGB_PRE:
+ cm = new DirectColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), 32, RED_MASK,
+ GREEN_MASK, BLUE_MASK, ALPHA_MASK, true, DataBuffer.TYPE_INT);
+
+ raster = cm.createCompatibleWritableRaster(width, height);
+ break;
+
+ case TYPE_INT_BGR:
+ cm = new DirectColorModel(24, RED_BGR_MASK, GREEN_BGR_MASK, BLUE_BGR_MASK);
+
+ raster = cm.createCompatibleWritableRaster(width, height);
+ break;
+
+ case TYPE_3BYTE_BGR: {
+ int bits[] = {
+ 8, 8, 8
+ };
+ int bandOffsets[] = {
+ 2, 1, 0
+ };
+ cm = new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), bits,
+ false, false, Transparency.OPAQUE, DataBuffer.TYPE_BYTE);
+
+ raster = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, width, height,
+ width * 3, 3, bandOffsets, null);
}
- break;
-
- case TYPE_4BYTE_ABGR: {
- int bits[] = { 8, 8, 8, 8 };
- int bandOffsets[] = { 3, 2, 1, 0 };
- cm = new ComponentColorModel(
- ColorSpace.getInstance(ColorSpace.CS_sRGB),
- bits,
- true,
- false,
- Transparency.TRANSLUCENT,
- DataBuffer.TYPE_BYTE);
-
- raster = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE,
- width, height, width * 4, 4, bandOffsets, null);
+ break;
+
+ case TYPE_4BYTE_ABGR: {
+ int bits[] = {
+ 8, 8, 8, 8
+ };
+ int bandOffsets[] = {
+ 3, 2, 1, 0
+ };
+ cm = new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), bits,
+ true, false, Transparency.TRANSLUCENT, DataBuffer.TYPE_BYTE);
+
+ raster = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, width, height,
+ width * 4, 4, bandOffsets, null);
}
- break;
-
- case TYPE_4BYTE_ABGR_PRE: {
- int bits[] = { 8, 8, 8, 8 };
- int bandOffsets[] = { 3, 2, 1, 0 };
- cm = new ComponentColorModel(
- ColorSpace.getInstance(ColorSpace.CS_sRGB),
- bits,
- true,
- true,
- Transparency.TRANSLUCENT, DataBuffer.TYPE_BYTE);
-
- raster = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE,
- width, height, width * 4, 4, bandOffsets, null);
+ break;
+
+ case TYPE_4BYTE_ABGR_PRE: {
+ int bits[] = {
+ 8, 8, 8, 8
+ };
+ int bandOffsets[] = {
+ 3, 2, 1, 0
+ };
+ cm = new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), bits,
+ true, true, Transparency.TRANSLUCENT, DataBuffer.TYPE_BYTE);
+
+ raster = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, width, height,
+ width * 4, 4, bandOffsets, null);
}
- break;
-
- case TYPE_USHORT_565_RGB:
- cm = new DirectColorModel(
- ColorSpace.getInstance(ColorSpace.CS_sRGB),
- 16,
- RED_565_MASK,
- GREEN_565_MASK,
- BLUE_565_MASK,
- 0,
- false,
- DataBuffer.TYPE_USHORT);
-
- raster = cm.createCompatibleWritableRaster(width, height);
- break;
-
- case TYPE_USHORT_555_RGB:
- cm = new DirectColorModel(
- ColorSpace.getInstance(ColorSpace.CS_sRGB),
- 15,
- RED_555_MASK,
- GREEN_555_MASK,
- BLUE_555_MASK,
- 0,
- false,
- DataBuffer.TYPE_USHORT);
-
- raster = cm.createCompatibleWritableRaster(width, height);
- break;
-
- case TYPE_BYTE_GRAY: {
- int bits[] = { 8 };
- cm = new ComponentColorModel(
- ColorSpace.getInstance(ColorSpace.CS_GRAY),
- bits,
- false,
- false,
- Transparency.OPAQUE,
- DataBuffer.TYPE_BYTE);
-
- raster = cm.createCompatibleWritableRaster(width, height);
+ break;
+
+ case TYPE_USHORT_565_RGB:
+ cm = new DirectColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), 16,
+ RED_565_MASK, GREEN_565_MASK, BLUE_565_MASK, 0, false,
+ DataBuffer.TYPE_USHORT);
+
+ raster = cm.createCompatibleWritableRaster(width, height);
+ break;
+
+ case TYPE_USHORT_555_RGB:
+ cm = new DirectColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), 15,
+ RED_555_MASK, GREEN_555_MASK, BLUE_555_MASK, 0, false,
+ DataBuffer.TYPE_USHORT);
+
+ raster = cm.createCompatibleWritableRaster(width, height);
+ break;
+
+ case TYPE_BYTE_GRAY: {
+ int bits[] = {
+ 8
+ };
+ cm = new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_GRAY), bits,
+ false, false, Transparency.OPAQUE, DataBuffer.TYPE_BYTE);
+
+ raster = cm.createCompatibleWritableRaster(width, height);
}
- break;
-
- case TYPE_USHORT_GRAY: {
- int bits[] = { 16 };
- cm = new ComponentColorModel(
- ColorSpace.getInstance(ColorSpace.CS_GRAY),
- bits,
- false,
- false,
- Transparency.OPAQUE,
- DataBuffer.TYPE_USHORT);
- raster = cm.createCompatibleWritableRaster(width, height);
+ break;
+
+ case TYPE_USHORT_GRAY: {
+ int bits[] = {
+ 16
+ };
+ cm = new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_GRAY), bits,
+ false, false, Transparency.OPAQUE, DataBuffer.TYPE_USHORT);
+ raster = cm.createCompatibleWritableRaster(width, height);
}
- break;
+ break;
- case TYPE_BYTE_BINARY: {
- int colorMap[] = { 0, 0xffffff };
- cm = new IndexColorModel(1, 2, colorMap, 0, false, -1,
- DataBuffer.TYPE_BYTE);
+ case TYPE_BYTE_BINARY: {
+ int colorMap[] = {
+ 0, 0xffffff
+ };
+ cm = new IndexColorModel(1, 2, colorMap, 0, false, -1, DataBuffer.TYPE_BYTE);
- raster = Raster.createPackedRaster(DataBuffer.TYPE_BYTE, width,
- height, 1, 1, null);
+ raster = Raster.createPackedRaster(DataBuffer.TYPE_BYTE, width, height, 1, 1, null);
}
- break;
-
- case TYPE_BYTE_INDEXED: {
- int colorMap[] = new int[256];
- int i = 0;
- for (int r = 0; r < 256; r += 51) {
- for (int g = 0; g < 256; g += 51) {
- for (int b = 0; b < 256; b += 51) {
- colorMap[i] = (r << 16) | (g << 8) | b;
- i++;
+ break;
+
+ case TYPE_BYTE_INDEXED: {
+ int colorMap[] = new int[256];
+ int i = 0;
+ for (int r = 0; r < 256; r += 51) {
+ for (int g = 0; g < 256; g += 51) {
+ for (int b = 0; b < 256; b += 51) {
+ colorMap[i] = (r << 16) | (g << 8) | b;
+ i++;
+ }
}
}
- }
- int gray = 0x12;
- for (; i < 256; i++, gray += 6) {
- colorMap[i] = (gray << 16) | (gray << 8) | gray;
- }
- cm = new IndexColorModel(8, 256, colorMap, 0, false, -1,
- DataBuffer.TYPE_BYTE);
- raster = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE,
- width, height, 1, null);
+ int gray = 0x12;
+ for (; i < 256; i++, gray += 6) {
+ colorMap[i] = (gray << 16) | (gray << 8) | gray;
+ }
+ cm = new IndexColorModel(8, 256, colorMap, 0, false, -1, DataBuffer.TYPE_BYTE);
+ raster = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, width, height, 1,
+ null);
}
- break;
- default:
- // awt.224=Unknown image type
- throw new IllegalArgumentException(Messages.getString("awt.224")); //$NON-NLS-1$
+ break;
+ default:
+ // awt.224=Unknown image type
+ throw new IllegalArgumentException(Messages.getString("awt.224")); //$NON-NLS-1$
}
this.imageType = imageType;
imageSurf = createImageSurface(imageType);
@@ -488,7 +497,7 @@ Image implements WritableRenderedImage, Transparency{
}
public Object getProperty(String name) {
- if(name == null) {
+ if (name == null) {
// awt.225=Property name is null
throw new NullPointerException(Messages.getString("awt.225")); //$NON-NLS-1$
}
@@ -504,9 +513,8 @@ Image implements WritableRenderedImage, Transparency{
public WritableRaster copyData(WritableRaster outRaster) {
if (outRaster == null) {
- outRaster = Raster.createWritableRaster(raster.getSampleModel(),
- new Point(raster.getSampleModelTranslateX(),
- raster.getSampleModelTranslateY()));
+ outRaster = Raster.createWritableRaster(raster.getSampleModel(), new Point(raster
+ .getSampleModelTranslateX(), raster.getSampleModelTranslateY()));
}
int w = outRaster.getWidth();
@@ -530,8 +538,7 @@ Image implements WritableRenderedImage, Transparency{
SampleModel sm = raster.getSampleModel();
SampleModel nsm = sm.createCompatibleSampleModel(w, h);
- WritableRaster outr = Raster.createWritableRaster(nsm,
- rect.getLocation());
+ WritableRaster outr = Raster.createWritableRaster(nsm, rect.getLocation());
Object data = null;
data = raster.getDataElements(minX, minY, w, h, data);
@@ -550,7 +557,7 @@ Image implements WritableRenderedImage, Transparency{
Vector<String> v = new Vector<String>();
for (Enumeration<?> e = properties.keys(); e.hasMoreElements();) {
try {
- v.add((String) e.nextElement());
+ v.add((String)e.nextElement());
} catch (ClassCastException ex) {
}
}
@@ -573,7 +580,7 @@ Image implements WritableRenderedImage, Transparency{
@Override
public String toString() {
return "BufferedImage@" + Integer.toHexString(hashCode()) + //$NON-NLS-1$
- ": type = " + imageType + " " + cm + " " + raster; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ": type = " + imageType + " " + cm + " " + raster; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
public WritableRaster getWritableTile(int tileX, int tileY) {
@@ -590,13 +597,12 @@ Image implements WritableRenderedImage, Transparency{
}
/**
- * Gets a WritableRaster object which contains the alpha channel of
- * BufferedImage object with ColorModel objects that supports
- * a separate alpha channel such as ComponentColorModel
- * or DirectColorModel.
+ * Gets a WritableRaster object which contains the alpha channel of
+ * BufferedImage object with ColorModel objects that supports a separate
+ * alpha channel such as ComponentColorModel or DirectColorModel.
*
- * @return the WritableRaster object which contains the alpha
- * channel of this BufferedImage.
+ * @return the WritableRaster object which contains the alpha channel of
+ * this BufferedImage.
*/
public WritableRaster getAlphaRaster() {
return cm.getAlphaRaster(raster);
@@ -643,10 +649,8 @@ Image implements WritableRenderedImage, Transparency{
int minX = raster.getMinX();
int minY = raster.getMinY();
- WritableRaster outr = Raster.createWritableRaster(
- raster.getSampleModel(),
- new Point(raster.getSampleModelTranslateX(),
- raster.getSampleModelTranslateY()));
+ WritableRaster outr = Raster.createWritableRaster(raster.getSampleModel(), new Point(raster
+ .getSampleModelTranslateX(), raster.getSampleModelTranslateY()));
Object data = null;
@@ -678,11 +682,14 @@ Image implements WritableRenderedImage, Transparency{
/**
* Gets the rectangular area of this BufferedImage as a subimage.
*
- * @param x the x coordinate.
- * @param y the y coordinate.
- * @param w the width of the subimage.
- * @param h the height of the subimage.
- *
+ * @param x
+ * the x coordinate.
+ * @param y
+ * the y coordinate.
+ * @param w
+ * the width of the subimage.
+ * @param h
+ * the height of the subimage.
* @return the BufferedImage.
*/
public BufferedImage getSubimage(int x, int y, int w, int h) {
@@ -697,18 +704,17 @@ Image implements WritableRenderedImage, Transparency{
}
/**
- * Creates the Graphics2D object which allows to draw into
- * this BufferedImage.
+ * Creates the Graphics2D object which allows to draw into this
+ * BufferedImage.
*
* @return the graphics2D object.
*/
public Graphics2D createGraphics() {
- GraphicsEnvironment ge =
- GraphicsEnvironment.getLocalGraphicsEnvironment();
- //return ge.createGraphics(this);
- //???AWT hack, FIXME
- //return AndroidGraphics2D.getInstance();
- //throw new RuntimeException("Not implemented!");
+ GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
+ // return ge.createGraphics(this);
+ // ???AWT hack, FIXME
+ // return AndroidGraphics2D.getInstance();
+ // throw new RuntimeException("Not implemented!");
return null;
}
@@ -718,38 +724,44 @@ Image implements WritableRenderedImage, Transparency{
}
/**
- * Coerces the data to achieve the state which is specified by
- * the isAlphaPremultiplied variable.
+ * Coerces the data to achieve the state which is specified by the
+ * isAlphaPremultiplied variable.
*
- * @param isAlphaPremultiplied the is alpha premultiplied state.
+ * @param isAlphaPremultiplied
+ * the is alpha pre-multiplied state.
*/
public void coerceData(boolean isAlphaPremultiplied) {
- if (cm.hasAlpha() &&
- cm.isAlphaPremultiplied() != isAlphaPremultiplied) {
+ if (cm.hasAlpha() && cm.isAlphaPremultiplied() != isAlphaPremultiplied) {
cm = cm.coerceData(raster, isAlphaPremultiplied);
}
}
/**
- * Gets an array of colors in the TYPE_INT_ARGB color model and
- * default sRGB colorspace of the specified area of this
- * BufferedImage. The result array is composed by the following
- * algirithm:
- * <p>
- * pixel = rgbArray[offset + (y-startY)*scansize + (x-startX)]
- *
- * @param startX the start X area coordinate.
- * @param startY the start Y area coordinate.
- * @param w the width of the area.
- * @param h the height of the area.
- * @param rgbArray the result array will be stored to this array.
- * @param offset the offset of the rgbArray array.
- * @param scansize the scanline stride for the rgbArray.
+ * Gets an array of colors in the TYPE_INT_ARGB color model and default sRGB
+ * color space of the specified area of this BufferedImage. The result array
+ * is composed by the following algorithm:
+ * <p>
+ * pixel = rgbArray[offset + (y-startY)*scansize + (x-startX)]
+ * </p>
*
+ * @param startX
+ * the start X area coordinate.
+ * @param startY
+ * the start Y area coordinate.
+ * @param w
+ * the width of the area.
+ * @param h
+ * the height of the area.
+ * @param rgbArray
+ * the result array will be stored to this array.
+ * @param offset
+ * the offset of the rgbArray array.
+ * @param scansize
+ * the scanline stride for the rgbArray.
* @return an array of colors for the specified area.
*/
- public int[] getRGB(int startX, int startY, int w, int h, int[] rgbArray,
- int offset, int scansize) {
+ public int[] getRGB(int startX, int startY, int w, int h, int[] rgbArray, int offset,
+ int scansize) {
if (rgbArray == null) {
rgbArray = new int[offset + h * scansize];
}
@@ -765,38 +777,47 @@ Image implements WritableRenderedImage, Transparency{
}
/**
- * Sets RGB values from the specified array to the specified
- * BufferedImage area. The pixels are in the default RGB color model
- * (TYPE_INT_ARGB) and default sRGB color space.
+ * Sets RGB values from the specified array to the specified BufferedImage
+ * area. The pixels are in the default RGB color model (TYPE_INT_ARGB) and
+ * default sRGB color space.
*
- * @param startX the start X coordinate.
- * @param startY the start Y coordinate.
- * @param w the width of the BufferedImage area.
- * @param h the height of the BufferedImage area.
- * @param rgbArray the array of RGB values.
- * @param offset the offset of the rgbArray array.
- * @param scansize the scanline stride for the rgbArray.
- */
- public void setRGB(int startX, int startY, int w, int h, int[] rgbArray,
- int offset, int scansize) {
+ * @param startX
+ * the start X coordinate.
+ * @param startY
+ * the start Y coordinate.
+ * @param w
+ * the width of the BufferedImage area.
+ * @param h
+ * the height of the BufferedImage area.
+ * @param rgbArray
+ * the array of RGB values.
+ * @param offset
+ * the offset of the rgbArray array.
+ * @param scansize
+ * the scanline stride for the rgbArray.
+ */
+ public void setRGB(int startX, int startY, int w, int h, int[] rgbArray, int offset,
+ int scansize) {
int off = offset;
for (int y = startY; y < startY + h; y++, off += scansize) {
int i = off;
for (int x = startX; x < startX + w; x++, i++) {
- raster.setDataElements(x, y,
- cm.getDataElements(rgbArray[i], null));
+ raster.setDataElements(x, y, cm.getDataElements(rgbArray[i], null));
}
}
}
/**
- * Sets a the specified RGB value to the specified pixel of
- * this BufferedImage. The pixel should be in the default
- * RGB color model (TYPE_INT_ARGB) and default sRGB color space.
- *
- * @param x the X coordinate of the pixel.
- * @param y the Y coordinate of the pixel.
- * @param rgb the RGB value to be set.
+ * Sets a the specified RGB value to the specified pixel of this
+ * BufferedImage. The pixel should be in the default RGB color model
+ * (TYPE_INT_ARGB) and default sRGB color space.
+ *
+ * @param x
+ * the X coordinate of the pixel.
+ * @param y
+ * the Y coordinate of the pixel.
+ * @param rgb
+ * the RGB value to be set.
*/
public synchronized void setRGB(int x, int y, int rgb) {
raster.setDataElements(x, y, cm.getDataElements(rgb, null));
@@ -814,25 +835,26 @@ Image implements WritableRenderedImage, Transparency{
}
/**
- * Gets a color in the TYPE_INT_ARGB color model and default
- * sRGB colorspace of the specified pixel.
- *
- * @param x the X coordinate of the pixel.
- * @param y the Y coordinate of the pixel.
+ * Gets a color in the TYPE_INT_ARGB color model and default sRGB color
+ * space of the specified pixel.
*
- * @return the color of the specified pixel in the TYPE_INT_ARGB
- * color model and default sRGB colorspace.
+ * @param x
+ * the X coordinate of the pixel.
+ * @param y
+ * the Y coordinate of the pixel.
+ * @return the color of the specified pixel in the TYPE_INT_ARGB color model
+ * and default sRGB color space.
*/
public int getRGB(int x, int y) {
return cm.getRGB(raster.getDataElements(x, y, null));
}
/**
- * Returnes true if alpha is premultiplied,
- * false if alpha is not premultiplied or there is no alpha.
+ * Returns true if alpha is pre-multiplied, false if alpha is not
+ * pre-multiplied or there is no alpha.
*
- * @return true if alpha is premultiplied,
- * false if alpha is not premultiplied or there is no alpha.
+ * @return true if alpha is pre-multiplied, false if alpha is not
+ * pre-multiplied or there is no alpha.
*/
public boolean isAlphaPremultiplied() {
return cm.isAlphaPremultiplied();
@@ -907,9 +929,9 @@ Image implements WritableRenderedImage, Transparency{
/**
* Creates the image surface.
*
- * @param type the type
- *
- * @return the image surface
+ * @param type
+ * the type.
+ * @return the image surface.
*/
private ImageSurface createImageSurface(int type) {
return new ImageSurface(getColorModel(), getRaster(), type);
@@ -918,7 +940,7 @@ Image implements WritableRenderedImage, Transparency{
/**
* Gets the image surface.
*
- * @return the image surface
+ * @return the image surface.
*/
ImageSurface getImageSurface() {
return imageSurf;
@@ -928,4 +950,3 @@ Image implements WritableRenderedImage, Transparency{
return cm.getTransparency();
}
}
-
diff --git a/awt/java/awt/image/BufferedImageFilter.java b/awt/java/awt/image/BufferedImageFilter.java
index 44b3c2e..8b6fcf0 100644
--- a/awt/java/awt/image/BufferedImageFilter.java
+++ b/awt/java/awt/image/BufferedImageFilter.java
@@ -27,49 +27,72 @@ import org.apache.harmony.awt.gl.AwtImageBackdoorAccessor;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The BufferedImageFilter class provides filtering operations to
- * the BufferedImage objects using operators which implement
- * BufferedImageOp interface.
+ * The BufferedImageFilter class provides filtering operations to the
+ * BufferedImage objects using operators which implement BufferedImageOp
+ * interface.
+ *
+ * @since Android 1.0
*/
public class BufferedImageFilter extends ImageFilter implements Cloneable {
-
- /** The Constant accessor. */
+
+ /**
+ * The Constant accessor.
+ */
private static final AwtImageBackdoorAccessor accessor = AwtImageBackdoorAccessor.getInstance();
- /** The op. */
+ /**
+ * The op.
+ */
private BufferedImageOp op;
- /** The raster. */
+ /**
+ * The raster.
+ */
private WritableRaster raster;
- /** The i data. */
+ /**
+ * The i data.
+ */
private int iData[];
-
- /** The b data. */
+
+ /**
+ * The b data.
+ */
private byte bData[];
- /** The width. */
+ /**
+ * The width.
+ */
private int width;
-
- /** The height. */
+
+ /**
+ * The height.
+ */
private int height;
- /** The cm. */
+ /**
+ * The cm.
+ */
private ColorModel cm;
- /** The forced rgb. */
+ /**
+ * The forced rgb.
+ */
private boolean forcedRGB = false;
-
- /** The transfer type. */
+
+ /**
+ * The transfer type.
+ */
private int transferType = DataBuffer.TYPE_UNDEFINED;
/**
- * Instantiates a new BufferedImageFilter with the specified
- * BufferedImageOp operator.
+ * Instantiates a new BufferedImageFilter with the specified BufferedImageOp
+ * operator.
*
- * @param op the specified BufferedImageOp operator.
- *
- * @throws NullPointerException if BufferedImageOp is null.
+ * @param op
+ * the specified BufferedImageOp operator.
+ * @throws NullPointerException
+ * if BufferedImageOp is null.
*/
public BufferedImageFilter(BufferedImageOp op) {
if (op == null) {
@@ -79,11 +102,11 @@ public class BufferedImageFilter extends ImageFilter implements Cloneable {
}
/**
- * Gets the BufferedImageOp operator associated with this
+ * Gets the BufferedImageOp operator associated with this
* BufferedImageFilter object.
*
- * @return the BufferedImageOp associated with this
- * BufferedImageFilter object.
+ * @return the BufferedImageOp associated with this BufferedImageFilter
+ * object.
*/
public BufferedImageOp getBufferedImageOp() {
return op;
@@ -110,22 +133,14 @@ public class BufferedImageFilter extends ImageFilter implements Cloneable {
}
@Override
- public void setPixels(
- int x, int y, int
- w, int h,
- ColorModel model, byte[] pixels,
- int off, int scansize
- ) {
+ public void setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off,
+ int scansize) {
setPixels(x, y, w, h, model, pixels, off, scansize, true);
}
@Override
- public void setPixels(
- int x, int y,
- int w, int h,
- ColorModel model, int[] pixels,
- int off, int scansize
- ) {
+ public void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off,
+ int scansize) {
setPixels(x, y, w, h, model, pixels, off, scansize, false);
}
@@ -163,22 +178,27 @@ public class BufferedImageFilter extends ImageFilter implements Cloneable {
/**
* Sets the pixels.
*
- * @param x the x
- * @param y the y
- * @param w the w
- * @param h the h
- * @param model the model
- * @param pixels the pixels
- * @param off the off
- * @param scansize the scansize
- * @param isByteData the is byte data
+ * @param x
+ * the x.
+ * @param y
+ * the y.
+ * @param w
+ * the w.
+ * @param h
+ * the h.
+ * @param model
+ * the model.
+ * @param pixels
+ * the pixels.
+ * @param off
+ * the off.
+ * @param scansize
+ * the scansize.
+ * @param isByteData
+ * the is byte data.
*/
- private void setPixels(
- int x, int y,
- int w, int h,
- ColorModel model, Object pixels,
- int off, int scansize, boolean isByteData
- ) {
+ private void setPixels(int x, int y, int w, int h, ColorModel model, Object pixels, int off,
+ int scansize, boolean isByteData) {
// Check bounds
// Need to copy only the pixels that will fit into the destination area
if (x < 0) {
@@ -216,23 +236,24 @@ public class BufferedImageFilter extends ImageFilter implements Cloneable {
boolean canArraycopy;
// Process pixels
- switch(transferType) {
+ switch (transferType) {
case DataBuffer.TYPE_UNDEFINED: {
if (isByteData) {
transferType = DataBuffer.TYPE_BYTE;
createRaster(transferType);
- //bData = new byte[width*height];
+ // bData = new byte[width*height];
canArraycopy = !forcedRGB;
break;
}
transferType = DataBuffer.TYPE_INT;
createRaster(transferType);
- //iData = new int[width*height];
+ // iData = new int[width*height];
canArraycopy = !forcedRGB || model.equals(ColorModel.getRGBdefault());
break;
} // And proceed to copy the pixels
case DataBuffer.TYPE_INT: {
- if (isByteData) { // There are int data already but the new data are bytes
+ if (isByteData) { // There are int data already but the new data
+ // are bytes
forceRGB();
canArraycopy = false;
break;
@@ -250,7 +271,8 @@ public class BufferedImageFilter extends ImageFilter implements Cloneable {
// RGB conversion
canArraycopy = false;
break;
- } default: {
+ }
+ default: {
throw new IllegalStateException(Messages.getString("awt.06")); //$NON-NLS-1$
}
}
@@ -260,7 +282,7 @@ public class BufferedImageFilter extends ImageFilter implements Cloneable {
int dstOffset = x + y * width;
if (canArraycopy) {
- Object dstArray = isByteData ? (Object) bData : (Object) iData;
+ Object dstArray = isByteData ? (Object)bData : (Object)iData;
for (; off < maxOffset; off += scansize, dstOffset += width) {
System.arraycopy(pixels, off, dstArray, dstOffset, w);
}
@@ -271,11 +293,8 @@ public class BufferedImageFilter extends ImageFilter implements Cloneable {
int dstPos = dstOffset;
int maxDstPos = dstOffset + w;
for (; dstPos < maxDstPos; dstPos++, srcPos++) {
- iData[dstPos] = model.getRGB(
- isByteData ?
- ((byte[])pixels)[srcPos] :
- ((int[])pixels)[srcPos]
- );
+ iData[dstPos] = model.getRGB(isByteData ? ((byte[])pixels)[srcPos]
+ : ((int[])pixels)[srcPos]);
}
}
}
@@ -287,22 +306,24 @@ public class BufferedImageFilter extends ImageFilter implements Cloneable {
private void forceRGB() {
if (!forcedRGB) {
forcedRGB = true;
- int size = width*height;
+ int size = width * height;
int rgbData[] = new int[size];
if (bData != null) {
- for (int i=0; i<size; i++) {
+ for (int i = 0; i < size; i++) {
rgbData[i] = cm.getRGB(bData[i]);
}
} else if (iData != null) {
- for (int i=0; i<size; i++) {
+ for (int i = 0; i < size; i++) {
rgbData[i] = cm.getRGB(iData[i]);
}
}
cm = ColorModel.getRGBdefault();
DataBufferInt db = new DataBufferInt(rgbData, size);
- int masks[] = new int[] {0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000};
+ int masks[] = new int[] {
+ 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000
+ };
raster = Raster.createPackedRaster(db, width, height, width, masks, null);
iData = accessor.getDataInt(db);
bData = null;
@@ -327,11 +348,12 @@ public class BufferedImageFilter extends ImageFilter implements Cloneable {
/**
* Creates the raster.
*
- * @param dataType the data type
+ * @param dataType
+ * the data type.
*/
private void createRaster(int dataType) {
boolean createdValidBuffer = false;
- try{
+ try {
raster = cm.createCompatibleWritableRaster(width, height);
int rasterType = raster.getDataBuffer().getDataType();
if (rasterType == dataType) {
@@ -354,13 +376,13 @@ public class BufferedImageFilter extends ImageFilter implements Cloneable {
createdValidBuffer = false;
}
- if(cm == ColorModel.getRGBdefault()){
+ if (cm == ColorModel.getRGBdefault()) {
forcedRGB = true;
}
} else {
createdValidBuffer = false;
}
- } catch(Exception e) {
+ } catch (Exception e) {
createdValidBuffer = false;
}
diff --git a/awt/java/awt/image/BufferedImageOp.java b/awt/java/awt/image/BufferedImageOp.java
index 85b9f4e..883a39d 100644
--- a/awt/java/awt/image/BufferedImageOp.java
+++ b/awt/java/awt/image/BufferedImageOp.java
@@ -18,6 +18,7 @@
* @author Alexey A. Petrenko
* @version $Revision$
*/
+
package java.awt.image;
import java.awt.RenderingHints;
@@ -27,32 +28,36 @@ import java.awt.geom.Rectangle2D;
/**
* The BufferedImageOp interface provides methods for performing transformations
* from source data to destination data for BufferedImage objects. An object
- * implementing this interface can be passed into a BufferedImageFilter
- * to operate on a BufferedImage.
+ * implementing this interface can be passed into a BufferedImageFilter to
+ * operate on a BufferedImage.
+ *
+ * @since Android 1.0
*/
public interface BufferedImageOp {
-
+
/**
* Creates a destination image with the specified BufferedImage and
- * ColorModel; this destination image is empty and has the correct size
- * and number of bands.
- *
- * @param src the source BufferedImage.
- * @param destCM the destination ColorModel.
+ * ColorModel; this destination image is empty and has the correct size and
+ * number of bands.
*
+ * @param src
+ * the source BufferedImage.
+ * @param destCM
+ * the destination ColorModel.
* @return the BufferedImage.
*/
public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM);
/**
- * Performs a filter operation on the source BufferedImage and stores
- * the resulting BufferedImage to the destination BufferedImage. If
- * the destination BufferedImage is null, a BufferedImage with an
- * appropriate ColorModel is created.
- *
- * @param src the source BufferedImage.
- * @param dest the destination BufferedImage, where the result is stored.
+ * Performs a filter operation on the source BufferedImage and stores the
+ * resulting BufferedImage to the destination BufferedImage. If the
+ * destination BufferedImage is null, a BufferedImage with an appropriate
+ * ColorModel is created.
*
+ * @param src
+ * the source BufferedImage.
+ * @param dest
+ * the destination BufferedImage, where the result is stored.
* @return the filtered BufferedImage.
*/
public BufferedImage filter(BufferedImage src, BufferedImage dest);
@@ -60,19 +65,20 @@ public interface BufferedImageOp {
/**
* Gets the bounds of filtered image.
*
- * @param src the source BufferedImage to be filtered.
- *
+ * @param src
+ * the source BufferedImage to be filtered.
* @return the rectangle bounds of filtered image.
*/
public Rectangle2D getBounds2D(BufferedImage src);
/**
- * Gets the point of the destination image which corresponds
- * to the specified point in the source image.
- *
- * @param srcPt the point of the source image.
- * @param dstPt the point where the result will be stored.
+ * Gets the point of the destination image which corresponds to the
+ * specified point in the source image.
*
+ * @param srcPt
+ * the point of the source image.
+ * @param dstPt
+ * the point where the result will be stored.
* @return the destination point.
*/
public Point2D getPoint2D(Point2D srcPt, Point2D dstPt);
diff --git a/awt/java/awt/image/ByteLookupTable.java b/awt/java/awt/image/ByteLookupTable.java
index 043b533..27cee30 100644
--- a/awt/java/awt/image/ByteLookupTable.java
+++ b/awt/java/awt/image/ByteLookupTable.java
@@ -24,25 +24,29 @@
package java.awt.image;
/**
- * The ByteLookupTable class provides functionality for lookup operations,
- * and is defined by an input byte array for bands or components of
- * image and an offset value.
- * The offset value will be subtracted from the input values before
- * indexing the input arrays. The output of a lookup operation is
+ * The ByteLookupTable class provides functionality for lookup operations, and
+ * is defined by an input byte array for bands or components of image and an
+ * offset value. The offset value will be subtracted from the input values
+ * before indexing the input arrays. The output of a lookup operation is
* represented as an array of unsigned bytes.
+ *
+ * @since Android 1.0
*/
public class ByteLookupTable extends LookupTable {
-
- /** The data. */
+
+ /**
+ * The data.
+ */
private byte data[][];
-
+
/**
- * Instantiates a new ByteLookupTable with the specified offset value
- * and the specified byte array which represents the lookup table for
- * all bands.
+ * Instantiates a new ByteLookupTable with the specified offset value and
+ * the specified byte array which represents the lookup table for all bands.
*
- * @param offset the offset value.
- * @param data the data array of bytes.
+ * @param offset
+ * the offset value.
+ * @param data
+ * the data array of bytes.
*/
public ByteLookupTable(int offset, byte[] data) {
super(offset, 1);
@@ -54,12 +58,14 @@ public class ByteLookupTable extends LookupTable {
}
/**
- * Instantiates a new ByteLookupTable with the specified offset value
- * and the specified byte array of arrays which represents the lookup table
- * for each band.
+ * Instantiates a new ByteLookupTable with the specified offset value and
+ * the specified byte array of arrays which represents the lookup table for
+ * each band.
*
- * @param offset the offset value.
- * @param data the data array of bytes array for each band.
+ * @param offset
+ * the offset value.
+ * @param data
+ * the data array of bytes array for each band.
*/
public ByteLookupTable(int offset, byte[][] data) {
super(offset, data.length);
@@ -71,9 +77,9 @@ public class ByteLookupTable extends LookupTable {
}
/**
- * Gets the lookup table of this ByteLookupTable object. If
- * this ByteLookupTable object has one byte array for all bands,
- * the returned array length is one.
+ * Gets the lookup table of this ByteLookupTable object. If this
+ * ByteLookupTable object has one byte array for all bands, the returned
+ * array length is one.
*
* @return the lookup table of this ByteLookupTable object.
*/
@@ -91,11 +97,11 @@ public class ByteLookupTable extends LookupTable {
int offset = getOffset();
if (getNumComponents() == 1) {
for (int i = 0; i < src.length; i++) {
- dst[i] = data[0][src[i]-offset];
+ dst[i] = data[0][src[i] - offset];
}
} else {
for (int i = 0; i < getNumComponents(); i++) {
- dst[i] = data[i][src[i]-offset];
+ dst[i] = data[i][src[i] - offset];
}
}
@@ -103,14 +109,14 @@ public class ByteLookupTable extends LookupTable {
}
/**
- * Returns a byte array which contains samples of the specified
- * pixel which is translated with the lookup table of this
- * ByteLookupTable object. The resulted array is stored to
- * the dst array.
- *
- * @param src the source array.
- * @param dst the destination array where the result can be stored.
+ * Returns a byte array which contains samples of the specified pixel which
+ * is translated with the lookup table of this ByteLookupTable object. The
+ * resulted array is stored to the dst array.
*
+ * @param src
+ * the source array.
+ * @param dst
+ * the destination array where the result can be stored.
* @return the byte array of translated samples of a pixel.
*/
public byte[] lookupPixel(byte[] src, byte[] dst) {
@@ -121,11 +127,11 @@ public class ByteLookupTable extends LookupTable {
int offset = getOffset();
if (getNumComponents() == 1) {
for (int i = 0; i < src.length; i++) {
- dst[i] = data[0][src[i]-offset];
+ dst[i] = data[0][src[i] - offset];
}
} else {
for (int i = 0; i < getNumComponents(); i++) {
- dst[i] = data[i][src[i]-offset];
+ dst[i] = data[i][src[i] - offset];
}
}
diff --git a/awt/java/awt/image/ColorConvertOp.java b/awt/java/awt/image/ColorConvertOp.java
index 6d503d7..1a1700b 100644
--- a/awt/java/awt/image/ColorConvertOp.java
+++ b/awt/java/awt/image/ColorConvertOp.java
@@ -17,9 +17,9 @@
/**
* @author Oleg V. Khaschansky
* @version $Revision$
- */
-package java.awt.image;
+ */
+package java.awt.image;
import java.awt.Graphics2D;
import java.awt.Point;
@@ -37,76 +37,94 @@ import org.apache.harmony.awt.gl.color.ICC_Transform;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The ColorConvertOp class converts the pixels of the data in the
- * source image with the specified ColorSpace objects or an array
- * of ICC_Profile objects. The result pixels are scaled to the precision
- * of the destination image.
+ * The ColorConvertOp class converts the pixels of the data in the source image
+ * with the specified ColorSpace objects or an array of ICC_Profile objects. The
+ * result pixels are scaled to the precision of the destination image.
+ *
+ * @since Android 1.0
*/
public class ColorConvertOp implements BufferedImageOp, RasterOp {
// Unused but required by interfaces
- /** The rendering hints. */
+ /**
+ * The rendering hints.
+ */
RenderingHints renderingHints;
-
+
// Sequence consisting of ColorSpace and ICC_Profile elements
- /** The conversion sequence. */
- Object conversionSequence[] = new ICC_Profile[0]; // To eliminate checks for null
-
+ /**
+ * The conversion sequence.
+ */
+ Object conversionSequence[] = new ICC_Profile[0]; // To eliminate checks for
+
+ // null
+
// Not null if ColorConvertOp is constructed from the array of ICC profiles
- /** The mid profiles. */
- private ICC_Profile midProfiles[];
+ /**
+ * The mid profiles.
+ */
+ private ICC_Profile midProfiles[];
- /** The cc. */
+ /**
+ * The cc.
+ */
private final ColorConverter cc = new ColorConverter();
-
- /** The t creator. */
+
+ /**
+ * The t creator.
+ */
private final ICC_TransfomCreator tCreator = new ICC_TransfomCreator();
-
- /** The is icc. */
+
+ /**
+ * The is icc.
+ */
private boolean isICC = true;
-
-
+
// Cached ICC_Transform
/**
* The Class ICC_TransfomCreator.
*/
private class ICC_TransfomCreator {
-
- /** The transform. */
+
+ /**
+ * The transform.
+ */
private ICC_Transform transform;
-
- /** The max components. */
+
+ /**
+ * The max components.
+ */
private int maxComponents;
-
+
/**
* For the full ICC case.
*
- * @param src the src
- * @param dst the dst
- * @param convSeq the conv seq
- *
- * @return the transform
+ * @param src
+ * the src.
+ * @param dst
+ * the dst.
+ * @param convSeq
+ * the conv seq.
+ * @return the transform.
*/
public ICC_Transform getTransform(ICC_Profile src, ICC_Profile dst, ICC_Profile convSeq[]) {
- if (transform != null &&
- src == transform.getSrc() &&
- dst == transform.getDst()) {
+ if (transform != null && src == transform.getSrc() && dst == transform.getDst()) {
return transform;
}
-
+
int length = convSeq.length;
int srcFlg = 0, dstFlg = 0;
-
+
if (length == 0 || src != convSeq[0]) {
if (src != null) {
srcFlg = 1; // need src profile
}
}
- if (length == 0 || dst != convSeq[length-1]) {
+ if (length == 0 || dst != convSeq[length - 1]) {
if (dst != null) {
dstFlg = 1; // need dst profile
}
}
-
+
ICC_Profile profiles[];
int nProfiles = length + srcFlg + dstFlg;
if (nProfiles == length) {
@@ -117,30 +135,31 @@ public class ColorConvertOp implements BufferedImageOp, RasterOp {
if (srcFlg != 0) {
profiles[pos++] = src;
}
- for (int i=0; i<length; i++) {
+ for (int i = 0; i < length; i++) {
profiles[pos++] = convSeq[i];
}
if (dstFlg != 0) {
profiles[pos++] = dst;
}
}
-
+
return transform = new ICC_Transform(profiles);
}
-
+
/**
- * Used only when there are non-ICC color spaces.
- * Returns sequence of non-ICC color spaces and ICC transforms
- * made from src, dst and conversionSequence.
- *
- * @param src the src
- * @param dst the dst
+ * Used only when there are non-ICC color spaces. Returns sequence of
+ * non-ICC color spaces and ICC transforms made from src, dst and
+ * conversionSequence.
*
- * @return the sequence
+ * @param src
+ * the src.
+ * @param dst
+ * the dst.
+ * @return the sequence.
*/
public Object[] getSequence(Object src, Object dst) {
ArrayList<Object> profiles = new ArrayList<Object>(10);
- ArrayList<Object> sequence = new ArrayList<Object>(10);
+ ArrayList<Object> sequence = new ArrayList<Object>(10);
// We need this profile anyway
ICC_Profile xyzProfile = ICC_Profile.getInstance(ColorSpace.CS_CIEXYZ);
@@ -149,41 +168,42 @@ public class ColorConvertOp implements BufferedImageOp, RasterOp {
int conversionLength = conversionSequence.length;
if (conversionLength > 0) {
conversionFirst = conversionSequence[0];
- conversionLast = conversionSequence[conversionLength-1];
+ conversionLast = conversionSequence[conversionLength - 1];
}
boolean iccSequenceStarted = false;
-
+
if (src != conversionFirst && src != null) {
if (src instanceof ICC_Profile) {
profiles.add(src);
iccSequenceStarted = true;
} else {
profiles.add(xyzProfile);
- sequence.add(src); // Add non-ICC color space to the sequence
- }
+ sequence.add(src); // Add non-ICC color space to the
+ // sequence
+ }
} else {
profiles.add(xyzProfile);
}
-
- for (int i=0; i<conversionLength; i++) {
+
+ for (int i = 0; i < conversionLength; i++) {
if (conversionSequence[i] instanceof ICC_Profile) {
profiles.add(conversionSequence[i]);
iccSequenceStarted = true;
} else if (iccSequenceStarted) {
profiles.add(xyzProfile);
-
+
// Eliminate same profiles if there are any
// (e.g. xyzProfile may occur several times)
Object prev = profiles.get(0);
- for (int k=1; k<profiles.size(); k++) {
+ for (int k = 1; k < profiles.size(); k++) {
if (prev == profiles.get(k)) {
k--;
profiles.remove(k);
}
prev = profiles.get(k);
}
-
+
// If only one profile left we skip the transform -
// it can be only CIEXYZ
if (profiles.size() > 1) {
@@ -192,109 +212,111 @@ public class ColorConvertOp implements BufferedImageOp, RasterOp {
// Add non-ICC color space to the sequence
sequence.add(conversionSequence[i]);
}
-
+
profiles.clear();
profiles.add(xyzProfile);
- iccSequenceStarted = false; // Sequence of ICC profiles is processed
+ iccSequenceStarted = false; // Sequence of ICC profiles is
+ // processed
} else { // Add non-ICC color space to the sequence
- sequence.add(conversionSequence[i]);
- }
+ sequence.add(conversionSequence[i]);
+ }
}
-
- if (dst != conversionLast && dst != null) { // Add last profile if needed
+
+ if (dst != conversionLast && dst != null) { // Add last profile if
+ // needed
if (dst instanceof ICC_Profile) {
profiles.add(dst);
iccSequenceStarted = true;
} else if (iccSequenceStarted) {
profiles.add(xyzProfile);
} else {
- sequence.add(dst); // Add last non-ICC color space to the sequence
+ sequence.add(dst); // Add last non-ICC color space to the
+ // sequence
}
}
-
+
if (iccSequenceStarted) { // Make last transform if needed
sequence.add(new ICC_Transform(profiles.toArray(new ICC_Profile[0])));
if (dst != null && !(dst instanceof ICC_Profile)) {
sequence.add(dst); // Add last non-ICC color space to the
- // sequence
+ // sequence
}
}
// Calculate max number of components
// This number will be used for memory allocation
maxComponents = 0;
- Object o;
- for (int i=0, size = sequence.size(); i<size; i++) {
+ Object o;
+ for (int i = 0, size = sequence.size(); i < size; i++) {
o = sequence.get(i);
if (o instanceof ICC_Transform) {
- ICC_Transform t = (ICC_Transform) o;
- maxComponents =
- (maxComponents > t.getNumInputChannels() + 1) ?
- maxComponents :
- t.getNumInputChannels() + 1;
- maxComponents =
- (maxComponents > t.getNumOutputChannels() + 1) ?
- maxComponents :
- t.getNumOutputChannels() + 1;
+ ICC_Transform t = (ICC_Transform)o;
+ maxComponents = (maxComponents > t.getNumInputChannels() + 1) ? maxComponents
+ : t.getNumInputChannels() + 1;
+ maxComponents = (maxComponents > t.getNumOutputChannels() + 1) ? maxComponents
+ : t.getNumOutputChannels() + 1;
} else {
- ColorSpace cs = (ColorSpace) o;
- maxComponents =
- (maxComponents > cs.getNumComponents() + 1) ?
- maxComponents :
- cs.getNumComponents() + 1;
- }
+ ColorSpace cs = (ColorSpace)o;
+ maxComponents = (maxComponents > cs.getNumComponents() + 1) ? maxComponents
+ : cs.getNumComponents() + 1;
+ }
}
-
+
return sequence.toArray();
}
}
-
+
/**
- * Instantiates a new ColorConvertOp object using two specified
- * ColorSpace objects.
+ * Instantiates a new ColorConvertOp object using two specified ColorSpace
+ * objects.
*
- * @param srcCS the source ColorSpace.
- * @param dstCS the destination ColorSpace.
- * @param hints the RenderingHints object used for
- * the color conversion, or null.
+ * @param srcCS
+ * the source ColorSpace.
+ * @param dstCS
+ * the destination ColorSpace.
+ * @param hints
+ * the RenderingHints object used for the color conversion, or
+ * null.
*/
public ColorConvertOp(ColorSpace srcCS, ColorSpace dstCS, RenderingHints hints) {
if (srcCS == null || dstCS == null) {
throw new NullPointerException(Messages.getString("awt.25B")); //$NON-NLS-1$
}
-
+
renderingHints = hints;
-
+
boolean srcICC = srcCS instanceof ICC_ColorSpace;
boolean dstICC = dstCS instanceof ICC_ColorSpace;
-
+
if (srcICC && dstICC) {
conversionSequence = new ICC_Profile[2];
} else {
conversionSequence = new Object[2];
isICC = false;
}
-
+
if (srcICC) {
- conversionSequence[0] = ((ICC_ColorSpace) srcCS).getProfile();
+ conversionSequence[0] = ((ICC_ColorSpace)srcCS).getProfile();
} else {
conversionSequence[0] = srcCS;
}
-
+
if (dstICC) {
- conversionSequence[1] = ((ICC_ColorSpace) dstCS).getProfile();
+ conversionSequence[1] = ((ICC_ColorSpace)dstCS).getProfile();
} else {
conversionSequence[1] = dstCS;
}
}
/**
- * Instantiates a new ColorConvertOp object from the specified
- * ICC_Profile objects.
+ * Instantiates a new ColorConvertOp object from the specified ICC_Profile
+ * objects.
*
- * @param profiles the array of ICC_Profile objects.
- * @param hints the RenderingHints object used for
- * the color conversion, or null.
+ * @param profiles
+ * the array of ICC_Profile objects.
+ * @param hints
+ * the RenderingHints object used for the color conversion, or
+ * null.
*/
public ColorConvertOp(ICC_Profile profiles[], RenderingHints hints) {
if (profiles == null) {
@@ -302,37 +324,39 @@ public class ColorConvertOp implements BufferedImageOp, RasterOp {
}
renderingHints = hints;
-
+
// This array is not used in the program logic, so don't need to copy it
// Store it only to return back
- midProfiles = profiles;
-
+ midProfiles = profiles;
+
conversionSequence = new ICC_Profile[midProfiles.length];
-
+
// Add profiles to the conversion sequence
- for (int i=0, length=midProfiles.length; i<length; i++) {
+ for (int i = 0, length = midProfiles.length; i < length; i++) {
conversionSequence[i] = midProfiles[i];
- }
+ }
}
/**
- * Instantiates a new ColorConvertOp object using the specified
- * ColorSpace object.
+ * Instantiates a new ColorConvertOp object using the specified ColorSpace
+ * object.
*
- * @param cs the destination ColorSpace or an intermediate ColorSpace.
- * @param hints the RenderingHints object used for
- * the color conversion, or null.
+ * @param cs
+ * the destination ColorSpace or an intermediate ColorSpace.
+ * @param hints
+ * the RenderingHints object used for the color conversion, or
+ * null.
*/
public ColorConvertOp(ColorSpace cs, RenderingHints hints) {
if (cs == null) {
throw new NullPointerException(Messages.getString("awt.25B")); //$NON-NLS-1$
}
-
+
renderingHints = hints;
-
+
if (cs instanceof ICC_ColorSpace) {
conversionSequence = new ICC_Profile[1];
- conversionSequence[0] = ((ICC_ColorSpace) cs).getProfile();
+ conversionSequence[0] = ((ICC_ColorSpace)cs).getProfile();
} else {
conversionSequence = new Object[1];
conversionSequence[0] = cs;
@@ -341,11 +365,12 @@ public class ColorConvertOp implements BufferedImageOp, RasterOp {
}
/**
- * Instantiates a new ColorConvertOp object which converts from
- * a source color space to a destination color space.
+ * Instantiates a new ColorConvertOp object which converts from a source
+ * color space to a destination color space.
*
- * @param hints the RenderingHints object used for
- * the color conversion, or null.
+ * @param hints
+ * the RenderingHints object used for the color conversion, or
+ * null.
*/
public ColorConvertOp(RenderingHints hints) {
renderingHints = hints;
@@ -360,26 +385,26 @@ public class ColorConvertOp implements BufferedImageOp, RasterOp {
int nSrcColorComps, nDstColorComps;
Object first = conversionSequence[0];
Object last = conversionSequence[conversionSequence.length - 1];
-
+
// Get the number of input/output color components
if (isICC) {
- srcPf = (ICC_Profile) first;
- dstPf = (ICC_Profile) last;
+ srcPf = (ICC_Profile)first;
+ dstPf = (ICC_Profile)last;
nSrcColorComps = srcPf.getNumComponents();
nDstColorComps = dstPf.getNumComponents();
} else {
if (first instanceof ICC_Profile) {
- srcPf = (ICC_Profile) first;
+ srcPf = (ICC_Profile)first;
nSrcColorComps = srcPf.getNumComponents();
} else {
- nSrcColorComps = ((ColorSpace) first).getNumComponents();
+ nSrcColorComps = ((ColorSpace)first).getNumComponents();
}
-
+
if (last instanceof ICC_Profile) {
- dstPf = (ICC_Profile) last;
+ dstPf = (ICC_Profile)last;
nDstColorComps = dstPf.getNumComponents();
} else {
- nDstColorComps = ((ColorSpace) last).getNumComponents();
+ nDstColorComps = ((ColorSpace)last).getNumComponents();
}
}
@@ -387,51 +412,45 @@ public class ColorConvertOp implements BufferedImageOp, RasterOp {
// transforms and with each other
if (src.getNumBands() != nSrcColorComps) {
// awt.25E=Incorrect number of source raster bands. Should be equal
- // to the number of color components of source colorspace.
+ // to the number of color components of source colorspace.
throw new IllegalArgumentException(Messages.getString("awt.25E")); //$NON-NLS-1$
}
-
+
if (dst != null) { // Check destination raster
- if (dst.getNumBands() !=
- nDstColorComps) {
+ if (dst.getNumBands() != nDstColorComps) {
// awt.25F=Incorrect number of destination raster bands. Should
- // be equal to the number of color components of destination
- // colorspace.
+ // be equal to the number of color components of destination
+ // colorspace.
throw new IllegalArgumentException(Messages.getString("awt.25F")); //$NON-NLS-1$
}
-
- if (src.getWidth() != dst.getWidth() ||
- src.getHeight() != dst.getHeight()) {
+
+ if (src.getWidth() != dst.getWidth() || src.getHeight() != dst.getHeight()) {
throw new IllegalArgumentException(Messages.getString("awt.260")); //$NON-NLS-1$
}
-
+
} else {
- dst = createCompatibleDestRaster(src);
+ dst = createCompatibleDestRaster(src);
}
-
+
if (isICC) {
// Create transform
- ICC_Transform t = tCreator.getTransform(srcPf, dstPf,
- (ICC_Profile[])conversionSequence);
- cc.translateColor(t, src, dst);
+ ICC_Transform t = tCreator
+ .getTransform(srcPf, dstPf, (ICC_Profile[])conversionSequence);
+ cc.translateColor(t, src, dst);
} else {
Object[] sequence = tCreator.getSequence(null, null);
-
+
// Get data from the source raster
ColorScaler scaler = new ColorScaler();
scaler.loadScalingData(src, null);
float tmpData[][] = scaler.scaleNormalize(src);
-
+
// Get source and destination color spaces
- ColorSpace srcCS = (srcPf == null) ?
- (ColorSpace) first:
- new ICC_ColorSpace(srcPf);
- ColorSpace dstCS = (dstPf == null) ?
- (ColorSpace) last:
- new ICC_ColorSpace(dstPf);
-
+ ColorSpace srcCS = (srcPf == null) ? (ColorSpace)first : new ICC_ColorSpace(srcPf);
+ ColorSpace dstCS = (dstPf == null) ? (ColorSpace)last : new ICC_ColorSpace(dstPf);
+
applySequence(sequence, tmpData, srcCS, dstCS);
-
+
scaler.loadScalingData(dst, null);
scaler.unscaleNormalized(dst, tmpData);
}
@@ -442,36 +461,27 @@ public class ColorConvertOp implements BufferedImageOp, RasterOp {
public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM) {
// If destination color model is passed only one line needed
if (destCM != null) {
- return new BufferedImage(destCM,
- destCM.createCompatibleWritableRaster(src.getWidth(), src.getHeight()),
- destCM.isAlphaPremultiplied(),
- null);
+ return new BufferedImage(destCM, destCM.createCompatibleWritableRaster(src.getWidth(),
+ src.getHeight()), destCM.isAlphaPremultiplied(), null);
}
-
+
int nSpaces = conversionSequence.length;
-
+
if (nSpaces < 1) {
throw new IllegalArgumentException(Messages.getString("awt.261")); //$NON-NLS-1$
}
-
+
// Get destination color space
- Object destination = conversionSequence[nSpaces-1];
- ColorSpace dstCS =
- (destination instanceof ColorSpace) ?
- (ColorSpace) destination :
- new ICC_ColorSpace((ICC_Profile) destination);
-
- ColorModel srcCM = src.getColorModel();
- ColorModel dstCM = new ComponentColorModel(dstCS,
- srcCM.hasAlpha(),
- srcCM.isAlphaPremultiplied(),
- srcCM.getTransparency(),
- srcCM.getTransferType());
-
- return new BufferedImage(dstCM,
- destCM.createCompatibleWritableRaster(src.getWidth(), src.getHeight()),
- destCM.isAlphaPremultiplied(),
- null);
+ Object destination = conversionSequence[nSpaces - 1];
+ ColorSpace dstCS = (destination instanceof ColorSpace) ? (ColorSpace)destination
+ : new ICC_ColorSpace((ICC_Profile)destination);
+
+ ColorModel srcCM = src.getColorModel();
+ ColorModel dstCM = new ComponentColorModel(dstCS, srcCM.hasAlpha(), srcCM
+ .isAlphaPremultiplied(), srcCM.getTransparency(), srcCM.getTransferType());
+
+ return new BufferedImage(dstCM, destCM.createCompatibleWritableRaster(src.getWidth(), src
+ .getHeight()), destCM.isAlphaPremultiplied(), null);
}
public final BufferedImage filter(BufferedImage src, BufferedImage dst) {
@@ -481,32 +491,31 @@ public class ColorConvertOp implements BufferedImageOp, RasterOp {
ColorModel srcCM = src.getColorModel();
// First handle index color model
- if (srcCM instanceof IndexColorModel) {
- src = ((IndexColorModel) srcCM).convertToIntDiscrete(src.getRaster(), false);
+ if (srcCM instanceof IndexColorModel) {
+ src = ((IndexColorModel)srcCM).convertToIntDiscrete(src.getRaster(), false);
}
- ColorSpace srcCS = srcCM.getColorSpace();
-
+ ColorSpace srcCS = srcCM.getColorSpace();
+
BufferedImage res;
boolean isDstIndex = false;
if (dst != null) {
-
- if (src.getWidth() != dst.getWidth() ||
- src.getHeight() != dst.getHeight()) {
- throw new IllegalArgumentException(Messages.getString("awt.263")); //$NON-NLS-1$
- }
+
+ if (src.getWidth() != dst.getWidth() || src.getHeight() != dst.getHeight()) {
+ throw new IllegalArgumentException(Messages.getString("awt.263")); //$NON-NLS-1$
+ }
if (dst.getColorModel() instanceof IndexColorModel) {
isDstIndex = true;
res = createCompatibleDestImage(src, null);
- } else {
+ } else {
res = dst;
- }
+ }
} else {
res = createCompatibleDestImage(src, null);
}
ColorModel dstCM = res.getColorModel();
ColorSpace dstCS = dstCM.getColorSpace();
-
+
ICC_Profile srcPf = null, dstPf = null;
if (srcCS instanceof ICC_ColorSpace) {
srcPf = ((ICC_ColorSpace)srcCS).getProfile();
@@ -514,31 +523,27 @@ public class ColorConvertOp implements BufferedImageOp, RasterOp {
if (dstCS instanceof ICC_ColorSpace) {
dstPf = ((ICC_ColorSpace)dstCS).getProfile();
}
-
+
boolean isFullICC = isICC && srcPf != null && dstPf != null;
-
+
if (isFullICC) {
- ICC_Transform t =
- tCreator.getTransform(srcPf, dstPf, (ICC_Profile[]) conversionSequence);
+ ICC_Transform t = tCreator
+ .getTransform(srcPf, dstPf, (ICC_Profile[])conversionSequence);
cc.translateColor(t, src, res);
} else { // Perform non-ICC transform
- Object sequence[] = tCreator.getSequence(
- srcPf == null ? (Object) srcCS : srcPf,
- dstPf == null ? (Object) dstCS : dstPf);
-
+ Object sequence[] = tCreator.getSequence(srcPf == null ? (Object)srcCS : srcPf,
+ dstPf == null ? (Object)dstCS : dstPf);
+
int srcW = src.getWidth();
int srcH = src.getHeight();
- int numPixels = srcW*srcH;
-
- // Load all pixel data into array tmpData
- float tmpData[][] =
- new float[numPixels][tCreator.maxComponents];
- for (int row=0, dataPos=0; row<srcW; row++) {
- for (int col=0; col<srcH; col++) {
- tmpData[dataPos] =
- srcCM.getNormalizedComponents(
- src.getRaster().getDataElements(row, col, null),
- tmpData[dataPos], 0);
+ int numPixels = srcW * srcH;
+
+ // Load all pixel data into array tmpData
+ float tmpData[][] = new float[numPixels][tCreator.maxComponents];
+ for (int row = 0, dataPos = 0; row < srcW; row++) {
+ for (int col = 0; col < srcH; col++) {
+ tmpData[dataPos] = srcCM.getNormalizedComponents(src.getRaster()
+ .getDataElements(row, col, null), tmpData[dataPos], 0);
dataPos++;
}
}
@@ -548,11 +553,11 @@ public class ColorConvertOp implements BufferedImageOp, RasterOp {
int alphaIdx = srcCM.numComponents - 1;
if (srcCM.hasAlpha() && dstCM.hasAlpha()) {
alpha = new float[numPixels];
- for (int i=0; i<numPixels; i++) {
+ for (int i = 0; i < numPixels; i++) {
alpha[i] = tmpData[i][alphaIdx];
}
}
-
+
// Translate colors
applySequence(sequence, tmpData, srcCS, dstCS);
@@ -560,24 +565,24 @@ public class ColorConvertOp implements BufferedImageOp, RasterOp {
if (dstCM.hasAlpha()) {
alphaIdx = dstCM.numComponents - 1;
if (alpha != null) {
- for (int i=0; i<numPixels; i++) {
+ for (int i = 0; i < numPixels; i++) {
tmpData[i][alphaIdx] = alpha[i];
- }
+ }
} else {
- for (int i=0; i<numPixels; i++) {
+ for (int i = 0; i < numPixels; i++) {
tmpData[i][alphaIdx] = 1f;
- }
+ }
}
}
-
- // Store data back to the image
- for (int row=0, dataPos=0; row<srcW; row++) {
- for (int col=0; col<srcH; col++) {
- res.getRaster().setDataElements(row, col,
- dstCM.getDataElements(tmpData[dataPos++], 0 , null));
+
+ // Store data back to the image
+ for (int row = 0, dataPos = 0; row < srcW; row++) {
+ for (int col = 0; col < srcH; col++) {
+ res.getRaster().setDataElements(row, col,
+ dstCM.getDataElements(tmpData[dataPos++], 0, null));
}
}
- }
+ }
if (isDstIndex) { // Convert image into indexed color
Graphics2D g2d = dst.createGraphics();
@@ -585,59 +590,59 @@ public class ColorConvertOp implements BufferedImageOp, RasterOp {
g2d.dispose();
return dst;
}
-
+
return res;
}
/**
* Apply sequence.
*
- * @param sequence the sequence
- * @param tmpData the tmp data
- * @param srcCS the src cs
- * @param dstCS the dst cs
+ * @param sequence
+ * the sequence.
+ * @param tmpData
+ * the tmp data.
+ * @param srcCS
+ * the src cs.
+ * @param dstCS
+ * the dst cs.
*/
- private void applySequence(
- Object sequence[],
- float tmpData[][],
- ColorSpace srcCS,
- ColorSpace dstCS
- ) {
+ private void applySequence(Object sequence[], float tmpData[][], ColorSpace srcCS,
+ ColorSpace dstCS) {
ColorSpace xyzCS = ColorSpace.getInstance(ColorSpace.CS_CIEXYZ);
-
+
int numPixels = tmpData.length;
-
+
// First transform...
if (sequence[0] instanceof ICC_Transform) { // ICC
ICC_Transform t = (ICC_Transform)sequence[0];
cc.translateColor(t, tmpData, srcCS, xyzCS, numPixels);
} else { // non ICC
- for (int k=0; k<numPixels; k++) {
- tmpData[k] = srcCS.toCIEXYZ(tmpData[k]);
+ for (int k = 0; k < numPixels; k++) {
+ tmpData[k] = srcCS.toCIEXYZ(tmpData[k]);
}
cc.loadScalingData(xyzCS); // prepare for scaling XYZ
}
-
+
for (Object element : sequence) {
if (element instanceof ICC_Transform) {
ICC_Transform t = (ICC_Transform)element;
cc.translateColor(t, tmpData, null, null, numPixels);
} else {
- ColorSpace cs = (ColorSpace) element;
- for (int k=0; k<numPixels; k++) {
+ ColorSpace cs = (ColorSpace)element;
+ for (int k = 0; k < numPixels; k++) {
tmpData[k] = cs.fromCIEXYZ(tmpData[k]);
- tmpData[k] = cs.toCIEXYZ(tmpData[k]);
+ tmpData[k] = cs.toCIEXYZ(tmpData[k]);
}
}
}
-
+
// Last transform...
- if (sequence[sequence.length-1] instanceof ICC_Transform) { // ICC
- ICC_Transform t = (ICC_Transform)sequence[sequence.length-1];
+ if (sequence[sequence.length - 1] instanceof ICC_Transform) { // ICC
+ ICC_Transform t = (ICC_Transform)sequence[sequence.length - 1];
cc.translateColor(t, tmpData, xyzCS, dstCS, numPixels);
} else { // non ICC
- for (int k=0; k<numPixels; k++) {
- tmpData[k] = dstCS.fromCIEXYZ(tmpData[k]);
+ for (int k = 0; k < numPixels; k++) {
+ tmpData[k] = dstCS.fromCIEXYZ(tmpData[k]);
}
}
}
@@ -647,38 +652,32 @@ public class ColorConvertOp implements BufferedImageOp, RasterOp {
dstPt.setLocation(srcPt);
return dstPt;
}
- return new Point2D.Float((float) srcPt.getX(), (float) srcPt.getY());
+ return new Point2D.Float((float)srcPt.getX(), (float)srcPt.getY());
}
public WritableRaster createCompatibleDestRaster(Raster src) {
int nComps = 0;
int nSpaces = conversionSequence.length;
-
+
if (nSpaces < 2) {
throw new IllegalArgumentException(Messages.getString("awt.261")); //$NON-NLS-1$
}
-
- Object lastCS = conversionSequence[nSpaces-1];
+
+ Object lastCS = conversionSequence[nSpaces - 1];
if (lastCS instanceof ColorSpace) {
- nComps = ((ColorSpace) lastCS).getNumComponents();
+ nComps = ((ColorSpace)lastCS).getNumComponents();
} else {
- nComps = ((ICC_Profile) lastCS).getNumComponents();
+ nComps = ((ICC_Profile)lastCS).getNumComponents();
}
-
+
// Calculate correct data type
int dstDataType = src.getDataBuffer().getDataType();
- if (dstDataType != DataBuffer.TYPE_BYTE &&
- dstDataType != DataBuffer.TYPE_SHORT) {
- dstDataType = DataBuffer.TYPE_SHORT;
- }
-
- return Raster.createInterleavedRaster(
- dstDataType,
- src.getWidth(),
- src.getHeight(),
- nComps,
- new Point(src.getMinX(), src.getMinY())
- );
+ if (dstDataType != DataBuffer.TYPE_BYTE && dstDataType != DataBuffer.TYPE_SHORT) {
+ dstDataType = DataBuffer.TYPE_SHORT;
+ }
+
+ return Raster.createInterleavedRaster(dstDataType, src.getWidth(), src.getHeight(), nComps,
+ new Point(src.getMinX(), src.getMinY()));
}
public final Rectangle2D getBounds2D(Raster src) {
@@ -690,13 +689,13 @@ public class ColorConvertOp implements BufferedImageOp, RasterOp {
}
/**
- * Gets an array of ICC_Profiles objects which constructs
- * this ColorConvertOp object or returns null if this ColorConvertOp
- * is not constructed from array of ICC_Profiles.
+ * Gets an array of ICC_Profiles objects which constructs this
+ * ColorConvertOp object or returns null if this ColorConvertOp is not
+ * constructed from array of ICC_Profiles.
*
- * @return an array of ICC_Profiles objects which constructs
- * this ColorConvertOp object or returns null if this ColorConvertOp
- * is not constructed from array of ICC_Profiles.
+ * @return an array of ICC_Profiles objects which constructs this
+ * ColorConvertOp object or returns null if this ColorConvertOp is
+ * not constructed from array of ICC_Profiles.
*/
public final ICC_Profile[] getICC_Profiles() {
if (midProfiles != null) {
@@ -707,5 +706,5 @@ public class ColorConvertOp implements BufferedImageOp, RasterOp {
public final RenderingHints getRenderingHints() {
return renderingHints;
- }
+ }
}
diff --git a/awt/java/awt/image/ColorModel.java b/awt/java/awt/image/ColorModel.java
index 945c087..1b084e1 100644
--- a/awt/java/awt/image/ColorModel.java
+++ b/awt/java/awt/image/ColorModel.java
@@ -18,6 +18,7 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import java.awt.Transparency;
@@ -27,62 +28,95 @@ import java.util.Arrays;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The Class ColorModel.
+ * The class ColorModel.
+ *
+ * @since Android 1.0
*/
public abstract class ColorModel implements Transparency {
- /** The pixel_bits. */
- protected int pixel_bits; // Pixel length in bits
+ /**
+ * The pixel_bits.
+ */
+ protected int pixel_bits; // Pixel length in bits
- /** The transfer type. */
+ /**
+ * The transfer type.
+ */
protected int transferType;
- /** The cs. */
+ /**
+ * The cs.
+ */
ColorSpace cs;
- /** The has alpha. */
+ /**
+ * The has alpha.
+ */
boolean hasAlpha;
- /** The is alpha premultiplied. */
+ /**
+ * The is alpha premultiplied.
+ */
boolean isAlphaPremultiplied;
- /** The transparency. */
+ /**
+ * The transparency.
+ */
int transparency;
- /** The num color components. */
+ /**
+ * The num color components.
+ */
int numColorComponents;
- /** The num components. */
+ /**
+ * The num components.
+ */
int numComponents;
- /** The bits. */
- int[] bits; // Array of components masks
+ /**
+ * The bits.
+ */
+ int[] bits; // Array of components masks
- /** The max values. */
+ /**
+ * The max values.
+ */
int[] maxValues = null; // Max values that may be represent by color
- // components
- /** The max bit length. */
- int maxBitLength; // Max length color components in bits
+ // components
- /** The RG bdefault. */
+ /**
+ * The max bit length.
+ */
+ int maxBitLength; // Max length color components in bits
+
+ /**
+ * The RG bdefault.
+ */
private static ColorModel RGBdefault;
/**
* Instantiates a new color model with the specified values.
*
- * @param pixel_bits the pixel length in bits
- * @param bits the array of component masks
- * @param cspace the colorspace
- * @param hasAlpha whether the color model has alpha
- * @param isAlphaPremultiplied whether the alpha is premultiplied
- * @param transparency the transparency strategy, @see java.awt.Transparency
- * @param transferType the transfer type (primitive java type
- * to use for the components)
- */
- protected ColorModel(int pixel_bits, int[] bits, ColorSpace cspace,
- boolean hasAlpha, boolean isAlphaPremultiplied, int transparency,
- int transferType) {
+ * @param pixel_bits
+ * the pixel length in bits.
+ * @param bits
+ * the array of component masks.
+ * @param cspace
+ * the color space.
+ * @param hasAlpha
+ * whether the color model has alpha.
+ * @param isAlphaPremultiplied
+ * whether the alpha is pre-multiplied.
+ * @param transparency
+ * the transparency strategy, @see java.awt.Transparency.
+ * @param transferType
+ * the transfer type (primitive java type to use for the
+ * components).
+ */
+ protected ColorModel(int pixel_bits, int[] bits, ColorSpace cspace, boolean hasAlpha,
+ boolean isAlphaPremultiplied, int transparency, int transferType) {
if (pixel_bits < 1) {
// awt.26B=The number of bits in the pixel values is less than 1
@@ -113,8 +147,7 @@ public abstract class ColorModel implements Transparency {
throw new IllegalArgumentException(Messages.getString("awt.26F")); //$NON-NLS-1$
}
- if (transparency < Transparency.OPAQUE ||
- transparency > Transparency.TRANSLUCENT) {
+ if (transparency < Transparency.OPAQUE || transparency > Transparency.TRANSLUCENT) {
// awt.270=The transparency is not a valid value
throw new IllegalArgumentException(Messages.getString("awt.270")); //$NON-NLS-1$
}
@@ -148,11 +181,12 @@ public abstract class ColorModel implements Transparency {
}
/**
- * Instantiates a new color model with the specified pixel bit depth.
- * The transferType is chosen based on the pixel bits, and the other
- * data fields are given default values.
+ * Instantiates a new color model with the specified pixel bit depth. The
+ * transferType is chosen based on the pixel bits, and the other data fields
+ * are given default values.
*
- * @param bits the array of component masks
+ * @param bits
+ * the array of component masks.
*/
public ColorModel(int bits) {
@@ -178,14 +212,17 @@ public abstract class ColorModel implements Transparency {
* Gets the data elements from the specified component array, transforming
* them according to rules of the color model.
*
- * @param components the components
- * @param offset the offset in the normComponents array
- * @param obj the array that the result is written to: an array of values
- * whose length must be the number of components used by the color model and
- * whose type depends on the transfer type (based on the pixel bit depth),
- * or null to have the appropriate array created
- *
- * @return the array of data elements
+ * @param components
+ * the components.
+ * @param offset
+ * the offset in the normComponents array.
+ * @param obj
+ * the array that the result is written to: an array of values
+ * whose length must be the number of components used by the
+ * color model and whose type depends on the transfer type (based
+ * on the pixel bit depth), or null to have the appropriate array
+ * created.
+ * @return the array of data elements.
*/
public Object getDataElements(int[] components, int offset, Object obj) {
throw new UnsupportedOperationException("This method is not " + //$NON-NLS-1$
@@ -195,33 +232,36 @@ public abstract class ColorModel implements Transparency {
/**
* Gets the data elements from the specified array of normalized components.
*
- * @param normComponents the array normalized components
- * @param normOffset the offset in the normComponents array
- * @param obj the array that the result is written to: an array of values
- * whose length must be the number of components used by the color model and
- * whose type depends on the transfer type (based on the pixel bit depth),
- * or null to have the appropriate array created
- *
- * @return the array of data elements
- */
- public Object getDataElements(float[] normComponents, int normOffset,
- Object obj) {
- int unnormComponents[] = getUnnormalizedComponents(normComponents,
- normOffset, null, 0);
+ * @param normComponents
+ * the array normalized components.
+ * @param normOffset
+ * the offset in the normComponents array.
+ * @param obj
+ * the array that the result is written to: an array of values
+ * whose length must be the number of components used by the
+ * color model and whose type depends on the transfer type (based
+ * on the pixel bit depth), or null to have the appropriate array
+ * created.
+ * @return the array of data elements.
+ */
+ public Object getDataElements(float[] normComponents, int normOffset, Object obj) {
+ int unnormComponents[] = getUnnormalizedComponents(normComponents, normOffset, null, 0);
return getDataElements(unnormComponents, 0, obj);
}
/**
- * Gets the data elements corresponding to the pixel determined by the
- * RGB data.
- *
- * @param rgb the rgb int that defines the pixel
- * @param pixel the array that the result is written to: an array of values
- * whose length must be the number of components used by the color model and
- * whose type depends on the transfer type (based on the pixel bit depth),
- * or null to have the appropriate array created
+ * Gets the data elements corresponding to the pixel determined by the RGB
+ * data.
*
- * @return the array of data elements
+ * @param rgb
+ * the RGB integer value that defines the pixel.
+ * @param pixel
+ * the array that the result is written to: an array of values
+ * whose length must be the number of components used by the
+ * color model and whose type depends on the transfer type (based
+ * on the pixel bit depth), or null to have the appropriate array
+ * created.
+ * @return the array of data elements.
*/
public Object getDataElements(int rgb, Object pixel) {
throw new UnsupportedOperationException("This method is not " + //$NON-NLS-1$
@@ -229,38 +269,38 @@ public abstract class ColorModel implements Transparency {
}
/**
- * Gets the child raster corresponding to the alpha channel of the
- * specified writable raster, or null if alpha is not supported.
+ * Gets the child raster corresponding to the alpha channel of the specified
+ * writable raster, or null if alpha is not supported.
*
- * @param raster the raster
- *
- * @return the alpha raster
+ * @param raster
+ * the raster.
+ * @return the alpha raster.
*/
public WritableRaster getAlphaRaster(WritableRaster raster) {
return null;
}
/**
- * Creates a new color model by coercing the data in the writable raster
- * in accordance with the alpha strategy of this color model.
- *
- * @param raster the raster
- * @param isAlphaPremultiplied whether the alpha is premultiplied in this
- * color model
+ * Creates a new color model by coercing the data in the writable raster in
+ * accordance with the alpha strategy of this color model.
*
- * @return the new color model
+ * @param raster
+ * the raster.
+ * @param isAlphaPremultiplied
+ * whether the alpha is pre-multiplied in this color model
+ * @return the new color model.
*/
- public ColorModel coerceData(WritableRaster raster,
- boolean isAlphaPremultiplied) {
+ public ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied) {
throw new UnsupportedOperationException("This method is not " + //$NON-NLS-1$
"supported by this ColorModel"); //$NON-NLS-1$
}
@Override
public String toString() {
- // The output format based on 1.5 release behaviour.
+ // The output format based on 1.5 release behavior.
// It could be reveled such way:
- // ColorModel cm = new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB,
+ // ColorModel cm = new
+ // ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB,
// false, false, Transparency.OPAQUE, DataBuffer.TYPE_BYTE);
// System.out.println(cm.toString());
return "ColorModel: Color Space = " + cs.toString() + "; has alpha = " //$NON-NLS-1$ //$NON-NLS-2$
@@ -274,15 +314,17 @@ public abstract class ColorModel implements Transparency {
/**
* Gets the components of the pixel determined by the data array.
*
- * @param pixel the data array that defines the pixel (whose
- * primitive type corresponds to the pixel length in bits,
+ * @param pixel
+ * the data array that defines the pixel (whose primitive type
+ * corresponds to the pixel length in bits.
* @see ColorModel#getTransferType()
- * @param components the the array where the resulting components
- * are written (or null to prompt the method to create the return array)
- * @param offset the offset that tells where the results should be written
- * in the return array
- *
- * @return the array of components
+ * @param components
+ * the the array where the resulting components are written (or
+ * null to prompt the method to create the return array).
+ * @param offset
+ * the offset that tells where the results should be written in
+ * the return array.
+ * @return the array of components.
*/
public int[] getComponents(Object pixel, int[] components, int offset) {
throw new UnsupportedOperationException("This method is not " + //$NON-NLS-1$
@@ -292,18 +334,20 @@ public abstract class ColorModel implements Transparency {
/**
* Gets the normalized components of the pixel determined by the data array.
*
- * @param pixel the data array that defines the pixel (whose
- * primitive type corresponds to the pixel length in bits,
+ * @param pixel
+ * the data array that defines the pixel (whose primitive type
+ * corresponds to the pixel length in bits.
* @see ColorModel#getTransferType()
- * @param normComponents the array where the resulting normalised components
- * are written (or null to prompt the method to create the return array)
- * @param normOffset the offset that tells where the results should be written
- * in the return array
- *
- * @return the array of normalized components
+ * @param normComponents
+ * the array where the resulting normalized components are
+ * written (or null to prompt the method to create the return
+ * array).
+ * @param normOffset
+ * the offset that tells where the results should be written in
+ * the return array.
+ * @return the array of normalized components.
*/
- public float[] getNormalizedComponents(Object pixel,
- float[] normComponents, int normOffset) {
+ public float[] getNormalizedComponents(Object pixel, float[] normComponents, int normOffset) {
if (pixel == null) {
// awt.294=pixel is null
@@ -311,8 +355,7 @@ public abstract class ColorModel implements Transparency {
}
int unnormComponents[] = getComponents(pixel, null, 0);
- return getNormalizedComponents(unnormComponents, 0, normComponents,
- normOffset);
+ return getNormalizedComponents(unnormComponents, 0, normComponents, normOffset);
}
@Override
@@ -320,54 +363,52 @@ public abstract class ColorModel implements Transparency {
if (!(obj instanceof ColorModel)) {
return false;
}
- ColorModel cm = (ColorModel) obj;
+ ColorModel cm = (ColorModel)obj;
- return (pixel_bits == cm.getPixelSize() &&
- transferType == cm.getTransferType() &&
- cs.getType() == cm.getColorSpace().getType() &&
- hasAlpha == cm.hasAlpha() &&
- isAlphaPremultiplied == cm.isAlphaPremultiplied() &&
- transparency == cm.getTransparency() &&
- numColorComponents == cm.getNumColorComponents() &&
- numComponents == cm.getNumComponents() &&
- Arrays.equals(bits, cm.getComponentSize()));
+ return (pixel_bits == cm.getPixelSize() && transferType == cm.getTransferType()
+ && cs.getType() == cm.getColorSpace().getType() && hasAlpha == cm.hasAlpha()
+ && isAlphaPremultiplied == cm.isAlphaPremultiplied()
+ && transparency == cm.getTransparency()
+ && numColorComponents == cm.getNumColorComponents()
+ && numComponents == cm.getNumComponents() && Arrays.equals(bits, cm
+ .getComponentSize()));
}
/**
* Gets the red component of the pixel determined by the data array.
*
- * @param inData the data array that defines the pixel (whose
- * primitive type corresponds to the pixel length in bits,
+ * @param inData
+ * the data array that defines the pixel (whose primitive type
+ * corresponds to the pixel length in bits.
* @see ColorModel#getTransferType()
- *
- * @return the red
+ * @return the red.
*/
public int getRed(Object inData) {
return getRed(constructPixel(inData));
}
/**
- * Gets the RGB int corresponding to the pixel defined by the data array.
+ * Gets the RGB integer value corresponding to the pixel defined by the data
+ * array.
*
- * @param inData the data array that defines the pixel (whose
- * primitive type corresponds to the pixel length in bits,
+ * @param inData
+ * the data array that defines the pixel (whose primitive type
+ * corresponds to the pixel length in bits.
* @see ColorModel#getTransferType()
- *
- * @return the int that gives the pixel's colors in RGB format
+ * @return the integer value that gives the pixel's colors in RGB format.
*/
public int getRGB(Object inData) {
- return (getAlpha(inData) << 24 | getRed(inData) << 16 |
- getGreen(inData) << 8 | getBlue(inData));
+ return (getAlpha(inData) << 24 | getRed(inData) << 16 | getGreen(inData) << 8 | getBlue(inData));
}
/**
* Gets the green component of the pixel defined by the data array.
*
- * @param inData the data array that defines the pixel (whose
- * primitive type corresponds to the pixel length in bits,
+ * @param inData
+ * the data array that defines the pixel (whose primitive type
+ * corresponds to the pixel length in bits.
* @see ColorModel#getTransferType()
- *
- * @return the green
+ * @return the green.
*/
public int getGreen(Object inData) {
return getGreen(constructPixel(inData));
@@ -376,11 +417,11 @@ public abstract class ColorModel implements Transparency {
/**
* Gets the blue component of the pixel defined by the data array.
*
- * @param inData the data array that defines the pixel (whose
- * primitive type corresponds to the pixel length in bits,
+ * @param inData
+ * the data array that defines the pixel (whose primitive type
+ * corresponds to the pixel length in bits.
* @see ColorModel#getTransferType()
- *
- * @return the blue
+ * @return the blue.
*/
public int getBlue(Object inData) {
return getBlue(constructPixel(inData));
@@ -389,11 +430,11 @@ public abstract class ColorModel implements Transparency {
/**
* Gets the alpha component of the pixel defined by the data array.
*
- * @param inData the data array that defines the pixel (whose
- * primitive type corresponds to the pixel length in bits,
+ * @param inData
+ * the data array that defines the pixel (whose primitive type
+ * corresponds to the pixel length in bits.
* @see ColorModel#getTransferType()
- *
- * @return the alpha
+ * @return the alpha.
*/
public int getAlpha(Object inData) {
return getAlpha(constructPixel(inData));
@@ -402,10 +443,11 @@ public abstract class ColorModel implements Transparency {
/**
* Creates a compatible writable raster.
*
- * @param w the width of the desired writable raster
- * @param h the height of the desired writable raster
- *
- * @return the writable raster
+ * @param w
+ * the width of the desired writable raster.
+ * @param h
+ * the height of the desired writable raster.
+ * @return the writable raster.
*/
public WritableRaster createCompatibleWritableRaster(int w, int h) {
throw new UnsupportedOperationException("This method is not " + //$NON-NLS-1$
@@ -415,9 +457,9 @@ public abstract class ColorModel implements Transparency {
/**
* Checks if the sample model is compatible with this color model.
*
- * @param sm the sample model
- *
- * @return true, if the sample model is compatible with this color model
+ * @param sm
+ * the sample model.
+ * @return true, if the sample model is compatible with this color model.
*/
public boolean isCompatibleSampleModel(SampleModel sm) {
throw new UnsupportedOperationException("This method is not " + //$NON-NLS-1$
@@ -427,10 +469,11 @@ public abstract class ColorModel implements Transparency {
/**
* Creates the compatible sample model.
*
- * @param w the width of the desired sample model
- * @param h the height of the desired sample model
- *
- * @return the sample model
+ * @param w
+ * the width of the desired sample model.
+ * @param h
+ * the height of the desired sample model.
+ * @return the sample model.
*/
public SampleModel createCompatibleSampleModel(int w, int h) {
throw new UnsupportedOperationException("This method is not " + //$NON-NLS-1$
@@ -440,9 +483,9 @@ public abstract class ColorModel implements Transparency {
/**
* Checks if the specified raster is compatible with this color model.
*
- * @param raster the raster to inspect
- *
- * @return true, if the raster is compatible with this color model
+ * @param raster
+ * the raster to inspect.
+ * @return true, if the raster is compatible with this color model.
*/
public boolean isCompatibleRaster(Raster raster) {
throw new UnsupportedOperationException("This method is not " + //$NON-NLS-1$
@@ -452,28 +495,32 @@ public abstract class ColorModel implements Transparency {
/**
* Gets the color space of this color model.
*
- * @return the color space
+ * @return the color space.
*/
public final ColorSpace getColorSpace() {
return cs;
}
/**
- * Gets the normalized components corresponding to the specified
+ * Gets the normalized components corresponding to the specified
* unnormalized components.
*
- * @param components the array of unnormalized components
- * @param offset the offset where the components should be read
- * from the array of unnormalized components
- * @param normComponents the array where the resulting normalised components
- * are written (or null to prompt the method to create the return array)
- * @param normOffset the offset that tells where the results should be written
- * in the return array
- *
- * @return the normalized components
- */
- public float[] getNormalizedComponents(int[] components, int offset,
- float normComponents[], int normOffset) {
+ * @param components
+ * the array of unnormalized components.
+ * @param offset
+ * the offset where the components should be read from the array
+ * of unnormalized components.
+ * @param normComponents
+ * the array where the resulting normalized components are
+ * written (or null to prompt the method to create the return
+ * array).
+ * @param normOffset
+ * the offset that tells where the results should be written in
+ * the return array.
+ * @return the normalized components.
+ */
+ public float[] getNormalizedComponents(int[] components, int offset, float normComponents[],
+ int normOffset) {
if (bits == null) {
// awt.26C=bits is null
throw new UnsupportedOperationException(Messages.getString("awt.26C")); //$NON-NLS-1$
@@ -484,14 +531,12 @@ public abstract class ColorModel implements Transparency {
}
if (hasAlpha && isAlphaPremultiplied) {
- float normAlpha =
- (float) components[offset + numColorComponents] /
- maxValues[numColorComponents];
+ float normAlpha = (float)components[offset + numColorComponents]
+ / maxValues[numColorComponents];
if (normAlpha != 0.0f) {
for (int i = 0; i < numColorComponents; i++) {
- normComponents[normOffset + i] =
- components[offset + i] /
- (normAlpha * maxValues[i]);
+ normComponents[normOffset + i] = components[offset + i]
+ / (normAlpha * maxValues[i]);
}
normComponents[normOffset + numColorComponents] = normAlpha;
} else {
@@ -501,9 +546,7 @@ public abstract class ColorModel implements Transparency {
}
} else {
for (int i = 0; i < numComponents; i++) {
- normComponents[normOffset + i] =
- (float) components[offset + i] /
- maxValues[i];
+ normComponents[normOffset + i] = (float)components[offset + i] / maxValues[i];
}
}
@@ -513,11 +556,12 @@ public abstract class ColorModel implements Transparency {
/**
* Gets the data element corresponding to the unnormalized components.
*
- * @param components the components
- * @param offset the offset to start reading the components from the
- * array of components
- *
- * @return the data element
+ * @param components
+ * the components.
+ * @param offset
+ * the offset to start reading the components from the array of
+ * components.
+ * @return the data element.
*/
public int getDataElement(int[] components, int offset) {
throw new UnsupportedOperationException("This method is not " + //$NON-NLS-1$
@@ -525,21 +569,25 @@ public abstract class ColorModel implements Transparency {
}
/**
- * Gets the unnormalized components corresponding to the specified
+ * Gets the unnormalized components corresponding to the specified
* normalized components.
*
- * @param normComponents the array of normalized components
- * @param normOffset the offset where the components should be read
- * from the array of normalized components
- * @param components the array where the resulting unnormalised components
- * are written (or null to prompt the method to create the return array)
- * @param offset the offset that tells where the results should be written
- * in the return array
- *
- * @return the unnormalized components
- */
- public int[] getUnnormalizedComponents(float normComponents[],
- int normOffset, int components[], int offset) {
+ * @param normComponents
+ * the array of normalized components.
+ * @param normOffset
+ * the offset where the components should be read from the array
+ * of normalized components.
+ * @param components
+ * the array where the resulting unnormalized components are
+ * written (or null to prompt the method to create the return
+ * array).
+ * @param offset
+ * the offset that tells where the results should be written in
+ * the return array.
+ * @return the unnormalized components.
+ */
+ public int[] getUnnormalizedComponents(float normComponents[], int normOffset,
+ int components[], int offset) {
if (bits == null) {
// awt.26C=bits is null
@@ -547,7 +595,8 @@ public abstract class ColorModel implements Transparency {
}
if (normComponents.length - normOffset < numComponents) {
- // awt.273=The length of normComponents minus normOffset is less than numComponents
+ // awt.273=The length of normComponents minus normOffset is less
+ // than numComponents
throw new IllegalArgumentException(Messages.getString("awt.273")); //$NON-NLS-1$
}
@@ -555,7 +604,8 @@ public abstract class ColorModel implements Transparency {
components = new int[numComponents + offset];
} else {
if (components.length - offset < numComponents) {
- // awt.272=The length of components minus offset is less than numComponents
+ // awt.272=The length of components minus offset is less than
+ // numComponents
throw new IllegalArgumentException(Messages.getString("awt.272")); //$NON-NLS-1$
}
}
@@ -563,17 +613,15 @@ public abstract class ColorModel implements Transparency {
if (hasAlpha && isAlphaPremultiplied) {
float alpha = normComponents[normOffset + numColorComponents];
for (int i = 0; i < numColorComponents; i++) {
- components[offset + i] = (int) (normComponents[normOffset + i]
- * maxValues[i] * alpha + 0.5f);
+ components[offset + i] = (int)(normComponents[normOffset + i] * maxValues[i]
+ * alpha + 0.5f);
}
- components[offset + numColorComponents] =
- (int) (normComponents[normOffset + numColorComponents] *
- maxValues[numColorComponents] + 0.5f);
+ components[offset + numColorComponents] = (int)(normComponents[normOffset
+ + numColorComponents]
+ * maxValues[numColorComponents] + 0.5f);
} else {
for (int i = 0; i < numComponents; i++) {
- components[offset + i] =
- (int) (normComponents[normOffset + i] *
- maxValues[i] + 0.5f);
+ components[offset + i] = (int)(normComponents[normOffset + i] * maxValues[i] + 0.5f);
}
}
@@ -583,30 +631,32 @@ public abstract class ColorModel implements Transparency {
/**
* Gets the data element corresponding to the normalized components.
*
- * @param normComponents the normalized components
- * @param normOffset the offset where the normalized components should
- * be read from the normalized component array
- *
- * @return the data element
+ * @param normComponents
+ * the normalized components.
+ * @param normOffset
+ * the offset where the normalized components should be read from
+ * the normalized component array.
+ * @return the data element.
*/
public int getDataElement(float normComponents[], int normOffset) {
- int unnormComponents[] = getUnnormalizedComponents(normComponents,
- normOffset, null, 0);
+ int unnormComponents[] = getUnnormalizedComponents(normComponents, normOffset, null, 0);
return getDataElement(unnormComponents, 0);
}
/**
- * Takes a pixel whose data is defined by an int, and writes the
- * corresponding components into the components array, starting
- * from the index offset.
+ * Takes a pixel whose data is defined by an integer, and writes the
+ * corresponding components into the components array, starting from the
+ * index offset.
*
- * @param pixel the pixel data
- * @param components the data array to write the components to (or
- * null to have the method create the return array)
- * @param offset the offset that determines where the results are
- * written in the components array
- *
- * @return the array of components corresponding to the pixel
+ * @param pixel
+ * the pixel data.
+ * @param components
+ * the data array to write the components to (or null to have the
+ * method create the return array).
+ * @param offset
+ * the offset that determines where the results are written in
+ * the components array.
+ * @return the array of components corresponding to the pixel.
*/
public int[] getComponents(int pixel, int components[], int offset) {
throw new UnsupportedOperationException("This method is not " + //$NON-NLS-1$
@@ -616,45 +666,45 @@ public abstract class ColorModel implements Transparency {
/**
* Gets the red component of the pixel determined by the pixel data.
*
- * @param pixel the pixel data
- *
- * @return the red component of the pixel
+ * @param pixel
+ * the pixel.
+ * @return the red component of the given pixel.
*/
public abstract int getRed(int pixel);
/**
- * Takes the pixel data and returns the int corresponding
- * to the pixel's color in RGB format.
- *
- * @param pixel the pixel data
+ * Takes the pixel data and returns the integer value corresponding to the
+ * pixel's color in RGB format.
*
- * @return the corresponding RGB int
+ * @param pixel
+ * the pixel data.
+ * @return the corresponding RGB integer value.
*/
public int getRGB(int pixel) {
- return (getAlpha(pixel) << 24 | getRed(pixel) << 16
- | getGreen(pixel) << 8 | getBlue(pixel));
+ return (getAlpha(pixel) << 24 | getRed(pixel) << 16 | getGreen(pixel) << 8 | getBlue(pixel));
}
/**
* Gets the green component of the pixel determined by the pixel data.
*
- * @param pixel the pixel data
- *
- * @return the green component of the pixel
+ * @param pixel
+ * the pixel.
+ * @return the green component of the given pixel.
*/
public abstract int getGreen(int pixel);
/**
* Gets the size of the desired component of this color model.
*
- * @param componentIdx the index that determines which component size to get
- *
- * @return the component size corresponding to the index
- *
- * @throws NullPointerException if this color model doesn't support
- * an array of separate components.
- * @throws ArrayIndexOutOfBoundsException if the index is negative or
- * greater than or equal to the number of components
+ * @param componentIdx
+ * the index that determines which component size to get.
+ * @return the component size corresponding to the index.
+ * @throws NullPointerException
+ * if this color model doesn't support an array of separate
+ * components.
+ * @throws ArrayIndexOutOfBoundsException
+ * if the index is negative or greater than or equal to the
+ * number of components.
*/
public int getComponentSize(int componentIdx) {
if (bits == null) {
@@ -663,7 +713,8 @@ public abstract class ColorModel implements Transparency {
}
if (componentIdx < 0 || componentIdx >= bits.length) {
- // awt.274=componentIdx is greater than the number of components or less than zero
+ // awt.274=componentIdx is greater than the number of components or
+ // less than zero
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.274")); //$NON-NLS-1$
}
@@ -673,25 +724,25 @@ public abstract class ColorModel implements Transparency {
/**
* Gets the blue component of the pixel determined by the pixel data.
*
- * @param pixel the pixel
- *
- * @return the blue component of the pixel
+ * @param pixel
+ * the pixel.
+ * @return the blue component of the given pixel.
*/
public abstract int getBlue(int pixel);
/**
* Gets the alpha component of the pixel determined by the pixel data.
*
- * @param pixel the pixel
- *
- * @return the alpha component of the pixel
+ * @param pixel
+ * the pixel.
+ * @return the alpha component of the given pixel.
*/
public abstract int getAlpha(int pixel);
/**
* Gets the array of sizes of the different components.
*
- * @return the array of sizes of the different components
+ * @return the array of sizes of the different components.
*/
public int[] getComponentSize() {
if (bits != null) {
@@ -701,9 +752,9 @@ public abstract class ColorModel implements Transparency {
}
/**
- * Checks if the alpha component is premultiplied.
+ * Checks if the alpha component is pre-multiplied.
*
- * @return true, if the alpha component is premultiplied
+ * @return true, if the alpha component is pre-multiplied.
*/
public final boolean isAlphaPremultiplied() {
return isAlphaPremultiplied;
@@ -712,7 +763,7 @@ public abstract class ColorModel implements Transparency {
/**
* Checks whether this color model supports alpha.
*
- * @return true, if this color model has alpha
+ * @return true, if this color model has alpha.
*/
public final boolean hasAlpha() {
return hasAlpha;
@@ -776,12 +827,12 @@ public abstract class ColorModel implements Transparency {
}
/**
- * Gets the transfer type, which is the type of Java primitive
- * value that corresponds to the bit length per pixel: either
- * {@link DataBuffer#TYPE_BYTE}, {@link DataBuffer#TYPE_USHORT},
+ * Gets the transfer type, which is the type of Java primitive value that
+ * corresponds to the bit length per pixel: either
+ * {@link DataBuffer#TYPE_BYTE}, {@link DataBuffer#TYPE_USHORT},
* {@link DataBuffer#TYPE_INT}, or {@link DataBuffer#TYPE_UNDEFINED}.
*
- * @return the transfer type
+ * @return the transfer type.
*/
public final int getTransferType() {
return transferType;
@@ -790,7 +841,7 @@ public abstract class ColorModel implements Transparency {
/**
* Gets the pixel size in bits.
*
- * @return the pixel size
+ * @return the pixel size.
*/
public int getPixelSize() {
return pixel_bits;
@@ -799,7 +850,7 @@ public abstract class ColorModel implements Transparency {
/**
* Gets the number of components of this color model.
*
- * @return the number of components
+ * @return the number of components.
*/
public int getNumComponents() {
return numComponents;
@@ -808,7 +859,7 @@ public abstract class ColorModel implements Transparency {
/**
* Gets the number of color components of this color model.
*
- * @return the number color components
+ * @return the number color components.
*/
public int getNumColorComponents() {
return numColorComponents;
@@ -817,12 +868,11 @@ public abstract class ColorModel implements Transparency {
/**
* Gets the default RGB color model.
*
- * @return the default RGB color model
+ * @return the default RGB color model.
*/
public static ColorModel getRGBdefault() {
if (RGBdefault == null) {
- RGBdefault = new DirectColorModel(32, 0x00ff0000, 0x0000ff00,
- 0x000000ff, 0xff000000);
+ RGBdefault = new DirectColorModel(32, 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000);
}
return RGBdefault;
}
@@ -830,66 +880,69 @@ public abstract class ColorModel implements Transparency {
/*
* Construct INT pixel representation from Object
* @param obj
- *
* @return
*/
/**
* Construct pixel.
*
- * @param obj the obj
- *
- * @return the int
+ * @param obj
+ * the obj.
+ * @return the int.
*/
private int constructPixel(Object obj) {
int pixel = 0;
switch (getTransferType()) {
- case DataBuffer.TYPE_BYTE:
- byte[] bPixel = (byte[]) obj;
- if(bPixel.length > 1) {
- // awt.275=This pixel representation is not suuported by tis Color Model
- throw new UnsupportedOperationException(Messages.getString("awt.275")); //$NON-NLS-1$
- }
- pixel = bPixel[0] & 0xff;
- break;
-
- case DataBuffer.TYPE_USHORT:
- short[] sPixel = (short[]) obj;
- if(sPixel.length > 1) {
- // awt.275=This pixel representation is not suuported by tis Color Model
- throw new UnsupportedOperationException(Messages.getString("awt.275")); //$NON-NLS-1$
- }
- pixel = sPixel[0] & 0xffff;
- break;
-
- case DataBuffer.TYPE_INT:
- int[] iPixel = (int[]) obj;
- if(iPixel.length > 1) {
- // awt.275=This pixel representation is not suuported by tis Color Model
- throw new UnsupportedOperationException(Messages.getString("awt.275")); //$NON-NLS-1$
- }
- pixel = iPixel[0];
- break;
+ case DataBuffer.TYPE_BYTE:
+ byte[] bPixel = (byte[])obj;
+ if (bPixel.length > 1) {
+ // awt.275=This pixel representation is not suuported by tis
+ // Color Model
+ throw new UnsupportedOperationException(Messages.getString("awt.275")); //$NON-NLS-1$
+ }
+ pixel = bPixel[0] & 0xff;
+ break;
+
+ case DataBuffer.TYPE_USHORT:
+ short[] sPixel = (short[])obj;
+ if (sPixel.length > 1) {
+ // awt.275=This pixel representation is not suuported by tis
+ // Color Model
+ throw new UnsupportedOperationException(Messages.getString("awt.275")); //$NON-NLS-1$
+ }
+ pixel = sPixel[0] & 0xffff;
+ break;
+
+ case DataBuffer.TYPE_INT:
+ int[] iPixel = (int[])obj;
+ if (iPixel.length > 1) {
+ // awt.275=This pixel representation is not suuported by tis
+ // Color Model
+ throw new UnsupportedOperationException(Messages.getString("awt.275")); //$NON-NLS-1$
+ }
+ pixel = iPixel[0];
+ break;
- default:
- // awt.22D=This transferType ( {0} ) is not supported by this color model
- throw new UnsupportedOperationException(Messages.getString("awt.22D", //$NON-NLS-1$
- transferType));
+ default:
+ // awt.22D=This transferType ( {0} ) is not supported by this
+ // color model
+ throw new UnsupportedOperationException(Messages.getString("awt.22D", //$NON-NLS-1$
+ transferType));
}
return pixel;
}
/**
- * Gets the transfer type, which is the type of Java primitive
- * value that corresponds to the bit length per pixel: either
- * {@link DataBuffer#TYPE_BYTE}, {@link DataBuffer#TYPE_USHORT},
+ * Gets the transfer type, which is the type of Java primitive value that
+ * corresponds to the bit length per pixel: either
+ * {@link DataBuffer#TYPE_BYTE}, {@link DataBuffer#TYPE_USHORT},
* {@link DataBuffer#TYPE_INT}, or {@link DataBuffer#TYPE_UNDEFINED}.
*
- * @param bits the array of component masks
- *
- * @return the transfer type
+ * @param bits
+ * the array of component masks.
+ * @return the transfer type.
*/
static int getTransferType(int bits) {
if (bits <= 8) {
diff --git a/awt/java/awt/image/ComponentColorModel.java b/awt/java/awt/image/ComponentColorModel.java
index a152f55..4328fd3 100644
--- a/awt/java/awt/image/ComponentColorModel.java
+++ b/awt/java/awt/image/ComponentColorModel.java
@@ -18,6 +18,7 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import java.awt.color.ColorSpace;
@@ -26,154 +27,202 @@ import org.apache.harmony.awt.gl.color.LUTColorConverter;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The Class ComponentColorModel represents a color model that is defined
- * in terms of its components.
+ * The Class ComponentColorModel represents a color model that is defined in
+ * terms of its components.
+ *
+ * @since Android 1.0
*/
public class ComponentColorModel extends ColorModel {
- /** The signed. */
- private boolean signed; // Pixel samples are signed.
- // Samples with TransferType DataBuffer.TYPE_BYTE,
- // DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT -
- // unsigned. Samples with others TransferType -
- // signed.
+ /**
+ * The signed.
+ */
+ private boolean signed; // Pixel samples are signed.
+
+ // Samples with TransferType DataBuffer.TYPE_BYTE,
+ // DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT -
+ // unsigned. Samples with others TransferType -
+ // signed.
- /** The integral. */
+ /**
+ * The integral.
+ */
private boolean integral; // Pixel samples are integral.
- // Samples with TransferType DataBuffer.TYPE_BYTE,
- // DataBuffer.TYPE_USHORT, DataBuffer.Short and
- // DataBuffer.TYPE_INT - integral.
- /** The scale factors. */
- private float scaleFactors[]; // Array of factors for reduction components
- // values into the form scaled from 0 to 255
+ // Samples with TransferType DataBuffer.TYPE_BYTE,
+ // DataBuffer.TYPE_USHORT, DataBuffer.Short and
+ // DataBuffer.TYPE_INT - integral.
- /** The donot support unnormalized. */
+ /**
+ * The scale factors.
+ */
+ private float scaleFactors[]; // Array of factors for reduction components
+
+ // values into the form scaled from 0 to 255
+
+ /**
+ * The donot support unnormalized.
+ */
private boolean donotSupportUnnormalized; // This Color Model don't support
- // unnormolized form
- /** The need alpha divide. */
+ // unnormolized form
+
+ /**
+ * The need alpha divide.
+ */
private boolean needAlphaDivide; // hasAlpha && isAlphaPremultiplied
- /** The calc value. */
- private boolean calcValue; // Value was culculated
+ /**
+ * The calc value.
+ */
+ private boolean calcValue; // Value was culculated
- /** The need scale. */
- private boolean needScale; // Normalized value need to scale
+ /**
+ * The need scale.
+ */
+ private boolean needScale; // Normalized value need to scale
- /** The min vals. */
- private float minVals[]; // Array of Min normalized values
+ /**
+ * The min vals.
+ */
+ private float minVals[]; // Array of Min normalized values
- /** The ranges. */
- private float ranges[]; // Array of range normalized values
+ /**
+ * The ranges.
+ */
+ private float ranges[]; // Array of range normalized values
- /** The alpha lut. */
- private byte alphaLUT[]; // Lookup table for scale alpha value
+ /**
+ * The alpha lut.
+ */
+ private byte alphaLUT[]; // Lookup table for scale alpha value
- /** The color lu ts. */
- private byte colorLUTs[][]; // Lookup tables for scale color values
+ /**
+ * The color lu ts.
+ */
+ private byte colorLUTs[][]; // Lookup tables for scale color values
- /** The from_ linea r_ rg b_ lut. */
- private byte from_LINEAR_RGB_LUT[]; // Lookup table for conversion from
- // Linear RGB Color Space into sRGB
+ /**
+ * The from_ linea r_ rg b_ lut.
+ */
+ private byte from_LINEAR_RGB_LUT[]; // Lookup table for conversion from
+
+ // Linear RGB Color Space into sRGB
+
+ /**
+ * The to_ linea r_8 rg b_ lut.
+ */
+ private byte to_LINEAR_8RGB_LUT[]; // Lookup table for conversion from
- /** The to_ linea r_8 rg b_ lut. */
- private byte to_LINEAR_8RGB_LUT[]; // Lookup table for conversion from
- // sRGB Color Space into Linear RGB
- // 8 bit
+ // sRGB Color Space into Linear RGB
+ // 8 bit
- /** The to_ linea r_16 rg b_ lut. */
+ /**
+ * The to_ linea r_16 rg b_ lut.
+ */
private short to_LINEAR_16RGB_LUT[]; // Lookup table for conversion from
- // sRGB Color Space into Linear RGB
- // 16 bit
- /** The LINEA r_ rg b_ length. */
- private int LINEAR_RGB_Length; // Linear RGB bit length
+ // sRGB Color Space into Linear RGB
+ // 16 bit
+
+ /**
+ * The LINEA r_ rg b_ length.
+ */
+ private int LINEAR_RGB_Length; // Linear RGB bit length
+
+ /**
+ * The factor.
+ */
+ private float fFactor; // Scale factor
- /** The factor. */
- private float fFactor; // Scale factor
+ /**
+ * The is_s rgb.
+ */
+ private boolean is_sRGB; // ColorModel has sRGB ColorSpace
- /** The is_s rgb. */
- private boolean is_sRGB; // ColorModel has sRGB ColorSpace
+ /**
+ * The is_ linea r_ rgb.
+ */
+ private boolean is_LINEAR_RGB; // Color Model has Linear RGB Color
- /** The is_ linea r_ rgb. */
- private boolean is_LINEAR_RGB; // Color Model has Linear RGB Color
- // Space
+ // Space
/**
* Instantiates a new component color model.
*
- * @param colorSpace the color space
- * @param bits the array of component masks
- * @param hasAlpha whether the color model has alpha
- * @param isAlphaPremultiplied whether the alpha is premultiplied
- * @param transparency the transparency strategy, @see java.awt.Transparency
- * @param transferType the transfer type (primitive java type
- * to use for the components)
+ * @param colorSpace
+ * the color space.
+ * @param bits
+ * the array of component masks.
+ * @param hasAlpha
+ * whether the color model has alpha.
+ * @param isAlphaPremultiplied
+ * whether the alpha is pre-multiplied.
+ * @param transparency
+ * the transparency strategy, @see java.awt.Transparency.
+ * @param transferType
+ * the transfer type (primitive java type to use for the
+ * components).
*/
- public ComponentColorModel(ColorSpace colorSpace, int bits[],
- boolean hasAlpha, boolean isAlphaPremultiplied, int transparency,
- int transferType) {
- super(createPixelBits(colorSpace, hasAlpha, transferType),
- validateBits(bits, colorSpace, hasAlpha, transferType),
- colorSpace, hasAlpha, isAlphaPremultiplied, transparency,
+ public ComponentColorModel(ColorSpace colorSpace, int bits[], boolean hasAlpha,
+ boolean isAlphaPremultiplied, int transparency, int transferType) {
+ super(createPixelBits(colorSpace, hasAlpha, transferType), validateBits(bits, colorSpace,
+ hasAlpha, transferType), colorSpace, hasAlpha, isAlphaPremultiplied, transparency,
transferType);
needScale = false;
switch (transferType) {
- case DataBuffer.TYPE_BYTE:
- case DataBuffer.TYPE_USHORT:
- case DataBuffer.TYPE_INT:
- signed = false;
- integral = true;
- donotSupportUnnormalized = false;
- scaleFactors = new float[numComponents];
- for (int i = 0; i < numColorComponents; i++) {
- scaleFactors[i] = 1.0f / maxValues[i];
- if (cs.getMinValue(i) != 0.0f || cs.getMaxValue(i) != 1.0f) {
- donotSupportUnnormalized = true;
+ case DataBuffer.TYPE_BYTE:
+ case DataBuffer.TYPE_USHORT:
+ case DataBuffer.TYPE_INT:
+ signed = false;
+ integral = true;
+ donotSupportUnnormalized = false;
+ scaleFactors = new float[numComponents];
+ for (int i = 0; i < numColorComponents; i++) {
+ scaleFactors[i] = 1.0f / maxValues[i];
+ if (cs.getMinValue(i) != 0.0f || cs.getMaxValue(i) != 1.0f) {
+ donotSupportUnnormalized = true;
+ }
}
- }
- if (hasAlpha) {
- maxValues[numColorComponents] =
- (1 << bits[numColorComponents]) - 1;
- scaleFactors[numColorComponents] =
- 1.0f / maxValues[numColorComponents];
- }
- break;
- case DataBuffer.TYPE_SHORT:
- signed = true;
- integral = true;
- donotSupportUnnormalized = true;
- scaleFactors = new float[numComponents];
- for (int i = 0; i < numComponents; i++) {
- maxValues[i] = Short.MAX_VALUE;
- scaleFactors[i] = 1.0f / maxValues[i];
- if (cs.getMinValue(i) != 0.0f || cs.getMaxValue(i) != 1.0f) {
- needScale = true;
+ if (hasAlpha) {
+ maxValues[numColorComponents] = (1 << bits[numColorComponents]) - 1;
+ scaleFactors[numColorComponents] = 1.0f / maxValues[numColorComponents];
}
- }
- if (needScale) {
- minVals = new float[numColorComponents];
- ranges = new float[numColorComponents];
- for (int i = 0; i < numColorComponents; i++) {
- minVals[i] = cs.getMinValue(i);
- ranges[i] = cs.getMaxValue(i) - minVals[i];
+ break;
+ case DataBuffer.TYPE_SHORT:
+ signed = true;
+ integral = true;
+ donotSupportUnnormalized = true;
+ scaleFactors = new float[numComponents];
+ for (int i = 0; i < numComponents; i++) {
+ maxValues[i] = Short.MAX_VALUE;
+ scaleFactors[i] = 1.0f / maxValues[i];
+ if (cs.getMinValue(i) != 0.0f || cs.getMaxValue(i) != 1.0f) {
+ needScale = true;
+ }
}
- }
- break;
- case DataBuffer.TYPE_FLOAT:
- case DataBuffer.TYPE_DOUBLE:
- signed = true;
- integral = false;
- donotSupportUnnormalized = true;
- break;
- default:
- // awt.215=transferType is not one of DataBuffer.TYPE_BYTE,
- // DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT,
- // DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, or
- // DataBuffer.TYPE_DOUBLE
- throw new IllegalArgumentException(Messages.getString("awt.215")); //$NON-NLS-1$
+ if (needScale) {
+ minVals = new float[numColorComponents];
+ ranges = new float[numColorComponents];
+ for (int i = 0; i < numColorComponents; i++) {
+ minVals[i] = cs.getMinValue(i);
+ ranges[i] = cs.getMaxValue(i) - minVals[i];
+ }
+ }
+ break;
+ case DataBuffer.TYPE_FLOAT:
+ case DataBuffer.TYPE_DOUBLE:
+ signed = true;
+ integral = false;
+ donotSupportUnnormalized = true;
+ break;
+ default:
+ // awt.215=transferType is not one of DataBuffer.TYPE_BYTE,
+ // DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT,
+ // DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, or
+ // DataBuffer.TYPE_DOUBLE
+ throw new IllegalArgumentException(Messages.getString("awt.215")); //$NON-NLS-1$
}
needAlphaDivide = hasAlpha && isAlphaPremultiplied;
@@ -183,36 +232,40 @@ public class ComponentColorModel extends ColorModel {
/**
* Instantiates a new component color model.
*
- * @param colorSpace the color space
- * @param hasAlpha whether the color model has alpha
- * @param isAlphaPremultiplied whether the alpha is premultiplied
- * @param transparency the transparency strategy, @see java.awt.Transparency
- * @param transferType the transfer type (primitive java type
- * to use for the components)
+ * @param colorSpace
+ * the color space.
+ * @param hasAlpha
+ * whether the color model has alpha.
+ * @param isAlphaPremultiplied
+ * whether the alpha is pre-multiplied.
+ * @param transparency
+ * the transparency strategy, @see java.awt.Transparency.
+ * @param transferType
+ * the transfer type (primitive java type to use for the
+ * components).
*/
public ComponentColorModel(ColorSpace colorSpace, boolean hasAlpha,
boolean isAlphaPremultiplied, int transparency, int transferType) {
-
- this(colorSpace,
- createPixelBitsArray(colorSpace, hasAlpha, transferType),
- hasAlpha,
- isAlphaPremultiplied,
- transparency,
- transferType);
+
+ this(colorSpace, createPixelBitsArray(colorSpace, hasAlpha, transferType), hasAlpha,
+ isAlphaPremultiplied, transparency, transferType);
}
/**
* Validate bits.
*
- * @param bits the bits
- * @param colorSpace the color space
- * @param hasAlpha the has alpha
- * @param transferType the transfer type
- *
- * @return the int[]
+ * @param bits
+ * the bits.
+ * @param colorSpace
+ * the color space.
+ * @param hasAlpha
+ * the has alpha.
+ * @param transferType
+ * the transfer type.
+ * @return the int[].
*/
- private static int[] validateBits(int bits[], ColorSpace colorSpace,
- boolean hasAlpha, int transferType) {
+ private static int[] validateBits(int bits[], ColorSpace colorSpace, boolean hasAlpha,
+ int transferType) {
if (bits != null) {
return bits;
}
@@ -235,14 +288,15 @@ public class ComponentColorModel extends ColorModel {
/**
* Creates the pixel bits.
*
- * @param colorSpace the color space
- * @param hasAlpha the has alpha
- * @param transferType the transfer type
- *
- * @return the int
+ * @param colorSpace
+ * the color space.
+ * @param hasAlpha
+ * the has alpha.
+ * @param transferType
+ * the transfer type.
+ * @return the int.
*/
- private static int createPixelBits(ColorSpace colorSpace, boolean hasAlpha,
- int transferType) {
+ private static int createPixelBits(ColorSpace colorSpace, boolean hasAlpha, int transferType) {
int numComponents = colorSpace.getNumComponents();
if (hasAlpha) {
numComponents++;
@@ -254,22 +308,24 @@ public class ComponentColorModel extends ColorModel {
/**
* Creates the pixel bits array.
*
- * @param colorSpace the color space
- * @param hasAlpha the has alpha
- * @param transferType the transfer type
- *
- * @return the int[]
+ * @param colorSpace
+ * the color space.
+ * @param hasAlpha
+ * the has alpha.
+ * @param transferType
+ * the transfer type.
+ * @return the int[].
*/
- private static int[] createPixelBitsArray(ColorSpace colorSpace,
- boolean hasAlpha, int transferType) {
-
+ private static int[] createPixelBitsArray(ColorSpace colorSpace, boolean hasAlpha,
+ int transferType) {
+
int numComponents = colorSpace.getNumComponents();
if (hasAlpha) {
numComponents++;
}
int bits[] = new int[numComponents];
- for(int i = 0; i < numComponents; i++){
+ for (int i = 0; i < numComponents; i++) {
bits[i] = DataBuffer.getDataTypeSize(transferType);
}
return bits;
@@ -278,217 +334,200 @@ public class ComponentColorModel extends ColorModel {
@Override
public Object getDataElements(int components[], int offset, Object obj) {
if (donotSupportUnnormalized) {
- // awt.213=This ComponentColorModel does not support the unnormalized form
+ // awt.213=This ComponentColorModel does not support the
+ // unnormalized form
throw new IllegalArgumentException(Messages.getString("awt.213")); //$NON-NLS-1$
}
if (offset + numComponents > components.length) {
- // awt.216=The components array is not large enough to hold all the color and alpha components
+ // awt.216=The components array is not large enough to hold all the
+ // color and alpha components
throw new IllegalArgumentException(Messages.getString("awt.216")); //$NON-NLS-1$
}
switch (transferType) {
- case DataBuffer.TYPE_BYTE:
- byte ba[];
- if (obj == null) {
- ba = new byte[numComponents];
- } else {
- ba = (byte[]) obj;
- }
- for (int i = 0, idx = offset; i < numComponents; i++, idx++) {
- ba[i] = (byte) components[idx];
- }
- return ba;
- case DataBuffer.TYPE_USHORT:
- short sa[];
- if (obj == null) {
- sa = new short[numComponents];
- } else {
- sa = (short[]) obj;
- }
- for (int i = 0, idx = offset; i < numComponents; i++, idx++) {
- sa[i] = (short) components[idx];
- }
- return sa;
- case DataBuffer.TYPE_INT:
- int ia[];
- if (obj == null) {
- ia = new int[numComponents];
- } else {
- ia = (int[]) obj;
- }
- for (int i = 0, idx = offset; i < numComponents; i++, idx++) {
- ia[i] = components[idx];
- }
- return ia;
- default:
- // awt.217=The transfer type of this ComponentColorModel is not one
- // of the following transfer types: DataBuffer.TYPE_BYTE,
- // DataBuffer.TYPE_USHORT, or DataBuffer.TYPE_INT
- throw new UnsupportedOperationException(Messages
- .getString("awt.217")); //$NON-NLS-1$
+ case DataBuffer.TYPE_BYTE:
+ byte ba[];
+ if (obj == null) {
+ ba = new byte[numComponents];
+ } else {
+ ba = (byte[])obj;
+ }
+ for (int i = 0, idx = offset; i < numComponents; i++, idx++) {
+ ba[i] = (byte)components[idx];
+ }
+ return ba;
+ case DataBuffer.TYPE_USHORT:
+ short sa[];
+ if (obj == null) {
+ sa = new short[numComponents];
+ } else {
+ sa = (short[])obj;
+ }
+ for (int i = 0, idx = offset; i < numComponents; i++, idx++) {
+ sa[i] = (short)components[idx];
+ }
+ return sa;
+ case DataBuffer.TYPE_INT:
+ int ia[];
+ if (obj == null) {
+ ia = new int[numComponents];
+ } else {
+ ia = (int[])obj;
+ }
+ for (int i = 0, idx = offset; i < numComponents; i++, idx++) {
+ ia[i] = components[idx];
+ }
+ return ia;
+ default:
+ // awt.217=The transfer type of this ComponentColorModel is not
+ // one
+ // of the following transfer types: DataBuffer.TYPE_BYTE,
+ // DataBuffer.TYPE_USHORT, or DataBuffer.TYPE_INT
+ throw new UnsupportedOperationException(Messages.getString("awt.217")); //$NON-NLS-1$
}
}
@Override
- public Object getDataElements(float normComponents[], int normOffset,
- Object obj) {
+ public Object getDataElements(float normComponents[], int normOffset, Object obj) {
if (needScale) {
for (int i = 0, idx = 0; i < numColorComponents; i++, idx++) {
- normComponents[idx] =
- (normComponents[idx] - minVals[i]) / ranges[i];
+ normComponents[idx] = (normComponents[idx] - minVals[i]) / ranges[i];
}
}
switch (transferType) {
- case DataBuffer.TYPE_BYTE:
- byte ba[];
- if (obj == null) {
- ba = new byte[numComponents];
- } else {
- ba = (byte[]) obj;
- }
-
- if (needAlphaDivide) {
- float alpha = normComponents[normOffset + numColorComponents];
- for (int i = 0, idx = normOffset; i < numColorComponents;
- i++, idx++) {
- ba[i] = (byte) (normComponents[idx] * alpha *
- maxValues[i] + 0.5f);
- }
- ba[numColorComponents] =
- (byte) (normComponents[normOffset + numColorComponents] *
- maxValues[numColorComponents] + 0.5f);
- } else {
- for (int i = 0, idx = normOffset; i < numComponents;
- i++, idx++) {
- ba[idx] =
- (byte) (normComponents[idx] * maxValues[i] + 0.5f);
+ case DataBuffer.TYPE_BYTE:
+ byte ba[];
+ if (obj == null) {
+ ba = new byte[numComponents];
+ } else {
+ ba = (byte[])obj;
}
- }
- return ba;
- case DataBuffer.TYPE_USHORT:
- short usa[];
- if (obj == null) {
- usa = new short[numComponents];
- } else {
- usa = (short[]) obj;
- }
-
- if (needAlphaDivide) {
- float alpha = normComponents[normOffset + numColorComponents];
- for (int i = 0, idx = 0; i < numColorComponents; i++, idx++) {
- usa[i] = (short) (normComponents[idx] * alpha *
- maxValues[i] + 0.5f);
- }
- usa[numColorComponents] = (short) (alpha *
- maxValues[numColorComponents] + 0.5f);
- } else {
- for (int i = 0, idx = normOffset; i < numComponents;
- i++, idx++) {
- usa[i] = (short) (normComponents[idx] *
- maxValues[i] + 0.5f);
+ if (needAlphaDivide) {
+ float alpha = normComponents[normOffset + numColorComponents];
+ for (int i = 0, idx = normOffset; i < numColorComponents; i++, idx++) {
+ ba[i] = (byte)(normComponents[idx] * alpha * maxValues[i] + 0.5f);
+ }
+ ba[numColorComponents] = (byte)(normComponents[normOffset + numColorComponents]
+ * maxValues[numColorComponents] + 0.5f);
+ } else {
+ for (int i = 0, idx = normOffset; i < numComponents; i++, idx++) {
+ ba[idx] = (byte)(normComponents[idx] * maxValues[i] + 0.5f);
+ }
}
- }
- return usa;
+ return ba;
- case DataBuffer.TYPE_INT:
- int ia[];
- if (obj == null) {
- ia = new int[numComponents];
- } else {
- ia = (int[]) obj;
- }
-
- if (needAlphaDivide) {
- float alpha = normComponents[normOffset + numColorComponents];
- for (int i = 0, idx = 0; i < numColorComponents; i++, idx++) {
- ia[i] = (int) (normComponents[idx] * alpha *
- maxValues[i] + 0.5f);
- }
- ia[numColorComponents] = (int) (alpha *
- maxValues[numColorComponents] + 0.5f);
- } else {
- for (int i = 0, idx = normOffset; i < numComponents;
- i++, idx++) {
- ia[i] = (int) (normComponents[idx] * maxValues[i] + 0.5f);
+ case DataBuffer.TYPE_USHORT:
+ short usa[];
+ if (obj == null) {
+ usa = new short[numComponents];
+ } else {
+ usa = (short[])obj;
}
- }
- return ia;
- case DataBuffer.TYPE_SHORT:
- short sa[];
- if (obj == null) {
- sa = new short[numComponents];
- } else {
- sa = (short[]) obj;
- }
+ if (needAlphaDivide) {
+ float alpha = normComponents[normOffset + numColorComponents];
+ for (int i = 0, idx = 0; i < numColorComponents; i++, idx++) {
+ usa[i] = (short)(normComponents[idx] * alpha * maxValues[i] + 0.5f);
+ }
+ usa[numColorComponents] = (short)(alpha * maxValues[numColorComponents] + 0.5f);
+ } else {
+ for (int i = 0, idx = normOffset; i < numComponents; i++, idx++) {
+ usa[i] = (short)(normComponents[idx] * maxValues[i] + 0.5f);
+ }
+ }
+ return usa;
- if (needAlphaDivide) {
- float alpha = normComponents[normOffset + numColorComponents];
- for (int i = 0, idx = 0; i < numColorComponents; i++, idx++) {
- sa[i] = (short) (normComponents[idx] * alpha *
- maxValues[i] + 0.5f);
+ case DataBuffer.TYPE_INT:
+ int ia[];
+ if (obj == null) {
+ ia = new int[numComponents];
+ } else {
+ ia = (int[])obj;
}
- sa[numColorComponents] = (short) (alpha *
- maxValues[numColorComponents] + 0.5f);
- } else {
- for (int i = 0, idx = normOffset; i < numComponents;
- i++, idx++) {
- sa[i] = (short) (normComponents[idx] *
- maxValues[i] + 0.5f);
+
+ if (needAlphaDivide) {
+ float alpha = normComponents[normOffset + numColorComponents];
+ for (int i = 0, idx = 0; i < numColorComponents; i++, idx++) {
+ ia[i] = (int)(normComponents[idx] * alpha * maxValues[i] + 0.5f);
+ }
+ ia[numColorComponents] = (int)(alpha * maxValues[numColorComponents] + 0.5f);
+ } else {
+ for (int i = 0, idx = normOffset; i < numComponents; i++, idx++) {
+ ia[i] = (int)(normComponents[idx] * maxValues[i] + 0.5f);
+ }
}
- }
- return sa;
+ return ia;
- case DataBuffer.TYPE_FLOAT:
- float fa[];
- if (obj == null) {
- fa = new float[numComponents];
- } else {
- fa = (float[]) obj;
- }
+ case DataBuffer.TYPE_SHORT:
+ short sa[];
+ if (obj == null) {
+ sa = new short[numComponents];
+ } else {
+ sa = (short[])obj;
+ }
- if (needAlphaDivide) {
- float alpha = normComponents[normOffset + numColorComponents];
- for (int i = 0, idx = 0; i < numColorComponents; i++, idx++) {
- fa[i] = normComponents[idx] * alpha;
+ if (needAlphaDivide) {
+ float alpha = normComponents[normOffset + numColorComponents];
+ for (int i = 0, idx = 0; i < numColorComponents; i++, idx++) {
+ sa[i] = (short)(normComponents[idx] * alpha * maxValues[i] + 0.5f);
+ }
+ sa[numColorComponents] = (short)(alpha * maxValues[numColorComponents] + 0.5f);
+ } else {
+ for (int i = 0, idx = normOffset; i < numComponents; i++, idx++) {
+ sa[i] = (short)(normComponents[idx] * maxValues[i] + 0.5f);
+ }
}
- fa[numColorComponents] = alpha;
- } else {
- for (int i = 0, idx = normOffset; i < numComponents;
- i++, idx++) {
- fa[i] = normComponents[idx];
+ return sa;
+
+ case DataBuffer.TYPE_FLOAT:
+ float fa[];
+ if (obj == null) {
+ fa = new float[numComponents];
+ } else {
+ fa = (float[])obj;
}
- }
- return fa;
- case DataBuffer.TYPE_DOUBLE:
- double da[];
- if (obj == null) {
- da = new double[numComponents];
- } else {
- da = (double[]) obj;
- }
+ if (needAlphaDivide) {
+ float alpha = normComponents[normOffset + numColorComponents];
+ for (int i = 0, idx = 0; i < numColorComponents; i++, idx++) {
+ fa[i] = normComponents[idx] * alpha;
+ }
+ fa[numColorComponents] = alpha;
+ } else {
+ for (int i = 0, idx = normOffset; i < numComponents; i++, idx++) {
+ fa[i] = normComponents[idx];
+ }
+ }
+ return fa;
- if (needAlphaDivide) {
- double alpha = normComponents[normOffset + numColorComponents];
- for (int i = 0, idx = 0; i < numColorComponents; i++, idx++) {
- da[i] = normComponents[idx] * alpha;
+ case DataBuffer.TYPE_DOUBLE:
+ double da[];
+ if (obj == null) {
+ da = new double[numComponents];
+ } else {
+ da = (double[])obj;
}
- da[numColorComponents] = alpha;
- } else {
- for (int i = 0, idx = normOffset; i < numComponents;
- i++, idx++) {
- da[i] = normComponents[idx];
+
+ if (needAlphaDivide) {
+ double alpha = normComponents[normOffset + numColorComponents];
+ for (int i = 0, idx = 0; i < numColorComponents; i++, idx++) {
+ da[i] = normComponents[idx] * alpha;
+ }
+ da[numColorComponents] = alpha;
+ } else {
+ for (int i = 0, idx = normOffset; i < numComponents; i++, idx++) {
+ da[i] = normComponents[idx];
+ }
}
- }
- return da;
+ return da;
- default:
- // awt.213=This ComponentColorModel does not support the unnormalized form
- throw new IllegalArgumentException(Messages.getString("awt.213")); //$NON-NLS-1$
+ default:
+ // awt.213=This ComponentColorModel does not support the
+ // unnormalized form
+ throw new IllegalArgumentException(Messages.getString("awt.213")); //$NON-NLS-1$
}
}
@@ -544,7 +583,7 @@ public class ComponentColorModel extends ColorModel {
normComp[numColorComponents] = normAlpha;
}
}
- if(hasAlpha && isAlphaPremultiplied){
+ if (hasAlpha && isAlphaPremultiplied) {
normComp[0] *= normComp[numColorComponents];
normComp[1] *= normComp[numColorComponents];
normComp[2] *= normComp[numColorComponents];
@@ -555,7 +594,7 @@ public class ComponentColorModel extends ColorModel {
@Override
public WritableRaster getAlphaRaster(WritableRaster raster) {
- if(!hasAlpha) {
+ if (!hasAlpha) {
return null;
}
@@ -564,13 +603,12 @@ public class ComponentColorModel extends ColorModel {
int bandList[] = new int[1];
bandList[0] = raster.getNumBands() - 1;
- return raster.createWritableChild(x, y, raster.getWidth(),
- raster.getHeight(), x, y, bandList);
+ return raster.createWritableChild(x, y, raster.getWidth(), raster.getHeight(), x, y,
+ bandList);
}
@Override
- public ColorModel coerceData(WritableRaster raster,
- boolean isAlphaPremultiplied) {
+ public ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied) {
if (!hasAlpha || this.isAlphaPremultiplied == isAlphaPremultiplied) {
return this;
}
@@ -582,333 +620,311 @@ public class ComponentColorModel extends ColorModel {
if (isAlphaPremultiplied) {
switch (transferType) {
- case DataBuffer.TYPE_BYTE:
- case DataBuffer.TYPE_USHORT:
- case DataBuffer.TYPE_INT:
- float alphaFactor = maxValues[numColorComponents];
- int iComponents[] = null;
- int iTransparentComponents[] = new int[numComponents];
- for (int i = 0; i < h; i++, minY++) {
- for (int j = 0, x = minX; j < w; j++, x++) {
- iComponents = raster.getPixel(x, minY,
- iComponents);
- if (iComponents[numColorComponents] == 0) {
- raster.setPixel(x, minY, iTransparentComponents);
- } else {
- float alpha =
- iComponents[numColorComponents] /
- alphaFactor;
- for (int n = 0; n < numColorComponents; n++) {
- iComponents[n] =
- (int) (alpha * iComponents[n] + 0.5f);
+ case DataBuffer.TYPE_BYTE:
+ case DataBuffer.TYPE_USHORT:
+ case DataBuffer.TYPE_INT:
+ float alphaFactor = maxValues[numColorComponents];
+ int iComponents[] = null;
+ int iTransparentComponents[] = new int[numComponents];
+ for (int i = 0; i < h; i++, minY++) {
+ for (int j = 0, x = minX; j < w; j++, x++) {
+ iComponents = raster.getPixel(x, minY, iComponents);
+ if (iComponents[numColorComponents] == 0) {
+ raster.setPixel(x, minY, iTransparentComponents);
+ } else {
+ float alpha = iComponents[numColorComponents] / alphaFactor;
+ for (int n = 0; n < numColorComponents; n++) {
+ iComponents[n] = (int)(alpha * iComponents[n] + 0.5f);
+ }
+ raster.setPixel(x, minY, iComponents);
}
- raster.setPixel(x, minY, iComponents);
}
- }
-
- }
- break;
- case DataBuffer.TYPE_SHORT:
- float sAlphaFactor = maxValues[numColorComponents];
- short sComponents[] = null;
- short sTransparentComponents[] = new short[numComponents];
- for (int i = 0; i < h; i++, minY++) {
- for (int j = 0, x = minX; j < w; j++, x++) {
- sComponents = (short[]) raster.getDataElements(x, minY,
- sComponents);
- if (sComponents[numColorComponents] == 0) {
- raster.setDataElements(x, minY,
- sTransparentComponents);
- } else {
- float alpha =
- sComponents[numColorComponents] /
- sAlphaFactor;
- for (int n = 0; n < numColorComponents; n++) {
- sComponents[n] =
- (byte) (alpha * sComponents[n] + 0.5f);
+ }
+ break;
+
+ case DataBuffer.TYPE_SHORT:
+ float sAlphaFactor = maxValues[numColorComponents];
+ short sComponents[] = null;
+ short sTransparentComponents[] = new short[numComponents];
+ for (int i = 0; i < h; i++, minY++) {
+ for (int j = 0, x = minX; j < w; j++, x++) {
+ sComponents = (short[])raster.getDataElements(x, minY, sComponents);
+ if (sComponents[numColorComponents] == 0) {
+ raster.setDataElements(x, minY, sTransparentComponents);
+ } else {
+ float alpha = sComponents[numColorComponents] / sAlphaFactor;
+ for (int n = 0; n < numColorComponents; n++) {
+ sComponents[n] = (byte)(alpha * sComponents[n] + 0.5f);
+ }
+ raster.setDataElements(x, minY, sComponents);
}
- raster.setDataElements(x, minY, sComponents);
}
- }
-
- }
- break;
- case DataBuffer.TYPE_FLOAT:
- float fComponents[] = null;
- float fTransparentComponents[] = new float[numComponents];
- for (int i = 0; i < h; i++, minY++) {
- for (int j = 0, x = minX; j < w; j++, x++) {
- fComponents = raster.getPixel(x, minY, fComponents);
- if (fComponents[numColorComponents] == 0.0f) {
- raster.setDataElements(x, minY,
- fTransparentComponents);
- } else {
- float alpha = fComponents[numColorComponents];
- for (int n = 0; n < numColorComponents; n++) {
- fComponents[n] = fComponents[n] * alpha;
+ }
+ break;
+
+ case DataBuffer.TYPE_FLOAT:
+ float fComponents[] = null;
+ float fTransparentComponents[] = new float[numComponents];
+ for (int i = 0; i < h; i++, minY++) {
+ for (int j = 0, x = minX; j < w; j++, x++) {
+ fComponents = raster.getPixel(x, minY, fComponents);
+ if (fComponents[numColorComponents] == 0.0f) {
+ raster.setDataElements(x, minY, fTransparentComponents);
+ } else {
+ float alpha = fComponents[numColorComponents];
+ for (int n = 0; n < numColorComponents; n++) {
+ fComponents[n] = fComponents[n] * alpha;
+ }
+ raster.setPixel(x, minY, fComponents);
}
- raster.setPixel(x, minY, fComponents);
}
- }
- }
- break;
-
- case DataBuffer.TYPE_DOUBLE:
- double dComponents[] = null;
- double dTransparentComponents[] = new double[numComponents];
- for (int i = 0; i < h; i++, minY++) {
- for (int j = 0, x = minX; j < w; j++, x++) {
- dComponents = raster.getPixel(x, minY, dComponents);
- if (dComponents[numColorComponents] == 0.0) {
- raster.setPixel(x, minY, dTransparentComponents);
- } else {
- double alpha = dComponents[numColorComponents];
- for (int n = 0; n < numColorComponents; n++) {
- dComponents[n] = dComponents[n] * alpha;
+ }
+ break;
+
+ case DataBuffer.TYPE_DOUBLE:
+ double dComponents[] = null;
+ double dTransparentComponents[] = new double[numComponents];
+ for (int i = 0; i < h; i++, minY++) {
+ for (int j = 0, x = minX; j < w; j++, x++) {
+ dComponents = raster.getPixel(x, minY, dComponents);
+ if (dComponents[numColorComponents] == 0.0) {
+ raster.setPixel(x, minY, dTransparentComponents);
+ } else {
+ double alpha = dComponents[numColorComponents];
+ for (int n = 0; n < numColorComponents; n++) {
+ dComponents[n] = dComponents[n] * alpha;
+ }
+ raster.setPixel(x, minY, dComponents);
}
- raster.setPixel(x, minY, dComponents);
}
- }
- }
- break;
+ }
+ break;
- default:
- // awt.219=This transferType is not supported by this color model
- throw new UnsupportedOperationException(Messages.getString("awt.219")); //$NON-NLS-1$
+ default:
+ // awt.219=This transferType is not supported by this color
+ // model
+ throw new UnsupportedOperationException(Messages.getString("awt.219")); //$NON-NLS-1$
}
} else {
switch (transferType) {
- case DataBuffer.TYPE_BYTE:
- case DataBuffer.TYPE_USHORT:
- case DataBuffer.TYPE_INT:
- float alphaFactor = maxValues[numColorComponents];
- int iComponents[] = null;
- int iTransparentComponents[] = new int[numComponents];
- for (int i = 0; i < h; i++, minY++) {
- for (int j = 0, x = minX; j < w; j++, x++) {
- iComponents = raster.getPixel(x, minY,
- iComponents);
- if (iComponents[numColorComponents] == 0) {
- raster.setPixel(x, minY, iTransparentComponents);
- } else {
- float alpha =
- iComponents[numColorComponents] /
- alphaFactor;
- for (int n = 0; n < numColorComponents; n++) {
- iComponents[n] =
- (int) (iComponents[n] /
- alpha + 0.5f);
+ case DataBuffer.TYPE_BYTE:
+ case DataBuffer.TYPE_USHORT:
+ case DataBuffer.TYPE_INT:
+ float alphaFactor = maxValues[numColorComponents];
+ int iComponents[] = null;
+ int iTransparentComponents[] = new int[numComponents];
+ for (int i = 0; i < h; i++, minY++) {
+ for (int j = 0, x = minX; j < w; j++, x++) {
+ iComponents = raster.getPixel(x, minY, iComponents);
+ if (iComponents[numColorComponents] == 0) {
+ raster.setPixel(x, minY, iTransparentComponents);
+ } else {
+ float alpha = iComponents[numColorComponents] / alphaFactor;
+ for (int n = 0; n < numColorComponents; n++) {
+ iComponents[n] = (int)(iComponents[n] / alpha + 0.5f);
+ }
+ raster.setPixel(x, minY, iComponents);
}
- raster.setPixel(x, minY, iComponents);
}
- }
- }
- break;
-
- case DataBuffer.TYPE_SHORT:
- float sAlphaFactor = maxValues[numColorComponents];
- short sComponents[] = null;
- short sTransparentComponents[] = new short[numComponents];
- for (int i = 0; i < h; i++, minY++) {
- for (int j = 0, x = minX; j < w; j++, x++) {
- sComponents = (short[]) raster.getDataElements(x, minY,
- sComponents);
- if (sComponents[numColorComponents] == 0) {
- raster.setDataElements(x, minY,
- sTransparentComponents);
- } else {
- float alpha =
- sComponents[numColorComponents] /
- sAlphaFactor;
- for (int n = 0; n < numColorComponents; n++) {
- sComponents[n] =
- (byte) (sComponents[n] /
- alpha + 0.5f);
+ }
+ break;
+
+ case DataBuffer.TYPE_SHORT:
+ float sAlphaFactor = maxValues[numColorComponents];
+ short sComponents[] = null;
+ short sTransparentComponents[] = new short[numComponents];
+ for (int i = 0; i < h; i++, minY++) {
+ for (int j = 0, x = minX; j < w; j++, x++) {
+ sComponents = (short[])raster.getDataElements(x, minY, sComponents);
+ if (sComponents[numColorComponents] == 0) {
+ raster.setDataElements(x, minY, sTransparentComponents);
+ } else {
+ float alpha = sComponents[numColorComponents] / sAlphaFactor;
+ for (int n = 0; n < numColorComponents; n++) {
+ sComponents[n] = (byte)(sComponents[n] / alpha + 0.5f);
+ }
+ raster.setDataElements(x, minY, sComponents);
}
- raster.setDataElements(x, minY, sComponents);
}
- }
- }
- break;
-
- case DataBuffer.TYPE_FLOAT:
- float fComponents[] = null;
- float fTransparentComponents[] = new float[numComponents];
- for (int i = 0; i < h; i++, minY++) {
- for (int j = 0, x = minX; j < w; j++, x++) {
- fComponents = raster.getPixel(x, minY, fComponents);
- if (fComponents[numColorComponents] == 0.0f) {
- raster.setDataElements(x, minY,
- fTransparentComponents);
- } else {
- float alpha = fComponents[numColorComponents];
- for (int n = 0; n < numColorComponents; n++) {
- fComponents[n] = fComponents[n] / alpha;
+ }
+ break;
+
+ case DataBuffer.TYPE_FLOAT:
+ float fComponents[] = null;
+ float fTransparentComponents[] = new float[numComponents];
+ for (int i = 0; i < h; i++, minY++) {
+ for (int j = 0, x = minX; j < w; j++, x++) {
+ fComponents = raster.getPixel(x, minY, fComponents);
+ if (fComponents[numColorComponents] == 0.0f) {
+ raster.setDataElements(x, minY, fTransparentComponents);
+ } else {
+ float alpha = fComponents[numColorComponents];
+ for (int n = 0; n < numColorComponents; n++) {
+ fComponents[n] = fComponents[n] / alpha;
+ }
+ raster.setPixel(x, minY, fComponents);
}
- raster.setPixel(x, minY, fComponents);
}
- }
-
- }
- break;
- case DataBuffer.TYPE_DOUBLE:
- double dComponents[] = null;
- double dTransparentComponents[] = new double[numComponents];
- for (int i = 0; i < h; i++, minY++) {
- for (int j = 0, x = minX; j < w; j++, x++) {
- dComponents = raster.getPixel(x, minY, dComponents);
- if (dComponents[numColorComponents] == 0.0) {
- raster.setPixel(x, minY, dTransparentComponents);
- } else {
- double alpha = dComponents[numColorComponents];
- for (int n = 0; n < numColorComponents; n++) {
- dComponents[n] = dComponents[n] / alpha;
+ }
+ break;
+
+ case DataBuffer.TYPE_DOUBLE:
+ double dComponents[] = null;
+ double dTransparentComponents[] = new double[numComponents];
+ for (int i = 0; i < h; i++, minY++) {
+ for (int j = 0, x = minX; j < w; j++, x++) {
+ dComponents = raster.getPixel(x, minY, dComponents);
+ if (dComponents[numColorComponents] == 0.0) {
+ raster.setPixel(x, minY, dTransparentComponents);
+ } else {
+ double alpha = dComponents[numColorComponents];
+ for (int n = 0; n < numColorComponents; n++) {
+ dComponents[n] = dComponents[n] / alpha;
+ }
+ raster.setPixel(x, minY, dComponents);
}
- raster.setPixel(x, minY, dComponents);
}
- }
- }
- break;
- default:
- // awt.219=This transferType is not supported by this color model
- throw new UnsupportedOperationException(Messages.getString("awt.219")); //$NON-NLS-1$
+ }
+ break;
+ default:
+ // awt.219=This transferType is not supported by this color
+ // model
+ throw new UnsupportedOperationException(Messages.getString("awt.219")); //$NON-NLS-1$
}
}
if (!signed) {
- return new ComponentColorModel(cs, bits, hasAlpha,
- isAlphaPremultiplied, transparency, transferType);
+ return new ComponentColorModel(cs, bits, hasAlpha, isAlphaPremultiplied, transparency,
+ transferType);
}
- return new ComponentColorModel(cs, null, hasAlpha,
- isAlphaPremultiplied, transparency, transferType);
+ return new ComponentColorModel(cs, null, hasAlpha, isAlphaPremultiplied, transparency,
+ transferType);
}
@Override
public int[] getComponents(Object pixel, int[] components, int offset) {
if (donotSupportUnnormalized) {
- // awt.213=This ComponentColorModel does not support the unnormalized form
+ // awt.213=This ComponentColorModel does not support the
+ // unnormalized form
throw new IllegalArgumentException(Messages.getString("awt.213")); //$NON-NLS-1$
}
if (components == null) {
components = new int[offset + numComponents];
} else if (offset + numComponents > components.length) {
- // awt.218=The components array is not large enough to hold all the color and alpha components
+ // awt.218=The components array is not large enough to hold all the
+ // color and alpha components
throw new IllegalArgumentException(Messages.getString("awt.218")); //$NON-NLS-1$
}
switch (transferType) {
- case DataBuffer.TYPE_BYTE:
- byte ba[] = (byte[]) pixel;
+ case DataBuffer.TYPE_BYTE:
+ byte ba[] = (byte[])pixel;
- for (int i = 0, idx = offset; i < numComponents; i++, idx++) {
- components[idx] = ba[i] & 0xff;
- }
- return components;
+ for (int i = 0, idx = offset; i < numComponents; i++, idx++) {
+ components[idx] = ba[i] & 0xff;
+ }
+ return components;
- case DataBuffer.TYPE_USHORT:
- short sa[] = (short[]) pixel;
- for (int i = 0, idx = offset; i < numComponents; i++, idx++) {
- components[idx] = sa[i] & 0xffff;
- }
- return components;
+ case DataBuffer.TYPE_USHORT:
+ short sa[] = (short[])pixel;
+ for (int i = 0, idx = offset; i < numComponents; i++, idx++) {
+ components[idx] = sa[i] & 0xffff;
+ }
+ return components;
- case DataBuffer.TYPE_INT:
- int ia[] = (int[]) pixel;
- for (int i = 0, idx = offset; i < numComponents; i++, idx++) {
- components[idx] = ia[i];
- }
- return components;
-
- default:
- // awt.217=The transfer type of this ComponentColorModel is not one
- // of the following transfer types: DataBuffer.TYPE_BYTE,
- // DataBuffer.TYPE_USHORT, or DataBuffer.TYPE_INT
- throw new UnsupportedOperationException(Messages
- .getString("awt.217")); //$NON-NLS-1$
+ case DataBuffer.TYPE_INT:
+ int ia[] = (int[])pixel;
+ for (int i = 0, idx = offset; i < numComponents; i++, idx++) {
+ components[idx] = ia[i];
+ }
+ return components;
+
+ default:
+ // awt.217=The transfer type of this ComponentColorModel is not
+ // one
+ // of the following transfer types: DataBuffer.TYPE_BYTE,
+ // DataBuffer.TYPE_USHORT, or DataBuffer.TYPE_INT
+ throw new UnsupportedOperationException(Messages.getString("awt.217")); //$NON-NLS-1$
}
}
@Override
- public float[] getNormalizedComponents(Object pixel,
- float normComponents[], int normOffset) {
+ public float[] getNormalizedComponents(Object pixel, float normComponents[], int normOffset) {
if (normComponents == null) {
normComponents = new float[numComponents + normOffset];
}
switch (transferType) {
- case DataBuffer.TYPE_BYTE:
- byte ba[] = (byte[]) pixel;
- for (int i = 0, idx = normOffset; i < numComponents; i++, idx++) {
- normComponents[idx] = (ba[i] & 0xff) * scaleFactors[i];
- }
- break;
+ case DataBuffer.TYPE_BYTE:
+ byte ba[] = (byte[])pixel;
+ for (int i = 0, idx = normOffset; i < numComponents; i++, idx++) {
+ normComponents[idx] = (ba[i] & 0xff) * scaleFactors[i];
+ }
+ break;
- case DataBuffer.TYPE_USHORT:
- short usa[] = (short[]) pixel;
- for (int i = 0, idx = normOffset; i < numComponents; i++, idx++) {
- normComponents[idx] = (usa[i] & 0xffff)
- * scaleFactors[i];
- }
- break;
+ case DataBuffer.TYPE_USHORT:
+ short usa[] = (short[])pixel;
+ for (int i = 0, idx = normOffset; i < numComponents; i++, idx++) {
+ normComponents[idx] = (usa[i] & 0xffff) * scaleFactors[i];
+ }
+ break;
- case DataBuffer.TYPE_INT:
- int ia[] = (int[]) pixel;
- for (int i = 0, idx = normOffset; i < numComponents; i++, idx++) {
- normComponents[idx] = ia[i] * scaleFactors[i];
- }
- break;
+ case DataBuffer.TYPE_INT:
+ int ia[] = (int[])pixel;
+ for (int i = 0, idx = normOffset; i < numComponents; i++, idx++) {
+ normComponents[idx] = ia[i] * scaleFactors[i];
+ }
+ break;
- case DataBuffer.TYPE_SHORT:
- short sa[] = (short[]) pixel;
- for (int i = 0, idx = normOffset; i < numComponents; i++, idx++) {
- normComponents[idx] = sa[i] * scaleFactors[i];
- }
- break;
+ case DataBuffer.TYPE_SHORT:
+ short sa[] = (short[])pixel;
+ for (int i = 0, idx = normOffset; i < numComponents; i++, idx++) {
+ normComponents[idx] = sa[i] * scaleFactors[i];
+ }
+ break;
- case DataBuffer.TYPE_FLOAT:
- float fa[] = (float[]) pixel;
- for (int i = 0, idx = normOffset; i < numComponents; i++, idx++) {
- normComponents[idx] = fa[i];
- }
- break;
+ case DataBuffer.TYPE_FLOAT:
+ float fa[] = (float[])pixel;
+ for (int i = 0, idx = normOffset; i < numComponents; i++, idx++) {
+ normComponents[idx] = fa[i];
+ }
+ break;
- case DataBuffer.TYPE_DOUBLE:
- double da[] = (double[]) pixel;
- for (int i = 0, idx = normOffset; i < numComponents; i++, idx++) {
- normComponents[idx] = (float) da[i];
- }
- break;
+ case DataBuffer.TYPE_DOUBLE:
+ double da[] = (double[])pixel;
+ for (int i = 0, idx = normOffset; i < numComponents; i++, idx++) {
+ normComponents[idx] = (float)da[i];
+ }
+ break;
- default:
- // awt.21A=This ComponentColorModel does not support this transferType
- throw new IllegalArgumentException(Messages.getString("awt.21A")); //$NON-NLS-1$
+ default:
+ // awt.21A=This ComponentColorModel does not support this
+ // transferType
+ throw new IllegalArgumentException(Messages.getString("awt.21A")); //$NON-NLS-1$
}
if (needAlphaDivide) {
float alpha = normComponents[normOffset + numColorComponents];
- for (int i = 0, idx = normOffset; i < numColorComponents;
- i++, idx++) {
+ for (int i = 0, idx = normOffset; i < numColorComponents; i++, idx++) {
normComponents[idx] /= alpha;
}
}
if (needScale) {
- for (int i = 0, idx = normOffset; i < numColorComponents;
- i++, idx++) {
- normComponents[idx] = minVals[i] +
- ranges[i] * normComponents[idx];
+ for (int i = 0, idx = normOffset; i < numColorComponents; i++, idx++) {
+ normComponents[idx] = minVals[i] + ranges[i] * normComponents[idx];
}
}
return normComponents;
@@ -934,8 +950,7 @@ public class ComponentColorModel extends ColorModel {
int gray = getRed(inData);
return (alpha << 24 | gray << 16 | gray << 8 | gray);
}
- return (alpha << 24 | getRed(inData) << 16 | getGreen(inData) << 8 |
- getBlue(inData));
+ return (alpha << 24 | getRed(inData) << 16 | getGreen(inData) << 8 | getBlue(inData));
}
@Override
@@ -956,50 +971,50 @@ public class ComponentColorModel extends ColorModel {
int alpha = 0;
switch (transferType) {
- case DataBuffer.TYPE_BYTE: {
- byte ba[] = (byte[]) inData;
- alpha = ba[numColorComponents] & 0xff;
- if (bits[numColorComponents] != 8) {
- return alphaLUT[alpha] & 0xff;
+ case DataBuffer.TYPE_BYTE: {
+ byte ba[] = (byte[])inData;
+ alpha = ba[numColorComponents] & 0xff;
+ if (bits[numColorComponents] != 8) {
+ return alphaLUT[alpha] & 0xff;
+ }
+ return alpha;
}
- return alpha;
- }
- case DataBuffer.TYPE_USHORT: {
- short usa[] = (short[]) inData;
- alpha = usa[numColorComponents] & 0xffff;
- if (bits[numColorComponents] != 8) {
- return alphaLUT[alpha] & 0xff;
+ case DataBuffer.TYPE_USHORT: {
+ short usa[] = (short[])inData;
+ alpha = usa[numColorComponents] & 0xffff;
+ if (bits[numColorComponents] != 8) {
+ return alphaLUT[alpha] & 0xff;
+ }
+ return alpha;
}
- return alpha;
- }
- case DataBuffer.TYPE_INT: {
- int ia[] = (int[]) inData;
- alpha = ia[numColorComponents];
- if (bits[numColorComponents] != 8) {
- return alphaLUT[alpha] & 0xff;
+ case DataBuffer.TYPE_INT: {
+ int ia[] = (int[])inData;
+ alpha = ia[numColorComponents];
+ if (bits[numColorComponents] != 8) {
+ return alphaLUT[alpha] & 0xff;
+ }
+ return alpha;
}
- return alpha;
- }
- case DataBuffer.TYPE_SHORT: {
- short sa[] = (short[]) inData;
- alpha = sa[numColorComponents];
- if (bits[numColorComponents] != 8) {
- return alphaLUT[alpha] & 0xff;
+ case DataBuffer.TYPE_SHORT: {
+ short sa[] = (short[])inData;
+ alpha = sa[numColorComponents];
+ if (bits[numColorComponents] != 8) {
+ return alphaLUT[alpha] & 0xff;
+ }
+ return alpha;
+ }
+ case DataBuffer.TYPE_FLOAT: {
+ float fa[] = (float[])inData;
+ return (int)(fa[numColorComponents] * 255.0f + 0.5f);
+ }
+ case DataBuffer.TYPE_DOUBLE: {
+ double da[] = (double[])inData;
+ return (int)(da[numColorComponents] * 255.0 + 0.5);
+ }
+ default: {
+ // awt.214=This Color Model doesn't support this transferType
+ throw new UnsupportedOperationException(Messages.getString("awt.214")); //$NON-NLS-1$
}
- return alpha;
- }
- case DataBuffer.TYPE_FLOAT: {
- float fa[] = (float[]) inData;
- return (int) (fa[numColorComponents] * 255.0f + 0.5f);
- }
- case DataBuffer.TYPE_DOUBLE: {
- double da[] = (double[]) inData;
- return (int) (da[numColorComponents] * 255.0 + 0.5);
- }
- default: {
- // awt.214=This Color Model doesn't support this transferType
- throw new UnsupportedOperationException(Messages.getString("awt.214")); //$NON-NLS-1$
- }
}
}
@@ -1032,14 +1047,14 @@ public class ComponentColorModel extends ColorModel {
}
switch (transferType) {
- case DataBuffer.TYPE_BYTE:
- case DataBuffer.TYPE_USHORT:
- return new PixelInterleavedSampleModel(transferType, w, h,
- numComponents, w * numComponents, bandOffsets);
-
- default:
- return new ComponentSampleModel(transferType, w, h, numComponents,
- w * numComponents, bandOffsets);
+ case DataBuffer.TYPE_BYTE:
+ case DataBuffer.TYPE_USHORT:
+ return new PixelInterleavedSampleModel(transferType, w, h, numComponents, w
+ * numComponents, bandOffsets);
+
+ default:
+ return new ComponentSampleModel(transferType, w, h, numComponents, w
+ * numComponents, bandOffsets);
}
}
@@ -1067,15 +1082,15 @@ public class ComponentColorModel extends ColorModel {
}
@Override
- public float[] getNormalizedComponents(int components[], int offset,
- float normComponents[], int normOffset) {
+ public float[] getNormalizedComponents(int components[], int offset, float normComponents[],
+ int normOffset) {
if (donotSupportUnnormalized) {
- // awt.213=This ComponentColorModel does not support the unnormalized form
+ // awt.213=This ComponentColorModel does not support the
+ // unnormalized form
throw new IllegalArgumentException(Messages.getString("awt.213")); //$NON-NLS-1$
}
- return super.getNormalizedComponents(components, offset,
- normComponents, normOffset);
+ return super.getNormalizedComponents(components, offset, normComponents, normOffset);
}
@Override
@@ -1085,28 +1100,30 @@ public class ComponentColorModel extends ColorModel {
throw new IllegalArgumentException(Messages.getString("awt.212")); //$NON-NLS-1$
}
if (donotSupportUnnormalized) {
- // awt.213=This ComponentColorModel does not support the unnormalized form
+ // awt.213=This ComponentColorModel does not support the
+ // unnormalized form
throw new IllegalArgumentException(Messages.getString("awt.213")); //$NON-NLS-1$
}
return components[offset];
}
@Override
- public int[] getUnnormalizedComponents(float[] normComponents,
- int normOffset, int[] components, int offset) {
+ public int[] getUnnormalizedComponents(float[] normComponents, int normOffset,
+ int[] components, int offset) {
if (donotSupportUnnormalized) {
- // awt.213=This ComponentColorModel does not support the unnormalized form
+ // awt.213=This ComponentColorModel does not support the
+ // unnormalized form
throw new IllegalArgumentException(Messages.getString("awt.213")); //$NON-NLS-1$
}
if (normComponents.length - normOffset < numComponents) {
- // awt.21B=The length of normComponents minus normOffset is less than numComponents
+ // awt.21B=The length of normComponents minus normOffset is less
+ // than numComponents
throw new IllegalArgumentException(Messages.getString("awt.21B")); //$NON-NLS-1$
}
- return super.getUnnormalizedComponents(normComponents, normOffset,
- components, offset);
+ return super.getUnnormalizedComponents(normComponents, normOffset, components, offset);
}
@Override
@@ -1123,19 +1140,19 @@ public class ComponentColorModel extends ColorModel {
Object pixel = getDataElements(normComponents, normOffset, null);
switch (transferType) {
- case DataBuffer.TYPE_BYTE:
- byte ba[] = (byte[]) pixel;
- return ba[0] & 0xff;
- case DataBuffer.TYPE_USHORT:
- short sa[] = (short[]) pixel;
- return sa[0] & 0xffff;
- case DataBuffer.TYPE_INT:
- int ia[] = (int[]) pixel;
- return ia[0];
- default:
- // awt.211=Pixel values for this ColorModel are not conveniently
- // representable as a single int
- throw new IllegalArgumentException(Messages.getString("awt.211")); //$NON-NLS-1$
+ case DataBuffer.TYPE_BYTE:
+ byte ba[] = (byte[])pixel;
+ return ba[0] & 0xff;
+ case DataBuffer.TYPE_USHORT:
+ short sa[] = (short[])pixel;
+ return sa[0] & 0xffff;
+ case DataBuffer.TYPE_INT:
+ int ia[] = (int[])pixel;
+ return ia[0];
+ default:
+ // awt.211=Pixel values for this ColorModel are not conveniently
+ // representable as a single int
+ throw new IllegalArgumentException(Messages.getString("awt.211")); //$NON-NLS-1$
}
}
@@ -1146,7 +1163,8 @@ public class ComponentColorModel extends ColorModel {
throw new IllegalArgumentException(Messages.getString("awt.212")); //$NON-NLS-1$
}
if (donotSupportUnnormalized) {
- // awt.213=This ComponentColorModel does not support the unnormalized form
+ // awt.213=This ComponentColorModel does not support the
+ // unnormalized form
throw new IllegalArgumentException(Messages.getString("awt.213")); //$NON-NLS-1$
}
@@ -1161,31 +1179,31 @@ public class ComponentColorModel extends ColorModel {
@Override
public int getRed(int pixel) {
float rgb[] = toRGB(pixel);
- return (int) (rgb[0] * 255.0f + 0.5f);
+ return (int)(rgb[0] * 255.0f + 0.5f);
}
@Override
public int getRGB(int pixel) {
- return (getAlpha(pixel) << 24) | (getRed(pixel) << 16) |
- (getGreen(pixel) << 8) | getBlue(pixel);
+ return (getAlpha(pixel) << 24) | (getRed(pixel) << 16) | (getGreen(pixel) << 8)
+ | getBlue(pixel);
}
@Override
public int getGreen(int pixel) {
float rgb[] = toRGB(pixel);
- return (int) (rgb[1] * 255.0f + 0.5f);
+ return (int)(rgb[1] * 255.0f + 0.5f);
}
@Override
public int getBlue(int pixel) {
float rgb[] = toRGB(pixel);
- return (int) (rgb[2] * 255.0f + 0.5f);
+ return (int)(rgb[2] * 255.0f + 0.5f);
}
@Override
public int getAlpha(int pixel) {
- // This method throw IllegalArgumentException according to
+ // This method throw IllegalArgumentException according to
// Java API Spacification
if (signed) {
// awt.210=The component value for this ColorModel is signed
@@ -1210,24 +1228,19 @@ public class ComponentColorModel extends ColorModel {
if (hasAlpha && bits[numColorComponents] != 8 && integral) {
alphaLUT = new byte[maxValues[numColorComponents] + 1];
for (int i = 0; i <= maxValues[numColorComponents]; i++) {
- alphaLUT[i] = (byte) (scaleFactors[numColorComponents] * i +
- 0.5f);
+ alphaLUT[i] = (byte)(scaleFactors[numColorComponents] * i + 0.5f);
}
}
if (is_LINEAR_RGB) {
if (maxBitLength > 8) {
LINEAR_RGB_Length = 16;
- from_LINEAR_RGB_LUT =
- LUTColorConverter.getFrom16lRGBtosRGB_LUT();
- to_LINEAR_16RGB_LUT =
- LUTColorConverter.getFromsRGBto16lRGB_LUT();
+ from_LINEAR_RGB_LUT = LUTColorConverter.getFrom16lRGBtosRGB_LUT();
+ to_LINEAR_16RGB_LUT = LUTColorConverter.getFromsRGBto16lRGB_LUT();
} else {
LINEAR_RGB_Length = 8;
- from_LINEAR_RGB_LUT =
- LUTColorConverter.getFrom8lRGBtosRGB_LUT();
- to_LINEAR_8RGB_LUT =
- LUTColorConverter.getFromsRGBto8lRGB_LUT();
+ from_LINEAR_RGB_LUT = LUTColorConverter.getFrom8lRGBtosRGB_LUT();
+ to_LINEAR_8RGB_LUT = LUTColorConverter.getFromsRGBto8lRGB_LUT();
}
fFactor = ((1 << LINEAR_RGB_Length) - 1);
} else {
@@ -1248,8 +1261,7 @@ public class ComponentColorModel extends ColorModel {
}
colorLUTs[i] = new byte[maxValues[i] + 1];
for (int j = 0; j <= maxValues[0]; j++) {
- colorLUTs[i][j] =
- (byte) (scaleFactors[i] * j + 0.5f);
+ colorLUTs[i][j] = (byte)(scaleFactors[i] * j + 0.5f);
}
}
}
@@ -1269,10 +1281,9 @@ public class ComponentColorModel extends ColorModel {
for (int j = 0; j <= maxValues[0]; j++) {
int idx;
if (LINEAR_RGB_Length == 8) {
- idx = (int) (scaleFactors[i] * j + 0.5f);
+ idx = (int)(scaleFactors[i] * j + 0.5f);
} else {
- idx = (int) (scaleFactors[i] * j * 257.0f +
- 0.5f);
+ idx = (int)(scaleFactors[i] * j * 257.0f + 0.5f);
}
colorLUTs[i][j] = from_LINEAR_RGB_LUT[idx];
}
@@ -1286,13 +1297,13 @@ public class ComponentColorModel extends ColorModel {
/**
* To rgb.
*
- * @param pixel - int representation of pixel
- *
- * @return - array of normalized sRGB components
+ * @param pixel
+ * the integer representation of the pixel.
+ * @return the array of normalized sRGB components.
*/
private float[] toRGB(int pixel) {
-
- // This method throw IllegalArgumentException according to
+
+ // This method throw IllegalArgumentException according to
// Java API Spacification
if (signed) {
// awt.210=The component value for this ColorModel is signed
@@ -1307,23 +1318,23 @@ public class ComponentColorModel extends ColorModel {
Object obj = null;
switch (transferType) {
- case DataBuffer.TYPE_BYTE:
- byte ba[] = new byte[1];
- ba[0] = (byte) pixel;
- obj = ba;
- break;
-
- case DataBuffer.TYPE_USHORT:
- short sa[] = new short[1];
- sa[0] = (short) pixel;
- obj = sa;
- break;
-
- case DataBuffer.TYPE_INT:
- int ia[] = new int[1];
- ia[0] = pixel;
- obj = ia;
- break;
+ case DataBuffer.TYPE_BYTE:
+ byte ba[] = new byte[1];
+ ba[0] = (byte)pixel;
+ obj = ba;
+ break;
+
+ case DataBuffer.TYPE_USHORT:
+ short sa[] = new short[1];
+ sa[0] = (short)pixel;
+ obj = sa;
+ break;
+
+ case DataBuffer.TYPE_INT:
+ int ia[] = new int[1];
+ ia[0] = pixel;
+ obj = ia;
+ break;
}
@@ -1331,12 +1342,13 @@ public class ComponentColorModel extends ColorModel {
}
/**
- * Gets the rgb component.
+ * Gets the RGB component.
*
- * @param pixel - pixel
- * @param idx - index of component
- *
- * @return - RGB value from 0 to 255 pixel's component
+ * @param pixel
+ * the pixel.
+ * @param idx
+ * the index of component.
+ * @return the RGB value from 0 to 255 pixel's component.
*/
private int getRGBComponent(Object pixel, int idx) {
if (is_sRGB) {
@@ -1355,117 +1367,116 @@ public class ComponentColorModel extends ColorModel {
float normComp[] = getNormalizedComponents(pixel, null, 0);
float rgbComp[] = cs.toRGB(normComp);
- return (int) (rgbComp[idx] * 255.0f + 0.5f);
+ return (int)(rgbComp[idx] * 255.0f + 0.5f);
}
/**
* Gets the def component.
*
- * @param pixel - pixel
- * @param idx - index of component
- *
- * @return - tentative value of the pixel component
+ * @param pixel
+ * the pixel.
+ * @param idx
+ * the index of component.
+ * @return the tentative value of the pixel component.
*/
private int getDefComponent(Object pixel, int idx) {
int comp = 0;
calcValue = false;
switch (transferType) {
- case DataBuffer.TYPE_BYTE:
- byte ba[] = (byte[]) pixel;
- comp = ba[idx] & 0xff;
- if (needAlphaDivide) {
- int alpha = ba[numColorComponents] & 0xff;
- if (alpha == 0) {
- comp = 0;
- } else {
- float normAlpha = scaleFactors[numColorComponents] * alpha;
- comp = (int) (comp * fFactor / normAlpha + 0.5f);
+ case DataBuffer.TYPE_BYTE:
+ byte ba[] = (byte[])pixel;
+ comp = ba[idx] & 0xff;
+ if (needAlphaDivide) {
+ int alpha = ba[numColorComponents] & 0xff;
+ if (alpha == 0) {
+ comp = 0;
+ } else {
+ float normAlpha = scaleFactors[numColorComponents] * alpha;
+ comp = (int)(comp * fFactor / normAlpha + 0.5f);
+ }
+ calcValue = true;
}
- calcValue = true;
- }
- return comp;
-
- case DataBuffer.TYPE_USHORT:
- short usa[] = (short[]) pixel;
- comp = usa[idx] & 0xffff;
- if (needAlphaDivide) {
- int alpha = usa[numColorComponents] & 0xffff;
- if (alpha == 0) {
- comp = 0;
- } else {
- float normAlpha = scaleFactors[numColorComponents] * alpha;
- comp = (int) (comp * fFactor / normAlpha + 0.5f);
+ return comp;
+
+ case DataBuffer.TYPE_USHORT:
+ short usa[] = (short[])pixel;
+ comp = usa[idx] & 0xffff;
+ if (needAlphaDivide) {
+ int alpha = usa[numColorComponents] & 0xffff;
+ if (alpha == 0) {
+ comp = 0;
+ } else {
+ float normAlpha = scaleFactors[numColorComponents] * alpha;
+ comp = (int)(comp * fFactor / normAlpha + 0.5f);
+ }
+ calcValue = true;
}
- calcValue = true;
- }
- return comp;
-
- case DataBuffer.TYPE_INT:
- int ia[] = (int[]) pixel;
- comp = ia[idx];
- if (needAlphaDivide) {
- int alpha = ia[numColorComponents];
- if (alpha == 0) {
- comp = 0;
- } else {
- float normAlpha = scaleFactors[numColorComponents] * alpha;
- comp = (int) (comp * fFactor / normAlpha + 0.5f);
+ return comp;
+
+ case DataBuffer.TYPE_INT:
+ int ia[] = (int[])pixel;
+ comp = ia[idx];
+ if (needAlphaDivide) {
+ int alpha = ia[numColorComponents];
+ if (alpha == 0) {
+ comp = 0;
+ } else {
+ float normAlpha = scaleFactors[numColorComponents] * alpha;
+ comp = (int)(comp * fFactor / normAlpha + 0.5f);
+ }
+ calcValue = true;
}
- calcValue = true;
- }
- return comp;
-
- case DataBuffer.TYPE_SHORT:
- short sa[] = (short[]) pixel;
- comp = sa[idx];
- if (needAlphaDivide) {
- int alpha = sa[numColorComponents];
- if (alpha == 0) {
- comp = 0;
- } else {
- float normAlpha = scaleFactors[numColorComponents] * alpha;
- comp = (int) (comp * fFactor / normAlpha + 0.5f);
+ return comp;
+
+ case DataBuffer.TYPE_SHORT:
+ short sa[] = (short[])pixel;
+ comp = sa[idx];
+ if (needAlphaDivide) {
+ int alpha = sa[numColorComponents];
+ if (alpha == 0) {
+ comp = 0;
+ } else {
+ float normAlpha = scaleFactors[numColorComponents] * alpha;
+ comp = (int)(comp * fFactor / normAlpha + 0.5f);
+ }
+ calcValue = true;
}
- calcValue = true;
- }
- return comp;
-
- case DataBuffer.TYPE_FLOAT:
- float fa[] = (float[]) pixel;
- if (needAlphaDivide) {
- float alpha = fa[numColorComponents];
- if (fa[numColorComponents] == 0.0f) {
- comp = 0;
+ return comp;
+
+ case DataBuffer.TYPE_FLOAT:
+ float fa[] = (float[])pixel;
+ if (needAlphaDivide) {
+ float alpha = fa[numColorComponents];
+ if (fa[numColorComponents] == 0.0f) {
+ comp = 0;
+ } else {
+ comp = (int)(fa[idx] * fFactor / alpha + 0.5f);
+ }
} else {
- comp = (int) (fa[idx] * fFactor / alpha + 0.5f);
+ comp = (int)(fa[idx] * fFactor + 0.5f);
}
- } else {
- comp = (int) (fa[idx] * fFactor + 0.5f);
- }
- calcValue = true;
- return comp;
-
- case DataBuffer.TYPE_DOUBLE:
- double da[] = (double[]) pixel;
- if (needAlphaDivide) {
- if (da[numColorComponents] == 0.0) {
- comp = 0;
+ calcValue = true;
+ return comp;
+
+ case DataBuffer.TYPE_DOUBLE:
+ double da[] = (double[])pixel;
+ if (needAlphaDivide) {
+ if (da[numColorComponents] == 0.0) {
+ comp = 0;
+ } else {
+ comp = (int)(da[idx] * fFactor / da[numColorComponents] + 0.5);
+ }
} else {
- comp = (int) (da[idx] * fFactor / da[numColorComponents] +
- 0.5);
+ comp = (int)(da[idx] * fFactor + 0.5);
}
- } else {
- comp = (int) (da[idx] * fFactor + 0.5);
- }
- calcValue = true;
- return comp;
+ calcValue = true;
+ return comp;
- default:
- // awt.214=This Color Model doesn't support this transferType
- throw new UnsupportedOperationException(Messages.getString("awt.214")); //$NON-NLS-1$
+ default:
+ // awt.214=This Color Model doesn't support this transferType
+ throw new UnsupportedOperationException(Messages.getString("awt.214")); //$NON-NLS-1$
}
}
}
-
diff --git a/awt/java/awt/image/ComponentSampleModel.java b/awt/java/awt/image/ComponentSampleModel.java
index 2ff4f1a..7f81409 100644
--- a/awt/java/awt/image/ComponentSampleModel.java
+++ b/awt/java/awt/image/ComponentSampleModel.java
@@ -18,6 +18,7 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import java.util.Arrays;
@@ -25,55 +26,73 @@ import java.util.Arrays;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The ComponentSampleModel class represents a set of image data whose
- * each element - the sample of a pixel - takes one data element of
- * the DataBuffer.
+ * The ComponentSampleModel class represents a set of image data whose each
+ * element - the sample of a pixel - takes one data element of the DataBuffer.
* <p>
- * The Bank indices denote the correspondence between the bank of data
- * buffers and a band of image data. The Pixel stride is the number of data
- * array elements between two samples for the same band on the same
- * scanline. The pixel stride for a BandedSampleModel is one. The Scanline
- * stride represents the number of data array elements between a
- * specified sample and the corresponding sample in the same column in
- * the next scanline. The array of band offsets gives the starting
- * offsets within each data banks of the in the DataBuffer. The bank
- * indices represents the indices within each bank of the DataBuffer
- * corresponding to a band of image data.
+ * The Bank indices denote the correspondence between the bank of data buffers
+ * and a band of image data. The Pixel stride is the number of data array
+ * elements between two samples for the same band on the same scanline. The
+ * pixel stride for a BandedSampleModel is one. The scanline stride represents
+ * the number of data array elements between a specified sample and the
+ * corresponding sample in the same column in the next scanline. The array of
+ * band offsets gives the starting offsets within each data banks of the in the
+ * DataBuffer. The bank indices represents the indices within each bank of the
+ * DataBuffer corresponding to a band of image data.
+ *
+ * @since Android 1.0
*/
public class ComponentSampleModel extends SampleModel {
- /** The band offsets array of this ComponentSampleModel. */
+ /**
+ * The band offsets array of this ComponentSampleModel.
+ */
protected int bandOffsets[];
- /** The bank indices array of this ComponentSampleModel. */
+ /**
+ * The bank indices array of this ComponentSampleModel.
+ */
protected int bankIndices[];
- /** The number of bands in this ComponentSampleModel. */
+ /**
+ * The number of bands in this ComponentSampleModel.
+ */
protected int numBands;
- /** The number banks of this ComponentSampleModel. */
+ /**
+ * The number banks of this ComponentSampleModel.
+ */
protected int numBanks;
- /** The scanline stride of this ComponentSampleModel. */
+ /**
+ * The scanline stride of this ComponentSampleModel.
+ */
protected int scanlineStride;
- /** The pixel stride of this ComponentSampleModel. */
+ /**
+ * The pixel stride of this ComponentSampleModel.
+ */
protected int pixelStride;
/**
- * Instantiates a new ComponentSampleModel with the specified
- * properties.
+ * Instantiates a new ComponentSampleModel with the specified properties.
*
- * @param dataType the data type of samples.
- * @param w the width of the image data.
- * @param h the height of the image data.
- * @param pixelStride the pixel stride of the image data.
- * @param scanlineStride the scanline stride of the image data.
- * @param bankIndices the array of the bank indices.
- * @param bandOffsets the array of the band offsets.
+ * @param dataType
+ * the data type of samples.
+ * @param w
+ * the width of the image data.
+ * @param h
+ * the height of the image data.
+ * @param pixelStride
+ * the pixel stride of the image data.
+ * @param scanlineStride
+ * the scanline stride of the image data.
+ * @param bankIndices
+ * the array of the bank indices.
+ * @param bandOffsets
+ * the array of the band offsets.
*/
- public ComponentSampleModel(int dataType, int w, int h, int pixelStride,
- int scanlineStride, int bankIndices[], int bandOffsets[]) {
+ public ComponentSampleModel(int dataType, int w, int h, int pixelStride, int scanlineStride,
+ int bankIndices[], int bandOffsets[]) {
super(dataType, w, h, bandOffsets.length);
@@ -113,18 +132,23 @@ public class ComponentSampleModel extends SampleModel {
}
/**
- * Instantiates a new ComponentSampleModel with the specified
- * properties.
+ * Instantiates a new ComponentSampleModel with the specified properties.
*
- * @param dataType the data type of the samples.
- * @param w the width of the image data.
- * @param h the height of the image data.
- * @param pixelStride the pixel stride of the image data.
- * @param scanlineStride the scanline stride of the image data.
- * @param bandOffsets the band offsets.
+ * @param dataType
+ * the data type of the samples.
+ * @param w
+ * the width of the image data.
+ * @param h
+ * the height of the image data.
+ * @param pixelStride
+ * the pixel stride of the image data.
+ * @param scanlineStride
+ * the scanline stride of the image data.
+ * @param bandOffsets
+ * the band offsets.
*/
- public ComponentSampleModel(int dataType, int w, int h, int pixelStride,
- int scanlineStride, int bandOffsets[]) {
+ public ComponentSampleModel(int dataType, int w, int h, int pixelStride, int scanlineStride,
+ int bandOffsets[]) {
super(dataType, w, h, bandOffsets.length);
if (pixelStride < 0) {
@@ -156,81 +180,81 @@ public class ComponentSampleModel extends SampleModel {
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
}
switch (dataType) {
- case DataBuffer.TYPE_BYTE:
- byte bdata[];
- if (obj == null) {
- bdata = new byte[numBands];
- } else {
- bdata = (byte[]) obj;
- }
+ case DataBuffer.TYPE_BYTE:
+ byte bdata[];
+ if (obj == null) {
+ bdata = new byte[numBands];
+ } else {
+ bdata = (byte[])obj;
+ }
- for (int i = 0; i < numBands; i++) {
- bdata[i] = (byte) getSample(x, y, i, data);
- }
+ for (int i = 0; i < numBands; i++) {
+ bdata[i] = (byte)getSample(x, y, i, data);
+ }
- obj = bdata;
- break;
+ obj = bdata;
+ break;
- case DataBuffer.TYPE_SHORT:
- case DataBuffer.TYPE_USHORT:
- short sdata[];
- if (obj == null) {
- sdata = new short[numBands];
- } else {
- sdata = (short[]) obj;
- }
+ case DataBuffer.TYPE_SHORT:
+ case DataBuffer.TYPE_USHORT:
+ short sdata[];
+ if (obj == null) {
+ sdata = new short[numBands];
+ } else {
+ sdata = (short[])obj;
+ }
- for (int i = 0; i < numBands; i++) {
- sdata[i] = (short) getSample(x, y, i, data);
- }
+ for (int i = 0; i < numBands; i++) {
+ sdata[i] = (short)getSample(x, y, i, data);
+ }
- obj = sdata;
- break;
+ obj = sdata;
+ break;
- case DataBuffer.TYPE_INT:
- int idata[];
- if (obj == null) {
- idata = new int[numBands];
- } else {
- idata = (int[]) obj;
- }
+ case DataBuffer.TYPE_INT:
+ int idata[];
+ if (obj == null) {
+ idata = new int[numBands];
+ } else {
+ idata = (int[])obj;
+ }
- for (int i = 0; i < numBands; i++) {
- idata[i] = getSample(x, y, i, data);
- }
+ for (int i = 0; i < numBands; i++) {
+ idata[i] = getSample(x, y, i, data);
+ }
- obj = idata;
- break;
+ obj = idata;
+ break;
- case DataBuffer.TYPE_FLOAT:
- float fdata[];
- if (obj == null) {
- fdata = new float[numBands];
- } else {
- fdata = (float[]) obj;
- }
+ case DataBuffer.TYPE_FLOAT:
+ float fdata[];
+ if (obj == null) {
+ fdata = new float[numBands];
+ } else {
+ fdata = (float[])obj;
+ }
- for (int i = 0; i < numBands; i++) {
- fdata[i] = getSampleFloat(x, y, i, data);
- }
+ for (int i = 0; i < numBands; i++) {
+ fdata[i] = getSampleFloat(x, y, i, data);
+ }
- obj = fdata;
- break;
+ obj = fdata;
+ break;
- case DataBuffer.TYPE_DOUBLE:
- double ddata[];
- if (obj == null) {
- ddata = new double[numBands];
- } else {
- ddata = (double[]) obj;
- }
+ case DataBuffer.TYPE_DOUBLE:
+ double ddata[];
+ if (obj == null) {
+ ddata = new double[numBands];
+ } else {
+ ddata = (double[])obj;
+ }
- for (int i = 0; i < numBands; i++) {
- ddata[i] = getSampleDouble(x, y, i, data);
- }
+ for (int i = 0; i < numBands; i++) {
+ ddata[i] = getSampleDouble(x, y, i, data);
+ }
- obj = ddata;
- break;
+ obj = ddata;
+ break;
}
return obj;
@@ -243,76 +267,75 @@ public class ComponentSampleModel extends SampleModel {
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
}
switch (dataType) {
- case DataBuffer.TYPE_BYTE:
- byte barr[] = (byte[]) obj;
- for (int i = 0; i < numBands; i++) {
- setSample(x, y, i, barr[i] & 0xff, data);
- }
- break;
+ case DataBuffer.TYPE_BYTE:
+ byte barr[] = (byte[])obj;
+ for (int i = 0; i < numBands; i++) {
+ setSample(x, y, i, barr[i] & 0xff, data);
+ }
+ break;
- case DataBuffer.TYPE_SHORT:
- case DataBuffer.TYPE_USHORT:
- short sarr[] = (short[]) obj;
- for (int i = 0; i < numBands; i++) {
- setSample(x, y, i, sarr[i] & 0xffff, data);
- }
- break;
+ case DataBuffer.TYPE_SHORT:
+ case DataBuffer.TYPE_USHORT:
+ short sarr[] = (short[])obj;
+ for (int i = 0; i < numBands; i++) {
+ setSample(x, y, i, sarr[i] & 0xffff, data);
+ }
+ break;
- case DataBuffer.TYPE_INT:
- int iarr[] = (int[]) obj;
- for (int i = 0; i < numBands; i++) {
- setSample(x, y, i, iarr[i], data);
- }
- break;
+ case DataBuffer.TYPE_INT:
+ int iarr[] = (int[])obj;
+ for (int i = 0; i < numBands; i++) {
+ setSample(x, y, i, iarr[i], data);
+ }
+ break;
- case DataBuffer.TYPE_FLOAT:
- float farr[] = (float[]) obj;
- for (int i = 0; i < numBands; i++) {
- setSample(x, y, i, farr[i], data);
- }
- break;
+ case DataBuffer.TYPE_FLOAT:
+ float farr[] = (float[])obj;
+ for (int i = 0; i < numBands; i++) {
+ setSample(x, y, i, farr[i], data);
+ }
+ break;
- case DataBuffer.TYPE_DOUBLE:
- double darr[] = (double[]) obj;
- for (int i = 0; i < numBands; i++) {
- setSample(x, y, i, darr[i], data);
- }
- break;
+ case DataBuffer.TYPE_DOUBLE:
+ double darr[] = (double[])obj;
+ for (int i = 0; i < numBands; i++) {
+ setSample(x, y, i, darr[i], data);
+ }
+ break;
}
}
/**
* Compares this ComponentSampleModel with the specified Object.
*
- * @param o the Object.
- *
- * @return true, if the object is a ComponentSampleModel with
- * identical data values to this ComponentSampleModel, false otherwise.
+ * @param o
+ * the Object.
+ * @return true, if the object is a ComponentSampleModel with identical data
+ * values to this ComponentSampleModel, false otherwise.
*/
@Override
public boolean equals(Object o) {
if ((o == null) || !(o instanceof ComponentSampleModel)) {
return false;
}
- ComponentSampleModel model = (ComponentSampleModel) o;
- return this.width == model.width && this.height == model.height &&
- this.numBands == model.numBands &&
- this.dataType == model.dataType &&
- Arrays.equals(this.bandOffsets, model.bandOffsets) &&
- Arrays.equals(this.bankIndices, model.bankIndices) &&
- this.numBands == model.numBands &&
- this.numBanks == model.numBanks &&
- this.scanlineStride == model.scanlineStride &&
- this.pixelStride == model.pixelStride;
+ ComponentSampleModel model = (ComponentSampleModel)o;
+ return this.width == model.width && this.height == model.height
+ && this.numBands == model.numBands && this.dataType == model.dataType
+ && Arrays.equals(this.bandOffsets, model.bandOffsets)
+ && Arrays.equals(this.bankIndices, model.bankIndices)
+ && this.numBands == model.numBands && this.numBanks == model.numBanks
+ && this.scanlineStride == model.scanlineStride
+ && this.pixelStride == model.pixelStride;
}
- /**
+ /**
* @see java.awt.image.SampleModel#createSubsetSampleModel(int[])
*/
@Override
public SampleModel createSubsetSampleModel(int bands[]) {
if (bands.length > this.numBands) {
- // awt.64=The number of the bands in the subset is greater than the number of bands in the sample model
+ // awt.64=The number of the bands in the subset is greater than the
+ // number of bands in the sample model
throw new RasterFormatException(Messages.getString("awt.64")); //$NON-NLS-1$
}
@@ -324,15 +347,15 @@ public class ComponentSampleModel extends SampleModel {
offsets[i] = bandOffsets[bands[i]];
}
- return new ComponentSampleModel(dataType, width, height, pixelStride,
- scanlineStride, indices, offsets);
+ return new ComponentSampleModel(dataType, width, height, pixelStride, scanlineStride,
+ indices, offsets);
}
@Override
public SampleModel createCompatibleSampleModel(int w, int h) {
- return new ComponentSampleModel(dataType, w, h, pixelStride,
- pixelStride * w, bankIndices, bandOffsets);
+ return new ComponentSampleModel(dataType, w, h, pixelStride, pixelStride * w, bankIndices,
+ bandOffsets);
}
@Override
@@ -366,8 +389,7 @@ public class ComponentSampleModel extends SampleModel {
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
}
- return data.getElem(bankIndices[b], y * scanlineStride +
- x * pixelStride + bandOffsets[b]);
+ return data.getElem(bankIndices[b], y * scanlineStride + x * pixelStride + bandOffsets[b]);
}
@Override
@@ -377,8 +399,8 @@ public class ComponentSampleModel extends SampleModel {
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
}
- return data.getElemFloat(bankIndices[b], y * scanlineStride +
- x * pixelStride + bandOffsets[b]);
+ return data.getElemFloat(bankIndices[b], y * scanlineStride + x * pixelStride
+ + bandOffsets[b]);
}
@Override
@@ -388,15 +410,14 @@ public class ComponentSampleModel extends SampleModel {
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
}
- return data.getElemDouble(bankIndices[b], y * scanlineStride +
- x * pixelStride + bandOffsets[b]);
+ return data.getElemDouble(bankIndices[b], y * scanlineStride + x * pixelStride
+ + bandOffsets[b]);
}
@Override
- public int[] getPixels(int x, int y, int w, int h, int iArray[],
- DataBuffer data) {
- if (x < 0 || y < 0 || x > this.width || x + w > this.width
- || y > this.height || y + h > this.height) {
+ public int[] getPixels(int x, int y, int w, int h, int iArray[], DataBuffer data) {
+ if (x < 0 || y < 0 || x > this.width || x + w > this.width || y > this.height
+ || y + h > this.height) {
// awt.63=Coordinates are not in bounds
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
}
@@ -421,8 +442,7 @@ public class ComponentSampleModel extends SampleModel {
}
@Override
- public void setPixels(int x, int y, int w, int h, int iArray[],
- DataBuffer data) {
+ public void setPixels(int x, int y, int w, int h, int iArray[], DataBuffer data) {
if (x < 0 || y < 0 || x + w > this.width || y + h > this.height) {
// awt.63=Coordinates are not in bounds
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
@@ -444,13 +464,11 @@ public class ComponentSampleModel extends SampleModel {
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
}
- data.setElem(bankIndices[b], y * scanlineStride + x * pixelStride
- + bandOffsets[b], s);
+ data.setElem(bankIndices[b], y * scanlineStride + x * pixelStride + bandOffsets[b], s);
}
@Override
- public int[] getSamples(int x, int y, int w, int h, int b, int iArray[],
- DataBuffer data) {
+ public int[] getSamples(int x, int y, int w, int h, int b, int iArray[], DataBuffer data) {
if (x < 0 || y < 0 || x + w > this.width || y + h > this.height) {
// awt.63=Coordinates are not in bounds
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
@@ -463,7 +481,7 @@ public class ComponentSampleModel extends SampleModel {
} else {
samples = iArray;
}
-
+
if (data == null) {
// awt.295=data is null
throw new NullPointerException(Messages.getString("awt.295")); //$NON-NLS-1$
@@ -479,8 +497,7 @@ public class ComponentSampleModel extends SampleModel {
}
@Override
- public void setSamples(int x, int y, int w, int h, int b, int iArray[],
- DataBuffer data) {
+ public void setSamples(int x, int y, int w, int h, int b, int iArray[], DataBuffer data) {
if (x < 0 || y < 0 || x + w > this.width || y + h > this.height) {
// awt.63=Coordinates are not in bounds
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
@@ -500,8 +517,7 @@ public class ComponentSampleModel extends SampleModel {
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
}
- data.setElemFloat(bankIndices[b], y * scanlineStride +
- x * pixelStride + bandOffsets[b], s);
+ data.setElemFloat(bankIndices[b], y * scanlineStride + x * pixelStride + bandOffsets[b], s);
}
@Override
@@ -511,8 +527,9 @@ public class ComponentSampleModel extends SampleModel {
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
}
- data.setElemDouble(bankIndices[b], y * scanlineStride +
- x * pixelStride + bandOffsets[b], s);
+ data
+ .setElemDouble(bankIndices[b], y * scanlineStride + x * pixelStride
+ + bandOffsets[b], s);
}
@Override
@@ -525,28 +542,27 @@ public class ComponentSampleModel extends SampleModel {
maxOffset = bandOffsets[i];
}
}
- int size = (height - 1) * scanlineStride +
- (width - 1) * pixelStride + maxOffset + 1;
+ int size = (height - 1) * scanlineStride + (width - 1) * pixelStride + maxOffset + 1;
switch (dataType) {
- case DataBuffer.TYPE_BYTE:
- data = new DataBufferByte(size, numBanks);
- break;
- case DataBuffer.TYPE_SHORT:
- data = new DataBufferShort(size, numBanks);
- break;
- case DataBuffer.TYPE_USHORT:
- data = new DataBufferUShort(size, numBanks);
- break;
- case DataBuffer.TYPE_INT:
- data = new DataBufferInt(size, numBanks);
- break;
- case DataBuffer.TYPE_FLOAT:
- data = new DataBufferFloat(size, numBanks);
- break;
- case DataBuffer.TYPE_DOUBLE:
- data = new DataBufferDouble(size, numBanks);
- break;
+ case DataBuffer.TYPE_BYTE:
+ data = new DataBufferByte(size, numBanks);
+ break;
+ case DataBuffer.TYPE_SHORT:
+ data = new DataBufferShort(size, numBanks);
+ break;
+ case DataBuffer.TYPE_USHORT:
+ data = new DataBufferUShort(size, numBanks);
+ break;
+ case DataBuffer.TYPE_INT:
+ data = new DataBufferInt(size, numBanks);
+ break;
+ case DataBuffer.TYPE_FLOAT:
+ data = new DataBufferFloat(size, numBanks);
+ break;
+ case DataBuffer.TYPE_DOUBLE:
+ data = new DataBufferDouble(size, numBanks);
+ break;
}
return data;
@@ -556,10 +572,12 @@ public class ComponentSampleModel extends SampleModel {
/**
* Gets the offset of the specified band of the specified pixel.
*
- * @param x the X coordinate of the pixel.
- * @param y the Y coordinate of the pixel.
- * @param b the band.
- *
+ * @param x
+ * the X coordinate of the pixel.
+ * @param y
+ * the Y coordinate of the pixel.
+ * @param b
+ * the band.
* @return the offset of the specified band of the specified pixel.
*/
public int getOffset(int x, int y, int b) {
@@ -569,9 +587,10 @@ public class ComponentSampleModel extends SampleModel {
/**
* Gets the offset of the first band of the specified pixel.
*
- * @param x the X coordinate of pixel.
- * @param y the Y coordinate of pixel.
- *
+ * @param x
+ * the X coordinate of pixel.
+ * @param y
+ * the Y coordinate of pixel.
* @return the offset of the first band of the specified pixel.
*/
public int getOffset(int x, int y) {
@@ -595,8 +614,7 @@ public class ComponentSampleModel extends SampleModel {
}
/**
- * Gets an array of bank indices corresponding to this
- * ComponentSampleModel.
+ * Gets an array of bank indices corresponding to this ComponentSampleModel.
*
* @return the array of bank indices.
*/
@@ -605,7 +623,7 @@ public class ComponentSampleModel extends SampleModel {
}
/**
- * Gets an array of the band offsets corresponding to this
+ * Gets an array of the band offsets corresponding to this
* ComponentSampleModel.
*
* @return the array of band offsets.
@@ -673,7 +691,7 @@ public class ComponentSampleModel extends SampleModel {
/**
* Gets the pixel stride.
*
- * @return the pixel stride
+ * @return the pixel stride.
*/
public final int getPixelStride() {
return pixelStride;
@@ -685,6 +703,3 @@ public class ComponentSampleModel extends SampleModel {
}
}
-
-
-
diff --git a/awt/java/awt/image/ConvolveOp.java b/awt/java/awt/image/ConvolveOp.java
index bb588bc..6eb8909 100644
--- a/awt/java/awt/image/ConvolveOp.java
+++ b/awt/java/awt/image/ConvolveOp.java
@@ -32,47 +32,57 @@ import org.apache.harmony.awt.gl.AwtImageBackdoorAccessor;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The ConvolveOp class convolves from the source data
- * to the destination using a convolution kernel.
- * Each output pixel is represented as the result of multiplying
- * the kernel and the surround of the input pixel.
+ * The ConvolveOp class convolves from the source data to the destination using
+ * a convolution kernel. Each output pixel is represented as the result of
+ * multiplying the kernel and the surround of the input pixel.
+ *
+ * @since Android 1.0
*/
public class ConvolveOp implements BufferedImageOp, RasterOp {
- /**
- * The Constant EDGE_ZERO_FILL indicates that pixels at the edge of
- * the destination image are set to zero.
+ /**
+ * The Constant EDGE_ZERO_FILL indicates that pixels at the edge of the
+ * destination image are set to zero.
*/
public static final int EDGE_ZERO_FILL = 0;
- /**
- * The Constant EDGE_NO_OP indicates that pixels at the edge of
- * the source image are converted to the edge pixels in the
- * destination without modification.
+ /**
+ * The Constant EDGE_NO_OP indicates that pixels at the edge of the source
+ * image are converted to the edge pixels in the destination without
+ * modification.
*/
public static final int EDGE_NO_OP = 1;
- /** The kernel. */
+ /**
+ * The kernel.
+ */
private Kernel kernel;
-
- /** The edge cond. */
+
+ /**
+ * The edge cond.
+ */
private int edgeCond;
-
- /** The rhs. */
+
+ /**
+ * The rhs.
+ */
private RenderingHints rhs = null;
static {
// TODO
- //System.loadLibrary("imageops");
+ // System.loadLibrary("imageops");
}
/**
- * Instantiates a new ConvolveOp object with the specified Kernel
- * and specified edges condition.
+ * Instantiates a new ConvolveOp object with the specified Kernel and
+ * specified edges condition.
*
- * @param kernel the specified Kernel.
- * @param edgeCondition the specified edge condition.
- * @param hints the RenderingHints object, or null.
+ * @param kernel
+ * the specified Kernel.
+ * @param edgeCondition
+ * the specified edge condition.
+ * @param hints
+ * the RenderingHints object, or null.
*/
public ConvolveOp(Kernel kernel, int edgeCondition, RenderingHints hints) {
this.kernel = kernel;
@@ -81,10 +91,11 @@ public class ConvolveOp implements BufferedImageOp, RasterOp {
}
/**
- * Instantiates a new ConvolveOp object with the specified Kernel
- * and EDGE_ZERO_FILL edge condition.
+ * Instantiates a new ConvolveOp object with the specified Kernel and
+ * EDGE_ZERO_FILL edge condition.
*
- * @param kernel the specified Kernel.
+ * @param kernel
+ * the specified Kernel.
*/
public ConvolveOp(Kernel kernel) {
this.kernel = kernel;
@@ -97,7 +108,7 @@ public class ConvolveOp implements BufferedImageOp, RasterOp {
* @return the Kernel object of this ConvolveOp.
*/
public final Kernel getKernel() {
- return (Kernel) kernel.clone();
+ return (Kernel)kernel.clone();
}
public final RenderingHints getRenderingHints() {
@@ -143,17 +154,11 @@ public class ConvolveOp implements BufferedImageOp, RasterOp {
dstCM = ColorModel.getRGBdefault();
}
- WritableRaster r =
- dstCM.isCompatibleSampleModel(src.getSampleModel()) ?
- src.getRaster().createCompatibleWritableRaster(src.getWidth(), src.getHeight()) :
- dstCM.createCompatibleWritableRaster(src.getWidth(), src.getHeight());
-
- return new BufferedImage(
- dstCM,
- r,
- dstCM.isAlphaPremultiplied(),
- null
- );
+ WritableRaster r = dstCM.isCompatibleSampleModel(src.getSampleModel()) ? src.getRaster()
+ .createCompatibleWritableRaster(src.getWidth(), src.getHeight()) : dstCM
+ .createCompatibleWritableRaster(src.getWidth(), src.getHeight());
+
+ return new BufferedImage(dstCM, r, dstCM.isAlphaPremultiplied(), null);
}
public final WritableRaster filter(Raster src, WritableRaster dst) {
@@ -162,7 +167,7 @@ public class ConvolveOp implements BufferedImageOp, RasterOp {
throw new NullPointerException(Messages.getString("awt.256")); //$NON-NLS-1$
}
- if (src == dst){
+ if (src == dst) {
// awt.257=Source raster is equal to destination
throw new IllegalArgumentException(Messages.getString("awt.257")); //$NON-NLS-1$
}
@@ -170,17 +175,18 @@ public class ConvolveOp implements BufferedImageOp, RasterOp {
if (dst == null) {
dst = createCompatibleDestRaster(src);
} else if (src.getNumBands() != dst.getNumBands()) {
- // awt.258=Number of source bands ({0}) is not equal to number of destination bands ({1})
- throw new IllegalArgumentException(
- Messages.getString("awt.258", src.getNumBands(), dst.getNumBands())); //$NON-NLS-1$
+ // awt.258=Number of source bands ({0}) is not equal to number of
+ // destination bands ({1})
+ throw new IllegalArgumentException(Messages.getString(
+ "awt.258", src.getNumBands(), dst.getNumBands())); //$NON-NLS-1$
}
// TODO
- //if (ippFilter(src, dst, BufferedImage.TYPE_CUSTOM) != 0)
- if (slowFilter(src, dst) != 0) {
- // awt.21F=Unable to transform source
- throw new ImagingOpException (Messages.getString("awt.21F")); //$NON-NLS-1$
- }
+ // if (ippFilter(src, dst, BufferedImage.TYPE_CUSTOM) != 0)
+ if (slowFilter(src, dst) != 0) {
+ // awt.21F=Unable to transform source
+ throw new ImagingOpException(Messages.getString("awt.21F")); //$NON-NLS-1$
+ }
return dst;
}
@@ -188,10 +194,11 @@ public class ConvolveOp implements BufferedImageOp, RasterOp {
/**
* Slow filter.
*
- * @param src the src
- * @param dst the dst
- *
- * @return the int
+ * @param src
+ * the src.
+ * @param dst
+ * the dst.
+ * @return the int.
*/
private int slowFilter(Raster src, WritableRaster dst) {
try {
@@ -219,7 +226,7 @@ public class ConvolveOp implements BufferedImageOp, RasterOp {
int[] masks = new int[numBands];
int[] sampleSizes = sm.getSampleSize();
- for (int i=0; i < numBands; i++){
+ for (int i = 0; i < numBands; i++) {
maxValues[i] = (1 << sampleSizes[i]) - 1;
masks[i] = ~(maxValues[i]);
}
@@ -228,61 +235,56 @@ public class ConvolveOp implements BufferedImageOp, RasterOp {
float[] pixels = null;
pixels = src.getPixels(srcMinX, srcMinY, srcWidth, srcHeight, pixels);
float[] newPixels = new float[pixels.length];
- int rowLength = srcWidth*numBands;
- if (this.edgeCond == ConvolveOp.EDGE_NO_OP){
+ int rowLength = srcWidth * numBands;
+ if (this.edgeCond == ConvolveOp.EDGE_NO_OP) {
// top
int start = 0;
- int length = yOrigin*rowLength;
+ int length = yOrigin * rowLength;
System.arraycopy(pixels, start, newPixels, start, length);
// bottom
- start = (srcHeight - (kHeight - yOrigin - 1))*rowLength;
- length = (kHeight - yOrigin - 1)*rowLength;
+ start = (srcHeight - (kHeight - yOrigin - 1)) * rowLength;
+ length = (kHeight - yOrigin - 1) * rowLength;
System.arraycopy(pixels, start, newPixels, start, length);
// middle
- length = xOrigin*numBands;
- int length1 = (kWidth - xOrigin - 1)*numBands;
- start = yOrigin*rowLength;
- int start1 = (yOrigin+1)*rowLength - length1;
- for (int i = yOrigin; i < (srcHeight - (kHeight - yOrigin - 1)); i ++) {
+ length = xOrigin * numBands;
+ int length1 = (kWidth - xOrigin - 1) * numBands;
+ start = yOrigin * rowLength;
+ int start1 = (yOrigin + 1) * rowLength - length1;
+ for (int i = yOrigin; i < (srcHeight - (kHeight - yOrigin - 1)); i++) {
System.arraycopy(pixels, start, newPixels, start, length);
System.arraycopy(pixels, start1, newPixels, start1, length1);
- start +=rowLength;
- start1 +=rowLength;
+ start += rowLength;
+ start1 += rowLength;
}
}
// Cycle over pixels to be calculated
- for (int i = yOrigin; i < srcConvMaxY; i++){
- for (int j = xOrigin; j < srcConvMaxX; j++){
+ for (int i = yOrigin; i < srcConvMaxY; i++) {
+ for (int j = xOrigin; j < srcConvMaxX; j++) {
// Take kernel data in backward direction, convolution
int kernelIdx = data.length - 1;
int pixelIndex = i * rowLength + j * numBands;
- for (int hIdx = 0, rasterHIdx = i - yOrigin;
- hIdx < kHeight;
- hIdx++, rasterHIdx++
- ){
- for (int wIdx = 0, rasterWIdx = j - xOrigin;
- wIdx < kWidth;
- wIdx++, rasterWIdx++
- ){
+ for (int hIdx = 0, rasterHIdx = i - yOrigin; hIdx < kHeight; hIdx++, rasterHIdx++) {
+ for (int wIdx = 0, rasterWIdx = j - xOrigin; wIdx < kWidth; wIdx++, rasterWIdx++) {
int curIndex = rasterHIdx * rowLength + rasterWIdx * numBands;
- for (int idx=0; idx < numBands; idx++){
- newPixels[pixelIndex+idx] += data[kernelIdx] * pixels[curIndex+idx];
+ for (int idx = 0; idx < numBands; idx++) {
+ newPixels[pixelIndex + idx] += data[kernelIdx]
+ * pixels[curIndex + idx];
}
kernelIdx--;
}
}
// Check for overflow now
- for (int idx=0; idx < numBands; idx++){
- if (((int)newPixels[pixelIndex+idx] & masks[idx]) != 0) {
- if (newPixels[pixelIndex+idx] < 0) {
- newPixels[pixelIndex+idx] = 0;
+ for (int idx = 0; idx < numBands; idx++) {
+ if (((int)newPixels[pixelIndex + idx] & masks[idx]) != 0) {
+ if (newPixels[pixelIndex + idx] < 0) {
+ newPixels[pixelIndex + idx] = 0;
} else {
- newPixels[pixelIndex+idx] = maxValues[idx];
+ newPixels[pixelIndex + idx] = maxValues[idx];
}
}
}
@@ -302,7 +304,7 @@ public class ConvolveOp implements BufferedImageOp, RasterOp {
throw new NullPointerException(Messages.getString("awt.259")); //$NON-NLS-1$
}
- if (src == dst){
+ if (src == dst) {
// awt.25A=Source equals to destination
throw new IllegalArgumentException(Messages.getString("awt.25A")); //$NON-NLS-1$
}
@@ -319,13 +321,10 @@ public class ConvolveOp implements BufferedImageOp, RasterOp {
dst = createCompatibleDestImage(src, srcCM);
} else {
if (!srcCM.equals(dst.getColorModel())) {
- // Treat BufferedImage.TYPE_INT_RGB and BufferedImage.TYPE_INT_ARGB as same
- if (
- !((src.getType() == BufferedImage.TYPE_INT_RGB ||
- src.getType() == BufferedImage.TYPE_INT_ARGB) &&
- (dst.getType() == BufferedImage.TYPE_INT_RGB ||
- dst.getType() == BufferedImage.TYPE_INT_ARGB))
- ) {
+ // Treat BufferedImage.TYPE_INT_RGB and
+ // BufferedImage.TYPE_INT_ARGB as same
+ if (!((src.getType() == BufferedImage.TYPE_INT_RGB || src.getType() == BufferedImage.TYPE_INT_ARGB) && (dst
+ .getType() == BufferedImage.TYPE_INT_RGB || dst.getType() == BufferedImage.TYPE_INT_ARGB))) {
finalDst = dst;
dst = createCompatibleDestImage(src, srcCM);
}
@@ -334,11 +333,11 @@ public class ConvolveOp implements BufferedImageOp, RasterOp {
// Skip alpha channel for TYPE_INT_RGB images
// TODO
- //if (ippFilter(src.getRaster(), dst.getRaster(), src.getType()) != 0)
- if (slowFilter(src.getRaster(), dst.getRaster()) != 0) {
- // awt.21F=Unable to transform source
- throw new ImagingOpException (Messages.getString("awt.21F")); //$NON-NLS-1$
- }
+ // if (ippFilter(src.getRaster(), dst.getRaster(), src.getType()) != 0)
+ if (slowFilter(src.getRaster(), dst.getRaster()) != 0) {
+ // awt.21F=Unable to transform source
+ throw new ImagingOpException(Messages.getString("awt.21F")); //$NON-NLS-1$
+ }
if (finalDst != null) {
Graphics2D g = finalDst.createGraphics();
@@ -355,11 +354,13 @@ public class ConvolveOp implements BufferedImageOp, RasterOp {
/**
* Ipp filter.
*
- * @param src the src
- * @param dst the dst
- * @param imageType the image type
- *
- * @return the int
+ * @param src
+ * the src.
+ * @param dst
+ * the dst.
+ * @param imageType
+ * the image type.
+ * @return the int.
*/
@SuppressWarnings("unused")
private int ippFilter(Raster src, WritableRaster dst, int imageType) {
@@ -372,8 +373,8 @@ public class ConvolveOp implements BufferedImageOp, RasterOp {
case BufferedImage.TYPE_INT_RGB:
case BufferedImage.TYPE_INT_BGR: {
channels = 4;
- srcStride = src.getWidth()*4;
- dstStride = dst.getWidth()*4;
+ srcStride = src.getWidth() * 4;
+ dstStride = dst.getWidth() * 4;
skipChannel = true;
break;
}
@@ -383,8 +384,8 @@ public class ConvolveOp implements BufferedImageOp, RasterOp {
case BufferedImage.TYPE_4BYTE_ABGR:
case BufferedImage.TYPE_4BYTE_ABGR_PRE: {
channels = 4;
- srcStride = src.getWidth()*4;
- dstStride = dst.getWidth()*4;
+ srcStride = src.getWidth() * 4;
+ dstStride = dst.getWidth() * 4;
break;
}
@@ -397,12 +398,13 @@ public class ConvolveOp implements BufferedImageOp, RasterOp {
case BufferedImage.TYPE_3BYTE_BGR: {
channels = 3;
- srcStride = src.getWidth()*3;
- dstStride = dst.getWidth()*3;
+ srcStride = src.getWidth() * 3;
+ dstStride = dst.getWidth() * 3;
break;
}
- case BufferedImage.TYPE_USHORT_GRAY: // TODO - could be done in native code?
+ case BufferedImage.TYPE_USHORT_GRAY: // TODO - could be done in
+ // native code?
case BufferedImage.TYPE_USHORT_565_RGB:
case BufferedImage.TYPE_USHORT_555_RGB:
case BufferedImage.TYPE_BYTE_BINARY: {
@@ -413,59 +415,51 @@ public class ConvolveOp implements BufferedImageOp, RasterOp {
SampleModel srcSM = src.getSampleModel();
SampleModel dstSM = dst.getSampleModel();
- if (
- srcSM instanceof PixelInterleavedSampleModel &&
- dstSM instanceof PixelInterleavedSampleModel
- ) {
+ if (srcSM instanceof PixelInterleavedSampleModel
+ && dstSM instanceof PixelInterleavedSampleModel) {
// Check PixelInterleavedSampleModel
- if (
- srcSM.getDataType() != DataBuffer.TYPE_BYTE ||
- dstSM.getDataType() != DataBuffer.TYPE_BYTE
- ) {
+ if (srcSM.getDataType() != DataBuffer.TYPE_BYTE
+ || dstSM.getDataType() != DataBuffer.TYPE_BYTE) {
return slowFilter(src, dst);
}
- channels = srcSM.getNumBands(); // Have IPP functions for 1, 3 and 4 channels
+ channels = srcSM.getNumBands(); // Have IPP functions for 1,
+ // 3 and 4 channels
if (!(channels == 1 || channels == 3 || channels == 4)) {
return slowFilter(src, dst);
}
- srcStride = ((ComponentSampleModel) srcSM).getScanlineStride();
- dstStride = ((ComponentSampleModel) dstSM).getScanlineStride();
- } else if (
- srcSM instanceof SinglePixelPackedSampleModel &&
- dstSM instanceof SinglePixelPackedSampleModel
- ) {
+ srcStride = ((ComponentSampleModel)srcSM).getScanlineStride();
+ dstStride = ((ComponentSampleModel)dstSM).getScanlineStride();
+ } else if (srcSM instanceof SinglePixelPackedSampleModel
+ && dstSM instanceof SinglePixelPackedSampleModel) {
// Check SinglePixelPackedSampleModel
- SinglePixelPackedSampleModel sppsm1 = (SinglePixelPackedSampleModel) srcSM;
- SinglePixelPackedSampleModel sppsm2 = (SinglePixelPackedSampleModel) dstSM;
+ SinglePixelPackedSampleModel sppsm1 = (SinglePixelPackedSampleModel)srcSM;
+ SinglePixelPackedSampleModel sppsm2 = (SinglePixelPackedSampleModel)dstSM;
channels = sppsm1.getNumBands();
- // TYPE_INT_RGB, TYPE_INT_ARGB...
- if (
- sppsm1.getDataType() != DataBuffer.TYPE_INT ||
- sppsm2.getDataType() != DataBuffer.TYPE_INT ||
- !(channels == 3 || channels == 4)
- ) {
+ // TYPE_INT_RGB, TYPE_INT_ARGB...
+ if (sppsm1.getDataType() != DataBuffer.TYPE_INT
+ || sppsm2.getDataType() != DataBuffer.TYPE_INT
+ || !(channels == 3 || channels == 4)) {
return slowFilter(src, dst);
}
// Check compatibility of sample models
- if (
- !Arrays.equals(sppsm1.getBitOffsets(), sppsm2.getBitOffsets()) ||
- !Arrays.equals(sppsm1.getBitMasks(), sppsm2.getBitMasks())
- ) {
+ if (!Arrays.equals(sppsm1.getBitOffsets(), sppsm2.getBitOffsets())
+ || !Arrays.equals(sppsm1.getBitMasks(), sppsm2.getBitMasks())) {
return slowFilter(src, dst);
}
- for (int i=0; i<channels; i++) {
+ for (int i = 0; i < channels; i++) {
if (sppsm1.getSampleSize(i) != 8) {
return slowFilter(src, dst);
}
}
- if (channels == 3) { // Cannot skip channel, don't know which is alpha...
+ if (channels == 3) { // Cannot skip channel, don't know
+ // which is alpha...
channels = 4;
}
@@ -477,12 +471,9 @@ public class ConvolveOp implements BufferedImageOp, RasterOp {
// Fill offsets if there's a child raster
if (src.getParent() != null || dst.getParent() != null) {
- if (
- src.getSampleModelTranslateX() != 0 ||
- src.getSampleModelTranslateY() != 0 ||
- dst.getSampleModelTranslateX() != 0 ||
- dst.getSampleModelTranslateY() != 0
- ) {
+ if (src.getSampleModelTranslateX() != 0 || src.getSampleModelTranslateY() != 0
+ || dst.getSampleModelTranslateX() != 0
+ || dst.getSampleModelTranslateY() != 0) {
offsets = new int[4];
offsets[0] = -src.getSampleModelTranslateX() + src.getMinX();
offsets[1] = -src.getSampleModelTranslateY() + src.getMinY();
@@ -502,44 +493,53 @@ public class ConvolveOp implements BufferedImageOp, RasterOp {
return -1; // Unknown data buffer type
}
- return ippFilter32f(
- kernel.data, kernel.getWidth(), kernel.getHeight(),
- kernel.getXOrigin(), kernel.getYOrigin(), edgeCond,
- srcData, src.getWidth(), src.getHeight(), srcStride,
- dstData, dst.getWidth(), dst.getHeight(), dstStride,
- channels, skipChannel, offsets
- );
+ return ippFilter32f(kernel.data, kernel.getWidth(), kernel.getHeight(),
+ kernel.getXOrigin(), kernel.getYOrigin(), edgeCond, srcData, src.getWidth(), src
+ .getHeight(), srcStride, dstData, dst.getWidth(), dst.getHeight(),
+ dstStride, channels, skipChannel, offsets);
}
/**
* Ipp filter32f.
*
- * @param kernel the kernel
- * @param kWidth the k width
- * @param kHeight the k height
- * @param anchorX the anchor x
- * @param anchorY the anchor y
- * @param borderType the border type
- * @param src the src
- * @param srcWidth the src width
- * @param srcHeight the src height
- * @param srcStride the src stride
- * @param dst the dst
- * @param dstWidth the dst width
- * @param dstHeight the dst height
- * @param dstStride the dst stride
- * @param channels the channels
- * @param skipChannel the skip channel
- * @param offsets the offsets
- *
- * @return the int
+ * @param kernel
+ * the kernel.
+ * @param kWidth
+ * the k width.
+ * @param kHeight
+ * the k height.
+ * @param anchorX
+ * the anchor x.
+ * @param anchorY
+ * the anchor y.
+ * @param borderType
+ * the border type.
+ * @param src
+ * the src.
+ * @param srcWidth
+ * the src width.
+ * @param srcHeight
+ * the src height.
+ * @param srcStride
+ * the src stride.
+ * @param dst
+ * the dst.
+ * @param dstWidth
+ * the dst width.
+ * @param dstHeight
+ * the dst height.
+ * @param dstStride
+ * the dst stride.
+ * @param channels
+ * the channels.
+ * @param skipChannel
+ * the skip channel.
+ * @param offsets
+ * the offsets.
+ * @return the int.
*/
- private native int ippFilter32f(
- float kernel[], int kWidth, int kHeight,
- int anchorX, int anchorY, int borderType,
- Object src, int srcWidth, int srcHeight, int srcStride,
- Object dst, int dstWidth, int dstHeight, int dstStride,
- int channels, boolean skipChannel, int offsets[]
- );
+ private native int ippFilter32f(float kernel[], int kWidth, int kHeight, int anchorX,
+ int anchorY, int borderType, Object src, int srcWidth, int srcHeight, int srcStride,
+ Object dst, int dstWidth, int dstHeight, int dstStride, int channels,
+ boolean skipChannel, int offsets[]);
}
-
diff --git a/awt/java/awt/image/CropImageFilter.java b/awt/java/awt/image/CropImageFilter.java
index e90c44a..2f4ca78 100644
--- a/awt/java/awt/image/CropImageFilter.java
+++ b/awt/java/awt/image/CropImageFilter.java
@@ -18,28 +18,36 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import java.util.Hashtable;
/**
- * The CropImageFilter class crops a rectangular region of an source
- * Image and provides a source for a new image containing the extracted
- * region.
+ * The CropImageFilter class crops a rectangular region of an source Image and
+ * provides a source for a new image containing the extracted region.
+ *
+ * @since Android 1.0
*/
public class CropImageFilter extends ImageFilter {
- /** The HEIGHT. */
+ /**
+ * The HEIGHT.
+ */
private final int X, Y, WIDTH, HEIGHT;
/**
- * Instantiates a new CropImageFilter object with the specified
- * rectangular area.
+ * Instantiates a new CropImageFilter object with the specified rectangular
+ * area.
*
- * @param x the X coordinate of rectangular area.
- * @param y the Y coordinate of rectangular area.
- * @param w the width of rectangular area.
- * @param h the height of rectangular area.
+ * @param x
+ * the X coordinate of rectangular area.
+ * @param y
+ * the Y coordinate of rectangular area.
+ * @param w
+ * the width of rectangular area.
+ * @param h
+ * the height of rectangular area.
*/
public CropImageFilter(int x, int y, int w, int h) {
X = x;
@@ -52,20 +60,20 @@ public class CropImageFilter extends ImageFilter {
@Override
public void setProperties(Hashtable<?, ?> props) {
Hashtable<Object, Object> fprops;
- if(props == null) {
+ if (props == null) {
fprops = new Hashtable<Object, Object>();
} else {
- fprops = (Hashtable<Object, Object>) props.clone();
+ fprops = (Hashtable<Object, Object>)props.clone();
}
String propName = "Crop Filters"; //$NON-NLS-1$
String prop = "x=" + X + "; y=" + Y + "; width=" + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- WIDTH + "; height=" + HEIGHT; //$NON-NLS-1$
+ WIDTH + "; height=" + HEIGHT; //$NON-NLS-1$
Object o = fprops.get(propName);
- if(o != null){
- if(o instanceof String){
+ if (o != null) {
+ if (o instanceof String) {
prop = (String)o + "; " + prop; //$NON-NLS-1$
- }else{
- prop = o.toString() + "; " + prop; //$NON-NLS-1$
+ } else {
+ prop = o.toString() + "; " + prop; //$NON-NLS-1$
}
}
fprops.put(propName, prop);
@@ -73,15 +81,14 @@ public class CropImageFilter extends ImageFilter {
}
@Override
- public void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off, int scansize) {
+ public void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off,
+ int scansize) {
- if(x + w < X || X + WIDTH < x ||
- y + h < Y || Y + HEIGHT < y) {
+ if (x + w < X || X + WIDTH < x || y + h < Y || Y + HEIGHT < y) {
return;
}
- int destX, destY, destWidth, destHeight, endX, endY,
- srcEndX, srcEndY;
+ int destX, destY, destWidth, destHeight, endX, endY, srcEndX, srcEndY;
int newOffset = off;
@@ -91,37 +98,36 @@ public class CropImageFilter extends ImageFilter {
srcEndX = x + w;
srcEndY = y + h;
- if(x <= X){
+ if (x <= X) {
destX = 0;
newOffset += X;
- if(endX >= srcEndX){
+ if (endX >= srcEndX) {
destWidth = srcEndX - X;
- }else{
+ } else {
destWidth = WIDTH;
}
- }else{
+ } else {
destX = x - X;
- if(endX >= srcEndX){
+ if (endX >= srcEndX) {
destWidth = w;
- }else{
+ } else {
destWidth = endX - x;
}
}
-
- if(y <= Y){
+ if (y <= Y) {
newOffset += scansize * (Y - y);
destY = 0;
- if(endY >= srcEndY){
+ if (endY >= srcEndY) {
destHeight = srcEndY - Y;
- }else{
+ } else {
destHeight = HEIGHT;
}
- }else{
+ } else {
destY = y - Y;
- if(endY >= srcEndY){
+ if (endY >= srcEndY) {
destHeight = h;
- }else{
+ } else {
destHeight = endY - y;
}
}
@@ -129,15 +135,14 @@ public class CropImageFilter extends ImageFilter {
}
@Override
- public void setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off, int scansize) {
+ public void setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off,
+ int scansize) {
- if(x + w < X || X + WIDTH < x ||
- y + h < Y || Y + HEIGHT < y) {
+ if (x + w < X || X + WIDTH < x || y + h < Y || Y + HEIGHT < y) {
return;
}
- int destX, destY, destWidth, destHeight, endX, endY,
- srcEndX, srcEndY;
+ int destX, destY, destWidth, destHeight, endX, endY, srcEndX, srcEndY;
int newOffset = off;
@@ -147,37 +152,36 @@ public class CropImageFilter extends ImageFilter {
srcEndX = x + w;
srcEndY = y + h;
- if(x <= X){
+ if (x <= X) {
destX = 0;
newOffset += X;
- if(endX >= srcEndX){
+ if (endX >= srcEndX) {
destWidth = srcEndX - X;
- }else{
+ } else {
destWidth = WIDTH;
}
- }else{
+ } else {
destX = x - X;
- if(endX >= srcEndX){
+ if (endX >= srcEndX) {
destWidth = w;
- }else{
+ } else {
destWidth = endX - x;
}
}
-
- if(y <= Y){
+ if (y <= Y) {
newOffset += scansize * (Y - y);
destY = 0;
- if(endY >= srcEndY){
+ if (endY >= srcEndY) {
destHeight = srcEndY - Y;
- }else{
+ } else {
destHeight = HEIGHT;
}
- }else{
+ } else {
destY = y - Y;
- if(endY >= srcEndY){
+ if (endY >= srcEndY) {
destHeight = h;
- }else{
+ } else {
destHeight = endY - y;
}
}
@@ -190,4 +194,3 @@ public class CropImageFilter extends ImageFilter {
}
}
-
diff --git a/awt/java/awt/image/DataBuffer.java b/awt/java/awt/image/DataBuffer.java
index 6856aee..92f900f 100644
--- a/awt/java/awt/image/DataBuffer.java
+++ b/awt/java/awt/image/DataBuffer.java
@@ -18,65 +18,97 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import org.apache.harmony.awt.gl.image.DataBufferListener;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The Class DataBuffer is a wrapper class for a data array
- * to be used for the situation where a suite of functionality
- * acts on a set of data in a consistent way even though the
- * primitive type of the data may vary from one use to the next.
+ * The Class DataBuffer is a wrapper class for a data array to be used for the
+ * situation where a suite of functionality acts on a set of data in a
+ * consistent way even though the primitive type of the data may vary from one
+ * use to the next.
+ *
+ * @since Android 1.0
*/
public abstract class DataBuffer {
- /** The Constant TYPE_BYTE. */
+ /**
+ * The Constant TYPE_BYTE.
+ */
public static final int TYPE_BYTE = 0;
- /** The Constant TYPE_USHORT. */
+ /**
+ * The Constant TYPE_USHORT.
+ */
public static final int TYPE_USHORT = 1;
- /** The Constant TYPE_SHORT. */
+ /**
+ * The Constant TYPE_SHORT.
+ */
public static final int TYPE_SHORT = 2;
- /** The Constant TYPE_INT. */
+ /**
+ * The Constant TYPE_INT.
+ */
public static final int TYPE_INT = 3;
- /** The Constant TYPE_FLOAT. */
+ /**
+ * The Constant TYPE_FLOAT.
+ */
public static final int TYPE_FLOAT = 4;
- /** The Constant TYPE_DOUBLE. */
+ /**
+ * The Constant TYPE_DOUBLE.
+ */
public static final int TYPE_DOUBLE = 5;
- /** The Constant TYPE_UNDEFINED. */
+ /**
+ * The Constant TYPE_UNDEFINED.
+ */
public static final int TYPE_UNDEFINED = 32;
- /** The data type indicates the primitive type of the
- * data in this DataBuffer. */
+ /**
+ * The data type indicates the primitive type of the data in this
+ * DataBuffer.
+ */
protected int dataType;
- /** The number of data arrays in this DataBuffer. */
+ /**
+ * The number of data arrays in this DataBuffer.
+ */
protected int banks;
- /** The starting index for reading the
- * data from the first (or only) internal data array. */
+ /**
+ * The starting index for reading the data from the first (or only) internal
+ * data array.
+ */
protected int offset;
- /** The length (number of elements) of the data arrays. */
+ /**
+ * The length (number of elements) of the data arrays.
+ */
protected int size;
- /** The starting indices for reading the
- * data from the internal data arrays. */
+ /**
+ * The starting indices for reading the data from the internal data arrays.
+ */
protected int offsets[];
-
- /** The data changed. */
+
+ /**
+ * The data changed.
+ */
boolean dataChanged = true;
-
- /** The data taken. */
+
+ /**
+ * The data taken.
+ */
boolean dataTaken = false;
-
- /** The listener. */
+
+ /**
+ * The listener.
+ */
DataBufferListener listener;
static {
@@ -86,11 +118,15 @@ public abstract class DataBuffer {
/**
* Instantiates a new data buffer.
*
- * @param dataType the data type
- * @param size the length (number of elements) of the data arrays
- * @param numBanks the number of data arrays to create
- * @param offsets the starting indices for reading the
- * data from the internal data arrays
+ * @param dataType
+ * the data type.
+ * @param size
+ * the length (number of elements) of the data arrays.
+ * @param numBanks
+ * the number of data arrays to create.
+ * @param offsets
+ * the starting indices for reading the data from the internal
+ * data arrays.
*/
protected DataBuffer(int dataType, int size, int numBanks, int[] offsets) {
this.dataType = dataType;
@@ -101,13 +137,17 @@ public abstract class DataBuffer {
}
/**
- * Instantiates a new data buffer with all of the
- * data arrays starting at the same index.
+ * Instantiates a new data buffer with all of the data arrays starting at
+ * the same index.
*
- * @param dataType the data type
- * @param size the length (number of elements) of the data arrays
- * @param numBanks the number of data arrays to create
- * @param offset the offset to use for all of the data arrays
+ * @param dataType
+ * the data type.
+ * @param size
+ * the length (number of elements) of the data arrays.
+ * @param numBanks
+ * the number of data arrays to create.
+ * @param offset
+ * the offset to use for all of the data arrays.
*/
protected DataBuffer(int dataType, int size, int numBanks, int offset) {
this.dataType = dataType;
@@ -122,12 +162,15 @@ public abstract class DataBuffer {
}
/**
- * Instantiates a new data buffer with all of the
- * data arrays read from the beginning (at offset zero).
+ * Instantiates a new data buffer with all of the data arrays read from the
+ * beginning (at offset zero).
*
- * @param dataType the data type
- * @param size the length (number of elements) of the data arrays
- * @param numBanks the number of data arrays to create
+ * @param dataType
+ * the data type.
+ * @param size
+ * the length (number of elements) of the data arrays.
+ * @param numBanks
+ * the number of data arrays to create.
*/
protected DataBuffer(int dataType, int size, int numBanks) {
this.dataType = dataType;
@@ -138,11 +181,13 @@ public abstract class DataBuffer {
}
/**
- * Instantiates a new data buffer with one internal data array
- * read from the beginning (at offset zero).
+ * Instantiates a new data buffer with one internal data array read from the
+ * beginning (at offset zero).
*
- * @param dataType the data type
- * @param size the length (number of elements) of the data arrays
+ * @param dataType
+ * the data type.
+ * @param size
+ * the length (number of elements) of the data arrays.
*/
protected DataBuffer(int dataType, int size) {
this.dataType = dataType;
@@ -153,165 +198,161 @@ public abstract class DataBuffer {
}
/**
- * Sets the data value in the specified array at the
- * specified index.
+ * Sets the data value in the specified array at the specified index.
*
- * @param bank the internal array to the data to
- * @param i the index within the array where the data
- * should be written
- * @param val the value to write into the array
+ * @param bank
+ * the internal array to the data to.
+ * @param i
+ * the index within the array where the data should be written.
+ * @param val
+ * the value to write into the array.
*/
public abstract void setElem(int bank, int i, int val);
/**
- * Sets the float data value in the specified array at the
- * specified index.
+ * Sets the float data value in the specified array at the specified index.
*
- * @param bank the internal array to the data to
- * @param i the index within the array where the data
- * should be written
- * @param val the value to write into the array
+ * @param bank
+ * the internal array to the data to.
+ * @param i
+ * the index within the array where the data should be written.
+ * @param val
+ * the value to write into the array.
*/
public void setElemFloat(int bank, int i, float val) {
- setElem(bank, i, (int) val);
+ setElem(bank, i, (int)val);
}
/**
- * Sets the double data value in the specified array at the
- * specified index.
+ * Sets the double data value in the specified array at the specified index.
*
- * @param bank the internal array to the data to
- * @param i the index within the array where the data
- * should be written
- * @param val the value to write into the array
+ * @param bank
+ * the internal array to the data to.
+ * @param i
+ * the index within the array where the data should be written.
+ * @param val
+ * the value to write into the array.
*/
public void setElemDouble(int bank, int i, double val) {
- setElem(bank, i, (int) val);
+ setElem(bank, i, (int)val);
}
/**
- * Sets the data value in the first array at the
- * specified index.
+ * Sets the data value in the first array at the specified index.
*
- * @param i the index within the array where the data
- * should be written
- * @param val the value to write into the array
+ * @param i
+ * the index within the array where the data should be written.
+ * @param val
+ * the value to write into the array.
*/
public void setElem(int i, int val) {
setElem(0, i, val);
}
/**
- * Gets the data value from the specified data array at the
- * specified index.
- *
- * @param bank the data array to read from
- * @param i the index within the array where the data
- * should be read
+ * Gets the data value from the specified data array at the specified index.
*
- * @return the data element
+ * @param bank
+ * the data array to read from.
+ * @param i
+ * the index within the array where the data should be read.
+ * @return the data element.
*/
public abstract int getElem(int bank, int i);
/**
- * Gets the float-type data value from the specified
- * data array at the specified index.
- *
- * @param bank the data array to read from
- * @param i the index within the array where the data
- * should be read
+ * Gets the float-type data value from the specified data array at the
+ * specified index.
*
- * @return the data element
+ * @param bank
+ * the data array to read from.
+ * @param i
+ * the index within the array where the data should be read.
+ * @return the data element.
*/
public float getElemFloat(int bank, int i) {
return getElem(bank, i);
}
/**
- * Gets the double-type data value from the specified
- * data array at the specified index.
- *
- * @param bank the data array to read from
- * @param i the index within the array where the data
- * should be read
+ * Gets the double-type data value from the specified data array at the
+ * specified index.
*
- * @return the data element
+ * @param bank
+ * the data array to read from.
+ * @param i
+ * the index within the array where the data should be read.
+ * @return the data element.
*/
public double getElemDouble(int bank, int i) {
return getElem(bank, i);
}
/**
- * Sets the float data value in the first array at the
- * specified index.
+ * Sets the float data value in the first array at the specified index.
*
- * @param i the index within the array where the data
- * should be written
- * @param val the value to write into the array
+ * @param i
+ * the index within the array where the data should be written.
+ * @param val
+ * the value to write into the array.
*/
public void setElemFloat(int i, float val) {
setElemFloat(0, i, val);
}
/**
- * Sets the double data value in the first array at the
- * specified index.
+ * Sets the double data value in the first array at the specified index.
*
- * @param i the index within the array where the data
- * should be written
- * @param val the value to write into the array
+ * @param i
+ * the index within the array where the data should be written.
+ * @param val
+ * the value to write into the array.
*/
public void setElemDouble(int i, double val) {
setElemDouble(0, i, val);
}
/**
- * Gets the data value from the first
- * data array at the specified index and returns it
- * as an int.
- *
- * @param i the index within the array where the data
- * should be read
+ * Gets the data value from the first data array at the specified index and
+ * returns it as an integer.
*
- * @return the data element
+ * @param i
+ * the index within the array where the data should be read.
+ * @return the data element.
*/
public int getElem(int i) {
return getElem(0, i);
}
/**
- * Gets the data value from the first
- * data array at the specified index and returns it
- * as a float.
+ * Gets the data value from the first data array at the specified index and
+ * returns it as a float.
*
- * @param i the index within the array where the data
- * should be read
- *
- * @return the data element
+ * @param i
+ * the index within the array where the data should be read.
+ * @return the data element.
*/
public float getElemFloat(int i) {
return getElem(0, i);
}
/**
- * Gets the data value from the first
- * data array at the specified index and returns it
- * as a double.
- *
- * @param i the index within the array where the data
- * should be read
+ * Gets the data value from the first data array at the specified index and
+ * returns it as a double.
*
- * @return the data element
+ * @param i
+ * the index within the array where the data should be read.
+ * @return the data element.
*/
public double getElemDouble(int i) {
return getElem(i);
}
/**
- * Gets the array giving the offsets corresponding
- * to the internal data arrays.
+ * Gets the array giving the offsets corresponding to the internal data
+ * arrays.
*
- * @return the array of offsets
+ * @return the array of offsets.
*/
public int[] getOffsets() {
return offsets;
@@ -320,18 +361,16 @@ public abstract class DataBuffer {
/**
* Gets the size in bits of the primitive data type.
*
- * @return the size in bits of the primitive data type
-
+ * @return the size in bits of the primitive data type.
*/
public int getSize() {
return size;
}
/**
- * Gets the offset corresponding to the first internal
- * data array.
+ * Gets the offset corresponding to the first internal data array.
*
- * @return the offset
+ * @return the offset.
*/
public int getOffset() {
return offset;
@@ -340,7 +379,7 @@ public abstract class DataBuffer {
/**
* Gets the number of data arrays in this DataBuffer.
*
- * @return the number of data arrays
+ * @return the number of data arrays.
*/
public int getNumBanks() {
return banks;
@@ -349,7 +388,7 @@ public abstract class DataBuffer {
/**
* Gets the primitive type of this buffer's data.
*
- * @return the data type
+ * @return the data type.
*/
public int getDataType() {
return this.dataType;
@@ -358,85 +397,85 @@ public abstract class DataBuffer {
/**
* Gets the size in bits of the primitive data type.
*
- * @param type the primitive type
- *
- * @return the size in bits of the primitive data type
+ * @param type
+ * the primitive type.
+ * @return the size in bits of the primitive data type.
*/
public static int getDataTypeSize(int type) {
switch (type) {
- case TYPE_BYTE:
- return 8;
+ case TYPE_BYTE:
+ return 8;
- case TYPE_USHORT:
- case TYPE_SHORT:
- return 16;
+ case TYPE_USHORT:
+ case TYPE_SHORT:
+ return 16;
- case TYPE_INT:
- case TYPE_FLOAT:
- return 32;
+ case TYPE_INT:
+ case TYPE_FLOAT:
+ return 32;
- case TYPE_DOUBLE:
- return 64;
+ case TYPE_DOUBLE:
+ return 64;
- default:
- // awt.22C=Unknown data type {0}
- throw new IllegalArgumentException(Messages.getString("awt.22C", type)); //$NON-NLS-1$
+ default:
+ // awt.22C=Unknown data type {0}
+ throw new IllegalArgumentException(Messages.getString("awt.22C", type)); //$NON-NLS-1$
}
}
-
+
/**
* Notifies the listener that the data has changed.
*/
- void notifyChanged(){
- if(listener != null && !dataChanged){
+ void notifyChanged() {
+ if (listener != null && !dataChanged) {
dataChanged = true;
listener.dataChanged();
}
}
-
+
/**
* Notifies the listener that the data has been released.
*/
- void notifyTaken(){
- if(listener != null && !dataTaken){
+ void notifyTaken() {
+ if (listener != null && !dataTaken) {
dataTaken = true;
listener.dataTaken();
}
}
-
+
/**
* Release the data.
*/
- void releaseData(){
- if(listener != null && dataTaken){
+ void releaseData() {
+ if (listener != null && dataTaken) {
dataTaken = false;
listener.dataReleased();
}
}
-
+
/**
* Adds the data buffer listener.
*
- * @param listener the listener
+ * @param listener
+ * the listener.
*/
- void addDataBufferListener(DataBufferListener listener){
+ void addDataBufferListener(DataBufferListener listener) {
this.listener = listener;
}
-
+
/**
* Removes the data buffer listener.
*/
- void removeDataBufferListener(){
+ void removeDataBufferListener() {
listener = null;
}
-
+
/**
* Validate.
*/
- void validate(){
+ void validate() {
dataChanged = false;
}
-
-}
+}
diff --git a/awt/java/awt/image/DataBufferByte.java b/awt/java/awt/image/DataBufferByte.java
index 4d29c9c..3407de8 100644
--- a/awt/java/awt/image/DataBufferByte.java
+++ b/awt/java/awt/image/DataBufferByte.java
@@ -18,25 +18,32 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
/**
- * The Class DataBufferByte is the subclass of DataBuffer
- * for the case where the underlying data is of type byte.
+ * The Class DataBufferByte is the subclass of DataBuffer for the case where the
+ * underlying data is of type byte.
+ *
+ * @since Android 1.0
*/
public final class DataBufferByte extends DataBuffer {
- /** The data. */
+ /**
+ * The data.
+ */
byte data[][];
/**
* Instantiates a new data buffer of type unsigned short.
*
- * @param dataArrays the data arrays to copy the data from
- * @param size the length (number of elements) to use
- * from the data arrays
- * @param offsets the starting indices for reading the
- * data from the internal data arrays
+ * @param dataArrays
+ * the data arrays to copy the data from.
+ * @param size
+ * the length (number of elements) to use from the data arrays.
+ * @param offsets
+ * the starting indices for reading the data from the internal
+ * data arrays.
*/
public DataBufferByte(byte dataArrays[][], int size, int offsets[]) {
super(TYPE_BYTE, size, dataArrays.length, offsets);
@@ -46,9 +53,10 @@ public final class DataBufferByte extends DataBuffer {
/**
* Instantiates a new data buffer of type unsigned short.
*
- * @param dataArrays the data arrays to copy the data from
- * @param size the length (number of elements) to use
- * from the data arrays
+ * @param dataArrays
+ * the data arrays to copy the data from.
+ * @param size
+ * the length (number of elements) to use from the data arrays.
*/
public DataBufferByte(byte dataArrays[][], int size) {
super(TYPE_BYTE, size, dataArrays.length);
@@ -56,12 +64,15 @@ public final class DataBufferByte extends DataBuffer {
}
/**
- * Instantiates a new data buffer of type unsigned short
- * with a single underlying array of data.
+ * Instantiates a new data buffer of type unsigned short with a single
+ * underlying array of data.
*
- * @param dataArray the data array to copy the data from
- * @param size the length (number of elements) to use
- * @param offset the starting index to use when reading the data
+ * @param dataArray
+ * the data array to copy the data from.
+ * @param size
+ * the length (number of elements) to use.
+ * @param offset
+ * the starting index to use when reading the data.
*/
public DataBufferByte(byte dataArray[], int size, int offset) {
super(TYPE_BYTE, size, 1, offset);
@@ -70,12 +81,13 @@ public final class DataBufferByte extends DataBuffer {
}
/**
- * Instantiates a new data buffer of type unsigned short
- * with a single underlying array of data starting at
- * index 0.
+ * Instantiates a new data buffer of type unsigned short with a single
+ * underlying array of data starting at index 0.
*
- * @param dataArray the data array to copy the data from
- * @param size the length (number of elements) to use
+ * @param dataArray
+ * the data array to copy the data from.
+ * @param size
+ * the length (number of elements) to use.
*/
public DataBufferByte(byte dataArray[], int size) {
super(TYPE_BYTE, size);
@@ -84,12 +96,13 @@ public final class DataBufferByte extends DataBuffer {
}
/**
- * Instantiates a new empty data buffer of type unsigned short
- * with offsets equal to zero.
+ * Instantiates a new empty data buffer of type unsigned short with offsets
+ * equal to zero.
*
- * @param size the length (number of elements) to use
- * from the data arrays
- * @param numBanks the number of data arrays to create
+ * @param size
+ * the length (number of elements) to use from the data arrays.
+ * @param numBanks
+ * the number of data arrays to create.
*/
public DataBufferByte(int size, int numBanks) {
super(TYPE_BYTE, size, numBanks);
@@ -101,11 +114,11 @@ public final class DataBufferByte extends DataBuffer {
}
/**
- * Instantiates a new empty data buffer of type unsigned short
- * with a single underlying array of data starting at
- * index 0.
+ * Instantiates a new empty data buffer of type unsigned short with a single
+ * underlying array of data starting at index 0.
*
- * @param size the length (number of elements) to use
+ * @param size
+ * the length (number of elements) to use.
*/
public DataBufferByte(int size) {
super(TYPE_BYTE, size);
@@ -115,13 +128,13 @@ public final class DataBufferByte extends DataBuffer {
@Override
public void setElem(int bank, int i, int val) {
- data[bank][offsets[bank] + i] = (byte) val;
+ data[bank][offsets[bank] + i] = (byte)val;
notifyChanged();
}
@Override
public void setElem(int i, int val) {
- data[0][offset + i] = (byte) val;
+ data[0][offset + i] = (byte)val;
notifyChanged();
}
@@ -133,9 +146,9 @@ public final class DataBufferByte extends DataBuffer {
/**
* Gets the data of the specified internal data array.
*
- * @param bank the index of the desired data array
- *
- * @return the data
+ * @param bank
+ * the index of the desired data array.
+ * @return the data.
*/
public byte[] getData(int bank) {
notifyTaken();
@@ -150,7 +163,7 @@ public final class DataBufferByte extends DataBuffer {
/**
* Gets the bank data.
*
- * @return the bank data
+ * @return the bank data.
*/
public byte[][] getBankData() {
notifyTaken();
@@ -160,7 +173,7 @@ public final class DataBufferByte extends DataBuffer {
/**
* Gets the data of the first data array.
*
- * @return the data
+ * @return the data.
*/
public byte[] getData() {
notifyTaken();
@@ -168,4 +181,3 @@ public final class DataBufferByte extends DataBuffer {
}
}
-
diff --git a/awt/java/awt/image/DataBufferDouble.java b/awt/java/awt/image/DataBufferDouble.java
index fa3d324..5d0a516 100644
--- a/awt/java/awt/image/DataBufferDouble.java
+++ b/awt/java/awt/image/DataBufferDouble.java
@@ -18,26 +18,33 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
/**
- * The Class DataBufferDouble is the subclass of DataBuffer
- * for the case where the underlying data is of type double.
+ * The Class DataBufferDouble is the subclass of DataBuffer for the case where
+ * the underlying data is of type double.
+ *
+ * @since Android 1.0
*/
public final class DataBufferDouble extends DataBuffer {
- /** The data. */
+ /**
+ * The data.
+ */
double data[][];
/**
* Instantiates a new data buffer of type double.
*
- * @param dataArrays the data arrays to copy the data from
- * @param size the length (number of elements) to use
- * from the data arrays
- * @param offsets the starting indices for reading the
- * data from the internal data arrays
- */
+ * @param dataArrays
+ * the data arrays to copy the data from.
+ * @param size
+ * the length (number of elements) to use from the data arrays.
+ * @param offsets
+ * the starting indices for reading the data from the internal
+ * data arrays.
+ */
public DataBufferDouble(double dataArrays[][], int size, int offsets[]) {
super(TYPE_DOUBLE, size, dataArrays.length, offsets);
data = dataArrays.clone();
@@ -46,9 +53,10 @@ public final class DataBufferDouble extends DataBuffer {
/**
* Instantiates a new data buffer of type double.
*
- * @param dataArrays the data arrays to copy the data from
- * @param size the length (number of elements) to use
- * from the data arrays
+ * @param dataArrays
+ * the data arrays to copy the data from.
+ * @param size
+ * the length (number of elements) to use from the data arrays.
*/
public DataBufferDouble(double dataArrays[][], int size) {
super(TYPE_DOUBLE, size, dataArrays.length);
@@ -56,12 +64,15 @@ public final class DataBufferDouble extends DataBuffer {
}
/**
- * Instantiates a new data buffer of type double
- * with a single underlying array of data.
+ * Instantiates a new data buffer of type double with a single underlying
+ * array of data.
*
- * @param dataArray the data array to copy the data from
- * @param size the length (number of elements) to use
- * @param offset the starting index to use when reading the data
+ * @param dataArray
+ * the data array to copy the data from.
+ * @param size
+ * the length (number of elements) to use.
+ * @param offset
+ * the starting index to use when reading the data.
*/
public DataBufferDouble(double dataArray[], int size, int offset) {
super(TYPE_DOUBLE, size, 1, offset);
@@ -70,12 +81,13 @@ public final class DataBufferDouble extends DataBuffer {
}
/**
- * Instantiates a new data buffer of type double
- * with a single underlying array of data starting at
- * index 0.
+ * Instantiates a new data buffer of type double with a single underlying
+ * array of data starting at index 0.
*
- * @param dataArray the data array to copy the data from
- * @param size the length (number of elements) to use
+ * @param dataArray
+ * the data array to copy the data from.
+ * @param size
+ * the length (number of elements) to use.
*/
public DataBufferDouble(double dataArray[], int size) {
super(TYPE_DOUBLE, size);
@@ -84,12 +96,13 @@ public final class DataBufferDouble extends DataBuffer {
}
/**
- * Instantiates a new empty data buffer of type double
- * with offsets equal to zero.
+ * Instantiates a new empty data buffer of type double with offsets equal to
+ * zero.
*
- * @param size the length (number of elements) to use
- * from the data arrays
- * @param numBanks the number of data arrays to create
+ * @param size
+ * the length (number of elements) to use from the data arrays.
+ * @param numBanks
+ * the number of data arrays to create.
*/
public DataBufferDouble(int size, int numBanks) {
super(TYPE_DOUBLE, size, numBanks);
@@ -101,11 +114,11 @@ public final class DataBufferDouble extends DataBuffer {
}
/**
- * Instantiates a new empty data buffer of type double
- * with a single underlying array of data starting at
- * index 0.
+ * Instantiates a new empty data buffer of type double with a single
+ * underlying array of data starting at index 0.
*
- * @param size the length (number of elements) to use
+ * @param size
+ * the length (number of elements) to use.
*/
public DataBufferDouble(int size) {
super(TYPE_DOUBLE, size);
@@ -139,12 +152,12 @@ public final class DataBufferDouble extends DataBuffer {
@Override
public int getElem(int bank, int i) {
- return (int) (data[bank][offsets[bank] + i]);
+ return (int)(data[bank][offsets[bank] + i]);
}
@Override
public float getElemFloat(int bank, int i) {
- return (float) (data[bank][offsets[bank] + i]);
+ return (float)(data[bank][offsets[bank] + i]);
}
@Override
@@ -167,9 +180,9 @@ public final class DataBufferDouble extends DataBuffer {
/**
* Gets the data of the specified internal data array.
*
- * @param bank the index of the desired data array
- *
- * @return the data
+ * @param bank
+ * the index of the desired data array.
+ * @return the data.
*/
public double[] getData(int bank) {
notifyTaken();
@@ -178,12 +191,12 @@ public final class DataBufferDouble extends DataBuffer {
@Override
public int getElem(int i) {
- return (int) (data[0][offset + i]);
+ return (int)(data[0][offset + i]);
}
@Override
public float getElemFloat(int i) {
- return (float) (data[0][offset + i]);
+ return (float)(data[0][offset + i]);
}
@Override
@@ -194,7 +207,7 @@ public final class DataBufferDouble extends DataBuffer {
/**
* Gets the bank data.
*
- * @return the bank data
+ * @return the bank data.
*/
public double[][] getBankData() {
notifyTaken();
@@ -204,11 +217,10 @@ public final class DataBufferDouble extends DataBuffer {
/**
* Gets the data of the first data array.
*
- * @return the data
+ * @return the data.
*/
public double[] getData() {
notifyTaken();
return data[0];
}
}
-
diff --git a/awt/java/awt/image/DataBufferFloat.java b/awt/java/awt/image/DataBufferFloat.java
index e34245c..9a4a6bf 100644
--- a/awt/java/awt/image/DataBufferFloat.java
+++ b/awt/java/awt/image/DataBufferFloat.java
@@ -18,25 +18,32 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
/**
- * The Class DataBufferFloat is the subclass of DataBuffer
- * for the case where the underlying data is float.
+ * The Class DataBufferFloat is the subclass of DataBuffer for the case where
+ * the underlying data is float.
+ *
+ * @since Android 1.0
*/
public final class DataBufferFloat extends DataBuffer {
- /** The data. */
+ /**
+ * The data.
+ */
float data[][];
/**
* Instantiates a new data buffer of type float.
*
- * @param dataArrays the data arrays to copy the data from
- * @param size the length (number of elements) to use
- * from the data arrays
- * @param offsets the starting indices for reading the
- * data from the internal data arrays
+ * @param dataArrays
+ * the data arrays to copy the data from.
+ * @param size
+ * the length (number of elements) to use from the data arrays.
+ * @param offsets
+ * the starting indices for reading the data from the internal
+ * data arrays.
*/
public DataBufferFloat(float dataArrays[][], int size, int offsets[]) {
super(TYPE_FLOAT, size, dataArrays.length, offsets);
@@ -46,9 +53,10 @@ public final class DataBufferFloat extends DataBuffer {
/**
* Instantiates a new data buffer of type float.
*
- * @param dataArrays the data arrays to copy the data from
- * @param size the length (number of elements) to use
- * from the data arrays
+ * @param dataArrays
+ * the data arrays to copy the data from.
+ * @param size
+ * the length (number of elements) to use from the data arrays.
*/
public DataBufferFloat(float dataArrays[][], int size) {
super(TYPE_FLOAT, size, dataArrays.length);
@@ -56,12 +64,15 @@ public final class DataBufferFloat extends DataBuffer {
}
/**
- * Instantiates a new data buffer of type float
- * with a single underlying array of data.
+ * Instantiates a new data buffer of type float with a single underlying
+ * array of data.
*
- * @param dataArray the data array to copy the data from
- * @param size the length (number of elements) to use
- * @param offset the starting index to use when reading the data
+ * @param dataArray
+ * the data array to copy the data from.
+ * @param size
+ * the length (number of elements) to use.
+ * @param offset
+ * the starting index to use when reading the data.
*/
public DataBufferFloat(float dataArray[], int size, int offset) {
super(TYPE_FLOAT, size, 1, offset);
@@ -70,12 +81,13 @@ public final class DataBufferFloat extends DataBuffer {
}
/**
- * Instantiates a new data buffer of type float
- * with a single underlying array of data starting at
- * index 0.
+ * Instantiates a new data buffer of type float with a single underlying
+ * array of data starting at index 0.
*
- * @param dataArray the data array to copy the data from
- * @param size the length (number of elements) to use
+ * @param dataArray
+ * the data array to copy the data from.
+ * @param size
+ * the length (number of elements) to use.
*/
public DataBufferFloat(float dataArray[], int size) {
super(TYPE_FLOAT, size);
@@ -84,12 +96,13 @@ public final class DataBufferFloat extends DataBuffer {
}
/**
- * Instantiates a new empty data buffer of type float
- * with offsets equal to zero.
+ * Instantiates a new empty data buffer of type float with offsets equal to
+ * zero.
*
- * @param size the length (number of elements) to use
- * from the data arrays
- * @param numBanks the number of data arrays to create
+ * @param size
+ * the length (number of elements) to use from the data arrays.
+ * @param numBanks
+ * the number of data arrays to create.
*/
public DataBufferFloat(int size, int numBanks) {
super(TYPE_FLOAT, size, numBanks);
@@ -101,11 +114,11 @@ public final class DataBufferFloat extends DataBuffer {
}
/**
- * Instantiates a new empty data buffer of type float
- * with a single underlying array of data starting at
- * index 0.
+ * Instantiates a new empty data buffer of type float with a single
+ * underlying array of data starting at index 0.
*
- * @param size the length (number of elements) to use
+ * @param size
+ * the length (number of elements) to use.
*/
public DataBufferFloat(int size) {
super(TYPE_FLOAT, size);
@@ -127,7 +140,7 @@ public final class DataBufferFloat extends DataBuffer {
@Override
public void setElemDouble(int bank, int i, double val) {
- data[bank][offsets[bank] + i] = (float) val;
+ data[bank][offsets[bank] + i] = (float)val;
notifyChanged();
}
@@ -139,7 +152,7 @@ public final class DataBufferFloat extends DataBuffer {
@Override
public int getElem(int bank, int i) {
- return (int) (data[bank][offsets[bank] + i]);
+ return (int)(data[bank][offsets[bank] + i]);
}
@Override
@@ -160,16 +173,16 @@ public final class DataBufferFloat extends DataBuffer {
@Override
public void setElemDouble(int i, double val) {
- data[0][offset + i] = (float) val;
+ data[0][offset + i] = (float)val;
notifyChanged();
}
/**
* Gets the data of the specified internal data array.
*
- * @param bank the index of the desired array
- *
- * @return the data
+ * @param bank
+ * the index of the desired array.
+ * @return the data.
*/
public float[] getData(int bank) {
notifyTaken();
@@ -178,7 +191,7 @@ public final class DataBufferFloat extends DataBuffer {
@Override
public int getElem(int i) {
- return (int) (data[0][offset + i]);
+ return (int)(data[0][offset + i]);
}
@Override
@@ -194,7 +207,7 @@ public final class DataBufferFloat extends DataBuffer {
/**
* Gets the bank data.
*
- * @return the bank data
+ * @return the bank data.
*/
public float[][] getBankData() {
notifyTaken();
@@ -204,11 +217,10 @@ public final class DataBufferFloat extends DataBuffer {
/**
* Gets the data of the first data array.
*
- * @return the data
+ * @return the data.
*/
public float[] getData() {
notifyTaken();
return data[0];
}
}
-
diff --git a/awt/java/awt/image/DataBufferInt.java b/awt/java/awt/image/DataBufferInt.java
index 43dc188..380a127 100644
--- a/awt/java/awt/image/DataBufferInt.java
+++ b/awt/java/awt/image/DataBufferInt.java
@@ -18,25 +18,32 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
/**
- * The Class DataBufferInt is the subclass of DataBuffer
- * for the case where the underlying data is of type int.
+ * The Class DataBufferInt is the subclass of DataBuffer for the case where the
+ * underlying data is of type integer.
+ *
+ * @since Android 1.0
*/
public final class DataBufferInt extends DataBuffer {
- /** The data. */
+ /**
+ * The data.
+ */
int data[][];
/**
- * Instantiates a new data buffer of type int.
+ * Instantiates a new data buffer of type integer.
*
- * @param dataArrays the data arrays to copy the data from
- * @param size the length (number of elements) to use
- * from the data arrays
- * @param offsets the starting indices for reading the
- * data from the internal data arrays
+ * @param dataArrays
+ * the data arrays to copy the data from.
+ * @param size
+ * the length (number of elements) to use from the data arrays.
+ * @param offsets
+ * the starting indices for reading the data from the internal
+ * data arrays.
*/
public DataBufferInt(int dataArrays[][], int size, int offsets[]) {
super(TYPE_INT, size, dataArrays.length, offsets);
@@ -44,11 +51,12 @@ public final class DataBufferInt extends DataBuffer {
}
/**
- * Instantiates a new data buffer of type int.
+ * Instantiates a new data buffer of type integer.
*
- * @param dataArrays the data arrays to copy the data from
- * @param size the length (number of elements) to use
- * from the data arrays
+ * @param dataArrays
+ * the data arrays to copy the data from.
+ * @param size
+ * the length (number of elements) to use from the data arrays.
*/
public DataBufferInt(int dataArrays[][], int size) {
super(TYPE_INT, size, dataArrays.length);
@@ -56,12 +64,15 @@ public final class DataBufferInt extends DataBuffer {
}
/**
- * Instantiates a new data buffer of type int
- * with a single underlying array of data.
+ * Instantiates a new data buffer of type integer with a single underlying
+ * array of data.
*
- * @param dataArray the data array to copy the data from
- * @param size the length (number of elements) to use
- * @param offset the starting index to use when reading the data
+ * @param dataArray
+ * the data array to copy the data from.
+ * @param size
+ * the length (number of elements) to use.
+ * @param offset
+ * the starting index to use when reading the data.
*/
public DataBufferInt(int dataArray[], int size, int offset) {
super(TYPE_INT, size, 1, offset);
@@ -70,12 +81,13 @@ public final class DataBufferInt extends DataBuffer {
}
/**
- * Instantiates a new data buffer of type int
- * with a single underlying array of data starting at
- * index 0.
+ * Instantiates a new data buffer of type integer with a single underlying
+ * array of data starting at index 0.
*
- * @param dataArray the data array to copy the data from
- * @param size the length (number of elements) to use
+ * @param dataArray
+ * the data array to copy the data from.
+ * @param size
+ * the length (number of elements) to use.
*/
public DataBufferInt(int dataArray[], int size) {
super(TYPE_INT, size);
@@ -84,12 +96,13 @@ public final class DataBufferInt extends DataBuffer {
}
/**
- * Instantiates a new empty data buffer of type int
- * with offsets equal to zero.
+ * Instantiates a new empty data buffer of type integer with offsets equal
+ * to zero.
*
- * @param size the length (number of elements) to use
- * from the data arrays
- * @param numBanks the number of data arrays to create
+ * @param size
+ * the length (number of elements) to use from the data arrays.
+ * @param numBanks
+ * the number of data arrays to create.
*/
public DataBufferInt(int size, int numBanks) {
super(TYPE_INT, size, numBanks);
@@ -101,11 +114,11 @@ public final class DataBufferInt extends DataBuffer {
}
/**
- * Instantiates a new empty data buffer of type int
- * with a single underlying array of data starting at
- * index 0.
+ * Instantiates a new empty data buffer of type integer with a single
+ * underlying array of data starting at index 0.
*
- * @param size the length (number of elements) to use
+ * @param size
+ * the length (number of elements) to use.
*/
public DataBufferInt(int size) {
super(TYPE_INT, size);
@@ -133,9 +146,9 @@ public final class DataBufferInt extends DataBuffer {
/**
* Gets the data of the specified internal data array.
*
- * @param bank the index of the desired data array
- *
- * @return the data
+ * @param bank
+ * the index of the desired data array.
+ * @return the data.
*/
public int[] getData(int bank) {
notifyTaken();
@@ -150,7 +163,7 @@ public final class DataBufferInt extends DataBuffer {
/**
* Gets the bank data.
*
- * @return the bank data
+ * @return the bank data.
*/
public int[][] getBankData() {
notifyTaken();
@@ -160,11 +173,10 @@ public final class DataBufferInt extends DataBuffer {
/**
* Gets the data of the first data array.
*
- * @return the data
+ * @return the data.
*/
public int[] getData() {
notifyTaken();
return data[0];
}
}
-
diff --git a/awt/java/awt/image/DataBufferShort.java b/awt/java/awt/image/DataBufferShort.java
index 819ba4a..1b11b29 100644
--- a/awt/java/awt/image/DataBufferShort.java
+++ b/awt/java/awt/image/DataBufferShort.java
@@ -18,25 +18,32 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
/**
- * The Class DataBufferShort is the subclass of DataBuffer
- * for the case where the underlying data is short.
+ * The Class DataBufferShort is the subclass of DataBuffer for the case where
+ * the underlying data is short.
+ *
+ * @since Android 1.0
*/
public final class DataBufferShort extends DataBuffer {
- /** The data. */
+ /**
+ * The data.
+ */
short data[][];
/**
* Instantiates a new data buffer of type short.
*
- * @param dataArrays the data arrays to copy the data from
- * @param size the length (number of elements) to use
- * from the data arrays
- * @param offsets the starting indices for reading the
- * data from the internal data arrays
+ * @param dataArrays
+ * the data arrays to copy the data from.
+ * @param size
+ * the length (number of elements) to use from the data arrays.
+ * @param offsets
+ * the starting indices for reading the data from the internal
+ * data arrays.
*/
public DataBufferShort(short dataArrays[][], int size, int offsets[]) {
super(TYPE_SHORT, size, dataArrays.length, offsets);
@@ -46,9 +53,10 @@ public final class DataBufferShort extends DataBuffer {
/**
* Instantiates a new data buffer of type short.
*
- * @param dataArrays the data arrays to copy the data from
- * @param size the length (number of elements) to use
- * from the data arrays
+ * @param dataArrays
+ * the data arrays to copy the data from.
+ * @param size
+ * the length (number of elements) to use from the data arrays.
*/
public DataBufferShort(short dataArrays[][], int size) {
super(TYPE_SHORT, size, dataArrays.length);
@@ -56,13 +64,15 @@ public final class DataBufferShort extends DataBuffer {
}
/**
- * Instantiates a new data buffer of type short
- * with a single underlying array of data.
+ * Instantiates a new data buffer of type short with a single underlying
+ * array of data.
*
- * @param dataArray the data array to copy the data from
- * @param size the length (number of elements) to use
- * @param offset the starting index to use when reading the data
-
+ * @param dataArray
+ * the data array to copy the data from.
+ * @param size
+ * the length (number of elements) to use.
+ * @param offset
+ * the starting index to use when reading the data.
*/
public DataBufferShort(short dataArray[], int size, int offset) {
super(TYPE_SHORT, size, 1, offset);
@@ -71,13 +81,13 @@ public final class DataBufferShort extends DataBuffer {
}
/**
- * Instantiates a new data buffer of type short
- * with a single underlying array of data starting at
- * index 0.
+ * Instantiates a new data buffer of type short with a single underlying
+ * array of data starting at index 0.
*
- * @param dataArray the data array to copy the data from
- * @param size the length (number of elements) to use
-
+ * @param dataArray
+ * the data array to copy the data from.
+ * @param size
+ * the length (number of elements) to use.
*/
public DataBufferShort(short dataArray[], int size) {
super(TYPE_SHORT, size);
@@ -86,12 +96,12 @@ public final class DataBufferShort extends DataBuffer {
}
/**
- * Instantiates a new data buffer of type short
- * with offsets equal to zero.
+ * Instantiates a new data buffer of type short with offsets equal to zero.
*
- * @param size the length (number of elements) to use
- * from the data arrays
- * @param numBanks the number of data arrays to create
+ * @param size
+ * the length (number of elements) to use from the data arrays.
+ * @param numBanks
+ * the number of data arrays to create.
*/
public DataBufferShort(int size, int numBanks) {
super(TYPE_SHORT, size, numBanks);
@@ -103,11 +113,11 @@ public final class DataBufferShort extends DataBuffer {
}
/**
- * Instantiates a new empty data buffer of type short
- * with a single underlying array of data starting at
- * index 0.
+ * Instantiates a new empty data buffer of type short with a single
+ * underlying array of data starting at index 0.
*
- * @param size the length (number of elements) to use
+ * @param size
+ * the length (number of elements) to use.
*/
public DataBufferShort(int size) {
super(TYPE_SHORT, size);
@@ -117,13 +127,13 @@ public final class DataBufferShort extends DataBuffer {
@Override
public void setElem(int bank, int i, int val) {
- data[bank][offsets[bank] + i] = (short) val;
+ data[bank][offsets[bank] + i] = (short)val;
notifyChanged();
}
@Override
public void setElem(int i, int val) {
- data[0][offset + i] = (short) val;
+ data[0][offset + i] = (short)val;
notifyChanged();
}
@@ -135,9 +145,9 @@ public final class DataBufferShort extends DataBuffer {
/**
* Gets the data of the specified internal data array.
*
- * @param bank the index of the desired data array
- *
- * @return the data
+ * @param bank
+ * the index of the desired data array.
+ * @return the data.
*/
public short[] getData(int bank) {
notifyTaken();
@@ -152,7 +162,7 @@ public final class DataBufferShort extends DataBuffer {
/**
* Gets the bank data.
*
- * @return the bank data
+ * @return the bank data.
*/
public short[][] getBankData() {
notifyTaken();
@@ -162,11 +172,10 @@ public final class DataBufferShort extends DataBuffer {
/**
* Gets the data of the first data array.
*
- * @return the data
+ * @return the data.
*/
public short[] getData() {
notifyTaken();
return data[0];
}
}
-
diff --git a/awt/java/awt/image/DataBufferUShort.java b/awt/java/awt/image/DataBufferUShort.java
index 7982678..58d9d83 100644
--- a/awt/java/awt/image/DataBufferUShort.java
+++ b/awt/java/awt/image/DataBufferUShort.java
@@ -18,34 +18,42 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The Class DataBufferUShort is the subclass of DataBuffer
- * for the case where the underlying data is unsigned short.
+ * The Class DataBufferUShort is the subclass of DataBuffer for the case where
+ * the underlying data is unsigned short.
+ *
+ * @since Android 1.0
*/
public final class DataBufferUShort extends DataBuffer {
- /** The data. */
+ /**
+ * The data.
+ */
short data[][];
/**
* Instantiates a new data buffer of type unsigned short.
*
- * @param dataArrays the data arrays to copy the data from
- * @param size the length (number of elements) to use
- * from the data arrays
- * @param offsets the starting indices for reading the
- * data from the internal data arrays
+ * @param dataArrays
+ * the data arrays to copy the data from.
+ * @param size
+ * the length (number of elements) to use from the data arrays.
+ * @param offsets
+ * the starting indices for reading the data from the internal
+ * data arrays.
*/
public DataBufferUShort(short dataArrays[][], int size, int offsets[]) {
super(TYPE_USHORT, size, dataArrays.length, offsets);
- for(int i = 0; i < dataArrays.length; i++){
- if(dataArrays[i].length < offsets[i] + size){
- // awt.28d=Length of dataArray[{0}] is less than size + offset[{1}]
- throw new IllegalArgumentException(Messages.getString("awt.28D", i, i)); //$NON-NLS-1$
+ for (int i = 0; i < dataArrays.length; i++) {
+ if (dataArrays[i].length < offsets[i] + size) {
+ // awt.28d=Length of dataArray[{0}] is less than size +
+ // offset[{1}]
+ throw new IllegalArgumentException(Messages.getString("awt.28D", i, i)); //$NON-NLS-1$
}
}
data = dataArrays.clone();
@@ -54,9 +62,10 @@ public final class DataBufferUShort extends DataBuffer {
/**
* Instantiates a new data buffer of type unsigned short.
*
- * @param dataArrays the data arrays to copy the data from
- * @param size the length (number of elements) to use
- * from the data arrays
+ * @param dataArrays
+ * the data arrays to copy the data from.
+ * @param size
+ * the length (number of elements) to use from the data arrays.
*/
public DataBufferUShort(short dataArrays[][], int size) {
super(TYPE_USHORT, size, dataArrays.length);
@@ -64,16 +73,19 @@ public final class DataBufferUShort extends DataBuffer {
}
/**
- * Instantiates a new data buffer of type unsigned short
- * with a single underlying array of data.
+ * Instantiates a new data buffer of type unsigned short with a single
+ * underlying array of data.
*
- * @param dataArray the data array to copy the data from
- * @param size the length (number of elements) to use
- * @param offset the starting index to use when reading the data
+ * @param dataArray
+ * the data array to copy the data from.
+ * @param size
+ * the length (number of elements) to use.
+ * @param offset
+ * the starting index to use when reading the data.
*/
public DataBufferUShort(short dataArray[], int size, int offset) {
super(TYPE_USHORT, size, 1, offset);
- if(dataArray.length < size + offset){
+ if (dataArray.length < size + offset) {
// awt.28E=Length of dataArray is less than size + offset
throw new IllegalArgumentException(Messages.getString("awt.28E")); //$NON-NLS-1$
}
@@ -82,12 +94,13 @@ public final class DataBufferUShort extends DataBuffer {
}
/**
- * Instantiates a new data buffer of type unsigned short
- * with a single underlying array of data starting at
- * index 0.
+ * Instantiates a new data buffer of type unsigned short with a single
+ * underlying array of data starting at index 0.
*
- * @param dataArray the data array to copy the data from
- * @param size the length (number of elements) to use
+ * @param dataArray
+ * the data array to copy the data from.
+ * @param size
+ * the length (number of elements) to use.
*/
public DataBufferUShort(short dataArray[], int size) {
super(TYPE_USHORT, size);
@@ -96,28 +109,29 @@ public final class DataBufferUShort extends DataBuffer {
}
/**
- * Instantiates a new empty data buffer of type unsigned short
- * with offsets equal to zero.
+ * Instantiates a new empty data buffer of type unsigned short with offsets
+ * equal to zero.
*
- * @param size the length (number of elements) to use
- * from the data arrays
- * @param numBanks the number of data arrays to create
+ * @param size
+ * the length (number of elements) to use from the data arrays.
+ * @param numBanks
+ * the number of data arrays to create.
*/
public DataBufferUShort(int size, int numBanks) {
super(TYPE_USHORT, size, numBanks);
data = new short[numBanks][];
- int i= 0;
- while( i < numBanks) {
+ int i = 0;
+ while (i < numBanks) {
data[i++] = new short[size];
}
}
/**
- * Instantiates a new empty data buffer of type unsigned short
- * with a single underlying array of data starting at
- * index 0.
+ * Instantiates a new empty data buffer of type unsigned short with a single
+ * underlying array of data starting at index 0.
*
- * @param size the length (number of elements) to use
+ * @param size
+ * the length (number of elements) to use.
*/
public DataBufferUShort(int size) {
super(TYPE_USHORT, size);
@@ -145,9 +159,9 @@ public final class DataBufferUShort extends DataBuffer {
/**
* Gets the data of the specified internal data array.
*
- * @param bank the index of the desired data array
- *
- * @return the data
+ * @param bank
+ * the index of the desired data array.
+ * @return the data.
*/
public short[] getData(int bank) {
notifyTaken();
@@ -162,7 +176,7 @@ public final class DataBufferUShort extends DataBuffer {
/**
* Gets the bank data.
*
- * @return the bank data
+ * @return the bank data.
*/
public short[][] getBankData() {
notifyTaken();
@@ -172,11 +186,10 @@ public final class DataBufferUShort extends DataBuffer {
/**
* Gets the data of the first data array.
*
- * @return the data
+ * @return the data.
*/
public short[] getData() {
notifyTaken();
return data[0];
}
}
-
diff --git a/awt/java/awt/image/DirectColorModel.java b/awt/java/awt/image/DirectColorModel.java
index 7a287c0..700eb7a 100644
--- a/awt/java/awt/image/DirectColorModel.java
+++ b/awt/java/awt/image/DirectColorModel.java
@@ -18,6 +18,7 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import java.awt.color.ColorSpace;
@@ -28,104 +29,141 @@ import org.apache.harmony.awt.gl.color.LUTColorConverter;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The Class DirectColorModel represents a standard (packed) RGB
- * color model with additional support for converting between sRGB
- * color space and 8 or 16 bit linear RGB color space using lookup tables.
+ * The Class DirectColorModel represents a standard (packed) RGB color model
+ * with additional support for converting between sRGB color space and 8 or 16
+ * bit linear RGB color space using lookup tables.
+ *
+ * @since Android 1.0
*/
public class DirectColorModel extends PackedColorModel {
- /** The from_ linea r_ rg b_ lut. */
+ /**
+ * The from_ linea r_ rg b_ lut.
+ */
private byte from_LINEAR_RGB_LUT[]; // Lookup table for conversion from
- // Linear RGB Color Space into sRGB
- /** The to_ linea r_8 rg b_ lut. */
- private byte to_LINEAR_8RGB_LUT[]; // Lookup table for conversion from
- // sRGB Color Space into Linear RGB
- // 8 bit
+ // Linear RGB Color Space into sRGB
+
+ /**
+ * The to_ linea r_8 rg b_ lut.
+ */
+ private byte to_LINEAR_8RGB_LUT[]; // Lookup table for conversion from
- /** The to_ linea r_16 rg b_ lut. */
- private short to_LINEAR_16RGB_LUT[]; // Lookup table for conversion from
- // sRGB Color Space into Linear RGB
- // 16 bit
+ // sRGB Color Space into Linear RGB
+ // 8 bit
- /** The alpha lut. */
- private byte alphaLUT[]; // Lookup table for scale alpha value
+ /**
+ * The to_ linea r_16 rg b_ lut.
+ */
+ private short to_LINEAR_16RGB_LUT[]; // Lookup table for conversion from
- /** The color lu ts. */
- private byte colorLUTs[][]; // Lookup tables for scale color values
+ // sRGB Color Space into Linear RGB
+ // 16 bit
- /** The is_s rgb. */
- private boolean is_sRGB; // ColorModel has sRGB ColorSpace
+ /**
+ * The alpha lut.
+ */
+ private byte alphaLUT[]; // Lookup table for scale alpha value
+
+ /**
+ * The color lu ts.
+ */
+ private byte colorLUTs[][]; // Lookup tables for scale color values
+
+ /**
+ * The is_s rgb.
+ */
+ private boolean is_sRGB; // ColorModel has sRGB ColorSpace
+
+ /**
+ * The is_ linea r_ rgb.
+ */
+ private boolean is_LINEAR_RGB; // Color Model has Linear RGB Color
- /** The is_ linea r_ rgb. */
- private boolean is_LINEAR_RGB; // Color Model has Linear RGB Color
- // Space
+ // Space
- /** The LINEA r_ rg b_ length. */
- private int LINEAR_RGB_Length; // Linear RGB bit length
+ /**
+ * The LINEA r_ rg b_ length.
+ */
+ private int LINEAR_RGB_Length; // Linear RGB bit length
- /** The factor. */
- private float fFactor; // Scale factor
+ /**
+ * The factor.
+ */
+ private float fFactor; // Scale factor
/**
* Instantiates a new direct color model.
*
- * @param space the color space
- * @param bits the array of component masks
- * @param rmask the bitmask corresponding to the red band
- * @param gmask the bitmask corresponding to the green band
- * @param bmask the bitmask corresponding to the blue band
- * @param amask the bitmask corresponding to the alpha band
- * @param isAlphaPremultiplied whether the alpha is premultiplied in this color model
- * @param transferType the transfer type (primitive java type
- * to use for the components)
- *
- * @throws IllegalArgumentException if the number of bits in the combined
- * bitmasks for the color bands is less than one or greater than 32
+ * @param space
+ * the color space.
+ * @param bits
+ * the array of component masks.
+ * @param rmask
+ * the bitmask corresponding to the red band.
+ * @param gmask
+ * the bitmask corresponding to the green band.
+ * @param bmask
+ * the bitmask corresponding to the blue band.
+ * @param amask
+ * the bitmask corresponding to the alpha band.
+ * @param isAlphaPremultiplied
+ * whether the alpha is pre-multiplied in this color model.
+ * @param transferType
+ * the transfer type (primitive java type to use for the
+ * components).
+ * @throws IllegalArgumentException
+ * if the number of bits in the combined bitmasks for the color
+ * bands is less than one or greater than 32.
*/
- public DirectColorModel(ColorSpace space, int bits, int rmask, int gmask,
- int bmask, int amask, boolean isAlphaPremultiplied,
- int transferType) {
+ public DirectColorModel(ColorSpace space, int bits, int rmask, int gmask, int bmask, int amask,
+ boolean isAlphaPremultiplied, int transferType) {
super(space, bits, rmask, gmask, bmask, amask, isAlphaPremultiplied,
- (amask == 0 ? Transparency.OPAQUE : Transparency.TRANSLUCENT),
- transferType);
+ (amask == 0 ? Transparency.OPAQUE : Transparency.TRANSLUCENT), transferType);
initLUTs();
}
/**
- * Instantiates a new direct color model, determining the transfer
- * type from the bits array, the transparency from the alpha mask,
- * and the default color space {@link ColorSpace#CS_sRGB}.
+ * Instantiates a new direct color model, determining the transfer type from
+ * the bits array, the transparency from the alpha mask, and the default
+ * color space {@link ColorSpace#CS_sRGB}.
*
- * @param bits the array of component masks
- * @param rmask the bitmask corresponding to the red band
- * @param gmask the bitmask corresponding to the green band
- * @param bmask the bitmask corresponding to the blue band
- * @param amask the bitmask corresponding to the alpha band
+ * @param bits
+ * the array of component masks.
+ * @param rmask
+ * the bitmask corresponding to the red band.
+ * @param gmask
+ * the bitmask corresponding to the green band.
+ * @param bmask
+ * the bitmask corresponding to the blue band.
+ * @param amask
+ * the bitmask corresponding to the alpha band.
*/
- public DirectColorModel(int bits, int rmask, int gmask, int bmask,
- int amask) {
+ public DirectColorModel(int bits, int rmask, int gmask, int bmask, int amask) {
- super(ColorSpace.getInstance(ColorSpace.CS_sRGB), bits, rmask, gmask,
- bmask, amask, false,
- (amask == 0 ? Transparency.OPAQUE : Transparency.TRANSLUCENT),
- ColorModel.getTransferType(bits));
+ super(ColorSpace.getInstance(ColorSpace.CS_sRGB), bits, rmask, gmask, bmask, amask, false,
+ (amask == 0 ? Transparency.OPAQUE : Transparency.TRANSLUCENT), ColorModel
+ .getTransferType(bits));
initLUTs();
}
/**
- * Instantiates a new direct color model with no alpha channel,
- * determining the transfer type from the bits array,
- * the default color space {@link ColorSpace#CS_sRGB},
- * and with the transparency set to {@link Transparency#OPAQUE}.
+ * Instantiates a new direct color model with no alpha channel, determining
+ * the transfer type from the bits array, the default color space
+ * {@link ColorSpace#CS_sRGB}, and with the transparency set to
+ * {@link Transparency#OPAQUE}.
*
- * @param bits the array of component masks
- * @param rmask the bitmask corresponding to the red band
- * @param gmask the bitmask corresponding to the green band
- * @param bmask the bitmask corresponding to the blue band
+ * @param bits
+ * the array of component masks.
+ * @param rmask
+ * the bitmask corresponding to the red band.
+ * @param gmask
+ * the bitmask corresponding to the green band.
+ * @param bmask
+ * the bitmask corresponding to the blue band.
*/
public DirectColorModel(int bits, int rmask, int gmask, int bmask) {
this(bits, rmask, gmask, bmask, 0);
@@ -139,42 +177,42 @@ public class DirectColorModel extends PackedColorModel {
}
switch (transferType) {
- case DataBuffer.TYPE_BYTE:
- byte ba[];
- if (obj == null) {
- ba = new byte[1];
- } else {
- ba = (byte[]) obj;
- }
- ba[0] = (byte) pixel;
- obj = ba;
- break;
-
- case DataBuffer.TYPE_USHORT:
- short sa[];
- if (obj == null) {
- sa = new short[1];
- } else {
- sa = (short[]) obj;
- }
- sa[0] = (short) pixel;
- obj = sa;
- break;
+ case DataBuffer.TYPE_BYTE:
+ byte ba[];
+ if (obj == null) {
+ ba = new byte[1];
+ } else {
+ ba = (byte[])obj;
+ }
+ ba[0] = (byte)pixel;
+ obj = ba;
+ break;
- case DataBuffer.TYPE_INT:
- int ia[];
- if (obj == null) {
- ia = new int[1];
- } else {
- ia = (int[]) obj;
- }
- ia[0] = pixel;
- obj = ia;
- break;
+ case DataBuffer.TYPE_USHORT:
+ short sa[];
+ if (obj == null) {
+ sa = new short[1];
+ } else {
+ sa = (short[])obj;
+ }
+ sa[0] = (short)pixel;
+ obj = sa;
+ break;
+
+ case DataBuffer.TYPE_INT:
+ int ia[];
+ if (obj == null) {
+ ia = new int[1];
+ } else {
+ ia = (int[])obj;
+ }
+ ia[0] = pixel;
+ obj = ia;
+ break;
- default:
- // awt.214=This Color Model doesn't support this transferType
- throw new UnsupportedOperationException(Messages.getString("awt.214")); //$NON-NLS-1$
+ default:
+ // awt.214=This Color Model doesn't support this transferType
+ throw new UnsupportedOperationException(Messages.getString("awt.214")); //$NON-NLS-1$
}
return obj;
@@ -187,7 +225,7 @@ public class DirectColorModel extends PackedColorModel {
if (pixel == null) {
ia = new int[1];
} else {
- ia = (int[]) pixel;
+ ia = (int[])pixel;
}
ia[0] = rgb;
return ia;
@@ -246,67 +284,66 @@ public class DirectColorModel extends PackedColorModel {
int pxl = 0;
if (hasAlpha) {
float normAlpha = normComp[numColorComponents];
- alpha = (int) (normAlpha * maxValues[numColorComponents] + 0.5f);
+ alpha = (int)(normAlpha * maxValues[numColorComponents] + 0.5f);
if (isAlphaPremultiplied) {
- red = (int) (normComp[0] * normAlpha * maxValues[0] + 0.5f);
- green = (int) (normComp[1] * normAlpha * maxValues[1] + 0.5f);
- blue = (int) (normComp[2] * normAlpha * maxValues[2] + 0.5f);
+ red = (int)(normComp[0] * normAlpha * maxValues[0] + 0.5f);
+ green = (int)(normComp[1] * normAlpha * maxValues[1] + 0.5f);
+ blue = (int)(normComp[2] * normAlpha * maxValues[2] + 0.5f);
} else {
- red = (int) (normComp[0] * maxValues[0] + 0.5f);
- green = (int) (normComp[1] * maxValues[1] + 0.5f);
- blue = (int) (normComp[2] * maxValues[2] + 0.5f);
+ red = (int)(normComp[0] * maxValues[0] + 0.5f);
+ green = (int)(normComp[1] * maxValues[1] + 0.5f);
+ blue = (int)(normComp[2] * maxValues[2] + 0.5f);
}
pxl = (alpha << offsets[3]) & componentMasks[3];
} else {
- red = (int) (normComp[0] * maxValues[0] + 0.5f);
- green = (int) (normComp[1] * maxValues[1] + 0.5f);
- blue = (int) (normComp[2] * maxValues[2] + 0.5f);
+ red = (int)(normComp[0] * maxValues[0] + 0.5f);
+ green = (int)(normComp[1] * maxValues[1] + 0.5f);
+ blue = (int)(normComp[2] * maxValues[2] + 0.5f);
}
- pxl |= ((red << offsets[0]) & componentMasks[0]) |
- ((green << offsets[1]) & componentMasks[1]) |
- ((blue << offsets[2]) & componentMasks[2]);
+ pxl |= ((red << offsets[0]) & componentMasks[0])
+ | ((green << offsets[1]) & componentMasks[1])
+ | ((blue << offsets[2]) & componentMasks[2]);
switch (transferType) {
- case DataBuffer.TYPE_BYTE:
- byte ba[];
- if (pixel == null) {
- ba = new byte[1];
- } else {
- ba = (byte[]) pixel;
- }
- ba[0] = (byte) pxl;
- return ba;
+ case DataBuffer.TYPE_BYTE:
+ byte ba[];
+ if (pixel == null) {
+ ba = new byte[1];
+ } else {
+ ba = (byte[])pixel;
+ }
+ ba[0] = (byte)pxl;
+ return ba;
- case DataBuffer.TYPE_USHORT:
- short sa[];
- if (pixel == null) {
- sa = new short[1];
- } else {
- sa = (short[]) pixel;
- }
- sa[0] = (short) pxl;
- return sa;
+ case DataBuffer.TYPE_USHORT:
+ short sa[];
+ if (pixel == null) {
+ sa = new short[1];
+ } else {
+ sa = (short[])pixel;
+ }
+ sa[0] = (short)pxl;
+ return sa;
- case DataBuffer.TYPE_INT:
- int ia[];
- if (pixel == null) {
- ia = new int[1];
- } else {
- ia = (int[]) pixel;
- }
- ia[0] = pxl;
- return ia;
+ case DataBuffer.TYPE_INT:
+ int ia[];
+ if (pixel == null) {
+ ia = new int[1];
+ } else {
+ ia = (int[])pixel;
+ }
+ ia[0] = pxl;
+ return ia;
- default:
- // awt.214=This Color Model doesn't support this transferType
- throw new UnsupportedOperationException(Messages.getString("awt.214")); //$NON-NLS-1$
+ default:
+ // awt.214=This Color Model doesn't support this transferType
+ throw new UnsupportedOperationException(Messages.getString("awt.214")); //$NON-NLS-1$
}
}
@Override
- public final ColorModel coerceData(WritableRaster raster,
- boolean isAlphaPremultiplied) {
+ public final ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied) {
if (!hasAlpha || this.isAlphaPremultiplied == isAlphaPremultiplied) {
return this;
@@ -324,86 +361,82 @@ public class DirectColorModel extends PackedColorModel {
if (isAlphaPremultiplied) {
switch (transferType) {
- case DataBuffer.TYPE_BYTE:
- case DataBuffer.TYPE_USHORT:
- case DataBuffer.TYPE_INT:
- for (int i = 0; i < h; i++, minY++) {
- for (int j = 0, x = minX; j < w; j++, x++) {
- components = raster.getPixel(x, minY, components);
- if (components[numColorComponents] == 0) {
- raster.setPixel(x, minY, transparentComponents);
- } else {
- float alpha =
- components[numColorComponents] /
- alphaFactor;
- for (int n = 0; n < numColorComponents; n++) {
- components[n] =
- (int) (alpha * components[n] + 0.5f);
+ case DataBuffer.TYPE_BYTE:
+ case DataBuffer.TYPE_USHORT:
+ case DataBuffer.TYPE_INT:
+ for (int i = 0; i < h; i++, minY++) {
+ for (int j = 0, x = minX; j < w; j++, x++) {
+ components = raster.getPixel(x, minY, components);
+ if (components[numColorComponents] == 0) {
+ raster.setPixel(x, minY, transparentComponents);
+ } else {
+ float alpha = components[numColorComponents] / alphaFactor;
+ for (int n = 0; n < numColorComponents; n++) {
+ components[n] = (int)(alpha * components[n] + 0.5f);
+ }
+ raster.setPixel(x, minY, components);
}
- raster.setPixel(x, minY, components);
}
- }
- }
- break;
+ }
+ break;
- default:
- // awt.214=This Color Model doesn't support this transferType
- throw new UnsupportedOperationException(Messages.getString("awt.214")); //$NON-NLS-1$
+ default:
+ // awt.214=This Color Model doesn't support this
+ // transferType
+ throw new UnsupportedOperationException(Messages.getString("awt.214")); //$NON-NLS-1$
}
} else {
switch (transferType) {
- case DataBuffer.TYPE_BYTE:
- case DataBuffer.TYPE_USHORT:
- case DataBuffer.TYPE_INT:
- for (int i = 0; i < h; i++, minY++) {
- for (int j = 0, x = minX; j < w; j++, x++) {
- components = raster.getPixel(x, minY, components);
- if (components[numColorComponents] != 0) {
- float alpha =
- alphaFactor / components[numColorComponents];
- for (int n = 0; n < numColorComponents; n++) {
- components[n] =
- (int) (alpha * components[n] + 0.5f);
+ case DataBuffer.TYPE_BYTE:
+ case DataBuffer.TYPE_USHORT:
+ case DataBuffer.TYPE_INT:
+ for (int i = 0; i < h; i++, minY++) {
+ for (int j = 0, x = minX; j < w; j++, x++) {
+ components = raster.getPixel(x, minY, components);
+ if (components[numColorComponents] != 0) {
+ float alpha = alphaFactor / components[numColorComponents];
+ for (int n = 0; n < numColorComponents; n++) {
+ components[n] = (int)(alpha * components[n] + 0.5f);
+ }
+ raster.setPixel(x, minY, components);
}
- raster.setPixel(x, minY, components);
}
- }
- }
- break;
+ }
+ break;
- default:
- // awt.214=This Color Model doesn't support this transferType
- throw new UnsupportedOperationException(Messages.getString("awt.214")); //$NON-NLS-1$
+ default:
+ // awt.214=This Color Model doesn't support this
+ // transferType
+ throw new UnsupportedOperationException(Messages.getString("awt.214")); //$NON-NLS-1$
}
}
- return new DirectColorModel(cs, pixel_bits, componentMasks[0],
- componentMasks[1], componentMasks[2], componentMasks[3],
- isAlphaPremultiplied, transferType);
+ return new DirectColorModel(cs, pixel_bits, componentMasks[0], componentMasks[1],
+ componentMasks[2], componentMasks[3], isAlphaPremultiplied, transferType);
}
@Override
public String toString() {
- // The output format based on 1.5 release behaviour.
+ // The output format based on 1.5 release behaviour.
// It could be reveled such way:
- // BufferedImage bi = new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB);
+ // BufferedImage bi = new BufferedImage(1, 1,
+ // BufferedImage.TYPE_INT_ARGB);
// ColorModel cm = bi.getColorModel();
// System.out.println(cm.toString());
String str = "DirectColorModel:" + " rmask = " + //$NON-NLS-1$ //$NON-NLS-2$
- Integer.toHexString(componentMasks[0]) + " gmask = " + //$NON-NLS-1$
- Integer.toHexString(componentMasks[1]) + " bmask = " + //$NON-NLS-1$
- Integer.toHexString(componentMasks[2]) + " amask = " + //$NON-NLS-1$
- (!hasAlpha ? "0" : Integer.toHexString(componentMasks[3])); //$NON-NLS-1$
+ Integer.toHexString(componentMasks[0]) + " gmask = " + //$NON-NLS-1$
+ Integer.toHexString(componentMasks[1]) + " bmask = " + //$NON-NLS-1$
+ Integer.toHexString(componentMasks[2]) + " amask = " + //$NON-NLS-1$
+ (!hasAlpha ? "0" : Integer.toHexString(componentMasks[3])); //$NON-NLS-1$
return str;
}
@Override
- public final int[] getComponents(Object pixel, int components[],
- int offset) {
+ public final int[] getComponents(Object pixel, int components[], int offset) {
if (components == null) {
components = new int[numComponents + offset];
@@ -412,25 +445,26 @@ public class DirectColorModel extends PackedColorModel {
int intPixel = 0;
switch (transferType) {
- case DataBuffer.TYPE_BYTE:
- byte ba[] = (byte[]) pixel;
- intPixel = ba[0] & 0xff;
- break;
+ case DataBuffer.TYPE_BYTE:
+ byte ba[] = (byte[])pixel;
+ intPixel = ba[0] & 0xff;
+ break;
- case DataBuffer.TYPE_USHORT:
- short sa[] = (short[]) pixel;
- intPixel = sa[0] & 0xffff;
- break;
+ case DataBuffer.TYPE_USHORT:
+ short sa[] = (short[])pixel;
+ intPixel = sa[0] & 0xffff;
+ break;
- case DataBuffer.TYPE_INT:
- int ia[] = (int[]) pixel;
- intPixel = ia[0];
- break;
+ case DataBuffer.TYPE_INT:
+ int ia[] = (int[])pixel;
+ intPixel = ia[0];
+ break;
- default:
- // awt.22D=This transferType ( {0} ) is not supported by this color model
- throw new UnsupportedOperationException(Messages.getString("awt.22D", //$NON-NLS-1$
- transferType));
+ default:
+ // awt.22D=This transferType ( {0} ) is not supported by this
+ // color model
+ throw new UnsupportedOperationException(Messages.getString("awt.22D", //$NON-NLS-1$
+ transferType));
}
return getComponents(intPixel, components, offset);
@@ -440,24 +474,24 @@ public class DirectColorModel extends PackedColorModel {
public int getRed(Object inData) {
int pixel = 0;
switch (transferType) {
- case DataBuffer.TYPE_BYTE:
- byte ba[] = (byte[]) inData;
- pixel = ba[0] & 0xff;
- break;
+ case DataBuffer.TYPE_BYTE:
+ byte ba[] = (byte[])inData;
+ pixel = ba[0] & 0xff;
+ break;
- case DataBuffer.TYPE_USHORT:
- short sa[] = (short[]) inData;
- pixel = sa[0] & 0xffff;
- break;
+ case DataBuffer.TYPE_USHORT:
+ short sa[] = (short[])inData;
+ pixel = sa[0] & 0xffff;
+ break;
- case DataBuffer.TYPE_INT:
- int ia[] = (int[]) inData;
- pixel = ia[0];
- break;
+ case DataBuffer.TYPE_INT:
+ int ia[] = (int[])inData;
+ pixel = ia[0];
+ break;
- default:
- // awt.214=This Color Model doesn't support this transferType
- throw new UnsupportedOperationException(Messages.getString("awt.214")); //$NON-NLS-1$
+ default:
+ // awt.214=This Color Model doesn't support this transferType
+ throw new UnsupportedOperationException(Messages.getString("awt.214")); //$NON-NLS-1$
}
return getRed(pixel);
}
@@ -466,24 +500,24 @@ public class DirectColorModel extends PackedColorModel {
public int getRGB(Object inData) {
int pixel = 0;
switch (transferType) {
- case DataBuffer.TYPE_BYTE:
- byte ba[] = (byte[]) inData;
- pixel = ba[0] & 0xff;
- break;
+ case DataBuffer.TYPE_BYTE:
+ byte ba[] = (byte[])inData;
+ pixel = ba[0] & 0xff;
+ break;
- case DataBuffer.TYPE_USHORT:
- short sa[] = (short[]) inData;
- pixel = sa[0] & 0xffff;
- break;
+ case DataBuffer.TYPE_USHORT:
+ short sa[] = (short[])inData;
+ pixel = sa[0] & 0xffff;
+ break;
- case DataBuffer.TYPE_INT:
- int ia[] = (int[]) inData;
- pixel = ia[0];
- break;
+ case DataBuffer.TYPE_INT:
+ int ia[] = (int[])inData;
+ pixel = ia[0];
+ break;
- default:
- // awt.214=This Color Model doesn't support this transferType
- throw new UnsupportedOperationException(Messages.getString("awt.214")); //$NON-NLS-1$
+ default:
+ // awt.214=This Color Model doesn't support this transferType
+ throw new UnsupportedOperationException(Messages.getString("awt.214")); //$NON-NLS-1$
}
return getRGB(pixel);
}
@@ -492,24 +526,24 @@ public class DirectColorModel extends PackedColorModel {
public int getGreen(Object inData) {
int pixel = 0;
switch (transferType) {
- case DataBuffer.TYPE_BYTE:
- byte ba[] = (byte[]) inData;
- pixel = ba[0] & 0xff;
- break;
+ case DataBuffer.TYPE_BYTE:
+ byte ba[] = (byte[])inData;
+ pixel = ba[0] & 0xff;
+ break;
- case DataBuffer.TYPE_USHORT:
- short sa[] = (short[]) inData;
- pixel = sa[0] & 0xffff;
- break;
+ case DataBuffer.TYPE_USHORT:
+ short sa[] = (short[])inData;
+ pixel = sa[0] & 0xffff;
+ break;
- case DataBuffer.TYPE_INT:
- int ia[] = (int[]) inData;
- pixel = ia[0];
- break;
+ case DataBuffer.TYPE_INT:
+ int ia[] = (int[])inData;
+ pixel = ia[0];
+ break;
- default:
- // awt.214=This Color Model doesn't support this transferType
- throw new UnsupportedOperationException(Messages.getString("awt.214")); //$NON-NLS-1$
+ default:
+ // awt.214=This Color Model doesn't support this transferType
+ throw new UnsupportedOperationException(Messages.getString("awt.214")); //$NON-NLS-1$
}
return getGreen(pixel);
}
@@ -518,24 +552,24 @@ public class DirectColorModel extends PackedColorModel {
public int getBlue(Object inData) {
int pixel = 0;
switch (transferType) {
- case DataBuffer.TYPE_BYTE:
- byte ba[] = (byte[]) inData;
- pixel = ba[0] & 0xff;
- break;
+ case DataBuffer.TYPE_BYTE:
+ byte ba[] = (byte[])inData;
+ pixel = ba[0] & 0xff;
+ break;
- case DataBuffer.TYPE_USHORT:
- short sa[] = (short[]) inData;
- pixel = sa[0] & 0xffff;
- break;
+ case DataBuffer.TYPE_USHORT:
+ short sa[] = (short[])inData;
+ pixel = sa[0] & 0xffff;
+ break;
- case DataBuffer.TYPE_INT:
- int ia[] = (int[]) inData;
- pixel = ia[0];
- break;
+ case DataBuffer.TYPE_INT:
+ int ia[] = (int[])inData;
+ pixel = ia[0];
+ break;
- default:
- // awt.214=This Color Model doesn't support this transferType
- throw new UnsupportedOperationException(Messages.getString("awt.214")); //$NON-NLS-1$
+ default:
+ // awt.214=This Color Model doesn't support this transferType
+ throw new UnsupportedOperationException(Messages.getString("awt.214")); //$NON-NLS-1$
}
return getBlue(pixel);
}
@@ -544,24 +578,24 @@ public class DirectColorModel extends PackedColorModel {
public int getAlpha(Object inData) {
int pixel = 0;
switch (transferType) {
- case DataBuffer.TYPE_BYTE:
- byte ba[] = (byte[]) inData;
- pixel = ba[0] & 0xff;
- break;
+ case DataBuffer.TYPE_BYTE:
+ byte ba[] = (byte[])inData;
+ pixel = ba[0] & 0xff;
+ break;
- case DataBuffer.TYPE_USHORT:
- short sa[] = (short[]) inData;
- pixel = sa[0] & 0xffff;
- break;
+ case DataBuffer.TYPE_USHORT:
+ short sa[] = (short[])inData;
+ pixel = sa[0] & 0xffff;
+ break;
- case DataBuffer.TYPE_INT:
- int ia[] = (int[]) inData;
- pixel = ia[0];
- break;
+ case DataBuffer.TYPE_INT:
+ int ia[] = (int[])inData;
+ pixel = ia[0];
+ break;
- default:
- // awt.214=This Color Model doesn't support this transferType
- throw new UnsupportedOperationException(Messages.getString("awt.214")); //$NON-NLS-1$
+ default:
+ // awt.214=This Color Model doesn't support this transferType
+ throw new UnsupportedOperationException(Messages.getString("awt.214")); //$NON-NLS-1$
}
return getAlpha(pixel);
}
@@ -576,14 +610,11 @@ public class DirectColorModel extends PackedColorModel {
int bandMasks[] = componentMasks.clone();
if (pixel_bits > 16) {
- return Raster.createPackedRaster(DataBuffer.TYPE_INT, w, h,
- bandMasks, null);
+ return Raster.createPackedRaster(DataBuffer.TYPE_INT, w, h, bandMasks, null);
} else if (pixel_bits > 8) {
- return Raster.createPackedRaster(DataBuffer.TYPE_USHORT, w, h,
- bandMasks, null);
+ return Raster.createPackedRaster(DataBuffer.TYPE_USHORT, w, h, bandMasks, null);
} else {
- return Raster.createPackedRaster(DataBuffer.TYPE_BYTE, w, h,
- bandMasks, null);
+ return Raster.createPackedRaster(DataBuffer.TYPE_BYTE, w, h, bandMasks, null);
}
}
@@ -594,7 +625,7 @@ public class DirectColorModel extends PackedColorModel {
return false;
}
- SinglePixelPackedSampleModel sppsm = (SinglePixelPackedSampleModel) sm;
+ SinglePixelPackedSampleModel sppsm = (SinglePixelPackedSampleModel)sm;
if (sppsm.getNumBands() != numComponents) {
return false;
@@ -640,8 +671,8 @@ public class DirectColorModel extends PackedColorModel {
@Override
public final int getRGB(int pixel) {
- return (getAlpha(pixel) << 24) | (getRed(pixel) << 16) |
- (getGreen(pixel) << 8) | getBlue(pixel);
+ return (getAlpha(pixel) << 24) | (getRed(pixel) << 16) | (getGreen(pixel) << 8)
+ | getBlue(pixel);
}
@Override
@@ -681,7 +712,7 @@ public class DirectColorModel extends PackedColorModel {
/**
* Gets the red mask.
*
- * @return the red mask
+ * @return the red mask.
*/
public final int getRedMask() {
return componentMasks[0];
@@ -690,7 +721,7 @@ public class DirectColorModel extends PackedColorModel {
/**
* Gets the green mask.
*
- * @return the green mask
+ * @return the green mask.
*/
public final int getGreenMask() {
return componentMasks[1];
@@ -699,7 +730,7 @@ public class DirectColorModel extends PackedColorModel {
/**
* Gets the blue mask.
*
- * @return the blue mask
+ * @return the blue mask.
*/
public final int getBlueMask() {
return componentMasks[2];
@@ -708,7 +739,7 @@ public class DirectColorModel extends PackedColorModel {
/**
* Gets the alpha mask.
*
- * @return the alpha mask
+ * @return the alpha mask.
*/
public final int getAlphaMask() {
if (hasAlpha) {
@@ -727,16 +758,12 @@ public class DirectColorModel extends PackedColorModel {
if (is_LINEAR_RGB) {
if (maxBitLength > 8) {
LINEAR_RGB_Length = 16;
- from_LINEAR_RGB_LUT =
- LUTColorConverter.getFrom16lRGBtosRGB_LUT();
- to_LINEAR_16RGB_LUT =
- LUTColorConverter.getFromsRGBto16lRGB_LUT();
+ from_LINEAR_RGB_LUT = LUTColorConverter.getFrom16lRGBtosRGB_LUT();
+ to_LINEAR_16RGB_LUT = LUTColorConverter.getFromsRGBto16lRGB_LUT();
} else {
LINEAR_RGB_Length = 8;
- from_LINEAR_RGB_LUT =
- LUTColorConverter.getFrom8lRGBtosRGB_LUT();
- to_LINEAR_8RGB_LUT =
- LUTColorConverter.getFromsRGBto8lRGB_LUT();
+ from_LINEAR_RGB_LUT = LUTColorConverter.getFrom8lRGBtosRGB_LUT();
+ to_LINEAR_8RGB_LUT = LUTColorConverter.getFromsRGBto8lRGB_LUT();
}
fFactor = ((1 << LINEAR_RGB_Length) - 1);
} else {
@@ -746,7 +773,7 @@ public class DirectColorModel extends PackedColorModel {
if (hasAlpha && bits[3] != 8) {
alphaLUT = new byte[maxValues[3] + 1];
for (int i = 0; i <= maxValues[3]; i++) {
- alphaLUT[i] = (byte) (scales[3] * i + 0.5f);
+ alphaLUT[i] = (byte)(scales[3] * i + 0.5f);
}
}
@@ -765,7 +792,7 @@ public class DirectColorModel extends PackedColorModel {
}
colorLUTs[i] = new byte[maxValues[i] + 1];
for (int j = 0; j <= maxValues[i]; j++) {
- colorLUTs[i][j] = (byte) (scales[i] * j + 0.5f);
+ colorLUTs[i][j] = (byte)(scales[i] * j + 0.5f);
}
}
}
@@ -784,9 +811,9 @@ public class DirectColorModel extends PackedColorModel {
for (int j = 0; j <= maxValues[0]; j++) {
int idx;
if (LINEAR_RGB_Length == 8) {
- idx = (int) (scales[i] * j + 0.5f);
+ idx = (int)(scales[i] * j + 0.5f);
} else {
- idx = (int) (scales[i] * j * 257.0f + 0.5f);
+ idx = (int)(scales[i] * j * 257.0f + 0.5f);
}
colorLUTs[i][j] = from_LINEAR_RGB_LUT[idx];
}
@@ -798,20 +825,20 @@ public class DirectColorModel extends PackedColorModel {
}
/**
- * This method return RGB component value if Color Model has
- * sRGB ColorSpace.
+ * This method return RGB component value if Color Model has sRGB
+ * ColorSpace.
*
- * @param pixel - INT representation of pixel
- * @param idx - index of pixel component
- *
- * @return - value of the pixel component scaled fro 0 to 255
+ * @param pixel
+ * the integer representation of the pixel.
+ * @param idx
+ * the index of the pixel component.
+ * @return the value of the pixel component scaled from 0 to 255.
*/
private int getComponentFrom_sRGB(int pixel, int idx) {
int comp = (pixel & componentMasks[idx]) >> offsets[idx];
if (isAlphaPremultiplied) {
int alpha = (pixel & componentMasks[3]) >>> offsets[3];
- comp = alpha == 0 ? 0 : (int) (scales[idx] * comp * 255.0f /
- (scales[3] * alpha) + 0.5f);
+ comp = alpha == 0 ? 0 : (int)(scales[idx] * comp * 255.0f / (scales[3] * alpha) + 0.5f);
} else if (bits[idx] != 8) {
comp = colorLUTs[idx][comp] & 0xff;
}
@@ -819,21 +846,21 @@ public class DirectColorModel extends PackedColorModel {
}
/**
- * This method return RGB component value if Color Model has
- * Linear RGB ColorSpace.
- *
- * @param pixel - INT representation of pixel
- * @param idx - index of pixel component
+ * This method return RGB component value if Color Model has Linear RGB
+ * ColorSpace.
*
- * @return - value of the pixel component scaled fro 0 to 255
+ * @param pixel
+ * the integer representation of the pixel.
+ * @param idx
+ * the index of the pixel component.
+ * @return the value of the pixel component scaled from 0 to 255.
*/
private int getComponentFrom_LINEAR_RGB(int pixel, int idx) {
int comp = (pixel & componentMasks[idx]) >> offsets[idx];
if (isAlphaPremultiplied) {
float factor = ((1 << LINEAR_RGB_Length) - 1);
int alpha = (pixel & componentMasks[3]) >> offsets[3];
- comp = alpha == 0 ? 0 : (int) (scales[idx] * comp * factor /
- (scales[3] * alpha) + 0.5f);
+ comp = alpha == 0 ? 0 : (int)(scales[idx] * comp * factor / (scales[3] * alpha) + 0.5f);
} else if (bits[idx] != LINEAR_RGB_Length) {
comp = colorLUTs[idx][comp] & 0xff;
} else {
@@ -843,20 +870,20 @@ public class DirectColorModel extends PackedColorModel {
}
/**
- * This method return RGB component value if Color Model has
- * arbitrary RGB ColorSapce.
+ * This method return RGB component value if Color Model has arbitrary RGB
+ * ColorSapce.
*
- * @param pixel - INT representation of pixel
- * @param idx - index of pixel component
- *
- * @return - value of the pixel component scaled fro 0 to 255
+ * @param pixel
+ * the integer representation of the pixel.
+ * @param idx
+ * the index of the pixel component.
+ * @return the value of the pixel component scaled from 0 to 255.
*/
private int getComponentFrom_RGB(int pixel, int idx) {
int components[] = getComponents(pixel, null, 0);
float[] normComponents = getNormalizedComponents(components, 0, null, 0);
float[] sRGBcomponents = cs.toRGB(normComponents);
- return (int) (sRGBcomponents[idx] * 255.0f + 0.5f);
+ return (int)(sRGBcomponents[idx] * 255.0f + 0.5f);
}
}
-
diff --git a/awt/java/awt/image/FilteredImageSource.java b/awt/java/awt/image/FilteredImageSource.java
index 6a41fa7..ed8558d 100644
--- a/awt/java/awt/image/FilteredImageSource.java
+++ b/awt/java/awt/image/FilteredImageSource.java
@@ -18,32 +18,42 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import java.util.Hashtable;
-
/**
- * The FilteredImageSource class is used for producing image data for a new
- * filtered version of the original image using the specified filter object.
+ * The FilteredImageSource class is used for producing image data for a new
+ * filtered version of the original image using the specified filter object.
+ *
+ * @since Android 1.0
*/
public class FilteredImageSource implements ImageProducer {
- /** The source. */
+ /**
+ * The source.
+ */
private final ImageProducer source;
-
- /** The filter. */
+
+ /**
+ * The filter.
+ */
private final ImageFilter filter;
- /** The cons table. */
+ /**
+ * The cons table.
+ */
private final Hashtable<ImageConsumer, ImageConsumer> consTable = new Hashtable<ImageConsumer, ImageConsumer>();
/**
- * Instantiates a new FilteredImageSource object with
- * the specified ImageProducer and the ImageFilter objects.
+ * Instantiates a new FilteredImageSource object with the specified
+ * ImageProducer and the ImageFilter objects.
*
- * @param orig the specified ImageProducer.
- * @param imgf the specified ImageFilter.
+ * @param orig
+ * the specified ImageProducer.
+ * @param imgf
+ * the specified ImageFilter.
*/
public FilteredImageSource(ImageProducer orig, ImageFilter imgf) {
source = orig;
@@ -51,7 +61,7 @@ public class FilteredImageSource implements ImageProducer {
}
public synchronized boolean isConsumer(ImageConsumer ic) {
- if(ic != null) {
+ if (ic != null) {
return consTable.containsKey(ic);
}
return false;
@@ -64,14 +74,14 @@ public class FilteredImageSource implements ImageProducer {
}
public void requestTopDownLeftRightResend(ImageConsumer ic) {
- if(ic != null && isConsumer(ic)){
- ImageFilter fic = (ImageFilter) consTable.get(ic);
+ if (ic != null && isConsumer(ic)) {
+ ImageFilter fic = (ImageFilter)consTable.get(ic);
fic.resendTopDownLeftRight(source);
}
}
public synchronized void removeConsumer(ImageConsumer ic) {
- if(ic != null && isConsumer(ic)){
+ if (ic != null && isConsumer(ic)) {
ImageConsumer fic = consTable.get(ic);
source.removeConsumer(fic);
consTable.remove(ic);
@@ -79,7 +89,7 @@ public class FilteredImageSource implements ImageProducer {
}
public synchronized void addConsumer(ImageConsumer ic) {
- if(ic != null && !isConsumer(ic)){
+ if (ic != null && !isConsumer(ic)) {
ImageConsumer fic = filter.getFilterInstance(ic);
source.addConsumer(fic);
consTable.put(ic, fic);
diff --git a/awt/java/awt/image/ImageConsumer.java b/awt/java/awt/image/ImageConsumer.java
index 2eba290..caf87d1 100644
--- a/awt/java/awt/image/ImageConsumer.java
+++ b/awt/java/awt/image/ImageConsumer.java
@@ -18,148 +18,168 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import java.util.Hashtable;
/**
- * The ImageConsumer interface provides the data about the image
- * and about how its data is delivered. A ImageProducer provides
- * all of the information about the image using
- * the methods defined in this interface.
+ * The ImageConsumer interface provides the data about the image and about how
+ * its data is delivered. A ImageProducer provides all of the information about
+ * the image using the methods defined in this interface.
+ *
+ * @since Android 1.0
*/
public interface ImageConsumer {
- /**
- * The Constant RANDOMPIXELORDER indicates that the pixels are
- * delivered in a random order.
+ /**
+ * The Constant RANDOMPIXELORDER indicates that the pixels are delivered in
+ * a random order.
*/
public static final int RANDOMPIXELORDER = 1;
- /**
- * The Constant TOPDOWNLEFTRIGHT indicates that the pixels are
- * delivered in top-down, left-to-right order.
+ /**
+ * The Constant TOPDOWNLEFTRIGHT indicates that the pixels are delivered in
+ * top-down, left-to-right order.
*/
public static final int TOPDOWNLEFTRIGHT = 2;
- /**
- * The Constant COMPLETESCANLINES indicates that the pixels are
- * delivered in complete scanline.
+ /**
+ * The Constant COMPLETESCANLINES indicates that the pixels are delivered in
+ * complete scanline.
*/
public static final int COMPLETESCANLINES = 4;
- /**
- * The Constant SINGLEPASS indicates that pixels are delivered
- * in a single pass.
+ /**
+ * The Constant SINGLEPASS indicates that pixels are delivered in a single
+ * pass.
*/
public static final int SINGLEPASS = 8;
- /**
- * The Constant SINGLEFRAME indicates that image consists of
- * single frame.
+ /**
+ * The Constant SINGLEFRAME indicates that image consists of single frame.
*/
public static final int SINGLEFRAME = 16;
- /**
+ /**
* The Constant IMAGEERROR indicates an image error during image producing.
*/
public static final int IMAGEERROR = 1;
- /**
- * The Constant SINGLEFRAMEDONE indicates that only one of the
- * image's frames is completed.
+ /**
+ * The Constant SINGLEFRAMEDONE indicates that only one of the image's
+ * frames is completed.
*/
public static final int SINGLEFRAMEDONE = 2;
- /**
- * The Constant STATICIMAGEDONE indicates that the image is completed.
+ /**
+ * The Constant STATICIMAGEDONE indicates that the image is completed.
*/
public static final int STATICIMAGEDONE = 3;
- /**
- * The Constant IMAGEABORTED indicates that the image producing
- * process is aborted.
+ /**
+ * The Constant IMAGEABORTED indicates that the image producing process is
+ * aborted.
*/
public static final int IMAGEABORTED = 4;
/**
* Sets the properties for the image associated with this ImageConsumer.
*
- * @param props the properties for the image associated with
- * this ImageConsumer.
+ * @param props
+ * the properties for the image associated with this
+ * ImageConsumer.
*/
public void setProperties(Hashtable<?, ?> props);
/**
* Sets the ColorModel object.
*
- * @param model the new ColorModel.
+ * @param model
+ * the new ColorModel.
*/
public void setColorModel(ColorModel model);
/**
* Sets the pixels for the specified rectangular area of the image.
*
- * @param x the X coordinate of rectangular area.
- * @param y the Y coordinate of rectangular area.
- * @param w the width of rectangular area.
- * @param h the height of rectangular area.
- * @param model the specified ColorModel to be used for pixels
- * converting.
- * @param pixels the array of pixels.
- * @param off the offset of pixels array.
- * @param scansize the distance from the one row of pixels
- * to the next row in the specified array.
- */
- public void setPixels(int x, int y, int w, int h, ColorModel model,
- int[] pixels, int off, int scansize);
+ * @param x
+ * the X coordinate of rectangular area.
+ * @param y
+ * the Y coordinate of rectangular area.
+ * @param w
+ * the width of rectangular area.
+ * @param h
+ * the height of rectangular area.
+ * @param model
+ * the specified ColorModel to be used for pixels converting.
+ * @param pixels
+ * the array of pixels.
+ * @param off
+ * the offset of pixels array.
+ * @param scansize
+ * the distance from the one row of pixels to the next row in the
+ * specified array.
+ */
+ public void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off,
+ int scansize);
/**
* Sets the pixels for the specified rectangular area of the image.
*
- * @param x the X coordinate of rectangular area.
- * @param y the Y coordinate of rectangular area.
- * @param w the width of rectangular area.
- * @param h the height of rectangular area.
- * @param model the specified ColorModel to be used for pixels
- * converting.
- * @param pixels the array of pixels.
- * @param off the offset of pixels array.
- * @param scansize the distance from the one row of pixels
- * to the next row in the specified array.
- */
- public void setPixels(int x, int y, int w, int h, ColorModel model,
- byte[] pixels, int off, int scansize);
+ * @param x
+ * the X coordinate of rectangular area.
+ * @param y
+ * the Y coordinate of rectangular area.
+ * @param w
+ * the width of rectangular area.
+ * @param h
+ * the height of rectangular area.
+ * @param model
+ * the specified ColorModel to be used for pixels converting.
+ * @param pixels
+ * the array of pixels.
+ * @param off
+ * the offset of pixels array.
+ * @param scansize
+ * the distance from the one row of pixels to the next row in the
+ * specified array.
+ */
+ public void setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off,
+ int scansize);
/**
* Sets the dimensions of a source image.
*
- * @param width the width of the image.
- * @param height the height of the image.
+ * @param width
+ * the width of the image.
+ * @param height
+ * the height of the image.
*/
public void setDimensions(int width, int height);
/**
- * Sets the hint flags of pixels order, which is used by
- * the ImageConsumer for obtaining pixels from the ImageProducer
- * for which this ImageConsumer is added.
+ * Sets the hint flags of pixels order, which is used by the ImageConsumer
+ * for obtaining pixels from the ImageProducer for which this ImageConsumer
+ * is added.
*
- * @param hintflags the mask of hint flags.
+ * @param hintflags
+ * the mask of hint flags.
*/
public void setHints(int hintflags);
/**
* THis method is called in the one of the following cases:
* <ul>
- * <li>The ImageProducer (for which this ImageConsumer is added)
- * has been delivered all pixels of the source image. </li>
- * <li>A one frame of an animation has been completed. </li>
- * <li> An error while loading or producing of the image has occured.
- * </ul>
+ * <li>The ImageProducer (for which this ImageConsumer is added) has been
+ * delivered all pixels of the source image.</li>
+ * <li>A one frame of an animation has been completed.</li>
+ * <li>An error while loading or producing of the image has occurred.
+ * </ul>
*
- * @param status the status of image producing.
+ * @param status
+ * the status of image producing.
*/
public void imageComplete(int status);
}
-
diff --git a/awt/java/awt/image/ImageFilter.java b/awt/java/awt/image/ImageFilter.java
index e386d65..d2c9f50 100644
--- a/awt/java/awt/image/ImageFilter.java
+++ b/awt/java/awt/image/ImageFilter.java
@@ -18,17 +18,22 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import java.util.Hashtable;
/**
- * The ImageFilter class provides a filter for delivering image data
- * from an ImageProducer to an ImageConsumer.
+ * The ImageFilter class provides a filter for delivering image data from an
+ * ImageProducer to an ImageConsumer.
+ *
+ * @since Android 1.0
*/
public class ImageFilter implements ImageConsumer, Cloneable {
- /** The consumer. */
+ /**
+ * The consumer.
+ */
protected ImageConsumer consumer;
/**
@@ -39,16 +44,16 @@ public class ImageFilter implements ImageConsumer, Cloneable {
}
/**
- * Gets an instance of an ImageFilter object which performs
- * the filtering for the specified ImageConsumer.
- *
- * @param ic the specified ImageConsumer.
+ * Gets an instance of an ImageFilter object which performs the filtering
+ * for the specified ImageConsumer.
*
- * @return an ImageFilter used to perform the filtering for
- * the specified ImageConsumer.
+ * @param ic
+ * the specified ImageConsumer.
+ * @return an ImageFilter used to perform the filtering for the specified
+ * ImageConsumer.
*/
public ImageFilter getFilterInstance(ImageConsumer ic) {
- ImageFilter filter = (ImageFilter) clone();
+ ImageFilter filter = (ImageFilter)clone();
filter.consumer = ic;
return filter;
}
@@ -59,14 +64,14 @@ public class ImageFilter implements ImageConsumer, Cloneable {
if (props == null) {
fprops = new Hashtable<Object, Object>();
} else {
- fprops = (Hashtable<Object, Object>) props.clone();
+ fprops = (Hashtable<Object, Object>)props.clone();
}
String propName = "Filters"; //$NON-NLS-1$
String prop = "Null filter"; //$NON-NLS-1$
Object o = fprops.get(propName);
if (o != null) {
if (o instanceof String) {
- prop = (String) o + "; " + prop; //$NON-NLS-1$
+ prop = (String)o + "; " + prop; //$NON-NLS-1$
} else {
prop = o.toString() + "; " + prop; //$NON-NLS-1$
}
@@ -90,11 +95,11 @@ public class ImageFilter implements ImageConsumer, Cloneable {
}
/**
- * Responds to a request for a Top-Down-Left-Right ordered
- * resend of the pixel data from an ImageConsumer.
+ * Responds to a request for a Top-Down-Left-Right ordered resend of the
+ * pixel data from an ImageConsumer.
*
- * @param ip the ImageProducer that provides this instance of
- * the filter.
+ * @param ip
+ * the ImageProducer that provides this instance of the filter.
*/
public void resendTopDownLeftRight(ImageProducer ip) {
ip.requestTopDownLeftRightResend(this);
diff --git a/awt/java/awt/image/ImageObserver.java b/awt/java/awt/image/ImageObserver.java
index 418bd07..21ec41b 100644
--- a/awt/java/awt/image/ImageObserver.java
+++ b/awt/java/awt/image/ImageObserver.java
@@ -18,82 +18,84 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import java.awt.Image;
/**
- * the ImageObserver interface is an asynchronous update interface
- * for receiving notifications about Image construction status.
+ * the ImageObserver interface is an asynchronous update interface for receiving
+ * notifications about Image construction status.
+ *
+ * @since Android 1.0
*/
public interface ImageObserver {
- /**
- * The Constant WIDTH indicates that the width of the image is
- * available.
+ /**
+ * The Constant WIDTH indicates that the width of the image is available.
*/
public static final int WIDTH = 1;
- /**
- * The Constant HEIGHT indicates that the width of the image is
- * available.
+ /**
+ * The Constant HEIGHT indicates that the width of the image is available.
*/
public static final int HEIGHT = 2;
- /**
- * The Constant PROPERTIES indicates that the properties of the image
- * are available.
+ /**
+ * The Constant PROPERTIES indicates that the properties of the image are
+ * available.
*/
public static final int PROPERTIES = 4;
/**
- * The Constant SOMEBITS indicates that more bits needed for
- * drawing a scaled variation of the image pixels are available.
+ * The Constant SOMEBITS indicates that more bits needed for drawing a
+ * scaled variation of the image pixels are available.
*/
public static final int SOMEBITS = 8;
- /**
- * The Constant FRAMEBITS indicates that complete frame of
- * a image which was previously drawn is now available
- * for drawing again.
+ /**
+ * The Constant FRAMEBITS indicates that complete frame of a image which was
+ * previously drawn is now available for drawing again.
*/
public static final int FRAMEBITS = 16;
- /**
- * The Constant ALLBITS indicates that an image which
- * was previously drawn is now complete and can be drawn again.
+ /**
+ * The Constant ALLBITS indicates that an image which was previously drawn
+ * is now complete and can be drawn again.
*/
public static final int ALLBITS = 32;
- /**
- * The Constant ERROR indicates that error occured.
+ /**
+ * The Constant ERROR indicates that error occurred.
*/
public static final int ERROR = 64;
- /**
- * The Constant ABORT indicates that the image producing is
- * aborted.
+ /**
+ * The Constant ABORT indicates that the image producing is aborted.
*/
public static final int ABORT = 128;
/**
- * This method is called when information about an Image
- * interface becomes available. This method returns true
- * if further updates are needed, false if not.
- *
- * @param img the image to be observed.
- * @param infoflags the bitwise OR combination of information flags:
- * ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS,
- * WIDTH.
- * @param x the X coordinate.
- * @param y the Y coordinate.
- * @param width the width.
- * @param height the height.
+ * This method is called when information about an Image interface becomes
+ * available. This method returns true if further updates are needed, false
+ * if not.
*
+ * @param img
+ * the image to be observed.
+ * @param infoflags
+ * the bitwise OR combination of information flags: ABORT,
+ * ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS,
+ * WIDTH.
+ * @param x
+ * the X coordinate.
+ * @param y
+ * the Y coordinate.
+ * @param width
+ * the width.
+ * @param height
+ * the height.
* @return true if further updates are needed, false if not.
*/
- public boolean imageUpdate(Image img, int infoflags, int x, int y,
- int width, int height);
+ public boolean imageUpdate(Image img, int infoflags, int x, int y, int width, int height);
}
-
diff --git a/awt/java/awt/image/ImageProducer.java b/awt/java/awt/image/ImageProducer.java
index 557ae08..9138be2 100644
--- a/awt/java/awt/image/ImageProducer.java
+++ b/awt/java/awt/image/ImageProducer.java
@@ -18,57 +18,62 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
-package java.awt.image;
+package java.awt.image;
/**
- * The ImageProducer provides an interface for objects which produce
- * the image data. ImageProducer is used for reconstructing the
- * image. Each image contains an ImageProducer.
+ * The ImageProducer provides an interface for objects which produce the image
+ * data. ImageProducer is used for reconstructing the image. Each image contains
+ * an ImageProducer.
+ *
+ * @since Android 1.0
*/
public interface ImageProducer {
/**
- * Checks if the specified ImageConsumer is registered with this
+ * Checks if the specified ImageConsumer is registered with this
* ImageProvider or not.
*
- * @param ic the ImageConsumer to be checked.
- *
- * @return true, if the specified ImageConsumer is registered with this
- * ImageProvider, false otherwise.
+ * @param ic
+ * the ImageConsumer to be checked.
+ * @return true, if the specified ImageConsumer is registered with this
+ * ImageProvider, false otherwise.
*/
public boolean isConsumer(ImageConsumer ic);
/**
- * Starts a reconstruction of the image data which will
- * be delivered to this consumer. This method addes the
- * specified ImageConsumer before reconstructing the image.
+ * Starts a reconstruction of the image data which will be delivered to this
+ * consumer. This method adds the specified ImageConsumer before
+ * reconstructing the image.
*
- * @param ic the specified ImageConsumer.
+ * @param ic
+ * the specified ImageConsumer.
*/
public void startProduction(ImageConsumer ic);
/**
- * Requests the ImageProducer to resend the image data
- * in ImageConsumer.TOPDOWNLEFTRIGHT order.
+ * Requests the ImageProducer to resend the image data in
+ * ImageConsumer.TOPDOWNLEFTRIGHT order.
*
- * @param ic the specified ImageConsumer.
+ * @param ic
+ * the specified ImageConsumer.
*/
public void requestTopDownLeftRightResend(ImageConsumer ic);
/**
* Deregisters the specified ImageConsumer.
*
- * @param ic the specified ImageConsumer.
+ * @param ic
+ * the specified ImageConsumer.
*/
public void removeConsumer(ImageConsumer ic);
/**
* Adds the specified ImageConsumer object to this ImageProducer.
*
- * @param ic the specified ImageConsumer.
+ * @param ic
+ * the specified ImageConsumer.
*/
public void addConsumer(ImageConsumer ic);
}
-
diff --git a/awt/java/awt/image/ImagingOpException.java b/awt/java/awt/image/ImagingOpException.java
index ebcaba4..e0c0127 100644
--- a/awt/java/awt/image/ImagingOpException.java
+++ b/awt/java/awt/image/ImagingOpException.java
@@ -24,19 +24,24 @@
package java.awt.image;
/**
- * The ImagingOpException class provides error notification when
- * the BufferedImageOp or RasterOp filter methods can not perform
- * the desired filter operation.
+ * The ImagingOpException class provides error notification when the
+ * BufferedImageOp or RasterOp filter methods can not perform the desired filter
+ * operation.
+ *
+ * @since Android 1.0
*/
public class ImagingOpException extends RuntimeException {
-
- /** The Constant serialVersionUID. */
+
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = 8026288481846276658L;
/**
* Instantiates a new ImagingOpException with a detail message.
*
- * @param s the detail message.
+ * @param s
+ * the detail message.
*/
public ImagingOpException(String s) {
super(s);
diff --git a/awt/java/awt/image/IndexColorModel.java b/awt/java/awt/image/IndexColorModel.java
index a7043f4..0b06acd 100644
--- a/awt/java/awt/image/IndexColorModel.java
+++ b/awt/java/awt/image/IndexColorModel.java
@@ -18,6 +18,7 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import java.awt.Transparency;
@@ -27,64 +28,92 @@ import java.math.BigInteger;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The Class IndexColorModel represents a color model in which the
- * color values of the pixels are read from a palette.
+ * The Class IndexColorModel represents a color model in which the color values
+ * of the pixels are read from a palette.
+ *
+ * @since Android 1.0
*/
public class IndexColorModel extends ColorModel {
- /** The color map. */
- private int colorMap[]; // Color Map
+ /**
+ * The color map.
+ */
+ private int colorMap[]; // Color Map
+
+ /**
+ * The map size.
+ */
+ private int mapSize; // Color Map size
+
+ /**
+ * The transparent index.
+ */
+ private int transparentIndex; // Index of fully transparent pixel
+
+ /**
+ * The gray palette.
+ */
+ private boolean grayPalette; // Color Model has Color Map with Gray Pallete
- /** The map size. */
- private int mapSize; // Color Map size
+ /**
+ * The valid bits.
+ */
+ private BigInteger validBits; // Specify valid Color Map values
- /** The transparent index. */
- private int transparentIndex; // Index of fully transparent pixel
+ /**
+ * The Constant CACHESIZE.
+ */
+ private static final int CACHESIZE = 20; // Cache size. Cache used for
- /** The gray palette. */
- private boolean grayPalette; // Color Model has Color Map with Gray Pallete
+ // improving performace of selection
+ // nearest color in Color Map
- /** The valid bits. */
- private BigInteger validBits; // Specify valid Color Map values
+ /**
+ * The cachetable.
+ */
+ private final int cachetable[] = new int[CACHESIZE * 2]; // Cache table -
- /** The Constant CACHESIZE. */
- private static final int CACHESIZE = 20; // Cache size. Cache used for
- // improving performace of selection
- // nearest color in Color Map
+ // used for
- /** The cachetable. */
- private final int cachetable[] = new int[CACHESIZE * 2]; // Cache table - used for
- // storing RGB values and that appropriate indices
- // in the Color Map
-
+ // storing RGB values and that appropriate indices
+ // in the Color Map
- /** The next insert idx. */
- private int nextInsertIdx = 0; // Next index for insertion into Cache table
+ /**
+ * The next insert idx.
+ */
+ private int nextInsertIdx = 0; // Next index for insertion into Cache table
- /** The total inserted. */
- private int totalInserted = 0; // Number of inserted values into Cache table
+ /**
+ * The total inserted.
+ */
+ private int totalInserted = 0; // Number of inserted values into Cache table
/**
* Instantiates a new index color model.
*
- * @param bits the array of component masks
- * @param size the size of the color map
- * @param cmap the array that gives the color mapping
- * @param start the start index of the color mapping data within the cmap array
- * @param transferType the transfer type (primitive java type
- * to use for the components)
- * @param validBits a list of which bits represent valid colormap
- * values, or null if all are valid
- *
- * @throws IllegalArgumentException if the size of the color map is
- * less than one
+ * @param bits
+ * the array of component masks.
+ * @param size
+ * the size of the color map.
+ * @param cmap
+ * the array that gives the color mapping.
+ * @param start
+ * the start index of the color mapping data within the cmap
+ * array.
+ * @param transferType
+ * the transfer type (primitive java type to use for the
+ * components).
+ * @param validBits
+ * a list of which bits represent valid colormap values, or null
+ * if all are valid.
+ * @throws IllegalArgumentException
+ * if the size of the color map is less than one.
*/
- public IndexColorModel(int bits, int size, int cmap[], int start,
- int transferType, BigInteger validBits) {
+ public IndexColorModel(int bits, int size, int cmap[], int start, int transferType,
+ BigInteger validBits) {
- super(bits, IndexColorModel.createBits(true),
- ColorSpace.getInstance(ColorSpace.CS_sRGB), true, false,
- Transparency.OPAQUE, validateTransferType(transferType));
+ super(bits, IndexColorModel.createBits(true), ColorSpace.getInstance(ColorSpace.CS_sRGB),
+ true, false, Transparency.OPAQUE, validateTransferType(transferType));
if (size < 1) {
// awt.264=Size of the color map is less than 1
@@ -122,8 +151,7 @@ public class IndexColorModel extends ColorModel {
if (transparency == Transparency.OPAQUE) {
transparency = Transparency.BITMASK;
}
- } else if (alpha != alphaMask &&
- transparency != Transparency.TRANSLUCENT) {
+ } else if (alpha != alphaMask && transparency != Transparency.TRANSLUCENT) {
transparency = Transparency.TRANSLUCENT;
}
@@ -135,25 +163,31 @@ public class IndexColorModel extends ColorModel {
/**
* Instantiates a new index color model.
*
- * @param bits the array of component masks
- * @param size the size of the color map
- * @param cmap the array that gives the color mapping
- * @param start the start index of the color mapping data within the cmap array
- * @param hasalpha whether this color model uses alpha
- * @param trans the transparency supported, @see java.awt.Transparency
- * @param transferType the transfer type (primitive java type
- * to use for the components)
- *
- * @throws IllegalArgumentException if the size of the color map is
- * less than one
+ * @param bits
+ * the array of component masks.
+ * @param size
+ * the size of the color map.
+ * @param cmap
+ * the array that gives the color mapping.
+ * @param start
+ * the start index of the color mapping data within the cmap
+ * array.
+ * @param hasalpha
+ * whether this color model uses alpha.
+ * @param trans
+ * the transparency supported, @see java.awt.Transparency.
+ * @param transferType
+ * the transfer type (primitive java type to use for the
+ * components).
+ * @throws IllegalArgumentException
+ * if the size of the color map is less than one.
*/
- public IndexColorModel(int bits, int size, int cmap[], int start,
- boolean hasalpha, int trans, int transferType) {
+ public IndexColorModel(int bits, int size, int cmap[], int start, boolean hasalpha, int trans,
+ int transferType) {
- super(bits, IndexColorModel.createBits(hasalpha || (trans >= 0)),
- ColorSpace.getInstance(ColorSpace.CS_sRGB),
- (hasalpha || (trans >= 0)), false, Transparency.OPAQUE,
- validateTransferType(transferType));
+ super(bits, IndexColorModel.createBits(hasalpha || (trans >= 0)), ColorSpace
+ .getInstance(ColorSpace.CS_sRGB), (hasalpha || (trans >= 0)), false,
+ Transparency.OPAQUE, validateTransferType(transferType));
if (size < 1) {
// awt.264=Size of the color map is less than 1
@@ -192,8 +226,7 @@ public class IndexColorModel extends ColorModel {
if (transparency == Transparency.OPAQUE) {
transparency = Transparency.BITMASK;
}
- } else if (alpha != 0
- && transparency != Transparency.TRANSLUCENT) {
+ } else if (alpha != 0 && transparency != Transparency.TRANSLUCENT) {
transparency = Transparency.TRANSLUCENT;
}
} else {
@@ -205,55 +238,70 @@ public class IndexColorModel extends ColorModel {
}
/**
- * Instantiates a new index color model by building the color map
- * from arrays of red, green, blue, and alpha values.
+ * Instantiates a new index color model by building the color map from
+ * arrays of red, green, blue, and alpha values.
*
- * @param bits the array of component masks
- * @param size the size of the color map
- * @param r the array giving the red components of the entries in the color map
- * @param g the array giving the green components of the entries in the color map
- * @param b the array giving the blue components of the entries in the color map
- * @param a the array giving the alpha components of the entries in the color map
- *
- * @throws IllegalArgumentException if the size of the color map is
- * less than one
- * @throws ArrayIndexOutOfBoundsException if the size of one of the
- * component arrays is less than the size of the color map
+ * @param bits
+ * the array of component masks.
+ * @param size
+ * the size of the color map.
+ * @param r
+ * the array giving the red components of the entries in the
+ * color map.
+ * @param g
+ * the array giving the green components of the entries in the
+ * color map.
+ * @param b
+ * the array giving the blue components of the entries in the
+ * color map.
+ * @param a
+ * the array giving the alpha components of the entries in the
+ * color map.
+ * @throws IllegalArgumentException
+ * if the size of the color map is less than one.
+ * @throws ArrayIndexOutOfBoundsException
+ * if the size of one of the component arrays is less than the
+ * size of the color map.
*/
- public IndexColorModel(int bits, int size, byte r[], byte g[], byte b[],
- byte a[]) {
+ public IndexColorModel(int bits, int size, byte r[], byte g[], byte b[], byte a[]) {
- super(bits, IndexColorModel.createBits(true),
- ColorSpace.getInstance(ColorSpace.CS_sRGB), true, false,
- Transparency.OPAQUE,
- validateTransferType(ColorModel.getTransferType(bits)));
+ super(bits, IndexColorModel.createBits(true), ColorSpace.getInstance(ColorSpace.CS_sRGB),
+ true, false, Transparency.OPAQUE, validateTransferType(ColorModel
+ .getTransferType(bits)));
createColorMap(size, r, g, b, a, -1);
checkPalette();
}
/**
- * Instantiates a new index color model by building the color map
- * from arrays of red, green, and blue values.
+ * Instantiates a new index color model by building the color map from
+ * arrays of red, green, and blue values.
*
- * @param bits the array of component masks
- * @param size the size of the color map
- * @param r the array giving the red components of the entries in the color map
- * @param g the array giving the green components of the entries in the color map
- * @param b the array giving the blue components of the entries in the color map
- * @param trans the transparency supported, @see java.awt.Transparency
- *
- * @throws IllegalArgumentException if the size of the color map is
- * less than one
- * @throws ArrayIndexOutOfBoundsException if the size of one of the
- * component arrays is less than the size of the color map
+ * @param bits
+ * the array of component masks.
+ * @param size
+ * the size of the color map.
+ * @param r
+ * the array giving the red components of the entries in the
+ * color map.
+ * @param g
+ * the array giving the green components of the entries in the
+ * color map.
+ * @param b
+ * the array giving the blue components of the entries in the
+ * color map.
+ * @param trans
+ * the transparency supported, @see java.awt.Transparency.
+ * @throws IllegalArgumentException
+ * if the size of the color map is less than one.
+ * @throws ArrayIndexOutOfBoundsException
+ * if the size of one of the component arrays is less than the
+ * size of the color map.
*/
- public IndexColorModel(int bits, int size, byte r[], byte g[], byte b[],
- int trans) {
+ public IndexColorModel(int bits, int size, byte r[], byte g[], byte b[], int trans) {
- super(bits, IndexColorModel.createBits((trans >= 0)),
- ColorSpace.getInstance(ColorSpace.CS_sRGB), (trans >= 0), false,
- Transparency.OPAQUE,
+ super(bits, IndexColorModel.createBits((trans >= 0)), ColorSpace
+ .getInstance(ColorSpace.CS_sRGB), (trans >= 0), false, Transparency.OPAQUE,
validateTransferType(ColorModel.getTransferType(bits)));
createColorMap(size, r, g, b, null, trans);
@@ -261,25 +309,32 @@ public class IndexColorModel extends ColorModel {
}
/**
- * Instantiates a new index color model by building the color map
- * from arrays of red, green, and blue values.
- *
- * @param bits the array of component masks
- * @param size the size of the color map
- * @param r the array giving the red components of the entries in the color map
- * @param g the array giving the green components of the entries in the color map
- * @param b the array giving the blue components of the entries in the color map
+ * Instantiates a new index color model by building the color map from
+ * arrays of red, green, and blue values.
*
- * @throws IllegalArgumentException if the size of the color map is
- * less than one
- * @throws ArrayIndexOutOfBoundsException if the size of one of the
- * component arrays is less than the size of the color map
+ * @param bits
+ * the array of component masks.
+ * @param size
+ * the size of the color map.
+ * @param r
+ * the array giving the red components of the entries in the
+ * color map.
+ * @param g
+ * the array giving the green components of the entries in the
+ * color map.
+ * @param b
+ * the array giving the blue components of the entries in the
+ * color map.
+ * @throws IllegalArgumentException
+ * if the size of the color map is less than one.
+ * @throws ArrayIndexOutOfBoundsException
+ * if the size of one of the component arrays is less than the
+ * size of the color map.
*/
public IndexColorModel(int bits, int size, byte r[], byte g[], byte b[]) {
- super(bits, IndexColorModel.createBits(false),
- ColorSpace.getInstance(ColorSpace.CS_sRGB), false, false,
- Transparency.OPAQUE,
- validateTransferType(ColorModel.getTransferType(bits)));
+ super(bits, IndexColorModel.createBits(false), ColorSpace.getInstance(ColorSpace.CS_sRGB),
+ false, false, Transparency.OPAQUE, validateTransferType(ColorModel
+ .getTransferType(bits)));
createColorMap(size, r, g, b, null, -1);
checkPalette();
@@ -288,23 +343,27 @@ public class IndexColorModel extends ColorModel {
/**
* Instantiates a new index color model.
*
- * @param bits the array of component masks
- * @param size the size of the color map
- * @param cmap the array that gives the color mapping
- * @param start the start index of the color mapping data within the cmap array
- * @param hasalpha whether this color model uses alpha
- * @param trans the transparency supported, @see java.awt.Transparency
- *
- * @throws IllegalArgumentException if the size of the color map is
- * less than one
+ * @param bits
+ * the array of component masks.
+ * @param size
+ * the size of the color map.
+ * @param cmap
+ * the array that gives the color mapping.
+ * @param start
+ * the start index of the color mapping data within the cmap
+ * array.
+ * @param hasalpha
+ * whether this color model uses alpha.
+ * @param trans
+ * the transparency supported, @see java.awt.Transparency.
+ * @throws IllegalArgumentException
+ * if the size of the color map is less than one.
*/
- public IndexColorModel(int bits, int size, byte cmap[], int start,
- boolean hasalpha, int trans) {
+ public IndexColorModel(int bits, int size, byte cmap[], int start, boolean hasalpha, int trans) {
- super(bits, IndexColorModel.createBits(hasalpha || (trans >= 0)),
- ColorSpace.getInstance(ColorSpace.CS_sRGB),
- (hasalpha || (trans >= 0)), false, Transparency.OPAQUE,
- validateTransferType(ColorModel.getTransferType(bits)));
+ super(bits, IndexColorModel.createBits(hasalpha || (trans >= 0)), ColorSpace
+ .getInstance(ColorSpace.CS_sRGB), (hasalpha || (trans >= 0)), false,
+ Transparency.OPAQUE, validateTransferType(ColorModel.getTransferType(bits)));
if (size < 1) {
// awt.264=Size of the color map is less than 1
@@ -319,13 +378,13 @@ public class IndexColorModel extends ColorModel {
int alpha = 0xff000000;
for (int i = 0; i < mapSize; i++) {
- colorMap[i] = (cmap[start++] & 0xff) << 16 |
- (cmap[start++] & 0xff) << 8 | (cmap[start++] & 0xff);
+ colorMap[i] = (cmap[start++] & 0xff) << 16 | (cmap[start++] & 0xff) << 8
+ | (cmap[start++] & 0xff);
if (trans == i) {
if (transparency == Transparency.OPAQUE) {
transparency = Transparency.BITMASK;
}
- if(hasalpha) {
+ if (hasalpha) {
start++;
}
continue;
@@ -340,8 +399,7 @@ public class IndexColorModel extends ColorModel {
}
}
} else {
- if (alpha != 0xff &&
- transparency != Transparency.TRANSLUCENT) {
+ if (alpha != 0xff && transparency != Transparency.TRANSLUCENT) {
transparency = Transparency.TRANSLUCENT;
}
}
@@ -360,25 +418,29 @@ public class IndexColorModel extends ColorModel {
/**
* Instantiates a new index color model.
*
- * @param bits the array of component masks
- * @param size the size of the color map
- * @param cmap the array that gives the color mapping
- * @param start the start index of the color mapping data within the cmap array
- * @param hasalpha whether this color model uses alpha
- *
- * @throws IllegalArgumentException if the size of the color map is
- * less than one
+ * @param bits
+ * the array of component masks.
+ * @param size
+ * the size of the color map.
+ * @param cmap
+ * the array that gives the color mapping.
+ * @param start
+ * the start index of the color mapping data within the cmap
+ * array.
+ * @param hasalpha
+ * whether this color model uses alpha.
+ * @throws IllegalArgumentException
+ * if the size of the color map is less than one.
*/
- public IndexColorModel(int bits, int size, byte cmap[], int start,
- boolean hasalpha) {
+ public IndexColorModel(int bits, int size, byte cmap[], int start, boolean hasalpha) {
this(bits, size, cmap, start, hasalpha, -1);
}
@Override
public Object getDataElements(int[] components, int offset, Object pixel) {
- int rgb = (components[offset] << 16) | (components[offset + 1]) << 8 |
- components[offset + 2];
+ int rgb = (components[offset] << 16) | (components[offset + 1]) << 8
+ | components[offset + 2];
if (hasAlpha) {
rgb |= components[offset + 3] << 24;
} else {
@@ -419,7 +481,7 @@ public class IndexColorModel extends ColorModel {
}
} else if (alpha == 0 && transparentIndex > -1) {
pixIdx = transparentIndex;
- } else {
+ } else {
int minAlphaError = 255;
int minError = 195075; // 255^2 + 255^2 + 255^2
int alphaError;
@@ -470,19 +532,19 @@ public class IndexColorModel extends ColorModel {
/**
* Converts an image from indexed to RGB format.
*
- * @param raster the raster containing the source image
- * @param forceARGB whether to use the default RGB color model
- *
- * @return the buffered image
- *
- * @throws IllegalArgumentException if the raster is not compatible with
- * this color model
+ * @param raster
+ * the raster containing the source image.
+ * @param forceARGB
+ * whether to use the default RGB color model.
+ * @return the buffered image.
+ * @throws IllegalArgumentException
+ * if the raster is not compatible with this color model.
*/
- public BufferedImage convertToIntDiscrete(Raster raster,
- boolean forceARGB) {
+ public BufferedImage convertToIntDiscrete(Raster raster, boolean forceARGB) {
if (!isCompatibleRaster(raster)) {
- // awt.265=The raster argument is not compatible with this IndexColorModel
+ // awt.265=The raster argument is not compatible with this
+ // IndexColorModel
throw new IllegalArgumentException(Messages.getString("awt.265")); //$NON-NLS-1$
}
@@ -490,8 +552,7 @@ public class IndexColorModel extends ColorModel {
if (forceARGB || transparency == Transparency.TRANSLUCENT) {
model = ColorModel.getRGBdefault();
} else if (transparency == Transparency.BITMASK) {
- model = new DirectColorModel(25, 0x00ff0000, 0x0000ff00,
- 0x000000ff, 0x01000000);
+ model = new DirectColorModel(25, 0x00ff0000, 0x0000ff00, 0x000000ff, 0x01000000);
} else {
model = new DirectColorModel(24, 0x00ff0000, 0x0000ff00, 0x000000ff);
}
@@ -510,7 +571,7 @@ public class IndexColorModel extends ColorModel {
for (int i = 0; i < h; i++, minY++) {
obj = raster.getDataElements(minX, minY, w, 1, obj);
if (obj instanceof byte[]) {
- byte ba[] = (byte[]) obj;
+ byte ba[] = (byte[])obj;
if (pixels == null) {
pixels = new int[ba.length];
}
@@ -518,7 +579,7 @@ public class IndexColorModel extends ColorModel {
pixels[j] = colorMap[ba[j] & 0xff];
}
} else if (obj instanceof short[]) {
- short sa[] = (short[]) obj;
+ short sa[] = (short[])obj;
if (pixels == null) {
pixels = new int[sa.length];
}
@@ -527,7 +588,7 @@ public class IndexColorModel extends ColorModel {
}
}
if (obj instanceof int[]) {
- int ia[] = (int[]) obj;
+ int ia[] = (int[])obj;
if (pixels == null) {
pixels = new int[ia.length];
}
@@ -545,7 +606,7 @@ public class IndexColorModel extends ColorModel {
/**
* Gets the valid pixels.
*
- * @return the valid pixels
+ * @return the valid pixels.
*/
public BigInteger getValidPixels() {
return validBits;
@@ -553,14 +614,15 @@ public class IndexColorModel extends ColorModel {
@Override
public String toString() {
- // The output format based on 1.5 release behaviour.
+ // The output format based on 1.5 release behaviour.
// It could be reveled such way:
- // BufferedImage bi = new BufferedImage(1, 1, BufferedImage.TYPE_BYTE_INDEXED);
+ // BufferedImage bi = new BufferedImage(1, 1,
+ // BufferedImage.TYPE_BYTE_INDEXED);
// ColorModel cm = bi.getColorModel();
// System.out.println(cm.toString());
String str = "IndexColorModel: #pixel_bits = " + pixel_bits + //$NON-NLS-1$
- " numComponents = " + numComponents + " color space = " + cs + //$NON-NLS-1$ //$NON-NLS-2$
- " transparency = "; //$NON-NLS-1$
+ " numComponents = " + numComponents + " color space = " + cs + //$NON-NLS-1$ //$NON-NLS-2$
+ " transparency = "; //$NON-NLS-1$
if (transparency == Transparency.OPAQUE) {
str = str + "Transparency.OPAQUE"; //$NON-NLS-1$
@@ -571,7 +633,7 @@ public class IndexColorModel extends ColorModel {
}
str = str + " transIndex = " + transparentIndex + " has alpha = " + //$NON-NLS-1$ //$NON-NLS-2$
- hasAlpha + " isAlphaPre = " + isAlphaPremultiplied; //$NON-NLS-1$
+ hasAlpha + " isAlphaPre = " + isAlphaPremultiplied; //$NON-NLS-1$
return str;
}
@@ -580,13 +642,13 @@ public class IndexColorModel extends ColorModel {
public int[] getComponents(Object pixel, int components[], int offset) {
int pixIdx = -1;
if (pixel instanceof byte[]) {
- byte ba[] = (byte[]) pixel;
+ byte ba[] = (byte[])pixel;
pixIdx = ba[0] & 0xff;
} else if (pixel instanceof short[]) {
- short sa[] = (short[]) pixel;
+ short sa[] = (short[])pixel;
pixIdx = sa[0] & 0xffff;
} else if (pixel instanceof int[]) {
- int ia[] = (int[]) pixel;
+ int ia[] = (int[])pixel;
pixIdx = ia[0];
} else {
// awt.219=This transferType is not supported by this color model
@@ -600,14 +662,11 @@ public class IndexColorModel extends ColorModel {
public WritableRaster createCompatibleWritableRaster(int w, int h) {
WritableRaster raster;
if (pixel_bits == 1 || pixel_bits == 2 || pixel_bits == 4) {
- raster = Raster.createPackedRaster(DataBuffer.TYPE_BYTE, w, h, 1,
- pixel_bits, null);
+ raster = Raster.createPackedRaster(DataBuffer.TYPE_BYTE, w, h, 1, pixel_bits, null);
} else if (pixel_bits <= 8) {
- raster = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, w, h,
- 1, null);
+ raster = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, w, h, 1, null);
} else if (pixel_bits <= 16) {
- raster = Raster.createInterleavedRaster(DataBuffer.TYPE_USHORT, w,
- h, 1, null);
+ raster = Raster.createInterleavedRaster(DataBuffer.TYPE_USHORT, w, h, 1, null);
} else {
// awt.266=The number of bits in a pixel is greater than 16
throw new UnsupportedOperationException(Messages.getString("awt.266")); //$NON-NLS-1$
@@ -622,8 +681,7 @@ public class IndexColorModel extends ColorModel {
return false;
}
- if (!(sm instanceof MultiPixelPackedSampleModel)
- && !(sm instanceof ComponentSampleModel)) {
+ if (!(sm instanceof MultiPixelPackedSampleModel) && !(sm instanceof ComponentSampleModel)) {
return false;
}
@@ -640,48 +698,45 @@ public class IndexColorModel extends ColorModel {
@Override
public SampleModel createCompatibleSampleModel(int w, int h) {
if (pixel_bits == 1 || pixel_bits == 2 || pixel_bits == 4) {
- return new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, w, h,
- pixel_bits);
+ return new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, w, h, pixel_bits);
}
int bandOffsets[] = new int[1];
bandOffsets[0] = 0;
- return new ComponentSampleModel(transferType, w, h, 1, w,
- bandOffsets);
+ return new ComponentSampleModel(transferType, w, h, 1, w, bandOffsets);
}
@Override
public boolean isCompatibleRaster(Raster raster) {
int sampleSize = raster.getSampleModel().getSampleSize(0);
- return (raster.getTransferType() == transferType &&
- raster.getNumBands() == 1 && (1 << sampleSize) >= mapSize);
+ return (raster.getTransferType() == transferType && raster.getNumBands() == 1 && (1 << sampleSize) >= mapSize);
}
@Override
public int getDataElement(int components[], int offset) {
int rgb = (components[offset] << 16) | (components[offset + 1]) << 8
| components[offset + 2];
-
+
if (hasAlpha) {
rgb |= components[offset + 3] << 24;
} else {
rgb |= 0xff000000;
}
-
+
int pixel;
switch (transferType) {
- case DataBuffer.TYPE_BYTE:
- byte ba[] = (byte[]) getDataElements(rgb, null);
- pixel = ba[0] & 0xff;
- break;
- case DataBuffer.TYPE_USHORT:
- short sa[] = (short[]) getDataElements(rgb, null);
- pixel = sa[0] & 0xffff;
- break;
- default:
- // awt.267=The transferType is invalid
- throw new UnsupportedOperationException(Messages.getString("awt.267")); //$NON-NLS-1$
+ case DataBuffer.TYPE_BYTE:
+ byte ba[] = (byte[])getDataElements(rgb, null);
+ pixel = ba[0] & 0xff;
+ break;
+ case DataBuffer.TYPE_USHORT:
+ short sa[] = (short[])getDataElements(rgb, null);
+ pixel = sa[0] & 0xffff;
+ break;
+ default:
+ // awt.267=The transferType is invalid
+ throw new UnsupportedOperationException(Messages.getString("awt.267")); //$NON-NLS-1$
}
return pixel;
@@ -690,7 +745,8 @@ public class IndexColorModel extends ColorModel {
/**
* Gets the color map.
*
- * @param rgb the destination array where the color map is written
+ * @param rgb
+ * the destination array where the color map is written.
*/
public final void getRGBs(int rgb[]) {
System.arraycopy(colorMap, 0, rgb, 0, mapSize);
@@ -699,44 +755,48 @@ public class IndexColorModel extends ColorModel {
/**
* Gets the red component of the color map.
*
- * @param r the destination array
+ * @param r
+ * the destination array.
*/
public final void getReds(byte r[]) {
for (int i = 0; i < mapSize; i++) {
- r[i] = (byte) (colorMap[i] >> 16);
+ r[i] = (byte)(colorMap[i] >> 16);
}
}
/**
* Gets the green component of the color map.
*
- * @param g the destination array
+ * @param g
+ * the destination array.
*/
public final void getGreens(byte g[]) {
for (int i = 0; i < mapSize; i++) {
- g[i] = (byte) (colorMap[i] >> 8);
+ g[i] = (byte)(colorMap[i] >> 8);
}
}
/**
* Gets the blue component of the color map.
*
- * @param b the destination array
+ * @param b
+ * the destination array.
*/
public final void getBlues(byte b[]) {
for (int i = 0; i < mapSize; i++) {
- b[i] = (byte) colorMap[i];
+ b[i] = (byte)colorMap[i];
}
}
/**
* Gets the alpha component of the color map.
*
- * @param a the destination array
+ * @param a
+ * the destination array.
*/
public final void getAlphas(byte a[]) {
for (int i = 0; i < mapSize; i++) {
- a[i] = (byte) (colorMap[i] >> 24);
+ a[i] = (byte)(colorMap[i] >> 24);
}
}
@@ -759,9 +819,9 @@ public class IndexColorModel extends ColorModel {
/**
* Checks if the specified pixel is valid for this color model.
*
- * @param pixel the pixel
- *
- * @return true, if the pixel is valid
+ * @param pixel
+ * the pixel.
+ * @return true, if the pixel is valid.
*/
public boolean isValid(int pixel) {
if (validBits == null) {
@@ -803,7 +863,7 @@ public class IndexColorModel extends ColorModel {
/**
* Checks if this color model validates pixels.
*
- * @return true, if all pixels are valid, otherwise false
+ * @return true, if all pixels are valid, otherwise false.
*/
public boolean isValid() {
return (validBits == null);
@@ -818,7 +878,7 @@ public class IndexColorModel extends ColorModel {
/**
* Gets the index that represents the transparent pixel.
*
- * @return the index that represents the transparent pixel
+ * @return the index that represents the transparent pixel.
*/
public final int getTransparentPixel() {
return transparentIndex;
@@ -832,7 +892,7 @@ public class IndexColorModel extends ColorModel {
/**
* Gets the size of the color map.
*
- * @return the map size
+ * @return the map size.
*/
public final int getMapSize() {
return mapSize;
@@ -841,15 +901,20 @@ public class IndexColorModel extends ColorModel {
/**
* Creates the color map.
*
- * @param size the size
- * @param r the r
- * @param g the g
- * @param b the b
- * @param a the a
- * @param trans the trans
- */
- private void createColorMap(int size, byte r[], byte g[], byte b[],
- byte a[], int trans) {
+ * @param size
+ * the size.
+ * @param r
+ * the r.
+ * @param g
+ * the g.
+ * @param b
+ * the b.
+ * @param a
+ * the a.
+ * @param trans
+ * the trans.
+ */
+ private void createColorMap(int size, byte r[], byte g[], byte b[], byte a[], int trans) {
if (size < 1) {
// awt.264=Size of the color map is less than 1
throw new IllegalArgumentException(Messages.getString("awt.264")); //$NON-NLS-1$
@@ -867,8 +932,7 @@ public class IndexColorModel extends ColorModel {
int alpha = 0;
for (int i = 0; i < mapSize; i++) {
- colorMap[i] = ((r[i] & 0xff) << 16) | ((g[i] & 0xff) << 8) |
- (b[i] & 0xff);
+ colorMap[i] = ((r[i] & 0xff) << 16) | ((g[i] & 0xff) << 8) | (b[i] & 0xff);
if (trans == i) {
continue;
@@ -900,7 +964,7 @@ public class IndexColorModel extends ColorModel {
}
/**
- * This method checking, if Color Map has Gray Palette.
+ * This method checking, if Color Map has Gray palette.
*/
private void checkPalette() {
grayPalette = false;
@@ -911,8 +975,7 @@ public class IndexColorModel extends ColorModel {
for (int i = 0; i < mapSize; i++) {
rgb = colorMap[i];
- if (((rgb >> 16) & 0xff) != ((rgb >> 8) & 0xff) ||
- ((rgb >> 8) & 0xff) != (rgb & 0xff)) {
+ if (((rgb >> 16) & 0xff) != ((rgb >> 8) & 0xff) || ((rgb >> 8) & 0xff) != (rgb & 0xff)) {
return;
}
}
@@ -922,40 +985,39 @@ public class IndexColorModel extends ColorModel {
/**
* Construction an array pixel representation.
*
- * @param colorMapIdx - index into Color Map
- * @param pixel - pixel
- *
- * @return - an array pixel representation
+ * @param colorMapIdx
+ * the index into Color Map.
+ * @param pixel
+ * the pixel
+ * @return the pixel representation array.
*/
private Object createDataObject(int colorMapIdx, Object pixel) {
if (pixel == null) {
switch (transferType) {
- case DataBuffer.TYPE_BYTE:
- byte[] ba = new byte[1];
- ba[0] = (byte) colorMapIdx;
- pixel = ba;
- break;
- case DataBuffer.TYPE_USHORT:
- short[] sa = new short[1];
- sa[0] = (short) colorMapIdx;
- pixel = sa;
- break;
- default:
- // awt.267=The transferType is invalid
- throw new UnsupportedOperationException(Messages.getString("awt.267")); //$NON-NLS-1$
+ case DataBuffer.TYPE_BYTE:
+ byte[] ba = new byte[1];
+ ba[0] = (byte)colorMapIdx;
+ pixel = ba;
+ break;
+ case DataBuffer.TYPE_USHORT:
+ short[] sa = new short[1];
+ sa[0] = (short)colorMapIdx;
+ pixel = sa;
+ break;
+ default:
+ // awt.267=The transferType is invalid
+ throw new UnsupportedOperationException(Messages.getString("awt.267")); //$NON-NLS-1$
}
- } else if (pixel instanceof byte[]
- && transferType == DataBuffer.TYPE_BYTE) {
- byte ba[] = (byte[]) pixel;
- ba[0] = (byte) colorMapIdx;
+ } else if (pixel instanceof byte[] && transferType == DataBuffer.TYPE_BYTE) {
+ byte ba[] = (byte[])pixel;
+ ba[0] = (byte)colorMapIdx;
pixel = ba;
- } else if (pixel instanceof short[]&&
- transferType == DataBuffer.TYPE_USHORT) {
- short[] sa = (short[]) pixel;
- sa[0] = (short) colorMapIdx;
+ } else if (pixel instanceof short[] && transferType == DataBuffer.TYPE_USHORT) {
+ short[] sa = (short[])pixel;
+ sa[0] = (short)colorMapIdx;
pixel = sa;
} else if (pixel instanceof int[]) {
- int ia[] = (int[]) pixel;
+ int ia[] = (int[])pixel;
ia[0] = colorMapIdx;
pixel = ia;
} else {
@@ -968,9 +1030,9 @@ public class IndexColorModel extends ColorModel {
/**
* Creates the bits.
*
- * @param hasAlpha the has alpha
- *
- * @return the int[]
+ * @param hasAlpha
+ * the has alpha.
+ * @return the int[].
*/
private static int[] createBits(boolean hasAlpha) {
@@ -993,28 +1055,26 @@ public class IndexColorModel extends ColorModel {
/**
* Validate transfer type.
*
- * @param transferType the transfer type
- *
- * @return the int
+ * @param transferType
+ * the transfer type.
+ * @return the int.
*/
private static int validateTransferType(int transferType) {
- if (transferType != DataBuffer.TYPE_BYTE &&
- transferType != DataBuffer.TYPE_USHORT) {
- // awt.269=The transferType is not one of DataBuffer.TYPE_BYTE or DataBuffer.TYPE_USHORT
+ if (transferType != DataBuffer.TYPE_BYTE && transferType != DataBuffer.TYPE_USHORT) {
+ // awt.269=The transferType is not one of DataBuffer.TYPE_BYTE or
+ // DataBuffer.TYPE_USHORT
throw new IllegalArgumentException(Messages.getString("awt.269")); //$NON-NLS-1$
}
return transferType;
}
/**
- * Checks if is gray pallete.
+ * Checks if is gray palette.
*
- * @return true, if is gray pallete
+ * @return true, if is gray palette.
*/
- boolean isGrayPallete(){
+ boolean isGrayPallete() {
return grayPalette;
}
}
-
-
diff --git a/awt/java/awt/image/Kernel.java b/awt/java/awt/image/Kernel.java
index c6f00e2..a59d27a 100644
--- a/awt/java/awt/image/Kernel.java
+++ b/awt/java/awt/image/Kernel.java
@@ -27,38 +27,53 @@ import org.apache.harmony.awt.internal.nls.Messages;
/**
* The Kernel class provides a matrix. This matrix is stored as a float array
- * which describes how a specified pixel affects the value calculated for
- * the pixel's position in the output image of a filtering operation.
- * The X, Y origins indicate the kernel matrix element which corresponds to
- * the pixel position for which an output value is being calculated.
+ * which describes how a specified pixel affects the value calculated for the
+ * pixel's position in the output image of a filtering operation. The X, Y
+ * origins indicate the kernel matrix element which corresponds to the pixel
+ * position for which an output value is being calculated.
+ *
+ * @since Android 1.0
*/
public class Kernel implements Cloneable {
-
- /** The x origin. */
+
+ /**
+ * The x origin.
+ */
private final int xOrigin;
-
- /** The y origin. */
+
+ /**
+ * The y origin.
+ */
private final int yOrigin;
-
- /** The width. */
+
+ /**
+ * The width.
+ */
private int width;
-
- /** The height. */
+
+ /**
+ * The height.
+ */
private int height;
-
- /** The data. */
+
+ /**
+ * The data.
+ */
float data[];
/**
- * Instantiates a new Kernel with the specified float array.
- * The width*height elements of the data array are copied.
+ * Instantiates a new Kernel with the specified float array. The
+ * width*height elements of the data array are copied.
*
- * @param width the width of the Kernel.
- * @param height the height of the Kernel.
- * @param data the data of Kernel.
+ * @param width
+ * the width of the Kernel.
+ * @param height
+ * the height of the Kernel.
+ * @param data
+ * the data of Kernel.
*/
public Kernel(int width, int height, float[] data) {
- int dataLength = width*height;
+ int dataLength = width * height;
if (data.length < dataLength) {
// awt.22B=Length of data should not be less than width*height
throw new IllegalArgumentException(Messages.getString("awt.22B")); //$NON-NLS-1$
@@ -70,8 +85,8 @@ public class Kernel implements Cloneable {
this.data = new float[dataLength];
System.arraycopy(data, 0, this.data, 0, dataLength);
- xOrigin = (width-1)/2;
- yOrigin = (height-1)/2;
+ xOrigin = (width - 1) / 2;
+ yOrigin = (height - 1) / 2;
}
/**
@@ -95,8 +110,8 @@ public class Kernel implements Cloneable {
/**
* Gets the float data array of this Kernel.
*
- * @param data the float array where the resulted data will be stored.
- *
+ * @param data
+ * the float array where the resulted data will be stored.
* @return the float data array of this Kernel.
*/
public final float[] getKernelData(float[] data) {
diff --git a/awt/java/awt/image/LookupOp.java b/awt/java/awt/image/LookupOp.java
index f9bd2c7..3362c5c 100644
--- a/awt/java/awt/image/LookupOp.java
+++ b/awt/java/awt/image/LookupOp.java
@@ -32,56 +32,76 @@ import org.apache.harmony.awt.gl.AwtImageBackdoorAccessor;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The LookupOp class perfoms a lookup operation which transforms a
- * source image by filtering each band using a table of data.
- * The table may contain a single array or it may contain a
- * different data array for each band of the image.
+ * The LookupOp class performs a lookup operation which transforms a source
+ * image by filtering each band using a table of data. The table may contain a
+ * single array or it may contain a different data array for each band of the
+ * image.
+ *
+ * @since Android 1.0
*/
public class LookupOp implements BufferedImageOp, RasterOp {
-
- /** The lut. */
+
+ /**
+ * The lut.
+ */
private final LookupTable lut;
-
- /** The hints. */
+
+ /**
+ * The hints.
+ */
private RenderingHints hints;
-
+
// TODO remove when this field is used
- /** The can use ipp. */
+ /**
+ * The can use ipp.
+ */
@SuppressWarnings("unused")
private final boolean canUseIpp;
// We don't create levels/values when it is possible to reuse old
- /** The cached levels. */
+ /**
+ * The cached levels.
+ */
private int cachedLevels[];
-
- /** The cached values. */
+
+ /**
+ * The cached values.
+ */
private int cachedValues[];
+
// Number of channels for which cache is valid.
- // If negative number of channels is same as positive but skipAlpha was specified
- /** The valid for channels. */
+ // If negative number of channels is same as positive but skipAlpha was
+ // specified
+ /**
+ * The valid for channels.
+ */
private int validForChannels;
- /** The level initializer. */
+ /**
+ * The level initializer.
+ */
static int levelInitializer[] = new int[0x10000];
static {
// TODO
// System.loadLibrary("imageops");
- for (int i=1; i<=0x10000; i++) {
- levelInitializer[i-1] = i;
+ for (int i = 1; i <= 0x10000; i++) {
+ levelInitializer[i - 1] = i;
}
}
/**
- * Instantiates a new LookupOp object from the specified
- * LookupTable object and a RenderingHints object.
+ * Instantiates a new LookupOp object from the specified LookupTable object
+ * and a RenderingHints object.
*
- * @param lookup the specified LookupTable object.
- * @param hints the RenderingHints object or null.
+ * @param lookup
+ * the specified LookupTable object.
+ * @param hints
+ * the RenderingHints object or null.
*/
public LookupOp(LookupTable lookup, RenderingHints hints) {
- if (lookup == null){
+ if (lookup == null) {
throw new NullPointerException(Messages.getString("awt.01", "lookup")); //$NON-NLS-1$ //$NON-NLS-2$
}
lut = lookup;
@@ -136,27 +156,16 @@ public class LookupOp implements BufferedImageOp, RasterOp {
transferType = DataBuffer.TYPE_SHORT;
}
- dstCM = new ComponentColorModel(
- dstCM.cs,
- dstCM.hasAlpha(),
- dstCM.isAlphaPremultiplied,
- dstCM.transparency,
- transferType
- );
+ dstCM = new ComponentColorModel(dstCM.cs, dstCM.hasAlpha(),
+ dstCM.isAlphaPremultiplied, dstCM.transparency, transferType);
}
}
- WritableRaster r =
- dstCM.isCompatibleSampleModel(src.getSampleModel()) ?
- src.getRaster().createCompatibleWritableRaster(src.getWidth(), src.getHeight()) :
- dstCM.createCompatibleWritableRaster(src.getWidth(), src.getHeight());
-
- return new BufferedImage(
- dstCM,
- r,
- dstCM.isAlphaPremultiplied(),
- null
- );
+ WritableRaster r = dstCM.isCompatibleSampleModel(src.getSampleModel()) ? src.getRaster()
+ .createCompatibleWritableRaster(src.getWidth(), src.getHeight()) : dstCM
+ .createCompatibleWritableRaster(src.getWidth(), src.getHeight());
+
+ return new BufferedImage(dstCM, r, dstCM.isAlphaPremultiplied(), null);
}
public final WritableRaster filter(Raster src, WritableRaster dst) {
@@ -166,25 +175,27 @@ public class LookupOp implements BufferedImageOp, RasterOp {
if (src.getNumBands() != dst.getNumBands()) {
throw new IllegalArgumentException(Messages.getString("awt.237")); //$NON-NLS-1$ }
}
- if (src.getWidth() != dst.getWidth()){
+ if (src.getWidth() != dst.getWidth()) {
throw new IllegalArgumentException(Messages.getString("awt.28F")); //$NON-NLS-1$ }
}
- if (src.getHeight() != dst.getHeight()){
+ if (src.getHeight() != dst.getHeight()) {
throw new IllegalArgumentException(Messages.getString("awt.290")); //$NON-NLS-1$ }
}
}
if (lut.getNumComponents() != 1 && lut.getNumComponents() != src.getNumBands()) {
- // awt.238=The number of arrays in the LookupTable does not meet the restrictions
+ // awt.238=The number of arrays in the LookupTable does not meet the
+ // restrictions
throw new IllegalArgumentException(Messages.getString("awt.238")); //$NON-NLS-1$
}
// TODO
- // if (!canUseIpp || ippFilter(src, dst, BufferedImage.TYPE_CUSTOM, false) != 0)
- if (slowFilter(src, dst, false) != 0) {
- // awt.21F=Unable to transform source
- throw new ImagingOpException (Messages.getString("awt.21F")); //$NON-NLS-1$
- }
+ // if (!canUseIpp || ippFilter(src, dst, BufferedImage.TYPE_CUSTOM,
+ // false) != 0)
+ if (slowFilter(src, dst, false) != 0) {
+ // awt.21F=Unable to transform source
+ throw new ImagingOpException(Messages.getString("awt.21F")); //$NON-NLS-1$
+ }
return dst;
}
@@ -202,18 +213,20 @@ public class LookupOp implements BufferedImageOp, RasterOp {
int nLUTComponents = lut.getNumComponents();
boolean skipAlpha;
if (srcCM.hasAlpha()) {
- if (nLUTComponents == 1 || nLUTComponents == nComponents-1) {
+ if (nLUTComponents == 1 || nLUTComponents == nComponents - 1) {
skipAlpha = true;
} else if (nLUTComponents == nComponents) {
skipAlpha = false;
} else {
- // awt.229=Number of components in the LUT does not match the number of bands
+ // awt.229=Number of components in the LUT does not match the
+ // number of bands
throw new IllegalArgumentException(Messages.getString("awt.229")); //$NON-NLS-1$
}
} else if (nLUTComponents == 1 || nLUTComponents == nComponents) {
skipAlpha = false;
} else {
- // awt.229=Number of components in the LUT does not match the number of bands
+ // awt.229=Number of components in the LUT does not match the number
+ // of bands
throw new IllegalArgumentException(Messages.getString("awt.229")); //$NON-NLS-1$
}
@@ -222,21 +235,19 @@ public class LookupOp implements BufferedImageOp, RasterOp {
finalDst = dst;
dst = createCompatibleDestImage(src, null);
} else {
- if (src.getWidth() != dst.getWidth()){
+ if (src.getWidth() != dst.getWidth()) {
throw new IllegalArgumentException(Messages.getString("awt.291")); //$NON-NLS-1$
}
- if (src.getHeight() != dst.getHeight()){
+ if (src.getHeight() != dst.getHeight()) {
throw new IllegalArgumentException(Messages.getString("awt.292")); //$NON-NLS-1$
}
if (!srcCM.equals(dst.getColorModel())) {
// Treat BufferedImage.TYPE_INT_RGB and
// BufferedImage.TYPE_INT_ARGB as same
- if (!((src.getType() == BufferedImage.TYPE_INT_RGB || src
- .getType() == BufferedImage.TYPE_INT_ARGB) && (dst
- .getType() == BufferedImage.TYPE_INT_RGB || dst
- .getType() == BufferedImage.TYPE_INT_ARGB))) {
+ if (!((src.getType() == BufferedImage.TYPE_INT_RGB || src.getType() == BufferedImage.TYPE_INT_ARGB) && (dst
+ .getType() == BufferedImage.TYPE_INT_RGB || dst.getType() == BufferedImage.TYPE_INT_ARGB))) {
finalDst = dst;
dst = createCompatibleDestImage(src, null);
}
@@ -244,11 +255,12 @@ public class LookupOp implements BufferedImageOp, RasterOp {
}
// TODO
- //if (!canUseIpp || ippFilter(src.getRaster(), dst.getRaster(), src.getType(), skipAlpha) != 0)
- if (slowFilter(src.getRaster(), dst.getRaster(), skipAlpha) != 0) {
- // awt.21F=Unable to transform source
- throw new ImagingOpException (Messages.getString("awt.21F")); //$NON-NLS-1$
- }
+ // if (!canUseIpp || ippFilter(src.getRaster(), dst.getRaster(),
+ // src.getType(), skipAlpha) != 0)
+ if (slowFilter(src.getRaster(), dst.getRaster(), skipAlpha) != 0) {
+ // awt.21F=Unable to transform source
+ throw new ImagingOpException(Messages.getString("awt.21F")); //$NON-NLS-1$
+ }
if (finalDst != null) {
Graphics2D g = finalDst.createGraphics();
@@ -264,11 +276,13 @@ public class LookupOp implements BufferedImageOp, RasterOp {
/**
* Slow filter.
*
- * @param src the src
- * @param dst the dst
- * @param skipAlpha the skip alpha
- *
- * @return the int
+ * @param src
+ * the src.
+ * @param dst
+ * the dst.
+ * @param skipAlpha
+ * the skip alpha.
+ * @return the int.
*/
private final int slowFilter(Raster src, WritableRaster dst, boolean skipAlpha) {
int minSrcX = src.getMinX();
@@ -286,39 +300,39 @@ public class LookupOp implements BufferedImageOp, RasterOp {
int[] pixels = null;
int offset = lut.getOffset();
- if (lut instanceof ByteLookupTable){
+ if (lut instanceof ByteLookupTable) {
byte[][] byteData = ((ByteLookupTable)lut).getTable();
pixels = src.getPixels(minSrcX, minSrcY, srcWidth, srcHeight, pixels);
- if (lut.getNumComponents() != 1){
- for (int i=0; i < pixels.length; i+= numBands){
- for (int b = 0; b < numBands2Process; b++){
- pixels[i+b] = byteData[b][pixels[i+b]-offset] & 0xFF;
+ if (lut.getNumComponents() != 1) {
+ for (int i = 0; i < pixels.length; i += numBands) {
+ for (int b = 0; b < numBands2Process; b++) {
+ pixels[i + b] = byteData[b][pixels[i + b] - offset] & 0xFF;
}
}
} else {
- for (int i=0; i < pixels.length; i+= numBands){
- for (int b = 0; b < numBands2Process; b++){
- pixels[i+b] = byteData[0][pixels[i+b]-offset] & 0xFF;
+ for (int i = 0; i < pixels.length; i += numBands) {
+ for (int b = 0; b < numBands2Process; b++) {
+ pixels[i + b] = byteData[0][pixels[i + b] - offset] & 0xFF;
}
}
}
dst.setPixels(minDstX, minDstY, srcWidth, srcHeight, pixels);
- } else if (lut instanceof ShortLookupTable){
- short[][] shortData = ((ShortLookupTable)lut).getTable();
+ } else if (lut instanceof ShortLookupTable) {
+ short[][] shortData = ((ShortLookupTable)lut).getTable();
pixels = src.getPixels(minSrcX, minSrcY, srcWidth, srcHeight, pixels);
- if (lut.getNumComponents() != 1){
- for (int i=0; i < pixels.length; i+= numBands){
- for (int b = 0; b < numBands2Process; b++){
- pixels[i+b] = shortData[b][pixels[i+b]-offset] & 0xFFFF;
+ if (lut.getNumComponents() != 1) {
+ for (int i = 0; i < pixels.length; i += numBands) {
+ for (int b = 0; b < numBands2Process; b++) {
+ pixels[i + b] = shortData[b][pixels[i + b] - offset] & 0xFFFF;
}
}
} else {
- for (int i=0; i < pixels.length; i+= numBands){
- for (int b = 0; b < numBands2Process; b++){
- pixels[i+b] = shortData[0][pixels[i+b]-offset] & 0xFFFF;
+ for (int i = 0; i < pixels.length; i += numBands) {
+ for (int b = 0; b < numBands2Process; b++) {
+ pixels[i + b] = shortData[0][pixels[i + b] - offset] & 0xFFFF;
}
}
}
@@ -328,8 +342,8 @@ public class LookupOp implements BufferedImageOp, RasterOp {
int pixel[] = new int[src.getNumBands()];
int maxY = minSrcY + srcHeight;
int maxX = minSrcX + srcWidth;
- for (int srcY=minSrcY, dstY = minDstY; srcY < maxY; srcY++, dstY++){
- for (int srcX=minSrcX, dstX = minDstX; srcX < maxX; srcX++, dstX++){
+ for (int srcY = minSrcY, dstY = minDstY; srcY < maxY; srcY++, dstY++) {
+ for (int srcX = minSrcX, dstX = minDstX; srcX < maxX; srcX++, dstX++) {
src.getPixel(srcX, srcY, pixel);
lut.lookupPixel(pixel, pixel);
dst.setPixel(dstX, dstY, pixel);
@@ -343,16 +357,19 @@ public class LookupOp implements BufferedImageOp, RasterOp {
/**
* Creates the byte levels.
*
- * @param channels the channels
- * @param skipAlpha the skip alpha
- * @param levels the levels
- * @param values the values
- * @param channelsOrder the channels order
+ * @param channels
+ * the channels.
+ * @param skipAlpha
+ * the skip alpha.
+ * @param levels
+ * the levels.
+ * @param values
+ * the values.
+ * @param channelsOrder
+ * the channels order.
*/
- private final void createByteLevels(
- int channels, boolean skipAlpha,
- int levels[], int values[], int channelsOrder[]
- ) {
+ private final void createByteLevels(int channels, boolean skipAlpha, int levels[],
+ int values[], int channelsOrder[]) {
byte data[][] = ((ByteLookupTable)lut).getTable();
int nLevels = data[0].length;
int offset = lut.getOffset();
@@ -360,18 +377,18 @@ public class LookupOp implements BufferedImageOp, RasterOp {
// Use one data array for all channels or use several data arrays
int dataIncrement = data.length > 1 ? 1 : 0;
- for (int ch = 0, dataIdx = 0; ch<channels; dataIdx+=dataIncrement, ch++) {
+ for (int ch = 0, dataIdx = 0; ch < channels; dataIdx += dataIncrement, ch++) {
int channelOffset = channelsOrder == null ? ch : channelsOrder[ch];
int channelBase = nLevels * channelOffset;
// Skip last channel if needed, zero values are OK -
// no changes to the channel information will be done in IPP
- if ((channelOffset == channels-1 && skipAlpha) || (dataIdx >= data.length)) {
+ if ((channelOffset == channels - 1 && skipAlpha) || (dataIdx >= data.length)) {
continue;
}
System.arraycopy(levelInitializer, offset, levels, channelBase, nLevels);
- for (int from=0, to=channelBase; from<nLevels; from++, to++) {
+ for (int from = 0, to = channelBase; from < nLevels; from++, to++) {
values[to] = data[dataIdx][from] & 0xFF;
}
}
@@ -380,16 +397,19 @@ public class LookupOp implements BufferedImageOp, RasterOp {
/**
* Creates the short levels.
*
- * @param channels the channels
- * @param skipAlpha the skip alpha
- * @param levels the levels
- * @param values the values
- * @param channelsOrder the channels order
+ * @param channels
+ * the channels.
+ * @param skipAlpha
+ * the skip alpha.
+ * @param levels
+ * the levels.
+ * @param values
+ * the values.
+ * @param channelsOrder
+ * the channels order.
*/
- private final void createShortLevels(
- int channels, boolean skipAlpha,
- int levels[], int values[], int channelsOrder[]
- ) {
+ private final void createShortLevels(int channels, boolean skipAlpha, int levels[],
+ int values[], int channelsOrder[]) {
short data[][] = ((ShortLookupTable)lut).getTable();
int nLevels = data[0].length;
int offset = lut.getOffset();
@@ -397,18 +417,18 @@ public class LookupOp implements BufferedImageOp, RasterOp {
// Use one data array for all channels or use several data arrays
int dataIncrement = data.length > 1 ? 1 : 0;
- for (int ch = 0, dataIdx = 0; ch<channels; dataIdx+=dataIncrement, ch++) {
+ for (int ch = 0, dataIdx = 0; ch < channels; dataIdx += dataIncrement, ch++) {
int channelOffset = channelsOrder == null ? ch : channelsOrder[ch];
// Skip last channel if needed, zero values are OK -
// no changes to the channel information will be done in IPP
- if ((channelOffset == channels-1 && skipAlpha) || (dataIdx >= data.length)) {
+ if ((channelOffset == channels - 1 && skipAlpha) || (dataIdx >= data.length)) {
continue;
}
int channelBase = nLevels * channelOffset;
System.arraycopy(levelInitializer, offset, levels, channelBase, nLevels);
- for (int from=0, to=channelBase; from<nLevels; from++, to++) {
+ for (int from = 0, to = channelBase; from < nLevels; from++, to++) {
values[to] = data[dataIdx][from] & 0xFFFF;
}
}
@@ -418,18 +438,18 @@ public class LookupOp implements BufferedImageOp, RasterOp {
/**
* Ipp filter.
*
- * @param src the src
- * @param dst the dst
- * @param imageType the image type
- * @param skipAlpha the skip alpha
- *
- * @return the int
+ * @param src
+ * the src.
+ * @param dst
+ * the dst.
+ * @param imageType
+ * the image type.
+ * @param skipAlpha
+ * the skip alpha.
+ * @return the int.
*/
@SuppressWarnings("unused")
- private final int ippFilter(
- Raster src, WritableRaster dst,
- int imageType, boolean skipAlpha
- ) {
+ private final int ippFilter(Raster src, WritableRaster dst, int imageType, boolean skipAlpha) {
int res;
int srcStride, dstStride;
@@ -442,9 +462,11 @@ public class LookupOp implements BufferedImageOp, RasterOp {
case BufferedImage.TYPE_INT_ARGB_PRE:
case BufferedImage.TYPE_INT_RGB: {
channels = 4;
- srcStride = src.getWidth()*4;
- dstStride = dst.getWidth()*4;
- channelsOrder = new int[] {2, 1, 0, 3};
+ srcStride = src.getWidth() * 4;
+ dstStride = dst.getWidth() * 4;
+ channelsOrder = new int[] {
+ 2, 1, 0, 3
+ };
break;
}
@@ -452,8 +474,8 @@ public class LookupOp implements BufferedImageOp, RasterOp {
case BufferedImage.TYPE_4BYTE_ABGR_PRE:
case BufferedImage.TYPE_INT_BGR: {
channels = 4;
- srcStride = src.getWidth()*4;
- dstStride = dst.getWidth()*4;
+ srcStride = src.getWidth() * 4;
+ dstStride = dst.getWidth() * 4;
break;
}
@@ -466,9 +488,11 @@ public class LookupOp implements BufferedImageOp, RasterOp {
case BufferedImage.TYPE_3BYTE_BGR: {
channels = 3;
- srcStride = src.getWidth()*3;
- dstStride = dst.getWidth()*3;
- channelsOrder = new int[] {2, 1, 0};
+ srcStride = src.getWidth() * 3;
+ dstStride = dst.getWidth() * 3;
+ channelsOrder = new int[] {
+ 2, 1, 0
+ };
break;
}
@@ -483,15 +507,11 @@ public class LookupOp implements BufferedImageOp, RasterOp {
SampleModel srcSM = src.getSampleModel();
SampleModel dstSM = dst.getSampleModel();
- if (
- srcSM instanceof PixelInterleavedSampleModel &&
- dstSM instanceof PixelInterleavedSampleModel
- ) {
+ if (srcSM instanceof PixelInterleavedSampleModel
+ && dstSM instanceof PixelInterleavedSampleModel) {
// Check PixelInterleavedSampleModel
- if (
- srcSM.getDataType() != DataBuffer.TYPE_BYTE ||
- dstSM.getDataType() != DataBuffer.TYPE_BYTE
- ) {
+ if (srcSM.getDataType() != DataBuffer.TYPE_BYTE
+ || dstSM.getDataType() != DataBuffer.TYPE_BYTE) {
return slowFilter(src, dst, skipAlpha);
}
@@ -501,40 +521,32 @@ public class LookupOp implements BufferedImageOp, RasterOp {
return slowFilter(src, dst, skipAlpha);
}
- srcStride = ((ComponentSampleModel) srcSM).getScanlineStride();
- dstStride = ((ComponentSampleModel) dstSM).getScanlineStride();
+ srcStride = ((ComponentSampleModel)srcSM).getScanlineStride();
+ dstStride = ((ComponentSampleModel)dstSM).getScanlineStride();
- channelsOrder = ((ComponentSampleModel) srcSM).getBandOffsets();
- } else if (
- srcSM instanceof SinglePixelPackedSampleModel &&
- dstSM instanceof SinglePixelPackedSampleModel
- ) {
+ channelsOrder = ((ComponentSampleModel)srcSM).getBandOffsets();
+ } else if (srcSM instanceof SinglePixelPackedSampleModel
+ && dstSM instanceof SinglePixelPackedSampleModel) {
// Check SinglePixelPackedSampleModel
- SinglePixelPackedSampleModel sppsm1 =
- (SinglePixelPackedSampleModel) srcSM;
- SinglePixelPackedSampleModel sppsm2 =
- (SinglePixelPackedSampleModel) dstSM;
+ SinglePixelPackedSampleModel sppsm1 = (SinglePixelPackedSampleModel)srcSM;
+ SinglePixelPackedSampleModel sppsm2 = (SinglePixelPackedSampleModel)dstSM;
channels = sppsm1.getNumBands();
- // TYPE_INT_RGB, TYPE_INT_ARGB...
- if (
- sppsm1.getDataType() != DataBuffer.TYPE_INT ||
- sppsm2.getDataType() != DataBuffer.TYPE_INT ||
- !(channels == 3 || channels == 4)
- ) {
+ // TYPE_INT_RGB, TYPE_INT_ARGB...
+ if (sppsm1.getDataType() != DataBuffer.TYPE_INT
+ || sppsm2.getDataType() != DataBuffer.TYPE_INT
+ || !(channels == 3 || channels == 4)) {
return slowFilter(src, dst, skipAlpha);
}
// Check compatibility of sample models
- if (
- !Arrays.equals(sppsm1.getBitOffsets(), sppsm2.getBitOffsets()) ||
- !Arrays.equals(sppsm1.getBitMasks(), sppsm2.getBitMasks())
- ) {
+ if (!Arrays.equals(sppsm1.getBitOffsets(), sppsm2.getBitOffsets())
+ || !Arrays.equals(sppsm1.getBitMasks(), sppsm2.getBitMasks())) {
return slowFilter(src, dst, skipAlpha);
}
- for (int i=0; i<channels; i++) {
+ for (int i = 0; i < channels; i++) {
if (sppsm1.getSampleSize(i) != 8) {
return slowFilter(src, dst, skipAlpha);
}
@@ -542,11 +554,12 @@ public class LookupOp implements BufferedImageOp, RasterOp {
channelsOrder = new int[channels];
int bitOffsets[] = sppsm1.getBitOffsets();
- for (int i=0; i<channels; i++) {
+ for (int i = 0; i < channels; i++) {
channelsOrder[i] = bitOffsets[i] / 8;
}
- if (channels == 3) { // Don't skip channel now, could be optimized
+ if (channels == 3) { // Don't skip channel now, could be
+ // optimized
channels = 4;
}
@@ -558,12 +571,9 @@ public class LookupOp implements BufferedImageOp, RasterOp {
// Fill offsets if there's a child raster
if (src.getParent() != null || dst.getParent() != null) {
- if (
- src.getSampleModelTranslateX() != 0 ||
- src.getSampleModelTranslateY() != 0 ||
- dst.getSampleModelTranslateX() != 0 ||
- dst.getSampleModelTranslateY() != 0
- ) {
+ if (src.getSampleModelTranslateX() != 0 || src.getSampleModelTranslateY() != 0
+ || dst.getSampleModelTranslateX() != 0
+ || dst.getSampleModelTranslateY() != 0) {
offsets = new int[4];
offsets[0] = -src.getSampleModelTranslateX() + src.getMinX();
offsets[1] = -src.getSampleModelTranslateY() + src.getMinY();
@@ -576,24 +586,25 @@ public class LookupOp implements BufferedImageOp, RasterOp {
int levels[] = null, values[] = null;
int channelMultiplier = skipAlpha ? -1 : 1;
- if (channelMultiplier*channels == validForChannels) { // use existing levels/values
+ if (channelMultiplier * channels == validForChannels) { // use existing
+ // levels/values
levels = cachedLevels;
values = cachedValues;
} else { // create new levels/values
if (lut instanceof ByteLookupTable) {
byte data[][] = ((ByteLookupTable)lut).getTable();
- levels = new int[channels*data[0].length];
- values = new int[channels*data[0].length];
+ levels = new int[channels * data[0].length];
+ values = new int[channels * data[0].length];
createByteLevels(channels, skipAlpha, levels, values, channelsOrder);
} else if (lut instanceof ShortLookupTable) {
short data[][] = ((ShortLookupTable)lut).getTable();
- levels = new int[channels*data[0].length];
- values = new int[channels*data[0].length];
+ levels = new int[channels * data[0].length];
+ values = new int[channels * data[0].length];
createShortLevels(channels, skipAlpha, levels, values, channelsOrder);
}
// cache levels/values
- validForChannels = channelMultiplier*channels;
+ validForChannels = channelMultiplier * channels;
cachedLevels = levels;
cachedValues = values;
}
@@ -607,13 +618,8 @@ public class LookupOp implements BufferedImageOp, RasterOp {
return -1; // Unknown data buffer type
}
- res = ippLUT(
- srcData, src.getWidth(), src.getHeight(), srcStride,
- dstData, dst.getWidth(), dst.getHeight(), dstStride,
- levels, values,
- channels, offsets,
- false
- );
+ res = ippLUT(srcData, src.getWidth(), src.getHeight(), srcStride, dstData, dst.getWidth(),
+ dst.getHeight(), dstStride, levels, values, channels, offsets, false);
return res;
}
@@ -621,27 +627,35 @@ public class LookupOp implements BufferedImageOp, RasterOp {
/**
* Ipp lut.
*
- * @param src the src
- * @param srcWidth the src width
- * @param srcHeight the src height
- * @param srcStride the src stride
- * @param dst the dst
- * @param dstWidth the dst width
- * @param dstHeight the dst height
- * @param dstStride the dst stride
- * @param levels the levels
- * @param values the values
- * @param channels the channels
- * @param offsets the offsets
- * @param linear the linear
- *
- * @return the int
+ * @param src
+ * the src.
+ * @param srcWidth
+ * the src width.
+ * @param srcHeight
+ * the src height.
+ * @param srcStride
+ * the src stride.
+ * @param dst
+ * the dst.
+ * @param dstWidth
+ * the dst width.
+ * @param dstHeight
+ * the dst height.
+ * @param dstStride
+ * the dst stride.
+ * @param levels
+ * the levels.
+ * @param values
+ * the values.
+ * @param channels
+ * the channels.
+ * @param offsets
+ * the offsets.
+ * @param linear
+ * the linear.
+ * @return the int.
*/
- final static native int ippLUT(
- Object src, int srcWidth, int srcHeight, int srcStride,
- Object dst, int dstWidth, int dstHeight, int dstStride,
- int levels[], int values[],
- int channels, int offsets[],
- boolean linear
- );
+ final static native int ippLUT(Object src, int srcWidth, int srcHeight, int srcStride,
+ Object dst, int dstWidth, int dstHeight, int dstStride, int levels[], int values[],
+ int channels, int offsets[], boolean linear);
}
diff --git a/awt/java/awt/image/LookupTable.java b/awt/java/awt/image/LookupTable.java
index d15f23c..e465a54 100644
--- a/awt/java/awt/image/LookupTable.java
+++ b/awt/java/awt/image/LookupTable.java
@@ -26,26 +26,33 @@ package java.awt.image;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * This abstract LookupTable class represents lookup table which
- * is defined with the number of components and offset value.
- * ByteLookupTable and ShortLookupTable classes are subclasses of
- * LookupTable which contains byte and short data tables as
- * an input arrays for bands or components of image.
+ * This abstract LookupTable class represents lookup table which is defined with
+ * the number of components and offset value. ByteLookupTable and
+ * ShortLookupTable classes are subclasses of LookupTable which contains byte
+ * and short data tables as an input arrays for bands or components of image.
+ *
+ * @since Android 1.0
*/
public abstract class LookupTable {
-
- /** The offset. */
+
+ /**
+ * The offset.
+ */
private int offset;
-
- /** The num components. */
+
+ /**
+ * The num components.
+ */
private int numComponents;
/**
- * Instantiates a new LookupTable with the specified offset value
- * and number of components.
+ * Instantiates a new LookupTable with the specified offset value and number
+ * of components.
*
- * @param offset the offset value.
- * @param numComponents the number of components.
+ * @param offset
+ * the offset value.
+ * @param numComponents
+ * the number of components.
*/
protected LookupTable(int offset, int numComponents) {
if (offset < 0) {
@@ -80,14 +87,15 @@ public abstract class LookupTable {
}
/**
- * Returns a int array which contains samples of the specified
- * pixel which is translated with the lookup table of this
- * LookupTable. The resulted array is stored to the dst array.
- *
- * @param src the source array.
- * @param dst the destination array where the result can be stored.
+ * Returns an integer array which contains samples of the specified pixel which
+ * is translated with the lookup table of this LookupTable. The resulted
+ * array is stored to the dst array.
*
- * @return the int array of translated samples of a pixel.
+ * @param src
+ * the source array.
+ * @param dst
+ * the destination array where the result can be stored.
+ * @return the integer array of translated samples of a pixel.
*/
public abstract int[] lookupPixel(int[] src, int[] dst);
}
diff --git a/awt/java/awt/image/MemoryImageSource.java b/awt/java/awt/image/MemoryImageSource.java
index 983f19e..644fd40 100644
--- a/awt/java/awt/image/MemoryImageSource.java
+++ b/awt/java/awt/image/MemoryImageSource.java
@@ -18,6 +18,7 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import java.util.Hashtable;
@@ -26,154 +27,211 @@ import java.util.Vector;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The MemoryImageSource class is used to produces pixels of an image from
- * an array. This class can manage a memory image which
- * contains an animation or custom rendering.
+ * The MemoryImageSource class is used to produces pixels of an image from an
+ * array. This class can manage a memory image which contains an animation or
+ * custom rendering.
+ *
+ * @since Android 1.0
*/
public class MemoryImageSource implements ImageProducer {
- /** The width. */
+ /**
+ * The width.
+ */
int width;
-
- /** The height. */
+
+ /**
+ * The height.
+ */
int height;
-
- /** The cm. */
+
+ /**
+ * The cm.
+ */
ColorModel cm;
-
- /** The b data. */
+
+ /**
+ * The b data.
+ */
byte bData[];
-
- /** The i data. */
+
+ /**
+ * The i data.
+ */
int iData[];
-
- /** The offset. */
+
+ /**
+ * The offset.
+ */
int offset;
-
- /** The scanline. */
+
+ /**
+ * The scanline.
+ */
int scanline;
-
- /** The properties. */
+
+ /**
+ * The properties.
+ */
Hashtable<?, ?> properties;
-
- /** The consumers. */
+
+ /**
+ * The consumers.
+ */
Vector<ImageConsumer> consumers;
-
- /** The animated. */
+
+ /**
+ * The animated.
+ */
boolean animated;
-
- /** The fullbuffers. */
+
+ /**
+ * The fullbuffers.
+ */
boolean fullbuffers;
-
- /** The data type. */
+
+ /**
+ * The data type.
+ */
int dataType;
- /** The Constant DATA_TYPE_BYTE. */
+ /**
+ * The Constant DATA_TYPE_BYTE.
+ */
static final int DATA_TYPE_BYTE = 0;
-
- /** The Constant DATA_TYPE_INT. */
+
+ /**
+ * The Constant DATA_TYPE_INT.
+ */
static final int DATA_TYPE_INT = 1;
/**
- * Instantiates a new MemoryImageSource with the specified
- * parameters.
+ * Instantiates a new MemoryImageSource with the specified parameters.
*
- * @param w the width of the rectangular area of pixels.
- * @param h the height of the rectangular area of pixels.
- * @param cm the specified ColorModel.
- * @param pix the pixel array.
- * @param off the offset in the pixel array.
- * @param scan the distance from one pixel's row to the next
- * in the pixel array.
- * @param props the set of properties to be used for image
- * processing.
+ * @param w
+ * the width of the rectangular area of pixels.
+ * @param h
+ * the height of the rectangular area of pixels.
+ * @param cm
+ * the specified ColorModel.
+ * @param pix
+ * the pixel array.
+ * @param off
+ * the offset in the pixel array.
+ * @param scan
+ * the distance from one pixel's row to the next in the pixel
+ * array.
+ * @param props
+ * the set of properties to be used for image processing.
*/
- public MemoryImageSource(int w, int h, ColorModel cm, int pix[],
- int off, int scan, Hashtable<?, ?> props) {
+ public MemoryImageSource(int w, int h, ColorModel cm, int pix[], int off, int scan,
+ Hashtable<?, ?> props) {
init(w, h, cm, pix, off, scan, props);
}
/**
- * Instantiates a new MemoryImageSource with the specified
- * parameters.
+ * Instantiates a new MemoryImageSource with the specified parameters.
*
- * @param w the width of the rectangular area of pixels.
- * @param h the height of the rectangular area of pixels.
- * @param cm the specified ColorModel.
- * @param pix the pixel array.
- * @param off the offset in the pixel array.
- * @param scan the distance from one pixel's row to the next
- * in the pixel array.
- * @param props the set of properties to be used for image
- * processing.
+ * @param w
+ * the width of the rectangular area of pixels.
+ * @param h
+ * the height of the rectangular area of pixels.
+ * @param cm
+ * the specified ColorModel.
+ * @param pix
+ * the pixel array.
+ * @param off
+ * the offset in the pixel array.
+ * @param scan
+ * the distance from one pixel's row to the next in the pixel
+ * array.
+ * @param props
+ * the set of properties to be used for image processing.
*/
- public MemoryImageSource(int w, int h, ColorModel cm, byte pix[],
- int off, int scan, Hashtable<?, ?> props) {
+ public MemoryImageSource(int w, int h, ColorModel cm, byte pix[], int off, int scan,
+ Hashtable<?, ?> props) {
init(w, h, cm, pix, off, scan, props);
}
/**
- * Instantiates a new MemoryImageSource with the specified
- * parameters and default RGB ColorModel.
+ * Instantiates a new MemoryImageSource with the specified parameters and
+ * default RGB ColorModel.
*
- * @param w the width of the rectangular area of pixels.
- * @param h the height of the rectangular area of pixels.
- * @param pix the pixel array.
- * @param off the offset in the pixel array.
- * @param scan the distance from one pixel's row to the next
- * in the pixel array.
- * @param props the set of properties to be used for image
- * processing.
+ * @param w
+ * the width of the rectangular area of pixels.
+ * @param h
+ * the height of the rectangular area of pixels.
+ * @param pix
+ * the pixel array.
+ * @param off
+ * the offset in the pixel array.
+ * @param scan
+ * the distance from one pixel's row to the next in the pixel
+ * array.
+ * @param props
+ * the set of properties to be used for image processing.
*/
- public MemoryImageSource(int w, int h, int pix[], int off, int scan,
- Hashtable<?, ?> props) {
+ public MemoryImageSource(int w, int h, int pix[], int off, int scan, Hashtable<?, ?> props) {
init(w, h, ColorModel.getRGBdefault(), pix, off, scan, props);
}
/**
- * Instantiates a new MemoryImageSource with the specified
- * parameters.
+ * Instantiates a new MemoryImageSource with the specified parameters.
*
- * @param w the width of the rectangular area of pixels.
- * @param h the height of the rectangular area of pixels.
- * @param cm the specified ColorModel.
- * @param pix the pixel array.
- * @param off the offset in the pixel array.
- * @param scan the distance from one pixel's row to the next
- * in the pixel array.
+ * @param w
+ * the width of the rectangular area of pixels.
+ * @param h
+ * the height of the rectangular area of pixels.
+ * @param cm
+ * the specified ColorModel.
+ * @param pix
+ * the pixel array.
+ * @param off
+ * the offset in the pixel array.
+ * @param scan
+ * the distance from one pixel's row to the next in the pixel
+ * array.
*/
- public MemoryImageSource(int w, int h, ColorModel cm, int pix[],
- int off, int scan) {
+ public MemoryImageSource(int w, int h, ColorModel cm, int pix[], int off, int scan) {
init(w, h, cm, pix, off, scan, null);
}
/**
- * Instantiates a new MemoryImageSource with the specified
- * parameters.
+ * Instantiates a new MemoryImageSource with the specified parameters.
*
- * @param w the width of the rectangular area of pixels.
- * @param h the height of the rectangular area of pixels.
- * @param cm the specified ColorModel.
- * @param pix the pixel array.
- * @param off the offset in the pixel array.
- * @param scan the distance from one pixel's row to the next
- * in the pixel array.
+ * @param w
+ * the width of the rectangular area of pixels.
+ * @param h
+ * the height of the rectangular area of pixels.
+ * @param cm
+ * the specified ColorModel.
+ * @param pix
+ * the pixel array.
+ * @param off
+ * the offset in the pixel array.
+ * @param scan
+ * the distance from one pixel's row to the next in the pixel
+ * array.
*/
- public MemoryImageSource(int w, int h, ColorModel cm, byte pix[],
- int off, int scan) {
+ public MemoryImageSource(int w, int h, ColorModel cm, byte pix[], int off, int scan) {
init(w, h, cm, pix, off, scan, null);
}
/**
- * Instantiates a new MemoryImageSource with the specified
- * parameters and default RGB ColorModel.
+ * Instantiates a new MemoryImageSource with the specified parameters and
+ * default RGB ColorModel.
*
- * @param w the width of the rectangular area of pixels.
- * @param h the height of the rectangular area of pixels.
- * @param pix the pixels array.
- * @param off the offset in the pixel array.
- * @param scan the distance from one pixel's row to the next
- * in the pixel array.
+ * @param w
+ * the width of the rectangular area of pixels.
+ * @param h
+ * the height of the rectangular area of pixels.
+ * @param pix
+ * the pixels array.
+ * @param off
+ * the offset in the pixel array.
+ * @param scan
+ * the distance from one pixel's row to the next in the pixel
+ * array.
*/
public MemoryImageSource(int w, int h, int pix[], int off, int scan) {
init(w, h, ColorModel.getRGBdefault(), pix, off, scan, null);
@@ -184,25 +242,25 @@ public class MemoryImageSource implements ImageProducer {
}
public void startProduction(ImageConsumer ic) {
- if(!isConsumer(ic) && ic != null) {
+ if (!isConsumer(ic) && ic != null) {
consumers.addElement(ic);
}
- try{
+ try {
setHeader(ic);
setPixels(ic, 0, 0, width, height);
- if(animated){
+ if (animated) {
ic.imageComplete(ImageConsumer.SINGLEFRAMEDONE);
- }else{
+ } else {
ic.imageComplete(ImageConsumer.STATICIMAGEDONE);
- if(isConsumer(ic)) {
+ if (isConsumer(ic)) {
removeConsumer(ic);
}
}
- }catch(Exception e){
- if(isConsumer(ic)) {
+ } catch (Exception e) {
+ if (isConsumer(ic)) {
ic.imageComplete(ImageConsumer.IMAGEERROR);
}
- if(isConsumer(ic)) {
+ if (isConsumer(ic)) {
removeConsumer(ic);
}
}
@@ -216,26 +274,29 @@ public class MemoryImageSource implements ImageProducer {
}
public synchronized void addConsumer(ImageConsumer ic) {
- if(ic == null || consumers.contains(ic)) {
+ if (ic == null || consumers.contains(ic)) {
return;
}
consumers.addElement(ic);
}
/**
- * Replaces the pixel data with a new pixel array for holding
- * the pixels for this image. If an animation
- * flag is set to true value by the setAnimated() method,
- * the new pixels will be immediately delivered to the ImageConsumers.
+ * Replaces the pixel data with a new pixel array for holding the pixels for
+ * this image. If an animation flag is set to true value by the
+ * setAnimated() method, the new pixels will be immediately delivered to the
+ * ImageConsumers.
*
- * @param newpix the new pixel array.
- * @param newmodel the new ColorModel.
- * @param offset the offset in the array.
- * @param scansize the distance from one row of pixels to the next row
- * in the pixel array
+ * @param newpix
+ * the new pixel array.
+ * @param newmodel
+ * the new ColorModel.
+ * @param offset
+ * the offset in the array.
+ * @param scansize
+ * the distance from one row of pixels to the next row in the
+ * pixel array.
*/
- public synchronized void newPixels(int newpix[], ColorModel newmodel,
- int offset, int scansize) {
+ public synchronized void newPixels(int newpix[], ColorModel newmodel, int offset, int scansize) {
this.dataType = DATA_TYPE_INT;
this.iData = newpix;
this.cm = newmodel;
@@ -245,19 +306,22 @@ public class MemoryImageSource implements ImageProducer {
}
/**
- * Replaces the pixel data with a new pixel array for holding
- * the pixels for this image. If an animation
- * flag is set to true value by the setAnimated() method,
- * the new pixels will be immediately delivered to the ImageConsumers.
+ * Replaces the pixel data with a new pixel array for holding the pixels for
+ * this image. If an animation flag is set to true value by the
+ * setAnimated() method, the new pixels will be immediately delivered to the
+ * ImageConsumers.
*
- * @param newpix the new pixel array.
- * @param newmodel the new ColorModel.
- * @param offset the offset in the array.
- * @param scansize the distance from one row of pixels to the next row
- * in the pixel array
+ * @param newpix
+ * the new pixel array.
+ * @param newmodel
+ * the new ColorModel.
+ * @param offset
+ * the offset in the array.
+ * @param scansize
+ * the distance from one row of pixels to the next row in the
+ * pixel array.
*/
- public synchronized void newPixels(byte newpix[], ColorModel newmodel,
- int offset, int scansize) {
+ public synchronized void newPixels(byte newpix[], ColorModel newmodel, int offset, int scansize) {
this.dataType = DATA_TYPE_BYTE;
this.bData = newpix;
this.cm = newmodel;
@@ -267,33 +331,33 @@ public class MemoryImageSource implements ImageProducer {
}
/**
- * Sets the full buffer updates flag to true. If this is an
- * animated image, the image consumers hints are updated
- * accordingly.
+ * Sets the full buffer updates flag to true. If this is an animated image,
+ * the image consumers hints are updated accordingly.
*
- * @param fullbuffers the true if the pixel buffer should be sent always.
+ * @param fullbuffers
+ * the true if the pixel buffer should be sent always.
*/
public synchronized void setFullBufferUpdates(boolean fullbuffers) {
- if(this.fullbuffers == fullbuffers) {
+ if (this.fullbuffers == fullbuffers) {
return;
}
this.fullbuffers = fullbuffers;
- if(animated){
+ if (animated) {
Object consAr[] = consumers.toArray();
for (Object element : consAr) {
ImageConsumer con = (ImageConsumer)element;
- try{
- if(fullbuffers){
- con.setHints(ImageConsumer.TOPDOWNLEFTRIGHT |
- ImageConsumer.COMPLETESCANLINES);
- }else{
+ try {
+ if (fullbuffers) {
+ con.setHints(ImageConsumer.TOPDOWNLEFTRIGHT
+ | ImageConsumer.COMPLETESCANLINES);
+ } else {
con.setHints(ImageConsumer.RANDOMPIXELORDER);
}
- }catch(Exception e){
- if(isConsumer(con)) {
+ } catch (Exception e) {
+ if (isConsumer(con)) {
con.imageComplete(ImageConsumer.IMAGEERROR);
}
- if(isConsumer(con)) {
+ if (isConsumer(con)) {
removeConsumer(con);
}
}
@@ -302,27 +366,28 @@ public class MemoryImageSource implements ImageProducer {
}
/**
- * Sets the flag that tells whether this memory image has more
- * than one frame (for animation): true for multiple frames,
- * false if this class represents a single frame image.
- *
- * @param animated whether this image represents an animation.
+ * Sets the flag that tells whether this memory image has more than one
+ * frame (for animation): true for multiple frames, false if this class
+ * represents a single frame image.
+ *
+ * @param animated
+ * whether this image represents an animation.
*/
public synchronized void setAnimated(boolean animated) {
- if(this.animated == animated) {
+ if (this.animated == animated) {
return;
}
Object consAr[] = consumers.toArray();
for (Object element : consAr) {
ImageConsumer con = (ImageConsumer)element;
- try{
+ try {
con.imageComplete(ImageConsumer.STATICIMAGEDONE);
- }catch(Exception e){
- if(isConsumer(con)) {
+ } catch (Exception e) {
+ if (isConsumer(con)) {
con.imageComplete(ImageConsumer.IMAGEERROR);
}
}
- if(isConsumer(con)){
+ if (isConsumer(con)) {
removeConsumer(con);
}
}
@@ -330,60 +395,63 @@ public class MemoryImageSource implements ImageProducer {
}
/**
- * Sends the specified rectangular area of the buffer to
- * ImageConsumers and notifies them that an animation frame
- * is completed only if framenotify parameter is true.
- * That works only if the animated flag has been set to true
- * by the setAnimated() method. If the full buffer update flag
- * has been set to true by the setFullBufferUpdates() method,
- * then the entire buffer will always be sent ignoring parameters.
+ * Sends the specified rectangular area of the buffer to ImageConsumers and
+ * notifies them that an animation frame is completed only if the {@code
+ * framenotify} parameter is true. That works only if the animated flag has
+ * been set to true by the setAnimated() method. If the full buffer update
+ * flag has been set to true by the setFullBufferUpdates() method, then the
+ * entire buffer will always be sent ignoring parameters.
*
- * @param x the X coordinate of the rectangular area.
- * @param y the Y coordinate of rthe ectangular area.
- * @param w the width of the rectangular area.
- * @param h the height of the rectangular area.
- * @param framenotify true if a SINGLEFRAMEDONE notification
- * should be sent to the registered consumers, false otherwise.
+ * @param x
+ * the X coordinate of the rectangular area.
+ * @param y
+ * the Y coordinate of the rectangular area.
+ * @param w
+ * the width of the rectangular area.
+ * @param h
+ * the height of the rectangular area.
+ * @param framenotify
+ * true if a SINGLEFRAMEDONE notification should be sent to the
+ * registered consumers, false otherwise.
*/
- public synchronized void newPixels(int x, int y, int w, int h,
- boolean framenotify) {
- if(animated){
- if(fullbuffers){
+ public synchronized void newPixels(int x, int y, int w, int h, boolean framenotify) {
+ if (animated) {
+ if (fullbuffers) {
x = 0;
y = 0;
w = width;
h = height;
- }else{
- if(x < 0){
+ } else {
+ if (x < 0) {
w += x;
x = 0;
}
- if(w > width) {
+ if (w > width) {
w = width - x;
}
- if(y < 0){
+ if (y < 0) {
h += y;
y = 0;
}
}
- if(h > height) {
+ if (h > height) {
h = height - y;
}
Object consAr[] = consumers.toArray();
for (Object element : consAr) {
ImageConsumer con = (ImageConsumer)element;
- try{
- if(w > 0 && h > 0) {
+ try {
+ if (w > 0 && h > 0) {
setPixels(con, x, y, w, h);
}
- if(framenotify) {
+ if (framenotify) {
con.imageComplete(ImageConsumer.SINGLEFRAMEDONE);
}
- }catch(Exception ex){
- if(isConsumer(con)) {
+ } catch (Exception ex) {
+ if (isConsumer(con)) {
con.imageComplete(ImageConsumer.IMAGEERROR);
}
- if(isConsumer(con)) {
+ if (isConsumer(con)) {
removeConsumer(con);
}
}
@@ -392,26 +460,29 @@ public class MemoryImageSource implements ImageProducer {
}
/**
- * Sends the specified rectangular area of the buffer to
- * the ImageConsumers and notifies them that an animation frame
- * is completed if the animated flag has been set to true
- * by the setAnimated() method. If the full buffer update flag
- * has been set to true by the setFullBufferUpdates() method,
+ * Sends the specified rectangular area of the buffer to the ImageConsumers
+ * and notifies them that an animation frame is completed if the animated
+ * flag has been set to true by the setAnimated() method. If the full buffer
+ * update flag has been set to true by the setFullBufferUpdates() method,
* then the entire buffer will always be sent ignoring parameters.
*
- * @param x the X coordinate of the rectangular area.
- * @param y the Y coordinate of the rectangular area.
- * @param w the width of the rectangular area.
- * @param h the height of the rectangular area.
+ * @param x
+ * the X coordinate of the rectangular area.
+ * @param y
+ * the Y coordinate of the rectangular area.
+ * @param w
+ * the width of the rectangular area.
+ * @param h
+ * the height of the rectangular area.
*/
public synchronized void newPixels(int x, int y, int w, int h) {
newPixels(x, y, w, h, true);
}
/**
- * Sends a new buffer of pixels to the ImageConsumers
- * and notifies them that an animation frame is completed if
- * the animated flag has been set to true by the setAnimated() method.
+ * Sends a new buffer of pixels to the ImageConsumers and notifies them that
+ * an animation frame is completed if the animated flag has been set to true
+ * by the setAnimated() method.
*/
public void newPixels() {
newPixels(0, 0, width, height, true);
@@ -420,16 +491,23 @@ public class MemoryImageSource implements ImageProducer {
/**
* Inits the.
*
- * @param width the width
- * @param height the height
- * @param model the model
- * @param pixels the pixels
- * @param off the off
- * @param scan the scan
- * @param prop the prop
+ * @param width
+ * the width.
+ * @param height
+ * the height.
+ * @param model
+ * the model.
+ * @param pixels
+ * the pixels.
+ * @param off
+ * the off.
+ * @param scan
+ * the scan.
+ * @param prop
+ * the prop.
*/
- private void init(int width, int height, ColorModel model, byte pixels[],
- int off, int scan, Hashtable<?, ?> prop){
+ private void init(int width, int height, ColorModel model, byte pixels[], int off, int scan,
+ Hashtable<?, ?> prop) {
this.width = width;
this.height = height;
@@ -446,16 +524,23 @@ public class MemoryImageSource implements ImageProducer {
/**
* Inits the.
*
- * @param width the width
- * @param height the height
- * @param model the model
- * @param pixels the pixels
- * @param off the off
- * @param scan the scan
- * @param prop the prop
+ * @param width
+ * the width.
+ * @param height
+ * the height.
+ * @param model
+ * the model.
+ * @param pixels
+ * the pixels.
+ * @param off
+ * the off.
+ * @param scan
+ * the scan.
+ * @param prop
+ * the prop.
*/
- private void init(int width, int height, ColorModel model, int pixels[],
- int off, int scan, Hashtable<?, ?> prop){
+ private void init(int width, int height, ColorModel model, int pixels[], int off, int scan,
+ Hashtable<?, ?> prop) {
this.width = width;
this.height = height;
@@ -471,42 +556,48 @@ public class MemoryImageSource implements ImageProducer {
/**
* Sets the pixels.
*
- * @param con the con
- * @param x the x
- * @param y the y
- * @param w the w
- * @param h the h
+ * @param con
+ * the con.
+ * @param x
+ * the x.
+ * @param y
+ * the y.
+ * @param w
+ * the w.
+ * @param h
+ * the h.
*/
- private void setPixels(ImageConsumer con, int x, int y, int w, int h){
+ private void setPixels(ImageConsumer con, int x, int y, int w, int h) {
int pixelOff = scanline * y + offset + x;
- switch(dataType){
- case DATA_TYPE_BYTE:
- con.setPixels(x, y, w, h, cm, bData, pixelOff, scanline);
- break;
- case DATA_TYPE_INT:
- con.setPixels(x, y, w, h, cm, iData, pixelOff, scanline);
- break;
- default:
- // awt.22A=Wrong type of pixels array
- throw new IllegalArgumentException(Messages.getString("awt.22A")); //$NON-NLS-1$
+ switch (dataType) {
+ case DATA_TYPE_BYTE:
+ con.setPixels(x, y, w, h, cm, bData, pixelOff, scanline);
+ break;
+ case DATA_TYPE_INT:
+ con.setPixels(x, y, w, h, cm, iData, pixelOff, scanline);
+ break;
+ default:
+ // awt.22A=Wrong type of pixels array
+ throw new IllegalArgumentException(Messages.getString("awt.22A")); //$NON-NLS-1$
}
}
/**
* Sets the header.
*
- * @param con the new header
+ * @param con
+ * the new header.
*/
- private synchronized void setHeader(ImageConsumer con){
+ private synchronized void setHeader(ImageConsumer con) {
con.setDimensions(width, height);
con.setProperties(properties);
con.setColorModel(cm);
- con.setHints(animated ? (fullbuffers ? (ImageConsumer.TOPDOWNLEFTRIGHT |
- ImageConsumer.COMPLETESCANLINES) : ImageConsumer.RANDOMPIXELORDER) :
- (ImageConsumer.TOPDOWNLEFTRIGHT | ImageConsumer.COMPLETESCANLINES |
- ImageConsumer.SINGLEPASS | ImageConsumer.SINGLEFRAME));
+ con
+ .setHints(animated ? (fullbuffers ? (ImageConsumer.TOPDOWNLEFTRIGHT | ImageConsumer.COMPLETESCANLINES)
+ : ImageConsumer.RANDOMPIXELORDER)
+ : (ImageConsumer.TOPDOWNLEFTRIGHT | ImageConsumer.COMPLETESCANLINES
+ | ImageConsumer.SINGLEPASS | ImageConsumer.SINGLEFRAME));
}
}
-
diff --git a/awt/java/awt/image/MultiPixelPackedSampleModel.java b/awt/java/awt/image/MultiPixelPackedSampleModel.java
index dd44b49..3dc13d8 100644
--- a/awt/java/awt/image/MultiPixelPackedSampleModel.java
+++ b/awt/java/awt/image/MultiPixelPackedSampleModel.java
@@ -18,72 +18,93 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The MultiPixelPackedSampleModel class represents image data with one
- * band. This class packs multiple pixels with one sample in one data
- * element and supports the following data types: DataBuffer.TYPE_BYTE,
- * DataBuffer.TYPE_USHORT, or DataBuffer.TYPE_INT.
+ * The MultiPixelPackedSampleModel class represents image data with one band.
+ * This class packs multiple pixels with one sample in one data element and
+ * supports the following data types: DataBuffer.TYPE_BYTE,
+ * DataBuffer.TYPE_USHORT, or DataBuffer.TYPE_INT.
+ *
+ * @since Android 1.0
*/
public class MultiPixelPackedSampleModel extends SampleModel {
- /** The pixel bit stride. */
+ /**
+ * The pixel bit stride.
+ */
private int pixelBitStride;
- /** The scanline stride. */
+ /**
+ * The scanline stride.
+ */
private int scanlineStride;
- /** The data bit offset. */
+ /**
+ * The data bit offset.
+ */
private int dataBitOffset;
- /** The bit mask. */
+ /**
+ * The bit mask.
+ */
private int bitMask;
- /** The data element size. */
+ /**
+ * The data element size.
+ */
private int dataElementSize;
- /** The pixels per data element. */
+ /**
+ * The pixels per data element.
+ */
private int pixelsPerDataElement;
/**
* Instantiates a new MultiPixelPackedSampleModel with the specified
* parameters.
*
- * @param dataType the data type of the samples.
- * @param w the width of the image data.
- * @param h the height of the image data.
- * @param numberOfBits the number of bits per pixel.
- * @param scanlineStride the scanline stride of the of the image data.
- * @param dataBitOffset the array of the band offsets.
+ * @param dataType
+ * the data type of the samples.
+ * @param w
+ * the width of the image data.
+ * @param h
+ * the height of the image data.
+ * @param numberOfBits
+ * the number of bits per pixel.
+ * @param scanlineStride
+ * the scanline stride of the of the image data.
+ * @param dataBitOffset
+ * the array of the band offsets.
*/
- public MultiPixelPackedSampleModel(int dataType, int w, int h,
- int numberOfBits, int scanlineStride, int dataBitOffset) {
+ public MultiPixelPackedSampleModel(int dataType, int w, int h, int numberOfBits,
+ int scanlineStride, int dataBitOffset) {
super(dataType, w, h, 1);
- if (dataType != DataBuffer.TYPE_BYTE &&
- dataType != DataBuffer.TYPE_USHORT &&
- dataType != DataBuffer.TYPE_INT) {
+ if (dataType != DataBuffer.TYPE_BYTE && dataType != DataBuffer.TYPE_USHORT
+ && dataType != DataBuffer.TYPE_INT) {
// awt.61=Unsupported data type: {0}
throw new IllegalArgumentException(Messages.getString("awt.61", //$NON-NLS-1$
dataType));
}
this.scanlineStride = scanlineStride;
- if(numberOfBits == 0) {
+ if (numberOfBits == 0) {
// awt.20C=Number of Bits equals to zero
throw new RasterFormatException(Messages.getString("awt.20C")); //$NON-NLS-1$
}
this.pixelBitStride = numberOfBits;
this.dataElementSize = DataBuffer.getDataTypeSize(dataType);
- if(dataElementSize % pixelBitStride != 0) {
- // awt.20D=The number of bits per pixel is not a power of 2 or pixels span data element boundaries
+ if (dataElementSize % pixelBitStride != 0) {
+ // awt.20D=The number of bits per pixel is not a power of 2 or
+ // pixels span data element boundaries
throw new RasterFormatException(Messages.getString("awt.20D")); //$NON-NLS-1$
}
- if(dataBitOffset % numberOfBits != 0) {
+ if (dataBitOffset % numberOfBits != 0) {
// awt.20E=Data Bit offset is not a multiple of pixel bit stride
throw new RasterFormatException(Messages.getString("awt.20E")); //$NON-NLS-1$
}
@@ -97,17 +118,20 @@ public class MultiPixelPackedSampleModel extends SampleModel {
* Instantiates a new MultiPixelPackedSampleModel with the specified
* parameters.
*
- * @param dataType the data type of the samples.
- * @param w the width of the image data.
- * @param h the height of the image data.
- * @param numberOfBits the number of bits per pixel.
+ * @param dataType
+ * the data type of the samples.
+ * @param w
+ * the width of the image data.
+ * @param h
+ * the height of the image data.
+ * @param numberOfBits
+ * the number of bits per pixel.
*/
- public MultiPixelPackedSampleModel(int dataType, int w, int h,
- int numberOfBits) {
+ public MultiPixelPackedSampleModel(int dataType, int w, int h, int numberOfBits) {
- this(dataType, w, h, numberOfBits, (numberOfBits * w +
- DataBuffer.getDataTypeSize(dataType) - 1) /
- DataBuffer.getDataTypeSize(dataType), 0);
+ this(dataType, w, h, numberOfBits,
+ (numberOfBits * w + DataBuffer.getDataTypeSize(dataType) - 1)
+ / DataBuffer.getDataTypeSize(dataType), 0);
}
@Override
@@ -117,36 +141,36 @@ public class MultiPixelPackedSampleModel extends SampleModel {
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
}
switch (getTransferType()) {
- case DataBuffer.TYPE_BYTE:
- byte bdata[];
- if (obj == null) {
- bdata = new byte[1];
- } else {
- bdata = (byte[]) obj;
- }
- bdata[0] = (byte) getSample(x, y, 0, data);
- obj = bdata;
- break;
- case DataBuffer.TYPE_USHORT:
- short sdata[];
- if (obj == null) {
- sdata = new short[1];
- } else {
- sdata = (short[]) obj;
- }
- sdata[0] = (short) getSample(x, y, 0, data);
- obj = sdata;
- break;
- case DataBuffer.TYPE_INT:
- int idata[];
- if (obj == null) {
- idata = new int[1];
- } else {
- idata = (int[]) obj;
- }
- idata[0] = getSample(x, y, 0, data);
- obj = idata;
- break;
+ case DataBuffer.TYPE_BYTE:
+ byte bdata[];
+ if (obj == null) {
+ bdata = new byte[1];
+ } else {
+ bdata = (byte[])obj;
+ }
+ bdata[0] = (byte)getSample(x, y, 0, data);
+ obj = bdata;
+ break;
+ case DataBuffer.TYPE_USHORT:
+ short sdata[];
+ if (obj == null) {
+ sdata = new short[1];
+ } else {
+ sdata = (short[])obj;
+ }
+ sdata[0] = (short)getSample(x, y, 0, data);
+ obj = sdata;
+ break;
+ case DataBuffer.TYPE_INT:
+ int idata[];
+ if (obj == null) {
+ idata = new int[1];
+ } else {
+ idata = (int[])obj;
+ }
+ idata[0] = getSample(x, y, 0, data);
+ obj = idata;
+ break;
}
return obj;
@@ -158,14 +182,14 @@ public class MultiPixelPackedSampleModel extends SampleModel {
}
/**
- * Compares this MultiPixelPackedSampleModel object with
- * the specified object.
- *
- * @param o the Object to be compared.
+ * Compares this MultiPixelPackedSampleModel object with the specified
+ * object.
*
- * @return true, if the object is a MultiPixelPackedSampleModel
- * with the same data parameter values as this MultiPixelPackedSampleModel,
- * false otherwise.
+ * @param o
+ * the Object to be compared.
+ * @return true, if the object is a MultiPixelPackedSampleModel with the
+ * same data parameter values as this MultiPixelPackedSampleModel,
+ * false otherwise.
*/
@Override
public boolean equals(Object o) {
@@ -173,17 +197,14 @@ public class MultiPixelPackedSampleModel extends SampleModel {
return false;
}
- MultiPixelPackedSampleModel model = (MultiPixelPackedSampleModel) o;
- return this.width == model.width &&
- this.height == model.height &&
- this.numBands == model.numBands &&
- this.dataType == model.dataType &&
- this.pixelBitStride == model.pixelBitStride &&
- this.bitMask == model.bitMask &&
- this.pixelsPerDataElement == model.pixelsPerDataElement &&
- this.dataElementSize == model.dataElementSize &&
- this.dataBitOffset == model.dataBitOffset &&
- this.scanlineStride == model.scanlineStride;
+ MultiPixelPackedSampleModel model = (MultiPixelPackedSampleModel)o;
+ return this.width == model.width && this.height == model.height
+ && this.numBands == model.numBands && this.dataType == model.dataType
+ && this.pixelBitStride == model.pixelBitStride && this.bitMask == model.bitMask
+ && this.pixelsPerDataElement == model.pixelsPerDataElement
+ && this.dataElementSize == model.dataElementSize
+ && this.dataBitOffset == model.dataBitOffset
+ && this.scanlineStride == model.scanlineStride;
}
@Override
@@ -231,8 +252,7 @@ public class MultiPixelPackedSampleModel extends SampleModel {
int bitnum = dataBitOffset + x * pixelBitStride;
int elem = data.getElem(y * scanlineStride + bitnum / dataElementSize);
- int shift = dataElementSize - (bitnum & (dataElementSize - 1)) -
- pixelBitStride;
+ int shift = dataElementSize - (bitnum & (dataElementSize - 1)) - pixelBitStride;
return (elem >> shift) & bitMask;
}
@@ -253,15 +273,15 @@ public class MultiPixelPackedSampleModel extends SampleModel {
int size = scanlineStride * height;
switch (dataType) {
- case DataBuffer.TYPE_BYTE:
- dataBuffer = new DataBufferByte(size + (dataBitOffset + 7) / 8);
- break;
- case DataBuffer.TYPE_USHORT:
- dataBuffer = new DataBufferUShort(size + (dataBitOffset + 15) / 16);
- break;
- case DataBuffer.TYPE_INT:
- dataBuffer = new DataBufferInt(size + (dataBitOffset + 31) / 32);
- break;
+ case DataBuffer.TYPE_BYTE:
+ dataBuffer = new DataBufferByte(size + (dataBitOffset + 7) / 8);
+ break;
+ case DataBuffer.TYPE_USHORT:
+ dataBuffer = new DataBufferUShort(size + (dataBitOffset + 15) / 16);
+ break;
+ case DataBuffer.TYPE_INT:
+ dataBuffer = new DataBufferInt(size + (dataBitOffset + 31) / 32);
+ break;
}
return dataBuffer;
}
@@ -269,14 +289,14 @@ public class MultiPixelPackedSampleModel extends SampleModel {
/**
* Gets the offset of the specified pixel in the data array.
*
- * @param x the X coordinate of the specified pixel.
- * @param y the Y coordinate of the specified pixel.
- *
+ * @param x
+ * the X coordinate of the specified pixel.
+ * @param y
+ * the Y coordinate of the specified pixel.
* @return the offset of the specified pixel.
*/
public int getOffset(int x, int y) {
- return y * scanlineStride + (x * pixelBitStride + dataBitOffset) /
- dataElementSize;
+ return y * scanlineStride + (x * pixelBitStride + dataBitOffset) / dataElementSize;
}
@Override
@@ -285,11 +305,11 @@ public class MultiPixelPackedSampleModel extends SampleModel {
}
/**
- * Gets the bit offset in the data element which
- * is stored for the specified pixel of a scanline.
- *
- * @param x the pixel.
+ * Gets the bit offset in the data element which is stored for the specified
+ * pixel of a scanline.
*
+ * @param x
+ * the pixel.
* @return the bit offset of the pixel in the data element.
*/
public int getBitOffset(int x) {
@@ -298,7 +318,9 @@ public class MultiPixelPackedSampleModel extends SampleModel {
@Override
public int[] getSampleSize() {
- int sampleSizes[] = { pixelBitStride };
+ int sampleSizes[] = {
+ pixelBitStride
+ };
return sampleSizes;
}
@@ -396,54 +418,58 @@ public class MultiPixelPackedSampleModel extends SampleModel {
}
/**
- * This method is used by other methods of this class. The behaviour of
- * this method depends on the method which has been invoke this one. The
- * argument methodId is used to choose valid behaviour in a particular case.
- * If methodId is equal to 1 it means that this method has been invoked by
- * the setDataElements() method, 2 - means setPixel(), and setSample() in
- * any other cases.
+ * This method is used by other methods of this class. The behavior of this
+ * method depends on the method which has been invoke this one. The argument
+ * methodId is used to choose valid behavior in a particular case. If
+ * methodId is equal to 1 it means that this method has been invoked by the
+ * setDataElements() method, 2 - means setPixel(), and setSample() in any
+ * other cases.
*
- * @param x the x
- * @param y the y
- * @param obj the obj
- * @param data the data
- * @param methodId the method id
- * @param s the s
+ * @param x
+ * the x.
+ * @param y
+ * the y.
+ * @param obj
+ * the obj.
+ * @param data
+ * the data.
+ * @param methodId
+ * the method id.
+ * @param s
+ * the s.
*/
- private void setSample(final int x, final int y, final Object obj,
- final DataBuffer data, final int methodId, int s) {
+ private void setSample(final int x, final int y, final Object obj, final DataBuffer data,
+ final int methodId, int s) {
if ((x < 0) || (y < 0) || (x >= this.width) || (y >= this.height)) {
// awt.63=Coordinates are not in bounds
- throw new ArrayIndexOutOfBoundsException(Messages
- .getString("awt.63")); //$NON-NLS-1$
+ throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
}
final int bitnum = dataBitOffset + x * pixelBitStride;
final int idx = y * scanlineStride + bitnum / dataElementSize;
- final int shift = dataElementSize - (bitnum & (dataElementSize - 1))
- - pixelBitStride;
+ final int shift = dataElementSize - (bitnum & (dataElementSize - 1)) - pixelBitStride;
final int mask = ~(bitMask << shift);
int elem = data.getElem(idx);
switch (methodId) {
- case 1: { // Invoked from setDataElements()
- switch (getTransferType()) {
- case DataBuffer.TYPE_BYTE:
- s = ((byte[]) obj)[0] & 0xff;
- break;
- case DataBuffer.TYPE_USHORT:
- s = ((short[]) obj)[0] & 0xffff;
+ case 1: { // Invoked from setDataElements()
+ switch (getTransferType()) {
+ case DataBuffer.TYPE_BYTE:
+ s = ((byte[])obj)[0] & 0xff;
+ break;
+ case DataBuffer.TYPE_USHORT:
+ s = ((short[])obj)[0] & 0xffff;
+ break;
+ case DataBuffer.TYPE_INT:
+ s = ((int[])obj)[0];
+ break;
+ }
break;
- case DataBuffer.TYPE_INT:
- s = ((int[]) obj)[0];
+ }
+ case 2: { // Invoked from setPixel()
+ s = ((int[])obj)[0];
break;
}
- break;
- }
- case 2: { // Invoked from setPixel()
- s = ((int[]) obj)[0];
- break;
- }
}
elem &= mask;
@@ -451,4 +477,3 @@ public class MultiPixelPackedSampleModel extends SampleModel {
data.setElem(idx, elem);
}
}
-
diff --git a/awt/java/awt/image/PackedColorModel.java b/awt/java/awt/image/PackedColorModel.java
index 7aaefbf..4d1c2e5 100644
--- a/awt/java/awt/image/PackedColorModel.java
+++ b/awt/java/awt/image/PackedColorModel.java
@@ -18,6 +18,7 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import java.awt.Transparency;
@@ -27,44 +28,57 @@ import java.util.Arrays;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The Class PackedColorModel represents a color model where the
- * components are just the red, green, and blue bands, plus an alpha
- * band if alpha is supported.
+ * The class PackedColorModel represents a color model where the components are
+ * just the red, green, and blue bands, plus an alpha band if alpha is
+ * supported.
+ *
+ * @since Android 1.0
*/
public abstract class PackedColorModel extends ColorModel {
- /** The component masks. */
+ /**
+ * The component masks.
+ */
int componentMasks[];
- /** The offsets. */
+ /**
+ * The offsets.
+ */
int offsets[];
- /** The scales. */
+ /**
+ * The scales.
+ */
float scales[];
/**
* Instantiates a new packed color model.
*
- * @param space the color space
- * @param bits the array of component masks
- * @param colorMaskArray the array that gives the bitmask corresponding
- * to each color band (red, green, and blue)
- * @param alphaMask the bitmask corresponding to the alpha band
- * @param isAlphaPremultiplied whether the alpha is premultiplied in this color model
- * @param trans the transparency strategy, @see java.awt.Transparency
- * @param transferType the transfer type (primitive java type
- * to use for the components)
- *
- * @throws IllegalArgumentException if the number of bits in the combined
- * bitmasks for the color bands is less than one or greater than 32
+ * @param space
+ * the color space.
+ * @param bits
+ * the array of component masks.
+ * @param colorMaskArray
+ * the array that gives the bitmask corresponding to each color
+ * band (red, green, and blue).
+ * @param alphaMask
+ * the bitmask corresponding to the alpha band.
+ * @param isAlphaPremultiplied
+ * whether the alpha is pre-multiplied in this color model.
+ * @param trans
+ * the transparency strategy, @see java.awt.Transparency.
+ * @param transferType
+ * the transfer type (primitive java type to use for the
+ * components).
+ * @throws IllegalArgumentException
+ * if the number of bits in the combined bitmasks for the color
+ * bands is less than one or greater than 32.
*/
- public PackedColorModel(ColorSpace space, int bits, int colorMaskArray[],
- int alphaMask, boolean isAlphaPremultiplied, int trans,
- int transferType) {
+ public PackedColorModel(ColorSpace space, int bits, int colorMaskArray[], int alphaMask,
+ boolean isAlphaPremultiplied, int trans, int transferType) {
- super(bits, createBits(colorMaskArray, alphaMask), space,
- (alphaMask == 0 ? false : true), isAlphaPremultiplied, trans,
- validateTransferType(transferType));
+ super(bits, createBits(colorMaskArray, alphaMask), space, (alphaMask == 0 ? false : true),
+ isAlphaPremultiplied, trans, validateTransferType(transferType));
if (pixel_bits < 1 || pixel_bits > 32) {
// awt.236=The bits is less than 1 or greater than 32
@@ -89,27 +103,34 @@ public abstract class PackedColorModel extends ColorModel {
/**
* Instantiates a new packed color model.
*
- * @param space the color space
- * @param bits the array of component masks
- * @param rmask the bitmask corresponding to the red band
- * @param gmask the bitmask corresponding to the green band
- * @param bmask the bitmask corresponding to the blue band
- * @param amask the bitmask corresponding to the alpha band
- * @param isAlphaPremultiplied whether the alpha is premultiplied in this color model
- * @param trans the transparency strategy, @see java.awt.Transparency
- * @param transferType the transfer type (primitive java type
- * to use for the components)
- *
- * @throws IllegalArgumentException if the number of bits in the combined
- * bitmasks for the color bands is less than one or greater than 32
+ * @param space
+ * the color space.
+ * @param bits
+ * the array of component masks.
+ * @param rmask
+ * the bitmask corresponding to the red band.
+ * @param gmask
+ * the bitmask corresponding to the green band.
+ * @param bmask
+ * the bitmask corresponding to the blue band.
+ * @param amask
+ * the bitmask corresponding to the alpha band.
+ * @param isAlphaPremultiplied
+ * whether the alpha is pre-multiplied in this color model.
+ * @param trans
+ * the transparency strategy, @see java.awt.Transparency.
+ * @param transferType
+ * the transfer type (primitive java type to use for the
+ * components).
+ * @throws IllegalArgumentException
+ * if the number of bits in the combined bitmasks for the color
+ * bands is less than one or greater than 32.
*/
- public PackedColorModel(ColorSpace space, int bits, int rmask, int gmask,
- int bmask, int amask, boolean isAlphaPremultiplied, int trans,
- int transferType) {
+ public PackedColorModel(ColorSpace space, int bits, int rmask, int gmask, int bmask, int amask,
+ boolean isAlphaPremultiplied, int trans, int transferType) {
- super(bits, createBits(rmask, gmask, bmask, amask), space,
- (amask == 0 ? false : true), isAlphaPremultiplied, trans,
- validateTransferType(transferType));
+ super(bits, createBits(rmask, gmask, bmask, amask), space, (amask == 0 ? false : true),
+ isAlphaPremultiplied, trans, validateTransferType(transferType));
if (pixel_bits < 1 || pixel_bits > 32) {
// awt.236=The bits is less than 1 or greater than 32
@@ -123,7 +144,8 @@ public abstract class PackedColorModel extends ColorModel {
for (int i = 0; i < numColorComponents; i++) {
if (cs.getMinValue(i) != 0.0f || cs.getMaxValue(i) != 1.0f) {
- // awt.23A=The min/max normalized component values are not 0.0/1.0
+ // awt.23A=The min/max normalized component values are not
+ // 0.0/1.0
throw new IllegalArgumentException(Messages.getString("awt.23A")); //$NON-NLS-1$
}
}
@@ -144,7 +166,7 @@ public abstract class PackedColorModel extends ColorModel {
@Override
public WritableRaster getAlphaRaster(WritableRaster raster) {
- if(!hasAlpha) {
+ if (!hasAlpha) {
return null;
}
@@ -165,18 +187,16 @@ public abstract class PackedColorModel extends ColorModel {
if (!(obj instanceof PackedColorModel)) {
return false;
}
- PackedColorModel cm = (PackedColorModel) obj;
-
- return (pixel_bits == cm.getPixelSize() &&
- transferType == cm.getTransferType() &&
- cs.getType() == cm.getColorSpace().getType() &&
- hasAlpha == cm.hasAlpha() &&
- isAlphaPremultiplied == cm.isAlphaPremultiplied() &&
- transparency == cm.getTransparency() &&
- numColorComponents == cm.getNumColorComponents()&&
- numComponents == cm.getNumComponents() &&
- Arrays.equals(bits, cm.getComponentSize()) &&
- Arrays.equals(componentMasks, cm.getMasks()));
+ PackedColorModel cm = (PackedColorModel)obj;
+
+ return (pixel_bits == cm.getPixelSize() && transferType == cm.getTransferType()
+ && cs.getType() == cm.getColorSpace().getType() && hasAlpha == cm.hasAlpha()
+ && isAlphaPremultiplied == cm.isAlphaPremultiplied()
+ && transparency == cm.getTransparency()
+ && numColorComponents == cm.getNumColorComponents()
+ && numComponents == cm.getNumComponents()
+ && Arrays.equals(bits, cm.getComponentSize()) && Arrays.equals(componentMasks, cm
+ .getMasks()));
}
@Override
@@ -187,25 +207,23 @@ public abstract class PackedColorModel extends ColorModel {
if (!(sm instanceof SinglePixelPackedSampleModel)) {
return false;
}
- SinglePixelPackedSampleModel esm = (SinglePixelPackedSampleModel) sm;
+ SinglePixelPackedSampleModel esm = (SinglePixelPackedSampleModel)sm;
- return ((esm.getNumBands() == numComponents) &&
- (esm.getTransferType() == transferType) &&
- Arrays.equals(esm.getBitMasks(), componentMasks));
+ return ((esm.getNumBands() == numComponents) && (esm.getTransferType() == transferType) && Arrays
+ .equals(esm.getBitMasks(), componentMasks));
}
@Override
public SampleModel createCompatibleSampleModel(int w, int h) {
- return new SinglePixelPackedSampleModel(transferType, w, h,
- componentMasks);
+ return new SinglePixelPackedSampleModel(transferType, w, h, componentMasks);
}
/**
* Gets the bitmask corresponding to the specified color component.
*
- * @param index the index of the desired color
- *
- * @return the mask
+ * @param index
+ * the index of the desired color.
+ * @return the mask.
*/
public final int getMask(int index) {
return componentMasks[index];
@@ -214,7 +232,7 @@ public abstract class PackedColorModel extends ColorModel {
/**
* Gets the bitmasks of the components.
*
- * @return the masks
+ * @return the masks.
*/
public final int[] getMasks() {
return (componentMasks.clone());
@@ -223,10 +241,11 @@ public abstract class PackedColorModel extends ColorModel {
/**
* Creates the bits.
*
- * @param colorMaskArray the color mask array
- * @param alphaMask the alpha mask
- *
- * @return the int[]
+ * @param colorMaskArray
+ * the color mask array.
+ * @param alphaMask
+ * the alpha mask.
+ * @return the int[].
*/
private static int[] createBits(int colorMaskArray[], int alphaMask) {
int bits[];
@@ -262,15 +281,17 @@ public abstract class PackedColorModel extends ColorModel {
/**
* Creates the bits.
*
- * @param rmask the rmask
- * @param gmask the gmask
- * @param bmask the bmask
- * @param amask the amask
- *
- * @return the int[]
+ * @param rmask
+ * the rmask.
+ * @param gmask
+ * the gmask.
+ * @param bmask
+ * the bmask.
+ * @param amask
+ * the amask.
+ * @return the int[].
*/
- private static int[] createBits(int rmask, int gmask, int bmask,
- int amask) {
+ private static int[] createBits(int rmask, int gmask, int bmask, int amask) {
int numComp;
if (amask == 0) {
@@ -312,9 +333,9 @@ public abstract class PackedColorModel extends ColorModel {
/**
* Count comp bits.
*
- * @param compMask the comp mask
- *
- * @return the int
+ * @param compMask
+ * the comp mask.
+ * @return the int.
*/
private static int countCompBits(int compMask) {
int bits = 0;
@@ -340,20 +361,19 @@ public abstract class PackedColorModel extends ColorModel {
/**
* Validate transfer type.
*
- * @param transferType the transfer type
- *
- * @return the int
+ * @param transferType
+ * the transfer type.
+ * @return the int.
*/
private static int validateTransferType(int transferType) {
- if (transferType != DataBuffer.TYPE_BYTE &&
- transferType != DataBuffer.TYPE_USHORT &&
- transferType != DataBuffer.TYPE_INT) {
+ if (transferType != DataBuffer.TYPE_BYTE && transferType != DataBuffer.TYPE_USHORT
+ && transferType != DataBuffer.TYPE_INT) {
// awt.240=The transferType not is one of DataBuffer.TYPE_BYTE,
- // DataBuffer.TYPE_USHORT or DataBuffer.TYPE_INT
+ // DataBuffer.TYPE_USHORT or DataBuffer.TYPE_INT
throw new IllegalArgumentException(Messages.getString("awt.240")); //$NON-NLS-1$
}
return transferType;
-}
+ }
/**
* Parses the components.
@@ -380,4 +400,3 @@ public abstract class PackedColorModel extends ColorModel {
}
}
-
diff --git a/awt/java/awt/image/PixelInterleavedSampleModel.java b/awt/java/awt/image/PixelInterleavedSampleModel.java
index e41473e..8e646f8 100644
--- a/awt/java/awt/image/PixelInterleavedSampleModel.java
+++ b/awt/java/awt/image/PixelInterleavedSampleModel.java
@@ -18,30 +18,39 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The PixelInterleavedSampleModel class represents image data
- * as represented as interleaved pixels and for which each sample of
- * a pixel takes one data element of the DataBuffer.
+ * The PixelInterleavedSampleModel class represents image data as represented as
+ * interleaved pixels and for which each sample of a pixel takes one data
+ * element of the DataBuffer.
+ *
+ * @since Android 1.0
*/
public class PixelInterleavedSampleModel extends ComponentSampleModel {
/**
- * Instantiates a new PixelInterleavedSampleModel with the
- * specified parameters.
+ * Instantiates a new PixelInterleavedSampleModel with the specified
+ * parameters.
*
- * @param dataType the data type of the samples.
- * @param w the width of the image data.
- * @param h the height of the image data.
- * @param pixelStride the pixel stride of the image data.
- * @param scanlineStride the scanline stride of the of the image data.
- * @param bandOffsets the array of the band offsets.
+ * @param dataType
+ * the data type of the samples.
+ * @param w
+ * the width of the image data.
+ * @param h
+ * the height of the image data.
+ * @param pixelStride
+ * the pixel stride of the image data.
+ * @param scanlineStride
+ * the scanline stride of the of the image data.
+ * @param bandOffsets
+ * the array of the band offsets.
*/
- public PixelInterleavedSampleModel(int dataType, int w, int h,
- int pixelStride, int scanlineStride, int bandOffsets[]) {
+ public PixelInterleavedSampleModel(int dataType, int w, int h, int pixelStride,
+ int scanlineStride, int bandOffsets[]) {
super(dataType, w, h, pixelStride, scanlineStride, bandOffsets);
@@ -59,7 +68,8 @@ public class PixelInterleavedSampleModel extends ComponentSampleModel {
maxOffset -= minOffset;
if (maxOffset > scanlineStride) {
- // awt.241=Any offset between bands is greater than the Scanline stride
+ // awt.241=Any offset between bands is greater than the Scanline
+ // stride
throw new IllegalArgumentException(Messages.getString("awt.241")); //$NON-NLS-1$
}
@@ -69,7 +79,8 @@ public class PixelInterleavedSampleModel extends ComponentSampleModel {
}
if (pixelStride * w > scanlineStride) {
- // awt.243=Product of Pixel stride and w is greater than Scanline stride
+ // awt.243=Product of Pixel stride and w is greater than Scanline
+ // stride
throw new IllegalArgumentException(Messages.getString("awt.243")); //$NON-NLS-1$
}
@@ -82,8 +93,8 @@ public class PixelInterleavedSampleModel extends ComponentSampleModel {
newOffsets[i] = bandOffsets[bands[i]];
}
- return new PixelInterleavedSampleModel(dataType, width, height,
- pixelStride, scanlineStride, newOffsets);
+ return new PixelInterleavedSampleModel(dataType, width, height, pixelStride,
+ scanlineStride, newOffsets);
}
@Override
@@ -106,8 +117,8 @@ public class PixelInterleavedSampleModel extends ComponentSampleModel {
newOffsets = bandOffsets;
}
- return new PixelInterleavedSampleModel(dataType, w, h, pixelStride,
- pixelStride * w, newOffsets);
+ return new PixelInterleavedSampleModel(dataType, w, h, pixelStride, pixelStride * w,
+ newOffsets);
}
@Override
@@ -121,4 +132,3 @@ public class PixelInterleavedSampleModel extends ComponentSampleModel {
}
}
-
diff --git a/awt/java/awt/image/RGBImageFilter.java b/awt/java/awt/image/RGBImageFilter.java
index 9a76997..f5fe5d9 100644
--- a/awt/java/awt/image/RGBImageFilter.java
+++ b/awt/java/awt/image/RGBImageFilter.java
@@ -18,46 +18,48 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
-package java.awt.image;
+package java.awt.image;
/**
- * The RGBImageFilter class represents a filter which modifies
- * pixels of an image in the default RGB ColorModel.
+ * The RGBImageFilter class represents a filter which modifies pixels of an
+ * image in the default RGB ColorModel.
+ *
+ * @since Android 1.0
*/
public abstract class RGBImageFilter extends ImageFilter {
- /**
- * The origmodel is the ColorModel to be replaced by newmodel
- * when substituteColorModel is called.
+ /**
+ * The original model is the ColorModel to be replaced by the new model when
+ * substituteColorModel is called.
*/
protected ColorModel origmodel;
- /**
- * The newmodel is the ColorModel with which to replace origmodel
- * when substituteColorModel is called.
+ /**
+ * The new model is the ColorModel with which to replace the original model
+ * when substituteColorModel is called.
*/
protected ColorModel newmodel;
- /**
- * The canFilterIndexColorModel indicates if it is
- * acceptable to apply the color filtering of the filterRGB
- * method to the color table entries of an IndexColorModel
- * object.
- * */
+ /**
+ * The canFilterIndexColorModel indicates if it is acceptable to apply the
+ * color filtering of the filterRGB method to the color table entries of an
+ * IndexColorModel object.
+ */
protected boolean canFilterIndexColorModel;
/**
* Instantiates a new RGBImageFilter.
*/
- public RGBImageFilter() {}
+ public RGBImageFilter() {
+ }
/**
- * Filters an IndexColorModel object by calling filterRGB function for
- * each entry of IndexColorModel.
- *
- * @param icm the IndexColorModel to be filtered.
+ * Filters an IndexColorModel object by calling filterRGB function for each
+ * entry of IndexColorModel.
*
+ * @param icm
+ * the IndexColorModel to be filtered.
* @return the IndexColorModel.
*/
public IndexColorModel filterIndexColorModel(IndexColorModel icm) {
@@ -69,28 +71,30 @@ public abstract class RGBImageFilter extends ImageFilter {
icm.getRGBs(colorMap);
int trans = -1;
boolean hasAlpha = false;
- for(int i = 0; i < mapSize; i++){
+ for (int i = 0; i < mapSize; i++) {
filteredColorMap[i] = filterRGB(-1, -1, colorMap[i]);
int alpha = filteredColorMap[i] >>> 24;
- if(alpha != 0xff){
- if(!hasAlpha) {
+ if (alpha != 0xff) {
+ if (!hasAlpha) {
hasAlpha = true;
}
- if(alpha == 0 && trans < 0) {
+ if (alpha == 0 && trans < 0) {
trans = i;
}
}
}
- return new IndexColorModel(bits, mapSize, filteredColorMap, 0,
- hasAlpha, trans, transferType);
+ return new IndexColorModel(bits, mapSize, filteredColorMap, 0, hasAlpha, trans,
+ transferType);
}
/**
* Replaces the original color model and the new one.
*
- * @param oldcm the old ColorModel.
- * @param newcm the new ColorModel.
+ * @param oldcm
+ * the old ColorModel.
+ * @param newcm
+ * the new ColorModel.
*/
public void substituteColorModel(ColorModel oldcm, ColorModel newcm) {
origmodel = oldcm;
@@ -99,29 +103,27 @@ public abstract class RGBImageFilter extends ImageFilter {
@Override
public void setColorModel(ColorModel model) {
- if(model instanceof IndexColorModel &&
- canFilterIndexColorModel){
- IndexColorModel icm = (IndexColorModel) model;
+ if (model instanceof IndexColorModel && canFilterIndexColorModel) {
+ IndexColorModel icm = (IndexColorModel)model;
ColorModel filteredModel = filterIndexColorModel(icm);
substituteColorModel(model, filteredModel);
consumer.setColorModel(filteredModel);
- }else{
+ } else {
consumer.setColorModel(ColorModel.getRGBdefault());
}
}
@Override
- public void setPixels(int x, int y, int w, int h, ColorModel model,
- int[] pixels, int off, int scansize) {
-
- if(model == null || model == origmodel){
+ public void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off,
+ int scansize) {
+
+ if (model == null || model == origmodel) {
consumer.setPixels(x, y, w, h, newmodel, pixels, off, scansize);
- }else{
+ } else {
int rgbPixels[] = new int[w];
- for(int sy = y, pixelsOff = off; sy < y + h;
- sy++, pixelsOff += scansize){
-
- for(int sx = x, idx = 0; sx < x + w; sx++, idx++){
+ for (int sy = y, pixelsOff = off; sy < y + h; sy++, pixelsOff += scansize) {
+
+ for (int sx = x, idx = 0; sx < x + w; sx++, idx++) {
rgbPixels[idx] = model.getRGB(pixels[pixelsOff + idx]);
}
filterRGBPixels(x, sy, w, 1, rgbPixels, 0, w);
@@ -130,19 +132,17 @@ public abstract class RGBImageFilter extends ImageFilter {
}
@Override
- public void setPixels(int x, int y, int w, int h, ColorModel model,
- byte[] pixels, int off, int scansize) {
-
- if(model == null || model == origmodel){
+ public void setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off,
+ int scansize) {
+
+ if (model == null || model == origmodel) {
consumer.setPixels(x, y, w, h, newmodel, pixels, off, scansize);
- }else{
+ } else {
int rgbPixels[] = new int[w];
- for(int sy = y, pixelsOff = off; sy < y + h;
- sy++, pixelsOff += scansize){
-
- for(int sx = x, idx = 0; sx < x + w; sx++, idx++){
- rgbPixels[idx] =
- model.getRGB(pixels[pixelsOff + idx] & 0xff);
+ for (int sy = y, pixelsOff = off; sy < y + h; sy++, pixelsOff += scansize) {
+
+ for (int sx = x, idx = 0; sx < x + w; sx++, idx++) {
+ rgbPixels[idx] = model.getRGB(pixels[pixelsOff + idx] & 0xff);
}
filterRGBPixels(x, sy, w, 1, rgbPixels, 0, w);
}
@@ -150,41 +150,46 @@ public abstract class RGBImageFilter extends ImageFilter {
}
/**
- * Filters a region of pixels in the default RGB ColorModel
- * by calling the filterRGB method for them.
+ * Filters a region of pixels in the default RGB ColorModel by calling the
+ * filterRGB method for them.
*
- * @param x the X coordinate of region.
- * @param y the Y coordinate of region.
- * @param w the width ofregion.
- * @param h the height of region.
- * @param pixels the pixels array.
- * @param off the offset of array.
- * @param scansize the distance between rows of pixels in the array.
+ * @param x
+ * the X coordinate of region.
+ * @param y
+ * the Y coordinate of region.
+ * @param w
+ * the width of region.
+ * @param h
+ * the height of region.
+ * @param pixels
+ * the pixels array.
+ * @param off
+ * the offset of array.
+ * @param scansize
+ * the distance between rows of pixels in the array.
*/
- public void filterRGBPixels(int x, int y, int w, int h,
- int[] pixels, int off, int scansize) {
-
- for(int sy = y, lineOff = off; sy < y + h; sy++, lineOff += scansize){
- for(int sx = x, idx = 0; sx < x + w; sx++, idx++){
- pixels[lineOff + idx] =
- filterRGB(sx, sy, pixels[lineOff + idx]);
+ public void filterRGBPixels(int x, int y, int w, int h, int[] pixels, int off, int scansize) {
+
+ for (int sy = y, lineOff = off; sy < y + h; sy++, lineOff += scansize) {
+ for (int sx = x, idx = 0; sx < x + w; sx++, idx++) {
+ pixels[lineOff + idx] = filterRGB(sx, sy, pixels[lineOff + idx]);
}
}
- consumer.setPixels(x, y, w, h, ColorModel.getRGBdefault(),
- pixels, off, scansize);
+ consumer.setPixels(x, y, w, h, ColorModel.getRGBdefault(), pixels, off, scansize);
}
/**
- * Coverts a single input pixel in the default RGB ColorModel
- * to a single output pixel.
- *
- * @param x the X pixel's coordinate.
- * @param y the Y pixel's coordinate.
- * @param rgb a pixel in the default RGB color model.
+ * Converts a single input pixel in the default RGB ColorModel to a single
+ * output pixel.
*
+ * @param x
+ * the X pixel's coordinate.
+ * @param y
+ * the Y pixel's coordinate.
+ * @param rgb
+ * a pixel in the default RGB color model.
* @return a filtered pixel in the default RGB color model.
*/
public abstract int filterRGB(int x, int y, int rgb);
}
-
diff --git a/awt/java/awt/image/Raster.java b/awt/java/awt/image/Raster.java
index 4b2426e..6749fde 100644
--- a/awt/java/awt/image/Raster.java
+++ b/awt/java/awt/image/Raster.java
@@ -18,6 +18,7 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import java.awt.Point;
@@ -27,70 +28,95 @@ import org.apache.harmony.awt.gl.image.OrdinaryWritableRaster;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The Raster class represents a rectangular area of pixels.
- * This class is defined by DataBuffer and SampleModel objects.
- * The DataBuffer object stores sample values and DSampleModel defines
- * the location of sample in this DataBuffer.
+ * The Raster class represents a rectangular area of pixels. This class is
+ * defined by DataBuffer and SampleModel objects. The DataBuffer object stores
+ * sample values and DSampleModel defines the location of sample in this
+ * DataBuffer.
+ *
+ * @since Android 1.0
*/
public class Raster {
- /** The DataBuffer of this Raster. */
+ /**
+ * The DataBuffer of this Raster.
+ */
protected DataBuffer dataBuffer;
- /** The height of this Raster. */
+ /**
+ * The height of this Raster.
+ */
protected int height;
- /** The X coordinate of the upper left pixel in this Raster. */
+ /**
+ * The X coordinate of the upper left pixel in this Raster.
+ */
protected int minX;
- /** The Y coordinate of the upper left pixel in this Raster. */
+ /**
+ * The Y coordinate of the upper left pixel in this Raster.
+ */
protected int minY;
- /** The number of bands in this Raster. */
+ /**
+ * The number of bands in this Raster.
+ */
protected int numBands;
- /** The number of data elements. */
+ /**
+ * The number of data elements.
+ */
protected int numDataElements;
- /** The parent of this Raster. */
+ /**
+ * The parent of this Raster.
+ */
protected Raster parent;
- /** The SampleModel of this Raster. */
+ /**
+ * The SampleModel of this Raster.
+ */
protected SampleModel sampleModel;
- /**
- * The X translation from the coordinate space of the
- * SampleModel of this Raster.
+ /**
+ * The X translation from the coordinate space of the SampleModel of this
+ * Raster.
*/
protected int sampleModelTranslateX;
- /**
- * The Y translation from the coordinate space of the
- * SampleModel of this Raster.
+ /**
+ * The Y translation from the coordinate space of the SampleModel of this
+ * Raster.
*/
protected int sampleModelTranslateY;
- /** The width of this Raster. */
+ /**
+ * The width of this Raster.
+ */
protected int width;
/**
- * Creates a Raster object with a BandedSampleModel and the specified
+ * Creates a Raster object with a BandedSampleModel and the specified
* DataBuffer. The number of bands is defined by the length of bandOffsets
* or bankIndices arrays.
*
- * @param dataBuffer the specified DataBuffer.
- * @param w the width of the image data.
- * @param h the height of the image data.
- * @param bankIndices the bank indices of bands.
- * @param bandOffsets the band offsets of bands.
- * @param location the location which defines the upper left corner
- * of Raster.
- *
+ * @param dataBuffer
+ * the specified DataBuffer.
+ * @param w
+ * the width of the image data.
+ * @param h
+ * the height of the image data.
+ * @param scanlineStride
+ * the scanline stride of the image data.
+ * @param bankIndices
+ * the bank indices of bands.
+ * @param bandOffsets
+ * the band offsets of bands.
+ * @param location
+ * the location which defines the upper left corner of Raster.
* @return the WritableRaster object.
*/
- public static WritableRaster createBandedRaster(DataBuffer dataBuffer,
- int w, int h, int scanlineStride, int bankIndices[],
- int bandOffsets[], Point location) {
+ public static WritableRaster createBandedRaster(DataBuffer dataBuffer, int w, int h,
+ int scanlineStride, int bankIndices[], int bandOffsets[], Point location) {
if (w <= 0 || h <= 0) {
// awt.22E=w or h is less than or equal to zero
@@ -101,9 +127,9 @@ public class Raster {
location = new Point(0, 0);
}
- if ((long) location.x + w > Integer.MAX_VALUE
- || (long) location.y + h > Integer.MAX_VALUE) {
- // awt.276=location.x + w or location.y + h results in integer overflow
+ if ((long)location.x + w > Integer.MAX_VALUE || (long)location.y + h > Integer.MAX_VALUE) {
+ // awt.276=location.x + w or location.y + h results in integer
+ // overflow
throw new RasterFormatException(Messages.getString("awt.276")); //$NON-NLS-1$
}
@@ -119,39 +145,43 @@ public class Raster {
int dataType = dataBuffer.getDataType();
- if (dataType != DataBuffer.TYPE_BYTE
- && dataType != DataBuffer.TYPE_USHORT
+ if (dataType != DataBuffer.TYPE_BYTE && dataType != DataBuffer.TYPE_USHORT
&& dataType != DataBuffer.TYPE_INT) {
// awt.230=dataType is not one of the supported data types
throw new IllegalArgumentException(Messages.getString("awt.230")); //$NON-NLS-1$
}
- BandedSampleModel sampleModel = new BandedSampleModel(dataType, w, h,
- scanlineStride, bankIndices, bandOffsets);
+ BandedSampleModel sampleModel = new BandedSampleModel(dataType, w, h, scanlineStride,
+ bankIndices, bandOffsets);
return new OrdinaryWritableRaster(sampleModel, dataBuffer, location);
}
/**
- * Creates a Raster object with a BandedSampleModel and the specified
- * data type. The Data type can be one of the following values:
- * TYPE_BYTE, TYPE_USHORT, or TYPE_INT.
- *
- * @param dataType the data type of the samples:
- * TYPE_BYTE, TYPE_USHORT, or TYPE_INT.
- * @param w the width of the image data.
- * @param h the height of the image data.
- * @param scanlineStride the scanline stride of the image data.
- * @param bankIndices the bank indices of bands.
- * @param bandOffsets the band offsets of bands.
- * @param location the location which defines the upper left corner
- * of the Raster.
- *
+ * Creates a Raster object with a BandedSampleModel and the specified data
+ * type. The Data type can be one of the following values: TYPE_BYTE,
+ * TYPE_USHORT, or TYPE_INT.
+ *
+ * @param dataType
+ * the data type of the samples: TYPE_BYTE, TYPE_USHORT, or
+ * TYPE_INT.
+ * @param w
+ * the width of the image data.
+ * @param h
+ * the height of the image data.
+ * @param scanlineStride
+ * the scanline stride of the image data.
+ * @param bankIndices
+ * the bank indices of bands.
+ * @param bandOffsets
+ * the band offsets of bands.
+ * @param location
+ * the location which defines the upper left corner of the
+ * Raster.
* @return the WritableRaster object.
*/
- public static WritableRaster createBandedRaster(int dataType, int w, int h,
- int scanlineStride, int bankIndices[], int bandOffsets[],
- Point location) {
+ public static WritableRaster createBandedRaster(int dataType, int w, int h, int scanlineStride,
+ int bankIndices[], int bandOffsets[], Point location) {
if (w <= 0 || h <= 0) {
// awt.22E=w or h is less than or equal to zero
@@ -162,9 +192,9 @@ public class Raster {
location = new Point(0, 0);
}
- if ((long) location.x + w > Integer.MAX_VALUE
- || (long) location.y + h > Integer.MAX_VALUE) {
- // awt.276=location.x + w or location.y + h results in integer overflow
+ if ((long)location.x + w > Integer.MAX_VALUE || (long)location.y + h > Integer.MAX_VALUE) {
+ // awt.276=location.x + w or location.y + h results in integer
+ // overflow
throw new RasterFormatException(Messages.getString("awt.276")); //$NON-NLS-1$
}
@@ -173,8 +203,7 @@ public class Raster {
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.277")); //$NON-NLS-1$
}
- if (dataType != DataBuffer.TYPE_BYTE
- && dataType != DataBuffer.TYPE_USHORT
+ if (dataType != DataBuffer.TYPE_BYTE && dataType != DataBuffer.TYPE_USHORT
&& dataType != DataBuffer.TYPE_INT) {
// awt.230=dataType is not one of the supported data types
throw new IllegalArgumentException(Messages.getString("awt.230")); //$NON-NLS-1$
@@ -198,37 +227,40 @@ public class Raster {
DataBuffer data = null;
switch (dataType) {
- case DataBuffer.TYPE_BYTE:
- data = new DataBufferByte(dataSize, numBanks);
- break;
- case DataBuffer.TYPE_USHORT:
- data = new DataBufferUShort(dataSize, numBanks);
- break;
- case DataBuffer.TYPE_INT:
- data = new DataBufferInt(dataSize, numBanks);
- break;
- }
- return createBandedRaster(data, w, h, scanlineStride, bankIndices,
- bandOffsets, location);
+ case DataBuffer.TYPE_BYTE:
+ data = new DataBufferByte(dataSize, numBanks);
+ break;
+ case DataBuffer.TYPE_USHORT:
+ data = new DataBufferUShort(dataSize, numBanks);
+ break;
+ case DataBuffer.TYPE_INT:
+ data = new DataBufferInt(dataSize, numBanks);
+ break;
+ }
+ return createBandedRaster(data, w, h, scanlineStride, bankIndices, bandOffsets, location);
}
/**
- * Creates a Raster object with a BandedSampleModel and the specified
- * data type. The Data type can be one of the following values:
- * TYPE_BYTE, TYPE_USHORT, or TYPE_INT.
- *
- * @param dataType the data type of the samples:
- * TYPE_BYTE, TYPE_USHORT, or TYPE_INT.
- * @param w the width of the image data.
- * @param h the height of the image data.
- * @param bands the number of bands.
- * @param location the location which defines the upper left corner
- * of the Raster.
- *
+ * Creates a Raster object with a BandedSampleModel and the specified data
+ * type. The Data type can be one of the following values: TYPE_BYTE,
+ * TYPE_USHORT, or TYPE_INT.
+ *
+ * @param dataType
+ * the data type of the samples: TYPE_BYTE, TYPE_USHORT, or
+ * TYPE_INT.
+ * @param w
+ * the width of the image data.
+ * @param h
+ * the height of the image data.
+ * @param bands
+ * the number of bands.
+ * @param location
+ * the location which defines the upper left corner of the
+ * Raster.
* @return the WritableRaster object.
*/
- public static WritableRaster createBandedRaster(int dataType, int w, int h,
- int bands, Point location) {
+ public static WritableRaster createBandedRaster(int dataType, int w, int h, int bands,
+ Point location) {
if (w <= 0 || h <= 0) {
// awt.22E=w or h is less than or equal to zero
@@ -239,9 +271,9 @@ public class Raster {
location = new Point(0, 0);
}
- if ((long) location.x + w > Integer.MAX_VALUE
- || (long) location.y + h > Integer.MAX_VALUE) {
- // awt.276=location.x + w or location.y + h results in integer overflow
+ if ((long)location.x + w > Integer.MAX_VALUE || (long)location.y + h > Integer.MAX_VALUE) {
+ // awt.276=location.x + w or location.y + h results in integer
+ // overflow
throw new RasterFormatException(Messages.getString("awt.276")); //$NON-NLS-1$
}
@@ -257,28 +289,32 @@ public class Raster {
bandOffsets[i] = 0;
bankIndices[i] = i;
}
- return createBandedRaster(dataType, w, h, w, bankIndices, bandOffsets,
- location);
+ return createBandedRaster(dataType, w, h, w, bankIndices, bandOffsets, location);
}
/**
- * Creates a Raster object with a PixelInterleavedSampleModel
- * and the specified DataBuffer.
- *
- * @param dataBuffer the DataBuffer.
- * @param w the width of image data.
- * @param h the height of image data.
- * @param scanlineStride the scanline stride of the image data.
- * @param pixelStride the pixel stride of image data.
- * @param bandOffsets the band offsets of bands.
- * @param location the location which defines the upper left corner
- * of the Raster.
- *
+ * Creates a Raster object with a PixelInterleavedSampleModel and the
+ * specified DataBuffer.
+ *
+ * @param dataBuffer
+ * the DataBuffer.
+ * @param w
+ * the width of image data.
+ * @param h
+ * the height of image data.
+ * @param scanlineStride
+ * the scanline stride of the image data.
+ * @param pixelStride
+ * the pixel stride of image data.
+ * @param bandOffsets
+ * the band offsets of bands.
+ * @param location
+ * the location which defines the upper left corner of the
+ * Raster.
* @return the WritableRaster object.
*/
- public static WritableRaster createInterleavedRaster(DataBuffer dataBuffer,
- int w, int h, int scanlineStride, int pixelStride,
- int bandOffsets[], Point location) {
+ public static WritableRaster createInterleavedRaster(DataBuffer dataBuffer, int w, int h,
+ int scanlineStride, int pixelStride, int bandOffsets[], Point location) {
if (w <= 0 || h <= 0) {
// awt.22E=w or h is less than or equal to zero
@@ -289,9 +325,9 @@ public class Raster {
location = new Point(0, 0);
}
- if ((long) location.x + w > Integer.MAX_VALUE
- || (long) location.y + h > Integer.MAX_VALUE) {
- // awt.276=location.x + w or location.y + h results in integer overflow
+ if ((long)location.x + w > Integer.MAX_VALUE || (long)location.y + h > Integer.MAX_VALUE) {
+ // awt.276=location.x + w or location.y + h results in integer
+ // overflow
throw new RasterFormatException(Messages.getString("awt.276")); //$NON-NLS-1$
}
@@ -301,8 +337,7 @@ public class Raster {
}
int dataType = dataBuffer.getDataType();
- if (dataType != DataBuffer.TYPE_BYTE
- && dataType != DataBuffer.TYPE_USHORT) {
+ if (dataType != DataBuffer.TYPE_BYTE && dataType != DataBuffer.TYPE_USHORT) {
// awt.230=dataType is not one of the supported data types
throw new IllegalArgumentException(Messages.getString("awt.230")); //$NON-NLS-1$
}
@@ -317,35 +352,38 @@ public class Raster {
throw new NullPointerException(Messages.getString("awt.27B")); //$NON-NLS-1$
}
- PixelInterleavedSampleModel sampleModel =
- new PixelInterleavedSampleModel(dataType, w, h,
- pixelStride, scanlineStride, bandOffsets);
+ PixelInterleavedSampleModel sampleModel = new PixelInterleavedSampleModel(dataType, w, h,
+ pixelStride, scanlineStride, bandOffsets);
return new OrdinaryWritableRaster(sampleModel, dataBuffer, location);
}
/**
- * Creates a Raster object with a PixelInterleavedSampleModel
- * and the specified data type. The Data type can be one of the
- * following values:
- * TYPE_BYTE, TYPE_USHORT, or TYPE_INT.
- *
- * @param dataType the data type of the samples:
- * TYPE_BYTE, TYPE_USHORT, or TYPE_INT.
- * @param w the width of image data.
- * @param h the height of image data.
- * @param scanlineStride the scanline stride of the image data.
- * @param pixelStride the pixel stride of image data.
- * @param bandOffsets the band offsets of bands.
- * @param location the location which defines the upper left corner
- * of the Raster.
- *
+ * Creates a Raster object with a PixelInterleavedSampleModel and the
+ * specified data type. The Data type can be one of the following values:
+ * TYPE_BYTE, TYPE_USHORT, or TYPE_INT.
+ *
+ * @param dataType
+ * the data type of the samples: TYPE_BYTE, TYPE_USHORT, or
+ * TYPE_INT.
+ * @param w
+ * the width of image data.
+ * @param h
+ * the height of image data.
+ * @param scanlineStride
+ * the scanline stride of the image data.
+ * @param pixelStride
+ * the pixel stride of image data.
+ * @param bandOffsets
+ * the band offsets of bands.
+ * @param location
+ * the location which defines the upper left corner of the
+ * Raster.
* @return the WritableRaster object.
*/
- public static WritableRaster createInterleavedRaster(int dataType, int w,
- int h, int scanlineStride, int pixelStride, int bandOffsets[],
- Point location) {
+ public static WritableRaster createInterleavedRaster(int dataType, int w, int h,
+ int scanlineStride, int pixelStride, int bandOffsets[], Point location) {
if (w <= 0 || h <= 0) {
// awt.22E=w or h is less than or equal to zero
@@ -356,14 +394,13 @@ public class Raster {
location = new Point(0, 0);
}
- if ((long) location.x + w > Integer.MAX_VALUE
- || (long) location.y + h > Integer.MAX_VALUE) {
- // awt.276=location.x + w or location.y + h results in integer overflow
+ if ((long)location.x + w > Integer.MAX_VALUE || (long)location.y + h > Integer.MAX_VALUE) {
+ // awt.276=location.x + w or location.y + h results in integer
+ // overflow
throw new RasterFormatException(Messages.getString("awt.276")); //$NON-NLS-1$
}
- if (dataType != DataBuffer.TYPE_BYTE
- && dataType != DataBuffer.TYPE_USHORT) {
+ if (dataType != DataBuffer.TYPE_BYTE && dataType != DataBuffer.TYPE_USHORT) {
// awt.230=dataType is not one of the supported data types
throw new IllegalArgumentException(Messages.getString("awt.230")); //$NON-NLS-1$
}
@@ -383,36 +420,38 @@ public class Raster {
DataBuffer data = null;
switch (dataType) {
- case DataBuffer.TYPE_BYTE:
- data = new DataBufferByte(size);
- break;
- case DataBuffer.TYPE_USHORT:
- data = new DataBufferUShort(size);
- break;
+ case DataBuffer.TYPE_BYTE:
+ data = new DataBufferByte(size);
+ break;
+ case DataBuffer.TYPE_USHORT:
+ data = new DataBufferUShort(size);
+ break;
}
- return createInterleavedRaster(data, w, h, scanlineStride, pixelStride,
- bandOffsets, location);
+ return createInterleavedRaster(data, w, h, scanlineStride, pixelStride, bandOffsets,
+ location);
}
/**
- * Creates a Raster object with a PixelInterleavedSampleModel
- * and the specified data type. The Data type can be one of the
- * following values:
- * TYPE_BYTE, TYPE_USHORT, or TYPE_INT.
- *
- * @param dataType the data type of samples:
- * TYPE_BYTE, TYPE_USHORT, or TYPE_INT.
- * @param w the width of image data.
- * @param h the height of image data.
- * @param bands the number of bands.
- * @param location the location which defines the upper left corner
- * of the Raster.
- *
+ * Creates a Raster object with a PixelInterleavedSampleModel and the
+ * specified data type. The Data type can be one of the following values:
+ * TYPE_BYTE, TYPE_USHORT, or TYPE_INT.
+ *
+ * @param dataType
+ * the data type of samples: TYPE_BYTE, TYPE_USHORT, or TYPE_INT.
+ * @param w
+ * the width of image data.
+ * @param h
+ * the height of image data.
+ * @param bands
+ * the number of bands.
+ * @param location
+ * the location which defines the upper left corner of the
+ * Raster.
* @return the WritableRaster.
*/
- public static WritableRaster createInterleavedRaster(int dataType, int w,
- int h, int bands, Point location) {
+ public static WritableRaster createInterleavedRaster(int dataType, int w, int h, int bands,
+ Point location) {
if (w <= 0 || h <= 0) {
// awt.22E=w or h is less than or equal to zero
@@ -423,14 +462,13 @@ public class Raster {
location = new Point(0, 0);
}
- if ((long) location.x + w > Integer.MAX_VALUE
- || (long) location.y + h > Integer.MAX_VALUE) {
- // awt.276=location.x + w or location.y + h results in integer overflow
+ if ((long)location.x + w > Integer.MAX_VALUE || (long)location.y + h > Integer.MAX_VALUE) {
+ // awt.276=location.x + w or location.y + h results in integer
+ // overflow
throw new RasterFormatException(Messages.getString("awt.276")); //$NON-NLS-1$
}
- if (dataType != DataBuffer.TYPE_BYTE
- && dataType != DataBuffer.TYPE_USHORT) {
+ if (dataType != DataBuffer.TYPE_BYTE && dataType != DataBuffer.TYPE_USHORT) {
// awt.230=dataType is not one of the supported data types
throw new IllegalArgumentException(Messages.getString("awt.230")); //$NON-NLS-1$
}
@@ -440,26 +478,30 @@ public class Raster {
bandOffsets[i] = i;
}
- return createInterleavedRaster(dataType, w, h, w * bands, bands,
- bandOffsets, location);
+ return createInterleavedRaster(dataType, w, h, w * bands, bands, bandOffsets, location);
}
/**
- * Creates a Raster object with a SinglePixelPackedSampleModel
- * and the specified DataBuffer.
- *
- * @param dataBuffer the DataBuffer.
- * @param w the width of the image data.
- * @param h the height of the image data.
- * @param scanlineStride the scanline stride of the image data.
- * @param bandMasks the band masks.
- * @param location the location which defines the upper left corner
- * of the Raster.
- *
+ * Creates a Raster object with a SinglePixelPackedSampleModel and the
+ * specified DataBuffer.
+ *
+ * @param dataBuffer
+ * the DataBuffer.
+ * @param w
+ * the width of the image data.
+ * @param h
+ * the height of the image data.
+ * @param scanlineStride
+ * the scanline stride of the image data.
+ * @param bandMasks
+ * the band masks.
+ * @param location
+ * the location which defines the upper left corner of the
+ * Raster.
* @return the WritableRaster.
*/
- public static WritableRaster createPackedRaster(DataBuffer dataBuffer,
- int w, int h, int scanlineStride, int bandMasks[], Point location) {
+ public static WritableRaster createPackedRaster(DataBuffer dataBuffer, int w, int h,
+ int scanlineStride, int bandMasks[], Point location) {
if (dataBuffer == null) {
// awt.278=dataBuffer is null
throw new NullPointerException(Messages.getString("awt.278")); //$NON-NLS-1$
@@ -474,9 +516,9 @@ public class Raster {
location = new Point(0, 0);
}
- if ((long) location.x + w > Integer.MAX_VALUE
- || (long) location.y + h > Integer.MAX_VALUE) {
- // awt.276=location.x + w or location.y + h results in integer overflow
+ if ((long)location.x + w > Integer.MAX_VALUE || (long)location.y + h > Integer.MAX_VALUE) {
+ // awt.276=location.x + w or location.y + h results in integer
+ // overflow
throw new RasterFormatException(Messages.getString("awt.276")); //$NON-NLS-1$
}
@@ -491,35 +533,37 @@ public class Raster {
}
int dataType = dataBuffer.getDataType();
- if (dataType != DataBuffer.TYPE_BYTE
- && dataType != DataBuffer.TYPE_USHORT
+ if (dataType != DataBuffer.TYPE_BYTE && dataType != DataBuffer.TYPE_USHORT
&& dataType != DataBuffer.TYPE_INT) {
// awt.230=dataType is not one of the supported data types
throw new IllegalArgumentException(Messages.getString("awt.230")); //$NON-NLS-1$
}
- SinglePixelPackedSampleModel sampleModel =
- new SinglePixelPackedSampleModel(dataType, w, h,
- scanlineStride, bandMasks);
+ SinglePixelPackedSampleModel sampleModel = new SinglePixelPackedSampleModel(dataType, w, h,
+ scanlineStride, bandMasks);
return new OrdinaryWritableRaster(sampleModel, dataBuffer, location);
}
/**
- * Creates a Raster object with a MultiPixelPackedSampleModel
- * and the specified DataBuffer.
- *
- * @param dataBuffer the DataBuffer.
- * @param w the width of the image data.
- * @param h the height of the image data.
- * @param bitsPerPixel the number of bits per pixel.
- * @param location the location which defines the upper left corner
- * of the Raster.
- *
+ * Creates a Raster object with a MultiPixelPackedSampleModel and the
+ * specified DataBuffer.
+ *
+ * @param dataBuffer
+ * the DataBuffer.
+ * @param w
+ * the width of the image data.
+ * @param h
+ * the height of the image data.
+ * @param bitsPerPixel
+ * the number of bits per pixel.
+ * @param location
+ * the location which defines the upper left corner of the
+ * Raster.
* @return the WritableRaster.
*/
- public static WritableRaster createPackedRaster(DataBuffer dataBuffer,
- int w, int h, int bitsPerPixel, Point location) {
+ public static WritableRaster createPackedRaster(DataBuffer dataBuffer, int w, int h,
+ int bitsPerPixel, Point location) {
if (w <= 0 || h <= 0) {
// awt.22E=w or h is less than or equal to zero
@@ -530,9 +574,9 @@ public class Raster {
location = new Point(0, 0);
}
- if ((long) location.x + w > Integer.MAX_VALUE
- || (long) location.y + h > Integer.MAX_VALUE) {
- // awt.276=location.x + w or location.y + h results in integer overflow
+ if ((long)location.x + w > Integer.MAX_VALUE || (long)location.y + h > Integer.MAX_VALUE) {
+ // awt.276=location.x + w or location.y + h results in integer
+ // overflow
throw new RasterFormatException(Messages.getString("awt.276")); //$NON-NLS-1$
}
@@ -547,37 +591,40 @@ public class Raster {
}
int dataType = dataBuffer.getDataType();
- if (dataType != DataBuffer.TYPE_BYTE
- && dataType != DataBuffer.TYPE_USHORT
+ if (dataType != DataBuffer.TYPE_BYTE && dataType != DataBuffer.TYPE_USHORT
&& dataType != DataBuffer.TYPE_INT) {
// awt.230=dataType is not one of the supported data types
throw new IllegalArgumentException(Messages.getString("awt.230")); //$NON-NLS-1$
}
- MultiPixelPackedSampleModel sampleModel =
- new MultiPixelPackedSampleModel(dataType, w, h, bitsPerPixel);
+ MultiPixelPackedSampleModel sampleModel = new MultiPixelPackedSampleModel(dataType, w, h,
+ bitsPerPixel);
return new OrdinaryWritableRaster(sampleModel, dataBuffer, location);
}
/**
- * Creates a Raster object with a MultiPixelPackedSampleModel
- * and the specified DataBuffer.
- *
- * @param dataType the data type of samples:
- * TYPE_BYTE, TYPE_USHORT, or TYPE_INT.
- * @param w the width of the image data.
- * @param h the height of the image data.
- * @param bands the number of bands.
- * @param bitsPerBand the number of bits per band.
- * @param location the location which defines the upper left corner
- * of the Raster.
- *
+ * Creates a Raster object with a MultiPixelPackedSampleModel and the
+ * specified DataBuffer.
+ *
+ * @param dataType
+ * the data type of samples: TYPE_BYTE, TYPE_USHORT, or TYPE_INT.
+ * @param w
+ * the width of the image data.
+ * @param h
+ * the height of the image data.
+ * @param bands
+ * the number of bands.
+ * @param bitsPerBand
+ * the number of bits per band.
+ * @param location
+ * the location which defines the upper left corner of the
+ * Raster.
* @return the WritableRaster.
*/
- public static WritableRaster createPackedRaster(int dataType, int w, int h,
- int bands, int bitsPerBand, Point location) {
+ public static WritableRaster createPackedRaster(int dataType, int w, int h, int bands,
+ int bitsPerBand, Point location) {
if (w <= 0 || h <= 0) {
// awt.22E=w or h is less than or equal to zero
@@ -588,9 +635,9 @@ public class Raster {
location = new Point(0, 0);
}
- if ((long) location.x + w > Integer.MAX_VALUE
- || (long) location.y + h > Integer.MAX_VALUE) {
- // awt.276=location.x + w or location.y + h results in integer overflow
+ if ((long)location.x + w > Integer.MAX_VALUE || (long)location.y + h > Integer.MAX_VALUE) {
+ // awt.276=location.x + w or location.y + h results in integer
+ // overflow
throw new RasterFormatException(Messages.getString("awt.276")); //$NON-NLS-1$
}
@@ -599,15 +646,15 @@ public class Raster {
throw new IllegalArgumentException(Messages.getString("awt.27D")); //$NON-NLS-1$
}
- if (dataType != DataBuffer.TYPE_BYTE
- && dataType != DataBuffer.TYPE_USHORT
+ if (dataType != DataBuffer.TYPE_BYTE && dataType != DataBuffer.TYPE_USHORT
&& dataType != DataBuffer.TYPE_INT) {
// awt.230=dataType is not one of the supported data types
throw new IllegalArgumentException(Messages.getString("awt.230")); //$NON-NLS-1$
}
if (bitsPerBand * bands > DataBuffer.getDataTypeSize(dataType)) {
- // awt.27E=The product of bitsPerBand and bands is greater than the number of bits held by dataType
+ // awt.27E=The product of bitsPerBand and bands is greater than the
+ // number of bits held by dataType
throw new IllegalArgumentException(Messages.getString("awt.27E")); //$NON-NLS-1$
}
@@ -623,43 +670,45 @@ public class Raster {
return createPackedRaster(dataType, w, h, bandMasks, location);
}
DataBuffer data = null;
- int size = ((bitsPerBand * w +
- DataBuffer.getDataTypeSize(dataType) - 1) /
- DataBuffer.getDataTypeSize(dataType)) * h;
+ int size = ((bitsPerBand * w + DataBuffer.getDataTypeSize(dataType) - 1) / DataBuffer
+ .getDataTypeSize(dataType))
+ * h;
switch (dataType) {
- case DataBuffer.TYPE_BYTE:
- data = new DataBufferByte(size);
- break;
- case DataBuffer.TYPE_USHORT:
- data = new DataBufferUShort(size);
- break;
- case DataBuffer.TYPE_INT:
- data = new DataBufferInt(size);
- break;
+ case DataBuffer.TYPE_BYTE:
+ data = new DataBufferByte(size);
+ break;
+ case DataBuffer.TYPE_USHORT:
+ data = new DataBufferUShort(size);
+ break;
+ case DataBuffer.TYPE_INT:
+ data = new DataBufferInt(size);
+ break;
}
return createPackedRaster(data, w, h, bitsPerBand, location);
}
/**
- * Creates a Raster object with a SinglePixelPackedSampleModel
- * and the specified DataBuffer.
- *
- * @param dataType the data type of samples:
- * TYPE_BYTE, TYPE_USHORT, or TYPE_INT.
- * @param w the width of the image data.
- * @param h the height of the image data.
- * @param bandMasks the band masks.
- * @param location the location which defines the upper left corner
- * of the Raster.
- *
+ * Creates a Raster object with a SinglePixelPackedSampleModel and the
+ * specified DataBuffer.
+ *
+ * @param dataType
+ * the data type of samples: TYPE_BYTE, TYPE_USHORT, or TYPE_INT.
+ * @param w
+ * the width of the image data.
+ * @param h
+ * the height of the image data.
+ * @param bandMasks
+ * the band masks.
+ * @param location
+ * the location which defines the upper left corner of the
+ * Raster.
* @return the WritableRaster.
*/
- public static WritableRaster createPackedRaster(int dataType, int w, int h,
- int bandMasks[], Point location) {
-
- if (dataType != DataBuffer.TYPE_BYTE
- && dataType != DataBuffer.TYPE_USHORT
+ public static WritableRaster createPackedRaster(int dataType, int w, int h, int bandMasks[],
+ Point location) {
+
+ if (dataType != DataBuffer.TYPE_BYTE && dataType != DataBuffer.TYPE_USHORT
&& dataType != DataBuffer.TYPE_INT) {
// awt.230=dataType is not one of the supported data types
throw new IllegalArgumentException(Messages.getString("awt.230")); //$NON-NLS-1$
@@ -674,9 +723,9 @@ public class Raster {
location = new Point(0, 0);
}
- if ((long) location.x + w > Integer.MAX_VALUE
- || (long) location.y + h > Integer.MAX_VALUE) {
- // awt.276=location.x + w or location.y + h results in integer overflow
+ if ((long)location.x + w > Integer.MAX_VALUE || (long)location.y + h > Integer.MAX_VALUE) {
+ // awt.276=location.x + w or location.y + h results in integer
+ // overflow
throw new RasterFormatException(Messages.getString("awt.276")); //$NON-NLS-1$
}
@@ -688,15 +737,15 @@ public class Raster {
DataBuffer data = null;
switch (dataType) {
- case DataBuffer.TYPE_BYTE:
- data = new DataBufferByte(w * h);
- break;
- case DataBuffer.TYPE_USHORT:
- data = new DataBufferUShort(w * h);
- break;
- case DataBuffer.TYPE_INT:
- data = new DataBufferInt(w * h);
- break;
+ case DataBuffer.TYPE_BYTE:
+ data = new DataBufferByte(w * h);
+ break;
+ case DataBuffer.TYPE_USHORT:
+ data = new DataBufferUShort(w * h);
+ break;
+ case DataBuffer.TYPE_INT:
+ data = new DataBufferInt(w * h);
+ break;
}
return createPackedRaster(data, w, h, w, bandMasks, location);
@@ -705,15 +754,16 @@ public class Raster {
/**
* Creates a Raster object with the specified DataBuffer and SampleModel.
*
- * @param sm the specified SampleModel.
- * @param db the specified DataBuffer.
- * @param location the location which defines the upper left corner
- * of the Raster.
- *
+ * @param sm
+ * the specified SampleModel.
+ * @param db
+ * the specified DataBuffer.
+ * @param location
+ * the location which defines the upper left corner of the
+ * Raster.
* @return the Raster.
*/
- public static Raster createRaster(SampleModel sm, DataBuffer db,
- Point location) {
+ public static Raster createRaster(SampleModel sm, DataBuffer db, Point location) {
if (sm == null || db == null) {
// awt.27F=SampleModel or DataBuffer is null
@@ -730,15 +780,16 @@ public class Raster {
/**
* Creates a WritableRaster with the specified SampleModel and DataBuffer.
*
- * @param sm the specified SampleModel.
- * @param db the specified DataBuffer.
- * @param location the location which defines the upper left corner
- * of the Raster.
- *
+ * @param sm
+ * the specified SampleModel.
+ * @param db
+ * the specified DataBuffer.
+ * @param location
+ * the location which defines the upper left corner of the
+ * Raster.
* @return the WritableRaster.
*/
- public static WritableRaster createWritableRaster(SampleModel sm,
- DataBuffer db, Point location) {
+ public static WritableRaster createWritableRaster(SampleModel sm, DataBuffer db, Point location) {
if (sm == null || db == null) {
// awt.27F=SampleModel or DataBuffer is null
@@ -755,14 +806,14 @@ public class Raster {
/**
* Creates a WritableRaster with the specified SampleModel.
*
- * @param sm the specified SampleModel.
- * @param location the location which defines the upper left corner
- * of the Raster.
- *
+ * @param sm
+ * the specified SampleModel.
+ * @param location
+ * the location which defines the upper left corner of the
+ * Raster.
* @return the WritableRaster.
*/
- public static WritableRaster createWritableRaster(SampleModel sm,
- Point location) {
+ public static WritableRaster createWritableRaster(SampleModel sm, Point location) {
if (sm == null) {
// awt.280=SampleModel is null
@@ -780,34 +831,42 @@ public class Raster {
* Instantiates a new Raster object with the specified SampleModel and
* DataBuffer.
*
- * @param sampleModel the specified SampleModel.
- * @param dataBuffer the specified DataBuffer.
- * @param origin the specified origin.
+ * @param sampleModel
+ * the specified SampleModel.
+ * @param dataBuffer
+ * the specified DataBuffer.
+ * @param origin
+ * the specified origin.
*/
- protected Raster(SampleModel sampleModel, DataBuffer dataBuffer,
- Point origin) {
+ protected Raster(SampleModel sampleModel, DataBuffer dataBuffer, Point origin) {
- this(sampleModel, dataBuffer, new Rectangle(origin.x, origin.y,
- sampleModel.getWidth(), sampleModel.getHeight()), origin, null);
+ this(sampleModel, dataBuffer, new Rectangle(origin.x, origin.y, sampleModel.getWidth(),
+ sampleModel.getHeight()), origin, null);
}
/**
* Instantiates a new Raster object with the specified SampleModel,
- * DataBuffer, rectangular region and parent Raster.
- *
- * @param sampleModel the specified SampleModel.
- * @param dataBuffer the specified DataBuffer.
- * @param aRegion the a rectangular region which defines the new image bounds.
- * @param sampleModelTranslate this point defines the translation point
- * from the SampleModel coordinates to the new Raster coordinates.
- * @param parent the parent of this Raster.
+ * DataBuffer, rectangular region and parent Raster.
+ *
+ * @param sampleModel
+ * the specified SampleModel.
+ * @param dataBuffer
+ * the specified DataBuffer.
+ * @param aRegion
+ * the a rectangular region which defines the new image bounds.
+ * @param sampleModelTranslate
+ * this point defines the translation point from the SampleModel
+ * coordinates to the new Raster coordinates.
+ * @param parent
+ * the parent of this Raster.
*/
- protected Raster(SampleModel sampleModel, DataBuffer dataBuffer,
- Rectangle aRegion, Point sampleModelTranslate, Raster parent) {
+ protected Raster(SampleModel sampleModel, DataBuffer dataBuffer, Rectangle aRegion,
+ Point sampleModelTranslate, Raster parent) {
if (sampleModel == null || dataBuffer == null || aRegion == null
|| sampleModelTranslate == null) {
- // awt.281=sampleModel, dataBuffer, aRegion or sampleModelTranslate is null
+ // awt.281=sampleModel, dataBuffer, aRegion or sampleModelTranslate
+ // is null
throw new NullPointerException(Messages.getString("awt.281")); //$NON-NLS-1$
}
@@ -816,27 +875,25 @@ public class Raster {
throw new RasterFormatException(Messages.getString("awt.282")); //$NON-NLS-1$
}
- if ((long) aRegion.x + (long) aRegion.width > Integer.MAX_VALUE) {
+ if ((long)aRegion.x + (long)aRegion.width > Integer.MAX_VALUE) {
// awt.283=Overflow X coordinate of Raster
throw new RasterFormatException(Messages.getString("awt.283")); //$NON-NLS-1$
}
- if ((long) aRegion.y + (long) aRegion.height > Integer.MAX_VALUE) {
+ if ((long)aRegion.y + (long)aRegion.height > Integer.MAX_VALUE) {
// awt.284=Overflow Y coordinate of Raster
throw new RasterFormatException(Messages.getString("awt.284")); //$NON-NLS-1$
}
-
+
if (sampleModel instanceof ComponentSampleModel) {
validateDataBuffer(dataBuffer, aRegion.width, aRegion.height,
- ((ComponentSampleModel) sampleModel).getScanlineStride());
+ ((ComponentSampleModel)sampleModel).getScanlineStride());
} else if (sampleModel instanceof MultiPixelPackedSampleModel) {
validateDataBuffer(dataBuffer, aRegion.width, aRegion.height,
- ((MultiPixelPackedSampleModel) sampleModel)
- .getScanlineStride());
+ ((MultiPixelPackedSampleModel)sampleModel).getScanlineStride());
} else if (sampleModel instanceof SinglePixelPackedSampleModel) {
validateDataBuffer(dataBuffer, aRegion.width, aRegion.height,
- ((SinglePixelPackedSampleModel) sampleModel)
- .getScanlineStride());
+ ((SinglePixelPackedSampleModel)sampleModel).getScanlineStride());
}
this.sampleModel = sampleModel;
@@ -856,36 +913,44 @@ public class Raster {
/**
* Instantiates a new Raster with the specified SampleModel.
*
- * @param sampleModel the specified SampleModel.
- * @param origin the origin.
+ * @param sampleModel
+ * the specified SampleModel.
+ * @param origin
+ * the origin.
*/
protected Raster(SampleModel sampleModel, Point origin) {
- this(sampleModel, sampleModel.createDataBuffer(), new Rectangle(
- origin.x, origin.y, sampleModel.getWidth(), sampleModel
- .getHeight()), origin, null);
+ this(sampleModel, sampleModel.createDataBuffer(), new Rectangle(origin.x, origin.y,
+ sampleModel.getWidth(), sampleModel.getHeight()), origin, null);
}
/**
* Creates the child of this Raster by sharing the specified rectangular
- * area in this Raste. The parentX, parentY, width
- * and height parameters specify the rectangular area to be shared.
- *
- * @param parentX the X coordinate of the upper left corner of this Raster.
- * @param parentY the Y coordinate of the upper left corner of this Raster.
- * @param width the width of the child area.
- * @param height the height of the child area.
- * @param childMinX the X coordinate of child area mapped to the parentX
- * coordinate.
- * @param childMinY the Y coordinate of child area mapped to the parentY
- * coordinate.
- * @param bandList the array of band indicies.
- *
+ * area in this raster. The parentX, parentY, width and height parameters
+ * specify the rectangular area to be shared.
+ *
+ * @param parentX
+ * the X coordinate of the upper left corner of this Raster.
+ * @param parentY
+ * the Y coordinate of the upper left corner of this Raster.
+ * @param width
+ * the width of the child area.
+ * @param height
+ * the height of the child area.
+ * @param childMinX
+ * the X coordinate of child area mapped to the parentX
+ * coordinate.
+ * @param childMinY
+ * the Y coordinate of child area mapped to the parentY
+ * coordinate.
+ * @param bandList
+ * the array of band indices.
* @return the Raster.
*/
- public Raster createChild(int parentX, int parentY, int width, int height,
- int childMinX, int childMinY, int bandList[]) {
+ public Raster createChild(int parentX, int parentY, int width, int height, int childMinX,
+ int childMinY, int bandList[]) {
if (width <= 0 || height <= 0) {
- // awt.285=Width or Height of child Raster is less than or equal to zero
+ // awt.285=Width or Height of child Raster is less than or equal to
+ // zero
throw new RasterFormatException(Messages.getString("awt.285")); //$NON-NLS-1$
}
@@ -899,22 +964,22 @@ public class Raster {
throw new RasterFormatException(Messages.getString("awt.287")); //$NON-NLS-1$
}
- if ((long) parentX + width > Integer.MAX_VALUE) {
+ if ((long)parentX + width > Integer.MAX_VALUE) {
// awt.288=parentX + width results in integer overflow
throw new RasterFormatException(Messages.getString("awt.288")); //$NON-NLS-1$
}
- if ((long) parentY + height > Integer.MAX_VALUE) {
+ if ((long)parentY + height > Integer.MAX_VALUE) {
// awt.289=parentY + height results in integer overflow
throw new RasterFormatException(Messages.getString("awt.289")); //$NON-NLS-1$
}
- if ((long) childMinX + width > Integer.MAX_VALUE) {
+ if ((long)childMinX + width > Integer.MAX_VALUE) {
// awt.28A=childMinX + width results in integer overflow
throw new RasterFormatException(Messages.getString("awt.28A")); //$NON-NLS-1$
}
- if ((long) childMinY + height > Integer.MAX_VALUE) {
+ if ((long)childMinY + height > Integer.MAX_VALUE) {
// awt.28B=childMinY + height results in integer overflow
throw new RasterFormatException(Messages.getString("awt.28B")); //$NON-NLS-1$
}
@@ -930,15 +995,14 @@ public class Raster {
int childTranslateX = childMinX - parentX;
int childTranslateY = childMinY - parentY;
- return new Raster(childModel, dataBuffer, new Rectangle(childMinX,
- childMinY, width, height), new Point(childTranslateX
- + sampleModelTranslateX, childTranslateY
- + sampleModelTranslateY), this);
+ return new Raster(childModel, dataBuffer,
+ new Rectangle(childMinX, childMinY, width, height), new Point(childTranslateX
+ + sampleModelTranslateX, childTranslateY + sampleModelTranslateY), this);
}
/**
- * Create a compatible WritableRaster with the same parameters
- * as this Raster.
+ * Create a compatible WritableRaster with the same parameters as this
+ * Raster.
*
* @return the WritableRaster.
*/
@@ -947,12 +1011,13 @@ public class Raster {
}
/**
- * Create a compatible WritableRaster with the same parameters
- * as this Raster and the specified size.
- *
- * @param w the width of the new WritableRaster.
- * @param h the height of the new WritableRaster.
+ * Create a compatible WritableRaster with the same parameters as this
+ * Raster and the specified size.
*
+ * @param w
+ * the width of the new WritableRaster.
+ * @param h
+ * the height of the new WritableRaster.
* @return the WritableRaster.
*/
public WritableRaster createCompatibleWritableRaster(int w, int h) {
@@ -967,18 +1032,20 @@ public class Raster {
}
/**
- * Create a compatible WritableRaster with the same parameters
- * as this Raster and the specified size and location.
- *
- * @param x the X coordinate of the new WritableRaster.
- * @param y the Y coordinate of the new WritableRaster.
- * @param w the width of the new WritableRaster.
- * @param h the height of the new WritableRaster.
- *
+ * Create a compatible WritableRaster with the same parameters as this
+ * Raster and the specified size and location.
+ *
+ * @param x
+ * the X coordinate of the new WritableRaster.
+ * @param y
+ * the Y coordinate of the new WritableRaster.
+ * @param w
+ * the width of the new WritableRaster.
+ * @param h
+ * the height of the new WritableRaster.
* @return the WritableRaster.
*/
- public WritableRaster createCompatibleWritableRaster(int x, int y, int w,
- int h) {
+ public WritableRaster createCompatibleWritableRaster(int x, int y, int w, int h) {
WritableRaster raster = createCompatibleWritableRaster(w, h);
@@ -986,12 +1053,12 @@ public class Raster {
}
/**
- * Create a compatible WritableRaster with the same parameters
- * as this Raster and the specified rectangle which determines
- * new WritableRaster's location and size.
- *
- * @param rect the specified Rectangle.
+ * Create a compatible WritableRaster with the same parameters as this
+ * Raster and the specified rectangle which determines new WritableRaster's
+ * location and size.
*
+ * @param rect
+ * the specified Rectangle.
* @return the WritableRaster.
*/
public WritableRaster createCompatibleWritableRaster(Rectangle rect) {
@@ -1000,23 +1067,21 @@ public class Raster {
throw new NullPointerException(Messages.getString("awt.28C")); //$NON-NLS-1$
}
- return createCompatibleWritableRaster(rect.x, rect.y, rect.width,
- rect.height);
+ return createCompatibleWritableRaster(rect.x, rect.y, rect.width, rect.height);
}
/**
- * Creates the translated child of this Raster. The New Raster
- * object is a reference to the this Raster with a
- * different location.
- *
- * @param childMinX the X coordinate of the new Raster.
- * @param childMinY the Y coordinate of the new Raster.
+ * Creates the translated child of this Raster. The New Raster object is a
+ * reference to the this Raster with a different location.
*
+ * @param childMinX
+ * the X coordinate of the new Raster.
+ * @param childMinY
+ * the Y coordinate of the new Raster.
* @return the Raster.
*/
public Raster createTranslatedChild(int childMinX, int childMinY) {
- return createChild(minX, minY, width, height, childMinX, childMinY,
- null);
+ return createChild(minX, minY, width, height, childMinX, childMinY, null);
}
/**
@@ -1038,41 +1103,46 @@ public class Raster {
}
/**
- * Gets the data elements which represent the pixel data of the specified
- * rectangle area as a primitive array. The following image data types
- * are supported: DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT,
- * DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT,
- * or DataBuffer.TYPE_DOUBLE.
- *
- * @param x the X coordinate of the area of pixels.
- * @param y the Y coordinate of the area of pixels.
- * @param w the width of the area of pixels.
- * @param h the height of the area of pixels.
- * @param outData the resulting array.
- *
+ * Gets the data elements which represent the pixel data of the specified
+ * rectangle area as a primitive array. The following image data types are
+ * supported: DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT,
+ * DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, or
+ * DataBuffer.TYPE_DOUBLE.
+ *
+ * @param x
+ * the X coordinate of the area of pixels.
+ * @param y
+ * the Y coordinate of the area of pixels.
+ * @param w
+ * the width of the area of pixels.
+ * @param h
+ * the height of the area of pixels.
+ * @param outData
+ * the resulting array.
* @return the data elements of the specified area of this Raster.
*/
public Object getDataElements(int x, int y, int w, int h, Object outData) {
- return sampleModel.getDataElements(x - sampleModelTranslateX, y
- - sampleModelTranslateY, w, h, outData, dataBuffer);
+ return sampleModel.getDataElements(x - sampleModelTranslateX, y - sampleModelTranslateY, w,
+ h, outData, dataBuffer);
}
/**
- * Gets the data elements which represent the specified pixel of
- * this Raster as a primitive array. The following image data types
- * are supported: DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT,
- * DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT,
- * or DataBuffer.TYPE_DOUBLE.
- *
- * @param x the X coordinate of the pixel.
- * @param y the Y coordinate of the pixel.
- * @param outData the resulting data.
- *
+ * Gets the data elements which represent the specified pixel of this Raster
+ * as a primitive array. The following image data types are supported:
+ * DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT,
+ * DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, or DataBuffer.TYPE_DOUBLE.
+ *
+ * @param x
+ * the X coordinate of the pixel.
+ * @param y
+ * the Y coordinate of the pixel.
+ * @param outData
+ * the resulting data.
* @return the data elements of the specified pixel of this Raster.
*/
public Object getDataElements(int x, int y, Object outData) {
- return sampleModel.getDataElements(x - sampleModelTranslateX, y
- - sampleModelTranslateY, outData, dataBuffer);
+ return sampleModel.getDataElements(x - sampleModelTranslateX, y - sampleModelTranslateY,
+ outData, dataBuffer);
}
/**
@@ -1121,7 +1191,7 @@ public class Raster {
}
/**
- * Gets the parent Raster for this Raster object.
+ * Gets the parent Raster for this Raster object.
*
* @return the parent Raster for this Raster object.
*/
@@ -1130,150 +1200,173 @@ public class Raster {
}
/**
- * Gets a double array of samples for the specified pixel in this Raster.
- *
- * @param x the pixel's X coordinate.
- * @param y the pixel's Y coordinate.
- * @param dArray the double array where result array will be stored.
- *
- * @return the double array of samples for the specified pixel in
- * this Raster.
+ * Gets a double array of samples for the specified pixel in this Raster.
+ *
+ * @param x
+ * the pixel's X coordinate.
+ * @param y
+ * the pixel's Y coordinate.
+ * @param dArray
+ * the double array where result array will be stored.
+ * @return the double array of samples for the specified pixel in this
+ * Raster.
*/
public double[] getPixel(int x, int y, double dArray[]) {
- return sampleModel.getPixel(x - sampleModelTranslateX, y
- - sampleModelTranslateY, dArray, dataBuffer);
+ return sampleModel.getPixel(x - sampleModelTranslateX, y - sampleModelTranslateY, dArray,
+ dataBuffer);
}
/**
- * Gets a float array of samples for the specified pixel in this Raster.
- *
- * @param x the pixel's X coordinate.
- * @param y the pixel's Y coordinate.
- * @param fArray the float array where the result array will be stored.
- *
- * @return the float array of samples for the specified pixel in
- * this Raster.
+ * Gets a float array of samples for the specified pixel in this Raster.
+ *
+ * @param x
+ * the pixel's X coordinate.
+ * @param y
+ * the pixel's Y coordinate.
+ * @param fArray
+ * the float array where the result array will be stored.
+ * @return the float array of samples for the specified pixel in this
+ * Raster.
*/
public float[] getPixel(int x, int y, float fArray[]) {
- return sampleModel.getPixel(x - sampleModelTranslateX, y
- - sampleModelTranslateY, fArray, dataBuffer);
+ return sampleModel.getPixel(x - sampleModelTranslateX, y - sampleModelTranslateY, fArray,
+ dataBuffer);
}
/**
- * Gets an int array of samples for the specified pixel in this Raster.
- *
- * @param x the pixel's X coordinate.
- * @param y the pixel's Y coordinate.
- * @param iArray the int array where the result array will be stored.
- *
- * @return the int array of samples for the specified pixel in
- * this Raster.
+ * Gets an integer array of samples for the specified pixel in this Raster.
+ *
+ * @param x
+ * the pixel's X coordinate.
+ * @param y
+ * the pixel's Y coordinate.
+ * @param iArray
+ * the integer array where the result array will be stored.
+ * @return the integer array of samples for the specified pixel in this
+ * Raster.
*/
public int[] getPixel(int x, int y, int iArray[]) {
- return sampleModel.getPixel(x - sampleModelTranslateX, y
- - sampleModelTranslateY, iArray, dataBuffer);
+ return sampleModel.getPixel(x - sampleModelTranslateX, y - sampleModelTranslateY, iArray,
+ dataBuffer);
}
/**
- * Gets an double array of samples for the specified rectangular
- * area of pixels in this Raster.
- *
- * @param x the X coordinate of the area of pixels.
- * @param y the Y coordinate of the area of pixels.
- * @param w the width of the area of pixels.
- * @param h the height of the area of pixels.
- * @param dArray the resulting array.
- *
- * @return the double array of samples for the specified rectangular
- * area of pixels in this Raster.
+ * Gets an double array of samples for the specified rectangular area of
+ * pixels in this Raster.
+ *
+ * @param x
+ * the X coordinate of the area of pixels.
+ * @param y
+ * the Y coordinate of the area of pixels.
+ * @param w
+ * the width of the area of pixels.
+ * @param h
+ * the height of the area of pixels.
+ * @param dArray
+ * the resulting array.
+ * @return the double array of samples for the specified rectangular area of
+ * pixels in this Raster.
*/
public double[] getPixels(int x, int y, int w, int h, double dArray[]) {
- return sampleModel.getPixels(x - sampleModelTranslateX, y
- - sampleModelTranslateY, w, h, dArray, dataBuffer);
+ return sampleModel.getPixels(x - sampleModelTranslateX, y - sampleModelTranslateY, w, h,
+ dArray, dataBuffer);
}
/**
- * Gets an float array of samples for the specified rectangular
- * area of pixels in this Raster.
- *
- * @param x the X coordinate of the area of pixels.
- * @param y the Y coordinate of the area of pixels.
- * @param w the width of the area of pixels.
- * @param h the height of the area of pixels.
- * @param fArray the resulting array.
- *
- * @return the float array of samples for the specified rectangular
- * area of pixels in this Raster.
+ * Gets an float array of samples for the specified rectangular area of
+ * pixels in this Raster.
+ *
+ * @param x
+ * the X coordinate of the area of pixels.
+ * @param y
+ * the Y coordinate of the area of pixels.
+ * @param w
+ * the width of the area of pixels.
+ * @param h
+ * the height of the area of pixels.
+ * @param fArray
+ * the resulting array.
+ * @return the float array of samples for the specified rectangular area of
+ * pixels in this Raster.
*/
public float[] getPixels(int x, int y, int w, int h, float fArray[]) {
- return sampleModel.getPixels(x - sampleModelTranslateX, y
- - sampleModelTranslateY, w, h, fArray, dataBuffer);
+ return sampleModel.getPixels(x - sampleModelTranslateX, y - sampleModelTranslateY, w, h,
+ fArray, dataBuffer);
}
/**
- * Gets an int array of samples for the specified rectangular
- * area of pixels in this Raster.
- *
- * @param x the X coordinate of the area of pixels.
- * @param y the Y coordinate of the area of pixels.
- * @param w the width of pixel's the area of pixels.
- * @param h the height of pixel's the area of pixels.
- * @param iArray the resulting array.
- *
- * @return the int array of samples for the specified rectangular
- * area of pixels in this Raster.
+ * Gets an integer array of samples for the specified rectangular area of
+ * pixels in this raster.
+ *
+ * @param x
+ * the X coordinate of the area of pixels.
+ * @param y
+ * the Y coordinate of the area of pixels.
+ * @param w
+ * the width of pixel's the area of pixels.
+ * @param h
+ * the height of pixel's the area of pixels.
+ * @param iArray
+ * the resulting array.
+ * @return the integer array of samples for the specified rectangular area
+ * of pixels in this Raster.
*/
public int[] getPixels(int x, int y, int w, int h, int iArray[]) {
- return sampleModel.getPixels(x - sampleModelTranslateX, y
- - sampleModelTranslateY, w, h, iArray, dataBuffer);
+ return sampleModel.getPixels(x - sampleModelTranslateX, y - sampleModelTranslateY, w, h,
+ iArray, dataBuffer);
}
/**
- * Gets the sample for the specified band of the specified
- * pixel as an int.
- *
- * @param x the X coordinate of the pixel.
- * @param y the Y coordinate of the pixel.
- * @param b the band.
- *
- * @return the sample for the specified band of the specified
- * pixel as an int.
+ * Gets the sample for the specified band of the specified pixel as an
+ * integer.
+ *
+ * @param x
+ * the X coordinate of the pixel.
+ * @param y
+ * the Y coordinate of the pixel.
+ * @param b
+ * the band.
+ * @return the sample for the specified band of the specified pixel as an
+ * integer.
*/
public int getSample(int x, int y, int b) {
- return sampleModel.getSample(x - sampleModelTranslateX, y
- - sampleModelTranslateY, b, dataBuffer);
+ return sampleModel.getSample(x - sampleModelTranslateX, y - sampleModelTranslateY, b,
+ dataBuffer);
}
/**
- * Gets the sample for the specified band of the specified
- * pixel as a double.
- *
- * @param x the X coordinate of the pixel.
- * @param y the Y coordinate of the pixel.
- * @param b the band.
- *
- * @return the sample for the specified band of the specified
- * pixel as a double.
+ * Gets the sample for the specified band of the specified pixel as a
+ * double.
+ *
+ * @param x
+ * the X coordinate of the pixel.
+ * @param y
+ * the Y coordinate of the pixel.
+ * @param b
+ * the band.
+ * @return the sample for the specified band of the specified pixel as a
+ * double.
*/
public double getSampleDouble(int x, int y, int b) {
- return sampleModel.getSampleDouble(x - sampleModelTranslateX, y
- - sampleModelTranslateY, b, dataBuffer);
+ return sampleModel.getSampleDouble(x - sampleModelTranslateX, y - sampleModelTranslateY, b,
+ dataBuffer);
}
/**
- * Gets the sample for the specified band of the specified
- * pixel as a float.
- *
- * @param x the X coordinate of the pixel.
- * @param y the Y coordinate of the pixel.
- * @param b the band.
- *
- * @return the sample for the specified band of the specified
- * pixel as a float.
+ * Gets the sample for the specified band of the specified pixel as a float.
+ *
+ * @param x
+ * the X coordinate of the pixel.
+ * @param y
+ * the Y coordinate of the pixel.
+ * @param b
+ * the band.
+ * @return the sample for the specified band of the specified pixel as a
+ * float.
*/
public float getSampleFloat(int x, int y, int b) {
- return sampleModel.getSampleFloat(x - sampleModelTranslateX, y
- - sampleModelTranslateY, b, dataBuffer);
+ return sampleModel.getSampleFloat(x - sampleModelTranslateX, y - sampleModelTranslateY, b,
+ dataBuffer);
}
/**
@@ -1286,97 +1379,105 @@ public class Raster {
}
/**
- * Gets the translation of the X coordinate from the SampleModel
- * coordinate system to the Rasters's coordinate system.
+ * Gets the translation of the X coordinate from the SampleModel coordinate
+ * system to the Rasters's coordinate system.
*
- * @return the value of the translation of the X coordinate from
- * the SampleModel coordinate system to the Rasters's
- * coordinate system.
+ * @return the value of the translation of the X coordinate from the
+ * SampleModel coordinate system to the Rasters's coordinate system.
*/
public final int getSampleModelTranslateX() {
return sampleModelTranslateX;
}
/**
- * Gets the translation of the Y coordinate from the SampleModel
- * coordinate system to the Rasters's coordinate system.
+ * Gets the translation of the Y coordinate from the SampleModel coordinate
+ * system to the Rasters's coordinate system.
*
- * @return the value of the translation of the Y coordinate from
- * the SampleModel coordinate system to the Rasters's
- * coordinate system.
-
+ * @return the value of the translation of the Y coordinate from the
+ * SampleModel coordinate system to the Rasters's coordinate system.
*/
public final int getSampleModelTranslateY() {
return sampleModelTranslateY;
}
/**
- * Gets the double array of samples for the specified band
- * of the specified rectangular area of pixels in this Raster
- * as a double array.
- *
- * @param x the X coordinate of the rectangular area of pixels.
- * @param y the Y coordinate of the rectangular area of pixels.
- * @param w the width of the rectangular area of pixels.
- * @param h the height of the rectangular area of pixels.
- * @param b the band.
- * @param dArray the resulting double array.
- *
- * @return the double array of samples for the specified band
- * of the specified rectangular area of pixels.
+ * Gets the double array of samples for the specified band of the specified
+ * rectangular area of pixels in this Raster as a double array.
+ *
+ * @param x
+ * the X coordinate of the rectangular area of pixels.
+ * @param y
+ * the Y coordinate of the rectangular area of pixels.
+ * @param w
+ * the width of the rectangular area of pixels.
+ * @param h
+ * the height of the rectangular area of pixels.
+ * @param b
+ * the band.
+ * @param dArray
+ * the resulting double array.
+ * @return the double array of samples for the specified band of the
+ * specified rectangular area of pixels.
*/
- public double[] getSamples(int x, int y, int w, int h, int b,
- double dArray[]) {
+ public double[] getSamples(int x, int y, int w, int h, int b, double dArray[]) {
- return sampleModel.getSamples(x - sampleModelTranslateX, y
- - sampleModelTranslateY, w, h, b, dArray, dataBuffer);
+ return sampleModel.getSamples(x - sampleModelTranslateX, y - sampleModelTranslateY, w, h,
+ b, dArray, dataBuffer);
}
/**
- * Gets the float array of samples for the specified band
- * of the specified rectangular area of pixels in this Raster
- * as a float array.
- *
- * @param x the X coordinate of the rectangular area of pixels.
- * @param y the Y coordinate of the rectangular area of pixels.
- * @param w the width of the rectangular area of pixels.
- * @param h the height of the rectangular area of pixels.
- * @param b the band.
- * @param fArray the resulting float array.
- *
- * @return the float array of samples for the specified band
- * of the specified rectangular area of pixels.
+ * Gets the float array of samples for the specified band of the specified
+ * rectangular area of pixels in this Raster as a float array.
+ *
+ * @param x
+ * the X coordinate of the rectangular area of pixels.
+ * @param y
+ * the Y coordinate of the rectangular area of pixels.
+ * @param w
+ * the width of the rectangular area of pixels.
+ * @param h
+ * the height of the rectangular area of pixels.
+ * @param b
+ * the band.
+ * @param fArray
+ * the resulting float array.
+ * @return the float array of samples for the specified band of the
+ * specified rectangular area of pixels.
*/
public float[] getSamples(int x, int y, int w, int h, int b, float fArray[]) {
- return sampleModel.getSamples(x - sampleModelTranslateX, y
- - sampleModelTranslateY, w, h, b, fArray, dataBuffer);
+ return sampleModel.getSamples(x - sampleModelTranslateX, y - sampleModelTranslateY, w, h,
+ b, fArray, dataBuffer);
}
/**
- * Gets the int array of samples for the specified band
- * of the specified rectangular area of pixels in this Raster
- * as a int array.
- *
- * @param x the X coordinate of the rectangular area of pixels.
- * @param y the Y coordinate of the rectangular area of pixels.
- * @param w the width of the rectangular area of pixels.
- * @param h the height of the rectangular area of pixels.
- * @param b the band.
- * @param iArray the resulting int array.
- *
- * @return the int array of samples for the specified band
- * of the specified rectangular area of pixels.
+ * Gets the integer array of samples for the specified band of the specified
+ * rectangular area of pixels in this Raster as a integer array.
+ *
+ * @param x
+ * the X coordinate of the rectangular area of pixels.
+ * @param y
+ * the Y coordinate of the rectangular area of pixels.
+ * @param w
+ * the width of the rectangular area of pixels.
+ * @param h
+ * the height of the rectangular area of pixels.
+ * @param b
+ * the band.
+ * @param iArray
+ * the resulting integer array.
+ * @return the integer array of samples for the specified band of the
+ * specified rectangular area of pixels.
*/
public int[] getSamples(int x, int y, int w, int h, int b, int iArray[]) {
- return sampleModel.getSamples(x - sampleModelTranslateX, y
- - sampleModelTranslateY, w, h, b, iArray, dataBuffer);
+ return sampleModel.getSamples(x - sampleModelTranslateX, y - sampleModelTranslateY, w, h,
+ b, iArray, dataBuffer);
}
/**
* Gets the transfer type for pixels of this Raster.
- * @see SampleModel#getTransferType()
*
+ * @see SampleModel#getTransferType()
* @return the transfer type for pixels of this Raster.
*/
public final int getTransferType() {
@@ -1395,18 +1496,20 @@ public class Raster {
/**
* Validate data buffer.
*
- * @param dataBuffer the data buffer
- * @param w the w
- * @param h the h
- * @param scanlineStride the scanline stride
+ * @param dataBuffer
+ * the data buffer.
+ * @param w
+ * the w.
+ * @param h
+ * the h.
+ * @param scanlineStride
+ * the scanline stride.
*/
- private static void validateDataBuffer(final DataBuffer dataBuffer, final int w,
- final int h, final int scanlineStride) {
+ private static void validateDataBuffer(final DataBuffer dataBuffer, final int w, final int h,
+ final int scanlineStride) {
if (dataBuffer.getSize() < (scanlineStride * (h - 1) + w - 1)) {
// awt.298=dataBuffer is too small
throw new RasterFormatException(Messages.getString("awt.298")); //$NON-NLS-1$
}
}
}
-
-
diff --git a/awt/java/awt/image/RasterFormatException.java b/awt/java/awt/image/RasterFormatException.java
index 8577dad..c667141 100644
--- a/awt/java/awt/image/RasterFormatException.java
+++ b/awt/java/awt/image/RasterFormatException.java
@@ -18,28 +18,31 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
-package java.awt.image;
+package java.awt.image;
/**
- * The RasterFormatException class represents the exception
- * that is thrown when there's an invalid layout
- * in the Raster.
+ * The RasterFormatException class represents the exception that is thrown when
+ * there's an invalid layout in the Raster.
+ *
+ * @since Android 1.0
*/
public class RasterFormatException extends RuntimeException {
- /** The Constant serialVersionUID. */
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = 96598996116164315L;
/**
- * Instantiates a new RasterFormatException with the
- * specified detail message.
+ * Instantiates a new RasterFormatException with the specified detail
+ * message.
*
- * @param s the detail message.
+ * @param s
+ * the detail message.
*/
public RasterFormatException(String s) {
super(s);
}
}
-
diff --git a/awt/java/awt/image/RasterOp.java b/awt/java/awt/image/RasterOp.java
index e8933ee..19a84c9 100644
--- a/awt/java/awt/image/RasterOp.java
+++ b/awt/java/awt/image/RasterOp.java
@@ -18,6 +18,7 @@
* @author Alexey A. Petrenko
* @version $Revision$
*/
+
package java.awt.image;
import java.awt.RenderingHints;
@@ -25,20 +26,22 @@ import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
/**
- * The RasterOp interface provides methods for performing transformations
- * from source data to destination data for Raster objects. The source and
- * destination objects should contain the appropriate number of bands for
- * the particular classes which implement this interface.
+ * The RasterOp interface provides methods for performing transformations from
+ * source data to destination data for Raster objects. The source and
+ * destination objects should contain the appropriate number of bands for the
+ * particular classes which implement this interface.
+ *
+ * @since Android 1.0
*/
public interface RasterOp {
-
+
/**
- * Creates a destination WritableRaster with the specified Raster;
- * this destination image data is empty and has the correct size
- * and number of bands.
- *
- * @param src the source Raster.
+ * Creates a destination WritableRaster with the specified Raster; this
+ * destination image data is empty and has the correct size and number of
+ * bands.
*
+ * @param src
+ * the source Raster.
* @return the WritableRaster.
*/
public WritableRaster createCompatibleDestRaster(Raster src);
@@ -47,9 +50,10 @@ public interface RasterOp {
* Performs a filter operation on the source Raster and stores the resulting
* image data to the destination WritableRaster.
*
- * @param src the source Raster.
- * @param dst the destination WritableRaster, where the result is stored.
- *
+ * @param src
+ * the source Raster.
+ * @param dst
+ * the destination WritableRaster, where the result is stored.
* @return the filtered WritableRaster.
*/
public WritableRaster filter(Raster src, WritableRaster dst);
@@ -57,19 +61,20 @@ public interface RasterOp {
/**
* Gets the bounds of the filtered Raster.
*
- * @param src the source Raster to be filtered.
- *
+ * @param src
+ * the source Raster to be filtered.
* @return the rectangle bounds of the filtered Raster.
*/
public Rectangle2D getBounds2D(Raster src);
/**
- * Gets the point of the destination image which corresponds
- * to the specified point in the source raster.
- *
- * @param srcPoint the point of the source raster.
- * @param dstPoint the point where the result will be stored.
+ * Gets the point of the destination image which corresponds to the
+ * specified point in the source raster.
*
+ * @param srcPoint
+ * the point of the source raster.
+ * @param dstPoint
+ * the point where the result will be stored.
* @return the destination point.
*/
public Point2D getPoint2D(Point2D srcPoint, Point2D dstPoint);
diff --git a/awt/java/awt/image/RenderedImage.java b/awt/java/awt/image/RenderedImage.java
index db3a4c8..5eafa64 100644
--- a/awt/java/awt/image/RenderedImage.java
+++ b/awt/java/awt/image/RenderedImage.java
@@ -18,35 +18,37 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import java.awt.Rectangle;
import java.util.Vector;
/**
- * The RenderedImage interface should be implemented by all objects which
- * contains image data. The image data is represented as a single tile or
- * an array of tiles.
+ * The RenderedImage interface should be implemented by all objects which
+ * contains image data. The image data is represented as a single tile or an
+ * array of tiles.
+ *
+ * @since Android 1.0
*/
public interface RenderedImage {
/**
- * Gets the property with the specified name from the property set
- * of this RenderedImage.
- *
- * @param name the property's name.
+ * Gets the property with the specified name from the property set of this
+ * RenderedImage.
*
+ * @param name
+ * the property's name.
* @return the property value corresponded to this property's name.
*/
public Object getProperty(String name);
/**
- * Copies the region of this RenderedImage to the specified
- * WritableRaster. The bounds of the region are the bounds of the
- * WritableRaster.
- *
- * @param raster the WritableRaster.
+ * Copies the region of this RenderedImage to the specified WritableRaster.
+ * The bounds of the region are the bounds of the WritableRaster.
*
+ * @param raster
+ * the WritableRaster.
* @return the created WritableRaster.
*/
public WritableRaster copyData(WritableRaster raster);
@@ -54,19 +56,19 @@ public interface RenderedImage {
/**
* Gets the image data of the image's region as one tile.
*
- * @param rect the rectangular region of RenderedImage.
- *
+ * @param rect
+ * the rectangular region of RenderedImage.
* @return the image data of the image's region as one tile.
*/
public Raster getData(Rectangle rect);
/**
- * Gets all RenderedImage objects which are the source of this
- * RenderedImage object.
+ * Gets all RenderedImage objects which are the source of this RenderedImage
+ * object.
*
- * @return a Vector of RenderedImage objects which are the source
- * of this RenderedImage object or null, if there is no information
- * about them.
+ * @return a Vector of RenderedImage objects which are the source of this
+ * RenderedImage object or null, if there is no information about
+ * them.
*/
public Vector<RenderedImage> getSources();
@@ -85,14 +87,13 @@ public interface RenderedImage {
public SampleModel getSampleModel();
/**
- * Gets the tile corresponded to the specified indices in the tile
- * array.
- *
- * @param tileX the X index of the tile.
- * @param tileY the Y index of the tile.
+ * Gets the tile corresponded to the specified indices in the tile array.
*
- * @return the tile corresponded to the specified indices in the tile
- * array.
+ * @param tileX
+ * the X index of the tile.
+ * @param tileY
+ * the Y index of the tile.
+ * @return the tile corresponded to the specified indices in the tile array.
*/
public Raster getTile(int tileX, int tileY);
@@ -195,4 +196,3 @@ public interface RenderedImage {
public int getHeight();
}
-
diff --git a/awt/java/awt/image/ReplicateScaleFilter.java b/awt/java/awt/image/ReplicateScaleFilter.java
index 9298125..51c0f49 100644
--- a/awt/java/awt/image/ReplicateScaleFilter.java
+++ b/awt/java/awt/image/ReplicateScaleFilter.java
@@ -18,53 +18,69 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import java.util.Hashtable;
import org.apache.harmony.awt.internal.nls.Messages;
-
/**
- * The ReplicateScaleFilter class scales an source image
- * by replicating rows and columns of pixels to scale up or
- * omitting rows and columns of pixels to scale down.
+ * The ReplicateScaleFilter class scales an source image by replicating rows and
+ * columns of pixels to scale up or omitting rows and columns of pixels to scale
+ * down.
+ *
+ * @since Android 1.0
*/
public class ReplicateScaleFilter extends ImageFilter {
- /** The width of a source image. */
+ /**
+ * The width of a source image.
+ */
protected int srcWidth;
- /** The height of a source image. */
+ /**
+ * The height of a source image.
+ */
protected int srcHeight;
- /** The width of a destination image. */
+ /**
+ * The width of a destination image.
+ */
protected int destWidth;
- /** The height of a destination image. */
+ /**
+ * The height of a destination image.
+ */
protected int destHeight;
- /** The int array of source rows. */
+ /**
+ * The integer array of source rows.
+ */
protected int[] srcrows;
- /** The int array of source columns. */
+ /**
+ * The integer array of source columns.
+ */
protected int[] srccols;
- /**
- * An Object (byte array with a destination width) provides
- * a row of pixel data to the ImageConsumer.
+ /**
+ * An Object (byte array with a destination width) provides a row of pixel
+ * data to the ImageConsumer.
*/
protected Object outpixbuf;
/**
- * Instantiates a new ReplicateScaleFilter that filters
- * the image with the specified width and height.
+ * Instantiates a new ReplicateScaleFilter that filters the image with the
+ * specified width and height.
*
- * @param width the width of scaled image.
- * @param height the height of scaled image.
+ * @param width
+ * the width of scaled image.
+ * @param height
+ * the height of scaled image.
*/
public ReplicateScaleFilter(int width, int height) {
- if(width == 0 || height == 0) {
+ if (width == 0 || height == 0) {
// awt.234=Width or Height equals zero
throw new IllegalArgumentException(Messages.getString("awt.234")); //$NON-NLS-1$
}
@@ -77,40 +93,40 @@ public class ReplicateScaleFilter extends ImageFilter {
@Override
public void setProperties(Hashtable<?, ?> props) {
Hashtable<Object, Object> fprops;
- if(props == null) {
+ if (props == null) {
fprops = new Hashtable<Object, Object>();
} else {
- fprops = (Hashtable<Object, Object>) props.clone();
+ fprops = (Hashtable<Object, Object>)props.clone();
}
String propName = "Rescale Filters"; //$NON-NLS-1$
- String prop = "destWidth=" + destWidth + "; " + //$NON-NLS-1$ //$NON-NLS-2$
- "destHeight=" + destHeight; //$NON-NLS-1$
+ String prop = "destWidth=" + destWidth + "; " + //$NON-NLS-1$ //$NON-NLS-2$
+ "destHeight=" + destHeight; //$NON-NLS-1$
Object o = fprops.get(propName);
- if(o != null){
- if(o instanceof String){
+ if (o != null) {
+ if (o instanceof String) {
prop = (String)o + "; " + prop; //$NON-NLS-1$
- }else{
- prop = o.toString() + "; " + prop; //$NON-NLS-1$
+ } else {
+ prop = o.toString() + "; " + prop; //$NON-NLS-1$
}
}
fprops.put(propName, prop);
consumer.setProperties(fprops);
- }
+ }
// setPixels methods produce pixels according to Java API Spacification
@Override
- public void setPixels(int x, int y, int w, int h,
- ColorModel model, int[] pixels, int off, int scansize) {
-
- if(srccols == null) {
+ public void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off,
+ int scansize) {
+
+ if (srccols == null) {
initArrays();
}
int buff[];
- if(outpixbuf == null || !(outpixbuf instanceof int[])){
+ if (outpixbuf == null || !(outpixbuf instanceof int[])) {
buff = new int[destWidth];
outpixbuf = buff;
- }else{
+ } else {
buff = (int[])outpixbuf;
}
@@ -121,32 +137,31 @@ public class ReplicateScaleFilter extends ImageFilter {
int sx, sy, dx, dy;
dy = dstY;
- while((dy < destHeight) && ((sy = srcrows[dy]) < y + h)){
+ while ((dy < destHeight) && ((sy = srcrows[dy]) < y + h)) {
dx = dstX;
int srcOff = off + (sy - y) * scansize;
- while((dx < destWidth) && ((sx = srccols[dx]) < x + w)){
+ while ((dx < destWidth) && ((sx = srccols[dx]) < x + w)) {
buff[dx] = pixels[srcOff + (sx - x)];
dx++;
}
- consumer.setPixels(dstX, dy, dx - dstX, 1, model, buff,
- dstX, destWidth);
+ consumer.setPixels(dstX, dy, dx - dstX, 1, model, buff, dstX, destWidth);
dy++;
}
}
@Override
- public void setPixels(int x, int y, int w, int h,
- ColorModel model, byte[] pixels, int off, int scansize) {
-
- if(srccols == null) {
+ public void setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off,
+ int scansize) {
+
+ if (srccols == null) {
initArrays();
}
byte buff[];
- if(outpixbuf == null || !(outpixbuf instanceof byte[])){
+ if (outpixbuf == null || !(outpixbuf instanceof byte[])) {
buff = new byte[destWidth];
outpixbuf = buff;
- }else{
+ } else {
buff = (byte[])outpixbuf;
}
@@ -157,16 +172,15 @@ public class ReplicateScaleFilter extends ImageFilter {
int sx, sy, dx, dy;
dy = dstY;
- while((dy < destHeight) && ((sy = srcrows[dy]) < y + h)){
+ while ((dy < destHeight) && ((sy = srcrows[dy]) < y + h)) {
dx = dstX;
int srcOff = off + (sy - y) * scansize;
- while((dx < destWidth) && ((sx = srccols[dx]) < x + w)){
+ while ((dx < destWidth) && ((sx = srccols[dx]) < x + w)) {
buff[dx] = pixels[srcOff + (sx - x)];
dx++;
}
- consumer.setPixels(dstX, dy, dx - dstX, 1, model, buff,
- dstX, destWidth);
+ consumer.setPixels(dstX, dy, dx - dstX, 1, model, buff, dstX, destWidth);
dy++;
}
}
@@ -176,12 +190,12 @@ public class ReplicateScaleFilter extends ImageFilter {
srcWidth = w;
srcHeight = h;
- if(destWidth < 0 && destHeight < 0){
+ if (destWidth < 0 && destHeight < 0) {
destWidth = srcWidth;
destHeight = srcHeight;
- }else if(destWidth < 0){
+ } else if (destWidth < 0) {
destWidth = destHeight * srcWidth / srcHeight;
- }else if(destHeight < 0){
+ } else if (destHeight < 0) {
destHeight = destWidth * srcHeight / srcWidth;
}
consumer.setDimensions(destWidth, destHeight);
@@ -190,24 +204,22 @@ public class ReplicateScaleFilter extends ImageFilter {
/**
* Initialization of srccols and srcrows arrays.
*/
- private void initArrays(){
+ private void initArrays() {
if ((destWidth < 0) || (destHeight < 0)) {
throw new IndexOutOfBoundsException();
}
-
+
srccols = new int[destWidth];
int ca = srcWidth >>> 1;
- for(int i = 0; i < destWidth; i++){
+ for (int i = 0; i < destWidth; i++) {
srccols[i] = (i * srcWidth + ca) / destWidth;
}
srcrows = new int[destHeight];
int ra = srcHeight >>> 1;
- for(int i = 0; i < destHeight; i++){
+ for (int i = 0; i < destHeight; i++) {
srcrows[i] = (i * srcHeight + ra) / destHeight;
}
}
}
-
-
diff --git a/awt/java/awt/image/RescaleOp.java b/awt/java/awt/image/RescaleOp.java
index 0e96031..d7e2bd7 100644
--- a/awt/java/awt/image/RescaleOp.java
+++ b/awt/java/awt/image/RescaleOp.java
@@ -32,33 +32,43 @@ import org.apache.harmony.awt.gl.AwtImageBackdoorAccessor;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The Class RescaleOp performs rescaling of the source image data
- * by multiplying the pixel values with a scale factor
- * and then adding an offset.
+ * The Class RescaleOp performs rescaling of the source image data by
+ * multiplying the pixel values with a scale factor and then adding an offset.
+ *
+ * @since Android 1.0
*/
public class RescaleOp implements BufferedImageOp, RasterOp {
-
- /** The scale factors. */
+
+ /**
+ * The scale factors.
+ */
private float scaleFactors[];
-
- /** The offsets. */
+
+ /**
+ * The offsets.
+ */
private float offsets[];
-
- /** The hints. */
+
+ /**
+ * The hints.
+ */
private RenderingHints hints;
static {
// TODO
- //System.loadLibrary("imageops");
+ // System.loadLibrary("imageops");
}
/**
- * Instantiates a new RescaleOp object with the specified
- * scale factors and offsets.
+ * Instantiates a new RescaleOp object with the specified scale factors and
+ * offsets.
*
- * @param scaleFactors the array of scale factor values.
- * @param offsets the array of offset values.
- * @param hints the RenderingHints or null.
+ * @param scaleFactors
+ * the array of scale factor values.
+ * @param offsets
+ * the array of offset values.
+ * @param hints
+ * the RenderingHints or null.
*/
public RescaleOp(float[] scaleFactors, float[] offsets, RenderingHints hints) {
int numFactors = Math.min(scaleFactors.length, offsets.length);
@@ -73,12 +83,15 @@ public class RescaleOp implements BufferedImageOp, RasterOp {
}
/**
- * Instantiates a new RescaleOp object with the specified
- * scale factor and offset.
+ * Instantiates a new RescaleOp object with the specified scale factor and
+ * offset.
*
- * @param scaleFactor the scale factor.
- * @param offset the offset.
- * @param hints the RenderingHints or null.
+ * @param scaleFactor
+ * the scale factor.
+ * @param offset
+ * the offset.
+ * @param hints
+ * the RenderingHints or null.
*/
public RescaleOp(float scaleFactor, float offset, RenderingHints hints) {
scaleFactors = new float[1];
@@ -106,9 +119,8 @@ public class RescaleOp implements BufferedImageOp, RasterOp {
/**
* Gets the scale factors of this RescaleOp.
*
- * @param scaleFactors the desired scale factors array will be copied
- * to this array.
- *
+ * @param scaleFactors
+ * the desired scale factors array will be copied to this array.
* @return the scale factors array.
*/
public final float[] getScaleFactors(float[] scaleFactors) {
@@ -124,8 +136,8 @@ public class RescaleOp implements BufferedImageOp, RasterOp {
/**
* Gets the offsets array of this RescaleOp.
*
- * @param offsets the desired offsets array will be copied to this array.
- *
+ * @param offsets
+ * the desired offsets array will be copied to this array.
* @return the offsets array of this RescaleOp.
*/
public final float[] getOffsets(float[] offsets) {
@@ -168,17 +180,11 @@ public class RescaleOp implements BufferedImageOp, RasterOp {
dstCM = ColorModel.getRGBdefault();
}
- WritableRaster r =
- dstCM.isCompatibleSampleModel(src.getSampleModel()) ?
- src.getRaster().createCompatibleWritableRaster(src.getWidth(), src.getHeight()) :
- dstCM.createCompatibleWritableRaster(src.getWidth(), src.getHeight());
-
- return new BufferedImage(
- dstCM,
- r,
- dstCM.isAlphaPremultiplied(),
- null
- );
+ WritableRaster r = dstCM.isCompatibleSampleModel(src.getSampleModel()) ? src.getRaster()
+ .createCompatibleWritableRaster(src.getWidth(), src.getHeight()) : dstCM
+ .createCompatibleWritableRaster(src.getWidth(), src.getHeight());
+
+ return new BufferedImage(dstCM, r, dstCM.isAlphaPremultiplied(), null);
}
public final WritableRaster filter(Raster src, WritableRaster dst) {
@@ -186,26 +192,25 @@ public class RescaleOp implements BufferedImageOp, RasterOp {
dst = createCompatibleDestRaster(src);
} else {
if (src.getNumBands() != dst.getNumBands()) {
- // awt.21D=Number of src bands ({0}) does not match number of dst bands ({1})
+ // awt.21D=Number of src bands ({0}) does not match number of
+ // dst bands ({1})
throw new IllegalArgumentException(Messages.getString("awt.21D", //$NON-NLS-1$
src.getNumBands(), dst.getNumBands()));
}
}
- if (
- this.scaleFactors.length != 1 &&
- this.scaleFactors.length != src.getNumBands()
- ) {
- // awt.21E=Number of scaling constants is not equal to the number of bands
+ if (this.scaleFactors.length != 1 && this.scaleFactors.length != src.getNumBands()) {
+ // awt.21E=Number of scaling constants is not equal to the number of
+ // bands
throw new IllegalArgumentException(Messages.getString("awt.21E")); //$NON-NLS-1$
}
// TODO
- //if (ippFilter(src, dst, BufferedImage.TYPE_CUSTOM, false) != 0)
- if (slowFilter(src, dst, false) != 0) {
- // awt.21F=Unable to transform source
- throw new ImagingOpException (Messages.getString("awt.21F")); //$NON-NLS-1$
- }
+ // if (ippFilter(src, dst, BufferedImage.TYPE_CUSTOM, false) != 0)
+ if (slowFilter(src, dst, false) != 0) {
+ // awt.21F=Unable to transform source
+ throw new ImagingOpException(Messages.getString("awt.21F")); //$NON-NLS-1$
+ }
return dst;
}
@@ -213,11 +218,13 @@ public class RescaleOp implements BufferedImageOp, RasterOp {
/**
* Slow filter.
*
- * @param src the src
- * @param dst the dst
- * @param skipAlpha the skip alpha
- *
- * @return the int
+ * @param src
+ * the src.
+ * @param dst
+ * the dst.
+ * @param skipAlpha
+ * the skip alpha.
+ * @return the int.
*/
private final int slowFilter(Raster src, WritableRaster dst, boolean skipAlpha) {
SampleModel sm = src.getSampleModel();
@@ -235,7 +242,7 @@ public class RescaleOp implements BufferedImageOp, RasterOp {
int[] masks = new int[numBands];
int[] sampleSizes = sm.getSampleSize();
- for (int i=0; i < numBands; i++){
+ for (int i = 0; i < numBands; i++) {
maxValues[i] = (1 << sampleSizes[i]) - 1;
masks[i] = ~(maxValues[i]);
}
@@ -247,8 +254,8 @@ public class RescaleOp implements BufferedImageOp, RasterOp {
// Cycle over pixels to be calculated
if (skipAlpha) { // Always suppose that alpha channel is the last band
if (scaleFactors.length > 1) {
- for (int i = 0; i < pixels.length; ){
- for (int bandIdx = 0; bandIdx < numBands-1; bandIdx++, i++){
+ for (int i = 0; i < pixels.length;) {
+ for (int bandIdx = 0; bandIdx < numBands - 1; bandIdx++, i++) {
pixels[i] = pixels[i] * scaleFactors[bandIdx] + offsets[bandIdx];
// Check for overflow now
if (((int)pixels[i] & masks[bandIdx]) != 0) {
@@ -263,8 +270,8 @@ public class RescaleOp implements BufferedImageOp, RasterOp {
i++;
}
} else {
- for (int i = 0; i < pixels.length; ){
- for (int bandIdx = 0; bandIdx < numBands-1; bandIdx++, i++){
+ for (int i = 0; i < pixels.length;) {
+ for (int bandIdx = 0; bandIdx < numBands - 1; bandIdx++, i++) {
pixels[i] = pixels[i] * scaleFactors[0] + offsets[0];
// Check for overflow now
if (((int)pixels[i] & masks[bandIdx]) != 0) {
@@ -281,8 +288,8 @@ public class RescaleOp implements BufferedImageOp, RasterOp {
}
} else {
if (scaleFactors.length > 1) {
- for (int i = 0; i < pixels.length; ){
- for (int bandIdx = 0; bandIdx < numBands; bandIdx++, i++){
+ for (int i = 0; i < pixels.length;) {
+ for (int bandIdx = 0; bandIdx < numBands; bandIdx++, i++) {
pixels[i] = pixels[i] * scaleFactors[bandIdx] + offsets[bandIdx];
// Check for overflow now
if (((int)pixels[i] & masks[bandIdx]) != 0) {
@@ -295,8 +302,8 @@ public class RescaleOp implements BufferedImageOp, RasterOp {
}
}
} else {
- for (int i = 0; i < pixels.length; ){
- for (int bandIdx = 0; bandIdx < numBands; bandIdx++, i++){
+ for (int i = 0; i < pixels.length;) {
+ for (int bandIdx = 0; bandIdx < numBands; bandIdx++, i++) {
pixels[i] = pixels[i] * scaleFactors[0] + offsets[0];
// Check for overflow now
if (((int)pixels[i] & masks[bandIdx]) != 0) {
@@ -328,18 +335,20 @@ public class RescaleOp implements BufferedImageOp, RasterOp {
int nComponents = srcCM.getNumComponents();
boolean skipAlpha;
if (srcCM.hasAlpha()) {
- if (scaleFactors.length == 1 || scaleFactors.length == nComponents-1) {
+ if (scaleFactors.length == 1 || scaleFactors.length == nComponents - 1) {
skipAlpha = true;
} else if (scaleFactors.length == nComponents) {
skipAlpha = false;
} else {
- // awt.21E=Number of scaling constants is not equal to the number of bands
+ // awt.21E=Number of scaling constants is not equal to the
+ // number of bands
throw new IllegalArgumentException(Messages.getString("awt.21E")); //$NON-NLS-1$
}
} else if (scaleFactors.length == 1 || scaleFactors.length == nComponents) {
skipAlpha = false;
} else {
- // awt.21E=Number of scaling constants is not equal to the number of bands
+ // awt.21E=Number of scaling constants is not equal to the number of
+ // bands
throw new IllegalArgumentException(Messages.getString("awt.21E")); //$NON-NLS-1$
}
@@ -348,24 +357,22 @@ public class RescaleOp implements BufferedImageOp, RasterOp {
finalDst = dst;
dst = createCompatibleDestImage(src, srcCM);
} else if (!srcCM.equals(dst.getColorModel())) {
- // Treat BufferedImage.TYPE_INT_RGB and BufferedImage.TYPE_INT_ARGB as same
- if (
- !((src.getType() == BufferedImage.TYPE_INT_RGB ||
- src.getType() == BufferedImage.TYPE_INT_ARGB) &&
- (dst.getType() == BufferedImage.TYPE_INT_RGB ||
- dst.getType() == BufferedImage.TYPE_INT_ARGB))
- ) {
+ // Treat BufferedImage.TYPE_INT_RGB and BufferedImage.TYPE_INT_ARGB
+ // as same
+ if (!((src.getType() == BufferedImage.TYPE_INT_RGB || src.getType() == BufferedImage.TYPE_INT_ARGB) && (dst
+ .getType() == BufferedImage.TYPE_INT_RGB || dst.getType() == BufferedImage.TYPE_INT_ARGB))) {
finalDst = dst;
dst = createCompatibleDestImage(src, srcCM);
}
}
// TODO
- //if (ippFilter(src.getRaster(), dst.getRaster(), src.getType(), skipAlpha) != 0)
- if (slowFilter(src.getRaster(), dst.getRaster(), skipAlpha) != 0) {
- // awt.21F=Unable to transform source
- throw new ImagingOpException (Messages.getString("awt.21F")); //$NON-NLS-1$
- }
+ // if (ippFilter(src.getRaster(), dst.getRaster(), src.getType(),
+ // skipAlpha) != 0)
+ if (slowFilter(src.getRaster(), dst.getRaster(), skipAlpha) != 0) {
+ // awt.21F=Unable to transform source
+ throw new ImagingOpException(Messages.getString("awt.21F")); //$NON-NLS-1$
+ }
if (finalDst != null) {
Graphics2D g = finalDst.createGraphics();
@@ -378,21 +385,26 @@ public class RescaleOp implements BufferedImageOp, RasterOp {
return finalDst;
}
- // Don't forget to pass allocated arrays for levels and values, size should be numBands*4
+ // Don't forget to pass allocated arrays for levels and values, size should
+ // be numBands*4
/**
* Creates the levels.
*
- * @param sm the sm
- * @param numBands the num bands
- * @param skipAlpha the skip alpha
- * @param levels the levels
- * @param values the values
- * @param channelsOrder the channels order
+ * @param sm
+ * the sm.
+ * @param numBands
+ * the num bands.
+ * @param skipAlpha
+ * the skip alpha.
+ * @param levels
+ * the levels.
+ * @param values
+ * the values.
+ * @param channelsOrder
+ * the channels order.
*/
- private final void createLevels(
- SampleModel sm, int numBands, boolean skipAlpha,
- int levels[], int values[], int channelsOrder[]
- ) {
+ private final void createLevels(SampleModel sm, int numBands, boolean skipAlpha, int levels[],
+ int values[], int channelsOrder[]) {
// Suppose same sample size for all channels, otherwise use slow filter
int maxValue = (1 << sm.getSampleSize(0)) - 1;
@@ -411,17 +423,17 @@ public class RescaleOp implements BufferedImageOp, RasterOp {
}
if (skipAlpha) {
- extScaleFactors[numBands-1] = 1;
- extOffsets[numBands-1] = 0;
+ extScaleFactors[numBands - 1] = 1;
+ extOffsets[numBands - 1] = 0;
}
// Create a levels
- for (int i=0; i<numBands; i++) {
+ for (int i = 0; i < numBands; i++) {
if (extScaleFactors[i] == 0) {
- levels[i*4] = 0;
- levels[i*4+1] = 0;
- levels[i*4+2] = maxValue+1;
- levels[i*4+3] = maxValue+1;
+ levels[i * 4] = 0;
+ levels[i * 4 + 1] = 0;
+ levels[i * 4 + 2] = maxValue + 1;
+ levels[i * 4 + 3] = maxValue + 1;
}
float minLevel = -extOffsets[i] / extScaleFactors[i];
@@ -429,33 +441,33 @@ public class RescaleOp implements BufferedImageOp, RasterOp {
if (minLevel < 0) {
minLevel = 0;
- } else if (minLevel > maxValue){
+ } else if (minLevel > maxValue) {
minLevel = maxValue;
}
if (maxLevel < 0) {
maxLevel = 0;
- } else if (maxLevel > maxValue){
+ } else if (maxLevel > maxValue) {
maxLevel = maxValue;
}
- levels[i*4] = 0;
+ levels[i * 4] = 0;
if (minLevel > maxLevel) {
- levels[i*4+1] = (int) maxLevel;
- levels[i*4+2] = (int) minLevel;
+ levels[i * 4 + 1] = (int)maxLevel;
+ levels[i * 4 + 2] = (int)minLevel;
} else {
- levels[i*4+1] = (int) minLevel;
- levels[i*4+2] = (int) maxLevel;
+ levels[i * 4 + 1] = (int)minLevel;
+ levels[i * 4 + 2] = (int)maxLevel;
}
- levels[i*4+3] = maxValue+1;
+ levels[i * 4 + 3] = maxValue + 1;
// Fill values
- for (int k=0; k<4; k++) {
- int idx = i*4+k;
- values[idx] = (int) (extScaleFactors[i] * levels[idx] + extOffsets[i]);
+ for (int k = 0; k < 4; k++) {
+ int idx = i * 4 + k;
+ values[idx] = (int)(extScaleFactors[i] * levels[idx] + extOffsets[i]);
if (values[idx] < 0) {
values[idx] = 0;
- } else if (values[idx] > maxValue){
+ } else if (values[idx] > maxValue) {
values[idx] = maxValue;
}
}
@@ -463,14 +475,14 @@ public class RescaleOp implements BufferedImageOp, RasterOp {
// Reorder data if channels are stored in different order
if (channelsOrder != null) {
- int len = numBands*4;
+ int len = numBands * 4;
int savedLevels[] = new int[len];
int savedValues[] = new int[len];
System.arraycopy(levels, 0, savedLevels, 0, len);
System.arraycopy(values, 0, savedValues, 0, len);
for (int i = 0; i < channelsOrder.length; i++) {
- System.arraycopy(savedLevels, i*4, levels, channelsOrder[i]*4, 4);
- System.arraycopy(savedValues, i*4, values, channelsOrder[i]*4, 4);
+ System.arraycopy(savedLevels, i * 4, levels, channelsOrder[i] * 4, 4);
+ System.arraycopy(savedValues, i * 4, values, channelsOrder[i] * 4, 4);
}
}
}
@@ -479,18 +491,18 @@ public class RescaleOp implements BufferedImageOp, RasterOp {
/**
* Ipp filter.
*
- * @param src the src
- * @param dst the dst
- * @param imageType the image type
- * @param skipAlpha the skip alpha
- *
- * @return the int
+ * @param src
+ * the src.
+ * @param dst
+ * the dst.
+ * @param imageType
+ * the image type.
+ * @param skipAlpha
+ * the skip alpha.
+ * @return the int.
*/
@SuppressWarnings("unused")
- private final int ippFilter(
- Raster src, WritableRaster dst,
- int imageType, boolean skipAlpha
- ) {
+ private final int ippFilter(Raster src, WritableRaster dst, int imageType, boolean skipAlpha) {
int res;
int srcStride, dstStride;
@@ -503,9 +515,11 @@ public class RescaleOp implements BufferedImageOp, RasterOp {
case BufferedImage.TYPE_INT_ARGB_PRE:
case BufferedImage.TYPE_INT_RGB: {
channels = 4;
- srcStride = src.getWidth()*4;
- dstStride = dst.getWidth()*4;
- channelsOrder = new int[] {2, 1, 0, 3};
+ srcStride = src.getWidth() * 4;
+ dstStride = dst.getWidth() * 4;
+ channelsOrder = new int[] {
+ 2, 1, 0, 3
+ };
break;
}
@@ -513,8 +527,8 @@ public class RescaleOp implements BufferedImageOp, RasterOp {
case BufferedImage.TYPE_4BYTE_ABGR_PRE:
case BufferedImage.TYPE_INT_BGR: {
channels = 4;
- srcStride = src.getWidth()*4;
- dstStride = dst.getWidth()*4;
+ srcStride = src.getWidth() * 4;
+ dstStride = dst.getWidth() * 4;
break;
}
@@ -527,9 +541,11 @@ public class RescaleOp implements BufferedImageOp, RasterOp {
case BufferedImage.TYPE_3BYTE_BGR: {
channels = 3;
- srcStride = src.getWidth()*3;
- dstStride = dst.getWidth()*3;
- channelsOrder = new int[] {2, 1, 0};
+ srcStride = src.getWidth() * 3;
+ dstStride = dst.getWidth() * 3;
+ channelsOrder = new int[] {
+ 2, 1, 0
+ };
break;
}
@@ -544,55 +560,46 @@ public class RescaleOp implements BufferedImageOp, RasterOp {
SampleModel srcSM = src.getSampleModel();
SampleModel dstSM = dst.getSampleModel();
- if (
- srcSM instanceof PixelInterleavedSampleModel &&
- dstSM instanceof PixelInterleavedSampleModel
- ) {
+ if (srcSM instanceof PixelInterleavedSampleModel
+ && dstSM instanceof PixelInterleavedSampleModel) {
// Check PixelInterleavedSampleModel
- if (
- srcSM.getDataType() != DataBuffer.TYPE_BYTE ||
- dstSM.getDataType() != DataBuffer.TYPE_BYTE
- ) {
+ if (srcSM.getDataType() != DataBuffer.TYPE_BYTE
+ || dstSM.getDataType() != DataBuffer.TYPE_BYTE) {
return slowFilter(src, dst, skipAlpha);
}
- channels = srcSM.getNumBands(); // Have IPP functions for 1, 3 and 4 channels
+ channels = srcSM.getNumBands(); // Have IPP functions for 1,
+ // 3 and 4 channels
if (!(channels == 1 || channels == 3 || channels == 4)) {
return slowFilter(src, dst, skipAlpha);
}
- srcStride = ((ComponentSampleModel) srcSM).getScanlineStride();
- dstStride = ((ComponentSampleModel) dstSM).getScanlineStride();
+ srcStride = ((ComponentSampleModel)srcSM).getScanlineStride();
+ dstStride = ((ComponentSampleModel)dstSM).getScanlineStride();
- channelsOrder = ((ComponentSampleModel) srcSM).getBandOffsets();
- } else if (
- srcSM instanceof SinglePixelPackedSampleModel &&
- dstSM instanceof SinglePixelPackedSampleModel
- ) {
+ channelsOrder = ((ComponentSampleModel)srcSM).getBandOffsets();
+ } else if (srcSM instanceof SinglePixelPackedSampleModel
+ && dstSM instanceof SinglePixelPackedSampleModel) {
// Check SinglePixelPackedSampleModel
- SinglePixelPackedSampleModel sppsm1 = (SinglePixelPackedSampleModel) srcSM;
- SinglePixelPackedSampleModel sppsm2 = (SinglePixelPackedSampleModel) dstSM;
+ SinglePixelPackedSampleModel sppsm1 = (SinglePixelPackedSampleModel)srcSM;
+ SinglePixelPackedSampleModel sppsm2 = (SinglePixelPackedSampleModel)dstSM;
channels = sppsm1.getNumBands();
- // TYPE_INT_RGB, TYPE_INT_ARGB...
- if (
- sppsm1.getDataType() != DataBuffer.TYPE_INT ||
- sppsm2.getDataType() != DataBuffer.TYPE_INT ||
- !(channels == 3 || channels == 4)
- ) {
+ // TYPE_INT_RGB, TYPE_INT_ARGB...
+ if (sppsm1.getDataType() != DataBuffer.TYPE_INT
+ || sppsm2.getDataType() != DataBuffer.TYPE_INT
+ || !(channels == 3 || channels == 4)) {
return slowFilter(src, dst, skipAlpha);
}
// Check compatibility of sample models
- if (
- !Arrays.equals(sppsm1.getBitOffsets(), sppsm2.getBitOffsets()) ||
- !Arrays.equals(sppsm1.getBitMasks(), sppsm2.getBitMasks())
- ) {
+ if (!Arrays.equals(sppsm1.getBitOffsets(), sppsm2.getBitOffsets())
+ || !Arrays.equals(sppsm1.getBitMasks(), sppsm2.getBitMasks())) {
return slowFilter(src, dst, skipAlpha);
}
- for (int i=0; i<channels; i++) {
+ for (int i = 0; i < channels; i++) {
if (sppsm1.getSampleSize(i) != 8) {
return slowFilter(src, dst, skipAlpha);
}
@@ -600,11 +607,12 @@ public class RescaleOp implements BufferedImageOp, RasterOp {
channelsOrder = new int[channels];
int bitOffsets[] = sppsm1.getBitOffsets();
- for (int i=0; i<channels; i++) {
+ for (int i = 0; i < channels; i++) {
channelsOrder[i] = bitOffsets[i] / 8;
}
- if (channels == 3) { // Don't skip channel now, could be optimized
+ if (channels == 3) { // Don't skip channel now, could be
+ // optimized
channels = 4;
}
@@ -616,12 +624,9 @@ public class RescaleOp implements BufferedImageOp, RasterOp {
// Fill offsets if there's a child raster
if (src.getParent() != null || dst.getParent() != null) {
- if (
- src.getSampleModelTranslateX() != 0 ||
- src.getSampleModelTranslateY() != 0 ||
- dst.getSampleModelTranslateX() != 0 ||
- dst.getSampleModelTranslateY() != 0
- ) {
+ if (src.getSampleModelTranslateX() != 0 || src.getSampleModelTranslateY() != 0
+ || dst.getSampleModelTranslateX() != 0
+ || dst.getSampleModelTranslateY() != 0) {
offsets = new int[4];
offsets[0] = -src.getSampleModelTranslateX() + src.getMinX();
offsets[1] = -src.getSampleModelTranslateY() + src.getMinY();
@@ -632,8 +637,8 @@ public class RescaleOp implements BufferedImageOp, RasterOp {
}
}
- int levels[] = new int[4*channels];
- int values[] = new int[4*channels];
+ int levels[] = new int[4 * channels];
+ int values[] = new int[4 * channels];
createLevels(src.getSampleModel(), channels, skipAlpha, levels, values, channelsOrder);
@@ -646,13 +651,8 @@ public class RescaleOp implements BufferedImageOp, RasterOp {
return -1; // Unknown data buffer type
}
- res = LookupOp.ippLUT(
- srcData, src.getWidth(), src.getHeight(), srcStride,
- dstData, dst.getWidth(), dst.getHeight(), dstStride,
- levels, values,
- channels, offsets,
- true
- );
+ res = LookupOp.ippLUT(srcData, src.getWidth(), src.getHeight(), srcStride, dstData, dst
+ .getWidth(), dst.getHeight(), dstStride, levels, values, channels, offsets, true);
return res;
}
diff --git a/awt/java/awt/image/SampleModel.java b/awt/java/awt/image/SampleModel.java
index 44059a0..c967fa6 100644
--- a/awt/java/awt/image/SampleModel.java
+++ b/awt/java/awt/image/SampleModel.java
@@ -18,44 +18,57 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The SampleModel class is abstract class for retrieving pixel's samples
- * in the data of an image. Each pixel contains several samples. A
- * sample is the set of values of the bands for single pixel.
- * For example, each pixel in the RGB model contains three samples
- * and there are three corresponding bands in the image
- * data of such pixels representing red, green and blue components.
- * <p>
- * The image data is represented as a Raster with a DataBuffer
- * and a SampleModel. The SampleModel allows access to the samples in the
- * DataBuffer.
+ * The SampleModel class is abstract class for retrieving pixel's samples in the
+ * data of an image. Each pixel contains several samples. A sample is the set of
+ * values of the bands for single pixel. For example, each pixel in the RGB
+ * model contains three samples and there are three corresponding bands in the
+ * image data of such pixels representing red, green and blue components.
+ * <p>
+ * The image data is represented as a Raster with a DataBuffer and a
+ * SampleModel. The SampleModel allows access to the samples in the DataBuffer.
+ *
+ * @since Android 1.0
*/
public abstract class SampleModel {
- /** The width of the image data which this SampleModel describes. */
+ /**
+ * The width of the image data which this SampleModel describes.
+ */
protected int width;
- /** The height of the image data which this SampleModel describes. */
+ /**
+ * The height of the image data which this SampleModel describes.
+ */
protected int height;
- /** The number of bands of image data which this SampleModel describes. */
+ /**
+ * The number of bands of image data which this SampleModel describes.
+ */
protected int numBands;
- /** The data type of the image data which this SampleModel describes. */
+ /**
+ * The data type of the image data which this SampleModel describes.
+ */
protected int dataType;
/**
- * Instantiates a new SampleModel with the specified data type,
- * width, height and number of bands.
+ * Instantiates a new SampleModel with the specified data type, width,
+ * height and number of bands.
*
- * @param dataType the data type of the image data.
- * @param w the width of the image data.
- * @param h the height of the image data.
- * @param numBands the number of bands of the image data.
+ * @param dataType
+ * the data type of the image data.
+ * @param w
+ * the width of the image data.
+ * @param h
+ * the height of the image data.
+ * @param numBands
+ * the number of bands of the image data.
*/
public SampleModel(int dataType, int w, int h, int numBands) {
if (w <= 0 || h <= 0) {
@@ -63,15 +76,14 @@ public abstract class SampleModel {
throw new IllegalArgumentException(Messages.getString("awt.22E")); //$NON-NLS-1$
}
- double squre = ((double) w) * ((double) h);
+ double squre = ((double)w) * ((double)h);
if (squre >= Integer.MAX_VALUE) {
// awt.22F=The product of w and h is greater than Integer.MAX_VALUE
throw new IllegalArgumentException(Messages.getString("awt.22F")); //$NON-NLS-1$
}
- if (dataType < DataBuffer.TYPE_BYTE ||
- dataType > DataBuffer.TYPE_DOUBLE &&
- dataType != DataBuffer.TYPE_UNDEFINED) {
+ if (dataType < DataBuffer.TYPE_BYTE || dataType > DataBuffer.TYPE_DOUBLE
+ && dataType != DataBuffer.TYPE_UNDEFINED) {
// awt.230=dataType is not one of the supported data types
throw new IllegalArgumentException(Messages.getString("awt.230")); //$NON-NLS-1$
}
@@ -89,154 +101,156 @@ public abstract class SampleModel {
}
/**
- * Gets the data array for the specified pixel of the specified
- * DataBuffer with one of the following types:
- * DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT,
- * DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT,
+ * Gets the data array for the specified pixel of the specified DataBuffer
+ * with one of the following types: DataBuffer.TYPE_BYTE,
+ * DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT,
* DataBuffer.TYPE_FLOAT, or DataBuffer.TYPE_DOUBLE.
*
- * @param x the X coordinate of pixel.
- * @param y the Y coordinate of pixel.
- * @param obj the Object is a data where the result will be stored.
- * @param data the image data.
- *
- * @return the data array for the specified pixel of the specified
- * DataBuffer.
+ * @param x
+ * the X coordinate of pixel.
+ * @param y
+ * the Y coordinate of pixel.
+ * @param obj
+ * the Object is a data where the result will be stored.
+ * @param data
+ * the image data.
+ * @return the data array for the specified pixel of the specified
+ * DataBuffer.
*/
- public abstract Object getDataElements(int x, int y, Object obj,
- DataBuffer data);
+ public abstract Object getDataElements(int x, int y, Object obj, DataBuffer data);
/**
- * Gets the array of pixel data for the specified rectangular
- * area of pixels of the specified DataBuffer with one of
- * the following types:
- * DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT,
- * DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT,
- * DataBuffer.TYPE_FLOAT, or DataBuffer.TYPE_DOUBLE.
+ * Gets the array of pixel data for the specified rectangular area of pixels
+ * of the specified DataBuffer with one of the following types:
+ * DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT,
+ * DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, or DataBuffer.TYPE_DOUBLE.
*
- *
- * @param x the X coordinate of the rectangular pixel area.
- * @param y the Y coordinate of the rectangular pixel area.
- * @param w the width of the rectangular pixel area.
- * @param h the height of the rectangular pixel area.
- * @param obj the Object is an array with the primitive type,
- * where the result array will be stored.
- * @param data the image data.
- *
- * @return the array of pixel data for the specified rectangular
- * area of pixels of the specified DataBuffer object.
+ * @param x
+ * the X coordinate of the rectangular pixel area.
+ * @param y
+ * the Y coordinate of the rectangular pixel area.
+ * @param w
+ * the width of the rectangular pixel area.
+ * @param h
+ * the height of the rectangular pixel area.
+ * @param obj
+ * the Object is an array with the primitive type, where the
+ * result array will be stored.
+ * @param data
+ * the image data.
+ * @return the array of pixel data for the specified rectangular area of
+ * pixels of the specified DataBuffer object.
*/
- public Object getDataElements(int x, int y, int w, int h, Object obj,
- DataBuffer data) {
+ public Object getDataElements(int x, int y, int w, int h, Object obj, DataBuffer data) {
int numDataElements = getNumDataElements();
int idx = 0;
switch (getTransferType()) {
- case DataBuffer.TYPE_BYTE:
- byte bdata[];
- byte bbuf[] = null;
-
- if (obj == null) {
- bdata = new byte[numDataElements * w * h];
- } else {
- bdata = (byte[]) obj;
- }
+ case DataBuffer.TYPE_BYTE:
+ byte bdata[];
+ byte bbuf[] = null;
+
+ if (obj == null) {
+ bdata = new byte[numDataElements * w * h];
+ } else {
+ bdata = (byte[])obj;
+ }
- for (int i = y; i < y + h; i++) {
- for (int j = x; j < x + w; j++) {
- bbuf = (byte[]) getDataElements(j, i, bbuf, data);
- for (int n = 0; n < numDataElements; n++) {
- bdata[idx++] = bbuf[n];
+ for (int i = y; i < y + h; i++) {
+ for (int j = x; j < x + w; j++) {
+ bbuf = (byte[])getDataElements(j, i, bbuf, data);
+ for (int n = 0; n < numDataElements; n++) {
+ bdata[idx++] = bbuf[n];
+ }
}
}
- }
- obj = bdata;
- break;
-
- case DataBuffer.TYPE_SHORT:
- case DataBuffer.TYPE_USHORT:
- short sdata[];
- short sbuf[] = null;
-
- if (obj == null) {
- sdata = new short[numDataElements * w * h];
- } else {
- sdata = (short[]) obj;
- }
+ obj = bdata;
+ break;
+
+ case DataBuffer.TYPE_SHORT:
+ case DataBuffer.TYPE_USHORT:
+ short sdata[];
+ short sbuf[] = null;
+
+ if (obj == null) {
+ sdata = new short[numDataElements * w * h];
+ } else {
+ sdata = (short[])obj;
+ }
- for (int i = y; i < y + h; i++) {
- for (int j = x; j < x + w; j++) {
- sbuf = (short[]) getDataElements(j, i, sbuf, data);
- for (int n = 0; n < numDataElements; n++) {
- sdata[idx++] = sbuf[n];
+ for (int i = y; i < y + h; i++) {
+ for (int j = x; j < x + w; j++) {
+ sbuf = (short[])getDataElements(j, i, sbuf, data);
+ for (int n = 0; n < numDataElements; n++) {
+ sdata[idx++] = sbuf[n];
+ }
}
}
- }
- obj = sdata;
- break;
+ obj = sdata;
+ break;
- case DataBuffer.TYPE_INT:
- int idata[];
- int ibuf[] = null;
+ case DataBuffer.TYPE_INT:
+ int idata[];
+ int ibuf[] = null;
- if (obj == null) {
- idata = new int[numDataElements * w * h];
- } else {
- idata = (int[]) obj;
- }
+ if (obj == null) {
+ idata = new int[numDataElements * w * h];
+ } else {
+ idata = (int[])obj;
+ }
- for (int i = y; i < y + h; i++) {
- for (int j = x; j < x + w; j++) {
- ibuf = (int[]) getDataElements(j, i, ibuf, data);
- for (int n = 0; n < numDataElements; n++) {
- idata[idx++] = ibuf[n];
+ for (int i = y; i < y + h; i++) {
+ for (int j = x; j < x + w; j++) {
+ ibuf = (int[])getDataElements(j, i, ibuf, data);
+ for (int n = 0; n < numDataElements; n++) {
+ idata[idx++] = ibuf[n];
+ }
}
}
- }
- obj = idata;
- break;
+ obj = idata;
+ break;
- case DataBuffer.TYPE_FLOAT:
- float fdata[];
- float fbuf[] = null;
+ case DataBuffer.TYPE_FLOAT:
+ float fdata[];
+ float fbuf[] = null;
- if (obj == null) {
- fdata = new float[numDataElements * w * h];
- } else {
- fdata = (float[]) obj;
- }
+ if (obj == null) {
+ fdata = new float[numDataElements * w * h];
+ } else {
+ fdata = (float[])obj;
+ }
- for (int i = y; i < y + h; i++) {
- for (int j = x; j < x + w; j++) {
- fbuf = (float[]) getDataElements(j, i, fbuf, data);
- for (int n = 0; n < numDataElements; n++) {
- fdata[idx++] = fbuf[n];
+ for (int i = y; i < y + h; i++) {
+ for (int j = x; j < x + w; j++) {
+ fbuf = (float[])getDataElements(j, i, fbuf, data);
+ for (int n = 0; n < numDataElements; n++) {
+ fdata[idx++] = fbuf[n];
+ }
}
}
- }
- obj = fdata;
- break;
+ obj = fdata;
+ break;
- case DataBuffer.TYPE_DOUBLE:
- double ddata[];
- double dbuf[] = null;
+ case DataBuffer.TYPE_DOUBLE:
+ double ddata[];
+ double dbuf[] = null;
- if (obj == null) {
- ddata = new double[numDataElements * w * h];
- } else {
- ddata = (double[]) obj;
- }
+ if (obj == null) {
+ ddata = new double[numDataElements * w * h];
+ } else {
+ ddata = (double[])obj;
+ }
- for (int i = y; i < y + h; i++) {
- for (int j = x; j < x + w; j++) {
- dbuf = (double[]) getDataElements(j, i, dbuf, data);
- for (int n = 0; n < numDataElements; n++) {
- ddata[idx++] = dbuf[n];
+ for (int i = y; i < y + h; i++) {
+ for (int j = x; j < x + w; j++) {
+ dbuf = (double[])getDataElements(j, i, dbuf, data);
+ for (int n = 0; n < numDataElements; n++) {
+ ddata[idx++] = dbuf[n];
+ }
}
}
- }
- obj = ddata;
- break;
+ obj = ddata;
+ break;
}
@@ -244,140 +258,145 @@ public abstract class SampleModel {
}
/**
- * Sets the data for a single pixel in the specified DataBuffer
- * from a primitive array with one of the following types:
- * DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT,
- * DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT,
- * DataBuffer.TYPE_FLOAT, or DataBuffer.TYPE_DOUBLE.
+ * Sets the data for a single pixel in the specified DataBuffer from a
+ * primitive array with one of the following types: DataBuffer.TYPE_BYTE,
+ * DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT,
+ * DataBuffer.TYPE_FLOAT, or DataBuffer.TYPE_DOUBLE.
*
- * @param x the X coordinate of pixel.
- * @param y the Y coordinate of pixel.
- * @param obj the Object - the array of primitive pixel data
- * to be set.
- * @param data the image data.
+ * @param x
+ * the X coordinate of pixel.
+ * @param y
+ * the Y coordinate of pixel.
+ * @param obj
+ * the Object - the array of primitive pixel data to be set.
+ * @param data
+ * the image data.
*/
- public abstract void setDataElements(int x, int y, Object obj,
- DataBuffer data);
+ public abstract void setDataElements(int x, int y, Object obj, DataBuffer data);
/**
- * Sets the data elements for a rectangular area of pixels in
- * the specified DataBuffer from a primitive array with one of
- * the following types: DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT,
- * DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT,
- * DataBuffer.TYPE_FLOAT, or DataBuffer.TYPE_DOUBLE.
+ * Sets the data elements for a rectangular area of pixels in the specified
+ * DataBuffer from a primitive array with one of the following types:
+ * DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT,
+ * DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, or DataBuffer.TYPE_DOUBLE.
*
- * @param x the X coordinate of the specified rectangular area.
- * @param y the Y coordinate of the specified rectangular area.
- * @param w the width of rectangle.
- * @param h the height of rectangle.
- * @param obj the Object - the array of primitive pixel data
- * to be set.
- * @param data the image data.
+ * @param x
+ * the X coordinate of the specified rectangular area.
+ * @param y
+ * the Y coordinate of the specified rectangular area.
+ * @param w
+ * the width of rectangle.
+ * @param h
+ * the height of rectangle.
+ * @param obj
+ * the Object - the array of primitive pixel data to be set.
+ * @param data
+ * the image data.
*/
- public void setDataElements(int x, int y, int w, int h, Object obj,
- DataBuffer data) {
+ public void setDataElements(int x, int y, int w, int h, Object obj, DataBuffer data) {
int numDataElements = getNumDataElements();
int idx = 0;
switch (getTransferType()) {
- case DataBuffer.TYPE_BYTE:
- byte bbuf[] = new byte[numDataElements];
- for (int i = y; i < y + h; i++) {
- for (int j = x; j < x + w; j++) {
- for (int n = 0; n < numDataElements; n++) {
- bbuf[n] = ((byte[]) obj)[idx++];
+ case DataBuffer.TYPE_BYTE:
+ byte bbuf[] = new byte[numDataElements];
+ for (int i = y; i < y + h; i++) {
+ for (int j = x; j < x + w; j++) {
+ for (int n = 0; n < numDataElements; n++) {
+ bbuf[n] = ((byte[])obj)[idx++];
+ }
+ setDataElements(j, i, bbuf, data);
}
- setDataElements(j, i, bbuf, data);
}
- }
- break;
-
- case DataBuffer.TYPE_SHORT:
- case DataBuffer.TYPE_USHORT:
- short sbuf[] = new short[numDataElements];
- for (int i = y; i < y + h; i++) {
- for (int j = x; j < x + w; j++) {
- for (int n = 0; n < numDataElements; n++) {
- sbuf[n] = ((short[]) obj)[idx++];
+ break;
+
+ case DataBuffer.TYPE_SHORT:
+ case DataBuffer.TYPE_USHORT:
+ short sbuf[] = new short[numDataElements];
+ for (int i = y; i < y + h; i++) {
+ for (int j = x; j < x + w; j++) {
+ for (int n = 0; n < numDataElements; n++) {
+ sbuf[n] = ((short[])obj)[idx++];
+ }
+ setDataElements(j, i, sbuf, data);
}
- setDataElements(j, i, sbuf, data);
}
- }
- break;
-
- case DataBuffer.TYPE_INT:
- int ibuf[] = new int[numDataElements];
- for (int i = y; i < y + h; i++) {
- for (int j = x; j < x + w; j++) {
- for (int n = 0; n < numDataElements; n++) {
- ibuf[n] = ((int[]) obj)[idx++];
+ break;
+
+ case DataBuffer.TYPE_INT:
+ int ibuf[] = new int[numDataElements];
+ for (int i = y; i < y + h; i++) {
+ for (int j = x; j < x + w; j++) {
+ for (int n = 0; n < numDataElements; n++) {
+ ibuf[n] = ((int[])obj)[idx++];
+ }
+ setDataElements(j, i, ibuf, data);
}
- setDataElements(j, i, ibuf, data);
}
- }
- break;
-
- case DataBuffer.TYPE_FLOAT:
- float fbuf[] = new float[numDataElements];
- for (int i = y; i < y + h; i++) {
- for (int j = x; j < x + w; j++) {
- for (int n = 0; n < numDataElements; n++) {
- fbuf[n] = ((float[]) obj)[idx++];
+ break;
+
+ case DataBuffer.TYPE_FLOAT:
+ float fbuf[] = new float[numDataElements];
+ for (int i = y; i < y + h; i++) {
+ for (int j = x; j < x + w; j++) {
+ for (int n = 0; n < numDataElements; n++) {
+ fbuf[n] = ((float[])obj)[idx++];
+ }
+ setDataElements(j, i, fbuf, data);
}
- setDataElements(j, i, fbuf, data);
}
- }
- break;
-
- case DataBuffer.TYPE_DOUBLE:
- double dbuf[] = new double[numDataElements];
- for (int i = y; i < y + h; i++) {
- for (int j = x; j < x + w; j++) {
- for (int n = 0; n < numDataElements; n++) {
- dbuf[n] = ((double[]) obj)[idx++];
+ break;
+
+ case DataBuffer.TYPE_DOUBLE:
+ double dbuf[] = new double[numDataElements];
+ for (int i = y; i < y + h; i++) {
+ for (int j = x; j < x + w; j++) {
+ for (int n = 0; n < numDataElements; n++) {
+ dbuf[n] = ((double[])obj)[idx++];
+ }
+ setDataElements(j, i, dbuf, data);
}
- setDataElements(j, i, dbuf, data);
}
- }
- break;
+ break;
}
}
/**
- * Creates a new SampleModel with the specified bands of
- * this SampleModel.
+ * Creates a new SampleModel with the specified bands of this SampleModel.
*
- * @param bands the array of bands from this SampleModel.
- *
- * @return the SampleModel with the specified bands of
- * this SampleModel.
+ * @param bands
+ * the array of bands from this SampleModel.
+ * @return the SampleModel with the specified bands of this SampleModel.
*/
public abstract SampleModel createSubsetSampleModel(int bands[]);
/**
- * Creates the SampleModel which has the same data as in
- * this SampleModel with a different width and height.
- *
- * @param a0 the width of the image data.
- * @param a1 the height of the image data.
+ * Creates the SampleModel which has the same data as in this SampleModel
+ * with a different width and height.
*
- * @return the SampleModel which has the same data as in
- * this SampleModel with a different width and height.
+ * @param a0
+ * the width of the image data.
+ * @param a1
+ * the height of the image data.
+ * @return the SampleModel which has the same data as in this SampleModel
+ * with a different width and height.
*/
public abstract SampleModel createCompatibleSampleModel(int a0, int a1);
/**
- * Gets the samples of the specified pixel as a int array.
+ * Gets the samples of the specified pixel as an integer array.
*
- * @param x the X coordinate of pixel.
- * @param y the Y coordinate of pixel.
- * @param iArray the int array where result will be stored.
- * @param data the image data.
- *
- * @return the int array with the samples of the specified pixel.
-
+ * @param x
+ * the X coordinate of pixel.
+ * @param y
+ * the Y coordinate of pixel.
+ * @param iArray
+ * the integer array where result will be stored.
+ * @param data
+ * the image data.
+ * @return the integer array with the samples of the specified pixel.
*/
public int[] getPixel(int x, int y, int iArray[], DataBuffer data) {
if (x < 0 || y < 0 || x >= this.width || y >= this.height) {
@@ -400,12 +419,16 @@ public abstract class SampleModel {
}
/**
- * Sets a pixel of the DataBuffer from a int array of samples.
+ * Sets a pixel of the DataBuffer from a integer array of samples.
*
- * @param x the X coordinate of pixel.
- * @param y the Y coordinate of pixel.
- * @param iArray the int array.
- * @param data the image data.
+ * @param x
+ * the X coordinate of pixel.
+ * @param y
+ * the Y coordinate of pixel.
+ * @param iArray
+ * the integer array.
+ * @param data
+ * the image data.
*/
public void setPixel(int x, int y, int iArray[], DataBuffer data) {
if (x < 0 || y < 0 || x >= this.width || y >= this.height) {
@@ -420,11 +443,14 @@ public abstract class SampleModel {
/**
* Gets the samples of the specified pixel as a float array.
*
- * @param x the X coordinate of pixel.
- * @param y the Y coordinate of pixel.
- * @param fArray the float array where result will be stored.
- * @param data the image data.
- *
+ * @param x
+ * the X coordinate of pixel.
+ * @param y
+ * the Y coordinate of pixel.
+ * @param fArray
+ * the float array where result will be stored.
+ * @param data
+ * the image data.
* @return the float array with the samples of the specified pixel.
*/
public float[] getPixel(int x, int y, float fArray[], DataBuffer data) {
@@ -448,12 +474,16 @@ public abstract class SampleModel {
}
/**
- * Sets a pixel of the DataBuffer from a float array of samples.
+ * Sets a pixel of the DataBuffer from a float array of samples.
*
- * @param x the X coordinate of pixel.
- * @param y the Y coordinate of pixel.
- * @param fArray the float array.
- * @param data the image data.
+ * @param x
+ * the X coordinate of pixel.
+ * @param y
+ * the Y coordinate of pixel.
+ * @param fArray
+ * the float array.
+ * @param data
+ * the image data.
*/
public void setPixel(int x, int y, float fArray[], DataBuffer data) {
if (x < 0 || y < 0 || x >= this.width || y >= this.height) {
@@ -468,11 +498,14 @@ public abstract class SampleModel {
/**
* Gets the samples of the specified pixel as a double array.
*
- * @param x the X coordinate of pixel.
- * @param y the Y coordinate of pixel.
- * @param dArray the double array where result will be stored.
- * @param data the image data.
- *
+ * @param x
+ * the X coordinate of pixel.
+ * @param y
+ * the Y coordinate of pixel.
+ * @param dArray
+ * the double array where result will be stored.
+ * @param data
+ * the image data.
* @return the double array with the samples of the specified pixel.
*/
public double[] getPixel(int x, int y, double dArray[], DataBuffer data) {
@@ -496,12 +529,16 @@ public abstract class SampleModel {
}
/**
- * Sets a pixel of the DataBuffer from a double array of samples.
+ * Sets a pixel of the DataBuffer from a double array of samples.
*
- * @param x the X coordinate of pixel.
- * @param y the Y coordinate of pixel.
- * @param dArray the double array.
- * @param data the image data.
+ * @param x
+ * the X coordinate of pixel.
+ * @param y
+ * the Y coordinate of pixel.
+ * @param dArray
+ * the double array.
+ * @param data
+ * the image data.
*/
public void setPixel(int x, int y, double dArray[], DataBuffer data) {
if (x < 0 || y < 0 || x >= this.width || y >= this.height) {
@@ -514,43 +551,49 @@ public abstract class SampleModel {
}
/**
- * Gets the sample of a specified band for the specified pixel
- * as an int.
- *
- * @param x the X coordinate of pixel.
- * @param y the Y coordinate of pixel.
- * @param b the specified band.
- * @param data the image data.
+ * Gets the sample of a specified band for the specified pixel as an
+ * integer.
*
+ * @param x
+ * the X coordinate of pixel.
+ * @param y
+ * the Y coordinate of pixel.
+ * @param b
+ * the specified band.
+ * @param data
+ * the image data.
* @return the sample of a specified band for the specified pixel.
*/
public abstract int getSample(int x, int y, int b, DataBuffer data);
/**
- * Gets the sample of a specified band for the specified pixel
- * as a float.
- *
- * @param x the X coordinate of pixel.
- * @param y the Y coordinate of pixel.
- * @param b the specified band.
- * @param data the image data.
+ * Gets the sample of a specified band for the specified pixel as a float.
*
+ * @param x
+ * the X coordinate of pixel.
+ * @param y
+ * the Y coordinate of pixel.
+ * @param b
+ * the specified band.
+ * @param data
+ * the image data.
* @return the sample of a specified band for the specified pixel.
-
*/
public float getSampleFloat(int x, int y, int b, DataBuffer data) {
return getSample(x, y, b, data);
}
/**
- * Gets the sample of a specified band for the specified pixel
- * as a double.
- *
- * @param x the X coordinate of pixel.
- * @param y the Y coordinate of pixel.
- * @param b the specified band.
- * @param data the image data.
+ * Gets the sample of a specified band for the specified pixel as a double.
*
+ * @param x
+ * the X coordinate of pixel.
+ * @param y
+ * the Y coordinate of pixel.
+ * @param b
+ * the specified band.
+ * @param data
+ * the image data.
* @return the sample of a specified band for the specified pixel.
*/
public double getSampleDouble(int x, int y, int b, DataBuffer data) {
@@ -558,21 +601,25 @@ public abstract class SampleModel {
}
/**
- * Gets the samples of the specified rectangular area of pixels
- * as a int array.
- *
- * @param x the X coordinate of the rectangle of pixels.
- * @param y the Y coordinate of the rectangle of pixels.
- * @param w the width of the rectangle of pixels.
- * @param h the height of the rectangle of pixels.
- * @param iArray the int array where result will be stored.
- * @param data the image data.
+ * Gets the samples of the specified rectangular area of pixels as an
+ * integer array.
*
- * @return the int array with the samples of the specified
- * rectangular area of pixels.
+ * @param x
+ * the X coordinate of the rectangle of pixels.
+ * @param y
+ * the Y coordinate of the rectangle of pixels.
+ * @param w
+ * the width of the rectangle of pixels.
+ * @param h
+ * the height of the rectangle of pixels.
+ * @param iArray
+ * the integer array where result will be stored.
+ * @param data
+ * the image data.
+ * @return the integer array with the samples of the specified rectangular
+ * area of pixels.
*/
- public int[] getPixels(int x, int y, int w, int h, int iArray[],
- DataBuffer data) {
+ public int[] getPixels(int x, int y, int w, int h, int iArray[], DataBuffer data) {
if (x < 0 || y < 0 || x + w > this.width || y + h > this.height) {
// awt.63=Coordinates are not in bounds
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
@@ -597,18 +644,23 @@ public abstract class SampleModel {
}
/**
- * Sets all of the samples for a rectangular area of pixels of the DataBuffer
- * from an int array.
+ * Sets all of the samples for a rectangular area of pixels of the
+ * DataBuffer from an integer array.
*
- * @param x the X coordinate of the rectangle of pixels.
- * @param y the Y coordinate of the rectangle of pixels.
- * @param w the width of the rectangle of pixels.
- * @param h the height of the rectangle of pixels.
- * @param iArray the int array.
- * @param data the image data.
+ * @param x
+ * the X coordinate of the rectangle of pixels.
+ * @param y
+ * the Y coordinate of the rectangle of pixels.
+ * @param w
+ * the width of the rectangle of pixels.
+ * @param h
+ * the height of the rectangle of pixels.
+ * @param iArray
+ * the integer array.
+ * @param data
+ * the image data.
*/
- public void setPixels(int x, int y, int w, int h, int iArray[],
- DataBuffer data) {
+ public void setPixels(int x, int y, int w, int h, int iArray[], DataBuffer data) {
if (x < 0 || y < 0 || x + w > this.width || y + h > this.height) {
// awt.63=Coordinates are not in bounds
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
@@ -624,21 +676,25 @@ public abstract class SampleModel {
}
/**
- * Gets the samples of the specified rectangular area of pixels
- * as a float array.
+ * Gets the samples of the specified rectangular area of pixels as a float
+ * array.
*
- * @param x the X coordinate of the rectangle of pixels.
- * @param y the Y coordinate of the rectangle of pixels.
- * @param w the width of the rectangle of pixels.
- * @param h the height of the rectangle of pixels.
- * @param fArray the float array where result will be stored.
- * @param data the image data.
- *
- * @return the float array with the samples of the specified
- * rectangular area of pixels.
+ * @param x
+ * the X coordinate of the rectangle of pixels.
+ * @param y
+ * the Y coordinate of the rectangle of pixels.
+ * @param w
+ * the width of the rectangle of pixels.
+ * @param h
+ * the height of the rectangle of pixels.
+ * @param fArray
+ * the float array where result will be stored.
+ * @param data
+ * the image data.
+ * @return the float array with the samples of the specified rectangular
+ * area of pixels.
*/
- public float[] getPixels(int x, int y, int w, int h, float fArray[],
- DataBuffer data) {
+ public float[] getPixels(int x, int y, int w, int h, float fArray[], DataBuffer data) {
if (x < 0 || y < 0 || x + w > this.width || y + h > this.height) {
// awt.63=Coordinates are not in bounds
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
@@ -663,18 +719,23 @@ public abstract class SampleModel {
}
/**
- * Sets all of the samples for a rectangular area of pixels of the DataBuffer
- * from a float array.
+ * Sets all of the samples for a rectangular area of pixels of the
+ * DataBuffer from a float array.
*
- * @param x the X coordinate of the rectangle of pixels.
- * @param y the Y coordinate of the rectangle of pixels.
- * @param w the width of the rectangle of pixels.
- * @param h the height of the rectangle of pixels.
- * @param fArray the float array.
- * @param data the image data.
+ * @param x
+ * the X coordinate of the rectangle of pixels.
+ * @param y
+ * the Y coordinate of the rectangle of pixels.
+ * @param w
+ * the width of the rectangle of pixels.
+ * @param h
+ * the height of the rectangle of pixels.
+ * @param fArray
+ * the float array.
+ * @param data
+ * the image data.
*/
- public void setPixels(int x, int y, int w, int h, float fArray[],
- DataBuffer data) {
+ public void setPixels(int x, int y, int w, int h, float fArray[], DataBuffer data) {
if (x < 0 || y < 0 || x + w > this.width || y + h > this.height) {
// awt.63=Coordinates are not in bounds
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
@@ -690,21 +751,25 @@ public abstract class SampleModel {
}
/**
- * Gets the samples of the specified rectangular area of pixels
- * as a double array.
- *
- * @param x the X coordinate of the rectangle of pixels.
- * @param y the Y coordinate of the rectangle of pixels.
- * @param w the width of the rectangle of pixels.
- * @param h the height of the rectangle of pixels.
- * @param dArray the double array where result will be stored.
- * @param data the image data.
+ * Gets the samples of the specified rectangular area of pixels as a double
+ * array.
*
- * @return the double array with the samples of the specified
- * rectangular area of pixels.
+ * @param x
+ * the X coordinate of the rectangle of pixels.
+ * @param y
+ * the Y coordinate of the rectangle of pixels.
+ * @param w
+ * the width of the rectangle of pixels.
+ * @param h
+ * the height of the rectangle of pixels.
+ * @param dArray
+ * the double array where result will be stored.
+ * @param data
+ * the image data.
+ * @return the double array with the samples of the specified rectangular
+ * area of pixels.
*/
- public double[] getPixels(int x, int y, int w, int h, double dArray[],
- DataBuffer data) {
+ public double[] getPixels(int x, int y, int w, int h, double dArray[], DataBuffer data) {
if (x < 0 || y < 0 || x + w > this.width || y + h > this.height) {
// awt.63=Coordinates are not in bounds
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
@@ -729,18 +794,23 @@ public abstract class SampleModel {
}
/**
- * Sets all of the samples for a rectangular area of pixels of the DataBuffer
- * from a double array.
+ * Sets all of the samples for a rectangular area of pixels of the
+ * DataBuffer from a double array.
*
- * @param x the X coordinate of the rectangle of pixels.
- * @param y the Y coordinate of the rectangle of pixels.
- * @param w the width of the rectangle of pixels.
- * @param h the height of the rectangle of pixels.
- * @param dArray the double array.
- * @param data the image data.
+ * @param x
+ * the X coordinate of the rectangle of pixels.
+ * @param y
+ * the Y coordinate of the rectangle of pixels.
+ * @param w
+ * the width of the rectangle of pixels.
+ * @param h
+ * the height of the rectangle of pixels.
+ * @param dArray
+ * the double array.
+ * @param data
+ * the image data.
*/
- public void setPixels(int x, int y, int w, int h, double dArray[],
- DataBuffer data) {
+ public void setPixels(int x, int y, int w, int h, double dArray[], DataBuffer data) {
if (x < 0 || y < 0 || x + w > this.width || y + h > this.height) {
// awt.63=Coordinates are not in bounds
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
@@ -756,34 +826,44 @@ public abstract class SampleModel {
}
/**
- * Sets a sample of the specified band for the specified pixel
- * in the DataBuffer as int value.
+ * Sets a sample of the specified band for the specified pixel in the
+ * DataBuffer as integer value.
*
- * @param x the X coordinate of the pixel.
- * @param y the Y coordinate of the pixel.
- * @param b the specified band.
- * @param s the sample as an int value.
- * @param data the image data.
+ * @param x
+ * the X coordinate of the pixel.
+ * @param y
+ * the Y coordinate of the pixel.
+ * @param b
+ * the specified band.
+ * @param s
+ * the sample as an integer value.
+ * @param data
+ * the image data.
*/
public abstract void setSample(int x, int y, int b, int s, DataBuffer data);
/**
- * Gets the samples of a specified band for a specified rectangular
- * area of pixels as a int array.
- *
- * @param x the X coordinate of the rectangle.
- * @param y the Y coordinate of the rectangle.
- * @param w the width of the rectangle.
- * @param h the height of the rectangle.
- * @param b the specified band.
- * @param iArray the int array where result will be stored.
- * @param data the image data.
+ * Gets the samples of a specified band for a specified rectangular area of
+ * pixels as a integer array.
*
- * @return the samples of a specified band for a specified rectangular
- * area of pixels.
+ * @param x
+ * the X coordinate of the rectangle.
+ * @param y
+ * the Y coordinate of the rectangle.
+ * @param w
+ * the width of the rectangle.
+ * @param h
+ * the height of the rectangle.
+ * @param b
+ * the specified band.
+ * @param iArray
+ * the integer array where result will be stored.
+ * @param data
+ * the image data.
+ * @return the samples of a specified band for a specified rectangular area
+ * of pixels.
*/
- public int[] getSamples(int x, int y, int w, int h, int b, int iArray[],
- DataBuffer data) {
+ public int[] getSamples(int x, int y, int w, int h, int b, int iArray[], DataBuffer data) {
int samples[];
int idx = 0;
@@ -803,19 +883,25 @@ public abstract class SampleModel {
}
/**
- * Sets the samples from an int array in the specified band for
- * the specified rectangle of pixels.
+ * Sets the samples from an integer array in the specified band for the
+ * specified rectangle of pixels.
*
- * @param x the X coordinate of the rectangle.
- * @param y the Y coordinate of the rectangle.
- * @param w the width of the rectangle.
- * @param h the height of the rectangle.
- * @param b the specified band.
- * @param iArray the int array.
- * @param data the image data.
+ * @param x
+ * the X coordinate of the rectangle.
+ * @param y
+ * the Y coordinate of the rectangle.
+ * @param w
+ * the width of the rectangle.
+ * @param h
+ * the height of the rectangle.
+ * @param b
+ * the specified band.
+ * @param iArray
+ * the integer array.
+ * @param data
+ * the image data.
*/
- public void setSamples(int x, int y, int w, int h, int b, int iArray[],
- DataBuffer data) {
+ public void setSamples(int x, int y, int w, int h, int b, int iArray[], DataBuffer data) {
int idx = 0;
for (int i = y; i < y + h; i++) {
for (int j = x; j < x + w; j++) {
@@ -825,22 +911,27 @@ public abstract class SampleModel {
}
/**
- * Gets the samples of a specified band for a specified rectangular
- * area of pixels as a float array.
+ * Gets the samples of a specified band for a specified rectangular area of
+ * pixels as a float array.
*
- * @param x the X coordinate of the rectangle.
- * @param y the Y coordinate of the rectangle.
- * @param w the width of the rectangle.
- * @param h the height of the rectangle.
- * @param b the specified band.
- * @param fArray the float array where result will be stored.
- * @param data the image data.
- *
- * @return the samples of a specified band for a specified rectangular
- * area of pixels.
+ * @param x
+ * the X coordinate of the rectangle.
+ * @param y
+ * the Y coordinate of the rectangle.
+ * @param w
+ * the width of the rectangle.
+ * @param h
+ * the height of the rectangle.
+ * @param b
+ * the specified band.
+ * @param fArray
+ * the float array where result will be stored.
+ * @param data
+ * the image data.
+ * @return the samples of a specified band for a specified rectangular area
+ * of pixels.
*/
- public float[] getSamples(int x, int y, int w, int h, int b,
- float fArray[], DataBuffer data) {
+ public float[] getSamples(int x, int y, int w, int h, int b, float fArray[], DataBuffer data) {
float samples[];
int idx = 0;
@@ -860,19 +951,25 @@ public abstract class SampleModel {
}
/**
- * Sets the samples from an float array in the specified band for
- * the specified rectangle of pixels.
+ * Sets the samples from an float array in the specified band for the
+ * specified rectangle of pixels.
*
- * @param x the X coordinate of the rectangle.
- * @param y the Y coordinate of the rectangle.
- * @param w the width of the rectangle.
- * @param h the height of the rectangle.
- * @param b the specified band.
- * @param fArray the float array
- * @param data the image data.
+ * @param x
+ * the X coordinate of the rectangle.
+ * @param y
+ * the Y coordinate of the rectangle.
+ * @param w
+ * the width of the rectangle.
+ * @param h
+ * the height of the rectangle.
+ * @param b
+ * the specified band.
+ * @param fArray
+ * the float array.
+ * @param data
+ * the image data.
*/
- public void setSamples(int x, int y, int w, int h, int b, float fArray[],
- DataBuffer data) {
+ public void setSamples(int x, int y, int w, int h, int b, float fArray[], DataBuffer data) {
int idx = 0;
for (int i = y; i < y + h; i++) {
for (int j = x; j < x + w; j++) {
@@ -882,22 +979,27 @@ public abstract class SampleModel {
}
/**
- * Gets the samples of a specified band for a specified rectangular
- * area of pixels as a double array.
- *
- * @param x the X coordinate of the rectangle.
- * @param y the Y coordinate of the rectangle.
- * @param w the width of the rectangle.
- * @param h the height of the rectangle.
- * @param b the specified band.
- * @param dArray the double array where result will be stored.
- * @param data the image data.
+ * Gets the samples of a specified band for a specified rectangular area of
+ * pixels as a double array.
*
- * @return the samples of a specified band for a specified rectangular
- * area of pixels.
+ * @param x
+ * the X coordinate of the rectangle.
+ * @param y
+ * the Y coordinate of the rectangle.
+ * @param w
+ * the width of the rectangle.
+ * @param h
+ * the height of the rectangle.
+ * @param b
+ * the specified band.
+ * @param dArray
+ * the double array where result will be stored.
+ * @param data
+ * the image data.
+ * @return the samples of a specified band for a specified rectangular area
+ * of pixels.
*/
- public double[] getSamples(int x, int y, int w, int h, int b,
- double dArray[], DataBuffer data) {
+ public double[] getSamples(int x, int y, int w, int h, int b, double dArray[], DataBuffer data) {
double samples[];
int idx = 0;
@@ -917,19 +1019,25 @@ public abstract class SampleModel {
}
/**
- * Sets the samples from an double array in the specified band for
- * the specified rectangle of pixels.
+ * Sets the samples from an double array in the specified band for the
+ * specified rectangle of pixels.
*
- * @param x the X coordinate of the rectangle.
- * @param y the Y coordinate of the rectangle.
- * @param w the width of the rectangle.
- * @param h the height of the rectangle.
- * @param b the specified band.
- * @param dArray the double array
- * @param data the image data.
+ * @param x
+ * the X coordinate of the rectangle.
+ * @param y
+ * the Y coordinate of the rectangle.
+ * @param w
+ * the width of the rectangle.
+ * @param h
+ * the height of the rectangle.
+ * @param b
+ * the specified band.
+ * @param dArray
+ * the double array.
+ * @param data
+ * the image data.
*/
- public void setSamples(int x, int y, int w, int h, int b, double dArray[],
- DataBuffer data) {
+ public void setSamples(int x, int y, int w, int h, int b, double dArray[], DataBuffer data) {
int idx = 0;
for (int i = y; i < y + h; i++) {
for (int j = x; j < x + w; j++) {
@@ -939,53 +1047,62 @@ public abstract class SampleModel {
}
/**
- * Sets a sample of the specified band for the specified pixel
- * in the DataBuffer as float value.
+ * Sets a sample of the specified band for the specified pixel in the
+ * DataBuffer as float value.
*
- * @param x the X coordinate of the pixel.
- * @param y the Y coordinate of the pixel.
- * @param b the specified band.
- * @param s the sample as float value.
- * @param data the image data.
+ * @param x
+ * the X coordinate of the pixel.
+ * @param y
+ * the Y coordinate of the pixel.
+ * @param b
+ * the specified band.
+ * @param s
+ * the sample as float value.
+ * @param data
+ * the image data.
*/
public void setSample(int x, int y, int b, float s, DataBuffer data) {
- setSample(x, y, b, (int) s, data);
+ setSample(x, y, b, (int)s, data);
}
/**
- * Sets a sample of the specified band for the specified pixel
- * in the DataBuffer as double value.
+ * Sets a sample of the specified band for the specified pixel in the
+ * DataBuffer as double value.
*
- * @param x the X coordinate of the pixel.
- * @param y the Y coordinate of the pixel.
- * @param b the specified band.
- * @param s the sample as double value.
- * @param data the image data.
+ * @param x
+ * the X coordinate of the pixel.
+ * @param y
+ * the Y coordinate of the pixel.
+ * @param b
+ * the specified band.
+ * @param s
+ * the sample as double value.
+ * @param data
+ * the image data.
*/
public void setSample(int x, int y, int b, double s, DataBuffer data) {
- setSample(x, y, b, (int) s, data);
+ setSample(x, y, b, (int)s, data);
}
/**
- * Creates a DataBuffer object which corresponds to the SampleModel.
- *
- * @return the DataBuffer object which corresponds to
- * the SampleModel.
+ * Creates a DataBuffer object which corresponds to the SampleModel.
+ *
+ * @return the DataBuffer object which corresponds to the SampleModel.
*/
public abstract DataBuffer createDataBuffer();
/**
* Gets the sample size in bits for the specified band.
*
- * @param band the specified band.
- *
+ * @param band
+ * the specified band.
* @return the sample size in bits for the specified band.
*/
public abstract int getSampleSize(int band);
/**
* Gets an array of the sample size in bits for all bands.
- *
+ *
* @return an array of the sample size in bits for all bands.
*/
public abstract int[] getSampleSize();
@@ -1000,10 +1117,9 @@ public abstract class SampleModel {
}
/**
- * Gets the transfer type used to transfer pixels via
- * the getDataElements and setDataElements methods.
- * Transfer type value can be one of the predefined type
- * from DataBuffer class or not.
+ * Gets the transfer type used to transfer pixels via the getDataElements
+ * and setDataElements methods. Transfer type value can be one of the
+ * predefined type from DataBuffer class or not.
*
* @return the transfer type.
*/
@@ -1012,20 +1128,18 @@ public abstract class SampleModel {
}
/**
- * Returns the number of data elements for pixel transfering
- * via the getDataElements and setDataElements methods.
+ * Returns the number of data elements for pixel transferring via the
+ * getDataElements and setDataElements methods.
*
- * @return the number of data elements for pixel transfering
- * via the getDataElements and setDataElements methods.
+ * @return the number of data elements for pixel transferring via the
+ * getDataElements and setDataElements methods.
*/
public abstract int getNumDataElements();
/**
- * Gets the number of bands in the image data of this
- * SampleModel object.
+ * Gets the number of bands in the image data of this SampleModel object.
*
- * @return the number of bands in the image data of this
- * SampleModel object.
+ * @return the number of bands in the image data of this SampleModel object.
*/
public final int getNumBands() {
return numBands;
@@ -1050,4 +1164,3 @@ public abstract class SampleModel {
}
}
-
diff --git a/awt/java/awt/image/ShortLookupTable.java b/awt/java/awt/image/ShortLookupTable.java
index 77c9c45..4319d58 100644
--- a/awt/java/awt/image/ShortLookupTable.java
+++ b/awt/java/awt/image/ShortLookupTable.java
@@ -23,27 +23,30 @@
package java.awt.image;
-
/**
- * The ShortLookupTable class provides provides functionality for
- * lookup operations, and is defined by an input short array for
- * bands or components of image and an offset value.
- * The offset value will be subtracted from the input values before
- * indexing the input arrays. The output of a lookup operation is
+ * The ShortLookupTable class provides provides functionality for lookup
+ * operations, and is defined by an input short array for bands or components of
+ * image and an offset value. The offset value will be subtracted from the input
+ * values before indexing the input arrays. The output of a lookup operation is
* represented as an unsigned short array.
+ *
+ * @since Android 1.0
*/
public class ShortLookupTable extends LookupTable {
-
- /** The data. */
+
+ /**
+ * The data.
+ */
private short data[][];
/**
- * Instantiates a new ShortLookupTable with the specified offset value
- * and the specified short array which represents lookup table for
- * all bands.
+ * Instantiates a new ShortLookupTable with the specified offset value and
+ * the specified short array which represents lookup table for all bands.
*
- * @param offset the offset value.
- * @param data the data array.
+ * @param offset
+ * the offset value.
+ * @param data
+ * the data array.
*/
public ShortLookupTable(int offset, short[] data) {
super(offset, 1);
@@ -53,12 +56,14 @@ public class ShortLookupTable extends LookupTable {
}
/**
- * Instantiates a new ShortLookupTable with the specified offset value
- * and the specified short array of arrays which represents lookup table
- * for each band.
+ * Instantiates a new ShortLookupTable with the specified offset value and
+ * the specified short array of arrays which represents lookup table for
+ * each band.
*
- * @param offset the offset value.
- * @param data the data array of arrays for each band.
+ * @param offset
+ * the offset value.
+ * @param data
+ * the data array of arrays for each band.
*/
public ShortLookupTable(int offset, short[][] data) {
super(offset, data.length);
@@ -70,9 +75,9 @@ public class ShortLookupTable extends LookupTable {
}
/**
- * Gets the lookup table of this ShortLookupTable object. If
- * this ShortLookupTable object has one short array for all bands,
- * the returned array length is one.
+ * Gets the lookup table of this ShortLookupTable object. If this
+ * ShortLookupTable object has one short array for all bands, the returned
+ * array length is one.
*
* @return the lookup table of this ShortLookupTable object.
*/
@@ -81,14 +86,14 @@ public class ShortLookupTable extends LookupTable {
}
/**
- * Returns a short array which contains samples of the specified
- * pixel which is translated with the lookup table of this
- * ShortLookupTable object. The resulted array is stored to
- * the dst array.
- *
- * @param src the source array.
- * @param dst the destination array where the result can be stored.
+ * Returns a short array which contains samples of the specified pixel which
+ * is translated with the lookup table of this ShortLookupTable object. The
+ * resulted array is stored to the dst array.
*
+ * @param src
+ * the source array.
+ * @param dst
+ * the destination array where the result can be stored.
* @return the short array of translated samples of a pixel.
*/
public short[] lookupPixel(short[] src, short[] dst) {
@@ -99,11 +104,11 @@ public class ShortLookupTable extends LookupTable {
int offset = getOffset();
if (getNumComponents() == 1) {
for (int i = 0; i < src.length; i++) {
- dst[i] = data[0][src[i]-offset];
+ dst[i] = data[0][src[i] - offset];
}
} else {
for (int i = 0; i < getNumComponents(); i++) {
- dst[i] = data[i][src[i]-offset];
+ dst[i] = data[i][src[i] - offset];
}
}
@@ -119,11 +124,11 @@ public class ShortLookupTable extends LookupTable {
int offset = getOffset();
if (getNumComponents() == 1) {
for (int i = 0; i < src.length; i++) {
- dst[i] = data[0][src[i]-offset];
+ dst[i] = data[0][src[i] - offset];
}
} else {
for (int i = 0; i < getNumComponents(); i++) {
- dst[i] = data[i][src[i]-offset];
+ dst[i] = data[i][src[i] - offset];
}
}
diff --git a/awt/java/awt/image/SinglePixelPackedSampleModel.java b/awt/java/awt/image/SinglePixelPackedSampleModel.java
index 311395a..69f3353 100644
--- a/awt/java/awt/image/SinglePixelPackedSampleModel.java
+++ b/awt/java/awt/image/SinglePixelPackedSampleModel.java
@@ -18,6 +18,7 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import java.util.Arrays;
@@ -25,39 +26,54 @@ import java.util.Arrays;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The SinglePixelPackedSampleModel class represents pixel data
- * where several samples combine to create a single pixel and
- * are stored in a single data array element. This class
- * supports TYPE_BYTE, TYPE_USHORT, TYPE_INT data types.
+ * The SinglePixelPackedSampleModel class represents pixel data where several
+ * samples combine to create a single pixel and are stored in a single data
+ * array element. This class supports TYPE_BYTE, TYPE_USHORT, TYPE_INT data
+ * types.
+ *
+ * @since Android 1.0
*/
public class SinglePixelPackedSampleModel extends SampleModel {
- /** The bit masks. */
+ /**
+ * The bit masks.
+ */
private int bitMasks[];
- /** The bit offsets. */
+ /**
+ * The bit offsets.
+ */
private int bitOffsets[];
- /** The bit sizes. */
+ /**
+ * The bit sizes.
+ */
private int bitSizes[];
- /** The scanline stride. */
+ /**
+ * The scanline stride.
+ */
private int scanlineStride;
- /** The max bit size. */
+ /**
+ * The max bit size.
+ */
private int maxBitSize;
/**
* Instantiates a new SinglePixelPackedSampleModel with the specified
* parameters.
*
- * @param dataType the data type of samples.
- * @param w the width of the image data.
- * @param h the height of the image data.
- * @param bitMasks the bit masks for all the bands.
+ * @param dataType
+ * the data type of samples.
+ * @param w
+ * the width of the image data.
+ * @param h
+ * the height of the image data.
+ * @param bitMasks
+ * the bit masks for all the bands.
*/
- public SinglePixelPackedSampleModel(int dataType, int w, int h,
- int bitMasks[]) {
+ public SinglePixelPackedSampleModel(int dataType, int w, int h, int bitMasks[]) {
this(dataType, w, h, w, bitMasks);
}
@@ -65,20 +81,24 @@ public class SinglePixelPackedSampleModel extends SampleModel {
* Instantiates a new SinglePixelPackedSampleModel with the specified
* parameters.
*
- * @param dataType the data type of the samples.
- * @param w the width of the image data.
- * @param h the height of the image data.
- * @param scanlineStride The scanline stride of the image data.
- * @param bitMasks the bit masks for all the bands.
+ * @param dataType
+ * the data type of the samples.
+ * @param w
+ * the width of the image data.
+ * @param h
+ * the height of the image data.
+ * @param scanlineStride
+ * the scanline stride of the image data.
+ * @param bitMasks
+ * the bit masks for all the bands.
*/
- public SinglePixelPackedSampleModel(int dataType, int w, int h,
- int scanlineStride, int bitMasks[]) {
+ public SinglePixelPackedSampleModel(int dataType, int w, int h, int scanlineStride,
+ int bitMasks[]) {
super(dataType, w, h, bitMasks.length);
- if (dataType != DataBuffer.TYPE_BYTE &&
- dataType != DataBuffer.TYPE_USHORT &&
- dataType != DataBuffer.TYPE_INT) {
+ if (dataType != DataBuffer.TYPE_BYTE && dataType != DataBuffer.TYPE_USHORT
+ && dataType != DataBuffer.TYPE_INT) {
// awt.61=Unsupported data type: {0}
throw new IllegalArgumentException(Messages.getString("awt.61", //$NON-NLS-1$
dataType));
@@ -109,8 +129,7 @@ public class SinglePixelPackedSampleModel extends SampleModel {
if (mask != 0) {
// awt.62=Wrong mask : {0}
- throw new IllegalArgumentException(Messages.getString(
- "awt.62", bitMasks[i])); //$NON-NLS-1$
+ throw new IllegalArgumentException(Messages.getString("awt.62", bitMasks[i])); //$NON-NLS-1$
}
}
@@ -132,39 +151,39 @@ public class SinglePixelPackedSampleModel extends SampleModel {
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
}
switch (getTransferType()) {
- case DataBuffer.TYPE_BYTE:
- byte bdata[];
- if (obj == null) {
- bdata = new byte[1];
- } else {
- bdata = (byte[]) obj;
- }
+ case DataBuffer.TYPE_BYTE:
+ byte bdata[];
+ if (obj == null) {
+ bdata = new byte[1];
+ } else {
+ bdata = (byte[])obj;
+ }
- bdata[0] = (byte) data.getElem(y * scanlineStride + x);
- obj = bdata;
- break;
- case DataBuffer.TYPE_USHORT:
- short sdata[];
- if (obj == null) {
- sdata = new short[1];
- } else {
- sdata = (short[]) obj;
- }
+ bdata[0] = (byte)data.getElem(y * scanlineStride + x);
+ obj = bdata;
+ break;
+ case DataBuffer.TYPE_USHORT:
+ short sdata[];
+ if (obj == null) {
+ sdata = new short[1];
+ } else {
+ sdata = (short[])obj;
+ }
- sdata[0] = (short) data.getElem(y * scanlineStride + x);
- obj = sdata;
- break;
- case DataBuffer.TYPE_INT:
- int idata[];
- if (obj == null) {
- idata = new int[1];
- } else {
- idata = (int[]) obj;
- }
+ sdata[0] = (short)data.getElem(y * scanlineStride + x);
+ obj = sdata;
+ break;
+ case DataBuffer.TYPE_INT:
+ int idata[];
+ if (obj == null) {
+ idata = new int[1];
+ } else {
+ idata = (int[])obj;
+ }
- idata[0] = data.getElem(y * scanlineStride + x);
- obj = idata;
- break;
+ idata[0] = data.getElem(y * scanlineStride + x);
+ obj = idata;
+ break;
}
return obj;
}
@@ -176,26 +195,26 @@ public class SinglePixelPackedSampleModel extends SampleModel {
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
}
switch (getTransferType()) {
- case DataBuffer.TYPE_BYTE:
- data.setElem(y * scanlineStride + x, ((byte[]) obj)[0] & 0xff);
- break;
- case DataBuffer.TYPE_USHORT:
- data.setElem(y * scanlineStride + x, ((short[]) obj)[0] & 0xffff);
- break;
- case DataBuffer.TYPE_INT:
- data.setElem(y * scanlineStride + x, ((int[]) obj)[0]);
- break;
+ case DataBuffer.TYPE_BYTE:
+ data.setElem(y * scanlineStride + x, ((byte[])obj)[0] & 0xff);
+ break;
+ case DataBuffer.TYPE_USHORT:
+ data.setElem(y * scanlineStride + x, ((short[])obj)[0] & 0xffff);
+ break;
+ case DataBuffer.TYPE_INT:
+ data.setElem(y * scanlineStride + x, ((int[])obj)[0]);
+ break;
}
}
/**
- * Compares this SinglePixelPackedSampleModel object with
- * the specified object.
- *
- * @param o the Object to be compared.
+ * Compares this SinglePixelPackedSampleModel object with the specified
+ * object.
*
- * @return true, if this SinglePixelPackedSampleModel object is
- * equal to the specified object, false otherwise.
+ * @param o
+ * the Object to be compared.
+ * @return true, if this SinglePixelPackedSampleModel object is equal to the
+ * specified object, false otherwise.
*/
@Override
public boolean equals(Object o) {
@@ -203,21 +222,20 @@ public class SinglePixelPackedSampleModel extends SampleModel {
return false;
}
- SinglePixelPackedSampleModel model = (SinglePixelPackedSampleModel) o;
- return this.width == model.width &&
- this.height == model.height &&
- this.numBands == model.numBands &&
- this.dataType == model.dataType &&
- Arrays.equals(this.bitMasks, model.bitMasks) &&
- Arrays.equals(this.bitOffsets, model.bitOffsets) &&
- Arrays.equals(this.bitSizes, model.bitSizes) &&
- this.scanlineStride == model.scanlineStride;
+ SinglePixelPackedSampleModel model = (SinglePixelPackedSampleModel)o;
+ return this.width == model.width && this.height == model.height
+ && this.numBands == model.numBands && this.dataType == model.dataType
+ && Arrays.equals(this.bitMasks, model.bitMasks)
+ && Arrays.equals(this.bitOffsets, model.bitOffsets)
+ && Arrays.equals(this.bitSizes, model.bitSizes)
+ && this.scanlineStride == model.scanlineStride;
}
@Override
public SampleModel createSubsetSampleModel(int bands[]) {
if (bands.length > this.numBands) {
- // awt.64=The number of the bands in the subset is greater than the number of bands in the sample model
+ // awt.64=The number of the bands in the subset is greater than the
+ // number of bands in the sample model
throw new RasterFormatException(Messages.getString("awt.64")); //$NON-NLS-1$
}
@@ -225,14 +243,13 @@ public class SinglePixelPackedSampleModel extends SampleModel {
for (int i = 0; i < bands.length; i++) {
masks[i] = this.bitMasks[bands[i]];
}
- return new SinglePixelPackedSampleModel(this.dataType, this.width,
- this.height, this.scanlineStride, masks);
+ return new SinglePixelPackedSampleModel(this.dataType, this.width, this.height,
+ this.scanlineStride, masks);
}
@Override
public SampleModel createCompatibleSampleModel(int w, int h) {
- return new SinglePixelPackedSampleModel(this.dataType, w, h,
- this.bitMasks);
+ return new SinglePixelPackedSampleModel(this.dataType, w, h, this.bitMasks);
}
@Override
@@ -277,10 +294,9 @@ public class SinglePixelPackedSampleModel extends SampleModel {
}
@Override
- public int[] getPixels(int x, int y, int w, int h, int iArray[],
- DataBuffer data) {
- if ((x < 0) || (y < 0) || ((long) x + (long) w > this.width)
- || ((long) y + (long) h > this.height)) {
+ public int[] getPixels(int x, int y, int w, int h, int iArray[], DataBuffer data) {
+ if ((x < 0) || (y < 0) || ((long)x + (long)w > this.width)
+ || ((long)y + (long)h > this.height)) {
// awt.63=Coordinates are not in bounds
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
}
@@ -306,13 +322,11 @@ public class SinglePixelPackedSampleModel extends SampleModel {
}
@Override
- public void setPixels(int x, int y, int w, int h, int iArray[],
- DataBuffer data) {
- if ((x < 0) || (y < 0) || ((long) x + (long) w > this.width)
- || ((long) y + (long) h > this.height)) {
+ public void setPixels(int x, int y, int w, int h, int iArray[], DataBuffer data) {
+ if ((x < 0) || (y < 0) || ((long)x + (long)w > this.width)
+ || ((long)y + (long)h > this.height)) {
// awt.63=Coordinates are not in bounds
- throw new ArrayIndexOutOfBoundsException(Messages
- .getString("awt.63")); //$NON-NLS-1$
+ throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
}
int idx = 0;
@@ -339,13 +353,11 @@ public class SinglePixelPackedSampleModel extends SampleModel {
}
@Override
- public int[] getSamples(int x, int y, int w, int h, int b, int iArray[],
- DataBuffer data) {
- if ((x < 0) || (y < 0) || ((long) x + (long) w > this.width)
- || ((long) y + (long) h > this.height)) {
+ public int[] getSamples(int x, int y, int w, int h, int b, int iArray[], DataBuffer data) {
+ if ((x < 0) || (y < 0) || ((long)x + (long)w > this.width)
+ || ((long)y + (long)h > this.height)) {
// awt.63=Coordinates are not in bounds
- throw new ArrayIndexOutOfBoundsException(Messages
- .getString("awt.63")); //$NON-NLS-1$
+ throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
}
int samples[];
@@ -367,10 +379,9 @@ public class SinglePixelPackedSampleModel extends SampleModel {
}
@Override
- public void setSamples(int x, int y, int w, int h, int b, int iArray[],
- DataBuffer data) {
- if ((x < 0) || (y < 0) || ((long) x + (long) w > this.width)
- || ((long) y + (long) h > this.height)) {
+ public void setSamples(int x, int y, int w, int h, int b, int iArray[], DataBuffer data) {
+ if ((x < 0) || (y < 0) || ((long)x + (long)w > this.width)
+ || ((long)y + (long)h > this.height)) {
// awt.63=Coordinates are not in bounds
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
}
@@ -389,15 +400,15 @@ public class SinglePixelPackedSampleModel extends SampleModel {
int size = (this.height - 1) * scanlineStride + width;
switch (this.dataType) {
- case DataBuffer.TYPE_BYTE:
- data = new DataBufferByte(size);
- break;
- case DataBuffer.TYPE_USHORT:
- data = new DataBufferUShort(size);
- break;
- case DataBuffer.TYPE_INT:
- data = new DataBufferInt(size);
- break;
+ case DataBuffer.TYPE_BYTE:
+ data = new DataBufferByte(size);
+ break;
+ case DataBuffer.TYPE_USHORT:
+ data = new DataBufferUShort(size);
+ break;
+ case DataBuffer.TYPE_INT:
+ data = new DataBufferInt(size);
+ break;
}
return data;
}
@@ -405,9 +416,10 @@ public class SinglePixelPackedSampleModel extends SampleModel {
/**
* Gets the offset of the specified pixel in the data array.
*
- * @param x the X coordinate of the specified pixel.
- * @param y the Y coordinate of the specified pixel.
- *
+ * @param x
+ * the X coordinate of the specified pixel.
+ * @param y
+ * the Y coordinate of the specified pixel.
* @return the offset of the specified pixel.
*/
public int getOffset(int x, int y) {
@@ -425,7 +437,7 @@ public class SinglePixelPackedSampleModel extends SampleModel {
}
/**
- * Gets an array of the bit offsets of the data array elements.
+ * Gets an array of the bit offsets of the data array elements.
*
* @return an array of the bit offsets.
*/
@@ -505,4 +517,3 @@ public class SinglePixelPackedSampleModel extends SampleModel {
}
}
-
diff --git a/awt/java/awt/image/TileObserver.java b/awt/java/awt/image/TileObserver.java
index 39ded02..7dd97e2 100644
--- a/awt/java/awt/image/TileObserver.java
+++ b/awt/java/awt/image/TileObserver.java
@@ -18,27 +18,32 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
-package java.awt.image;
+package java.awt.image;
/**
- * An asynchronous update interface for receiving notifications
- * about tile information when tiles of a WritableRenderedImage
- * become modifiable or unmodifiable.
+ * An asynchronous update interface for receiving notifications about tile
+ * information when tiles of a WritableRenderedImage become modifiable or
+ * unmodifiable.
+ *
+ * @since Android 1.0
*/
public interface TileObserver {
/**
- * This method is called when information about a tile
- * update is available.
+ * This method is called when information about a tile update is available.
*
- * @param source the source image.
- * @param tileX the X index of the tile.
- * @param tileY the Y index of the tile.
- * @param willBeWritable parameter which indicates whether
- * the tile will be grabbed for writing or be released.
+ * @param source
+ * the source image.
+ * @param tileX
+ * the X index of the tile.
+ * @param tileY
+ * the Y index of the tile.
+ * @param willBeWritable
+ * parameter which indicates whether the tile will be grabbed for
+ * writing or be released.
*/
- public void tileUpdate(WritableRenderedImage source, int tileX, int tileY, boolean willBeWritable);
+ public void tileUpdate(WritableRenderedImage source, int tileX, int tileY,
+ boolean willBeWritable);
}
-
diff --git a/awt/java/awt/image/VolatileImage.java b/awt/java/awt/image/VolatileImage.java
index 3b0cfb2..f24e866 100644
--- a/awt/java/awt/image/VolatileImage.java
+++ b/awt/java/awt/image/VolatileImage.java
@@ -18,6 +18,7 @@
* @author Alexey A. Petrenko
* @version $Revision$
*/
+
package java.awt.image;
import java.awt.Graphics;
@@ -28,35 +29,36 @@ import java.awt.ImageCapabilities;
import java.awt.Transparency;
/**
- * The VolatileImage abstract class represents an image which can lose
- * its contents at any point. VolatileImage objects are device specific.
- * This class provies methods for checking if operation of this image
- * are compatible for the GraphicsConfiguration.
+ * The VolatileImage abstract class represents an image which can lose its
+ * contents at any point. VolatileImage objects are device specific. This class
+ * provides methods for checking if operation of this image are compatible for
+ * the GraphicsConfiguration.
+ *
+ * @since Android 1.0
*/
public abstract class VolatileImage extends Image
- // Volatile image implements Transparency since 1.5
- implements Transparency {
-
- /**
- * The Constant IMAGE_INCOMPATIBLE indicates that this VolatileImage
- * is not applicable for the GraphicsConfiguration object.
+// Volatile image implements Transparency since 1.5
+ implements Transparency {
+
+ /**
+ * The Constant IMAGE_INCOMPATIBLE indicates that this VolatileImage is not
+ * applicable for the GraphicsConfiguration object.
*/
public static final int IMAGE_INCOMPATIBLE = 2;
- /**
- * The Constant IMAGE_OK indicates that VolatileImage is ready
- * for using.
+ /**
+ * The Constant IMAGE_OK indicates that VolatileImage is ready for using.
*/
public static final int IMAGE_OK = 0;
- /**
- * The Constant IMAGE_RESTORED indicates that VolatileImage
- * will be ready to use after restoring.
+ /**
+ * The Constant IMAGE_RESTORED indicates that VolatileImage will be ready to
+ * use after restoring.
*/
public static final int IMAGE_RESTORED = 1;
- /**
- * The transparency value of this image.
+ /**
+ * The transparency value of this image.
*/
protected int transparency = OPAQUE;
@@ -68,8 +70,8 @@ public abstract class VolatileImage extends Image
}
/**
- * Returns true if rendering data is lost during validating.
- * This method should be called after rendering operation of image.
+ * Returns true if rendering data is lost during validating. This method
+ * should be called after rendering operation of image.
*
* @return true, if contents lost during validating, false otherwise.
*/
@@ -98,8 +100,8 @@ public abstract class VolatileImage extends Image
public abstract int getHeight();
/**
- * Gets a BufferedImage representation of current VolatileImage that
- * won't be affected by any changes to this VolatileImage.
+ * Gets a BufferedImage representation of current VolatileImage that won't
+ * be affected by any changes to this VolatileImage.
*
* @return a BufferedImage representation of current VolatileImage.
*/
@@ -113,14 +115,14 @@ public abstract class VolatileImage extends Image
public abstract int getWidth();
/**
- * Validates the drawing surface of the image if the surface had been
- * lost and if the spacified GraphicsConfiguration object is
- * applicable to this image.
- *
- * @param gc GraphicsConfiguration object.
+ * Validates the drawing surface of the image if the surface had been lost
+ * and if the specified GraphicsConfiguration object is applicable to this
+ * image.
*
+ * @param gc
+ * the GraphicsConfiguration object.
* @return one of the image status constants: IMAGE_OK, IMAGE_RESTORED or
- * IMAGE_INCOMPATIBLE.
+ * IMAGE_INCOMPATIBLE.
*/
public abstract int validate(GraphicsConfiguration gc);
diff --git a/awt/java/awt/image/WritableRaster.java b/awt/java/awt/image/WritableRaster.java
index 0893915..51366ee 100644
--- a/awt/java/awt/image/WritableRaster.java
+++ b/awt/java/awt/image/WritableRaster.java
@@ -18,6 +18,7 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import java.awt.Point;
@@ -26,114 +27,136 @@ import java.awt.Rectangle;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The WritableRaster class provides functionality for
- * writing samples and pixel capabilities to the Raster.
+ * The WritableRaster class provides functionality for writing samples and pixel
+ * capabilities to the Raster.
+ *
+ * @since Android 1.0
*/
public class WritableRaster extends Raster {
/**
- * Instantiates a new WritableRaster object with the specified
- * SampleModel, DataBuffer, rectangular region and parent
- * WritableRaster.
+ * Instantiates a new WritableRaster object with the specified SampleModel,
+ * DataBuffer, rectangular region and parent WritableRaster.
*
- * @param sampleModel the specified SampleModel.
- * @param dataBuffer the specified DataBuffer.
- * @param aRegion the rectangular region which defines the new image bounds.
- * @param sampleModelTranslate this point defines the translation point
- * from the SampleModel to the new WritableRaster coordinates.
- * @param parent the parent of this WritableRaster.
+ * @param sampleModel
+ * the specified SampleModel.
+ * @param dataBuffer
+ * the specified DataBuffer.
+ * @param aRegion
+ * the rectangular region which defines the new image bounds.
+ * @param sampleModelTranslate
+ * this point defines the translation point from the SampleModel
+ * to the new WritableRaster coordinates.
+ * @param parent
+ * the parent of this WritableRaster.
*/
- protected WritableRaster(SampleModel sampleModel, DataBuffer dataBuffer,
- Rectangle aRegion, Point sampleModelTranslate,
- WritableRaster parent) {
+ protected WritableRaster(SampleModel sampleModel, DataBuffer dataBuffer, Rectangle aRegion,
+ Point sampleModelTranslate, WritableRaster parent) {
super(sampleModel, dataBuffer, aRegion, sampleModelTranslate, parent);
}
/**
- * Instantiates a new WritableRaster object with the specified
- * SampleModel which defines a layout of this WritableRaster and
- * DataBuffer objects which defines the image data.
+ * Instantiates a new WritableRaster object with the specified SampleModel
+ * which defines a layout of this WritableRaster and DataBuffer objects
+ * which defines the image data.
*
- * @param sampleModel the specified SampleModel.
- * @param dataBuffer the specified DataBuffer.
- * @param origin the point of origin.
+ * @param sampleModel
+ * the specified SampleModel.
+ * @param dataBuffer
+ * the specified DataBuffer.
+ * @param origin
+ * the point of origin.
*/
- protected WritableRaster(SampleModel sampleModel, DataBuffer dataBuffer,
- Point origin) {
- this(sampleModel, dataBuffer, new Rectangle(origin.x, origin.y,
- sampleModel.width, sampleModel.height), origin, null);
+ protected WritableRaster(SampleModel sampleModel, DataBuffer dataBuffer, Point origin) {
+ this(sampleModel, dataBuffer, new Rectangle(origin.x, origin.y, sampleModel.width,
+ sampleModel.height), origin, null);
}
/**
* Instantiates a new WritableRaster with the specified SampleModel.
*
- * @param sampleModel the specified SampleModel.
- * @param origin the origin.
+ * @param sampleModel
+ * the specified SampleModel.
+ * @param origin
+ * the origin.
*/
protected WritableRaster(SampleModel sampleModel, Point origin) {
- this(sampleModel, sampleModel.createDataBuffer(), new Rectangle(
- origin.x, origin.y, sampleModel.width, sampleModel.height),
- origin, null);
+ this(sampleModel, sampleModel.createDataBuffer(), new Rectangle(origin.x, origin.y,
+ sampleModel.width, sampleModel.height), origin, null);
}
/**
- * Sets the data for a single pixel from an input Object which
- * represents an array of primitive types: DataBuffer.TYPE_BYTE,
- * DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT,
- * DataBuffer.TYPE_FLOAT, or DataBuffer.TYPE_DOUBLE.
+ * Sets the data for a single pixel from an input Object which represents an
+ * array of primitive types: DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT,
+ * DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, or
+ * DataBuffer.TYPE_DOUBLE.
*
- * @param x the X coordinate of the pixel.
- * @param y the Y coordinate of the pixel.
- * @param inData the input data.
+ * @param x
+ * the X coordinate of the pixel.
+ * @param y
+ * the Y coordinate of the pixel.
+ * @param inData
+ * the input data.
*/
public void setDataElements(int x, int y, Object inData) {
- sampleModel.setDataElements(x - sampleModelTranslateX,
- y - sampleModelTranslateY, inData, dataBuffer);
+ sampleModel.setDataElements(x - sampleModelTranslateX, y - sampleModelTranslateY, inData,
+ dataBuffer);
}
/**
- * Sets the data elements which represent pixel data to the specified
- * rectangle area as a primitive array. The following image data types
- * are supported: DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT,
- * DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT,
- * or DataBuffer.TYPE_DOUBLE.
+ * Sets the data elements which represent pixel data to the specified
+ * rectangle area as a primitive array. The following image data types are
+ * supported: DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT,
+ * DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, or
+ * DataBuffer.TYPE_DOUBLE.
*
- * @param x the X coordinate of the rectangle of pixels.
- * @param y the Y coordinate of the rectangle of pixels.
- * @param w the width of the rectangle of pixels.
- * @param h the height of the rectangle of pixels.
- * @param inData the array of primitive type data to be set to the
- * specified area.
+ * @param x
+ * the X coordinate of the rectangle of pixels.
+ * @param y
+ * the Y coordinate of the rectangle of pixels.
+ * @param w
+ * the width of the rectangle of pixels.
+ * @param h
+ * the height of the rectangle of pixels.
+ * @param inData
+ * the array of primitive type data to be set to the specified
+ * area.
*/
public void setDataElements(int x, int y, int w, int h, Object inData) {
- sampleModel.setDataElements(x - sampleModelTranslateX,
- y - sampleModelTranslateY, w, h, inData, dataBuffer);
+ sampleModel.setDataElements(x - sampleModelTranslateX, y - sampleModelTranslateY, w, h,
+ inData, dataBuffer);
}
/**
- * Creates the child of this WritableRaster by sharing the specified
- * rectangular area in this WritableRaster.
- * The parentX, parentY, width and height parameters specify rectangular
- * area to be shared.
- *
- * @param parentX the X coordinate of the upper left corner of
- * the shared rectangle with respect to this WritableRaster' coordinates.
- * @param parentY the Y coordinate of the upper left corner of
- * the shared rectangle with respect to this WritableRaster' coordinates.
- * @param w the width of the child area.
- * @param h the height of the child area.
- * @param childMinX the X coordinate of child area mapped to the parentX
- * coordinate.
- * @param childMinY the Y coordinate of child area mapped to the parentY
- * coordinate.
- * @param bandList the array of band indicies.
+ * Creates the child of this WritableRaster by sharing the specified
+ * rectangular area in this WritableRaster. The parentX, parentY, width and
+ * height parameters specify rectangular area to be shared.
*
+ * @param parentX
+ * the X coordinate of the upper left corner of the shared
+ * rectangle with respect to this WritableRaster' coordinates.
+ * @param parentY
+ * the Y coordinate of the upper left corner of the shared
+ * rectangle with respect to this WritableRaster' coordinates.
+ * @param w
+ * the width of the child area.
+ * @param h
+ * the height of the child area.
+ * @param childMinX
+ * the X coordinate of child area mapped to the parentX
+ * coordinate.
+ * @param childMinY
+ * the Y coordinate of child area mapped to the parentY
+ * coordinate.
+ * @param bandList
+ * the array of band indices.
* @return the child WritableRaster.
*/
- public WritableRaster createWritableChild(int parentX, int parentY, int w,
- int h, int childMinX, int childMinY, int bandList[]) {
+ public WritableRaster createWritableChild(int parentX, int parentY, int w, int h,
+ int childMinX, int childMinY, int bandList[]) {
if (w <= 0 || h <= 0) {
- // awt.244=Width or Height of child Raster is less than or equal to zero
+ // awt.244=Width or Height of child Raster is less than or equal to
+ // zero
throw new RasterFormatException(Messages.getString("awt.244")); //$NON-NLS-1$
}
@@ -147,22 +170,22 @@ public class WritableRaster extends Raster {
throw new RasterFormatException(Messages.getString("awt.246")); //$NON-NLS-1$
}
- if ((long) parentX + w > Integer.MAX_VALUE) {
+ if ((long)parentX + w > Integer.MAX_VALUE) {
// awt.247=parentX + w results in integer overflow
throw new RasterFormatException(Messages.getString("awt.247")); //$NON-NLS-1$
}
- if ((long) parentY + h > Integer.MAX_VALUE) {
+ if ((long)parentY + h > Integer.MAX_VALUE) {
// awt.248=parentY + h results in integer overflow
throw new RasterFormatException(Messages.getString("awt.248")); //$NON-NLS-1$
}
- if ((long) childMinX + w > Integer.MAX_VALUE) {
+ if ((long)childMinX + w > Integer.MAX_VALUE) {
// awt.249=childMinX + w results in integer overflow
throw new RasterFormatException(Messages.getString("awt.249")); //$NON-NLS-1$
}
- if ((long) childMinY + h > Integer.MAX_VALUE) {
+ if ((long)childMinY + h > Integer.MAX_VALUE) {
// awt.24A=childMinY + h results in integer overflow
throw new RasterFormatException(Messages.getString("awt.24A")); //$NON-NLS-1$
}
@@ -179,59 +202,60 @@ public class WritableRaster extends Raster {
int childTranslateY = childMinY - parentY;
return new WritableRaster(childModel, dataBuffer,
- new Rectangle(childMinX, childMinY, w, h),
- new Point(childTranslateX + sampleModelTranslateX,
- childTranslateY + sampleModelTranslateY),
- this);
+ new Rectangle(childMinX, childMinY, w, h), new Point(childTranslateX
+ + sampleModelTranslateX, childTranslateY + sampleModelTranslateY), this);
}
/**
- * Creates the translated child of this WritableRaster.
- * New WritableRaster object is a reference to the this
- * WritableRaster and with different location.
- *
- * @param childMinX the X coordinate of the new WritableRaster.
- * @param childMinY the Y coordinate of the new WritableRaster.
+ * Creates the translated child of this WritableRaster. New WritableRaster
+ * object is a reference to the this WritableRaster and with different
+ * location.
*
+ * @param childMinX
+ * the X coordinate of the new WritableRaster.
+ * @param childMinY
+ * the Y coordinate of the new WritableRaster.
* @return the WritableRaster.
*/
- public WritableRaster createWritableTranslatedChild(int childMinX,
- int childMinY) {
- return createWritableChild(minX, minY, width, height, childMinX,
- childMinY, null);
+ public WritableRaster createWritableTranslatedChild(int childMinX, int childMinY) {
+ return createWritableChild(minX, minY, width, height, childMinX, childMinY, null);
}
/**
- * Gets the parent WritableRaster for this WritableRaster object.
+ * Gets the parent WritableRaster for this WritableRaster object.
*
* @return the parent WritableRaster for this WritableRaster object.
*/
public WritableRaster getWritableParent() {
- return (WritableRaster) parent;
+ return (WritableRaster)parent;
}
/**
- * Sets pixels from the specified source Raster srcRaster to this
+ * Sets pixels from the specified source Raster srcRaster to this
* WritableRaster.
*
- * @param srcRaster the source Raster.
+ * @param srcRaster
+ * the source Raster.
*/
public void setRect(Raster srcRaster) {
setRect(0, 0, srcRaster);
}
/**
- * Sets pixels from the specified source Raster srcRaster to this
- * WritableRaster. Each pixel with (x, y) coordinates from the source
- * Raster is copied to pixel with (x+dx, y+dy) coordinates in this
- * WritableRaster. The pixels with (x+dx, y+dy) coordinates which
- * are out the bounds of this raster are ignored.
- *
- * @param dx the distance the pixel's X coordinate in the source
- * Raster is translated when writtien to this WritableRaster.
- * @param dy the distance the pixel's Y coordinate in the source
- * Raster is translated when writtien to this WritableRaster.
- * @param srcRaster the source Raster.
+ * Sets pixels from the specified source Raster srcRaster to this
+ * WritableRaster. Each pixel with (x, y) coordinates from the source Raster
+ * is copied to pixel with (x+dx, y+dy) coordinates in this WritableRaster.
+ * The pixels with (x+dx, y+dy) coordinates which are out the bounds of this
+ * raster are ignored.
+ *
+ * @param dx
+ * the distance the pixel's X coordinate in the source Raster is
+ * translated when writtien to this WritableRaster.
+ * @param dy
+ * the distance the pixel's Y coordinate in the source Raster is
+ * translated when writtien to this WritableRaster.
+ * @param srcRaster
+ * the source Raster.
*/
public void setRect(int dx, int dy, Raster srcRaster) {
int w = srcRaster.getWidth();
@@ -272,47 +296,47 @@ public class WritableRaster extends Raster {
}
switch (sampleModel.getDataType()) {
- case DataBuffer.TYPE_BYTE:
- case DataBuffer.TYPE_SHORT:
- case DataBuffer.TYPE_USHORT:
- case DataBuffer.TYPE_INT:
- int iPixelsLine[] = null;
- for (int i = 0; i < h; i++) {
- iPixelsLine = srcRaster.getPixels(srcX, srcY + i, w, 1,
- iPixelsLine);
- setPixels(dstX, dstY + i, w, 1, iPixelsLine);
- }
- break;
-
- case DataBuffer.TYPE_FLOAT:
- float fPixelsLine[] = null;
- for (int i = 0; i < h; i++) {
- fPixelsLine = srcRaster.getPixels(srcX, srcY + i, w, 1,
- fPixelsLine);
- setPixels(dstX, dstY + i, w, 1, fPixelsLine);
- }
- break;
-
- case DataBuffer.TYPE_DOUBLE:
- double dPixelsLine[] = null;
- for (int i = 0; i < h; i++) {
- dPixelsLine = srcRaster.getPixels(srcX, srcY + i, w, 1,
- dPixelsLine);
- setPixels(dstX, dstY + i, w, 1, dPixelsLine);
- }
- break;
+ case DataBuffer.TYPE_BYTE:
+ case DataBuffer.TYPE_SHORT:
+ case DataBuffer.TYPE_USHORT:
+ case DataBuffer.TYPE_INT:
+ int iPixelsLine[] = null;
+ for (int i = 0; i < h; i++) {
+ iPixelsLine = srcRaster.getPixels(srcX, srcY + i, w, 1, iPixelsLine);
+ setPixels(dstX, dstY + i, w, 1, iPixelsLine);
+ }
+ break;
+
+ case DataBuffer.TYPE_FLOAT:
+ float fPixelsLine[] = null;
+ for (int i = 0; i < h; i++) {
+ fPixelsLine = srcRaster.getPixels(srcX, srcY + i, w, 1, fPixelsLine);
+ setPixels(dstX, dstY + i, w, 1, fPixelsLine);
+ }
+ break;
+
+ case DataBuffer.TYPE_DOUBLE:
+ double dPixelsLine[] = null;
+ for (int i = 0; i < h; i++) {
+ dPixelsLine = srcRaster.getPixels(srcX, srcY + i, w, 1, dPixelsLine);
+ setPixels(dstX, dstY + i, w, 1, dPixelsLine);
+ }
+ break;
}
}
/**
- * Sets the data for a rectangle of pixels from an input Raster to
- * this WritableRaster.
+ * Sets the data for a rectangle of pixels from an input Raster to this
+ * WritableRaster.
*
- * @param x the X coordinate of the point where the data of
- * the input Raster is to be written.
- * @param y the Y coordinate of the point where the data of
- * the input Raster is to be written.
- * @param inRaster the input Raster.
+ * @param x
+ * the X coordinate of the point where the data of the input
+ * Raster is to be written.
+ * @param y
+ * the Y coordinate of the point where the data of the input
+ * Raster is to be written.
+ * @param inRaster
+ * the input Raster.
*/
public void setDataElements(int x, int y, Raster inRaster) {
int dstX = x + inRaster.getMinX();
@@ -321,8 +345,8 @@ public class WritableRaster extends Raster {
int w = inRaster.getWidth();
int h = inRaster.getHeight();
- if (dstX < this.minX || dstX + w > this.minX + this.width ||
- dstY < this.minY || dstY + h > this.minY + this.height) {
+ if (dstX < this.minX || dstX + w > this.minX + this.width || dstY < this.minY
+ || dstY + h > this.minY + this.height) {
// awt.63=Coordinates are not in bounds
throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
}
@@ -338,179 +362,231 @@ public class WritableRaster extends Raster {
}
/**
- * Sets a int array of samples for the specified pixel
- * in this WritableRaster.
+ * Sets an integer array of samples for the specified pixel in this
+ * WritableRaster.
*
- * @param x the pixel's X coordinate.
- * @param y the pixel's Y coordinate.
- * @param iArray the int array of samples.
+ * @param x
+ * the pixel's X coordinate.
+ * @param y
+ * the pixel's Y coordinate.
+ * @param iArray
+ * the integer array of samples.
*/
public void setPixel(int x, int y, int iArray[]) {
- sampleModel.setPixel(x - sampleModelTranslateX,
- y - sampleModelTranslateY, iArray, dataBuffer);
+ sampleModel.setPixel(x - sampleModelTranslateX, y - sampleModelTranslateY, iArray,
+ dataBuffer);
}
/**
- * Sets a float array of samples for the specified pixel
- * in this WritableRaster.
+ * Sets a float array of samples for the specified pixel in this
+ * WritableRaster.
*
- * @param x the pixel's X coordinate.
- * @param y the pixel's Y coordinate.
- * @param fArray the float array of samples.
+ * @param x
+ * the pixel's X coordinate.
+ * @param y
+ * the pixel's Y coordinate.
+ * @param fArray
+ * the float array of samples.
*/
public void setPixel(int x, int y, float fArray[]) {
- sampleModel.setPixel(x - sampleModelTranslateX,
- y - sampleModelTranslateY, fArray, dataBuffer);
+ sampleModel.setPixel(x - sampleModelTranslateX, y - sampleModelTranslateY, fArray,
+ dataBuffer);
}
/**
- * Sets a double array of samples for the specified pixel
- * in this WritableRaster.
+ * Sets a double array of samples for the specified pixel in this
+ * WritableRaster.
*
- * @param x the pixel's X coordinate.
- * @param y the pixel's Y coordinate.
- * @param dArray the double array of samples.
+ * @param x
+ * the pixel's X coordinate.
+ * @param y
+ * the pixel's Y coordinate.
+ * @param dArray
+ * the double array of samples.
*/
public void setPixel(int x, int y, double dArray[]) {
- sampleModel.setPixel(x - sampleModelTranslateX,
- y - sampleModelTranslateY, dArray, dataBuffer);
+ sampleModel.setPixel(x - sampleModelTranslateX, y - sampleModelTranslateY, dArray,
+ dataBuffer);
}
/**
- * Sets a int array of samples for the specified rectangular area
- * of pixels in this WritableRaster.
+ * Sets a integer array of samples for the specified rectangular area of
+ * pixels in this WritableRaster.
*
- * @param x the X coordinate of rectangular area.
- * @param y the Y coordinate of rectangular area.
- * @param w the width of rectangular area.
- * @param h the height of rectangular area.
- * @param iArray the int array of samples.
+ * @param x
+ * the X coordinate of rectangular area.
+ * @param y
+ * the Y coordinate of rectangular area.
+ * @param w
+ * the width of rectangular area.
+ * @param h
+ * the height of rectangular area.
+ * @param iArray
+ * the integer array of samples.
*/
public void setPixels(int x, int y, int w, int h, int iArray[]) {
- sampleModel.setPixels(x - sampleModelTranslateX,
- y - sampleModelTranslateY, w, h, iArray, dataBuffer);
+ sampleModel.setPixels(x - sampleModelTranslateX, y - sampleModelTranslateY, w, h, iArray,
+ dataBuffer);
}
/**
- * Sets a float array of samples for the specified rectangular area
- * of pixels in this WritableRaster.
+ * Sets a float array of samples for the specified rectangular area of
+ * pixels in this WritableRaster.
*
- * @param x the X coordinate of rectangular area.
- * @param y the Y coordinate of rectangular area.
- * @param w the width of rectangular area.
- * @param h the height of rectangular area.
- * @param fArray the float array of samples.
+ * @param x
+ * the X coordinate of rectangular area.
+ * @param y
+ * the Y coordinate of rectangular area.
+ * @param w
+ * the width of rectangular area.
+ * @param h
+ * the height of rectangular area.
+ * @param fArray
+ * the float array of samples.
*/
public void setPixels(int x, int y, int w, int h, float fArray[]) {
- sampleModel.setPixels(x - sampleModelTranslateX,
- y - sampleModelTranslateY, w, h, fArray, dataBuffer);
+ sampleModel.setPixels(x - sampleModelTranslateX, y - sampleModelTranslateY, w, h, fArray,
+ dataBuffer);
}
/**
- * Sets a double array of samples for the specified rectangular area
- * of pixels in this WritableRaster.
+ * Sets a double array of samples for the specified rectangular area of
+ * pixels in this WritableRaster.
*
- * @param x the X coordinate of rectangular area.
- * @param y the Y coordinate of rectangular area.
- * @param w the width of rectangular area.
- * @param h the height of rectangular area.
- * @param dArray the double array of samples.
+ * @param x
+ * the X coordinate of rectangular area.
+ * @param y
+ * the Y coordinate of rectangular area.
+ * @param w
+ * the width of rectangular area.
+ * @param h
+ * the height of rectangular area.
+ * @param dArray
+ * the double array of samples.
*/
public void setPixels(int x, int y, int w, int h, double dArray[]) {
- sampleModel.setPixels(x - sampleModelTranslateX,
- y - sampleModelTranslateY, w, h, dArray, dataBuffer);
+ sampleModel.setPixels(x - sampleModelTranslateX, y - sampleModelTranslateY, w, h, dArray,
+ dataBuffer);
}
/**
- * Sets the samples for the specified band and the specified
- * rectangular area of pixels with an int array of samples.
+ * Sets the samples for the specified band and the specified rectangular
+ * area of pixels with an integer array of samples.
*
- * @param x the X coordinate of the area of pixels.
- * @param y the Y coordinate of the area of pixels.
- * @param w the width of the area of pixels.
- * @param h the height of the area of pixels.
- * @param b the specified band.
- * @param iArray the int array of samples.
-
+ * @param x
+ * the X coordinate of the area of pixels.
+ * @param y
+ * the Y coordinate of the area of pixels.
+ * @param w
+ * the width of the area of pixels.
+ * @param h
+ * the height of the area of pixels.
+ * @param b
+ * the specified band.
+ * @param iArray
+ * the integer array of samples.
*/
public void setSamples(int x, int y, int w, int h, int b, int iArray[]) {
- sampleModel.setSamples(x - sampleModelTranslateX,
- y - sampleModelTranslateY, w, h, b, iArray, dataBuffer);
+ sampleModel.setSamples(x - sampleModelTranslateX, y - sampleModelTranslateY, w, h, b,
+ iArray, dataBuffer);
}
/**
- * Sets the samples for the specified band and the specified
- * rectangular area of pixels with a float array of samples.
+ * Sets the samples for the specified band and the specified rectangular
+ * area of pixels with a float array of samples.
*
- * @param x the X coordinate of the area of pixels.
- * @param y the Y coordinate of the area of pixels.
- * @param w the width of the area of pixels.
- * @param h the height of the area of pixels.
- * @param b the specified band.
- * @param fArray the float array of samples.
+ * @param x
+ * the X coordinate of the area of pixels.
+ * @param y
+ * the Y coordinate of the area of pixels.
+ * @param w
+ * the width of the area of pixels.
+ * @param h
+ * the height of the area of pixels.
+ * @param b
+ * the specified band.
+ * @param fArray
+ * the float array of samples.
*/
public void setSamples(int x, int y, int w, int h, int b, float fArray[]) {
- sampleModel.setSamples(x - sampleModelTranslateX,
- y - sampleModelTranslateY, w, h, b, fArray, dataBuffer);
+ sampleModel.setSamples(x - sampleModelTranslateX, y - sampleModelTranslateY, w, h, b,
+ fArray, dataBuffer);
}
/**
- * Sets the samples for the specified band and the specified
- * rectangular area of pixels with a double array of samples.
+ * Sets the samples for the specified band and the specified rectangular
+ * area of pixels with a double array of samples.
*
- * @param x the X coordinate of the area of pixels.
- * @param y the Y coordinate of the area of pixels.
- * @param w the width of the area of pixels.
- * @param h the height of the area of pixels.
- * @param b the specified band.
- * @param dArray the double array of samples.
+ * @param x
+ * the X coordinate of the area of pixels.
+ * @param y
+ * the Y coordinate of the area of pixels.
+ * @param w
+ * the width of the area of pixels.
+ * @param h
+ * the height of the area of pixels.
+ * @param b
+ * the specified band.
+ * @param dArray
+ * the double array of samples.
*/
public void setSamples(int x, int y, int w, int h, int b, double dArray[]) {
- sampleModel.setSamples(x - sampleModelTranslateX,
- y - sampleModelTranslateY, w, h, b, dArray, dataBuffer);
+ sampleModel.setSamples(x - sampleModelTranslateX, y - sampleModelTranslateY, w, h, b,
+ dArray, dataBuffer);
}
/**
- * Sets the sample for the specified band and the specified
- * pixel with an int sample.
+ * Sets the sample for the specified band and the specified pixel with an
+ * integer sample.
*
- * @param x the X coordinate of the pixel.
- * @param y the Y coordinate of the pixel.
- * @param b the specified band.
- * @param s the sample to be set.
+ * @param x
+ * the X coordinate of the pixel.
+ * @param y
+ * the Y coordinate of the pixel.
+ * @param b
+ * the specified band.
+ * @param s
+ * the sample to be set.
*/
public void setSample(int x, int y, int b, int s) {
- sampleModel.setSample(x - sampleModelTranslateX,
- y - sampleModelTranslateY, b, s, dataBuffer);
+ sampleModel.setSample(x - sampleModelTranslateX, y - sampleModelTranslateY, b, s,
+ dataBuffer);
}
/**
- * Sets the sample for the specified band and the specified
- * pixel with a float sample.
+ * Sets the sample for the specified band and the specified pixel with a
+ * float sample.
*
- * @param x the X coordinate of the pixel.
- * @param y the Y coordinate of the pixel.
- * @param b the specified band.
- * @param s the sample to be set.
+ * @param x
+ * the X coordinate of the pixel.
+ * @param y
+ * the Y coordinate of the pixel.
+ * @param b
+ * the specified band.
+ * @param s
+ * the sample to be set.
*/
public void setSample(int x, int y, int b, float s) {
- sampleModel.setSample(x - sampleModelTranslateX,
- y - sampleModelTranslateY, b, s, dataBuffer);
+ sampleModel.setSample(x - sampleModelTranslateX, y - sampleModelTranslateY, b, s,
+ dataBuffer);
}
/**
- * Sets the sample for the specified band and the specified
- * pixel with a int sample.
+ * Sets the sample for the specified band and the specified pixel with an
+ * integer sample.
*
- * @param x the X coordinate of the pixel.
- * @param y the Y coordinate of the pixel.
- * @param b the specified band.
- * @param s the sample to be set.
+ * @param x
+ * the X coordinate of the pixel.
+ * @param y
+ * the Y coordinate of the pixel.
+ * @param b
+ * the specified band.
+ * @param s
+ * the sample to be set.
*/
public void setSample(int x, int y, int b, double s) {
- sampleModel.setSample(x - sampleModelTranslateX,
- y - sampleModelTranslateY, b, s, dataBuffer);
+ sampleModel.setSample(x - sampleModelTranslateX, y - sampleModelTranslateY, b, s,
+ dataBuffer);
}
}
-
diff --git a/awt/java/awt/image/WritableRenderedImage.java b/awt/java/awt/image/WritableRenderedImage.java
index ee1cb9e..052353b 100644
--- a/awt/java/awt/image/WritableRenderedImage.java
+++ b/awt/java/awt/image/WritableRenderedImage.java
@@ -18,23 +18,27 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image;
import java.awt.Point;
/**
- * The WriteableRenderedImage interface is interface for objects which
- * contains Raster data of one or several tiles. This interface provides
- * notification mehanism for obtaining tile's writing status.
+ * The WriteableRenderedImage interface is interface for objects which contains
+ * Raster data of one or several tiles. This interface provides notification
+ * mechanism for obtaining tile's writing status.
+ *
+ * @since Android 1.0
*/
public interface WritableRenderedImage extends RenderedImage {
/**
- * Gets and checks out the writable tile for writing.
- *
- * @param tileX the X index of the tile.
- * @param tileY the Y index of the tile.
+ * Gets and checks out the writable tile for writing.
*
+ * @param tileX
+ * the X index of the tile.
+ * @param tileY
+ * the Y index of the tile.
* @return the WritableRaster.
*/
public WritableRaster getWritableTile(int tileX, int tileY);
@@ -42,60 +46,64 @@ public interface WritableRenderedImage extends RenderedImage {
/**
* Removes the registered TileObserver.
*
- * @param to the TileObserver which is registered for this
- * WritableRenderedImage.
+ * @param to
+ * the TileObserver which is registered for this
+ * WritableRenderedImage.
*/
public void removeTileObserver(TileObserver to);
/**
* Adds the specified TileObserver to this WritableRenderedImage.
*
- * @param to the TileObserver object to be added.
+ * @param to
+ * the TileObserver object to be added.
*/
public void addTileObserver(TileObserver to);
/**
- * Sets this image to the contents of the specified Raster.
+ * Sets this image to the contents of the specified Raster.
*
- * @param r the specified Raster.
+ * @param r
+ * the specified Raster.
*/
public void setData(Raster r);
/**
- * Gets the array of points wich represent indices of tiles which
- * are check out for writing.
+ * Gets the array of points which represent indices of tiles which are check
+ * out for writing.
*
- * @return the array of Points.
+ * @return the array of points.
*/
public Point[] getWritableTileIndices();
/**
* Checks if the specified tile is writable or not.
*
- * @param tileX the X index of tile.
- * @param tileY the Y index of tile.
- *
- * @return true, if the specified tile is writable,
- * false otherwise.
+ * @param tileX
+ * the X index of tile.
+ * @param tileY
+ * the Y index of tile.
+ * @return true, if the specified tile is writable, false otherwise.
*/
public boolean isTileWritable(int tileX, int tileY);
/**
- * Release the specified writable tile. This method removes the writer
- * from the tile.
+ * Release the specified writable tile. This method removes the writer from
+ * the tile.
*
- * @param tileX the X index of the tile.
- * @param tileY the Y index of the tile.
+ * @param tileX
+ * the X index of the tile.
+ * @param tileY
+ * the Y index of the tile.
*/
public void releaseWritableTile(int tileX, int tileY);
/**
* Checks if there is a tile which is checked out for writing.
*
- * @return true, if any tile is checked out for writing, false if there
- * is no such tile.
+ * @return true, if any tile is checked out for writing, false if there is
+ * no such tile.
*/
public boolean hasTileWriters();
}
-
diff --git a/awt/java/awt/image/package.html b/awt/java/awt/image/package.html
new file mode 100644
index 0000000..b4d6ef0
--- /dev/null
+++ b/awt/java/awt/image/package.html
@@ -0,0 +1,8 @@
+<html>
+ <body>
+ <p>
+ This package contains classes and interfaces that allow to modify existing images or to create a new image rather than loading it from a file.
+ </p>
+ @since Android 1.0
+ </body>
+</html>
diff --git a/awt/java/awt/image/renderable/ContextualRenderedImageFactory.java b/awt/java/awt/image/renderable/ContextualRenderedImageFactory.java
index 3e96637..1881a0c 100644
--- a/awt/java/awt/image/renderable/ContextualRenderedImageFactory.java
+++ b/awt/java/awt/image/renderable/ContextualRenderedImageFactory.java
@@ -18,72 +18,80 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image.renderable;
import java.awt.geom.Rectangle2D;
import java.awt.image.RenderedImage;
/**
- * A factory for creating ContextualRenderedImage objects with utilities
- * for manipulating the properties in the parameter block.
+ * A factory for creating ContextualRenderedImage objects with utilities for
+ * manipulating the properties in the parameter block.
+ *
+ * @since Android 1.0
*/
public interface ContextualRenderedImageFactory extends RenderedImageFactory {
/**
* Maps a render context to a parameter block and a renderable image.
*
- * @param a0 the index
- * @param a1 the RenderContext
- * @param a2 the ParameterBlock
- * @param a3 the RenderableImage
- *
- * @return the render context
+ * @param a0
+ * the index.
+ * @param a1
+ * the RenderContext.
+ * @param a2
+ * the ParameterBlock.
+ * @param a3
+ * the RenderableImage.
+ * @return the render context.
*/
- public RenderContext mapRenderContext(int a0, RenderContext a1, ParameterBlock a2, RenderableImage a3);
+ public RenderContext mapRenderContext(int a0, RenderContext a1, ParameterBlock a2,
+ RenderableImage a3);
/**
* Gets the value of the property from the parameter block.
*
- * @param a0 the parameter block to examine to find the property
- * @param a1 the name of the property
- *
- * @return the value of the property
+ * @param a0
+ * the parameter block to examine to find the property.
+ * @param a1
+ * the name of the property.
+ * @return the value of the property.
*/
public Object getProperty(ParameterBlock a0, String a1);
/**
- * Creates the rendered image determined by the render context and
- * parameter block.
+ * Creates the rendered image determined by the render context and parameter
+ * block.
*
- * @param a0 the RenderContext
- * @param a1 the ParameterBlock
- *
- * @return the rendered image
+ * @param a0
+ * the RenderContext.
+ * @param a1
+ * the ParameterBlock.
+ * @return the rendered image.
*/
public RenderedImage create(RenderContext a0, ParameterBlock a1);
/**
* Gets the bounding rectangle from the parameter block.
*
- * @param a0 the parameter block to read the bounds from
- *
- * @return the bounding rectangle
+ * @param a0
+ * the parameter block to read the bounds from.
+ * @return the bounding rectangle.
*/
public Rectangle2D getBounds2D(ParameterBlock a0);
/**
* Gets the names of all of the supported properties.
*
- * @return the property names
+ * @return the property names.
*/
public String[] getPropertyNames();
/**
* Checks if this image factory is dynamic.
*
- * @return true, if this image factory is dynamic
+ * @return true, if this image factory is dynamic.
*/
public boolean isDynamic();
}
-
diff --git a/awt/java/awt/image/renderable/ParameterBlock.java b/awt/java/awt/image/renderable/ParameterBlock.java
index 1555f45..7dde73a 100644
--- a/awt/java/awt/image/renderable/ParameterBlock.java
+++ b/awt/java/awt/image/renderable/ParameterBlock.java
@@ -18,6 +18,7 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image.renderable;
import java.awt.image.RenderedImage;
@@ -25,28 +26,36 @@ import java.io.Serializable;
import java.util.Vector;
/**
- * The Class ParameterBlock groups an indexed set of parameter data
- * with a set of renderable (source) images. The mapping between
- * the indexed parameters and their property names is provided
- * by a {@link ContextualRenderedImageFactory}
+ * The class ParameterBlock groups an indexed set of parameter data with a set
+ * of renderable (source) images. The mapping between the indexed parameters and
+ * their property names is provided by a {@link ContextualRenderedImageFactory}.
+ *
+ * @since Android 1.0
*/
public class ParameterBlock implements Cloneable, Serializable {
-
- /** The Constant serialVersionUID. */
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = -7577115551785240750L;
- /** The sources (renderable images). */
+ /**
+ * The sources (renderable images).
+ */
protected Vector<Object> sources = new Vector<Object>();
- /** The parameters. */
+ /**
+ * The parameters.
+ */
protected Vector<Object> parameters = new Vector<Object>();
/**
* Instantiates a new parameter block.
*
- * @param sources the vector of source images
- * @param parameters the vector of parameters
+ * @param sources
+ * the vector of source images.
+ * @param parameters
+ * the vector of parameters.
*/
public ParameterBlock(Vector<Object> sources, Vector<Object> parameters) {
setSources(sources);
@@ -56,7 +65,8 @@ public class ParameterBlock implements Cloneable, Serializable {
/**
* Instantiates a new parameter block with no parameters.
*
- * @param sources the vector of source images
+ * @param sources
+ * the vector of source images.
*/
public ParameterBlock(Vector<Object> sources) {
setSources(sources);
@@ -65,18 +75,20 @@ public class ParameterBlock implements Cloneable, Serializable {
/**
* Instantiates a new parameter block with no image or parameter vectors.
*/
- public ParameterBlock() {}
+ public ParameterBlock() {
+ }
/**
* Sets the source image at the specified index.
*
- * @param source the source image
- * @param index the index where the source will be placed
- *
- * @return this parameter block
+ * @param source
+ * the source image.
+ * @param index
+ * the index where the source will be placed.
+ * @return this parameter block.
*/
public ParameterBlock setSource(Object source, int index) {
- if(sources.size() < index + 1){
+ if (sources.size() < index + 1) {
sources.setSize(index + 1);
}
sources.setElementAt(source, index);
@@ -86,14 +98,15 @@ public class ParameterBlock implements Cloneable, Serializable {
/**
* Sets the parameter value object at the specified index.
*
- * @param obj the parameter value to place at the desired index
- * @param index the index where the object is to be placed in the
- * vector of parameters
- *
- * @return this parameter block
+ * @param obj
+ * the parameter value to place at the desired index.
+ * @param index
+ * the index where the object is to be placed in the vector of
+ * parameters.
+ * @return this parameter block.
*/
public ParameterBlock set(Object obj, int index) {
- if(parameters.size() < index + 1){
+ if (parameters.size() < index + 1) {
parameters.setSize(index + 1);
}
parameters.setElementAt(obj, index);
@@ -103,9 +116,9 @@ public class ParameterBlock implements Cloneable, Serializable {
/**
* Adds a source to the vector of sources.
*
- * @param source the source to add
- *
- * @return this parameter block
+ * @param source
+ * the source to add.
+ * @return this parameter block.
*/
public ParameterBlock addSource(Object source) {
sources.addElement(source);
@@ -115,9 +128,9 @@ public class ParameterBlock implements Cloneable, Serializable {
/**
* Adds the object to the vector of parameter values
*
- * @param obj the obj to add
- *
- * @return this parameter block
+ * @param obj
+ * the obj to add.
+ * @return this parameter block.
*/
public ParameterBlock add(Object obj) {
parameters.addElement(obj);
@@ -125,20 +138,22 @@ public class ParameterBlock implements Cloneable, Serializable {
}
/**
- * Sets the vector of sources, replacing the existing
- * vector of sources, if any.
+ * Sets the vector of sources, replacing the existing vector of sources, if
+ * any.
*
- * @param sources the new sources
+ * @param sources
+ * the new sources.
*/
public void setSources(Vector<Object> sources) {
this.sources = sources;
}
/**
- * Sets the vector of parameters, replacing the existing
- * vector of parameters, if any.
+ * Sets the vector of parameters, replacing the existing vector of
+ * parameters, if any.
*
- * @param parameters the new parameters
+ * @param parameters
+ * the new parameters.
*/
public void setParameters(Vector<Object> parameters) {
this.parameters = parameters;
@@ -147,7 +162,7 @@ public class ParameterBlock implements Cloneable, Serializable {
/**
* Gets the vector of sources.
*
- * @return the sources
+ * @return the sources.
*/
public Vector<Object> getSources() {
return sources;
@@ -156,7 +171,7 @@ public class ParameterBlock implements Cloneable, Serializable {
/**
* Gets the vector of parameters.
*
- * @return the parameters
+ * @return the parameters.
*/
public Vector<Object> getParameters() {
return parameters;
@@ -165,9 +180,9 @@ public class ParameterBlock implements Cloneable, Serializable {
/**
* Gets the source at the specified index.
*
- * @param index the index
- *
- * @return the source object found at the specified index
+ * @param index
+ * the index.
+ * @return the source object found at the specified index.
*/
public Object getSource(int index) {
return sources.elementAt(index);
@@ -176,9 +191,9 @@ public class ParameterBlock implements Cloneable, Serializable {
/**
* Gets the object parameter found at the specified index.
*
- * @param index the index
- *
- * @return the parameter object found at the specified index
+ * @param index
+ * the index.
+ * @return the parameter object found at the specified index.
*/
public Object getObjectParameter(int index) {
return parameters.elementAt(index);
@@ -187,328 +202,333 @@ public class ParameterBlock implements Cloneable, Serializable {
/**
* Shallow clone (clones using the superclass clone method).
*
- * @return the clone of this object
+ * @return the clone of this object.
*/
public Object shallowClone() {
- try{
+ try {
return super.clone();
- }catch(Exception e){
+ } catch (Exception e) {
return null;
}
}
+ /**
+ * Returns a copy of this ParameterBlock instance.
+ *
+ * @return the identical copy of this instance.
+ */
@SuppressWarnings("unchecked")
@Override
public Object clone() {
ParameterBlock replica;
- try{
+ try {
replica = (ParameterBlock)super.clone();
- }catch(Exception e){
+ } catch (Exception e) {
return null;
}
- if(sources != null){
+ if (sources != null) {
replica.setSources((Vector<Object>)(sources.clone()));
}
- if(parameters != null){
+ if (parameters != null) {
replica.setParameters((Vector<Object>)(parameters.clone()));
}
return replica;
}
/**
- * Gets an array of classes corresponding to all of the parameter
- * values found in the array of parameters, in order.
+ * Gets an array of classes corresponding to all of the parameter values
+ * found in the array of parameters, in order.
*
- * @return the parameter classes
+ * @return the parameter classes.
*/
public Class[] getParamClasses() {
int count = parameters.size();
Class paramClasses[] = new Class[count];
- for(int i = 0; i < count; i++){
+ for (int i = 0; i < count; i++) {
paramClasses[i] = parameters.elementAt(i).getClass();
}
return paramClasses;
}
/**
- * Gets the renderable source image found at the specified index
- * in the source array.
- *
- * @param index the index
+ * Gets the renderable source image found at the specified index in the
+ * source array.
*
- * @return the renderable source image
+ * @param index
+ * the index.
+ * @return the renderable source image.
*/
public RenderableImage getRenderableSource(int index) {
return (RenderableImage)sources.elementAt(index);
}
/**
- * Wraps the short value in a Short and places it in the
- * parameter block at the specified index.
+ * Wraps the short value in a Short and places it in the parameter block at
+ * the specified index.
*
- * @param s the short value of the parameter
- * @param index the index
- *
- * @return this parameter block
+ * @param s
+ * the short value of the parameter.
+ * @param index
+ * the index.
+ * @return this parameter block.
*/
public ParameterBlock set(short s, int index) {
return set(new Short(s), index);
}
/**
- * Wraps the short value in a Short and adds it to the
- * parameter block.
- *
- * @param s the short value of the parameter
+ * Wraps the short value in a Short and adds it to the parameter block.
*
- * @return this parameter block
+ * @param s
+ * the short value of the parameter.
+ * @return this parameter block.
*/
public ParameterBlock add(short s) {
return add(new Short(s));
}
/**
- * Wraps the long value in a Long and places it in the
- * parameter block at the specified index.
+ * Wraps the long value in a Long and places it in the parameter block at
+ * the specified index.
*
- * @param l the long value of the parameter
- * @param index the index
- *
- * @return this parameter block
+ * @param l
+ * the long value of the parameter.
+ * @param index
+ * the index.
+ * @return this parameter block.
*/
public ParameterBlock set(long l, int index) {
return set(new Long(l), index);
}
/**
- * Wraps the long value in a Long and adds it to the
- * parameter block.
- *
- * @param l the long value of the parameter
+ * Wraps the long value in a Long and adds it to the parameter block.
*
- * @return this parameter block
+ * @param l
+ * the long value of the parameter.
+ * @return this parameter block.
*/
public ParameterBlock add(long l) {
return add(new Long(l));
}
/**
- * Wraps the int value in an Integer and places it in the
- * parameter block at the specified index.
- *
- * @param i the int value of the parameter
- * @param index the index
+ * Wraps the integer value in an Integer and places it in the parameter
+ * block at the specified index.
*
- * @return this parameter block
+ * @param i
+ * the integer value of the parameter.
+ * @param index
+ * the index.
+ * @return this parameter block.
*/
public ParameterBlock set(int i, int index) {
return set(new Integer(i), index);
}
/**
- * Wraps the int value in an Integer and adds it to the
- * parameter block.
+ * Wraps the integer value in an Integer and adds it to the parameter block.
*
- * @param i the int value of the parameter
- *
- * @return this parameter block
+ * @param i
+ * the integer value of the parameter.
+ * @return this parameter block.
*/
public ParameterBlock add(int i) {
return add(new Integer(i));
}
/**
- * Wraps the float value in a Float and places it in the
- * parameter block at the specified index.
- *
- * @param f the float value of the parameter
- * @param index the index
+ * Wraps the float value in a Float and places it in the parameter block at
+ * the specified index.
*
- * @return this parameter block
+ * @param f
+ * the float value of the parameter.
+ * @param index
+ * the index.
+ * @return this parameter block.
*/
public ParameterBlock set(float f, int index) {
return set(new Float(f), index);
}
/**
- * Wraps the float value in a Float and adds it to the
- * parameter block.
+ * Wraps the float value in a Float and adds it to the parameter block.
*
- * @param f the float value of the parameter
- *
- * @return this parameter block
+ * @param f
+ * the float value of the parameter.
+ * @return this parameter block.
*/
public ParameterBlock add(float f) {
return add(new Float(f));
}
/**
- * Wraps the double value in a Double and places it in the
- * parameter block at the specified index.
- *
- * @param d the double value of the parameter
- * @param index the index
+ * Wraps the double value in a Double and places it in the parameter block
+ * at the specified index.
*
- * @return this parameter block
+ * @param d
+ * the double value of the parameter.
+ * @param index
+ * the index.
+ * @return this parameter block.
*/
public ParameterBlock set(double d, int index) {
return set(new Double(d), index);
}
/**
- * Wraps the double value in a Double and adds it to the
- * parameter block.
- *
- * @param d the double value of the parameter
+ * Wraps the double value in a Double and adds it to the parameter block.
*
- * @return this parameter block
+ * @param d
+ * the double value of the parameter.
+ * @return this parameter block.
*/
public ParameterBlock add(double d) {
return add(new Double(d));
}
/**
- * Wraps the char value in a Character and places it in the
- * parameter block at the specified index.
+ * Wraps the char value in a Character and places it in the parameter block
+ * at the specified index.
*
- * @param c the char value of the parameter
- * @param index the index
- *
- * @return this parameter block
+ * @param c
+ * the char value of the parameter.
+ * @param index
+ * the index.
+ * @return this parameter block.
*/
public ParameterBlock set(char c, int index) {
return set(new Character(c), index);
}
/**
- * Wraps the char value in a Character and adds it to the
- * parameter block.
- *
- * @param c the char value of the parameter
+ * Wraps the char value in a Character and adds it to the parameter block.
*
- * @return this parameter block
+ * @param c
+ * the char value of the parameter.
+ * @return this parameter block.
*/
public ParameterBlock add(char c) {
return add(new Character(c));
}
/**
- * Wraps the byte value in a Byte and places it in the
- * parameter block at the specified index.
+ * Wraps the byte value in a Byte and places it in the parameter block at
+ * the specified index.
*
- * @param b the byte value of the parameter
- * @param index the index
- *
- * @return this parameter block
+ * @param b
+ * the byte value of the parameter.
+ * @param index
+ * the index.
+ * @return this parameter block.
*/
public ParameterBlock set(byte b, int index) {
return set(new Byte(b), index);
}
/**
- * Wraps the byte value in a Byte and adds it to the
- * parameter block.
- *
- * @param b the byte value of the parameter
+ * Wraps the byte value in a Byte and adds it to the parameter block.
*
- * @return the parameter block
+ * @param b
+ * the byte value of the parameter.
+ * @return the parameter block.
*/
public ParameterBlock add(byte b) {
return add(new Byte(b));
}
/**
- * Gets the RenderedImage at the specified index from the
- * vector of source images.
- *
- * @param index the index
+ * Gets the RenderedImage at the specified index from the vector of source
+ * images.
*
- * @return the rendered image
+ * @param index
+ * the index.
+ * @return the rendered image.
*/
public RenderedImage getRenderedSource(int index) {
return (RenderedImage)sources.elementAt(index);
}
/**
- * Gets the short-valued parameter found at the desired index
- * in the vector of parameter values.
+ * Gets the short-valued parameter found at the desired index in the vector
+ * of parameter values.
*
- * @param index the index
- *
- * @return the short parameter
+ * @param index
+ * the index.
+ * @return the short parameter.
*/
public short getShortParameter(int index) {
return ((Short)parameters.elementAt(index)).shortValue();
}
/**
- * Gets the long-valued parameter found at the desired index
- * in the vector of parameter values.
- *
- * @param index the index
+ * Gets the long-valued parameter found at the desired index in the vector
+ * of parameter values.
*
- * @return the long parameter
+ * @param index
+ * the index.
+ * @return the long parameter.
*/
public long getLongParameter(int index) {
return ((Long)parameters.elementAt(index)).longValue();
}
/**
- * Gets the int-valued parameter found at the desired index
- * in the vector of parameter values.
+ * Gets the integer-valued parameter found at the desired index in the
+ * vector of parameter values.
*
- * @param index the index
- *
- * @return the int parameter
+ * @param index
+ * the index.
+ * @return the integer parameter.
*/
public int getIntParameter(int index) {
return ((Integer)parameters.elementAt(index)).intValue();
}
/**
- * Gets the float-valued parameter found at the desired index
- * in the vector of parameter values.
- *
- * @param index the index
+ * Gets the float-valued parameter found at the desired index in the vector
+ * of parameter values.
*
- * @return the float parameter
+ * @param index
+ * the index.
+ * @return the float parameter.
*/
public float getFloatParameter(int index) {
return ((Float)parameters.elementAt(index)).floatValue();
}
/**
- * Gets the double-valued parameter found at the desired index
- * in the vector of parameter values.
- *
- * @param index the index
+ * Gets the double-valued parameter found at the desired index in the vector
+ * of parameter values.
*
- * @return the double parameter
+ * @param index
+ * the index.
+ * @return the double parameter.
*/
public double getDoubleParameter(int index) {
return ((Double)parameters.elementAt(index)).doubleValue();
}
/**
- * Gets the char-valued parameter found at the desired index
- * in the vector of parameter values.
+ * Gets the char-valued parameter found at the desired index in the vector
+ * of parameter values.
*
- * @param index the index
- *
- * @return the char parameter
+ * @param index
+ * the index.
+ * @return the char parameter.
*/
public char getCharParameter(int index) {
return ((Character)parameters.elementAt(index)).charValue();
}
/**
- * Gets the byte-valued parameter found at the desired index
- * in the vector of parameter values.
- *
- * @param index the index
+ * Gets the byte-valued parameter found at the desired index in the vector
+ * of parameter values.
*
- * @return the byte parameter
+ * @param index
+ * the index.
+ * @return the byte parameter.
*/
public byte getByteParameter(int index) {
return ((Byte)parameters.elementAt(index)).byteValue();
@@ -531,7 +551,7 @@ public class ParameterBlock implements Cloneable, Serializable {
/**
* Gets the number of elements in the vector of sources.
*
- * @return the number of elements in the vector of sources
+ * @return the number of elements in the vector of sources.
*/
public int getNumSources() {
return sources.size();
@@ -540,7 +560,7 @@ public class ParameterBlock implements Cloneable, Serializable {
/**
* Gets the number of elements in the vector of parameters.
*
- * @return the number of elements in the vector of parameters
+ * @return the number of elements in the vector of parameters.
*/
public int getNumParameters() {
return parameters.size();
diff --git a/awt/java/awt/image/renderable/RenderContext.java b/awt/java/awt/image/renderable/RenderContext.java
index 3a3b93c..0db512f 100644
--- a/awt/java/awt/image/renderable/RenderContext.java
+++ b/awt/java/awt/image/renderable/RenderContext.java
@@ -18,6 +18,7 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image.renderable;
import java.awt.RenderingHints;
@@ -25,27 +26,37 @@ import java.awt.Shape;
import java.awt.geom.AffineTransform;
/**
- * The Class RenderContext stores data on how an image is to be
- * rendered: the affine transform, the area of interest, and
- * the rendering hints.
+ * The Class RenderContext stores data on how an image is to be rendered: the
+ * affine transform, the area of interest, and the rendering hints.
+ *
+ * @since Android 1.0
*/
public class RenderContext implements Cloneable {
- /** The affine transform. */
+ /**
+ * The affine transform.
+ */
AffineTransform transform;
-
- /** The area of interest. */
+
+ /**
+ * The area of interest.
+ */
Shape aoi;
-
- /** The rendering hints. */
+
+ /**
+ * The rendering hints.
+ */
RenderingHints hints;
/**
* Instantiates a new render context.
*
- * @param usr2dev the affine transform
- * @param aoi the area of interest
- * @param hints the rendering hints
+ * @param usr2dev
+ * the affine transform.
+ * @param aoi
+ * the area of interest.
+ * @param hints
+ * the rendering hints.
*/
public RenderContext(AffineTransform usr2dev, Shape aoi, RenderingHints hints) {
this.transform = (AffineTransform)usr2dev.clone();
@@ -56,8 +67,10 @@ public class RenderContext implements Cloneable {
/**
* Instantiates a new render context with no specified hints.
*
- * @param usr2dev the affine transform
- * @param aoi the area of interest
+ * @param usr2dev
+ * the affine transform.
+ * @param aoi
+ * the area of interest.
*/
public RenderContext(AffineTransform usr2dev, Shape aoi) {
this(usr2dev, aoi, null);
@@ -66,18 +79,21 @@ public class RenderContext implements Cloneable {
/**
* Instantiates a new render context with no specified area of interest.
*
- * @param usr2dev the affine transform
- * @param hints the rendering hints
+ * @param usr2dev
+ * the affine transform.
+ * @param hints
+ * the rendering hints.
*/
public RenderContext(AffineTransform usr2dev, RenderingHints hints) {
this(usr2dev, null, hints);
}
/**
- * Instantiates a new render context with no rendering hints or
- * area of interest.
+ * Instantiates a new render context with no rendering hints or area of
+ * interest.
*
- * @param usr2dev the affine transform
+ * @param usr2dev
+ * the affine transform.
*/
public RenderContext(AffineTransform usr2dev) {
this(usr2dev, null, null);
@@ -91,36 +107,36 @@ public class RenderContext implements Cloneable {
/**
* Sets the affine transform for this render context.
*
- * @param newTransform the new affine transform
+ * @param newTransform
+ * the new affine transform.
*/
public void setTransform(AffineTransform newTransform) {
transform = (AffineTransform)newTransform.clone();
}
/**
- * Concatenates the current transform with the specified transform
- * (so they are applied with the specified transform acting first)
- * and sets the resulting transform as the affine transform of
- * this rendering context.
- *
- * @param modTransform the new transform which modifies the
- * current transform
- *
- * @deprecated use {@link RenderContext#preConcatenateTransform(AffineTransform)}
+ * Concatenates the current transform with the specified transform (so they
+ * are applied with the specified transform acting first) and sets the
+ * resulting transform as the affine transform of this rendering context.
+ *
+ * @param modTransform
+ * the new transform which modifies the current transform.
+ * @deprecated use
+ * {@link RenderContext#preConcatenateTransform(AffineTransform)}
+ * .
*/
- @Deprecated
+ @Deprecated
public void preConcetenateTransform(AffineTransform modTransform) {
preConcatenateTransform(modTransform);
}
/**
- * Concatenates the current transform with the specified transform
- * (so they are applied with the specified transform acting first)
- * and sets the resulting transform as the affine transform of
- * this rendering context.
+ * Concatenates the current transform with the specified transform (so they
+ * are applied with the specified transform acting first) and sets the
+ * resulting transform as the affine transform of this rendering context.
*
- * @param modTransform the new transform which modifies the
- * current transform
+ * @param modTransform
+ * the new transform which modifies the current transform.
*/
public void preConcatenateTransform(AffineTransform modTransform) {
transform.preConcatenate(modTransform);
@@ -129,10 +145,10 @@ public class RenderContext implements Cloneable {
/**
* Concatenate the specified transform with the current transform.
*
- * @param modTransform the new transform which modifies the
- * current transform
- *
- * @deprecated use {@link RenderContext#concatenateTransform(AffineTransform)}
+ * @param modTransform
+ * the new transform which modifies the current transform.
+ * @deprecated use
+ * {@link RenderContext#concatenateTransform(AffineTransform)}.
*/
@Deprecated
public void concetenateTransform(AffineTransform modTransform) {
@@ -142,8 +158,8 @@ public class RenderContext implements Cloneable {
/**
* Concatenate the specified transform with the current transform.
*
- * @param modTransform the new transform which modifies the
- * current transform
+ * @param modTransform
+ * the new transform which modifies the current transform.
*/
public void concatenateTransform(AffineTransform modTransform) {
transform.concatenate(modTransform);
@@ -152,7 +168,7 @@ public class RenderContext implements Cloneable {
/**
* Gets the transform.
*
- * @return the transform
+ * @return the transform.
*/
public AffineTransform getTransform() {
return (AffineTransform)transform.clone();
@@ -161,7 +177,8 @@ public class RenderContext implements Cloneable {
/**
* Sets the area of interest.
*
- * @param newAoi the new area of interest
+ * @param newAoi
+ * the new area of interest.
*/
public void setAreaOfInterest(Shape newAoi) {
aoi = newAoi;
@@ -170,7 +187,7 @@ public class RenderContext implements Cloneable {
/**
* Gets the area of interest.
*
- * @return the area of interest
+ * @return the area of interest.
*/
public Shape getAreaOfInterest() {
return aoi;
@@ -179,7 +196,8 @@ public class RenderContext implements Cloneable {
/**
* Sets the rendering hints.
*
- * @param hints the new rendering hints
+ * @param hints
+ * the new rendering hints.
*/
public void setRenderingHints(RenderingHints hints) {
this.hints = hints;
@@ -188,7 +206,7 @@ public class RenderContext implements Cloneable {
/**
* Gets the rendering hints.
*
- * @return the rendering hints
+ * @return the rendering hints.
*/
public RenderingHints getRenderingHints() {
return hints;
diff --git a/awt/java/awt/image/renderable/RenderableImage.java b/awt/java/awt/image/renderable/RenderableImage.java
index 885dc06..21332f7 100644
--- a/awt/java/awt/image/renderable/RenderableImage.java
+++ b/awt/java/awt/image/renderable/RenderableImage.java
@@ -18,6 +18,7 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image.renderable;
import java.awt.RenderingHints;
@@ -25,108 +26,113 @@ import java.awt.image.RenderedImage;
import java.util.Vector;
/**
- * The Interface RenderableImage is implemented by an object that
- * collects all of the image-specific data that defines a single image
- * that could be rendered to different rendering targets.
+ * The Interface RenderableImage is implemented by an object that collects all
+ * of the image-specific data that defines a single image that could be rendered
+ * to different rendering targets.
+ *
+ * @since Android 1.0
*/
public interface RenderableImage {
- /** The Constant HINTS_OBSERVED indicates that the rendering
- * hints are applied rather than ignored. */
+ /**
+ * The Constant HINTS_OBSERVED indicates that the rendering hints are
+ * applied rather than ignored.
+ */
public static final String HINTS_OBSERVED = "HINTS_OBSERVED"; //$NON-NLS-1$
/**
* Gets the property from the RenderableImage's parameter block.
*
- * @param name the name of the property to get.
- *
- * @return the value of the property
+ * @param name
+ * the name of the property to get.
+ * @return the value of the property.
*/
public Object getProperty(String name);
/**
- * Creates the rendered image based on the information contained
- * in the parameters and the render context.
+ * Creates the rendered image based on the information contained in the
+ * parameters and the render context.
*
- * @param renderContext the render context giving rendering specifications
- * such as transformations
- *
- * @return the rendered image
+ * @param renderContext
+ * the render context giving rendering specifications such as
+ * transformations.
+ * @return the rendered image.
*/
public RenderedImage createRendering(RenderContext renderContext);
/**
- * Creates the scaled rendered image based on the information contained
- * in the parameters and the render context.
- *
- * @param w the desired width after scaling or zero if the scaling
- * should be proportional, based on the height
- * @param h the desired height after scaling or zero if the scaling
- * should be proportional, based on the width
- * @param hints the rendering hints to use
+ * Creates the scaled rendered image based on the information contained in
+ * the parameters and the render context.
*
- * @return the rendered image
- *
- * @throws IllegalArgumentException if both the height and width are zero
+ * @param w
+ * the desired width after scaling or zero if the scaling should
+ * be proportional, based on the height.
+ * @param h
+ * the desired height after scaling or zero if the scaling should
+ * be proportional, based on the width.
+ * @param hints
+ * the rendering hints to use.
+ * @return the rendered image.
+ * @throws IllegalArgumentException
+ * if both the height and width are zero.
*/
public RenderedImage createScaledRendering(int w, int h, RenderingHints hints);
/**
* Gets the vector of sources from the parameter block.
*
- * @return the sources
+ * @return the sources.
*/
public Vector<RenderableImage> getSources();
/**
* Gets the names of all of the supported properties in the current context.
*
- * @return the property names
+ * @return the property names.
*/
public String[] getPropertyNames();
/**
- * Creates the default rendering (using the identity transform
- * and default render context).
+ * Creates the default rendering (using the identity transform and default
+ * render context).
*
- * @return the rendered image
+ * @return the rendered image.
*/
public RenderedImage createDefaultRendering();
/**
* Checks if this context supports dynamic rendering.
*
- * @return true, if this context supports dynamic rendering
+ * @return true, if this context supports dynamic rendering.
*/
public boolean isDynamic();
/**
* Gets the width of the image.
*
- * @return the width of the image
+ * @return the width of the image.
*/
public float getWidth();
/**
* Gets the y coordinate of the upper left corner.
*
- * @return the y coordinate of the upper left corner
+ * @return the y coordinate of the upper left corner.
*/
public float getMinY();
/**
* Gets the x coordinate of the upper left corner.
*
- * @return the x coordinate of the upper left corner
+ * @return the x coordinate of the upper left corner.
*/
public float getMinX();
/**
* Gets the height of the image.
*
- * @return the height of the image
+ * @return the height of the image.
*/
public float getHeight();
}
-
diff --git a/awt/java/awt/image/renderable/RenderableImageOp.java b/awt/java/awt/image/renderable/RenderableImageOp.java
index 993ba5f..dc45372 100644
--- a/awt/java/awt/image/renderable/RenderableImageOp.java
+++ b/awt/java/awt/image/renderable/RenderableImageOp.java
@@ -18,6 +18,7 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image.renderable;
import java.awt.RenderingHints;
@@ -29,35 +30,44 @@ import java.util.Vector;
import org.apache.harmony.awt.internal.nls.Messages;
/**
- * The Class RenderableImageOp is a basic implementation of RenderableImage,
- * with methods to access the parameter data and perform rendering
- * operations.
+ * The Class RenderableImageOp is a basic implementation of RenderableImage,
+ * with methods to access the parameter data and perform rendering operations.
+ *
+ * @since Android 1.0
*/
public class RenderableImageOp implements RenderableImage {
- /** The CRIF. */
+ /**
+ * The CRIF.
+ */
ContextualRenderedImageFactory CRIF;
-
- /** The param block. */
+
+ /**
+ * The param block.
+ */
ParameterBlock paramBlock;
-
- /** The height. */
+
+ /**
+ * The height.
+ */
float minX, minY, width, height;
/**
* Instantiates a new renderable image op.
*
- * @param CRIF the cRIF
- * @param paramBlock the param block
+ * @param CRIF
+ * the cRIF.
+ * @param paramBlock
+ * the param block.
*/
public RenderableImageOp(ContextualRenderedImageFactory CRIF, ParameterBlock paramBlock) {
this.CRIF = CRIF;
- this.paramBlock = (ParameterBlock) paramBlock.clone();
+ this.paramBlock = (ParameterBlock)paramBlock.clone();
Rectangle2D r = CRIF.getBounds2D(paramBlock);
- minX = (float) r.getMinX();
- minY = (float) r.getMinY();
- width = (float) r.getWidth();
- height = (float) r.getHeight();
+ minX = (float)r.getMinX();
+ minY = (float)r.getMinY();
+ width = (float)r.getWidth();
+ height = (float)r.getHeight();
}
public Object getProperty(String name) {
@@ -67,27 +77,27 @@ public class RenderableImageOp implements RenderableImage {
/**
* Sets the parameter block.
*
- * @param paramBlock the param block
- *
- * @return the parameter block
+ * @param paramBlock
+ * the param block.
+ * @return the parameter block.
*/
public ParameterBlock setParameterBlock(ParameterBlock paramBlock) {
ParameterBlock oldParam = this.paramBlock;
- this.paramBlock = (ParameterBlock) paramBlock.clone();
+ this.paramBlock = (ParameterBlock)paramBlock.clone();
return oldParam;
}
public RenderedImage createRendering(RenderContext renderContext) {
Vector<RenderableImage> sources = getSources();
- ParameterBlock rdParam = (ParameterBlock) paramBlock.clone();
+ ParameterBlock rdParam = (ParameterBlock)paramBlock.clone();
if (sources != null) {
Vector<Object> rdSources = new Vector<Object>();
int i = 0;
while (i < sources.size()) {
- RenderContext newContext = CRIF.mapRenderContext(i, renderContext, paramBlock,
- this);
+ RenderContext newContext = CRIF
+ .mapRenderContext(i, renderContext, paramBlock, this);
RenderedImage rdim = sources.elementAt(i).createRendering(newContext);
if (rdim != null) {
@@ -103,20 +113,20 @@ public class RenderableImageOp implements RenderableImage {
}
public RenderedImage createScaledRendering(int w, int h, RenderingHints hints) {
- if(w == 0 && h == 0) {
+ if (w == 0 && h == 0) {
// awt.60=Width and Height mustn't be equal zero both
throw new IllegalArgumentException(Messages.getString("awt.60")); //$NON-NLS-1$
}
- if(w == 0){
- w = Math.round(h*(getWidth()/getHeight()));
+ if (w == 0) {
+ w = Math.round(h * (getWidth() / getHeight()));
}
- if(h == 0){
- h = Math.round(w*(getHeight()/getWidth()));
+ if (h == 0) {
+ h = Math.round(w * (getHeight() / getWidth()));
}
- double sx = (double)w/getWidth();
- double sy = (double)h/getHeight();
+ double sx = (double)w / getWidth();
+ double sy = (double)h / getHeight();
AffineTransform at = AffineTransform.getScaleInstance(sx, sy);
RenderContext context = new RenderContext(at, hints);
@@ -124,15 +134,15 @@ public class RenderableImageOp implements RenderableImage {
}
public Vector<RenderableImage> getSources() {
- if(paramBlock.getNumSources() == 0) {
+ if (paramBlock.getNumSources() == 0) {
return null;
}
Vector<RenderableImage> v = new Vector<RenderableImage>();
- int i = 0;
- while(i < paramBlock.getNumSources()){
+ int i = 0;
+ while (i < paramBlock.getNumSources()) {
Object o = paramBlock.getSource(i);
- if(o instanceof RenderableImage){
- v.addElement((RenderableImage) o);
+ if (o instanceof RenderableImage) {
+ v.addElement((RenderableImage)o);
}
i++;
}
@@ -179,4 +189,3 @@ public class RenderableImageOp implements RenderableImage {
}
}
-
diff --git a/awt/java/awt/image/renderable/RenderableImageProducer.java b/awt/java/awt/image/renderable/RenderableImageProducer.java
index 7fda98c..e83ebc7 100644
--- a/awt/java/awt/image/renderable/RenderableImageProducer.java
+++ b/awt/java/awt/image/renderable/RenderableImageProducer.java
@@ -18,6 +18,7 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image.renderable;
import java.awt.image.ColorModel;
@@ -28,25 +29,35 @@ import java.awt.image.RenderedImage;
import java.util.Vector;
/**
- * The Class RenderableImageProducer provides the implementation for
- * the image rendering.
+ * The Class RenderableImageProducer provides the implementation for the image
+ * rendering.
+ *
+ * @since Android 1.0
*/
public class RenderableImageProducer implements ImageProducer, Runnable {
- /** The rbl. */
+ /**
+ * The rbl.
+ */
RenderableImage rbl;
-
- /** The rc. */
+
+ /**
+ * The rc.
+ */
RenderContext rc;
-
- /** The consumers. */
+
+ /**
+ * The consumers.
+ */
Vector<ImageConsumer> consumers = new Vector<ImageConsumer>();
/**
* Instantiates a new renderable image producer.
*
- * @param rdblImage the rdbl image
- * @param rc the rc
+ * @param rdblImage
+ * the rdbl image.
+ * @param rc
+ * the rc.
*/
public RenderableImageProducer(RenderableImage rdblImage, RenderContext rc) {
this.rbl = rdblImage;
@@ -56,7 +67,8 @@ public class RenderableImageProducer implements ImageProducer, Runnable {
/**
* Sets the render context.
*
- * @param rc the new render context
+ * @param rc
+ * the new render context.
*/
public synchronized void setRenderContext(RenderContext rc) {
this.rc = rc;
@@ -72,16 +84,17 @@ public class RenderableImageProducer implements ImageProducer, Runnable {
t.start();
}
- public void requestTopDownLeftRightResend(ImageConsumer ic) {}
+ public void requestTopDownLeftRightResend(ImageConsumer ic) {
+ }
public synchronized void removeConsumer(ImageConsumer ic) {
- if(ic != null) {
+ if (ic != null) {
consumers.removeElement(ic);
}
}
public synchronized void addConsumer(ImageConsumer ic) {
- if(ic != null && !consumers.contains(ic)){
+ if (ic != null && !consumers.contains(ic)) {
consumers.addElement(ic);
}
}
@@ -90,19 +103,19 @@ public class RenderableImageProducer implements ImageProducer, Runnable {
* Creates the rendered image in a new thread.
*/
public void run() {
- if(rbl == null) {
+ if (rbl == null) {
return;
}
RenderedImage rd;
- if(rc != null) {
+ if (rc != null) {
rd = rbl.createRendering(rc);
} else {
rd = rbl.createDefaultRendering();
}
ColorModel cm = rd.getColorModel();
- if(cm == null) {
+ if (cm == null) {
cm = ColorModel.getRGBdefault();
}
@@ -112,17 +125,15 @@ public class RenderableImageProducer implements ImageProducer, Runnable {
for (ImageConsumer c : consumers) {
c.setDimensions(w, h);
- c.setHints(ImageConsumer.TOPDOWNLEFTRIGHT |
- ImageConsumer.COMPLETESCANLINES |
- ImageConsumer.SINGLEFRAME |
- ImageConsumer.SINGLEPASS);
+ c.setHints(ImageConsumer.TOPDOWNLEFTRIGHT | ImageConsumer.COMPLETESCANLINES
+ | ImageConsumer.SINGLEFRAME | ImageConsumer.SINGLEPASS);
}
int scanLine[] = new int[w];
int pixel[] = null;
- for(int y = 0; y < h; y++){
- for(int x = 0; x < w; x++){
+ for (int y = 0; y < h; y++) {
+ for (int x = 0; x < w; x++) {
pixel = r.getPixel(x, y, pixel);
scanLine[x] = cm.getDataElement(pixel, 0);
}
@@ -138,4 +149,3 @@ public class RenderableImageProducer implements ImageProducer, Runnable {
}
}
-
diff --git a/awt/java/awt/image/renderable/RenderedImageFactory.java b/awt/java/awt/image/renderable/RenderedImageFactory.java
index 345d82c..881a40a 100644
--- a/awt/java/awt/image/renderable/RenderedImageFactory.java
+++ b/awt/java/awt/image/renderable/RenderedImageFactory.java
@@ -18,26 +18,29 @@
* @author Igor V. Stolyarov
* @version $Revision$
*/
+
package java.awt.image.renderable;
import java.awt.RenderingHints;
import java.awt.image.RenderedImage;
/**
- * A factory for creating RenderedImage objects based on parameters
- * and rendering hints.
+ * A factory for creating RenderedImage objects based on parameters and
+ * rendering hints.
+ *
+ * @since Android 1.0
*/
public interface RenderedImageFactory {
/**
* Creates the rendered image.
*
- * @param a0 the ParameterBlock
- * @param a1 the RenderingHints
- *
- * @return the rendered image
+ * @param a0
+ * the ParameterBlock.
+ * @param a1
+ * the RenderingHints.
+ * @return the rendered image.
*/
public RenderedImage create(ParameterBlock a0, RenderingHints a1);
}
-
diff --git a/awt/java/awt/image/renderable/package.html b/awt/java/awt/image/renderable/package.html
new file mode 100644
index 0000000..43aaabc
--- /dev/null
+++ b/awt/java/awt/image/renderable/package.html
@@ -0,0 +1,8 @@
+<html>
+ <body>
+ <p>
+ This package contains classes to create images which are rendering-independent.
+ </p>
+ @since Android 1.0
+ </body>
+</html>
diff --git a/awt/java/awt/package.html b/awt/java/awt/package.html
new file mode 100644
index 0000000..5a6f9f0
--- /dev/null
+++ b/awt/java/awt/package.html
@@ -0,0 +1,8 @@
+<html>
+ <body>
+ <p>
+ This package contains classes and interfaces for creating (graphical) user interfaces (GUI), painting 2D graphics and creating, manipulating and drawing images.
+ </p>
+ @since Android 1.0
+ </body>
+</html>
diff --git a/awt/java/beans/IndexedPropertyChangeEvent.java b/awt/java/beans/IndexedPropertyChangeEvent.java
deleted file mode 100644
index c9084c6..0000000
--- a/awt/java/beans/IndexedPropertyChangeEvent.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package java.beans;
-
-/**
- * A type of {@link PropertyChangeEvent} that indicates that an indexed property
- * has changed.
- *
- * @since 1.5
- */
-public class IndexedPropertyChangeEvent extends PropertyChangeEvent {
-
- private static final long serialVersionUID = -320227448495806870L;
-
- private final int index;
-
- /**
- * Creates a new property changed event with an indication of the property
- * index.
- *
- * @param source
- * the changed bean.
- * @param propertyName
- * the changed property, or <code>null</code> to indicate an
- * unspecified set of the properties have changed.
- * @param oldValue
- * the previous value of the property, or <code>null</code> if
- * the <code>propertyName</code> is <code>null</code> or the
- * previous value is unknown.
- * @param newValue
- * the new value of the property, or <code>null</code> if the
- * <code>propertyName</code> is <code>null</code> or the new
- * value is unknown..
- * @param index
- * the index of the property.
- */
- public IndexedPropertyChangeEvent(Object source, String propertyName,
- Object oldValue, Object newValue, int index) {
- super(source, propertyName, oldValue, newValue);
- this.index = index;
- }
-
- /**
- * Answer the index of the property that was changed in this event.
- *
- * @return The property element index.
- */
- public int getIndex() {
- return index;
- }
-}
diff --git a/awt/java/beans/PropertyChangeEvent.java b/awt/java/beans/PropertyChangeEvent.java
deleted file mode 100644
index 97c703a..0000000
--- a/awt/java/beans/PropertyChangeEvent.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package java.beans;
-
-import java.util.EventObject;
-
-public class PropertyChangeEvent extends EventObject {
-
- private static final long serialVersionUID = 7042693688939648123L;
-
- String propertyName;
-
- Object oldValue;
-
- Object newValue;
-
- Object propagationId;
-
- public PropertyChangeEvent(Object source, String propertyName,
- Object oldValue, Object newValue) {
- super(source);
-
- this.propertyName = propertyName;
- this.oldValue = oldValue;
- this.newValue = newValue;
- }
-
- public String getPropertyName() {
- return propertyName;
- }
-
- public void setPropagationId(Object propagationId) {
- this.propagationId = propagationId;
- }
-
- public Object getPropagationId() {
- return propagationId;
- }
-
- public Object getOldValue() {
- return oldValue;
- }
-
- public Object getNewValue() {
- return newValue;
- }
-}
diff --git a/awt/java/beans/PropertyChangeListener.java b/awt/java/beans/PropertyChangeListener.java
deleted file mode 100644
index 94422c0..0000000
--- a/awt/java/beans/PropertyChangeListener.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package java.beans;
-
-import java.util.EventListener;
-
-public interface PropertyChangeListener extends EventListener {
-
- public void propertyChange(PropertyChangeEvent event);
-}
diff --git a/awt/java/beans/PropertyChangeListenerProxy.java b/awt/java/beans/PropertyChangeListenerProxy.java
deleted file mode 100644
index f4f3aec..0000000
--- a/awt/java/beans/PropertyChangeListenerProxy.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package java.beans;
-
-import java.util.EventListenerProxy;
-
-public class PropertyChangeListenerProxy extends EventListenerProxy implements
- PropertyChangeListener {
-
- String propertyName;
-
- public PropertyChangeListenerProxy(String propertyName,
- PropertyChangeListener listener) {
- super(listener);
- this.propertyName = propertyName;
- }
-
- public String getPropertyName() {
- return propertyName;
- }
-
- public void propertyChange(PropertyChangeEvent event) {
- PropertyChangeListener listener = (PropertyChangeListener) getListener();
- listener.propertyChange(event);
- }
-}
diff --git a/awt/java/beans/PropertyChangeSupport.java b/awt/java/beans/PropertyChangeSupport.java
deleted file mode 100644
index d56e63a..0000000
--- a/awt/java/beans/PropertyChangeSupport.java
+++ /dev/null
@@ -1,351 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package java.beans;
-
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-public class PropertyChangeSupport implements Serializable {
-
- private static final long serialVersionUID = 6401253773779951803l;
-
- private transient Object sourceBean;
-
- private transient List<PropertyChangeListener> allPropertiesChangeListeners =
- new ArrayList<PropertyChangeListener>();
-
- private transient Map<String, List<PropertyChangeListener>>
- selectedPropertiesChangeListeners =
- new HashMap<String, List<PropertyChangeListener>>();
-
- // fields for serialization compatibility
- private Hashtable<String, List<PropertyChangeListener>> children;
-
- private Object source;
-
- private int propertyChangeSupportSerializedDataVersion = 1;
-
- public PropertyChangeSupport(Object sourceBean) {
- if (sourceBean == null) {
- throw new NullPointerException();
- }
- this.sourceBean = sourceBean;
- }
-
- public void firePropertyChange(String propertyName, Object oldValue,
- Object newValue) {
- PropertyChangeEvent event = createPropertyChangeEvent(propertyName,
- oldValue, newValue);
- doFirePropertyChange(event);
- }
-
- public void fireIndexedPropertyChange(String propertyName, int index,
- Object oldValue, Object newValue) {
-
- // nulls and equals check done in doFire...
- doFirePropertyChange(new IndexedPropertyChangeEvent(sourceBean,
- propertyName, oldValue, newValue, index));
- }
-
- public synchronized void removePropertyChangeListener(String propertyName,
- PropertyChangeListener listener) {
- if ((propertyName != null) && (listener != null)) {
- List<PropertyChangeListener> listeners =
- selectedPropertiesChangeListeners.get(propertyName);
-
- if (listeners != null) {
- listeners.remove(listener);
- }
- }
- }
-
- public synchronized void addPropertyChangeListener(String propertyName,
- PropertyChangeListener listener) {
- if ((listener != null) && (propertyName != null)) {
- List<PropertyChangeListener> listeners =
- selectedPropertiesChangeListeners.get(propertyName);
-
- if (listeners == null) {
- listeners = new ArrayList<PropertyChangeListener>();
- selectedPropertiesChangeListeners.put(propertyName, listeners);
- }
-
- // RI compatibility
- if (listener instanceof PropertyChangeListenerProxy) {
- PropertyChangeListenerProxy proxy =
- (PropertyChangeListenerProxy) listener;
-
- listeners.add(new PropertyChangeListenerProxy(
- proxy.getPropertyName(),
- (PropertyChangeListener) proxy.getListener()));
- } else {
- listeners.add(listener);
- }
- }
- }
-
- public synchronized PropertyChangeListener[] getPropertyChangeListeners(
- String propertyName) {
- List<PropertyChangeListener> listeners = null;
-
- if (propertyName != null) {
- listeners = selectedPropertiesChangeListeners.get(propertyName);
- }
-
- return (listeners == null) ? new PropertyChangeListener[] {}
- : listeners.toArray(
- new PropertyChangeListener[listeners.size()]);
- }
-
- public void firePropertyChange(String propertyName, boolean oldValue,
- boolean newValue) {
- PropertyChangeEvent event = createPropertyChangeEvent(propertyName,
- oldValue, newValue);
- doFirePropertyChange(event);
- }
-
- public void fireIndexedPropertyChange(String propertyName, int index,
- boolean oldValue, boolean newValue) {
-
- if (oldValue != newValue) {
- fireIndexedPropertyChange(propertyName, index, Boolean
- .valueOf(oldValue), Boolean.valueOf(newValue));
- }
- }
-
- public void firePropertyChange(String propertyName, int oldValue,
- int newValue) {
- PropertyChangeEvent event = createPropertyChangeEvent(propertyName,
- oldValue, newValue);
- doFirePropertyChange(event);
- }
-
- public void fireIndexedPropertyChange(String propertyName, int index,
- int oldValue, int newValue) {
-
- if (oldValue != newValue) {
- fireIndexedPropertyChange(propertyName, index,
- new Integer(oldValue), new Integer(newValue));
- }
- }
-
- public synchronized boolean hasListeners(String propertyName) {
- boolean result = allPropertiesChangeListeners.size() > 0;
- if (!result && (propertyName != null)) {
- List<PropertyChangeListener> listeners =
- selectedPropertiesChangeListeners.get(propertyName);
- if (listeners != null) {
- result = listeners.size() > 0;
- }
- }
- return result;
- }
-
- public synchronized void removePropertyChangeListener(
- PropertyChangeListener listener) {
- if (listener != null) {
- if (listener instanceof PropertyChangeListenerProxy) {
- String name = ((PropertyChangeListenerProxy) listener)
- .getPropertyName();
- PropertyChangeListener lst = (PropertyChangeListener)
- ((PropertyChangeListenerProxy) listener).getListener();
-
- removePropertyChangeListener(name, lst);
- } else {
- allPropertiesChangeListeners.remove(listener);
- }
- }
- }
-
- public synchronized void addPropertyChangeListener(
- PropertyChangeListener listener) {
- if (listener != null) {
- if (listener instanceof PropertyChangeListenerProxy) {
- String name = ((PropertyChangeListenerProxy) listener)
- .getPropertyName();
- PropertyChangeListener lst = (PropertyChangeListener)
- ((PropertyChangeListenerProxy) listener).getListener();
- addPropertyChangeListener(name, lst);
- } else {
- allPropertiesChangeListeners.add(listener);
- }
- }
- }
-
- public synchronized PropertyChangeListener[] getPropertyChangeListeners() {
- ArrayList<PropertyChangeListener> result =
- new ArrayList<PropertyChangeListener>(
- allPropertiesChangeListeners);
-
- for (String propertyName : selectedPropertiesChangeListeners.keySet()) {
- List<PropertyChangeListener> selectedListeners =
- selectedPropertiesChangeListeners.get(propertyName);
-
- if (selectedListeners != null) {
-
- for (PropertyChangeListener listener : selectedListeners) {
- result.add(new PropertyChangeListenerProxy(propertyName,
- listener));
- }
- }
- }
-
- return result.toArray(new PropertyChangeListener[result.size()]);
- }
-
- private void writeObject(ObjectOutputStream oos) throws IOException {
- List<PropertyChangeListener> allSerializedPropertiesChangeListeners =
- new ArrayList<PropertyChangeListener>();
-
- for (PropertyChangeListener pcl : allPropertiesChangeListeners) {
- if (pcl instanceof Serializable) {
- allSerializedPropertiesChangeListeners.add(pcl);
- }
- }
-
- Map<String, List<PropertyChangeListener>>
- selectedSerializedPropertiesChangeListeners =
- new HashMap<String, List<PropertyChangeListener>>();
-
- for (String propertyName : selectedPropertiesChangeListeners.keySet()) {
- List<PropertyChangeListener> keyValues =
- selectedPropertiesChangeListeners.get(propertyName);
-
- if (keyValues != null) {
- List<PropertyChangeListener> serializedPropertiesChangeListeners
- = new ArrayList<PropertyChangeListener>();
-
- for (PropertyChangeListener pcl : keyValues) {
- if (pcl instanceof Serializable) {
- serializedPropertiesChangeListeners.add(pcl);
- }
- }
-
- if (!serializedPropertiesChangeListeners.isEmpty()) {
- selectedSerializedPropertiesChangeListeners.put(
- propertyName, serializedPropertiesChangeListeners);
- }
- }
- }
-
- children = new Hashtable<String, List<PropertyChangeListener>>(
- selectedSerializedPropertiesChangeListeners);
- children.put("", allSerializedPropertiesChangeListeners); //$NON-NLS-1$
- oos.writeObject(children);
-
- Object source = null;
- if (sourceBean instanceof Serializable) {
- source = sourceBean;
- }
- oos.writeObject(source);
-
- oos.writeInt(propertyChangeSupportSerializedDataVersion);
- }
-
- @SuppressWarnings("unchecked")
- private void readObject(ObjectInputStream ois) throws IOException,
- ClassNotFoundException {
- children = (Hashtable<String, List<PropertyChangeListener>>) ois
- .readObject();
-
- selectedPropertiesChangeListeners = new HashMap<String, List<PropertyChangeListener>>(
- children);
- allPropertiesChangeListeners = selectedPropertiesChangeListeners
- .remove(""); //$NON-NLS-1$
- if (allPropertiesChangeListeners == null) {
- allPropertiesChangeListeners = new ArrayList<PropertyChangeListener>();
- }
-
- sourceBean = ois.readObject();
- propertyChangeSupportSerializedDataVersion = ois.readInt();
- }
-
- public void firePropertyChange(PropertyChangeEvent event) {
- doFirePropertyChange(event);
- }
-
- private PropertyChangeEvent createPropertyChangeEvent(String propertyName,
- Object oldValue, Object newValue) {
- return new PropertyChangeEvent(sourceBean, propertyName, oldValue,
- newValue);
- }
-
- private PropertyChangeEvent createPropertyChangeEvent(String propertyName,
- boolean oldValue, boolean newValue) {
- return new PropertyChangeEvent(sourceBean, propertyName, oldValue,
- newValue);
- }
-
- private PropertyChangeEvent createPropertyChangeEvent(String propertyName,
- int oldValue, int newValue) {
- return new PropertyChangeEvent(sourceBean, propertyName, oldValue,
- newValue);
- }
-
- private void doFirePropertyChange(PropertyChangeEvent event) {
- String propertyName = event.getPropertyName();
- Object oldValue = event.getOldValue();
- Object newValue = event.getNewValue();
-
- if ((newValue != null) && (oldValue != null)
- && newValue.equals(oldValue)) {
- return;
- }
-
- /*
- * Copy the listeners collections so they can be modified while we fire
- * events.
- */
-
- // Listeners to all property change events
- PropertyChangeListener[] listensToAll;
- // Listens to a given property change
- PropertyChangeListener[] listensToOne = null;
- synchronized (this) {
- listensToAll = allPropertiesChangeListeners
- .toArray(new PropertyChangeListener[allPropertiesChangeListeners
- .size()]);
-
- List<PropertyChangeListener> listeners = selectedPropertiesChangeListeners
- .get(propertyName);
- if (listeners != null) {
- listensToOne = listeners
- .toArray(new PropertyChangeListener[listeners.size()]);
- }
- }
-
- // Fire the listeners
- for (PropertyChangeListener listener : listensToAll) {
- listener.propertyChange(event);
- }
- if (listensToOne != null) {
- for (PropertyChangeListener listener : listensToOne) {
- listener.propertyChange(event);
- }
- }
- }
-
-}
diff --git a/awt/javax/imageio/IIOException.java b/awt/javax/imageio/IIOException.java
index fbfeb42..c77716c 100644
--- a/awt/javax/imageio/IIOException.java
+++ b/awt/javax/imageio/IIOException.java
@@ -18,22 +18,28 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.3 $
*/
+
package javax.imageio;
import java.io.IOException;
/**
* The IIOException class indicates errors in reading/writing operations.
+ *
+ * @since Android 1.0
*/
public class IIOException extends IOException {
- /** The Constant serialVersionUID. */
+ /**
+ * The Constant serialVersionUID.
+ */
private static final long serialVersionUID = -3216210718638985251L;
/**
* Instantiates a new IIOException.
*
- * @param message the detailed message.
+ * @param message
+ * the detailed message.
*/
public IIOException(String message) {
super(message);
@@ -42,8 +48,10 @@ public class IIOException extends IOException {
/**
* Instantiates a new IIOException.
*
- * @param message the detailed message.
- * @param cause the cause of this exception.
+ * @param message
+ * the detailed message.
+ * @param cause
+ * the cause of this exception.
*/
public IIOException(String message, Throwable cause) {
super(message);
diff --git a/awt/javax/imageio/IIOImage.java b/awt/javax/imageio/IIOImage.java
index e17a9fc..e9e5130 100644
--- a/awt/javax/imageio/IIOImage.java
+++ b/awt/javax/imageio/IIOImage.java
@@ -18,6 +18,7 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.3 $
*/
+
package javax.imageio;
import javax.imageio.metadata.IIOMetadata;
@@ -27,33 +28,47 @@ import java.awt.image.BufferedImage;
import java.util.List;
/**
- * The IIOImage class combines the image, image's thumbnail and image's metadata.
- * The image can be presented as RenderedImage or Raster object.
+ * The IIOImage class combines the image, image's thumbnail and image's
+ * metadata. The image can be presented as RenderedImage or Raster object.
+ *
+ * @since Android 1.0
*/
public class IIOImage {
- /** The image of this IIOImage. */
+ /**
+ * The image of this IIOImage.
+ */
protected RenderedImage image;
-
- /** The raster of this IIOImage. */
+
+ /**
+ * The raster of this IIOImage.
+ */
protected Raster raster;
-
- /** The list with thumbnails associated with the image. */
+
+ /**
+ * The list with thumbnails associated with the image.
+ */
protected List<? extends BufferedImage> thumbnails;
-
- /** The metadata associated with the image. */
+
+ /**
+ * The metadata associated with the image.
+ */
protected IIOMetadata metadata;
/**
- * Instantiates a new IIOImage with the specified RenderedImage,
- * list of thumbnails and metadata.
+ * Instantiates a new IIOImage with the specified RenderedImage, list of
+ * thumbnails and metadata.
*
- * @param image the image specified by RenderedImage.
- * @param thumbnails the list of BufferedImage objects which
- * represent the thumbnails of the image.
- * @param metadata the metadata of the image.
+ * @param image
+ * the image specified by RenderedImage.
+ * @param thumbnails
+ * the list of BufferedImage objects which represent the
+ * thumbnails of the image.
+ * @param metadata
+ * the metadata of the image.
*/
- public IIOImage(RenderedImage image, List<? extends BufferedImage> thumbnails, IIOMetadata metadata) {
+ public IIOImage(RenderedImage image, List<? extends BufferedImage> thumbnails,
+ IIOMetadata metadata) {
if (image == null) {
throw new IllegalArgumentException("image should not be NULL");
}
@@ -64,13 +79,16 @@ public class IIOImage {
}
/**
- * Instantiates a new IIOImage with the specified Raster, list of
- * thumbnails and metadata.
+ * Instantiates a new IIOImage with the specified Raster, list of thumbnails
+ * and metadata.
*
- * @param raster the Raster.
- * @param thumbnails the list of BufferedImage objects which
- * represent the thumbnails of Raster data.
- * @param metadata the metadata.
+ * @param raster
+ * the Raster.
+ * @param thumbnails
+ * the list of BufferedImage objects which represent the
+ * thumbnails of Raster data.
+ * @param metadata
+ * the metadata.
*/
public IIOImage(Raster raster, List<? extends BufferedImage> thumbnails, IIOMetadata metadata) {
if (raster == null) {
@@ -83,11 +101,11 @@ public class IIOImage {
}
/**
- * Gets the RenderedImage object or returns null if this IIOImage
- * object is associated with a Raster.
+ * Gets the RenderedImage object or returns null if this IIOImage object is
+ * associated with a Raster.
*
- * @return the RenderedImage object or null if this IIOImage
- * object is associated with a Raster.
+ * @return the RenderedImage object or null if this IIOImage object is
+ * associated with a Raster.
*/
public RenderedImage getRenderedImage() {
return image;
@@ -96,7 +114,8 @@ public class IIOImage {
/**
* Sets the RenderedImage to this IIOImage object.
*
- * @param image the RenderedImage to be set to this IIOImage.
+ * @param image
+ * the RenderedImage to be set to this IIOImage.
*/
public void setRenderedImage(RenderedImage image) {
if (image == null) {
@@ -107,11 +126,11 @@ public class IIOImage {
}
/**
- * Returns true if the IIOImage object associated with a Raster, or
- * false if it's associated with a RenderedImage.
+ * Returns true if the IIOImage object associated with a Raster, or false if
+ * it's associated with a RenderedImage.
*
- * @return true if the IIOImage object associated with a Raster, or
- * false if it's associated with a RenderedImage.
+ * @return true, if the IIOImage object associated with a Raster, or false
+ * if it's associated with a RenderedImage.
*/
public boolean hasRaster() {
return raster != null;
@@ -121,8 +140,8 @@ public class IIOImage {
* Gets the Raster object or returns null if this IIOImage object is
* associated with a RenderedImage.
*
- * @return the Raster or null if this IIOImage object
- * is associated with a RenderedImage.
+ * @return the Raster or null if this IIOImage object is associated with a
+ * RenderedImage.
*/
public Raster getRaster() {
return raster;
@@ -131,7 +150,8 @@ public class IIOImage {
/**
* Sets the Raster to the IIOImage.
*
- * @param raster the new Raster to the IIOImage.
+ * @param raster
+ * the new Raster to the IIOImage.
*/
public void setRaster(Raster raster) {
if (raster == null) {
@@ -153,8 +173,8 @@ public class IIOImage {
/**
* Gets the thumbnail with the specified index in the list.
*
- * @param index the index of the thumbnail in the list.
- *
+ * @param index
+ * the index of the thumbnail in the list.
* @return the thumbnail with the specified index in the list.
*/
public BufferedImage getThumbnail(int index) {
@@ -176,8 +196,8 @@ public class IIOImage {
/**
* Sets the list of thumbnails images to this IIOImage object.
*
- * @param thumbnails the list of BufferedImage which represent
- * thumbnails.
+ * @param thumbnails
+ * the list of BufferedImage which represent thumbnails.
*/
public void setThumbnails(List<? extends BufferedImage> thumbnails) {
this.thumbnails = thumbnails;
@@ -195,7 +215,8 @@ public class IIOImage {
/**
* Sets the metadata to this IIOImage object.
*
- * @param metadata the IIOMetadata, or null.
+ * @param metadata
+ * the IIOMetadata, or null.
*/
public void setMetadata(IIOMetadata metadata) {
this.metadata = metadata;
diff --git a/awt/javax/imageio/IIOParam.java b/awt/javax/imageio/IIOParam.java
index d998b6e..2ccc945 100644
--- a/awt/javax/imageio/IIOParam.java
+++ b/awt/javax/imageio/IIOParam.java
@@ -18,56 +18,80 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.3 $
*/
+
package javax.imageio;
import java.awt.*;
/**
- * The IIOParam abstract class is superclass for
- * ImageReadParam and ImageWriteParam classes and provides
- * methods and variables which they share.
+ * The IIOParam abstract class is superclass for ImageReadParam and
+ * ImageWriteParam classes and provides methods and variables which they share.
+ *
+ * @since Android 1.0
*/
public abstract class IIOParam {
-
- /** The source region. */
+
+ /**
+ * The source region.
+ */
protected Rectangle sourceRegion;
-
- /** The source x subsampling. */
+
+ /**
+ * The source x subsampling.
+ */
protected int sourceXSubsampling = 1;
-
- /** The source y subsampling. */
+
+ /**
+ * The source y subsampling.
+ */
protected int sourceYSubsampling = 1;
-
- /** The subsampling x offset. */
+
+ /**
+ * The subsampling x offset.
+ */
protected int subsamplingXOffset;
-
- /** The subsampling y offset. */
+
+ /**
+ * The subsampling y offset.
+ */
protected int subsamplingYOffset;
-
- /** The source bands. */
+
+ /**
+ * The source bands.
+ */
protected int[] sourceBands;
-
- /** The destination type. */
+
+ /**
+ * The destination type.
+ */
protected ImageTypeSpecifier destinationType;
-
- /** The destination offset. */
+
+ /**
+ * The destination offset.
+ */
protected Point destinationOffset = new Point(0, 0);
-
- /** The default controller. */
+
+ /**
+ * The default controller.
+ */
protected IIOParamController defaultController;
-
- /** The controller. */
+
+ /**
+ * The controller.
+ */
protected IIOParamController controller;
/**
* Instantiates a new IIOParam.
*/
- protected IIOParam() {}
+ protected IIOParam() {
+ }
/**
* Sets the source region as a Rectangle object.
*
- * @param sourceRegion the Rectangle which specifies the source region.
+ * @param sourceRegion
+ * the Rectangle which specifies the source region.
*/
public void setSourceRegion(Rectangle sourceRegion) {
if (sourceRegion != null) {
@@ -91,8 +115,8 @@ public abstract class IIOParam {
if (sourceRegion.height <= subsamplingYOffset) {
throw new IllegalArgumentException("height <= subsamplingXOffset");
}
- //-- clone it to avoid unexpected modifications
- this.sourceRegion = (Rectangle) sourceRegion.clone();
+ // -- clone it to avoid unexpected modifications
+ this.sourceRegion = (Rectangle)sourceRegion.clone();
} else {
this.sourceRegion = null;
}
@@ -107,24 +131,26 @@ public abstract class IIOParam {
if (sourceRegion == null) {
return null;
}
- //-- clone it to avoid unexpected modifications
- return (Rectangle) sourceRegion.clone();
+ // -- clone it to avoid unexpected modifications
+ return (Rectangle)sourceRegion.clone();
}
/**
- * Sets the source subsampling. The sourceXSubsampling and
- * sourceYSubsampling parameters specify the number of rows
- * and columns to advance after every source pixel.
+ * Sets the source subsampling. The sourceXSubsampling and
+ * sourceYSubsampling parameters specify the number of rows and columns to
+ * advance after every source pixel.
*
- * @param sourceXSubsampling the source X subsampling.
- * @param sourceYSubsampling the source Y subsampling.
- * @param subsamplingXOffset the subsampling X offset.
- * @param subsamplingYOffset the subsampling Y offset.
+ * @param sourceXSubsampling
+ * the source X subsampling.
+ * @param sourceYSubsampling
+ * the source Y subsampling.
+ * @param subsamplingXOffset
+ * the subsampling X offset.
+ * @param subsamplingYOffset
+ * the subsampling Y offset.
*/
- public void setSourceSubsampling(int sourceXSubsampling,
- int sourceYSubsampling,
- int subsamplingXOffset,
- int subsamplingYOffset) {
+ public void setSourceSubsampling(int sourceXSubsampling, int sourceYSubsampling,
+ int subsamplingXOffset, int subsamplingYOffset) {
if (sourceXSubsampling <= 0) {
throw new IllegalArgumentException("sourceXSubsampling <= 0");
@@ -141,10 +167,10 @@ public abstract class IIOParam {
throw new IllegalArgumentException("subsamplingYOffset is wrong");
}
- //-- does region contain pixels
+ // -- does region contain pixels
if (sourceRegion != null) {
- if (sourceRegion.width <= subsamplingXOffset ||
- sourceRegion.height <= subsamplingYOffset) {
+ if (sourceRegion.width <= subsamplingXOffset
+ || sourceRegion.height <= subsamplingYOffset) {
throw new IllegalArgumentException("there are no pixels in region");
}
}
@@ -156,8 +182,8 @@ public abstract class IIOParam {
}
/**
- * Gets the source X subsampling - the number of source
- * columns to advance for each pixel.
+ * Gets the source X subsampling - the number of source columns to advance
+ * for each pixel.
*
* @return the source X subsampling.
*/
@@ -166,8 +192,8 @@ public abstract class IIOParam {
}
/**
- * Gets the source Y subsampling - the number of source
- * rows to advance for each pixel.
+ * Gets the source Y subsampling - the number of source rows to advance for
+ * each pixel.
*
* @return the source Y subsampling.
*/
@@ -196,7 +222,8 @@ public abstract class IIOParam {
/**
* Sets the indices of the source bands.
*
- * @param sourceBands the indices of the source bands.
+ * @param sourceBands
+ * the indices of the source bands.
*/
public void setSourceBands(int[] sourceBands) {
// TODO implement
@@ -216,7 +243,8 @@ public abstract class IIOParam {
/**
* Sets the specified ImageTypeSpecifier for the destination image.
*
- * @param destinationType the ImageTypeSpecifier.
+ * @param destinationType
+ * the ImageTypeSpecifier.
*/
public void setDestinationType(ImageTypeSpecifier destinationType) {
// TODO implement
@@ -225,7 +253,7 @@ public abstract class IIOParam {
/**
* Gets the type of the destination image as an ImageTypeSpecifier. .
- *
+ *
* @return the ImageTypeSpecifier.
*/
public ImageTypeSpecifier getDestinationType() {
@@ -234,18 +262,19 @@ public abstract class IIOParam {
}
/**
- * Sets the offset in the destination image where
- * the decoded pixels are placed as a result of reading,
- * or specified an area to be written while writing operation.
+ * Sets the offset in the destination image where the decoded pixels are
+ * placed as a result of reading, or specified an area to be written while
+ * writing operation.
*
- * @param destinationOffset the destination offset.
+ * @param destinationOffset
+ * the destination offset.
*/
public void setDestinationOffset(Point destinationOffset) {
if (destinationOffset == null) {
throw new IllegalArgumentException("destinationOffset == null!");
}
-
- this.destinationOffset = (Point) destinationOffset.clone();
+
+ this.destinationOffset = (Point)destinationOffset.clone();
}
/**
@@ -254,14 +283,15 @@ public abstract class IIOParam {
* @return the offset in the destination image.
*/
public Point getDestinationOffset() {
- return (Point) destinationOffset.clone();
+ return (Point)destinationOffset.clone();
}
/**
- * Sets the IIOParamController to this IIOParam object for
- * providing settings to this IIOParam.
+ * Sets the IIOParamController to this IIOParam object for providing
+ * settings to this IIOParam.
*
- * @param controller the new IIOParamController.
+ * @param controller
+ * the new IIOParamController.
*/
public void setController(IIOParamController controller) {
// TODO implement
@@ -269,11 +299,9 @@ public abstract class IIOParam {
}
/**
- * Gets the current IIOParamController controller
- * for this IIOParam.
+ * Gets the current IIOParamController controller for this IIOParam.
*
- * @return the current IIOParamController controller
- * for this IIOParam.
+ * @return the current IIOParamController controller for this IIOParam.
*/
public IIOParamController getController() {
// TODO implement
@@ -281,11 +309,10 @@ public abstract class IIOParam {
}
/**
- * Gets the default IIOParamController controller
- * for this IIOParam.
+ * Gets the default IIOParamController controller for this IIOParam.
*
- * @return the default IIOParamController controller
- * for this IIOParam, or null.
+ * @return the default IIOParamController controller for this IIOParam, or
+ * null.
*/
public IIOParamController getDefaultController() {
// TODO implement
@@ -293,11 +320,10 @@ public abstract class IIOParam {
}
/**
- * Returns true if IIOParamController is installed for
- * this IIOParam.
+ * Returns true if IIOParamController is installed for this IIOParam.
*
- * @return true if IIOParamController is installed for
- * this IIOParam, false otherwise.
+ * @return true, if IIOParamController is installed for this IIOParam, false
+ * otherwise.
*/
public boolean hasController() {
// TODO implement
diff --git a/awt/javax/imageio/IIOParamController.java b/awt/javax/imageio/IIOParamController.java
index 31522c1..338cb25 100644
--- a/awt/javax/imageio/IIOParamController.java
+++ b/awt/javax/imageio/IIOParamController.java
@@ -18,6 +18,7 @@
* @author Sergey I. Salishev
* @version $Revision: 1.2 $
*/
+
package javax.imageio;
/*
@@ -26,18 +27,19 @@ package javax.imageio;
*/
/**
- * The IIOParamController specifies an activate method that invokes the
+ * The IIOParamController specifies an activate method that invokes the
* controller.
+ *
+ * @since Android 1.0
*/
public interface IIOParamController {
/**
- * Activates the controller.
- *
- * @param param the IIOParam.
+ * Activates the controller.
*
- * @return true if the IIOParam has been modified, false otherwise.
+ * @param param
+ * the IIOParam.
+ * @return true, if the IIOParam has been modified, false otherwise.
*/
boolean activate(IIOParam param);
}
-
diff --git a/awt/javax/imageio/ImageIO.java b/awt/javax/imageio/ImageIO.java
index d4cd1dd..e0d7ec9 100644
--- a/awt/javax/imageio/ImageIO.java
+++ b/awt/javax/imageio/ImageIO.java
@@ -18,6 +18,7 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.3 $
*/
+
package javax.imageio;
import javax.imageio.stream.ImageInputStream;
@@ -34,44 +35,47 @@ import java.awt.image.RenderedImage;
import java.net.URL;
/**
- * The ImageIO class provides static methods to perfom
- * reading and writing operations using registered
- * ImageReader and ImageWriter objects.
+ * The ImageIO class provides static methods to perform reading and writing
+ * operations using registered ImageReader and ImageWriter objects.
+ *
+ * @since Android 1.0
*/
public final class ImageIO {
- /** The Constant registry. */
+ /**
+ * The constant registry.
+ */
private static final IIORegistry registry = IIORegistry.getDefaultInstance();
/**
- * Instantiates a new image io.
+ * Instantiates a new ImageIO.
*/
- private ImageIO() {}
-
+ private ImageIO() {
+ }
/**
- * Scans for plug-ins in the class path,
- * loads spi classes, and registers them with the IIORegistry.
+ * Scans for plug-ins in the class path, loads spi classes, and registers
+ * them with the IIORegistry.
*/
public static void scanForPlugins() {
throw new UnsupportedOperationException("Not supported yet");
}
/**
- * Sets flag which indicates whether a cache file is used when
- * creating ImageInputStreams and ImageOutputStreams or not.
+ * Sets flag which indicates whether a cache file is used when creating
+ * ImageInputStreams and ImageOutputStreams or not.
*
- * @param useCache the use cache flag.
+ * @param useCache
+ * the use cache flag.
*/
public static void setUseCache(boolean useCache) {
throw new UnsupportedOperationException("Not supported yet");
}
/**
- * Gets the flag which indicates whether a cache file is used when
- * creating ImageInputStreams and ImageOutputStreams or not.
- * This method returns the current value which is set by setUseCache
- * method.
+ * Gets the flag which indicates whether a cache file is used when creating
+ * ImageInputStreams and ImageOutputStreams or not. This method returns the
+ * current value which is set by setUseCache method.
*
* @return the use cache flag.
*/
@@ -83,44 +87,44 @@ public final class ImageIO {
/**
* Sets the cache directory.
*
- * @param cacheDirectory the File which specifies a cache directory.
+ * @param cacheDirectory
+ * the File which specifies a cache directory.
*/
public static void setCacheDirectory(File cacheDirectory) {
throw new UnsupportedOperationException("Not supported yet");
}
/**
- * Gets the directory where cache files are created, returned
- * the file which is set by setCacheDirectory method, or null.
+ * Gets the directory where cache files are created, returned the file which
+ * is set by setCacheDirectory method, or null.
*
- * @return the File object which is set by setCacheDirectory method,
- * or null.
+ * @return the File object which is set by setCacheDirectory method, or
+ * null.
*/
public static File getCacheDirectory() {
// TODO implement
- //-- null indicates system-dep default temporary directory
+ // -- null indicates system-dep default temporary directory
return null;
}
/**
- * Creates an ImageInputStream from the specified Object.
- * The specified Object should obtain the input source
- * such as File, or InputStream.
- *
- * @param input the input Object such as File, or InputStream.
+ * Creates an ImageInputStream from the specified Object. The specified
+ * Object should obtain the input source such as File, or InputStream.
*
+ * @param input
+ * the input Object such as File, or InputStream.
* @return the ImageInputStream object, or null.
- *
- * @throws IOException signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
- public static ImageInputStream createImageInputStream(Object input)
- throws IOException {
+ public static ImageInputStream createImageInputStream(Object input) throws IOException {
if (input == null) {
throw new IllegalArgumentException("input source cannot be NULL");
}
- Iterator<ImageInputStreamSpi> it = registry.getServiceProviders(ImageInputStreamSpi.class, true);
+ Iterator<ImageInputStreamSpi> it = registry.getServiceProviders(ImageInputStreamSpi.class,
+ true);
while (it.hasNext()) {
ImageInputStreamSpi spi = it.next();
@@ -132,23 +136,22 @@ public final class ImageIO {
}
/**
- * Creates an ImageOutputStream using the specified Object.
- * The specified Object should obtain the output source
- * such as File, or OutputStream.
- *
- * @param output the output Object such as File, or OutputStream.
+ * Creates an ImageOutputStream using the specified Object. The specified
+ * Object should obtain the output source such as File, or OutputStream.
*
+ * @param output
+ * the output Object such as File, or OutputStream.
* @return the ImageOutputStream object, or null.
- *
- * @throws IOException signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
- public static ImageOutputStream createImageOutputStream(Object output)
- throws IOException {
+ public static ImageOutputStream createImageOutputStream(Object output) throws IOException {
if (output == null) {
throw new IllegalArgumentException("output destination cannot be NULL");
}
- Iterator<ImageOutputStreamSpi> it = registry.getServiceProviders(ImageOutputStreamSpi.class, true);
+ Iterator<ImageOutputStreamSpi> it = registry.getServiceProviders(
+ ImageOutputStreamSpi.class, true);
while (it.hasNext()) {
ImageOutputStreamSpi spi = it.next();
@@ -161,8 +164,8 @@ public final class ImageIO {
}
/**
- * Gets the array of format names as String which can be
- * decoded by registered ImageReader objects.
+ * Gets the array of format names as String which can be decoded by
+ * registered ImageReader objects.
*
* @return the array of format names.
*/
@@ -171,8 +174,8 @@ public final class ImageIO {
}
/**
- * Gets the array of MIME types as String which can be
- * decoded by registered ImageReader objects.
+ * Gets the array of MIME types as String which can be decoded by registered
+ * ImageReader objects.
*
* @return the array of MIME types.
*/
@@ -181,13 +184,13 @@ public final class ImageIO {
}
/**
- * Gets the Iterator of registered ImageReader which are able to
- * decode an imput data specified by input Object.
- *
- * @param input the input Object with encoded data such as
- * ImageInputStream object.
+ * Gets the Iterator of registered ImageReader which are able to decode an
+ * input data specified by input Object.
*
- * @return the Iterator of registered ImageReader.
+ * @param input
+ * the input Object with encoded data such as ImageInputStream
+ * object.
+ * @return the Iterator of registered ImageReader.
*/
public static Iterator<ImageReader> getImageReaders(Object input) {
if (input == null) {
@@ -201,11 +204,11 @@ public final class ImageIO {
}
/**
- * Gets the Iterator of registered ImageReader which are able to
- * decode the specified format.
- *
- * @param formatName the format name such as "jpeg", or "gif".
+ * Gets the Iterator of registered ImageReader which are able to decode the
+ * specified format.
*
+ * @param formatName
+ * the format name such as "jpeg", or "gif".
* @return the Iterator of registered ImageReader.
*/
public static Iterator<ImageReader> getImageReadersByFormatName(String formatName) {
@@ -220,11 +223,11 @@ public final class ImageIO {
}
/**
- * Gets the Iterator which lists the registered ImageReader objects that
- * are able to decode files with the specified suffix.
- *
- * @param fileSuffix the file suffix such as "jpg".
+ * Gets the Iterator which lists the registered ImageReader objects that are
+ * able to decode files with the specified suffix.
*
+ * @param fileSuffix
+ * the file suffix such as "jpg".
* @return the Iterator of registered ImageReaders.
*/
public static Iterator<ImageReader> getImageReadersBySuffix(String fileSuffix) {
@@ -238,11 +241,11 @@ public final class ImageIO {
}
/**
- * Gets the Iterator of registered ImageReader objects that
- * are able to decode files with the specified MIME type.
- *
- * @param MIMEType the MIME type such as "image/jpeg".
+ * Gets the Iterator of registered ImageReader objects that are able to
+ * decode files with the specified MIME type.
*
+ * @param MIMEType
+ * the MIME type such as "image/jpeg".
* @return the Iterator of registered ImageReaders.
*/
public static Iterator<ImageReader> getImageReadersByMIMEType(String MIMEType) {
@@ -250,8 +253,8 @@ public final class ImageIO {
}
/**
- * Gets an array of Strings giving the names of the formats supported
- * by registered ImageWriter objects.
+ * Gets an array of Strings giving the names of the formats supported by
+ * registered ImageWriter objects.
*
* @return the array of format names.
*/
@@ -260,7 +263,7 @@ public final class ImageIO {
}
/**
- * Gets an array of Strings giving the MIME types of the formats supported
+ * Gets an array of Strings giving the MIME types of the formats supported
* by registered ImageWriter objects.
*
* @return the array of MIME types.
@@ -270,11 +273,11 @@ public final class ImageIO {
}
/**
- * Gets the Iterator which lists the registered ImageReader objects that
- * are able to encode the specified image format.
- *
- * @param formatName the image format name such as "jpeg".
+ * Gets the Iterator which lists the registered ImageReader objects that are
+ * able to encode the specified image format.
*
+ * @param formatName
+ * the image format name such as "jpeg".
* @return the Iterator of registered ImageWriter.
*/
public static Iterator<ImageWriter> getImageWritersByFormatName(String formatName) {
@@ -289,11 +292,11 @@ public final class ImageIO {
}
/**
- * Gets the Iterator which lists the registered ImageReader objects that
- * are able to encode the specified suffix.
- *
- * @param fileSuffix the file suffix such as "jpg".
+ * Gets the Iterator which lists the registered ImageReader objects that are
+ * able to encode the specified suffix.
*
+ * @param fileSuffix
+ * the file suffix such as "jpg".
* @return the Iterator of registered ImageWriter.
*/
public static Iterator<ImageWriter> getImageWritersBySuffix(String fileSuffix) {
@@ -306,11 +309,11 @@ public final class ImageIO {
}
/**
- * Gets the Iterator which lists the registered ImageReader objects that
- * are able to encode the specified MIME type.
- *
- * @param MIMEType the MIME type such as "image/jpeg".
+ * Gets the Iterator which lists the registered ImageReader objects that are
+ * able to encode the specified MIME type.
*
+ * @param MIMEType
+ * the MIME type such as "image/jpeg".
* @return the Iterator of registered ImageWriter.
*/
public static Iterator<ImageWriter> getImageWritersByMIMEType(String MIMEType) {
@@ -318,12 +321,12 @@ public final class ImageIO {
}
/**
- * Gets an ImageWriter object which corresponds to the
- * specified ImageReader, or returns null if the specified
- * ImageReader is not registered.
- *
- * @param reader the specified ImageReader.
+ * Gets an ImageWriter object which corresponds to the specified
+ * ImageReader, or returns null if the specified ImageReader is not
+ * registered.
*
+ * @param reader
+ * the specified ImageReader.
* @return the ImageWriter, or null.
*/
public static ImageWriter getImageWriter(ImageReader reader) {
@@ -331,12 +334,12 @@ public final class ImageIO {
}
/**
- * Gets an ImageReader object which corresponds to the
- * specified ImageWriter, or returns null if the specified
- * ImageWriter is not registered.
- *
- * @param writer the registered ImageWriter object.
+ * Gets an ImageReader object which corresponds to the specified
+ * ImageWriter, or returns null if the specified ImageWriter is not
+ * registered.
*
+ * @param writer
+ * the registered ImageWriter object.
* @return the ImageReader.
*/
public static ImageReader getImageReader(ImageWriter writer) {
@@ -344,17 +347,16 @@ public final class ImageIO {
}
/**
- * Gets the Iterator of ImageWriter objects which are able to
- * encode images with the specified ImageTypeSpecifier and
- * format.
- *
- * @param type the ImageTypeSpecifier, which defines layout.
- * @param formatName the format name.
+ * Gets the Iterator of ImageWriter objects which are able to encode images
+ * with the specified ImageTypeSpecifier and format.
*
+ * @param type
+ * the ImageTypeSpecifier, which defines layout.
+ * @param formatName
+ * the format name.
* @return the Iterator of ImageWriter objects.
*/
- public static Iterator<ImageWriter> getImageWriters(ImageTypeSpecifier type,
- String formatName) {
+ public static Iterator<ImageWriter> getImageWriters(ImageTypeSpecifier type, String formatName) {
if (type == null) {
throw new NullPointerException("type cannot be NULL");
}
@@ -370,31 +372,31 @@ public final class ImageIO {
}
/**
- * Gets the Iterator of registered ImageTranscoders which
- * are able to transcode the metadata of the specified
- * ImageReader object to a suitable object for encoding
- * by the specified ImageWriter.
- *
- * @param reader the specified ImageReader.
- * @param writer the specified ImageWriter.
+ * Gets the Iterator of registered ImageTranscoders which are able to
+ * transcode the metadata of the specified ImageReader object to a suitable
+ * object for encoding by the specified ImageWriter.
*
+ * @param reader
+ * the specified ImageReader.
+ * @param writer
+ * the specified ImageWriter.
* @return the Iterator of registered ImageTranscoders.
*/
public static Iterator<ImageTranscoder> getImageTranscoders(ImageReader reader,
- ImageWriter writer) {
+ ImageWriter writer) {
throw new UnsupportedOperationException("Not supported yet");
}
/**
- * Reads image data from the specified File and decodes it using
- * the appropriate registered ImageReader object.
- * The File is wrapped in an ImageInputStream.
- *
- * @param input the File to be read.
+ * Reads image data from the specified File and decodes it using the
+ * appropriate registered ImageReader object. The File is wrapped in an
+ * ImageInputStream.
*
+ * @param input
+ * the File to be read.
* @return the BufferedImage decoded from the specified File, or null.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public static BufferedImage read(File input) throws IOException {
if (input == null) {
@@ -406,15 +408,15 @@ public final class ImageIO {
}
/**
- * Reads image data from the specified InputStream and decodes it
- * using an appropriate registered an ImageReader object.
+ * Reads image data from the specified InputStream and decodes it using an
+ * appropriate registered an ImageReader object.
*
- * @param input the InputStream.
- *
- * @return the BufferedImage decoded from the specified InputStream,
- * or null.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param input
+ * the InputStream.
+ * @return the BufferedImage decoded from the specified InputStream, or
+ * null.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public static BufferedImage read(InputStream input) throws IOException {
if (input == null) {
@@ -426,14 +428,14 @@ public final class ImageIO {
}
/**
- * Reads image data from the specified URL and decodes it using
- * the appropriate registered ImageReader object.
- *
- * @param input the URL to be read.
+ * Reads image data from the specified URL and decodes it using the
+ * appropriate registered ImageReader object.
*
+ * @param input
+ * the URL to be read.
* @return the BufferedImage decoded from the specified URL, or null.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public static BufferedImage read(URL input) throws IOException {
if (input == null) {
@@ -443,20 +445,20 @@ public final class ImageIO {
InputStream stream = input.openStream();
BufferedImage res = read(stream);
stream.close();
-
+
return res;
}
/**
- * Reads image data from the specified ImageInputStream and decodes it
- * using appropriate registered an ImageReader object.
- *
- * @param stream the ImageInputStream.
+ * Reads image data from the specified ImageInputStream and decodes it using
+ * appropriate registered an ImageReader object.
*
- * @return the BufferedImage decoded from the specified ImageInputStream,
- * or null.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param stream
+ * the ImageInputStream.
+ * @return the BufferedImage decoded from the specified ImageInputStream, or
+ * null.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public static BufferedImage read(ImageInputStream stream) throws IOException {
if (stream == null) {
@@ -478,25 +480,25 @@ public final class ImageIO {
} catch (IOException e) {
// Stream could be already closed, proceed silently in this case
}
-
+
return res;
}
/**
- * Writes the specified image in the specified format (using an
- * appropriate ImageWriter) to the specified ImageOutputStream.
- *
- * @param im the RenderedImage.
- * @param formatName the format name.
- * @param output the ImageOutputStream where Image to be written.
+ * Writes the specified image in the specified format (using an appropriate
+ * ImageWriter) to the specified ImageOutputStream.
*
+ * @param im
+ * the RenderedImage.
+ * @param formatName
+ * the format name.
+ * @param output
+ * the ImageOutputStream where Image to be written.
* @return true, if Image is written successfully, false otherwise.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
- public static boolean write(RenderedImage im,
- String formatName,
- ImageOutputStream output)
+ public static boolean write(RenderedImage im, String formatName, ImageOutputStream output)
throws IOException {
if (im == null) {
@@ -509,7 +511,8 @@ public final class ImageIO {
throw new IllegalArgumentException("output cannot be NULL");
}
- Iterator<ImageWriter> it = getImageWriters(ImageTypeSpecifier.createFromRenderedImage(im), formatName);
+ Iterator<ImageWriter> it = getImageWriters(ImageTypeSpecifier.createFromRenderedImage(im),
+ formatName);
if (it.hasNext()) {
ImageWriter writer = it.next();
writer.setOutput(output);
@@ -522,20 +525,20 @@ public final class ImageIO {
}
/**
- * Writes the specified image in the specified format (using an
- * appropriate ImageWriter) to the specified File.
- *
- * @param im the RenderedImage.
- * @param formatName the format name.
- * @param output the output File where Image to be written.
+ * Writes the specified image in the specified format (using an appropriate
+ * ImageWriter) to the specified File.
*
+ * @param im
+ * the RenderedImage.
+ * @param formatName
+ * the format name.
+ * @param output
+ * the output File where Image to be written.
* @return true, if Image is written successfully, false otherwise.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
- public static boolean write(RenderedImage im,
- String formatName,
- File output)
+ public static boolean write(RenderedImage im, String formatName, File output)
throws IOException {
if (output == null) {
@@ -553,20 +556,20 @@ public final class ImageIO {
}
/**
- * Writes the specified image in the specified format (using an
- * appropriate ImageWriter) to the specified OutputStream.
- *
- * @param im the RenderedImage.
- * @param formatName the format name.
- * @param output the OutputStream where Image is to be written.
+ * Writes the specified image in the specified format (using an appropriate
+ * ImageWriter) to the specified OutputStream.
*
+ * @param im
+ * the RenderedImage.
+ * @param formatName
+ * the format name.
+ * @param output
+ * the OutputStream where Image is to be written.
* @return true, if Image is written successfully, false otherwise.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
- public static boolean write(RenderedImage im,
- String formatName,
- OutputStream output)
+ public static boolean write(RenderedImage im, String formatName, OutputStream output)
throws IOException {
if (output == null) {
@@ -579,26 +582,28 @@ public final class ImageIO {
return rt;
}
-
/**
* Filter to match spi by format name.
*/
static class FormatFilter implements ServiceRegistry.Filter {
-
- /** The name. */
+
+ /**
+ * The name.
+ */
private String name;
/**
* Instantiates a new format filter.
*
- * @param name the name
+ * @param name
+ * the name.
*/
public FormatFilter(String name) {
this.name = name;
}
public boolean filter(Object provider) {
- ImageReaderWriterSpi spi = (ImageReaderWriterSpi) provider;
+ ImageReaderWriterSpi spi = (ImageReaderWriterSpi)provider;
return Arrays.asList(spi.getFormatNames()).contains(name);
}
}
@@ -608,14 +613,18 @@ public final class ImageIO {
*/
static class FormatAndEncodeFilter extends FormatFilter {
- /** The type. */
+ /**
+ * The type.
+ */
private ImageTypeSpecifier type;
/**
* Instantiates a new format and encode filter.
*
- * @param type the type
- * @param name the name
+ * @param type
+ * the type.
+ * @param name
+ * the name.
*/
public FormatAndEncodeFilter(ImageTypeSpecifier type, String name) {
super(name);
@@ -624,7 +633,7 @@ public final class ImageIO {
@Override
public boolean filter(Object provider) {
- ImageWriterSpi spi = (ImageWriterSpi) provider;
+ ImageWriterSpi spi = (ImageWriterSpi)provider;
return super.filter(provider) && spi.canEncodeImage(type);
}
}
@@ -633,21 +642,24 @@ public final class ImageIO {
* Filter to match spi by suffix.
*/
static class SuffixFilter implements ServiceRegistry.Filter {
-
- /** The suf. */
+
+ /**
+ * The suf.
+ */
private String suf;
/**
* Instantiates a new suffix filter.
*
- * @param suf the suf
+ * @param suf
+ * the suf.
*/
public SuffixFilter(String suf) {
this.suf = suf;
}
public boolean filter(Object provider) {
- ImageReaderWriterSpi spi = (ImageReaderWriterSpi) provider;
+ ImageReaderWriterSpi spi = (ImageReaderWriterSpi)provider;
return Arrays.asList(spi.getFileSuffixes()).contains(suf);
}
}
@@ -656,21 +668,24 @@ public final class ImageIO {
* Filter to match spi by decoding possibility.
*/
static class CanReadFilter implements ServiceRegistry.Filter {
-
- /** The input. */
+
+ /**
+ * The input.
+ */
private Object input;
/**
* Instantiates a new can read filter.
*
- * @param input the input
+ * @param input
+ * the input.
*/
public CanReadFilter(Object input) {
this.input = input;
}
public boolean filter(Object provider) {
- ImageReaderSpi spi = (ImageReaderSpi) provider;
+ ImageReaderSpi spi = (ImageReaderSpi)provider;
try {
return spi.canDecodeInput(input);
} catch (IOException e) {
@@ -684,13 +699,16 @@ public final class ImageIO {
*/
static class SpiIteratorToWritersIteratorWrapper implements Iterator<ImageWriter> {
- /** The backend. */
+ /**
+ * The backend.
+ */
private Iterator<ImageWriterSpi> backend;
/**
* Instantiates a new spi iterator to writers iterator wrapper.
*
- * @param backend the backend
+ * @param backend
+ * the backend.
*/
public SpiIteratorToWritersIteratorWrapper(Iterator<ImageWriterSpi> backend) {
this.backend = backend;
@@ -699,7 +717,7 @@ public final class ImageIO {
/**
* Next.
*
- * @return the image writer
+ * @return the image writer.
*/
public ImageWriter next() {
try {
@@ -713,7 +731,7 @@ public final class ImageIO {
/**
* Checks for next.
*
- * @return true, if successful
+ * @return true, if successful.
*/
public boolean hasNext() {
return backend.hasNext();
@@ -723,7 +741,8 @@ public final class ImageIO {
* Removes the.
*/
public void remove() {
- throw new UnsupportedOperationException("Use deregisterServiceprovider instead of Iterator.remove()");
+ throw new UnsupportedOperationException(
+ "Use deregisterServiceprovider instead of Iterator.remove()");
}
}
@@ -731,14 +750,17 @@ public final class ImageIO {
* Wraps spi's iterator to ImageReader iterator.
*/
static class SpiIteratorToReadersIteratorWrapper implements Iterator<ImageReader> {
-
- /** The backend. */
+
+ /**
+ * The backend.
+ */
private Iterator<ImageReaderSpi> backend;
/**
* Instantiates a new spi iterator to readers iterator wrapper.
*
- * @param backend the backend
+ * @param backend
+ * the backend.
*/
public SpiIteratorToReadersIteratorWrapper(Iterator<ImageReaderSpi> backend) {
this.backend = backend;
@@ -747,7 +769,7 @@ public final class ImageIO {
/**
* Next.
*
- * @return the image reader
+ * @return the image reader.
*/
public ImageReader next() {
try {
@@ -761,7 +783,7 @@ public final class ImageIO {
/**
* Checks for next.
*
- * @return true, if successful
+ * @return true, if successful.
*/
public boolean hasNext() {
return backend.hasNext();
@@ -771,7 +793,8 @@ public final class ImageIO {
* Removes the.
*/
public void remove() {
- throw new UnsupportedOperationException("Use deregisterServiceprovider instead of Iterator.remove()");
+ throw new UnsupportedOperationException(
+ "Use deregisterServiceprovider instead of Iterator.remove()");
}
}
}
diff --git a/awt/javax/imageio/ImageReadParam.java b/awt/javax/imageio/ImageReadParam.java
index e67ed7d..9cc5c5f 100644
--- a/awt/javax/imageio/ImageReadParam.java
+++ b/awt/javax/imageio/ImageReadParam.java
@@ -18,6 +18,7 @@
* @author Sergey I. Salishev
* @version $Revision: 1.2 $
*/
+
package javax.imageio;
import java.awt.Dimension;
@@ -29,45 +30,50 @@ import java.awt.image.BufferedImage;
*/
/**
- * The ImageReadParam class provides information to the ImageReader about
- * how an image is to be decoded.
+ * The ImageReadParam class provides information to the ImageReader about how an
+ * image is to be decoded.
+ *
+ * @since Android 1.0
*/
-
public class ImageReadParam extends IIOParam {
- /**
- * This flag indicates if this ImageReadParam supports setting the source
- * rendering size.
+ /**
+ * This flag indicates if this ImageReadParam supports setting the source
+ * rendering size.
*/
protected boolean canSetSourceRenderSize;
-
- /**
- * The destination BufferedImage.
+
+ /**
+ * The destination BufferedImage.
*/
protected BufferedImage destination;
-
- /** The destination bands. */
+
+ /**
+ * The destination bands.
+ */
protected int[] destinationBands;
-
- /**
- * The minimum progressive pass.
+
+ /**
+ * The minimum progressive pass.
*/
protected int minProgressivePass;
-
- /**
- * The number of progressive passes.
+
+ /**
+ * The number of progressive passes.
*/
protected int numProgressivePasses;
-
- /** The source render size. */
+
+ /**
+ * The source render size.
+ */
protected Dimension sourceRenderSize;
/**
- * Returns true if this ImageReaderParam supports rendering a
- * source image at an arbitrary size.
+ * Returns true if this ImageReaderParam supports rendering a source image
+ * at an arbitrary size.
*
- * @return true if this ImageReaderParam supports rendering a
- * source image at an arbitrary size, false otherwise.
+ * @return true, if this ImageReaderParam supports rendering a source image
+ * at an arbitrary size, false otherwise.
*/
public boolean canSetSourceRenderSize() {
return canSetSourceRenderSize;
@@ -92,11 +98,9 @@ public class ImageReadParam extends IIOParam {
}
/**
- * Gets the index of the maximum pass to be decoded.
- * This method returns Integer.MAX_VALUE, if
- * getSourceNumProgressivePasses() method returns value
- * that is equal to Integer.MAX_VALUE. Otherwise
- * this method returns
+ * Gets the index of the maximum pass to be decoded. This method returns
+ * Integer.MAX_VALUE, if getSourceNumProgressivePasses() method returns
+ * value that is equal to Integer.MAX_VALUE. Otherwise this method returns
* getSourceMinProgressivePass() + getSourceNumProgressivePasses() - 1.
*
* @return the index of the maximum pass to be decoded.
@@ -109,19 +113,19 @@ public class ImageReadParam extends IIOParam {
}
/**
- * Gets the index of the minimum progressive pass that is decoded,
- * default is 0.
+ * Gets the index of the minimum progressive pass that is decoded, default
+ * is 0.
*
* @return the index of the minimum progressive pass that is decoded,
- * default is 0.
+ * default is 0.
*/
public int getSourceMinProgressivePass() {
return minProgressivePass;
}
/**
- * Gets the number of progressive passes.
- * The default value is Integer.MAX_VALUE.
+ * Gets the number of progressive passes. The default value is
+ * Integer.MAX_VALUE.
*
* @return the number of progressive passes.
*/
@@ -130,8 +134,8 @@ public class ImageReadParam extends IIOParam {
}
/**
- * Gets the dimension of source image which will be rendered
- * during decoding process.
+ * Gets the dimension of source image which will be rendered during decoding
+ * process.
*
* @return the source render size.
*/
@@ -140,11 +144,12 @@ public class ImageReadParam extends IIOParam {
}
/**
- * Sets the specified destination image.
- * This image will be used by read, readAll, and readRaster methods,
- * and a reference to it will be returned by those methods.
+ * Sets the specified destination image. This image will be used by read,
+ * readAll, and readRaster methods, and a reference to it will be returned
+ * by those methods.
*
- * @param destination the destination image.
+ * @param destination
+ * the destination image.
*/
public void setDestination(BufferedImage destination) {
this.destination = destination;
@@ -153,7 +158,8 @@ public class ImageReadParam extends IIOParam {
/**
* Sets the indices of the destination bands.
*
- * @param destinationBands the indices of the destination bands.
+ * @param destinationBands
+ * the indices of the destination bands.
*/
public void setDestinationBands(int[] destinationBands) {
this.destinationBands = destinationBands;
@@ -167,8 +173,10 @@ public class ImageReadParam extends IIOParam {
/**
* Sets the source progressive passes.
*
- * @param minPass the index of the minimum pass to be decoded.
- * @param numPasses the number of passes to be decoded.
+ * @param minPass
+ * the index of the minimum pass to be decoded.
+ * @param numPasses
+ * the number of passes to be decoded.
*/
public void setSourceProgressivePasses(int minPass, int numPasses) {
minProgressivePass = minPass;
@@ -176,18 +184,18 @@ public class ImageReadParam extends IIOParam {
}
/**
- * Sets the dimension size of source image if an
- * image can be rendered at an arbitrary size.
+ * Sets the dimension size of source image if an image can be rendered at an
+ * arbitrary size.
*
- * @param size the size of rendered image.
- *
- * @throws UnsupportedOperationException the unsupported operation exception
+ * @param size
+ * the size of rendered image.
+ * @throws UnsupportedOperationException
+ * the unsupported operation exception.
*/
public void setSourceRenderSize(Dimension size) throws UnsupportedOperationException {
if (!canSetSourceRenderSize) {
throw new UnsupportedOperationException("can't set source renderer size");
}
- sourceRenderSize = size;
+ sourceRenderSize = size;
}
}
-
diff --git a/awt/javax/imageio/ImageReader.java b/awt/javax/imageio/ImageReader.java
index 780de26..cf282ed 100644
--- a/awt/javax/imageio/ImageReader.java
+++ b/awt/javax/imageio/ImageReader.java
@@ -18,6 +18,7 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.3 $
*/
+
package javax.imageio;
import javax.imageio.spi.ImageReaderSpi;
@@ -37,56 +38,77 @@ import java.awt.image.RenderedImage;
import java.awt.*;
/**
- * The ImageReader class is an abstract class for decoding images.
- * ImageReader objects are instantiated by the service provider
- * interface, ImageReaderSpi class, for the specific format.
- * ImageReaderSpi class should be registered with the IIORegistry,
- * which uses them for format recognition and presentation of available
- * format readers and writers.
+ * The ImageReader class is an abstract class for decoding images. ImageReader
+ * objects are instantiated by the service provider interface, ImageReaderSpi
+ * class, for the specific format. ImageReaderSpi class should be registered
+ * with the IIORegistry, which uses them for format recognition and presentation
+ * of available format readers and writers.
+ *
+ * @since Android 1.0
*/
public abstract class ImageReader {
- /** The originating provider. */
+ /**
+ * The originating provider.
+ */
protected ImageReaderSpi originatingProvider;
- /** The input object such as ImageInputStream. */
+ /**
+ * The input object such as ImageInputStream.
+ */
protected Object input;
- /** The seek forward only. */
+ /**
+ * The seek forward only.
+ */
protected boolean seekForwardOnly;
- /**
- * The ignore metadata flag indicates whether current input source
- * has been marked as metadata is allowed to be ignored by setInput.
+ /**
+ * The ignore metadata flag indicates whether current input source has been
+ * marked as metadata is allowed to be ignored by setInput.
*/
protected boolean ignoreMetadata;
- /** The minimum index. */
+ /**
+ * The minimum index.
+ */
protected int minIndex;
- /** The available locales. */
+ /**
+ * The available locales.
+ */
protected Locale[] availableLocales;
- /** The locale. */
+ /**
+ * The locale.
+ */
protected Locale locale;
- /** The list of warning listeners. */
+ /**
+ * The list of warning listeners.
+ */
protected List<IIOReadWarningListener> warningListeners;
- /** The list of warning locales. */
+ /**
+ * The list of warning locales.
+ */
protected List<Locale> warningLocales;
- /** The list of progress listeners. */
+ /**
+ * The list of progress listeners.
+ */
protected List<IIOReadProgressListener> progressListeners;
- /** The list of update listeners. */
+ /**
+ * The list of update listeners.
+ */
protected List<IIOReadUpdateListener> updateListeners;
/**
* Instantiates a new ImageReader.
*
- * @param originatingProvider the ImageReaderSpi which
- * instanties this ImageReader.
+ * @param originatingProvider
+ * the ImageReaderSpi which instantiates this ImageReader.
*/
protected ImageReader(ImageReaderSpi originatingProvider) {
this.originatingProvider = originatingProvider;
@@ -96,15 +118,15 @@ public abstract class ImageReader {
* Gets the format name of this input source.
*
* @return the format name of this input source.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public String getFormatName() throws IOException {
return originatingProvider.getFormatNames()[0];
}
/**
- * Gets the ImageReaderSpi which instantiated this ImageReader.
+ * Gets the ImageReaderSpi which instantiated this ImageReader.
*
* @return the ImageReaderSpi.
*/
@@ -113,14 +135,17 @@ public abstract class ImageReader {
}
/**
- * Sets the specified Object as the input source of this ImageReader.
+ * Sets the specified Object as the input source of this ImageReader.
*
- * @param input the input source, it can
- * be an ImageInputStream or other supported objects.
- * @param seekForwardOnly indicates whether the stream must
- * be read sequentially from its current starting point.
- * @param ignoreMetadata parameter which indicates
- * if metadata may be ignored during reads or not.
+ * @param input
+ * the input source, it can be an ImageInputStream or other
+ * supported objects.
+ * @param seekForwardOnly
+ * indicates whether the stream must be read sequentially from
+ * its current starting point.
+ * @param ignoreMetadata
+ * parameter which indicates if metadata may be ignored during
+ * reads or not.
*/
public void setInput(Object input, boolean seekForwardOnly, boolean ignoreMetadata) {
if (input != null) {
@@ -137,9 +162,9 @@ public abstract class ImageReader {
/**
* Checks if is supported.
*
- * @param input the input
- *
- * @return true, if is supported
+ * @param input
+ * the input.
+ * @return true, if is supported.
*/
private boolean isSupported(Object input) {
ImageReaderSpi spi = getOriginatingProvider();
@@ -158,10 +183,12 @@ public abstract class ImageReader {
* Sets the specified Object as the input source of this ImageReader.
* Metadata is not ignored.
*
- * @param input the input source, it can
- * be an ImageInputStream or other supported objects.
- * @param seekForwardOnly indicates whether the stream must
- * be read sequentially from its current starting point.
+ * @param input
+ * the input source, it can be an ImageInputStream or other
+ * supported objects.
+ * @param seekForwardOnly
+ * indicates whether the stream must be read sequentially from
+ * its current starting point.
*/
public void setInput(Object input, boolean seekForwardOnly) {
setInput(input, seekForwardOnly, false);
@@ -171,8 +198,8 @@ public abstract class ImageReader {
* Sets the specified Object as the input source of this ImageReader.
* Metadata is not ignored and forward seeking is not required.
*
- * @param input the input source, it can
- * be ImageInputStream or other objects.
+ * @param input
+ * the input source, it can be ImageInputStream or other objects.
*/
public void setInput(Object input) {
setInput(input, false, false);
@@ -181,8 +208,7 @@ public abstract class ImageReader {
/**
* Gets the input source object of this ImageReader, or returns null.
*
- * @return the the input source object such as ImageInputStream,
- * or null.
+ * @return the input source object such as ImageInputStream, or null.
*/
public Object getInput() {
return input;
@@ -191,32 +217,31 @@ public abstract class ImageReader {
/**
* Checks if the input source supports only forward reading, or not.
*
- * @return true, if the input source supports only forward reading,
- * false otherwise.
+ * @return true, if the input source supports only forward reading, false
+ * otherwise.
*/
public boolean isSeekForwardOnly() {
return seekForwardOnly;
}
/**
- * Returns true if the current input source allows
- * to metadata to be ignored by passing true as
- * the ignoreMetadata argument to the setInput method.
+ * Returns true if the current input source allows to metadata to be ignored
+ * by passing true as the ignoreMetadata argument to the setInput method.
*
- * @return true, if true if the current input source allows
- * to metadata to be ignored by passing true as
- * the ignoreMetadata argument to the setInput method.
+ * @return true, if the current input source allows to metadata to be
+ * ignored by passing true as the ignoreMetadata argument to the
+ * setInput method.
*/
public boolean isIgnoringMetadata() {
return ignoreMetadata;
}
/**
- * Gets the minimum valid index for reading an image, thumbnail,
- * or image metadata.
+ * Gets the minimum valid index for reading an image, thumbnail, or image
+ * metadata.
*
- * @return the minimum valid index for reading an image, thumbnail,
- * or image metadata.
+ * @return the minimum valid index for reading an image, thumbnail, or image
+ * metadata.
*/
public int getMinIndex() {
return minIndex;
@@ -234,7 +259,8 @@ public abstract class ImageReader {
/**
* Sets the locale to this ImageReader.
*
- * @param locale the Locale.
+ * @param locale
+ * the Locale.
*/
public void setLocale(Locale locale) {
throw new UnsupportedOperationException("Not implemented yet");
@@ -252,89 +278,88 @@ public abstract class ImageReader {
/**
* Gets the number of images available in the current input source.
*
- * @param allowSearch the parameter which indicates what
- * a search is required; if false, the reader may return -1
- * without searching.
- *
+ * @param allowSearch
+ * the parameter which indicates what a search is required; if
+ * false, the reader may return -1 without searching.
* @return the number of images.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public abstract int getNumImages(boolean allowSearch) throws IOException;
/**
* Gets the width of the specified image in input source.
*
- * @param imageIndex the image index.
- *
+ * @param imageIndex
+ * the image index.
* @return the width in pixels.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public abstract int getWidth(int imageIndex) throws IOException;
/**
* Gets the height of the specified image in input source.
*
- * @param imageIndex the image index.
- *
+ * @param imageIndex
+ * the image index.
* @return the height in pixels.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public abstract int getHeight(int imageIndex) throws IOException;
/**
- * Checks if the storage format of the specified image places
- * an impediment on random pixels access or not.
- *
- * @param imageIndex the image's index.
- *
- * @return true, if the storage format of the specified image places
- * an impediment on random pixels access, false otherwise.
+ * Checks if the storage format of the specified image places an impediment
+ * on random pixels access or not.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param imageIndex
+ * the image's index.
+ * @return true, if the storage format of the specified image places an
+ * impediment on random pixels access, false otherwise.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public boolean isRandomAccessEasy(int imageIndex) throws IOException {
- return false; //def
+ return false; // def
}
/**
* Gets the aspect ratio (width devided by height) of the image.
*
- * @param imageIndex the image index.
- *
+ * @param imageIndex
+ * the image index.
* @return the aspect ratio of the image.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public float getAspectRatio(int imageIndex) throws IOException {
- return (float) getWidth(imageIndex) / getHeight(imageIndex);
+ return (float)getWidth(imageIndex) / getHeight(imageIndex);
}
/**
- * Gets an ImageTypeSpecifier which indicates the type of the
- * specified image.
- *
- * @param imageIndex the image's index.
+ * Gets an ImageTypeSpecifier which indicates the type of the specified
+ * image.
*
+ * @param imageIndex
+ * the image's index.
* @return the ImageTypeSpecifier.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public ImageTypeSpecifier getRawImageType(int imageIndex) throws IOException {
throw new UnsupportedOperationException("Not implemented yet");
}
/**
- * Gets an Iterator of ImageTypeSpecifier objects which are associated
- * with image types that may be used when decoding specified image.
- *
- * @param imageIndex the image index.
+ * Gets an Iterator of ImageTypeSpecifier objects which are associated with
+ * image types that may be used when decoding specified image.
*
+ * @param imageIndex
+ * the image index.
* @return an Iterator of ImageTypeSpecifier objects.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public abstract Iterator<ImageTypeSpecifier> getImageTypes(int imageIndex) throws IOException;
@@ -351,21 +376,22 @@ public abstract class ImageReader {
* Gets an IIOMetadata object for this input source.
*
* @return the IIOMetadata.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public abstract IIOMetadata getStreamMetadata() throws IOException;
/**
* Gets an IIOMetadata object for this input source.
*
- * @param formatName the desired metadata format to be used in the
- * returned IIOMetadata object.
- * @param nodeNames the node names of the document.
- *
+ * @param formatName
+ * the desired metadata format to be used in the returned
+ * IIOMetadata object.
+ * @param nodeNames
+ * the node names of the document.
* @return the IIOMetadata.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public IIOMetadata getStreamMetadata(String formatName, Set<String> nodeNames)
throws IOException {
@@ -375,83 +401,86 @@ public abstract class ImageReader {
/**
* Gets the image metadata of the specified image in input source.
*
- * @param imageIndex the image index.
- *
+ * @param imageIndex
+ * the image index.
* @return the IIOMetadata.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public abstract IIOMetadata getImageMetadata(int imageIndex) throws IOException;
/**
* Gets the image metadata of the specified image input source.
*
- * @param imageIndex the image index.
- * @param formatName the desired metadata format to be used in the
- * returned IIOMetadata object.
- * @param nodeNames the node names which can be contained in
- * the document.
- *
+ * @param imageIndex
+ * the image index.
+ * @param formatName
+ * the desired metadata format to be used in the returned
+ * IIOMetadata object.
+ * @param nodeNames
+ * the node names which can be contained in the document.
* @return the IIOMetadata.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
- public IIOMetadata getImageMetadata(int imageIndex, String formatName,
- Set<String> nodeNames) throws IOException {
+ public IIOMetadata getImageMetadata(int imageIndex, String formatName, Set<String> nodeNames)
+ throws IOException {
throw new UnsupportedOperationException("Not implemented yet");
}
/**
- * Reads the specified image and returns it as a BufferedImage
- * using the default ImageReadParam.
- *
- * @param imageIndex the image index.
+ * Reads the specified image and returns it as a BufferedImage using the
+ * default ImageReadParam.
*
+ * @param imageIndex
+ * the image index.
* @return the BufferedImage.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public BufferedImage read(int imageIndex) throws IOException {
return read(imageIndex, null);
}
/**
- * Reads the specified image and returns it as a BufferedImage
- * using the specified ImageReadParam.
- *
- * @param imageIndex the image index.
- * @param param the ImageReadParam.
+ * Reads the specified image and returns it as a BufferedImage using the
+ * specified ImageReadParam.
*
+ * @param imageIndex
+ * the image index.
+ * @param param
+ * the ImageReadParam.
* @return the BufferedImage.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public abstract BufferedImage read(int imageIndex, ImageReadParam param) throws IOException;
/**
* Reads the specified image and returns an IIOImage with this image,
- * thumbnails, and metadata for this image, using
- * the specified ImageReadParam.
- *
- * @param imageIndex the image index.
- * @param param the ImageReadParam.
+ * thumbnails, and metadata for this image, using the specified
+ * ImageReadParam.
*
+ * @param imageIndex
+ * the image index.
+ * @param param
+ * the ImageReadParam.
* @return the IIOImage.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public IIOImage readAll(int imageIndex, ImageReadParam param) throws IOException {
throw new UnsupportedOperationException("Not implemented yet");
}
/**
- * Returns an Iterator of IIOImages from the input source.
- *
- * @param params the Iterator of ImageReadParam objects.
+ * Returns an Iterator of IIOImages from the input source.
*
+ * @param params
+ * the Iterator of ImageReadParam objects.
* @return the iterator of IIOImages.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public Iterator<IIOImage> readAll(Iterator<? extends ImageReadParam> params) throws IOException {
throw new UnsupportedOperationException("Not implemented yet");
@@ -460,23 +489,23 @@ public abstract class ImageReader {
/**
* Checks whether or not this plug-in supports reading a Raster.
*
- * @return true, if this plug-in supports reading a Raster,
- * false otherwise.
+ * @return true, if this plug-in supports reading a Raster, false otherwise.
*/
public boolean canReadRaster() {
- return false; //def
+ return false; // def
}
/**
- * Reads a new Raster object which contains the raw pixel data from
- * the image.
- *
- * @param imageIndex the image index.
- * @param param the ImageReadParam.
+ * Reads a new Raster object which contains the raw pixel data from the
+ * image.
*
+ * @param imageIndex
+ * the image index.
+ * @param param
+ * the ImageReadParam.
* @return the Raster.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public Raster readRaster(int imageIndex, ImageReadParam param) throws IOException {
throw new UnsupportedOperationException("Unsupported");
@@ -485,220 +514,226 @@ public abstract class ImageReader {
/**
* Checks if the specified image has tiles or not.
*
- * @param imageIndex the image's index.
- *
- * @return true, if the specified image has tiles,
- * false otherwise.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param imageIndex
+ * the image's index.
+ * @return true, if the specified image has tiles, false otherwise.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public boolean isImageTiled(int imageIndex) throws IOException {
- return false; //def
+ return false; // def
}
/**
* Gets the tile width in the specified image.
*
- * @param imageIndex the image's index.
- *
+ * @param imageIndex
+ * the image's index.
* @return the tile width.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public int getTileWidth(int imageIndex) throws IOException {
- return getWidth(imageIndex); //def
+ return getWidth(imageIndex); // def
}
/**
* Gets the tile height in the specified image.
*
- * @param imageIndex the image's index.
- *
+ * @param imageIndex
+ * the image's index.
* @return the tile height.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public int getTileHeight(int imageIndex) throws IOException {
- return getHeight(imageIndex); //def
+ return getHeight(imageIndex); // def
}
/**
- * Gets the X coordinate of the upper left corner of the tile grid in the
+ * Gets the X coordinate of the upper left corner of the tile grid in the
* specified image.
*
- * @param imageIndex the image's index.
- *
+ * @param imageIndex
+ * the image's index.
* @return the X coordinate of the upper left corner of the tile grid.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public int getTileGridXOffset(int imageIndex) throws IOException {
- return 0; //def
+ return 0; // def
}
/**
- * Gets the Y coordinate of the upper left corner of the tile grid in the
+ * Gets the Y coordinate of the upper left corner of the tile grid in the
* specified image.
*
- * @param imageIndex the image's index.
- *
+ * @param imageIndex
+ * the image's index.
* @return the Y coordinate of the upper left corner of the tile grid.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public int getTileGridYOffset(int imageIndex) throws IOException {
- return 0; //def
+ return 0; // def
}
/**
- * Reads the tile specified by the tileX and tileY parameters
- * of the specified image and returns it as a BufferedImage.
- *
- * @param imageIndex the image index.
- * @param tileX the X index of tile.
- * @param tileY the Y index of tile.
+ * Reads the tile specified by the tileX and tileY parameters of the
+ * specified image and returns it as a BufferedImage.
*
+ * @param imageIndex
+ * the image index.
+ * @param tileX
+ * the X index of tile.
+ * @param tileY
+ * the Y index of tile.
* @return the BufferedImage.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public BufferedImage readTile(int imageIndex, int tileX, int tileY) throws IOException {
throw new UnsupportedOperationException("Not implemented yet");
}
/**
- * Reads the tile specified by the tileX and tileY parameters
- * of the specified image and returns it as a Raster.
- *
- * @param imageIndex the image index.
- * @param tileX the X index of tile.
- * @param tileY the Y index of tile.
+ * Reads the tile specified by the tileX and tileY parameters of the
+ * specified image and returns it as a Raster.
*
+ * @param imageIndex
+ * the image index.
+ * @param tileX
+ * the X index of tile.
+ * @param tileY
+ * the Y index of tile.
* @return the Raster.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public Raster readTileRaster(int imageIndex, int tileX, int tileY) throws IOException {
throw new UnsupportedOperationException("Not implemented yet");
}
/**
- * Reads the specified image using the specified
- * ImageReadParam and returns it as a RenderedImage.
- *
- * @param imageIndex the image index.
- * @param param the ImageReadParam.
+ * Reads the specified image using the specified ImageReadParam and returns
+ * it as a RenderedImage.
*
+ * @param imageIndex
+ * the image index.
+ * @param param
+ * the ImageReadParam.
* @return the RenderedImage.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
- public RenderedImage readAsRenderedImage(int imageIndex, ImageReadParam param) throws IOException {
+ public RenderedImage readAsRenderedImage(int imageIndex, ImageReadParam param)
+ throws IOException {
return read(imageIndex, param);
}
/**
- * Returns true if the image format supported by this reader
- * supports thumbnail preview images.
+ * Returns true if the image format supported by this reader supports
+ * thumbnail preview images.
*
- * @return true if the image format supported by this reader
- * supports thumbnail preview images, false otherwise.
+ * @return true, if the image format supported by this reader supports
+ * thumbnail preview images, false otherwise.
*/
public boolean readerSupportsThumbnails() {
- return false; //def
+ return false; // def
}
/**
* Checks if the specified image has thumbnails or not.
*
- * @param imageIndex the image's index.
- *
- * @return true, if the specified image has thumbnails,
- * false otherwise.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param imageIndex
+ * the image's index.
+ * @return true, if the specified image has thumbnails, false otherwise.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public boolean hasThumbnails(int imageIndex) throws IOException {
- return getNumThumbnails(imageIndex) > 0; //def
+ return getNumThumbnails(imageIndex) > 0; // def
}
/**
* Gets the number of thumbnails for the specified image.
*
- * @param imageIndex the image's index.
- *
+ * @param imageIndex
+ * the image's index.
* @return the number of thumbnails.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public int getNumThumbnails(int imageIndex) throws IOException {
- return 0; //def
+ return 0; // def
}
/**
* Gets the width of the specified thumbnail for the specified image.
*
- * @param imageIndex the image's index.
- * @param thumbnailIndex the thumbnail's index.
- *
+ * @param imageIndex
+ * the image's index.
+ * @param thumbnailIndex
+ * the thumbnail's index.
* @return the thumbnail width.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public int getThumbnailWidth(int imageIndex, int thumbnailIndex) throws IOException {
- return readThumbnail(imageIndex, thumbnailIndex).getWidth(); //def
+ return readThumbnail(imageIndex, thumbnailIndex).getWidth(); // def
}
/**
* Gets the height of the specified thumbnail for the specified image.
*
- * @param imageIndex the image's index.
- * @param thumbnailIndex the thumbnail's index.
- *
+ * @param imageIndex
+ * the image's index.
+ * @param thumbnailIndex
+ * the thumbnail's index.
* @return the thumbnail height.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public int getThumbnailHeight(int imageIndex, int thumbnailIndex) throws IOException {
- return readThumbnail(imageIndex, thumbnailIndex).getHeight(); //def
+ return readThumbnail(imageIndex, thumbnailIndex).getHeight(); // def
}
/**
- * Reads the thumbnail image for the specified image
- * as a BufferedImage.
- *
- * @param imageIndex the image index.
- * @param thumbnailIndex the thumbnail index.
+ * Reads the thumbnail image for the specified image as a BufferedImage.
*
+ * @param imageIndex
+ * the image index.
+ * @param thumbnailIndex
+ * the thumbnail index.
* @return the BufferedImage.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public BufferedImage readThumbnail(int imageIndex, int thumbnailIndex) throws IOException {
- throw new UnsupportedOperationException("Unsupported"); //def
+ throw new UnsupportedOperationException("Unsupported"); // def
}
/**
- * Requests an abort operation for current reading operation.
+ * Requests an abort operation for current reading operation.
*/
public void abort() {
throw new UnsupportedOperationException("Not implemented yet");
}
/**
- * Checks whether or not a request to abort the current read operation
- * has been made successfully.
+ * Checks whether or not a request to abort the current read operation has
+ * been made successfully.
*
- * @return true, if the request to abort the current read operation
- * has been made successfully, false otherwise.
+ * @return true, if the request to abort the current read operation has been
+ * made successfully, false otherwise.
*/
protected boolean abortRequested() {
throw new UnsupportedOperationException("Not implemented yet");
}
/**
- * Clears all previous abort request, and abortRequested returns false
- * after calling this method.
+ * Clears all previous abort request, and abortRequested returns false after
+ * calling this method.
*/
protected void clearAbortRequest() {
throw new UnsupportedOperationException("Not implemented yet");
@@ -707,7 +742,8 @@ public abstract class ImageReader {
/**
* Adds the IIOReadWarningListener.
*
- * @param listener the IIOReadWarningListener.
+ * @param listener
+ * the IIOReadWarningListener.
*/
public void addIIOReadWarningListener(IIOReadWarningListener listener) {
throw new UnsupportedOperationException("Not implemented yet");
@@ -716,7 +752,8 @@ public abstract class ImageReader {
/**
* Removes the specified IIOReadWarningListener.
*
- * @param listener the IIOReadWarningListener to be removed.
+ * @param listener
+ * the IIOReadWarningListener to be removed.
*/
public void removeIIOReadWarningListener(IIOReadWarningListener listener) {
throw new UnsupportedOperationException("Not implemented yet");
@@ -732,7 +769,8 @@ public abstract class ImageReader {
/**
* Adds the IIOReadProgressListener.
*
- * @param listener the IIOReadProgressListener.
+ * @param listener
+ * the IIOReadProgressListener.
*/
public void addIIOReadProgressListener(IIOReadProgressListener listener) {
throw new UnsupportedOperationException("Not implemented yet");
@@ -741,7 +779,8 @@ public abstract class ImageReader {
/**
* Removes the specified IIOReadProgressListener.
*
- * @param listener the IIOReadProgressListener to be removed.
+ * @param listener
+ * the IIOReadProgressListener to be removed.
*/
public void removeIIOReadProgressListener(IIOReadProgressListener listener) {
throw new UnsupportedOperationException("Not implemented yet");
@@ -757,7 +796,8 @@ public abstract class ImageReader {
/**
* Adds the IIOReadUpdateListener.
*
- * @param listener the IIOReadUpdateListener.
+ * @param listener
+ * the IIOReadUpdateListener.
*/
public void addIIOReadUpdateListener(IIOReadUpdateListener listener) {
throw new UnsupportedOperationException("Not implemented yet");
@@ -766,7 +806,8 @@ public abstract class ImageReader {
/**
* Removes the specified IIOReadUpdateListener.
*
- * @param listener the IIOReadUpdateListener to be removed.
+ * @param listener
+ * the IIOReadUpdateListener to be removed.
*/
public void removeIIOReadUpdateListener(IIOReadUpdateListener listener) {
throw new UnsupportedOperationException("Not implemented yet");
@@ -780,229 +821,243 @@ public abstract class ImageReader {
}
/**
- * Processes the start of an sequence of image reads
- * by calling the sequenceStarted method on all registered
- * IIOReadProgressListeners.
+ * Processes the start of an sequence of image reads by calling the
+ * sequenceStarted method on all registered IIOReadProgressListeners.
*
- * @param minIndex the minimum index.
+ * @param minIndex
+ * the minimum index.
*/
protected void processSequenceStarted(int minIndex) {
throw new UnsupportedOperationException("Not implemented yet");
}
/**
- * Processes the completion of an sequence of image reads
- * by calling sequenceComplete method on all registered
- * IIOReadProgressListeners.
+ * Processes the completion of an sequence of image reads by calling
+ * sequenceComplete method on all registered IIOReadProgressListeners.
*/
protected void processSequenceComplete() {
throw new UnsupportedOperationException("Not implemented yet");
}
/**
- * Processes the start of an image read by calling the imageStarted
- * method on all registered IIOReadProgressListeners.
+ * Processes the start of an image read by calling the imageStarted method
+ * on all registered IIOReadProgressListeners.
*
- * @param imageIndex the image index.
+ * @param imageIndex
+ * the image index.
*/
protected void processImageStarted(int imageIndex) {
throw new UnsupportedOperationException("Not implemented yet");
}
/**
- * Processes the current percentage of image completion by calling
- * the imageProgress method on all registered IIOReadProgressListeners.
+ * Processes the current percentage of image completion by calling the
+ * imageProgress method on all registered IIOReadProgressListeners.
*
- * @param percentageDone the percentage done.
+ * @param percentageDone
+ * the percentage done.
*/
protected void processImageProgress(float percentageDone) {
throw new UnsupportedOperationException("Not implemented yet");
}
/**
- * Processes image completion by calling the imageComplete method
- * on all registered IIOReadProgressListeners.
+ * Processes image completion by calling the imageComplete method on all
+ * registered IIOReadProgressListeners.
*/
protected void processImageComplete() {
throw new UnsupportedOperationException("Not implemented yet");
}
/**
- * Processes the start of a thumbnail read by calling the
- * thumbnailStarted method on all registered IIOReadProgressListeners.
+ * Processes the start of a thumbnail read by calling the thumbnailStarted
+ * method on all registered IIOReadProgressListeners.
*
- * @param imageIndex the image index.
- * @param thumbnailIndex the thumbnail index.
+ * @param imageIndex
+ * the image index.
+ * @param thumbnailIndex
+ * the thumbnail index.
*/
protected void processThumbnailStarted(int imageIndex, int thumbnailIndex) {
throw new UnsupportedOperationException("Not implemented yet");
}
/**
- * Processes the current percentage of thumbnail completion
- * by calling the thumbnailProgress method on all registered
- * IIOReadProgressListeners.
+ * Processes the current percentage of thumbnail completion by calling the
+ * thumbnailProgress method on all registered IIOReadProgressListeners.
*
- * @param percentageDone the percentage done.
+ * @param percentageDone
+ * the percentage done.
*/
protected void processThumbnailProgress(float percentageDone) {
throw new UnsupportedOperationException("Not implemented yet");
}
/**
- * Processes the completion of a thumbnail read
- * by calling the thumbnailComplete method
- * on all registered IIOReadProgressListeners.
+ * Processes the completion of a thumbnail read by calling the
+ * thumbnailComplete method on all registered IIOReadProgressListeners.
*/
protected void processThumbnailComplete() {
throw new UnsupportedOperationException("Not implemented yet");
}
/**
- * Processes a read aborted event by calling the readAborted
- * method on all registered IIOReadProgressListeners.
+ * Processes a read aborted event by calling the readAborted method on all
+ * registered IIOReadProgressListeners.
*/
protected void processReadAborted() {
throw new UnsupportedOperationException("Not implemented yet");
}
/**
- * Processes the beginning of a progressive pass by calling
- * the passStarted method on all registered IIOReadUpdateListeners.
- *
- * @param theImage the image to be updated.
- * @param pass the current pass index.
- * @param minPass the minimum pass index.
- * @param maxPass the maximum pass index.
- * @param minX the X coordinate of of the upper left pixel.
- * @param minY the Y coordinate of of the upper left pixel.
- * @param periodX the horizontal separation between pixels.
- * @param periodY the vertical separation between pixels.
- * @param bands the number of affected bands.
- */
- protected void processPassStarted(BufferedImage theImage,
- int pass,
- int minPass,
- int maxPass,
- int minX,
- int minY,
- int periodX,
- int periodY,
- int[] bands) {
+ * Processes the beginning of a progressive pass by calling the passStarted
+ * method on all registered IIOReadUpdateListeners.
+ *
+ * @param theImage
+ * the image to be updated.
+ * @param pass
+ * the current pass index.
+ * @param minPass
+ * the minimum pass index.
+ * @param maxPass
+ * the maximum pass index.
+ * @param minX
+ * the X coordinate of of the upper left pixel.
+ * @param minY
+ * the Y coordinate of of the upper left pixel.
+ * @param periodX
+ * the horizontal separation between pixels.
+ * @param periodY
+ * the vertical separation between pixels.
+ * @param bands
+ * the number of affected bands.
+ */
+ protected void processPassStarted(BufferedImage theImage, int pass, int minPass, int maxPass,
+ int minX, int minY, int periodX, int periodY, int[] bands) {
throw new UnsupportedOperationException("Not implemented yet");
}
/**
- * Processes the update of a set of samples by calling
- * the imageUpdate method on all registered IIOReadUpdateListeners.
- *
- * @param theImage the image to be updated.
- * @param minX the X coordinate of the upper left pixel.
- * @param minY the Y coordinate of the upper left pixel.
- * @param width the width of updated area.
- * @param height the height of updated area.
- * @param periodX the horizontal separation between pixels.
- * @param periodY the vertical separation between pixels.
- * @param bands the number of affected bands.
- */
- protected void processImageUpdate(BufferedImage theImage,
- int minX,
- int minY,
- int width,
- int height,
- int periodX,
- int periodY,
- int[] bands) {
+ * Processes the update of a set of samples by calling the imageUpdate
+ * method on all registered IIOReadUpdateListeners.
+ *
+ * @param theImage
+ * the image to be updated.
+ * @param minX
+ * the X coordinate of the upper left pixel.
+ * @param minY
+ * the Y coordinate of the upper left pixel.
+ * @param width
+ * the width of updated area.
+ * @param height
+ * the height of updated area.
+ * @param periodX
+ * the horizontal separation between pixels.
+ * @param periodY
+ * the vertical separation between pixels.
+ * @param bands
+ * the number of affected bands.
+ */
+ protected void processImageUpdate(BufferedImage theImage, int minX, int minY, int width,
+ int height, int periodX, int periodY, int[] bands) {
throw new UnsupportedOperationException("Not implemented yet");
}
/**
- * Processes the end of a progressive pass by calling passComplete
- * method of registered IIOReadUpdateListeners.
+ * Processes the end of a progressive pass by calling passComplete method of
+ * registered IIOReadUpdateListeners.
*
- * @param theImage the image to be updated.
+ * @param theImage
+ * the image to be updated.
*/
protected void processPassComplete(BufferedImage theImage) {
throw new UnsupportedOperationException("Not implemented yet");
}
/**
- * Processes the beginning of a thumbnail progressive pass
- * by calling the thumbnailPassStarted method on all
- * registered IIOReadUpdateListeners.
- *
- * @param theThumbnail the the thumbnail to be updated.
- * @param pass the current pass index.
- * @param minPass the minimum pass index.
- * @param maxPass the maximum pass index.
- * @param minX the X coordinate of the upper left pixel.
- * @param minY the Y coordinate of the upper left pixel.
- * @param periodX the horizontal separation between pixels.
- * @param periodY the vertical separation between pixels.
- * @param bands the number of affected bands.
- */
- protected void processThumbnailPassStarted(BufferedImage theThumbnail,
- int pass,
- int minPass,
- int maxPass,
- int minX,
- int minY,
- int periodX,
- int periodY,
- int[] bands) {
+ * Processes the beginning of a thumbnail progressive pass by calling the
+ * thumbnailPassStarted method on all registered IIOReadUpdateListeners.
+ *
+ * @param theThumbnail
+ * the thumbnail to be updated.
+ * @param pass
+ * the current pass index.
+ * @param minPass
+ * the minimum pass index.
+ * @param maxPass
+ * the maximum pass index.
+ * @param minX
+ * the X coordinate of the upper left pixel.
+ * @param minY
+ * the Y coordinate of the upper left pixel.
+ * @param periodX
+ * the horizontal separation between pixels.
+ * @param periodY
+ * the vertical separation between pixels.
+ * @param bands
+ * the number of affected bands.
+ */
+ protected void processThumbnailPassStarted(BufferedImage theThumbnail, int pass, int minPass,
+ int maxPass, int minX, int minY, int periodX, int periodY, int[] bands) {
throw new UnsupportedOperationException("Not implemented yet");
}
/**
- * Processes the update of a set of samples in a thumbnail
- * image by calling the thumbnailUpdate method on all
- * registered IIOReadUpdateListeners.
- *
- * @param theThumbnail the the thumbnail to be updated.
- * @param minX the X coordinate of the upper left pixel.
- * @param minY the Y coordinate of the upper left pixel.
- * @param periodX the horizontal separation between pixels.
- * @param periodY the vertical separation between pixels.
- * @param bands the number of affected bands.
- */
- protected void processThumbnailUpdate(BufferedImage theThumbnail,
- int minX,
- int minY,
- int width,
- int height,
- int periodX,
- int periodY,
- int[] bands) {
+ * Processes the update of a set of samples in a thumbnail image by calling
+ * the thumbnailUpdate method on all registered IIOReadUpdateListeners.
+ *
+ * @param theThumbnail
+ * the thumbnail to be updated.
+ * @param minX
+ * the X coordinate of the upper left pixel.
+ * @param minY
+ * the Y coordinate of the upper left pixel.
+ * @param width
+ * the total width of the updated area.
+ * @param height
+ * the total height of the updated area.
+ * @param periodX
+ * the horizontal separation between pixels.
+ * @param periodY
+ * the vertical separation between pixels.
+ * @param bands
+ * the number of affected bands.
+ */
+ protected void processThumbnailUpdate(BufferedImage theThumbnail, int minX, int minY,
+ int width, int height, int periodX, int periodY, int[] bands) {
throw new UnsupportedOperationException("Not implemented yet");
}
/**
- * Processes the end of a thumbnail progressive pass
- * by calling the thumbnailPassComplete method
- * on all registered IIOReadUpdateListeners.
+ * Processes the end of a thumbnail progressive pass by calling the
+ * thumbnailPassComplete method on all registered IIOReadUpdateListeners.
*
- * @param theThumbnail the thumbnail to be updated.
+ * @param theThumbnail
+ * the thumbnail to be updated.
*/
protected void processThumbnailPassComplete(BufferedImage theThumbnail) {
throw new UnsupportedOperationException("Not implemented yet");
}
/**
- * Processes a warning message by calling warningOccurred method
- * of registered IIOReadWarningListeners.
+ * Processes a warning message by calling warningOccurred method of
+ * registered IIOReadWarningListeners.
*
- * @param warning the warning.
+ * @param warning
+ * the warning.
*/
protected void processWarningOccurred(String warning) {
throw new UnsupportedOperationException("Not implemented yet");
}
/**
- * Processes a warning by calling the warningOccurred method
- * of on all registered IIOReadWarningListeners.
+ * Processes a warning by calling the warningOccurred method of on all
+ * registered IIOReadWarningListeners.
*
- * @param baseName the base name of ResourceBundles.
- * @param keyword the keyword to index the warning among ResourceBundles.
+ * @param baseName
+ * the base name of ResourceBundles.
+ * @param keyword
+ * the keyword to index the warning among ResourceBundles.
*/
protected void processWarningOccurred(String baseName, String keyword) {
throw new UnsupportedOperationException("Not implemented yet");
@@ -1029,13 +1084,15 @@ public abstract class ImageReader {
}
/**
- * Gets the region of source image that should be read with the
- * specified width, height and ImageReadParam.
- *
- * @param param the ImageReadParam object, or null.
- * @param srcWidth the source image's width.
- * @param srcHeight the source image's height.
+ * Gets the region of source image that should be read with the specified
+ * width, height and ImageReadParam.
*
+ * @param param
+ * the ImageReadParam object, or null.
+ * @param srcWidth
+ * the source image's width.
+ * @param srcHeight
+ * the source image's height.
* @return the Rectangle of source region.
*/
protected static Rectangle getSourceRegion(ImageReadParam param, int srcWidth, int srcHeight) {
@@ -1043,58 +1100,63 @@ public abstract class ImageReader {
}
/**
- * Computes the specified source region and the specified destination
- * region with the specified the width and height of the source image,
- * an optional destination image, and an ImageReadParam.
+ * Computes the specified source region and the specified destination region
+ * with the specified the width and height of the source image, an optional
+ * destination image, and an ImageReadParam.
*
- * @param param the an ImageReadParam object, or null.
- * @param srcWidth the source image's width.
- * @param srcHeight the source image's height.
- * @param image the destination image.
- * @param srcRegion the source region.
- * @param destRegion the destination region.
+ * @param param
+ * the an ImageReadParam object, or null.
+ * @param srcWidth
+ * the source image's width.
+ * @param srcHeight
+ * the source image's height.
+ * @param image
+ * the destination image.
+ * @param srcRegion
+ * the source region.
+ * @param destRegion
+ * the destination region.
*/
- protected static void computeRegions(ImageReadParam param,
- int srcWidth,
- int srcHeight,
- BufferedImage image,
- Rectangle srcRegion,
- Rectangle destRegion) {
+ protected static void computeRegions(ImageReadParam param, int srcWidth, int srcHeight,
+ BufferedImage image, Rectangle srcRegion, Rectangle destRegion) {
throw new UnsupportedOperationException("Not implemented yet");
}
/**
- * Checks the validity of the source and destination band and is called
- * when the reader knows the number of bands of the source image and
- * the number of bands of the destination image.
+ * Checks the validity of the source and destination band and is called when
+ * the reader knows the number of bands of the source image and the number
+ * of bands of the destination image.
*
- * @param param the ImageReadParam for reading the Image.
- * @param numSrcBands the number of bands in the source.
- * @param numDstBands the number of bands in the destination.
+ * @param param
+ * the ImageReadParam for reading the Image.
+ * @param numSrcBands
+ * the number of bands in the source.
+ * @param numDstBands
+ * the number of bands in the destination.
*/
- protected static void checkReadParamBandSettings(ImageReadParam param,
- int numSrcBands,
- int numDstBands) {
+ protected static void checkReadParamBandSettings(ImageReadParam param, int numSrcBands,
+ int numDstBands) {
throw new UnsupportedOperationException("Not implemented yet");
}
/**
- * Gets the destination image where the decoded data is written.
- *
- * @param param the ImageReadParam.
- * @param imageTypes the iterator of ImageTypeSpecifier objects.
- * @param width the width of the image being decoded.
- * @param height the height of the image being decoded.
+ * Gets the destination image where the decoded data is written.
*
+ * @param param
+ * the ImageReadParam.
+ * @param imageTypes
+ * the iterator of ImageTypeSpecifier objects.
+ * @param width
+ * the width of the image being decoded.
+ * @param height
+ * the height of the image being decoded.
* @return the BufferedImage where decoded pixels should be written.
- *
- * @throws IIOException the IIOException is thrown if
- * there is no suitable ImageTypeSpecifier.
+ * @throws IIOException
+ * the IIOException is thrown if there is no suitable
+ * ImageTypeSpecifier.
*/
- protected static BufferedImage getDestination(ImageReadParam param, Iterator<ImageTypeSpecifier> imageTypes,
- int width,
- int height)
- throws IIOException {
+ protected static BufferedImage getDestination(ImageReadParam param,
+ Iterator<ImageTypeSpecifier> imageTypes, int width, int height) throws IIOException {
throw new UnsupportedOperationException("Not implemented yet");
}
}
diff --git a/awt/javax/imageio/ImageTranscoder.java b/awt/javax/imageio/ImageTranscoder.java
index 1a0de76..632d890 100644
--- a/awt/javax/imageio/ImageTranscoder.java
+++ b/awt/javax/imageio/ImageTranscoder.java
@@ -18,43 +18,50 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.3 $
*/
+
package javax.imageio;
import javax.imageio.metadata.IIOMetadata;
import javax.imageio.ImageTypeSpecifier;
/**
- * The ImageTranscoder interface is to be implemented by classes that
- * perform image transcoding operations, that is, take images written
- * in one format and write them in another format using
- * read/write operations. Some image data can be lost in such processes.
- * The ImageTranscoder interface converts metadata objects (IIOMetadata)
- * of ImageReader to apropriate metadata object for ImageWriter.
+ * The ImageTranscoder interface is to be implemented by classes that perform
+ * image transcoding operations, that is, take images written in one format and
+ * write them in another format using read/write operations. Some image data can
+ * be lost in such processes. The ImageTranscoder interface converts metadata
+ * objects (IIOMetadata) of ImageReader to appropriate metadata object for
+ * ImageWriter.
+ *
+ * @since Android 1.0
*/
public interface ImageTranscoder {
-
+
/**
* Converts the specified IIOMetadata object using the specified
* ImageWriteParam for obtaining writer's metadata structure.
*
- * @param inData the IIOMetadata.
- * @param param the ImageWriteParam.
- *
+ * @param inData
+ * the IIOMetadata.
+ * @param param
+ * the ImageWriteParam.
* @return the IIOMetadata, or null.
*/
IIOMetadata convertStreamMetadata(IIOMetadata inData, ImageWriteParam param);
/**
* Converts the specified IIOMetadata object using the specified
- * ImageWriteParam for obtaining writer's metadata structure
- * and ImageTypeSpecifier object for obtaining the layout and
- * color information of the image for this metadata.
- *
- * @param inData the IIOMetadata.
- * @param imageType the ImageTypeSpecifier.
- * @param param the ImageWriteParam.
+ * ImageWriteParam for obtaining writer's metadata structure and
+ * ImageTypeSpecifier object for obtaining the layout and color information
+ * of the image for this metadata.
*
+ * @param inData
+ * the IIOMetadata.
+ * @param imageType
+ * the ImageTypeSpecifier.
+ * @param param
+ * the ImageWriteParam.
* @return the IIOMetadata, or null.
*/
- IIOMetadata convertImageMetadata(IIOMetadata inData, ImageTypeSpecifier imageType, ImageWriteParam param);
+ IIOMetadata convertImageMetadata(IIOMetadata inData, ImageTypeSpecifier imageType,
+ ImageWriteParam param);
}
diff --git a/awt/javax/imageio/ImageTypeSpecifier.java b/awt/javax/imageio/ImageTypeSpecifier.java
index c93f269..505b1c4 100644
--- a/awt/javax/imageio/ImageTypeSpecifier.java
+++ b/awt/javax/imageio/ImageTypeSpecifier.java
@@ -18,6 +18,7 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.3 $
*/
+
package javax.imageio;
import java.awt.image.ColorModel;
@@ -27,27 +28,31 @@ import java.awt.image.RenderedImage;
import java.awt.color.ColorSpace;
/**
- * The ImageTypeSpecifier class performs conversion operations
- * on the SampleModel and the ColorModel of an image.
+ * The ImageTypeSpecifier class performs conversion operations on the
+ * SampleModel and the ColorModel of an image.
+ *
+ * @since Android 1.0
*/
public class ImageTypeSpecifier {
-
- /**
+
+ /**
* The ColorModel of this ImageTypeSpecifier.
*/
protected ColorModel colorModel;
-
- /**
- * The SampleModel of this ImageTypeSpecifier.
+
+ /**
+ * The SampleModel of this ImageTypeSpecifier.
*/
protected SampleModel sampleModel;
/**
- * Instantiates a new ImageTypeSpecifier with the specified
- * ColorModel and SampleModel objects.
+ * Instantiates a new ImageTypeSpecifier with the specified ColorModel and
+ * SampleModel objects.
*
- * @param colorModel the ColorModel.
- * @param sampleModel the SampleModel.
+ * @param colorModel
+ * the ColorModel.
+ * @param sampleModel
+ * the SampleModel.
*/
public ImageTypeSpecifier(ColorModel colorModel, SampleModel sampleModel) {
if (colorModel == null) {
@@ -65,10 +70,10 @@ public class ImageTypeSpecifier {
}
/**
- * Instantiates a new ImageTypeSpecifier using the specified
- * RenderedImage.
+ * Instantiates a new ImageTypeSpecifier using the specified RenderedImage.
*
- * @param renderedImage the RenderedImage.
+ * @param renderedImage
+ * the RenderedImage.
*/
public ImageTypeSpecifier(RenderedImage renderedImage) {
if (renderedImage == null) {
@@ -79,136 +84,139 @@ public class ImageTypeSpecifier {
}
/**
- * Creates an ImageTypeSpecifier with the specified
- * DirectColorModel and a packed SampleModel.
- *
- * @param colorSpace the ColorSpace.
- * @param redMask the red mask.
- * @param greenMask the green mask.
- * @param blueMask the blue mask.
- * @param alphaMask the alpha mask.
- * @param transferType the transfer type.
- * @param isAlphaPremultiplied the parameter indicates
- * if the color channel is premultiplied by alpha.
+ * Creates an ImageTypeSpecifier with the specified DirectColorModel and a
+ * packed SampleModel.
*
+ * @param colorSpace
+ * the ColorSpace.
+ * @param redMask
+ * the red mask.
+ * @param greenMask
+ * the green mask.
+ * @param blueMask
+ * the blue mask.
+ * @param alphaMask
+ * the alpha mask.
+ * @param transferType
+ * the transfer type.
+ * @param isAlphaPremultiplied
+ * the parameter indicates if the color channel is pre-multiplied
+ * by alpha.
* @return the ImageTypeSpecifier.
*/
- public static ImageTypeSpecifier createPacked(ColorSpace colorSpace,
- int redMask,
- int greenMask,
- int blueMask,
- int alphaMask,
- int transferType,
- boolean isAlphaPremultiplied) {
+ public static ImageTypeSpecifier createPacked(ColorSpace colorSpace, int redMask,
+ int greenMask, int blueMask, int alphaMask, int transferType,
+ boolean isAlphaPremultiplied) {
throw new UnsupportedOperationException("Not supported yet");
}
/**
- * Creates an ImageTypeSpecifier with specified
- * ComponentColorModel and a PixelInterleavedSampleModel.
- *
- * @param colorSpace the ColorSpace.
- * @param bandOffsets the band offsets.
- * @param dataType the data type.
- * @param hasAlpha the parameter indicates if alpha channel
- * is needed.
- * @param isAlphaPremultiplied the parameter indicates
- * if the color channel is premultiplied by alpha.
+ * Creates an ImageTypeSpecifier with specified ComponentColorModel and a
+ * PixelInterleavedSampleModel.
*
+ * @param colorSpace
+ * the ColorSpace.
+ * @param bandOffsets
+ * the band offsets.
+ * @param dataType
+ * the data type.
+ * @param hasAlpha
+ * the parameter indicates if alpha channel is needed.
+ * @param isAlphaPremultiplied
+ * the parameter indicates if the color channel is pre-multiplied
+ * by alpha.
* @return the ImageTypeSpecifier.
*/
- public static ImageTypeSpecifier createInterleaved(ColorSpace colorSpace,
- int[] bandOffsets,
- int dataType,
- boolean hasAlpha,
- boolean isAlphaPremultiplied) {
+ public static ImageTypeSpecifier createInterleaved(ColorSpace colorSpace, int[] bandOffsets,
+ int dataType, boolean hasAlpha, boolean isAlphaPremultiplied) {
throw new UnsupportedOperationException("Not supported yet");
}
-
/**
- * Creates a ImageTypeSpecifier for a image with a
- * BandedSampleModel and a ComponentColorModel.
- *
- * @param colorSpace the ColorSpace.
- * @param bankIndices the bank indices.
- * @param bandOffsets the band offsets.
- * @param dataType the data type.
- * @param hasAlpha the parameter indicates a presence of alpha channel.
- * @param isAlphaPremultiplied the parameter indicates whether
- * or not color channel is alpha premultiplied.
+ * Creates a ImageTypeSpecifier for a image with a BandedSampleModel and a
+ * ComponentColorModel.
*
+ * @param colorSpace
+ * the ColorSpace.
+ * @param bankIndices
+ * the bank indices.
+ * @param bandOffsets
+ * the band offsets.
+ * @param dataType
+ * the data type.
+ * @param hasAlpha
+ * the parameter indicates a presence of alpha channel.
+ * @param isAlphaPremultiplied
+ * the parameter indicates whether or not color channel is alpha
+ * pre-multiplied.
* @return the image type specifier
*/
- public static ImageTypeSpecifier createBanded(ColorSpace colorSpace,
- int[] bankIndices,
- int[] bandOffsets,
- int dataType,
- boolean hasAlpha,
- boolean isAlphaPremultiplied) {
+ public static ImageTypeSpecifier createBanded(ColorSpace colorSpace, int[] bankIndices,
+ int[] bandOffsets, int dataType, boolean hasAlpha, boolean isAlphaPremultiplied) {
throw new UnsupportedOperationException("Not supported yet");
}
/**
* Creates a ImageTypeSpecifier for a grayscale image.
*
- * @param bits the number of bits per gray value.
- * @param dataType the data type.
- * @param isSigned a signed flag.
- *
+ * @param bits
+ * the number of bits per gray value.
+ * @param dataType
+ * the data type.
+ * @param isSigned
+ * a signed flag.
* @return the ImageTypeSpecifier.
*/
- public static ImageTypeSpecifier createGrayscale(int bits,
- int dataType,
- boolean isSigned) {
+ public static ImageTypeSpecifier createGrayscale(int bits, int dataType, boolean isSigned) {
throw new UnsupportedOperationException("Not supported yet");
}
/**
* Creates a ImageTypeSpecifier for a grayscale image.
*
- * @param bits the number of bits per gray value.
- * @param dataType the data type.
- * @param isSigned a signed flag.
- * @param isAlphaPremultiplied the parameter indicates
- * if color channel is premultiplied by alpha, or not.
- *
+ * @param bits
+ * the number of bits per gray value.
+ * @param dataType
+ * the data type.
+ * @param isSigned
+ * a signed flag.
+ * @param isAlphaPremultiplied
+ * the parameter indicates if color channel is pre-multiplied by
+ * alpha, or not.
* @return the ImageTypeSpecifier.
*/
- public static ImageTypeSpecifier createGrayscale(int bits,
- int dataType,
- boolean isSigned,
- boolean isAlphaPremultiplied) {
+ public static ImageTypeSpecifier createGrayscale(int bits, int dataType, boolean isSigned,
+ boolean isAlphaPremultiplied) {
throw new UnsupportedOperationException("Not supported yet");
}
/**
* Creates a ImageTypeSpecifier with the indexed image format.
*
- * @param redLUT the red values of indecies.
- * @param greenLUT the green values of indecies.
- * @param blueLUT the blue values of indecies.
- * @param alphaLUT the alpha values of indecies.
- * @param bits the bits number for each index.
- * @param dataType the data type.
- *
+ * @param redLUT
+ * the red values of indices.
+ * @param greenLUT
+ * the green values of indices.
+ * @param blueLUT
+ * the blue values of indices.
+ * @param alphaLUT
+ * the alpha values of indices.
+ * @param bits
+ * the bits number for each index.
+ * @param dataType
+ * the data type.
* @return the ImageTypeSpecifier.
*/
- public static ImageTypeSpecifier createIndexed(byte[] redLUT,
- byte[] greenLUT,
- byte[] blueLUT,
- byte[] alphaLUT,
- int bits,
- int dataType) {
+ public static ImageTypeSpecifier createIndexed(byte[] redLUT, byte[] greenLUT, byte[] blueLUT,
+ byte[] alphaLUT, int bits, int dataType) {
throw new UnsupportedOperationException("Not supported yet");
}
/**
- * Creates the ImageTypeSpecifier from
- * the specified buffered image type.
- *
- * @param bufferedImageType the buffered image type.
+ * Creates the ImageTypeSpecifier from the specified buffered image type.
*
+ * @param bufferedImageType
+ * the buffered image type.
* @return the ImageTypeSpecifier.
*/
public static ImageTypeSpecifier createFromBufferedImageType(int bufferedImageType) {
@@ -216,11 +224,10 @@ public class ImageTypeSpecifier {
}
/**
- * Creates the ImageTypeSpecifier from
- * the specified RenderedImage.
- *
- * @param image the RenderedImage.
+ * Creates the ImageTypeSpecifier from the specified RenderedImage.
*
+ * @param image
+ * the RenderedImage.
* @return the ImageTypeSpecifier.
*/
public static ImageTypeSpecifier createFromRenderedImage(RenderedImage image) {
@@ -242,7 +249,7 @@ public class ImageTypeSpecifier {
/**
* Gets the number of components.
*
- * @return the number of components
+ * @return the number of components.
*/
public int getNumComponents() {
return colorModel.getNumComponents();
@@ -251,7 +258,7 @@ public class ImageTypeSpecifier {
/**
* Gets the number of bands.
*
- * @return the number of bands
+ * @return the number of bands.
*/
public int getNumBands() {
return sampleModel.getNumBands();
@@ -260,8 +267,8 @@ public class ImageTypeSpecifier {
/**
* Gets the number of bits per the specified band.
*
- * @param band the index of band.
- *
+ * @param band
+ * the index of band.
* @return the number of bits per the specified band.
*/
public int getBitsPerBand(int band) {
@@ -283,13 +290,14 @@ public class ImageTypeSpecifier {
/**
* Gets a compatible SampleModel with the specified width and height.
*
- * @param width the width.
- * @param height the height.
- *
+ * @param width
+ * the width.
+ * @param height
+ * the height.
* @return the SampleModel.
*/
public SampleModel getSampleModel(int width, int height) {
- if ((long)width*height > Integer.MAX_VALUE) {
+ if ((long)width * height > Integer.MAX_VALUE) {
throw new IllegalArgumentException("width * height > Integer.MAX_VALUE");
}
return sampleModel.createCompatibleSampleModel(width, height);
@@ -298,20 +306,21 @@ public class ImageTypeSpecifier {
/**
* Gets the ColorModel associated with this ImageTypeSpecifier.
*
- * @return the ColorModel associated with this ImageTypeSpecifier.
+ * @return the ColorModel associated with this ImageTypeSpecifier.
*/
public ColorModel getColorModel() {
return colorModel;
}
/**
- * Creates the BufferedImage with the specified width and height
- * and the ColorMadel and SampleModel which are specified by this
+ * Creates the BufferedImage with the specified width and height and the
+ * ColorMadel and SampleModel which are specified by this
* ImageTypeSpecifier.
*
- * @param width the width of the BufferedImage.
- * @param height the height of the BufferedImage.
- *
+ * @param width
+ * the width of the BufferedImage.
+ * @param height
+ * the height of the BufferedImage.
* @return the BufferedImage.
*/
public BufferedImage createBufferedImage(int width, int height) {
@@ -319,19 +328,18 @@ public class ImageTypeSpecifier {
}
/**
- * Compares this ImageTypeSpecifier object with the specified
- * object.
- *
- * @param o the Object to be compared.
+ * Compares this ImageTypeSpecifier object with the specified object.
*
- * @return true, if the object is an ImageTypeSpecifier with the same
- * data as this ImageTypeSpecifier, false otherwise.
+ * @param o
+ * the Object to be compared.
+ * @return true, if the object is an ImageTypeSpecifier with the same data
+ * as this ImageTypeSpecifier, false otherwise.
*/
@Override
public boolean equals(Object o) {
boolean rt = false;
if (o instanceof ImageTypeSpecifier) {
- ImageTypeSpecifier ts = (ImageTypeSpecifier) o;
+ ImageTypeSpecifier ts = (ImageTypeSpecifier)o;
rt = colorModel.equals(ts.colorModel) && sampleModel.equals(ts.sampleModel);
}
return rt;
diff --git a/awt/javax/imageio/ImageWriteParam.java b/awt/javax/imageio/ImageWriteParam.java
index d32fa59..d661889 100644
--- a/awt/javax/imageio/ImageWriteParam.java
+++ b/awt/javax/imageio/ImageWriteParam.java
@@ -18,103 +18,141 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.3 $
*/
+
package javax.imageio;
import java.util.Locale;
import java.awt.*;
/**
- * The ImageWriteParam class provides information to an ImageWriter
- * about how an image is to be encoded.
+ * The ImageWriteParam class provides information to an ImageWriter about how an
+ * image is to be encoded.
+ *
+ * @since Android 1.0
*/
public class ImageWriteParam extends IIOParam {
- /**
- * The Constant MODE_DISABLED indicates that
- * stream is not tiled, progressive, or compressed.
+ /**
+ * The Constant MODE_DISABLED indicates that stream is not tiled,
+ * progressive, or compressed.
*/
public static final int MODE_DISABLED = 0;
-
- /**
- * The Constant MODE_DEFAULT indicates that the stream will be tiled,
- * progressive, or compressed according to the plug-in's default.
+
+ /**
+ * The Constant MODE_DEFAULT indicates that the stream will be tiled,
+ * progressive, or compressed according to the plug-in's default.
*/
public static final int MODE_DEFAULT = 1;
-
- /**
+
+ /**
* The Constant MODE_EXPLICIT indicates that the stream will be tiled,
- * progressive, or compressed according to current settings
- * which are defined by set methods.
+ * progressive, or compressed according to current settings which are
+ * defined by set methods.
*/
public static final int MODE_EXPLICIT = 2;
-
- /**
- * The Constant MODE_COPY_FROM_METADATA indicates that the stream
- * will be tiled, progressive, or compressed according to
- * stream or image metadata.
+
+ /**
+ * The Constant MODE_COPY_FROM_METADATA indicates that the stream will be
+ * tiled, progressive, or compressed according to stream or image metadata.
*/
public static final int MODE_COPY_FROM_METADATA = 3;
-
- /** Whether the ImageWriter can write tiles. */
+
+ /**
+ * Whether the ImageWriter can write tiles.
+ */
protected boolean canWriteTiles = false;
-
- /** The tiling mode. */
+
+ /**
+ * The tiling mode.
+ */
protected int tilingMode = MODE_COPY_FROM_METADATA;
-
- /** The preferred tile sizes. */
+
+ /**
+ * The preferred tile sizes.
+ */
protected Dimension[] preferredTileSizes = null;
-
- /** The tiling set. */
+
+ /**
+ * The tiling set.
+ */
protected boolean tilingSet = false;
-
- /** The tile width. */
+
+ /**
+ * The tile width.
+ */
protected int tileWidth = 0;
-
- /** The tile height. */
+
+ /**
+ * The tile height.
+ */
protected int tileHeight = 0;
-
- /** Whether the ImageWriter can offset tiles. */
+
+ /**
+ * Whether the ImageWriter can offset tiles.
+ */
protected boolean canOffsetTiles = false;
-
- /** The tile grid x offset. */
+
+ /**
+ * The tile grid x offset.
+ */
protected int tileGridXOffset = 0;
-
- /** The tile grid y offset. */
+
+ /**
+ * The tile grid y offset.
+ */
protected int tileGridYOffset = 0;
-
- /** Whether the ImageWriter can write in progressive mode. */
+
+ /**
+ * Whether the ImageWriter can write in progressive mode.
+ */
protected boolean canWriteProgressive = false;
-
- /** The progressive mode. */
+
+ /**
+ * The progressive mode.
+ */
protected int progressiveMode = MODE_COPY_FROM_METADATA;
-
- /** Whether the ImageWriter can write in compressed mode. */
+
+ /**
+ * Whether the ImageWriter can write in compressed mode.
+ */
protected boolean canWriteCompressed = false;
-
- /** The compression mode. */
+
+ /**
+ * The compression mode.
+ */
protected int compressionMode = MODE_COPY_FROM_METADATA;
-
- /** The compression types. */
+
+ /**
+ * The compression types.
+ */
protected String[] compressionTypes = null;
-
- /** The compression type. */
+
+ /**
+ * The compression type.
+ */
protected String compressionType = null;
-
- /** The compression quality. */
+
+ /**
+ * The compression quality.
+ */
protected float compressionQuality = 1.0f;
-
- /** The locale. */
+
+ /**
+ * The locale.
+ */
protected Locale locale = null;
/**
* Instantiates a new ImageWriteParam.
*/
- protected ImageWriteParam() {}
+ protected ImageWriteParam() {
+ }
/**
* Instantiates a new ImageWriteParam with the specified Locale.
*
- * @param locale the Locale.
+ * @param locale
+ * the Locale.
*/
public ImageWriteParam(Locale locale) {
this.locale = locale;
@@ -122,7 +160,7 @@ public class ImageWriteParam extends IIOParam {
}
/**
- * Gets the mode for writing the stream in a progressive sequence.
+ * Gets the mode for writing the stream in a progressive sequence.
*
* @return the current progressive mode.
*/
@@ -134,24 +172,24 @@ public class ImageWriteParam extends IIOParam {
}
/**
- * Returns true if images can be written using
- * increasing quality passes by progressive.
+ * Returns true if images can be written using increasing quality passes by
+ * progressive.
*
- * @return true if images can be written using
- * increasing quality passes by progressive, false otherwise.
+ * @return true if images can be written using increasing quality passes by
+ * progressive, false otherwise.
*/
public boolean canWriteProgressive() {
return canWriteProgressive;
}
/**
- * Sets the progressive mode which defines whether the stream
- * contains a progressive sequence of increasing quality
- * during writing. The progressive mode should be one of
- * the following values: MODE_DISABLED, MODE_DEFAULT, or
- * MODE_COPY_FROM_METADATA.
+ * Sets the progressive mode which defines whether the stream contains a
+ * progressive sequence of increasing quality during writing. The
+ * progressive mode should be one of the following values: MODE_DISABLED,
+ * MODE_DEFAULT, or MODE_COPY_FROM_METADATA.
*
- * @param mode the new progressive mode.
+ * @param mode
+ * the new progressive mode.
*/
public void setProgressiveMode(int mode) {
if (canWriteProgressive()) {
@@ -164,22 +202,21 @@ public class ImageWriteParam extends IIOParam {
}
/**
- * Returns true if the writer can use tiles with non zero
- * grid offsets while writing.
+ * Returns true if the writer can use tiles with non zero grid offsets while
+ * writing.
*
- * @return true if the writer can use tiles with non zero
- * grid offsets while writing, false otherwise.
+ * @return true, if the writer can use tiles with non zero grid offsets
+ * while writing, false otherwise.
*/
public boolean canOffsetTiles() {
return canOffsetTiles;
}
/**
- * Returns true if this writer can write images with
- * compression.
+ * Returns true if this writer can write images with compression.
*
- * @return true, true if this writer can write images with
- * compression, false otherwise.
+ * @return true, if this writer can write images with compression, false
+ * otherwise.
*/
public boolean canWriteCompressed() {
return canWriteCompressed;
@@ -188,7 +225,7 @@ public class ImageWriteParam extends IIOParam {
/**
* Returns true if the writer can write tiles.
*
- * @return true if the writer can write tiles, false otherwise.
+ * @return true, if the writer can write tiles, false otherwise.
*/
public boolean canWriteTiles() {
return canWriteTiles;
@@ -247,8 +284,7 @@ public class ImageWriteParam extends IIOParam {
/**
* Gets the current compression type, or returns null.
*
- * @return the current compression type, or returns null
- * if it is not set.
+ * @return the current compression type, or returns null if it is not set.
*/
public String getCompressionType() {
checkWriteCompressed();
@@ -257,14 +293,12 @@ public class ImageWriteParam extends IIOParam {
}
/**
- * Gets a bit rate which represents an estimate of the number of bits
- * of output data for each bit of input image data with the specified
- * quality.
+ * Gets a bit rate which represents an estimate of the number of bits of
+ * output data for each bit of input image data with the specified quality.
*
- * @param quality the quality.
- *
- * @return an estimate of the bit rate, or -1.0F if there is no
- * estimate.
+ * @param quality
+ * the quality.
+ * @return an estimate of the bit rate, or -1.0F if there is no estimate.
*/
public float getBitRate(float quality) {
checkWriteCompressed();
@@ -301,8 +335,7 @@ public class ImageWriteParam extends IIOParam {
}
/**
- * Gets an array of floats which decribe
- * compression quality levels.
+ * Gets an array of floats which describes compression quality levels.
*
* @return the array of compression quality values.
*/
@@ -323,7 +356,7 @@ public class ImageWriteParam extends IIOParam {
}
/**
- * Gets the current compression type using the current Locale.
+ * Gets the current compression type using the current Locale.
*
* @return the current compression type using the current Locale.
*/
@@ -377,8 +410,8 @@ public class ImageWriteParam extends IIOParam {
}
/**
- * Gets an array of Dimensions giving the sizes of the tiles as
- * they are encoded in the output file or stream.
+ * Gets an array of Dimensions giving the sizes of the tiles as they are
+ * encoded in the output file or stream.
*
* @return the preferred tile sizes.
*/
@@ -420,11 +453,10 @@ public class ImageWriteParam extends IIOParam {
}
/**
- * Gets the tile height in an image as it is written to the
- * output stream.
+ * Gets the tile height in an image as it is written to the output stream.
*
- * @return the tile height in an image as it is written to the
- * output stream.
+ * @return the tile height in an image as it is written to the output
+ * stream.
*/
public int getTileHeight() {
checkTiling();
@@ -434,11 +466,9 @@ public class ImageWriteParam extends IIOParam {
}
/**
- * Gets the tile width in an image as it is written to the
- * output stream.
+ * Gets the tile width in an image as it is written to the output stream.
*
- * @return the tile width in an image as it is written to the
- * output stream.
+ * @return the tile width in an image as it is written to the output stream.
*/
public int getTileWidth() {
checkTiling();
@@ -448,11 +478,10 @@ public class ImageWriteParam extends IIOParam {
}
/**
- * Checks if the current compression type has lossless
- * compression or not.
+ * Checks if the current compression type has lossless compression or not.
*
- * @return true, if the current compression type has lossless
- * compression, false otherwise.
+ * @return true, if the current compression type has lossless compression,
+ * false otherwise.
*/
public boolean isCompressionLossless() {
checkWriteCompressed();
@@ -472,12 +501,12 @@ public class ImageWriteParam extends IIOParam {
}
/**
- * Sets the compression mode to the specified value.
- * The specified mode can be one of the predefined
- * constants: MODE_DEFAULT, MODE_DISABLED, MODE_EXPLICIT,
- * or MODE_COPY_FROM_METADATA.
- *
- * @param mode the new compression mode to be set.
+ * Sets the compression mode to the specified value. The specified mode can
+ * be one of the predefined constants: MODE_DEFAULT, MODE_DISABLED,
+ * MODE_EXPLICIT, or MODE_COPY_FROM_METADATA.
+ *
+ * @param mode
+ * the new compression mode to be set.
*/
public void setCompressionMode(int mode) {
checkWriteCompressed();
@@ -502,8 +531,8 @@ public class ImageWriteParam extends IIOParam {
/**
* Sets the compression quality. The value should be between 0 and 1.
*
- * @param quality the new compression quality,
- * float value between 0 and 1.
+ * @param quality
+ * the new compression quality, float value between 0 and 1.
*/
public void setCompressionQuality(float quality) {
checkWriteCompressed();
@@ -516,11 +545,11 @@ public class ImageWriteParam extends IIOParam {
}
/**
- * Sets the compression type. The specified string
- * should be one of the values returned
- * by getCompressionTypes method.
+ * Sets the compression type. The specified string should be one of the
+ * values returned by getCompressionTypes method.
*
- * @param compressionType the new compression type.
+ * @param compressionType
+ * the new compression type.
*/
public void setCompressionType(String compressionType) {
checkWriteCompressed();
@@ -547,13 +576,17 @@ public class ImageWriteParam extends IIOParam {
}
/**
- * Sets the instruction that tiling should be performed for
- * the image in the output stream with the specified parameters.
+ * Sets the instruction that tiling should be performed for the image in the
+ * output stream with the specified parameters.
*
- * @param tileWidth the tile's width.
- * @param tileHeight the tile's height.
- * @param tileGridXOffset the tile grid's x offset.
- * @param tileGridYOffset the tile grid's y offset.
+ * @param tileWidth
+ * the tile's width.
+ * @param tileHeight
+ * the tile's height.
+ * @param tileGridXOffset
+ * the tile grid's x offset.
+ * @param tileGridYOffset
+ * the tile grid's y offset.
*/
public void setTiling(int tileWidth, int tileHeight, int tileGridXOffset, int tileGridYOffset) {
checkTiling();
@@ -563,19 +596,17 @@ public class ImageWriteParam extends IIOParam {
throw new UnsupportedOperationException("Can't offset tiles!");
}
- if (tileWidth <=0 || tileHeight <= 0) {
+ if (tileWidth <= 0 || tileHeight <= 0) {
throw new IllegalArgumentException("tile dimensions are non-positive!");
}
Dimension preferredTileSizes[] = getPreferredTileSizes();
if (preferredTileSizes != null) {
- for (int i = 0; i < preferredTileSizes.length; i+=2) {
+ for (int i = 0; i < preferredTileSizes.length; i += 2) {
Dimension minSize = preferredTileSizes[i];
- Dimension maxSize = preferredTileSizes[i+1];
- if (
- tileWidth < minSize.width || tileWidth > maxSize.width ||
- tileHeight < minSize.height || tileHeight > maxSize.height
- ) {
+ Dimension maxSize = preferredTileSizes[i + 1];
+ if (tileWidth < minSize.width || tileWidth > maxSize.width
+ || tileHeight < minSize.height || tileHeight > maxSize.height) {
throw new IllegalArgumentException("Illegal tile size!");
}
}
@@ -603,11 +634,12 @@ public class ImageWriteParam extends IIOParam {
}
/**
- * Sets the tiling mode. The specified mode should be one of the
- * following values: MODE_DISABLED, MODE_DEFAULT, MODE_EXPLICIT,
- * or MODE_COPY_FROM_METADATA.
+ * Sets the tiling mode. The specified mode should be one of the following
+ * values: MODE_DISABLED, MODE_DEFAULT, MODE_EXPLICIT, or
+ * MODE_COPY_FROM_METADATA.
*
- * @param mode the new tiling mode.
+ * @param mode
+ * the new tiling mode.
*/
public void setTilingMode(int mode) {
checkTiling();
@@ -630,4 +662,3 @@ public class ImageWriteParam extends IIOParam {
}
}
}
-
diff --git a/awt/javax/imageio/ImageWriter.java b/awt/javax/imageio/ImageWriter.java
index d6119b0..86879e0 100644
--- a/awt/javax/imageio/ImageWriter.java
+++ b/awt/javax/imageio/ImageWriter.java
@@ -18,6 +18,7 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.3 $
*/
+
package javax.imageio;
import java.awt.Dimension;
@@ -40,34 +41,49 @@ import javax.imageio.metadata.IIOMetadata;
import javax.imageio.spi.ImageWriterSpi;
/**
- * The ImageWriter class is an abstract class for encoding images.
- * ImageWriter objects are instantiated by the service provider
- * interface, ImageWriterSpi class, for the specific format.
- * ImageWriterSpi class should be registered with the IIORegistry,
- * which uses them for format recognition and presentation of available
- * format readers and writers.
+ * The ImageWriter class is an abstract class for encoding images. ImageWriter
+ * objects are instantiated by the service provider interface, ImageWriterSpi
+ * class, for the specific format. ImageWriterSpi class should be registered
+ * with the IIORegistry, which uses them for format recognition and presentation
+ * of available format readers and writers.
+ *
+ * @since Android 1.0
*/
public abstract class ImageWriter implements ImageTranscoder {
- /** The available locales. */
+ /**
+ * The available locales.
+ */
protected Locale[] availableLocales;
-
- /** The locale. */
+
+ /**
+ * The locale.
+ */
protected Locale locale;
-
- /** The originating provider. */
+
+ /**
+ * The originating provider.
+ */
protected ImageWriterSpi originatingProvider;
-
- /** The output. */
+
+ /**
+ * The output.
+ */
protected Object output;
-
- /** The progress listeners. */
+
+ /**
+ * The progress listeners.
+ */
protected List<IIOWriteProgressListener> progressListeners;
-
- /** The warning listeners. */
+
+ /**
+ * The warning listeners.
+ */
protected List<IIOWriteWarningListener> warningListeners;
-
- /** The warning locales. */
+
+ /**
+ * The warning locales.
+ */
protected List<Locale> warningLocales;
// Indicates that abort operation is requested
@@ -78,22 +94,21 @@ public abstract class ImageWriter implements ImageTranscoder {
/**
* Instantiates a new ImageWriter.
*
- * @param originatingProvider the ImageWriterSpi which
- * instanties this ImageWriter.
+ * @param originatingProvider
+ * the ImageWriterSpi which instantiates this ImageWriter.
*/
protected ImageWriter(ImageWriterSpi originatingProvider) {
this.originatingProvider = originatingProvider;
}
public abstract IIOMetadata convertStreamMetadata(IIOMetadata iioMetadata,
- ImageWriteParam imageWriteParam);
+ ImageWriteParam imageWriteParam);
public abstract IIOMetadata convertImageMetadata(IIOMetadata iioMetadata,
- ImageTypeSpecifier imageTypeSpecifier,
- ImageWriteParam imageWriteParam);
+ ImageTypeSpecifier imageTypeSpecifier, ImageWriteParam imageWriteParam);
/**
- * Gets the ImageWriterSpi which instantiated this ImageWriter.
+ * Gets the ImageWriterSpi which instantiated this ImageWriter.
*
* @return the ImageWriterSpi.
*/
@@ -102,10 +117,11 @@ public abstract class ImageWriter implements ImageTranscoder {
}
/**
- * Processes the start of an image read by calling their imageStarted
- * method of registered IIOWriteProgressListeners.
+ * Processes the start of an image read by calling their imageStarted method
+ * of registered IIOWriteProgressListeners.
*
- * @param imageIndex the image index.
+ * @param imageIndex
+ * the image index.
*/
protected void processImageStarted(int imageIndex) {
if (null != progressListeners) {
@@ -116,10 +132,11 @@ public abstract class ImageWriter implements ImageTranscoder {
}
/**
- * Processes the current percentage of image completion by calling
+ * Processes the current percentage of image completion by calling
* imageProgress method of registered IIOWriteProgressListener.
*
- * @param percentageDone the percentage done.
+ * @param percentageDone
+ * the percentage done.
*/
protected void processImageProgress(float percentageDone) {
if (null != progressListeners) {
@@ -130,8 +147,8 @@ public abstract class ImageWriter implements ImageTranscoder {
}
/**
- * Processes image completion by calling imageComplete method
- * of registered IIOWriteProgressListeners.
+ * Processes image completion by calling imageComplete method of registered
+ * IIOWriteProgressListeners.
*/
protected void processImageComplete() {
if (null != progressListeners) {
@@ -142,11 +159,13 @@ public abstract class ImageWriter implements ImageTranscoder {
}
/**
- * Processes a warning message by calling warningOccurred method
- * of registered IIOWriteWarningListeners.
+ * Processes a warning message by calling warningOccurred method of
+ * registered IIOWriteWarningListeners.
*
- * @param imageIndex the image index.
- * @param warning the warning.
+ * @param imageIndex
+ * the image index.
+ * @param warning
+ * the warning.
*/
protected void processWarningOccurred(int imageIndex, String warning) {
if (null == warning) {
@@ -160,13 +179,15 @@ public abstract class ImageWriter implements ImageTranscoder {
}
/**
- * Processes a warning message by calling warningOccurred method
- * of registered IIOWriteWarningListeners with string from
- * ResourceBundle.
+ * Processes a warning message by calling warningOccurred method of
+ * registered IIOWriteWarningListeners with string from ResourceBundle.
*
- * @param imageIndex the image index.
- * @param bundle the name of ResourceBundle.
- * @param key the keyword.
+ * @param imageIndex
+ * the image index.
+ * @param bundle
+ * the name of ResourceBundle.
+ * @param key
+ * the keyword.
*/
protected void processWarningOccurred(int imageIndex, String bundle, String key) {
if (warningListeners != null) { // Don't check the parameters
@@ -180,17 +201,18 @@ public abstract class ImageWriter implements ImageTranscoder {
throw new IllegalArgumentException("keyword == null!");
}
- // Get the context class loader and try to locate the bundle with it first
- ClassLoader contextClassloader = AccessController.doPrivileged(
- new PrivilegedAction<ClassLoader>() {
+ // Get the context class loader and try to locate the bundle with it
+ // first
+ ClassLoader contextClassloader = AccessController
+ .doPrivileged(new PrivilegedAction<ClassLoader>() {
public ClassLoader run() {
return Thread.currentThread().getContextClassLoader();
}
- });
+ });
// Iterate through both listeners and locales
int n = warningListeners.size();
- for (int i=0; i < n; i++) {
+ for (int i = 0; i < n; i++) {
IIOWriteWarningListener listener = warningListeners.get(i);
Locale locale = warningLocales.get(i);
@@ -218,10 +240,11 @@ public abstract class ImageWriter implements ImageTranscoder {
}
/**
- * Sets the specified Object to the output of this ImageWriter.
+ * Sets the specified Object to the output of this ImageWriter.
*
- * @param output the Object which represents destination, it can
- * be ImageOutputStream or other objects.
+ * @param output
+ * the Object which represents destination, it can be
+ * ImageOutputStream or other objects.
*/
public void setOutput(Object output) {
if (output != null) {
@@ -244,26 +267,26 @@ public abstract class ImageWriter implements ImageTranscoder {
}
/**
- * Writes a completed image stream that contains the specified image,
+ * Writes a completed image stream that contains the specified image,
* default metadata, and thumbnails to the output.
*
- * @param image the specified image to be written.
- *
- * @throws IOException Signals that an I/O exception has occurred
- * during writting.
+ * @param image
+ * the specified image to be written.
+ * @throws IOException
+ * if an I/O exception has occurred during writing.
*/
public void write(IIOImage image) throws IOException {
write(null, image, null);
}
/**
- * Writes a completed image stream that contains the specified
- * rendered image, default metadata, and thumbnails to the output.
- *
- * @param image the specified RenderedImage to be written.
+ * Writes a completed image stream that contains the specified rendered
+ * image, default metadata, and thumbnails to the output.
*
- * @throws IOException Signals that an I/O exception has occurred
- * during writting.
+ * @param image
+ * the specified RenderedImage to be written.
+ * @throws IOException
+ * if an I/O exception has occurred during writing.
*/
public void write(RenderedImage image) throws IOException {
write(null, new IIOImage(image, null, null), null);
@@ -273,16 +296,18 @@ public abstract class ImageWriter implements ImageTranscoder {
* Writes a completed image stream that contains the specified image,
* metadata and thumbnails to the output.
*
- * @param streamMetadata the stream metadata, or null.
- * @param image the specified image to be written, if
- * canWriteRaster() method returns false, then Image must contain
- * only RenderedImage.
- * @param param the ImageWriteParam, or null.
- *
- * @throws IOException - if an error occurs during writing.
+ * @param streamMetadata
+ * the stream metadata, or null.
+ * @param image
+ * the specified image to be written, if canWriteRaster() method
+ * returns false, then Image must contain only RenderedImage.
+ * @param param
+ * the ImageWriteParam, or null.
+ * @throws IOException
+ * if an error occurs during writing.
*/
- public abstract void write(IIOMetadata streamMetadata,
- IIOImage image, ImageWriteParam param) throws IOException;
+ public abstract void write(IIOMetadata streamMetadata, IIOImage image, ImageWriteParam param)
+ throws IOException;
/**
* Disposes of any resources.
@@ -292,26 +317,26 @@ public abstract class ImageWriter implements ImageTranscoder {
}
/**
- * Requests an abort operation for current writing operation.
+ * Requests an abort operation for current writing operation.
*/
public synchronized void abort() {
aborted = true;
}
/**
- * Checks whether or not a request to abort the current write operation
- * has been made successfully.
+ * Checks whether or not a request to abort the current write operation has
+ * been made successfully.
*
- * @return true, if the request to abort the current write operation
- * has been made successfully, false otherwise.
+ * @return true, if the request to abort the current write operation has
+ * been made successfully, false otherwise.
*/
protected synchronized boolean abortRequested() {
return aborted;
}
/**
- * Clears all previous abort request, and abortRequested returns false
- * after calling this method.
+ * Clears all previous abort request, and abortRequested returns false after
+ * calling this method.
*/
protected synchronized void clearAbortRequest() {
aborted = false;
@@ -320,7 +345,8 @@ public abstract class ImageWriter implements ImageTranscoder {
/**
* Adds the IIOWriteProgressListener listener.
*
- * @param listener the IIOWriteProgressListener listener.
+ * @param listener
+ * the IIOWriteProgressListener listener.
*/
public void addIIOWriteProgressListener(IIOWriteProgressListener listener) {
if (listener == null) {
@@ -337,7 +363,8 @@ public abstract class ImageWriter implements ImageTranscoder {
/**
* Adds the IIOWriteWarningListener.
*
- * @param listener the IIOWriteWarningListener listener.
+ * @param listener
+ * the IIOWriteWarningListener listener.
*/
public void addIIOWriteWarningListener(IIOWriteWarningListener listener) {
if (listener == null) {
@@ -356,8 +383,8 @@ public abstract class ImageWriter implements ImageTranscoder {
/**
* Gets the output object that was set by setOutput method.
*
- * @return the output object such as ImageOutputStream, or null if
- * it is not set.
+ * @return the output object such as ImageOutputStream, or null if it is not
+ * set.
*/
public Object getOutput() {
return output;
@@ -366,7 +393,7 @@ public abstract class ImageWriter implements ImageTranscoder {
/**
* Check output return false.
*
- * @return true, if successful
+ * @return true, if successful.
*/
private final boolean checkOutputReturnFalse() {
if (getOutput() == null) {
@@ -385,124 +412,122 @@ public abstract class ImageWriter implements ImageTranscoder {
throw new UnsupportedOperationException("Unsupported write variant!");
}
-
/**
- * Returns true if a new empty image can be inserted at
- * the specified index.
+ * Returns true if a new empty image can be inserted at the specified index.
*
- * @param imageIndex the specified index of image.
- *
- * @return true if a new empty image can be inserted at
- * the specified index, false otherwise.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param imageIndex
+ * the specified index of image.
+ * @return true if a new empty image can be inserted at the specified index,
+ * false otherwise.
+ * @throws IOException
+ * Signals that an I/O exception has occurred.
*/
public boolean canInsertEmpty(int imageIndex) throws IOException {
return checkOutputReturnFalse();
}
/**
- * Returns true if a new image can be inserted at the specified index.
- *
- * @param imageIndex the specified index of image.
+ * Returns true if a new image can be inserted at the specified index.
*
- * @return true if a new image can be inserted at the specified index,
- * false otherwise.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param imageIndex
+ * the specified index of image.
+ * @return true if a new image can be inserted at the specified index, false
+ * otherwise.
+ * @throws IOException
+ * Signals that an I/O exception has occurred.
*/
public boolean canInsertImage(int imageIndex) throws IOException {
return checkOutputReturnFalse();
}
/**
- * Returnes true if the image with the specified index can be removed.
- *
- * @param imageIndex the specified index of image.
+ * Returns true if the image with the specified index can be removed.
*
- * @return true if the image with the specified index can be removed,
- * false otherwise.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param imageIndex
+ * the specified index of image.
+ * @return true if the image with the specified index can be removed, false
+ * otherwise.
+ * @throws IOException
+ * Signals that an I/O exception has occurred.
*/
public boolean canRemoveImage(int imageIndex) throws IOException {
return checkOutputReturnFalse();
}
/**
- * Returns true if metadata of the image with the specified index
- * can be replaced.
- *
- * @param imageIndex the specified image index.
+ * Returns true if metadata of the image with the specified index can be
+ * replaced.
*
- * @return true if metadata of the image with the specified index
- * can be replaced, false otherwise.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param imageIndex
+ * the specified image index.
+ * @return true if metadata of the image with the specified index can be
+ * replaced, false otherwise.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public boolean canReplaceImageMetadata(int imageIndex) throws IOException {
return checkOutputReturnFalse();
}
/**
- * Returns true if pixels of the image with the specified index
- * can be replaced by the replacePixels methods.
- *
- * @param imageIndex the image's index.
+ * Returns true if pixels of the image with the specified index can be
+ * replaced by the replacePixels methods.
*
- * @return true if pixels of the image with the specified index
- * can be replaced by the replacePixels methods, false otherwise.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param imageIndex
+ * the image's index.
+ * @return true if pixels of the image with the specified index can be
+ * replaced by the replacePixels methods, false otherwise.
+ * @throws IOException
+ * Signals that an I/O exception has occurred.
*/
public boolean canReplacePixels(int imageIndex) throws IOException {
return checkOutputReturnFalse();
}
/**
- * Returns true if the stream metadata presented in the output
- * can be removed.
- *
- * @return true if the stream metadata presented in the output
- * can be removed, false otherwise.
+ * Returns true if the stream metadata presented in the output can be
+ * removed.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @return true if the stream metadata presented in the output can be
+ * removed, false otherwise.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public boolean canReplaceStreamMetadata() throws IOException {
return checkOutputReturnFalse();
}
/**
- * Returns true if the writing of a complete image stream which
- * contains a single image is supported with undefined pixel
- * values and associated metadata and thumbnails to the output.
- *
- * @return true if the writing of a complete image stream which
- * contains a single image is supported, false otherwise.
+ * Returns true if the writing of a complete image stream which contains a
+ * single image is supported with undefined pixel values and associated
+ * metadata and thumbnails to the output.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @return true if the writing of a complete image stream which contains a
+ * single image is supported, false otherwise.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public boolean canWriteEmpty() throws IOException {
return checkOutputReturnFalse();
}
/**
- * Returns true if the methods which taken an IIOImageParameter
- * can deal with a Raster source image.
+ * Returns true if the methods which taken an IIOImageParameter can deal
+ * with a Raster source image.
*
- * @return true if the methods which taken an IIOImageParameter
- * can deal with a Raster source image, false otherwise.
+ * @return true if the methods which taken an IIOImageParameter can deal
+ * with a Raster source image, false otherwise.
*/
public boolean canWriteRasters() {
return false;
}
/**
- * Returns true if the writer can add an image to stream that
- * already contains header information.
+ * Returns true if the writer can add an image to stream that already
+ * contains header information.
*
- * @return if the writer can add an image to stream that
- * already contains header information, false otherwise.
+ * @return if the writer can add an image to stream that already contains
+ * header information, false otherwise.
*/
public boolean canWriteSequence() {
return false;
@@ -511,16 +536,18 @@ public abstract class ImageWriter implements ImageTranscoder {
/**
* Ends the insertion of a new image.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public void endInsertEmpty() throws IOException {
unsupportedOperation();
}
/**
- * Ends the repalce pixels operation.
+ * Ends the replace pixels operation.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public void endReplacePixels() throws IOException {
unsupportedOperation();
@@ -529,7 +556,8 @@ public abstract class ImageWriter implements ImageTranscoder {
/**
* Ends an empty write operation.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public void endWriteEmpty() throws IOException {
unsupportedOperation();
@@ -538,7 +566,8 @@ public abstract class ImageWriter implements ImageTranscoder {
/**
* Ends the sequence of write operations.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public void endWriteSequence() throws IOException {
unsupportedOperation();
@@ -558,25 +587,24 @@ public abstract class ImageWriter implements ImageTranscoder {
}
/**
- * Gets an IIOMetadata object that contains default values
- * for encoding an image with the specified type.
- *
- * @param imageType the ImageTypeSpecifier.
- * @param param the ImageWriteParam.
+ * Gets an IIOMetadata object that contains default values for encoding an
+ * image with the specified type.
*
+ * @param imageType
+ * the ImageTypeSpecifier.
+ * @param param
+ * the ImageWriteParam.
* @return the IIOMetadata object.
*/
- public abstract IIOMetadata getDefaultImageMetadata(
- ImageTypeSpecifier imageType,
- ImageWriteParam param
- );
+ public abstract IIOMetadata getDefaultImageMetadata(ImageTypeSpecifier imageType,
+ ImageWriteParam param);
/**
- * Gets an IIOMetadata object that contains default values
- * for encoding a stream of images.
- *
- * @param param the ImageWriteParam.
+ * Gets an IIOMetadata object that contains default values for encoding a
+ * stream of images.
*
+ * @param param
+ * the ImageWriteParam.
* @return the IIOMetadata object.
*/
public abstract IIOMetadata getDefaultStreamMetadata(ImageWriteParam param);
@@ -591,9 +619,8 @@ public abstract class ImageWriter implements ImageTranscoder {
}
/**
- * Gets the default write param.
- * Gets a new ImageWriteParam object for this ImageWriter with the
- * current Locale.
+ * Gets the default write param. Gets a new ImageWriteParam object for this
+ * ImageWriter with the current Locale.
*
* @return a new ImageWriteParam object for this ImageWriter.
*/
@@ -602,124 +629,131 @@ public abstract class ImageWriter implements ImageTranscoder {
}
/**
- * Gets the number of thumbnails suported by the format
- * being written with supported image type, image write
- * parameters, stream, and image metadata objects.
+ * Gets the number of thumbnails supported by the format being written with
+ * supported image type, image write parameters, stream, and image metadata
+ * objects.
*
- * @param imageType the ImageTypeSpecifier.
- * @param param the image's parameters.
- * @param streamMetadata the stream metadata.
- * @param imageMetadata the image metadata.
- *
- * @return the number of thumbnails supported
+ * @param imageType
+ * the ImageTypeSpecifier.
+ * @param param
+ * the image's parameters.
+ * @param streamMetadata
+ * the stream metadata.
+ * @param imageMetadata
+ * the image metadata.
+ * @return the number of thumbnails supported.
*/
- public int getNumThumbnailsSupported(
- ImageTypeSpecifier imageType,
- ImageWriteParam param,
- IIOMetadata streamMetadata,
- IIOMetadata imageMetadata
- ) {
+ public int getNumThumbnailsSupported(ImageTypeSpecifier imageType, ImageWriteParam param,
+ IIOMetadata streamMetadata, IIOMetadata imageMetadata) {
return 0;
}
/**
- * Gets the preferred thumbnail sizes.
- * Gets an array of Dimensions with the sizes for thumbnail images
- * as they are encoded in the output file or stream.
- *
- * @param imageType the ImageTypeSpecifier.
- * @param param the ImageWriteParam.
- * @param streamMetadata the stream metadata.
- * @param imageMetadata the image metadata.
+ * Gets the preferred thumbnail sizes. Gets an array of Dimensions with the
+ * sizes for thumbnail images as they are encoded in the output file or
+ * stream.
*
- * @return the preferred thumbnail sizes
+ * @param imageType
+ * the ImageTypeSpecifier.
+ * @param param
+ * the ImageWriteParam.
+ * @param streamMetadata
+ * the stream metadata.
+ * @param imageMetadata
+ * the image metadata.
+ * @return the preferred thumbnail sizes.
*/
- public Dimension[] getPreferredThumbnailSizes(
- ImageTypeSpecifier imageType,
- ImageWriteParam param,
- IIOMetadata streamMetadata,
- IIOMetadata imageMetadata
- ) {
+ public Dimension[] getPreferredThumbnailSizes(ImageTypeSpecifier imageType,
+ ImageWriteParam param, IIOMetadata streamMetadata, IIOMetadata imageMetadata) {
return null;
}
/**
- * Prepares insertion of an empty image by requesting the insertion of
- * a new image into an existing image stream.
- *
- * @param imageIndex the image index.
- * @param imageType the image type.
- * @param width the width of the image.
- * @param height the height of the image.
- * @param imageMetadata the image metadata, or null.
- * @param thumbnails the array thumbnails for this image, or null.
- * @param param the ImageWriteParam, or null.
- *
- * @throws IOException Signals that an I/O exception has occurred.
- */
- public void prepareInsertEmpty(
- int imageIndex, ImageTypeSpecifier imageType,
- int width, int height,
- IIOMetadata imageMetadata, List<? extends BufferedImage> thumbnails,
- ImageWriteParam param
- ) throws IOException {
+ * Prepares insertion of an empty image by requesting the insertion of a new
+ * image into an existing image stream.
+ *
+ * @param imageIndex
+ * the image index.
+ * @param imageType
+ * the image type.
+ * @param width
+ * the width of the image.
+ * @param height
+ * the height of the image.
+ * @param imageMetadata
+ * the image metadata, or null.
+ * @param thumbnails
+ * the array thumbnails for this image, or null.
+ * @param param
+ * the ImageWriteParam, or null.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ public void prepareInsertEmpty(int imageIndex, ImageTypeSpecifier imageType, int width,
+ int height, IIOMetadata imageMetadata, List<? extends BufferedImage> thumbnails,
+ ImageWriteParam param) throws IOException {
unsupportedOperation();
}
/**
- * Prepares the writer to call the replacePixels method for the
- * specified region.
- *
- * @param imageIndex the image's index.
- * @param region the specified region.
+ * Prepares the writer to call the replacePixels method for the specified
+ * region.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param imageIndex
+ * the image's index.
+ * @param region
+ * the specified region.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public void prepareReplacePixels(int imageIndex, Rectangle region) throws IOException {
unsupportedOperation();
}
/**
- * Prepares the writer for writing an empty image by beginning the
- * process of writing a complete image stream that contains a single image
- * with undefined pixel values, metadata and thumbnails,
- * to the output.
- *
- * @param streamMetadata the stream metadata.
- * @param imageType the image type.
- * @param width the width of the image.
- * @param height the height of the image.
- * @param imageMetadata the image's metadata, or null.
- * @param thumbnails the image's thumbnails, or null.
- * @param param the image's parameters, or null.
- *
- * @throws IOException Signals that an I/O exception has occurred.
- */
- public void prepareWriteEmpty(
- IIOMetadata streamMetadata, ImageTypeSpecifier imageType,
- int width, int height,
- IIOMetadata imageMetadata, List<? extends BufferedImage> thumbnails,
- ImageWriteParam param
- ) throws IOException {
+ * Prepares the writer for writing an empty image by beginning the process
+ * of writing a complete image stream that contains a single image with
+ * undefined pixel values, metadata and thumbnails, to the output.
+ *
+ * @param streamMetadata
+ * the stream metadata.
+ * @param imageType
+ * the image type.
+ * @param width
+ * the width of the image.
+ * @param height
+ * the height of the image.
+ * @param imageMetadata
+ * the image's metadata, or null.
+ * @param thumbnails
+ * the image's thumbnails, or null.
+ * @param param
+ * the image's parameters, or null.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ public void prepareWriteEmpty(IIOMetadata streamMetadata, ImageTypeSpecifier imageType,
+ int width, int height, IIOMetadata imageMetadata,
+ List<? extends BufferedImage> thumbnails, ImageWriteParam param) throws IOException {
unsupportedOperation();
}
/**
- * Prepares a stream to accept calls of writeToSequence method
- * using the metadata object.
- *
- * @param streamMetadata the stream metadata.
+ * Prepares a stream to accept calls of writeToSequence method using the
+ * metadata object.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param streamMetadata
+ * the stream metadata.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public void prepareWriteSequence(IIOMetadata streamMetadata) throws IOException {
unsupportedOperation();
}
/**
- * Processes the completion of a thumbnail read
- * by calling their thumbnailComplete method
- * of registered IIOWriteProgressListeners.
+ * Processes the completion of a thumbnail read by calling their
+ * thumbnailComplete method of registered IIOWriteProgressListeners.
*/
protected void processThumbnailComplete() {
if (progressListeners != null) {
@@ -730,11 +764,11 @@ public abstract class ImageWriter implements ImageTranscoder {
}
/**
- * Processes the current percentage of thumbnail completion
- * by calling their thumbnailProgress method of registered
- * IIOWriteProgressListeners.
+ * Processes the current percentage of thumbnail completion by calling their
+ * thumbnailProgress method of registered IIOWriteProgressListeners.
*
- * @param percentageDone the percentage done.
+ * @param percentageDone
+ * the percentage done.
*/
protected void processThumbnailProgress(float percentageDone) {
if (progressListeners != null) {
@@ -745,11 +779,13 @@ public abstract class ImageWriter implements ImageTranscoder {
}
/**
- * Processes the start of a thumbnail read by calling
- * thumbnailStarted method of registered IIOWriteProgressListeners.
+ * Processes the start of a thumbnail read by calling thumbnailStarted
+ * method of registered IIOWriteProgressListeners.
*
- * @param imageIndex the image index.
- * @param thumbnailIndex the thumbnail index.
+ * @param imageIndex
+ * the image index.
+ * @param thumbnailIndex
+ * the thumbnail index.
*/
protected void processThumbnailStarted(int imageIndex, int thumbnailIndex) {
if (progressListeners != null) {
@@ -760,7 +796,7 @@ public abstract class ImageWriter implements ImageTranscoder {
}
/**
- * Processes that the writing has been aborted by calling writeAborted
+ * Processes that the writing has been aborted by calling writeAborted
* method of registered IIOWriteProgressListeners.
*/
protected void processWriteAborted() {
@@ -789,8 +825,8 @@ public abstract class ImageWriter implements ImageTranscoder {
/**
* Removes the specified IIOWriteProgressListener listener.
*
- * @param listener the registered IIOWriteProgressListener
- * to be removed.
+ * @param listener
+ * the registered IIOWriteProgressListener to be removed.
*/
public void removeIIOWriteProgressListener(IIOWriteProgressListener listener) {
if (progressListeners != null && listener != null) {
@@ -803,8 +839,8 @@ public abstract class ImageWriter implements ImageTranscoder {
/**
* Removes the specified IIOWriteWarningListener listener.
*
- * @param listener the registered IIOWriteWarningListener listener
- * to be removed.
+ * @param listener
+ * the registered IIOWriteWarningListener listener to be removed.
*/
public void removeIIOWriteWarningListener(IIOWriteWarningListener listener) {
if (warningListeners == null || listener == null) {
@@ -826,9 +862,10 @@ public abstract class ImageWriter implements ImageTranscoder {
/**
* Removes the image with the specified index from the stream.
*
- * @param imageIndex the image's index.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param imageIndex
+ * the image's index.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public void removeImage(int imageIndex) throws IOException {
unsupportedOperation();
@@ -837,36 +874,42 @@ public abstract class ImageWriter implements ImageTranscoder {
/**
* Replaces image metadata of the image with specified index.
*
- * @param imageIndex the image's index.
- * @param imageMetadata the image metadata.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param imageIndex
+ * the image's index.
+ * @param imageMetadata
+ * the image metadata.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public void replaceImageMetadata(int imageIndex, IIOMetadata imageMetadata) throws IOException {
unsupportedOperation();
}
/**
- * Replaces a part of an image presented in the output
- * with the specified RenderedImage.
+ * Replaces a part of an image presented in the output with the specified
+ * RenderedImage.
*
- * @param image the RenderedImage.
- * @param param the ImageWriteParam.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param image
+ * the RenderedImage.
+ * @param param
+ * the ImageWriteParam.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public void replacePixels(RenderedImage image, ImageWriteParam param) throws IOException {
unsupportedOperation();
}
/**
- * Replaces a part of an image presented in the output
- * with the specified Raster.
- *
- * @param raster the Raster.
- * @param param the ImageWriteParam.
+ * Replaces a part of an image presented in the output with the specified
+ * Raster.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param raster
+ * the Raster.
+ * @param param
+ * the ImageWriteParam.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public void replacePixels(Raster raster, ImageWriteParam param) throws IOException {
unsupportedOperation();
@@ -875,9 +918,10 @@ public abstract class ImageWriter implements ImageTranscoder {
/**
* Replaces the stream metadata of the output with new IIOMetadata.
*
- * @param streamMetadata the new stream metadata.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param streamMetadata
+ * the new stream metadata.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public void replaceStreamMetadata(IIOMetadata streamMetadata) throws IOException {
unsupportedOperation();
@@ -886,7 +930,8 @@ public abstract class ImageWriter implements ImageTranscoder {
/**
* Sets the locale of this ImageWriter.
*
- * @param locale the new locale.
+ * @param locale
+ * the new locale.
*/
public void setLocale(Locale locale) {
if (locale == null) {
@@ -924,26 +969,31 @@ public abstract class ImageWriter implements ImageTranscoder {
}
/**
- * Inserts image into existing output stream.
- *
- * @param imageIndex the image index where an image will be written.
- * @param image the specified image to be written.
- * @param param the ImageWriteParam, or null.
+ * Inserts image into existing output stream.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param imageIndex
+ * the image index where an image will be written.
+ * @param image
+ * the specified image to be written.
+ * @param param
+ * the ImageWriteParam, or null.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
- public void writeInsert(int imageIndex, IIOImage image, ImageWriteParam param) throws IOException {
+ public void writeInsert(int imageIndex, IIOImage image, ImageWriteParam param)
+ throws IOException {
unsupportedOperation();
}
/**
* Writes the specified image to the sequence.
*
- * @param image the image to be written.
- * @param param the ImageWriteParam, or null.
- *
- * @throws IOException Signals that an I/O exception has occurred
- * during writting.
+ * @param image
+ * the image to be written.
+ * @param param
+ * the ImageWriteParam, or null.
+ * @throws IOException
+ * if an I/O exception has occurred during writing.
*/
public void writeToSequence(IIOImage image, ImageWriteParam param) throws IOException {
unsupportedOperation();
diff --git a/awt/javax/imageio/event/IIOReadProgressListener.java b/awt/javax/imageio/event/IIOReadProgressListener.java
index 3d65807..2944896 100644
--- a/awt/javax/imageio/event/IIOReadProgressListener.java
+++ b/awt/javax/imageio/event/IIOReadProgressListener.java
@@ -18,86 +18,104 @@
* @author Sergey I. Salishev
* @version $Revision: 1.2 $
*/
+
package javax.imageio.event;
import java.util.EventListener;
import javax.imageio.ImageReader;
/**
- * The IIOReadProgressListener interface notifies callers
- * about the progress of the image and thumbnail reading methods.
+ * The IIOReadProgressListener interface notifies callers about the progress of
+ * the image and thumbnail reading methods.
+ *
+ * @since Android 1.0
*/
public interface IIOReadProgressListener extends EventListener {
/**
- * Notifies this listener that the image reading has been completed.
+ * Notifies this listener that the image reading has been completed.
*
- * @param source the ImageReader object which calls this method.
+ * @param source
+ * the ImageReader object which calls this method.
*/
void imageComplete(ImageReader source);
-
+
/**
* Notifies this listener about the degree of completion of the read call.
*
- * @param source the ImageReader object which calls this method.
- * @param percentageDone the percentage of decoding done.
+ * @param source
+ * the ImageReader object which calls this method.
+ * @param percentageDone
+ * the percentage of decoding done.
*/
void imageProgress(ImageReader source, float percentageDone);
-
+
/**
- * Notifies this listener that an image read operation has been started.
+ * Notifies this listener that an image read operation has been started.
*
- * @param source the ImageReader object which calls this method.
- * @param imageIndex the index of the image in an input file or
- * stream to be read.
+ * @param source
+ * the ImageReader object which calls this method.
+ * @param imageIndex
+ * the index of the image in an input file or stream to be read.
*/
void imageStarted(ImageReader source, int imageIndex);
-
+
/**
* Notifies this listener that a read operation has been aborted.
*
- * @param source the ImageReader object which calls this method.
+ * @param source
+ * the ImageReader object which calls this method.
*/
void readAborted(ImageReader source);
-
+
/**
- * Notifies this listener that a sequence of read operations has been completed.
+ * Notifies this listener that a sequence of read operations has been
+ * completed.
*
- * @param source the ImageReader object which calls this method.
+ * @param source
+ * the ImageReader object which calls this method.
*/
void sequenceComplete(ImageReader source);
-
+
/**
- * Notifies this listener that a sequence of read operation has been started.
+ * Notifies this listener that a sequence of read operation has been
+ * started.
*
- * @param source the ImageReader object which calls this method.
- * @param minIndex the index of the first image to be read.
+ * @param source
+ * the ImageReader object which calls this method.
+ * @param minIndex
+ * the index of the first image to be read.
*/
void sequenceStarted(ImageReader source, int minIndex);
-
+
/**
* Notifies that a thumbnail read operation has been completed.
*
- * @param source the ImageReader object which calls this method.
+ * @param source
+ * the ImageReader object which calls this method.
*/
void thumbnailComplete(ImageReader source);
-
+
/**
* Notifies this listener about the degree of completion of the read call.
*
- * @param source the ImageReader object which calls this method.
- * @param percentageDone the percentage of decoding done.
+ * @param source
+ * the ImageReader object which calls this method.
+ * @param percentageDone
+ * the percentage of decoding done.
*/
void thumbnailProgress(ImageReader source, float percentageDone);
-
+
/**
- * Notifies this listener that a thumbnail reading operation has been started.
+ * Notifies this listener that a thumbnail reading operation has been
+ * started.
*
- * @param source the ImageReader object which calls this method.
- * @param imageIndex the index of the image in an input file or
- * stream to be read.
- * @param thumbnailIndex the index of the thumbnail to be read.
+ * @param source
+ * the ImageReader object which calls this method.
+ * @param imageIndex
+ * the index of the image in an input file or stream to be read.
+ * @param thumbnailIndex
+ * the index of the thumbnail to be read.
*/
void thumbnailStarted(ImageReader source, int imageIndex, int thumbnailIndex);
}
-
diff --git a/awt/javax/imageio/event/IIOReadUpdateListener.java b/awt/javax/imageio/event/IIOReadUpdateListener.java
index ce5e2f1..49bdbcb 100644
--- a/awt/javax/imageio/event/IIOReadUpdateListener.java
+++ b/awt/javax/imageio/event/IIOReadUpdateListener.java
@@ -18,6 +18,7 @@
* @author Sergey I. Salishev
* @version $Revision: 1.2 $
*/
+
package javax.imageio.event;
import java.awt.image.BufferedImage;
@@ -30,109 +31,152 @@ import javax.imageio.ImageReader;
*/
/**
- * The IIOReadUpdateListener interface provides functionality
- * to receive notification of pixel updates during image and thumbnail
- * reading operations.
+ * The IIOReadUpdateListener interface provides functionality to receive
+ * notification of pixel updates during image and thumbnail reading operations.
+ *
+ * @since Android 1.0
*/
public interface IIOReadUpdateListener extends EventListener {
/**
- * Notifies this listener that the specified area of the image has been updated.
+ * Notifies this listener that the specified area of the image has been
+ * updated.
*
- * @param source the ImageReader object which calls this method.
- * @param theImage the image to be updated.
- * @param minX the minimum X coordinate of the pixels in the updated area.
- * @param minY the minimum Y coordinate of the pixels in the updated area.
- * @param width the width of updated area.
- * @param height the height of updated area.
- * @param periodX the horizontal spacing period between updated
- * pixels, if it equals 1, there is no space between pixels.
- * @param periodY the vertical spacing period between updated
- * pixels, if it equals 1, there is no space between pixels.
- * @param bands the array of int values indicating the bands being updated.
+ * @param source
+ * the ImageReader object which calls this method.
+ * @param theImage
+ * the image to be updated.
+ * @param minX
+ * the minimum X coordinate of the pixels in the updated area.
+ * @param minY
+ * the minimum Y coordinate of the pixels in the updated area.
+ * @param width
+ * the width of updated area.
+ * @param height
+ * the height of updated area.
+ * @param periodX
+ * the horizontal spacing period between updated pixels, if it
+ * equals 1, there is no space between pixels.
+ * @param periodY
+ * the vertical spacing period between updated pixels, if it
+ * equals 1, there is no space between pixels.
+ * @param bands
+ * the array of integer values indicating the bands being
+ * updated.
*/
- void imageUpdate(ImageReader source, BufferedImage theImage, int minX,
- int minY, int width, int height, int periodX, int periodY,
- int[] bands);
-
+ void imageUpdate(ImageReader source, BufferedImage theImage, int minX, int minY, int width,
+ int height, int periodX, int periodY, int[] bands);
+
/**
- * Notifies this listener that the current read operation has completed a
+ * Notifies this listener that the current read operation has completed a
* progressive pass.
*
- * @param source the ImageReader object which calls this method.
- * @param theImage the image to be updated.
+ * @param source
+ * the ImageReader object which calls this method.
+ * @param theImage
+ * the image to be updated.
*/
void passComplete(ImageReader source, BufferedImage theImage);
-
+
/**
- * Notifies this listener that the current read operation has begun
- * a progressive pass.
+ * Notifies this listener that the current read operation has begun a
+ * progressive pass.
*
- * @param source the ImageReader object which calls this method.
- * @param theImage the image to be updated.
- * @param pass the numer of the pass.
- * @param minPass the index of the first pass that will be decoded.
- * @param maxPass the index of the last pass that will be decoded.
- * @param minX the minimum X coordinate of the pixels in the updated area.
- * @param minY the minimum Y coordinate of the pixels in the updated area.
- * @param periodX the horizontal spacing period between updated
- * pixels, if it equals 1, there is no space between pixels.
- * @param periodY the vertical spacing period between updated
- * pixels, if it equals 1, there is no space between pixels.
- * @param bands the array of int values indicating the bands being updated.
+ * @param source
+ * the ImageReader object which calls this method.
+ * @param theImage
+ * the image to be updated.
+ * @param pass
+ * the number of the pass.
+ * @param minPass
+ * the index of the first pass that will be decoded.
+ * @param maxPass
+ * the index of the last pass that will be decoded.
+ * @param minX
+ * the minimum X coordinate of the pixels in the updated area.
+ * @param minY
+ * the minimum Y coordinate of the pixels in the updated area.
+ * @param periodX
+ * the horizontal spacing period between updated pixels, if it
+ * equals 1, there is no space between pixels.
+ * @param periodY
+ * the vertical spacing period between updated pixels, if it
+ * equals 1, there is no space between pixels.
+ * @param bands
+ * the array of integer values indicating the bands being
+ * updated.
*/
- void passStarted(ImageReader source, BufferedImage theImage, int pass,
- int minPass, int maxPass, int minX, int minY, int periodX,
- int periodY, int[] bands);
+ void passStarted(ImageReader source, BufferedImage theImage, int pass, int minPass,
+ int maxPass, int minX, int minY, int periodX, int periodY, int[] bands);
/**
- * Notifies this listener that the current thumbnail read operation has
+ * Notifies this listener that the current thumbnail read operation has
* completed a progressive pass.
*
- * @param source the ImageReader object which calls this method.
- * @param theImage the thumbnail to be updated.
+ * @param source
+ * the ImageReader object which calls this method.
+ * @param theImage
+ * the thumbnail to be updated.
*/
void thumbnailPassComplete(ImageReader source, BufferedImage theImage);
-
+
/**
- * Notifies this listener that the current thumbnail read operation has
+ * Notifies this listener that the current thumbnail read operation has
* begun a progressive pass.
*
- * @param source the ImageReader object which calls this method.
- * @param theThumbnail the thumbnail to be updated.
- * @param pass the numer of the pass.
- * @param minPass the index of the first pass that will be decoded.
- * @param maxPass the index of the last pass that will be decoded.
- * @param minX the minimum X coordinate of the pixels in the updated area.
- * @param minY the minimum Y coordinate of the pixels in the updated area.
- * @param periodX the horizontal spacing period between updated
- * pixels, if it equals 1, there is no space between pixels.
- * @param periodY the vertical spacing period between updated
- * pixels, if it equals 1, there is no space between pixels.
- * @param bands the array of int values indicating the bands being updated.
+ * @param source
+ * the ImageReader object which calls this method.
+ * @param theThumbnail
+ * the thumbnail to be updated.
+ * @param pass
+ * the number of the pass.
+ * @param minPass
+ * the index of the first pass that will be decoded.
+ * @param maxPass
+ * the index of the last pass that will be decoded.
+ * @param minX
+ * the minimum X coordinate of the pixels in the updated area.
+ * @param minY
+ * the minimum Y coordinate of the pixels in the updated area.
+ * @param periodX
+ * the horizontal spacing period between updated pixels, if it
+ * equals 1, there is no space between pixels.
+ * @param periodY
+ * the vertical spacing period between updated pixels, if it
+ * equals 1, there is no space between pixels.
+ * @param bands
+ * the array of integer values indicating the bands being
+ * updated.
*/
- void thumbnailPassStarted(ImageReader source, BufferedImage theThumbnail,
- int pass, int minPass, int maxPass, int minX, int minY,
- int periodX, int periodY, int[] bands);
-
+ void thumbnailPassStarted(ImageReader source, BufferedImage theThumbnail, int pass,
+ int minPass, int maxPass, int minX, int minY, int periodX, int periodY, int[] bands);
+
/**
- * Notifies this listener that a specified area of a thumbnail image has been
- * updated.
+ * Notifies this listener that a specified area of a thumbnail image has
+ * been updated.
*
- * @param source the ImageReader object which calls this method.
- * @param theThumbnail the thumbnail to be updated.
- * @param minX the minimum X coordinate of the pixels in the updated area.
- * @param minY the minimum Y coordinate of the pixels in the updated area.
- * @param width the width of updated area.
- * @param height the height of updated area.
- * @param periodX the horizontal spacing period between updated
- * pixels, if it equals 1, there is no space between pixels.
- * @param periodY the vertical spacing period between updated
- * pixels, if it equals 1, there is no space between pixels.
- * @param bands the array of int values indicating the bands being updated.
+ * @param source
+ * the ImageReader object which calls this method.
+ * @param theThumbnail
+ * the thumbnail to be updated.
+ * @param minX
+ * the minimum X coordinate of the pixels in the updated area.
+ * @param minY
+ * the minimum Y coordinate of the pixels in the updated area.
+ * @param width
+ * the width of updated area.
+ * @param height
+ * the height of updated area.
+ * @param periodX
+ * the horizontal spacing period between updated pixels, if it
+ * equals 1, there is no space between pixels.
+ * @param periodY
+ * the vertical spacing period between updated pixels, if it
+ * equals 1, there is no space between pixels.
+ * @param bands
+ * the array of integer values indicating the bands being
+ * updated.
*/
- void thumbnailUpdate(ImageReader source, BufferedImage theThumbnail,
- int minX, int minY, int width, int height, int periodX,
- int periodY, int[] bands);
+ void thumbnailUpdate(ImageReader source, BufferedImage theThumbnail, int minX, int minY,
+ int width, int height, int periodX, int periodY, int[] bands);
}
-
diff --git a/awt/javax/imageio/event/IIOReadWarningListener.java b/awt/javax/imageio/event/IIOReadWarningListener.java
index 92fa275..318a5df 100644
--- a/awt/javax/imageio/event/IIOReadWarningListener.java
+++ b/awt/javax/imageio/event/IIOReadWarningListener.java
@@ -18,6 +18,7 @@
* @author Sergey I. Salishev
* @version $Revision: 1.2 $
*/
+
package javax.imageio.event;
import java.util.EventListener;
@@ -29,18 +30,20 @@ import javax.imageio.ImageReader;
*/
/**
- * The IIOReadWarningListener provides methods to receive notification
- * of warning messages generated by image
- * and thumbnail reading methods.
+ * The IIOReadWarningListener provides methods to receive notification of
+ * warning messages generated by image and thumbnail reading methods.
+ *
+ * @since Android 1.0
*/
public interface IIOReadWarningListener extends EventListener {
/**
- * Notifies this listener about a warning (non-fatal error) during decoding.
+ * Notifies this listener about a warning (non-fatal error) during decoding.
*
- * @param source the ImageReader object which calls this method.
- * @param warning the string describing the warning.
+ * @param source
+ * the ImageReader object which calls this method.
+ * @param warning
+ * the string describing the warning.
*/
public void warningOccurred(ImageReader source, String warning);
}
-
diff --git a/awt/javax/imageio/event/IIOWriteProgressListener.java b/awt/javax/imageio/event/IIOWriteProgressListener.java
index 19ae495..4a2c595 100644
--- a/awt/javax/imageio/event/IIOWriteProgressListener.java
+++ b/awt/javax/imageio/event/IIOWriteProgressListener.java
@@ -18,69 +18,84 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.3 $
*/
+
package javax.imageio.event;
import javax.imageio.ImageWriter;
import java.util.EventListener;
/**
- * The IIOWriteProgressListener interface provides methods to
- * receive notification about the progress of the image and
- * thumbnail writing methods.
+ * The IIOWriteProgressListener interface provides methods to receive
+ * notification about the progress of the image and thumbnail writing methods.
+ *
+ * @since Android 1.0
*/
public interface IIOWriteProgressListener extends EventListener {
-
+
/**
- * Notifies this listener that an image write operation has been started.
+ * Notifies this listener that an image write operation has been started.
*
- * @param source the ImageWriter object which calls this method.
- * @param imageIndex the index of the image being written.
+ * @param source
+ * the ImageWriter object which calls this method.
+ * @param imageIndex
+ * the index of the image being written.
*/
void imageStarted(ImageWriter source, int imageIndex);
-
+
/**
* Notifies this listener about the degree of completion of the write call.
*
- * @param source the ImageWriter object which calls this method.
- * @param percentageDone the percentage of encoding done.
+ * @param source
+ * the ImageWriter object which calls this method.
+ * @param percentageDone
+ * the percentage of encoding done.
*/
void imageProgress(ImageWriter source, float percentageDone);
-
+
/**
- * Notifies this listener that the image writing has been completed.
+ * Notifies this listener that the image writing has been completed.
*
- * @param source the ImageWriter object which calls this method.
+ * @param source
+ * the ImageWriter object which calls this method.
*/
void imageComplete(ImageWriter source);
-
+
/**
- * Notifies this listener that a thumbnail write operation has been started.
+ * Notifies this listener that a thumbnail write operation has been started.
*
- * @param source the ImageWriter object which calls this method.
- * @param imageIndex the index of the image being written.
- * @param thumbnailIndex the index of the thumbnail being written.
+ * @param source
+ * the ImageWriter object which calls this method.
+ * @param imageIndex
+ * the index of the image being written.
+ * @param thumbnailIndex
+ * the index of the thumbnail being written.
*/
void thumbnailStarted(ImageWriter source, int imageIndex, int thumbnailIndex);
-
+
/**
* Notifies this listener about the degree of completion of the write call.
*
- * @param source the ImageWriter object which calls this method.
- * @param percentageDone the percentage of encoding done.
+ * @param source
+ * the ImageWriter object which calls this method.
+ * @param percentageDone
+ * the percentage of encoding done.
*/
void thumbnailProgress(ImageWriter source, float percentageDone);
-
+
/**
- * Notifies this listener that a thumbnail write operation has been completed.
+ * Notifies this listener that a thumbnail write operation has been
+ * completed.
*
- * @param source the ImageWriter object which calls this method.
+ * @param source
+ * the ImageWriter object which calls this method.
*/
void thumbnailComplete(ImageWriter source);
-
+
/**
* Notifies this listener that writing operation has been aborted.
*
- * @param source the ImageWriter object which calls this method.
+ * @param source
+ * the ImageWriter object which calls this method.
*/
void writeAborted(ImageWriter source);
}
diff --git a/awt/javax/imageio/event/IIOWriteWarningListener.java b/awt/javax/imageio/event/IIOWriteWarningListener.java
index f530d25..8ee41cd 100644
--- a/awt/javax/imageio/event/IIOWriteWarningListener.java
+++ b/awt/javax/imageio/event/IIOWriteWarningListener.java
@@ -18,23 +18,29 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.3 $
*/
+
package javax.imageio.event;
import javax.imageio.ImageWriter;
import java.util.EventListener;
/**
- * The IIOWriteWarningListener provides methods to receive notification
- * of warnings generated by image and thumbnail writing methods.
+ * The IIOWriteWarningListener provides methods to receive notification of
+ * warnings generated by image and thumbnail writing methods.
+ *
+ * @since Android 1.0
*/
public interface IIOWriteWarningListener extends EventListener {
-
+
/**
- * Notifies this listener about a warning (non-fatal error) during encoding.
+ * Notifies this listener about a warning (non-fatal error) during encoding.
*
- * @param source the ImageWriter object which calls this method.
- * @param imageIndex the index of the image generating the warning.
- * @param warning the string describing the warning.
+ * @param source
+ * the ImageWriter object which calls this method.
+ * @param imageIndex
+ * the index of the image generating the warning.
+ * @param warning
+ * the string describing the warning.
*/
void warningOccurred(ImageWriter source, int imageIndex, String warning);
}
diff --git a/awt/javax/imageio/event/package.html b/awt/javax/imageio/event/package.html
new file mode 100644
index 0000000..c2fe39f
--- /dev/null
+++ b/awt/javax/imageio/event/package.html
@@ -0,0 +1,8 @@
+<html>
+ <body>
+ <p>
+ This package provides interfaces to handle events which can be fired during the reading or writing of images.
+ </p>
+ @since Android 1.0
+ </body>
+</html>
diff --git a/awt/javax/imageio/metadata/IIOInvalidTreeException.java b/awt/javax/imageio/metadata/IIOInvalidTreeException.java
index 8690b2b..ba90657 100644
--- a/awt/javax/imageio/metadata/IIOInvalidTreeException.java
+++ b/awt/javax/imageio/metadata/IIOInvalidTreeException.java
@@ -21,21 +21,26 @@ import org.w3c.dom.Node;
import javax.imageio.IIOException;
/**
- * The IIOInvalidTreeException provides notification about
- * fails of IIOMetadataNodes tree parsing by IIOMetadata object.
+ * The IIOInvalidTreeException provides notification about fails of
+ * IIOMetadataNodes tree parsing by IIOMetadata object.
+ *
+ * @since Android 1.0
*/
public class IIOInvalidTreeException extends IIOException {
-
- /** The offending node. */
+
+ /**
+ * The offending node.
+ */
protected Node offendingNode = null;
/**
- * Instantiates an IIOInvalidTreeException with the
- * specified detailed message and specified offending
- * Node.
+ * Instantiates an IIOInvalidTreeException with the specified detailed
+ * message and specified offending Node.
*
- * @param message the detailed message.
- * @param offendingNode the offending node.
+ * @param message
+ * the detailed message.
+ * @param offendingNode
+ * the offending node.
*/
public IIOInvalidTreeException(String message, Node offendingNode) {
super(message);
@@ -43,13 +48,15 @@ public class IIOInvalidTreeException extends IIOException {
}
/**
- * Instantiates a new IIOInvalidTreeException with the
- * specified detailed message and specified offending
- * Node.
+ * Instantiates a new IIOInvalidTreeException with the specified detailed
+ * message and specified offending Node.
*
- * @param message the detailed message.
- * @param cause the cause of this exception.
- * @param offendingNode the offending node
+ * @param message
+ * the detailed message.
+ * @param cause
+ * the cause of this exception.
+ * @param offendingNode
+ * the offending node.
*/
public IIOInvalidTreeException(String message, Throwable cause, Node offendingNode) {
super(message, cause);
diff --git a/awt/javax/imageio/metadata/IIOMetadata.java b/awt/javax/imageio/metadata/IIOMetadata.java
index f2387cc..96cebf9 100644
--- a/awt/javax/imageio/metadata/IIOMetadata.java
+++ b/awt/javax/imageio/metadata/IIOMetadata.java
@@ -14,6 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package javax.imageio.metadata;
import java.util.ArrayList;
@@ -22,73 +23,90 @@ import org.apache.harmony.x.imageio.metadata.IIOMetadataUtils;
import org.w3c.dom.Node;
/**
- * The Class IIOMetadata represents the metadata (bundled with an image)
- * as a Dom-type tree.
+ * The class IIOMetadata represents the metadata (bundled with an image) as a
+ * Dom-type tree.
+ *
+ * @since Android 1.0
*/
public abstract class IIOMetadata {
- /** Whether the standard metadata format is supported. */
+ /**
+ * Whether the standard metadata format is supported.
+ */
protected boolean standardFormatSupported;
-
- /** The native metadata format name. */
+
+ /**
+ * The native metadata format name.
+ */
protected String nativeMetadataFormatName;
-
- /** The native metadata format class name. */
+
+ /**
+ * The native metadata format class name.
+ */
protected String nativeMetadataFormatClassName;
-
- /** The extra metadata format names. */
+
+ /**
+ * The extra metadata format names.
+ */
protected String[] extraMetadataFormatNames;
-
- /** The extra metadata format class names. */
+
+ /**
+ * The extra metadata format class names.
+ */
protected String[] extraMetadataFormatClassNames;
-
- /** The default controller. */
+
+ /**
+ * The default controller.
+ */
protected IIOMetadataController defaultController;
-
- /** The controller. */
+
+ /**
+ * The controller.
+ */
protected IIOMetadataController controller;
/**
* Instantiates a new IIOMetadata with no data set.
*/
- protected IIOMetadata() {}
+ protected IIOMetadata() {
+ }
/**
* Instantiates a new IIOMetadata with the specified data parameters.
*
- * @param standardMetadataFormatSupported whether the standard metadata format is supported
- * @param nativeMetadataFormatName the native metadata format name
- * @param nativeMetadataFormatClassName the native metadata format class name
- * @param extraMetadataFormatNames the extra metadata format names
- * @param extraMetadataFormatClassNames the extra metadata format class names
- */
- protected IIOMetadata(boolean standardMetadataFormatSupported,
- String nativeMetadataFormatName,
- String nativeMetadataFormatClassName,
- String[] extraMetadataFormatNames,
- String[] extraMetadataFormatClassNames) {
+ * @param standardMetadataFormatSupported
+ * whether the standard metadata format is supported.
+ * @param nativeMetadataFormatName
+ * the native metadata format name.
+ * @param nativeMetadataFormatClassName
+ * the native metadata format class name.
+ * @param extraMetadataFormatNames
+ * the extra metadata format names.
+ * @param extraMetadataFormatClassNames
+ * the extra metadata format class names.
+ */
+ protected IIOMetadata(boolean standardMetadataFormatSupported, String nativeMetadataFormatName,
+ String nativeMetadataFormatClassName, String[] extraMetadataFormatNames,
+ String[] extraMetadataFormatClassNames) {
standardFormatSupported = standardMetadataFormatSupported;
this.nativeMetadataFormatName = nativeMetadataFormatName;
this.nativeMetadataFormatClassName = nativeMetadataFormatClassName;
if (extraMetadataFormatNames == null) {
if (extraMetadataFormatClassNames != null) {
throw new IllegalArgumentException(
- "extraMetadataFormatNames == null && extraMetadataFormatClassNames != null!"
- );
+ "extraMetadataFormatNames == null && extraMetadataFormatClassNames != null!");
}
} else {
if (extraMetadataFormatClassNames == null) {
throw new IllegalArgumentException(
- "extraMetadataFormatNames != null && extraMetadataFormatClassNames == null!"
- );
+ "extraMetadataFormatNames != null && extraMetadataFormatClassNames == null!");
}
if (extraMetadataFormatNames.length == 0) {
throw new IllegalArgumentException("extraMetadataFormatNames.length == 0!");
}
if (extraMetadataFormatClassNames.length != extraMetadataFormatNames.length) {
throw new IllegalArgumentException(
- "extraMetadataFormatClassNames.length != extraMetadataFormatNames.length!"
- );
+ "extraMetadataFormatClassNames.length != extraMetadataFormatNames.length!");
}
this.extraMetadataFormatNames = extraMetadataFormatNames.clone();
this.extraMetadataFormatClassNames = extraMetadataFormatClassNames.clone();
@@ -98,30 +116,32 @@ public abstract class IIOMetadata {
/**
* Gets the metadata as tree-type document.
*
- * @param formatName the format name
- *
- * @return the node in tree format
+ * @param formatName
+ * the format name.
+ * @return the node in tree format.
*/
public abstract Node getAsTree(String formatName);
-
+
/**
* Checks if the metadata is read only.
*
* @return true, if the metadata is read only.
*/
public abstract boolean isReadOnly();
-
+
/**
* Merges the specified tree with this metadata tree.
*
- * @param formatName the format of the specified tree
- * @param root the root node of the metadata tree
- *
- * @throws IIOInvalidTreeException if the specified tree
- * is incompatible with the this metadata tree.
+ * @param formatName
+ * the format of the specified tree.
+ * @param root
+ * the root node of the metadata tree.
+ * @throws IIOInvalidTreeException
+ * if the specified tree is incompatible with the this metadata
+ * tree.
*/
public abstract void mergeTree(String formatName, Node root) throws IIOInvalidTreeException;
-
+
/**
* Resets the controller.
*/
@@ -130,7 +150,7 @@ public abstract class IIOMetadata {
/**
* Gets the controller associated with this metadata document.
*
- * @return the controller
+ * @return the controller.
*/
public IIOMetadataController getController() {
return controller;
@@ -139,7 +159,7 @@ public abstract class IIOMetadata {
/**
* Checks whether this metadata has a controller.
*
- * @return true, if this metadata has a controller
+ * @return true, if this metadata has a controller.
*/
public boolean hasController() {
return getController() != null;
@@ -148,7 +168,7 @@ public abstract class IIOMetadata {
/**
* Activate the controller.
*
- * @return true, if successful
+ * @return true, if successful.
*/
public boolean activateController() {
if (!hasController()) {
@@ -160,7 +180,7 @@ public abstract class IIOMetadata {
/**
* Gets the default controller.
*
- * @return the default controller
+ * @return the default controller.
*/
public IIOMetadataController getDefaultController() {
return defaultController;
@@ -169,7 +189,7 @@ public abstract class IIOMetadata {
/**
* Gets the extra metadata format names.
*
- * @return the extra metadata format names
+ * @return the extra metadata format names.
*/
public String[] getExtraMetadataFormatNames() {
return extraMetadataFormatNames == null ? null : extraMetadataFormatNames.clone();
@@ -178,23 +198,20 @@ public abstract class IIOMetadata {
/**
* Gets the metadata format.
*
- * @param formatName the format name
- *
- * @return the metadata format
+ * @param formatName
+ * the format name.
+ * @return the metadata format.
*/
public IIOMetadataFormat getMetadataFormat(String formatName) {
- return IIOMetadataUtils.instantiateMetadataFormat(
- formatName,
- standardFormatSupported,
- nativeMetadataFormatName, nativeMetadataFormatClassName,
- extraMetadataFormatNames, extraMetadataFormatClassNames
- );
+ return IIOMetadataUtils.instantiateMetadataFormat(formatName, standardFormatSupported,
+ nativeMetadataFormatName, nativeMetadataFormatClassName, extraMetadataFormatNames,
+ extraMetadataFormatClassNames);
}
/**
* Gets the native metadata format name.
*
- * @return the native metadata format name
+ * @return the native metadata format name.
*/
public String getNativeMetadataFormatName() {
return nativeMetadataFormatName;
@@ -203,7 +220,7 @@ public abstract class IIOMetadata {
/**
* Checks if the standard metadata format is supported.
*
- * @return true, if the standard metadata format is supported
+ * @return true, if the standard metadata format is supported.
*/
public boolean isStandardMetadataFormatSupported() {
return standardFormatSupported;
@@ -212,7 +229,7 @@ public abstract class IIOMetadata {
/**
* Gets the metadata format names.
*
- * @return the metadata format names
+ * @return the metadata format names.
*/
public String[] getMetadataFormatNames() {
ArrayList<String> res = new ArrayList<String>();
@@ -239,7 +256,7 @@ public abstract class IIOMetadata {
/**
* Gets the standard chroma node.
*
- * @return the standard chroma node
+ * @return the standard chroma node.
*/
protected IIOMetadataNode getStandardChromaNode() {
return null;
@@ -248,7 +265,7 @@ public abstract class IIOMetadata {
/**
* Gets the standard compression node.
*
- * @return the standard compression node
+ * @return the standard compression node.
*/
protected IIOMetadataNode getStandardCompressionNode() {
return null;
@@ -257,7 +274,7 @@ public abstract class IIOMetadata {
/**
* Gets the standard data node.
*
- * @return the standard data node
+ * @return the standard data node.
*/
protected IIOMetadataNode getStandardDataNode() {
return null;
@@ -266,7 +283,7 @@ public abstract class IIOMetadata {
/**
* Gets the standard dimension node.
*
- * @return the standard dimension node
+ * @return the standard dimension node.
*/
protected IIOMetadataNode getStandardDimensionNode() {
return null;
@@ -275,7 +292,7 @@ public abstract class IIOMetadata {
/**
* Gets the standard document node.
*
- * @return the standard document node
+ * @return the standard document node.
*/
protected IIOMetadataNode getStandardDocumentNode() {
return null;
@@ -284,7 +301,7 @@ public abstract class IIOMetadata {
/**
* Gets the standard text node.
*
- * @return the standard text node
+ * @return the standard text node.
*/
protected IIOMetadataNode getStandardTextNode() {
return null;
@@ -293,7 +310,7 @@ public abstract class IIOMetadata {
/**
* Gets the standard tile node.
*
- * @return the standard tile node
+ * @return the standard tile node.
*/
protected IIOMetadataNode getStandardTileNode() {
return null;
@@ -302,7 +319,7 @@ public abstract class IIOMetadata {
/**
* Gets the standard transparency node.
*
- * @return the standard transparency node
+ * @return the standard transparency node.
*/
protected IIOMetadataNode getStandardTransparencyNode() {
return null;
@@ -311,7 +328,7 @@ public abstract class IIOMetadata {
/**
* Gets the metadata as a tree in standard format.
*
- * @return the metadata as a tree in standard format
+ * @return the metadata as a tree in standard format.
*/
protected final IIOMetadataNode getStandardTree() {
// Create root node
@@ -342,14 +359,15 @@ public abstract class IIOMetadata {
if ((node = getStandardTransparencyNode()) != null) {
root.appendChild(node);
}
-
+
return root;
}
/**
* Sets the controller.
*
- * @param controller the new controller
+ * @param controller
+ * the new controller.
*/
public void setController(IIOMetadataController controller) {
this.controller = controller;
@@ -358,11 +376,13 @@ public abstract class IIOMetadata {
/**
* Sets the from tree.
*
- * @param formatName the name of the metatdata format of the from tree
- * @param root the root node of the from tree
- *
- * @throws IIOInvalidTreeException if the tree or its format is not compatible with
- * this metadata.
+ * @param formatName
+ * the name of the metatdata format of the from tree.
+ * @param root
+ * the root node of the from tree.
+ * @throws IIOInvalidTreeException
+ * if the tree or its format is not compatible with this
+ * metadata.
*/
public void setFromTree(String formatName, Node root) throws IIOInvalidTreeException {
reset();
diff --git a/awt/javax/imageio/metadata/IIOMetadataController.java b/awt/javax/imageio/metadata/IIOMetadataController.java
index dfd4e5c..1405948 100644
--- a/awt/javax/imageio/metadata/IIOMetadataController.java
+++ b/awt/javax/imageio/metadata/IIOMetadataController.java
@@ -18,6 +18,7 @@
* @author Sergey I. Salishev
* @version $Revision: 1.2 $
*/
+
package javax.imageio.metadata;
/*
@@ -26,20 +27,20 @@ package javax.imageio.metadata;
*/
/**
- * The IIOMetadataController interface provides a method for
- * implementing objects to activate the controller without
- * defining how the controller obtains values.
+ * The IIOMetadataController interface provides a method for implementing
+ * objects to activate the controller without defining how the controller
+ * obtains values.
+ *
+ * @since Android 1.0
*/
public interface IIOMetadataController {
/**
* Activates a controller.
*
- * @param metadata the metadata to be modified.
- *
- * @return true if the IIOMetadata has been modified,
- * false otherwise.
+ * @param metadata
+ * the metadata to be modified.
+ * @return true, if the IIOMetadata has been modified, false otherwise.
*/
public boolean activate(IIOMetadata metadata);
}
-
diff --git a/awt/javax/imageio/metadata/IIOMetadataFormat.java b/awt/javax/imageio/metadata/IIOMetadataFormat.java
index 9e246b4..0e7e697 100644
--- a/awt/javax/imageio/metadata/IIOMetadataFormat.java
+++ b/awt/javax/imageio/metadata/IIOMetadataFormat.java
@@ -21,327 +21,384 @@ import javax.imageio.ImageTypeSpecifier;
import java.util.Locale;
/**
- * The Interface IIOMetadataFormat is implemented by classes that
- * describe the rules and allowed elements for a metadata document
- * tree.
+ * The Interface IIOMetadataFormat is implemented by classes that describe the
+ * rules and allowed elements for a metadata document tree.
+ *
+ * @since Android 1.0
*/
public interface IIOMetadataFormat {
- /** The CHILD_POLICY_EMPTY. */
+ /**
+ * The CHILD_POLICY_EMPTY.
+ */
int CHILD_POLICY_EMPTY = 0;
-
- /** The CHILD_POLICY_ALL. */
+
+ /**
+ * The CHILD_POLICY_ALL.
+ */
int CHILD_POLICY_ALL = 1;
-
- /** The CHILD_POLICY_SOME. */
+
+ /**
+ * The CHILD_POLICY_SOME.
+ */
int CHILD_POLICY_SOME = 2;
-
- /** The CHILD_POLICY_CHOICE. */
+
+ /**
+ * The CHILD_POLICY_CHOICE.
+ */
int CHILD_POLICY_CHOICE = 3;
-
- /** The CHILD_POLICY_SEQUENCE. */
+
+ /**
+ * The CHILD_POLICY_SEQUENCE.
+ */
int CHILD_POLICY_SEQUENCE = 4;
-
- /** The CHILD_POLICY_REPEAT. */
+
+ /**
+ * The CHILD_POLICY_REPEAT.
+ */
int CHILD_POLICY_REPEAT = 5;
-
- /** The maximum value for the child policy. */
+
+ /**
+ * The maximum value for the child policy.
+ */
int CHILD_POLICY_MAX = CHILD_POLICY_REPEAT;
- /** The DATATYPE_STRING. */
+ /**
+ * The DATATYPE_STRING.
+ */
int DATATYPE_STRING = 0;
-
- /** The DATATYPE_BOOLEAN. */
+
+ /**
+ * The DATATYPE_BOOLEAN.
+ */
int DATATYPE_BOOLEAN = 1;
-
- /** The DATATYPE_INTEGER. */
+
+ /**
+ * The DATATYPE_INTEGER.
+ */
int DATATYPE_INTEGER = 2;
-
- /** The DATATYPE_FLOAT. */
+
+ /**
+ * The DATATYPE_FLOAT.
+ */
int DATATYPE_FLOAT = 3;
-
- /** The DATATYPE_DOUBLE. */
+
+ /**
+ * The DATATYPE_DOUBLE.
+ */
int DATATYPE_DOUBLE = 4;
- /** The VALUE_NONE. */
+ /**
+ * The VALUE_NONE.
+ */
int VALUE_NONE = 0;
-
- /** The VALUE_ARBITRARY. */
+
+ /**
+ * The VALUE_ARBITRARY.
+ */
int VALUE_ARBITRARY = 1;
-
- /** The VALUE_RANGE. */
+
+ /**
+ * The VALUE_RANGE.
+ */
int VALUE_RANGE = 2;
-
- /** The VALUE_RANGE_MIN_INCLUSIVE_MASK. */
+
+ /**
+ * The VALUE_RANGE_MIN_INCLUSIVE_MASK.
+ */
int VALUE_RANGE_MIN_INCLUSIVE_MASK = 4;
-
- /** The VALUE_RANGE_MAX_INCLUSIVE_MASK. */
+
+ /**
+ * The VALUE_RANGE_MAX_INCLUSIVE_MASK.
+ */
int VALUE_RANGE_MAX_INCLUSIVE_MASK = 8;
-
- /** The VALUE_ENUMERATION. */
+
+ /**
+ * The VALUE_ENUMERATION.
+ */
int VALUE_ENUMERATION = 16;
-
- /** The VALUE_LIST. */
+
+ /**
+ * The VALUE_LIST.
+ */
int VALUE_LIST = 32;
-
- /** The VALUE_RANGE_MIN_INCLUSIVE. */
+
+ /**
+ * The VALUE_RANGE_MIN_INCLUSIVE.
+ */
int VALUE_RANGE_MIN_INCLUSIVE = VALUE_RANGE | VALUE_RANGE_MIN_INCLUSIVE_MASK;
-
- /** The VALUE_RANGE_MAX_INCLUSIVE. */
+
+ /**
+ * The VALUE_RANGE_MAX_INCLUSIVE.
+ */
int VALUE_RANGE_MAX_INCLUSIVE = VALUE_RANGE | VALUE_RANGE_MAX_INCLUSIVE_MASK;
-
- /** The VALUE_RANGE_MIN_MAX_INCLUSIVE. */
- int VALUE_RANGE_MIN_MAX_INCLUSIVE =
- VALUE_RANGE | VALUE_RANGE_MIN_INCLUSIVE_MASK | VALUE_RANGE_MAX_INCLUSIVE_MASK;
/**
- * Tells whether the specified element is allowed for the specified
- * image type.
- *
- * @param elementName the element name
- * @param imageType the image type
- *
- * @return true, if the specified element is allowed for the specified
- * image type
+ * The VALUE_RANGE_MIN_MAX_INCLUSIVE.
+ */
+ int VALUE_RANGE_MIN_MAX_INCLUSIVE = VALUE_RANGE | VALUE_RANGE_MIN_INCLUSIVE_MASK
+ | VALUE_RANGE_MAX_INCLUSIVE_MASK;
+
+ /**
+ * Tells whether the specified element is allowed for the specified image
+ * type.
+ *
+ * @param elementName
+ * the element name.
+ * @param imageType
+ * the image type.
+ * @return true, if the specified element is allowed for the specified image
+ * type.
*/
boolean canNodeAppear(String elementName, ImageTypeSpecifier imageType);
/**
* Gets data type of the specified attribute of the specified element.
*
- * @param elementName the element name
- * @param attrName the attribute name
- *
- * @return the attribute's data type
+ * @param elementName
+ * the element name.
+ * @param attrName
+ * the attribute name.
+ * @return the attribute's data type.
*/
int getAttributeDataType(String elementName, String attrName);
-
+
/**
- * Gets the default value of the specified attribute of the specified element.
- *
- * @param elementName the element name
- * @param attrName the attribute name
- *
- * @return the attribute's default value
+ * Gets the default value of the specified attribute of the specified
+ * element.
+ *
+ * @param elementName
+ * the element name.
+ * @param attrName
+ * the attribute name.
+ * @return the attribute's default value.
*/
String getAttributeDefaultValue(String elementName, String attrName);
-
+
/**
* Gets the user-friendly description of the attribute.
*
- * @param elementName the element name
- * @param attrName the attribute name
- * @param locale the locale giving the desired language for the
- * description
- *
- * @return the attribute description
+ * @param elementName
+ * the element name.
+ * @param attrName
+ * the attribute name.
+ * @param locale
+ * the locale giving the desired language for the description.
+ * @return the attribute description.
*/
String getAttributeDescription(String elementName, String attrName, Locale locale);
-
+
/**
* Gets the attribute enumerations.
*
- * @param elementName the element name
- * @param attrName the attribute name
- *
- * @return the attribute enumerations
+ * @param elementName
+ * the element name.
+ * @param attrName
+ * the attribute name.
+ * @return the attribute enumerations.
*/
String[] getAttributeEnumerations(String elementName, String attrName);
-
+
/**
* Gets the maximum length of the attribute list.
*
- * @param elementName the element name
- * @param attrName the attribute name
- *
- * @return the maximum length of the attribute list
+ * @param elementName
+ * the element name.
+ * @param attrName
+ * the attribute name.
+ * @return the maximum length of the attribute list.
*/
int getAttributeListMaxLength(String elementName, String attrName);
-
+
/**
* Gets the minimum length of the attribute list.
*
- * @param elementName the element name
- * @param attrName the attribute name
- *
- * @return the minimum length of the attribute list
+ * @param elementName
+ * the element name.
+ * @param attrName
+ * the attribute name.
+ * @return the minimum length of the attribute list.
*/
int getAttributeListMinLength(String elementName, String attrName);
-
+
/**
* Gets the maximum value allowed for the attribute.
*
- * @param elementName the element name
- * @param attrName the attribute name
- *
- * @return the maximum value allowed for the attribute
+ * @param elementName
+ * the element name.
+ * @param attrName
+ * the attribute name.
+ * @return the maximum value allowed for the attribute.
*/
String getAttributeMaxValue(String elementName, String attrName);
-
+
/**
* Gets the minimum value allowed for the attribute.
*
- * @param elementName the element name
- * @param attrName the attribute name
- *
- * @return the minimum value allowed for the attribute
+ * @param elementName
+ * the element name.
+ * @param attrName
+ * the attribute name.
+ * @return the minimum value allowed for the attribute.
*/
String getAttributeMinValue(String elementName, String attrName);
-
+
/**
* Gets the attribute names allowed for the specified element.
*
- * @param elementName the element name
- *
- * @return the attribute names
+ * @param elementName
+ * the element name.
+ * @return the attribute names.
*/
String[] getAttributeNames(String elementName);
-
+
/**
* Gets the attribute value type.
*
- * @param elementName the element name
- * @param attrName the attribute name
- *
- * @return the attribute value type
+ * @param elementName
+ * the element name.
+ * @param attrName
+ * the attribute name.
+ * @return the attribute value type.
*/
int getAttributeValueType(String elementName, String attrName);
-
+
/**
- * Checks whether the specified attribute is required
- * for the specified element.
- *
- * @param elementName the element name
- * @param attrName the attribute name
- *
- * @return true, if the specified attribute is required for the
- * specified element
+ * Checks whether the specified attribute is required for the specified
+ * element.
+ *
+ * @param elementName
+ * the element name.
+ * @param attrName
+ * the attribute name.
+ * @return true, if the specified attribute is required for the specified
+ * element.
*/
boolean isAttributeRequired(String elementName, String attrName);
/**
* Gets the names of the possible child elements for the given element.
*
- * @param elementName the element name
- *
- * @return the child names
+ * @param elementName
+ * the element name.
+ * @return the child names.
*/
String[] getChildNames(String elementName);
-
+
/**
* Gets the constant describing the element's child policy.
*
- * @param elementName the element name
- *
- * @return the child policy
+ * @param elementName
+ * the element name.
+ * @return the child policy.
*/
int getChildPolicy(String elementName);
/**
* Gets the user-friendly description of the element.
*
- * @param elementName the element name
- * @param locale the locale giving the desired language for the
- * description
- *
- * @return the element description
+ * @param elementName
+ * the element name.
+ * @param locale
+ * the locale giving the desired language for the description.
+ * @return the element description.
*/
String getElementDescription(String elementName, Locale locale);
-
+
/**
* Gets the maximum number of children allowed for the element.
*
- * @param elementName the element name
- *
- * @return the maximum number of children allowed for the element
+ * @param elementName
+ * the element name.
+ * @return the maximum number of children allowed for the element.
*/
int getElementMaxChildren(String elementName);
-
+
/**
* Gets the minimum number of children allowed for the element.
*
- * @param elementName the element name
- *
- * @return the minimum number of children allowed for the element
+ * @param elementName
+ * the element name.
+ * @return the minimum number of children allowed for the element.
*/
int getElementMinChildren(String elementName);
/**
* Gets the maximum object array length allowed for the element.
*
- * @param elementName the element name
- *
- * @return the maximum object array length allowed for the element
+ * @param elementName
+ * the element name.
+ * @return the maximum object array length allowed for the element.
*/
int getObjectArrayMaxLength(String elementName);
-
+
/**
* Gets the minimum object array length allowed for the element.
*
- * @param elementName the element name
- *
- * @return the minimum object array length allowed for the element
+ * @param elementName
+ * the element name.
+ * @return the minimum object array length allowed for the element.
*/
int getObjectArrayMinLength(String elementName);
-
+
/**
* Gets the object class corresponding to the specified element.
*
- * @param elementName the element name
- *
- * @return the object class corresponding to the specified element
+ * @param elementName
+ * the element name.
+ * @return the object class corresponding to the specified element.
*/
Class<?> getObjectClass(String elementName);
-
+
/**
* Gets the object default value for the element.
*
- * @param elementName the element name
- *
- * @return the object default value for the element
+ * @param elementName
+ * the element name.
+ * @return the object default value for the element.
*/
Object getObjectDefaultValue(String elementName);
-
+
/**
* Gets the object enumerations.
*
- * @param elementName the element name
- *
- * @return the object enumerations
+ * @param elementName
+ * the element name.
+ * @return the object enumerations.
*/
Object[] getObjectEnumerations(String elementName);
-
+
/**
* Gets the maximum value allowed for the element's object.
*
- * @param elementName the element name
- *
- * @return the maximum value allowed for the element's object
+ * @param elementName
+ * the element name.
+ * @return the maximum value allowed for the element's object.
*/
Comparable<?> getObjectMaxValue(String elementName);
-
+
/**
* Gets the minimum value allowed for the element's object.
*
- * @param elementName the element name
- *
- * @return the minimum value allowed for the element's object
+ * @param elementName
+ * the element name.
+ * @return the minimum value allowed for the element's object.
*/
Comparable<?> getObjectMinValue(String elementName);
-
+
/**
* Gets the constant that indicates the type of the element's value.
*
- * @param elementName the element name
- *
- * @return the constant that indicates the type of the element's value
+ * @param elementName
+ * the element name.
+ * @return the constant that indicates the type of the element's value.
*/
int getObjectValueType(String elementName);
/**
* Gets the name of the root element.
*
- * @return the name of the root element
+ * @return the name of the root element.
*/
String getRootName();
}
diff --git a/awt/javax/imageio/metadata/IIOMetadataFormatImpl.java b/awt/javax/imageio/metadata/IIOMetadataFormatImpl.java
index 438ae90..1a6e568 100644
--- a/awt/javax/imageio/metadata/IIOMetadataFormatImpl.java
+++ b/awt/javax/imageio/metadata/IIOMetadataFormatImpl.java
@@ -23,45 +23,60 @@ import java.security.AccessController;
import java.security.PrivilegedAction;
/**
- * The IIOMetadataFormatImpl class provides an implementation of the
+ * The IIOMetadataFormatImpl class provides an implementation of the
* IIOMetadataFormat interface.
+ *
+ * @since Android 1.0
*/
public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat {
-
- /** The Constant standardMetadataFormatName. */
- @SuppressWarnings({"ConstantDeclaredInAbstractClass"})
+
+ /**
+ * The Constant standardMetadataFormatName.
+ */
+ @SuppressWarnings( {
+ "ConstantDeclaredInAbstractClass"
+ })
public static final String standardMetadataFormatName = "javax_imageio_1.0";
- /** The standard format. */
- @SuppressWarnings({"StaticNonFinalField"})
+ /**
+ * The standard format.
+ */
+ @SuppressWarnings( {
+ "StaticNonFinalField"
+ })
private static IIOMetadataFormatImpl standardFormat;
- /** The root name. */
+ /**
+ * The root name.
+ */
private String rootName;
-
- /** The element hash. */
+
+ /**
+ * The element hash.
+ */
private HashMap<String, Element> elementHash = new HashMap<String, Element>();
- /** The resource base name. */
+ /**
+ * The resource base name.
+ */
private String resourceBaseName = getClass().getName() + "Resources";
/**
- * Instantiates an IIOMetadataFormatImpl with the specified root
- * name and child policy (not CHILD_POLICY_REPEAT).
+ * Instantiates an IIOMetadataFormatImpl with the specified root name and
+ * child policy (not CHILD_POLICY_REPEAT).
*
- * @param rootName the name of root element.
- * @param childPolicy the child policy defined by one of the
- * CHILD_POLICY_* constants (except CHILD_POLICY_REPEAT).
+ * @param rootName
+ * the name of root element.
+ * @param childPolicy
+ * the child policy defined by one of the CHILD_POLICY_*
+ * constants (except CHILD_POLICY_REPEAT).
*/
public IIOMetadataFormatImpl(String rootName, int childPolicy) {
if (rootName == null) {
throw new IllegalArgumentException("rootName is null");
}
- if (
- childPolicy < CHILD_POLICY_EMPTY ||
- childPolicy > CHILD_POLICY_MAX ||
- childPolicy == CHILD_POLICY_REPEAT
- ) {
+ if (childPolicy < CHILD_POLICY_EMPTY || childPolicy > CHILD_POLICY_MAX
+ || childPolicy == CHILD_POLICY_REPEAT) {
throw new IllegalArgumentException("childPolicy is not one of the predefined constants");
}
@@ -73,12 +88,15 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat {
}
/**
- * Instantiates an IIOMetadataFormatImpl with the specified root
- * name and CHILD_POLICY_REPEAT child policy.
+ * Instantiates an IIOMetadataFormatImpl with the specified root name and
+ * CHILD_POLICY_REPEAT child policy.
*
- * @param rootName the name of root element.
- * @param minChildren the minimum number of children.
- * @param maxChildren the maximum number of children
+ * @param rootName
+ * the name of root element.
+ * @param minChildren
+ * the minimum number of children.
+ * @param maxChildren
+ * the maximum number of children
*/
public IIOMetadataFormatImpl(String rootName, int minChildren, int maxChildren) {
if (rootName == null) {
@@ -100,25 +118,31 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat {
elementHash.put(rootName, root);
}
- @SuppressWarnings({"AbstractMethodOverridesAbstractMethod"})
+ @SuppressWarnings( {
+ "AbstractMethodOverridesAbstractMethod"
+ })
public abstract boolean canNodeAppear(String elementName, ImageTypeSpecifier imageType);
/**
* Adds a new attribute to an existing element.
*
- * @param elementName the name of the element to which the new attribute
- * will be added.
- * @param attrName the attribute name.
- * @param dataType the data type of the new attribute.
- * @param required the flag which indicates whether this attribute
- * must be present.
- * @param listMinLength the minimum legal number of list items.
- * @param listMaxLength the the maximum legal number of list items.
- */
- protected void addAttribute(
- String elementName, String attrName, int dataType,
- boolean required, int listMinLength, int listMaxLength
- ) {
+ * @param elementName
+ * the name of the element to which the new attribute will be
+ * added.
+ * @param attrName
+ * the attribute name.
+ * @param dataType
+ * the data type of the new attribute.
+ * @param required
+ * the flag which indicates whether this attribute must be
+ * present.
+ * @param listMinLength
+ * the minimum legal number of list items.
+ * @param listMaxLength
+ * the the maximum legal number of list items.
+ */
+ protected void addAttribute(String elementName, String attrName, int dataType,
+ boolean required, int listMinLength, int listMaxLength) {
if (attrName == null) {
throw new IllegalArgumentException("attrName == null!");
}
@@ -144,18 +168,21 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat {
/**
* Adds a new attribute to an existing element.
*
- * @param elementName the name of the element to which the new attribute
- * will be added.
- * @param attrName the attribute name.
- * @param dataType the data type of the new attribute.
- * @param required the flag which indicates whether this attribute
- * must be present.
- * @param defaultValue the default value of the attribute.
- */
- protected void addAttribute(
- String elementName, String attrName, int dataType,
- boolean required, String defaultValue
- ) {
+ * @param elementName
+ * the name of the element to which the new attribute will be
+ * added.
+ * @param attrName
+ * the attribute name.
+ * @param dataType
+ * the data type of the new attribute.
+ * @param required
+ * the flag which indicates whether this attribute must be
+ * present.
+ * @param defaultValue
+ * the default value of the attribute.
+ */
+ protected void addAttribute(String elementName, String attrName, int dataType,
+ boolean required, String defaultValue) {
if (attrName == null) {
throw new IllegalArgumentException("attrName == null!");
}
@@ -177,20 +204,23 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat {
/**
* Adds a new attribute to an existing element.
*
- * @param elementName the name of the element to which the new attribute
- * will be added.
- * @param attrName the attribute name.
- * @param dataType the data type of the new attribute.
- * @param required the flag which indicates whether this attribute
- * must be present.
- * @param defaultValue the default value of the attribute.
- * @param enumeratedValues the legal values for the attribute as
- * a list of strings.
- */
- protected void addAttribute(
- String elementName, String attrName, int dataType,
- boolean required, String defaultValue, List<String> enumeratedValues
- ) {
+ * @param elementName
+ * the name of the element to which the new attribute will be
+ * added.
+ * @param attrName
+ * the attribute name.
+ * @param dataType
+ * the data type of the new attribute.
+ * @param required
+ * the flag which indicates whether this attribute must be
+ * present.
+ * @param defaultValue
+ * the default value of the attribute.
+ * @param enumeratedValues
+ * the legal values for the attribute as a list of strings.
+ */
+ protected void addAttribute(String elementName, String attrName, int dataType,
+ boolean required, String defaultValue, List<String> enumeratedValues) {
if (attrName == null) {
throw new IllegalArgumentException("attrName == null!");
}
@@ -226,26 +256,30 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat {
/**
* Adds a new attribute to an existing element.
*
- * @param elementName the name of the element to which the new attribute
- * will be added.
- * @param attrName the attribute name.
- * @param dataType the data type of the new attribute.
- * @param required the flag which indicates whether this attribute
- * must be present.
- * @param defaultValue the default value of attribute.
- * @param minValue the minimum legal value of an attribute.
- * @param maxValue the maximum legal value of an attribute.
- * @param minInclusive the flag which indicates
- * whether the minValue is inclusive.
- * @param maxInclusive the flag which indicates
- * whether the maxValue is inclusive.
- */
- protected void addAttribute(
- String elementName, String attrName, int dataType,
- boolean required, String defaultValue,
- String minValue, String maxValue,
- boolean minInclusive, boolean maxInclusive
- ) {
+ * @param elementName
+ * the name of the element to which the new attribute will be
+ * added.
+ * @param attrName
+ * the attribute name.
+ * @param dataType
+ * the data type of the new attribute.
+ * @param required
+ * the flag which indicates whether this attribute must be
+ * present.
+ * @param defaultValue
+ * the default value of attribute.
+ * @param minValue
+ * the minimum legal value of an attribute.
+ * @param maxValue
+ * the maximum legal value of an attribute.
+ * @param minInclusive
+ * the flag which indicates whether the minValue is inclusive.
+ * @param maxInclusive
+ * the flag which indicates whether the maxValue is inclusive.
+ */
+ protected void addAttribute(String elementName, String attrName, int dataType,
+ boolean required, String defaultValue, String minValue, String maxValue,
+ boolean minInclusive, boolean maxInclusive) {
if (attrName == null) {
throw new IllegalArgumentException("attrName == null!");
}
@@ -272,20 +306,21 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat {
}
/**
- * Adds a new attribute with boolean data type to an existing
- * element.
+ * Adds a new attribute with boolean data type to an existing element.
*
- * @param elementName the name of the element to which the new attribute
- * will be added.
- * @param attrName the attribute name.
- * @param hasDefaultValue the flag which indicates whether this attribute
- * must have a default value.
- * @param defaultValue the default value.
- */
- protected void addBooleanAttribute(
- String elementName, String attrName,
- boolean hasDefaultValue, boolean defaultValue
- ) {
+ * @param elementName
+ * the name of the element to which the new attribute will be
+ * added.
+ * @param attrName
+ * the attribute name.
+ * @param hasDefaultValue
+ * the flag which indicates whether this attribute must have a
+ * default value.
+ * @param defaultValue
+ * the default value.
+ */
+ protected void addBooleanAttribute(String elementName, String attrName,
+ boolean hasDefaultValue, boolean defaultValue) {
String defaultVal = hasDefaultValue ? (defaultValue ? "TRUE" : "FALSE") : null;
ArrayList<String> values = new ArrayList<String>(2);
values.add("TRUE");
@@ -295,11 +330,13 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat {
}
/**
- * Adds an existing element to the list of child elements
- * of the specified parent element.
+ * Adds an existing element to the list of child elements of the specified
+ * parent element.
*
- * @param elementName the name of the element to be added.
- * @param parentName the parent element name.
+ * @param elementName
+ * the name of the element to be added.
+ * @param parentName
+ * the parent element name.
*/
protected void addChildElement(String elementName, String parentName) {
Element parent = findElement(parentName);
@@ -308,23 +345,23 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat {
}
/**
- * Adds a new element type to this IIOMetadataFormat with
- * a child policy (if policy is not CHILD_POLICY_REPEAT).
+ * Adds a new element type to this IIOMetadataFormat with a child policy (if
+ * policy is not CHILD_POLICY_REPEAT).
*
- * @param elementName the name of the element to be added.
- * @param parentName the parent element name.
- * @param childPolicy one of the CHILD_POLICY_* constants defined
- * by IIOMetadataFormat.
+ * @param elementName
+ * the name of the element to be added.
+ * @param parentName
+ * the parent element name.
+ * @param childPolicy
+ * one of the CHILD_POLICY_* constants defined by
+ * IIOMetadataFormat.
*/
protected void addElement(String elementName, String parentName, int childPolicy) {
- if (
- childPolicy < CHILD_POLICY_EMPTY ||
- childPolicy > CHILD_POLICY_MAX ||
- childPolicy == CHILD_POLICY_REPEAT
- ) {
+ if (childPolicy < CHILD_POLICY_EMPTY || childPolicy > CHILD_POLICY_MAX
+ || childPolicy == CHILD_POLICY_REPEAT) {
throw new IllegalArgumentException("childPolicy is not one of the predefined constants");
}
-
+
Element parent = findElement(parentName);
Element element = new Element();
element.name = elementName;
@@ -334,19 +371,21 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat {
}
/**
- * Adds a new element type to this IIOMetadataFormat with
- * CHILD_POLICY_REPEAT and the specified minimum and maximum
- * number of child elements.
+ * Adds a new element type to this IIOMetadataFormat with
+ * CHILD_POLICY_REPEAT and the specified minimum and maximum number of child
+ * elements.
*
- * @param elementName the element name to be added.
- * @param parentName the parent element name.
- * @param minChildren the minimum number of child elements.
- * @param maxChildren the maximum number of child elements.
- */
- protected void addElement(
- String elementName, String parentName,
- int minChildren, int maxChildren
- ) {
+ * @param elementName
+ * the element name to be added.
+ * @param parentName
+ * the parent element name.
+ * @param minChildren
+ * the minimum number of child elements.
+ * @param maxChildren
+ * the maximum number of child elements.
+ */
+ protected void addElement(String elementName, String parentName, int minChildren,
+ int maxChildren) {
if (minChildren < 0) {
throw new IllegalArgumentException("minChildren < 0!");
}
@@ -365,19 +404,20 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat {
}
/**
- * Adds an Object reference with the specified class type to be
- * stored as element's value.
+ * Adds an Object reference with the specified class type to be stored as
+ * element's value.
*
- * @param elementName the element name.
- * @param classType the class indicates the legal types for
- * the object's value.
- * @param arrayMinLength the minimum legal length for the array.
- * @param arrayMaxLength the maximum legal length for the array.
- */
- protected void addObjectValue(
- String elementName, Class<?> classType,
- int arrayMinLength, int arrayMaxLength
- ) {
+ * @param elementName
+ * the element name.
+ * @param classType
+ * the class indicates the legal types for the object's value.
+ * @param arrayMinLength
+ * the minimum legal length for the array.
+ * @param arrayMaxLength
+ * the maximum legal length for the array.
+ */
+ protected void addObjectValue(String elementName, Class<?> classType, int arrayMinLength,
+ int arrayMaxLength) {
Element element = findElement(elementName);
ObjectValue objVal = new ObjectValue();
@@ -390,20 +430,20 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat {
}
/**
- * Adds an Object reference with the specified class type to be
- * stored as an element's value.
+ * Adds an Object reference with the specified class type to be stored as an
+ * element's value.
*
- * @param elementName the element name.
- * @param classType the class indicates the legal types for
- * the object's value.
- * @param required a flag indicated that this object value
- * must be present.
- * @param defaultValue the default value, or null.
- */
- protected <T> void addObjectValue(
- String elementName, Class<T> classType,
- boolean required, T defaultValue
- ) {
+ * @param elementName
+ * the element name.
+ * @param classType
+ * the class indicates the legal types for the object's value.
+ * @param required
+ * a flag indicated that this object value must be present.
+ * @param defaultValue
+ * the default value, or null.
+ */
+ protected <T> void addObjectValue(String elementName, Class<T> classType, boolean required,
+ T defaultValue) {
// note: reqired is an unused parameter
Element element = findElement(elementName);
@@ -416,22 +456,22 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat {
}
/**
- * Adds an Object reference with the specified class type to be
- * stored as the element's value.
+ * Adds an Object reference with the specified class type to be stored as
+ * the element's value.
*
- * @param elementName the element name.
- * @param classType the class indicates the legal types for
- * the object value.
- * @param required a flag indicated that this object value
- * must be present.
- * @param defaultValue the default value, or null.
- * @param enumeratedValues the list of legal values for the object.
- */
- protected <T> void addObjectValue(
- String elementName, Class<T> classType,
- boolean required, T defaultValue,
- List<? extends T> enumeratedValues
- ) {
+ * @param elementName
+ * the element name.
+ * @param classType
+ * the class indicates the legal types for the object value.
+ * @param required
+ * a flag indicated that this object value must be present.
+ * @param defaultValue
+ * the default value, or null.
+ * @param enumeratedValues
+ * the list of legal values for the object.
+ */
+ protected <T> void addObjectValue(String elementName, Class<T> classType, boolean required,
+ T defaultValue, List<? extends T> enumeratedValues) {
// note: reqired is an unused parameter
if (enumeratedValues == null || enumeratedValues.isEmpty()) {
throw new IllegalArgumentException("enumeratedValues is empty or null");
@@ -444,7 +484,8 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat {
}
}
} catch (ClassCastException e) {
- throw new IllegalArgumentException("enumeratedValues contains a value not of class classType!");
+ throw new IllegalArgumentException(
+ "enumeratedValues contains a value not of class classType!");
}
Element element = findElement(elementName);
@@ -459,25 +500,27 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat {
}
/**
- * Adds an Object reference with the specified class type to be
- * stored as the element's value.
+ * Adds an Object reference with the specified class type to be stored as
+ * the element's value.
*
- * @param elementName the element name.
- * @param classType the class indicates the legal types for
- * the object value.
- * @param defaultValue the default value, or null.
- * @param minValue the minimum legal value for the object value.
- * @param maxValue the maximum legal value for the object value.
- * @param minInclusive the flag which indicates
- * whether the minValue is inclusive.
- * @param maxInclusive the flag which indicates
- * whether the maxValue is inclusive.
- */
- protected <T extends Object & Comparable<? super T>> void addObjectValue(
- String elementName, Class<T> classType,
- T defaultValue, Comparable<? super T> minValue, Comparable<? super T> maxValue,
- boolean minInclusive, boolean maxInclusive
- ) {
+ * @param elementName
+ * the element name.
+ * @param classType
+ * the class indicates the legal types for the object value.
+ * @param defaultValue
+ * the default value, or null.
+ * @param minValue
+ * the minimum legal value for the object value.
+ * @param maxValue
+ * the maximum legal value for the object value.
+ * @param minInclusive
+ * the flag which indicates whether the minValue is inclusive.
+ * @param maxInclusive
+ * the flag which indicates whether the maxValue is inclusive.
+ */
+ protected <T extends Object & Comparable<? super T>> void addObjectValue(String elementName,
+ Class<T> classType, T defaultValue, Comparable<? super T> minValue,
+ Comparable<? super T> maxValue, boolean minInclusive, boolean maxInclusive) {
Element element = findElement(elementName);
ObjectValue<T> objVal = new ObjectValue<T>();
@@ -540,7 +583,7 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat {
if ((attr.valueType & VALUE_RANGE) == 0) {
throw new IllegalArgumentException("Attribute is not a range!");
}
- return attr.maxValue;
+ return attr.maxValue;
}
public String getAttributeMinValue(String elementName, String attrName) {
@@ -558,12 +601,13 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat {
public int getAttributeValueType(String elementName, String attrName) {
Attlist attr = findAttribute(elementName, attrName);
- return attr.valueType;
+ return attr.valueType;
}
public String[] getChildNames(String elementName) {
Element element = findElement(elementName);
- if (element.childPolicy == CHILD_POLICY_EMPTY) { // Element cannot have children
+ if (element.childPolicy == CHILD_POLICY_EMPTY) { // Element cannot have
+ // children
return null;
}
return element.children.toArray(new String[element.children.size()]);
@@ -689,10 +733,12 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat {
}
/**
- * Removes the specified attribute from the specified element.
- *
- * @param elementName the specified element name.
- * @param attrName the specified attribute name.
+ * Removes the specified attribute from the specified element.
+ *
+ * @param elementName
+ * the specified element name.
+ * @param attrName
+ * the specified attribute name.
*/
protected void removeAttribute(String elementName, String attrName) {
Element element = findElement(elementName);
@@ -702,7 +748,8 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat {
/**
* Removes the specified element from this format.
*
- * @param elementName the specified element name.
+ * @param elementName
+ * the specified element name.
*/
protected void removeElement(String elementName) {
Element element;
@@ -717,18 +764,20 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat {
/**
* Removes the object value from the specified element.
*
- * @param elementName the element name.
+ * @param elementName
+ * the element name.
*/
protected void removeObjectValue(String elementName) {
Element element = findElement(elementName);
element.objectValue = null;
}
-
+
/**
- * Sets a new base name for ResourceBundles containing
- * descriptions of elements and attributes for this format.
+ * Sets a new base name for ResourceBundles containing descriptions of
+ * elements and attributes for this format.
*
- * @param resourceBaseName the new resource base name.
+ * @param resourceBaseName
+ * the new resource base name.
*/
protected void setResourceBaseName(String resourceBaseName) {
if (resourceBaseName == null) {
@@ -740,117 +789,181 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat {
/**
* The Class Element.
*/
- @SuppressWarnings({"ClassWithoutConstructor"})
+ @SuppressWarnings( {
+ "ClassWithoutConstructor"
+ })
private class Element {
-
- /** The name. */
+
+ /**
+ * The name.
+ */
String name;
- /** The children. */
+ /**
+ * The children.
+ */
ArrayList<String> children = new ArrayList<String>();
-
- /** The attributes. */
+
+ /**
+ * The attributes.
+ */
HashMap<String, Attlist> attributes = new HashMap<String, Attlist>();
- /** The min children. */
+ /**
+ * The min children.
+ */
int minChildren;
-
- /** The max children. */
+
+ /**
+ * The max children.
+ */
int maxChildren;
-
- /** The child policy. */
+
+ /**
+ * The child policy.
+ */
int childPolicy;
- /** The object value. */
+ /**
+ * The object value.
+ */
ObjectValue objectValue;
}
/**
* The Class Attlist.
*/
- @SuppressWarnings({"ClassWithoutConstructor"})
+ @SuppressWarnings( {
+ "ClassWithoutConstructor"
+ })
private class Attlist {
-
- /** The name. */
+
+ /**
+ * The name.
+ */
String name;
- /** The data type. */
+ /**
+ * The data type.
+ */
int dataType;
-
- /** The required. */
+
+ /**
+ * The required.
+ */
boolean required;
-
- /** The list min length. */
+
+ /**
+ * The list min length.
+ */
int listMinLength;
-
- /** The list max length. */
+
+ /**
+ * The list max length.
+ */
int listMaxLength;
-
- /** The default value. */
+
+ /**
+ * The default value.
+ */
String defaultValue;
-
- /** The enumerated values. */
+
+ /**
+ * The enumerated values.
+ */
List<String> enumeratedValues;
-
- /** The min value. */
+
+ /**
+ * The min value.
+ */
String minValue;
-
- /** The max value. */
+
+ /**
+ * The max value.
+ */
String maxValue;
-
- /** The min inclusive. */
+
+ /**
+ * The min inclusive.
+ */
boolean minInclusive;
-
- /** The max inclusive. */
+
+ /**
+ * The max inclusive.
+ */
boolean maxInclusive;
- /** The value type. */
+ /**
+ * The value type.
+ */
int valueType;
}
/**
* The Class ObjectValue.
*/
- @SuppressWarnings({"ClassWithoutConstructor"})
+ @SuppressWarnings( {
+ "ClassWithoutConstructor"
+ })
private class ObjectValue<T> {
-
- /** The class type. */
+
+ /**
+ * The class type.
+ */
Class<T> classType;
-
- /** The array min length. */
+
+ /**
+ * The array min length.
+ */
int arrayMinLength;
-
- /** The array max length. */
+
+ /**
+ * The array max length.
+ */
int arrayMaxLength;
-
- /** The default value. */
+
+ /**
+ * The default value.
+ */
T defaultValue;
-
- /** The enumerated values. */
+
+ /**
+ * The enumerated values.
+ */
List<? extends T> enumeratedValues;
-
- /** The min value. */
+
+ /**
+ * The min value.
+ */
Comparable<? super T> minValue;
-
- /** The max value. */
+
+ /**
+ * The max value.
+ */
Comparable<? super T> maxValue;
-
- /** The min inclusive. */
+
+ /**
+ * The min inclusive.
+ */
boolean minInclusive;
-
- /** The max inclusive. */
+
+ /**
+ * The max inclusive.
+ */
boolean maxInclusive;
- /** The value type. */
+ /**
+ * The value type.
+ */
int valueType;
}
/**
* Find element.
*
- * @param name the name
- *
- * @return the element
+ * @param name
+ * the name.
+ * @return the element.
*/
private Element findElement(String name) {
Element element;
@@ -864,16 +977,18 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat {
/**
* Find attribute.
*
- * @param elementName the element name
- * @param attributeName the attribute name
- *
- * @return the attlist
+ * @param elementName
+ * the element name.
+ * @param attributeName
+ * the attribute name.
+ * @return the attlist.
*/
private Attlist findAttribute(String elementName, String attributeName) {
Element element = findElement(elementName);
Attlist attribute;
if ((attribute = element.attributes.get(attributeName)) == null) {
- throw new IllegalArgumentException("attribute name is null or no such attribute: " + attributeName);
+ throw new IllegalArgumentException("attribute name is null or no such attribute: "
+ + attributeName);
}
return attribute;
@@ -882,9 +997,9 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat {
/**
* Find object value.
*
- * @param elementName the element name
- *
- * @return the object value
+ * @param elementName
+ * the element name.
+ * @return the object value.
*/
private ObjectValue findObjectValue(String elementName) {
Element element = findElement(elementName);
@@ -898,23 +1013,25 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat {
/**
* Gets the resource string.
*
- * @param key the key
- * @param locale the locale
- *
- * @return the resource string
+ * @param key
+ * the key.
+ * @param locale
+ * the locale.
+ * @return the resource string.
*/
private String getResourceString(String key, Locale locale) {
if (locale == null) {
locale = Locale.getDefault();
}
- // Get the context class loader and try to locate the bundle with it first
- ClassLoader contextClassloader = AccessController.doPrivileged(
- new PrivilegedAction<ClassLoader>() {
+ // Get the context class loader and try to locate the bundle with it
+ // first
+ ClassLoader contextClassloader = AccessController
+ .doPrivileged(new PrivilegedAction<ClassLoader>() {
public ClassLoader run() {
return Thread.currentThread().getContextClassLoader();
}
- });
+ });
// Now try to get the resource bundle
ResourceBundle rb;
diff --git a/awt/javax/imageio/metadata/IIOMetadataNode.java b/awt/javax/imageio/metadata/IIOMetadataNode.java
index d5ab7a5..adc6d67 100644
--- a/awt/javax/imageio/metadata/IIOMetadataNode.java
+++ b/awt/javax/imageio/metadata/IIOMetadataNode.java
@@ -27,47 +27,71 @@ import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
+
//???AWT
//import org.w3c.dom.TypeInfo;
//import org.w3c.dom.UserDataHandler;
/**
- * The Class IIOMetadataNode represents a node of the
- * (DOM-style) metadata tree.
+ * The Class IIOMetadataNode represents a node of the (DOM-style) metadata tree.
+ *
+ * @since Android 1.0
*/
public class IIOMetadataNode implements Element, NodeList {
- /** The node name. */
+ /**
+ * The node name.
+ */
private String nodeName;
-
- /** The node value. */
+
+ /**
+ * The node value.
+ */
private String nodeValue;
-
- /** The attributes. */
+
+ /**
+ * The attributes.
+ */
private IIOMetadataNodeList attrs = new IIOMetadataNodeList(new ArrayList<IIOMetadataNode>());
- /** The parent node. */
+ /**
+ * The parent node.
+ */
private IIOMetadataNode parent;
-
- /** The first child node. */
+
+ /**
+ * The first child node.
+ */
private IIOMetadataNode firstChild;
-
- /** The last child node. */
+
+ /**
+ * The last child node.
+ */
private IIOMetadataNode lastChild;
-
- /** The previous sibling. */
+
+ /**
+ * The previous sibling.
+ */
private IIOMetadataNode previousSibling;
-
- /** The next sibling. */
+
+ /**
+ * The next sibling.
+ */
private IIOMetadataNode nextSibling;
- /** The number of children. */
+ /**
+ * The number of children.
+ */
private int nChildren;
- /** The user object associated with this node. */
+ /**
+ * The user object associated with this node.
+ */
private Object userObject;
- /** The text content of this node. */
+ /**
+ * The text content of this node.
+ */
private String textContent;
/**
@@ -79,18 +103,20 @@ public class IIOMetadataNode implements Element, NodeList {
/**
* Instantiates a new empty node with the specified name.
*
- * @param nodeName the node name
+ * @param nodeName
+ * the node name.
*/
public IIOMetadataNode(String nodeName) {
this.nodeName = nodeName;
}
/**
- * Instantiates a new IIOMetadataNode with the specified
- * name and value.
+ * Instantiates a new IIOMetadataNode with the specified name and value.
*
- * @param nodeName the node name
- * @param nodeValue the node value
+ * @param nodeName
+ * the node name.
+ * @param nodeValue
+ * the node value.
*/
private IIOMetadataNode(String nodeName, String nodeValue) {
this.nodeName = nodeName;
@@ -102,12 +128,12 @@ public class IIOMetadataNode implements Element, NodeList {
}
public String getAttribute(String name) {
- Attr attrNode = (Attr) attrs.getNamedItem(name);
+ Attr attrNode = (Attr)attrs.getNamedItem(name);
return (attrNode == null) ? "" : attrNode.getValue();
}
public void setAttribute(String name, String value) throws DOMException {
- Attr attr = (Attr) attrs.getNamedItem(name);
+ Attr attr = (Attr)attrs.getNamedItem(name);
if (attr != null) {
attr.setValue(value);
} else {
@@ -116,7 +142,7 @@ public class IIOMetadataNode implements Element, NodeList {
}
public void removeAttribute(String name) throws DOMException {
- IIOMetadataAttr attr = (IIOMetadataAttr) attrs.getNamedItem(name);
+ IIOMetadataAttr attr = (IIOMetadataAttr)attrs.getNamedItem(name);
if (attr != null) {
attr.setOwnerElement(null);
attrs.list.remove(attr);
@@ -124,17 +150,19 @@ public class IIOMetadataNode implements Element, NodeList {
}
public Attr getAttributeNode(String name) {
- return (Attr) attrs.getNamedItem(name);
+ return (Attr)attrs.getNamedItem(name);
}
public Attr setAttributeNode(Attr newAttr) throws DOMException {
// Check if this attribute is already in use.
Element owner = newAttr.getOwnerElement();
if (owner != null) {
- if (owner == this) { // Replacing an attribute node by itself has no effect
+ if (owner == this) { // Replacing an attribute node by itself has no
+ // effect
return null;
} else {
- throw new DOMException(DOMException.INUSE_ATTRIBUTE_ERR, "Attribute is already in use");
+ throw new DOMException(DOMException.INUSE_ATTRIBUTE_ERR,
+ "Attribute is already in use");
}
}
@@ -146,7 +174,7 @@ public class IIOMetadataNode implements Element, NodeList {
IIOMetadataAttr iioAttr;
if (newAttr instanceof IIOMetadataAttr) {
- iioAttr = (IIOMetadataAttr) newAttr;
+ iioAttr = (IIOMetadataAttr)newAttr;
iioAttr.setOwnerElement(this);
} else {
iioAttr = new IIOMetadataAttr(name, newAttr.getValue(), this);
@@ -206,7 +234,8 @@ public class IIOMetadataNode implements Element, NodeList {
return getAttribute(localName);
}
- public void setAttributeNS(String namespaceURI, String qualifiedName, String value) throws DOMException {
+ public void setAttributeNS(String namespaceURI, String qualifiedName, String value)
+ throws DOMException {
setAttribute(qualifiedName, value);
}
@@ -222,7 +251,8 @@ public class IIOMetadataNode implements Element, NodeList {
return setAttributeNode(newAttr);
}
- public NodeList getElementsByTagNameNS(String namespaceURI, String localName) throws DOMException {
+ public NodeList getElementsByTagNameNS(String namespaceURI, String localName)
+ throws DOMException {
return getElementsByTagName(localName);
}
@@ -234,20 +264,105 @@ public class IIOMetadataNode implements Element, NodeList {
return hasAttribute(localName);
}
- //???AWT
+ // ???AWT
/*
- public TypeInfo getSchemaTypeInfo() {
- throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
- }*/
+ * public TypeInfo getSchemaTypeInfo() { throw new
+ * DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported"); }
+ */
+ /**
+ * <i>Description copied from interface: org.w3c.dom.Element (DOM Level
+ * 3)</i>
+ * <p>
+ * If the parameter isId is true, this method declares the specified
+ * attribute to be a user-determined ID attribute . This affects the value
+ * of Attr.isId and the behavior of Document.getElementById, but does not
+ * change any schema that may be in use, in particular this does not affect
+ * the Attr.schemaTypeInfo of the specified Attr node. Use the value false
+ * for the parameter isId to undeclare an attribute for being a
+ * user-determined ID attribute. To specify an attribute by local name and
+ * namespace URI, use the setIdAttributeNS method.
+ * </p>
+ *
+ * @param name
+ * the name of the attribute.
+ * @param isId
+ * the flag which determines whether this attribute is of type
+ * ID.
+ * @throws DOMException
+ * if a DOM error occurred while setting the attribute type.
+ * <p>
+ * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ * <br>
+ * NOT_FOUND_ERR: Raised if the specified node is not an
+ * attribute of this element.
+ * </p>
+ */
public void setIdAttribute(String name, boolean isId) throws DOMException {
throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
}
- public void setIdAttributeNS(String namespaceURI, String localName, boolean isId) throws DOMException {
+ /**
+ * <i>Description copied from interface: org.w3c.dom.Element (DOM Level
+ * 3)</i>
+ * <p>
+ * If the parameter isId is true, this method declares the specified
+ * attribute to be a user-determined ID attribute . This affects the value
+ * of Attr.isId and the behavior of Document.getElementById, but does not
+ * change any schema that may be in use, in particular this does not affect
+ * the Attr.schemaTypeInfo of the specified Attr node. Use the value false
+ * for the parameter isId to undeclare an attribute for being a
+ * user-determined ID attribute.
+ * </p>
+ *
+ * @param namespaceURI
+ * the namespace URI of the attribute.
+ * @param localName
+ * the local name of the attribute.
+ * @param isId
+ * the flag which determines whether this attribute is of type
+ * ID.
+ * @throws DOMException
+ * if a DOM error occurred while setting the attribute type.
+ * <p>
+ * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ * <br>
+ * NOT_FOUND_ERR: Raised if the specified node is not an
+ * attribute of this element.
+ * </p>
+ */
+ public void setIdAttributeNS(String namespaceURI, String localName, boolean isId)
+ throws DOMException {
throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
}
+ /**
+ * <i>Description copied from interface: org.w3c.dom.Element (DOM Level
+ * 3)</i>
+ * <p>
+ * If the parameter isId is true, this method declares the specified
+ * attribute to be a user-determined ID attribute . This affects the value
+ * of Attr.isId and the behavior of Document.getElementById, but does not
+ * change any schema that may be in use, in particular this does not affect
+ * the Attr.schemaTypeInfo of the specified Attr node. Use the value false
+ * for the parameter isId to undeclare an attribute for being a
+ * user-determined ID attribute.
+ * </p>
+ *
+ * @param idAttr
+ * the attribute node.
+ * @param isId
+ * the flag which determines whether this attribute is of type
+ * ID.
+ * @throws DOMException
+ * if a DOM error occurred while setting the attribute type.
+ * <p>
+ * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ * <br>
+ * NOT_FOUND_ERR: Raised if the specified node is not an
+ * attribute of this element.
+ * </p>
+ */
public void setIdAttributeNode(Attr idAttr, boolean isId) throws DOMException {
throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
}
@@ -305,8 +420,8 @@ public class IIOMetadataNode implements Element, NodeList {
throw new IllegalArgumentException("newChild == null!");
}
- IIOMetadataNode newIIOChild = (IIOMetadataNode) newChild;
- IIOMetadataNode refIIOChild = (IIOMetadataNode) refChild;
+ IIOMetadataNode newIIOChild = (IIOMetadataNode)newChild;
+ IIOMetadataNode refIIOChild = (IIOMetadataNode)refChild;
newIIOChild.parent = this;
@@ -349,8 +464,8 @@ public class IIOMetadataNode implements Element, NodeList {
throw new IllegalArgumentException("newChild == null!");
}
- IIOMetadataNode newIIOChild = (IIOMetadataNode) newChild;
- IIOMetadataNode oldIIOChild = (IIOMetadataNode) oldChild;
+ IIOMetadataNode newIIOChild = (IIOMetadataNode)newChild;
+ IIOMetadataNode oldIIOChild = (IIOMetadataNode)oldChild;
IIOMetadataNode next = oldIIOChild.nextSibling;
IIOMetadataNode previous = oldIIOChild.previousSibling;
@@ -389,7 +504,7 @@ public class IIOMetadataNode implements Element, NodeList {
throw new IllegalArgumentException("oldChild == null!");
}
- IIOMetadataNode oldIIOChild = (IIOMetadataNode) oldChild;
+ IIOMetadataNode oldIIOChild = (IIOMetadataNode)oldChild;
// Fix next and previous
IIOMetadataNode previous = oldIIOChild.previousSibling;
@@ -439,7 +554,8 @@ public class IIOMetadataNode implements Element, NodeList {
}
}
- return cloned; //To change body of implemented methods use File | Settings | File Templates.
+ return cloned; // To change body of implemented methods use File |
+ // Settings | File Templates.
}
public void normalize() {
@@ -470,52 +586,314 @@ public class IIOMetadataNode implements Element, NodeList {
return attrs.list.size() > 0;
}
+ /**
+ * <i>Description copied from interface: org.w3c.dom.Node (DOM Level 3)</i>
+ * <p>
+ * The absolute base URI of this node or null if the implementation wasn't
+ * able to obtain an absolute URI. This value is computed as described in.
+ * However, when the Document supports the feature "HTML" [DOM Level 2
+ * HTML], the base URI is computed using first the value of the href
+ * attribute of the HTML BASE element if any, and the value of the
+ * documentURI attribute from the Document interface otherwise.
+ * </p>
+ *
+ * @return the string representation of the absolute base URI.
+ */
public String getBaseURI() {
throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
}
+ /**
+ * <i>Description copied from interface: org.w3c.dom.Node (DOM Level 3)</i>
+ * <p>
+ * Compares the reference node, i.e. the node on which this method is being
+ * called, with a node, i.e. the one passed as a parameter, with regard to
+ * their position in the document and according to the document order.
+ * </p>
+ *
+ * @param other
+ * the node to compare against the reference node.
+ * @return Returns how the node is positioned relatively to the reference
+ * node.
+ * @throws DOMException
+ * NOT_SUPPORTED_ERR: when the compared nodes are from different
+ * DOM implementations that do not coordinate to return
+ * consistent implementation-specific results.
+ */
public short compareDocumentPosition(Node other) throws DOMException {
throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
}
+ /**
+ * <i>Description copied from interface: org.w3c.dom.Node (DOM Level 3)</i>
+ * <p>
+ * This attribute returns the text content of this node and its descendants.
+ * When it is defined to be null, setting it has no effect. On setting, any
+ * possible children this node may have are removed and, if it the new
+ * string is not empty or null, replaced by a single Text node containing
+ * the string this attribute is set to. On getting, no serialization is
+ * performed, the returned string does not contain any markup. No whitespace
+ * normalization is performed and the returned string does not contain the
+ * white spaces in element content (see the attribute
+ * Text.isElementContentWhitespace). Similarly, on setting, no parsing is
+ * performed either, the input string is taken as pure textual content. The
+ * string returned is made of the text content of this node depending on its
+ * type, as defined below:
+ * <table>
+ * <tr>
+ * <td><strong>Node type</strong></td>
+ * <td><strong>Content</strong></td>
+ * </tr>
+ * <tr>
+ * <td>ELEMENT_NODE, ATTRIBUTE_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE,
+ * DOCUMENT_FRAGMENT_NODE</td>
+ * <td>concatenation of the textContent attribute value of every child node,
+ * excluding COMMENT_NODE and PROCESSING_INSTRUCTION_NODE nodes. This is the
+ * empty string if the node has no children.</td>
+ * </tr>
+ * <tr>
+ * <td>TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE,
+ * PROCESSING_INSTRUCTION_NODE</td>
+ * <td>nodeValue</td>
+ * </tr>
+ * <tr>
+ * <td>DOCUMENT_NODE, DOCUMENT_TYPE_NODE, NOTATION_NODE</td>
+ * <td>null</td>
+ * </tr>
+ * </table>
+ * </p>
+ *
+ * @return the text content depending on the type of this node.
+ * @throws DOMException
+ * DOMSTRING_SIZE_ERR: Raised when it would return more
+ * characters than fit in a DOMString variable on the
+ * implementation platform.
+ */
public String getTextContent() throws DOMException {
return textContent;
}
+ /**
+ * <i>Description copied from interface: org.w3c.dom.Node (DOM Level 3)</i>
+ * <p>
+ * This attribute returns the text content of this node and its descendants.
+ * When it is defined to be null, setting it has no effect. On setting, any
+ * possible children this node may have are removed and, if it the new
+ * string is not empty or null, replaced by a single Text node containing
+ * the string this attribute is set to. On getting, no serialization is
+ * performed, the returned string does not contain any markup. No whitespace
+ * normalization is performed and the returned string does not contain the
+ * white spaces in element content (see the attribute
+ * Text.isElementContentWhitespace). Similarly, on setting, no parsing is
+ * performed either, the input string is taken as pure textual content. The
+ * string returned is made of the text content of this node depending on its
+ * type, as defined below:
+ * <table>
+ * <tr>
+ * <td><strong>Node type</strong></td>
+ * <td><strong>Content</strong></td>
+ * </tr>
+ * <tr>
+ * <td>ELEMENT_NODE, ATTRIBUTE_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE,
+ * DOCUMENT_FRAGMENT_NODE</td>
+ * <td>concatenation of the textContent attribute value of every child node,
+ * excluding COMMENT_NODE and PROCESSING_INSTRUCTION_NODE nodes. This is the
+ * empty string if the node has no children.</td>
+ * </tr>
+ * <tr>
+ * <td>TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE,
+ * PROCESSING_INSTRUCTION_NODE</td>
+ * <td>nodeValue</td>
+ * </tr>
+ * <tr>
+ * <td>DOCUMENT_NODE, DOCUMENT_TYPE_NODE, NOTATION_NODE</td>
+ * <td>null</td>
+ * </tr>
+ * </table>
+ * </p>
+ *
+ * @param textContent
+ * the text content for this node.
+ * @throws DOMException
+ * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is
+ * readonly.
+ */
public void setTextContent(String textContent) throws DOMException {
this.textContent = textContent;
}
+ /**
+ * <i>Description copied from interface: org.w3c.dom.Node (DOM Level 3)</i>
+ * <p>
+ * Returns whether this node is the same node as the given one. This method
+ * provides a way to determine whether two Node references returned by the
+ * implementation reference the same object. When two Node references are
+ * references to the same object, even if through a proxy, the references
+ * may be used completely interchangeably, such that all attributes have the
+ * same values and calling the same DOM method on either reference always
+ * has exactly the same effect.
+ * </p>
+ *
+ * @param other
+ * the node to test against.
+ * @return true, if the nodes are the same, false otherwise.
+ */
public boolean isSameNode(Node other) {
throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
}
+ /**
+ * <i>Description copied from interface: org.w3c.dom.Node (DOM Level 3)</i>
+ * <p>
+ * Look up the prefix associated to the given namespace URI, starting from
+ * this node. The default namespace declarations are ignored by this method.
+ * See for details on the algorithm used by this method.
+ * </p>
+ *
+ * @param namespaceURI
+ * the namespace URI to look for.
+ * @return the associated namespace prefix if found or null if none is
+ * found. If more than one prefix are associated to the namespace
+ * prefix, the returned namespace prefix is implementation
+ * dependent.
+ */
public String lookupPrefix(String namespaceURI) {
throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
}
+ /**
+ * <i>Description copied from interface: org.w3c.dom.Node (DOM Level 3)</i>
+ * <p>
+ * This method checks if the specified namespaceURI is the default namespace
+ * or not.
+ * </p>
+ *
+ * @param namespaceURI
+ * the namespace URI to look for.
+ * @return true, if the specified namespaceURI is the default namespace,
+ * false otherwise.
+ */
public boolean isDefaultNamespace(String namespaceURI) {
throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
}
+ /**
+ * <i>Description copied from interface: org.w3c.dom.Node (DOM Level 3)</i>
+ * <p>
+ * Look up the namespace URI associated to the given prefix, starting from
+ * this node. See for details on the algorithm used by this method.
+ * </p>
+ *
+ * @param prefix
+ * the prefix to look for. If this parameter is null, the method
+ * will return the default namespace URI if any.
+ * @return the associated namespace URI or null if none is found.
+ */
public String lookupNamespaceURI(String prefix) {
throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
}
+ /**
+ * <i>Description copied from interface: org.w3c.dom.Node (DOM Level 3)</i>
+ * <p>
+ * Tests whether two nodes are equal. This method tests for equality of
+ * nodes, not sameness (i.e., whether the two nodes are references to the
+ * same object) which can be tested with Node.isSameNode(). All nodes that
+ * are the same will also be equal, though the reverse may not be true. Two
+ * nodes are equal if and only if the following conditions are satisfied:
+ * <p>
+ * <li>The two nodes are of the same type.</li>
+ * <li>The following string attributes are equal: nodeName, localName,
+ * namespaceURI, prefix, nodeValue . This is: they are both null, or they
+ * have the same length and are character for character identical.</li>
+ * <li>The attributes NamedNodeMaps are equal. This is: they are both null,
+ * or they have the same length and for each node that exists in one map
+ * there is a node that exists in the other map and is equal, although not
+ * necessarily at the same index.</li>
+ * <li>The childNodes NodeLists are equal. This is: they are both null, or
+ * they have the same length and contain equal nodes at the same index. Note
+ * that normalization can affect equality; to avoid this, nodes should be
+ * normalized before being compared.</li>
+ * </p>
+ * For two DocumentType nodes to be equal, the following conditions must
+ * also be satisfied:
+ * <p>
+ * <li>The following string attributes are equal: publicId, systemId,
+ * internalSubset.</li>
+ * <li>The entities NamedNodeMaps are equal.</li>
+ * <li>The notations NamedNodeMaps are equal.</li>
+ * </p>
+ * On the other hand, the following do not affect equality: the
+ * ownerDocument, baseURI, and parentNode attributes, the specified
+ * attribute for Attr nodes, the schemaTypeInfo attribute for Attr and
+ * Element nodes, the Text.isElementContentWhitespace attribute for Text
+ * nodes, as well as any user data or event listeners registered on the
+ * nodes. </p>
+ * <p>
+ * Note: As a general rule, anything not mentioned in the description above
+ * is not significant in consideration of equality checking. Note that
+ * future versions of this specification may take into account more
+ * attributes and implementations conform to this specification are expected
+ * to be updated accordingly.
+ * </p>
+ *
+ * @param arg
+ * the node to compare equality with.
+ * @return true, if the nodes are equal, false otherwise.
+ */
public boolean isEqualNode(Node arg) {
throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
}
+ /**
+ * <i>Description copied from interface: org.w3c.dom.Node (DOM Level 3)</i>
+ * <p>
+ * This method returns a specialized object which implements the specialized
+ * APIs of the specified feature and version, as specified in. The
+ * specialized object may also be obtained by using binding-specific casting
+ * methods but is not necessarily expected to, as discussed in. This method
+ * also allow the implementation to provide specialized objects which do not
+ * support the Node interface.
+ * </p>
+ *
+ * @param feature
+ * the name of the feature requested. Note that any plus sign "+"
+ * prepended to the name of the feature will be ignored since it
+ * is not significant in the context of this method.
+ * @param version
+ * this is the version number of the feature to test.
+ * @return the object which implements the specialized APIs of the specified
+ * feature and version, if any, or null if there is no object which
+ * implements interfaces associated with that feature. If the
+ * DOMObject returned by this method implements the Node interface,
+ * it must delegate to the primary core Node and not return results
+ * inconsistent with the primary core Node such as attributes,
+ * childNodes, etc.
+ */
public Object getFeature(String feature, String version) {
throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
}
- //???AWT
+ // ???AWT
/*
- public Object setUserData(String key, Object data, UserDataHandler handler) {
- throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
- }*/
+ * public Object setUserData(String key, Object data, UserDataHandler
+ * handler) { throw new DOMException(DOMException.NOT_SUPPORTED_ERR,
+ * "Method not supported"); }
+ */
+ /**
+ * <i>Description copied from interface: org.w3c.dom.Node (DOM Level 3)</i>
+ * <p>
+ * Retrieves the object associated to a key on a this node. The object must
+ * first have been set to this node by calling setUserData with the same
+ * key.
+ * </p>
+ *
+ * @param key
+ * the key the object is associated to.
+ * @return the DOMUserData associated to the given key on this node, or null
+ * if there was none.
+ */
public Object getUserData(String key) {
throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
}
@@ -540,7 +918,7 @@ public class IIOMetadataNode implements Element, NodeList {
/**
* Gets the user object associated with this node.
*
- * @return the user object associated with this node
+ * @return the user object associated with this node.
*/
public Object getUserObject() {
return userObject;
@@ -549,7 +927,8 @@ public class IIOMetadataNode implements Element, NodeList {
/**
* Sets the user object associated with this node.
*
- * @param userObject the new user object associated with this node
+ * @param userObject
+ * the new user object associated with this node.
*/
public void setUserObject(Object userObject) {
this.userObject = userObject;
@@ -559,16 +938,21 @@ public class IIOMetadataNode implements Element, NodeList {
* The Class IIOMetadataAttr.
*/
private class IIOMetadataAttr extends IIOMetadataNode implements Attr {
-
- /** The owner element. */
+
+ /**
+ * The owner element.
+ */
private Element ownerElement;
/**
* Instantiates a new iIO metadata attr.
*
- * @param name the name
- * @param value the value
- * @param owner the owner
+ * @param name
+ * the name.
+ * @param value
+ * the value.
+ * @param owner
+ * the owner.
*/
public IIOMetadataAttr(String name, String value, Element owner) {
super(name, value);
@@ -598,12 +982,16 @@ public class IIOMetadataNode implements Element, NodeList {
/**
* Sets the owner element.
*
- * @param ownerElement the new owner element
+ * @param ownerElement
+ * the new owner element.
*/
public void setOwnerElement(Element ownerElement) {
this.ownerElement = ownerElement;
}
+ /**
+ * @return
+ */
public boolean isId() {
throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
}
@@ -618,14 +1006,17 @@ public class IIOMetadataNode implements Element, NodeList {
* The Class IIOMetadataNodeList.
*/
private class IIOMetadataNodeList implements NodeList, NamedNodeMap {
-
- /** The list. */
+
+ /**
+ * The list.
+ */
private List<IIOMetadataNode> list;
/**
* Instantiates a new iIO metadata node list.
*
- * @param list the list
+ * @param list
+ * the list.
*/
IIOMetadataNodeList(List<IIOMetadataNode> list) {
this.list = list;
@@ -644,7 +1035,7 @@ public class IIOMetadataNode implements Element, NodeList {
}
public Node getNamedItem(String name) {
- for(IIOMetadataNode node:list) {
+ for (IIOMetadataNode node : list) {
if (name.equals(node.getNodeName())) {
return node;
}
@@ -653,11 +1044,13 @@ public class IIOMetadataNode implements Element, NodeList {
}
public Node setNamedItem(Node arg) throws DOMException {
- throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, "This NamedNodeMap is read-only!");
+ throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,
+ "This NamedNodeMap is read-only!");
}
public Node removeNamedItem(String name) throws DOMException {
- throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, "This NamedNodeMap is read-only!");
+ throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,
+ "This NamedNodeMap is read-only!");
}
public Node getNamedItemNS(String namespaceURI, String localName) throws DOMException {
@@ -665,11 +1058,13 @@ public class IIOMetadataNode implements Element, NodeList {
}
public Node setNamedItemNS(Node arg) throws DOMException {
- throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, "This NamedNodeMap is read-only!");
+ throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,
+ "This NamedNodeMap is read-only!");
}
public Node removeNamedItemNS(String namespaceURI, String localName) throws DOMException {
- throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, "This NamedNodeMap is read-only!");
+ throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,
+ "This NamedNodeMap is read-only!");
}
}
}
diff --git a/awt/javax/imageio/metadata/IIOStandardMetadataFormat.java b/awt/javax/imageio/metadata/IIOStandardMetadataFormat.java
index 94d2125..706cb2f 100644
--- a/awt/javax/imageio/metadata/IIOStandardMetadataFormat.java
+++ b/awt/javax/imageio/metadata/IIOStandardMetadataFormat.java
@@ -15,18 +15,19 @@
* limitations under the License.
*/
-
package javax.imageio.metadata;
import javax.imageio.ImageTypeSpecifier;
import java.util.ArrayList;
/**
- * The Class IIOStandardMetadataFormat describes the rules of the
- * standard metadata format.
+ * The class IIOStandardMetadataFormat describes the rules of the standard
+ * metadata format.
+ *
+ * @since Android 1.0
*/
-class IIOStandardMetadataFormat extends IIOMetadataFormatImpl {
-
+class IIOStandardMetadataFormat extends IIOMetadataFormatImpl {
+
/**
* Instantiates a new IIOStandardMetadataFormat.
*/
@@ -41,7 +42,7 @@ class IIOStandardMetadataFormat extends IIOMetadataFormatImpl {
}
/**
- * Builds the dtd that describes the standard metadata format.
+ * Builds the DTD that describes the standard metadata format.
*/
private void buildDTD() {
// CHROMA
@@ -80,7 +81,10 @@ class IIOStandardMetadataFormat extends IIOMetadataFormatImpl {
addAttribute("ColorSpaceType", "name", DATATYPE_STRING, true, null, values);
addElement("NumChannels", "Chroma", CHILD_POLICY_EMPTY);
- addAttribute("NumChannels", "value", DATATYPE_INTEGER, true, 0, Integer.MAX_VALUE); // list - why?
+ addAttribute("NumChannels", "value", DATATYPE_INTEGER, true, 0, Integer.MAX_VALUE); // list
+ // -
+ // why
+ // ?
addElement("Gamma", "Chroma", CHILD_POLICY_EMPTY);
addAttribute("Gamma", "value", DATATYPE_FLOAT, true, null);
@@ -142,10 +146,8 @@ class IIOStandardMetadataFormat extends IIOMetadataFormatImpl {
addAttribute("BitsPerSample", "value", DATATYPE_INTEGER, true, 1, Integer.MAX_VALUE); // list
addElement("SignificantBitsPerSample", "Data", CHILD_POLICY_EMPTY);
- addAttribute(
- "SignificantBitsPerSample", "value",
- DATATYPE_INTEGER, true, 1, Integer.MAX_VALUE
- ); // list
+ addAttribute("SignificantBitsPerSample", "value", DATATYPE_INTEGER, true, 1,
+ Integer.MAX_VALUE); // list
addElement("SampleMSB", "Data", CHILD_POLICY_EMPTY);
addAttribute("SampleMSB", "value", DATATYPE_INTEGER, true, 1, Integer.MAX_VALUE); // list
@@ -224,49 +226,29 @@ class IIOStandardMetadataFormat extends IIOMetadataFormatImpl {
addElement("ImageCreationTime", "Document", CHILD_POLICY_EMPTY);
addAttribute("ImageCreationTime", "year", DATATYPE_INTEGER, true, null);
- addAttribute(
- "ImageCreationTime", "month",
- DATATYPE_INTEGER, true, null, "1", "12", true, true
- );
- addAttribute(
- "ImageCreationTime", "day",
- DATATYPE_INTEGER, true, null, "1", "31", true, true
- );
- addAttribute(
- "ImageCreationTime", "hour",
- DATATYPE_INTEGER, false, "0", "0", "23", true, true
- );
- addAttribute(
- "ImageCreationTime", "minute",
- DATATYPE_INTEGER, false, "0", "0", "59", true, true
- );
- addAttribute(
- "ImageCreationTime", "second",
- DATATYPE_INTEGER, false, "0", "0", "60", true, true
- );
+ addAttribute("ImageCreationTime", "month", DATATYPE_INTEGER, true, null, "1", "12", true,
+ true);
+ addAttribute("ImageCreationTime", "day", DATATYPE_INTEGER, true, null, "1", "31", true,
+ true);
+ addAttribute("ImageCreationTime", "hour", DATATYPE_INTEGER, false, "0", "0", "23", true,
+ true);
+ addAttribute("ImageCreationTime", "minute", DATATYPE_INTEGER, false, "0", "0", "59", true,
+ true);
+ addAttribute("ImageCreationTime", "second", DATATYPE_INTEGER, false, "0", "0", "60", true,
+ true);
addElement("ImageModificationTime", "Document", CHILD_POLICY_EMPTY);
addAttribute("ImageModificationTime", "year", DATATYPE_INTEGER, true, null);
- addAttribute(
- "ImageModificationTime", "month",
- DATATYPE_INTEGER, true, null, "1", "12", true, true
- );
- addAttribute(
- "ImageModificationTime", "day",
- DATATYPE_INTEGER, true, null, "1", "31", true, true
- );
- addAttribute(
- "ImageModificationTime", "hour",
- DATATYPE_INTEGER, false, "0", "0", "23", true, true
- );
- addAttribute(
- "ImageModificationTime", "minute",
- DATATYPE_INTEGER, false, "0", "0", "59", true, true
- );
- addAttribute(
- "ImageModificationTime", "second",
- DATATYPE_INTEGER, false, "0", "0", "60", true, true
- );
+ addAttribute("ImageModificationTime", "month", DATATYPE_INTEGER, true, null, "1", "12",
+ true, true);
+ addAttribute("ImageModificationTime", "day", DATATYPE_INTEGER, true, null, "1", "31", true,
+ true);
+ addAttribute("ImageModificationTime", "hour", DATATYPE_INTEGER, false, "0", "0", "23",
+ true, true);
+ addAttribute("ImageModificationTime", "minute", DATATYPE_INTEGER, false, "0", "0", "59",
+ true, true);
+ addAttribute("ImageModificationTime", "second", DATATYPE_INTEGER, false, "0", "0", "60",
+ true, true);
// TEXT
addElement("Text", standardMetadataFormatName, 0, Integer.MAX_VALUE); // CHILD_POLICY_REPEAT
@@ -313,4 +295,3 @@ class IIOStandardMetadataFormat extends IIOMetadataFormatImpl {
addAttribute("OpaqueTile", "y", DATATYPE_INTEGER, true, null);
}
}
-
diff --git a/awt/javax/imageio/metadata/package.html b/awt/javax/imageio/metadata/package.html
new file mode 100644
index 0000000..29bd51b
--- /dev/null
+++ b/awt/javax/imageio/metadata/package.html
@@ -0,0 +1,8 @@
+<html>
+ <body>
+ <p>
+ This package contains classes which allows to read and write describing metadata of image files.
+ </p>
+ @since Android 1.0
+ </body>
+</html>
diff --git a/awt/javax/imageio/package.html b/awt/javax/imageio/package.html
new file mode 100644
index 0000000..2fd6148
--- /dev/null
+++ b/awt/javax/imageio/package.html
@@ -0,0 +1,8 @@
+<html>
+ <body>
+ <p>
+ This package contains classes and interfaces which provides an Image I/O API. The contained classes and interfaces allow reading and writing image files of different formats.
+ </p>
+ @since Android 1.0
+ </body>
+</html>
diff --git a/awt/javax/imageio/plugins/bmp/BMPImageWriteParam.java b/awt/javax/imageio/plugins/bmp/BMPImageWriteParam.java
index 0cd44db..ecfb20a 100644
--- a/awt/javax/imageio/plugins/bmp/BMPImageWriteParam.java
+++ b/awt/javax/imageio/plugins/bmp/BMPImageWriteParam.java
@@ -15,19 +15,21 @@
* limitations under the License.
*/
-
package javax.imageio.plugins.bmp;
import javax.imageio.ImageWriteParam;
import java.util.Locale;
/**
- * The BMPImageWriteParam class allows encoding an image in
- * BMP format.
+ * The BMPImageWriteParam class allows encoding an image in BMP format.
+ *
+ * @since Android 1.0
*/
public class BMPImageWriteParam extends ImageWriteParam {
-
- /** The top down. */
+
+ /**
+ * The top down.
+ */
private boolean topDown; // Default is bottom-up
/**
@@ -41,33 +43,35 @@ public class BMPImageWriteParam extends ImageWriteParam {
/**
* Instantiates a new BMPImageWriteParam with the specified Locale.
*
- * @param locale the specified Locale.
+ * @param locale
+ * the specified Locale.
*/
public BMPImageWriteParam(Locale locale) {
super(locale);
// Set the compression
canWriteCompressed = true;
- compressionTypes = new String[] {"BI_RGB", "BI_RLE8", "BI_RLE4", "BI_BITFIELDS"};
- compressionType = compressionTypes[0];
+ compressionTypes = new String[] {
+ "BI_RGB", "BI_RLE8", "BI_RLE4", "BI_BITFIELDS"
+ };
+ compressionType = compressionTypes[0];
}
/**
- * Sets true if the data will be written in a top-down order,
- * false otherwise.
+ * Sets true if the data will be written in a top-down order, false
+ * otherwise.
*
- * @param topDown the new top-down value.
+ * @param topDown
+ * the new top-down value.
*/
public void setTopDown(boolean topDown) {
this.topDown = topDown;
}
/**
- * Returns true if the data is written in top-down order, false
- * otherwise.
+ * Returns true if the data is written in top-down order, false otherwise.
*
- * @return true if the data is written in top-down order, false
- * otherwise.
+ * @return true if the data is written in top-down order, false otherwise.
*/
public boolean isTopDown() {
return topDown;
diff --git a/awt/javax/imageio/plugins/bmp/package.html b/awt/javax/imageio/plugins/bmp/package.html
new file mode 100644
index 0000000..9494a10
--- /dev/null
+++ b/awt/javax/imageio/plugins/bmp/package.html
@@ -0,0 +1,8 @@
+<html>
+ <body>
+ <p>
+ This package contains auxiliary classes for the built-in BMP image plug-in.
+ </p>
+ @since Android 1.0
+ </body>
+</html>
diff --git a/awt/javax/imageio/plugins/jpeg/JPEGHuffmanTable.java b/awt/javax/imageio/plugins/jpeg/JPEGHuffmanTable.java
index 398c960..67b504b 100644
--- a/awt/javax/imageio/plugins/jpeg/JPEGHuffmanTable.java
+++ b/awt/javax/imageio/plugins/jpeg/JPEGHuffmanTable.java
@@ -18,82 +18,90 @@
package javax.imageio.plugins.jpeg;
/**
- * The JPEGHuffmanTable class represents a single JPEG Huffman table.
- * It contains the standard tables from the JPEG specification.
+ * The JPEGHuffmanTable class represents a single JPEG Huffman table. It
+ * contains the standard tables from the JPEG specification.
+ *
+ * @since Android 1.0
*/
public class JPEGHuffmanTable {
-
- /** The standard DC luminance Huffman table . */
- public static final JPEGHuffmanTable StdDCLuminance = new JPEGHuffmanTable(
- new short[] {0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0},
- new short[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0x0A, 0x0B},
- false
- );
-
- /** The standard DC chrominance Huffman table. */
- public static final JPEGHuffmanTable StdDCChrominance = new JPEGHuffmanTable(
- new short[] {0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0},
- new short[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0x0A, 0x0B},
- false
- );
-
- /** The standard AC luminance Huffman table. */
- public static final JPEGHuffmanTable StdACLuminance = new JPEGHuffmanTable(
- new short[] {0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 0x7D},
- new short[] {
- 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12, 0x21, 0x31, 0x41, 0x06,
- 0x13, 0x51, 0x61, 0x07, 0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xA1, 0x08,
- 0x23, 0x42, 0xB1, 0xC1, 0x15, 0x52, 0xD1, 0xF0, 0x24, 0x33, 0x62, 0x72,
- 0x82, 0x09, 0x0A, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x25, 0x26, 0x27, 0x28,
- 0x29, 0x2A, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x43, 0x44, 0x45,
- 0x46, 0x47, 0x48, 0x49, 0x4A, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
- 0x5A, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x73, 0x74, 0x75,
- 0x76, 0x77, 0x78, 0x79, 0x7A, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89,
- 0x8A, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0xA2, 0xA3,
- 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6,
- 0xB7, 0xB8, 0xB9, 0xBA, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9,
- 0xCA, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xE1, 0xE2,
- 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xF1, 0xF2, 0xF3, 0xF4,
- 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA
- },
- false
- );
-
- /**
- * The standard AC chrominance Huffman table. */
- public static final JPEGHuffmanTable StdACChrominance = new JPEGHuffmanTable(
- new short[] {0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 0x77},
- new short[] {
- 0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21, 0x31, 0x06, 0x12, 0x41,
- 0x51, 0x07, 0x61, 0x71, 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91,
- 0xA1, 0xB1, 0xC1, 0x09, 0x23, 0x33, 0x52, 0xF0, 0x15, 0x62, 0x72, 0xD1,
- 0x0A, 0x16, 0x24, 0x34, 0xE1, 0x25, 0xF1, 0x17, 0x18, 0x19, 0x1A, 0x26,
- 0x27, 0x28, 0x29, 0x2A, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x43, 0x44,
- 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
- 0x59, 0x5A, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x73, 0x74,
- 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
- 0x88, 0x89, 0x8A, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A,
- 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xB2, 0xB3, 0xB4,
- 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7,
- 0xC8, 0xC9, 0xCA, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA,
- 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xF2, 0xF3, 0xF4,
- 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA
- },
- false
- );
-
- /** The lengths. */
+
+ /**
+ * The standard DC luminance Huffman table .
+ */
+ public static final JPEGHuffmanTable StdDCLuminance = new JPEGHuffmanTable(new short[] {
+ 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0
+ }, new short[] {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0x0A, 0x0B
+ }, false);
+
+ /**
+ * The standard DC chrominance Huffman table.
+ */
+ public static final JPEGHuffmanTable StdDCChrominance = new JPEGHuffmanTable(new short[] {
+ 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0
+ }, new short[] {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0x0A, 0x0B
+ }, false);
+
+ /**
+ * The standard AC luminance Huffman table.
+ */
+ public static final JPEGHuffmanTable StdACLuminance = new JPEGHuffmanTable(new short[] {
+ 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 0x7D
+ }, new short[] {
+ 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12, 0x21, 0x31, 0x41, 0x06, 0x13, 0x51,
+ 0x61, 0x07, 0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xA1, 0x08, 0x23, 0x42, 0xB1, 0xC1,
+ 0x15, 0x52, 0xD1, 0xF0, 0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0A, 0x16, 0x17, 0x18,
+ 0x19, 0x1A, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
+ 0x3A, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x53, 0x54, 0x55, 0x56, 0x57,
+ 0x58, 0x59, 0x5A, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x73, 0x74, 0x75,
+ 0x76, 0x77, 0x78, 0x79, 0x7A, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x92,
+ 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7,
+ 0xA8, 0xA9, 0xAA, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xC2, 0xC3,
+ 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8,
+ 0xD9, 0xDA, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xF1, 0xF2,
+ 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA
+ }, false);
+
+ /**
+ * The standard AC chrominance Huffman table.
+ */
+ public static final JPEGHuffmanTable StdACChrominance = new JPEGHuffmanTable(new short[] {
+ 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 0x77
+ }, new short[] {
+ 0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21, 0x31, 0x06, 0x12, 0x41, 0x51, 0x07,
+ 0x61, 0x71, 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91, 0xA1, 0xB1, 0xC1, 0x09,
+ 0x23, 0x33, 0x52, 0xF0, 0x15, 0x62, 0x72, 0xD1, 0x0A, 0x16, 0x24, 0x34, 0xE1, 0x25,
+ 0xF1, 0x17, 0x18, 0x19, 0x1A, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x35, 0x36, 0x37, 0x38,
+ 0x39, 0x3A, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x53, 0x54, 0x55, 0x56,
+ 0x57, 0x58, 0x59, 0x5A, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x73, 0x74,
+ 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89,
+ 0x8A, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0xA2, 0xA3, 0xA4, 0xA5,
+ 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA,
+ 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6,
+ 0xD7, 0xD8, 0xD9, 0xDA, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xF2,
+ 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA
+ }, false);
+
+ /**
+ * The lengths.
+ */
private short lengths[];
-
- /** The values. */
+
+ /**
+ * The values.
+ */
private short values[];
/**
* Instantiates a new jPEG huffman table.
*
- * @param lengths the lengths
- * @param values the values
- * @param copy the copy
+ * @param lengths
+ * the lengths
+ * @param values
+ * the values
+ * @param copy
+ * the copy
*/
JPEGHuffmanTable(short[] lengths, short[] values, boolean copy) {
// Construction of standard tables without checks
@@ -106,9 +114,11 @@ public class JPEGHuffmanTable {
/**
* Instantiates a new JPEGHuffmanTable.
*
- * @param lengths the array of shorts lengths.
- * @param values the array of shorts containing
- * the values in order of increasing code length.
+ * @param lengths
+ * the array of shorts lengths.
+ * @param values
+ * the array of shorts containing the values in order of
+ * increasing code length.
*/
public JPEGHuffmanTable(short[] lengths, short[] values) {
if (lengths == null) {
@@ -145,8 +155,8 @@ public class JPEGHuffmanTable {
/**
* Gets an array of lengths in the Huffman table.
*
- * @return the array of short values representing the
- * length values in the Huffman table.
+ * @return the array of short values representing the length values in the
+ * Huffman table.
*/
public short[] getLengths() {
short newLengths[] = new short[lengths.length];
@@ -155,8 +165,7 @@ public class JPEGHuffmanTable {
}
/**
- * Gets an array of values represented by increasing length of
- * their codes.
+ * Gets an array of values represented by increasing length of their codes.
*
* @return the array of values.
*/
@@ -169,8 +178,10 @@ public class JPEGHuffmanTable {
/**
* Check huffman table.
*
- * @param lengths the lengths
- * @param values the values
+ * @param lengths
+ * the lengths.
+ * @param values
+ * the values.
*/
private static void checkHuffmanTable(short[] lengths, short[] values) {
int numLeaves = 0;
@@ -179,13 +190,15 @@ public class JPEGHuffmanTable {
numLeaves += length;
possibleLeaves -= length;
if (possibleLeaves < 0) {
- throw new IllegalArgumentException("Invalid Huffman table provided, lengths are incorrect.");
+ throw new IllegalArgumentException(
+ "Invalid Huffman table provided, lengths are incorrect.");
}
possibleLeaves <<= 1;
}
if (values.length != numLeaves) {
- throw new IllegalArgumentException("Invalid Huffman table provided, sum of lengths != values.");
+ throw new IllegalArgumentException(
+ "Invalid Huffman table provided, sum of lengths != values.");
}
}
diff --git a/awt/javax/imageio/plugins/jpeg/JPEGImageReadParam.java b/awt/javax/imageio/plugins/jpeg/JPEGImageReadParam.java
index dd08d51..2f3a9a8 100644
--- a/awt/javax/imageio/plugins/jpeg/JPEGImageReadParam.java
+++ b/awt/javax/imageio/plugins/jpeg/JPEGImageReadParam.java
@@ -20,18 +20,26 @@ package javax.imageio.plugins.jpeg;
import javax.imageio.ImageReadParam;
/**
- * The JPEGImageReadParam class provides functionality to set Huffman tables
- * and quantization tables when using the JPEG reader plug-in.
+ * The JPEGImageReadParam class provides functionality to set Huffman tables and
+ * quantization tables when using the JPEG reader plug-in.
+ *
+ * @since Android 1.0
*/
public class JPEGImageReadParam extends ImageReadParam {
-
- /** The q tables. */
+
+ /**
+ * The q tables.
+ */
private JPEGQTable qTables[];
-
- /** The dc huffman tables. */
+
+ /**
+ * The dc huffman tables.
+ */
private JPEGHuffmanTable dcHuffmanTables[];
-
- /** The ac huffman tables. */
+
+ /**
+ * The ac huffman tables.
+ */
private JPEGHuffmanTable acHuffmanTables[];
/**
@@ -43,29 +51,28 @@ public class JPEGImageReadParam extends ImageReadParam {
/**
* Returns true if tables are set, false otherwise.
*
- * @return true if tables are set, false otherwise.
+ * @return true, if tables are set, false otherwise.
*/
public boolean areTablesSet() {
return qTables != null;
}
/**
- * Sets the quantization and Huffman tables for using in
- * decoding streams.
+ * Sets the quantization and Huffman tables for using in decoding streams.
*
- * @param qTables the quantization tables.
- * @param DCHuffmanTables the standart DC Huffman tables.
- * @param ACHuffmanTables the standart AC huffman tables.
+ * @param qTables
+ * the quantization tables.
+ * @param DCHuffmanTables
+ * the standart DC Huffman tables.
+ * @param ACHuffmanTables
+ * the standart AC huffman tables.
*/
- public void setDecodeTables(
- JPEGQTable[] qTables,
- JPEGHuffmanTable[] DCHuffmanTables,
- JPEGHuffmanTable[] ACHuffmanTables
- ) {
+ public void setDecodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables,
+ JPEGHuffmanTable[] ACHuffmanTables) {
if (qTables == null || DCHuffmanTables == null || ACHuffmanTables == null) {
throw new IllegalArgumentException("Invalid JPEG table arrays");
}
- if(DCHuffmanTables.length != ACHuffmanTables.length) {
+ if (DCHuffmanTables.length != ACHuffmanTables.length) {
throw new IllegalArgumentException("Invalid JPEG table arrays");
}
if (qTables.length > 4 || DCHuffmanTables.length > 4) {
@@ -112,5 +119,5 @@ public class JPEGImageReadParam extends ImageReadParam {
*/
public JPEGHuffmanTable[] getACHuffmanTables() {
return acHuffmanTables == null ? null : acHuffmanTables.clone();
- }
+ }
}
diff --git a/awt/javax/imageio/plugins/jpeg/JPEGImageWriteParam.java b/awt/javax/imageio/plugins/jpeg/JPEGImageWriteParam.java
index 34a3cd9..b979911 100644
--- a/awt/javax/imageio/plugins/jpeg/JPEGImageWriteParam.java
+++ b/awt/javax/imageio/plugins/jpeg/JPEGImageWriteParam.java
@@ -23,38 +23,52 @@ import javax.imageio.ImageWriteParam;
import java.util.Locale;
/**
- * The JPEGImageWriteParam class allows to set JPEG Huffman tables
- * and quantization when using the JPEG writer plug-in.
+ * The JPEGImageWriteParam class allows to set JPEG Huffman tables and
+ * quantization when using the JPEG writer plug-in.
+ *
+ * @since Android 1.0
*/
public class JPEGImageWriteParam extends ImageWriteParam {
-
- /** The Constant COMP_QUALITY_VALUES. */
- private static final float[] COMP_QUALITY_VALUES = {0.05f, 0.75f, 0.95f};
-
- /** The Constant COMP_QUALITY_DESCRIPTIONS. */
+
+ /**
+ * The Constant COMP_QUALITY_VALUES.
+ */
+ private static final float[] COMP_QUALITY_VALUES = {
+ 0.05f, 0.75f, 0.95f
+ };
+
+ /**
+ * The Constant COMP_QUALITY_DESCRIPTIONS.
+ */
private static final String[] COMP_QUALITY_DESCRIPTIONS = {
- "Minimum useful",
- "Visually lossless",
- "Maximum useful"
+ "Minimum useful", "Visually lossless", "Maximum useful"
};
- /** The q tables. */
+ /**
+ * The q tables.
+ */
private JPEGQTable[] qTables;
-
- /** The dc huffman tables. */
+
+ /**
+ * The dc huffman tables.
+ */
private JPEGHuffmanTable[] dcHuffmanTables;
-
- /** The ac huffman tables. */
+
+ /**
+ * The ac huffman tables.
+ */
private JPEGHuffmanTable[] acHuffmanTables;
- /** The optimize huffman tables. */
+ /**
+ * The optimize huffman tables.
+ */
private boolean optimizeHuffmanTables;
/**
- * Instantiates a new JPEGImageWriteParam object with
- * the specified Locale.
+ * Instantiates a new JPEGImageWriteParam object with the specified Locale.
*
- * @param locale the Locale.
+ * @param locale
+ * the Locale.
*/
public JPEGImageWriteParam(Locale locale) {
super(locale);
@@ -63,37 +77,38 @@ public class JPEGImageWriteParam extends ImageWriteParam {
progressiveMode = ImageWriteParam.MODE_DISABLED;
canWriteCompressed = true;
- compressionTypes = new String[]{"JPEG"};
- compressionType = compressionTypes[0];
+ compressionTypes = new String[] {
+ "JPEG"
+ };
+ compressionType = compressionTypes[0];
compressionQuality = JPEGConsts.DEFAULT_JPEG_COMPRESSION_QUALITY;
}
/**
* Returns true if tables are set, false otherwise.
*
- * @return true if tables are set, false otherwise.
+ * @return true, if tables are set, false otherwise.
*/
public boolean areTablesSet() {
return qTables != null;
}
/**
- * Sets the quantization and Huffman tables for using in
- * encoding streams.
+ * Sets the quantization and Huffman tables for using in encoding streams.
*
- * @param qTables the quantization tables.
- * @param DCHuffmanTables the standart DC Huffman tables.
- * @param ACHuffmanTables the standart AC huffman tables.
+ * @param qTables
+ * the quantization tables.
+ * @param DCHuffmanTables
+ * the standart DC Huffman tables.
+ * @param ACHuffmanTables
+ * the standart AC huffman tables.
*/
- public void setEncodeTables(
- JPEGQTable[] qTables,
- JPEGHuffmanTable[] DCHuffmanTables,
- JPEGHuffmanTable[] ACHuffmanTables
- ) {
+ public void setEncodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables,
+ JPEGHuffmanTable[] ACHuffmanTables) {
if (qTables == null || DCHuffmanTables == null || ACHuffmanTables == null) {
throw new IllegalArgumentException("Invalid JPEG table arrays");
}
- if(DCHuffmanTables.length != ACHuffmanTables.length) {
+ if (DCHuffmanTables.length != ACHuffmanTables.length) {
throw new IllegalArgumentException("Invalid JPEG table arrays");
}
if (qTables.length > 4 || DCHuffmanTables.length > 4) {
@@ -155,21 +170,22 @@ public class JPEGImageWriteParam extends ImageWriteParam {
}
/**
- * Sets the flag indicated that the writer will generate optimized
- * Huffman tables for the image as part of the writing process.
+ * Sets the flag indicated that the writer will generate optimized Huffman
+ * tables for the image as part of the writing process.
*
- * @param optimize the flag of optimizing huffman tables.
+ * @param optimize
+ * the flag of optimizing huffman tables.
*/
public void setOptimizeHuffmanTables(boolean optimize) {
optimizeHuffmanTables = optimize;
}
/**
- * Returns true if the writer generates optimized Huffman tables,
- * false otherwise.
+ * Returns true if the writer generates optimized Huffman tables, false
+ * otherwise.
*
- * @return the true if the writer generates optimized Huffman tables,
- * false otherwise.
+ * @return true, if the writer generates optimized Huffman tables, false
+ * otherwise.
*/
public boolean getOptimizeHuffmanTables() {
return optimizeHuffmanTables;
diff --git a/awt/javax/imageio/plugins/jpeg/JPEGQTable.java b/awt/javax/imageio/plugins/jpeg/JPEGQTable.java
index 0c5b37e..3461d46 100644
--- a/awt/javax/imageio/plugins/jpeg/JPEGQTable.java
+++ b/awt/javax/imageio/plugins/jpeg/JPEGQTable.java
@@ -18,88 +18,92 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.3 $
*/
+
package javax.imageio.plugins.jpeg;
/**
- * The JPEGQTable class represents a single JPEG quantization table
- * and provides for the standard tables taken from the JPEG specification.
+ * The JPEGQTable class represents a single JPEG quantization table and provides
+ * for the standard tables taken from the JPEG specification.
+ *
+ * @since Android 1.0
*/
public class JPEGQTable {
- /** The Constant SIZE. */
+ /**
+ * The Constant SIZE.
+ */
private final static int SIZE = 64;
-
- /** The Constant BASELINE_MAX. */
+
+ /**
+ * The Constant BASELINE_MAX.
+ */
private final static int BASELINE_MAX = 255;
-
- /** The Constant MAX. */
- private final static int MAX = 32767;
+ /**
+ * The Constant MAX.
+ */
+ private final static int MAX = 32767;
- /** The table. */
+ /**
+ * The table.
+ */
private int[] theTable;
/*
- * K1 & K2 tables can be found in the JPEG format specification
- * at http://www.w3.org/Graphics/JPEG/itu-t81.pdf
+ * K1 & K2 tables can be found in the JPEG format specification at
+ * http://www.w3.org/Graphics/JPEG/itu-t81.pdf
*/
- /** The Constant K1LumTable. */
+ /**
+ * The Constant K1LumTable.
+ */
private static final int[] K1LumTable = new int[] {
- 16, 11, 10, 16, 24, 40, 51, 61,
- 12, 12, 14, 19, 26, 58, 60, 55,
- 14, 13, 16, 24, 40, 57, 69, 56,
- 14, 17, 22, 29, 51, 87, 80, 62,
- 18, 22, 37, 56, 68, 109, 103, 77,
- 24, 35, 55, 64, 81, 104, 113, 92,
- 49, 64, 78, 87, 103, 121, 120, 101,
- 72, 92, 95, 98, 112, 100, 103, 99
+ 16, 11, 10, 16, 24, 40, 51, 61, 12, 12, 14, 19, 26, 58, 60, 55, 14, 13, 16, 24, 40, 57,
+ 69, 56, 14, 17, 22, 29, 51, 87, 80, 62, 18, 22, 37, 56, 68, 109, 103, 77, 24, 35, 55,
+ 64, 81, 104, 113, 92, 49, 64, 78, 87, 103, 121, 120, 101, 72, 92, 95, 98, 112, 100,
+ 103, 99
};
- /** The Constant K2ChrTable. */
+ /**
+ * The Constant K2ChrTable.
+ */
private static final int[] K2ChrTable = new int[] {
- 17, 18, 24, 47, 99, 99, 99, 99,
- 18, 21, 26, 66, 99, 99, 99, 99,
- 24, 26, 56, 99, 99, 99, 99, 99,
- 47, 66, 99, 99, 99, 99, 99, 99,
- 99, 99, 99, 99, 99, 99, 99, 99,
- 99, 99, 99, 99, 99, 99, 99, 99,
- 99, 99, 99, 99, 99, 99, 99, 99,
- 99, 99, 99, 99, 99, 99, 99, 99
+ 17, 18, 24, 47, 99, 99, 99, 99, 18, 21, 26, 66, 99, 99, 99, 99, 24, 26, 56, 99, 99, 99,
+ 99, 99, 47, 66, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99
};
- /**
- * The K1Luminance indicates standart table K.1 from JPEG
- * specification and produces "good" quality output.
+ /**
+ * The K1Luminance indicates standard table K.1 from JPEG specification and
+ * produces "good" quality output.
*/
public static final JPEGQTable K1Luminance = new JPEGQTable(K1LumTable);
-
- /**
- * The K1Div2Luminance indicates K.1 table from JPEG
- * specification with all elements divided by 2 and produces
- * "very good" quality output.
+
+ /**
+ * The K1Div2Luminance indicates K.1 table from JPEG specification with all
+ * elements divided by 2 and produces "very good" quality output.
*/
public static final JPEGQTable K1Div2Luminance = K1Luminance.getScaledInstance(0.5f, true);
-
- /**
- * The K2Chrominance indicates K.2 table from JPEG
- * specification and produces "good" quality output.
+
+ /**
+ * The K2Chrominance indicates K.2 table from JPEG specification and
+ * produces "good" quality output.
*/
public static final JPEGQTable K2Chrominance = new JPEGQTable(K2ChrTable);
-
- /**
+
+ /**
* The Constant K2Div2Chrominance indicates K.2 table from JPEG
- * specification with all elements divided by 2 and produces
- * "very good" quality output.
+ * specification with all elements divided by 2 and produces "very good"
+ * quality output.
*/
public static final JPEGQTable K2Div2Chrominance = K2Chrominance.getScaledInstance(0.5f, true);;
-
/**
- * Instantiates a new JPEGQTable from the array, which
- * should contain 64 elements in natural order.
+ * Instantiates a new JPEGQTable from the array, which should contain 64
+ * elements in natural order.
*
- * @param table the quantization table.
+ * @param table
+ * the quantization table.
*/
public JPEGQTable(int[] table) {
if (table == null) {
@@ -112,23 +116,22 @@ public class JPEGQTable {
}
/**
- * Gets the current quantization table as an array of int values.
+ * Gets the current quantization table as an array of integer values.
*
- * @return the current quantization table as an array of int values.
+ * @return the current quantization table as an array of integer values.
*/
public int[] getTable() {
return theTable.clone();
}
/**
- * Gets the scaled instance as quantization table where
- * the values are multiplied by the scaleFactor and then clamped
- * if forceBaseline is true.
- *
- * @param scaleFactor the scale factor of table.
- * @param forceBaseline the force baseline flag, the values
- * should be clamped if true.
+ * Gets the scaled instance as quantization table where the values are
+ * multiplied by the scaleFactor and then clamped if forceBaseline is true.
*
+ * @param scaleFactor
+ * the scale factor of table.
+ * @param forceBaseline
+ * the force baseline flag, the values should be clamped if true.
* @return the new quantization table.
*/
public JPEGQTable getScaledInstance(float scaleFactor, boolean forceBaseline) {
@@ -156,7 +159,7 @@ public class JPEGQTable {
*/
@Override
public String toString() {
- //-- TODO more informative info
+ // -- TODO more informative info
return "JPEGQTable";
}
}
diff --git a/awt/javax/imageio/plugins/jpeg/package.html b/awt/javax/imageio/plugins/jpeg/package.html
new file mode 100644
index 0000000..14575c4
--- /dev/null
+++ b/awt/javax/imageio/plugins/jpeg/package.html
@@ -0,0 +1,8 @@
+<html>
+ <body>
+ <p>
+ This package contains auxiliary classes for the built-in JPEG image plug-in.
+ </p>
+ @since Android 1.0
+ </body>
+</html>
diff --git a/awt/javax/imageio/spi/IIORegistry.java b/awt/javax/imageio/spi/IIORegistry.java
index 3c1c989..01ddeaa 100644
--- a/awt/javax/imageio/spi/IIORegistry.java
+++ b/awt/javax/imageio/spi/IIORegistry.java
@@ -18,6 +18,7 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.3 $
*/
+
package javax.imageio.spi;
import java.util.Arrays;
@@ -39,37 +40,41 @@ import org.apache.harmony.x.imageio.spi.RAFIOSSpi;
*/
/**
- * The IIORegistry class registers service provider instances
- * (SPI). Service provider instances are recognized by specific
- * meta-information in the JAR files containing them. The JAR
- * files with SPI classes are loaded from the application class
- * path.
+ * The IIORegistry class registers service provider instances (SPI). Service
+ * provider instances are recognized by specific meta-information in the JAR
+ * files containing them. The JAR files with SPI classes are loaded from the
+ * application class path.
+ *
+ * @since Android 1.0
*/
public final class IIORegistry extends ServiceRegistry {
- /** The instance. */
+ /**
+ * The instance.
+ */
private static IIORegistry instance;
- /** The Constant CATEGORIES. */
+ /**
+ * The Constant CATEGORIES.
+ */
private static final Class[] CATEGORIES = new Class[] {
- javax.imageio.spi.ImageWriterSpi.class,
- javax.imageio.spi.ImageReaderSpi.class,
- javax.imageio.spi.ImageInputStreamSpi.class,
- //javax.imageio.spi.ImageTranscoderSpi.class,
- javax.imageio.spi.ImageOutputStreamSpi.class
+ javax.imageio.spi.ImageWriterSpi.class, javax.imageio.spi.ImageReaderSpi.class,
+ javax.imageio.spi.ImageInputStreamSpi.class,
+ // javax.imageio.spi.ImageTranscoderSpi.class,
+ javax.imageio.spi.ImageOutputStreamSpi.class
};
/**
- * Instantiates a new iIO registry.
+ * Instantiates a new IIO registry.
*/
private IIORegistry() {
- super(Arrays.<Class<?>>asList(CATEGORIES).iterator());
+ super(Arrays.<Class<?>> asList(CATEGORIES).iterator());
registerBuiltinSpis();
registerApplicationClasspathSpis();
}
/**
- * Register builtin spis.
+ * Register built-in SPIs.
*/
private void registerBuiltinSpis() {
registerServiceProvider(new JPEGImageWriterSpi());
@@ -80,9 +85,9 @@ public final class IIORegistry extends ServiceRegistry {
registerServiceProvider(new FileIISSpi());
registerServiceProvider(new RAFIOSSpi());
registerServiceProvider(new RAFIISSpi());
- registerServiceProvider(new OutputStreamIOSSpi());
+ registerServiceProvider(new OutputStreamIOSSpi());
registerServiceProvider(new InputStreamIISSpi());
- //-- TODO implement
+ // -- TODO implement
}
/**
@@ -91,7 +96,8 @@ public final class IIORegistry extends ServiceRegistry {
* @return the default IIORegistry instance.
*/
public static IIORegistry getDefaultInstance() {
- // TODO implement own instance for each ThreadGroup (see also ThreadLocal)
+ // TODO implement own instance for each ThreadGroup (see also
+ // ThreadLocal)
synchronized (IIORegistry.class) {
if (instance == null) {
instance = new IIORegistry();
@@ -101,10 +107,9 @@ public final class IIORegistry extends ServiceRegistry {
}
/**
- * Registers all service providers from the application class
- * path.
+ * Registers all service providers from the application class path.
*/
public void registerApplicationClasspathSpis() {
- //-- TODO implement for non-builtin plugins
+ // -- TODO implement for non-builtin plugins
}
}
diff --git a/awt/javax/imageio/spi/IIOServiceProvider.java b/awt/javax/imageio/spi/IIOServiceProvider.java
index f5873bf..e947677 100644
--- a/awt/javax/imageio/spi/IIOServiceProvider.java
+++ b/awt/javax/imageio/spi/IIOServiceProvider.java
@@ -18,27 +18,36 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.3 $
*/
+
package javax.imageio.spi;
import java.util.Locale;
/**
- * The IIOServiceProvider abstract class provides base functionality
- * for imageio service provider interfaces (SPIs).
+ * The IIOServiceProvider abstract class provides base functionality for ImageIO
+ * service provider interfaces (SPIs).
+ *
+ * @since Android 1.0
*/
public abstract class IIOServiceProvider implements RegisterableService {
- /** The vendor name of this service provider. */
+ /**
+ * The vendor name of this service provider.
+ */
protected String vendorName;
-
- /** The version of this service provider. */
+
+ /**
+ * The version of this service provider.
+ */
protected String version;
/**
* Instantiates a new IIOServiceProvider.
*
- * @param vendorName the vendor name of service provider.
- * @param version the version of service provider.
+ * @param vendorName
+ * the vendor name of service provider.
+ * @param version
+ * the version of service provider.
*/
public IIOServiceProvider(String vendorName, String version) {
if (vendorName == null) {
@@ -85,12 +94,11 @@ public abstract class IIOServiceProvider implements RegisterableService {
}
/**
- * Gets a description of this service provider.
- * The result string should be localized for the specified
- * Locale.
- *
- * @param locale the specified Locale.
+ * Gets a description of this service provider. The result string should be
+ * localized for the specified Locale.
*
+ * @param locale
+ * the specified Locale.
* @return the description of this service provider.
*/
public abstract String getDescription(Locale locale);
diff --git a/awt/javax/imageio/spi/ImageInputStreamSpi.java b/awt/javax/imageio/spi/ImageInputStreamSpi.java
index 47d210a..fc859a8 100644
--- a/awt/javax/imageio/spi/ImageInputStreamSpi.java
+++ b/awt/javax/imageio/spi/ImageInputStreamSpi.java
@@ -18,6 +18,7 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.3 $
*/
+
package javax.imageio.spi;
import java.io.File;
@@ -25,13 +26,16 @@ import java.io.IOException;
import javax.imageio.stream.ImageInputStream;
/**
- * The ImageInputStreamSpi abstract class is a service provider
- * interface (SPI) for ImageInputStreams.
+ * The ImageInputStreamSpi abstract class is a service provider interface (SPI)
+ * for ImageInputStreams.
+ *
+ * @since Android 1.0
*/
-public abstract class ImageInputStreamSpi extends IIOServiceProvider implements
- RegisterableService {
-
- /** The input class. */
+public abstract class ImageInputStreamSpi extends IIOServiceProvider implements RegisterableService {
+
+ /**
+ * The input class.
+ */
protected Class<?> inputClass;
/**
@@ -44,9 +48,12 @@ public abstract class ImageInputStreamSpi extends IIOServiceProvider implements
/**
* Instantiates a new ImageInputStreamSpi.
*
- * @param vendorName the vendor name.
- * @param version the version.
- * @param inputClass the input class.
+ * @param vendorName
+ * the vendor name.
+ * @param version
+ * the version.
+ * @param inputClass
+ * the input class.
*/
public ImageInputStreamSpi(String vendorName, String version, Class<?> inputClass) {
super(vendorName, version);
@@ -54,8 +61,8 @@ public abstract class ImageInputStreamSpi extends IIOServiceProvider implements
}
/**
- * Gets an input Class object that represents class or
- * interface that must be implemented by an input source.
+ * Gets an input Class object that represents class or interface that must
+ * be implemented by an input source.
*
* @return the input class.
*/
@@ -64,61 +71,59 @@ public abstract class ImageInputStreamSpi extends IIOServiceProvider implements
}
/**
- * Returns true if the ImageInputStream can use a cache
- * file. If this method returns false, the value of the
- * useCache parameter of createInputStreamInstance will
- * be ignored. The default implementation returns false.
+ * Returns true if the ImageInputStream can use a cache file. If this method
+ * returns false, the value of the useCache parameter of
+ * createInputStreamInstance will be ignored. The default implementation
+ * returns false.
*
- * @return true if the ImageInputStream can use a cache
- * file, false otherwise.
+ * @return true, if the ImageInputStream can use a cache file, false
+ * otherwise.
*/
public boolean canUseCacheFile() {
- return false; //-- def
+ return false; // -- def
}
/**
- * Returns true if the ImageInputStream implementation
- * requires the use of a cache file. The default implementation
- * returns false.
+ * Returns true if the ImageInputStream implementation requires the use of a
+ * cache file. The default implementation returns false.
*
- * @return true if the ImageInputStream implementation
- * requires the use of a cache file, false otherwise.
+ * @return true, if the ImageInputStream implementation requires the use of
+ * a cache file, false otherwise.
*/
public boolean needsCacheFile() {
return false; // def
}
/**
- * Creates the ImageInputStream associated with this
- * service provider. The input object should
- * be an instance of the class returned by th getInputClass
- * method. This method uses the specified directory
- * for the cache file if the useCache parameter is true.
- *
- * @param input the input Object.
- * @param useCache the flag indicating if a cache file
- * is needed or not.
- * @param cacheDir the cache directory.
+ * Creates the ImageInputStream associated with this service provider. The
+ * input object should be an instance of the class returned by the
+ * getInputClass method. This method uses the specified directory for the
+ * cache file if the useCache parameter is true.
*
+ * @param input
+ * the input Object.
+ * @param useCache
+ * the flag indicating if a cache file is needed or not.
+ * @param cacheDir
+ * the cache directory.
* @return the ImageInputStream.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public abstract ImageInputStream createInputStreamInstance(Object input, boolean useCache,
File cacheDir) throws IOException;
/**
- * Creates the ImageInputStream associated with this
- * service provider. The input object should
- * be an instance of the class returned by getInputClass
- * method. This method uses the default system directory
- * for the cache file, if it is needed.
- *
- * @param input the input Object.
+ * Creates the ImageInputStream associated with this service provider. The
+ * input object should be an instance of the class returned by getInputClass
+ * method. This method uses the default system directory for the cache file,
+ * if it is needed.
*
+ * @param input
+ * the input Object.
* @return the ImageInputStream.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public ImageInputStream createInputStreamInstance(Object input) throws IOException {
return createInputStreamInstance(input, true, null);
diff --git a/awt/javax/imageio/spi/ImageOutputStreamSpi.java b/awt/javax/imageio/spi/ImageOutputStreamSpi.java
index d45e24c..b7a9a5c 100644
--- a/awt/javax/imageio/spi/ImageOutputStreamSpi.java
+++ b/awt/javax/imageio/spi/ImageOutputStreamSpi.java
@@ -18,6 +18,7 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.3 $
*/
+
package javax.imageio.spi;
import javax.imageio.stream.ImageOutputStream;
@@ -25,13 +26,17 @@ import java.io.IOException;
import java.io.File;
/**
- * The ImageOutputStreamSpi abstract class is a service provider
- * interface (SPI) for ImageOutputStreams.
+ * The ImageOutputStreamSpi abstract class is a service provider interface (SPI)
+ * for ImageOutputStreams.
+ *
+ * @since Android 1.0
*/
public abstract class ImageOutputStreamSpi extends IIOServiceProvider implements
RegisterableService {
-
- /** The output class. */
+
+ /**
+ * The output class.
+ */
protected Class<?> outputClass;
/**
@@ -44,9 +49,12 @@ public abstract class ImageOutputStreamSpi extends IIOServiceProvider implements
/**
* Instantiates a new ImageOutputStreamSpi.
*
- * @param vendorName the vendor name.
- * @param version the version.
- * @param outputClass the output class.
+ * @param vendorName
+ * the vendor name.
+ * @param version
+ * the version.
+ * @param outputClass
+ * the output class.
*/
public ImageOutputStreamSpi(String vendorName, String version, Class<?> outputClass) {
super(vendorName, version);
@@ -54,8 +62,8 @@ public abstract class ImageOutputStreamSpi extends IIOServiceProvider implements
}
/**
- * Gets an output Class object that represents the class or
- * interface that must be implemented by an output source.
+ * Gets an output Class object that represents the class or interface that
+ * must be implemented by an output source.
*
* @return the output class.
*/
@@ -64,63 +72,61 @@ public abstract class ImageOutputStreamSpi extends IIOServiceProvider implements
}
/**
- * Returns true if the ImageOutputStream can use a cache
- * file. If this method returns false, the value of the
- * useCache parameter of createOutputStreamInstance will
- * be ignored. The default implementation returns false.
+ * Returns true if the ImageOutputStream can use a cache file. If this
+ * method returns false, the value of the useCache parameter of
+ * createOutputStreamInstance will be ignored. The default implementation
+ * returns false.
*
- * @return true if the ImageOutputStream can use a cache
- * file, false otherwise.
+ * @return true, if the ImageOutputStream can use a cache file, false
+ * otherwise.
*/
public boolean canUseCacheFile() {
return false; // def
}
/**
- * Returns true if the ImageOutputStream implementation
- * requires the use of a cache file. The default implementation
- * returns false.
+ * Returns true if the ImageOutputStream implementation requires the use of
+ * a cache file. The default implementation returns false.
*
- * @return true if the ImageOutputStream implementation
- * requires the use of a cache file, false otherwise.
+ * @return true, if the ImageOutputStream implementation requires the use of
+ * a cache file, false otherwise.
*/
public boolean needsCacheFile() {
return false; // def
}
/**
- * Creates the ImageOutputStream associated with this
- * service provider. The output object should
- * be an instance of the class returned by getOutputClass
- * method. This method uses the default system directory
- * for the cache file, if it is needed.
- *
- * @param output the output Object.
+ * Creates the ImageOutputStream associated with this service provider. The
+ * output object should be an instance of the class returned by
+ * getOutputClass method. This method uses the default system directory for
+ * the cache file, if it is needed.
*
+ * @param output
+ * the output Object.
* @return the ImageOutputStream.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public ImageOutputStream createOutputStreamInstance(Object output) throws IOException {
return createOutputStreamInstance(output, true, null);
}
/**
- * Creates the ImageOutputStream associated with this
- * service provider. The output object should
- * be an instance of the class returned by getInputClass
- * method. This method uses the specified directory
- * for the cache file, if the useCache parameter is true.
- *
- * @param output the output Object.
- * @param useCache the flag indicating if cache file
- * is needed or not.
- * @param cacheDir the cache directory.
+ * Creates the ImageOutputStream associated with this service provider. The
+ * output object should be an instance of the class returned by
+ * getInputClass method. This method uses the specified directory for the
+ * cache file, if the useCache parameter is true.
*
+ * @param output
+ * the output Object.
+ * @param useCache
+ * the flag indicating if cache file is needed or not.
+ * @param cacheDir
+ * the cache directory.
* @return the ImageOutputStream.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
- public abstract ImageOutputStream createOutputStreamInstance(Object output,
- boolean useCache, File cacheDir) throws IOException;
+ public abstract ImageOutputStream createOutputStreamInstance(Object output, boolean useCache,
+ File cacheDir) throws IOException;
}
diff --git a/awt/javax/imageio/spi/ImageReaderSpi.java b/awt/javax/imageio/spi/ImageReaderSpi.java
index 2e2484c..0528d25 100644
--- a/awt/javax/imageio/spi/ImageReaderSpi.java
+++ b/awt/javax/imageio/spi/ImageReaderSpi.java
@@ -18,6 +18,7 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.3 $
*/
+
package javax.imageio.spi;
import javax.imageio.stream.ImageInputStream;
@@ -25,20 +26,28 @@ import javax.imageio.ImageReader;
import java.io.IOException;
/**
- * The ImageReaderSpi abstract class is a service provider
- * interface (SPI) for ImageReaders.
+ * The ImageReaderSpi abstract class is a service provider interface (SPI) for
+ * ImageReaders.
+ *
+ * @since Android 1.0
*/
public abstract class ImageReaderSpi extends ImageReaderWriterSpi {
- /**
- * The STANDARD_INPUT_TYPE contains ImageInputStream.class.
+ /**
+ * The STANDARD_INPUT_TYPE contains ImageInputStream.class.
*/
- public static final Class[] STANDARD_INPUT_TYPE = new Class[] {ImageInputStream.class};
+ public static final Class[] STANDARD_INPUT_TYPE = new Class[] {
+ ImageInputStream.class
+ };
- /** The input types. */
+ /**
+ * The input types.
+ */
protected Class[] inputTypes;
-
- /** The writer SPI names. */
+
+ /**
+ * The writer SPI names.
+ */
protected String[] writerSpiNames;
/**
@@ -51,49 +60,62 @@ public abstract class ImageReaderSpi extends ImageReaderWriterSpi {
/**
* Instantiates a new ImageReaderSpi.
*
- * @param vendorName the vendor name.
- * @param version the version.
- * @param names the format names.
- * @param suffixes the array of strings representing the file suffixes.
- * @param MIMETypes the an array of strings representing MIME types.
- * @param pluginClassName the plugin class name.
- * @param inputTypes the input types.
- * @param writerSpiNames the array of strings with class names of all
- * associated ImageWriters.
- * @param supportsStandardStreamMetadataFormat the value indicating
- * if stream metadata can be described by standart metadata format.
- * @param nativeStreamMetadataFormatName the native stream metadata
- * format name, returned by getNativeStreamMetadataFormatName.
- * @param nativeStreamMetadataFormatClassName the native stream
- * metadata format class name, returned by getNativeStreamMetadataFormat.
- * @param extraStreamMetadataFormatNames the extra stream metadata
- * format names, returned by getExtraStreamMetadataFormatNames.
- * @param extraStreamMetadataFormatClassNames the extra stream metadata
- * format class names, returned by getStreamMetadataFormat.
- * @param supportsStandardImageMetadataFormat the value indicating
- * if image metadata can be described by standart metadata format.
- * @param nativeImageMetadataFormatName the native image metadata
- * format name, returned by getNativeImageMetadataFormatName.
- * @param nativeImageMetadataFormatClassName the native image
- * metadata format class name, returned by getNativeImageMetadataFormat.
- * @param extraImageMetadataFormatNames the extra image metadata
- * format names, returned by getExtraImageMetadataFormatNames.
- * @param extraImageMetadataFormatClassNames the extra image metadata
- * format class names, returned by getImageMetadataFormat.
+ * @param vendorName
+ * the vendor name.
+ * @param version
+ * the version.
+ * @param names
+ * the format names.
+ * @param suffixes
+ * the array of strings representing the file suffixes.
+ * @param MIMETypes
+ * the an array of strings representing MIME types.
+ * @param pluginClassName
+ * the plug-in class name.
+ * @param inputTypes
+ * the input types.
+ * @param writerSpiNames
+ * the array of strings with class names of all associated
+ * ImageWriters.
+ * @param supportsStandardStreamMetadataFormat
+ * the value indicating if stream metadata can be described by
+ * standard metadata format.
+ * @param nativeStreamMetadataFormatName
+ * the native stream metadata format name, returned by
+ * getNativeStreamMetadataFormatName.
+ * @param nativeStreamMetadataFormatClassName
+ * the native stream metadata format class name, returned by
+ * getNativeStreamMetadataFormat.
+ * @param extraStreamMetadataFormatNames
+ * the extra stream metadata format names, returned by
+ * getExtraStreamMetadataFormatNames.
+ * @param extraStreamMetadataFormatClassNames
+ * the extra stream metadata format class names, returned by
+ * getStreamMetadataFormat.
+ * @param supportsStandardImageMetadataFormat
+ * the value indicating if image metadata can be described by
+ * standard metadata format.
+ * @param nativeImageMetadataFormatName
+ * the native image metadata format name, returned by
+ * getNativeImageMetadataFormatName.
+ * @param nativeImageMetadataFormatClassName
+ * the native image metadata format class name, returned by
+ * getNativeImageMetadataFormat.
+ * @param extraImageMetadataFormatNames
+ * the extra image metadata format names, returned by
+ * getExtraImageMetadataFormatNames.
+ * @param extraImageMetadataFormatClassNames
+ * the extra image metadata format class names, returned by
+ * getImageMetadataFormat.
*/
public ImageReaderSpi(String vendorName, String version, String[] names, String[] suffixes,
- String[] MIMETypes, String pluginClassName,
- Class[] inputTypes, String[] writerSpiNames,
- boolean supportsStandardStreamMetadataFormat,
- String nativeStreamMetadataFormatName,
- String nativeStreamMetadataFormatClassName,
- String[] extraStreamMetadataFormatNames,
- String[] extraStreamMetadataFormatClassNames,
- boolean supportsStandardImageMetadataFormat,
- String nativeImageMetadataFormatName,
- String nativeImageMetadataFormatClassName,
- String[] extraImageMetadataFormatNames,
- String[] extraImageMetadataFormatClassNames) {
+ String[] MIMETypes, String pluginClassName, Class[] inputTypes,
+ String[] writerSpiNames, boolean supportsStandardStreamMetadataFormat,
+ String nativeStreamMetadataFormatName, String nativeStreamMetadataFormatClassName,
+ String[] extraStreamMetadataFormatNames, String[] extraStreamMetadataFormatClassNames,
+ boolean supportsStandardImageMetadataFormat, String nativeImageMetadataFormatName,
+ String nativeImageMetadataFormatClassName, String[] extraImageMetadataFormatNames,
+ String[] extraImageMetadataFormatClassNames) {
super(vendorName, version, names, suffixes, MIMETypes, pluginClassName,
supportsStandardStreamMetadataFormat, nativeStreamMetadataFormatName,
nativeStreamMetadataFormatClassName, extraStreamMetadataFormatNames,
@@ -109,8 +131,8 @@ public abstract class ImageReaderSpi extends ImageReaderWriterSpi {
}
/**
- * Gets an array of Class objects whose types can be used
- * as input for this reader.
+ * Gets an array of Class objects whose types can be used as input for this
+ * reader.
*
* @return the input types.
*/
@@ -119,66 +141,62 @@ public abstract class ImageReaderSpi extends ImageReaderWriterSpi {
}
/**
- * Returns true if the format of source object is
- * supported by this reader.
+ * Returns true if the format of source object is supported by this reader.
*
- * @param source the source object to be decoded
- * (for example an ImageInputStream).
- *
- * @return true if the format of source object is
- * supported by this reader, false otherwise.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param source
+ * the source object to be decoded (for example an
+ * ImageInputStream).
+ * @return true, if the format of source object is supported by this reader,
+ * false otherwise.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public abstract boolean canDecodeInput(Object source) throws IOException;
/**
- * Returns an instance of the ImageReader implementation for
- * this service provider.
+ * Returns an instance of the ImageReader implementation for this service
+ * provider.
*
* @return the ImageReader.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public ImageReader createReaderInstance() throws IOException {
return createReaderInstance(null);
}
/**
- * Returns an instance of the ImageReader implementation for
- * this service provider.
- *
- * @param extension the a plugin specific extension object, or null.
+ * Returns an instance of the ImageReader implementation for this service
+ * provider.
*
+ * @param extension
+ * the a plug-in specific extension object, or null.
* @return the ImageReader.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public abstract ImageReader createReaderInstance(Object extension) throws IOException;
/**
- * Checks whether or not the specified ImageReader object
- * is an instance of the ImageReader associated with this
- * service provider or not.
- *
- * @param reader the ImageReader.
+ * Checks whether or not the specified ImageReader object is an instance of
+ * the ImageReader associated with this service provider or not.
*
- * @return true, if the specified ImageReader object
- * is an instance of the ImageReader associated with this
- * service provider, false otherwise.
+ * @param reader
+ * the ImageReader.
+ * @return true, if the specified ImageReader object is an instance of the
+ * ImageReader associated with this service provider, false
+ * otherwise.
*/
public boolean isOwnReader(ImageReader reader) {
throw new UnsupportedOperationException("Not supported yet");
}
/**
- * Gets an array of strings with names of the ImageWriterSpi
- * classes that support the internal metadata representation
- * used by the ImageReader of this service provider, or null if
- * there are no such ImageWriters.
+ * Gets an array of strings with names of the ImageWriterSpi classes that
+ * support the internal metadata representation used by the ImageReader of
+ * this service provider, or null if there are no such ImageWriters.
*
- * @return an array of strings with names of the ImageWriterSpi
- * classes.
+ * @return the array of strings with names of the ImageWriterSpi classes.
*/
public String[] getImageWriterSpiNames() {
throw new UnsupportedOperationException("Not supported yet");
diff --git a/awt/javax/imageio/spi/ImageReaderWriterSpi.java b/awt/javax/imageio/spi/ImageReaderWriterSpi.java
index b3c0f92..9ca08b5 100644
--- a/awt/javax/imageio/spi/ImageReaderWriterSpi.java
+++ b/awt/javax/imageio/spi/ImageReaderWriterSpi.java
@@ -18,6 +18,7 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.3 $
*/
+
package javax.imageio.spi;
import org.apache.harmony.x.imageio.metadata.IIOMetadataUtils;
@@ -25,97 +26,138 @@ import org.apache.harmony.x.imageio.metadata.IIOMetadataUtils;
import javax.imageio.metadata.IIOMetadataFormat;
/**
- * The ImageReaderWriterSpi class is a superclass for the
- * ImageReaderSpi and ImageWriterSpi SPIs.
+ * The ImageReaderWriterSpi class is a superclass for the ImageReaderSpi and
+ * ImageWriterSpi SPIs.
+ *
+ * @since Android 1.0
*/
-public abstract class ImageReaderWriterSpi extends IIOServiceProvider
- implements RegisterableService {
+public abstract class ImageReaderWriterSpi extends IIOServiceProvider implements
+ RegisterableService {
- /** The names. */
+ /**
+ * The names.
+ */
protected String[] names;
-
- /** The suffixes. */
+
+ /**
+ * The suffixes.
+ */
protected String[] suffixes;
-
- /** The MIME types. */
+
+ /**
+ * The MIME types.
+ */
protected String[] MIMETypes;
-
- /** The plugin class name. */
+
+ /**
+ * The plug-in class name.
+ */
protected String pluginClassName;
-
- /** Whether the reader/writer supports standard stream metadata format. */
+
+ /**
+ * Whether the reader/writer supports standard stream metadata format.
+ */
protected boolean supportsStandardStreamMetadataFormat;
-
- /** The native stream metadata format name. */
+
+ /**
+ * The native stream metadata format name.
+ */
protected String nativeStreamMetadataFormatName;
-
- /** The native stream metadata format class name. */
+
+ /**
+ * The native stream metadata format class name.
+ */
protected String nativeStreamMetadataFormatClassName;
-
- /** The extra stream metadata format names. */
+
+ /**
+ * The extra stream metadata format names.
+ */
protected String[] extraStreamMetadataFormatNames;
-
- /** The extra stream metadata format class names. */
+
+ /**
+ * The extra stream metadata format class names.
+ */
protected String[] extraStreamMetadataFormatClassNames;
-
- /** Whether the reader/writer supports standard image metadata format. */
+
+ /**
+ * Whether the reader/writer supports standard image metadata format.
+ */
protected boolean supportsStandardImageMetadataFormat;
-
- /** The native image metadata format name. */
+
+ /**
+ * The native image metadata format name.
+ */
protected String nativeImageMetadataFormatName;
-
- /** The native image metadata format class name. */
+
+ /**
+ * The native image metadata format class name.
+ */
protected String nativeImageMetadataFormatClassName;
-
- /** The extra image metadata format names. */
+
+ /**
+ * The extra image metadata format names.
+ */
protected String[] extraImageMetadataFormatNames;
-
- /** The extra image metadata format class names. */
+
+ /**
+ * The extra image metadata format class names.
+ */
protected String[] extraImageMetadataFormatClassNames;
/**
* Instantiates a new ImageReaderWriterSpi.
*
- * @param vendorName the vendor name.
- * @param version the version.
- * @param names the format names.
- * @param suffixes the array of strings representing the file suffixes.
- * @param MIMETypes the an array of strings representing MIME types.
- * @param pluginClassName the plugin class name.
- * @param supportsStandardStreamMetadataFormat the value indicating
- * if stream metadata can be described by standart metadata format.
- * @param nativeStreamMetadataFormatName the native stream metadata
- * format name, returned by getNativeStreamMetadataFormatName.
- * @param nativeStreamMetadataFormatClassName the native stream
- * metadata format class name, returned by getNativeStreamMetadataFormat.
- * @param extraStreamMetadataFormatNames the extra stream metadata
- * format names, returned by getExtraStreamMetadataFormatNames.
- * @param extraStreamMetadataFormatClassNames the extra stream metadata
- * format class names, returned by getStreamMetadataFormat.
- * @param supportsStandardImageMetadataFormat the value indicating
- * if image metadata can be described by standard metadata format.
- * @param nativeImageMetadataFormatName the native image metadata
- * format name, returned by getNativeImageMetadataFormatName.
- * @param nativeImageMetadataFormatClassName the native image
- * metadata format class name, returned by getNativeImageMetadataFormat.
- * @param extraImageMetadataFormatNames the extra image metadata
- * format names, returned by getExtraImageMetadataFormatNames.
- * @param extraImageMetadataFormatClassNames the extra image metadata
- * format class names, returned by getImageMetadataFormat.
+ * @param vendorName
+ * the vendor name.
+ * @param version
+ * the version.
+ * @param names
+ * the format names.
+ * @param suffixes
+ * the array of strings representing the file suffixes.
+ * @param MIMETypes
+ * the an array of strings representing MIME types.
+ * @param pluginClassName
+ * the plug-in class name.
+ * @param supportsStandardStreamMetadataFormat
+ * the value indicating if stream metadata can be described by
+ * standard metadata format.
+ * @param nativeStreamMetadataFormatName
+ * the native stream metadata format name, returned by
+ * getNativeStreamMetadataFormatName.
+ * @param nativeStreamMetadataFormatClassName
+ * the native stream metadata format class name, returned by
+ * getNativeStreamMetadataFormat.
+ * @param extraStreamMetadataFormatNames
+ * the extra stream metadata format names, returned by
+ * getExtraStreamMetadataFormatNames.
+ * @param extraStreamMetadataFormatClassNames
+ * the extra stream metadata format class names, returned by
+ * getStreamMetadataFormat.
+ * @param supportsStandardImageMetadataFormat
+ * the value indicating if image metadata can be described by
+ * standard metadata format.
+ * @param nativeImageMetadataFormatName
+ * the native image metadata format name, returned by
+ * getNativeImageMetadataFormatName.
+ * @param nativeImageMetadataFormatClassName
+ * the native image metadata format class name, returned by
+ * getNativeImageMetadataFormat.
+ * @param extraImageMetadataFormatNames
+ * the extra image metadata format names, returned by
+ * getExtraImageMetadataFormatNames.
+ * @param extraImageMetadataFormatClassNames
+ * the extra image metadata format class names, returned by
+ * getImageMetadataFormat.
*/
public ImageReaderWriterSpi(String vendorName, String version, String[] names,
- String[] suffixes, String[] MIMETypes,
- String pluginClassName,
- boolean supportsStandardStreamMetadataFormat,
- String nativeStreamMetadataFormatName,
- String nativeStreamMetadataFormatClassName,
- String[] extraStreamMetadataFormatNames,
- String[] extraStreamMetadataFormatClassNames,
- boolean supportsStandardImageMetadataFormat,
- String nativeImageMetadataFormatName,
- String nativeImageMetadataFormatClassName,
- String[] extraImageMetadataFormatNames,
- String[] extraImageMetadataFormatClassNames) {
+ String[] suffixes, String[] MIMETypes, String pluginClassName,
+ boolean supportsStandardStreamMetadataFormat, String nativeStreamMetadataFormatName,
+ String nativeStreamMetadataFormatClassName, String[] extraStreamMetadataFormatNames,
+ String[] extraStreamMetadataFormatClassNames,
+ boolean supportsStandardImageMetadataFormat, String nativeImageMetadataFormatName,
+ String nativeImageMetadataFormatClassName, String[] extraImageMetadataFormatNames,
+ String[] extraImageMetadataFormatClassNames) {
super(vendorName, version);
if (names == null || names.length == 0) {
@@ -137,60 +179,54 @@ public abstract class ImageReaderWriterSpi extends IIOServiceProvider
this.nativeStreamMetadataFormatName = nativeStreamMetadataFormatName;
this.nativeStreamMetadataFormatClassName = nativeStreamMetadataFormatClassName;
- this.extraStreamMetadataFormatNames =
- extraStreamMetadataFormatNames == null ?
- null : extraStreamMetadataFormatNames.clone();
+ this.extraStreamMetadataFormatNames = extraStreamMetadataFormatNames == null ? null
+ : extraStreamMetadataFormatNames.clone();
- this.extraStreamMetadataFormatClassNames =
- extraStreamMetadataFormatClassNames == null ?
- null : extraStreamMetadataFormatClassNames.clone();
+ this.extraStreamMetadataFormatClassNames = extraStreamMetadataFormatClassNames == null ? null
+ : extraStreamMetadataFormatClassNames.clone();
this.supportsStandardImageMetadataFormat = supportsStandardImageMetadataFormat;
this.nativeImageMetadataFormatName = nativeImageMetadataFormatName;
this.nativeImageMetadataFormatClassName = nativeImageMetadataFormatClassName;
- this.extraImageMetadataFormatNames =
- extraImageMetadataFormatNames == null ?
- null : extraImageMetadataFormatNames.clone();
+ this.extraImageMetadataFormatNames = extraImageMetadataFormatNames == null ? null
+ : extraImageMetadataFormatNames.clone();
- this.extraImageMetadataFormatClassNames =
- extraImageMetadataFormatClassNames == null ?
- null : extraImageMetadataFormatClassNames.clone();
+ this.extraImageMetadataFormatClassNames = extraImageMetadataFormatClassNames == null ? null
+ : extraImageMetadataFormatClassNames.clone();
}
/**
* Instantiates a new ImageReaderWriterSpi.
*/
- public ImageReaderWriterSpi() {}
+ public ImageReaderWriterSpi() {
+ }
/**
- * Gets an array of strings representing names of the formats
- * that can be used by the ImageReader
- * or ImageWriter implementation associated with this service
- * provider.
+ * Gets an array of strings representing names of the formats that can be
+ * used by the ImageReader or ImageWriter implementation associated with
+ * this service provider.
*
- * @return an array of supported format names.
+ * @return the array of supported format names.
*/
public String[] getFormatNames() {
return names.clone();
}
/**
- * Gets an array of strings representing file suffixes
- * associated with the formats that can be used by the
- * ImageReader or ImageWriter implementation of this
- * service provider.
+ * Gets an array of strings representing file suffixes associated with the
+ * formats that can be used by the ImageReader or ImageWriter implementation
+ * of this service provider.
*
- * @return an array of file suffixes.
+ * @return the array of file suffixes.
*/
public String[] getFileSuffixes() {
return suffixes == null ? null : suffixes.clone();
}
/**
- * Gets an array of strings with the names of
- * additional formats of the image metadata objects
- * produced or consumed by this plug-in.
+ * Gets an array of strings with the names of additional formats of the
+ * image metadata objects produced or consumed by this plug-in.
*
* @return the array of extra image metadata format names.
*/
@@ -199,52 +235,49 @@ public abstract class ImageReaderWriterSpi extends IIOServiceProvider
}
/**
- * Gets an array of strings with the names of
- * additional formats of the stream metadata objects
- * produced or consumed by this plug-in.
+ * Gets an array of strings with the names of additional formats of the
+ * stream metadata objects produced or consumed by this plug-in.
*
* @return the array of extra stream metadata format names.
*/
public String[] getExtraStreamMetadataFormatNames() {
- return extraStreamMetadataFormatNames == null ? null : extraStreamMetadataFormatNames.clone();
+ return extraStreamMetadataFormatNames == null ? null : extraStreamMetadataFormatNames
+ .clone();
}
/**
- * Gets an IIOMetadataFormat object for the specified image
- * metadata format name.
- *
- * @param formatName the format name.
+ * Gets an IIOMetadataFormat object for the specified image metadata format
+ * name.
*
+ * @param formatName
+ * the format name.
* @return the IIOMetadataFormat, or null.
*/
public IIOMetadataFormat getImageMetadataFormat(String formatName) {
- return IIOMetadataUtils.instantiateMetadataFormat(
- formatName, supportsStandardImageMetadataFormat,
- nativeImageMetadataFormatName, nativeImageMetadataFormatClassName,
- extraImageMetadataFormatNames, extraImageMetadataFormatClassNames
- );
+ return IIOMetadataUtils.instantiateMetadataFormat(formatName,
+ supportsStandardImageMetadataFormat, nativeImageMetadataFormatName,
+ nativeImageMetadataFormatClassName, extraImageMetadataFormatNames,
+ extraImageMetadataFormatClassNames);
}
/**
- * Gets an IIOMetadataFormat object for the specified stream
- * metadata format name.
- *
- * @param formatName the format name.
+ * Gets an IIOMetadataFormat object for the specified stream metadata format
+ * name.
*
+ * @param formatName
+ * the format name.
* @return the IIOMetadataFormat, or null.
*/
public IIOMetadataFormat getStreamMetadataFormat(String formatName) {
- return IIOMetadataUtils.instantiateMetadataFormat(
- formatName, supportsStandardStreamMetadataFormat,
- nativeStreamMetadataFormatName, nativeStreamMetadataFormatClassName,
- extraStreamMetadataFormatNames, extraStreamMetadataFormatClassNames
- );
+ return IIOMetadataUtils.instantiateMetadataFormat(formatName,
+ supportsStandardStreamMetadataFormat, nativeStreamMetadataFormatName,
+ nativeStreamMetadataFormatClassName, extraStreamMetadataFormatNames,
+ extraStreamMetadataFormatClassNames);
}
/**
- * Gets an array of strings representing the MIME types
- * of the formats that are supported by the
- * ImageReader or ImageWriter implementation of this
+ * Gets an array of strings representing the MIME types of the formats that
+ * are supported by the ImageReader or ImageWriter implementation of this
* service provider.
*
* @return the array MIME types.
@@ -254,32 +287,30 @@ public abstract class ImageReaderWriterSpi extends IIOServiceProvider
}
/**
- * Gets the name of the native image metadata format for
- * this reader/writer, which allows for lossless encoding
- * or decoding of the image metadata with the format.
+ * Gets the name of the native image metadata format for this reader/writer,
+ * which allows for lossless encoding or decoding of the image metadata with
+ * the format.
*
- * @return the string with native image metadata format name,
- * or null.
+ * @return the string with native image metadata format name, or null.
*/
public String getNativeImageMetadataFormatName() {
return nativeImageMetadataFormatName;
}
/**
- * Gets the name of the native stream metadata format for
- * this reader/writer, which allows for lossless encoding
- * or decoding of the stream metadata with the format.
+ * Gets the name of the native stream metadata format for this
+ * reader/writer, which allows for lossless encoding or decoding of the
+ * stream metadata with the format.
*
- * @return the string with native stream metadata format name,
- * or null.
+ * @return the string with native stream metadata format name, or null.
*/
public String getNativeStreamMetadataFormatName() {
return nativeStreamMetadataFormatName;
}
/**
- * Gets the class name of the ImageReader
- * or ImageWriter associated with this service provider.
+ * Gets the class name of the ImageReader or ImageWriter associated with
+ * this service provider.
*
* @return the class name.
*/
@@ -288,26 +319,24 @@ public abstract class ImageReaderWriterSpi extends IIOServiceProvider
}
/**
- * Checks if the standard metadata format is supported
- * by the getAsTree and setFromTree methods for the
- * image metadata objects produced or consumed by this
- * reader or writer.
+ * Checks if the standard metadata format is supported by the getAsTree and
+ * setFromTree methods for the image metadata objects produced or consumed
+ * by this reader or writer.
*
- * @return true, if standard image metadata format is
- * supported, false otherwise.
+ * @return true, if standard image metadata format is supported, false
+ * otherwise.
*/
public boolean isStandardImageMetadataFormatSupported() {
return supportsStandardImageMetadataFormat;
}
/**
- * Checks if the standard metadata format is supported
- * by the getAsTree and setFromTree methods for the
- * stream metadata objects produced or consumed by this
- * reader or writer.
+ * Checks if the standard metadata format is supported by the getAsTree and
+ * setFromTree methods for the stream metadata objects produced or consumed
+ * by this reader or writer.
*
- * @return true, if standard stream metadata format is
- * supported, false otherwise.
+ * @return true, if standard stream metadata format is supported, false
+ * otherwise.
*/
public boolean isStandardStreamMetadataFormatSupported() {
return supportsStandardStreamMetadataFormat;
diff --git a/awt/javax/imageio/spi/ImageTranscoderSpi.java b/awt/javax/imageio/spi/ImageTranscoderSpi.java
index 68c4024..742af19 100644
--- a/awt/javax/imageio/spi/ImageTranscoderSpi.java
+++ b/awt/javax/imageio/spi/ImageTranscoderSpi.java
@@ -18,16 +18,18 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.3 $
*/
+
package javax.imageio.spi;
import javax.imageio.ImageTranscoder;
/**
- * The ImageTranscoderSpi class is a service provider interface (SPI)
- * for ImageTranscoders.
+ * The ImageTranscoderSpi class is a service provider interface (SPI) for
+ * ImageTranscoders.
+ *
+ * @since Android 1.0
*/
-public abstract class ImageTranscoderSpi extends IIOServiceProvider
- implements RegisterableService {
+public abstract class ImageTranscoderSpi extends IIOServiceProvider implements RegisterableService {
/**
* Instantiates a new ImageTranscoderSpi.
@@ -36,37 +38,37 @@ public abstract class ImageTranscoderSpi extends IIOServiceProvider
}
/**
- * Instantiates a new ImageTranscoderSpi with the specified
- * vendor name and version.
+ * Instantiates a new ImageTranscoderSpi with the specified vendor name and
+ * version.
*
- * @param vendorName the vendor name.
- * @param version the version.
+ * @param vendorName
+ * the vendor name.
+ * @param version
+ * the version.
*/
public ImageTranscoderSpi(String vendorName, String version) {
super(vendorName, version);
}
/**
- * Gets the class name of an ImageReaderSpi that
- * produces IIOMetadata objects that can be used as
- * input to this transcoder.
+ * Gets the class name of an ImageReaderSpi that produces IIOMetadata
+ * objects that can be used as input to this transcoder.
*
* @return the class name of an ImageReaderSpi.
*/
public abstract String getReaderServiceProviderName();
/**
- * Gets the class name of an ImageWriterSpi that
- * produces IIOMetadata objects that can be used as
- * input to this transcoder.
+ * Gets the class name of an ImageWriterSpi that produces IIOMetadata
+ * objects that can be used as input to this transcoder.
*
* @return the class name of an ImageWriterSpi.
*/
public abstract String getWriterServiceProviderName();
/**
- * Creates an instance of the ImageTranscoder associated
- * with this service provider.
+ * Creates an instance of the ImageTranscoder associated with this service
+ * provider.
*
* @return the ImageTranscoder instance.
*/
diff --git a/awt/javax/imageio/spi/ImageWriterSpi.java b/awt/javax/imageio/spi/ImageWriterSpi.java
index 979ef77..bf25455 100644
--- a/awt/javax/imageio/spi/ImageWriterSpi.java
+++ b/awt/javax/imageio/spi/ImageWriterSpi.java
@@ -18,6 +18,7 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.3 $
*/
+
package javax.imageio.spi;
import javax.imageio.stream.ImageInputStream;
@@ -27,18 +28,28 @@ import java.awt.image.RenderedImage;
import java.io.IOException;
/**
- * The ImageWriterSpi abstract class is a service provider
- * interface (SPI) for ImageWriters.
+ * The ImageWriterSpi abstract class is a service provider interface (SPI) for
+ * ImageWriters.
+ *
+ * @since Android 1.0
*/
public abstract class ImageWriterSpi extends ImageReaderWriterSpi {
- /** The STANDARD_OUTPUT_TYPE contains ImageInputStream.class. */
- public static final Class[] STANDARD_OUTPUT_TYPE = new Class[] {ImageInputStream.class};
+ /**
+ * The STANDARD_OUTPUT_TYPE contains ImageInputStream.class.
+ */
+ public static final Class[] STANDARD_OUTPUT_TYPE = new Class[] {
+ ImageInputStream.class
+ };
- /** The output types. */
+ /**
+ * The output types.
+ */
protected Class[] outputTypes;
-
- /** The reader spi names. */
+
+ /**
+ * The reader SPI names.
+ */
protected String[] readerSpiNames;
/**
@@ -51,50 +62,62 @@ public abstract class ImageWriterSpi extends ImageReaderWriterSpi {
/**
* Instantiates a new ImageWriterSpi with the specified parameters.
*
- * @param vendorName the vendor name.
- * @param version the version.
- * @param names the format names.
- * @param suffixes the array of strings representing the file suffixes.
- * @param MIMETypes the an array of strings representing MIME types.
- * @param pluginClassName the plugin class name.
- * @param outputTypes the output types.
- * @param readerSpiNames the array of strings with class names of all
- * associated ImageReaders.
- * @param supportsStandardStreamMetadataFormat the value indicating
- * if stream metadata can be described by standard metadata format.
- * @param nativeStreamMetadataFormatName the native stream metadata
- * format name, returned by getNativeStreamMetadataFormatName.
- * @param nativeStreamMetadataFormatClassName the native stream
- * metadata format class name, returned by getNativeStreamMetadataFormat.
- * @param extraStreamMetadataFormatNames the extra stream metadata
- * format names, returned by getExtraStreamMetadataFormatNames.
- * @param extraStreamMetadataFormatClassNames the extra stream metadata
- * format class names, returned by getStreamMetadataFormat.
- * @param supportsStandardImageMetadataFormat the value indicating
- * if image metadata can be described by standard metadata format.
- * @param nativeImageMetadataFormatName the native image metadata
- * format name, returned by getNativeImageMetadataFormatName.
- * @param nativeImageMetadataFormatClassName the native image
- * metadata format class name, returned by getNativeImageMetadataFormat.
- * @param extraImageMetadataFormatNames the extra image metadata
- * format names, returned by getExtraImageMetadataFormatNames.
- * @param extraImageMetadataFormatClassNames the extra image metadata
- * format class names, returned by getImageMetadataFormat.
+ * @param vendorName
+ * the vendor name.
+ * @param version
+ * the version.
+ * @param names
+ * the format names.
+ * @param suffixes
+ * the array of strings representing the file suffixes.
+ * @param MIMETypes
+ * the an array of strings representing MIME types.
+ * @param pluginClassName
+ * the plug-in class name.
+ * @param outputTypes
+ * the output types.
+ * @param readerSpiNames
+ * the array of strings with class names of all associated
+ * ImageReaders.
+ * @param supportsStandardStreamMetadataFormat
+ * the value indicating if stream metadata can be described by
+ * standard metadata format.
+ * @param nativeStreamMetadataFormatName
+ * the native stream metadata format name, returned by
+ * getNativeStreamMetadataFormatName.
+ * @param nativeStreamMetadataFormatClassName
+ * the native stream metadata format class name, returned by
+ * getNativeStreamMetadataFormat.
+ * @param extraStreamMetadataFormatNames
+ * the extra stream metadata format names, returned by
+ * getExtraStreamMetadataFormatNames.
+ * @param extraStreamMetadataFormatClassNames
+ * the extra stream metadata format class names, returned by
+ * getStreamMetadataFormat.
+ * @param supportsStandardImageMetadataFormat
+ * the value indicating if image metadata can be described by
+ * standard metadata format.
+ * @param nativeImageMetadataFormatName
+ * the native image metadata format name, returned by
+ * getNativeImageMetadataFormatName.
+ * @param nativeImageMetadataFormatClassName
+ * the native image metadata format class name, returned by
+ * getNativeImageMetadataFormat.
+ * @param extraImageMetadataFormatNames
+ * the extra image metadata format names, returned by
+ * getExtraImageMetadataFormatNames.
+ * @param extraImageMetadataFormatClassNames
+ * the extra image metadata format class names, returned by
+ * getImageMetadataFormat.
*/
- public ImageWriterSpi(String vendorName, String version, String[] names,
- String[] suffixes, String[] MIMETypes,
- String pluginClassName,
- Class[] outputTypes, String[] readerSpiNames,
- boolean supportsStandardStreamMetadataFormat,
- String nativeStreamMetadataFormatName,
- String nativeStreamMetadataFormatClassName,
- String[] extraStreamMetadataFormatNames,
- String[] extraStreamMetadataFormatClassNames,
- boolean supportsStandardImageMetadataFormat,
- String nativeImageMetadataFormatName,
- String nativeImageMetadataFormatClassName,
- String[] extraImageMetadataFormatNames,
- String[] extraImageMetadataFormatClassNames) {
+ public ImageWriterSpi(String vendorName, String version, String[] names, String[] suffixes,
+ String[] MIMETypes, String pluginClassName, Class[] outputTypes,
+ String[] readerSpiNames, boolean supportsStandardStreamMetadataFormat,
+ String nativeStreamMetadataFormatName, String nativeStreamMetadataFormatClassName,
+ String[] extraStreamMetadataFormatNames, String[] extraStreamMetadataFormatClassNames,
+ boolean supportsStandardImageMetadataFormat, String nativeImageMetadataFormatName,
+ String nativeImageMetadataFormatClassName, String[] extraImageMetadataFormatNames,
+ String[] extraImageMetadataFormatClassNames) {
super(vendorName, version, names, suffixes, MIMETypes, pluginClassName,
supportsStandardStreamMetadataFormat, nativeStreamMetadataFormatName,
nativeStreamMetadataFormatClassName, extraStreamMetadataFormatNames,
@@ -111,8 +134,8 @@ public abstract class ImageWriterSpi extends ImageReaderWriterSpi {
}
/**
- * Returns true if the format of the writer's output is lossless.
- * The default implementation returns true.
+ * Returns true if the format of the writer's output is lossless. The
+ * default implementation returns true.
*
* @return true, if a format is lossless, false otherwise.
*/
@@ -121,8 +144,8 @@ public abstract class ImageWriterSpi extends ImageReaderWriterSpi {
}
/**
- * Gets an array of Class objects whose types
- * can be used as output for this writer.
+ * Gets an array of Class objects whose types can be used as output for this
+ * writer.
*
* @return the output types.
*/
@@ -131,77 +154,72 @@ public abstract class ImageWriterSpi extends ImageReaderWriterSpi {
}
/**
- * Checks whether or not the ImageWriter implementation associated
- * with this service provider can encode an image with
- * the specified type.
- *
- * @param type the ImageTypeSpecifier.
+ * Checks whether or not the ImageWriter implementation associated with this
+ * service provider can encode an image with the specified type.
*
- * @return true, if an image with the specified type can be
- * encoded, false otherwise.
+ * @param type
+ * the ImageTypeSpecifier.
+ * @return true, if an image with the specified type can be encoded, false
+ * otherwise.
*/
public abstract boolean canEncodeImage(ImageTypeSpecifier type);
/**
- * Checks whether or not the ImageWriter implementation associated
- * with this service provider can encode the specified RenderedImage.
+ * Checks whether or not the ImageWriter implementation associated with this
+ * service provider can encode the specified RenderedImage.
*
- * @param im the RenderedImage.
- *
- * @return true, if RenderedImage can be encoded,
- * false otherwise.
+ * @param im
+ * the RenderedImage.
+ * @return true, if RenderedImage can be encoded, false otherwise.
*/
public boolean canEncodeImage(RenderedImage im) {
return canEncodeImage(ImageTypeSpecifier.createFromRenderedImage(im));
}
/**
- * Returns an instance of the ImageWriter implementation for
- * this service provider.
+ * Returns an instance of the ImageWriter implementation for this service
+ * provider.
*
* @return the ImageWriter.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public ImageWriter createWriterInstance() throws IOException {
return createWriterInstance(null);
}
/**
- * Returns an instance of the ImageWriter implementation for
- * this service provider.
- *
- * @param extension the a plugin specific extension object, or null.
+ * Returns an instance of the ImageWriter implementation for this service
+ * provider.
*
+ * @param extension
+ * the a plug-in specific extension object, or null.
* @return the ImageWriter.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public abstract ImageWriter createWriterInstance(Object extension) throws IOException;
/**
- * Checks whether or not the specified ImageWriter object
- * is an instance of the ImageWriter associated with this
- * service provider or not.
- *
- * @param writer the ImageWriter.
+ * Checks whether or not the specified ImageWriter object is an instance of
+ * the ImageWriter associated with this service provider or not.
*
- * @return true, if the specified ImageWriter object
- * is an instance of the ImageWriter associated with this
- * service provider, false otherwise.
+ * @param writer
+ * the ImageWriter.
+ * @return true, if the specified ImageWriter object is an instance of the
+ * ImageWriter associated with this service provider, false
+ * otherwise.
*/
public boolean isOwnWriter(ImageWriter writer) {
throw new UnsupportedOperationException("Not supported yet");
}
/**
- * Gets an array of strings with names of the ImageReaderSpi
- * classes that support the internal metadata representation
- * used by the ImageWriter of this service provider, or null if
- * there are no such ImageReaders.
+ * Gets an array of strings with names of the ImageReaderSpi classes that
+ * support the internal metadata representation used by the ImageWriter of
+ * this service provider, or null if there are no such ImageReaders.
*
- * @return an array of strings with names of the ImageWriterSpi
- * classes.
+ * @return the array of strings with names of the ImageWriterSpi classes.
*/
public String[] getImageReaderSpiNames() {
return readerSpiNames;
diff --git a/awt/javax/imageio/spi/RegisterableService.java b/awt/javax/imageio/spi/RegisterableService.java
index b50754e..ae2f4d3 100644
--- a/awt/javax/imageio/spi/RegisterableService.java
+++ b/awt/javax/imageio/spi/RegisterableService.java
@@ -18,33 +18,37 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.3 $
*/
+
package javax.imageio.spi;
/**
- * The RegisterableService interface provides service provider
- * objects that can be registered by a ServiceRegistry, and
- * notifications that registration and deregistration have been
- * performed.
+ * The RegisterableService interface provides service provider objects that can
+ * be registered by a ServiceRegistry, and notifications that registration and
+ * deregistration have been performed.
+ *
+ * @since Android 1.0
*/
public interface RegisterableService {
-
+
/**
- * This method is called when the object which implements this
- * interface is registered to the specified category of the
- * specified registry.
+ * This method is called when the object which implements this interface is
+ * registered to the specified category of the specified registry.
*
- * @param registry the ServiceRegistry to be registered.
- * @param category the class representing a category.
+ * @param registry
+ * the ServiceRegistry to be registered.
+ * @param category
+ * the class representing a category.
*/
void onRegistration(ServiceRegistry registry, Class<?> category);
-
+
/**
- * This method is called when the object which implements this
- * interface is deregistered to the specified category of the
- * specified registry.
+ * This method is called when the object which implements this interface is
+ * deregistered to the specified category of the specified registry.
*
- * @param registry the ServiceRegistry to be registered.
- * @param category the class representing a category.
+ * @param registry
+ * the ServiceRegistry to be registered.
+ * @param category
+ * the class representing a category.
*/
void onDeregistration(ServiceRegistry registry, Class<?> category);
}
diff --git a/awt/javax/imageio/spi/ServiceRegistry.java b/awt/javax/imageio/spi/ServiceRegistry.java
index 1a18b02..79b02a3 100644
--- a/awt/javax/imageio/spi/ServiceRegistry.java
+++ b/awt/javax/imageio/spi/ServiceRegistry.java
@@ -18,48 +18,53 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.3 $
*/
+
package javax.imageio.spi;
import java.util.*;
import java.util.Map.Entry;
/**
- * The ServiceRegistry class provides ability to register,
- * deregister, look up and obtain service provider instances (SPIs).
- * A service means a set of interfaces and classes, and a service
- * provider is an implementation of a service. Service providers can
- * be associated with one or more categories. Each category is defined
- * by a class or interface. Only a single instance of a each class is
- * allowed to be registered as a category.
+ * The ServiceRegistry class provides ability to register, deregister, look up
+ * and obtain service provider instances (SPIs). A service means a set of
+ * interfaces and classes, and a service provider is an implementation of a
+ * service. Service providers can be associated with one or more categories.
+ * Each category is defined by a class or interface. Only a single instance of a
+ * each class is allowed to be registered as a category.
+ *
+ * @since Android 1.0
*/
public class ServiceRegistry {
- /** The categories. */
+ /**
+ * The categories.
+ */
CategoriesMap categories = new CategoriesMap(this);
/**
* Instantiates a new ServiceRegistry with the specified categories.
*
- * @param categoriesIterator an Iterator of Class objects
- * for defining of categories.
+ * @param categoriesIterator
+ * an Iterator of Class objects for defining of categories.
*/
public ServiceRegistry(Iterator<Class<?>> categoriesIterator) {
if (null == categoriesIterator) {
throw new IllegalArgumentException("categories iterator should not be NULL");
}
- while(categoriesIterator.hasNext()) {
- Class<?> c = categoriesIterator.next();
+ while (categoriesIterator.hasNext()) {
+ Class<?> c = categoriesIterator.next();
categories.addCategory(c);
}
}
/**
- * Looks up and instantiates the available providers of this service using
+ * Looks up and instantiates the available providers of this service using
* the specified class loader.
*
- * @param providerClass the Class object of the provider to be looked up.
- * @param loader the class loader to be used.
- *
+ * @param providerClass
+ * the Class object of the provider to be looked up.
+ * @param loader
+ * the class loader to be used.
* @return the iterator of providers objects for this service.
*/
public static <T> Iterator<T> lookupProviders(Class<T> providerClass, ClassLoader loader) {
@@ -67,11 +72,11 @@ public class ServiceRegistry {
}
/**
- * Looks up and instantiates the available providers of this service using
+ * Looks up and instantiates the available providers of this service using
* the context class loader.
*
- * @param providerClass the Class object of the provider to be looked up.
- *
+ * @param providerClass
+ * the Class object of the provider to be looked up.
* @return the iterator of providers objects for this service.
*/
public static <T> Iterator<T> lookupProviders(Class<T> providerClass) {
@@ -79,14 +84,15 @@ public class ServiceRegistry {
}
/**
- * Registers the specified service provider object in the
- * specified categories.
- *
- * @param provider the specified provider to be registered.
- * @param category the category.
+ * Registers the specified service provider object in the specified
+ * categories.
*
- * @return true if no provider of the same class is registered
- * in this category, false otherwise.
+ * @param provider
+ * the specified provider to be registered.
+ * @param category
+ * the category.
+ * @return true, if no provider of the same class is registered in this
+ * category, false otherwise.
*/
public <T> boolean registerServiceProvider(T provider, Class<T> category) {
return categories.addProvider(provider, category);
@@ -95,7 +101,8 @@ public class ServiceRegistry {
/**
* Registers a list of service providers.
*
- * @param providers the list of service providers.
+ * @param providers
+ * the list of service providers.
*/
public void registerServiceProviders(Iterator<?> providers) {
for (Iterator<?> iterator = providers; iterator.hasNext();) {
@@ -104,67 +111,70 @@ public class ServiceRegistry {
}
/**
- * Registers the specified service provider object in all
- * categories.
+ * Registers the specified service provider object in all categories.
*
- * @param provider the service provider.
+ * @param provider
+ * the service provider.
*/
public void registerServiceProvider(Object provider) {
categories.addProvider(provider, null);
}
/**
- * Deregisters the specifies service provider from the
- * specified category.
+ * Deregisters the specifies service provider from the specified category.
*
- * @param provider the service provider to be deregistered.
- * @param category the specified category.
- *
- * @return true if the provider was already registered
- * in the specified category, false otherwise.
+ * @param provider
+ * the service provider to be deregistered.
+ * @param category
+ * the specified category.
+ * @return true, if the provider was already registered in the specified
+ * category, false otherwise.
*/
public <T> boolean deregisterServiceProvider(T provider, Class<T> category) {
throw new UnsupportedOperationException("Not supported yet");
}
/**
- * Deregisters the specified service provider from all
- * categories.
+ * Deregisters the specified service provider from all categories.
*
- * @param provider the specified service provider.
+ * @param provider
+ * the specified service provider.
*/
public void deregisterServiceProvider(Object provider) {
throw new UnsupportedOperationException("Not supported yet");
}
/**
- * Gets an Iterator of registered service providers
- * in the specified category which satisfy the specified Filter.
- * The useOrdering parameter indicates whether the iterator will
- * return all of the server provider objects in a set order.
- *
- * @param category the specified category.
- * @param filter the specified filter.
- * @param useOrdering the flag indicating that providers are ordered
- * in the returned Iterator.
+ * Gets an Iterator of registered service providers in the specified
+ * category which satisfy the specified Filter. The useOrdering parameter
+ * indicates whether the iterator will return all of the server provider
+ * objects in a set order.
*
+ * @param category
+ * the specified category.
+ * @param filter
+ * the specified filter.
+ * @param useOrdering
+ * the flag indicating that providers are ordered in the returned
+ * Iterator.
* @return the iterator of registered service providers.
*/
@SuppressWarnings("unchecked")
public <T> Iterator<T> getServiceProviders(Class<T> category, Filter filter, boolean useOrdering) {
- return new FilteredIterator<T>(filter, (Iterator<T>)categories.getProviders(category, useOrdering));
+ return new FilteredIterator<T>(filter, (Iterator<T>)categories.getProviders(category,
+ useOrdering));
}
/**
- * Gets an Iterator of all registered service providers
- * in the specified category. The useOrdering parameter
- * indicates whether the iterator will return all of the server
- * provider objects in a set order.
- *
- * @param category the specified category.
- * @param useOrdering the flag indicating that providers are ordered
- * in the returned Iterator.
+ * Gets an Iterator of all registered service providers in the specified
+ * category. The useOrdering parameter indicates whether the iterator will
+ * return all of the server provider objects in a set order.
*
+ * @param category
+ * the specified category.
+ * @param useOrdering
+ * the flag indicating that providers are ordered in the returned
+ * Iterator.
* @return the Iterator of service providers.
*/
@SuppressWarnings("unchecked")
@@ -173,11 +183,11 @@ public class ServiceRegistry {
}
/**
- * Gets the registered service provider object that has the
- * specified class type.
- *
- * @param providerClass the specified provider class.
+ * Gets the registered service provider object that has the specified class
+ * type.
*
+ * @param providerClass
+ * the specified provider class.
* @return the service provider object.
*/
public <T> T getServiceProviderByClass(Class<T> providerClass) {
@@ -185,28 +195,32 @@ public class ServiceRegistry {
}
/**
- * Sets an ordering between two service provider objects
- * within the specified category.
- *
- * @param category the specified category.
- * @param firstProvider the first provider.
- * @param secondProvider the second provider.
+ * Sets an ordering between two service provider objects within the
+ * specified category.
*
- * @return true if a previously unset order was set.
+ * @param category
+ * the specified category.
+ * @param firstProvider
+ * the first provider.
+ * @param secondProvider
+ * the second provider.
+ * @return true, if a previously unset order was set.
*/
public <T> boolean setOrdering(Class<T> category, T firstProvider, T secondProvider) {
throw new UnsupportedOperationException("Not supported yet");
}
/**
- * Unsets an ordering between two service provider objects
- * within the specified category.
- *
- * @param category the specified category.
- * @param firstProvider the first provider.
- * @param secondProvider the second provider.
+ * Unsets an ordering between two service provider objects within the
+ * specified category.
*
- * @return true if a previously unset order was removed.
+ * @param category
+ * the specified category.
+ * @param firstProvider
+ * the first provider.
+ * @param secondProvider
+ * the second provider.
+ * @return true, if a previously unset order was removed.
*/
public <T> boolean unsetOrdering(Class<T> category, T firstProvider, T secondProvider) {
throw new UnsupportedOperationException("Not supported yet");
@@ -215,7 +229,8 @@ public class ServiceRegistry {
/**
* Deregisters all providers from the specified category.
*
- * @param category the specified category.
+ * @param category
+ * the specified category.
*/
public void deregisterAll(Class<?> category) {
throw new UnsupportedOperationException("Not supported yet");
@@ -229,32 +244,31 @@ public class ServiceRegistry {
}
/**
- * Finalizes this object.
+ * Finalizes this object.
*
- * @throws Throwable throws if an error occurs during
- * finalization.
+ * @throws Throwable
+ * if an error occurs during finalization.
*/
@Override
public void finalize() throws Throwable {
- //TODO uncomment when deregisterAll is implemented
- //deregisterAll();
+ // TODO uncomment when deregisterAll is implemented
+ // deregisterAll();
}
/**
* Checks whether the specified provider has been already registered.
*
- * @param provider the provider to be checked.
- *
+ * @param provider
+ * the provider to be checked.
* @return true, if the specified provider has been already registered,
- * false otherwise.
+ * false otherwise.
*/
public boolean contains(Object provider) {
throw new UnsupportedOperationException("Not supported yet");
}
/**
- * Gets an iterator of Class objects representing the current
- * categories.
+ * Gets an iterator of Class objects representing the current categories.
*
* @return the Iterator of Class objects.
*/
@@ -263,20 +277,22 @@ public class ServiceRegistry {
}
/**
- * The ServiceRegistry.Filter interface is used by
- * ServiceRegistry.getServiceProviders to filter providers according
- * to the specified criterion.
+ * The ServiceRegistry.Filter interface is used by
+ * ServiceRegistry.getServiceProviders to filter providers according to the
+ * specified criterion.
+ *
+ * @since Android 1.0
*/
public static interface Filter {
-
+
/**
- * Returns true if the specified provider satisfies the
- * criterion of this Filter.
+ * Returns true if the specified provider satisfies the criterion of
+ * this Filter.
*
- * @param provider the provider.
- *
- * @return true if the specified provider satisfies the
- * criterion of this Filter, false otherwise.
+ * @param provider
+ * the provider.
+ * @return true, if the specified provider satisfies the criterion of
+ * this Filter, false otherwise.
*/
boolean filter(Object provider);
}
@@ -285,30 +301,36 @@ public class ServiceRegistry {
* The Class CategoriesMap.
*/
private static class CategoriesMap {
-
- /** The categories. */
+
+ /**
+ * The categories.
+ */
Map<Class<?>, ProvidersMap> categories = new HashMap<Class<?>, ProvidersMap>();
- /** The registry. */
+ /**
+ * The registry.
+ */
ServiceRegistry registry;
/**
* Instantiates a new categories map.
*
- * @param registry the registry
+ * @param registry
+ * the registry.
*/
public CategoriesMap(ServiceRegistry registry) {
this.registry = registry;
}
- //-- TODO: useOrdering
+ // -- TODO: useOrdering
/**
* Gets the providers.
*
- * @param category the category
- * @param useOrdering the use ordering
- *
- * @return the providers
+ * @param category
+ * the category.
+ * @param useOrdering
+ * the use ordering.
+ * @return the providers.
*/
Iterator<?> getProviders(Class<?> category, boolean useOrdering) {
ProvidersMap providers = categories.get(category);
@@ -321,7 +343,7 @@ public class ServiceRegistry {
/**
* List.
*
- * @return the iterator< class<?>>
+ * @return the iterator< class<?>>.
*/
Iterator<Class<?>> list() {
return categories.keySet().iterator();
@@ -330,7 +352,8 @@ public class ServiceRegistry {
/**
* Adds the category.
*
- * @param category the category
+ * @param category
+ * the category.
*/
void addCategory(Class<?> category) {
categories.put(category, new ProvidersMap());
@@ -341,10 +364,11 @@ public class ServiceRegistry {
* <code>null</code> then the provider will be added to all categories
* which the provider is assignable from.
*
- * @param provider provider to add
- * @param category category to add provider to
- *
- * @return if there were such provider in some category
+ * @param provider
+ * provider to add.
+ * @param category
+ * category to add provider to.
+ * @return true, if there were such provider in some category.
*/
boolean addProvider(Object provider, Class<?> category) {
if (provider == null) {
@@ -355,11 +379,11 @@ public class ServiceRegistry {
if (category == null) {
rt = findAndAdd(provider);
} else {
- rt = addToNamed(provider, category);
+ rt = addToNamed(provider, category);
}
if (provider instanceof RegisterableService) {
- ((RegisterableService) provider).onRegistration(registry, category);
+ ((RegisterableService)provider).onRegistration(registry, category);
}
return rt;
@@ -368,10 +392,11 @@ public class ServiceRegistry {
/**
* Adds the to named.
*
- * @param provider the provider
- * @param category the category
- *
- * @return true, if successful
+ * @param provider
+ * the provider.
+ * @param category
+ * the category.
+ * @return true, if successful.
*/
private boolean addToNamed(Object provider, Class<?> category) {
Object obj = categories.get(category);
@@ -380,15 +405,15 @@ public class ServiceRegistry {
throw new IllegalArgumentException("Unknown category: " + category);
}
- return ((ProvidersMap) obj).addProvider(provider);
+ return ((ProvidersMap)obj).addProvider(provider);
}
/**
* Find and add.
*
- * @param provider the provider
- *
- * @return true, if successful
+ * @param provider
+ * the provider.
+ * @return true, if successful.
*/
private boolean findAndAdd(Object provider) {
boolean rt = false;
@@ -405,17 +430,19 @@ public class ServiceRegistry {
* The Class ProvidersMap.
*/
private static class ProvidersMap {
- //-- TODO: providers ordering support
+ // -- TODO: providers ordering support
- /** The providers. */
+ /**
+ * The providers.
+ */
Map<Class<?>, Object> providers = new HashMap<Class<?>, Object>();
/**
* Adds the provider.
*
- * @param provider the provider
- *
- * @return true, if successful
+ * @param provider
+ * the provider.
+ * @return true, if successful.
*/
boolean addProvider(Object provider) {
return providers.put(provider.getClass(), provider) != null;
@@ -424,19 +451,19 @@ public class ServiceRegistry {
/**
* Gets the provider classes.
*
- * @return the provider classes
+ * @return the provider classes.
*/
Iterator<Class<?>> getProviderClasses() {
return providers.keySet().iterator();
}
- //-- TODO ordering
+ // -- TODO ordering
/**
* Gets the providers.
*
- * @param userOrdering the user ordering
- *
- * @return the providers
+ * @param userOrdering
+ * the user ordering.
+ * @return the providers.
*/
Iterator<?> getProviders(boolean userOrdering) {
return providers.values().iterator();
@@ -448,20 +475,28 @@ public class ServiceRegistry {
*/
private static class FilteredIterator<E> implements Iterator<E> {
- /** The filter. */
+ /**
+ * The filter.
+ */
private Filter filter;
-
- /** The backend. */
+
+ /**
+ * The backend.
+ */
private Iterator<E> backend;
-
- /** The next obj. */
+
+ /**
+ * The next obj.
+ */
private E nextObj;
/**
* Instantiates a new filtered iterator.
*
- * @param filter the filter
- * @param backend the backend
+ * @param filter
+ * the filter.
+ * @param backend
+ * the backend.
*/
public FilteredIterator(Filter filter, Iterator<E> backend) {
this.filter = filter;
@@ -472,7 +507,7 @@ public class ServiceRegistry {
/**
* Next.
*
- * @return the e
+ * @return the e.
*/
public E next() {
if (nextObj == null) {
@@ -486,7 +521,7 @@ public class ServiceRegistry {
/**
* Checks for next.
*
- * @return true, if successful
+ * @return true, if successful.
*/
public boolean hasNext() {
return nextObj != null;
@@ -500,7 +535,8 @@ public class ServiceRegistry {
}
/**
- * Sets nextObj to a next provider matching the criterion given by the filter.
+ * Sets nextObj to a next provider matching the criterion given by the
+ * filter.
*/
private void findNext() {
nextObj = null;
diff --git a/awt/javax/imageio/spi/package.html b/awt/javax/imageio/spi/package.html
new file mode 100644
index 0000000..18ceff4
--- /dev/null
+++ b/awt/javax/imageio/spi/package.html
@@ -0,0 +1,8 @@
+<html>
+ <body>
+ <p>
+ This package provides several Service Provider Interface (SPI) classes for readers, writers, transcoders and streams to handle images.
+ </p>
+ @since Android 1.0
+ </body>
+</html>
diff --git a/awt/javax/imageio/stream/FileCacheImageInputStream.java b/awt/javax/imageio/stream/FileCacheImageInputStream.java
index 47bc189..710ac66 100644
--- a/awt/javax/imageio/stream/FileCacheImageInputStream.java
+++ b/awt/javax/imageio/stream/FileCacheImageInputStream.java
@@ -15,38 +15,43 @@
* limitations under the License.
*/
-
package javax.imageio.stream;
import java.io.*;
/**
- * The FileCacheImageInputStream class is an implementation of
- * ImageInputStream which reads from its InputStream
- * and uses a temporary file as a cache.
+ * The FileCacheImageInputStream class is an implementation of ImageInputStream
+ * which reads from its InputStream and uses a temporary file as a cache.
+ *
+ * @since Android 1.0
*/
public class FileCacheImageInputStream extends ImageInputStreamImpl {
-
- /** The is. */
+
+ /**
+ * The is.
+ */
private InputStream is;
-
- /** The file. */
+
+ /**
+ * The file.
+ */
private File file;
-
- /** The raf. */
- private RandomAccessFile raf;
+ /**
+ * The raf.
+ */
+ private RandomAccessFile raf;
/**
- * Instantiates a new FileCacheImageInputStream from
- * the specified InputStream and using the specified
- * File as its cache directory.
- *
- * @param stream the InputStream for reading.
- * @param cacheDir the cache directory where the chache file
- * will be created.
+ * Instantiates a new FileCacheImageInputStream from the specified
+ * InputStream and using the specified File as its cache directory.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param stream
+ * the InputStream for reading.
+ * @param cacheDir
+ * the cache directory where the cache file will be created.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public FileCacheImageInputStream(InputStream stream, File cacheDir) throws IOException {
if (stream == null) {
@@ -55,7 +60,8 @@ public class FileCacheImageInputStream extends ImageInputStreamImpl {
is = stream;
if (cacheDir == null || cacheDir.isDirectory()) {
- file = File.createTempFile(FileCacheImageOutputStream.IIO_TEMP_FILE_PREFIX, null, cacheDir);
+ file = File.createTempFile(FileCacheImageOutputStream.IIO_TEMP_FILE_PREFIX, null,
+ cacheDir);
file.deleteOnExit();
} else {
throw new IllegalArgumentException("Not a directory!");
diff --git a/awt/javax/imageio/stream/FileCacheImageOutputStream.java b/awt/javax/imageio/stream/FileCacheImageOutputStream.java
index ae48585..135afab 100644
--- a/awt/javax/imageio/stream/FileCacheImageOutputStream.java
+++ b/awt/javax/imageio/stream/FileCacheImageOutputStream.java
@@ -15,7 +15,6 @@
* limitations under the License.
*/
-
package javax.imageio.stream;
import java.io.IOException;
@@ -24,35 +23,48 @@ import java.io.OutputStream;
import java.io.RandomAccessFile;
/**
- * The FileCacheImageOutputStream class is an implementation of
- * ImageOutputStream that writes to its OutputStream
- * using a temporary file as a cache.
+ * The FileCacheImageOutputStream class is an implementation of
+ * ImageOutputStream that writes to its OutputStream using a temporary file as a
+ * cache.
+ *
+ * @since Android 1.0
*/
public class FileCacheImageOutputStream extends ImageOutputStreamImpl {
-
- /** The Constant IIO_TEMP_FILE_PREFIX. */
+
+ /**
+ * The Constant IIO_TEMP_FILE_PREFIX.
+ */
static final String IIO_TEMP_FILE_PREFIX = "iioCache";
-
- /** The Constant MAX_BUFFER_LEN. */
+
+ /**
+ * The Constant MAX_BUFFER_LEN.
+ */
static final int MAX_BUFFER_LEN = 1048575; // 1 MB - is it not too much?
- /** The os. */
+ /**
+ * The os.
+ */
private OutputStream os;
-
- /** The file. */
+
+ /**
+ * The file.
+ */
private File file;
-
- /** The raf. */
+
+ /**
+ * The raf.
+ */
private RandomAccessFile raf;
/**
* Instantiates a FileCacheImageOutputStream.
*
- * @param stream the OutputStream for writing.
- * @param cacheDir the cache directory where the chache file
- * will be created.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param stream
+ * the OutputStream for writing.
+ * @param cacheDir
+ * the cache directory where the cache file will be created.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public FileCacheImageOutputStream(OutputStream stream, File cacheDir) throws IOException {
if (stream == null) {
@@ -96,7 +108,7 @@ public class FileCacheImageOutputStream extends ImageOutputStreamImpl {
@Override
public void write(int b) throws IOException {
flushBits(); // See the flushBits method description
-
+
raf.write(b);
streamPos++;
}
@@ -148,7 +160,7 @@ public class FileCacheImageOutputStream extends ImageOutputStreamImpl {
} else {
byte buffer[] = new byte[MAX_BUFFER_LEN];
while (bytesToRead > 0) {
- int count = (int) Math.min(MAX_BUFFER_LEN, bytesToRead);
+ int count = (int)Math.min(MAX_BUFFER_LEN, bytesToRead);
raf.readFully(buffer, 0, count);
os.write(buffer, 0, count);
bytesToRead -= count;
@@ -169,7 +181,7 @@ public class FileCacheImageOutputStream extends ImageOutputStreamImpl {
}
raf.seek(pos);
- streamPos = raf.getFilePointer();
+ streamPos = raf.getFilePointer();
bitOffset = 0;
}
@@ -177,7 +189,7 @@ public class FileCacheImageOutputStream extends ImageOutputStreamImpl {
public long length() {
try {
return raf.length();
- } catch(IOException e) {
+ } catch (IOException e) {
return -1L;
}
}
diff --git a/awt/javax/imageio/stream/FileImageInputStream.java b/awt/javax/imageio/stream/FileImageInputStream.java
index 6680ae0..b9b6002 100644
--- a/awt/javax/imageio/stream/FileImageInputStream.java
+++ b/awt/javax/imageio/stream/FileImageInputStream.java
@@ -15,7 +15,6 @@
* limitations under the License.
*/
-
package javax.imageio.stream;
import java.io.IOException;
@@ -24,24 +23,31 @@ import java.io.File;
import java.io.FileNotFoundException;
/**
- * The FileImageInputStream class implements ImageInputStream
- * and obtains its input data from a File or RandomAccessFile.
+ * The FileImageInputStream class implements ImageInputStream and obtains its
+ * input data from a File or RandomAccessFile.
+ *
+ * @since Android 1.0
*/
public class FileImageInputStream extends ImageInputStreamImpl {
-
- /** The raf. */
+
+ /**
+ * The raf.
+ */
RandomAccessFile raf;
/**
* Instantiates a new FileImageInputStream from the specified File.
*
- * @param f the File of input data.
- *
- * @throws FileNotFoundException if the specified file
- * doesn't exist.
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param f
+ * the File of input data.
+ * @throws FileNotFoundException
+ * if the specified file doesn't exist.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
- @SuppressWarnings({"DuplicateThrows"})
+ @SuppressWarnings( {
+ "DuplicateThrows"
+ })
public FileImageInputStream(File f) throws FileNotFoundException, IOException {
if (f == null) {
throw new IllegalArgumentException("f == null!");
@@ -51,10 +57,11 @@ public class FileImageInputStream extends ImageInputStreamImpl {
}
/**
- * Instantiates a new FileImageInputStream from the specified
+ * Instantiates a new FileImageInputStream from the specified
* RandomAccessFile.
*
- * @param raf the RandomAccessFile of input data.
+ * @param raf
+ * the RandomAccessFile of input data.
*/
public FileImageInputStream(RandomAccessFile raf) {
if (raf == null) {
@@ -91,7 +98,7 @@ public class FileImageInputStream extends ImageInputStreamImpl {
public long length() {
try {
return raf.length();
- } catch(IOException e) {
+ } catch (IOException e) {
return -1L;
}
}
diff --git a/awt/javax/imageio/stream/FileImageOutputStream.java b/awt/javax/imageio/stream/FileImageOutputStream.java
index eaafe14..2730ba6 100644
--- a/awt/javax/imageio/stream/FileImageOutputStream.java
+++ b/awt/javax/imageio/stream/FileImageOutputStream.java
@@ -18,39 +18,44 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.3 $
*/
+
package javax.imageio.stream;
import java.io.*;
/**
- * The FileImageOutputStream class implements ImageOutputStream
- * and writes the output data to a File or RandomAccessFile.
+ * The FileImageOutputStream class implements ImageOutputStream and writes the
+ * output data to a File or RandomAccessFile.
+ *
+ * @since Android 1.0
*/
public class FileImageOutputStream extends ImageOutputStreamImpl {
- /** The file. */
+ /**
+ * The file.
+ */
RandomAccessFile file;
/**
- * Instantiates a new FileImageOutputStream with the specified
- * File.
- *
- * @param f the output File.
+ * Instantiates a new FileImageOutputStream with the specified File.
*
- * @throws FileNotFoundException if the file not found.
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param f
+ * the output File.
+ * @throws FileNotFoundException
+ * if the file not found.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
public FileImageOutputStream(File f) throws FileNotFoundException, IOException {
- this(f != null
- ? new RandomAccessFile(f, "rw")
- : null);
+ this(f != null ? new RandomAccessFile(f, "rw") : null);
}
/**
* Instantiates a new FileImageOutputStream with the specified
* RandomAccessFile.
*
- * @param raf the output RandomAccessFile.
+ * @param raf
+ * the output RandomAccessFile.
*/
public FileImageOutputStream(RandomAccessFile raf) {
if (raf == null) {
@@ -102,14 +107,14 @@ public class FileImageOutputStream extends ImageOutputStreamImpl {
try {
checkClosed();
return file.length();
- } catch(IOException e) {
+ } catch (IOException e) {
return super.length(); // -1L
}
}
@Override
public void seek(long pos) throws IOException {
- //-- checkClosed() is performed in super.seek()
+ // -- checkClosed() is performed in super.seek()
super.seek(pos);
file.seek(pos);
streamPos = file.getFilePointer();
diff --git a/awt/javax/imageio/stream/IIOByteBuffer.java b/awt/javax/imageio/stream/IIOByteBuffer.java
index 961a7b3..867d808 100644
--- a/awt/javax/imageio/stream/IIOByteBuffer.java
+++ b/awt/javax/imageio/stream/IIOByteBuffer.java
@@ -18,35 +18,46 @@
* @author Sergey I. Salishev
* @version $Revision: 1.2 $
*/
+
package javax.imageio.stream;
-/**
-* @author Sergey I. Salishev
-* @version $Revision: 1.2 $
-*/
+//
+// @author Sergey I. Salishev
+// @version $Revision: 1.2 $
+//
/**
- * The IIOByteBuffer class represents a byte array with offset and
- * length that is used by ImageInputStream for obtaining a sequence
- * of bytes.
+ * The IIOByteBuffer class represents a byte array with offset and length that
+ * is used by ImageInputStream for obtaining a sequence of bytes.
+ *
+ * @since Android 1.0
*/
public class IIOByteBuffer {
-
- /** The data. */
+
+ /**
+ * The data.
+ */
private byte[] data;
-
- /** The offset. */
+
+ /**
+ * The offset.
+ */
private int offset;
-
- /** The length. */
+
+ /**
+ * The length.
+ */
private int length;
/**
* Instantiates a new IIOByteBuffer.
*
- * @param data the byte array.
- * @param offset the offset in the array.
- * @param length the length of array.
+ * @param data
+ * the byte array.
+ * @param offset
+ * the offset in the array.
+ * @param length
+ * the length of array.
*/
public IIOByteBuffer(byte[] data, int offset, int length) {
this.data = data;
@@ -84,7 +95,8 @@ public class IIOByteBuffer {
/**
* Sets the new data array to this IIOByteBuffer object.
*
- * @param data the new data array.
+ * @param data
+ * the new data array.
*/
public void setData(byte[] data) {
this.data = data;
@@ -93,7 +105,8 @@ public class IIOByteBuffer {
/**
* Sets the length of data which will be used.
*
- * @param length the new length.
+ * @param length
+ * the new length.
*/
public void setLength(int length) {
this.length = length;
@@ -102,10 +115,10 @@ public class IIOByteBuffer {
/**
* Sets the offset in the data array of this IIOByteBuffer.
*
- * @param offset the new offset.
+ * @param offset
+ * the new offset.
*/
public void setOffset(int offset) {
this.offset = offset;
}
}
-
diff --git a/awt/javax/imageio/stream/ImageInputStream.java b/awt/javax/imageio/stream/ImageInputStream.java
index 771e9ff..3dec5d2 100644
--- a/awt/javax/imageio/stream/ImageInputStream.java
+++ b/awt/javax/imageio/stream/ImageInputStream.java
@@ -18,6 +18,7 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.2 $
*/
+
package javax.imageio.stream;
import java.io.DataInput;
@@ -25,21 +26,24 @@ import java.io.IOException;
import java.nio.ByteOrder;
/**
- * The ImageInputStream represents input stream interface that is
- * used by ImageReaders.
+ * The ImageInputStream represents input stream interface that is used by
+ * ImageReaders.
+ *
+ * @since Android 1.0
*/
public interface ImageInputStream extends DataInput {
/**
- * Sets the specified byte order for reading of data values
- * from this stream.
+ * Sets the specified byte order for reading of data values from this
+ * stream.
*
- * @param byteOrder the byte order.
+ * @param byteOrder
+ * the byte order.
*/
void setByteOrder(ByteOrder byteOrder);
/**
- * Gets the byte order.
+ * Gets the byte order.
*
* @return the byte order.
*/
@@ -48,158 +52,151 @@ public interface ImageInputStream extends DataInput {
/**
* Reads a byte from the stream.
*
- * @return the byte of the stream, or -1 for EOF indicating.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @return the byte of the stream, or -1 for EOF indicating.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
int read() throws IOException;
/**
- * Reads number of bytes which is equal to the specified array's length
- * and stores a result to this array.
- *
- * @param b the byte array.
+ * Reads number of bytes which is equal to the specified array's length and
+ * stores a result to this array.
*
+ * @param b
+ * the byte array.
* @return the number of read bytes, or -1 indicated EOF.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
int read(byte[] b) throws IOException;
/**
- * Reads the number of bytes specified by len parameter from
- * the stream and stores a result to the specified array
- * with the specified offset.
- *
- * @param b the byte array.
- * @param off the offset.
- * @param len the number of bytes to be read.
+ * Reads the number of bytes specified by len parameter from the stream and
+ * stores a result to the specified array with the specified offset.
*
+ * @param b
+ * the byte array.
+ * @param off
+ * the offset.
+ * @param len
+ * the number of bytes to be read.
* @return the number of read bytes, or -1 indicated EOF.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
int read(byte[] b, int off, int len) throws IOException;
/**
- * Reads the number of bytes specified by len parameter
- * from the stream, and modifies the specified IIOByteBuffer
- * with the byte array, offset, and length.
- *
- * @param buf the IIOByteBuffer.
- * @param len the number of bytes to be read.
+ * Reads the number of bytes specified by len parameter from the stream, and
+ * modifies the specified IIOByteBuffer with the byte array, offset, and
+ * length.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param buf
+ * the IIOByteBuffer.
+ * @param len
+ * the number of bytes to be read.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void readBytes(IIOByteBuffer buf, int len) throws IOException;
/**
- * Reads a byte from the stream and returns a boolean true value
- * if it is non zero, false if it is zero.
- *
- * @return a boolean value for read byte.
+ * Reads a byte from the stream and returns a boolean true value if it is
+ * non zero, false if it is zero.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @return the boolean value for read byte.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
boolean readBoolean() throws IOException;
/**
- * Reads a byte from the stream and returns its value
- * as signed byte.
+ * Reads a byte from the stream and returns its value as signed byte.
*
- * @return a signed byte value for read byte.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @return the signed byte value for read byte.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
byte readByte() throws IOException;
/**
- * Reads a byte from the stream and returns its value
- * as int.
- *
- * @return a unsigned byte value for read byte as int.
+ * Reads a byte from the stream and returns its value as an integer.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @return the unsigned byte value for read byte as an integer.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
int readUnsignedByte() throws IOException;
/**
- * Reads 2 bytes from the stream, and returns the result
- * as a short.
+ * Reads 2 bytes from the stream, and returns the result as a short.
*
* @return the signed short value from the stream.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
short readShort() throws IOException;
/**
- * Reads 2 bytes from the stream and returns its value
- * as an unsigned short.
- *
- * @return a unsigned short value coded in an int.
+ * Reads 2 bytes from the stream and returns its value as an unsigned short.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @return a unsigned short value coded in an integer.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
int readUnsignedShort() throws IOException;
/**
- * Reads 2 bytes from the stream and returns their
- * unsigned char value.
+ * Reads 2 bytes from the stream and returns their unsigned char value.
*
* @return the unsigned char value.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
char readChar() throws IOException;
/**
- * Reads 4 bytes from the stream, and returns the result
- * as an int.
+ * Reads 4 bytes from the stream, and returns the result as an integer.
*
- * @return the signed int value from the stream.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @return the signed integer value from the stream.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
int readInt() throws IOException;
/**
- * Reads 4 bytes from the stream and returns its value
- * as long.
- *
- * @return a unsigned int value as long.
+ * Reads 4 bytes from the stream and returns its value as long.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @return the unsigned integer value as long.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
long readUnsignedInt() throws IOException;
/**
- * Reads 8 bytes from the stream, and returns the result
- * as a long.
+ * Reads 8 bytes from the stream, and returns the result as a long.
*
* @return the long value from the stream.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
long readLong() throws IOException;
/**
- * Reads 4 bytes from the stream, and returns the result
- * as a float.
+ * Reads 4 bytes from the stream, and returns the result as a float.
*
* @return the float value from the stream.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
float readFloat() throws IOException;
/**
- * Reads 8 bytes from the stream, and returns the result
- * as a double.
+ * Reads 8 bytes from the stream, and returns the result as a double.
*
* @return the double value from the stream.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
double readDouble() throws IOException;
@@ -207,120 +204,134 @@ public interface ImageInputStream extends DataInput {
* Reads a line from the stream.
*
* @return the string contained the line from the stream.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
String readLine() throws IOException;
/**
- * Reads bytes from the stream in a string that has been encoded
- * in a modified UTF-8 format.
+ * Reads bytes from the stream in a string that has been encoded in a
+ * modified UTF-8 format.
*
* @return the string read from stream and modified UTF-8 format.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
String readUTF() throws IOException;
/**
- * Reads the specified number of bytes from the stream,
- * and stores the result into the specified array starting at
- * the specified index offset.
+ * Reads the specified number of bytes from the stream, and stores the
+ * result into the specified array starting at the specified index offset.
*
- * @param b the byte array.
- * @param off the offset.
- * @param len the number of bytes to be read.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param b
+ * the byte array.
+ * @param off
+ * the offset.
+ * @param len
+ * the number of bytes to be read.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void readFully(byte[] b, int off, int len) throws IOException;
/**
- * Reads number of bytes from the stream which is equal to
- * the specified array's length, and stores them into
- * this array.
- *
- * @param b the byte array.
+ * Reads number of bytes from the stream which is equal to the specified
+ * array's length, and stores them into this array.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param b
+ * the byte array.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void readFully(byte[] b) throws IOException;
/**
- * Reads the specified number of shorts from the stream,
- * and stores the result into the specified array starting at
- * the specified index offset.
- *
- * @param s the short array.
- * @param off the offset.
- * @param len the number of shorts to be read.
+ * Reads the specified number of shorts from the stream, and stores the
+ * result into the specified array starting at the specified index offset.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param s
+ * the short array.
+ * @param off
+ * the offset.
+ * @param len
+ * the number of shorts to be read.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void readFully(short[] s, int off, int len) throws IOException;
/**
- * Reads the specified number of chars from the stream,
- * and stores the result into the specified array starting at
- * the specified index offset.
+ * Reads the specified number of chars from the stream, and stores the
+ * result into the specified array starting at the specified index offset.
*
- * @param c the char array.
- * @param off the offset.
- * @param len the number of chars to be read.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param c
+ * the char array.
+ * @param off
+ * the offset.
+ * @param len
+ * the number of chars to be read.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void readFully(char[] c, int off, int len) throws IOException;
/**
- * Reads the specified number of ints from the stream,
- * and stores the result into the specified array starting at
- * the specified index offset.
- *
- * @param i the int array.
- * @param off the offset.
- * @param len the number of ints to be read.
+ * Reads the specified number of integer from the stream, and stores the
+ * result into the specified array starting at the specified index offset.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param i
+ * the integer array.
+ * @param off
+ * the offset.
+ * @param len
+ * the number of integer to be read.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void readFully(int[] i, int off, int len) throws IOException;
/**
- * Reads the specified number of longs from the stream,
- * and stores the result into the specified array starting at
- * the specified index offset.
+ * Reads the specified number of longs from the stream, and stores the
+ * result into the specified array starting at the specified index offset.
*
- * @param l the long array.
- * @param off the offset.
- * @param len the number of longs to be read.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param l
+ * the long array.
+ * @param off
+ * the offset.
+ * @param len
+ * the number of longs to be read.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void readFully(long[] l, int off, int len) throws IOException;
/**
- * Reads the specified number of floats from the stream,
- * and stores the result into the specified array starting at
- * the specified index offset.
- *
- * @param f the float array.
- * @param off the offset.
- * @param len the number of floats to be read.
+ * Reads the specified number of floats from the stream, and stores the
+ * result into the specified array starting at the specified index offset.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param f
+ * the float array.
+ * @param off
+ * the offset.
+ * @param len
+ * the number of floats to be read.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void readFully(float[] f, int off, int len) throws IOException;
/**
- * Reads the specified number of doubles from the stream,
- * and stores the result into the specified array starting at
- * the specified index offset.
- *
- * @param d the double array.
- * @param off the offset.
- * @param len the number of doubles to be read.
+ * Reads the specified number of doubles from the stream, and stores the
+ * result into the specified array starting at the specified index offset.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param d
+ * the double array.
+ * @param off
+ * the offset.
+ * @param len
+ * the number of doubles to be read.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void readFully(double[] d, int off, int len) throws IOException;
@@ -328,8 +339,8 @@ public interface ImageInputStream extends DataInput {
* Gets the stream position.
*
* @return the stream position.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
long getStreamPosition() throws IOException;
@@ -337,17 +348,18 @@ public interface ImageInputStream extends DataInput {
* Gets the bit offset.
*
* @return the bit offset.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
int getBitOffset() throws IOException;
/**
- * Sets the bit offset to an integer between 0 and 7.
+ * Sets the bit offset to an integer between 0 and 7.
*
- * @param bitOffset the bit offset.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param bitOffset
+ * the bit offset.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void setBitOffset(int bitOffset) throws IOException;
@@ -355,90 +367,94 @@ public interface ImageInputStream extends DataInput {
* Reads a bit from the stream and returns the value 0 or 1.
*
* @return the value of single bit: 0 or 1.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
int readBit() throws IOException;
/**
* Read the specified number of bits and returns their values as long.
*
- * @param numBits the number of bits to be read.
- *
+ * @param numBits
+ * the number of bits to be read.
* @return the bit string as a long.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
long readBits(int numBits) throws IOException;
/**
- * Returns the length of the stream.
- *
- * @return the length of the stream, or -1 if unknown.
+ * Returns the length of the stream.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @return the length of the stream, or -1 if unknown.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
long length() throws IOException;
/**
- * Skipes the specified number of bytes by moving stream position.
- *
- * @param n the number of bytes.
+ * Skips the specified number of bytes by moving stream position.
*
+ * @param n
+ * the number of bytes.
* @return the actual skipped number of bytes.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
int skipBytes(int n) throws IOException;
/**
- * Skipes the specified number of bytes by moving stream position.
- *
- * @param n the number of bytes.
+ * Skips the specified number of bytes by moving stream position.
*
+ * @param n
+ * the number of bytes.
* @return the actual skipped number of bytes.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
long skipBytes(long n) throws IOException;
/**
- * Sets the current stream position to the specified location.
+ * Sets the current stream position to the specified location.
*
- * @param pos a file pointer position.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param pos
+ * a file pointer position.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void seek(long pos) throws IOException;
/**
- * Marks a position in the stream to be returned to by a subsequent
- * call to reset.
+ * Marks a position in the stream to be returned to by a subsequent call to
+ * reset.
*/
void mark();
/**
* Returns the file pointer to its previous position.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void reset() throws IOException;
/**
- * Flushes the initial position in this stream prior to the
- * specified stream position.
- *
- * @param pos the position.
+ * Flushes the initial position in this stream prior to the specified stream
+ * position.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param pos
+ * the position.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void flushBefore(long pos) throws IOException;
/**
- * Flushes the initial position in this stream prior to the
- * current stream position.
+ * Flushes the initial position in this stream prior to the current stream
+ * position.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void flush() throws IOException;
@@ -450,36 +466,37 @@ public interface ImageInputStream extends DataInput {
long getFlushedPosition();
/**
- * Returns true if this ImageInputStream caches data in order
- * to allow seeking backwards.
+ * Returns true if this ImageInputStream caches data in order to allow
+ * seeking backwards.
*
- * @return true if this ImageInputStream caches data in order
- * to allow seeking backwards, false otherwise.
+ * @return true, if this ImageInputStream caches data in order to allow
+ * seeking backwards, false otherwise.
*/
boolean isCached();
/**
- * Returns true if this ImageInputStream caches data in order
- * to allow seeking backwards, and keeps it in memory.
+ * Returns true if this ImageInputStream caches data in order to allow
+ * seeking backwards, and keeps it in memory.
*
- * @return true if this ImageInputStream caches data in order
- * to allow seeking backwards, and keeps it in memory.
+ * @return true, if this ImageInputStream caches data in order to allow
+ * seeking backwards, and keeps it in memory.
*/
boolean isCachedMemory();
/**
- * Returns true if this ImageInputStream caches data in order
- * to allow seeking backwards, and keeps it in a temporary file.
+ * Returns true if this ImageInputStream caches data in order to allow
+ * seeking backwards, and keeps it in a temporary file.
*
- * @return true if this ImageInputStream caches data in order
- * to allow seeking backwards, and keeps it in a temporary file.
+ * @return true, if this ImageInputStream caches data in order to allow
+ * seeking backwards, and keeps it in a temporary file.
*/
boolean isCachedFile();
/**
* Closes this stream.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void close() throws IOException;
}
diff --git a/awt/javax/imageio/stream/ImageInputStreamImpl.java b/awt/javax/imageio/stream/ImageInputStreamImpl.java
index 83ac13a..d79da41 100644
--- a/awt/javax/imageio/stream/ImageInputStreamImpl.java
+++ b/awt/javax/imageio/stream/ImageInputStreamImpl.java
@@ -18,6 +18,7 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.3 $
*/
+
package javax.imageio.stream;
import java.io.EOFException;
@@ -25,38 +26,54 @@ import java.io.IOException;
import java.nio.ByteOrder;
/**
- * The ImageInputStreamImpl abstract class implements
- * the ImageInputStream interface.
+ * The ImageInputStreamImpl abstract class implements the ImageInputStream
+ * interface.
+ *
+ * @since Android 1.0
*/
public abstract class ImageInputStreamImpl implements ImageInputStream {
- /** The byte order. */
+ /**
+ * The byte order.
+ */
protected ByteOrder byteOrder = ByteOrder.BIG_ENDIAN;
- /** The stream position. */
+ /**
+ * The stream position.
+ */
protected long streamPos = 0;
-
- /** The flushed position. */
+
+ /**
+ * The flushed position.
+ */
protected long flushedPos = 0;
-
- /** The bit offset. */
+
+ /**
+ * The bit offset.
+ */
protected int bitOffset = 0;
- /** The closed. */
+ /**
+ * The closed.
+ */
private boolean closed = false;
- /** The position stack. */
+ /**
+ * The position stack.
+ */
private final PositionStack posStack = new PositionStack();
/**
* Instantiates a new ImageInputStreamImpl.
*/
- public ImageInputStreamImpl() {}
+ public ImageInputStreamImpl() {
+ }
/**
* Check if the stream is closed and if true, throws an IOException.
*
- * @throws IOException Signals that the stream is closed.
+ * @throws IOException
+ * if the stream is closed.
*/
protected final void checkClosed() throws IOException {
if (closed) {
@@ -106,7 +123,7 @@ public abstract class ImageInputStreamImpl implements ImageInputStream {
if (b < 0) {
throw new EOFException("EOF reached");
}
- return (byte) b;
+ return (byte)b;
}
public int readUnsignedByte() throws IOException {
@@ -125,58 +142,57 @@ public abstract class ImageInputStreamImpl implements ImageInputStream {
throw new EOFException("EOF reached");
}
- return byteOrder == ByteOrder.BIG_ENDIAN ?
- (short) ((b1 << 8) | (b2 & 0xff)) :
- (short) ((b2 << 8) | (b1 & 0xff));
+ return byteOrder == ByteOrder.BIG_ENDIAN ? (short)((b1 << 8) | (b2 & 0xff))
+ : (short)((b2 << 8) | (b1 & 0xff));
}
public int readUnsignedShort() throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
public char readChar() throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
public int readInt() throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
public long readUnsignedInt() throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
public long readLong() throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
public float readFloat() throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
public double readDouble() throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
public String readLine() throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
public String readUTF() throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
public void readFully(byte[] b, int off, int len) throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
@@ -185,32 +201,32 @@ public abstract class ImageInputStreamImpl implements ImageInputStream {
}
public void readFully(short[] s, int off, int len) throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
public void readFully(char[] c, int off, int len) throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
public void readFully(int[] i, int off, int len) throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
public void readFully(long[] l, int off, int len) throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
public void readFully(float[] f, int off, int len) throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
public void readFully(double[] d, int off, int len) throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
@@ -230,12 +246,12 @@ public abstract class ImageInputStreamImpl implements ImageInputStream {
}
public int readBit() throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
public long readBits(int numBits) throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
@@ -244,12 +260,12 @@ public abstract class ImageInputStreamImpl implements ImageInputStream {
}
public int skipBytes(int n) throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
public long skipBytes(long n) throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
@@ -272,7 +288,7 @@ public abstract class ImageInputStreamImpl implements ImageInputStream {
}
public void reset() throws IOException {
- //-- TODO bit pos
+ // -- TODO bit pos
if (!posStack.isEmpty()) {
long p = posStack.pop();
if (p < flushedPos) {
@@ -290,7 +306,7 @@ public abstract class ImageInputStreamImpl implements ImageInputStream {
throw new IndexOutOfBoundsException("Trying to flush within already flushed portion");
}
flushedPos = pos;
- //-- TODO implement
+ // -- TODO implement
}
public void flush() throws IOException {
@@ -302,15 +318,15 @@ public abstract class ImageInputStreamImpl implements ImageInputStream {
}
public boolean isCached() {
- return false; //def
+ return false; // def
}
public boolean isCachedMemory() {
- return false; //def
+ return false; // def
}
public boolean isCachedFile() {
- return false; //def
+ return false; // def
}
public void close() throws IOException {
@@ -322,7 +338,8 @@ public abstract class ImageInputStreamImpl implements ImageInputStream {
/**
* Finalizes this object.
*
- * @throws Throwable if an error occurs.
+ * @throws Throwable
+ * if an error occurs.
*/
@Override
protected void finalize() throws Throwable {
@@ -339,25 +356,31 @@ public abstract class ImageInputStreamImpl implements ImageInputStream {
* The Class PositionStack.
*/
private static class PositionStack {
-
- /** The Constant SIZE. */
+
+ /**
+ * The Constant SIZE.
+ */
private static final int SIZE = 10;
- /** The values. */
+ /**
+ * The values.
+ */
private long[] values = new long[SIZE];
-
- /** The pos. */
- private int pos = 0;
+ /**
+ * The pos.
+ */
+ private int pos = 0;
/**
* Push.
*
- * @param v the v
+ * @param v
+ * the v.
*/
void push(long v) {
if (pos >= values.length) {
- ensure(pos+1);
+ ensure(pos + 1);
}
values[pos++] = v;
}
@@ -365,7 +388,7 @@ public abstract class ImageInputStreamImpl implements ImageInputStream {
/**
* Pop.
*
- * @return the long
+ * @return the long.
*/
long pop() {
return values[--pos];
@@ -374,7 +397,7 @@ public abstract class ImageInputStreamImpl implements ImageInputStream {
/**
* Checks if is empty.
*
- * @return true, if is empty
+ * @return true, if is empty.
*/
boolean isEmpty() {
return pos == 0;
@@ -383,7 +406,8 @@ public abstract class ImageInputStreamImpl implements ImageInputStream {
/**
* Ensure.
*
- * @param size the size
+ * @param size
+ * the size.
*/
private void ensure(int size) {
long[] arr = new long[Math.max(2 * values.length, size)];
diff --git a/awt/javax/imageio/stream/ImageOutputStream.java b/awt/javax/imageio/stream/ImageOutputStream.java
index e59b69d..28ec932 100644
--- a/awt/javax/imageio/stream/ImageOutputStream.java
+++ b/awt/javax/imageio/stream/ImageOutputStream.java
@@ -18,252 +18,289 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.2 $
*/
+
package javax.imageio.stream;
import java.io.DataOutput;
import java.io.IOException;
/**
- * The ImageOutputStream represents output stream interface that is
- * used by ImageWriters.
+ * The ImageOutputStream represents output stream interface that is used by
+ * ImageWriters.
+ *
+ * @since Android 1.0
*/
public interface ImageOutputStream extends DataOutput, ImageInputStream {
/**
- * Writes a single byte to the stream at the current position.
- *
- * @param b the int value, of which the 8 lowest bits
- * will be written.
+ * Writes a single byte to the stream at the current position.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param b
+ * the integer value, of which the 8 lowest bits will be written.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void write(int b) throws IOException;
/**
* Writes the bytes array to the stream.
*
- * @param b the byte array to be written.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param b
+ * the byte array to be written.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void write(byte[] b) throws IOException;
/**
- * Writes a number of bytes from the specified byte array
- * beggining from the specified offset.
- *
- * @param b the byte array.
- * @param off the offset.
- * @param len the number of bytes to be written.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * Writes a number of bytes from the specified byte array beginning from the
+ * specified offset.
+ *
+ * @param b
+ * the byte array.
+ * @param off
+ * the offset.
+ * @param len
+ * the number of bytes to be written.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void write(byte[] b, int off, int len) throws IOException;
/**
- * Writes the specified boolean value to the stream, 1 if it is true,
- * 0 if it is false.
- *
- * @param b the boolean value to be written.
+ * Writes the specified boolean value to the stream, 1 if it is true, 0 if
+ * it is false.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param b
+ * the boolean value to be written.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void writeBoolean(boolean b) throws IOException;
/**
- * Writes the 8 lowest bits of the specified int value to the stream.
+ * Writes the 8 lowest bits of the specified integer value to the stream.
*
- * @param b the specified int value.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param b
+ * the specified integer value.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void writeByte(int b) throws IOException;
/**
- * Writes a short value to the output stream.
- *
- * @param v the short value to be written.
+ * Writes a short value to the output stream.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param v
+ * the short value to be written.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void writeShort(int v) throws IOException;
/**
- * Writes the 16 lowest bits of the specified int value to the stream.
+ * Writes the 16 lowest bits of the specified integer value to the stream.
*
- * @param v the specified int value.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param v
+ * the specified integer value.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void writeChar(int v) throws IOException;
/**
- * Writes an integer value to the output stream.
- *
- * @param v the integer value to be written.
+ * Writes an integer value to the output stream.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param v
+ * the integer value to be written.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void writeInt(int v) throws IOException;
/**
* Write long.
*
- * @param v the long value
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param v
+ * the long value.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void writeLong(long v) throws IOException;
/**
- * Writes a float value to the output stream.
- *
- * @param v the float which contains value to be written.
+ * Writes a float value to the output stream.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param v
+ * the float which contains value to be written.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void writeFloat(float v) throws IOException;
/**
- * Writes a double value to the output stream.
+ * Writes a double value to the output stream.
*
- * @param v the double which contains value to be written.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param v
+ * the double which contains value to be written.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void writeDouble(double v) throws IOException;
/**
* Writes the specified string to the stream.
*
- * @param s the string to be written.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param s
+ * the string to be written.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void writeBytes(String s) throws IOException;
/**
* Writes the specified String to the output stream.
*
- * @param s the String to be written.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param s
+ * the String to be written.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void writeChars(String s) throws IOException;
/**
- * Writes 2 bytes to the output stream in
- * the modified UTF-8 representation of every character of
- * the specified string.
- *
- * @param s the specified string to be written.
+ * Writes 2 bytes to the output stream in the modified UTF-8 representation
+ * of every character of the specified string.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param s
+ * the specified string to be written.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void writeUTF(String s) throws IOException;
/**
- * Flushes the initial position in this stream prior to the
- * specified stream position.
+ * Flushes the initial position in this stream prior to the specified stream
+ * position.
*
- * @param pos the position.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param pos
+ * the position.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void flushBefore(long pos) throws IOException;
-
/**
- * Writes a len number of short values from the specified array
- * to the stream.
- *
- * @param s the shorts array to be written.
- * @param off the offset in the char array.
- * @param len the length of chars to be written.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * Writes a len number of short values from the specified array to the
+ * stream.
+ *
+ * @param s
+ * the shorts array to be written.
+ * @param off
+ * the offset in the char array.
+ * @param len
+ * the length of chars to be written.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void writeShorts(short[] s, int off, int len) throws IOException;
/**
* Writes a len number of chars to the stream.
*
- * @param c the char array to be written.
- * @param off the offset in the char array.
- * @param len the length of chars to be written.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param c
+ * the char array to be written.
+ * @param off
+ * the offset in the char array.
+ * @param len
+ * the length of chars to be written.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void writeChars(char[] c, int off, int len) throws IOException;
/**
- * Writes a len number of int values from the specified array
- * to the stream.
- *
- * @param i the int array to be written.
- * @param off the offset in the char array.
- * @param len the length of chars to be written.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * Writes a len number of integer values from the specified array to the
+ * stream.
+ *
+ * @param i
+ * the integer array to be written.
+ * @param off
+ * the offset in the char array.
+ * @param len
+ * the length of chars to be written.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void writeInts(int[] i, int off, int len) throws IOException;
/**
- * Writes a len number of long values from the specified array
- * to the stream.
- *
- * @param l the long array to be written.
- * @param off the offset in the char array.
- * @param len the length of chars to be written.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * Writes a len number of long values from the specified array to the
+ * stream.
+ *
+ * @param l
+ * the long array to be written.
+ * @param off
+ * the offset in the char array.
+ * @param len
+ * the length of chars to be written.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void writeLongs(long[] l, int off, int len) throws IOException;
/**
- * Writes a len number of float values from the specified array
- * to the stream.
- *
- * @param f the float array to be written.
- * @param off the offset in the char array.
- * @param len the length of chars to be written.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * Writes a len number of float values from the specified array to the
+ * stream.
+ *
+ * @param f
+ * the float array to be written.
+ * @param off
+ * the offset in the char array.
+ * @param len
+ * the length of chars to be written.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void writeFloats(float[] f, int off, int len) throws IOException;
/**
- * Writes a len number of double values from the specified array
- * to the stream.
- *
- * @param d the double array to be written.
- * @param off the offset in the char array.
- * @param len the length of chars to be written.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * Writes a len number of double values from the specified array to the
+ * stream.
+ *
+ * @param d
+ * the double array to be written.
+ * @param off
+ * the offset in the char array.
+ * @param len
+ * the length of chars to be written.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void writeDoubles(double[] d, int off, int len) throws IOException;
/**
* Writes a single bit at the current position.
*
- * @param bit the an int whose least significant bit is to be
- * written to the stream.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * @param bit
+ * the integer whose least significant bit is to be written to
+ * the stream.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void writeBit(int bit) throws IOException;
/**
- * Writes a sequence of bits beggining from the current position.
- *
- * @param bits a long value containing the bits to be written,
- * starting with the bit in position numBits - 1 down to the
- * least significant bit.
- * @param numBits the number of significant bit ,
- * it can be between 0 and 64.
- *
- * @throws IOException Signals that an I/O exception has occurred.
+ * Writes a sequence of bits beginning from the current position.
+ *
+ * @param bits
+ * the long value containing the bits to be written, starting
+ * with the bit in position numBits - 1 down to the least
+ * significant bit.
+ * @param numBits
+ * the number of significant bit, it can be between 0 and 64.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
void writeBits(long bits, int numBits) throws IOException;
diff --git a/awt/javax/imageio/stream/ImageOutputStreamImpl.java b/awt/javax/imageio/stream/ImageOutputStreamImpl.java
index c3d80fa..0fef78f 100644
--- a/awt/javax/imageio/stream/ImageOutputStreamImpl.java
+++ b/awt/javax/imageio/stream/ImageOutputStreamImpl.java
@@ -18,6 +18,7 @@
* @author Rustem V. Rafikov
* @version $Revision: 1.3 $
*/
+
package javax.imageio.stream;
import java.io.IOException;
@@ -29,16 +30,19 @@ import java.nio.ByteOrder;
*/
/**
- * The ImageOutputStreamImpl abstract class implements
- * the ImageOutputStream interface.
+ * The ImageOutputStreamImpl abstract class implements the ImageOutputStream
+ * interface.
+ *
+ * @since Android 1.0
*/
-public abstract class ImageOutputStreamImpl extends ImageInputStreamImpl
- implements ImageOutputStream {
+public abstract class ImageOutputStreamImpl extends ImageInputStreamImpl implements
+ ImageOutputStream {
/**
* Instantiates a new ImageOutputStreamImpl.
*/
- public ImageOutputStreamImpl() {}
+ public ImageOutputStreamImpl() {
+ }
public abstract void write(int b) throws IOException;
@@ -62,7 +66,7 @@ public abstract class ImageOutputStreamImpl extends ImageInputStreamImpl
} else {
}
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
@@ -76,7 +80,7 @@ public abstract class ImageOutputStreamImpl extends ImageInputStreamImpl
} else {
}
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
@@ -86,7 +90,7 @@ public abstract class ImageOutputStreamImpl extends ImageInputStreamImpl
} else {
}
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
@@ -108,62 +112,63 @@ public abstract class ImageOutputStreamImpl extends ImageInputStreamImpl
}
public void writeUTF(String s) throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
public void writeShorts(short[] s, int off, int len) throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
public void writeChars(char[] c, int off, int len) throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
public void writeInts(int[] i, int off, int len) throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
public void writeLongs(long[] l, int off, int len) throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
public void writeFloats(float[] f, int off, int len) throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
public void writeDoubles(double[] d, int off, int len) throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
public void writeBit(int bit) throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
public void writeBits(long bits, int numBits) throws IOException {
- //-- TODO implement
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
/**
- * Flushes the bits. This method should be called in the write
- * methods by subclasses.
+ * Flushes the bits. This method should be called in the write methods by
+ * subclasses.
*
- * @throws IOException Signals that an I/O exception has occurred.
+ * @throws IOException
+ * if an I/O exception has occurred.
*/
protected final void flushBits() throws IOException {
if (bitOffset == 0) {
return;
}
-
- //-- TODO implement
+
+ // -- TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
}
diff --git a/awt/javax/imageio/stream/MemoryCacheImageInputStream.java b/awt/javax/imageio/stream/MemoryCacheImageInputStream.java
index a3d470b..d7fc791 100644
--- a/awt/javax/imageio/stream/MemoryCacheImageInputStream.java
+++ b/awt/javax/imageio/stream/MemoryCacheImageInputStream.java
@@ -15,7 +15,6 @@
* limitations under the License.
*/
-
package javax.imageio.stream;
import org.apache.harmony.x.imageio.stream.RandomAccessMemoryCache;
@@ -24,22 +23,29 @@ import java.io.IOException;
import java.io.InputStream;
/**
- * The MemoryCacheImageInputStream class implements ImageInputStream
- * using a memory buffer for caching the data.
+ * The MemoryCacheImageInputStream class implements ImageInputStream using a
+ * memory buffer for caching the data.
+ *
+ * @since Android 1.0
*/
-public class MemoryCacheImageInputStream extends ImageInputStreamImpl {
-
- /** The is. */
+public class MemoryCacheImageInputStream extends ImageInputStreamImpl {
+
+ /**
+ * The is.
+ */
private InputStream is;
-
- /** The ramc. */
+
+ /**
+ * The ramc.
+ */
private RandomAccessMemoryCache ramc = new RandomAccessMemoryCache();
/**
- * Instantiates a new MemoryCacheImageInputStream
- * which reads from the specified InputStream.
+ * Instantiates a new MemoryCacheImageInputStream which reads from the
+ * specified InputStream.
*
- * @param stream the InputStream to be read.
+ * @param stream
+ * the InputStream to be read.
*/
public MemoryCacheImageInputStream(InputStream stream) {
if (stream == null) {
diff --git a/awt/javax/imageio/stream/MemoryCacheImageOutputStream.java b/awt/javax/imageio/stream/MemoryCacheImageOutputStream.java
index 96ded43..1df40a3 100644
--- a/awt/javax/imageio/stream/MemoryCacheImageOutputStream.java
+++ b/awt/javax/imageio/stream/MemoryCacheImageOutputStream.java
@@ -15,7 +15,6 @@
* limitations under the License.
*/
-
package javax.imageio.stream;
import org.apache.harmony.x.imageio.stream.RandomAccessMemoryCache;
@@ -23,24 +22,30 @@ import org.apache.harmony.x.imageio.stream.RandomAccessMemoryCache;
import java.io.OutputStream;
import java.io.IOException;
-
/**
- * The MemoryCacheImageOutputStream class implements ImageOutputStream
- * using a memory buffer for caching the data.
+ * The MemoryCacheImageOutputStream class implements ImageOutputStream using a
+ * memory buffer for caching the data.
+ *
+ * @since Android 1.0
*/
public class MemoryCacheImageOutputStream extends ImageOutputStreamImpl {
-
- /** The os. */
+
+ /**
+ * The os.
+ */
OutputStream os;
-
- /** The ramc. */
+
+ /**
+ * The ramc.
+ */
RandomAccessMemoryCache ramc = new RandomAccessMemoryCache();
/**
- * Instantiates a new MemoryCacheImageOutputStream
- * which writes to the specified OutputStream.
+ * Instantiates a new MemoryCacheImageOutputStream which writes to the
+ * specified OutputStream.
*
- * @param stream the OutputStream.
+ * @param stream
+ * the OutputStream.
*/
public MemoryCacheImageOutputStream(OutputStream stream) {
if (stream == null) {
@@ -125,6 +130,6 @@ public class MemoryCacheImageOutputStream extends ImageOutputStreamImpl {
ramc.getData(os, nBytes, flushedPosition);
ramc.freeBefore(newFlushedPosition);
- os.flush();
+ os.flush();
}
}
diff --git a/awt/javax/imageio/stream/package.html b/awt/javax/imageio/stream/package.html
new file mode 100644
index 0000000..6cf53c3
--- /dev/null
+++ b/awt/javax/imageio/stream/package.html
@@ -0,0 +1,8 @@
+<html>
+ <body>
+ <p>
+ This package contains classes and interfaces for handling images with low-level I/O operations.
+ </p>
+ @since Android 1.0
+ </body>
+</html>
diff --git a/awt/org/apache/harmony/awt/internal/nls/Messages.java b/awt/org/apache/harmony/awt/internal/nls/Messages.java
index 96762c9..c340358 100644
--- a/awt/org/apache/harmony/awt/internal/nls/Messages.java
+++ b/awt/org/apache/harmony/awt/internal/nls/Messages.java
@@ -71,7 +71,9 @@ public class Messages {
* @return String the message for that key in the system message bundle.
*/
static public String getString(String msg) {
+ // BEGIN android-changed
return MsgHelp.getString(msg);
+ // END android-changed
}
/**
@@ -138,6 +140,12 @@ public class Messages {
* @return String the message for that key in the system message bundle.
*/
static public String getString(String msg, Object[] args) {
+ // BEGIN android-changed
return MsgHelp.getString(msg, args);
+ // END android-changed
}
+
+ // BEGIN android-note
+ // Duplicate code was dropped in favor of using MsgHelp.
+ // END android-note
}
diff --git a/awt/org/apache/harmony/beans/internal/nls/Messages.java b/awt/org/apache/harmony/beans/internal/nls/Messages.java
index 727c757..51e8168 100644
--- a/awt/org/apache/harmony/beans/internal/nls/Messages.java
+++ b/awt/org/apache/harmony/beans/internal/nls/Messages.java
@@ -30,8 +30,17 @@ import java.util.Locale;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
-import org.apache.harmony.kernel.vm.VM;
-import org.apache.harmony.luni.util.MsgHelp;
+// BEGIN android-deleted
+/*
+ * For Android, this module is a separate library and not part of the
+ * boot classpath, so its resources won't be found on the boot classpath
+ * as is assumed by MsgHelp.getString(). We instead use a local MsgHelp
+ * which bottoms out in a call to the useful part of its lower-level
+ * namesake.
+ */
+//import org.apache.harmony.kernel.vm.VM;
+//import org.apache.harmony.luni.util.MsgHelp;
+// END android-deleted
/**
* This class retrieves strings from a resource bundle and returns them,
@@ -49,8 +58,10 @@ import org.apache.harmony.luni.util.MsgHelp;
*/
public class Messages {
- private static final String sResource =
- "org.apache.harmony.beans.internal.nls.messages"; //$NON-NLS-1$
+ // BEGIN android-deleted
+ // private static final String sResource =
+ // "org.apache.harmony.beans.internal.nls.messages"; //$NON-NLS-1$
+ // END android-deleted
/**
* Retrieves a message which has no arguments.
@@ -60,7 +71,9 @@ public class Messages {
* @return String the message for that key in the system message bundle.
*/
static public String getString(String msg) {
- return MsgHelp.getString(sResource, msg);
+ // BEGIN android-changed
+ return MsgHelp.getString(msg);
+ // END android-changed
}
/**
@@ -127,6 +140,12 @@ public class Messages {
* @return String the message for that key in the system message bundle.
*/
static public String getString(String msg, Object[] args) {
- return MsgHelp.getString(sResource, msg, args);
+ // BEGIN android-changed
+ return MsgHelp.getString(msg, args);
+ // END android-changed
}
+
+ // BEGIN android-note
+ // Duplicate code was dropped in favor of using MsgHelp.
+ // END android-note
}
diff --git a/awt/org/apache/harmony/beans/internal/nls/MsgHelp.java b/awt/org/apache/harmony/beans/internal/nls/MsgHelp.java
new file mode 100644
index 0000000..68faabf
--- /dev/null
+++ b/awt/org/apache/harmony/beans/internal/nls/MsgHelp.java
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * This implementation is based on the class of the same name in
+ * org.apache.harmony.luni.util.
+ */
+
+package org.apache.harmony.beans.internal.nls;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.logging.Logger;
+import java.util.Locale;
+import java.util.PropertyResourceBundle;
+import java.util.ResourceBundle;
+import java.util.MissingResourceException;
+
+/**
+ * This class contains helper methods for loading resource bundles and
+ * formatting external message strings.
+ */
+public final class MsgHelp {
+ /** name of the resource for this class */
+ private static final String RESOURCE_NAME =
+ "/org/apache/harmony/beans/internal/nls/messages.properties";
+
+ /** the resource bundle for this class */
+ private static final ResourceBundle THE_BUNDLE;
+
+ static {
+ ResourceBundle rb = null;
+
+ try {
+ InputStream in = MsgHelp.class.getResourceAsStream(
+ RESOURCE_NAME);
+ rb = new PropertyResourceBundle(in);
+ } catch (IOException ex) {
+ Logger.global.warning("Couldn't read resource bundle: " +
+ ex);
+ } catch (RuntimeException ex) {
+ // Shouldn't happen, but deal at least somewhat gracefully.
+ Logger.global.warning("Couldn't find resource bundle: " +
+ ex);
+ }
+
+ THE_BUNDLE = rb;
+ }
+
+ public static String getString(String msg) {
+ if (THE_BUNDLE == null) {
+ return msg;
+ }
+ try {
+ return THE_BUNDLE.getString(msg);
+ } catch (MissingResourceException e) {
+ return "Missing message: " + msg;
+ }
+ }
+
+ static public String getString(String msg, Object[] args) {
+ String format = msg;
+ if (THE_BUNDLE != null) {
+ try {
+ format = THE_BUNDLE.getString(msg);
+ } catch (MissingResourceException e) {
+ }
+ }
+
+ return org.apache.harmony.luni.util.MsgHelp.format(format, args);
+ }
+}
diff --git a/awt/org/apache/harmony/beans/internal/nls/messages.properties b/awt/resources/org/apache/harmony/beans/internals/nls/messages.properties
index 72b1c8c..72b1c8c 100644
--- a/awt/org/apache/harmony/beans/internal/nls/messages.properties
+++ b/awt/resources/org/apache/harmony/beans/internals/nls/messages.properties