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/core/cfwl_scrollbar.h" | 7 #include "xfa/fwl/core/cfwl_scrollbar.h" |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <memory> | 10 #include <memory> |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 m_rtMinTrack.Reset(); | 55 m_rtMinTrack.Reset(); |
56 m_rtMaxTrack.Reset(); | 56 m_rtMaxTrack.Reset(); |
57 } | 57 } |
58 | 58 |
59 CFWL_ScrollBar::~CFWL_ScrollBar() {} | 59 CFWL_ScrollBar::~CFWL_ScrollBar() {} |
60 | 60 |
61 FWL_Type CFWL_ScrollBar::GetClassID() const { | 61 FWL_Type CFWL_ScrollBar::GetClassID() const { |
62 return FWL_Type::ScrollBar; | 62 return FWL_Type::ScrollBar; |
63 } | 63 } |
64 | 64 |
65 void CFWL_ScrollBar::GetWidgetRect(CFX_RectF& rect, bool bAutoSize) { | |
66 if (!bAutoSize) { | |
67 rect = m_pProperties->m_rtWidget; | |
68 return; | |
69 } | |
70 | |
71 rect.Set(0, 0, 0, 0); | |
72 FX_FLOAT* pfMinWidth = static_cast<FX_FLOAT*>( | |
73 GetThemeCapacity(CFWL_WidgetCapacity::ScrollBarWidth)); | |
74 if (!pfMinWidth) | |
75 return; | |
76 if (IsVertical()) | |
77 rect.Set(0, 0, (*pfMinWidth), (*pfMinWidth) * 3); | |
78 else | |
79 rect.Set(0, 0, (*pfMinWidth) * 3, (*pfMinWidth)); | |
80 | |
81 InflateWidgetRect(rect); | |
82 } | |
83 | |
84 void CFWL_ScrollBar::Update() { | 65 void CFWL_ScrollBar::Update() { |
85 if (IsLocked()) | 66 if (IsLocked()) |
86 return; | 67 return; |
87 if (!m_pProperties->m_pThemeProvider) | 68 if (!m_pProperties->m_pThemeProvider) |
88 m_pProperties->m_pThemeProvider = GetAvailableTheme(); | 69 m_pProperties->m_pThemeProvider = GetAvailableTheme(); |
89 | 70 |
90 Layout(); | 71 Layout(); |
91 } | 72 } |
92 | 73 |
93 void CFWL_ScrollBar::DrawWidget(CFX_Graphics* pGraphics, | 74 void CFWL_ScrollBar::DrawWidget(CFX_Graphics* pGraphics, |
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
513 | 494 |
514 void CFWL_ScrollBar::Timer::Run(CFWL_TimerInfo* pTimerInfo) { | 495 void CFWL_ScrollBar::Timer::Run(CFWL_TimerInfo* pTimerInfo) { |
515 CFWL_ScrollBar* pButton = static_cast<CFWL_ScrollBar*>(m_pWidget); | 496 CFWL_ScrollBar* pButton = static_cast<CFWL_ScrollBar*>(m_pWidget); |
516 | 497 |
517 if (pButton->m_pTimerInfo) | 498 if (pButton->m_pTimerInfo) |
518 pButton->m_pTimerInfo->StopTimer(); | 499 pButton->m_pTimerInfo->StopTimer(); |
519 | 500 |
520 if (!pButton->SendEvent()) | 501 if (!pButton->SendEvent()) |
521 pButton->m_pTimerInfo = StartTimer(0, true); | 502 pButton->m_pTimerInfo = StartTimer(0, true); |
522 } | 503 } |
OLD | NEW |