⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 minesweeper_timer.cpp

📁 cegui界面库
💻 CPP
字号:
/***********************************************************************	filename: 	CEGUITimer.cpp	created:	08/08/2006	author:		Olivier Delannoy *************************************************************************//*************************************************************************** *   Copyright (C) 2004 - 2006 Paul D Turner & The CEGUI Development Team * *   Permission is hereby granted, free of charge, to any person obtaining *   a copy of this software and associated documentation files (the *   "Software"), to deal in the Software without restriction, including *   without limitation the rights to use, copy, modify, merge, publish, *   distribute, sublicense, and/or sell copies of the Software, and to *   permit persons to whom the Software is furnished to do so, subject to *   the following conditions: * *   The above copyright notice and this permission notice shall be *   included in all copies or substantial portions of the Software. * *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, *   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *   IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR *   OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, *   ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR *   OTHER DEALINGS IN THE SOFTWARE. ***************************************************************************/#include "Minesweeper_Timer.h"#include "CEGUIPropertyHelper.h"// Start of CEGUI namespace sectionnamespace TimerProperties{CEGUI::String Delay::get(const CEGUI::PropertyReceiver* receiver) const{    return CEGUI::PropertyHelper::floatToString(static_cast<const Timer*>(receiver)->getDelay());}void Delay::set(CEGUI::PropertyReceiver* receiver, const CEGUI::String& value){    static_cast<Timer*>(receiver)->setDelay(CEGUI::PropertyHelper::stringToFloat(value));}}/*************************************************************************	Constants*************************************************************************/// type name for this widgetconst CEGUI::String Timer::WidgetTypeName("Timer");const CEGUI::String Timer::EventNamespace("Timer"); const CEGUI::String Timer::EventTimerAlarm("EventTimerAlarm");/************************************************************************* * Property definition *************************************************************************/TimerProperties::Delay Timer::d_delayProperty;/*************************************************************************    Constructor*************************************************************************/Timer::Timer(const CEGUI::String& type, const CEGUI::String& name) :    Window(type, name),    d_delay(0),     d_started(false),     d_currentValue(0){    CEGUI::UVector2 sz(CEGUI::UDim(1.0, 0.0), CEGUI::UDim(1.0, 0.0));    setMaxSize(sz);    setSize(sz);    addTimerProperties();}void Timer::start(){    d_started = true;}void Timer::stop(){    d_started = false;}bool Timer::isStarted() const{    return d_started;}void Timer::setDelay(float delay){    d_delay = delay;}float Timer::getDelay() const{    return d_delay;}void Timer::updateSelf(float elapsed){    if (d_delay > 0 && d_started)    {        d_currentValue += elapsed;        if (d_currentValue >= d_delay)        {            d_currentValue -= d_delay;            CEGUI::WindowEventArgs args(this);            fireEvent(EventTimerAlarm, args, EventNamespace);        }    }}void Timer::addTimerProperties(void){    addProperty(&d_delayProperty);}TimerFactory& getTimerFactory(){    static TimerFactory s_factory;    return s_factory;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -