/*----------------------------------------------------------------------------+ | LEADTOOLS for Windows - | | Copyright (c) 1991-2000 LEAD Technologies, Inc. | | All Rights Reserved. | |-----------------------------------------------------------------------------| | PROJECT : LEAD wrappers | | FILE NAME : ltcbtmap.h | | DESC : | +----------------------------------------------------------------------------*/ #ifndef _LEAD_BITMAP_H_ #define _LEAD_BITMAP_H_ /*----------------------------------------------------------------------------+ | CLASSES DECLARATION | +----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------+ | Class : LBitmap | | Desc : | | Notes : | +-----------------------------------------------------------------------------+ | Date : 27 may 1998 | +----------------------------------------------------------------------------*/ class LWRP_EXPORT LBitmap:public LBitmapBase { LEAD_DECLAREOBJECT(LBitmap); LEAD_DECLARE_CLASS_MAP(); public: L_VOID *m_extLBitmap; private: //BITMAPHANDLE BitmapRegion; //Used for Document Imaging functions //LBitmapBase *pBitmapRgn; //Used for Document Imaging functions static L_INT EXT_CALLBACK PicturizeCS( pBITMAPHANDLE pCellBitmap, L_INT x,L_INT y, L_VOID L_FAR * pUserData ); static L_INT EXT_CALLBACK SmoothCS( L_UINT32 uBumpOrNick, L_INT32 iStartRow, L_INT32 iStartCol, L_INT32 iLength, L_UINT32 uHorV, L_VOID L_FAR *pUserData ); static L_INT EXT_CALLBACK LineRemoveCS( HRGN hRgn, L_INT32 iStartRow, L_INT32 iStartCol, L_INT32 iLength, L_VOID L_FAR *pUserData ); static L_INT EXT_CALLBACK BorderRemoveCS( HRGN hRgn, L_UINT32 uBorderToRemove, PRECT pBoundingRect, L_VOID L_FAR *pUserData ); static L_INT EXT_CALLBACK InvertedTextCS( HRGN hRgn, PRECT pBoundingRect, L_INT32 iWhiteCount, L_INT32 iBlackCount, L_VOID L_FAR *pUserData ); static L_INT EXT_CALLBACK DotRemoveCS( HRGN hRgn, PRECT pBoundingRect, L_INT32 iWhiteCount, L_INT32 iBlackCount, L_VOID L_FAR *pUserData ); static L_INT EXT_CALLBACK HolePunchRemoveCS( HRGN hRgn, PRECT pBoundingRect, L_INT32 iHoleIndex, L_INT32 iHoleTotalCount, L_INT32 iWhiteCount, L_INT32 iBlackCount, L_VOID L_FAR *pUserData ); protected : virtual L_INT PicturizeCallBack( pBITMAPHANDLE pCellBitmap, L_INT x,L_INT y ); virtual L_INT SmoothCallBack( L_UINT32 uBumpOrNick, L_INT32 iStartRow, L_INT32 iStartCol, L_INT32 iLength, L_UINT32 uHorV ); virtual L_INT LineRemoveCallBack( HRGN hRgn, L_INT32 iStartRow, L_INT32 iStartCol, L_INT32 iLength ); virtual L_INT BorderRemoveCallBack( HRGN hRgn, L_UINT32 uBorderToRemove, PRECT pBoundingRect ); virtual L_INT InvertedTextCallBack( HRGN hRgn, PRECT pBoundingRect, L_INT32 iWhiteCount, L_INT32 iBlackCount ); virtual L_INT DotRemoveCallBack( HRGN hRgn, PRECT pBoundingRect, L_INT32 iWhiteCount, L_INT32 iBlackCount ); virtual L_INT HolePunchRemoveCallBack( HRGN hRgn, PRECT pBoundingRect, L_INT32 iHoleIndex, L_INT32 iHoleTotalCount, L_INT32 iWhiteCount, L_INT32 iBlackCount ); public : LBitmap(); LBitmap( L_UINT uWidth, L_UINT uHeight, L_UINT uBitsPerPixel=24, L_UINT uOrder=ORDER_BGRORGRAY, LPRGBQUAD pPalette=NULL, L_UINT uViewPerspective=TOP_LEFT, COLORREF crFill=0, L_UINT uMemory=TYPE_CONV ); LBitmap( BITMAPINFO L_FAR *pInfo, L_UCHAR L_FAR * pBits ); LBitmap( HDC hDC, HBITMAP hBitmap, HPALETTE hPalette ); LBitmap(pBITMAPHANDLE pBitmapHandle); virtual ~LBitmap(); LBitmap(LBitmap& LBitmapSrc); LBitmap& operator =(LBitmap& LBitmapSrc); virtual L_INT AddNoise(L_UINT uRange=500,L_UINT uChannel=CHANNEL_MASTER); virtual L_INT AutoTrim(L_INT uThreshold=0); virtual L_INT AverageFilter(L_UINT uDim=3); virtual L_INT BinaryFilter(LPBINARYFLT pFilter); virtual L_INT ChangeContrast(L_INT nChange); virtual L_INT ChangeHue(L_INT nAngle); virtual L_INT ChangeIntensity(L_INT nChange); virtual L_INT ChangeSaturation(L_INT nChange); virtual L_INT ColorMerge(LBitmap L_FAR* pLBitmaps, L_UINT uStructSize, L_UINT32 uFlags); virtual L_INT ColorSeparate(LBitmap L_FAR* pLBitmaps, L_UINT uStructSize,L_UINT32 uFlags); virtual L_INT Deskew(L_INT32 L_FAR* pnAngle, COLORREF crBack, L_UINT uFlags); virtual L_INT Despeckle(); virtual L_INT Smooth(LPSMOOTH pSmooth); virtual L_INT LineRemove(LPLINEREMOVE pLineRemove); virtual L_INT BorderRemove(LPBORDERREMOVE pBorderRemove); virtual L_INT InvertedText(LPINVERTEDTEXT pInvertedText); virtual L_INT DotRemove(LPDOTREMOVE pDotRemove); virtual L_INT HolePunchRemove(LPHOLEPUNCH pHolePunchRemove); virtual L_INT Emboss(L_UINT uDirection=EMBOSS_N,L_UINT uDepth=500); virtual L_INT GammaCorrect(L_UINT uGamma); virtual L_INT GetAutoTrimRect(L_UINT uThreshold,LPRECT pRect); virtual L_INT GetHistogram(L_UINT32 * pHisto, L_UINT uHistoLen, L_UINT uFlags); virtual L_INT Invert(); virtual L_INT HistoContrast(L_INT nChange); virtual L_INT IntensityDetect(L_UINT uLow,L_UINT uHigh,COLORREF crInColor,COLORREF crOutColor,L_UINT uChannel); virtual L_INT MaxFilter(L_UINT uDim=3); virtual L_INT MedianFilter(L_UINT uDim=3); virtual L_INT MinFilter(L_UINT uDim=3); virtual L_INT Oilify(L_UINT uDim=4); virtual L_INT Posterize(L_UINT uLevels=4); virtual L_INT Solarize(L_UINT uThreshold); virtual L_INT SpatialFilter(LPSPATIALFLT pFilter); virtual L_INT StretchIntensity(); virtual L_INT GetMinMaxBits(L_INT L_FAR* pnLowBit,L_INT L_FAR* pnHighBit); virtual L_INT GetMinMaxVal(L_INT L_FAR* puMinVal,L_INT L_FAR* puMaxVal); virtual L_INT RemapIntensity(L_UINT * pLUT, L_UINT uLUTLen, L_UINT uChannel); virtual L_INT Mosaic(L_UINT uDim=3); virtual L_INT Sharpen(L_INT nSharpness); virtual L_INT Picturize( L_TCHAR L_FAR * pszDirName, L_UINT uFlags, L_INT nCellWidth, L_INT nCellHeight ); virtual L_INT WindowLevel( L_INT nLowBit, L_INT nHighBit, RGBQUAD L_HUGE *pLUT, L_UINT uLUTLength, L_UINT uFlags ); virtual L_INT WindowLevelBitmap( L_INT nLowBit, L_INT nHighBit, RGBQUAD L_HUGE *pLUT, L_UINT uLUTLength, L_INT nOrderDst ); static L_INT WindowLevelFillLUT( RGBQUAD L_HUGE* pLUT, L_UINT32 ulLUTLen, COLORREF crStart, COLORREF crEnd, L_UINT nLow, L_UINT nHigh, L_UINT nLowBit, L_UINT nHighBit, L_UINT nMinValue, L_UINT nMaxValue, L_INT nFactor, L_UINT uFlags ); virtual L_INT ContourFilter( L_INT16 nThreshold, L_INT16 nDeltaDirection, L_INT16 nMaximumError, L_INT nOption ); virtual L_INT GaussianFilter(L_INT nRadius); virtual L_INT UnsharpMask(L_INT nAmount, L_INT nRadius, L_INT nThreshold, L_UINT uColorType); virtual L_INT GrayScaleExt(L_INT RedFact, L_INT GreenFact, L_INT BlueFact); virtual L_INT ConvertToColoredGray(L_INT RedFact, L_INT GreenFact, L_INT BlueFact, L_INT RedGrayFact, L_INT GreenGrayFact, L_INT BlueGrayFact); virtual L_INT BalanceColors(BALANCING * pRedFact, BALANCING * pGreenFact, BALANCING * pBlueFact); virtual L_INT SwapColors(L_INT nFlags); virtual L_INT LineProfile(POINT FirstPoint, POINT SecondPoint, L_UINT ** ppRed, L_UINT ** ppGreen, L_UINT ** ppBlue); virtual L_INT HistoEqualize(L_INT nFlag); virtual L_INT AntiAlias(L_UINT uThreshold, L_UINT uDim, L_UINT uFilter); virtual L_INT EdgeDetector(L_UINT uThreshold, L_UINT uFilter); virtual L_INT RemoveRedEye(COLORREF rcNewColor, L_UINT uThreshold, L_INT nLightness); virtual L_INT MotionBlur(L_UINT uDim, L_INT nAngle, L_BOOL bUnidirectional); virtual L_INT PicturizeList(L_UINT uxDim, L_UINT uyDim, L_UINT uLightnessFact, LBitmapList * pBitmapList); virtual L_INT PicturizeSingle(LBitmapBase * pThumbBitmap, L_UINT uxDim, L_UINT uyDim, L_UINT uGammaFact); virtual L_INT GetFunctionalLookupTable(L_UINT * pLookupTable, L_UINT uLookupLen, L_UINT uStart, L_UINT uEnd, L_INT nFactor, L_UINT uFlag); virtual L_INT GetUserLookupTable(L_UINT * pLookupTable, L_UINT uLookupLen, POINT * apUserPoint, L_UINT uUserPointCount, L_UINT * puPointCount); virtual L_INT AddBorder(LPADDBORDERINFO pAddBorderInfo); virtual L_INT AddFrame(LPADDFRAMEINFO pAddFrameInfo); virtual L_INT Multiply(L_UINT uFactor); virtual L_INT RemapHue(L_UINT L_FAR * pMask,L_UINT L_FAR * pHTable,L_UINT L_FAR * pSTable,L_UINT L_FAR * pVTable,L_UINT uLUTLen); virtual L_INT AddWeighted(LBitmapList *pBitmapList,L_UINT L_FAR * puFactor,L_UINT uFlag); virtual L_INT AddWeighted(HBITMAPLIST hBitmapList,L_UINT L_FAR * puFactor,L_UINT uFlag); virtual L_INT LocalHistoEqualize(L_INT nWidthLen,L_INT nHeightLen,L_INT nxExt,L_INT nyExt,L_UINT uType,L_UINT uSmooth); virtual L_INT Pixelate(L_UINT uCellWidth,L_UINT uCellHeight,L_UINT uOpacity,POINT CenterPt, L_UINT uFlags); virtual L_INT Wind(L_UINT uDim,L_INT nAngle,L_UINT uOpacity); virtual L_INT Impressionist(L_UINT uHorzDim,L_UINT uVertDim); virtual L_INT Wave(L_UINT uAmplitude,L_UINT uWaveLen,L_INT nAngle,L_UINT uHorzFact,L_UINT uVertFact,COLORREF crFill,L_UINT uFlags); virtual L_INT ZoomWave(L_UINT uAmplitude,L_UINT uFrequency,L_INT nPhase,L_UINT uZomFact,POINT pCenter,COLORREF crFill,L_UINT uFlag); virtual L_INT RadWave(L_UINT uAmplitude,L_UINT uWaveLen,L_INT nPhase,POINT pCenter,COLORREF crFill,L_UINT uFlag); virtual L_INT FreeHandShear(L_INT L_FAR *pAmplitudes,L_UINT uAmplitudesCount,L_UINT uScale,COLORREF crFill,L_UINT uFlags); virtual L_INT FreeHandWave(L_INT L_FAR * pAmplitudes,L_UINT uAmplitudesCount,L_UINT uScale,L_UINT uWaveLen,L_INT nAngle,COLORREF crFill,L_UINT uFlags); virtual L_INT AddMessage(LPADDMESGINFO pAddMesgInfo); virtual L_INT ExtractMessage(LPADDMESGINFO pAddMesgInfo); virtual L_INT Spherize(L_INT nValue,POINT CenterPt,COLORREF crFill,L_UINT uFlags); virtual L_INT Cylindrical(L_INT nValue,L_UINT uType); virtual L_INT Bending(L_INT nValue,POINT CenterPt,COLORREF crFill,L_UINT uFlags); virtual L_INT Punch(L_INT nValue,L_UINT uStress,POINT CenterPt,COLORREF crFill,L_UINT uFlags); virtual L_INT Ripple(L_UINT uAmplitude,L_UINT uFrequency,L_INT nPhase,L_UINT uAttenuation,POINT CenterPt,COLORREF crFill,L_UINT uFlag); virtual L_INT Polar(COLORREF crFill,L_UINT uFlags); virtual L_INT RadialBlur(L_UINT uDim,L_UINT uStress,POINT CenterPt); static L_INT GetCurvePoints(L_INT L_FAR* pCurve,POINT L_FAR* apUserPoint,L_UINT uUserPointCount,L_UINT L_FAR * puPointCount,L_UINT uFlag); virtual L_INT ZoomBlur(L_UINT uDim,L_UINT uStress,POINT CenterPt); virtual L_INT Swirl(L_INT nRotationAngle,POINT CenterPt); virtual L_INT Deinterlace(L_UINT uFlags); virtual L_INT SampleTarget(COLORREF crSample,COLORREF crTarget,L_UINT uFlags); virtual L_INT HalfTone(L_UINT uType,L_INT32 nAngle,L_UINT uDim,LBitmapList * pBitmapList); virtual L_INT HalfTone(L_UINT uType,L_INT32 nAngle,L_UINT uDim, HBITMAPLIST hBitmapList); virtual L_INT Cubism(L_UINT uSpace, L_UINT uLength, L_INT nBrightness, L_INT nAngle, COLORREF crColor, L_UINT uFlags); virtual L_INT LightControl(L_UINT L_FAR * puLowerAvr, L_UINT L_FAR * puAvrage, L_UINT L_FAR * puUpperAvr, L_UINT uFlag); virtual L_INT GlassEffect(L_UINT uCellWidth, L_UINT uCellHeight, L_UINT uFlags); virtual L_INT LensFlare(POINT ptCenter, L_UINT uBright, L_UINT uFlag, COLORREF crColor); virtual L_INT BumpMap(LBitmap *pBumpBitmap, LPBUMPDATA pBumpData); virtual L_INT BumpMap(pBITMAPHANDLE hBumpBitmap, LPBUMPDATA pBumpData); virtual L_INT GlowFilter( L_UINT uDim, L_UINT uBright, L_UINT uThreshold); virtual L_INT EdgeDetectStatistical(L_UINT uDim, L_UINT uThreshold, COLORREF crEdgeColor, COLORREF crBkColor); virtual L_INT Desaturate(); virtual L_INT SmoothEdges(L_UINT nAmount, L_UINT nThreshold); virtual L_INT AutoBinary(); virtual L_INT Binary(L_UINT uLow, L_UINT uHigh, COLORREF crInColor, COLORREF crOutColor, L_UINT uChannel); virtual L_INT ChannelMix (pCOLORDATA pRedFactor, pCOLORDATA pGreenFactor, pCOLORDATA pBlueFactor); virtual L_INT Plane(POINT ptCenterPoint, L_UINT uZValue, L_INT nDistance, L_UINT uPlaneOffset, L_INT nRepeat, L_INT nPydAngle, L_UINT uStretch, L_UINT uStartBright, L_UINT uEndBright, L_UINT uBrightLength, COLORREF crBright, COLORREF crFill, L_UINT uFlags); virtual L_INT PlaneBend(POINT ptCenterPoint, L_UINT uZValue, L_INT nDistance, L_UINT uPlaneOffset, L_INT nRepeat, L_INT nPydAngle, L_UINT uStretch, L_UINT uBendFactor, L_UINT uStartBright, L_UINT uEndBright, L_UINT uBrightLength, COLORREF crBright, COLORREF crFill, L_UINT uFlags); virtual L_INT Tunnel(POINT ptCenterPoint, L_UINT uZValue, L_INT nDistance, L_UINT nRad, L_INT nRepeat, L_INT nRotationOffset, L_UINT uStretch, L_UINT uStartBright, L_UINT uEndBright, L_UINT uBrightLength, COLORREF crBright, COLORREF crFill, L_UINT uFlags); virtual L_INT FreeRadBend(L_INT L_FAR * pCurve, L_UINT uCurveSize, L_UINT uScale, POINT CenterPt, COLORREF crFill, L_UINT uFlags); virtual L_INT FreePlaneBend(L_INT L_FAR * puCurve, L_UINT uCurveSize, L_UINT uScale, COLORREF crFill, L_UINT uFlags); virtual L_INT Ocean(L_UINT uAmplitude, L_UINT uFrequency, L_BOOL bLowerTrnsp); virtual L_INT Light(LPLIGHTINFO pLightInfo, L_UINT uLightNo, L_UINT uBright, L_UINT uAmbient, COLORREF crAmbientClr); virtual L_INT Dry(L_UINT uDim); virtual L_INT DrawStar(LPSTARINFO pStarInfo); virtual L_INT GrayScaleToDuotone(LPRGBQUAD pNewColor,COLORREF crColor,L_UINT uFlag); virtual L_INT GrayScaleToMultitone(L_UINT uToneType,L_UINT uDistType,LPCOLORREF pColor,LPRGBQUAD L_FAR * pGradient,L_UINT uFlags); virtual L_INT Skeleton(L_UINT uThreshold); virtual L_INT ColorLevel(pLVLCLR pLvlClr,L_UINT uFlag); virtual L_INT AutoColorLevel(pLVLCLR pLvlClr,L_UINT uBlackClip,L_UINT uWhiteClip,L_UINT uFlag); virtual L_INT SelectiveColor(pSELCLR pSelClr); virtual L_INT Correlation(pBITMAPHANDLE pCorBitmap, POINT L_FAR * pPoints, L_UINT uMaxPoints, L_UINT L_FAR * puNumOfPoints, L_UINT uXStep, L_UINT uYStep, L_UINT uThreshold); virtual L_INT Correlation(LBitmapBase *plCorBitmap, POINT L_FAR * pPoints, L_UINT uMaxPoints, L_UINT L_FAR * puNumOfPoints, L_UINT uXStep, L_UINT uYStep, L_UINT uThreshold); virtual L_INT SetOverlay(L_INT nIndex,pBITMAPHANDLE pOverlayBitmap, L_UINT uFlags); virtual L_INT SetOverlay(L_INT nIndex, LBitmapBase L_FAR* pOverlayBitmap, L_UINT uFlags); virtual L_INT GetOverlay(L_INT nIndex,pBITMAPHANDLE pOverlayBitmap,L_UINT uStructSize,L_UINT uFlags); virtual L_INT GetOverlay(L_INT nIndex,LBitmapBase L_FAR* pBitmap,L_UINT uStructSize,L_UINT uFlags); virtual L_INT SetOverlayAttributes(L_INT nIndex, pOVERLAYATTRIBUTES pOverlayAttributes, L_UINT uFlags); virtual L_INT GetOverlayAttributes(L_INT nIndex, pOVERLAYATTRIBUTES pOverlayAttributes, L_UINT uStructSize, L_UINT uFlags); virtual L_INT UpdateOverlayBits(L_INT nIndex,L_UINT uFlags); virtual L_UINT GetOverlayCount(L_UINT uFlags); virtual L_INT Scramble ( L_INT32 nColStart, L_INT32 nRowStart, L_INT32 nWidth, L_INT32 nHeight, L_UINT32 uKey, L_UINT uFlags ); virtual L_INT ApplyModalityLUT( L_UINT16 L_FAR *pLUT, pDICOMLUTDESCRIPTOR pLUTDescriptor, L_UINT uFlags ); virtual L_INT ApplyLinearModalityLUT( L_DOUBLE fIntercept, L_DOUBLE fSlope, L_UINT uFlags ); virtual L_INT ApplyVOILUT( L_UINT16 L_FAR* pLUT , pDICOMLUTDESCRIPTOR pLUTDescriptor , L_UINT uFlags ); virtual L_INT ApplyLinearVOILUT( L_DOUBLE fCenter , L_DOUBLE fWidth , L_UINT uFlags ); // Group 4 virtual L_INT AddShadow(L_UINT uAngle,L_UINT uThreshold,L_UINT uFlags); virtual L_INT AllocFTArray(pFTARRAY L_FAR * ppFTArray,L_UINT uStructSize); virtual L_INT ChangeHueSatInt(L_INT nHue,L_INT nSaturation,L_INT nIntensity,LPHSIDATA pHsiData,L_UINT uHsiDataCount); virtual L_INT ColorReplace(LPCOLORREPLACE pColorReplace,L_UINT uColorCount,L_INT nHue,L_INT nSaturation,L_INT nBrightness); virtual L_INT ColorThreshold(L_UINT uColorSpace,LPCOMPDATA pCompData); virtual L_INT DFT(pFTARRAY pFTArray,RECT L_FAR * prcRange,L_UINT uFlags); virtual L_INT DirectionEdgeStatistical(L_UINT uDim,L_UINT uThreshold,L_INT nAngle,COLORREF crEdgeColor,COLORREF crBkColor); virtual L_INT FFT(pFTARRAY pFTArray,L_UINT uFlags); static L_INT FreeFTArray(pFTARRAY pFTArray); virtual L_INT FTDisplay(pFTARRAY pFTArray,L_UINT uFlags); static L_INT FrqFilter(pFTARRAY pFTArray,LPRECT prcRange,L_UINT uFlags); virtual L_INT FrqFilterMask(pFTARRAY pFTArray,L_BOOL bOnOff); virtual L_INT GetStatisticsInfo(LPSTATISTICSINFO pStatisticsInfo,L_UINT uChannel,L_UINT uStart,L_UINT uEnd); static L_INT GetFeretsDiameter(POINT L_FAR * pPoints,L_UINT uSize,L_UINT L_FAR * puFeretsDiameter,L_UINT L_FAR * puFirstIndex,L_UINT L_FAR * puSecondIndex); virtual L_INT GetObjectInfo(L_UINT L_FAR * puX,L_UINT L_FAR * puY,L_INT L_FAR * pnAngle,L_UINT L_FAR * puRoundness,L_BOOL bWeighted); virtual L_INT GetRgnContourPoints(pRGNXFORM pXForm,POINT L_FAR * L_FAR * ppPoints,L_UINT L_FAR * puSize); virtual L_INT GetRgnPerimeterLength(pRGNXFORM pXForm,L_UINT L_FAR * puLength); virtual L_INT MathFunction(L_UINT uMType,L_UINT uFactor); virtual L_INT RevEffect(L_UINT uLineSpace,L_UINT uMaximumHeight); virtual L_INT Segment(L_UINT uThreshold,L_UINT uFlag); virtual L_INT SubtractBackground(L_UINT uRollingBall,L_UINT uShrinkSize,L_UINT uBrightnessFactor,L_UINT uFlags); virtual L_INT UserFilter(LPUSERFLT pFilter); // Group 5 virtual L_INT AdaptiveContrast(L_UINT uDim,L_UINT uAmount,L_UINT uFlag); virtual L_INT Aging(L_UINT uHScratchCount,L_UINT uVScratchCount,L_UINT uMaxScratchLen,L_UINT uDustDensity,L_UINT uPitsDensity,L_UINT uMaxPitSize,COLORREF crScratch,COLORREF crDust,COLORREF crPits,L_UINT uFlags); virtual L_INT ApplyMathLogic(L_INT nFactor, L_UINT uFlags); virtual L_INT ColorIntensityBalance(LPBALANCEDATA pShadows,LPBALANCEDATA pMidTone,LPBALANCEDATA pHighLight,L_BOOL bLuminance); virtual L_INT ColorizeGray(pBITMAPHANDLE pSrcBitmap,pGRAYCOLOR pGrayColors,L_UINT uCount); virtual L_INT ColorizeGray(LBitmapBase *plSrcBitmap,pGRAYCOLOR pGrayColors,L_UINT uCount); virtual L_INT ContBrightInt(L_INT nContrast,L_INT nBrightness, L_INT nIntensity); virtual L_INT DiceEffect(L_UINT uXBlock,L_UINT uYBlock,L_UINT uRandomize,L_UINT uFlags,COLORREF crColor); virtual L_INT DigitalSubtract(pBITMAPHANDLE pMaskBitmap,L_UINT uFlags); virtual L_INT DigitalSubtract(LBitmapBase * plMaskBitmap,L_UINT uFlags); virtual L_INT DynamicBinary(L_UINT uDim,L_UINT uLocalContrast); virtual L_INT EdgeDetectEffect(L_UINT uLevel,L_UINT uThreshold,L_UINT uFlags); virtual L_INT FunctionalLight(LPLIGHTPARAMS pLightParams); virtual L_INT MultiScaleEnhancement(L_UINT uContrast,L_UINT uEdgeLevels,L_UINT uEdgeCoeff,L_UINT uLatitudeLevels,L_UINT uLatitudeCoeff,L_UINT uFlags); virtual L_INT PuzzleEffect(L_UINT uXBlock,L_UINT uYBlock,L_UINT uRandomize,L_UINT uFlags,COLORREF crColor); virtual L_INT RingEffect(L_INT nXOrigin,L_INT nYOrigin,L_UINT uRadius,L_UINT uRingCount,L_UINT uRandomize, COLORREF crColor,L_INT nAngle,L_UINT uFlags); virtual L_INT SelectData(pBITMAPHANDLE pDstBitmap,COLORREF crColor,L_UINT uSrcLowBit,L_UINT uSrcHighBit,L_UINT uThreshold,L_BOOL bCombine); virtual L_INT SelectData(LBitmapBase * plDstBitmap,COLORREF crColor,L_UINT uSrcLowBit,L_UINT uSrcHighBit,L_UINT uThreshold,L_BOOL bCombine); virtual L_INT ShiftData(pBITMAPHANDLE pSrcBitmap,L_UINT uSrcLowBit,L_UINT uSrcHighBit,L_UINT uDstLowBit,L_UINT uDstBitsPerPixel); virtual L_INT ShiftData(LBitmapBase * plSrcBitmap,L_UINT uSrcLowBit,L_UINT uSrcHighBit,L_UINT uDstLowBit,L_UINT uDstBitsPerPixel); virtual L_INT TextureAlphaBlend(L_INT nXDst,L_INT nYDst,L_INT nWidth,L_INT nHeight,pBITMAPHANDLE pBitmapSrc,L_INT nXSrc,L_INT nYSrc,pBITMAPHANDLE pBitmapMask,L_INT nOpacity,pBITMAPHANDLE pBitmapUnderlay,LPPOINT pOffset); virtual L_INT TextureAlphaBlend(L_INT nXDst,L_INT nYDst,L_INT nWidth,L_INT nHeight,LBitmapBase *plBitmapSrc,L_INT nXSrc,L_INT nYSrc,LBitmapBase *plBitmapMask,L_INT nOpacity,LBitmapBase *plBitmapUnderlay,LPPOINT pOffset); // Group 6 virtual L_INT IsRegMark(L_UINT uType,L_UINT uMinScale,L_UINT uMaxScale,L_UINT uWidth,L_UINT uHeight); virtual L_INT GetMarksCenterMass(POINT L_FAR * pMarkPoints,POINT L_FAR * pMarkCMPoints,L_UINT uMarksCount); virtual L_INT SearchRegMarks(LPSEARCHMARKS pSearchMarks,L_UINT uMarkCount); virtual L_INT GetTransformationParameters(POINT L_FAR * pRefPoints,POINT L_FAR * pTrnsPoints,L_INT L_FAR * pnXTranslation,L_INT L_FAR * pnYTranslation,L_INT L_FAR * pnAngle,L_UINT L_FAR * puXScale,L_UINT L_FAR * puYScale); virtual L_INT ApplyTransformationParameters(L_INT nXTranslation,L_INT nYTranslation,L_INT nAngle,L_UINT uXScale,L_UINT uYScale,L_UINT uFlags); virtual L_INT Add(LBitmapList * pBitmapList, L_UINT uFlag = BC_ADD); static L_INT CountLUTColors(RGBQUAD L_HUGE * pLUT,L_UINT32 ulLLUTLen,L_UINT * pNumberOfEntries,L_INT * pFirstIndex,L_UINT uFlags); virtual L_INT GetLinearVOILUT(L_DOUBLE *pCenter,L_DOUBLE *pWidth,L_UINT uFlags); virtual L_INT ConvertSignedToUnsigned(L_UINT uShift); virtual L_INT ConvertUnsignedToSigned(L_UINT uFlag); //Used for Document Imaging functions //virtual L_INT LBitmap::GetDocImageRgn(LBitmapBase *pDocImageRgn); L_INT Perlin (L_UINT32 uSeed, L_UINT uFrequency, L_UINT uIteration, L_UINT uOpacity, COLORREF crBClr, COLORREF crFClr, L_INT nxCircle, L_INT nyCircle, L_INT nFreqLayout, L_INT nDenLayout, L_UINT uFlags); L_INT ShiftMinimumToZero (L_UINT L_FAR * puShiftAmount); L_INT ShiftZeroToNegative (L_INT nShiftAmount,L_INT nMinInput,L_INT nMaxInput,L_INT nMinOutput,L_INT nMaxOutput); L_INT ColoredPencil (L_UINT uRatio, L_UINT uDim); L_INT SetKaufmannRgn (pBITMAPHANDLE pProcessedBitmap, L_INT nRadius, L_INT nMinInput, L_INT nMaxInput, L_INT nRgnThreshold, POINT ptRgnStart, L_BOOL bRemoveHoles, L_UINT32 L_FAR * puPixelsCount, L_UINT uCombineMode); L_INT Canvas(LBitmapBase *plCanvasBitmap, L_UINT uTransparency, L_UINT uEmboss, L_INT nXOffset, L_INT nYOffset, L_UINT uTilesOffset, L_UINT uFlags); L_INT Canvas(pBITMAPHANDLE phCanvasBitmap, L_UINT uTransparency, L_UINT uEmboss, L_INT nXOffset, L_INT nYOffset, L_UINT uTilesOffset, L_UINT uFlags); L_INT DisplaceMap(LBitmapBase *plDisplaceBitmap, L_UINT uHorzFact, L_UINT uVertFact, COLORREF crFill, L_UINT uFlags); L_INT DisplaceMap(pBITMAPHANDLE phDisplaceBitmap, L_UINT uHorzFact, L_UINT uVertFact, COLORREF crFill, L_UINT uFlags); L_INT CorrelationList(HBITMAPLIST hCorList, POINT L_FAR * pPoints, L_UINT L_FAR * puListIndex, L_UINT uMaxPoints, L_UINT L_FAR * puNumOfPoints, L_UINT uXStep, L_UINT uYStep, L_UINT uThreshold); L_INT Perspective (POINT L_FAR * pPoints,COLORREF crBkgColor,L_UINT uFlags); L_INT ColoredBalls (L_UINT uNumBalls, L_UINT uSize, L_UINT uSizeVariation, L_INT nHighLightAng, COLORREF crHighLight, COLORREF crBkgColor, COLORREF crShadingColor, COLORREF L_FAR * pBallColors, L_UINT uNumOfBallColors, L_UINT uAvrBallClrOpacity, L_UINT uBallClrOpacityVariation, L_UINT uRipple, L_UINT uFlags); L_INT AdjustTint (L_INT nAngleA, L_INT nAngleB); L_INT HalfTonePattern (L_UINT uContrast, L_UINT uRipple, L_UINT uAngleContrast, L_UINT uAngleRipple, L_INT nAngleOffset, COLORREF crForGround, COLORREF crBackGround, L_UINT uFlag); L_INT Pointillist (L_UINT uSize, COLORREF crColor, L_UINT uFlag); L_INT ColorHalfTone (L_UINT uMaxRad, L_INT nCyanAngle, L_INT nMagentaAngle, L_INT nYellowAngle, L_INT nBlackAngle); L_INT RomanMosaic (L_UINT uTileWidth, L_UINT uTileHeight, L_UINT uBorder, L_UINT uShadowAngle, L_UINT uShadowThresh, COLORREF crColor, L_UINT uFlags); L_INT Vignette (LPVIGNETTEINFO pVignetteInfo); L_INT MosaicTiles (LPMOSAICTILESINFO pMosaicTilesInfo); L_INT Fragment (L_UINT uOffset, L_UINT uOpacity); L_INT Clouds (L_UINT uSeed, L_UINT uFrequency, L_UINT uDensity, L_UINT uOpacity, COLORREF cBackColor, COLORREF crCloudsColor, L_UINT uFlag); L_INT Offset (L_INT nHorizontalShift, L_INT nVerticalShift, COLORREF crBackColor, L_UINT uFlag); L_INT BricksTexture (L_UINT uBricksWidth, L_UINT uBricksHeight, L_UINT uOffsetX, L_UINT uOffsetY, L_UINT uEdgeWidth, L_UINT uMortarWidth, L_UINT uShadeAngle, L_UINT uRowDifference, L_UINT uMortarRoughness, L_UINT uMortarRoughnessEevenness, L_UINT uBricksRoughness, L_UINT uBricksRoughnessEevenness, COLORREF crMortarColor, L_UINT uFlags); L_INT PlasmaFilter (LPPLASMAINFO PlasmaInfo); L_INT MaskConvolution (L_INT nAngle, L_UINT uDepth, L_UINT uHeight, L_UINT uFlag); L_INT GammaCorrectExt (L_UINT uGamma, L_UINT uFlag); L_INT HighPassFilter (L_UINT uRadius, L_UINT uOpacity); L_INT ZigZag (L_UINT uAmplitude, L_UINT uAttenuation, L_UINT uFrequency, L_INT nPhase, POINT CenterPt, COLORREF crFill, L_UINT uFlags); L_INT DeskewExt (L_INT32 L_FAR *pnAngle, L_UINT uAngleRange, L_UINT uAngleResolution, COLORREF crBack, L_UINT uFlags); L_INT DiffuseGlow (L_INT nGlowAmount, L_UINT uClearAmount, L_UINT uSpreadAmount, L_UINT uWhiteNoise, COLORREF crGlowColor); }; #endif //_LEAD_BITMAP_H_ /*================================================================= EOF =====*/