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_ */
 |