kwin Library API Documentation

placement.h

00001 /***************************************************************** 00002 KWin - the KDE window manager 00003 This file is part of the KDE project. 00004 00005 Copyright (C) 1999, 2000 Matthias Ettrich <ettrich@kde.org> 00006 Copyright (C) 1997 to 2002 Cristian Tibirna <tibirna@kde.org> 00007 Copyright (C) 2003 Lubos Lunak <l.lunak@kde.org> 00008 00009 You can Freely distribute this program under the GNU General Public 00010 License. See the file "COPYING" for the exact licensing terms. 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 //CT needed for cascading+ 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 } // namespace 00064 00065 #endif
KDE Logo
This file is part of the documentation for kwin Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Sep 16 15:59:32 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003