| Index: xfa/fxgraphics/cfx_pattern.cpp
|
| diff --git a/xfa/fxgraphics/cfx_pattern.cpp b/xfa/fxgraphics/cfx_pattern.cpp
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..cd0fd4e36e5fd765571ba7caa6e75f8c518ffe16
|
| --- /dev/null
|
| +++ b/xfa/fxgraphics/cfx_pattern.cpp
|
| @@ -0,0 +1,57 @@
|
| +// Copyright 2016 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
|
| +
|
| +#include "xfa/fxgraphics/cfx_pattern.h"
|
| +
|
| +CFX_Pattern::CFX_Pattern() : m_type(FX_PATTERN_None) {
|
| + m_matrix.SetIdentity();
|
| +}
|
| +
|
| +CFX_Pattern::~CFX_Pattern() {
|
| + m_type = FX_PATTERN_None;
|
| +}
|
| +
|
| +FX_ERR CFX_Pattern::Create(CFX_DIBitmap* bitmap,
|
| + const FX_FLOAT xStep,
|
| + const FX_FLOAT yStep,
|
| + CFX_Matrix* matrix) {
|
| + if (!bitmap)
|
| + return FX_ERR_Parameter_Invalid;
|
| + if (m_type != FX_PATTERN_None)
|
| + return FX_ERR_Property_Invalid;
|
| +
|
| + m_type = FX_PATTERN_Bitmap;
|
| + m_bitmapInfo.bitmap = bitmap;
|
| + m_bitmapInfo.x1Step = xStep;
|
| + m_bitmapInfo.y1Step = yStep;
|
| + if (matrix) {
|
| + m_matrix.Set(matrix->a, matrix->b, matrix->c, matrix->d, matrix->e,
|
| + matrix->f);
|
| + }
|
| + return FX_ERR_Succeeded;
|
| +}
|
| +
|
| +FX_ERR CFX_Pattern::Create(FX_HatchStyle hatchStyle,
|
| + const FX_ARGB foreArgb,
|
| + const FX_ARGB backArgb,
|
| + CFX_Matrix* matrix) {
|
| + if (hatchStyle < FX_HATCHSTYLE_Horizontal ||
|
| + hatchStyle > FX_HATCHSTYLE_SolidDiamond) {
|
| + return FX_ERR_Parameter_Invalid;
|
| + }
|
| + if (m_type != FX_PATTERN_None) {
|
| + return FX_ERR_Property_Invalid;
|
| + }
|
| + m_type = FX_PATTERN_Hatch;
|
| + m_hatchInfo.hatchStyle = hatchStyle;
|
| + m_hatchInfo.foreArgb = foreArgb;
|
| + m_hatchInfo.backArgb = backArgb;
|
| + if (matrix) {
|
| + m_matrix.Set(matrix->a, matrix->b, matrix->c, matrix->d, matrix->e,
|
| + matrix->f);
|
| + }
|
| + return FX_ERR_Succeeded;
|
| +}
|
|
|