diff options
Diffstat (limited to 'fpdfsdk')
-rw-r--r-- | fpdfsdk/cpdfsdk_widget.cpp | 20 | ||||
-rw-r--r-- | fpdfsdk/pwl/cpwl_appstream.cpp | 15 |
2 files changed, 19 insertions, 16 deletions
diff --git a/fpdfsdk/cpdfsdk_widget.cpp b/fpdfsdk/cpdfsdk_widget.cpp index f7aae09933..d2d8ecb148 100644 --- a/fpdfsdk/cpdfsdk_widget.cpp +++ b/fpdfsdk/cpdfsdk_widget.cpp @@ -431,14 +431,14 @@ bool CPDFSDK_Widget::GetBorderColor(FX_COLORREF& color) const { bool CPDFSDK_Widget::GetTextColor(FX_COLORREF& color) const { CPDF_FormControl* pFormCtrl = GetFormControl(); CPDF_DefaultAppearance da = pFormCtrl->GetDefaultAppearance(); - if (!da.HasColor()) - return false; - FX_ARGB argb; - int iColorType; + Optional<CFX_Color::Type> iColorType; std::tie(iColorType, argb) = da.GetColor(); + if (!iColorType) + return false; + color = ArgbToColorRef(argb); - return iColorType != CFX_Color::kTransparent; + return *iColorType != CFX_Color::kTransparent; } float CPDFSDK_Widget::GetFontSize() const { @@ -779,11 +779,11 @@ CFX_Color CPDFSDK_Widget::GetTextPWLColor() const { CPDF_FormControl* pFormCtrl = GetFormControl(); CPDF_DefaultAppearance da = pFormCtrl->GetDefaultAppearance(); - if (da.HasColor()) { - float fc[4]; - int iColorType = da.GetColor(fc); - crText = CFX_Color(iColorType, fc[0], fc[1], fc[2], fc[3]); - } + + float fc[4]; + Optional<CFX_Color::Type> iColorType = da.GetColor(fc); + if (iColorType) + crText = CFX_Color(*iColorType, fc[0], fc[1], fc[2], fc[3]); return crText; } diff --git a/fpdfsdk/pwl/cpwl_appstream.cpp b/fpdfsdk/pwl/cpwl_appstream.cpp index 6e65831627..cbe6501a32 100644 --- a/fpdfsdk/pwl/cpwl_appstream.cpp +++ b/fpdfsdk/pwl/cpwl_appstream.cpp @@ -1180,8 +1180,9 @@ void CPWL_AppStream::SetAsPushButton() { CFX_Color crText(CFX_Color::kGray, 0); ByteString csNameTag; CPDF_DefaultAppearance da = pControl->GetDefaultAppearance(); - if (da.HasColor()) { - iColorType = da.GetColor(fc); + Optional<CFX_Color::Type> color = da.GetColor(fc); + if (color) { + iColorType = *color; crText = CFX_Color(iColorType, fc[0], fc[1], fc[2], fc[3]); } @@ -1358,8 +1359,9 @@ void CPWL_AppStream::SetAsCheckBox() { CFX_FloatRect rcWindow = widget_->GetRotatedRect(); CFX_FloatRect rcClient = rcWindow.GetDeflated(fBorderWidth, fBorderWidth); CPDF_DefaultAppearance da = pControl->GetDefaultAppearance(); - if (da.HasColor()) { - iColorType = da.GetColor(fc); + Optional<CFX_Color::Type> color = da.GetColor(fc); + if (color) { + iColorType = *color; crText = CFX_Color(iColorType, fc[0], fc[1], fc[2], fc[3]); } @@ -1474,8 +1476,9 @@ void CPWL_AppStream::SetAsRadioButton() { CFX_FloatRect rcWindow = widget_->GetRotatedRect(); CFX_FloatRect rcClient = rcWindow.GetDeflated(fBorderWidth, fBorderWidth); CPDF_DefaultAppearance da = pControl->GetDefaultAppearance(); - if (da.HasColor()) { - iColorType = da.GetColor(fc); + Optional<CFX_Color::Type> color = da.GetColor(fc); + if (color) { + iColorType = *color; crText = CFX_Color(iColorType, fc[0], fc[1], fc[2], fc[3]); } |