From a2f113f8ee6f196aa7712a87704b854ac5e2e41d Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Thu, 22 Mar 2012 23:36:10 +0100 Subject: menu/software_mouse_pointer: hide after 2s without movement --- src/menu/software_mouse_pointer.cpp | 6 ++++++ src/menu/software_mouse_pointer.hpp | 3 +++ 2 files changed, 9 insertions(+) diff --git a/src/menu/software_mouse_pointer.cpp b/src/menu/software_mouse_pointer.cpp index 814f64b6..b86b06ae 100644 --- a/src/menu/software_mouse_pointer.cpp +++ b/src/menu/software_mouse_pointer.cpp @@ -33,6 +33,8 @@ namespace usdx SoftwareMousePointer::SoftwareMousePointer(Container* parent, EventManager* event_manager) : DrawableControl(parent) { + fade_inactive = new Timer(this, 2000, true); + this->vertices[0] = 0.0f; this->vertices[1] = 40.0f; this->vertices[2] = 40.0f; @@ -95,6 +97,9 @@ namespace usdx void SoftwareMousePointer::draw(void) { + if (fade_inactive->is_ready()) + return; + glBindTexture(GL_TEXTURE_2D, texture_normal->get_texture()); glEnableClientState(GL_VERTEX_ARRAY); @@ -115,6 +120,7 @@ namespace usdx void SoftwareMousePointer::on_mouse_move(int x, int y) { set_position(x, y); + fade_inactive->update(); } }; diff --git a/src/menu/software_mouse_pointer.hpp b/src/menu/software_mouse_pointer.hpp index 15e855db..26ffc037 100644 --- a/src/menu/software_mouse_pointer.hpp +++ b/src/menu/software_mouse_pointer.hpp @@ -31,6 +31,7 @@ #include "container.hpp" #include "event_manager.hpp" #include "texture.hpp" +#include "timer.hpp" #include #include @@ -48,6 +49,8 @@ namespace usdx Texture* texture_normal; Texture* texture_pressed; + Timer* fade_inactive; + boost::signals2::connection mouse_move_connection; protected: -- cgit v1.2.3