1 // Copyright 2017 PDFium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6 7 #ifndef FPDFSDK_PDFWINDOW_CPWL_COLOR_H_ 8 #define FPDFSDK_PDFWINDOW_CPWL_COLOR_H_ 9 10 #include "core/fpdfdoc/cpdf_formcontrol.h" 11 12 struct CPWL_Color { 13 CPWL_Color(int32_t type = COLORTYPE_TRANSPARENT, 14 FX_FLOAT color1 = 0.0f, 15 FX_FLOAT color2 = 0.0f, 16 FX_FLOAT color3 = 0.0f, 17 FX_FLOAT color4 = 0.0f) nColorTypeCPWL_Color18 : nColorType(type), 19 fColor1(color1), 20 fColor2(color2), 21 fColor3(color3), 22 fColor4(color4) {} 23 CPWL_ColorCPWL_Color24 CPWL_Color(int32_t r, int32_t g, int32_t b) 25 : nColorType(COLORTYPE_RGB), 26 fColor1(r / 255.0f), 27 fColor2(g / 255.0f), 28 fColor3(b / 255.0f), 29 fColor4(0) {} 30 31 CPWL_Color operator/(FX_FLOAT fColorDivide) const; 32 CPWL_Color operator-(FX_FLOAT fColorSub) const; 33 34 CPWL_Color ConvertColorType(int32_t other_nColorType) const; 35 36 FX_COLORREF ToFXColor(int32_t nTransparency) const; 37 ResetCPWL_Color38 void Reset() { 39 nColorType = COLORTYPE_TRANSPARENT; 40 fColor1 = 0.0f; 41 fColor2 = 0.0f; 42 fColor3 = 0.0f; 43 fColor4 = 0.0f; 44 } 45 46 int32_t nColorType; 47 FX_FLOAT fColor1; 48 FX_FLOAT fColor2; 49 FX_FLOAT fColor3; 50 FX_FLOAT fColor4; 51 }; 52 53 #endif // FPDFSDK_PDFWINDOW_CPWL_COLOR_H_ 54