Vectorize website settings icons in omnibox
[chromium-blink-merge.git] / pdf / pdfium / pdfium_mem_buffer_file_write.h
blob619bc87ea38fcacd340807aedd737a2e745e7c3e
1 // Copyright (c) 2010 The Chromium 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.
5 #ifndef PDF_PDFIUM_PDFIUM_MEM_BUFFER_FILE_WRITE_
6 #define PDF_PDFIUM_PDFIUM_MEM_BUFFER_FILE_WRITE_
8 #include <string>
10 #include "third_party/pdfium/public/fpdf_save.h"
12 namespace chrome_pdf {
14 // Implementation of FPDF_FILEWRITE into a memory buffer.
15 class PDFiumMemBufferFileWrite : public FPDF_FILEWRITE {
16 public:
17 PDFiumMemBufferFileWrite();
18 ~PDFiumMemBufferFileWrite();
20 const std::basic_string<unsigned char>& buffer() { return buffer_; }
21 size_t size() { return buffer_.size(); }
23 private:
24 int DoWriteBlock(const void* data, unsigned long size);
25 static int WriteBlockImpl(FPDF_FILEWRITE* this_file_write, const void* data,
26 unsigned long size);
28 std::basic_string<unsigned char> buffer_;
31 } // namespace chrome_pdf
33 #endif // PDF_PDFIUM_PDFIUM_MEM_BUFFER_FILE_WRITE_