| OLD | NEW |
| (Empty) |
| 1 // Copyright 2016 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 #include "core/fpdfapi/fpdf_page/cpdf_graphstate.h" | |
| 8 | |
| 9 #include "core/fpdfapi/fpdf_parser/include/cpdf_array.h" | |
| 10 | |
| 11 CPDF_GraphState::CPDF_GraphState() {} | |
| 12 | |
| 13 CPDF_GraphState::CPDF_GraphState(const CPDF_GraphState& that) | |
| 14 : m_Ref(that.m_Ref) {} | |
| 15 | |
| 16 CPDF_GraphState::~CPDF_GraphState() {} | |
| 17 | |
| 18 void CPDF_GraphState::Emplace() { | |
| 19 m_Ref.Emplace(); | |
| 20 } | |
| 21 | |
| 22 void CPDF_GraphState::SetLineDash(CPDF_Array* pArray, | |
| 23 FX_FLOAT phase, | |
| 24 FX_FLOAT scale) { | |
| 25 CFX_GraphStateData* pData = m_Ref.GetPrivateCopy(); | |
| 26 pData->m_DashPhase = phase * scale; | |
| 27 pData->SetDashCount(static_cast<int>(pArray->GetCount())); | |
| 28 for (size_t i = 0; i < pArray->GetCount(); i++) | |
| 29 pData->m_DashArray[i] = pArray->GetNumberAt(i) * scale; | |
| 30 } | |
| 31 | |
| 32 FX_FLOAT CPDF_GraphState::GetLineWidth() const { | |
| 33 return m_Ref.GetObject()->m_LineWidth; | |
| 34 } | |
| 35 | |
| 36 void CPDF_GraphState::SetLineWidth(FX_FLOAT width) { | |
| 37 m_Ref.GetPrivateCopy()->m_LineWidth = width; | |
| 38 } | |
| 39 | |
| 40 CFX_GraphStateData::LineCap CPDF_GraphState::GetLineCap() const { | |
| 41 return m_Ref.GetObject()->m_LineCap; | |
| 42 } | |
| 43 void CPDF_GraphState::SetLineCap(CFX_GraphStateData::LineCap cap) { | |
| 44 m_Ref.GetPrivateCopy()->m_LineCap = cap; | |
| 45 } | |
| 46 | |
| 47 CFX_GraphStateData::LineJoin CPDF_GraphState::GetLineJoin() const { | |
| 48 return m_Ref.GetObject()->m_LineJoin; | |
| 49 } | |
| 50 | |
| 51 void CPDF_GraphState::SetLineJoin(CFX_GraphStateData::LineJoin join) { | |
| 52 m_Ref.GetPrivateCopy()->m_LineJoin = join; | |
| 53 } | |
| 54 | |
| 55 FX_FLOAT CPDF_GraphState::GetMiterLimit() const { | |
| 56 return m_Ref.GetObject()->m_MiterLimit; | |
| 57 } | |
| 58 | |
| 59 void CPDF_GraphState::SetMiterLimit(FX_FLOAT limit) { | |
| 60 m_Ref.GetPrivateCopy()->m_MiterLimit = limit; | |
| 61 } | |
| OLD | NEW |