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 |