summaryrefslogtreecommitdiff
path: root/core/src/fpdfapi/fpdf_parser/cpdf_array.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/fpdfapi/fpdf_parser/cpdf_array.cpp')
-rw-r--r--core/src/fpdfapi/fpdf_parser/cpdf_array.cpp207
1 files changed, 0 insertions, 207 deletions
diff --git a/core/src/fpdfapi/fpdf_parser/cpdf_array.cpp b/core/src/fpdfapi/fpdf_parser/cpdf_array.cpp
deleted file mode 100644
index 3b21a45ae2..0000000000
--- a/core/src/fpdfapi/fpdf_parser/cpdf_array.cpp
+++ /dev/null
@@ -1,207 +0,0 @@
-// Copyright 2016 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-
-#include "core/include/fpdfapi/cpdf_array.h"
-
-#include "core/include/fpdfapi/cpdf_name.h"
-#include "core/include/fpdfapi/cpdf_number.h"
-#include "core/include/fpdfapi/cpdf_reference.h"
-#include "core/include/fpdfapi/cpdf_stream.h"
-#include "core/include/fpdfapi/cpdf_string.h"
-
-CPDF_Array::CPDF_Array() {}
-
-CPDF_Array::~CPDF_Array() {
- int size = m_Objects.GetSize();
- CPDF_Object** pList = m_Objects.GetData();
- for (int i = 0; i < size; i++) {
- if (pList[i])
- pList[i]->Release();
- }
-}
-
-CPDF_Object::Type CPDF_Array::GetType() const {
- return ARRAY;
-}
-
-CPDF_Array* CPDF_Array::GetArray() const {
- // The method should be made non-const if we want to not be const.
- // See bug #234.
- return const_cast<CPDF_Array*>(this);
-}
-
-bool CPDF_Array::IsArray() const {
- return true;
-}
-
-CPDF_Array* CPDF_Array::AsArray() {
- return this;
-}
-
-const CPDF_Array* CPDF_Array::AsArray() const {
- return this;
-}
-
-CPDF_Object* CPDF_Array::Clone(FX_BOOL bDirect) const {
- CPDF_Array* pCopy = new CPDF_Array();
- for (int i = 0; i < GetCount(); i++) {
- CPDF_Object* value = m_Objects.GetAt(i);
- pCopy->m_Objects.Add(value->Clone(bDirect));
- }
- return pCopy;
-}
-
-CFX_FloatRect CPDF_Array::GetRect() {
- CFX_FloatRect rect;
- if (!IsArray() || m_Objects.GetSize() != 4)
- return rect;
-
- rect.left = GetNumberAt(0);
- rect.bottom = GetNumberAt(1);
- rect.right = GetNumberAt(2);
- rect.top = GetNumberAt(3);
- return rect;
-}
-
-CFX_Matrix CPDF_Array::GetMatrix() {
- CFX_Matrix matrix;
- if (!IsArray() || m_Objects.GetSize() != 6)
- return matrix;
-
- matrix.Set(GetNumberAt(0), GetNumberAt(1), GetNumberAt(2), GetNumberAt(3),
- GetNumberAt(4), GetNumberAt(5));
- return matrix;
-}
-
-CPDF_Object* CPDF_Array::GetElement(FX_DWORD i) const {
- if (i >= (FX_DWORD)m_Objects.GetSize())
- return nullptr;
- return m_Objects.GetAt(i);
-}
-
-CPDF_Object* CPDF_Array::GetElementValue(FX_DWORD i) const {
- if (i >= (FX_DWORD)m_Objects.GetSize())
- return nullptr;
- return m_Objects.GetAt(i)->GetDirect();
-}
-
-CFX_ByteString CPDF_Array::GetStringAt(FX_DWORD i) const {
- if (i >= (FX_DWORD)m_Objects.GetSize())
- return CFX_ByteString();
- return m_Objects.GetAt(i)->GetString();
-}
-
-CFX_ByteStringC CPDF_Array::GetConstStringAt(FX_DWORD i) const {
- if (i >= (FX_DWORD)m_Objects.GetSize())
- return CFX_ByteStringC();
- return m_Objects.GetAt(i)->GetConstString();
-}
-
-int CPDF_Array::GetIntegerAt(FX_DWORD i) const {
- if (i >= (FX_DWORD)m_Objects.GetSize())
- return 0;
- return m_Objects.GetAt(i)->GetInteger();
-}
-
-FX_FLOAT CPDF_Array::GetNumberAt(FX_DWORD i) const {
- if (i >= (FX_DWORD)m_Objects.GetSize())
- return 0;
- return m_Objects.GetAt(i)->GetNumber();
-}
-
-CPDF_Dictionary* CPDF_Array::GetDictAt(FX_DWORD i) const {
- CPDF_Object* p = GetElementValue(i);
- if (!p)
- return NULL;
- if (CPDF_Dictionary* pDict = p->AsDictionary())
- return pDict;
- if (CPDF_Stream* pStream = p->AsStream())
- return pStream->GetDict();
- return NULL;
-}
-
-CPDF_Stream* CPDF_Array::GetStreamAt(FX_DWORD i) const {
- return ToStream(GetElementValue(i));
-}
-
-CPDF_Array* CPDF_Array::GetArrayAt(FX_DWORD i) const {
- return ToArray(GetElementValue(i));
-}
-
-void CPDF_Array::RemoveAt(FX_DWORD i, int nCount) {
- if (i >= (FX_DWORD)m_Objects.GetSize())
- return;
-
- if (nCount <= 0 || nCount > m_Objects.GetSize() - i)
- return;
-
- for (int j = 0; j < nCount; ++j) {
- if (CPDF_Object* p = m_Objects.GetAt(i + j))
- p->Release();
- }
- m_Objects.RemoveAt(i, nCount);
-}
-
-void CPDF_Array::SetAt(FX_DWORD i,
- CPDF_Object* pObj,
- CPDF_IndirectObjectHolder* pObjs) {
- ASSERT(IsArray());
- ASSERT(i < (FX_DWORD)m_Objects.GetSize());
- if (i >= (FX_DWORD)m_Objects.GetSize())
- return;
- if (CPDF_Object* pOld = m_Objects.GetAt(i))
- pOld->Release();
- if (pObj->GetObjNum()) {
- ASSERT(pObjs);
- pObj = new CPDF_Reference(pObjs, pObj->GetObjNum());
- }
- m_Objects.SetAt(i, pObj);
-}
-
-void CPDF_Array::InsertAt(FX_DWORD index,
- CPDF_Object* pObj,
- CPDF_IndirectObjectHolder* pObjs) {
- if (pObj->GetObjNum()) {
- ASSERT(pObjs);
- pObj = new CPDF_Reference(pObjs, pObj->GetObjNum());
- }
- m_Objects.InsertAt(index, pObj);
-}
-
-void CPDF_Array::Add(CPDF_Object* pObj, CPDF_IndirectObjectHolder* pObjs) {
- if (pObj->GetObjNum()) {
- ASSERT(pObjs);
- pObj = new CPDF_Reference(pObjs, pObj->GetObjNum());
- }
- m_Objects.Add(pObj);
-}
-
-void CPDF_Array::AddName(const CFX_ByteString& str) {
- ASSERT(IsArray());
- Add(new CPDF_Name(str));
-}
-
-void CPDF_Array::AddString(const CFX_ByteString& str) {
- ASSERT(IsArray());
- Add(new CPDF_String(str, FALSE));
-}
-
-void CPDF_Array::AddInteger(int i) {
- ASSERT(IsArray());
- Add(new CPDF_Number(i));
-}
-
-void CPDF_Array::AddNumber(FX_FLOAT f) {
- ASSERT(IsArray());
- CPDF_Number* pNumber = new CPDF_Number(f);
- Add(pNumber);
-}
-
-void CPDF_Array::AddReference(CPDF_IndirectObjectHolder* pDoc,
- FX_DWORD objnum) {
- ASSERT(IsArray());
- Add(new CPDF_Reference(pDoc, objnum));
-}