| // Copyright 2014 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 _BC_BOUNDINGBOX_H_ | |
| #define _BC_BOUNDINGBOX_H_ | |
| class CBC_CommonBitMatrix; | |
| class CBC_ResultPoint; | |
| class CBC_BoundingBox | |
| { | |
| public: | |
| CBC_BoundingBox(CBC_CommonBitMatrix* image, CBC_ResultPoint* topLeft, CBC_ResultPoint* bottomLeft, CBC_ResultPoint* topRight, CBC_ResultPoint* bottomRight, int32_t &e); | |
| CBC_BoundingBox(CBC_BoundingBox* boundingBox); | |
| virtual ~CBC_BoundingBox(); | |
| static CBC_BoundingBox* merge(CBC_BoundingBox* leftBox, CBC_BoundingBox* rightBox, int32_t &e); | |
| CBC_BoundingBox* addMissingRows(int32_t missingStartRows, int32_t missingEndRows, FX_BOOL isLeft, int32_t &e); | |
| void setTopRight(CBC_ResultPoint topRight); | |
| void setBottomRight(CBC_ResultPoint bottomRight); | |
| int32_t getMinX(); | |
| int32_t getMaxX(); | |
| int32_t getMinY(); | |
| int32_t getMaxY(); | |
| CBC_ResultPoint* getTopLeft(); | |
| CBC_ResultPoint* getTopRight(); | |
| CBC_ResultPoint* getBottomLeft(); | |
| CBC_ResultPoint* getBottomRight(); | |
| private: | |
| CBC_CommonBitMatrix* m_image; | |
| CBC_ResultPoint* m_topLeft; | |
| CBC_ResultPoint* m_bottomLeft; | |
| CBC_ResultPoint* m_topRight; | |
| CBC_ResultPoint* m_bottomRight; | |
| int32_t m_minX; | |
| int32_t m_maxX; | |
| int32_t m_minY; | |
| int32_t m_maxY; | |
| void init(CBC_CommonBitMatrix* image, CBC_ResultPoint* topLeft, CBC_ResultPoint* bottomLeft, CBC_ResultPoint* topRight, CBC_ResultPoint* bottomRight); | |
| void calculateMinMaxValues(); | |
| }; | |
| #endif |