Index: xfa/fwl/theme/cfwl_arrowdata.cpp |
diff --git a/xfa/fwl/theme/cfwl_arrowdata.cpp b/xfa/fwl/theme/cfwl_arrowdata.cpp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..16580f7f9c3836a9eeb383b03ef828bead0a945f |
--- /dev/null |
+++ b/xfa/fwl/theme/cfwl_arrowdata.cpp |
@@ -0,0 +1,73 @@ |
+// Copyright 2016 PDFium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
+ |
+#include "xfa/fwl/theme/cfwl_arrowdata.h" |
+ |
+#include <algorithm> |
+ |
+namespace { |
+ |
+CFWL_ArrowData* g_pInstance = nullptr; |
+ |
+} // namespace |
+ |
+CFWL_ArrowData* CFWL_ArrowData::GetInstance() { |
+ if (!g_pInstance) |
+ g_pInstance = new CFWL_ArrowData; |
+ return g_pInstance; |
+} |
+ |
+FX_BOOL CFWL_ArrowData::HasInstance() { |
+ return !!g_pInstance; |
+} |
+ |
+void CFWL_ArrowData::DestroyInstance() { |
+ delete g_pInstance; |
+ g_pInstance = nullptr; |
+} |
+ |
+CFWL_ArrowData::~CFWL_ArrowData() {} |
+ |
+void CFWL_ArrowData::SetColorData(uint32_t dwID) { |
+ if (!m_pColorData) |
+ m_pColorData.reset(new CColorData); |
+ |
+ if (dwID) { |
+ m_pColorData->clrBorder[0] = ArgbEncode(255, 142, 153, 125); |
+ m_pColorData->clrBorder[1] = ArgbEncode(255, 157, 171, 119); |
+ m_pColorData->clrBorder[2] = ArgbEncode(255, 118, 131, 97); |
+ m_pColorData->clrBorder[3] = ArgbEncode(255, 172, 168, 153); |
+ m_pColorData->clrStart[0] = ArgbEncode(255, 203, 215, 186); |
+ m_pColorData->clrStart[1] = ArgbEncode(255, 218, 232, 185); |
+ m_pColorData->clrStart[2] = ArgbEncode(255, 203, 215, 186); |
+ m_pColorData->clrStart[3] = ArgbEncode(255, 254, 254, 251); |
+ m_pColorData->clrEnd[0] = ArgbEncode(255, 149, 167, 117); |
+ m_pColorData->clrEnd[1] = ArgbEncode(255, 198, 211, 155); |
+ m_pColorData->clrEnd[2] = ArgbEncode(255, 149, 167, 117); |
+ m_pColorData->clrEnd[3] = ArgbEncode(255, 243, 241, 236); |
+ m_pColorData->clrSign[0] = ArgbEncode(255, 255, 255, 255); |
+ m_pColorData->clrSign[1] = ArgbEncode(255, 255, 255, 255); |
+ m_pColorData->clrSign[2] = ArgbEncode(255, 255, 255, 255); |
+ m_pColorData->clrSign[3] = ArgbEncode(255, 128, 128, 128); |
+ } else { |
+ m_pColorData->clrBorder[0] = ArgbEncode(255, 202, 216, 249); |
+ m_pColorData->clrBorder[1] = ArgbEncode(255, 171, 190, 233); |
+ m_pColorData->clrBorder[2] = ArgbEncode(255, 135, 147, 219); |
+ m_pColorData->clrBorder[3] = ArgbEncode(255, 172, 168, 153); |
+ m_pColorData->clrStart[0] = ArgbEncode(255, 225, 234, 254); |
+ m_pColorData->clrStart[1] = ArgbEncode(255, 253, 255, 255); |
+ m_pColorData->clrStart[2] = ArgbEncode(255, 110, 142, 241); |
+ m_pColorData->clrStart[3] = ArgbEncode(255, 254, 254, 251); |
+ m_pColorData->clrEnd[0] = ArgbEncode(255, 175, 204, 251); |
+ m_pColorData->clrEnd[1] = ArgbEncode(255, 185, 218, 251); |
+ m_pColorData->clrEnd[2] = ArgbEncode(255, 210, 222, 235); |
+ m_pColorData->clrEnd[3] = ArgbEncode(255, 243, 241, 236); |
+ m_pColorData->clrSign[0] = ArgbEncode(255, 77, 97, 133); |
+ m_pColorData->clrSign[1] = ArgbEncode(255, 77, 97, 133); |
+ m_pColorData->clrSign[2] = ArgbEncode(255, 77, 97, 133); |
+ m_pColorData->clrSign[3] = ArgbEncode(255, 128, 128, 128); |
+ } |
+} |