• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • twin
 

twin

  • twin
placement.h
1/*****************************************************************
2 KWin - the KDE window manager
3 This file is part of the KDE project.
4
5Copyright (C) 1999, 2000 Matthias Ettrich <ettrich@kde.org>
6Copyright (C) 1997 to 2002 Cristian Tibirna <tibirna@kde.org>
7Copyright (C) 2003 Lubos Lunak <l.lunak@kde.org>
8
9You can Freely distribute this program under the GNU General Public
10License. See the file "COPYING" for the exact licensing terms.
11******************************************************************/
12
13#ifndef KWIN_PLACEMENT_H
14#define KWIN_PLACEMENT_H
15
16#include <tqpoint.h>
17#include <tqvaluelist.h>
18
19namespace KWinInternal
20{
21
22class Workspace;
23class Client;
24
25class Placement
26 {
27 public:
28
29 Placement(Workspace* w);
30
37 enum Policy
38 {
39 NoPlacement, // not really a placement
40 Default, // special, means to use the global default
41 Unknown, // special, means the function should use its default
42 Random,
43 Smart,
44 Cascade,
45 Centered,
46 ZeroCornered,
47 UnderMouse, // special
48 OnMainWindow, // special
49 Maximizing
50 };
51
52 void place(Client* c, TQRect& area );
53
54 void placeAtRandom (Client* c, const TQRect& area, Policy next = Unknown );
55 void placeCascaded (Client* c, TQRect& area, Policy next = Unknown );
56 void placeSmart (Client* c, const TQRect& area, Policy next = Unknown );
57 void placeMaximizing (Client* c, TQRect& area, Policy next = Unknown );
58 void placeCentered (Client* c, const TQRect& area, Policy next = Unknown );
59 void placeZeroCornered(Client* c, const TQRect& area, Policy next = Unknown );
60 void placeDialog (Client* c, TQRect& area, Policy next = Unknown );
61 void placeUtility (Client* c, TQRect& area, Policy next = Unknown );
62
63 void reinitCascading( int desktop );
64
65 static Policy policyFromString( const TQString& policy, bool no_special );
66 static const char* policyToString( Policy policy );
67
68 private:
69
70 void place(Client* c, TQRect& area, Policy policy, Policy nextPlacement = Unknown );
71 void placeUnderMouse(Client* c, TQRect& area, Policy next = Unknown );
72 void placeOnMainWindow(Client* c, TQRect& area, Policy next = Unknown );
73 TQRect checkArea( const Client*c, const TQRect& area );
74
75 Placement();
76
77 //CT needed for cascading+
78 struct DesktopCascadingInfo
79 {
80 TQPoint pos;
81 int col;
82 int row;
83 };
84
85 TQValueList<DesktopCascadingInfo> cci;
86
87 Workspace* m_WorkspacePtr;
88 };
89
90} // namespace
91
92#endif

twin

Skip menu "twin"
  • Main Page
  • Alphabetical List
  • Class List
  • File List
  • Class Members

twin

Skip menu "twin"
  • kate
  • libkonq
  • twin
  •   lib
Generated for twin by doxygen 1.9.4
This website is maintained by Timothy Pearson.