📄 interface_pixelprocessor.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 + -