/*
-----------------------------------------------------------------------------
You are reqiured to use AknIconUtils since icons can be used in different 
sizes, thus usually Y-Browser asks the icon with TSize(0,0) and re-sizes
it later as required, when using other methods than AknIconUtils, the
resizing will not work correctly
----------------------------------------------------------------------------
*/
CGulIcon* CYBRecognizer1::GetListIconL(const TSize& aIconsize,const TDesC& aFileName, TInt aImg, TInt aMsk)
{
	CFbsBitmap* FrameMsk(NULL);
	CFbsBitmap* FrameImg(NULL);
	
	if(aMsk >= 0)
	{
		AknIconUtils::CreateIconL(FrameImg,FrameMsk,aFileName,aImg,aMsk);
	}
	else
	{
		FrameImg = AknIconUtils::CreateIconL(aFileName, aImg);
	}
	
	if(FrameImg)
	{
		// do not resize if the size is TSize(0,0)
		if(aIconsize.iHeight > 0 && aIconsize.iWidth > 0)
		{
			AknIconUtils::SetSize(FrameImg,aIconsize,EAspectRatioPreserved);  
					
			if(FrameMsk)
			{
				AknIconUtils::SetSize(FrameMsk,aIconsize,EAspectRatioPreserved);	
			}
		}
	}
	
	return CGulIcon::NewL(FrameImg,FrameMsk);
} 
/*
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
*/
CGulIcon* CTraceContainer::LoadImageL(const TDesC& aFileName, TInt aImg, TInt aMsk,const TSize& aSize,TScaleMode aAspect)
{
	CFbsBitmap* FrameImg(NULL);
	CFbsBitmap* FrameMsk(NULL);

	TInt MaskId(aMsk);
	TInt UseIndex(aImg);
			
	if(AknIconUtils::IsMifFile(aFileName))
	{
		AknIconUtils::ValidateLogicalAppIconId (aFileName, UseIndex, MaskId); 
	}
	
	AknIconUtils::CreateIconL(FrameImg, FrameMsk, aFileName, UseIndex, MaskId);

	if(aAspect)
	{
		AknIconUtils::SetSize(FrameImg,aSize,aAspect);  
		AknIconUtils::SetSize(FrameMsk,aSize,aAspect); 
	}
	else
	{
		AknIconUtils::SetSize(FrameImg,aSize,aAspect);  
		AknIconUtils::SetSize(FrameMsk,aSize,aAspect); 	
	}
	
	CGulIcon* Ret = CGulIcon::NewL(FrameImg,FrameMsk);

	return Ret;
}
Exemple #3
0
// загрузить рамку из директории
void LoadTheme(FrameThemeObj& fto)
{
//     if( !thm_path && !*thm_path )
//         return;
//
//     // убираем '/' в конце, если нужно
//     thmPath = thm_path;
//     if( thmPath[thmPath.length()-1] == '/' )
//         thmPath.resize(thmPath.length()-1);
//
//     std::string path(thmPath);
//     path += "/frame.png";
// //     framImg.read(path);
//     LoadThemeFrame(framImg, path.c_str(), mdPlc);
//
//     path  = thmPath;
//     path += "/vframe.png";
// //     vframImg.read(path);
//     LoadThemeFrame(vframImg, path.c_str(), mdPlc);

    Rect md_plc = fto.Placement();
    fs::path pth = Project::FindThemePath(Project::ThemeOrDef(fto.Theme()));
    LoadThemeFrame(FrameImg(fto),  (pth / "frame.png").string(),  md_plc);
    LoadThemeFrame(VFrameImg(fto), (pth / "vframe.png").string(), md_plc);
}
/*
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
*/
CGulIcon* CMySplashScreen::LoadImageL(const TDesC& aFileName, TInt aImg, TInt aMsk,const TSize& aSize)
{
	CFbsBitmap* FrameImg(NULL);
	CFbsBitmap* FrameMsk(NULL);

	AknIconUtils::CreateIconL(FrameImg, FrameMsk, aFileName, aImg, aMsk);

	AknIconUtils::SetSize(FrameImg,aSize,EAspectRatioPreservedAndUnusedSpaceRemoved);  
	AknIconUtils::SetSize(FrameMsk,aSize,EAspectRatioPreservedAndUnusedSpaceRemoved); 

	CGulIcon* Ret = CGulIcon::NewL(FrameImg,FrameMsk);

	return Ret;
}
Exemple #5
0
void Composite(Magick::Image& canv_img, const Magick::Image& obj_img, FrameThemeObj& fto)
{
    Magick::Image img;
    Rect mdPlc = fto.Placement();
    Point sz   = mdPlc.Size();
    ZoomImage(img, obj_img, sz.x, sz.y);

    // сначала скопируем маску в изображение,
    // которое накладываем, используя опять же composite(CopyOpacityCompositeOp)
    // 1 включаем прозрачность
    img.matte(true);
    // 2 копируем прозрачность с рамки
    img.composite(VFrameImg(fto), 0, 0, MagickLib::CopyOpacityCompositeOp);

    // 3 накладываем результат c альфа-блэндингом (OverCompositeOp)
    canv_img.composite(FrameImg(fto), mdPlc.lft, mdPlc.top, MagickLib::OverCompositeOp);
    canv_img.composite(img, mdPlc.lft, mdPlc.top, MagickLib::OverCompositeOp);
}
/*
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
*/
void CMainContainer::AddIconL(CArrayPtr<CGulIcon>* aIcon,const TSize& aIconsize,const TDesC& aFileName, TInt aImg, TInt aMsk)
{
	CFbsBitmap* FrameImg(NULL);
	CFbsBitmap* FrameMsk(NULL);
	
	TInt BgIndex(aImg),BgMask(aMsk);
	
	if(AknIconUtils::IsMifFile(aFileName))
	{
		AknIconUtils::ValidateLogicalAppIconId(aFileName, BgIndex,BgMask); 
	}
	
	AknIconUtils::CreateIconL(FrameImg, FrameMsk, aFileName,BgIndex,BgMask);
	
	if(aIconsize.iHeight > 0 && aIconsize.iWidth > 0)
	{
		AknIconUtils::SetSize(FrameImg,aIconsize,EAspectRatioPreserved);  
		AknIconUtils::SetSize(FrameMsk,aIconsize,EAspectRatioPreserved); 
	}


	aIcon->AppendL(CGulIcon::NewL(FrameImg,FrameMsk));
}