patch by Julun:
* further cleanup of code to apply style guide * removed now obsolete clock bitmaps * some restructuring of the code * adjusted layout of the time zone pane git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22222 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
9382f57691
commit
42b3a11f19
@ -1,26 +1,30 @@
|
||||
/*
|
||||
BaseView.cpp
|
||||
by Mike Berg (inseculous)
|
||||
*/
|
||||
|
||||
#include <Alert.h>
|
||||
#include <OS.h>
|
||||
* Copyright 2004-2007, Haiku, Inc. All Rights Reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors:
|
||||
* Mike Berg (inseculous)
|
||||
* Julun <host.haiku@gmx.de>
|
||||
*/
|
||||
|
||||
#include "BaseView.h"
|
||||
#include "TimeMessages.h"
|
||||
|
||||
|
||||
#include <Message.h>
|
||||
#include <OS.h>
|
||||
|
||||
|
||||
TTimeBaseView::TTimeBaseView(BRect frame, const char *name)
|
||||
: BView(frame, name, B_FOLLOW_ALL_SIDES, B_PULSE_NEEDED),
|
||||
fMessage(NULL)
|
||||
fIsGMT(false),
|
||||
fMessage(H_TIME_UPDATE)
|
||||
{
|
||||
fMessage = new BMessage(H_TIME_UPDATE);
|
||||
}
|
||||
|
||||
|
||||
TTimeBaseView::~TTimeBaseView()
|
||||
{
|
||||
delete fMessage;
|
||||
}
|
||||
|
||||
|
||||
@ -47,76 +51,71 @@ TTimeBaseView::SetGMTime(bool gmt)
|
||||
|
||||
|
||||
void
|
||||
TTimeBaseView::DispatchMessage()
|
||||
TTimeBaseView::ChangeTime(BMessage *message)
|
||||
{
|
||||
if (fMessage == NULL)
|
||||
bool isTime;
|
||||
if (message->FindBool("time", &isTime) != B_OK)
|
||||
return;
|
||||
|
||||
time_t current = time(NULL);
|
||||
time_t tmp = time(NULL);
|
||||
struct tm *tm_struct = localtime(&tmp);
|
||||
|
||||
struct tm *ltime;
|
||||
if (isTime) {
|
||||
int32 hour = 0;
|
||||
if (message->FindInt32("hour", &hour) == B_OK)
|
||||
tm_struct->tm_hour = hour;
|
||||
|
||||
if (fIsGMT)
|
||||
ltime = gmtime(¤t);
|
||||
else
|
||||
ltime = localtime(¤t);
|
||||
|
||||
int32 month = ltime->tm_mon;
|
||||
int32 day = ltime->tm_mday;
|
||||
int32 year = ltime->tm_year;
|
||||
int32 hour = ltime->tm_hour;
|
||||
int32 minute = ltime->tm_min;
|
||||
int32 second = ltime->tm_sec;
|
||||
|
||||
fMessage->MakeEmpty();
|
||||
fMessage->AddInt32("month", month);
|
||||
fMessage->AddInt32("day", day);
|
||||
fMessage->AddInt32("year", year);
|
||||
fMessage->AddInt32("hour", hour);
|
||||
fMessage->AddInt32("minute", minute);
|
||||
fMessage->AddInt32("second", second);
|
||||
int32 minute = 0;
|
||||
if (message->FindInt32("minute", &minute) == B_OK)
|
||||
tm_struct->tm_min = minute;
|
||||
|
||||
SendNotices(H_TM_CHANGED, fMessage);
|
||||
int32 second = 0;
|
||||
if (message->FindInt32("second", &second) == B_OK)
|
||||
tm_struct->tm_sec = second;
|
||||
|
||||
bool isAM = false;
|
||||
if (message->FindBool("isam", &isAM) == B_OK) {
|
||||
if (!isAM)
|
||||
tm_struct->tm_hour += 12;
|
||||
}
|
||||
} else {
|
||||
int32 month = 0;
|
||||
if (message->FindInt32("month", &month) == B_OK)
|
||||
tm_struct->tm_mon = month;
|
||||
|
||||
int32 day = 0;
|
||||
if (message->FindInt32("day", &day) == B_OK)
|
||||
tm_struct->tm_mday = day;
|
||||
|
||||
int32 year = 0;
|
||||
if (message->FindInt32("year", &year) == B_OK)
|
||||
tm_struct->tm_year = year;
|
||||
}
|
||||
|
||||
tmp = mktime(tm_struct);
|
||||
set_real_time_clock(tmp);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TTimeBaseView::ChangeTime(BMessage *message)
|
||||
TTimeBaseView::DispatchMessage()
|
||||
{
|
||||
bool istime;
|
||||
if (message->FindBool("time", &istime) != B_OK)
|
||||
return;
|
||||
time_t tmp = time(NULL);
|
||||
struct tm *tm_struct = localtime(&tmp);
|
||||
|
||||
time_t atime = time(NULL);
|
||||
struct tm *_tm = localtime(&atime);
|
||||
if (fIsGMT)
|
||||
tm_struct = gmtime(&tmp);
|
||||
|
||||
int32 hour = 0;
|
||||
int32 minute = 0;
|
||||
int32 second = 0;
|
||||
int32 month = 0;
|
||||
int32 day = 0;
|
||||
int32 year = 0;
|
||||
bool isam = false;
|
||||
if (istime) {
|
||||
if (message->FindInt32("hour", &hour) == B_OK)
|
||||
_tm->tm_hour = hour;
|
||||
if (message->FindInt32("minute", &minute) == B_OK)
|
||||
_tm->tm_min = minute;
|
||||
if (message->FindInt32("second", &second) == B_OK)
|
||||
_tm->tm_sec = second;
|
||||
if (message->FindBool("isam", &isam) == B_OK) {
|
||||
if (!isam)
|
||||
_tm->tm_hour += 12;
|
||||
}
|
||||
} else {
|
||||
if (message->FindInt32("month", &month) == B_OK)
|
||||
_tm->tm_mon = month;
|
||||
if (message->FindInt32("day", &day) == B_OK)
|
||||
_tm->tm_mday = day;
|
||||
if (message->FindInt32("year", &year) == B_OK)
|
||||
_tm->tm_year = year;
|
||||
}
|
||||
|
||||
time_t atime2 = mktime(_tm);
|
||||
set_real_time_clock(atime2);
|
||||
fMessage.MakeEmpty();
|
||||
|
||||
fMessage.AddInt32("month", tm_struct->tm_mon);
|
||||
fMessage.AddInt32("day", tm_struct->tm_mday);
|
||||
fMessage.AddInt32("year", tm_struct->tm_year);
|
||||
|
||||
fMessage.AddInt32("hour", tm_struct->tm_hour);
|
||||
fMessage.AddInt32("minute", tm_struct->tm_min);
|
||||
fMessage.AddInt32("second", tm_struct->tm_sec);
|
||||
|
||||
SendNotices(H_TM_CHANGED, &fMessage);
|
||||
}
|
||||
|
||||
|
@ -1,25 +1,37 @@
|
||||
/*
|
||||
* Copyright 2004-2007, Haiku, Inc. All Rights Reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors:
|
||||
* Mike Berg (inseculous)
|
||||
* Julun <host.haiku@gmx.de>
|
||||
*/
|
||||
#ifndef TIMEBASE_H
|
||||
#define TIMEBASE_H
|
||||
|
||||
#include <Message.h>
|
||||
|
||||
#include <View.h>
|
||||
#include <Message.h>
|
||||
|
||||
|
||||
class TTimeBaseView: public BView {
|
||||
public:
|
||||
TTimeBaseView(BRect frmae, const char *name);
|
||||
virtual ~TTimeBaseView();
|
||||
TTimeBaseView(BRect frame, const char *name);
|
||||
virtual ~TTimeBaseView();
|
||||
|
||||
virtual void Pulse();
|
||||
virtual void AttachedToWindow();
|
||||
virtual void Pulse();
|
||||
virtual void AttachedToWindow();
|
||||
|
||||
void SetGMTime(bool gmtTime);
|
||||
void ChangeTime(BMessage *message);
|
||||
|
||||
void ChangeTime(BMessage *);
|
||||
void SetGMTime(bool);
|
||||
protected:
|
||||
virtual void DispatchMessage();
|
||||
virtual void DispatchMessage();
|
||||
|
||||
private:
|
||||
BMessage *fMessage;
|
||||
bool fIsGMT;
|
||||
bool fIsGMT;
|
||||
BMessage fMessage;
|
||||
};
|
||||
|
||||
#endif //TIMEBASE_H
|
||||
#endif // TIMEBASE_H
|
||||
|
||||
|
@ -1,13 +1,23 @@
|
||||
#include <Bitmap.h>
|
||||
/*
|
||||
* Copyright 2004-2007, Haiku, Inc. All Rights Reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors:
|
||||
* Julun <host.haiku@gmx.de>
|
||||
*/
|
||||
|
||||
#include "Bitmaps.h"
|
||||
|
||||
|
||||
#include <Debug.h>
|
||||
#include <Screen.h>
|
||||
|
||||
#include "Bitmaps.h"
|
||||
|
||||
void
|
||||
ReplaceTransparentColor(BBitmap *bitmap, rgb_color with)
|
||||
{
|
||||
ASSERT(bitmap->ColorSpace() == B_COLOR_8_BIT); // other color spaces not implemented yet
|
||||
// other color spaces not implemented yet
|
||||
ASSERT(bitmap->ColorSpace() == B_COLOR_8_BIT);
|
||||
|
||||
BScreen screen(B_MAIN_SCREEN_ID);
|
||||
uint32 withIndex = screen.IndexForColor(with);
|
||||
|
@ -1,510 +1,19 @@
|
||||
/*
|
||||
* Copyright 2004-2007, Haiku, Inc. All Rights Reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors:
|
||||
* Julun <host.haiku@gmx.de>
|
||||
*/
|
||||
#ifndef ANALOG_CLOCK_H
|
||||
#define ANALOG_CLOCK_H
|
||||
|
||||
|
||||
#include <Bitmap.h>
|
||||
|
||||
|
||||
void ReplaceTransparentColor(BBitmap *bitmap, rgb_color with);
|
||||
|
||||
const int32 kClockFaceWidth = 85;
|
||||
const int32 kClockFaceHeight = 85;
|
||||
const color_space kClockFaceColorSpace = B_CMAP8;
|
||||
|
||||
const unsigned char kClockFaceBits [] = {
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0x1d,0x3f,0x3f,0x3f,0x1e,0xff,0x18,0x16,0x13,0x12,0x11,
|
||||
0x10,0x10,0x10,0x10,0x10,0x11,0x12,0x13,0x16,0x18,0x1a,0x1d,0x3f,0x1d,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1d,0x3f,0x3f,0x1e,0x1a,0x17,
|
||||
0x13,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
|
||||
0x10,0x10,0x10,0x10,0x13,0x17,0x19,0x1e,0x1d,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0x1e,0x3f,0x3f,0x1a,0x16,0x12,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
|
||||
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x12,
|
||||
0x16,0x19,0x1e,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x1e,0x18,0x13,0x10,0x10,0x10,0x10,0x10,
|
||||
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
|
||||
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x13,0x16,0x1c,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1e,0x3f,0x1e,0x18,
|
||||
0x12,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0d,0x0b,0x09,0x07,0x06,0x05,0x04,
|
||||
0x03,0x03,0x03,0x04,0x05,0x06,0x07,0x09,0x0b,0x0d,0x10,0x10,0x10,0x10,0x10,0x10,
|
||||
0x10,0x10,0x10,0x10,0x12,0x15,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0x1d,0x3f,0x3f,0x19,0x13,0x10,0x10,0x10,0x10,0x10,0x10,0x0e,0x0b,0x08,
|
||||
0x05,0x03,0x05,0x08,0x0c,0x11,0x15,0x19,0x1c,0x1e,0x3f,0x1e,0x1c,0x19,0x15,0x11,
|
||||
0x0c,0x08,0x08,0x08,0x0b,0x0e,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x13,0x15,
|
||||
0x1d,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x1b,0x14,0x10,0x10,0x10,
|
||||
0x10,0x10,0x10,0x0c,0x08,0x05,0x04,0x08,0x0f,0x17,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x17,0x0f,0x0b,0x0a,0x0c,
|
||||
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x12,0x17,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1c,
|
||||
0x3f,0x3f,0x18,0x11,0x10,0x10,0x10,0x10,0x0f,0x0b,0x07,0x03,0x06,0x0f,0x19,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x19,0x0f,0x0c,0x0b,0x0f,0x10,0x10,0x10,0x10,0x10,
|
||||
0x10,0x11,0x14,0x1c,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0x1d,0x3f,0x1d,0x15,0x10,0x10,0x10,0x10,0x10,0x0b,
|
||||
0x07,0x03,0x08,0x13,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x13,0x0e,0x0c,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x12,0x18,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1d,0x3f,0x1b,
|
||||
0x13,0x10,0x10,0x10,0x10,0x0d,0x08,0x03,0x08,0x13,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x14,0x0e,0x0d,0x10,0x10,
|
||||
0x10,0x10,0x10,0x10,0x10,0x16,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0x1e,0x3f,0x1a,0x12,0x10,0x10,0x10,0x10,0x0a,0x05,0x05,0x10,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x2b,
|
||||
0x3f,0x3f,0xda,0x2b,0x2b,0xda,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x13,0x0e,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x14,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1e,0x3f,0x19,0x11,0x10,
|
||||
0x10,0x10,0x0e,0x08,0x03,0x0a,0x18,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x2b,0x2b,0x3f,0x3f,0x2b,0x3f,0x3f,0x2b,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x18,0x10,
|
||||
0x0e,0x10,0x10,0x10,0x10,0x10,0x0f,0x13,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0x1d,0x3f,0x19,0x11,0x10,0x10,0x10,0x0d,0x07,0x04,0x0f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x2b,
|
||||
0x3f,0x3f,0x3f,0x3f,0x1d,0x2b,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x13,0x0f,0x10,0x10,0x10,0x10,0x10,0x0f,
|
||||
0x13,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1d,0x3f,0x1a,0x11,0x10,0x10,0x10,
|
||||
0x0c,0x06,0x06,0x13,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x2b,0x3f,0x3f,0x3f,0x3f,0x2b,0xda,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x16,0x10,0x10,0x10,0x10,0x10,0x10,0x0e,0x13,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0x1c,0x3f,0x1b,0x12,0x10,0x10,0x10,0x0c,0x05,0x06,0x16,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x2b,
|
||||
0x3f,0x3f,0x3f,0x2b,0xda,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x18,0x10,0x10,0x10,0x10,0x10,
|
||||
0x10,0x0e,0x14,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x1d,0x13,0x10,0x10,0x10,0x0c,0x05,
|
||||
0x07,0x18,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x2b,0x3f,0x3f,0x2b,0xda,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x1a,0x11,0x10,0x10,0x10,0x10,0x10,0x0e,0x16,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,
|
||||
0x3f,0x15,0x10,0x10,0x10,0x0d,0x06,0x06,0x18,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0xad,0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x2b,0x2b,
|
||||
0x2b,0x3f,0x2b,0x2b,0x2b,0x2b,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0xad,
|
||||
0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1a,0x11,0x10,0x10,
|
||||
0x10,0x10,0x10,0x0e,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0x1d,0x3f,0x18,0x10,0x10,0x10,0x0e,0x07,0x06,0x16,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x24,0x24,0x24,0x60,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x24,0x24,0x24,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x19,0x11,0x10,0x10,0x10,0x10,0x0d,0x10,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x1b,
|
||||
0x11,0x10,0x10,0x10,0x08,0x04,0x13,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0xad,0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0xad,
|
||||
0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x17,0x11,
|
||||
0x10,0x10,0x10,0x10,0x0d,0x13,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0xff,0xff,0xff,0x1e,0x3f,0x14,0x10,0x10,0x10,0x0a,0x03,0x0f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x15,0x10,0x10,0x10,0x10,0x10,0x0d,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0x3f,0x19,0x10,
|
||||
0x10,0x10,0x0d,0x05,0x0a,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x13,0x10,0x10,0x10,0x10,0x0c,0x10,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0xff,0xff,0x3f,0x1e,0x13,0x10,0x10,0x10,0x08,0x05,0x18,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1a,0x12,0x10,0x10,0x10,0x10,0x0c,0x17,
|
||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0x3f,0x18,0x10,0x10,
|
||||
0x10,0x0b,0x03,0x10,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x16,0x10,0x10,0x10,0x10,0x0d,0x0e,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0xff,0x1e,0x1e,0x12,0x10,0x10,0x0f,0x07,0x08,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1e,0x14,0x10,0x10,0x10,0x10,0x0b,
|
||||
0x17,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0x3f,0x18,0x10,0x10,0x10,
|
||||
0x0b,0x03,0x13,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x18,0x10,0x10,0x10,0x10,0x0c,0x0e,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0x1d,0x3f,0x13,0x10,0x10,0x10,0x07,0x08,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x15,0x10,0x10,0x10,0x10,
|
||||
0x0a,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0x3f,0x1a,0x10,0x10,0x10,0x0c,
|
||||
0x03,0x13,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x18,0x10,0x10,0x10,0x10,0x0a,0x11,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0x3f,0x16,0x10,0x10,0x10,0x08,0x06,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0xad,0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0xad,0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x13,0x10,0x10,0x10,
|
||||
0x0d,0x0b,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0x1d,0x1e,0x12,0x10,0x10,0x0e,0x05,
|
||||
0x0f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x24,0x24,0x24,0x60,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x24,0x24,0x24,0x60,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x17,0x10,0x10,0x10,0x10,0x09,0x18,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0x3f,0x1a,0x10,0x10,0x10,0x0b,0x04,0x19,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0xad,0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0xad,0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1c,0x11,0x10,0x10,
|
||||
0x10,0x09,0x11,0xff,0xff,0x3f,0x3f,0x3f,0xff,0x3f,0x17,0x10,0x10,0x10,0x08,0x08,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x14,0x10,0x10,0x10,0x0c,0x0b,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0x3f,0x13,0x10,0x10,0x10,0x05,0x0f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x18,0x10,0x10,
|
||||
0x10,0x0e,0x08,0xff,0xff,0x3f,0x3f,0x3f,0xff,0x1e,0x10,0x10,0x10,0x0d,0x03,0x17,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x1b,0x10,0x10,0x10,0x10,0x07,0x17,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0x10,0x10,0x10,0x0b,0x05,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x11,0x10,
|
||||
0x10,0x10,0x08,0x12,0xff,0x3f,0x3f,0x3f,0xff,0x18,0x10,0x10,0x10,0x09,0x08,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x14,0x10,0x10,0x10,0x0a,0x0d,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0x16,0x10,0x10,0x10,0x07,0x0c,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x17,0x10,
|
||||
0x10,0x10,0x0b,0x0a,0xff,0x3f,0x3f,0x3f,0xff,0x13,0x10,0x10,0x10,0x06,0x11,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x19,0x10,0x10,0x10,0x0d,0x08,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0x12,0x10,0x10,0x10,0x05,0x15,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1b,0x10,
|
||||
0x10,0x10,0x0e,0x06,0xff,0x3f,0x3f,0x3f,0xff,0x11,0x10,0x10,0x10,0x04,0x19,0x3f,
|
||||
0x3f,0x3f,0x3f,0xda,0x2b,0x2b,0xda,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0xda,0x2b,
|
||||
0x2b,0xda,0x3f,0x3f,0x3f,0x3f,0x1d,0x10,0x10,0x10,0x0f,0x05,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0x10,0x10,0x10,0x10,0x03,0x1c,0x3f,0x3f,0x3f,0x3f,0x2b,0x3f,0x3f,0x2b,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x2b,0x3f,0x3f,0x2b,0x3f,0x3f,0x3f,0x3f,0x1e,0x10,
|
||||
0x10,0x10,0x0f,0x03,0xff,0x3f,0x3f,0x3f,0xff,0x10,0x10,0x10,0x10,0x03,0x1e,0x3f,
|
||||
0x3f,0x3f,0x3f,0x2b,0x3f,0x3f,0x2b,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x2b,0x3f,0x3f,0x3f,0x3f,0x3f,0x10,0x10,0x10,0x10,0x03,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0x10,0x10,0x10,0x10,0x03,0x3f,0x3f,0x3f,0x3f,0x3f,0xda,0x2b,0x2b,0x2b,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x2b,0x2b,0xda,0x3f,0x3f,0x3f,0x3f,0x3f,0x10,
|
||||
0x10,0x10,0x0f,0x03,0xff,0x3f,0x3f,0x3f,0xff,0x10,0x10,0x10,0x10,0x04,0x1e,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0xda,0x2b,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x2b,0x3f,0x3f,0x3f,0x3f,0x3f,0x10,0x10,0x10,0x0f,0x03,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0x10,0x10,0x10,0x10,0x05,0x1c,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x2b,0xda,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x2b,0x3f,0x3f,0x2b,0x3f,0x3f,0x3f,0x3f,0x1e,0x10,
|
||||
0x10,0x10,0x0e,0x03,0xff,0x3f,0x3f,0x3f,0xff,0x11,0x10,0x10,0x10,0x06,0x19,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x2b,0xda,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0xda,0x2b,
|
||||
0x2b,0xda,0x3f,0x3f,0x3f,0x3f,0x1d,0x10,0x10,0x10,0x0d,0x05,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0x12,0x10,0x10,0x10,0x07,0x15,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1b,0x10,
|
||||
0x10,0x10,0x0b,0x06,0xff,0x3f,0x3f,0x3f,0xff,0x13,0x10,0x10,0x10,0x09,0x11,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x19,0x10,0x10,0x10,0x0a,0x08,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0x16,0x10,0x10,0x10,0x0b,0x0c,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x17,0x10,
|
||||
0x10,0x10,0x08,0x0a,0xff,0x3f,0x3f,0x3f,0xff,0x18,0x10,0x10,0x10,0x0d,0x08,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x14,0x10,0x10,0x10,0x06,0x0d,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0x1a,0x10,0x10,0x10,0x10,0x08,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x11,0x10,
|
||||
0x10,0x0e,0x04,0x12,0xff,0x3f,0x3f,0x3f,0xff,0x1d,0x10,0x10,0x10,0x10,0x08,0x17,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x1c,0x10,0x10,0x10,0x0c,0x04,0x17,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0x3f,0x13,0x10,0x10,0x10,0x0b,0x0f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x18,0x10,0x10,
|
||||
0x10,0x09,0x07,0xff,0xff,0x3f,0x3f,0x3f,0xff,0x1d,0x17,0x10,0x10,0x10,0x0e,0x0b,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x14,0x10,0x10,0x10,0x06,0x0b,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0x19,0x10,0x10,0x10,0x10,0x0a,0x19,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0xad,0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0xad,0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1d,0x11,0x10,0x10,
|
||||
0x0d,0x04,0x11,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0x1e,0x12,0x10,0x10,0x10,0x0c,
|
||||
0x0f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x24,0x24,0x24,0x60,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x24,0x24,0x24,0x60,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x18,0x10,0x10,0x10,0x0a,0x05,0x18,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0x1d,0x16,0x10,0x10,0x10,0x10,0x0c,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0xad,0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0xad,0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x13,0x10,0x10,0x10,
|
||||
0x06,0x0a,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0x19,0x10,0x10,0x10,0x10,
|
||||
0x0b,0x13,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x1a,0x10,0x10,0x10,0x0c,0x03,0x11,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0xff,0x1e,0x13,0x10,0x10,0x10,0x0f,0x0e,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x14,0x10,0x10,0x10,0x08,
|
||||
0x07,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0x16,0x10,0x10,0x10,
|
||||
0x10,0x0c,0x14,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x1a,0x10,0x10,0x10,0x0d,0x04,0x0e,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0xff,0xff,0x1c,0x12,0x10,0x10,0x10,0x10,0x0e,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x14,0x10,0x10,0x10,0x08,0x06,
|
||||
0x17,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0x15,0x10,0x10,
|
||||
0x10,0x10,0x0d,0x13,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x18,0x10,0x10,0x10,0x0c,0x04,0x0d,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0x13,0x10,0x10,0x10,0x10,0x0e,0x18,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1c,0x12,0x10,0x10,0x10,0x07,0x06,0x17,
|
||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0x15,0x10,
|
||||
0x10,0x10,0x10,0x10,0x10,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x15,0x10,0x10,0x10,0x0b,0x03,0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0x1d,0x12,0x10,0x10,0x10,0x10,0x0e,0x13,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x18,0x10,0x10,0x10,0x0d,0x06,0x09,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x17,
|
||||
0x11,0x10,0x10,0x10,0x10,0x0f,0x16,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0xad,0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0xad,
|
||||
0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1a,0x11,
|
||||
0x10,0x10,0x10,0x08,0x05,0x13,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x14,0x10,0x10,0x10,0x10,0x10,0x10,0x18,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x24,0x24,0x24,0x60,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x24,0x24,0x24,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x1b,0x12,0x10,0x10,0x10,0x0a,0x03,0x0d,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0x1c,0x12,0x10,0x10,0x10,0x10,0x10,0x10,0x1a,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0xad,0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0xda,0x2b,0x2b,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0xad,
|
||||
0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1c,0x13,0x10,0x10,
|
||||
0x10,0x0c,0x05,0x0a,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x18,0x10,0x10,0x10,0x10,0x10,0x10,
|
||||
0x11,0x1a,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0xda,0x2b,0xda,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x1c,0x13,0x10,0x10,0x10,0x0d,0x06,0x07,0x16,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0x16,0x10,0x10,0x10,0x10,0x10,0x10,0x11,0x19,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x2b,0xda,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1b,0x13,0x10,0x10,0x10,0x0d,
|
||||
0x07,0x06,0x12,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x14,0x0f,0x10,0x10,0x10,
|
||||
0x10,0x10,0x11,0x17,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x2b,0x2b,0x2b,0xda,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x1a,0x12,0x10,0x10,0x10,0x0e,0x07,0x05,0x10,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0x13,0x0f,0x10,0x10,0x10,0x10,0x10,0x11,0x15,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x2b,0x3f,0x3f,0x2b,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x18,0x11,0x10,0x10,0x10,0x0d,0x07,0x05,
|
||||
0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x13,0x0e,0x10,
|
||||
0x10,0x10,0x10,0x10,0x10,0x13,0x1a,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x2b,0x1d,0x3f,0x2b,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1c,0x15,
|
||||
0x10,0x10,0x10,0x10,0x0d,0x07,0x05,0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0x13,0x0e,0x10,0x10,0x10,0x10,0x10,0x10,0x12,0x16,
|
||||
0x1e,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0xda,0x2b,0x2b,0xda,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x18,0x12,0x10,0x10,0x10,0x10,0x0c,0x06,0x06,0x10,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x14,
|
||||
0x0e,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x14,0x18,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1a,0x14,0x10,0x10,0x10,
|
||||
0x10,0x10,0x0a,0x05,0x07,0x12,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x16,0x0e,0x0d,0x10,0x10,0x10,0x10,0x10,
|
||||
0x10,0x10,0x15,0x18,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x1a,0x14,0x10,0x10,0x10,0x10,0x10,0x0d,0x08,0x03,0x0a,0x16,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0x10,0x0d,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x13,0x17,0x1c,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1d,0x18,0x13,0x10,0x10,0x10,0x10,0x10,0x10,0x0b,
|
||||
0x06,0x05,0x0d,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x13,0x0d,0x0c,0x10,0x10,
|
||||
0x10,0x10,0x10,0x10,0x10,0x10,0x11,0x14,0x18,0x1b,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1c,0x18,0x14,0x11,0x10,
|
||||
0x10,0x10,0x10,0x10,0x10,0x0c,0x07,0x03,0x09,0x13,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0x10,0x0c,0x0d,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
|
||||
0x10,0x10,0x11,0x14,0x17,0x19,0x1b,0x1d,0x1e,0x3f,0x3f,0x3f,0x1e,0x1d,0x1b,0x19,
|
||||
0x17,0x14,0x11,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0d,0x08,0x04,0x06,0x0f,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x17,0x0e,
|
||||
0x0b,0x0c,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
|
||||
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
|
||||
0x10,0x0c,0x08,0x04,0x06,0x0d,0x17,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x17,0x0e,0x0a,0x0a,0x0d,0x10,0x10,0x10,
|
||||
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
|
||||
0x10,0x10,0x10,0x10,0x10,0x10,0x0d,0x0a,0x06,0x03,0x07,0x0e,0x17,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0x11,0x0b,0x09,0x09,0x0c,0x0e,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
|
||||
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0e,0x0c,0x09,0x06,0x04,0x05,
|
||||
0x0a,0x11,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x18,0x11,0x0b,
|
||||
0x08,0x07,0x08,0x0a,0x0b,0x0d,0x0e,0x0f,0x0f,0x10,0x0f,0x0f,0x0e,0x0d,0x0b,0x0a,
|
||||
0x08,0x06,0x04,0x04,0x07,0x0b,0x11,0x18,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x17,0x12,0x0d,0x0a,0x08,0x06,0x05,
|
||||
0x03,0x03,0x03,0x03,0x03,0x05,0x06,0x08,0x0a,0x0d,0x12,0x17,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f
|
||||
};
|
||||
|
||||
const int32 kCenterWidth = 7;
|
||||
const int32 kCenterHeight = 7;
|
||||
const color_space kCenterColorSpace = B_CMAP8;
|
||||
|
||||
const unsigned char kCenterBits [] = {
|
||||
0x3f,0x3f,0x0a,0x0a,0x0a,0x3f,0x3f,0x3f,
|
||||
0x3f,0x0a,0x15,0x15,0x15,0x0a,0x3f,0x0a,
|
||||
0x0a,0x15,0x0a,0x0a,0x0a,0x15,0x0a,0x0a,
|
||||
0x0a,0x15,0x0a,0x00,0x0a,0x15,0x0a,0x0a,
|
||||
0x0a,0x15,0x0a,0x0a,0x0a,0x15,0x0a,0x0a,
|
||||
0x3f,0x0a,0x15,0x15,0x15,0x0a,0x3f,0x3f,
|
||||
0x3f,0x3f,0x0a,0x0a,0x0a,0x3f,0x3f};
|
||||
|
||||
const int32 kCapWidth = 5;
|
||||
const int32 kCapHeight = 5;
|
||||
const color_space kCapColorSpace = B_CMAP8;
|
||||
|
||||
const unsigned char kCapBits [] = {
|
||||
0x0a, 0x15, 0x15, 0x15, 0x0a, 0x00, 0x00, 0x00,
|
||||
0x15, 0x0a, 0x0a, 0x0a, 0x15, 0x00, 0x00, 0x00,
|
||||
0x15, 0x0a, 0x00, 0x0a, 0x15, 0x00, 0x00, 0x00,
|
||||
0x15, 0x0a, 0x0a, 0x0a, 0x15, 0x00, 0x00, 0x00,
|
||||
0x0a, 0x15, 0x15, 0x15, 0x0a, 0x00, 0x00, 0x00
|
||||
};
|
||||
|
||||
const int32 kUpArrowWidth = 16;
|
||||
const int32 kUpArrowHeight = 7;
|
||||
const color_space kUpArrowColorSpace = B_CMAP8;
|
||||
@ -533,3 +42,5 @@ const unsigned char kDownArrowBits [] = {
|
||||
0xff,0xff,0xff,0xff,0xff,0x13,0xff,0xff,0xff,0xff,0xff,0xff,0x18,0x3f,0xff,0xff
|
||||
};
|
||||
|
||||
#endif // ANALOG_CLOCK_H
|
||||
|
||||
|
@ -1,12 +1,11 @@
|
||||
/*
|
||||
* Copyright 2004-2005, Haiku.
|
||||
* Copyright 2004-2007, Haiku.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors:
|
||||
* Michael Berg <mike@agamemnon.homelinux.net>
|
||||
*/
|
||||
|
||||
|
||||
#include <String.h>
|
||||
#include <Window.h>
|
||||
|
||||
@ -455,12 +454,14 @@ void
|
||||
TCalendarView::DispatchMessage()
|
||||
{
|
||||
// send message to update timedate
|
||||
BMessage *msg = new BMessage(H_USER_CHANGE);
|
||||
msg->AddBool("time", false);
|
||||
msg->AddInt32("month", f_month);
|
||||
BMessage msg(H_USER_CHANGE);
|
||||
msg.AddBool("time", false);
|
||||
msg.AddInt32("month", f_month);
|
||||
msg.AddInt32("year", f_year);
|
||||
|
||||
if (f_cday != NULL)
|
||||
msg->AddInt32("day", f_cday->Day());
|
||||
msg->AddInt32("year", f_year);
|
||||
msg.AddInt32("day", f_cday->Day());
|
||||
|
||||
Window()->PostMessage(msg);
|
||||
Window()->PostMessage(&msg);
|
||||
}
|
||||
|
||||
|
@ -299,5 +299,3 @@ TSectionEdit::DoDownPress()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//---//
|
||||
|
@ -13,6 +13,7 @@
|
||||
#include "DateTimeEdit.h"
|
||||
#include "TimeMessages.h"
|
||||
|
||||
|
||||
#include <Entry.h>
|
||||
#include <File.h>
|
||||
#include <FindDirectory.h>
|
||||
@ -25,7 +26,7 @@
|
||||
TSettingsView::TSettingsView(BRect frame)
|
||||
: BView(frame,"Settings", B_FOLLOW_ALL,
|
||||
B_WILL_DRAW | B_FRAME_EVENTS | B_NAVIGABLE_JUMP),
|
||||
fGmtTime(NULL)
|
||||
fGmtTime(NULL)
|
||||
{
|
||||
InitView();
|
||||
}
|
||||
@ -109,17 +110,6 @@ TSettingsView::InitView()
|
||||
fCalendar = new TCalendarView(frameLeft, "calendar", B_FOLLOW_NONE, B_WILL_DRAW);
|
||||
AddChild(fCalendar);
|
||||
|
||||
frameLeft.top = fCalendar->Frame().bottom + 10;
|
||||
BStringView *text = new BStringView(frameLeft, "timezone", "Timezone:");
|
||||
AddChild(text);
|
||||
text->ResizeToPreferred();
|
||||
|
||||
frameLeft.left += 20.0f;
|
||||
frameLeft.top = text->Frame().bottom + 5;
|
||||
|
||||
fTimeZone = new BStringView(frameLeft, "label", " ");
|
||||
AddChild(fTimeZone);
|
||||
|
||||
// right side
|
||||
BRect frameRight(Bounds());
|
||||
frameRight.left = frameRight.Width() / 2;
|
||||
@ -144,14 +134,15 @@ TSettingsView::InitView()
|
||||
// clock radio buttons
|
||||
frameRight.left = left;
|
||||
frameRight.top = fClock->Frame().bottom + 10;
|
||||
text = new BStringView(frameRight, "clockis", "Clock set to:");
|
||||
BStringView *text = new BStringView(frameRight, "clockis", "Clock set to:");
|
||||
AddChild(text);
|
||||
text->ResizeToPreferred();
|
||||
|
||||
frameRight.left += 20.0f;
|
||||
frameRight.left += 10.0f;
|
||||
frameRight.top = text->Frame().bottom + 5;
|
||||
|
||||
fLocalTime = new BRadioButton(frameRight, "local", "Local time", new BMessage(H_RTC_CHANGE));
|
||||
fLocalTime = new BRadioButton(frameRight, "local", "Local time",
|
||||
new BMessage(H_RTC_CHANGE));
|
||||
AddChild(fLocalTime);
|
||||
fLocalTime->ResizeToPreferred();
|
||||
|
||||
@ -200,14 +191,6 @@ TSettingsView::GMTime()
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TSettingsView::SetTimeZone(const char *timezone)
|
||||
{
|
||||
fTimeZone->SetText(timezone);
|
||||
fTimeZone->ResizeToPreferred();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TSettingsView::UpdateDateTime(BMessage *message)
|
||||
{
|
||||
@ -239,9 +222,9 @@ void
|
||||
TSettingsView::ReadRTCSettings()
|
||||
{
|
||||
BPath path;
|
||||
if (find_directory(B_USER_SETTINGS_DIRECTORY, &path) != B_OK) {
|
||||
return; // NO USER SETTINGS DIRECTORY!!!
|
||||
}
|
||||
if (find_directory(B_USER_SETTINGS_DIRECTORY, &path) != B_OK)
|
||||
return;
|
||||
|
||||
path.Append("RTC_time_settings");
|
||||
|
||||
BFile file;
|
||||
@ -249,9 +232,9 @@ TSettingsView::ReadRTCSettings()
|
||||
if (entry.Exists()) {
|
||||
file.SetTo(&entry, B_READ_ONLY);
|
||||
if (file.InitCheck() == B_OK) {
|
||||
char buff[6];
|
||||
file.Read(buff, 6);
|
||||
BString text(buff);
|
||||
char localTime[6];
|
||||
file.Read(localTime, 6);
|
||||
BString text(localTime);
|
||||
if (text.Compare("local\n", 5) == 0)
|
||||
fIsLocalTime = true;
|
||||
else
|
||||
|
@ -18,7 +18,7 @@ class TTimeEdit;
|
||||
class TCalendarView;
|
||||
class TAnalogClock;
|
||||
class BRadioButton;
|
||||
class BStringView;
|
||||
|
||||
|
||||
class TSettingsView : public BView {
|
||||
public:
|
||||
@ -32,7 +32,6 @@ class TSettingsView : public BView {
|
||||
|
||||
void ChangeRTCSetting();
|
||||
bool GMTime();
|
||||
void SetTimeZone(const char *timezone);
|
||||
|
||||
private:
|
||||
void InitView();
|
||||
@ -46,8 +45,7 @@ class TSettingsView : public BView {
|
||||
TCalendarView *fCalendar;
|
||||
TAnalogClock *fClock;
|
||||
bool fIsLocalTime;
|
||||
BStringView *fTimeZone;
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif // SETTINGS_VIEW_H
|
||||
|
||||
|
@ -1,31 +1,34 @@
|
||||
/*
|
||||
* Copyright 2002-2006, Haiku. All rights reserved.
|
||||
* Copyright 2002-2007, Haiku. All rights reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors in chronological order:
|
||||
* Authors:
|
||||
* Andrew McCall, mccall@digitalparadise.co.uk
|
||||
* Mike Berg
|
||||
* Mike Berg (inseculous)
|
||||
* Julun <host.haiku@gmx.de>
|
||||
*/
|
||||
|
||||
|
||||
#include "Time.h"
|
||||
#include "TimeSettings.h"
|
||||
#include "TimeMessages.h"
|
||||
#include "TimeSettings.h"
|
||||
#include "TimeWindow.h"
|
||||
|
||||
|
||||
#include <Alert.h>
|
||||
#include <Message.h>
|
||||
|
||||
|
||||
TimeApplication::TimeApplication()
|
||||
: BApplication(HAIKU_APP_SIGNATURE)
|
||||
: BApplication(HAIKU_APP_SIGNATURE),
|
||||
fWindow(NULL)
|
||||
{
|
||||
fSettings = new TimeSettings();
|
||||
fWindow = new TTimeWindow();
|
||||
BPoint pt = TimeSettings().LeftTop();
|
||||
fWindow = new TTimeWindow(pt);
|
||||
}
|
||||
|
||||
|
||||
TimeApplication::~TimeApplication()
|
||||
{
|
||||
delete fSettings;
|
||||
}
|
||||
|
||||
|
||||
@ -33,12 +36,12 @@ void
|
||||
TimeApplication::MessageReceived(BMessage *message)
|
||||
{
|
||||
switch (message->what) {
|
||||
case ERROR_DETECTED:
|
||||
(new BAlert("Error", "Something has gone wrong!", "OK",
|
||||
NULL, NULL, B_WIDTH_AS_USUAL, B_OFFSET_SPACING,
|
||||
B_WARNING_ALERT))->Go();
|
||||
be_app->PostMessage(B_QUIT_REQUESTED);
|
||||
break;
|
||||
case UPDATE_SETTINGS:
|
||||
{
|
||||
BPoint pt;
|
||||
if (message->FindPoint("LeftTop", &pt) == B_OK)
|
||||
TimeSettings().SetLeftTop(pt);
|
||||
} break;
|
||||
|
||||
default:
|
||||
BApplication::MessageReceived(message);
|
||||
@ -57,14 +60,8 @@ TimeApplication::ReadyToRun()
|
||||
void
|
||||
TimeApplication::AboutRequested()
|
||||
{
|
||||
(new BAlert("about", "...by Andrew Edward McCall\n...Mike Berg too", "Big Deal"))->Go();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TimeApplication::SetWindowCorner(BPoint corner)
|
||||
{
|
||||
fSettings->SetWindowCorner(corner);
|
||||
BAlert alert("about", "Time & Date, by\n\nAndrew Edward McCall\nMike Berg", "OK");
|
||||
alert.Go();
|
||||
}
|
||||
|
||||
|
||||
@ -72,7 +69,7 @@ TimeApplication::SetWindowCorner(BPoint corner)
|
||||
|
||||
|
||||
int
|
||||
main(int, char**)
|
||||
main(int argc, char** argv)
|
||||
{
|
||||
TimeApplication app;
|
||||
app.Run();
|
||||
|
@ -1,38 +1,35 @@
|
||||
/*
|
||||
* Copyright 2002-2006, Haiku. All rights reserved.
|
||||
* Copyright 2002-2007, Haiku. All rights reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors in chronological order:
|
||||
* Authors:
|
||||
* Andrew McCall, mccall@digitalparadise.co.uk
|
||||
* Mike Berg
|
||||
* Mike Berg (inseculous)
|
||||
* Julun <host.haiku@gmx.de>
|
||||
*/
|
||||
#ifndef TIME_H
|
||||
#define TIME_H
|
||||
|
||||
|
||||
#include "TimeSettings.h"
|
||||
#include "TimeWindow.h"
|
||||
|
||||
#include <Application.h>
|
||||
|
||||
|
||||
class BMessage;
|
||||
class TTimeWindow;
|
||||
|
||||
|
||||
class TimeApplication : public BApplication {
|
||||
public:
|
||||
TimeApplication();
|
||||
virtual ~TimeApplication();
|
||||
TimeApplication();
|
||||
virtual ~TimeApplication();
|
||||
|
||||
void MessageReceived(BMessage* message);
|
||||
|
||||
void ReadyToRun();
|
||||
void AboutRequested();
|
||||
|
||||
void SetWindowCorner(BPoint corner);
|
||||
BPoint WindowCorner() const
|
||||
{ return fSettings->WindowCorner(); }
|
||||
virtual void MessageReceived(BMessage* message);
|
||||
virtual void ReadyToRun();
|
||||
virtual void AboutRequested();
|
||||
|
||||
private:
|
||||
TimeSettings *fSettings;
|
||||
TTimeWindow *fWindow;
|
||||
TTimeWindow *fWindow;
|
||||
};
|
||||
|
||||
#endif // TIME_H
|
||||
|
||||
|
@ -1,15 +1,18 @@
|
||||
/*
|
||||
|
||||
TimeMessages.h
|
||||
|
||||
*/
|
||||
|
||||
* Copyright 2002-2007, Haiku. All rights reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors:
|
||||
* Andrew McCall, mccall@digitalparadise.co.uk
|
||||
* Mike Berg (inseculous)
|
||||
* Julun <host.haiku@gmx.de>
|
||||
*/
|
||||
#ifndef TIME_MESSAGES_H
|
||||
#define TIME_MESSAGES_H
|
||||
|
||||
#define HAIKU_APP_SIGNATURE "application/x-vnd.Be-TIME"
|
||||
|
||||
const uint32 ERROR_DETECTED = 'ERor';
|
||||
const uint32 UPDATE_SETTINGS = 'TDUS';
|
||||
|
||||
//Timezone messages
|
||||
const uint32 H_REGION_CHANGED = 'h_RC';
|
||||
@ -38,5 +41,8 @@ const uint32 H_USER_CHANGE = 'obUC';
|
||||
// local/gmt radiobuttons
|
||||
const uint32 H_RTC_CHANGE = 'obRC';
|
||||
|
||||
// sunday/monday radio button
|
||||
const uint32 kWeekStart = '_kws';
|
||||
|
||||
#endif //TIME_MESSAGES_H
|
||||
|
||||
|
@ -1,66 +1,65 @@
|
||||
/*
|
||||
* Copyright 2002-2006, Haiku. All rights reserved.
|
||||
* Copyright 2002-2007, Haiku. All rights reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors in chronological order:
|
||||
* Authors:
|
||||
* Andrew McCall, mccall@digitalparadise.co.uk
|
||||
* Mike Berg
|
||||
* Mike Berg (inseculous)
|
||||
* Julun <host.haiku@gmx.de>
|
||||
*/
|
||||
|
||||
|
||||
#include "TimeSettings.h"
|
||||
#include "TimeMessages.h"
|
||||
|
||||
#include <Application.h>
|
||||
#include <FindDirectory.h>
|
||||
|
||||
#include <File.h>
|
||||
#include <FindDirectory.h>
|
||||
#include <Path.h>
|
||||
#include <String.h>
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
const char TimeSettings::kTimeSettingsFile[] = "Time_settings";
|
||||
|
||||
|
||||
TimeSettings::TimeSettings()
|
||||
: fSettingsFile("Time_settings")
|
||||
{
|
||||
BPath path;
|
||||
|
||||
if (find_directory(B_USER_SETTINGS_DIRECTORY,&path) == B_OK) {
|
||||
path.Append(kTimeSettingsFile);
|
||||
BFile file(path.Path(), B_READ_ONLY);
|
||||
if (file.InitCheck() == B_OK) {
|
||||
// Now read in the data
|
||||
if (file.Read(&fCorner, sizeof(BPoint)) != sizeof(BPoint)) {
|
||||
fCorner.x = 50;
|
||||
fCorner.y = 50;
|
||||
}
|
||||
} else {
|
||||
fCorner.x = 50;
|
||||
fCorner.y = 50;
|
||||
}
|
||||
} else
|
||||
be_app->PostMessage(ERROR_DETECTED);
|
||||
}
|
||||
|
||||
|
||||
TimeSettings::~TimeSettings()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
BPoint
|
||||
TimeSettings::LeftTop() const
|
||||
{
|
||||
BPath path;
|
||||
if (find_directory(B_USER_SETTINGS_DIRECTORY, &path) < B_OK)
|
||||
return;
|
||||
BPoint leftTop(50.0, 50.0);
|
||||
|
||||
path.Append(kTimeSettingsFile);
|
||||
|
||||
BFile file(path.Path(), B_WRITE_ONLY | B_CREATE_FILE);
|
||||
if (file.InitCheck() == B_OK) {
|
||||
file.Write(&fCorner, sizeof(BPoint));
|
||||
if (find_directory(B_USER_SETTINGS_DIRECTORY, &path) == B_OK) {
|
||||
path.Append(fSettingsFile.String());
|
||||
|
||||
BFile file(path.Path(), B_READ_ONLY);
|
||||
if (file.InitCheck() == B_OK) {
|
||||
BPoint tmp;
|
||||
if (file.Read(&tmp, sizeof(BPoint)) == sizeof(BPoint))
|
||||
leftTop = tmp;
|
||||
}
|
||||
}
|
||||
|
||||
return leftTop;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TimeSettings::SetWindowCorner(BPoint corner)
|
||||
TimeSettings::SetLeftTop(const BPoint leftTop)
|
||||
{
|
||||
fCorner = corner;
|
||||
BPath path;
|
||||
if (find_directory(B_USER_SETTINGS_DIRECTORY, &path) != B_OK)
|
||||
return;
|
||||
|
||||
path.Append(fSettingsFile.String());
|
||||
|
||||
BFile file(path.Path(), B_WRITE_ONLY | B_CREATE_FILE);
|
||||
if (file.InitCheck() == B_OK)
|
||||
file.Write(&leftTop, sizeof(BPoint));
|
||||
}
|
||||
|
||||
|
@ -1,29 +1,31 @@
|
||||
/*
|
||||
* Copyright 2002-2006, Haiku. All rights reserved.
|
||||
* Copyright 2002-2007, Haiku. All rights reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors in chronological order:
|
||||
* Authors:
|
||||
* Andrew McCall, mccall@digitalparadise.co.uk
|
||||
* Mike Berg
|
||||
* Mike Berg (inseculous)
|
||||
* Julun <host.haiku@gmx.de>
|
||||
*/
|
||||
#ifndef TIME_SETTINGS_H
|
||||
#define TIME_SETTINGS_H
|
||||
|
||||
|
||||
#include <Point.h>
|
||||
#include <String.h>
|
||||
|
||||
|
||||
class TimeSettings {
|
||||
public :
|
||||
TimeSettings();
|
||||
~TimeSettings();
|
||||
TimeSettings();
|
||||
~TimeSettings();
|
||||
|
||||
BPoint WindowCorner() const { return fCorner; }
|
||||
void SetWindowCorner(BPoint corner);
|
||||
BPoint LeftTop() const;
|
||||
void SetLeftTop(const BPoint leftTop);
|
||||
|
||||
private:
|
||||
static const char kTimeSettingsFile[];
|
||||
BPoint fCorner;
|
||||
BString fSettingsFile;
|
||||
};
|
||||
|
||||
#endif // TIME_SETTINGS_H
|
||||
|
||||
|
@ -6,32 +6,28 @@
|
||||
* mccall@@digitalparadise.co.uk
|
||||
* Julun <host.haiku@gmx.de>
|
||||
*/
|
||||
|
||||
|
||||
#include "TimeWindow.h"
|
||||
#include "BaseView.h"
|
||||
#include "SettingsView.h"
|
||||
#include "TimeMessages.h"
|
||||
#include "ZoneView.h"
|
||||
|
||||
|
||||
#include <Application.h>
|
||||
#include <Message.h>
|
||||
#include <Screen.h>
|
||||
#include <TabView.h>
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "BaseView.h"
|
||||
#include "SettingsView.h"
|
||||
#include "Time.h"
|
||||
#include "TimeMessages.h"
|
||||
#include "TimeWindow.h"
|
||||
#include "TimeSettings.h"
|
||||
#include "ZoneView.h"
|
||||
|
||||
#define TIME_WINDOW_RIGHT 400 //332
|
||||
#define TIME_WINDOW_BOTTOM 227 //208
|
||||
#define WINDOW_RIGHT 400
|
||||
#define WINDOW_BOTTOM 227
|
||||
|
||||
|
||||
TTimeWindow::TTimeWindow()
|
||||
: BWindow(BRect(0, 0, TIME_WINDOW_RIGHT, TIME_WINDOW_BOTTOM),
|
||||
"Time & Date", B_TITLED_WINDOW, B_NOT_RESIZABLE | B_NOT_ZOOMABLE )
|
||||
TTimeWindow::TTimeWindow(const BPoint leftTop)
|
||||
: BWindow(BRect(leftTop, leftTop + BPoint(WINDOW_RIGHT, WINDOW_BOTTOM)),
|
||||
"Time & Date", B_TITLED_WINDOW, B_NOT_RESIZABLE | B_NOT_ZOOMABLE)
|
||||
{
|
||||
MoveTo(dynamic_cast<TimeApplication *>(be_app)->WindowCorner());
|
||||
|
||||
BRect frame = Frame();
|
||||
BRect bounds = Bounds();
|
||||
BRect screenFrame = BScreen().Frame();
|
||||
@ -40,7 +36,7 @@ TTimeWindow::TTimeWindow()
|
||||
MoveTo((screenFrame.right - bounds.right) * 0.5f,
|
||||
(screenFrame.bottom - bounds.bottom) * 0.5f);
|
||||
|
||||
InitWindow();
|
||||
_InitWindow();
|
||||
SetPulseRate(500000);
|
||||
}
|
||||
|
||||
@ -51,8 +47,8 @@ TTimeWindow::MessageReceived(BMessage *message)
|
||||
switch(message->what) {
|
||||
case H_USER_CHANGE:
|
||||
{
|
||||
bool istime;
|
||||
if (message->FindBool("time", &istime) == B_OK)
|
||||
bool isTime;
|
||||
if (message->FindBool("time", &isTime) == B_OK)
|
||||
fBaseView->ChangeTime(message);
|
||||
break;
|
||||
}
|
||||
@ -60,7 +56,7 @@ TTimeWindow::MessageReceived(BMessage *message)
|
||||
case H_RTC_CHANGE:
|
||||
fBaseView->SetGMTime(fTimeSettings->GMTime());
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
BWindow::MessageReceived(message);
|
||||
break;
|
||||
@ -71,7 +67,9 @@ TTimeWindow::MessageReceived(BMessage *message)
|
||||
bool
|
||||
TTimeWindow::QuitRequested()
|
||||
{
|
||||
dynamic_cast<TimeApplication *>(be_app)->SetWindowCorner(BPoint(Frame().left,Frame().top));
|
||||
BMessage msg(UPDATE_SETTINGS);
|
||||
msg.AddPoint("LeftTop", Frame().LeftTop());
|
||||
be_app->PostMessage(&msg);
|
||||
|
||||
fBaseView->StopWatchingAll(fTimeSettings);
|
||||
fBaseView->StopWatchingAll(fTimeZones);
|
||||
@ -79,12 +77,11 @@ TTimeWindow::QuitRequested()
|
||||
be_app->PostMessage(B_QUIT_REQUESTED);
|
||||
|
||||
return BWindow::QuitRequested();
|
||||
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TTimeWindow::InitWindow()
|
||||
TTimeWindow::_InitWindow()
|
||||
{
|
||||
BRect bounds(Bounds());
|
||||
|
||||
@ -99,12 +96,10 @@ TTimeWindow::InitWindow()
|
||||
bounds.bottom -= tabview->TabHeight();
|
||||
|
||||
fTimeSettings = new TSettingsView(bounds);
|
||||
if (fBaseView->StartWatchingAll(fTimeSettings) != B_OK)
|
||||
printf("StartWatchingAll(TimeSettings) failed!!!\n");
|
||||
fBaseView->StartWatchingAll(fTimeSettings);
|
||||
|
||||
fTimeZones = new TZoneView(bounds);
|
||||
if (fBaseView->StartWatchingAll(fTimeZones) != B_OK)
|
||||
printf("TimeZones->StartWatchingAll(TimeZone) failed!!!\n");
|
||||
fBaseView->StartWatchingAll(fTimeZones);
|
||||
|
||||
// add tabs
|
||||
BTab *tab = new BTab();
|
||||
@ -121,6 +116,6 @@ TTimeWindow::InitWindow()
|
||||
float height;
|
||||
fTimeSettings->GetPreferredSize(&width, &height);
|
||||
// width/ height from settingsview + all InsetBy etc..
|
||||
ResizeTo(width +10, height + tabview->TabHeight() +25);
|
||||
ResizeTo(width +5, height + tabview->TabHeight() +25);
|
||||
}
|
||||
|
||||
|
@ -1,27 +1,39 @@
|
||||
/*
|
||||
* Copyright 2004-2007, Haiku, Inc. All Rights Reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors:
|
||||
* mccall@@digitalparadise.co.uk
|
||||
* Julun <host.haiku@gmx.de>
|
||||
*/
|
||||
#ifndef TIME_WINDOW_H
|
||||
#define TIME_WINDOW_H
|
||||
|
||||
|
||||
#include <Window.h>
|
||||
|
||||
|
||||
class BMessage;
|
||||
class TSettingsView;
|
||||
class TTimeBaseView;
|
||||
class TZoneView;
|
||||
|
||||
|
||||
class TTimeWindow : public BWindow {
|
||||
public:
|
||||
TTimeWindow();
|
||||
|
||||
bool QuitRequested();
|
||||
virtual void MessageReceived(BMessage *message);
|
||||
private:
|
||||
void InitWindow();
|
||||
TTimeWindow(const BPoint topLeft);
|
||||
virtual ~TTimeWindow() {}
|
||||
|
||||
TTimeBaseView *fBaseView;
|
||||
TSettingsView *fTimeSettings;
|
||||
TZoneView *fTimeZones;
|
||||
virtual bool QuitRequested();
|
||||
virtual void MessageReceived(BMessage *message);
|
||||
|
||||
private:
|
||||
void _InitWindow();
|
||||
|
||||
TTimeBaseView *fBaseView;
|
||||
TSettingsView *fTimeSettings;
|
||||
TZoneView *fTimeZones;
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif // TIME_WINDOW_H
|
||||
|
||||
|
@ -6,6 +6,7 @@
|
||||
* Mike Berg (inseculous)
|
||||
* Julun <host.haiku@gmx.de>
|
||||
*/
|
||||
|
||||
/*
|
||||
Exceptions:
|
||||
doesn't calc "Time in" time.
|
||||
@ -17,61 +18,49 @@
|
||||
inital info so I can get exact duplication.
|
||||
*/
|
||||
|
||||
#include <Button.h>
|
||||
#include "ZoneView.h"
|
||||
#include "TimeMessages.h"
|
||||
#include "TZDisplay.h"
|
||||
|
||||
|
||||
#include <Button.h>
|
||||
#include <Directory.h>
|
||||
#include <Entry.h>
|
||||
#include <FindDirectory.h>
|
||||
#include <ListItem.h>
|
||||
#include <ListView.h>
|
||||
#include <MenuField.h>
|
||||
#include <MenuItem.h>
|
||||
#include <MenuBar.h>
|
||||
#include <PopUpMenu.h>
|
||||
#include <ScrollView.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <StorageDefs.h>
|
||||
#include <String.h>
|
||||
#include <View.h>
|
||||
#include <Window.h>
|
||||
|
||||
#include "TimeMessages.h"
|
||||
#include "ZoneView.h"
|
||||
|
||||
|
||||
/*=====> TZoneItem <=====*/
|
||||
TZoneItem::TZoneItem(const char *text, const char *zone)
|
||||
:BStringItem(text),
|
||||
fZone(new BPath(zone))
|
||||
{
|
||||
}
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
TZoneItem::~TZoneItem()
|
||||
{
|
||||
delete fZone;
|
||||
}
|
||||
class TZoneItem: public BStringItem {
|
||||
public:
|
||||
TZoneItem(const char *text, const char *zone)
|
||||
: BStringItem(text), fZone(new BPath(zone)) { }
|
||||
|
||||
~TZoneItem() { delete fZone; }
|
||||
|
||||
const char *Zone() const { return fZone->Leaf(); }
|
||||
const char *Path() const { return fZone->Path(); }
|
||||
|
||||
private:
|
||||
BPath *fZone;
|
||||
};
|
||||
|
||||
const char *
|
||||
TZoneItem::Zone() const
|
||||
{
|
||||
return fZone->Leaf();
|
||||
}
|
||||
|
||||
|
||||
const char *
|
||||
TZoneItem::Path() const
|
||||
{
|
||||
return fZone->Path();
|
||||
}
|
||||
|
||||
|
||||
/*=====> TZoneView <=====*/
|
||||
|
||||
TZoneView::TZoneView(BRect frame)
|
||||
: BView(frame, B_EMPTY_STRING, B_FOLLOW_ALL, B_WILL_DRAW|B_NAVIGABLE_JUMP)
|
||||
, f_first(true)
|
||||
: BView(frame, B_EMPTY_STRING, B_FOLLOW_ALL, B_WILL_DRAW | B_NAVIGABLE_JUMP),
|
||||
fNotInitialized(true)
|
||||
{
|
||||
ReadTimeZoneLink();
|
||||
InitView();
|
||||
@ -83,36 +72,30 @@ TZoneView::~TZoneView()
|
||||
}
|
||||
|
||||
|
||||
|
||||
void
|
||||
TZoneView::AllAttached()
|
||||
{
|
||||
BView::AllAttached();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TZoneView::AttachedToWindow()
|
||||
{
|
||||
if (Parent())
|
||||
SetViewColor(Parent()->ViewColor());
|
||||
|
||||
if (f_first) {
|
||||
if (fNotInitialized) {
|
||||
// stupid hack
|
||||
f_regionpopup->SetTargetForItems(this);
|
||||
f_setzone->SetTarget(this);
|
||||
f_citylist->SetTarget(this);
|
||||
fRegionPopUp->SetTargetForItems(this);
|
||||
fSetZone->SetTarget(this);
|
||||
fCityList->SetTarget(this);
|
||||
|
||||
// update displays
|
||||
BPath parent;
|
||||
f_currentzone.GetParent(&parent);
|
||||
int czone = FillCityList(parent.Path());
|
||||
if (czone> -1) {
|
||||
f_citylist->Select(czone);
|
||||
f_current->SetText( ((TZoneItem *)f_citylist->ItemAt(czone))->Text() );
|
||||
fCurrentZone.GetParent(&parent);
|
||||
int32 czone = FillCityList(parent.Path());
|
||||
if (czone > -1) {
|
||||
fCityList->Select(czone);
|
||||
fCurrent->SetText(((TZoneItem *)fCityList->ItemAt(czone))->Text());
|
||||
}
|
||||
f_first = false;
|
||||
fNotInitialized = false;
|
||||
ResizeTo(Bounds().Width(), Bounds().Height() +40);
|
||||
}
|
||||
f_citylist->ScrollToSelection();
|
||||
fCityList->ScrollToSelection();
|
||||
}
|
||||
|
||||
|
||||
@ -155,27 +138,27 @@ TZoneView::MessageReceived(BMessage *message)
|
||||
const char*
|
||||
TZoneView::TimeZone()
|
||||
{
|
||||
return f_current->Text();
|
||||
return fCurrent->Text();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TZoneView::UpdateDateTime(BMessage *message)
|
||||
{
|
||||
// only need hour and minute
|
||||
int32 hour, minute;
|
||||
int32 hour;
|
||||
int32 minute;
|
||||
|
||||
// only need hour and minute
|
||||
if (message->FindInt32("hour", &hour) == B_OK
|
||||
&& message->FindInt32("minute", &minute) == B_OK) {
|
||||
if (f_hour != hour || f_minute != minute) {
|
||||
f_hour = hour;
|
||||
f_minute = minute;
|
||||
f_current->SetTo(hour, minute);
|
||||
if (fHour != hour || fMinute != minute) {
|
||||
fHour = hour;
|
||||
fMinute = minute;
|
||||
fCurrent->SetTo(hour, minute);
|
||||
|
||||
if (f_citylist->CurrentSelection()> -1) {
|
||||
// do calc to get other zone time
|
||||
// do calc to get other zone time
|
||||
if (fCityList->CurrentSelection() > -1)
|
||||
SetPreview();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -184,99 +167,80 @@ TZoneView::UpdateDateTime(BMessage *message)
|
||||
void
|
||||
TZoneView::InitView()
|
||||
{
|
||||
font_height finfo;
|
||||
be_plain_font->GetHeight(&finfo);
|
||||
float text_height = finfo.ascent +finfo.descent +finfo.leading;
|
||||
font_height fontHeight;
|
||||
be_plain_font->GetHeight(&fontHeight);
|
||||
float textHeight = fontHeight.descent + fontHeight.ascent + fontHeight.leading;
|
||||
|
||||
BRect bounds(Bounds().InsetByCopy(4, 2));
|
||||
BRect frame(bounds);
|
||||
|
||||
// Zone menu
|
||||
f_regionpopup = new BPopUpMenu(B_EMPTY_STRING, true, true, B_ITEMS_IN_COLUMN);
|
||||
fRegionPopUp = new BPopUpMenu(B_EMPTY_STRING, true, true, B_ITEMS_IN_COLUMN);
|
||||
|
||||
float widest = 0;
|
||||
BuildRegionMenu(&widest);
|
||||
BuildRegionMenu();
|
||||
|
||||
frame.right = frame.left +widest +25;
|
||||
frame.bottom = frame.top +text_height -1;
|
||||
// left side
|
||||
BRect frameLeft(Bounds());
|
||||
frameLeft.right = frameLeft.Width() / 2;
|
||||
frameLeft.InsetBy(10.0f, 10.0f);
|
||||
|
||||
BMenuField *mField;
|
||||
mField= new BMenuField(frame, "regions", NULL, f_regionpopup, true);
|
||||
mField->MenuBar()->SetBorder(B_BORDER_CONTENTS);
|
||||
mField->MenuBar()->ResizeToPreferred();
|
||||
AddChild(mField);
|
||||
BMenuField *menuField = new BMenuField(frameLeft, "regions", NULL, fRegionPopUp, false);
|
||||
AddChild(menuField);
|
||||
menuField->ResizeToPreferred();
|
||||
|
||||
frameLeft.top = menuField->Frame().bottom +10;
|
||||
frameLeft.right -= B_V_SCROLL_BAR_WIDTH;
|
||||
|
||||
// City Listing
|
||||
fCityList = new BListView(frameLeft, "cityList", B_SINGLE_SELECTION_LIST,
|
||||
B_FOLLOW_ALL, B_WILL_DRAW | B_NAVIGABLE | B_FRAME_EVENTS);
|
||||
fCityList->SetSelectionMessage(new BMessage(H_CITY_CHANGED));
|
||||
fCityList->SetInvocationMessage(new BMessage(H_SET_TIME_ZONE));
|
||||
|
||||
frame = mField->MenuBar()->Frame();
|
||||
frame.top += frame.bottom +1;
|
||||
frame.right = mField->Bounds().Width() -B_V_SCROLL_BAR_WIDTH +2;
|
||||
frame.bottom = bounds.bottom;
|
||||
frame.OffsetBy(2, 0);
|
||||
frame.InsetBy(3, 5);
|
||||
|
||||
f_citylist = new BListView(frame, "cities", B_SINGLE_SELECTION_LIST,
|
||||
B_FOLLOW_LEFT|B_FOLLOW_TOP,
|
||||
B_WILL_DRAW|B_NAVIGABLE|B_FRAME_EVENTS);
|
||||
|
||||
BMessage *citychange = new BMessage(H_CITY_CHANGED);
|
||||
f_citylist->SetSelectionMessage(citychange);
|
||||
|
||||
BMessage *cityinvoke = new BMessage(H_SET_TIME_ZONE);
|
||||
f_citylist->SetInvocationMessage(cityinvoke);
|
||||
|
||||
BScrollView *scrollList;
|
||||
scrollList = new BScrollView("scroll_list", f_citylist,
|
||||
B_FOLLOW_LEFT|B_FOLLOW_TOP, 0, false, true);
|
||||
BScrollView *scrollList = new BScrollView("scroll_list", fCityList,
|
||||
B_FOLLOW_ALL, 0, false, true);
|
||||
AddChild(scrollList);
|
||||
|
||||
// right side
|
||||
BRect frameRight(Bounds());
|
||||
frameRight.left = frameRight.Width() / 2;
|
||||
frameRight.InsetBy(10.0f, 10.0f);
|
||||
frameRight.top = frameLeft.top;
|
||||
|
||||
// Time Displays
|
||||
fCurrent = new TTZDisplay(frameRight, "current",
|
||||
B_FOLLOW_NONE, B_WILL_DRAW, "Current time zone:", B_EMPTY_STRING);
|
||||
AddChild(fCurrent);
|
||||
fCurrent->ResizeToPreferred();
|
||||
|
||||
frame.OffsetBy(scrollList->Bounds().Width() +9, 3);
|
||||
frame.bottom = frame.top +text_height *2;
|
||||
frame.right = bounds.right -6;
|
||||
f_current = new TTZDisplay(frame, "current",
|
||||
B_FOLLOW_LEFT|B_FOLLOW_TOP, B_WILL_DRAW,
|
||||
"Current time zone:", B_EMPTY_STRING);
|
||||
f_current->ResizeToPreferred();
|
||||
|
||||
frame.OffsetBy(0, (text_height *3) +2);
|
||||
f_preview = new TTZDisplay(frame, "timein",
|
||||
B_FOLLOW_LEFT|B_FOLLOW_TOP, B_WILL_DRAW,
|
||||
"Time in: ", B_EMPTY_STRING);
|
||||
f_preview->ResizeToPreferred();
|
||||
|
||||
AddChild(f_current);
|
||||
AddChild(f_preview);
|
||||
frameRight.OffsetBy(0, (textHeight) * 3 +10.0);
|
||||
fPreview = new TTZDisplay(frameRight, "preview",
|
||||
B_FOLLOW_NONE, B_WILL_DRAW, "Time in: ", B_EMPTY_STRING);
|
||||
AddChild(fPreview);
|
||||
fPreview->ResizeToPreferred();
|
||||
|
||||
// set button
|
||||
|
||||
frame.Set(bounds.right -75, bounds.bottom -24,
|
||||
bounds.right, bounds.bottom);
|
||||
frame.OffsetBy(-2, -2);
|
||||
f_setzone = new BButton(frame, "set", "Set", new BMessage(H_SET_TIME_ZONE));
|
||||
f_setzone->SetEnabled(false);
|
||||
AddChild(f_setzone);
|
||||
fSetZone = new BButton(frameRight, "set", "Set Timezone",
|
||||
new BMessage(H_SET_TIME_ZONE), B_FOLLOW_RIGHT | B_FOLLOW_BOTTOM);
|
||||
AddChild(fSetZone);
|
||||
fSetZone->SetEnabled(false);
|
||||
fSetZone->ResizeToPreferred();
|
||||
|
||||
fSetZone->MoveTo(frameRight.right - fSetZone->Bounds().Width(),
|
||||
scrollList->Frame().bottom - fSetZone->Bounds().Height());
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TZoneView::BuildRegionMenu(float *widest)
|
||||
TZoneView::BuildRegionMenu()
|
||||
{
|
||||
BPath path;
|
||||
// return if /etc directory is not found
|
||||
if (!(find_directory(B_BEOS_ETC_DIRECTORY, &path) == B_OK))
|
||||
if (find_directory(B_BEOS_ETC_DIRECTORY, &path) != B_OK)
|
||||
return;
|
||||
|
||||
path.Append("timezones");
|
||||
|
||||
// get current region
|
||||
BPath region;
|
||||
f_currentzone.GetParent(®ion);
|
||||
fCurrentZone.GetParent(®ion);
|
||||
|
||||
float width = 0;
|
||||
bool markit;
|
||||
BEntry entry;
|
||||
BMenuItem *item;
|
||||
@ -303,42 +267,37 @@ TZoneView::BuildRegionMenu(float *widest)
|
||||
||itemtext.Compare("Indian", 6) == 0)
|
||||
itemtext.Append(" Ocean");
|
||||
|
||||
itemtext = itemtext.ReplaceAll('_', ' '); // underscores are spaces
|
||||
// underscores are spaces
|
||||
itemtext = itemtext.ReplaceAll('_', ' ');
|
||||
|
||||
width = be_plain_font->StringWidth(itemtext.String());
|
||||
if (width > *widest)
|
||||
*widest = width;
|
||||
|
||||
BMessage *msg = new BMessage(H_REGION_CHANGED);
|
||||
msg->AddString("region", path.Path());
|
||||
|
||||
item = new BMenuItem(itemtext.String(), msg);
|
||||
item->SetMarked(markit);
|
||||
f_regionpopup->AddItem(item);
|
||||
fRegionPopUp->AddItem(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
int32
|
||||
TZoneView::FillCityList(const char *area)
|
||||
{
|
||||
// clear list
|
||||
|
||||
// MakeEmpty() doesn't free items so...
|
||||
int32 idx = f_citylist->CountItems();
|
||||
if (idx>= 1)
|
||||
for (; idx>= 0; idx--)
|
||||
delete f_citylist->RemoveItem(idx);
|
||||
|
||||
//Enter time zones directory. Find subdir with name that matches string stored in area.
|
||||
//Enter subdirectory and count the items. For each item, add a StringItem to f_CityList
|
||||
//Time zones directory
|
||||
int32 count = fCityList->CountItems();
|
||||
if (count > 0) {
|
||||
for (int32 idx = count; idx >= 0; idx--)
|
||||
delete fCityList->RemoveItem(idx);
|
||||
fCityList->MakeEmpty();
|
||||
}
|
||||
|
||||
// Enter time zones directory. Find subdir with name that matches string
|
||||
// stored in area. Enter subdirectory and count the items. For each item,
|
||||
// add a StringItem to fCityList Time zones directory
|
||||
|
||||
BPath path;
|
||||
|
||||
// return if /etc directory is not found
|
||||
if (!(find_directory(B_BEOS_ETC_DIRECTORY, &path) == B_OK))
|
||||
if (find_directory(B_BEOS_ETC_DIRECTORY, &path) != B_OK)
|
||||
return 0;
|
||||
|
||||
path.Append("timezones");
|
||||
@ -349,16 +308,14 @@ TZoneView::FillCityList(const char *area)
|
||||
BStringItem *city;
|
||||
BString city_name;
|
||||
BEntry entry;
|
||||
int index = -1;
|
||||
//locate subdirectory:
|
||||
|
||||
if ( zoneDir.Contains(Area.Leaf(), B_DIRECTORY_NODE)) {
|
||||
int32 index = -1;
|
||||
|
||||
//locate subdirectory:
|
||||
if (zoneDir.Contains(Area.Leaf(), B_DIRECTORY_NODE)) {
|
||||
cityDir.SetTo(&zoneDir, Area.Leaf());
|
||||
//There is a subdir with a name that matches 'area'. That's the one!!
|
||||
|
||||
|
||||
//iterate over the items in the subdir and fill the listview with TZoneItems:
|
||||
|
||||
|
||||
// There is a subdir with a name that matches 'area'. That's the one!!
|
||||
// Iterate over the items in the subdir, fill listview with TZoneItems
|
||||
while(cityDir.GetNextEntry(&entry) == B_NO_ERROR) {
|
||||
if (!entry.IsDirectory()) {
|
||||
BPath zone(&entry);
|
||||
@ -368,9 +325,9 @@ TZoneView::FillCityList(const char *area)
|
||||
city_name.ReplaceAll("__", ", ");
|
||||
city_name.ReplaceAll("_", " ");
|
||||
city = new TZoneItem(city_name.String(), zone.Path());
|
||||
f_citylist->AddItem(city);
|
||||
if (strcmp(f_currentzone.Leaf(), zone.Leaf()) == 0)
|
||||
index = f_citylist->IndexOf(city);
|
||||
fCityList->AddItem(city);
|
||||
if (strcmp(fCurrentZone.Leaf(), zone.Leaf()) == 0)
|
||||
index = fCityList->IndexOf(city);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -401,14 +358,13 @@ TZoneView::ReadTimeZoneLink()
|
||||
_kern_get_tzfilename(tzFileName, B_OS_PATH_LENGTH, &isGMT);
|
||||
tzLink.SetTo(tzFileName);
|
||||
#else
|
||||
/* reads the timezone symlink from B_USER_SETTINGS_DIRECTORY
|
||||
currently this sets f_currentzone to the symlink value.
|
||||
this is wrong. the original can get users timezone without
|
||||
a timezone symlink present.
|
||||
/* reads the timezone symlink from B_USER_SETTINGS_DIRECTORY currently
|
||||
this sets fCurrentZone to the symlink value, this is wrong. The
|
||||
original can get users timezone without a timezone symlink present.
|
||||
|
||||
defaults are set to different values to clue in on what error was returned
|
||||
GMT is set when the link is invalid
|
||||
EST is set when the settings dir can't be found **should never happen**
|
||||
Defaults are set to different values to clue in on what error was returned
|
||||
GMT is set when the link is invalid EST is set when the settings dir can't
|
||||
be found what should never happen.
|
||||
*/
|
||||
|
||||
|
||||
@ -428,7 +384,7 @@ TZoneView::ReadTimeZoneLink()
|
||||
}
|
||||
#endif
|
||||
// we need something in the current zone
|
||||
f_currentzone.SetTo(&tzLink);
|
||||
fCurrentZone.SetTo(&tzLink);
|
||||
}
|
||||
|
||||
|
||||
@ -436,9 +392,9 @@ void
|
||||
TZoneView::SetPreview()
|
||||
{
|
||||
// calc and display time based on users selection in city list
|
||||
int32 selection = f_citylist->CurrentSelection();
|
||||
int32 selection = fCityList->CurrentSelection();
|
||||
if (selection>= 0) {
|
||||
TZoneItem *item = (TZoneItem *)f_citylist->ItemAt(selection);
|
||||
TZoneItem *item = (TZoneItem *)fCityList->ItemAt(selection);
|
||||
|
||||
BString text;
|
||||
text = item->Text();
|
||||
@ -450,12 +406,12 @@ TZoneView::SetPreview()
|
||||
SetTimeZone(item->Path());
|
||||
current = time(0);
|
||||
ltime = localtime(¤t);
|
||||
SetTimeZone(f_currentzone.Path());
|
||||
SetTimeZone(fCurrentZone.Path());
|
||||
|
||||
f_preview->SetTo(ltime->tm_hour, ltime->tm_min);
|
||||
f_preview->SetText(text.String());
|
||||
fPreview->SetTo(ltime->tm_hour, ltime->tm_min);
|
||||
fPreview->SetText(text.String());
|
||||
|
||||
f_setzone->SetEnabled((strcmp(f_current->Text(), text.String()) != 0));
|
||||
fSetZone->SetEnabled((strcmp(fCurrent->Text(), text.String()) != 0));
|
||||
}
|
||||
}
|
||||
|
||||
@ -463,45 +419,39 @@ TZoneView::SetPreview()
|
||||
void
|
||||
TZoneView::SetCurrent(const char *text)
|
||||
{
|
||||
SetTimeZone(f_currentzone.Path());
|
||||
SetTimeZone(fCurrentZone.Path());
|
||||
time_t current = time(0);
|
||||
struct tm *ltime = localtime(¤t);
|
||||
|
||||
f_current->SetTo(ltime->tm_hour, ltime->tm_min);
|
||||
f_current->SetText(text);
|
||||
fCurrent->SetTo(ltime->tm_hour, ltime->tm_min);
|
||||
fCurrent->SetText(text);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TZoneView::SetTimeZone()
|
||||
{
|
||||
/*
|
||||
set time based on supplied timezone. How to do this?
|
||||
1) replace symlink, "timezone", in B_USER_SETTINGS_DIR with a link to the new timezone
|
||||
2) set TZ environment var
|
||||
3) call settz()
|
||||
4) call set_timezone from OS.h passing path to timezone file
|
||||
/* set time based on supplied timezone. How to do this?
|
||||
1) replace symlink "timezone" in B_USER_SETTINGS_DIR with a link to the new timezone
|
||||
2) set TZ environment var
|
||||
3) call settz()
|
||||
4) call set_timezone from OS.h passing path to timezone file
|
||||
*/
|
||||
|
||||
|
||||
// update/create timezone symlink in B_USER_SETTINGS_DIRECTORY
|
||||
|
||||
// get path to current link
|
||||
// update/create timezone symlink in B_USER_SETTINGS_DIRECTORY
|
||||
BPath path;
|
||||
if (find_directory(B_USER_SETTINGS_DIRECTORY, &path) != B_OK)
|
||||
return;
|
||||
|
||||
path.Append("timezone");
|
||||
|
||||
|
||||
// build target for new link
|
||||
|
||||
int32 selection = f_citylist->CurrentSelection();
|
||||
int32 selection = fCityList->CurrentSelection();
|
||||
if (selection < 0)
|
||||
// nothing selected??
|
||||
return;
|
||||
|
||||
BPath target( ((TZoneItem *)f_citylist->ItemAt(selection))->Path());
|
||||
BPath target(((TZoneItem *)fCityList->ItemAt(selection))->Path());
|
||||
|
||||
// remove old
|
||||
BEntry entry(path.Path());
|
||||
@ -514,49 +464,34 @@ TZoneView::SetTimeZone()
|
||||
fprintf(stderr, "timezone not linked\n");
|
||||
|
||||
// update environment
|
||||
|
||||
char tz[B_PATH_NAME_LENGTH];
|
||||
sprintf(tz, "TZ=%s", target.Path());
|
||||
|
||||
putenv( tz);
|
||||
tzset();
|
||||
SetTimeZone(target.Path());
|
||||
|
||||
// update display
|
||||
time_t current = time(0);
|
||||
struct tm *ltime = localtime(¤t);
|
||||
|
||||
|
||||
char tza[B_PATH_NAME_LENGTH];
|
||||
sprintf(tza, "%s", target.Path());
|
||||
set_timezone(tza);
|
||||
|
||||
// disable button
|
||||
f_setzone -> SetEnabled(false);
|
||||
fSetZone->SetEnabled(false);
|
||||
|
||||
time_t newtime = mktime(ltime);
|
||||
ltime = localtime(&newtime);
|
||||
stime(&newtime);
|
||||
|
||||
f_hour = ltime->tm_hour;
|
||||
f_minute = ltime->tm_min;
|
||||
f_currentzone.SetTo(target.Path());
|
||||
SetCurrent(((TZoneItem *)f_citylist->ItemAt(selection))->Text());
|
||||
fHour = ltime->tm_hour;
|
||||
fMinute = ltime->tm_min;
|
||||
fCurrentZone.SetTo(target.Path());
|
||||
SetCurrent(((TZoneItem *)fCityList->ItemAt(selection))->Text());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void
|
||||
TZoneView::SetTimeZone(const char *zone)
|
||||
{
|
||||
BString tz;
|
||||
|
||||
tz << "TZ=" << zone;
|
||||
|
||||
putenv(tz.String());
|
||||
putenv(BString("TZ=").Append(zone).String());
|
||||
tzset();
|
||||
}
|
||||
|
||||
|
||||
//---//
|
||||
|
@ -6,72 +6,57 @@
|
||||
* Mike Berg (inseculous)
|
||||
* Julun <host.haiku@gmx.de>
|
||||
*/
|
||||
|
||||
#ifndef ZONE_VIEW_H
|
||||
#define ZONE_VIEW_H
|
||||
|
||||
|
||||
#include <ListItem.h>
|
||||
#include <ListView.h>
|
||||
#include <Path.h>
|
||||
#include <PopUpMenu.h>
|
||||
#include <View.h>
|
||||
#include <Path.h>
|
||||
|
||||
#include "TZDisplay.h"
|
||||
|
||||
class TZoneItem: public BStringItem {
|
||||
class BMessage;
|
||||
class BPopUpMenu;
|
||||
class BListView;
|
||||
class BButton;
|
||||
class TTZDisplay;
|
||||
|
||||
|
||||
class TZoneView : public BView {
|
||||
public:
|
||||
TZoneItem(const char *text, const char *zone);
|
||||
virtual ~TZoneItem();
|
||||
TZoneView(BRect frame);
|
||||
virtual ~TZoneView();
|
||||
|
||||
const char *Zone() const;
|
||||
const char *Path() const;
|
||||
|
||||
private:
|
||||
BPath *fZone;
|
||||
};
|
||||
|
||||
|
||||
|
||||
class TZoneView: public BView {
|
||||
public:
|
||||
TZoneView(BRect frame);
|
||||
virtual ~TZoneView();
|
||||
|
||||
virtual void AttachedToWindow();
|
||||
virtual void AllAttached();
|
||||
virtual void MessageReceived(BMessage *message);
|
||||
virtual void AttachedToWindow();
|
||||
virtual void MessageReceived(BMessage *message);
|
||||
|
||||
const char* TimeZone();
|
||||
const char* TimeZone();
|
||||
|
||||
protected:
|
||||
void UpdateDateTime(BMessage *message);
|
||||
void ChangeRegion(BMessage *);
|
||||
void SetTimeZone();
|
||||
void SetTimeZone(const char *zone);
|
||||
void SetPreview();
|
||||
void SetCurrent(const char *text);
|
||||
private:
|
||||
virtual void InitView();
|
||||
void ReadTimeZoneLink();
|
||||
|
||||
// set widest to font width of longest item
|
||||
void BuildRegionMenu(float *widest);
|
||||
void UpdateDateTime(BMessage *message);
|
||||
void ChangeRegion(BMessage *);
|
||||
void SetTimeZone();
|
||||
void SetTimeZone(const char *zone);
|
||||
void SetPreview();
|
||||
void SetCurrent(const char *text);
|
||||
void InitView();
|
||||
void ReadTimeZoneLink();
|
||||
void BuildRegionMenu();
|
||||
|
||||
// returns index of current zone
|
||||
int FillCityList(const char *area);
|
||||
int32 FillCityList(const char *area);
|
||||
|
||||
BPopUpMenu *f_regionpopup;
|
||||
BListView *f_citylist;
|
||||
BButton *f_setzone;
|
||||
TTZDisplay *f_current;
|
||||
TTZDisplay *f_preview;
|
||||
private:
|
||||
BPopUpMenu *fRegionPopUp;
|
||||
BListView *fCityList;
|
||||
BButton *fSetZone;
|
||||
TTZDisplay *fCurrent;
|
||||
TTZDisplay *fPreview;
|
||||
|
||||
BPath f_currentzone;
|
||||
int32 f_hour;
|
||||
int32 f_minute;
|
||||
int32 f_diff;
|
||||
bool f_first;
|
||||
int32 fHour;
|
||||
int32 fMinute;
|
||||
BPath fCurrentZone;
|
||||
bool fNotInitialized;
|
||||
};
|
||||
|
||||
#endif //Zone_View_H
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user