Enabling garbage collection support.
[ITKit.git] / ITCoreGraphicsHacks.h
old mode 100755 (executable)
new mode 100644 (file)
index 72069dc..c818325
@@ -1,52 +1,56 @@
 /*
  *     ITKit
 /*
  *     ITKit
- *  ITCoreGraphicsHacks
- *    Header to import to work with private CoreGraphics API
+ *     ITCoreGraphicsHacks.h
  *
  *
- *  Original Author : Matt Judy <mjudy@ithinksw.com>
- *   Responsibility : Matt Judy <mjudy@ithinksw.com>
+ *     Header to import to work with private CoreGraphics API.
  *
  *
- *  Copyright (c) 2002 - 2003 iThink Software.
- *  All Rights Reserved
+ *     Copyright (c) 2005 iThink Software
  *
  */
 
  *
  */
 
-/*************************************************************************/
-#pragma mark -
-#pragma mark CoreGraphics HACKS
-/*************************************************************************/
-
 typedef void * CGSGenericObj;
 typedef CGSGenericObj CGSValueObj;
 typedef void * CGSConnectionID;
 typedef void * CGSWindowID;
 typedef struct CGStyle *CGStyleRef;
 typedef struct CGShadowStyle {
 typedef void * CGSGenericObj;
 typedef CGSGenericObj CGSValueObj;
 typedef void * CGSConnectionID;
 typedef void * CGSWindowID;
 typedef struct CGStyle *CGStyleRef;
 typedef struct CGShadowStyle {
-    unsigned int version;
-    float elevation;
-    float azimuth;
-    float ambient;
-    float height;
-    float radius;
-    float saturation;
+       unsigned int version;
+       float elevation;
+       float azimuth;
+       float ambient;
+       float height;
+       float radius;
+       float saturation;
 } CGShadowStyle;
 typedef unsigned char CGSBoolean;
 enum {
 } CGShadowStyle;
 typedef unsigned char CGSBoolean;
 enum {
-    kCGSFalse = 0,
-    kCGSTrue  = 1
+       kCGSFalse = 0,
+       kCGSTrue = 1
 };
 
 };
 
-extern void        CGStyleRelease(CGStyleRef style);
-extern void        CGSReleaseObj(void *obj);
-extern void        CGContextSetStyle(CGContextRef c, CGStyleRef style);
-extern void        CGStyleRelease(CGStyleRef style);
-extern CGStyleRef  CGStyleCreateShadow(const CGShadowStyle *shadow);
+typedef enum {
+        CGSTagExposeFade       = 0x0002,   // Fade out when Expose activates.
+        CGSTagNoShadow         = 0x0008,   // No window shadow.
+        CGSTagTransparent      = 0x0200,   // Transparent to mouse clicks.
+        CGSTagSticky           = 0x0800,   // Appears on all workspaces.
+} CGSWindowTag;
+
+extern void CGStyleRelease(CGStyleRef style);
+extern void CGSReleaseObj(void *obj);
+extern void CGContextSetStyle(CGContextRef c, CGStyleRef style);
+extern void CGStyleRelease(CGStyleRef style);
+extern CGStyleRef CGStyleCreateShadow(const CGShadowStyle *shadow);
 extern CGSValueObj CGSCreateCString(const char *string);
 extern CGSValueObj CGSCreateBoolean(CGSBoolean boolean);
 extern CGSValueObj CGSCreateCString(const char *string);
 extern CGSValueObj CGSCreateBoolean(CGSBoolean boolean);
-extern CGError     CGSSetWindowProperty(const CGSConnectionID cid, CGSWindowID wid, const CGSValueObj key, const CGSValueObj value);
-                                        
-extern CGAffineTransform CGAffineTransformMakeRotation(float angle);
-extern CGAffineTransform CGAffineTransformMakeScale(float sx, float sy);
-extern CGAffineTransform CGAffineTransformTranslate(CGAffineTransform t, float tx, float ty);
+extern CGError CGSSetWindowProperty(const CGSConnectionID cid, CGSWindowID wid, const CGSValueObj key, const CGSValueObj value);
+
 extern CGError CGSSetWindowWarp(const CGSConnectionID cid, CGSWindowID wid, int w,int h, float *mesh);
 extern CGError CGSSetWindowTransform(const CGSConnectionID cid, CGSWindowID wid, CGAffineTransform transform);
 extern CGError CGSSetWindowWarp(const CGSConnectionID cid, CGSWindowID wid, int w,int h, float *mesh);
 extern CGError CGSSetWindowTransform(const CGSConnectionID cid, CGSWindowID wid, CGAffineTransform transform);
+
+extern OSStatus CGSGetWindowTags(const CGSConnectionID cid, const CGSWindowID wid, CGSWindowTag *tags, int thirtyTwo);
+extern OSStatus CGSSetWindowTags(const CGSConnectionID cid, const CGSWindowID wid, CGSWindowTag *tags, int thirtyTwo);
+extern OSStatus CGSClearWindowTags(const CGSConnectionID cid, const CGSWindowID wid, CGSWindowTag *tags, int thirtyTwo);
+
+@interface NSApplication (ITCoreGraphicsHacks)
+- (CGSConnectionID)contextID;
+@end
\ No newline at end of file