14d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Copyright 2016 PDFium Authors. All rights reserved. 24d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Use of this source code is governed by a BSD-style license that can be 34d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// found in the LICENSE file. 44d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 54d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 64d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann/* 74d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann * Copyright 2011 ZXing authors 84d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann * 94d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann * Licensed under the Apache License, Version 2.0 (the "License"); 104d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann * you may not use this file except in compliance with the License. 114d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann * You may obtain a copy of the License at 124d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann * 134d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann * http://www.apache.org/licenses/LICENSE-2.0 144d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann * 154d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann * Unless required by applicable law or agreed to in writing, software 164d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann * distributed under the License is distributed on an "AS IS" BASIS, 174d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 184d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann * See the License for the specific language governing permissions and 194d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann * limitations under the License. 204d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann */ 214d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 224d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#include "xfa/fxbarcode/cbc_onecode.h" 234d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 244d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#include "xfa/fxbarcode/oned/BC_OneDimWriter.h" 254d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 264d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. MoltmannCBC_OneCode::CBC_OneCode(CBC_Writer* pWriter) : CBC_CodeBase(pWriter) {} 274d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 284d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. MoltmannCBC_OneCode::~CBC_OneCode() {} 294d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 304d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannbool CBC_OneCode::CheckContentValidity(const CFX_WideStringC& contents) { 314d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return m_pBCWriter && 324d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann static_cast<CBC_OneDimWriter*>(m_pBCWriter.get()) 334d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann ->CheckContentValidity(contents); 344d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 354d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 364d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. MoltmannCFX_WideString CBC_OneCode::FilterContents(const CFX_WideStringC& contents) { 374d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann if (!m_pBCWriter) 384d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return CFX_WideString(); 394d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return static_cast<CBC_OneDimWriter*>(m_pBCWriter.get()) 404d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann ->FilterContents(contents); 414d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 424d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 434d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannvoid CBC_OneCode::SetPrintChecksum(bool checksum) { 444d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann if (m_pBCWriter) 454d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann static_cast<CBC_OneDimWriter*>(m_pBCWriter.get()) 464d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann ->SetPrintChecksum(checksum); 474d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 484d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 494d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannvoid CBC_OneCode::SetDataLength(int32_t length) { 504d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann if (m_pBCWriter) 514d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann static_cast<CBC_OneDimWriter*>(m_pBCWriter.get())->SetDataLength(length); 524d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 534d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 544d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannvoid CBC_OneCode::SetCalChecksum(bool calc) { 554d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann if (m_pBCWriter) 564d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann static_cast<CBC_OneDimWriter*>(m_pBCWriter.get())->SetCalcChecksum(calc); 574d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 584d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 594d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannbool CBC_OneCode::SetFont(CFX_Font* cFont) { 604d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann if (m_pBCWriter) 614d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return static_cast<CBC_OneDimWriter*>(m_pBCWriter.get())->SetFont(cFont); 624d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return false; 634d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 644d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 654d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannvoid CBC_OneCode::SetFontSize(FX_FLOAT size) { 664d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann if (m_pBCWriter) 674d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann static_cast<CBC_OneDimWriter*>(m_pBCWriter.get())->SetFontSize(size); 684d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 694d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 704d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannvoid CBC_OneCode::SetFontStyle(int32_t style) { 714d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann if (m_pBCWriter) 724d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann static_cast<CBC_OneDimWriter*>(m_pBCWriter.get())->SetFontStyle(style); 734d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 744d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 754d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannvoid CBC_OneCode::SetFontColor(FX_ARGB color) { 764d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann if (m_pBCWriter) 774d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann static_cast<CBC_OneDimWriter*>(m_pBCWriter.get())->SetFontColor(color); 784d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 79