Return-Path: Delivered-To: apmail-incubator-harmony-commits-archive@www.apache.org Received: (qmail 97546 invoked from network); 22 Sep 2006 01:10:07 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 22 Sep 2006 01:10:07 -0000 Received: (qmail 91371 invoked by uid 500); 22 Sep 2006 01:10:03 -0000 Delivered-To: apmail-incubator-harmony-commits-archive@incubator.apache.org Received: (qmail 91347 invoked by uid 500); 22 Sep 2006 01:10:03 -0000 Mailing-List: contact harmony-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: harmony-dev@incubator.apache.org Delivered-To: mailing list harmony-commits@incubator.apache.org Received: (qmail 91324 invoked by uid 99); 22 Sep 2006 01:10:03 -0000 Received: from idunn.apache.osuosl.org (HELO idunn.apache.osuosl.org) (140.211.166.84) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Sep 2006 18:10:03 -0700 Authentication-Results: idunn.apache.osuosl.org smtp.mail=geirm@apache.org; spf=permerror X-ASF-Spam-Status: No, hits=-9.4 required=5.0 tests=ALL_TRUSTED,NO_REAL_NAME Received-SPF: error (idunn.apache.osuosl.org: domain apache.org from 140.211.166.113 cause and error) Received: from [140.211.166.113] ([140.211.166.113:57785] helo=eris.apache.org) by idunn.apache.osuosl.org (ecelerity 2.1.1.8 r(12930)) with ESMTP id A9/73-06791-BD733154 for ; Thu, 21 Sep 2006 18:09:48 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id C1F6C1A9820; Thu, 21 Sep 2006 18:09:45 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: svn commit: r448759 [3/8] - in /incubator/harmony/standard/site: ./ docs/ docs/documentation/ docs/subcomponents/buildtest/ docs/subcomponents/classlibrary/ docs/subcomponents/drlvm/ docs/subcomponents/jchevm/ docs/subcomponents/stresstest/ xdocs/ xdoc... Date: Fri, 22 Sep 2006 01:09:40 -0000 To: harmony-commits@incubator.apache.org From: geirm@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20060922010945.C1F6C1A9820@eris.apache.org> X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Modified: incubator/harmony/standard/site/docs/subcomponents/classlibrary/build_classlib.html URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/subcomponents/classlibrary/build_classlib.html?view=diff&rev=448759&r1=448758&r2=448759 ============================================================================== --- incubator/harmony/standard/site/docs/subcomponents/classlibrary/build_classlib.html (original) +++ incubator/harmony/standard/site/docs/subcomponents/classlibrary/build_classlib.html Thu Sep 21 18:09:38 2006 @@ -36,7 +36,7 @@ Apache Harmony - Building the Apache Harmony Classlib - + Modified: incubator/harmony/standard/site/docs/subcomponents/classlibrary/compat.html URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/subcomponents/classlibrary/compat.html?view=diff&rev=448759&r1=448758&r2=448759 ============================================================================== --- incubator/harmony/standard/site/docs/subcomponents/classlibrary/compat.html (original) +++ incubator/harmony/standard/site/docs/subcomponents/classlibrary/compat.html Thu Sep 21 18:09:38 2006 @@ -36,7 +36,7 @@ Apache Harmony - Compatibility goals in the Apache Harmony Classlib - + Modified: incubator/harmony/standard/site/docs/subcomponents/classlibrary/dev_eclipse.html URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/subcomponents/classlibrary/dev_eclipse.html?view=diff&rev=448759&r1=448758&r2=448759 ============================================================================== --- incubator/harmony/standard/site/docs/subcomponents/classlibrary/dev_eclipse.html (original) +++ incubator/harmony/standard/site/docs/subcomponents/classlibrary/dev_eclipse.html Thu Sep 21 18:09:38 2006 @@ -36,7 +36,7 @@ Apache Harmony - Apache Harmony development using Eclipse - + Modified: incubator/harmony/standard/site/docs/subcomponents/classlibrary/dns_support.html URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/subcomponents/classlibrary/dns_support.html?view=diff&rev=448759&r1=448758&r2=448759 ============================================================================== --- incubator/harmony/standard/site/docs/subcomponents/classlibrary/dns_support.html (original) +++ incubator/harmony/standard/site/docs/subcomponents/classlibrary/dns_support.html Thu Sep 21 18:09:38 2006 @@ -36,7 +36,7 @@ Apache Harmony - Apache Harmony - + Modified: incubator/harmony/standard/site/docs/subcomponents/classlibrary/hdk.html URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/subcomponents/classlibrary/hdk.html?view=diff&rev=448759&r1=448758&r2=448759 ============================================================================== --- incubator/harmony/standard/site/docs/subcomponents/classlibrary/hdk.html (original) +++ incubator/harmony/standard/site/docs/subcomponents/classlibrary/hdk.html Thu Sep 21 18:09:38 2006 @@ -36,7 +36,7 @@ Apache Harmony - Harmony Development Kit for the Apache Harmony Class Library - + Modified: incubator/harmony/standard/site/docs/subcomponents/classlibrary/index.html URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/subcomponents/classlibrary/index.html?view=diff&rev=448759&r1=448758&r2=448759 ============================================================================== --- incubator/harmony/standard/site/docs/subcomponents/classlibrary/index.html (original) +++ incubator/harmony/standard/site/docs/subcomponents/classlibrary/index.html Thu Sep 21 18:09:38 2006 @@ -36,7 +36,7 @@ Apache Harmony - Apache Harmony - + Modified: incubator/harmony/standard/site/docs/subcomponents/classlibrary/java2d.html URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/subcomponents/classlibrary/java2d.html?view=diff&rev=448759&r1=448758&r2=448759 ============================================================================== --- incubator/harmony/standard/site/docs/subcomponents/classlibrary/java2d.html (original) +++ incubator/harmony/standard/site/docs/subcomponents/classlibrary/java2d.html Thu Sep 21 18:09:38 2006 @@ -36,7 +36,7 @@ Apache Harmony - Apache Harmony - + @@ -204,507 +204,507 @@
- - - - - - DRL Java 2D* - - - - -

