1 // Copyright 2017 PDFium 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. 4 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6 7 #include "fxjs/xfa/cjx_draw.h" 8 9 #include "fxjs/cfxjse_value.h" 10 #include "xfa/fxfa/cxfa_widgetacc.h" 11 #include "xfa/fxfa/parser/cxfa_draw.h" 12 13 CJX_Draw::CJX_Draw(CXFA_Draw* node) : CJX_Container(node) {} 14 15 CJX_Draw::~CJX_Draw() = default; 16 17 void CJX_Draw::h(CFXJSE_Value* pValue, 18 bool bSetting, 19 XFA_Attribute eAttribute) { 20 Script_Attribute_String(pValue, bSetting, eAttribute); 21 } 22 23 void CJX_Draw::w(CFXJSE_Value* pValue, 24 bool bSetting, 25 XFA_Attribute eAttribute) { 26 Script_Attribute_String(pValue, bSetting, eAttribute); 27 } 28 29 void CJX_Draw::x(CFXJSE_Value* pValue, 30 bool bSetting, 31 XFA_Attribute eAttribute) { 32 Script_Attribute_String(pValue, bSetting, eAttribute); 33 } 34 35 void CJX_Draw::y(CFXJSE_Value* pValue, 36 bool bSetting, 37 XFA_Attribute eAttribute) { 38 Script_Attribute_String(pValue, bSetting, eAttribute); 39 } 40 41 void CJX_Draw::hAlign(CFXJSE_Value* pValue, 42 bool bSetting, 43 XFA_Attribute eAttribute) { 44 Script_Attribute_String(pValue, bSetting, eAttribute); 45 } 46 47 void CJX_Draw::use(CFXJSE_Value* pValue, 48 bool bSetting, 49 XFA_Attribute eAttribute) { 50 Script_Attribute_String(pValue, bSetting, eAttribute); 51 } 52 53 void CJX_Draw::rotate(CFXJSE_Value* pValue, 54 bool bSetting, 55 XFA_Attribute eAttribute) { 56 Script_Attribute_String(pValue, bSetting, eAttribute); 57 } 58 59 void CJX_Draw::presence(CFXJSE_Value* pValue, 60 bool bSetting, 61 XFA_Attribute eAttribute) { 62 Script_Attribute_String(pValue, bSetting, eAttribute); 63 } 64 65 void CJX_Draw::vAlign(CFXJSE_Value* pValue, 66 bool bSetting, 67 XFA_Attribute eAttribute) { 68 Script_Attribute_String(pValue, bSetting, eAttribute); 69 } 70 71 void CJX_Draw::maxH(CFXJSE_Value* pValue, 72 bool bSetting, 73 XFA_Attribute eAttribute) { 74 Script_Attribute_String(pValue, bSetting, eAttribute); 75 } 76 77 void CJX_Draw::maxW(CFXJSE_Value* pValue, 78 bool bSetting, 79 XFA_Attribute eAttribute) { 80 Script_Attribute_String(pValue, bSetting, eAttribute); 81 } 82 83 void CJX_Draw::minH(CFXJSE_Value* pValue, 84 bool bSetting, 85 XFA_Attribute eAttribute) { 86 Script_Attribute_String(pValue, bSetting, eAttribute); 87 } 88 89 void CJX_Draw::minW(CFXJSE_Value* pValue, 90 bool bSetting, 91 XFA_Attribute eAttribute) { 92 Script_Attribute_String(pValue, bSetting, eAttribute); 93 } 94 95 void CJX_Draw::relevant(CFXJSE_Value* pValue, 96 bool bSetting, 97 XFA_Attribute eAttribute) { 98 Script_Attribute_String(pValue, bSetting, eAttribute); 99 } 100 101 void CJX_Draw::rawValue(CFXJSE_Value* pValue, 102 bool bSetting, 103 XFA_Attribute eAttribute) { 104 defaultValue(pValue, bSetting, eAttribute); 105 } 106 107 void CJX_Draw::defaultValue(CFXJSE_Value* pValue, 108 bool bSetting, 109 XFA_Attribute eAttribute) { 110 if (!bSetting) { 111 WideString content = GetContent(true); 112 if (content.IsEmpty()) 113 pValue->SetNull(); 114 else 115 pValue->SetString(content.UTF8Encode().AsStringView()); 116 117 return; 118 } 119 120 if (!pValue || !pValue->IsString()) 121 return; 122 123 XFA_Element uiType = GetXFANode()->GetWidgetAcc()->GetUIType(); 124 if (uiType != XFA_Element::Text) 125 return; 126 127 WideString wsNewValue = pValue->ToWideString(); 128 SetContent(wsNewValue, wsNewValue, true, true, true); 129 } 130 131 void CJX_Draw::colSpan(CFXJSE_Value* pValue, 132 bool bSetting, 133 XFA_Attribute eAttribute) { 134 Script_Attribute_String(pValue, bSetting, eAttribute); 135 } 136 137 void CJX_Draw::usehref(CFXJSE_Value* pValue, 138 bool bSetting, 139 XFA_Attribute eAttribute) { 140 Script_Attribute_String(pValue, bSetting, eAttribute); 141 } 142 143 void CJX_Draw::locale(CFXJSE_Value* pValue, 144 bool bSetting, 145 XFA_Attribute eAttribute) { 146 Script_Attribute_String(pValue, bSetting, eAttribute); 147 } 148 149 void CJX_Draw::anchorType(CFXJSE_Value* pValue, 150 bool bSetting, 151 XFA_Attribute eAttribute) { 152 Script_Attribute_String(pValue, bSetting, eAttribute); 153 } 154