• 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 
5 Copyright (C) 1999, 2000 Matthias Ettrich <ettrich@kde.org>
6 Copyright (C) 1997 to 2002 Cristian Tibirna <tibirna@kde.org>
7 Copyright (C) 2003 Lubos Lunak <l.lunak@kde.org>
8 
9 You can Freely distribute this program under the GNU General Public
10 License. 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 
19 namespace KWinInternal
20 {
21 
22 class Workspace;
23 class Client;
24 
25 class 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
KWinInternal
Definition: activation.cpp:34

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.8.13
This website is maintained by Timothy Pearson.