Merge XFA to PDFium master at 4dc95e7 on 10/28/2014
[pdfium.git] / xfa / src / fxbarcode / src / include / BC_BufferedImageLuminanceSource.h
1 // Copyright 2014 PDFium Authors. All rights reserved.\r
2 // Use of this source code is governed by a BSD-style license that can be\r
3 // found in the LICENSE file.\r
4 \r
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com\r
6 \r
7 #ifndef _BC_BUFFEREDIMAGELUMINANCESOURCE_H_\r
8 #define _BC_BUFFEREDIMAGELUMINANCESOURCE_H_\r
9 class CBC_LuminanceSource;\r
10 class CBC_BufferedImageLuminanceSource;\r
11 class CBC_BufferedImageLuminanceSource : public CBC_LuminanceSource\r
12 {\r
13 public:\r
14     CBC_BufferedImageLuminanceSource(const CFX_WideString &filename);\r
15     CBC_BufferedImageLuminanceSource(CFX_DIBitmap *pBitmap);\r
16     virtual ~CBC_BufferedImageLuminanceSource();\r
17     CBC_LuminanceSource *RotateCounterClockwise(FX_INT32 &e);\r
18     CBC_LuminanceSource *Crop(FX_INT32 left, FX_INT32 top, FX_INT32 width, FX_INT32 height);\r
19 \r
20     CFX_ByteArray *GetRow(FX_INT32 y, CFX_ByteArray &row, FX_INT32 &e);\r
21     CFX_ByteArray *GetMatrix();\r
22     FX_BOOL IsCropSupported();\r
23     FX_BOOL IsRotateSupported();\r
24     virtual void Init(FX_INT32 &e);\r
25 private:\r
26     FX_INT32 m_bytesPerLine;\r
27     FX_INT32 m_left;\r
28     FX_INT32 m_top;\r
29     CFX_Int32Array m_rgbData;\r
30     CFX_DIBitmap *m_pBitmap;\r
31     const CFX_WideString m_filename;\r
32 };\r
33 #endif\r