src/gui/kernel/qt_cocoa_helpers_mac_p.h
changeset 30 5dc02b23752f
parent 18 2f34d5167611
child 33 3e2da88830cd
--- a/src/gui/kernel/qt_cocoa_helpers_mac_p.h	Wed Jun 23 19:07:03 2010 +0300
+++ b/src/gui/kernel/qt_cocoa_helpers_mac_p.h	Tue Jul 06 15:10:48 2010 +0300
@@ -114,6 +114,12 @@
 #endif
 
 QT_BEGIN_NAMESPACE
+
+enum {
+    QtCocoaEventSubTypeWakeup       = SHRT_MAX,
+    QtCocoaEventSubTypePostMessage  = SHRT_MAX-1
+};
+
 Qt::MouseButtons qt_mac_get_buttons(int buttons);
 Qt::MouseButton qt_mac_get_button(EventMouseButton button);
 void macWindowFade(void * /*OSWindowRef*/ window, float durationSeconds = 0.15);
@@ -125,6 +131,8 @@
 void macWindowFlush(void * /*OSWindowRef*/ window);
 void macSendToolbarChangeEvent(QWidget *widget);
 void qt_mac_updateContentBorderMetricts(void * /*OSWindowRef */window, const ::HIContentBorderMetrics &metrics);
+void qt_mac_replaceDrawRect(void * /*OSWindowRef */window, QWidgetPrivate *widget);
+void qt_mac_replaceDrawRectOriginal(void * /*OSWindowRef */window, QWidgetPrivate *widget);
 void qt_mac_showBaseLineSeparator(void * /*OSWindowRef */window, bool show);
 void * /*NSImage */qt_mac_create_nsimage(const QPixmap &pm);
 void qt_mac_update_mouseTracking(QWidget *widget);
@@ -134,6 +142,9 @@
 #ifdef QT_MAC_USE_COCOA
 bool qt_dispatchKeyEventWithCocoa(void * /*NSEvent * */ keyEvent, QWidget *widgetToGetEvent);
 void qt_cocoaChangeOverrideCursor(const QCursor &cursor);
+// These methods exists only for supporting unified mode.
+void macDrawRectOnTop(void * /*OSWindowRef */ window);
+void macSyncDrawingOnFirstInvocation(void * /*OSWindowRef */window);
 #endif
 void qt_mac_menu_collapseSeparators(void * /*NSMenu */ menu, bool collapse);
 bool qt_dispatchKeyEvent(void * /*NSEvent * */ keyEvent, QWidget *widgetToGetEvent);
@@ -181,6 +192,27 @@
 
 inline NSString *qt_mac_QStringToNSString(const QString &qstr)
 { return [reinterpret_cast<const NSString *>(QCFString::toCFStringRef(qstr)) autorelease]; }
+
+#ifdef QT_MAC_USE_COCOA
+class QCocoaPostMessageArgs {
+public:
+    id target;
+    SEL selector;
+    QCocoaPostMessageArgs(id target, SEL selector) : target(target), selector(selector)
+    {
+        [target retain];
+    }
+
+    ~QCocoaPostMessageArgs()
+    {
+        [target release];
+    }
+};
+bool qt_cocoaPostMessage(id target, SEL selector);
 #endif
 
+#endif
+
+void qt_mac_post_retranslateAppMenu();
+
 QT_END_NAMESPACE