void CCalendarManagerContainer::DrawCurrentDay(CWindowGc& gc, MAknsSkinInstance* p_BgSkin, const TRgb& p_Default_Select_Color, const CFont& p_Font) const { TInt i_Col = (g_CalendarClass->g_SelectDay + g_CalendarClass->g_FirstWeek - 1) % 7 + 2; TInt i_Row = (g_CalendarClass->g_SelectDay + g_CalendarClass->g_FirstWeek - 1) / 7 + 1; TInt i_Pos_X = (i_Col - 1) * g_Space_X + i_Col - 1; TInt i_Pos_Y = (i_Row - 1) * g_Space_Y + (i_Row - 1) * 2 + g_Pos_Y; TRect i_OuterRect(i_Pos_X, i_Pos_Y, i_Pos_X + g_Space_X + 1, i_Pos_Y + g_Space_Y + 2); i_OuterRect.Shrink(2, 2); TRect i_InnerRect(i_OuterRect); i_InnerRect.Shrink(4, 4); AknsDrawUtils::DrawFrame(p_BgSkin, gc, i_OuterRect, i_InnerRect, KAknsIIDQsnFrList, KAknsIIDQsnFrListCenter); gc.SetPenColor(p_Default_Select_Color); TBuf<5> i_Num; i_Num.AppendNum(g_CalendarClass->g_SelectDay); if (g_CalendarClass->g_SelectYear == g_CalendarClass->g_Year && g_CalendarClass->g_SelectMonth == g_CalendarClass->g_Month && g_CalendarClass->g_SelectDay == g_CalendarClass->g_Day) gc.SetUnderlineStyle(EUnderlineOn); else gc.SetUnderlineStyle(EUnderlineOff); gc.DrawText(i_Num, TRect(i_Pos_X, i_Pos_Y, i_Pos_X + g_Space_X, i_Pos_Y + g_Space_Y), (g_Space_Y - p_Font.HeightInPixels()) / 2 + p_Font.HeightInPixels() + 1, CGraphicsContext::ECenter, 0); }
void CCalendarManagerContainer::DrawWeek(CWindowGc& gc, const TRect& aRect, const TRgb& p_Default_Font_Color1, const CFont& p_Font) const { gc.SetPenColor(p_Default_Font_Color1); gc.SetUnderlineStyle(EUnderlineOff); TInt i_Pos_X = 0; TInt i_Pos_Y = g_Pos_Y; for (TInt i = 0;i < sizeof(g_CalendarClass->g_Week) / sizeof(TInt);i++) { TBuf<10> i_Num; i_Num.AppendNum(g_CalendarClass->g_Week[i]); gc.DrawText(i_Num, TRect(i_Pos_X, i_Pos_Y, i_Pos_X + g_Space_X, i_Pos_Y + g_Space_Y), (g_Space_Y - p_Font.HeightInPixels()) / 2 + p_Font.HeightInPixels() + 1, CGraphicsContext::ECenter, 0); i_Pos_Y += g_Space_Y + 2; } }
void CCalendarManagerContainer::DrawDay(CWindowGc& gc, const TRect& aRect, const TRgb& p_Default_Font_Color1, const TRgb& p_Default_Font_Color2, const CFont& p_Font) const { gc.SetPenColor(p_Default_Font_Color1); TInt i_Total = 0; TInt i_WeekPos = g_CalendarClass->g_FirstWeek; //TInt i_Pos_X = g_Space_X * (i_WeekPos + 1) + i_WeekPos + 1; //TInt i_Pos_Y = g_Pos_Y; TInt i_Pos_X = g_Space_X + 1; TInt i_Pos_Y = g_Pos_Y; if (i_WeekPos != 7) { gc.SetPenColor(p_Default_Font_Color2); for (TInt i = g_CalendarClass->g_MaxDay_PreMonth - i_WeekPos + 1;i <= g_CalendarClass->g_MaxDay_PreMonth;i++) { TBuf<5> i_Num; i_Num.AppendNum(i); gc.DrawText(i_Num, TRect(i_Pos_X, i_Pos_Y, i_Pos_X + g_Space_X, i_Pos_Y + g_Space_Y), (g_Space_Y - p_Font.HeightInPixels()) / 2 + p_Font.HeightInPixels() + 1, CGraphicsContext::ECenter, 0); i_Pos_X += g_Space_X + 1; i_Total++; } } i_Pos_X = g_Space_X * (i_WeekPos + 1) + i_WeekPos + 1; for (TInt i = 1; i <= g_CalendarClass->g_MaxDay; i++) { TBuf<5> i_Num; i_Num.AppendNum(i); if (i_WeekPos == 0) gc.SetPenColor(KRgbRed); else gc.SetPenColor(p_Default_Font_Color1); if (g_CalendarClass->g_SelectYear == g_CalendarClass->g_Year && g_CalendarClass->g_SelectMonth == g_CalendarClass->g_Month && i == g_CalendarClass->g_Day) gc.SetUnderlineStyle(EUnderlineOn); else gc.SetUnderlineStyle(EUnderlineOff); gc.DrawText(i_Num, TRect(i_Pos_X, i_Pos_Y, i_Pos_X + g_Space_X, i_Pos_Y + g_Space_Y), (g_Space_Y - p_Font.HeightInPixels()) / 2 + p_Font.HeightInPixels() + 1, CGraphicsContext::ECenter, 0); i_WeekPos++; if (i_WeekPos >= 7) { i_WeekPos = 0; i_Pos_Y += g_Space_Y + 2; } i_Pos_X = g_Space_X * (i_WeekPos + 1) + i_WeekPos + 1; i_Total++; } TInt j = 1; gc.SetPenColor(p_Default_Font_Color2); for (TInt i = i_Total + 1;i <= 42;i++) { TBuf<5> i_Num; i_Num.AppendNum(j); gc.DrawText(i_Num, TRect(i_Pos_X, i_Pos_Y, i_Pos_X + g_Space_X, i_Pos_Y + g_Space_Y), (g_Space_Y - p_Font.HeightInPixels()) / 2 + p_Font.HeightInPixels() + 1, CGraphicsContext::ECenter, 0); i_WeekPos++; if (i_WeekPos >= 7) { i_WeekPos = 0; i_Pos_Y += g_Space_Y + 2; } i_Pos_X = g_Space_X * (i_WeekPos + 1) + i_WeekPos + 1; j++; } }