From ae2a03c2941bf92573f89b88ef73f8aa842bea0a Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdetoys@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kweather/sun.h | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 kweather/sun.h (limited to 'kweather/sun.h') diff --git a/kweather/sun.h b/kweather/sun.h new file mode 100644 index 0000000..6773d01 --- /dev/null +++ b/kweather/sun.h @@ -0,0 +1,57 @@ +/*************************************************************************** + sun.h - Sun Rise and Set Calculations + ------------------- + begin : Friday July 11 2003 + copyright : (C) 2003 by John Ratke + email : jratke@comcast.net + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef SUN_H +#define SUN_H + +#include +#include +#include + +class Sun +{ + public: + /* Constructs a Sun instance for calculating sun rise and set + * times. Users should construct it once and then call one or + * more of the other four public functions. + * + * Inputs are the location on earth to calculate the rise/set time + * for (for example, the location of a particular weather station), + * the current date, and the offset in minutes from universal time + * to the local time zone. + * + */ + Sun( const QString &latitude, + const QString &longitude, + QDate date = QDate::currentDate(), + const int localUTCOffset = KRFCDate::localUTCOffset() ); + + QTime computeRiseTime(); + QTime computeSetTime(); + QTime computeCivilTwilightStart(); + QTime computeCivilTwilightEnd(); + + private: + QTime convertDoubleToLocalTime( const double time ); + + const QDate m_date; + const double m_lat; + const double m_lon; + const int m_localUTCOffset; +}; + +#endif -- cgit v1.2.1