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

📄 imageconvertercontainer.cpp

📁 symbian上显示图象同时具有放大和旋转功能
💻 CPP
字号:
/*
* ============================================================================
*  Name     : CImageConverterContainer from ImageConverterContainer.h
*  Part of  : ImageConverter
*  Created  : May 14, 2006 by Forum Nokia
*  Version  : 2.0
*  Copyright: Nokia Corporation
* ============================================================================
*/

// INCLUDE FILES
#include "ImageConverterContainer.h"

#include <eiklabel.h>  // for example label control
#include <aknutils.h>  // for scalable UI


// ================= MEMBER FUNCTIONS =======================

// ---------------------------------------------------------
// CImageConverterContainer::ConstructL(const TRect& aRect)
// EPOC two phased constructor
// ---------------------------------------------------------
//
void CImageConverterContainer::ConstructL(const TRect& aRect)
    {
    CreateWindowL();

    SetRect(aRect);
    ActivateL();
    }

// Destructor
CImageConverterContainer::~CImageConverterContainer()
    {
    }

// ---------------------------------------------------------
// CImageConverterContainer::SizeChanged()
// Called by framework when the view size is changed
// ---------------------------------------------------------
//
void CImageConverterContainer::SizeChanged()
    {
    // This control does not contain any other controls -> do nothing.
    }

// ---------------------------------------------------------
// CImageConverterContainer::HandleResourceChange()
// Called by framework when resource is changed.
// ---------------------------------------------------------
//
void CImageConverterContainer::HandleResourceChange(TInt aType)
    {
    CCoeControl::HandleResourceChange(aType);

    // ADDED FOR SCALABLE UI SUPPORT
    // *****************************
    if ( aType==KEikDynamicLayoutVariantSwitch )
        {
        TRect rect;
        AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, rect);
        SetRect(rect);
        }
    }



// ---------------------------------------------------------
// CImageConverterContainer::CountComponentControls() const
// ---------------------------------------------------------
//
TInt CImageConverterContainer::CountComponentControls() const
    {
    return 0; // return nbr of controls inside this container
    }

// ---------------------------------------------------------
// CImageConverterContainer::ComponentControl(TInt aIndex) const
// ---------------------------------------------------------
//
CCoeControl* CImageConverterContainer::ComponentControl(TInt /*aIndex*/) const
    {
    return NULL;
    }

// ---------------------------------------------------------
// CImageConverterContainer::Draw(const TRect& aRect) const
// ---------------------------------------------------------
//
void CImageConverterContainer::Draw(const TRect& /*aRect*/) const
    {
    CWindowGc& gc = SystemGc();
// begin by chen
    gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
    gc.SetBrushColor(KRgbGray);
// end by chen
    gc.Clear(); // not that efficient, but enough for this ex

/* begin by chen
    if( iBitmap ) 
        {
        gc.BitBlt( TPoint(0,0), iBitmap );
        }
end by chen */
// begin by chen
    if(iBitmap&&(iBitmap->Handle()>=0))
        {
        if(iMask&&(iMask->Handle()>=0))
            {
            TPoint point(0,0);
            TSize size = iBitmap->SizeInPixels();
            TRect rect(point, size);
            gc.BitBltMasked( point, iBitmap, rect, iMask, ETrue);
            }
        else
            {
            gc.BitBlt( TPoint(0,0), iBitmap );
            }
        }
// end by chen
    }

// ---------------------------------------------------------
// CImageConverterContainer::HandleControlEventL(
//     CCoeControl* aControl,TCoeEvent aEventType)
// ---------------------------------------------------------
//
void CImageConverterContainer::HandleControlEventL(
    CCoeControl* /*aControl*/,TCoeEvent /*aEventType*/)
    {
    }


// ---------------------------------------------------------
// CImageConverterContainer::SetBitmap(CFbsBitmap* aBitmap)
// ---------------------------------------------------------
//
void CImageConverterContainer::SetBitmap(CFbsBitmap* aBitmap)
    {
    iBitmap = aBitmap;
    }

// begin by chen
void CImageConverterContainer::SetMask(CFbsBitmap* aMask)
    {
    iMask = aMask;
    }
// end by chen

// End of File  

⌨️ 快捷键说明

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