LeechCraft  0.6.70-16373-g319c272718
Modular cross-platform feature rich live environment.
geometry.h
Go to the documentation of this file.
1 /**********************************************************************
2  * LeechCraft - modular cross-platform feature rich internet client.
3  * Copyright (C) 2006-2014 Georg Rudoy
4  *
5  * Distributed under the Boost Software License, Version 1.0.
6  * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7  **********************************************************************/
8 
9 #pragma once
10 
11 #include <QPoint>
12 #include "guiconfig.h"
13 
14 class QRect;
15 class QScreen;
16 class QSize;
17 
18 namespace LC::Util
19 {
24  enum FitFlag
25  {
29 
37  NoOverlap = 0x01
38  };
39 
40  Q_DECLARE_FLAGS (FitFlags, FitFlag);
41 
66  UTIL_GUI_API QPoint FitRectScreen (QPoint pos, const QSize& size,
67  FitFlags flags = NoFlags, const QPoint& shiftAdd = QPoint (0, 0));
68 
95  UTIL_GUI_API QPoint FitRect (QPoint pos, const QSize& size, const QRect& geometry,
96  FitFlags flags = NoFlags, const QPoint& shiftAdd = QPoint (0, 0));
97 
98  UTIL_GUI_API QScreen* GetScreenWithFallback (const QPoint& p);
99  UTIL_GUI_API QRect AvailableGeometry (const QPoint& p);
100  UTIL_GUI_API QRect ScreenGeometry (const QPoint& p);
101 
102 }
103 
104 Q_DECLARE_OPERATORS_FOR_FLAGS (LC::Util::FitFlags)
QPoint FitRect(QPoint pos, const QSize &size, const QRect &geometry, FitFlags flags, const QPoint &shiftAdd)
Tries to fit a rectangle (like a dialog or popup) into geometry.
Definition: geometry.cpp:23
QRect AvailableGeometry(const QPoint &p)
Definition: geometry.cpp:66
#define UTIL_GUI_API
Definition: guiconfig.h:16
QScreen * GetScreenWithFallback(const QPoint &p)
Definition: geometry.cpp:55
Q_DECLARE_FLAGS(FitFlags, FitFlag)
QPoint FitRectScreen(QPoint pos, const QSize &size, FitFlags flags, const QPoint &shiftAdd)
Tries to fit a rectangle (like a dialog or popup) into screen.
Definition: geometry.cpp:18
QRect ScreenGeometry(const QPoint &p)
Definition: geometry.cpp:71