/*
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
#ifndef FontScalerDefsIncludesDefined
#define FontScalerDefsIncludesDefined
#include "AccelGlyphCache.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifdef _LP64
typedef unsigned int UInt32;
typedef int Int32;
#else
typedef unsigned long UInt32;
typedef long Int32;
#endif
typedef unsigned short UInt16;
typedef short Int16;
typedef unsigned char UInt8;
typedef UInt8 Byte;
typedef Int32 hsFixed;
typedef Int32 hsFract;
typedef UInt32 Bool32;
#ifndef __cplusplus
#ifndef false
#define false 0
#endif
#ifndef true
#define true 1
#endif
#endif
/* managed: 1 means the glyph has a hardware cached
* copy, and its freeing is managed by the usual
* 2D disposer code.
* A value of 0 means its either unaccelerated (and so has no cellInfos)
* or we want to free this in a different way.
* The field uses previously unused padding, so doesn't enlarge
* the structure.
*/
#define UNMANAGED_GLYPH 0
#define MANAGED_GLYPH 1
typedef struct GlyphInfo {
float advanceX;
float advanceY;
UInt16 width;
UInt16 height;
UInt16 rowBytes;
UInt8 managed;
float topLeftX;
float topLeftY;
void *cellInfo;
UInt8 *image;
} GlyphInfo;
/* We use fffe and ffff as meaning invisible glyphs which have no
* image, or advance and an empty outline.
* Since there are no valid glyphs with this great a value (watch out for
* large fonts in the future!) we can safely use check for >= this value
*/
#define INVISIBLE_GLYPHS 0xfffe
#include "sunfontids.h"
/* If font is malformed then scaler context created by particular scaler
* will be replaced by null scaler context.
* Note that this context is not compatible with structure of the context
* object used by particular scaler. Therefore, before using context
/**代码未完, 请加载全部代码(NowJava.com).**/