BOOL
CBasicPanel::RunEngine(BYTE * pResultData)
{
m_bRunEngine = TRUE;
//if m_nContrast == 0 ,engine do not effect
m_pRunContrastSaturationImage(pResultData,RectWIDTH(g_pCommonParam->inRect),RectHEIGHT(g_pCommonParam->inRect)
,g_pCommonParam->dispRowBytes,m_nContrast,m_nSaturation);
if(m_ColorFilter.nFilterB != 255 || m_ColorFilter.nFilterG != 255 || m_ColorFilter.nFilterR != 255)
{
m_pRunPhotoFilterImage(pResultData,RectWIDTH(g_pCommonParam->inRect),RectHEIGHT(g_pCommonParam->inRect)
,g_pCommonParam->dispRowBytes,m_ColorFilter.nFilterR,m_ColorFilter.nFilterG,m_ColorFilter.nFilterB
,m_nOpacity,m_bKeepLumonisity);
}
//CROSS processed film
if(!m_pRadgAdvance)
return FALSE;
char sName[64] = {0};
m_pRadgAdvance->GetTurnOnRadioName(sName);
if(strcmp(sName,RADIO_CROSS) == 0)
{
//StarEffect======================initialization
//LRESULT ret;
//long width,height,nBitCount,nPitch;
MLong number=5,angel=0,length=8,width=0.1;
//MLong* pNumber=NULL,pAngel=NULL,pLength=NULL,pWidth=NULL;
MLong *pNumber=&number;
MLong *pAngel=&angel;
MLong *pLength=&length;
MLong *pWidth=&width;
TCHAR szText[10]={0};
// m_pStarEffectParam->GetEditInfo(EDT_NUMBER,pNumber);
// MLong number=(MLong)(*pNumber);
m_pStarEffectParamNumber= (MagEdit*)m_pPanel->GetElementByName("number_cedit",TRUE);//
m_pStarEffectParamNumber->_MagText()->GetText(szText,10);
number=_tstoi(szText);
m_pStarEffectParamNumber= (MagEdit*)m_pPanel->GetElementByName("angel_cedit",TRUE);//
m_pStarEffectParamNumber->_MagText()->GetText(szText,10);
angel=_tstoi(szText);
m_pStarEffectParamNumber= (MagEdit*)m_pPanel->GetElementByName("length_cedit",TRUE);//
m_pStarEffectParamNumber->_MagText()->GetText(szText,10);
length=_tstoi(szText);
m_pStarEffectParamNumber= (MagEdit*)m_pPanel->GetElementByName("width_cedit",TRUE);//
m_pStarEffectParamNumber->_MagText()->GetText(szText,10);
width=_tstoi(szText);
// m_pStarEffectParamNumber->GetEditInfo(EDT_NUMBER,pNumber);
PubMagic::MagText* pText=(MagText*)m_pStarEffectParamNumber;
//TCHAR* lpTextBuf=(TCHAR*)malloc(sizeof(MLong));
if(!m_pStarEffectParamNumber)
OutputDebugStringA("555555555555555555555");
//Mag0Inter(m_pStarEffectParamNumber, SELTXT, WP_SELTXT_GETTEXTW, sizeof(MLong), pNumber);
//Mag0Inter(pText, SELTXT, WP_SELTXT_GETTEXTW, sizeof(MLong), lpTextBuf);
//number=nnn;
if(*pNumber==0)
OutputDebugStringA("555555555555555555555");
if(number==5)
OutputDebugStringA("555555555555555555555");
m_pStarEffectParamAngel= (MagEdit*)m_pPanel->GetElementByName("angel_cedit",TRUE);//
if(!m_pStarEffectParamAngel)
OutputDebugStringA("555555555555555555555");
// Mag0Inter(m_pStarEffectParamAngel, SELTXT, WP_SELTXT_GETTEXTW, sizeof(MLong), pAngel);
// m_pStarEffectParamLength= (MagEdit*)m_pPanel->GetElementByName("length_cedit",TRUE);//
// Mag0Inter(m_pStarEffectParamLength, SELTXT, WP_SELTXT_GETTEXTW, sizeof(MLong), pLength);
// m_pStarEffectParamWidth= (MagEdit*)m_pPanel->GetElementByName("width_cedit",TRUE);//
// Mag0Inter(m_pStarEffectParamWidth, SELTXT, WP_SELTXT_GETTEXTW, sizeof(MLong), pWidth);
HANDLE phEffect=NULL;
void* memBuffer=malloc(20 *1024);
//void* memBuffer=g_pCommonParam->inDataBufID;
//HANDLE memHandle= MMemMgrCreate(memBuffer,sizeof(*memBuffer));
HANDLE memHandle= MMemMgrCreate(memBuffer,20 * 1024);
ASE_OFFSCREEN ImgIn=
{
RectWIDTH(g_pCommonParam->inRect),
RectHEIGHT(g_pCommonParam->inRect),
ASE_PAF_B8G8R8,
g_pCommonParam->inRowBytes,
pResultData
};
ASE_OFFSCREEN ImgOut=
{
RectWIDTH(g_pCommonParam->inRect),
RectHEIGHT(g_pCommonParam->inRect),//bottom-top
ASE_PAF_B8G8R8,
g_pCommonParam->dispRowBytes,
pResultData
};
/*PVOID pNumber=NULL,pAngel=NULL,pLength=NULL,pWidth=NULL;
m_pRadgAdvance->GetEditInfo(EDT_NUMBER,pNumber);
m_pRadgAdvance->GetEditInfo(EDT_NUMBER,pAngel);
m_pRadgAdvance->GetEditInfo(EDT_NUMBER,pLength);
m_pRadgAdvance->GetEditInfo(EDT_NUMBER,pWidth);*/
//ASE_PARAM Param={5,0,8,0.1};
ASE_PARAM Param={number,angel,length,width};
//StarEffect
//===========================
// m_pRunCrossProcessingImage(pResultData,RectWIDTH(g_pCommonParam->inRect),RectHEIGHT(g_pCommonParam->inRect),g_pCommonParam->dispRowBytes);
m_pRunCrossProcessingImage(memHandle,phEffect,&ImgIn,&ImgOut,&Param,NULL,NULL);
// m_pRunCrossProcessingImage(pResultData,RectWIDTH(g_pCommonParam->inRect),RectHEIGHT(g_pCommonParam->inRect),g_pCommonParam->dispRowBytes);
// m_pRunCrossProcessingImage(memHandle,phEffect,&ImgIn,&ImgOut,&Param,NULL,NULL);
}
else if((strcmp(sName,RADIO_BW) == 0))
{
m_pRunBlackAndWhite(pResultData,RectWIDTH(g_pCommonParam->inRect),RectHEIGHT(g_pCommonParam->inRect),g_pCommonParam->dispRowBytes);
}