~unity-team/unity/4.0

« back to all changes in this revision

Viewing changes to plugins/unityshell/src/unityshell.h

MergeĀ lp:~unity-team/unity/unity.minimized_windows_switcher

Show diffs side-by-side

added added

removed removed

Lines of Context:
44
44
#include <sigc++/sigc++.h>
45
45
#include <boost/shared_ptr.hpp>
46
46
 
 
47
#include "compizminimizedwindowhandler.h"
 
48
 
47
49
class UnityFBO
48
50
{
49
51
public:
72
74
  CompOutput *output;
73
75
};
74
76
 
 
77
class UnityShowdesktopHandler
 
78
{
 
79
public:
 
80
 
 
81
  UnityShowdesktopHandler (CompWindow *w);
 
82
  ~UnityShowdesktopHandler ();
 
83
 
 
84
  typedef enum {
 
85
    Visible = 0,
 
86
    FadeOut = 1,
 
87
    FadeIn = 2,
 
88
    Invisible = 3
 
89
  } State;
 
90
 
 
91
public:
 
92
 
 
93
  void fadeOut ();
 
94
  void fadeIn ();
 
95
  bool animate (unsigned int ms);
 
96
  void paintAttrib (GLWindowPaintAttrib &attrib);
 
97
 
 
98
  UnityShowdesktopHandler::State state ();
 
99
 
 
100
  static const unsigned int fade_time;
 
101
  static CompWindowList     animating_windows;
 
102
  static bool shouldHide (CompWindow *);
 
103
 
 
104
private:
 
105
 
 
106
  CompWindow                     *mWindow;
 
107
  compiz::WindowInputRemover     *mRemover;
 
108
  UnityShowdesktopHandler::State mState;
 
109
  float                          mProgress;
 
110
};
 
111
  
 
112
 
75
113
 
76
114
#include "BGHash.h"
77
115
#include "DesktopLauncherIcon.h"
115
153
  void preparePaint (int ms);
116
154
  void paintFboForOutput (CompOutput *output);
117
155
 
 
156
  void
 
157
  handleCompizEvent (const char         *pluginName,
 
158
                     const char         *eventName,
 
159
                     CompOption::Vector &o);
 
160
 
 
161
 
118
162
  /* paint on top of all windows if we could not find a window
119
163
   * to paint underneath */
120
164
  bool glPaintOutput(const GLScreenPaintAttrib&,
135
179
 
136
180
  /* handle X11 events */
137
181
  void handleEvent(XEvent*);
138
 
  void handleCompizEvent(const char* plugin,
139
 
                         const char* event,
140
 
                         CompOption::Vector& option);
 
182
 
 
183
  /* handle showdesktop */
 
184
  void enterShowDesktopMode ();
 
185
  void leaveShowDesktopMode (CompWindow *w);
141
186
 
142
187
  bool showLauncherKeyInitiate(CompAction* action, CompAction::State state, CompOption::Vector& options);
143
188
  bool showLauncherKeyTerminate(CompAction* action, CompAction::State state, CompOption::Vector& options);
280
325
 
281
326
  nux::Geometry last_bound;
282
327
 
283
 
  /* occlusion detection only */
 
328
  void minimize ();
 
329
  void unminimize ();
 
330
  bool minimized ();
 
331
 
 
332
  /* occlusion detection
 
333
   * and window hiding */
284
334
  bool glPaint(const GLWindowPaintAttrib& attrib,
285
335
               const GLMatrix&            matrix,
286
336
               const CompRegion&          region,
308
358
  CompPoint tryNotIntersectLauncher(CompPoint& pos);
309
359
 
310
360
  void paintThumbnail (nux::Geometry const& bounding, float alpha);
 
361
 
 
362
  void enterShowDesktop ();
 
363
  void leaveShowDesktop ();
 
364
  bool handleAnimations (unsigned int ms);
 
365
 
 
366
  compiz::MinimizedWindowHandler::Ptr mMinimizeHandler;
 
367
  UnityShowdesktopHandler             *mShowdesktopHandler;
311
368
};
312
369
 
313
370