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

📄 circle.cpp

📁 series60 应用程序开发的源代码 series60 应用程序开发的源代码
💻 CPP
字号:
/**
 * 
 * @brief Definition of TCircle
 *
 * Copyright (c) EMCC Software Ltd 2003
 * @version 1.0
 */

// INCLUDE FILES

// Class includes
#include    "circle.h"

using namespace NShapes;


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

/**
@function    TCircle
@abstract    Creates an instance of TCircle at a specified position, and of a 
specified radius.
@param    aCenter where the center of the circle is located.
@param    aRadius The radius of the circle
**/
EXPORT_C TCircle::TCircle(const TPoint& aCenter, TInt aRadius)
:    TShape(KCircle, aCenter - TSize(aRadius, aRadius)), 
    iRadius(aRadius)
{
    //    No implementation required
}

/**
@function    TCircle
@abstract    Creates an instance of TCircle 
**/
EXPORT_C TCircle::TCircle()
: TShape(KCircle, TPoint(0,0)), iRadius(0)
{
    //    No implementation required
}

EXPORT_C TShapeType TCircle::ShapeType() 
{
    return KCircle;
}


/**
@function    Draw
@abstract    Virtual method that draws the shape to the specified
graphics context.
@param    aActiveGraphicsContext the active context to draw the shape 
into.
**/
EXPORT_C void TCircle::Draw(CWindowGc& aActiveGraphicsContext) const
{
    aActiveGraphicsContext.DrawEllipse(GetRect());
}


/**
@function    GetRect
@abstract    Returns the smallest bounding rectangle that entirely 
contains the shape.
**/
EXPORT_C TRect TCircle::GetRect() const
{
    return TRect(iOrigin, TSize(iRadius * 2, iRadius * 2));
}


/**
@function    ExternalizeL
@abstract    Virtual method that writes the shape to the specified
write stream.
@param    aStream the stream to write the shape to.
**/
EXPORT_C void TCircle::ExternalizeL(RWriteStream& aStream) const
{
    TShape::ExternalizeL(aStream);

    aStream.WriteInt32L(iRadius);
}

/**
@function    InternalizeL
@abstract    Virtual method that reads the shape from the specified
read stream.
@param    aStream the stream to read the shape from.
**/
EXPORT_C void TCircle::InternalizeL(RReadStream& aStream)
{
    TShape::InternalizeL(aStream);

    iRadius = aStream.ReadInt32L();
}

EXPORT_C TInt TCircle::StorageSize() const
{

    TInt size = TShape::StorageSize();
    size += sizeof(TInt32);
    return size;

}

//End of File

⌨️ 快捷键说明

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