Fission FSN
Loading...
Searching...
No Matches
fsCCalendarComponent.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: fsCCalendarComponent.h
4*
5* Purpose: Display a given month calendar
6*
7*********************************************************************/
8
9#ifndef fsCCalendarComponenthdr
10#define fsCCalendarComponenthdr
11
12#include <vector>
13
14#include <fsCore/fsPoint.h>
15#include <fsCore/fsSColour.h>
17
18#include "fsIComponent.h"
19
20class fsCEntity;
21class fsIFont;
22
24{
25 friend class fsCComponentFactory;
26
27public:
28
29 static const fsCUniqueId mTypeId;
30 static fsStr currentDateTime();
31
32protected:
33
34 void initialiseFromVariableTableDo(const fsCVariableTable& pVars) override;
35
36 static fsIComponent* create(fsCEntity* pParent);
37
39 virtual ~fsCCalendarComponent();
40
41private:
42
43 fsPoint dateOfMonthPosGet(fsS32 pDay) const;
44
45 fsBool leapYearGet(fsS32 pYear) const;
46 fsS32 daysInMonthGet(fsS32 pMonth, fsS32 pYear) const;
47 fsS32 firstDayOfMonthGet(fsS32 pMonth, fsS32 pYear) const;
48
49 void thisMonthPrint() const;
50 void datesOfMonthPrint(const fsPoint& pPos, fsS32 pFirstDayOfMonth, fsS32 pDaysInMonth) const;
51 void daysOfWeekHeadingsPrint(const fsPoint& pPos) const;
52 void monthHeadingPrint(const fsPoint& pPos, fsS32 pMonth) const;
53 void textEntryCreate(const fsStr& pStr, const fsPoint& pPos) const;
54
55 std::vector<fsCEntity*> mDayHeadings;
56
57 fsPoint mPos;
58 fsPoint mStride;
59
60 fsIFont* mFont;
61 fsSColour4B mFontColour;
62};
63
64#endif
virtual ~fsCCalendarComponent()
Definition fsCCalendarComponent.cpp:178
static fsStr currentDateTime()
Definition fsCCalendarComponent.cpp:56
friend class fsCComponentFactory
Definition fsCCalendarComponent.h:25
void initialiseFromVariableTableDo(const fsCVariableTable &pVars) override
Definition fsCCalendarComponent.cpp:114
static const fsCUniqueId mTypeId
Definition fsCCalendarComponent.h:29
fsCCalendarComponent(fsCEntity *pParent)
Definition fsCCalendarComponent.cpp:172
static fsIComponent * create(fsCEntity *pParent)
Definition fsCCalendarComponent.cpp:167
Definition fsCEntity.h:39
Definition fsCUniqueId.h:21
Definition fsCVariableTable.h:27
fsIComponent(fsCEntity *pParent)
Definition fsIComponent.cpp:86
Definition fsIFont.h:34
Definition fsStr.h:23
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
Definition fsPoint.h:17
Definition fsSColour.h:54