- DRL Java 2D* -

-

- Revision History -

-

- Disclaimer and Legal Information -

-

- About This Document -

-

- Purpose -

-

- Intended Audience -

-

- Documentation Conventions -

-

- Introduction to Java 2D* -

-

- Java 2D* in DRL -

-

- About -

-

- Architecture Overview -

-

- Class Relationship -

-

- CommonGraphics2D Class - Internals -

-

- Platform - Specifics in DRL Java 2D* Graphics -

-

- Java 2D* Portability -

-

- References -

-

- Revision History -

- - - - - - - - - - - - - - - - -
- Version - - Version Information - - Date -
- Initial version - - Alexey Petrenko, Svetlana Konovalova: document created. - - May 18, 2006 -
- Formatting update - - Nadya Morozova - -   September 21, 2006 -
-

- Disclaimer and Legal Information -

-

- Copyright 2005-2006 The Apache Software Foundation or its licensors, - as applicable. -

-

- Licensed 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. -

-

- Portions, Copyright (C) 1991-2005 Unicode, Inc. The following applies - to Unicode -

-

- COPYRIGHT AND PERMISSION NOTICE. -

-

- Copyright (C) 1991-2005 Unicode, Inc. All rights reserved. Distributed - under the Terms of Use in http://www.unicode.org/copyright.html. - Permission is hereby granted, free of charge, to any person obtaining - a copy of the Unicode data files and any associated documentation (the - "Data Files") or Unicode software and any associated documentation - (the "Software") to deal in the Data Files or Software without - restriction, including without limitation the rights to use, copy, - modify, merge, publish, distribute, and/or sell copies of the Data - Files or Software, and to permit persons to whom the Data Files or - Software are furnished to do so, provided that (a) the above copyright - notice(s) and this permission notice appear with all copies of the - Data Files or Software, (b) both the above copyright notice(s) and - this permission notice appear in associated documentation, and (c) - there is clear notice in each modified Data File or in the Software as - well as in the documentation associated with the Data File(s) or - Software that the data or software has been modified. -

-

- THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF - ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE - WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT - HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR - ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT - OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR - SOFTWARE. -

-

- Except as contained in this notice, the name of a copyright holder - shall not be used in advertising or otherwise to promote the sale, use - or other dealings in these Data Files or Software without prior - written authorization of the copyright holder. -

-

- Additional Terms From the Database: -

-

