869N/A/*
869N/A * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
869N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
869N/A *
869N/A * This code is free software; you can redistribute it and/or modify it
869N/A * under the terms of the GNU General Public License version 2 only, as
869N/A * published by the Free Software Foundation. Oracle designates this
869N/A * particular file as subject to the "Classpath" exception as provided
869N/A * by Oracle in the LICENSE file that accompanied this code.
869N/A *
869N/A * This code is distributed in the hope that it will be useful, but WITHOUT
869N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
869N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
869N/A * version 2 for more details (a copy is included in the LICENSE file that
869N/A * accompanied this code).
869N/A *
869N/A * You should have received a copy of the GNU General Public License version
873N/A * 2 along with this work; if not, write to the Free Software Foundation,
869N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
869N/A *
869N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
869N/A * or visit www.oracle.com if you need additional information or have any
3053N/A * questions.
869N/A */
869N/A
0N/Apackage sun.font;
0N/A
0N/Aimport java.awt.Rectangle;
0N/Aimport java.awt.geom.GeneralPath;
869N/Aimport java.awt.geom.Rectangle2D;
0N/Aimport java.awt.geom.Point2D;
0N/A
0N/Apublic abstract class FontStrike {
869N/A
0N/A
869N/A protected FontStrikeDisposer disposer;
0N/A protected FontStrikeDesc desc;
869N/A protected StrikeMetrics strikeMetrics;
869N/A protected boolean algoStyle = false;
869N/A protected float boldness = 1f;
2624N/A protected float italic = 0f;
869N/A /*
48N/A * lastLookupTime is updated by Font2D.getStrike and can be used to
869N/A * choose strikes that have not been newly referenced for purging when
0N/A * memory usage gets too high. Active strikes will never be purged
869N/A * because purging is via GC of WeakReferences.
716N/A */
869N/A //protected long lastlookupTime/* = System.currentTimeMillis()*/;
1958N/A
1963N/A public abstract int getNumGlyphs();
2340N/A
3103N/A abstract StrikeMetrics getFontMetrics();
1954N/A
1954N/A abstract void getGlyphImagePtrs(int[] glyphCodes, long[] images,int len);
1954N/A
1954N/A abstract long getGlyphImagePtr(int glyphcode);
1954N/A
1954N/A // pt, result in device space
1954N/A abstract void getGlyphImageBounds(int glyphcode,
1954N/A Point2D.Float pt,
2350N/A Rectangle result);
1954N/A
1954N/A abstract Point2D.Float getGlyphMetrics(int glyphcode);
1954N/A
1954N/A abstract Point2D.Float getCharMetrics(char ch);
0N/A
0N/A abstract float getGlyphAdvance(int glyphCode);
869N/A
868N/A abstract float getCodePointAdvance(int cp);
2624N/A
2693N/A abstract Rectangle2D.Float getGlyphOutlineBounds(int glyphCode);
2042N/A
2982N/A abstract GeneralPath
1007N/A getGlyphOutline(int glyphCode, float x, float y);
2980N/A
2963N/A abstract GeneralPath
1503N/A getGlyphVectorOutline(int[] glyphs, float x, float y);
2915N/A
869N/A
2624N/A}
2624N/A