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
cpdf_stitchfunc.h
Go to the documentation of this file.
1// Copyright 2017 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_FPDFAPI_PAGE_CPDF_STITCHFUNC_H_
8#define CORE_FPDFAPI_PAGE_CPDF_STITCHFUNC_H_
9
10#include <memory>
11#include <vector>
12
13#include "core/fpdfapi/page/cpdf_function.h"
14
15class CPDF_StitchFunc final : public CPDF_Function {
16 public:
18 ~CPDF_StitchFunc() override;
19
20 // CPDF_Function:
21 bool v_Init(const CPDF_Object* pObj, VisitedSet* pVisited) override;
22 bool v_Call(pdfium::span<const float> inputs,
23 pdfium::span<float> results) const override;
24
26 return m_pSubFunctions;
27 }
28 float GetBound(size_t i) const { return m_bounds[i]; }
29 float GetEncode(size_t i) const { return m_encode[i]; }
30
31 private:
32 std::vector<std::unique_ptr<CPDF_Function>> m_pSubFunctions;
33 std::vector<float> m_bounds;
34 std::vector<float> m_encode;
35};
36
37#endif // CORE_FPDFAPI_PAGE_CPDF_STITCHFUNC_H_
int GetIntegerFor(const ByteString &key) const
uint32_t m_nOutputs
uint32_t m_nInputs
virtual ~CPDF_Function()
bool Init(const CPDF_Object *pObj, VisitedSet *pVisited)
CPDF_Function(Type type)
const Type m_Type
absl::optional< uint32_t > Call(pdfium::span< const float > inputs, pdfium::span< float > results) const
float Interpolate(float x, float xmin, float xmax, float ymin, float ymax) const
RetainPtr< const CPDF_Dictionary > GetDict() const
const CPDF_Stream * AsStream() const
bool DoOperator(PDF_PSOP op)
bool Parse(pdfium::span< const uint8_t > input)
uint32_t GetStackSize() const
void Push(float value)
bool v_Init(const CPDF_Object *pObj, VisitedSet *pVisited) override
~CPDF_PSFunc() override
bool v_Call(pdfium::span< const float > inputs, pdfium::span< float > results) const override
void Execute(CPDF_PSEngine *pEngine)
PDF_PSOP GetOp() const
float GetFloatValue() const
bool Parse(CPDF_SimpleParser *parser, int depth)
CPDF_PSOP(float value)
CPDF_PSOP(PDF_PSOP op)
bool Execute(CPDF_PSEngine *pEngine)
size_t num_operators() const
const std::unique_ptr< CPDF_PSOP > & last_operator()
bool Parse(CPDF_SimpleParser *parser, int depth)
void AddOperatorForTesting(ByteStringView word)
uint32_t GetBitsPerSample() const
const std::vector< SampleEncodeInfo > & GetEncodeInfo() const
bool v_Call(pdfium::span< const float > inputs, pdfium::span< float > results) const override
~CPDF_SampledFunc() override
bool v_Init(const CPDF_Object *pObj, VisitedSet *pVisited) override
float GetBound(size_t i) const
~CPDF_StitchFunc() override
float GetEncode(size_t i) const
bool v_Init(const CPDF_Object *pObj, VisitedSet *pVisited) override
const std::vector< std::unique_ptr< CPDF_Function > > & GetSubFunctions() const
bool v_Call(pdfium::span< const float > inputs, pdfium::span< float > results) const override
PDF_PSOP
@ PSOP_COS
@ PSOP_FLOOR
@ PSOP_LT
@ PSOP_LOG
@ PSOP_DIV
@ PSOP_DUP
@ PSOP_GE
@ PSOP_NEG
@ PSOP_LN
@ PSOP_OR
@ PSOP_EQ
@ PSOP_MOD
@ PSOP_IDIV
@ PSOP_ATAN
@ PSOP_CVR
@ PSOP_SUB
@ PSOP_EXP
@ PSOP_ADD
@ PSOP_ROUND
@ PSOP_CONST
@ PSOP_IF
@ PSOP_NE
@ PSOP_PROC
@ PSOP_FALSE
@ PSOP_TRUE
@ PSOP_MUL
@ PSOP_ROLL
@ PSOP_AND
@ PSOP_GT
@ PSOP_CEILING
@ PSOP_POP
@ PSOP_EXCH
@ PSOP_BITSHIFT
@ PSOP_SQRT
@ PSOP_COPY
@ PSOP_IFELSE
@ PSOP_NOT
@ PSOP_ABS
@ PSOP_CVI
@ PSOP_SIN
@ PSOP_TRUNCATE
@ PSOP_XOR
@ PSOP_LE
@ PSOP_INDEX