Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(855)

Side by Side Diff: core/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp

Issue 1800523005: Move core/src/ up to core/. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include "core/src/fpdfapi/fpdf_render/render_int.h" 7 #include "core/fpdfapi/fpdf_render/render_int.h"
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <memory> 10 #include <memory>
11 #include <vector> 11 #include <vector>
12 12
13 #include "core/fpdfapi/fpdf_page/pageint.h"
13 #include "core/include/fpdfapi/cpdf_array.h" 14 #include "core/include/fpdfapi/cpdf_array.h"
14 #include "core/include/fpdfapi/cpdf_dictionary.h" 15 #include "core/include/fpdfapi/cpdf_dictionary.h"
15 #include "core/include/fpdfapi/cpdf_document.h" 16 #include "core/include/fpdfapi/cpdf_document.h"
16 #include "core/include/fpdfapi/fpdf_module.h" 17 #include "core/include/fpdfapi/fpdf_module.h"
17 #include "core/include/fpdfapi/fpdf_pageobj.h" 18 #include "core/include/fpdfapi/fpdf_pageobj.h"
18 #include "core/include/fpdfapi/fpdf_render.h" 19 #include "core/include/fpdfapi/fpdf_render.h"
19 #include "core/include/fxcodec/fx_codec.h" 20 #include "core/include/fxcodec/fx_codec.h"
20 #include "core/include/fxcrt/fx_safe_types.h" 21 #include "core/include/fxcrt/fx_safe_types.h"
21 #include "core/include/fxge/fx_ge.h" 22 #include "core/include/fxge/fx_ge.h"
22 #include "core/src/fpdfapi/fpdf_page/pageint.h"
23 23
24 namespace { 24 namespace {
25 25
26 unsigned int GetBits8(const uint8_t* pData, uint64_t bitpos, size_t nbits) { 26 unsigned int GetBits8(const uint8_t* pData, uint64_t bitpos, size_t nbits) {
27 ASSERT(nbits == 1 || nbits == 2 || nbits == 4 || nbits == 8 || nbits == 16); 27 ASSERT(nbits == 1 || nbits == 2 || nbits == 4 || nbits == 8 || nbits == 16);
28 ASSERT((bitpos & (nbits - 1)) == 0); 28 ASSERT((bitpos & (nbits - 1)) == 0);
29 unsigned int byte = pData[bitpos / 8]; 29 unsigned int byte = pData[bitpos / 8];
30 if (nbits == 8) { 30 if (nbits == 8) {
31 return byte; 31 return byte;
32 } else if (nbits == 16) { 32 } else if (nbits == 16) {
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 value = std::max<T>(0, value); 64 value = std::max<T>(0, value);
65 return value; 65 return value;
66 } 66 }
67 67
68 // Wrapper class to use with std::unique_ptr for CJPX_Decoder. 68 // Wrapper class to use with std::unique_ptr for CJPX_Decoder.
69 class JpxBitMapContext { 69 class JpxBitMapContext {
70 public: 70 public:
71 explicit JpxBitMapContext(ICodec_JpxModule* jpx_module) 71 explicit JpxBitMapContext(ICodec_JpxModule* jpx_module)
72 : jpx_module_(jpx_module), decoder_(nullptr) {} 72 : jpx_module_(jpx_module), decoder_(nullptr) {}
73 73
74 ~JpxBitMapContext() { 74 ~JpxBitMapContext() { jpx_module_->DestroyDecoder(decoder_); }
75 jpx_module_->DestroyDecoder(decoder_);
76 }
77 75
78 // Takes ownership of |decoder|. 76 // Takes ownership of |decoder|.
79 void set_decoder(CJPX_Decoder* decoder) { decoder_ = decoder; } 77 void set_decoder(CJPX_Decoder* decoder) { decoder_ = decoder; }
80 78
81 CJPX_Decoder* decoder() { return decoder_; } 79 CJPX_Decoder* decoder() { return decoder_; }
82 80
83 private: 81 private:
84 ICodec_JpxModule* const jpx_module_; // Weak pointer. 82 ICodec_JpxModule* const jpx_module_; // Weak pointer.
85 CJPX_Decoder* decoder_; // Decoder, owned. 83 CJPX_Decoder* decoder_; // Decoder, owned.
86 84
(...skipping 1560 matching lines...) Expand 10 before | Expand all | Expand 10 after
1647 IFX_Pause* pPause) { 1645 IFX_Pause* pPause) {
1648 return LoadHandle->Continue(pPause); 1646 return LoadHandle->Continue(pPause);
1649 } 1647 }
1650 1648
1651 CPDF_ImageLoader::~CPDF_ImageLoader() { 1649 CPDF_ImageLoader::~CPDF_ImageLoader() {
1652 if (!m_bCached) { 1650 if (!m_bCached) {
1653 delete m_pBitmap; 1651 delete m_pBitmap;
1654 delete m_pMask; 1652 delete m_pMask;
1655 } 1653 }
1656 } 1654 }
OLDNEW
« no previous file with comments | « core/fpdfapi/fpdf_render/fpdf_render_image.cpp ('k') | core/fpdfapi/fpdf_render/fpdf_render_loadimage_embeddertest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698