- Copyright (C) 1995-1999 Unicode, Inc. All Rights reserved. -

-

- Disclaimer: -

-

- The Unicode Character Database is provided as is by Unicode, Inc. No - claims are made as to fitness for any particular purpose. No - warranties of any kind are expressed or implied. The recipient agrees - to determine applicability of information provided. If this file has - been purchased on magnetic or optical media from Unicode, Inc., the - sole remedy for any claim will be exchange of defective media within - 90 days of receipt. This disclaimer is applicable for all other data - files accompanying the Unicode Character Database, some of which have - been compiled by the Unicode Consortium, and some of which have been - supplied by other sources. -

-

- Limitations on Rights to Redistribute This Data: -

-

- Recipient is granted the right to make copies in any form for internal - distribution and to freely use the information supplied in the - creation of products supporting the UnicodeTM Standard. The files in - the Unicode Character Database can be redistributed to third parties - or other organizations (whether for profit or not) as long as this - notice and the disclaimer notice are retained. Information can be - extracted from these files and used in documentation or programs, as - long as there is an accompanying notice indicating the source. -

-

- About This - Document -

-

- Purpose -

-

- This document introduces the Java 2D* [1] implementation, supplied as part of the - DRL (Dynamic Runtime Layer) initiative, and gives details on its - design. -

-

- Intended - Audience -

-

- The target audience for the document includes a wide community of - engineers interested in using Java 2D* and in further - work with the product to contribute to its development. The document - assumes that readers are familiar with the Java 2D* - technology and the Java* programming language. -

-

- Documentation Conventions -

-

- This document uses the unified conventions for the DRL documentation kit. -

-

- Back to Top -

-

- Introduction to Java 2D* -

-

- The Java 2D* implementation is the collection of - classes for a high-performance two-dimensional (2D) graphics and image - processing. The package includes line and shape drawing, text and - image rendering. -

-

- Back to Top -

-

- Java 2D* in DRL -

-

- About -

-

- DRL Java 2D* is a fast and easily portable - implementation of the Java 2D* technology, consisting - of a number of classes for advanced graphics and image processing. -

-

- Back to Top -

-

- Architecture Overview -

-

- DRL Java 2D* supports the Windows* - and Linux* operating systems for the IA-32 - architecture. The Windows* version mostly uses the - GDI+ (Graphics Device Interface plus) library, but can also use the - GDI library for better performance. For example, Java 2D* can use GDI instead of GDI+ to speed up image - processing. The Linux* version uses Xlib and xft - libraries. -

-

- DRL Java 2D* has portability in its design, so that - you can easily port it to other operating systems and hardware - architectures. For details and how to port Java 2D* - on other platforms see Java 2D* - Portability. -

-

- Back to Top -

-

- Class - Relationship -

-

- Figure 1 below shows the Java 2D* structure, - demonstrating the inheritance relationship of the - Graphics2D classes: -

-

- Class Hierarchy diagram -

-

- Figure 1: Inheritance Relationship of the Graphics2D - Classes -

-
    -
  • - The abstract classes java.awt.Graphics and - java.awt.Graphics2D define the public interface for - all Graphics2D implementations. -
  • -
  • - The classes - org.apache.harmony.awt.gl.windows.WinGDIPGraphics2D - and org.apache.harmony.awt.gl.linux.XGraphics2D are - the Windows* and Linux* versions - respectively of the - org.apache.harmony.awt.gl.CommonGraphics2D class, - which implements the abstract methods of the - Graphics2D class. -
  • -
  • - The - org.apache.harmony.awt.gl.image.BufferedImageGraphics2D - class deals with drawing on buffered images. -
  • -
-

- For more information on the classes see Platform Specifics - in DRL Java 2D* Graphics. -

-

- Back to Top -

-

- CommonGraphics2D - Class Internals -

-

- The section specifies the CommonGraphics2D class internal - areas and gives description on their tools. -

-

- Line and Shape Rasterizers -

-

- The CommonGraphics2D class splits all shapes into a set - of rectangles to unify the drawing process for different operating - systems and architectures. For this purpose Java 2D* - uses the JavaShapeRasterizer and the - JavaLineRasterizer classes from the - org.apache.harmony.awt.gl.render package. The - JavaShapeRasterizer class splits an object implementing a - Shape interface into a set of rectangles and produces a MultiRectArea - object. The JavaLineRasterizer class makes line drawing - more accurate and processes lines with strokes, which are instances of - the BasicStroke class. -

-

- To port the shape drawing to another platform you just need to - override rectangle-drawing methods. However, if your operating system - has functions to draw particular shapes, you can optimize your - subclass of the CommonGraphics2D class by using this - functionality in overridden methods. -

-

- Blitters -

-

- Blitter classes draw images on the display or buffered images. All - blitters inherit the - org.apache.harmony.awt.gl.render.Blitter interface. -

-

- Blitters are divided into: -

-
    -
  • - Native blitters for simple types of images, which the - underlying native library can draw. -
  • -
  • - Java* blitters for those types of images, - which the underlying native library cannot handle. -
  • -
-

- DRL Java 2D* also uses blitters to fill the shapes - and the user-defined subclasses of the java.awt.Paint - class with paints, which the system does not support. -

-

- Text Renderers -

-

- Text renderers draw strings and glyph vectors. All text renderers are - subclasses of the org.apache.harmony.awt.gl.TextRenderer - class. -

-

- Java 2D* does not have its own font rendering engine - and uses native libraries instead: the GDI library on the Windows* OS and the Xft, FontConfig and FreeType libraries on - the Linux* OS. The - java.awt.font.NumericShaper class uses data from the - Unicode Character Database [2] for retrieving character - properties. -

-

- Back to Top -

-

- Platform - Specifics in DRL Java 2D* Graphics -

-

- The Windows* implementation - the - WinGDIPGraphics2D class - for the most part is based on - the GDI+ library, which has the routines for drawing all types of - shapes filling them with a solid color brush and a linear gradient - brush, but it does not support an acyclic gradient brush. The Java - 2D* package doesn't use the native library texture - paint option, resorting to Blitters instead. - However, the major part of the shape drawing and filling routines is - native in this class. -

-

- As for the Linux* implementation - the - XGraphics2D class - the Xlib library has no methods to - draw and fill free-form shapes. So, the corresponding - XGraphics2D methods use Rasterizers, inherited from the - CommonGraphics2D class. -

-

- Back to Top -

-

- Java 2D* Portability -

-

- The actions to port the DRL Java 2D* package to - another architecture or operating system, or to use it with another - library depend on the particular platform. The main steps are the - following: -

-
    -
  • - Create a new subclass of - org.apache.harmony.awt.gl.CommonGraphics2D. - -

    - Example -

    - -
    -         org.apache.harmony.awt.gl.windows.<SomeLib>Graphics2D   
    -         org.apache.harmony.awt.gl.<SomeOS>.<SomeLib>Graphics2D
    -           
    -
    -
  • -
  • - Implement abstract methods of the super class in your custom class. -
  • -
  • - Create platform-specific Blitters and Text Renderers. -
  • -
-

- Back to Top -

-

- References -

-

- [1] Java 2D* Technology - http://java.sun.com/j2se/1.5.0/docs/guide/2d/index.html -

-

- [2] Unicode Character Database http://www.unicode.org/ucd/ -

-

- Back to Top -

-

- (C) Copyright 2005-2006 Intel Corporation -

-

- * Other brands and names are the property of - their respective owners. -

- - - + + + + + + DRL Java 2D* + + + + +

+ DRL Java 2D* +

+

+ Revision History +

+

+ Disclaimer and Legal Information +

+

+ About This Document +

+

+ Purpose +

+

+ Intended Audience +

+

+ Documentation Conventions +

+

+ Introduction to Java 2D* +

+

+ Java 2D* in DRL +

+

+ About +

+

+ Architecture Overview +

+

+ Class Relationship +

+

+ CommonGraphics2D Class + Internals +

+

+ Platform + Specifics in DRL Java 2D* Graphics +

+

+ Java 2D* Portability +

+

+ References +

+

+ Revision History +

+ + + + + + + + + + + + + + + + +
+ Version + + Version Information + + Date +
+ Initial version + + Alexey Petrenko, Svetlana Konovalova: document created. + + May 18, 2006 +
+ Formatting update + + Nadya Morozova + +   September 21, 2006 +
+

+ Disclaimer and Legal Information +

+

+ Copyright 2005-2006 The Apache Software Foundation or its licensors, + as applicable. +

+

+ Licensed 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. +

