| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #include "xfa/fwl/theme/cfwl_monthcalendartp.h" | 7 #include "xfa/fwl/theme/cfwl_monthcalendartp.h" |
| 8 | 8 |
| 9 #include "xfa/fde/tto/fde_textout.h" | 9 #include "xfa/fde/tto/fde_textout.h" |
| 10 #include "xfa/fwl/core/cfwl_themebackground.h" | 10 #include "xfa/fwl/core/cfwl_themebackground.h" |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 return pWidget && pWidget->GetClassID() == FWL_Type::MonthCalendar; | 59 return pWidget && pWidget->GetClassID() == FWL_Type::MonthCalendar; |
| 60 } | 60 } |
| 61 | 61 |
| 62 uint32_t CFWL_MonthCalendarTP::SetThemeID(IFWL_Widget* pWidget, | 62 uint32_t CFWL_MonthCalendarTP::SetThemeID(IFWL_Widget* pWidget, |
| 63 uint32_t dwThemeID) { | 63 uint32_t dwThemeID) { |
| 64 if (m_pThemeData) | 64 if (m_pThemeData) |
| 65 SetThemeData(FWL_GetThemeColor(dwThemeID)); | 65 SetThemeData(FWL_GetThemeColor(dwThemeID)); |
| 66 return CFWL_WidgetTP::SetThemeID(pWidget, dwThemeID); | 66 return CFWL_WidgetTP::SetThemeID(pWidget, dwThemeID); |
| 67 } | 67 } |
| 68 | 68 |
| 69 FX_BOOL CFWL_MonthCalendarTP::DrawBackground(CFWL_ThemeBackground* pParams) { | 69 void CFWL_MonthCalendarTP::DrawBackground(CFWL_ThemeBackground* pParams) { |
| 70 if (!pParams) | 70 if (!pParams) |
| 71 return FALSE; | 71 return; |
| 72 |
| 72 switch (pParams->m_iPart) { | 73 switch (pParams->m_iPart) { |
| 73 case CFWL_Part::Border: { | 74 case CFWL_Part::Border: { |
| 74 DrawBorder(pParams->m_pGraphics, &pParams->m_rtPart, &pParams->m_matrix); | 75 DrawBorder(pParams->m_pGraphics, &pParams->m_rtPart, &pParams->m_matrix); |
| 75 break; | 76 break; |
| 76 } | 77 } |
| 77 case CFWL_Part::Edge: { | 78 case CFWL_Part::Edge: { |
| 78 DrawEdge(pParams->m_pGraphics, pParams->m_pWidget->GetStyles(), | 79 DrawEdge(pParams->m_pGraphics, pParams->m_pWidget->GetStyles(), |
| 79 &pParams->m_rtPart, &pParams->m_matrix); | 80 &pParams->m_rtPart, &pParams->m_matrix); |
| 80 break; | 81 break; |
| 81 } | 82 } |
| (...skipping 30 matching lines...) Expand all Loading... |
| 112 break; | 113 break; |
| 113 } | 114 } |
| 114 case CFWL_Part::DateInCircle: { | 115 case CFWL_Part::DateInCircle: { |
| 115 DrawDatesInCircle(pParams, &pParams->m_matrix); | 116 DrawDatesInCircle(pParams, &pParams->m_matrix); |
| 116 break; | 117 break; |
| 117 } | 118 } |
| 118 case CFWL_Part::WeekNumSep: { | 119 case CFWL_Part::WeekNumSep: { |
| 119 DrawWeekNumSep(pParams, &pParams->m_matrix); | 120 DrawWeekNumSep(pParams, &pParams->m_matrix); |
| 120 break; | 121 break; |
| 121 } | 122 } |
| 122 default: {} | 123 default: |
| 124 break; |
| 123 } | 125 } |
| 124 return TRUE; | |
| 125 } | 126 } |
| 126 FX_BOOL CFWL_MonthCalendarTP::DrawText(CFWL_ThemeText* pParams) { | 127 |
| 128 void CFWL_MonthCalendarTP::DrawText(CFWL_ThemeText* pParams) { |
| 127 if (!m_pTextOut) | 129 if (!m_pTextOut) |
| 128 return FALSE; | 130 return; |
| 131 |
| 129 if ((pParams->m_iPart == CFWL_Part::DatesIn) && | 132 if ((pParams->m_iPart == CFWL_Part::DatesIn) && |
| 130 !(pParams->m_dwStates & FWL_ITEMSTATE_MCD_Flag) && | 133 !(pParams->m_dwStates & FWL_ITEMSTATE_MCD_Flag) && |
| 131 (pParams->m_dwStates & | 134 (pParams->m_dwStates & |
| 132 (CFWL_PartState_Hovered | CFWL_PartState_Selected))) { | 135 (CFWL_PartState_Hovered | CFWL_PartState_Selected))) { |
| 133 m_pTextOut->SetTextColor(0xFFFFFFFF); | 136 m_pTextOut->SetTextColor(0xFFFFFFFF); |
| 134 } else if (pParams->m_iPart == CFWL_Part::Caption) { | 137 } else if (pParams->m_iPart == CFWL_Part::Caption) { |
| 135 m_pTextOut->SetTextColor(m_pThemeData->clrCaption); | 138 m_pTextOut->SetTextColor(m_pThemeData->clrCaption); |
| 136 } else { | 139 } else { |
| 137 m_pTextOut->SetTextColor(0xFF000000); | 140 m_pTextOut->SetTextColor(0xFF000000); |
| 138 } | 141 } |
| 139 return CFWL_WidgetTP::DrawText(pParams); | 142 CFWL_WidgetTP::DrawText(pParams); |
| 140 } | 143 } |
| 144 |
| 141 void* CFWL_MonthCalendarTP::GetCapacity(CFWL_ThemePart* pThemePart, | 145 void* CFWL_MonthCalendarTP::GetCapacity(CFWL_ThemePart* pThemePart, |
| 142 CFWL_WidgetCapacity dwCapacity) { | 146 CFWL_WidgetCapacity dwCapacity) { |
| 143 FX_BOOL bDefPro = FALSE; | 147 FX_BOOL bDefPro = FALSE; |
| 144 FX_BOOL bDwordVal = FALSE; | 148 FX_BOOL bDwordVal = FALSE; |
| 145 switch (dwCapacity) { | 149 switch (dwCapacity) { |
| 146 case CFWL_WidgetCapacity::HeaderWidth: { | 150 case CFWL_WidgetCapacity::HeaderWidth: { |
| 147 m_fValue = kHeaderWidth; | 151 m_fValue = kHeaderWidth; |
| 148 break; | 152 break; |
| 149 } | 153 } |
| 150 case CFWL_WidgetCapacity::HeaderHeight: { | 154 case CFWL_WidgetCapacity::HeaderHeight: { |
| (...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 329 return &wsResource; | 333 return &wsResource; |
| 330 } | 334 } |
| 331 case CFWL_WidgetCapacity::December: { | 335 case CFWL_WidgetCapacity::December: { |
| 332 wsResource = L"December"; | 336 wsResource = L"December"; |
| 333 return &wsResource; | 337 return &wsResource; |
| 334 } | 338 } |
| 335 case CFWL_WidgetCapacity::Today: { | 339 case CFWL_WidgetCapacity::Today: { |
| 336 wsResource = L"Today"; | 340 wsResource = L"Today"; |
| 337 return &wsResource; | 341 return &wsResource; |
| 338 } | 342 } |
| 339 default: { bDefPro = TRUE; } | 343 default: |
| 344 bDefPro = TRUE; |
| 345 break; |
| 340 } | 346 } |
| 341 if (!bDefPro) { | 347 if (!bDefPro) { |
| 342 if (bDwordVal) { | 348 if (bDwordVal) |
| 343 return &m_dwValue; | 349 return &m_dwValue; |
| 344 } | |
| 345 return &m_fValue; | 350 return &m_fValue; |
| 346 } | 351 } |
| 347 return CFWL_WidgetTP::GetCapacity(pThemePart, dwCapacity); | 352 return CFWL_WidgetTP::GetCapacity(pThemePart, dwCapacity); |
| 348 } | 353 } |
| 349 FWL_Error CFWL_MonthCalendarTP::Initialize() { | 354 |
| 355 void CFWL_MonthCalendarTP::Initialize() { |
| 350 InitTTO(); | 356 InitTTO(); |
| 351 return CFWL_WidgetTP::Initialize(); | 357 CFWL_WidgetTP::Initialize(); |
| 352 } | 358 } |
| 353 FWL_Error CFWL_MonthCalendarTP::Finalize() { | 359 |
| 360 void CFWL_MonthCalendarTP::Finalize() { |
| 354 FinalizeTTO(); | 361 FinalizeTTO(); |
| 355 return CFWL_WidgetTP::Finalize(); | 362 CFWL_WidgetTP::Finalize(); |
| 356 } | 363 } |
| 357 FX_BOOL CFWL_MonthCalendarTP::DrawTotalBK(CFWL_ThemeBackground* pParams, | 364 |
| 358 CFX_Matrix* pMatrix) { | 365 void CFWL_MonthCalendarTP::DrawTotalBK(CFWL_ThemeBackground* pParams, |
| 366 CFX_Matrix* pMatrix) { |
| 359 CFX_Path path; | 367 CFX_Path path; |
| 360 path.Create(); | 368 path.Create(); |
| 361 CFX_RectF rtTotal(pParams->m_rtPart); | 369 CFX_RectF rtTotal(pParams->m_rtPart); |
| 362 path.AddRectangle(rtTotal.left, rtTotal.top, rtTotal.width, rtTotal.height); | 370 path.AddRectangle(rtTotal.left, rtTotal.top, rtTotal.width, rtTotal.height); |
| 363 pParams->m_pGraphics->SaveGraphState(); | 371 pParams->m_pGraphics->SaveGraphState(); |
| 364 CFX_Color clrBK(m_pThemeData->clrBK); | 372 CFX_Color clrBK(m_pThemeData->clrBK); |
| 365 pParams->m_pGraphics->SetFillColor(&clrBK); | 373 pParams->m_pGraphics->SetFillColor(&clrBK); |
| 366 pParams->m_pGraphics->FillPath(&path, FXFILL_WINDING, pMatrix); | 374 pParams->m_pGraphics->FillPath(&path, FXFILL_WINDING, pMatrix); |
| 367 pParams->m_pGraphics->RestoreGraphState(); | 375 pParams->m_pGraphics->RestoreGraphState(); |
| 368 return TRUE; | |
| 369 } | 376 } |
| 370 FX_BOOL CFWL_MonthCalendarTP::DrawHeadBk(CFWL_ThemeBackground* pParams, | 377 |
| 371 CFX_Matrix* pMatrix) { | 378 void CFWL_MonthCalendarTP::DrawHeadBk(CFWL_ThemeBackground* pParams, |
| 379 CFX_Matrix* pMatrix) { |
| 372 CFX_Path path; | 380 CFX_Path path; |
| 373 path.Create(); | 381 path.Create(); |
| 374 CFX_RectF rtHead = pParams->m_rtPart; | 382 CFX_RectF rtHead = pParams->m_rtPart; |
| 375 path.AddRectangle(rtHead.left, rtHead.top, rtHead.width, rtHead.height); | 383 path.AddRectangle(rtHead.left, rtHead.top, rtHead.width, rtHead.height); |
| 376 pParams->m_pGraphics->SaveGraphState(); | 384 pParams->m_pGraphics->SaveGraphState(); |
| 377 CFX_Color clrHeadBK(m_pThemeData->clrBK); | 385 CFX_Color clrHeadBK(m_pThemeData->clrBK); |
| 378 pParams->m_pGraphics->SetFillColor(&clrHeadBK); | 386 pParams->m_pGraphics->SetFillColor(&clrHeadBK); |
| 379 pParams->m_pGraphics->FillPath(&path, FXFILL_WINDING, pMatrix); | 387 pParams->m_pGraphics->FillPath(&path, FXFILL_WINDING, pMatrix); |
| 380 pParams->m_pGraphics->RestoreGraphState(); | 388 pParams->m_pGraphics->RestoreGraphState(); |
| 381 return TRUE; | |
| 382 } | 389 } |
| 383 FX_BOOL CFWL_MonthCalendarTP::DrawLButton(CFWL_ThemeBackground* pParams, | 390 |
| 384 CFX_Matrix* pMatrix) { | 391 void CFWL_MonthCalendarTP::DrawLButton(CFWL_ThemeBackground* pParams, |
| 392 CFX_Matrix* pMatrix) { |
| 385 CFX_Path path; | 393 CFX_Path path; |
| 386 path.Create(); | 394 path.Create(); |
| 387 CFX_RectF rtLBtn; | 395 CFX_RectF rtLBtn; |
| 388 rtLBtn = pParams->m_rtPart; | 396 rtLBtn = pParams->m_rtPart; |
| 389 path.AddRectangle(rtLBtn.left, rtLBtn.top, rtLBtn.width, rtLBtn.height); | 397 path.AddRectangle(rtLBtn.left, rtLBtn.top, rtLBtn.width, rtLBtn.height); |
| 390 pParams->m_pGraphics->SaveGraphState(); | 398 pParams->m_pGraphics->SaveGraphState(); |
| 391 CFX_Color clrLBtnEdge(ArgbEncode(0xff, 205, 219, 243)); | 399 CFX_Color clrLBtnEdge(ArgbEncode(0xff, 205, 219, 243)); |
| 392 pParams->m_pGraphics->SetStrokeColor(&clrLBtnEdge); | 400 pParams->m_pGraphics->SetStrokeColor(&clrLBtnEdge); |
| 393 pParams->m_pGraphics->StrokePath(&path, pMatrix); | 401 pParams->m_pGraphics->StrokePath(&path, pMatrix); |
| 394 if (pParams->m_dwStates & CFWL_PartState_Pressed) { | 402 if (pParams->m_dwStates & CFWL_PartState_Pressed) { |
| 395 CFX_Color clrLBtnFill(ArgbEncode(0xff, 174, 198, 242)); | 403 CFX_Color clrLBtnFill(ArgbEncode(0xff, 174, 198, 242)); |
| 396 pParams->m_pGraphics->SetFillColor(&clrLBtnFill); | 404 pParams->m_pGraphics->SetFillColor(&clrLBtnFill); |
| 397 pParams->m_pGraphics->FillPath(&path, FXFILL_WINDING, pMatrix); | 405 pParams->m_pGraphics->FillPath(&path, FXFILL_WINDING, pMatrix); |
| 398 } else { | 406 } else { |
| 399 CFX_Color clrLBtnFill(ArgbEncode(0xff, 227, 235, 249)); | 407 CFX_Color clrLBtnFill(ArgbEncode(0xff, 227, 235, 249)); |
| 400 pParams->m_pGraphics->SetFillColor(&clrLBtnFill); | 408 pParams->m_pGraphics->SetFillColor(&clrLBtnFill); |
| 401 pParams->m_pGraphics->FillPath(&path, FXFILL_WINDING, pMatrix); | 409 pParams->m_pGraphics->FillPath(&path, FXFILL_WINDING, pMatrix); |
| 402 } | 410 } |
| 403 path.Clear(); | 411 path.Clear(); |
| 404 path.MoveTo(rtLBtn.left + rtLBtn.Width() / 3 * 2, | 412 path.MoveTo(rtLBtn.left + rtLBtn.Width() / 3 * 2, |
| 405 rtLBtn.top + rtLBtn.height / 4); | 413 rtLBtn.top + rtLBtn.height / 4); |
| 406 path.LineTo(rtLBtn.left + rtLBtn.Width() / 3, rtLBtn.top + rtLBtn.height / 2); | 414 path.LineTo(rtLBtn.left + rtLBtn.Width() / 3, rtLBtn.top + rtLBtn.height / 2); |
| 407 path.LineTo(rtLBtn.left + rtLBtn.Width() / 3 * 2, | 415 path.LineTo(rtLBtn.left + rtLBtn.Width() / 3 * 2, |
| 408 rtLBtn.bottom() - rtLBtn.height / 4); | 416 rtLBtn.bottom() - rtLBtn.height / 4); |
| 409 CFX_Color clrFlag(ArgbEncode(0xff, 50, 104, 205)); | 417 CFX_Color clrFlag(ArgbEncode(0xff, 50, 104, 205)); |
| 410 pParams->m_pGraphics->SetStrokeColor(&clrFlag); | 418 pParams->m_pGraphics->SetStrokeColor(&clrFlag); |
| 411 pParams->m_pGraphics->StrokePath(&path, pMatrix); | 419 pParams->m_pGraphics->StrokePath(&path, pMatrix); |
| 412 pParams->m_pGraphics->RestoreGraphState(); | 420 pParams->m_pGraphics->RestoreGraphState(); |
| 413 return TRUE; | |
| 414 } | 421 } |
| 415 FX_BOOL CFWL_MonthCalendarTP::DrawRButton(CFWL_ThemeBackground* pParams, | 422 |
| 416 CFX_Matrix* pMatrix) { | 423 void CFWL_MonthCalendarTP::DrawRButton(CFWL_ThemeBackground* pParams, |
| 424 CFX_Matrix* pMatrix) { |
| 417 CFX_Path path; | 425 CFX_Path path; |
| 418 path.Create(); | 426 path.Create(); |
| 419 CFX_RectF rtRBtn; | 427 CFX_RectF rtRBtn; |
| 420 rtRBtn = pParams->m_rtPart; | 428 rtRBtn = pParams->m_rtPart; |
| 421 path.AddRectangle(rtRBtn.left, rtRBtn.top, rtRBtn.width, rtRBtn.height); | 429 path.AddRectangle(rtRBtn.left, rtRBtn.top, rtRBtn.width, rtRBtn.height); |
| 422 pParams->m_pGraphics->SaveGraphState(); | 430 pParams->m_pGraphics->SaveGraphState(); |
| 423 CFX_Color clrRBtnEdge(ArgbEncode(0xff, 205, 219, 243)); | 431 CFX_Color clrRBtnEdge(ArgbEncode(0xff, 205, 219, 243)); |
| 424 pParams->m_pGraphics->SetStrokeColor(&clrRBtnEdge); | 432 pParams->m_pGraphics->SetStrokeColor(&clrRBtnEdge); |
| 425 pParams->m_pGraphics->StrokePath(&path, pMatrix); | 433 pParams->m_pGraphics->StrokePath(&path, pMatrix); |
| 426 if (pParams->m_dwStates & CFWL_PartState_Pressed) { | 434 if (pParams->m_dwStates & CFWL_PartState_Pressed) { |
| 427 CFX_Color clrRBtnFill(ArgbEncode(0xff, 174, 198, 242)); | 435 CFX_Color clrRBtnFill(ArgbEncode(0xff, 174, 198, 242)); |
| 428 pParams->m_pGraphics->SetFillColor(&clrRBtnFill); | 436 pParams->m_pGraphics->SetFillColor(&clrRBtnFill); |
| 429 pParams->m_pGraphics->FillPath(&path, FXFILL_WINDING, pMatrix); | 437 pParams->m_pGraphics->FillPath(&path, FXFILL_WINDING, pMatrix); |
| 430 } else { | 438 } else { |
| 431 CFX_Color clrRBtnFill(ArgbEncode(0xff, 227, 235, 249)); | 439 CFX_Color clrRBtnFill(ArgbEncode(0xff, 227, 235, 249)); |
| 432 pParams->m_pGraphics->SetFillColor(&clrRBtnFill); | 440 pParams->m_pGraphics->SetFillColor(&clrRBtnFill); |
| 433 pParams->m_pGraphics->FillPath(&path, FXFILL_WINDING, pMatrix); | 441 pParams->m_pGraphics->FillPath(&path, FXFILL_WINDING, pMatrix); |
| 434 } | 442 } |
| 435 path.Clear(); | 443 path.Clear(); |
| 436 path.MoveTo(rtRBtn.left + rtRBtn.Width() / 3, rtRBtn.top + rtRBtn.height / 4); | 444 path.MoveTo(rtRBtn.left + rtRBtn.Width() / 3, rtRBtn.top + rtRBtn.height / 4); |
| 437 path.LineTo(rtRBtn.left + rtRBtn.Width() / 3 * 2, | 445 path.LineTo(rtRBtn.left + rtRBtn.Width() / 3 * 2, |
| 438 rtRBtn.top + rtRBtn.height / 2); | 446 rtRBtn.top + rtRBtn.height / 2); |
| 439 path.LineTo(rtRBtn.left + rtRBtn.Width() / 3, | 447 path.LineTo(rtRBtn.left + rtRBtn.Width() / 3, |
| 440 rtRBtn.bottom() - rtRBtn.height / 4); | 448 rtRBtn.bottom() - rtRBtn.height / 4); |
| 441 CFX_Color clrFlag(ArgbEncode(0xff, 50, 104, 205)); | 449 CFX_Color clrFlag(ArgbEncode(0xff, 50, 104, 205)); |
| 442 pParams->m_pGraphics->SetStrokeColor(&clrFlag); | 450 pParams->m_pGraphics->SetStrokeColor(&clrFlag); |
| 443 pParams->m_pGraphics->StrokePath(&path, pMatrix); | 451 pParams->m_pGraphics->StrokePath(&path, pMatrix); |
| 444 pParams->m_pGraphics->RestoreGraphState(); | 452 pParams->m_pGraphics->RestoreGraphState(); |
| 445 return TRUE; | |
| 446 } | 453 } |
| 447 FX_BOOL CFWL_MonthCalendarTP::DrawHSeperator(CFWL_ThemeBackground* pParams, | 454 |
| 448 CFX_Matrix* pMatrix) { | 455 void CFWL_MonthCalendarTP::DrawHSeperator(CFWL_ThemeBackground* pParams, |
| 456 CFX_Matrix* pMatrix) { |
| 449 CFX_Path path; | 457 CFX_Path path; |
| 450 path.Create(); | 458 path.Create(); |
| 451 CFX_RectF rtHSep; | 459 CFX_RectF rtHSep; |
| 452 rtHSep = pParams->m_rtPart; | 460 rtHSep = pParams->m_rtPart; |
| 453 path.MoveTo(rtHSep.left, rtHSep.top + rtHSep.height / 2); | 461 path.MoveTo(rtHSep.left, rtHSep.top + rtHSep.height / 2); |
| 454 path.LineTo(rtHSep.right(), rtHSep.top + rtHSep.height / 2); | 462 path.LineTo(rtHSep.right(), rtHSep.top + rtHSep.height / 2); |
| 455 pParams->m_pGraphics->SaveGraphState(); | 463 pParams->m_pGraphics->SaveGraphState(); |
| 456 CFX_Color clrHSep(m_pThemeData->clrSeperator); | 464 CFX_Color clrHSep(m_pThemeData->clrSeperator); |
| 457 pParams->m_pGraphics->SetStrokeColor(&clrHSep); | 465 pParams->m_pGraphics->SetStrokeColor(&clrHSep); |
| 458 pParams->m_pGraphics->StrokePath(&path, pMatrix); | 466 pParams->m_pGraphics->StrokePath(&path, pMatrix); |
| 459 pParams->m_pGraphics->RestoreGraphState(); | 467 pParams->m_pGraphics->RestoreGraphState(); |
| 460 return TRUE; | |
| 461 } | 468 } |
| 462 | 469 |
| 463 FX_BOOL CFWL_MonthCalendarTP::DrawWeekNumSep(CFWL_ThemeBackground* pParams, | 470 void CFWL_MonthCalendarTP::DrawWeekNumSep(CFWL_ThemeBackground* pParams, |
| 464 CFX_Matrix* pMatrix) { | 471 CFX_Matrix* pMatrix) { |
| 465 CFX_Path path; | 472 CFX_Path path; |
| 466 path.Create(); | 473 path.Create(); |
| 467 CFX_RectF rtWeekSep; | 474 CFX_RectF rtWeekSep; |
| 468 rtWeekSep = pParams->m_rtPart; | 475 rtWeekSep = pParams->m_rtPart; |
| 469 path.MoveTo(rtWeekSep.left, rtWeekSep.top); | 476 path.MoveTo(rtWeekSep.left, rtWeekSep.top); |
| 470 path.LineTo(rtWeekSep.left, rtWeekSep.bottom()); | 477 path.LineTo(rtWeekSep.left, rtWeekSep.bottom()); |
| 471 pParams->m_pGraphics->SaveGraphState(); | 478 pParams->m_pGraphics->SaveGraphState(); |
| 472 CFX_Color clrHSep(m_pThemeData->clrSeperator); | 479 CFX_Color clrHSep(m_pThemeData->clrSeperator); |
| 473 pParams->m_pGraphics->SetStrokeColor(&clrHSep); | 480 pParams->m_pGraphics->SetStrokeColor(&clrHSep); |
| 474 pParams->m_pGraphics->StrokePath(&path, pMatrix); | 481 pParams->m_pGraphics->StrokePath(&path, pMatrix); |
| 475 pParams->m_pGraphics->RestoreGraphState(); | 482 pParams->m_pGraphics->RestoreGraphState(); |
| 476 return TRUE; | |
| 477 } | 483 } |
| 478 | 484 |
| 479 FX_BOOL CFWL_MonthCalendarTP::DrawDatesInBK(CFWL_ThemeBackground* pParams, | 485 void CFWL_MonthCalendarTP::DrawDatesInBK(CFWL_ThemeBackground* pParams, |
| 480 CFX_Matrix* pMatrix) { | 486 CFX_Matrix* pMatrix) { |
| 481 pParams->m_pGraphics->SaveGraphState(); | 487 pParams->m_pGraphics->SaveGraphState(); |
| 482 if (pParams->m_dwStates & CFWL_PartState_Selected) { | 488 if (pParams->m_dwStates & CFWL_PartState_Selected) { |
| 483 CFX_Path path; | 489 CFX_Path path; |
| 484 path.Create(); | 490 path.Create(); |
| 485 CFX_RectF rtSelDay; | 491 CFX_RectF rtSelDay; |
| 486 rtSelDay = pParams->m_rtPart; | 492 rtSelDay = pParams->m_rtPart; |
| 487 path.AddRectangle(rtSelDay.left, rtSelDay.top, rtSelDay.width, | 493 path.AddRectangle(rtSelDay.left, rtSelDay.top, rtSelDay.width, |
| 488 rtSelDay.height); | 494 rtSelDay.height); |
| 489 CFX_Color clrSelDayBK(m_pThemeData->clrDatesSelectedBK); | 495 CFX_Color clrSelDayBK(m_pThemeData->clrDatesSelectedBK); |
| 490 pParams->m_pGraphics->SetFillColor(&clrSelDayBK); | 496 pParams->m_pGraphics->SetFillColor(&clrSelDayBK); |
| 491 pParams->m_pGraphics->FillPath(&path, FXFILL_WINDING, pMatrix); | 497 pParams->m_pGraphics->FillPath(&path, FXFILL_WINDING, pMatrix); |
| 492 } else if (pParams->m_dwStates & CFWL_PartState_Hovered) { | 498 } else if (pParams->m_dwStates & CFWL_PartState_Hovered) { |
| 493 CFX_Path path; | 499 CFX_Path path; |
| 494 path.Create(); | 500 path.Create(); |
| 495 CFX_RectF rtSelDay; | 501 CFX_RectF rtSelDay; |
| 496 rtSelDay = pParams->m_rtPart; | 502 rtSelDay = pParams->m_rtPart; |
| 497 path.AddRectangle(rtSelDay.left, rtSelDay.top, rtSelDay.width, | 503 path.AddRectangle(rtSelDay.left, rtSelDay.top, rtSelDay.width, |
| 498 rtSelDay.height); | 504 rtSelDay.height); |
| 499 CFX_Color clrSelDayBK(m_pThemeData->clrDatesHoverBK); | 505 CFX_Color clrSelDayBK(m_pThemeData->clrDatesHoverBK); |
| 500 pParams->m_pGraphics->SetFillColor(&clrSelDayBK); | 506 pParams->m_pGraphics->SetFillColor(&clrSelDayBK); |
| 501 pParams->m_pGraphics->FillPath(&path, FXFILL_WINDING, pMatrix); | 507 pParams->m_pGraphics->FillPath(&path, FXFILL_WINDING, pMatrix); |
| 502 } | 508 } |
| 503 pParams->m_pGraphics->RestoreGraphState(); | 509 pParams->m_pGraphics->RestoreGraphState(); |
| 504 return FALSE; | |
| 505 } | 510 } |
| 506 | 511 |
| 507 FX_BOOL CFWL_MonthCalendarTP::DrawDatesInCircle(CFWL_ThemeBackground* pParams, | 512 void CFWL_MonthCalendarTP::DrawDatesInCircle(CFWL_ThemeBackground* pParams, |
| 508 CFX_Matrix* pMatrix) { | 513 CFX_Matrix* pMatrix) { |
| 509 CFX_Path path; | 514 CFX_Path path; |
| 510 path.Create(); | 515 path.Create(); |
| 511 CFX_RectF rtSelDay; | 516 CFX_RectF rtSelDay; |
| 512 rtSelDay = pParams->m_rtPart; | 517 rtSelDay = pParams->m_rtPart; |
| 513 path.AddRectangle(rtSelDay.left, rtSelDay.top, rtSelDay.width, | 518 path.AddRectangle(rtSelDay.left, rtSelDay.top, rtSelDay.width, |
| 514 rtSelDay.height); | 519 rtSelDay.height); |
| 515 pParams->m_pGraphics->SaveGraphState(); | 520 pParams->m_pGraphics->SaveGraphState(); |
| 516 CFX_Color clrSelDayBK(m_pThemeData->clrDatesCircle); | 521 CFX_Color clrSelDayBK(m_pThemeData->clrDatesCircle); |
| 517 pParams->m_pGraphics->SetStrokeColor(&clrSelDayBK); | 522 pParams->m_pGraphics->SetStrokeColor(&clrSelDayBK); |
| 518 pParams->m_pGraphics->StrokePath(&path, pMatrix); | 523 pParams->m_pGraphics->StrokePath(&path, pMatrix); |
| 519 pParams->m_pGraphics->RestoreGraphState(); | 524 pParams->m_pGraphics->RestoreGraphState(); |
| 520 return TRUE; | |
| 521 } | 525 } |
| 522 | 526 |
| 523 FX_BOOL CFWL_MonthCalendarTP::DrawTodayCircle(CFWL_ThemeBackground* pParams, | 527 void CFWL_MonthCalendarTP::DrawTodayCircle(CFWL_ThemeBackground* pParams, |
| 524 CFX_Matrix* pMatrix) { | 528 CFX_Matrix* pMatrix) { |
| 525 CFX_Path path; | 529 CFX_Path path; |
| 526 path.Create(); | 530 path.Create(); |
| 527 CFX_RectF rtTodayCircle; | 531 CFX_RectF rtTodayCircle; |
| 528 rtTodayCircle = pParams->m_rtPart; | 532 rtTodayCircle = pParams->m_rtPart; |
| 529 path.AddRectangle(rtTodayCircle.left, rtTodayCircle.top, rtTodayCircle.width, | 533 path.AddRectangle(rtTodayCircle.left, rtTodayCircle.top, rtTodayCircle.width, |
| 530 rtTodayCircle.height); | 534 rtTodayCircle.height); |
| 531 pParams->m_pGraphics->SaveGraphState(); | 535 pParams->m_pGraphics->SaveGraphState(); |
| 532 CFX_Color clrTodayCircle(m_pThemeData->clrDatesCircle); | 536 CFX_Color clrTodayCircle(m_pThemeData->clrDatesCircle); |
| 533 pParams->m_pGraphics->SetStrokeColor(&clrTodayCircle); | 537 pParams->m_pGraphics->SetStrokeColor(&clrTodayCircle); |
| 534 pParams->m_pGraphics->StrokePath(&path, pMatrix); | 538 pParams->m_pGraphics->StrokePath(&path, pMatrix); |
| 535 pParams->m_pGraphics->RestoreGraphState(); | 539 pParams->m_pGraphics->RestoreGraphState(); |
| 536 return TRUE; | |
| 537 } | 540 } |
| 538 | 541 |
| 539 FWLTHEME_STATE CFWL_MonthCalendarTP::GetState(uint32_t dwFWLStates) { | 542 FWLTHEME_STATE CFWL_MonthCalendarTP::GetState(uint32_t dwFWLStates) { |
| 540 if (dwFWLStates & CFWL_PartState_Hovered) | 543 if (dwFWLStates & CFWL_PartState_Hovered) |
| 541 return FWLTHEME_STATE_Hover; | 544 return FWLTHEME_STATE_Hover; |
| 542 if (dwFWLStates & CFWL_PartState_Pressed) | 545 if (dwFWLStates & CFWL_PartState_Pressed) |
| 543 return FWLTHEME_STATE_Pressed; | 546 return FWLTHEME_STATE_Pressed; |
| 544 return FWLTHEME_STATE_Normal; | 547 return FWLTHEME_STATE_Normal; |
| 545 } | 548 } |
| 546 | 549 |
| 547 void CFWL_MonthCalendarTP::SetThemeData(uint32_t dwThemeID) { | 550 void CFWL_MonthCalendarTP::SetThemeData(uint32_t dwThemeID) { |
| 548 if (dwThemeID == 0) { | 551 if (dwThemeID == 0) { |
| 549 m_pThemeData->clrCaption = ArgbEncode(0xff, 0, 153, 255); | 552 m_pThemeData->clrCaption = ArgbEncode(0xff, 0, 153, 255); |
| 550 m_pThemeData->clrSeperator = ArgbEncode(0xff, 141, 161, 239); | 553 m_pThemeData->clrSeperator = ArgbEncode(0xff, 141, 161, 239); |
| 551 m_pThemeData->clrDatesHoverBK = ArgbEncode(0xff, 193, 211, 251); | 554 m_pThemeData->clrDatesHoverBK = ArgbEncode(0xff, 193, 211, 251); |
| 552 m_pThemeData->clrDatesSelectedBK = ArgbEncode(0xff, 173, 188, 239); | 555 m_pThemeData->clrDatesSelectedBK = ArgbEncode(0xff, 173, 188, 239); |
| 553 m_pThemeData->clrDatesCircle = ArgbEncode(0xff, 103, 144, 209); | 556 m_pThemeData->clrDatesCircle = ArgbEncode(0xff, 103, 144, 209); |
| 554 m_pThemeData->clrToday = ArgbEncode(0xff, 0, 0, 0); | 557 m_pThemeData->clrToday = ArgbEncode(0xff, 0, 0, 0); |
| 555 m_pThemeData->clrBK = ArgbEncode(0xff, 255, 255, 255); | 558 m_pThemeData->clrBK = ArgbEncode(0xff, 255, 255, 255); |
| 556 } else { | 559 } else { |
| 557 m_pThemeData->clrCaption = ArgbEncode(0xff, 128, 128, 0); | 560 m_pThemeData->clrCaption = ArgbEncode(0xff, 128, 128, 0); |
| 558 m_pThemeData->clrSeperator = ArgbEncode(0xff, 128, 128, 64); | 561 m_pThemeData->clrSeperator = ArgbEncode(0xff, 128, 128, 64); |
| 559 m_pThemeData->clrDatesHoverBK = ArgbEncode(0xff, 217, 220, 191); | 562 m_pThemeData->clrDatesHoverBK = ArgbEncode(0xff, 217, 220, 191); |
| 560 m_pThemeData->clrDatesSelectedBK = ArgbEncode(0xff, 204, 208, 183); | 563 m_pThemeData->clrDatesSelectedBK = ArgbEncode(0xff, 204, 208, 183); |
| 561 m_pThemeData->clrDatesCircle = ArgbEncode(0xff, 128, 128, 0); | 564 m_pThemeData->clrDatesCircle = ArgbEncode(0xff, 128, 128, 0); |
| 562 m_pThemeData->clrToday = ArgbEncode(0xff, 0, 0, 0); | 565 m_pThemeData->clrToday = ArgbEncode(0xff, 0, 0, 0); |
| 563 m_pThemeData->clrBK = ArgbEncode(0xff, 255, 255, 255); | 566 m_pThemeData->clrBK = ArgbEncode(0xff, 255, 255, 255); |
| 564 } | 567 } |
| 565 } | 568 } |
| OLD | NEW |