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

📄 clockpane.hpp

📁 一个基于BREW上的电子时钟程序,通过太阳历计算当前时间,并有闹铃和日志功能.
💻 HPP
字号:
//
//      ClockPane.hpp
//
//      Copyright (C) 2006 Sophia Cradle Incorporated

#ifndef __CLOCKPANE_HPP
#define __CLOCKPANE_HPP

#include <SophiaFramework.hpp>

#define CLOCKPANE_PI						3.141592653589793238462643383280
#define CLOCKPANE_DEFAULT_CITY_NAME			"搶嫗"
#define CLOCKPANE_DEFAULT_TIME_DIFFERENCE	(9 * 3600)

SFMTYPEDEFCLASS(ClockPane)
class ClockPane : public SFRPane {
SFMSEALCOPY(ClockPane)
private:
	SFXDateDuration _timeDifference;
	SFXWideString _cityName;
	Bool _simulation;
	SFXDate _simulationDate;
	SFXDate _lastDate;
	SFXLine _hourHand;
	SFXLine _minuteHand;
	SFXLine _secondHand;

public:
	explicit ClockPane(SFRResponderPtr responder, SFXRectangleConstRef rect, SFXWideStringConstRef cityName = CLOCKPANE_DEFAULT_CITY_NAME, SFXDateDurationConstRef timeDifferenceConstRef = SFXDateDuration(CLOCKPANE_DEFAULT_TIME_DIFFERENCE)) static_throws;
	virtual ~ClockPane(Void);
	Void SetTimeDifference(SFXDateDurationConstRef timeDifference);
	SFXDateDurationConstRef GetTimeDifference(Void) const;
	Void SetCityName(SFXWideStringConstRef cityName);
	SFXWideStringConstRef GetCityName(Void) const;
	Void SetSimulation(SFXDateConstRef utcDate);
	Void CancelSimulation(Void);
	Void DelayUpdate(SInt32 mSec);
	static Void UpdateSPP(VoidPtr /* data */);
private:
	static Float64 DegreeToRadian(Float64 x);
	HANDLER_DECLARE_VOIDRENDER(ClockPane, OnContent)
	HANDLER_DECLARE_VOIDSUSPEND(ClockPane, OnAppSuspend)
};

inline Void ClockPane::SetTimeDifference(SFXDateDurationConstRef timeDifference)
{
	_timeDifference = timeDifference;
}

inline SFXDateDurationConstRef ClockPane::GetTimeDifference(Void) const
{
	return _timeDifference;
}

inline Void ClockPane::SetCityName(SFXWideStringConstRef cityName)
{
	_cityName = cityName;
}

inline SFXWideStringConstRef ClockPane::GetCityName(Void) const
{
	return _cityName;
}

inline Float64 ClockPane::DegreeToRadian(Float64 x)
{
	return (CLOCKPANE_PI / 180.0) * x;
}

#endif

⌨️ 快捷键说明

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