| 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/fwl_widgetimp.h" | 7 #include "xfa/fwl/core/fwl_widgetimp.h" |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 | 10 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 #include "xfa/fwl/core/ifwl_app.h" | 21 #include "xfa/fwl/core/ifwl_app.h" |
| 22 #include "xfa/fwl/core/ifwl_form.h" | 22 #include "xfa/fwl/core/ifwl_form.h" |
| 23 #include "xfa/fwl/core/ifwl_themeprovider.h" | 23 #include "xfa/fwl/core/ifwl_themeprovider.h" |
| 24 #include "xfa/fxfa/include/xfa_ffapp.h" | 24 #include "xfa/fxfa/include/xfa_ffapp.h" |
| 25 | 25 |
| 26 #define FWL_CLASSHASH_Menu 3957949655 | 26 #define FWL_CLASSHASH_Menu 3957949655 |
| 27 #define FWL_STYLEEXT_MNU_Vert (1L << 0) | 27 #define FWL_STYLEEXT_MNU_Vert (1L << 0) |
| 28 | 28 |
| 29 IFWL_Widget::~IFWL_Widget() {} | 29 IFWL_Widget::~IFWL_Widget() {} |
| 30 | 30 |
| 31 FWL_ERR IFWL_Widget::GetClassName(CFX_WideString& wsClass) const { | 31 FWL_Error IFWL_Widget::GetClassName(CFX_WideString& wsClass) const { |
| 32 return m_pImpl->GetClassName(wsClass); | 32 return m_pImpl->GetClassName(wsClass); |
| 33 } | 33 } |
| 34 | 34 |
| 35 uint32_t IFWL_Widget::GetClassID() const { | 35 uint32_t IFWL_Widget::GetClassID() const { |
| 36 return m_pImpl->GetClassID(); | 36 return m_pImpl->GetClassID(); |
| 37 } | 37 } |
| 38 | 38 |
| 39 FX_BOOL IFWL_Widget::IsInstance(const CFX_WideStringC& wsClass) const { | 39 FX_BOOL IFWL_Widget::IsInstance(const CFX_WideStringC& wsClass) const { |
| 40 return m_pImpl->IsInstance(wsClass); | 40 return m_pImpl->IsInstance(wsClass); |
| 41 } | 41 } |
| 42 | 42 |
| 43 FWL_ERR IFWL_Widget::Initialize() { | 43 FWL_Error IFWL_Widget::Initialize() { |
| 44 return m_pImpl->Initialize(); | 44 return m_pImpl->Initialize(); |
| 45 } | 45 } |
| 46 | 46 |
| 47 FWL_ERR IFWL_Widget::Finalize() { | 47 FWL_Error IFWL_Widget::Finalize() { |
| 48 return m_pImpl->Finalize(); | 48 return m_pImpl->Finalize(); |
| 49 } | 49 } |
| 50 | 50 |
| 51 FWL_ERR IFWL_Widget::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) { | 51 FWL_Error IFWL_Widget::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) { |
| 52 return static_cast<CFWL_WidgetImp*>(GetImpl()) | 52 return static_cast<CFWL_WidgetImp*>(GetImpl()) |
| 53 ->GetWidgetRect(rect, bAutoSize); | 53 ->GetWidgetRect(rect, bAutoSize); |
| 54 } | 54 } |
| 55 FWL_ERR IFWL_Widget::GetGlobalRect(CFX_RectF& rect) { | 55 FWL_Error IFWL_Widget::GetGlobalRect(CFX_RectF& rect) { |
| 56 return static_cast<CFWL_WidgetImp*>(GetImpl())->GetGlobalRect(rect); | 56 return static_cast<CFWL_WidgetImp*>(GetImpl())->GetGlobalRect(rect); |
| 57 } | 57 } |
| 58 FWL_ERR IFWL_Widget::SetWidgetRect(const CFX_RectF& rect) { | 58 FWL_Error IFWL_Widget::SetWidgetRect(const CFX_RectF& rect) { |
| 59 return static_cast<CFWL_WidgetImp*>(GetImpl())->SetWidgetRect(rect); | 59 return static_cast<CFWL_WidgetImp*>(GetImpl())->SetWidgetRect(rect); |
| 60 } | 60 } |
| 61 FWL_ERR IFWL_Widget::GetClientRect(CFX_RectF& rect) { | 61 FWL_Error IFWL_Widget::GetClientRect(CFX_RectF& rect) { |
| 62 return static_cast<CFWL_WidgetImp*>(GetImpl())->GetClientRect(rect); | 62 return static_cast<CFWL_WidgetImp*>(GetImpl())->GetClientRect(rect); |
| 63 } | 63 } |
| 64 IFWL_Widget* IFWL_Widget::GetParent() { | 64 IFWL_Widget* IFWL_Widget::GetParent() { |
| 65 return static_cast<CFWL_WidgetImp*>(GetImpl())->GetParent(); | 65 return static_cast<CFWL_WidgetImp*>(GetImpl())->GetParent(); |
| 66 } | 66 } |
| 67 FWL_ERR IFWL_Widget::SetParent(IFWL_Widget* pParent) { | 67 FWL_Error IFWL_Widget::SetParent(IFWL_Widget* pParent) { |
| 68 return static_cast<CFWL_WidgetImp*>(GetImpl())->SetParent(pParent); | 68 return static_cast<CFWL_WidgetImp*>(GetImpl())->SetParent(pParent); |
| 69 } | 69 } |
| 70 IFWL_Widget* IFWL_Widget::GetOwner() { | 70 IFWL_Widget* IFWL_Widget::GetOwner() { |
| 71 return static_cast<CFWL_WidgetImp*>(GetImpl())->GetOwner(); | 71 return static_cast<CFWL_WidgetImp*>(GetImpl())->GetOwner(); |
| 72 } | 72 } |
| 73 FWL_ERR IFWL_Widget::SetOwner(IFWL_Widget* pOwner) { | 73 FWL_Error IFWL_Widget::SetOwner(IFWL_Widget* pOwner) { |
| 74 return static_cast<CFWL_WidgetImp*>(GetImpl())->SetOwner(pOwner); | 74 return static_cast<CFWL_WidgetImp*>(GetImpl())->SetOwner(pOwner); |
| 75 } | 75 } |
| 76 IFWL_Widget* IFWL_Widget::GetOuter() { | 76 IFWL_Widget* IFWL_Widget::GetOuter() { |
| 77 return static_cast<CFWL_WidgetImp*>(GetImpl())->GetOuter(); | 77 return static_cast<CFWL_WidgetImp*>(GetImpl())->GetOuter(); |
| 78 } | 78 } |
| 79 uint32_t IFWL_Widget::GetStyles() { | 79 uint32_t IFWL_Widget::GetStyles() { |
| 80 return static_cast<CFWL_WidgetImp*>(GetImpl())->GetStyles(); | 80 return static_cast<CFWL_WidgetImp*>(GetImpl())->GetStyles(); |
| 81 } | 81 } |
| 82 FWL_ERR IFWL_Widget::ModifyStyles(uint32_t dwStylesAdded, | 82 FWL_Error IFWL_Widget::ModifyStyles(uint32_t dwStylesAdded, |
| 83 uint32_t dwStylesRemoved) { | 83 uint32_t dwStylesRemoved) { |
| 84 return static_cast<CFWL_WidgetImp*>(GetImpl()) | 84 return static_cast<CFWL_WidgetImp*>(GetImpl()) |
| 85 ->ModifyStyles(dwStylesAdded, dwStylesRemoved); | 85 ->ModifyStyles(dwStylesAdded, dwStylesRemoved); |
| 86 } | 86 } |
| 87 uint32_t IFWL_Widget::GetStylesEx() { | 87 uint32_t IFWL_Widget::GetStylesEx() { |
| 88 return static_cast<CFWL_WidgetImp*>(GetImpl())->GetStylesEx(); | 88 return static_cast<CFWL_WidgetImp*>(GetImpl())->GetStylesEx(); |
| 89 } | 89 } |
| 90 FWL_ERR IFWL_Widget::ModifyStylesEx(uint32_t dwStylesExAdded, | 90 FWL_Error IFWL_Widget::ModifyStylesEx(uint32_t dwStylesExAdded, |
| 91 uint32_t dwStylesExRemoved) { | 91 uint32_t dwStylesExRemoved) { |
| 92 return static_cast<CFWL_WidgetImp*>(GetImpl()) | 92 return static_cast<CFWL_WidgetImp*>(GetImpl()) |
| 93 ->ModifyStylesEx(dwStylesExAdded, dwStylesExRemoved); | 93 ->ModifyStylesEx(dwStylesExAdded, dwStylesExRemoved); |
| 94 } | 94 } |
| 95 uint32_t IFWL_Widget::GetStates() { | 95 uint32_t IFWL_Widget::GetStates() { |
| 96 return static_cast<CFWL_WidgetImp*>(GetImpl())->GetStates(); | 96 return static_cast<CFWL_WidgetImp*>(GetImpl())->GetStates(); |
| 97 } | 97 } |
| 98 void IFWL_Widget::SetStates(uint32_t dwStates, FX_BOOL bSet) { | 98 void IFWL_Widget::SetStates(uint32_t dwStates, FX_BOOL bSet) { |
| 99 static_cast<CFWL_WidgetImp*>(GetImpl())->SetStates(dwStates, bSet); | 99 static_cast<CFWL_WidgetImp*>(GetImpl())->SetStates(dwStates, bSet); |
| 100 } | 100 } |
| 101 FWL_ERR IFWL_Widget::SetPrivateData(void* module_id, | 101 FWL_Error IFWL_Widget::SetPrivateData(void* module_id, |
| 102 void* pData, | 102 void* pData, |
| 103 PD_CALLBACK_FREEDATA callback) { | 103 PD_CALLBACK_FREEDATA callback) { |
| 104 return static_cast<CFWL_WidgetImp*>(GetImpl()) | 104 return static_cast<CFWL_WidgetImp*>(GetImpl()) |
| 105 ->SetPrivateData(module_id, pData, callback); | 105 ->SetPrivateData(module_id, pData, callback); |
| 106 } | 106 } |
| 107 void* IFWL_Widget::GetPrivateData(void* module_id) { | 107 void* IFWL_Widget::GetPrivateData(void* module_id) { |
| 108 return static_cast<CFWL_WidgetImp*>(GetImpl())->GetPrivateData(module_id); | 108 return static_cast<CFWL_WidgetImp*>(GetImpl())->GetPrivateData(module_id); |
| 109 } | 109 } |
| 110 FWL_ERR IFWL_Widget::Update() { | 110 FWL_Error IFWL_Widget::Update() { |
| 111 return static_cast<CFWL_WidgetImp*>(GetImpl())->Update(); | 111 return static_cast<CFWL_WidgetImp*>(GetImpl())->Update(); |
| 112 } | 112 } |
| 113 FWL_ERR IFWL_Widget::LockUpdate() { | 113 FWL_Error IFWL_Widget::LockUpdate() { |
| 114 return static_cast<CFWL_WidgetImp*>(GetImpl())->LockUpdate(); | 114 return static_cast<CFWL_WidgetImp*>(GetImpl())->LockUpdate(); |
| 115 } | 115 } |
| 116 FWL_ERR IFWL_Widget::UnlockUpdate() { | 116 FWL_Error IFWL_Widget::UnlockUpdate() { |
| 117 return static_cast<CFWL_WidgetImp*>(GetImpl())->UnlockUpdate(); | 117 return static_cast<CFWL_WidgetImp*>(GetImpl())->UnlockUpdate(); |
| 118 } | 118 } |
| 119 FWL_WidgetHit IFWL_Widget::HitTest(FX_FLOAT fx, FX_FLOAT fy) { | 119 FWL_WidgetHit IFWL_Widget::HitTest(FX_FLOAT fx, FX_FLOAT fy) { |
| 120 return static_cast<CFWL_WidgetImp*>(GetImpl())->HitTest(fx, fy); | 120 return static_cast<CFWL_WidgetImp*>(GetImpl())->HitTest(fx, fy); |
| 121 } | 121 } |
| 122 FWL_ERR IFWL_Widget::TransformTo(IFWL_Widget* pWidget, | 122 FWL_Error IFWL_Widget::TransformTo(IFWL_Widget* pWidget, |
| 123 FX_FLOAT& fx, | 123 FX_FLOAT& fx, |
| 124 FX_FLOAT& fy) { | 124 FX_FLOAT& fy) { |
| 125 return static_cast<CFWL_WidgetImp*>(GetImpl())->TransformTo(pWidget, fx, fy); | 125 return static_cast<CFWL_WidgetImp*>(GetImpl())->TransformTo(pWidget, fx, fy); |
| 126 } | 126 } |
| 127 FWL_ERR IFWL_Widget::TransformTo(IFWL_Widget* pWidget, CFX_RectF& rt) { | 127 FWL_Error IFWL_Widget::TransformTo(IFWL_Widget* pWidget, CFX_RectF& rt) { |
| 128 return static_cast<CFWL_WidgetImp*>(GetImpl())->TransformTo(pWidget, rt); | 128 return static_cast<CFWL_WidgetImp*>(GetImpl())->TransformTo(pWidget, rt); |
| 129 } | 129 } |
| 130 FWL_ERR IFWL_Widget::GetMatrix(CFX_Matrix& matrix, FX_BOOL bGlobal) { | 130 FWL_Error IFWL_Widget::GetMatrix(CFX_Matrix& matrix, FX_BOOL bGlobal) { |
| 131 return static_cast<CFWL_WidgetImp*>(GetImpl())->GetMatrix(matrix, bGlobal); | 131 return static_cast<CFWL_WidgetImp*>(GetImpl())->GetMatrix(matrix, bGlobal); |
| 132 } | 132 } |
| 133 FWL_ERR IFWL_Widget::SetMatrix(const CFX_Matrix& matrix) { | 133 FWL_Error IFWL_Widget::SetMatrix(const CFX_Matrix& matrix) { |
| 134 return static_cast<CFWL_WidgetImp*>(GetImpl())->SetMatrix(matrix); | 134 return static_cast<CFWL_WidgetImp*>(GetImpl())->SetMatrix(matrix); |
| 135 } | 135 } |
| 136 FWL_ERR IFWL_Widget::DrawWidget(CFX_Graphics* pGraphics, | 136 FWL_Error IFWL_Widget::DrawWidget(CFX_Graphics* pGraphics, |
| 137 const CFX_Matrix* pMatrix) { | 137 const CFX_Matrix* pMatrix) { |
| 138 return static_cast<CFWL_WidgetImp*>(GetImpl()) | 138 return static_cast<CFWL_WidgetImp*>(GetImpl()) |
| 139 ->DrawWidget(pGraphics, pMatrix); | 139 ->DrawWidget(pGraphics, pMatrix); |
| 140 } | 140 } |
| 141 IFWL_ThemeProvider* IFWL_Widget::GetThemeProvider() { | 141 IFWL_ThemeProvider* IFWL_Widget::GetThemeProvider() { |
| 142 return static_cast<CFWL_WidgetImp*>(GetImpl())->GetThemeProvider(); | 142 return static_cast<CFWL_WidgetImp*>(GetImpl())->GetThemeProvider(); |
| 143 } | 143 } |
| 144 FWL_ERR IFWL_Widget::SetThemeProvider(IFWL_ThemeProvider* pThemeProvider) { | 144 FWL_Error IFWL_Widget::SetThemeProvider(IFWL_ThemeProvider* pThemeProvider) { |
| 145 return static_cast<CFWL_WidgetImp*>(GetImpl()) | 145 return static_cast<CFWL_WidgetImp*>(GetImpl()) |
| 146 ->SetThemeProvider(pThemeProvider); | 146 ->SetThemeProvider(pThemeProvider); |
| 147 } | 147 } |
| 148 FWL_ERR IFWL_Widget::SetDataProvider(IFWL_DataProvider* pDataProvider) { | 148 FWL_Error IFWL_Widget::SetDataProvider(IFWL_DataProvider* pDataProvider) { |
| 149 return static_cast<CFWL_WidgetImp*>(GetImpl()) | 149 return static_cast<CFWL_WidgetImp*>(GetImpl()) |
| 150 ->SetDataProvider(pDataProvider); | 150 ->SetDataProvider(pDataProvider); |
| 151 } | 151 } |
| 152 IFWL_WidgetDelegate* IFWL_Widget::SetDelegate(IFWL_WidgetDelegate* pDelegate) { | 152 IFWL_WidgetDelegate* IFWL_Widget::SetDelegate(IFWL_WidgetDelegate* pDelegate) { |
| 153 return static_cast<CFWL_WidgetImp*>(GetImpl())->SetDelegate(pDelegate); | 153 return static_cast<CFWL_WidgetImp*>(GetImpl())->SetDelegate(pDelegate); |
| 154 } | 154 } |
| 155 IFWL_App* IFWL_Widget::GetOwnerApp() const { | 155 IFWL_App* IFWL_Widget::GetOwnerApp() const { |
| 156 return static_cast<CFWL_WidgetImp*>(GetImpl())->GetOwnerApp(); | 156 return static_cast<CFWL_WidgetImp*>(GetImpl())->GetOwnerApp(); |
| 157 } | 157 } |
| 158 CFX_SizeF IFWL_Widget::GetOffsetFromParent(IFWL_Widget* pParent) { | 158 CFX_SizeF IFWL_Widget::GetOffsetFromParent(IFWL_Widget* pParent) { |
| 159 return static_cast<CFWL_WidgetImp*>(GetImpl())->GetOffsetFromParent(pParent); | 159 return static_cast<CFWL_WidgetImp*>(GetImpl())->GetOffsetFromParent(pParent); |
| 160 } | 160 } |
| 161 | 161 |
| 162 FWL_ERR CFWL_WidgetImp::Initialize() { | 162 FWL_Error CFWL_WidgetImp::Initialize() { |
| 163 IFWL_App* pApp = FWL_GetApp(); | 163 IFWL_App* pApp = FWL_GetApp(); |
| 164 if (!pApp) | 164 if (!pApp) |
| 165 return FWL_ERR_Indefinite; | 165 return FWL_Error::Indefinite; |
| 166 |
| 166 CXFA_FFApp* pAdapter = pApp->GetAdapterNative(); | 167 CXFA_FFApp* pAdapter = pApp->GetAdapterNative(); |
| 167 if (!pAdapter) | 168 if (!pAdapter) |
| 168 return FWL_ERR_Indefinite; | 169 return FWL_Error::Indefinite; |
| 169 | 170 |
| 170 SetOwnerApp(static_cast<CFWL_AppImp*>(FWL_GetApp()->GetImpl())); | 171 SetOwnerApp(static_cast<CFWL_AppImp*>(FWL_GetApp()->GetImpl())); |
| 172 |
| 171 IFWL_Widget* pParent = m_pProperties->m_pParent; | 173 IFWL_Widget* pParent = m_pProperties->m_pParent; |
| 172 m_pWidgetMgr->InsertWidget(pParent, m_pInterface); | 174 m_pWidgetMgr->InsertWidget(pParent, m_pInterface); |
| 173 if (!IsChild()) { | 175 if (!IsChild()) { |
| 174 IFWL_Widget* pOwner = m_pProperties->m_pOwner; | 176 IFWL_Widget* pOwner = m_pProperties->m_pOwner; |
| 175 if (pOwner) | 177 if (pOwner) |
| 176 m_pWidgetMgr->SetOwner(pOwner, m_pInterface); | 178 m_pWidgetMgr->SetOwner(pOwner, m_pInterface); |
| 177 } | 179 } |
| 178 return FWL_ERR_Succeeded; | 180 return FWL_Error::Succeeded; |
| 179 } | 181 } |
| 180 | 182 |
| 181 FWL_ERR CFWL_WidgetImp::Finalize() { | 183 FWL_Error CFWL_WidgetImp::Finalize() { |
| 182 NotifyDriver(); | 184 NotifyDriver(); |
| 183 m_pWidgetMgr->RemoveWidget(m_pInterface); | 185 m_pWidgetMgr->RemoveWidget(m_pInterface); |
| 184 return FWL_ERR_Succeeded; | 186 return FWL_Error::Succeeded; |
| 185 } | 187 } |
| 186 | 188 |
| 187 FWL_ERR CFWL_WidgetImp::GetClassName(CFX_WideString& wsClass) const { | 189 FWL_Error CFWL_WidgetImp::GetClassName(CFX_WideString& wsClass) const { |
| 188 wsClass.clear(); | 190 wsClass.clear(); |
| 189 return FWL_ERR_Succeeded; | 191 return FWL_Error::Succeeded; |
| 190 } | 192 } |
| 191 | 193 |
| 192 uint32_t CFWL_WidgetImp::GetClassID() const { | 194 uint32_t CFWL_WidgetImp::GetClassID() const { |
| 193 return 0; | 195 return 0; |
| 194 } | 196 } |
| 195 | 197 |
| 196 FX_BOOL CFWL_WidgetImp::IsInstance(const CFX_WideStringC& wsClass) const { | 198 FX_BOOL CFWL_WidgetImp::IsInstance(const CFX_WideStringC& wsClass) const { |
| 197 return FALSE; | 199 return FALSE; |
| 198 } | 200 } |
| 199 | 201 |
| 200 FWL_ERR CFWL_WidgetImp::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) { | 202 FWL_Error CFWL_WidgetImp::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) { |
| 201 if (bAutoSize) { | 203 if (bAutoSize) { |
| 202 if (HasEdge()) { | 204 if (HasEdge()) { |
| 203 FX_FLOAT fEdge = GetEdgeWidth(); | 205 FX_FLOAT fEdge = GetEdgeWidth(); |
| 204 rect.Inflate(fEdge, fEdge); | 206 rect.Inflate(fEdge, fEdge); |
| 205 } | 207 } |
| 206 if (HasBorder()) { | 208 if (HasBorder()) { |
| 207 FX_FLOAT fBorder = GetBorderSize(); | 209 FX_FLOAT fBorder = GetBorderSize(); |
| 208 rect.Inflate(fBorder, fBorder); | 210 rect.Inflate(fBorder, fBorder); |
| 209 } | 211 } |
| 210 } else { | 212 } else { |
| 211 rect = m_pProperties->m_rtWidget; | 213 rect = m_pProperties->m_rtWidget; |
| 212 } | 214 } |
| 213 return FWL_ERR_Succeeded; | 215 return FWL_Error::Succeeded; |
| 214 } | 216 } |
| 215 FWL_ERR CFWL_WidgetImp::GetGlobalRect(CFX_RectF& rect) { | 217 FWL_Error CFWL_WidgetImp::GetGlobalRect(CFX_RectF& rect) { |
| 216 IFWL_Widget* pForm = | 218 IFWL_Widget* pForm = |
| 217 m_pWidgetMgr->GetWidget(m_pInterface, FWL_WGTRELATION_SystemForm); | 219 m_pWidgetMgr->GetWidget(m_pInterface, FWL_WGTRELATION_SystemForm); |
| 218 if (!pForm) | 220 if (!pForm) |
| 219 return FWL_ERR_Indefinite; | 221 return FWL_Error::Indefinite; |
| 220 rect.Set(0, 0, m_pProperties->m_rtWidget.width, | 222 rect.Set(0, 0, m_pProperties->m_rtWidget.width, |
| 221 m_pProperties->m_rtWidget.height); | 223 m_pProperties->m_rtWidget.height); |
| 222 if (pForm == m_pInterface) { | 224 if (pForm == m_pInterface) { |
| 223 return FWL_ERR_Succeeded; | 225 return FWL_Error::Succeeded; |
| 224 } | 226 } |
| 225 return TransformTo(pForm, rect); | 227 return TransformTo(pForm, rect); |
| 226 } | 228 } |
| 227 FWL_ERR CFWL_WidgetImp::SetWidgetRect(const CFX_RectF& rect) { | 229 FWL_Error CFWL_WidgetImp::SetWidgetRect(const CFX_RectF& rect) { |
| 228 CFX_RectF rtOld = m_pProperties->m_rtWidget; | 230 CFX_RectF rtOld = m_pProperties->m_rtWidget; |
| 229 m_pProperties->m_rtWidget = rect; | 231 m_pProperties->m_rtWidget = rect; |
| 230 if (IsChild()) { | 232 if (IsChild()) { |
| 231 if (FXSYS_fabs(rtOld.width - rect.width) > 0.5f || | 233 if (FXSYS_fabs(rtOld.width - rect.width) > 0.5f || |
| 232 FXSYS_fabs(rtOld.height - rect.height) > 0.5f) { | 234 FXSYS_fabs(rtOld.height - rect.height) > 0.5f) { |
| 233 CFWL_EvtSizeChanged ev; | 235 CFWL_EvtSizeChanged ev; |
| 234 ev.m_pSrcTarget = m_pInterface; | 236 ev.m_pSrcTarget = m_pInterface; |
| 235 ev.m_rtOld = rtOld; | 237 ev.m_rtOld = rtOld; |
| 236 ev.m_rtNew = rect; | 238 ev.m_rtNew = rect; |
| 237 IFWL_WidgetDelegate* pDelegate = SetDelegate(NULL); | 239 IFWL_WidgetDelegate* pDelegate = SetDelegate(NULL); |
| 238 if (pDelegate) { | 240 if (pDelegate) { |
| 239 pDelegate->OnProcessEvent(&ev); | 241 pDelegate->OnProcessEvent(&ev); |
| 240 } | 242 } |
| 241 } | 243 } |
| 242 return FWL_ERR_Succeeded; | 244 return FWL_Error::Succeeded; |
| 243 } | 245 } |
| 244 m_pWidgetMgr->SetWidgetRect_Native(m_pInterface, rect); | 246 m_pWidgetMgr->SetWidgetRect_Native(m_pInterface, rect); |
| 245 return FWL_ERR_Succeeded; | 247 return FWL_Error::Succeeded; |
| 246 } | 248 } |
| 247 FWL_ERR CFWL_WidgetImp::GetClientRect(CFX_RectF& rect) { | 249 FWL_Error CFWL_WidgetImp::GetClientRect(CFX_RectF& rect) { |
| 248 GetEdgeRect(rect); | 250 GetEdgeRect(rect); |
| 249 if (HasEdge()) { | 251 if (HasEdge()) { |
| 250 FX_FLOAT fEdge = GetEdgeWidth(); | 252 FX_FLOAT fEdge = GetEdgeWidth(); |
| 251 rect.Deflate(fEdge, fEdge); | 253 rect.Deflate(fEdge, fEdge); |
| 252 } | 254 } |
| 253 return FWL_ERR_Succeeded; | 255 return FWL_Error::Succeeded; |
| 254 } | 256 } |
| 255 IFWL_Widget* CFWL_WidgetImp::GetParent() { | 257 IFWL_Widget* CFWL_WidgetImp::GetParent() { |
| 256 return m_pWidgetMgr->GetWidget(m_pInterface, FWL_WGTRELATION_Parent); | 258 return m_pWidgetMgr->GetWidget(m_pInterface, FWL_WGTRELATION_Parent); |
| 257 } | 259 } |
| 258 FWL_ERR CFWL_WidgetImp::SetParent(IFWL_Widget* pParent) { | 260 FWL_Error CFWL_WidgetImp::SetParent(IFWL_Widget* pParent) { |
| 259 m_pProperties->m_pParent = pParent; | 261 m_pProperties->m_pParent = pParent; |
| 260 m_pWidgetMgr->SetParent(pParent, m_pInterface); | 262 m_pWidgetMgr->SetParent(pParent, m_pInterface); |
| 261 return FWL_ERR_Succeeded; | 263 return FWL_Error::Succeeded; |
| 262 } | 264 } |
| 263 IFWL_Widget* CFWL_WidgetImp::GetOwner() { | 265 IFWL_Widget* CFWL_WidgetImp::GetOwner() { |
| 264 return m_pWidgetMgr->GetWidget(m_pInterface, FWL_WGTRELATION_Owner); | 266 return m_pWidgetMgr->GetWidget(m_pInterface, FWL_WGTRELATION_Owner); |
| 265 } | 267 } |
| 266 FWL_ERR CFWL_WidgetImp::SetOwner(IFWL_Widget* pOwner) { | 268 FWL_Error CFWL_WidgetImp::SetOwner(IFWL_Widget* pOwner) { |
| 267 m_pProperties->m_pOwner = pOwner; | 269 m_pProperties->m_pOwner = pOwner; |
| 268 m_pWidgetMgr->SetOwner(pOwner, m_pInterface); | 270 m_pWidgetMgr->SetOwner(pOwner, m_pInterface); |
| 269 return FWL_ERR_Succeeded; | 271 return FWL_Error::Succeeded; |
| 270 } | 272 } |
| 271 IFWL_Widget* CFWL_WidgetImp::GetOuter() { | 273 IFWL_Widget* CFWL_WidgetImp::GetOuter() { |
| 272 return m_pOuter; | 274 return m_pOuter; |
| 273 } | 275 } |
| 274 uint32_t CFWL_WidgetImp::GetStyles() { | 276 uint32_t CFWL_WidgetImp::GetStyles() { |
| 275 return m_pProperties->m_dwStyles; | 277 return m_pProperties->m_dwStyles; |
| 276 } | 278 } |
| 277 FWL_ERR CFWL_WidgetImp::ModifyStyles(uint32_t dwStylesAdded, | 279 FWL_Error CFWL_WidgetImp::ModifyStyles(uint32_t dwStylesAdded, |
| 278 uint32_t dwStylesRemoved) { | 280 uint32_t dwStylesRemoved) { |
| 279 m_pProperties->m_dwStyles = | 281 m_pProperties->m_dwStyles = |
| 280 (m_pProperties->m_dwStyles & ~dwStylesRemoved) | dwStylesAdded; | 282 (m_pProperties->m_dwStyles & ~dwStylesRemoved) | dwStylesAdded; |
| 281 return FWL_ERR_Succeeded; | 283 return FWL_Error::Succeeded; |
| 282 } | 284 } |
| 283 uint32_t CFWL_WidgetImp::GetStylesEx() { | 285 uint32_t CFWL_WidgetImp::GetStylesEx() { |
| 284 return m_pProperties->m_dwStyleExes; | 286 return m_pProperties->m_dwStyleExes; |
| 285 } | 287 } |
| 286 FWL_ERR CFWL_WidgetImp::ModifyStylesEx(uint32_t dwStylesExAdded, | 288 FWL_Error CFWL_WidgetImp::ModifyStylesEx(uint32_t dwStylesExAdded, |
| 287 uint32_t dwStylesExRemoved) { | 289 uint32_t dwStylesExRemoved) { |
| 288 m_pProperties->m_dwStyleExes = | 290 m_pProperties->m_dwStyleExes = |
| 289 (m_pProperties->m_dwStyleExes & ~dwStylesExRemoved) | dwStylesExAdded; | 291 (m_pProperties->m_dwStyleExes & ~dwStylesExRemoved) | dwStylesExAdded; |
| 290 return FWL_ERR_Succeeded; | 292 return FWL_Error::Succeeded; |
| 291 } | 293 } |
| 292 uint32_t CFWL_WidgetImp::GetStates() { | 294 uint32_t CFWL_WidgetImp::GetStates() { |
| 293 return m_pProperties->m_dwStates; | 295 return m_pProperties->m_dwStates; |
| 294 } | 296 } |
| 295 static void NotifyHideChildWidget(IFWL_WidgetMgr* widgetMgr, | 297 static void NotifyHideChildWidget(IFWL_WidgetMgr* widgetMgr, |
| 296 IFWL_Widget* widget, | 298 IFWL_Widget* widget, |
| 297 CFWL_NoteDriver* noteDriver) { | 299 CFWL_NoteDriver* noteDriver) { |
| 298 IFWL_Widget* child = widgetMgr->GetWidget(widget, FWL_WGTRELATION_FirstChild); | 300 IFWL_Widget* child = widgetMgr->GetWidget(widget, FWL_WGTRELATION_FirstChild); |
| 299 while (child) { | 301 while (child) { |
| 300 noteDriver->NotifyTargetHide(child); | 302 noteDriver->NotifyTargetHide(child); |
| 301 NotifyHideChildWidget(widgetMgr, child, noteDriver); | 303 NotifyHideChildWidget(widgetMgr, child, noteDriver); |
| 302 child = widgetMgr->GetWidget(child, FWL_WGTRELATION_NextSibling); | 304 child = widgetMgr->GetWidget(child, FWL_WGTRELATION_NextSibling); |
| 303 } | 305 } |
| 304 } | 306 } |
| 307 |
| 305 void CFWL_WidgetImp::SetStates(uint32_t dwStates, FX_BOOL bSet) { | 308 void CFWL_WidgetImp::SetStates(uint32_t dwStates, FX_BOOL bSet) { |
| 306 bSet ? (m_pProperties->m_dwStates |= dwStates) | 309 bSet ? (m_pProperties->m_dwStates |= dwStates) |
| 307 : (m_pProperties->m_dwStates &= ~dwStates); | 310 : (m_pProperties->m_dwStates &= ~dwStates); |
| 308 if (!(dwStates & FWL_WGTSTATE_Invisible) || !bSet) | 311 if (!(dwStates & FWL_WGTSTATE_Invisible) || !bSet) |
| 309 return; | 312 return; |
| 310 | 313 |
| 311 CFWL_NoteDriver* noteDriver = | 314 CFWL_NoteDriver* noteDriver = |
| 312 static_cast<CFWL_NoteDriver*>(GetOwnerApp()->GetNoteDriver()); | 315 static_cast<CFWL_NoteDriver*>(GetOwnerApp()->GetNoteDriver()); |
| 313 IFWL_WidgetMgr* widgetMgr = FWL_GetWidgetMgr(); | 316 IFWL_WidgetMgr* widgetMgr = FWL_GetWidgetMgr(); |
| 314 noteDriver->NotifyTargetHide(m_pInterface); | 317 noteDriver->NotifyTargetHide(m_pInterface); |
| 315 IFWL_Widget* child = | 318 IFWL_Widget* child = |
| 316 widgetMgr->GetWidget(m_pInterface, FWL_WGTRELATION_FirstChild); | 319 widgetMgr->GetWidget(m_pInterface, FWL_WGTRELATION_FirstChild); |
| 317 while (child) { | 320 while (child) { |
| 318 noteDriver->NotifyTargetHide(child); | 321 noteDriver->NotifyTargetHide(child); |
| 319 NotifyHideChildWidget(widgetMgr, child, noteDriver); | 322 NotifyHideChildWidget(widgetMgr, child, noteDriver); |
| 320 child = widgetMgr->GetWidget(child, FWL_WGTRELATION_NextSibling); | 323 child = widgetMgr->GetWidget(child, FWL_WGTRELATION_NextSibling); |
| 321 } | 324 } |
| 322 return; | 325 return; |
| 323 } | 326 } |
| 324 FWL_ERR CFWL_WidgetImp::SetPrivateData(void* module_id, | 327 FWL_Error CFWL_WidgetImp::SetPrivateData(void* module_id, |
| 325 void* pData, | 328 void* pData, |
| 326 PD_CALLBACK_FREEDATA callback) { | 329 PD_CALLBACK_FREEDATA callback) { |
| 327 if (!m_pPrivateData) { | 330 if (!m_pPrivateData) { |
| 328 m_pPrivateData = new CFX_PrivateData; | 331 m_pPrivateData = new CFX_PrivateData; |
| 329 } | 332 } |
| 330 m_pPrivateData->SetPrivateData(module_id, pData, callback); | 333 m_pPrivateData->SetPrivateData(module_id, pData, callback); |
| 331 return FWL_ERR_Succeeded; | 334 return FWL_Error::Succeeded; |
| 332 } | 335 } |
| 333 void* CFWL_WidgetImp::GetPrivateData(void* module_id) { | 336 void* CFWL_WidgetImp::GetPrivateData(void* module_id) { |
| 334 if (!m_pPrivateData) | 337 if (!m_pPrivateData) |
| 335 return NULL; | 338 return NULL; |
| 336 return m_pPrivateData->GetPrivateData(module_id); | 339 return m_pPrivateData->GetPrivateData(module_id); |
| 337 } | 340 } |
| 338 FWL_ERR CFWL_WidgetImp::Update() { | 341 FWL_Error CFWL_WidgetImp::Update() { |
| 339 return FWL_ERR_Succeeded; | 342 return FWL_Error::Succeeded; |
| 340 } | 343 } |
| 341 FWL_ERR CFWL_WidgetImp::LockUpdate() { | 344 FWL_Error CFWL_WidgetImp::LockUpdate() { |
| 342 m_iLock++; | 345 m_iLock++; |
| 343 return FWL_ERR_Succeeded; | 346 return FWL_Error::Succeeded; |
| 344 } | 347 } |
| 345 FWL_ERR CFWL_WidgetImp::UnlockUpdate() { | 348 FWL_Error CFWL_WidgetImp::UnlockUpdate() { |
| 346 if (IsLocked()) { | 349 if (IsLocked()) { |
| 347 m_iLock--; | 350 m_iLock--; |
| 348 } | 351 } |
| 349 return FWL_ERR_Succeeded; | 352 return FWL_Error::Succeeded; |
| 350 } | 353 } |
| 351 FWL_WidgetHit CFWL_WidgetImp::HitTest(FX_FLOAT fx, FX_FLOAT fy) { | 354 FWL_WidgetHit CFWL_WidgetImp::HitTest(FX_FLOAT fx, FX_FLOAT fy) { |
| 352 CFX_RectF rtClient; | 355 CFX_RectF rtClient; |
| 353 GetClientRect(rtClient); | 356 GetClientRect(rtClient); |
| 354 if (rtClient.Contains(fx, fy)) | 357 if (rtClient.Contains(fx, fy)) |
| 355 return FWL_WidgetHit::Client; | 358 return FWL_WidgetHit::Client; |
| 356 if (HasEdge()) { | 359 if (HasEdge()) { |
| 357 CFX_RectF rtEdge; | 360 CFX_RectF rtEdge; |
| 358 GetEdgeRect(rtEdge); | 361 GetEdgeRect(rtEdge); |
| 359 if (rtEdge.Contains(fx, fy)) | 362 if (rtEdge.Contains(fx, fy)) |
| 360 return FWL_WidgetHit::Edge; | 363 return FWL_WidgetHit::Edge; |
| 361 } | 364 } |
| 362 if (HasBorder()) { | 365 if (HasBorder()) { |
| 363 CFX_RectF rtRelative; | 366 CFX_RectF rtRelative; |
| 364 GetRelativeRect(rtRelative); | 367 GetRelativeRect(rtRelative); |
| 365 if (rtRelative.Contains(fx, fy)) | 368 if (rtRelative.Contains(fx, fy)) |
| 366 return FWL_WidgetHit::Border; | 369 return FWL_WidgetHit::Border; |
| 367 } | 370 } |
| 368 return FWL_WidgetHit::Unknown; | 371 return FWL_WidgetHit::Unknown; |
| 369 } | 372 } |
| 370 FWL_ERR CFWL_WidgetImp::TransformTo(IFWL_Widget* pWidget, | 373 FWL_Error CFWL_WidgetImp::TransformTo(IFWL_Widget* pWidget, |
| 371 FX_FLOAT& fx, | 374 FX_FLOAT& fx, |
| 372 FX_FLOAT& fy) { | 375 FX_FLOAT& fy) { |
| 373 if (m_pWidgetMgr->IsFormDisabled()) { | 376 if (m_pWidgetMgr->IsFormDisabled()) { |
| 374 CFX_SizeF szOffset; | 377 CFX_SizeF szOffset; |
| 375 if (IsParent(pWidget)) { | 378 if (IsParent(pWidget)) { |
| 376 szOffset = GetOffsetFromParent(pWidget); | 379 szOffset = GetOffsetFromParent(pWidget); |
| 377 } else { | 380 } else { |
| 378 szOffset = pWidget->GetOffsetFromParent(m_pInterface); | 381 szOffset = pWidget->GetOffsetFromParent(m_pInterface); |
| 379 szOffset.x = -szOffset.x; | 382 szOffset.x = -szOffset.x; |
| 380 szOffset.y = -szOffset.y; | 383 szOffset.y = -szOffset.y; |
| 381 } | 384 } |
| 382 fx += szOffset.x; | 385 fx += szOffset.x; |
| 383 fy += szOffset.y; | 386 fy += szOffset.y; |
| 384 return FWL_ERR_Succeeded; | 387 return FWL_Error::Succeeded; |
| 385 } | 388 } |
| 386 CFX_RectF r; | 389 CFX_RectF r; |
| 387 CFX_Matrix m; | 390 CFX_Matrix m; |
| 388 IFWL_Widget* parent = GetParent(); | 391 IFWL_Widget* parent = GetParent(); |
| 389 if (parent) { | 392 if (parent) { |
| 390 GetWidgetRect(r); | 393 GetWidgetRect(r); |
| 391 fx += r.left; | 394 fx += r.left; |
| 392 fy += r.top; | 395 fy += r.top; |
| 393 GetMatrix(m, TRUE); | 396 GetMatrix(m, TRUE); |
| 394 m.TransformPoint(fx, fy); | 397 m.TransformPoint(fx, fy); |
| 395 } | 398 } |
| 396 IFWL_Widget* form1 = | 399 IFWL_Widget* form1 = |
| 397 m_pWidgetMgr->GetWidget(m_pInterface, FWL_WGTRELATION_SystemForm); | 400 m_pWidgetMgr->GetWidget(m_pInterface, FWL_WGTRELATION_SystemForm); |
| 398 if (!form1) | 401 if (!form1) |
| 399 return FWL_ERR_Indefinite; | 402 return FWL_Error::Indefinite; |
| 400 if (!pWidget) { | 403 if (!pWidget) { |
| 401 form1->GetWidgetRect(r); | 404 form1->GetWidgetRect(r); |
| 402 fx += r.left; | 405 fx += r.left; |
| 403 fy += r.top; | 406 fy += r.top; |
| 404 return FWL_ERR_Succeeded; | 407 return FWL_Error::Succeeded; |
| 405 } | 408 } |
| 406 IFWL_Widget* form2 = | 409 IFWL_Widget* form2 = |
| 407 m_pWidgetMgr->GetWidget(pWidget, FWL_WGTRELATION_SystemForm); | 410 m_pWidgetMgr->GetWidget(pWidget, FWL_WGTRELATION_SystemForm); |
| 408 if (!form2) | 411 if (!form2) |
| 409 return FWL_ERR_Indefinite; | 412 return FWL_Error::Indefinite; |
| 410 if (form1 != form2) { | 413 if (form1 != form2) { |
| 411 form1->GetWidgetRect(r); | 414 form1->GetWidgetRect(r); |
| 412 fx += r.left; | 415 fx += r.left; |
| 413 fy += r.top; | 416 fy += r.top; |
| 414 form2->GetWidgetRect(r); | 417 form2->GetWidgetRect(r); |
| 415 fx -= r.left; | 418 fx -= r.left; |
| 416 fy -= r.top; | 419 fy -= r.top; |
| 417 } | 420 } |
| 418 parent = pWidget->GetParent(); | 421 parent = pWidget->GetParent(); |
| 419 if (parent) { | 422 if (parent) { |
| 420 pWidget->GetMatrix(m, TRUE); | 423 pWidget->GetMatrix(m, TRUE); |
| 421 CFX_Matrix m1; | 424 CFX_Matrix m1; |
| 422 m1.SetIdentity(); | 425 m1.SetIdentity(); |
| 423 m1.SetReverse(m); | 426 m1.SetReverse(m); |
| 424 m1.TransformPoint(fx, fy); | 427 m1.TransformPoint(fx, fy); |
| 425 pWidget->GetWidgetRect(r); | 428 pWidget->GetWidgetRect(r); |
| 426 fx -= r.left; | 429 fx -= r.left; |
| 427 fy -= r.top; | 430 fy -= r.top; |
| 428 } | 431 } |
| 429 return FWL_ERR_Succeeded; | 432 return FWL_Error::Succeeded; |
| 430 } | 433 } |
| 431 FWL_ERR CFWL_WidgetImp::TransformTo(IFWL_Widget* pWidget, CFX_RectF& rt) { | 434 FWL_Error CFWL_WidgetImp::TransformTo(IFWL_Widget* pWidget, CFX_RectF& rt) { |
| 432 return TransformTo(pWidget, rt.left, rt.top); | 435 return TransformTo(pWidget, rt.left, rt.top); |
| 433 } | 436 } |
| 434 FWL_ERR CFWL_WidgetImp::GetMatrix(CFX_Matrix& matrix, FX_BOOL bGlobal) { | 437 FWL_Error CFWL_WidgetImp::GetMatrix(CFX_Matrix& matrix, FX_BOOL bGlobal) { |
| 435 if (!m_pProperties) | 438 if (!m_pProperties) |
| 436 return FWL_ERR_Indefinite; | 439 return FWL_Error::Indefinite; |
| 437 if (bGlobal) { | 440 if (bGlobal) { |
| 438 IFWL_Widget* parent = GetParent(); | 441 IFWL_Widget* parent = GetParent(); |
| 439 CFX_ArrayTemplate<IFWL_Widget*> parents; | 442 CFX_ArrayTemplate<IFWL_Widget*> parents; |
| 440 while (parent) { | 443 while (parent) { |
| 441 parents.Add(parent); | 444 parents.Add(parent); |
| 442 parent = parent->GetParent(); | 445 parent = parent->GetParent(); |
| 443 } | 446 } |
| 444 matrix.SetIdentity(); | 447 matrix.SetIdentity(); |
| 445 CFX_Matrix ctmOnParent; | 448 CFX_Matrix ctmOnParent; |
| 446 CFX_RectF rect; | 449 CFX_RectF rect; |
| 447 int32_t count = parents.GetSize(); | 450 int32_t count = parents.GetSize(); |
| 448 for (int32_t i = count - 2; i >= 0; i--) { | 451 for (int32_t i = count - 2; i >= 0; i--) { |
| 449 parent = parents.GetAt(i); | 452 parent = parents.GetAt(i); |
| 450 parent->GetMatrix(ctmOnParent, FALSE); | 453 parent->GetMatrix(ctmOnParent, FALSE); |
| 451 parent->GetWidgetRect(rect); | 454 parent->GetWidgetRect(rect); |
| 452 matrix.Concat(ctmOnParent, TRUE); | 455 matrix.Concat(ctmOnParent, TRUE); |
| 453 matrix.Translate(rect.left, rect.top, TRUE); | 456 matrix.Translate(rect.left, rect.top, TRUE); |
| 454 } | 457 } |
| 455 matrix.Concat(m_pProperties->m_ctmOnParent, TRUE); | 458 matrix.Concat(m_pProperties->m_ctmOnParent, TRUE); |
| 456 parents.RemoveAll(); | 459 parents.RemoveAll(); |
| 457 } else { | 460 } else { |
| 458 matrix = m_pProperties->m_ctmOnParent; | 461 matrix = m_pProperties->m_ctmOnParent; |
| 459 } | 462 } |
| 460 return FWL_ERR_Succeeded; | 463 return FWL_Error::Succeeded; |
| 461 } | 464 } |
| 462 FWL_ERR CFWL_WidgetImp::SetMatrix(const CFX_Matrix& matrix) { | 465 FWL_Error CFWL_WidgetImp::SetMatrix(const CFX_Matrix& matrix) { |
| 463 if (!m_pProperties) | 466 if (!m_pProperties) |
| 464 return FWL_ERR_Indefinite; | 467 return FWL_Error::Indefinite; |
| 465 IFWL_Widget* parent = GetParent(); | 468 IFWL_Widget* parent = GetParent(); |
| 466 if (!parent) { | 469 if (!parent) { |
| 467 return FWL_ERR_Indefinite; | 470 return FWL_Error::Indefinite; |
| 468 } | 471 } |
| 469 m_pProperties->m_ctmOnParent = matrix; | 472 m_pProperties->m_ctmOnParent = matrix; |
| 470 return FWL_ERR_Succeeded; | 473 return FWL_Error::Succeeded; |
| 471 } | 474 } |
| 472 FWL_ERR CFWL_WidgetImp::DrawWidget(CFX_Graphics* pGraphics, | 475 FWL_Error CFWL_WidgetImp::DrawWidget(CFX_Graphics* pGraphics, |
| 473 const CFX_Matrix* pMatrix) { | 476 const CFX_Matrix* pMatrix) { |
| 474 return FWL_ERR_Indefinite; | 477 return FWL_Error::Indefinite; |
| 475 } | 478 } |
| 476 IFWL_ThemeProvider* CFWL_WidgetImp::GetThemeProvider() { | 479 IFWL_ThemeProvider* CFWL_WidgetImp::GetThemeProvider() { |
| 477 return m_pProperties->m_pThemeProvider; | 480 return m_pProperties->m_pThemeProvider; |
| 478 } | 481 } |
| 479 FWL_ERR CFWL_WidgetImp::SetThemeProvider(IFWL_ThemeProvider* pThemeProvider) { | 482 FWL_Error CFWL_WidgetImp::SetThemeProvider(IFWL_ThemeProvider* pThemeProvider) { |
| 480 m_pProperties->m_pThemeProvider = pThemeProvider; | 483 m_pProperties->m_pThemeProvider = pThemeProvider; |
| 481 return FWL_ERR_Succeeded; | 484 return FWL_Error::Succeeded; |
| 482 } | 485 } |
| 483 FWL_ERR CFWL_WidgetImp::SetDataProvider(IFWL_DataProvider* pDataProvider) { | 486 FWL_Error CFWL_WidgetImp::SetDataProvider(IFWL_DataProvider* pDataProvider) { |
| 484 m_pProperties->m_pDataProvider = pDataProvider; | 487 m_pProperties->m_pDataProvider = pDataProvider; |
| 485 return FWL_ERR_Succeeded; | 488 return FWL_Error::Succeeded; |
| 486 } | 489 } |
| 487 IFWL_WidgetDelegate* CFWL_WidgetImp::SetDelegate( | 490 IFWL_WidgetDelegate* CFWL_WidgetImp::SetDelegate( |
| 488 IFWL_WidgetDelegate* pDelegate) { | 491 IFWL_WidgetDelegate* pDelegate) { |
| 489 if (!m_pCurDelegate) { | 492 if (!m_pCurDelegate) { |
| 490 m_pCurDelegate = m_pDelegate; | 493 m_pCurDelegate = m_pDelegate; |
| 491 } | 494 } |
| 492 if (!pDelegate) { | 495 if (!pDelegate) { |
| 493 return m_pCurDelegate; | 496 return m_pCurDelegate; |
| 494 } | 497 } |
| 495 IFWL_WidgetDelegate* pOldDelegate = m_pCurDelegate; | 498 IFWL_WidgetDelegate* pOldDelegate = m_pCurDelegate; |
| 496 m_pCurDelegate = pDelegate; | 499 m_pCurDelegate = pDelegate; |
| 497 return pOldDelegate; | 500 return pOldDelegate; |
| 498 } | 501 } |
| 499 IFWL_App* CFWL_WidgetImp::GetOwnerApp() const { | 502 IFWL_App* CFWL_WidgetImp::GetOwnerApp() const { |
| 500 return static_cast<IFWL_App*>(m_pOwnerApp->GetInterface()); | 503 return static_cast<IFWL_App*>(m_pOwnerApp->GetInterface()); |
| 501 } | 504 } |
| 502 FWL_ERR CFWL_WidgetImp::SetOwnerApp(CFWL_AppImp* pOwnerApp) { | 505 FWL_Error CFWL_WidgetImp::SetOwnerApp(CFWL_AppImp* pOwnerApp) { |
| 503 m_pOwnerApp = pOwnerApp; | 506 m_pOwnerApp = pOwnerApp; |
| 504 return FWL_ERR_Succeeded; | 507 return FWL_Error::Succeeded; |
| 505 } | 508 } |
| 506 IFWL_Widget* CFWL_WidgetImp::GetInterface() const { | 509 IFWL_Widget* CFWL_WidgetImp::GetInterface() const { |
| 507 return m_pInterface; | 510 return m_pInterface; |
| 508 } | 511 } |
| 509 void CFWL_WidgetImp::SetInterface(IFWL_Widget* pInterface) { | 512 void CFWL_WidgetImp::SetInterface(IFWL_Widget* pInterface) { |
| 510 m_pInterface = pInterface; | 513 m_pInterface = pInterface; |
| 511 } | 514 } |
| 512 CFWL_WidgetImp::CFWL_WidgetImp(const CFWL_WidgetImpProperties& properties, | 515 CFWL_WidgetImp::CFWL_WidgetImp(const CFWL_WidgetImpProperties& properties, |
| 513 IFWL_Widget* pOuter) | 516 IFWL_Widget* pOuter) |
| 514 : m_pProperties(new CFWL_WidgetImpProperties), | 517 : m_pProperties(new CFWL_WidgetImpProperties), |
| (...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 956 while (pUpWidget) { | 959 while (pUpWidget) { |
| 957 if (pUpWidget == pParent) | 960 if (pUpWidget == pParent) |
| 958 return TRUE; | 961 return TRUE; |
| 959 pUpWidget = pUpWidget->GetParent(); | 962 pUpWidget = pUpWidget->GetParent(); |
| 960 } | 963 } |
| 961 return FALSE; | 964 return FALSE; |
| 962 } | 965 } |
| 963 | 966 |
| 964 CFWL_WidgetImpDelegate::CFWL_WidgetImpDelegate() {} | 967 CFWL_WidgetImpDelegate::CFWL_WidgetImpDelegate() {} |
| 965 | 968 |
| 966 int32_t CFWL_WidgetImpDelegate::OnProcessMessage(CFWL_Message* pMessage) { | 969 void CFWL_WidgetImpDelegate::OnProcessMessage(CFWL_Message* pMessage) { |
| 967 if (!pMessage->m_pDstTarget) | 970 if (!pMessage->m_pDstTarget) |
| 968 return 0; | 971 return; |
| 969 | 972 |
| 970 CFWL_WidgetImp* pWidget = | 973 CFWL_WidgetImp* pWidget = |
| 971 static_cast<CFWL_WidgetImp*>(pMessage->m_pDstTarget->GetImpl()); | 974 static_cast<CFWL_WidgetImp*>(pMessage->m_pDstTarget->GetImpl()); |
| 972 CFWL_MessageType dwMsgCode = pMessage->GetClassID(); | 975 CFWL_MessageType dwMsgCode = pMessage->GetClassID(); |
| 973 switch (dwMsgCode) { | 976 switch (dwMsgCode) { |
| 974 case CFWL_MessageType::Mouse: { | 977 case CFWL_MessageType::Mouse: { |
| 975 CFWL_MsgMouse* pMsgMouse = static_cast<CFWL_MsgMouse*>(pMessage); | 978 CFWL_MsgMouse* pMsgMouse = static_cast<CFWL_MsgMouse*>(pMessage); |
| 976 CFWL_EvtMouse evt; | 979 CFWL_EvtMouse evt; |
| 977 evt.m_pSrcTarget = pWidget->m_pInterface; | 980 evt.m_pSrcTarget = pWidget->m_pInterface; |
| 978 evt.m_pDstTarget = pWidget->m_pInterface; | 981 evt.m_pDstTarget = pWidget->m_pInterface; |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1023 CFWL_EvtKillFocus evt; | 1026 CFWL_EvtKillFocus evt; |
| 1024 evt.m_pSrcTarget = pMsgKillFocus->m_pDstTarget; | 1027 evt.m_pSrcTarget = pMsgKillFocus->m_pDstTarget; |
| 1025 evt.m_pDstTarget = pMsgKillFocus->m_pDstTarget; | 1028 evt.m_pDstTarget = pMsgKillFocus->m_pDstTarget; |
| 1026 evt.m_pKillFocus = pWidget->m_pInterface; | 1029 evt.m_pKillFocus = pWidget->m_pInterface; |
| 1027 pWidget->DispatchEvent(&evt); | 1030 pWidget->DispatchEvent(&evt); |
| 1028 break; | 1031 break; |
| 1029 } | 1032 } |
| 1030 default: | 1033 default: |
| 1031 break; | 1034 break; |
| 1032 } | 1035 } |
| 1033 return 1; | |
| 1034 } | 1036 } |
| 1035 | 1037 |
| 1036 FWL_ERR CFWL_WidgetImpDelegate::OnProcessEvent(CFWL_Event* pEvent) { | 1038 void CFWL_WidgetImpDelegate::OnProcessEvent(CFWL_Event* pEvent) {} |
| 1037 return FWL_ERR_Succeeded; | |
| 1038 } | |
| 1039 | 1039 |
| 1040 FWL_ERR CFWL_WidgetImpDelegate::OnDrawWidget(CFX_Graphics* pGraphics, | 1040 void CFWL_WidgetImpDelegate::OnDrawWidget(CFX_Graphics* pGraphics, |
| 1041 const CFX_Matrix* pMatrix) { | 1041 const CFX_Matrix* pMatrix) { |
| 1042 CFWL_EvtDraw evt; | 1042 CFWL_EvtDraw evt; |
| 1043 evt.m_pGraphics = pGraphics; | 1043 evt.m_pGraphics = pGraphics; |
| 1044 return FWL_ERR_Succeeded; | |
| 1045 } | 1044 } |
| OLD | NEW |