360
360
nux::Geometry last_bound;
368
void updateFrameRegion (CompRegion ®ion);
368
void updateFrameRegion(CompRegion ®ion);
370
370
/* occlusion detection
371
371
* and window hiding */
372
bool glPaint(const GLWindowPaintAttrib& attrib,
373
const GLMatrix& matrix,
374
const CompRegion& region,
372
bool glPaint(GLWindowPaintAttrib const&, GLMatrix const&, CompRegion const&, unsigned mask);
377
374
/* basic window draw function */
378
bool glDraw(const GLMatrix& matrix,
379
const GLWindowPaintAttrib& attrib,
380
const CompRegion& region,
383
void updateIconPos (int &wx,
375
bool glDraw(GLMatrix const&, GLWindowPaintAttrib const&, CompRegion const&, unsigned mask);
377
void updateIconPos (int &wx, int &wy, int x, int y, float width, float height);
390
378
void windowNotify(CompWindowNotify n);
391
379
void moveNotify(int x, int y, bool immediate);
392
380
void resizeNotify(int x, int y, int w, int h);
396
384
CompPoint tryNotIntersectUI(CompPoint& pos);
397
385
nux::Geometry GetScaledGeometry();
399
void paintThumbnail (nux::Geometry const& bounding, float alpha);
387
void paintThumbnail(nux::Geometry const& bounding, float alpha);
401
void enterShowDesktop ();
402
void leaveShowDesktop ();
403
bool HandleAnimations (unsigned int ms);
389
void enterShowDesktop();
390
void leaveShowDesktop();
391
bool HandleAnimations(unsigned int ms);
405
393
bool handleEvent(XEvent *event);
394
void scalePaintDecoration(GLWindowPaintAttrib const&, GLMatrix const&, CompRegion const&, unsigned mask);
396
//! Emited when CompWindowNotifyBeforeDestroy is received
397
sigc::signal<void> being_destroyed;
401
std::string GetName() const;
402
void AddProperties(GVariantBuilder* builder);
407
405
typedef compiz::CompizMinimizedWindowHandler<UnityScreen, UnityWindow>
408
406
UnityMinimizedHandler;
409
std::unique_ptr <UnityMinimizedHandler> mMinimizeHandler;
410
std::unique_ptr <ShowdesktopHandler> mShowdesktopHandler;
412
//! Emited when CompWindowNotifyBeforeDestroy is received
413
sigc::signal<void> being_destroyed;
415
void scalePaintDecoration(const GLWindowPaintAttrib &,
421
std::string GetName() const;
422
void AddProperties(GVariantBuilder* builder);
425
407
struct CairoContext;
427
409
void DoEnableFocus ();
458
440
compiz::WindowInputRemoverLock::Ptr GetInputRemover ();
460
void DrawWindowDecoration(GLWindowPaintAttrib const& attrib, GLMatrix const& transform,
461
unsigned int mask, bool highlighted,
462
int x, int y, unsigned width, unsigned height);
463
void DrawTexture(GLTexture::List const& textures, GLWindowPaintAttrib const& attrib,
464
GLMatrix const& transform, unsigned int mask, int x, int y);
465
void RenderText(CairoContext const& context, int x, int y, int width, int height);
442
void RenderDecoration(CairoContext const&, double aspect = 1.0f);
443
void RenderText(CairoContext const&, int x, int y, int width, int height);
444
void DrawTexture(GLTexture::List const& textures, GLWindowPaintAttrib const&,
445
GLMatrix const&, unsigned mask, int x, int y, double scale = 1.0f);
447
void BuildDecorationTexture();
448
void CleanupCachedTextures();
467
449
static void SetupSharedTextures();
468
450
static void CleanupSharedTextures();
469
451
static void LoadCloseIcon(panel::WindowState state, GLTexture::List& texture);
454
std::unique_ptr <UnityMinimizedHandler> mMinimizeHandler;
457
std::unique_ptr <ShowdesktopHandler> mShowdesktopHandler;
471
458
static GLTexture::List close_normal_tex_;
472
459
static GLTexture::List close_prelight_tex_;
473
460
static GLTexture::List close_pressed_tex_;
461
GLTexture::List decoration_tex_;
462
GLTexture::List decoration_selected_tex_;
463
std::string decoration_title_;
474
464
compiz::WindowInputRemoverLock::Weak input_remover_;
475
465
panel::WindowState close_icon_state_;
476
466
nux::Geometry close_button_geo_;