#ifndef __RV_CALIX_H_INCLUDED_
#define __RV_CALIX_H_INCLUDED_

// The following ifdef block is the standard way of creating macros which make exporting 
// from a DLL simpler. All files within this DLL are compiled with the CALIX_EXPORTS
// symbol defined on the command line. this symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see 
// CALIX_API functions as being imported from a DLL, wheras this DLL sees symbols
// defined with this macro as being exported.
#ifdef CALIX_EXPORTS
#define CALIX_API __declspec(dllexport)
#else
#define CALIX_API __declspec(dllimport)
#endif



#include <sst\ucb.h>



//caliber id
#define RV_UC_CALI_AREA              (UC_CALI_BASE + 1)
 
#define RV_UC_BLOB_EXTRACTOR         (RV_UC_CALI_AREA + 256)
#define RV_UC_SURFACE_DEFECT         (RV_UC_BLOB_EXTRACTOR + 1)
#define RV_UC_BLOB_EXTRACTOR_USER    (RV_UC_BLOB_EXTRACTOR + 100) //BLOB类型的用户起始ID


#define  RV_UC_PATTERN_MATCH        (RV_UC_CALI_AREA + 512) 
#define  RV_UC_MATCH_CAL            (RV_UC_PATTERN_MATCH + 1)
#define  RV_UC_PATT_CAL             (RV_UC_PATTERN_MATCH + 2)

#define RV_UC_PATTERN_MATCH_USER    (RV_UC_PATTERN_MATCH + 100) //MATCH类型的用户起始ID

#define RV_UC_SYMBOL_READER          (RV_UC_CALI_AREA + 768)
#define RV_UC_SYMBOL_READER_USER     (RV_UC_SYMBOL_READER + 100) //MATCH类型的用户起始ID


#define RV_UC_BARCODE_READER         (RV_UC_CALI_AREA + 1024)
#define RV_UC_BARCODE_READER_USER    (RV_UC_BARCODE_READER + 100) //MATCH类型的用户起始ID


#define RV_UC_GAUGE                  (RV_UC_CALI_AREA + 1280)
#define RV_UC_GAUGE_USER             (RV_UC_GAUGE + 100) //GAUGE类型的用户起始ID

 
#define RV_UC_CALIBRATION            (RV_UC_CALI_AREA + 1536)
#define RV_UC_CALIBRATION_USER       (RV_UC_CALIBRATION + 100) //CALIBRATION类型的用户起始ID


#define RV_UC_COLOR                  (RV_UC_CALI_AREA + 1792) 
#define RV_UC_COLOR_USER             (RV_UC_COLOR + 100) //COLOR类型的用户起始ID


#define RV_UC_CALI_CURVE             (RV_UC_CALI_AREA + 2048)
#define RV_UC_CALI_CURVE_USER        (RV_UC_CALI_CURVE + 100) //CURVE类型的用户起始ID


#define RV_UC_CALI_USER_BASE          (RV_UC_CALI_AREA + 3072) //非分类的CALIBER 

#define RV_UC_CALI_MAX                UC_RACT_BASE
#define RV_UC_CALI_USER_MAX           RV_UC_CALI_MAX

#define CX_MAX_MIP_LEVEL   10




CALIX_API RV_HANDLE draw_pick_with_default_style(CCaliber* pCaliber, HGDC dc, RvPick pick, GPen* pCurPen, GRgb* pFillColor, RV_HANDLE hStroke) ;
 


CALIX_API int CheckMipLevel(const RvImage image,  int mipLevel, int minSize, int maxSize, float* pScale) ;














#endif //__RV_CALIX_H_INCLUDED_