ImageSurfaceData.h revision 5321
4632N/A * or visit www.oracle.com if you need additional information or have any
4632N/A// if there is no image created for isdo.imgRef, it creates and image using the isdo.dataProvider
5321N/Atypedef struct _ContextInfo
5321N/Atypedef struct _ImageInfo
4632N/Astruct _ImageSDOps
4632N/A // Used as a cached image ref created from the isdo.dataprovider. This is only a chached image, and it might become invalid
4632N/A // if somebody draws on the bitmap context, or the pixels are changed in java. In that case, we need to NULL out
4632N/A // Cached instance of CGDataProvider. dataProvider is alloced the first time a bitmap context is created, providing the
4632N/A // native pixels as a source of the data. The dataProviders life cycle is the same as ISDO. The reference gets
4632N/A // Pointer in memory that is used for create the CGBitmapContext and the CGDataProvider (used for imgRef). This is a native
4632N/A // copy of the pixels for the Image. There is a spearate copy of the pixels that lives in Java heap. There are two main
4632N/A // reasons why we keep those pixels spearate: 1) CG doesn't support all the Java pixel formats 2) The Garbage collector can
4632N/A // move the java pixels at any time. There are possible workarounds for both problems. Number 2) seems to be a more serious issue, since
4632N/A void * nativePixels;