Statistics
| Revision:

root / trunk / libraries / libjni-readecw-linux / include / NCSJPCICCNode.h @ 25868

History | View | Annotate | Download (1.99 KB)

1
/********************************************************
2
** Copyright 2003 Earth Resource Mapping Ltd.
3
** This document contains proprietary source code of
4
** Earth Resource Mapping Ltd, and can only be used under
5
** one of the three licenses as described in the 
6
** license.txt file supplied with this distribution. 
7
** See separate license.txt file for license details 
8
** and conditions.
9
**
10
** This software is covered by US patent #6,442,298,
11
** #6,102,897 and #6,633,688.  Rights to use these patents 
12
** is included in the license agreements.
13
**
14
** FILE:     $Archive: /NCS/Source/include/NCSJPCICC2RGBNode.h $
15
** CREATED:  20/03/2003 3:27:34 PM
16
** AUTHOR:   Simon Cope
17
** PURPOSE:  CNCSJPCICC2RGBNode class header
18
** EDITS:    [xx] ddMmmyy NAME COMMENTS
19
 *******************************************************/
20

    
21
#ifndef NCSJPCICCNODE_H
22
#define NCSJPCICCNODE_H
23

    
24
#ifndef NCSJPCNODE_H
25
#include "NCSJPCNode.h"
26
#endif // NCSJPCNODE_H
27

    
28
#ifdef NCSJPC_USE_LCMS
29
#include "lcms.h"
30
#endif // NCSJPC_USE_LCMS
31
        /**
32
         * CNCSJPCICC2RGBNode class - ICC profile to RGB colorspace conversion node using 
33
         * the LittleCM library available from www.littlecms.com.
34
         * 
35
         * @author       Simon Cope
36
         * @version      $Revision: 1458 $ $Author: igbrotru $ $Date: 2005-02-15 08:52:16 +0100 (Tue, 15 Feb 2005) $ 
37
         */        
38
class NCSJPC_EXPORT_ALL CNCSJPCICC2RGBNode: public CNCSJPCNode {
39
public:
40
                /** Default constructor, initialises members */
41
        CNCSJPCICC2RGBNode(class CNCSJPC &JPC, void *pICCProfile, UINT32 nLen);
42
                /** Virtual destructor */
43
        virtual ~CNCSJPCICC2RGBNode();
44

    
45
#ifdef NCSJPC_USE_LCMS
46
                /** 
47
                 * Read a BufferType line from the input.
48
                 * @param                nCtx                Read context
49
                 * @param                pDst                Destination buffer.
50
                 * @param                iComponent        Output Component
51
                 * @return      bool                true on succes, else false.
52
                 */
53
        virtual bool ReadLine(ContextID nCtx, CNCSJPCBuffer *pDst, UINT16 iComponent);
54
protected:
55
        cmsHPROFILE m_ICCProfile;
56
        cmsHPROFILE m_sRGBProfile;
57
        cmsHTRANSFORM m_Transform;
58
        class CNCSJPC *m_pJPC;
59

    
60
        static CNCSJPCNodeTracker        sm_Tracker;
61
#endif //NCSJPC_USE_LCMS
62
};
63

    
64
#endif // !NCSJPCICCNODE_H