/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* 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.
*/
#include "jni_util.h"
#include "jlong.h"
#include "sun_java2d_loops_GraphicsPrimitiveMgr.h"
#include "Region.h"
#include "GraphicsPrimitiveMgr.h"
#include "AlphaMacros.h"
"Lsun/java2d/loops/SurfaceType;)V");
/*
* Class: sun_java2d_loops_GraphicsPrimitiveMgr
* Method: initIDs
* Signature: (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;)V
*/
{
return;
}
if (!InitPrimTypes(env) ||
{
return;
}
"floatCoords", "[F");
}
{
if (maxCoords > 1) {
}
} else {
}
}
/*
* Class: sun_java2d_loops_GraphicsPrimitiveMgr
* Method: registerNativeLoops
* Signature: ()V
*/
{
}
#define _StartOf(T) ((T *) (&T##s))
#define _NumberOf(T) (sizeof(T##s) / sizeof(T))
/*
* This function initializes the global collection of PrimitiveType
* structures by retrieving the necessary Java Class object and the
* associated methodID of the necessary constructor.
*
* See PrimitiveTypes.* below.
*/
{
break;
}
{
break;
}
}
if (!ok) {
}
}
}
return ok;
}
/*
* This function initializes the global collection of SurfaceType
* or CompositeType structures by retrieving the corresponding Java
* object stored as a static field on the Java Class.
*
* See SurfaceTypes.* below.
* See CompositeeTypes.* below.
*/
{
break;
}
break;
}
break;
}
}
if (!ok) {
}
}
}
return ok;
}
{
(SurfCompHdr *) SurfTypeStart,
(SurfCompHdr *) SurfTypeEnd,
sizeof(SurfaceType));
}
{
(SurfCompHdr *) CompTypeStart,
(SurfCompHdr *) CompTypeEnd,
sizeof(CompositeType));
}
/*
* This function registers a set of Java GraphicsPrimitive objects
* based on information stored in an array of NativePrimitive structures.
*/
{
int i;
if (primitives == NULL) {
return JNI_FALSE;
}
for (i = 0; i < NumPrimitives; i++, pPrim++) {
/*
* Calculate the necessary SurfaceData lock flags for the
* source and destination surfaces based on the information
* stored in the PrimitiveType, SurfaceType, and CompositeType
* structures. The starting point is the values that are
* already stored in the NativePrimitive structure. These
* flags are usually left as 0, but can be filled in by
* native primitive loops that have special needs that are
* not deducible from their declared attributes.
*/
/* if (srcflags & SD_LOCK_WRITE) srcflags |= pSrc->writeflags; */
break;
}
break;
}
}
if (i >= NumPrimitives) {
/* No error - upcall to GraphicsPrimitiveMgr to register the
* new primitives... */
}
}
{
}
return pPrim;
}
{
}
{
return rgb;
}
{
}
{
}
{
}
{
}
/*
* Helper function for CompositeTypes.Xor
*/
{
}
/*
* Helper function for CompositeTypes.AnyAlpha
*/
{
}
{
}
{
}
/*
* External declarations for the pixelFor helper methods for the various
* named surface types. These functions are defined in the various
* files that contain the loop functions for their type.
*/
extern PixelForFunc PixelForByteBinary;
extern PixelForFunc PixelForByteIndexed;
extern PixelForFunc PixelForByteGray;
extern PixelForFunc PixelForIndex8Gray;
extern PixelForFunc PixelForIndex12Gray;
extern PixelForFunc PixelForUshort555Rgb;
extern PixelForFunc PixelForUshort555Rgbx;
extern PixelForFunc PixelForUshort565Rgb;
extern PixelForFunc PixelForUshort4444Argb;
extern PixelForFunc PixelForUshortGray;
extern PixelForFunc PixelForUshortIndexed;
extern PixelForFunc PixelForIntArgbPre;
extern PixelForFunc PixelForIntArgbBm;
extern PixelForFunc PixelForIntBgr;
extern PixelForFunc PixelForIntRgbx;
extern PixelForFunc PixelForFourByteAbgr;
extern PixelForFunc PixelForFourByteAbgrPre;
/*
* Definition and initialization of the globally accessible PrimitiveTypes.
*/
{ "sun/java2d/loops/DrawGlyphList", 0, SD_LOCK_PARTIAL_WRITE |
};
/*
* Definition and initialization of the globally accessible SurfaceTypes.
*/
{ { "ByteBinary1Bit", NULL},
{ { "ByteBinary2Bit", NULL},
{ { "ByteBinary4Bit", NULL},
{ { "ByteIndexed", NULL},
{ { "ByteIndexedBm", NULL},
{ { "Index8Gray", NULL},
{ { "Index12Gray", NULL},
{ { "UshortIndexed", NULL},
};
/*
* Definition and initialization of the globally accessible CompositeTypes.
*/
};