67 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
//
 | 
						|
//  jawt_md.h
 | 
						|
//  Copyright (c) 2002-2010 Apple Inc. All rights reserved.
 | 
						|
//
 | 
						|
 | 
						|
#ifndef _JAVASOFT_JAWT_MD_H_
 | 
						|
#define _JAVASOFT_JAWT_MD_H_
 | 
						|
 | 
						|
#include "jawt.h"
 | 
						|
 | 
						|
#import <AppKit/NSView.h>
 | 
						|
#import <QuartzCore/CALayer.h>
 | 
						|
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#endif
 | 
						|
 | 
						|
/*
 | 
						|
 * JAWT on Mac OS X has two rendering models; legacy NSView, and CALayer.
 | 
						|
 *
 | 
						|
 * The CALayer based model returns an object conforming to the JAWT_SurfaceLayers
 | 
						|
 * protocol in it's JAWT_DrawingSurfaceInfo->platformInfo pointer. A CALayer
 | 
						|
 * assigned to the "layer" property overlays the rectangle of the java.awt.Component.
 | 
						|
 * The client CALayer traces the rect of the Java component as it is moved and resized.
 | 
						|
 * 
 | 
						|
 * If there is a superlayer for the entire window, it is also accessible via
 | 
						|
 * the "windowLayer" property. This layer is useful for embedding the Java
 | 
						|
 * window in other layer graphs.
 | 
						|
 *
 | 
						|
 *
 | 
						|
 * The legacy NSView model provides raw access to the NSView hierarchy which
 | 
						|
 * mirrors the Java component hierarchy. The legacy NSView drawing model is deprecated,
 | 
						|
 * and will not be available in future versions of Java for Mac OS X.
 | 
						|
 * 
 | 
						|
 * Clients can opt-into the CALayer model by OR'ing the JAWT_MACOSX_USE_CALAYER into the requested JAWT version.
 | 
						|
 * 
 | 
						|
 *    JAWT awt;
 | 
						|
 *    awt.version = JAWT_VERSION_1_4 | JAWT_MACOSX_USE_CALAYER;
 | 
						|
 *    jboolean success = JAWT_GetAWT(env, &awt);
 | 
						|
 *
 | 
						|
 * Future versions of Java for Mac OS X will only support the CALayer model,
 | 
						|
 * and will not return a JAWT_MacOSXDrawingSurfaceInfo struct.
 | 
						|
 */
 | 
						|
 | 
						|
#define JAWT_MACOSX_USE_CALAYER 0x80000000
 | 
						|
 | 
						|
// CALayer-based rendering 
 | 
						|
@protocol JAWT_SurfaceLayers
 | 
						|
@property (readwrite, retain) CALayer *layer;
 | 
						|
@property (readonly) CALayer *windowLayer;
 | 
						|
@end
 | 
						|
 | 
						|
 | 
						|
// Legacy NSView-based rendering
 | 
						|
typedef struct JAWT_MacOSXDrawingSurfaceInfo {
 | 
						|
    NSView *cocoaViewRef; // the view is guaranteed to be valid only for the duration of Component.paint method
 | 
						|
}
 | 
						|
JAWT_MacOSXDrawingSurfaceInfo;
 | 
						|
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif
 | 
						|
 | 
						|
#endif /* !_JAVASOFT_JAWT_MD_H_ */
 |