refactor functions

This commit is contained in:
Nomango 2018-04-06 11:31:24 +08:00
parent fff3e8c370
commit 15e039f278
5 changed files with 64 additions and 64 deletions

View File

@ -6,10 +6,10 @@ static std::map<size_t, ID2D1Bitmap*> s_mBitmapsFromFile;
e2d::Image::Image()
: m_pBitmap(nullptr)
, m_fSourceClipX(0)
, m_fSourceClipY(0)
, m_fSourceClipWidth(0)
, m_fSourceClipHeight(0)
, m_fSourceCropX(0)
, m_fSourceCropY(0)
, m_fSourceCropWidth(0)
, m_fSourceCropHeight(0)
{
}
@ -18,10 +18,10 @@ e2d::Image::Image(String strFileName)
this->open(strFileName);
}
e2d::Image::Image(String strFileName, double nClipX, double nClipY, double nClipWidth, double nClipHeight)
e2d::Image::Image(String strFileName, double nCropX, double nCropY, double nCropWidth, double nCropHeight)
{
this->open(strFileName);
this->clip(nClipX, nClipY, nClipWidth, nClipHeight);
this->crop(nCropX, nCropY, nCropWidth, nCropHeight);
}
e2d::Image::~Image()
@ -42,35 +42,35 @@ void e2d::Image::open(String strFilePath)
}
m_pBitmap = s_mBitmapsFromFile.at(strFilePath.getHashCode());
m_fSourceClipX = m_fSourceClipY = 0;
m_fSourceClipWidth = m_pBitmap->GetSize().width;
m_fSourceClipHeight = m_pBitmap->GetSize().height;
m_fSourceCropX = m_fSourceCropY = 0;
m_fSourceCropWidth = m_pBitmap->GetSize().width;
m_fSourceCropHeight = m_pBitmap->GetSize().height;
}
void e2d::Image::clip(double x, double y, double width, double height)
void e2d::Image::crop(double x, double y, double width, double height)
{
if (m_pBitmap)
{
m_fSourceClipX = min(max(x, 0), this->getSourceWidth());
m_fSourceClipY = min(max(y, 0), this->getSourceHeight());
m_fSourceClipWidth = min(max(width, 0), this->getSourceWidth() - m_fSourceClipX);
m_fSourceClipHeight = min(max(height, 0), this->getSourceHeight() - m_fSourceClipY);
m_fSourceCropX = min(max(x, 0), this->getSourceWidth());
m_fSourceCropY = min(max(y, 0), this->getSourceHeight());
m_fSourceCropWidth = min(max(width, 0), this->getSourceWidth() - m_fSourceCropX);
m_fSourceCropHeight = min(max(height, 0), this->getSourceHeight() - m_fSourceCropY);
}
}
double e2d::Image::getWidth() const
{
return m_fSourceClipWidth;
return m_fSourceCropWidth;
}
double e2d::Image::getHeight() const
{
return m_fSourceClipHeight;
return m_fSourceCropHeight;
}
e2d::Size e2d::Image::getSize() const
{
return Size(m_fSourceClipWidth, m_fSourceClipHeight);
return Size(m_fSourceCropWidth, m_fSourceCropHeight);
}
double e2d::Image::getSourceWidth() const
@ -109,19 +109,19 @@ e2d::Size e2d::Image::getSourceSize() const
}
}
double e2d::Image::getClipX() const
double e2d::Image::getCropX() const
{
return m_fSourceClipX;
return m_fSourceCropX;
}
double e2d::Image::getClipY() const
double e2d::Image::getCropY() const
{
return m_fSourceClipY;
return m_fSourceCropY;
}
e2d::Point e2d::Image::getClipPos() const
e2d::Point e2d::Image::getCropPos() const
{
return Point(m_fSourceClipX, m_fSourceClipY);
return Point(m_fSourceCropX, m_fSourceCropY);
}
bool e2d::Image::preload(String fileName)

View File