+

+ Portions, Copyright (C) 1991-2005 Unicode, Inc. The following applies + to Unicode +

+

+ COPYRIGHT AND PERMISSION NOTICE. +

+

+ Copyright (C) 1991-2005 Unicode, Inc. All rights reserved. Distributed + under the Terms of Use in http://www.unicode.org/copyright.html. + Permission is hereby granted, free of charge, to any person obtaining + a copy of the Unicode data files and any associated documentation (the + "Data Files") or Unicode software and any associated documentation + (the "Software") to deal in the Data Files or Software without + restriction, including without limitation the rights to use, copy, + modify, merge, publish, distribute, and/or sell copies of the Data + Files or Software, and to permit persons to whom the Data Files or + Software are furnished to do so, provided that (a) the above copyright + notice(s) and this permission notice appear with all copies of the + Data Files or Software, (b) both the above copyright notice(s) and + this permission notice appear in associated documentation, and (c) + there is clear notice in each modified Data File or in the Software as + well as in the documentation associated with the Data File(s) or + Software that the data or software has been modified. +

+

+ THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF + ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE + WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR + ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT + OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR + SOFTWARE. +

+

+ Except as contained in this notice, the name of a copyright holder + shall not be used in advertising or otherwise to promote the sale, use + or other dealings in these Data Files or Software without prior + written authorization of the copyright holder. +

+

+ Additional Terms From the Database: +

+

+ Copyright (C) 1995-1999 Unicode, Inc. All Rights reserved. +

+

+ Disclaimer: +

+

+ The Unicode Character Database is provided as is by Unicode, Inc. No + claims are made as to fitness for any particular purpose. No + warranties of any kind are expressed or implied. The recipient agrees + to determine applicability of information provided. If this file has + been purchased on magnetic or optical media from Unicode, Inc., the + sole remedy for any claim will be exchange of defective media within + 90 days of receipt. This disclaimer is applicable for all other data + files accompanying the Unicode Character Database, some of which have + been compiled by the Unicode Consortium, and some of which have been + supplied by other sources. +

+

+ Limitations on Rights to Redistribute This Data: +

+

+ Recipient is granted the right to make copies in any form for internal + distribution and to freely use the information supplied in the + creation of products supporting the UnicodeTM Standard. The files in + the Unicode Character Database can be redistributed to third parties + or other organizations (whether for profit or not) as long as this + notice and the disclaimer notice are retained. Information can be + extracted from these files and used in documentation or programs, as + long as there is an accompanying notice indicating the source. +

+

+ About This + Document +

+

+ Purpose +

+

+ This document introduces the Java 2D* [1] implementation, supplied as part of the + DRL (Dynamic Runtime Layer) initiative, and gives details on its + design. +

+

+ Intended + Audience +

+

+ The target audience for the document includes a wide community of + engineers interested in using Java 2D* and in further + work with the product to contribute to its development. The document + assumes that readers are familiar with the Java 2D* + technology and the Java* programming language. +

+

+ Documentation Conventions +

+

+ This document uses the unified conventions for the DRL documentation kit. +

+

+ Back to Top +

+

+ Introduction to Java 2D* +

+

+ The Java 2D* implementation is the collection of + classes for a high-performance two-dimensional (2D) graphics and image + processing. The package includes line and shape drawing, text and + image rendering. +

+

+ Back to Top +

+

+ Java 2D* in DRL +

+

+ About +

+

+ DRL Java 2D* is a fast and easily portable + implementation of the Java 2D* technology, consisting + of a number of classes for advanced graphics and image processing. +

+

+ Back to Top +

+

+ Architecture Overview +

+

+ DRL Java 2D* supports the Windows* + and Linux* operating systems for the IA-32 + architecture. The Windows* version mostly uses the + GDI+ (Graphics Device Interface plus) library, but can also use the + GDI library for better performance. For example, Java 2D* can use GDI instead of GDI+ to speed up image + processing. The Linux* version uses Xlib and xft + libraries. +

+

+ DRL Java 2D* has portability in its design, so that + you can easily port it to other operating systems and hardware + architectures. For details and how to port Java 2D* + on other platforms see Java 2D* + Portability. +

+

+ Back to Top +

+

+ Class + Relationship +

+

+ Figure 1 below shows the Java 2D* structure, + demonstrating the inheritance relationship of the + Graphics2D classes: +

