summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qcocoawindow.mm
diff options
context:
space:
mode:
authorJorgen Lind <jorgen.lind@theqtcompany.com>2015-06-03 14:52:07 +0200
committerMorten Johan Sørvig <morten.sorvig@theqtcompany.com>2015-06-11 10:36:14 +0000
commit6b5029199d8eab325992e07fa7c98718c9533ca0 (patch)
tree5624b24bd4971b172dc596d112ddd5709a9902d0 /src/plugins/platforms/cocoa/qcocoawindow.mm
parent898ce1dcf5175edf383dfa0670e4840255cc5e5a (diff)
Add QCocoaWindowFunctions and add a function to find the clip offset
Change-Id: I0f9cd1f923867f6f24b3bc54e442a16b5d2a11e4 Reviewed-by: Tim Blechmann <tim@klingt.org> Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoawindow.mm')
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.mm19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
index e5fedcd051..37d9ada44c 100644
--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
@@ -1839,6 +1839,25 @@ bool QCocoaWindow::shouldRefuseKeyWindowAndFirstResponder()
return false;
}
+QPoint QCocoaWindow::bottomLeftClippedByNSWindowOffsetStatic(QWindow *window)
+{
+ if (window->handle())
+ return static_cast<QCocoaWindow *>(window->handle())->bottomLeftClippedByNSWindowOffset();
+ return QPoint();
+}
+
+QPoint QCocoaWindow::bottomLeftClippedByNSWindowOffset() const
+{
+ if (!m_contentView)
+ return QPoint();
+ NSPoint origin = [m_contentView isFlipped] ?
+ NSMakePoint(0, [m_contentView frame].size.height) :
+ NSMakePoint(0, 0);
+ NSPoint windowPoint = [m_contentView convertPoint:origin toView:nil];
+
+ return QPoint(-std::min((int)windowPoint.x, 0), -std::min((int)windowPoint.y,0));
+}
+
QMargins QCocoaWindow::frameMargins() const
{
NSRect frameW = [m_nsWindow frame];