Index: core/fpdfapi/fpdf_page/pageint.h |
diff --git a/core/fpdfapi/fpdf_page/pageint.h b/core/fpdfapi/fpdf_page/pageint.h |
index d254477dc337fa094c0c86e5f8f4369fcdc0b0f3..8592616dfa65eeaa5fd8261cea5f32b503863afa 100644 |
--- a/core/fpdfapi/fpdf_page/pageint.h |
+++ b/core/fpdfapi/fpdf_page/pageint.h |
@@ -383,18 +383,53 @@ class CPDF_Function { |
int ninputs, |
FX_FLOAT* results, |
int& nresults) const; |
- int CountInputs() { return m_nInputs; } |
- int CountOutputs() { return m_nOutputs; } |
+ int CountInputs() const { return m_nInputs; } |
+ int CountOutputs() const { return m_nOutputs; } |
+ FX_FLOAT GetDomain(int i) const { return m_pDomains[i]; } |
+ int GetType() const { return m_nType; } |
protected: |
CPDF_Function(); |
Tom Sepez
2016/03/24 18:07:07
nit: probably should take the type as a parameter,
caryclark
2016/03/25 20:47:56
Done.
|
int m_nInputs, m_nOutputs; |
Tom Sepez
2016/03/24 18:07:07
nit: one per line, also blank line between methods
caryclark
2016/03/25 20:47:56
Done.
|
FX_FLOAT* m_pDomains; |
FX_FLOAT* m_pRanges; |
+ int m_nType; |
Tom Sepez
2016/03/24 18:07:08
nit: I'd put this as the first member.
caryclark
2016/03/25 20:47:55
Done.
|
FX_BOOL Init(CPDF_Object* pObj); |
Tom Sepez
2016/03/24 18:07:07
nit: move these to line 393.
caryclark
2016/03/25 20:47:55
Done.
|
virtual FX_BOOL v_Init(CPDF_Object* pObj) = 0; |
virtual FX_BOOL v_Call(FX_FLOAT* inputs, FX_FLOAT* results) const = 0; |
}; |
+ |
+class CPDF_ExpIntFunc : public CPDF_Function { |
+ public: |
+ CPDF_ExpIntFunc(); |
+ ~CPDF_ExpIntFunc() override; |
+ |
+ // CPDF_Function |
+ FX_BOOL v_Init(CPDF_Object* pObj) override; |
+ FX_BOOL v_Call(FX_FLOAT* inputs, FX_FLOAT* results) const override; |
+ |
+ FX_FLOAT m_Exponent; |
+ FX_FLOAT* m_pBeginValues; |
+ FX_FLOAT* m_pEndValues; |
+ int m_nOrigOutputs; |
Tom Sepez
2016/03/24 18:07:08
nit: may save 8 bytes per instance on 64 bits if t
caryclark
2016/03/25 20:47:55
Done.
|
+}; |
+ |
+class CPDF_StitchFunc : public CPDF_Function { |
+ public: |
+ CPDF_StitchFunc(); |
+ ~CPDF_StitchFunc() override; |
+ |
+ // CPDF_Function |
+ FX_BOOL v_Init(CPDF_Object* pObj) override; |
+ FX_BOOL v_Call(FX_FLOAT* inputs, FX_FLOAT* results) const override; |
+ |
+ std::vector<CPDF_Function*> m_pSubFunctions; |
+ FX_FLOAT* m_pBounds; |
+ FX_FLOAT* m_pEncode; |
+ |
+ static const int kRequiredNumInputs = 1; |
+}; |
+ |
class CPDF_IccProfile { |
public: |
CPDF_IccProfile(const uint8_t* pData, FX_DWORD dwSize); |