⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 interface_pixelprocessor.h

📁 本人有关PLC测试源码
💻 H
字号:
/*
 *   Copyright (C) =USTC= Fu Li
 *
 *   Author   :  Fu Li
 *   Create   :  2004-2-21
 *   Home     :  http://www.crazy-bit.com/
 *   Mail     :  crazybit@263.net
 *   History  :  
 */
#ifndef __PCL_INTERFACE_PIXEL_PROCESSOR__2004_02_21__H__
#define __PCL_INTERFACE_PIXEL_PROCESSOR__2004_02_21__H__
#include "../StdDefine.h"
class FCObjImage ; // external class

class FCInterface_PixelProcess ;

//=============================================================================
/**
 *  Pixel processor interface.
 */
class FCInterface_PixelProcess
{
public:
    FCInterface_PixelProcess() : m_prcImg(0) {}
    virtual ~FCInterface_PixelProcess() {if(m_prcImg)  delete m_prcImg;}

    /// Whether the image can be disposed by this processor.
    virtual BOOL ValidateColorBits (const FCObjImage* pImg) =0 ;

    /// Before process.
    virtual void OnEnterProcess (FCObjImage* pImg, RECT& rcImg) {}
    /// Process (x,y) pixel
    virtual void ProcessPixel (FCObjImage* pImg, int x, int y, BYTE* pPixel) {}
    /// After process.
    virtual void OnLeaveProcess (FCObjImage* pImg) {}

    /// RECT on image that will be process.
    RECT* GetProcessRect() const  {return m_prcImg;}
    /// Set RECT of processed image.
    void SetProcessRect (const RECT* prcImg) ;

private:
    RECT     * m_prcImg ;
} ;

//=============================================================================
// inline Implement
//=============================================================================
inline void FCInterface_PixelProcess::SetProcessRect (const RECT* prcImg)
{
    if (prcImg == 0)
    {
        // the region is whole image
        if (m_prcImg)
            delete m_prcImg ;
        m_prcImg = 0 ;
    }
    else
    {
        if (m_prcImg == 0)
            m_prcImg = new RECT ;
        *m_prcImg = *prcImg ;
    }
}

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -