~3v1n0/unity/overlay-border-scale

« back to all changes in this revision

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

  • Committer: Daniel van Vugt
  • Date: 2012-03-14 06:24:18 UTC
  • mfrom: (2108 unity)
  • mto: This revision was merged to the branch mainline in revision 2146.
  • Revision ID: daniel.van.vugt@canonical.com-20120314062418-nprucpbr0m7qky5e
MergedĀ latestĀ lp:unity

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
#include <Nux/TimerProc.h>
29
29
#include <NuxGraphics/IOpenGLAsmShader.h>
30
30
 
 
31
#include "PointerBarrier.h"
31
32
#include "AbstractIconRenderer.h"
32
33
#include "BackgroundEffectHelper.h"
33
34
#include "DNDCollectionWindow.h"
34
35
#include "DndData.h"
35
36
#include "GeisAdapter.h"
36
37
#include "Introspectable.h"
 
38
#include "LauncherOptions.h"
37
39
#include "LauncherDragWindow.h"
38
40
#include "LauncherHideMachine.h"
39
41
#include "LauncherHoverMachine.h"
40
42
#include "UBusWrapper.h"
41
43
 
42
 
#define ANIM_DURATION_SHORT_SHORT 100
43
 
#define ANIM_DURATION_SHORT 125
44
 
#define ANIM_DURATION       200
45
 
#define ANIM_DURATION_LONG  350
46
 
 
47
 
#define SUPER_TAP_DURATION  250
48
 
#define SHORTCUTS_SHOWN_DELAY  750
49
 
#define START_DRAGICON_DURATION 250
50
 
#define BEFORE_HIDE_LAUNCHER_ON_SUPER_DURATION 1000
51
 
 
52
 
#define IGNORE_REPEAT_SHORTCUT_DURATION  250
53
 
 
54
 
#define MAX_SUPERKEY_LABELS 10
55
 
 
56
 
class QuicklistView;
57
44
 
58
45
namespace unity
59
46
{
60
47
namespace launcher
61
48
{
62
 
class LauncherIcon;
 
49
class AbstractLauncherIcon;
63
50
class LauncherModel;
64
51
 
65
52
class Launcher : public unity::debug::Introspectable, public nux::View
66
53
{
67
54
  NUX_DECLARE_OBJECT_TYPE(Launcher, nux::View);
68
55
public:
69
 
  typedef enum
70
 
  {
71
 
    LAUNCHER_HIDE_NEVER,
72
 
    LAUNCHER_HIDE_AUTOHIDE,
73
 
    LAUNCHER_HIDE_DODGE_WINDOWS,
74
 
    LAUNCHER_HIDE_DODGE_ACTIVE_WINDOW,
75
 
  } LauncherHideMode;
76
 
 
77
 
  typedef enum
78
 
  {
79
 
    LAUNCH_ANIMATION_NONE,
80
 
    LAUNCH_ANIMATION_PULSE,
81
 
    LAUNCH_ANIMATION_BLINK,
82
 
  } LaunchAnimation;
83
 
 
84
 
  typedef enum
85
 
  {
86
 
    URGENT_ANIMATION_NONE,
87
 
    URGENT_ANIMATION_PULSE,
88
 
    URGENT_ANIMATION_WIGGLE,
89
 
  } UrgentAnimation;
90
 
 
91
 
  typedef enum
92
 
  {
93
 
    FADE_OR_SLIDE,
94
 
    SLIDE_ONLY,
95
 
    FADE_ONLY,
96
 
    FADE_AND_SLIDE,
97
 
  } AutoHideAnimation;
98
 
 
99
 
  typedef enum
100
 
  {
101
 
    BACKLIGHT_ALWAYS_ON,
102
 
    BACKLIGHT_NORMAL,
103
 
    BACKLIGHT_ALWAYS_OFF,
104
 
    BACKLIGHT_EDGE_TOGGLE,
105
 
    BACKLIGHT_NORMAL_EDGE_TOGGLE
106
 
  } BacklightMode;
107
56
 
108
57
  Launcher(nux::BaseWindow* parent, NUX_FILE_LINE_PROTO);
109
58
  ~Launcher();
110
59
 
111
60
  nux::Property<Display*> display;
 
61
  nux::Property<int> monitor;
 
62
  nux::Property<Options::Ptr> options;
112
63
 
113
64
  virtual void Draw(nux::GraphicsEngine& GfxContext, bool force_draw);
114
65
  virtual void DrawContent(nux::GraphicsEngine& GfxContext, bool force_draw);
115
66
  virtual void PostDraw(nux::GraphicsEngine& GfxContext, bool force_draw);
116
67
 
117
 
  LauncherIcon* GetSelectedMenuIcon();
 
68
  AbstractLauncherIcon::Ptr GetSelectedMenuIcon() const;
118
69
 
119
70
  void SetIconSize(int tile_size, int icon_size);
120
 
  void SetBackgroundAlpha(float background_alpha);
121
71
 
122
72
  LauncherHideMachine* HideMachine() { return _hide_machine; }
123
73
 
124
 
  bool Hidden()
 
74
  bool Hidden() const
125
75
  {
126
76
    return _hidden;
127
77
  }
128
 
  bool ShowOnEdge()
129
 
  {
130
 
    return _hide_machine->GetShowOnEdge();
131
 
  }
 
78
 
 
79
  void ForceReveal(bool force);
 
80
  void ShowShortcuts(bool show);
132
81
 
133
82
  void SetModel(LauncherModel* model);
134
 
  LauncherModel* GetModel();
135
 
 
136
 
  void SetFloating(bool floating);
137
 
 
138
 
  void SetHideMode(LauncherHideMode hidemode);
139
 
  LauncherHideMode GetHideMode();
 
83
  LauncherModel* GetModel() const;
140
84
 
141
85
  void StartKeyShowLauncher();
142
86
  void EndKeyShowLauncher();
143
87
 
 
88
  void EnsureIconOnScreen(AbstractLauncherIcon::Ptr icon);
 
89
 
144
90
  void SetBacklightMode(BacklightMode mode);
145
 
  BacklightMode GetBacklightMode();
146
 
  bool IsBackLightModeToggles();
147
 
 
148
 
  void SetLaunchAnimation(LaunchAnimation animation);
149
 
  LaunchAnimation GetLaunchAnimation();
150
 
 
151
 
  void SetUrgentAnimation(UrgentAnimation animation);
152
 
  UrgentAnimation GetUrgentAnimation();
153
 
 
154
 
  void SetAutoHideAnimation(AutoHideAnimation animation);
155
 
  AutoHideAnimation GetAutoHideAnimation();
156
 
 
157
 
  void EdgeRevealTriggered(int x, int y);
158
 
 
159
 
  gboolean CheckSuperShortcutPressed(Display *x_display, unsigned int key_sym, unsigned long key_code, unsigned long key_state, char* key_string);
160
 
  void SetLatestShortcut(guint64 shortcut);
161
 
 
162
 
  nux::BaseWindow* GetParent()
 
91
  BacklightMode GetBacklightMode() const;
 
92
  bool IsBackLightModeToggles() const;
 
93
 
 
94
  nux::BaseWindow* GetParent() const
163
95
  {
164
96
    return _parent;
165
97
  };
166
98
 
167
 
  static void SetTimeStruct(struct timespec* timer, struct timespec* sister = 0, int sister_relation = 0);
168
 
 
169
99
  virtual void RecvMouseUp(int x, int y, unsigned long button_flags, unsigned long key_flags);
170
100
  virtual void RecvMouseDown(int x, int y, unsigned long button_flags, unsigned long key_flags);
171
101
  virtual void RecvMouseDrag(int x, int y, int dx, int dy, unsigned long button_flags, unsigned long key_flags);
173
103
  virtual void RecvMouseLeave(int x, int y, unsigned long button_flags, unsigned long key_flags);
174
104
  virtual void RecvMouseMove(int x, int y, int dx, int dy, unsigned long button_flags, unsigned long key_flags);
175
105
  virtual void RecvMouseWheel(int x, int y, int wheel_delta, unsigned long button_flags, unsigned long key_flags);
176
 
  virtual void RecvMouseDownOutsideArea(int x, int y, unsigned long button_flags, unsigned long key_flags);
177
 
 
178
 
  virtual void RecvKeyPressed(unsigned long    eventType  ,   /*event type*/
179
 
    unsigned long    keysym     ,   /*event keysym*/
180
 
    unsigned long    state      ,   /*event state*/
181
 
    const char*      character  ,   /*character*/
182
 
    unsigned short   keyCount       /*key repeat count*/);
183
106
 
184
107
  virtual void RecvQuicklistOpened(QuicklistView* quicklist);
185
108
  virtual void RecvQuicklistClosed(QuicklistView* quicklist);
186
109
 
187
 
  void startKeyNavMode();
188
 
  void leaveKeyNavMode(bool preserve_focus = true);
189
 
 
190
 
  void exitKeyNavMode();    // Connected to signal OnEndFocus
191
 
 
192
 
  int GetMouseX();
193
 
  int GetMouseY();
194
 
 
195
 
  void CheckWindowOverLauncher();
196
 
  void EnableCheckWindowOverLauncher(gboolean enabled);
197
 
 
198
 
  sigc::signal<void, char*, LauncherIcon*> launcher_addrequest;
199
 
  sigc::signal<void, char*, LauncherIcon*, char*, char*> launcher_addrequest_special;
200
 
  sigc::signal<void, LauncherIcon*> launcher_removerequest;
 
110
  int GetMouseX() const;
 
111
  int GetMouseY() const;
 
112
 
 
113
  void Resize();
 
114
 
 
115
  sigc::signal<void, char*, AbstractLauncherIcon::Ptr> launcher_addrequest;
 
116
  sigc::signal<void, std::string const&, AbstractLauncherIcon::Ptr, std::string const&, std::string const&> launcher_addrequest_special;
 
117
  sigc::signal<void, AbstractLauncherIcon::Ptr> launcher_removerequest;
201
118
  sigc::signal<void> selection_change;
202
119
  sigc::signal<void> hidden_changed;
203
120
 
204
 
  // Key navigation
205
121
  virtual bool InspectKeyEvent(unsigned int eventType,
206
122
                               unsigned int keysym,
207
123
                               const char* character);
208
124
 
209
 
  void SelectPreviousIcon();
210
 
  void SelectNextIcon();
 
125
  void EnterKeyNavMode();
 
126
  void ExitKeyNavMode();
 
127
  bool IsInKeyNavMode() const;
211
128
 
212
 
  void KeySwitcherActivate();
213
 
  void KeySwitcherTerminate();
214
 
  bool KeySwitcherIsActive();
215
 
  void KeySwitcherNext();
216
 
  void KeySwitcherPrevious();
 
129
  static const int ANIM_DURATION_SHORT;
217
130
 
218
131
protected:
219
132
  // Introspectable methods
227
140
private:
228
141
  typedef nux::ObjectPtr<nux::BaseTexture> BaseTexturePtr;
229
142
 
 
143
  LauncherHideMode GetHideMode() const;
 
144
  void SetHideMode(LauncherHideMode hidemode);
 
145
 
230
146
  typedef enum
231
147
  {
232
148
    ACTION_NONE,
250
166
    TIME_LAST
251
167
  } LauncherActionTimes;
252
168
 
253
 
  void OnWindowMaybeIntellihide(guint32 xid);
254
 
  void OnWindowMaybeIntellihideDelayed(guint32 xid);
255
 
  static gboolean CheckWindowOverLauncherSync(Launcher* self);
 
169
  void ConfigureBarrier();
 
170
 
 
171
  void OnOptionsChanged(Options::Ptr options);
 
172
  void OnOptionChanged();
 
173
  void UpdateOptions(Options::Ptr options);
 
174
 
256
175
  void OnWindowMapped(guint32 xid);
257
176
  void OnWindowUnmapped(guint32 xid);
258
177
 
260
179
  void OnDragUpdate(GeisAdapter::GeisDragData* data);
261
180
  void OnDragFinish(GeisAdapter::GeisDragData* data);
262
181
 
 
182
  void OnPointerBarrierEvent(ui::PointerBarrierWrapper* owner, ui::BarrierEvent::Ptr event);
 
183
 
263
184
  void OnPluginStateChanged();
264
185
 
265
 
  void OnViewPortSwitchStarted();
266
 
  void OnViewPortSwitchEnded();
 
186
  void OnSelectionChanged(AbstractLauncherIcon::Ptr selection);
267
187
 
268
188
  static gboolean AnimationTimeout(gpointer data);
269
 
  static gboolean SuperShowLauncherTimeout(gpointer data);
270
 
  static gboolean SuperHideLauncherTimeout(gpointer data);
271
 
  static gboolean SuperShowShortcutsTimeout(gpointer data);
272
189
  static gboolean StrutHack(gpointer data);
273
 
  static gboolean MoveFocusToKeyNavModeTimeout(gpointer data);
274
190
  static gboolean StartIconDragTimeout(gpointer data);
275
 
  static gboolean ResetRepeatShorcutTimeout(gpointer data);
276
191
 
277
192
  void SetMousePosition(int x, int y);
278
193
 
279
194
  void SetStateMouseOverLauncher(bool over_launcher);
280
 
  void SetStateKeyNav(bool keynav_activated);
281
195
 
282
 
  bool MouseBeyondDragThreshold();
 
196
  bool MouseBeyondDragThreshold() const;
283
197
 
284
198
  void OnDragWindowAnimCompleted();
285
199
 
286
 
  bool IconNeedsAnimation(LauncherIcon* icon, struct timespec const& current);
287
 
  bool IconDrawEdgeOnly(LauncherIcon* icon);
288
 
  bool AnimationInProgress();
 
200
  bool IconNeedsAnimation(AbstractLauncherIcon::Ptr icon, struct timespec const& current) const;
 
201
  bool IconDrawEdgeOnly(AbstractLauncherIcon::Ptr icon) const;
 
202
  bool AnimationInProgress() const;
289
203
 
290
204
  void SetActionState(LauncherActionState actionstate);
291
 
  LauncherActionState GetActionState();
 
205
  LauncherActionState GetActionState() const;
292
206
 
293
207
  void EnsureAnimation();
294
208
  void EnsureScrollTimer();
302
216
  static gboolean OnScrollTimeout(gpointer data);
303
217
  static gboolean OnUpdateDragManagerTimeout(gpointer data);
304
218
 
305
 
  float DnDStartProgress(struct timespec const& current);
306
 
  float DnDExitProgress(struct timespec const& current);
307
 
  float GetHoverProgress(struct timespec const& current);
308
 
  float AutohideProgress(struct timespec const& current);
309
 
  float DragThresholdProgress(struct timespec const& current);
310
 
  float DragHideProgress(struct timespec const& current);
311
 
  float DragOutProgress(struct timespec const& current);
312
 
  float IconDesatValue(LauncherIcon* icon, struct timespec const& current);
313
 
  float IconPresentProgress(LauncherIcon* icon, struct timespec const& current);
314
 
  float IconUrgentProgress(LauncherIcon* icon, struct timespec const& current);
315
 
  float IconShimmerProgress(LauncherIcon* icon, struct timespec const& current);
316
 
  float IconUrgentPulseValue(LauncherIcon* icon, struct timespec const& current);
317
 
  float IconPulseOnceValue(LauncherIcon *icon, struct timespec const &current);
318
 
  float IconUrgentWiggleValue(LauncherIcon* icon, struct timespec const& current);
319
 
  float IconStartingBlinkValue(LauncherIcon* icon, struct timespec const& current);
320
 
  float IconStartingPulseValue(LauncherIcon* icon, struct timespec const& current);
321
 
  float IconBackgroundIntensity(LauncherIcon* icon, struct timespec const& current);
322
 
  float IconProgressBias(LauncherIcon* icon, struct timespec const& current);
323
 
  float IconDropDimValue(LauncherIcon* icon, struct timespec const& current);
324
 
  float IconCenterTransitionProgress(LauncherIcon* icon, struct timespec const& current);
 
219
  float DnDStartProgress(struct timespec const& current) const;
 
220
  float DnDExitProgress(struct timespec const& current) const;
 
221
  float GetHoverProgress(struct timespec const& current) const;
 
222
  float AutohideProgress(struct timespec const& current) const;
 
223
  float DragThresholdProgress(struct timespec const& current) const;
 
224
  float DragHideProgress(struct timespec const& current) const;
 
225
  float DragOutProgress(struct timespec const& current) const;
 
226
  float IconDesatValue(AbstractLauncherIcon::Ptr icon, struct timespec const& current) const;
 
227
  float IconPresentProgress(AbstractLauncherIcon::Ptr icon, struct timespec const& current) const;
 
228
  float IconUrgentProgress(AbstractLauncherIcon::Ptr icon, struct timespec const& current) const;
 
229
  float IconShimmerProgress(AbstractLauncherIcon::Ptr icon, struct timespec const& current) const;
 
230
  float IconUrgentPulseValue(AbstractLauncherIcon::Ptr icon, struct timespec const& current) const;
 
231
  float IconPulseOnceValue(AbstractLauncherIcon::Ptr icon, struct timespec const &current) const;
 
232
  float IconUrgentWiggleValue(AbstractLauncherIcon::Ptr icon, struct timespec const& current) const;
 
233
  float IconStartingBlinkValue(AbstractLauncherIcon::Ptr icon, struct timespec const& current) const;
 
234
  float IconStartingPulseValue(AbstractLauncherIcon::Ptr icon, struct timespec const& current) const;
 
235
  float IconBackgroundIntensity(AbstractLauncherIcon::Ptr icon, struct timespec const& current) const;
 
236
  float IconProgressBias(AbstractLauncherIcon::Ptr icon, struct timespec const& current) const;
 
237
  float IconDropDimValue(AbstractLauncherIcon::Ptr icon, struct timespec const& current) const;
 
238
  float IconCenterTransitionProgress(AbstractLauncherIcon::Ptr icon, struct timespec const& current) const;
 
239
  float IconVisibleProgress(AbstractLauncherIcon::Ptr icon, struct timespec const& current) const;
325
240
 
326
241
  void SetHover(bool hovered);
327
242
  void SetHidden(bool hidden);
329
244
  void  SetDndDelta(float x, float y, nux::Geometry const& geo, timespec const& current);
330
245
  float DragLimiter(float x);
331
246
 
332
 
  void SetupRenderArg(LauncherIcon* icon, struct timespec const& current, ui::RenderArg& arg);
333
 
  void FillRenderArg(LauncherIcon* icon,
 
247
  void SetupRenderArg(AbstractLauncherIcon::Ptr icon, struct timespec const& current, ui::RenderArg& arg);
 
248
  void FillRenderArg(AbstractLauncherIcon::Ptr icon,
334
249
                     ui::RenderArg& arg,
335
250
                     nux::Point3& center,
 
251
                     nux::Geometry const& parent_abs_geo,
336
252
                     float folding_threshold,
337
253
                     float folded_size,
338
254
                     float folded_spacing,
342
258
                     struct timespec const& current);
343
259
 
344
260
  void RenderArgs(std::list<ui::RenderArg> &launcher_args,
345
 
                  nux::Geometry& box_geo, float* launcher_alpha);
 
261
                  nux::Geometry& box_geo, float* launcher_alpha, nux::Geometry const& parent_abs_geo);
346
262
 
347
 
  void OnIconAdded(LauncherIcon* icon);
348
 
  void OnIconRemoved(LauncherIcon* icon);
 
263
  void OnIconAdded(AbstractLauncherIcon::Ptr icon);
 
264
  void OnIconRemoved(AbstractLauncherIcon::Ptr icon);
349
265
  void OnOrderChanged();
350
266
 
351
 
  void OnIconNeedsRedraw(AbstractLauncherIcon* icon);
 
267
  void OnIconNeedsRedraw(AbstractLauncherIcon::Ptr icon);
352
268
 
353
 
  void OnPlaceViewHidden(GVariant* data);
354
 
  void OnPlaceViewShown(GVariant* data);
 
269
  void OnOverlayHidden(GVariant* data);
 
270
  void OnOverlayShown(GVariant* data);
355
271
 
356
272
  void DesaturateIcons();
357
273
  void SaturateIcons();
362
278
 
363
279
  void OnActionDone(GVariant* data);
364
280
 
365
 
  void RenderIconToTexture(nux::GraphicsEngine& GfxContext, LauncherIcon* icon, nux::ObjectPtr<nux::IOpenGLBaseTexture> texture);
 
281
  void RenderIconToTexture(nux::GraphicsEngine& GfxContext, AbstractLauncherIcon::Ptr icon, nux::ObjectPtr<nux::IOpenGLBaseTexture> texture);
366
282
 
367
 
  LauncherIcon* MouseIconIntersection(int x, int y);
 
283
  AbstractLauncherIcon::Ptr MouseIconIntersection(int x, int y);
368
284
  void EventLogic();
369
285
  void MouseDownLogic(int x, int y, unsigned long button_flags, unsigned long key_flags);
370
286
  void MouseUpLogic(int x, int y, unsigned long button_flags, unsigned long key_flags);
371
287
 
372
288
  void StartIconDragRequest(int x, int y);
373
 
  void StartIconDrag(LauncherIcon* icon);
 
289
  void StartIconDrag(AbstractLauncherIcon::Ptr icon);
374
290
  void EndIconDrag();
375
291
  void UpdateDragWindowPosition(int x, int y);
376
292
 
377
 
  float GetAutohidePositionMin();
378
 
  float GetAutohidePositionMax();
 
293
  float GetAutohidePositionMin() const;
 
294
  float GetAutohidePositionMax() const;
379
295
 
380
 
  virtual void PreLayoutManagement();
381
296
  virtual long PostLayoutManagement(long LayoutResult);
382
 
  virtual void PositionChildLayout(float offsetX, float offsetY);
383
297
 
384
298
  void SetOffscreenRenderTarget(nux::ObjectPtr<nux::IOpenGLBaseTexture> texture);
385
299
  void RestoreSystemRenderTarget();
386
300
 
387
 
  gboolean TapOnSuper();
388
 
 
389
301
  void OnDisplayChanged(Display* display);
390
302
  void OnDNDDataCollected(const std::list<char*>& mimes);
391
 
  
 
303
 
392
304
  void DndReset();
393
305
  void DndHoveredIconReset();
394
306
 
395
307
  nux::HLayout* m_Layout;
396
 
  int m_ContentOffsetY;
397
308
 
398
309
  // used by keyboard/a11y-navigation
399
 
  LauncherIcon* _current_icon;
400
 
  LauncherIcon* m_ActiveTooltipIcon;
401
 
  LauncherIcon* _icon_under_mouse;
402
 
  LauncherIcon* _icon_mouse_down;
403
 
  LauncherIcon* _drag_icon;
404
 
 
405
 
  int           _current_icon_index;
406
 
  int           _last_icon_index;
 
310
  AbstractLauncherIcon::Ptr _icon_under_mouse;
 
311
  AbstractLauncherIcon::Ptr _icon_mouse_down;
 
312
  AbstractLauncherIcon::Ptr _drag_icon;
407
313
 
408
314
  QuicklistView* _active_quicklist;
409
315
 
410
316
  bool  _hovered;
411
 
  bool  _floating;
412
317
  bool  _hidden;
413
318
  bool  _scroll_limit_reached;
414
319
  bool  _render_drag_window;
415
 
  bool  _check_window_over_launcher;
416
320
 
417
321
  bool          _shortcuts_shown;
418
 
  bool          _keynav_activated;
419
 
  bool          _key_switcher_activated;
420
 
  guint64       _latest_shortcut;
421
322
 
422
323
  BacklightMode _backlight_mode;
423
324
 
425
326
  float _neg_folded_angle;
426
327
  float _folded_z_distance;
427
328
  float _last_delta_y;
428
 
 
429
 
  LauncherHideMode _hidemode;
 
329
  float _edge_overcome_pressure;
430
330
 
431
331
  LauncherActionState _launcher_action_state;
432
332
  LaunchAnimation _launch_animation;
433
333
  UrgentAnimation _urgent_animation;
434
 
  AutoHideAnimation _autohide_animation;
435
334
 
436
335
  nux::ObjectPtr<nux::IOpenGLBaseTexture> _offscreen_drag_texture;
437
336
 
 
337
  ui::PointerBarrierWrapper::Ptr _pointer_barrier;
 
338
  ui::Decaymulator::Ptr decaymulator_;
 
339
 
438
340
  int _space_between_icons;
439
341
  int _icon_size;
440
342
  int _icon_image_size;
450
352
  int _drag_out_id;
451
353
  float _drag_out_delta_x;
452
354
  float _background_alpha;
453
 
 
454
 
  int _bfb_width;
455
 
  int _bfb_height;
 
355
  float _last_reveal_progress;
456
356
 
457
357
  guint _autoscroll_handle;
458
 
  guint _focus_keynav_handle;
459
 
  guint _super_show_launcher_handle;
460
 
  guint _super_hide_launcher_handle;
461
 
  guint _super_show_shortcuts_handle;
462
358
  guint _start_dragicon_handle;
463
359
  guint _dnd_check_handle;
464
 
  guint _ignore_repeat_shortcut_handle;
 
360
  guint _strut_hack_handle;
465
361
 
466
362
  nux::Point2   _mouse_position;
467
 
  nux::Point2   _bfb_mouse_position;
468
 
  nux::AbstractPaintLayer* m_BackgroundLayer;
469
363
  nux::BaseWindow* _parent;
470
364
  LauncherModel* _model;
471
365
  LauncherDragWindow* _drag_window;
477
371
  bool              _data_checked;
478
372
  bool              _steal_drag;
479
373
  bool              _drag_edge_touching;
480
 
  LauncherIcon*     _dnd_hovered_icon;
 
374
  AbstractLauncherIcon::Ptr     _dnd_hovered_icon;
481
375
  unity::DNDCollectionWindow* _collection_window;
482
376
  sigc::connection _on_data_collected_connection;
483
377
 
509
403
  UBusManager ubus;
510
404
 
511
405
  nux::Color _background_color;
512
 
  BaseTexturePtr   launcher_sheen_;
 
406
  BaseTexturePtr launcher_sheen_;
 
407
  BaseTexturePtr launcher_pressure_effect_;
513
408
  bool _dash_is_open;
514
409
 
515
410
  ui::AbstractIconRenderer::Ptr icon_renderer;