+

+ Class Hierarchy diagram +

+

+ Figure 1: Inheritance Relationship of the Graphics2D + Classes +

+
    +
  • + The abstract classes java.awt.Graphics and + java.awt.Graphics2D define the public interface for + all Graphics2D implementations. +
  • +
  • + The classes + org.apache.harmony.awt.gl.windows.WinGDIPGraphics2D + and org.apache.harmony.awt.gl.linux.XGraphics2D are + the Windows* and Linux* versions + respectively of the + org.apache.harmony.awt.gl.CommonGraphics2D class, + which implements the abstract methods of the + Graphics2D class. +
  • +
  • + The + org.apache.harmony.awt.gl.image.BufferedImageGraphics2D + class deals with drawing on buffered images. +
  • +
+

+ For more information on the classes see Platform Specifics + in DRL Java 2D* Graphics. +

+

+ Back to Top +

+

+ CommonGraphics2D + Class Internals +

+

+ The section specifies the CommonGraphics2D class internal + areas and gives description on their tools. +

+

+ Line and Shape Rasterizers +

+

+ The CommonGraphics2D class splits all shapes into a set + of rectangles to unify the drawing process for different operating + systems and architectures. For this purpose Java 2D* + uses the JavaShapeRasterizer and the + JavaLineRasterizer classes from the + org.apache.harmony.awt.gl.render package. The + JavaShapeRasterizer class splits an object implementing a + Shape interface into a set of rectangles and produces a MultiRectArea + object. The JavaLineRasterizer class makes line drawing + more accurate and processes lines with strokes, which are instances of + the BasicStroke class. +

+

+ To port the shape drawing to another platform you just need to + override rectangle-drawing methods. However, if your operating system + has functions to draw particular shapes, you can optimize your + subclass of the CommonGraphics2D class by using this + functionality in overridden methods. +

+

+ Blitters +

+

+ Blitter classes draw images on the display or buffered images. All + blitters inherit the + org.apache.harmony.awt.gl.render.Blitter interface. +

+

+ Blitters are divided into: +

+
    +
  • + Native blitters for simple types of images, which the + underlying native library can draw. +
  • +
  • + Java* blitters for those types of images, + which the underlying native library cannot handle. +
  • +
+

+ DRL Java 2D* also uses blitters to fill the shapes + and the user-defined subclasses of the java.awt.Paint + class with paints, which the system does not support. +

+

+ Text Renderers +

+

+ Text renderers draw strings and glyph vectors. All text renderers are + subclasses of the org.apache.harmony.awt.gl.TextRenderer + class. +

+

+ Java 2D* does not have its own font rendering engine + and uses native libraries instead: the GDI library on the Windows* OS and the Xft, FontConfig and FreeType libraries on + the Linux* OS. The + java.awt.font.NumericShaper class uses data from the + Unicode Character Database [2] for retrieving character + properties. +

+

+ Back to Top +

+

+ Platform + Specifics in DRL Java 2D* Graphics +

+

+ The Windows* implementation - the + WinGDIPGraphics2D class - for the most part is based on + the GDI+ library, which has the routines for drawing all types of + shapes filling them with a solid color brush and a linear gradient + brush, but it does not support an acyclic gradient brush. The Java + 2D* package doesn't use the native library texture + paint option, resorting to Blitters instead. + However, the major part of the shape drawing and filling routines is + native in this class. +

+

+ As for the Linux* implementation - the + XGraphics2D class - the Xlib library has no methods to + draw and fill free-form shapes. So, the corresponding + XGraphics2D methods use Rasterizers, inherited from the + CommonGraphics2D class. +

+

+ Back to Top +

+

+ Java 2D* Portability +

+

+ The actions to port the DRL Java 2D* package to + another architecture or operating system, or to use it with another + library depend on the particular platform. The main steps are the + following: +

+
    +
  • + Create a new subclass of + org.apache.harmony.awt.gl.CommonGraphics2D. + +

    + Example +

    + +
    +         org.apache.harmony.awt.gl.windows.<SomeLib>Graphics2D   
    +         org.apache.harmony.awt.gl.<SomeOS>.<SomeLib>Graphics2D
    +           
    +
    +
  • +
  • + Implement abstract methods of the super class in your custom class. +
  • +
  • + Create platform-specific Blitters and Text Renderers. +
  • +
