]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/cocoa/window.h
1. extracted MSW-specific part of wxDynamicLibrary in msw/dlmsw.cpp
[wxWidgets.git] / include / wx / cocoa / window.h
index e1a69eba1907a9f9f95e801b75cbcb356d4d6d40..06ce0bb977d58cdf42bfe70cc585c3b5cb2fc6f1 100644 (file)
@@ -18,6 +18,8 @@
     #import <Foundation/NSGeometry.h>
 #endif //def __OBJC__
 
+DECLARE_WXCOCOA_OBJC_CLASS(NSAffineTransform);
+
 class wxWindowCocoaHider;
 class wxWindowCocoaScrollView;
 
@@ -70,6 +72,14 @@ public:
     // Add/remove children
     void CocoaAddChild(wxWindowCocoa *child);
     void CocoaRemoveFromParent(void);
+#ifdef __OBJC__
+    // Returns an autoreleased NSAffineTransform which can be applied
+    // to a graphics context currently using the view's coordinate system
+    // (such as the one locked when drawRect is called or after a call
+    // to [NSView lockFocus]) such that further drawing is done using
+    // the wxWidgets coordinate system.
+    WX_NSAffineTransform CocoaGetWxToBoundsTransform();
+#endif //def __OBJC__
 protected:
     // enable==false: disables the control
     // enable==true: enables the control IF it should be enabled
@@ -111,6 +121,12 @@ protected:
         // NOTE: position is 10,10 to make it "obvious" that it's out of place
         return NSMakeRect(10.0,10.0,WidthDefault(size.x),HeightDefault(size.y));
     }
+    // These functions translate NSPoint or NSRect between the coordinate
+    // system of Cocoa's boudns rect and wx's coordinate system.
+    NSPoint CocoaTransformBoundsToWx(NSPoint pointBounds);
+    NSRect CocoaTransformBoundsToWx(NSRect rectBounds);
+    NSPoint CocoaTransformWxToBounds(NSPoint pointWx);
+    NSRect CocoaTransformWxToBounds(NSRect rectWx);
 #endif //def __OBJC__
 // ------------------------------------------------------------------------
 // Implementation