placement.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef KWIN_PLACEMENT_H
00014 #define KWIN_PLACEMENT_H
00015
00016 #include <qpoint.h>
00017 #include <qvaluelist.h>
00018
00019 namespace KWinInternal
00020 {
00021
00022 class Workspace;
00023 class Client;
00024
00025 class Placement
00026 {
00027 public:
00028
00029 Placement(Workspace* w);
00030
00031 void place(Client* c, QRect& area );
00032
00033 void placeAtRandom (Client* c, const QRect& area );
00034 void placeCascaded (Client* c, const QRect& area, bool re_init = false);
00035 void placeSmart (Client* c, const QRect& area );
00036 void placeCentered (Client* c, const QRect& area );
00037 void placeZeroCornered(Client* c, const QRect& area );
00038 void placeDialog (Client* c, QRect& area );
00039 void placeUtility (Client* c, QRect& area );
00040
00041 private:
00042
00043 void placeInternal(Client* c, const QRect& area );
00044 void placeUnderMouse(Client* c, QRect& area );
00045 void placeOnMainWindow(Client* c, QRect& area );
00046 QRect checkArea( const Client*c, const QRect& area );
00047
00048 Placement();
00049
00050
00051 struct DesktopCascadingInfo
00052 {
00053 QPoint pos;
00054 int col;
00055 int row;
00056 };
00057
00058 QValueList<DesktopCascadingInfo> cci;
00059
00060 Workspace* m_WorkspacePtr;
00061 };
00062
00063 }
00064
00065 #endif
This file is part of the documentation for kwin Library Version 3.2.3.