From 7def3de1d026a7e99017113d0f17556a3130eba5 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Mon, 20 Aug 2018 23:17:06 +0000 Subject: Use UnownedPtr<> in CXFA_GEColor. Small size penalty in removing the union, but unions can lead to type errors. Change-Id: I8ff9fd63b1f87d05df18db17edbaf770226e1252 Reviewed-on: https://pdfium-review.googlesource.com/40790 Reviewed-by: Tom Sepez Reviewed-by: Lei Zhang Commit-Queue: Tom Sepez --- xfa/fxgraphics/cxfa_gecolor.cpp | 45 +++++++++-------------------------------- 1 file changed, 10 insertions(+), 35 deletions(-) (limited to 'xfa/fxgraphics/cxfa_gecolor.cpp') diff --git a/xfa/fxgraphics/cxfa_gecolor.cpp b/xfa/fxgraphics/cxfa_gecolor.cpp index b0dc661986..93d7565117 100644 --- a/xfa/fxgraphics/cxfa_gecolor.cpp +++ b/xfa/fxgraphics/cxfa_gecolor.cpp @@ -6,43 +6,18 @@ #include "xfa/fxgraphics/cxfa_gecolor.h" -CXFA_GEColor::CXFA_GEColor() : m_type(Invalid) {} +CXFA_GEColor::CXFA_GEColor() = default; -CXFA_GEColor::CXFA_GEColor(const FX_ARGB argb) : m_type(Solid), m_argb(argb) { - m_pointer.pattern = nullptr; -} +CXFA_GEColor::CXFA_GEColor(const FX_ARGB argb) : m_type(Solid), m_argb(argb) {} CXFA_GEColor::CXFA_GEColor(CXFA_GEPattern* pattern, const FX_ARGB argb) - : m_type(Pattern), m_argb(argb) { - m_pointer.pattern = pattern; -} + : m_type(Pattern), m_argb(argb), m_pPattern(pattern) {} CXFA_GEColor::CXFA_GEColor(CXFA_GEShading* shading) - : m_type(Shading), m_argb(0) { - m_pointer.shading = shading; -} - -CXFA_GEColor::~CXFA_GEColor() {} - -CXFA_GEColor& CXFA_GEColor::operator=(const CXFA_GEColor& that) { - if (this != &that) { - m_type = that.m_type; - switch (m_type) { - case Solid: - m_argb = that.m_argb; - m_pointer.pattern = nullptr; - break; - case Pattern: - m_argb = that.m_argb; - m_pointer.pattern = that.m_pointer.pattern; - break; - case Shading: - m_argb = 0; - m_pointer.shading = that.m_pointer.shading; - break; - default: - break; - } - } - return *this; -} + : m_type(Shading), m_pShading(shading) {} + +CXFA_GEColor::CXFA_GEColor(const CXFA_GEColor& that) = default; + +CXFA_GEColor::~CXFA_GEColor() = default; + +CXFA_GEColor& CXFA_GEColor::operator=(const CXFA_GEColor& that) = default; -- cgit v1.2.3