Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
faxmodule.h
Go to the documentation of this file.
1// Copyright 2016 The PDFium Authors
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#ifndef CORE_FXCODEC_FAX_FAXMODULE_H_
8#define CORE_FXCODEC_FAX_FAXMODULE_H_
9
10#include <stdint.h>
11
12#include <memory>
13
14#include "build/build_config.h"
15#include "third_party/base/containers/span.h"
16
17#if BUILDFLAG(IS_WIN)
18#include "core/fxcrt/data_vector.h"
19#include "core/fxcrt/retain_ptr.h"
20#endif
21
22class CFX_DIBBase;
23
24namespace fxcodec {
25
26class ScanlineDecoder;
27
28class FaxModule {
29 public:
31 pdfium::span<const uint8_t> src_span,
32 int width,
33 int height,
34 int K,
35 bool EndOfLine,
36 bool EncodedByteAlign,
37 bool BlackIs1,
38 int Columns,
39 int Rows);
40
41 // Return the ending bit position.
42 static int FaxG4Decode(const uint8_t* src_buf,
43 uint32_t src_size,
44 int starting_bitpos,
45 int width,
46 int height,
47 int pitch,
48 uint8_t* dest_buf);
49
50#if BUILDFLAG(IS_WIN)
51 // `src` must have a BPP value of 1.
53#endif // BUILDFLAG(IS_WIN)
54
55 FaxModule() = delete;
56 FaxModule(const FaxModule&) = delete;
57 FaxModule& operator=(const FaxModule&) = delete;
58};
59
60} // namespace fxcodec
61
62using FaxModule = fxcodec::FaxModule;
63
64#endif // CORE_FXCODEC_FAX_FAXMODULE_H_
int GetIntegerFor(const ByteString &key) const
int GetIntegerFor(const ByteString &key, int default_int) const
FaxModule(const FaxModule &)=delete
static int FaxG4Decode(const uint8_t *src_buf, uint32_t src_size, int starting_bitpos, int width, int height, int pitch, uint8_t *dest_buf)
FaxModule & operator=(const FaxModule &)=delete
static std::unique_ptr< ScanlineDecoder > CreateDecoder(pdfium::span< const uint8_t > src_span, int width, int height, int K, bool EndOfLine, bool EncodedByteAlign, bool BlackIs1, int Columns, int Rows)
static uint32_t FlateOrLZWDecode(bool bLZW, pdfium::span< const uint8_t > src_span, bool bEarlyChange, int predictor, int Colors, int BitsPerComponent, int Columns, uint32_t estimated_size, std::unique_ptr< uint8_t, FxFreeDeleter > *dest_buf, uint32_t *dest_size)
ByteString & operator+=(char ch)
bool operator==(const char *ptr) const
ByteString & operator+=(const char *str)
ByteString & operator=(const char *str)
static WideString FromUTF8(ByteStringView str)
static WideString FromUTF16BE(pdfium::span< const uint8_t > data)
static WideString FromUTF16LE(pdfium::span< const uint8_t > data)
static size_t StripLanguageCodes(pdfium::span< wchar_t > s, size_t n)
const uint16_t kPDFDocEncoding[256]
ByteString PDF_EncodeString(ByteStringView src)
ByteString PDF_EncodeText(WideStringView str)
bool ValidateDecoderPipeline(const CPDF_Array *pDecoders)
uint32_t HexDecode(pdfium::span< const uint8_t > src_span, std::unique_ptr< uint8_t, FxFreeDeleter > *dest_buf, uint32_t *dest_size)
WideString PDF_DecodeText(pdfium::span< const uint8_t > span)
std::unique_ptr< fxcodec::ScanlineDecoder > CreateFaxDecoder(pdfium::span< const uint8_t > src_span, int width, int height, const CPDF_Dictionary *pParams)
uint32_t RunLengthDecode(pdfium::span< const uint8_t > src_span, std::unique_ptr< uint8_t, FxFreeDeleter > *dest_buf, uint32_t *dest_size)
uint32_t FlateOrLZWDecode(bool bLZW, pdfium::span< const uint8_t > src_span, const CPDF_Dictionary *pParams, uint32_t estimated_size, std::unique_ptr< uint8_t, FxFreeDeleter > *dest_buf, uint32_t *dest_size)
ByteString PDF_HexEncodeString(ByteStringView src)
std::unique_ptr< fxcodec::ScanlineDecoder > CreateFlateDecoder(pdfium::span< const uint8_t > src_span, int width, int height, int nComps, int bpc, const CPDF_Dictionary *pParams)
bool PDF_DataDecode(pdfium::span< const uint8_t > src_span, uint32_t estimated_size, bool bImageAcc, const DecoderArray &decoder_array, std::unique_ptr< uint8_t, FxFreeDeleter > *dest_buf, uint32_t *dest_size, ByteString *ImageEncoding, RetainPtr< const CPDF_Dictionary > *pImageParams)
uint32_t A85Decode(pdfium::span< const uint8_t > src_span, std::unique_ptr< uint8_t, FxFreeDeleter > *dest_buf, uint32_t *dest_size)
absl::optional< DecoderArray > GetDecoderArray(RetainPtr< const CPDF_Dictionary > pDict)
bool PDFCharIsLineEnding(uint8_t c)
int FXSYS_HexCharToInt(char c)
#define FX_INVALID_OFFSET