diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2017-12-11 22:31:58 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-12-11 22:31:58 +0000 |
commit | c002261326795102c4680c43ea447674dd4d6f3b (patch) | |
tree | d1793513d0e2dc1203d3806d7d734e3ddc9e2766 /fxjs/xfa/cjx_layoutpseudomodel.h | |
parent | 07401bae6d9f95911b144e6fabb42f19e40def49 (diff) | |
download | pdfium-c002261326795102c4680c43ea447674dd4d6f3b.tar.xz |
[xfa] Move CJX code into fxjs/xfa
This CL moves the remaining CJX clases into fxjs/xfa so they co-exist
with the rest of the CJX classes.
Change-Id: I2b1e5504ac23f73df177f309967a04ab27fb61d1
Reviewed-on: https://pdfium-review.googlesource.com/20550
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Diffstat (limited to 'fxjs/xfa/cjx_layoutpseudomodel.h')
-rw-r--r-- | fxjs/xfa/cjx_layoutpseudomodel.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/fxjs/xfa/cjx_layoutpseudomodel.h b/fxjs/xfa/cjx_layoutpseudomodel.h new file mode 100644 index 0000000000..63dc789190 --- /dev/null +++ b/fxjs/xfa/cjx_layoutpseudomodel.h @@ -0,0 +1,70 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_LAYOUTPSEUDOMODEL_H_ +#define FXJS_XFA_CJX_LAYOUTPSEUDOMODEL_H_ + +#include <vector> + +#include "fxjs/CJX_Define.h" +#include "fxjs/xfa/cjx_object.h" + +enum XFA_LAYOUTMODEL_HWXY { + XFA_LAYOUTMODEL_H, + XFA_LAYOUTMODEL_W, + XFA_LAYOUTMODEL_X, + XFA_LAYOUTMODEL_Y +}; + +class CFXJSE_Value; +class CScript_LayoutPseudoModel; +class CXFA_LayoutProcessor; +class CXFA_Node; + +class CJX_LayoutPseudoModel : public CJX_Object { + public: + explicit CJX_LayoutPseudoModel(CScript_LayoutPseudoModel* model); + ~CJX_LayoutPseudoModel() override; + + void Ready(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); + + JS_METHOD(absPage, CJX_LayoutPseudoModel); + JS_METHOD(absPageCount, CJX_LayoutPseudoModel); + JS_METHOD(absPageCountInBatch, CJX_LayoutPseudoModel); + JS_METHOD(absPageInBatch, CJX_LayoutPseudoModel); + JS_METHOD(absPageSpan, CJX_LayoutPseudoModel); + JS_METHOD(h, CJX_LayoutPseudoModel); + JS_METHOD(page, CJX_LayoutPseudoModel); + JS_METHOD(pageContent, CJX_LayoutPseudoModel); + JS_METHOD(pageCount, CJX_LayoutPseudoModel); + JS_METHOD(pageSpan, CJX_LayoutPseudoModel); + JS_METHOD(relayout, CJX_LayoutPseudoModel); + JS_METHOD(relayoutPageArea, CJX_LayoutPseudoModel); + JS_METHOD(sheet, CJX_LayoutPseudoModel); + JS_METHOD(sheetCount, CJX_LayoutPseudoModel); + JS_METHOD(sheetCountInBatch, CJX_LayoutPseudoModel); + JS_METHOD(sheetInBatch, CJX_LayoutPseudoModel); + JS_METHOD(w, CJX_LayoutPseudoModel); + JS_METHOD(x, CJX_LayoutPseudoModel); + JS_METHOD(y, CJX_LayoutPseudoModel); + + private: + CJS_Return NumberedPageCount(CJS_V8* runtime, bool bNumbered); + CJS_Return HWXY(CJS_V8* runtime, + const std::vector<v8::Local<v8::Value>>& params, + XFA_LAYOUTMODEL_HWXY layoutModel); + std::vector<CXFA_Node*> GetObjArray(CXFA_LayoutProcessor* pDocLayout, + int32_t iPageNo, + const WideString& wsType, + bool bOnPageArea); + CJS_Return PageInternals(CJS_V8* runtime, + const std::vector<v8::Local<v8::Value>>& params, + bool bAbsPage); + + static const CJX_MethodSpec MethodSpecs[]; +}; + +#endif // FXJS_XFA_CJX_LAYOUTPSEUDOMODEL_H_ |