@ -22,7 +22,7 @@ e2d::Sprite::Sprite(String imageFileName, double x, double y, double width, doub
: m_pImage(nullptr)
{
open(imageFileName);
clip(x, y, width, height);
crop(x, y, width, height);
}
e2d::Sprite::~Sprite()
@ -47,12 +47,12 @@ void e2d::Sprite::open(String imageFileName)
open(new Image(imageFileName));
}
void e2d::Sprite::clip(double x, double y, double width, double height)
void e2d::Sprite::crop(double x, double y, double width, double height)
{
m_pImage->clip(x, y, width, height);
m_pImage->crop(x, y, width, height);
Node::setSize(
min(max(width, 0), m_pImage->getSourceWidth() - m_pImage->getClipX()),
min(max(height, 0), m_pImage->getSourceHeight() - m_pImage->getClipY())
min(max(width, 0), m_pImage->getSourceWidth() - m_pImage->getCropX()),
min(max(height, 0), m_pImage->getSourceHeight() - m_pImage->getCropY())
);
}
@ -66,8 +66,8 @@ void e2d::Sprite::onRender()
if (m_pImage && m_pImage->getBitmap())
{
// »ñȡͼƬ²Ã¼ôλÖÃ
float fClipX = static_cast<float>(m_pImage->getClipX());
float fClipY = static_cast<float>(m_pImage->getClipY());
float fCropX = static_cast<float>(m_pImage->getCropX());
float fCropY = static_cast<float>(m_pImage->getCropY());
// äÖȾͼƬ
Renderer::getRenderTarget()->DrawBitmap(
m_pImage->getBitmap(),
@ -75,10 +75,10 @@ void e2d::Sprite::onRender()
m_fDisplayOpacity,
D2D1_BITMAP_INTERPOLATION_MODE_LINEAR,
D2D1::RectF(
fClipX,
fClipY,
fClipX + m_fWidth,
fClipY + m_fHeight
fCropX,
fCropY,
fCropX + m_fWidth,
fCropY + m_fHeight
)
);
}

View File

@ -490,11 +490,11 @@ public:
// 从本地文件中读取资源
Image(
String strFilePath,/* 图片文件路径 */
double nClipX, /* 裁剪位置 X 坐标 */
double nClipY, /* 裁剪位置 Y 坐标 */
double nClipWidth, /* 裁剪宽度 */
double nClipHeight /* 裁剪高度 */
String strFilePath, /* 图片文件路径 */
double nCropX, /* 裁剪位置 X 坐标 */
double nCropY, /* 裁剪位置 Y 坐标 */
double nCropWidth, /* 裁剪宽度 */
double nCropHeight /* 裁剪高度 */
);
virtual ~Image();
@ -504,12 +504,12 @@ public:
String strFilePath
);
// 裁剪图片
void clip(
double nClipX, /* 裁剪位置 X 坐标 */
double nClipY, /* 裁剪位置 Y 坐标 */
double nClipWidth, /* 裁剪宽度 */
double nClipHeight /* 裁剪高度 */
// 将图片裁剪为矩形
void crop(
double nCropX, /* 裁剪位置 X 坐标 */
double nCropY, /* 裁剪位置 Y 坐标 */
double nCropWidth, /* 裁剪宽度 */
double nCropHeight /* 裁剪高度 */
);
// 获取宽度
@ -531,13 +531,13 @@ public:
virtual Size getSourceSize() const;
// 获取裁剪位置 X 坐标
virtual double getClipX() const;
virtual double getCropX() const;
// 获取裁剪位置 Y 坐标
virtual double getClipY() const;
virtual double getCropY() const;
// 获取裁剪位置
virtual Point getClipPos() const;
virtual Point getCropPos() const;
// 获取 ID2D1Bitmap 对象
ID2D1Bitmap * getBitmap();
@ -551,10 +551,10 @@ public:
static void clearCache();
protected:
double m_fSourceClipX;
double m_fSourceClipY;
double m_fSourceClipWidth;
double m_fSourceClipHeight;
double m_fSourceCropX;
double m_fSourceCropY;
double m_fSourceCropWidth;
double m_fSourceCropHeight;
ID2D1Bitmap * m_pBitmap;
};

View File

@ -487,7 +487,7 @@ public:
String imageFileName
);
// 从文件图片创建精灵并裁剪
// 创建精灵并裁剪图片
Sprite(
String imageFileName,
double x,
@ -508,8 +508,8 @@ public:
Image * image
);
// 裁剪图片
virtual void clip(
// 将图片裁剪为矩形
virtual void crop(
double x,
double y,
double width,

View File

@ -105,15 +105,15 @@ public:
);
protected:
String m_sName;
bool m_bRunning;
bool m_bAtOnce;
bool m_bAutoRelease;
bool m_bClear;
int m_nRunTimes;
int m_nUpdateTimes;
double m_fInterval;
double m_fLast;
String m_sName;
bool m_bRunning;
bool m_bAtOnce;
bool m_bAutoRelease;
bool m_bClear;
int m_nRunTimes;
int m_nUpdateTimes;
double m_fInterval;
double m_fLast;
Function m_Callback;
};