Home | History | Annotate | Download | only in common
      1 // Copyright 2014 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 #ifndef _BC_COMMONBITMATRIX_H_
      8 #define _BC_COMMONBITMATRIX_H_
      9 class CBC_CommonBitArray;
     10 class CBC_CommonBitMatrix {
     11  public:
     12   CBC_CommonBitMatrix();
     13   virtual ~CBC_CommonBitMatrix();
     14   FX_BOOL Get(int32_t x, int32_t y);
     15   void Set(int32_t x, int32_t y);
     16   void Flip(int32_t x, int32_t y);
     17   void Clear();
     18   void SetRegion(int32_t left,
     19                  int32_t top,
     20                  int32_t width,
     21                  int32_t height,
     22                  int32_t& e);
     23   CBC_CommonBitArray* GetRow(int32_t y, CBC_CommonBitArray* row);
     24   void SetRow(int32_t y, CBC_CommonBitArray* row);
     25   CBC_CommonBitArray* GetCol(int32_t y, CBC_CommonBitArray* row);
     26   void SetCol(int32_t y, CBC_CommonBitArray* col);
     27   int32_t GetWidth();
     28   int32_t GetHeight();
     29   int32_t GetRowSize();
     30   int32_t GetDimension(int32_t& e);
     31   virtual void Init(int32_t dimension);
     32   virtual void Init(int32_t width, int32_t height);
     33   int32_t* GetBits();
     34 
     35  private:
     36   int32_t m_width;
     37   int32_t m_height;
     38   int32_t m_rowSize;
     39   int32_t* m_bits;
     40 };
     41 #endif
     42