• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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