0N/A/*
2362N/A * Copyright (c) 1997, 1998, Oracle and/or its affiliates. All rights reserved.
0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0N/A *
0N/A * This code is free software; you can redistribute it and/or modify it
0N/A * under the terms of the GNU General Public License version 2 only, as
2362N/A * published by the Free Software Foundation. Oracle designates this
0N/A * particular file as subject to the "Classpath" exception as provided
2362N/A * by Oracle in the LICENSE file that accompanied this code.
0N/A *
0N/A * This code is distributed in the hope that it will be useful, but WITHOUT
0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0N/A * version 2 for more details (a copy is included in the LICENSE file that
0N/A * accompanied this code).
0N/A *
0N/A * You should have received a copy of the GNU General Public License version
0N/A * 2 along with this work; if not, write to the Free Software Foundation,
0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0N/A *
2362N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
2362N/A * or visit www.oracle.com if you need additional information or have any
2362N/A * questions.
0N/A */
0N/A#include <jni.h>
0N/A#include "jni_util.h"
0N/A#define IMGEXTERN
0N/A#include "imageInitIDs.h"
0N/A
0N/AJNIEXPORT void JNICALL
0N/AJava_java_awt_image_BufferedImage_initIDs(JNIEnv *env, jclass cls) {
0N/A g_BImgRasterID = (*env)->GetFieldID(env, cls, "raster",
0N/A "Ljava/awt/image/WritableRaster;");
0N/A g_BImgTypeID = (*env)->GetFieldID(env, cls, "imageType", "I");
0N/A g_BImgCMID = (*env)->GetFieldID(env, cls, "colorModel",
0N/A "Ljava/awt/image/ColorModel;");
0N/A g_BImgGetRGBMID = (*env)->GetMethodID(env, cls, "getRGB",
0N/A "(IIII[III)[I");
0N/A g_BImgSetRGBMID = (*env)->GetMethodID(env, cls, "setRGB",
0N/A "(IIII[III)V");
0N/A if (g_BImgRasterID == NULL || g_BImgTypeID == NULL || g_BImgCMID == NULL
0N/A || g_BImgGetRGBMID == NULL) {
0N/A JNU_ThrowNullPointerException(env, "Unable to grab field ids");
0N/A }
0N/A}
0N/A
0N/AJNIEXPORT void JNICALL
0N/AJava_java_awt_image_Raster_initIDs(JNIEnv *env, jclass cls) {
0N/A g_RasterWidthID = (*env)->GetFieldID(env, cls, "width", "I");
0N/A g_RasterHeightID = (*env)->GetFieldID(env, cls, "height", "I");
0N/A g_RasterNumBandsID = (*env)->GetFieldID(env, cls, "numBands", "I");
0N/A g_RasterGetDataMID = (*env)->GetMethodID(env, cls, "getDataElements",
0N/A "(IIIILjava/lang/Object;)Ljava/lang/Object;");
0N/A g_RasterMinXID = (*env)->GetFieldID(env, cls, "minX", "I");
0N/A g_RasterMinYID = (*env)->GetFieldID(env, cls, "minY", "I");
0N/A g_RasterBaseOriginXID = (*env)->GetFieldID(env, cls,
0N/A "sampleModelTranslateX", "I");
0N/A g_RasterBaseOriginYID = (*env)->GetFieldID(env, cls,
0N/A "sampleModelTranslateY", "I");
0N/A g_RasterSampleModelID = (*env)->GetFieldID(env, cls,
0N/A "sampleModel","Ljava/awt/image/SampleModel;");
0N/A g_RasterNumDataElementsID = (*env)->GetFieldID(env, cls, "numDataElements",
0N/A "I");
0N/A g_RasterNumBandsID = (*env)->GetFieldID(env, cls, "numBands", "I");
0N/A g_RasterDataBufferID = (*env)->GetFieldID(env, cls, "dataBuffer",
0N/A "Ljava/awt/image/DataBuffer;");
0N/A if (g_RasterWidthID == NULL || g_RasterHeightID == NULL
0N/A || g_RasterNumBandsID == NULL || g_RasterGetDataMID == NULL
0N/A || g_RasterMinXID == NULL || g_RasterMinYID == NULL
0N/A || g_RasterBaseOriginXID == NULL || g_RasterBaseOriginYID == NULL
0N/A || g_RasterSampleModelID == NULL || g_RasterNumDataElementsID == NULL
0N/A || g_RasterNumBandsID == NULL || g_RasterDataBufferID == NULL)
0N/A {
0N/A JNU_ThrowNullPointerException(env, "Unable to grab field ids");
0N/A }
0N/A}
0N/A
0N/AJNIEXPORT void JNICALL
0N/AJava_sun_awt_image_ByteComponentRaster_initIDs(JNIEnv *env, jclass cls) {
0N/A g_BCRdataID = (*env)->GetFieldID(env, cls, "data", "[B");
0N/A g_BCRscanstrID = (*env)->GetFieldID(env, cls, "scanlineStride", "I");
0N/A g_BCRpixstrID = (*env)->GetFieldID(env, cls, "pixelStride", "I");
0N/A g_BCRbandoffsID = (*env)->GetFieldID(env, cls, "bandOffset", "I");
0N/A g_BCRdataOffsetsID = (*env)->GetFieldID(env, cls, "dataOffsets", "[I");
0N/A g_BCRtypeID = (*env)->GetFieldID(env, cls, "type", "I");
0N/A if (g_BCRdataID == NULL || g_BCRscanstrID == NULL ||
0N/A g_BCRpixstrID == NULL || g_BCRbandoffsID == NULL ||
0N/A g_BCRtypeID == NULL)
0N/A {
0N/A JNU_ThrowNullPointerException(env, "Unable to grab field ids");
0N/A }
0N/A}
0N/A
0N/AJNIEXPORT void JNICALL
0N/AJava_sun_awt_image_BytePackedRaster_initIDs(JNIEnv *env, jclass cls) {
0N/A g_BPRdataID = (*env)->GetFieldID(env, cls, "data", "[B");
0N/A g_BPRscanstrID = (*env)->GetFieldID(env, cls, "scanlineStride", "I");
0N/A g_BPRpixstrID = (*env)->GetFieldID(env, cls, "pixelBitStride", "I");
0N/A g_BPRtypeID = (*env)->GetFieldID(env, cls, "type", "I");
0N/A g_BPRdataBitOffsetID = (*env)->GetFieldID(env, cls, "dataBitOffset", "I");
0N/A if (g_BPRdataID == NULL || g_BPRscanstrID == NULL ||
0N/A g_BPRpixstrID == NULL || g_BPRtypeID == NULL)
0N/A {
0N/A JNU_ThrowNullPointerException(env, "Unable to grab field ids");
0N/A }
0N/A}
0N/A
0N/AJNIEXPORT void JNICALL
0N/AJava_sun_awt_image_ShortComponentRaster_initIDs(JNIEnv *env, jclass cls) {
0N/A g_SCRdataID = (*env)->GetFieldID(env, cls, "data", "[S");
0N/A g_SCRscanstrID = (*env)->GetFieldID(env, cls, "scanlineStride", "I");
0N/A g_SCRpixstrID = (*env)->GetFieldID(env, cls, "pixelStride", "I");
0N/A g_SCRbandoffsID = (*env)->GetFieldID(env, cls, "bandOffset", "I");
0N/A g_SCRdataOffsetsID = (*env)->GetFieldID(env, cls, "dataOffsets", "[I");
0N/A g_SCRtypeID = (*env)->GetFieldID(env, cls, "type", "I");
0N/A if (g_SCRdataID == NULL || g_SCRscanstrID == NULL ||
0N/A g_SCRpixstrID == NULL || g_SCRbandoffsID == NULL ||
0N/A g_SCRdataOffsetsID == NULL || g_SCRtypeID == NULL)
0N/A {
0N/A JNU_ThrowNullPointerException(env, "Unable to grab field ids");
0N/A }
0N/A}
0N/AJNIEXPORT void JNICALL
0N/AJava_sun_awt_image_IntegerComponentRaster_initIDs(JNIEnv *env, jclass cls) {
0N/A g_ICRdataID = (*env)->GetFieldID(env, cls, "data", "[I");
0N/A g_ICRscanstrID = (*env)->GetFieldID(env, cls, "scanlineStride", "I");
0N/A g_ICRpixstrID = (*env)->GetFieldID(env, cls, "pixelStride", "I");
0N/A g_ICRdataOffsetsID = (*env)->GetFieldID(env, cls, "dataOffsets", "[I");
0N/A g_ICRbandoffsID = (*env)->GetFieldID(env, cls, "bandOffset", "I");
0N/A g_ICRputDataMID = (*env)->GetMethodID(env, cls, "setDataElements",
0N/A "(IIIILjava/lang/Object;)V");
0N/A g_ICRtypeID = (*env)->GetFieldID(env, cls, "type", "I");
0N/A if (g_ICRdataID == NULL || g_ICRscanstrID == NULL
0N/A || g_ICRpixstrID == NULL || g_ICRbandoffsID == NULL
0N/A || g_ICRputDataMID == NULL || g_ICRdataOffsetsID == NULL || g_ICRtypeID == NULL)
0N/A {
0N/A JNU_ThrowNullPointerException(env, "Unable to grab field ids");
0N/A }
0N/A}
0N/A
0N/AJNIEXPORT void JNICALL
0N/AJava_java_awt_image_SinglePixelPackedSampleModel_initIDs(JNIEnv *env,
0N/A jclass cls) {
0N/A g_SPPSMmaskArrID = (*env)->GetFieldID(env, cls, "bitMasks", "[I");
0N/A g_SPPSMmaskOffID = (*env)->GetFieldID(env, cls, "bitOffsets", "[I");
0N/A g_SPPSMnBitsID = (*env)->GetFieldID(env, cls, "bitSizes", "[I");
0N/A g_SPPSMmaxBitID = (*env)->GetFieldID(env, cls, "maxBitSize", "I");
0N/A
0N/A if (g_SPPSMmaskArrID == NULL || g_SPPSMmaskOffID == NULL ||
0N/A g_SPPSMnBitsID == NULL || g_SPPSMmaxBitID == NULL) {
0N/A JNU_ThrowNullPointerException(env, "Unable to grab field ids");
0N/A }
0N/A}
0N/A
0N/AJNIEXPORT void JNICALL
0N/AJava_java_awt_image_ColorModel_initIDs(JNIEnv *env, jclass cls) {
0N/A g_CMpDataID = (*env)->GetFieldID (env, cls, "pData", "J");
0N/A g_CMnBitsID = (*env)->GetFieldID(env, cls, "nBits", "[I");
0N/A g_CMcspaceID = (*env)->GetFieldID(env, cls, "colorSpace",
0N/A "Ljava/awt/color/ColorSpace;");
0N/A g_CMnumComponentsID = (*env)->GetFieldID(env, cls, "numComponents", "I");
0N/A g_CMsuppAlphaID = (*env)->GetFieldID(env, cls, "supportsAlpha", "Z");
0N/A g_CMisAlphaPreID = (*env)->GetFieldID(env, cls, "isAlphaPremultiplied",
0N/A "Z");
0N/A g_CMtransparencyID = (*env)->GetFieldID(env, cls, "transparency", "I");
0N/A g_CMgetRGBMID = (*env)->GetMethodID(env, cls, "getRGB",
0N/A "(Ljava/lang/Object;)I");
0N/A g_CMcsTypeID = (*env)->GetFieldID(env, cls, "colorSpaceType", "I");
0N/A g_CMis_sRGBID = (*env)->GetFieldID(env, cls, "is_sRGB", "Z");
0N/A g_CMgetRGBdefaultMID = (*env)->GetStaticMethodID(env, cls,
0N/A "getRGBdefault",
0N/A "()Ljava/awt/image/ColorModel;");
0N/A if (g_CMnBitsID == NULL || g_CMcspaceID == NULL
0N/A || g_CMnumComponentsID == NULL || g_CMsuppAlphaID == NULL
0N/A || g_CMisAlphaPreID == NULL || g_CMtransparencyID == NULL
0N/A || g_CMgetRGBMID == NULL || g_CMgetRGBMID == NULL
0N/A || g_CMis_sRGBID == NULL || g_CMgetRGBdefaultMID == NULL
0N/A || g_CMpDataID == NULL)
0N/A {
0N/A JNU_ThrowNullPointerException(env, "Unable to grab field ids");
0N/A }
0N/A}
0N/A
0N/AJNIEXPORT void JNICALL
0N/AJava_java_awt_image_IndexColorModel_initIDs(JNIEnv *env, jclass cls) {
0N/A g_ICMtransIdxID = (*env)->GetFieldID(env, cls, "transparent_index", "I");
0N/A g_ICMmapSizeID = (*env)->GetFieldID(env, cls, "map_size", "I");
0N/A g_ICMrgbID = (*env)->GetFieldID(env, cls, "rgb", "[I");
0N/A if (g_ICMtransIdxID == NULL || g_ICMmapSizeID == NULL
0N/A || g_ICMrgbID == NULL) {
0N/A JNU_ThrowNullPointerException(env, "Unable to grab field ids");
0N/A }
0N/A}
0N/A
0N/AJNIEXPORT void JNICALL
0N/AJava_java_awt_image_SampleModel_initIDs(JNIEnv *env, jclass cls) {
0N/A g_SMWidthID = (*env)->GetFieldID(env, cls, "width","I");
0N/A g_SMHeightID = (*env)->GetFieldID(env, cls, "height","I");
0N/A g_SMGetPixelsMID = (*env)->GetMethodID(env, cls, "getPixels",
0N/A "(IIII[ILjava/awt/image/DataBuffer;)[I");
0N/A g_SMSetPixelsMID = (*env)->GetMethodID(env, cls, "setPixels",
0N/A "(IIII[ILjava/awt/image/DataBuffer;)V");
0N/A if (g_SMWidthID == NULL || g_SMHeightID == NULL || g_SMGetPixelsMID == NULL
0N/A || g_SMSetPixelsMID == NULL) {
0N/A JNU_ThrowNullPointerException(env, "Unable to grab field ids");
0N/A }
0N/A}
0N/A
0N/AJNIEXPORT void JNICALL
0N/AJava_java_awt_image_ComponentSampleModel_initIDs(JNIEnv *env, jclass cls) {
0N/A g_CSMPixStrideID = (*env)->GetFieldID(env, cls, "pixelStride", "I");
0N/A g_CSMScanStrideID = (*env)->GetFieldID(env, cls, "scanlineStride", "I");
0N/A g_CSMBandOffsetsID = (*env)->GetFieldID(env, cls, "bandOffsets", "[I");
0N/A if (g_CSMPixStrideID == NULL || g_CSMScanStrideID == NULL ||
0N/A g_CSMBandOffsetsID == NULL) {
0N/A JNU_ThrowNullPointerException(env, "Unable to grab field ids");
0N/A }
0N/A}
0N/A
0N/AJNIEXPORT void JNICALL
0N/AJava_java_awt_image_Kernel_initIDs(JNIEnv *env, jclass cls) {
0N/A g_KernelWidthID = (*env)->GetFieldID(env, cls, "width", "I");
0N/A g_KernelHeightID = (*env)->GetFieldID(env, cls, "height", "I");
0N/A g_KernelDataID = (*env)->GetFieldID(env, cls, "data", "[F");
0N/A if (g_KernelWidthID == NULL || g_KernelHeightID == NULL
0N/A || g_KernelDataID == NULL)
0N/A {
0N/A JNU_ThrowNullPointerException(env, "Unable to grab field ids");
0N/A }
0N/A}
0N/A
0N/AJNIEXPORT void JNICALL
0N/AJava_java_awt_image_DataBufferInt_initIDs(JNIEnv *env, jclass cls) {
0N/A g_DataBufferIntPdataID = (*env)->GetFieldID(env, cls, "pData", "J");
0N/A if (g_DataBufferIntPdataID == NULL) {
0N/A JNU_ThrowNullPointerException(env, "Unable to grab DataBufferInt.pData");
0N/A return;
0N/A }
0N/A}