📄 clockpane.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 + -