+

+ Back to Top +

+

+ References +

+

+ [1] Java 2D* Technology + http://java.sun.com/j2se/1.5.0/docs/guide/2d/index.html +

+

+ [2] Unicode Character Database http://www.unicode.org/ucd/ +

+

+ Back to Top +

+

+ (C) Copyright 2005-2006 Intel Corporation +

+

+ * Other brands and names are the property of + their respective owners. +

+ + +
Modified: incubator/harmony/standard/site/docs/subcomponents/classlibrary/pkgnaming.html URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/subcomponents/classlibrary/pkgnaming.html?view=diff&rev=448759&r1=448758&r2=448759 ============================================================================== --- incubator/harmony/standard/site/docs/subcomponents/classlibrary/pkgnaming.html (original) +++ incubator/harmony/standard/site/docs/subcomponents/classlibrary/pkgnaming.html Thu Sep 21 18:09:38 2006 @@ -36,7 +36,7 @@ Apache Harmony - Package naming conventions in the Apache Harmony Classlib - + Modified: incubator/harmony/standard/site/docs/subcomponents/classlibrary/regexp.html URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/subcomponents/classlibrary/regexp.html?view=diff&rev=448759&r1=448758&r2=448759 ============================================================================== --- incubator/harmony/standard/site/docs/subcomponents/classlibrary/regexp.html (original) +++ incubator/harmony/standard/site/docs/subcomponents/classlibrary/regexp.html Thu Sep 21 18:09:38 2006 @@ -36,7 +36,7 @@ Apache Harmony - Apache Harmony - + Modified: incubator/harmony/standard/site/docs/subcomponents/classlibrary/rmi_proivider.html URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/subcomponents/classlibrary/rmi_proivider.html?view=diff&rev=448759&r1=448758&r2=448759 ============================================================================== --- incubator/harmony/standard/site/docs/subcomponents/classlibrary/rmi_proivider.html (original) +++ incubator/harmony/standard/site/docs/subcomponents/classlibrary/rmi_proivider.html Thu Sep 21 18:09:38 2006 @@ -36,7 +36,7 @@ Apache Harmony - Apache Harmony - + @@ -462,7 +462,6 @@

- Modified: incubator/harmony/standard/site/docs/subcomponents/classlibrary/ser_testing.html URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/subcomponents/classlibrary/ser_testing.html?view=diff&rev=448759&r1=448758&r2=448759 ============================================================================== --- incubator/harmony/standard/site/docs/subcomponents/classlibrary/ser_testing.html (original) +++ incubator/harmony/standard/site/docs/subcomponents/classlibrary/ser_testing.html Thu Sep 21 18:09:38 2006 @@ -36,7 +36,7 @@ Apache Harmony - Framework for testing serialization - + Added: incubator/harmony/standard/site/docs/subcomponents/classlibrary/site.css URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/subcomponents/classlibrary/site.css?view=auto&rev=448759 ============================================================================== --- incubator/harmony/standard/site/docs/subcomponents/classlibrary/site.css (added) +++ incubator/harmony/standard/site/docs/subcomponents/classlibrary/site.css Thu Sep 21 18:09:38 2006 @@ -0,0 +1,226 @@ +body { + background-color: white; + color: black; + text-align: left; + text-align: left; + font: "Times New Roman", serif; +} + +.menuItem { + vertical-align: top; + padding: 0pt; + margin-top: 4pt; + margin-bottom: 4pt; + margin-right: 0pt; + margin-left: 0pt; +} + + h1 { + font-family: Arial, helvetica, sans-serif; + font-weight: bold; + font-size: 12pt; + background-color: #525D76; + color: white; + text-indent: 2pt; + margin-left: 0pt; +} + +h2 { + font-family: Arial, helvetica, sans-serif; + font-weight: bold; + font-size: 12pt; + background-color: #828DA6; + color: white; + text-indent: 2pt; + margin-left: 10pt; +} + +h3 { + font-weight: bold; + margin-left: 20pt; + margin-top: 5pt; + margin-right: 0pt; + margin-bottom: 5pt; + text-transform: uppercase; + font-size: 11pt; +} + +a:link { + color:#525D76; +} + +p { + padding-left: 2pt; + margin-left: 20pt; +} + +td.TableCell { + vertical-align: top; + text-align: left; + background-color: #a0ddf0; +} + +th.TableHeading { + background-color: #039acc; + text-align: center; + color: black; + font-family: Arial, Helvetica, sans-serif; + padding: 2pt; +} + +table { + margin-left: 0pt; + margin-right: 0pt; +} + +img +{ + border: none; +} + +pre { + background: #F3F5F7; + border: thin solid; + border-color: #828DA6; + padding: 12pt; + font-size: 11.0pt; + font-family: Courier; + margin-right: 10pt; + margin-left: 25pt; +} + +.class { + font-weight: bold; + font-size: 10pt; + font-family: Arial; + border-top: none; + border-right: none; + border-left: none; + border-bottom: solid #525D76 2px; +} + +.special { + font-weight: bold; + text-align: center; + color: #525D76; + margin-top: 3pt; + margin-bottom: 3pt; + font-family: Arial, helvetica, sans-serif; + font-size: 10pt; +} + +.backtotop { + font-weight: bold; + margin-left: 0pt; +} + +.note { + color: red; + font-weight: bolder; + font-family: Arial, helvetica, sans-serif; + font-size: 10pt; +} + +.notetext { + padding-left: 20pt; + margin-top: 0pt; + margin-bottom: 0pt; + font-family: Arial, helvetica, sans-serif; + font-size: 10pt; +} + +.example { + font-weight: bolder; + font-family: Arial, helvetica, sans-serif; + font-size: 10pt; +} + +.exampletext { + margin-left: 40pt; +} + +.TOCHeading { + font-weight: bold; + font-size: 12pt; + text-align: left; + color: #000000; + font-family: Arial, helvetica, sans-serif; + padding-left: 15px; + margin-bottom: 5pt; + margin-top: 5pt; + margin-left: 5px; + margin-right: 0pt; +} + +.TOC { + font-size: 11pt; + text-indent: 15pt; + color: white; + padding-left: 15px; + margin-left: 5px; + margin-right: 0.00px; + margin-top: 0px; + margin-bottom: 0px; + font-family: Arial, helvetica, sans-serif; +} + +.update { + color: #A9A9A9; + font-size: smaller; + font-style: italic; +} + +li { + margin-left: 20pt; + padding-left: 1pt; + padding-top: 1pt; + padding-bottom: 1pt; + padding-right: 0pt; +} + +ol li { + list-style-type: decimal; +} + +ul li { + list-style-type: square; +} + +li ul li { + list-style-type: disc; +} + +dl { + margin: 5pt; +} + +dd { + margin-left: 30pt; + margin-top: 5pt; + margin-right: 20pt; + margin-bottom: 5pt; + border-right: none; + border-bottom: none; + border-left: none; + border-top: solid #828DA6 1px; + padding-bottom: 8px; +} + +dd p { + margin-left: 0pt; + } + + +dt { + font-size: 10pt; + font-family: Arial, helvetica, sans-serif; + font-weight: bolder; + margin-left: 20pt; + margin-top: 5pt; + margin-right: 0pt; + margin-bottom: 5pt; + border-top: none; + border-right: none; + border-bottom: none; + border-left: none; +} \ No newline at end of file Modified: incubator/harmony/standard/site/docs/subcomponents/classlibrary/status.html URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/subcomponents/classlibrary/status.html?view=diff&rev=448759&r1=448758&r2=448759 ============================================================================== --- incubator/harmony/standard/site/docs/subcomponents/classlibrary/status.html (original) +++ incubator/harmony/standard/site/docs/subcomponents/classlibrary/status.html Thu Sep 21 18:09:38 2006 @@ -36,7 +36,7 @@ Apache Harmony - Apache Harmony - + Modified: incubator/harmony/standard/site/docs/subcomponents/classlibrary/testing.html URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/subcomponents/classlibrary/testing.html?view=diff&rev=448759&r1=448758&r2=448759 ============================================================================== --- incubator/harmony/standard/site/docs/subcomponents/classlibrary/testing.html (original) +++ incubator/harmony/standard/site/docs/subcomponents/classlibrary/testing.html Thu Sep 21 18:09:38 2006 @@ -36,7 +36,7 @@ Apache Harmony - Testing conventions in the Apache Harmony Classlib - +