mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-04-24 07:23:41 +00:00
57 lines
1.8 KiB
C++
57 lines
1.8 KiB
C++
#include "../Platform/stdafx.h"
|
|
#include "FlippedIcon.h"
|
|
#include "SharedConstants.h"
|
|
|
|
FlippedIcon::FlippedIcon(Icon* base, bool horizontal, bool vertical)
|
|
: base(base), horizontal(horizontal), vertical(vertical) {}
|
|
|
|
int FlippedIcon::getX() const { return base->getX(); }
|
|
|
|
int FlippedIcon::getY() const { return base->getY(); }
|
|
|
|
int FlippedIcon::getWidth() const { return base->getWidth(); }
|
|
|
|
int FlippedIcon::getHeight() const { return base->getHeight(); }
|
|
|
|
float FlippedIcon::getU0(bool adjust /*=false*/) const {
|
|
if (horizontal) return base->getU1(adjust);
|
|
return base->getU0(adjust);
|
|
}
|
|
|
|
float FlippedIcon::getU1(bool adjust /*=false*/) const {
|
|
if (horizontal) return base->getU0(adjust);
|
|
return base->getU1(adjust);
|
|
}
|
|
|
|
float FlippedIcon::getU(double offset, bool adjust /*=false*/) const {
|
|
float diff = getU1(adjust) - getU0(adjust);
|
|
return getU0(adjust) +
|
|
(diff * ((float)offset / SharedConstants::WORLD_RESOLUTION));
|
|
}
|
|
|
|
float FlippedIcon::getV0(bool adjust /*=false*/) const {
|
|
if (vertical) return base->getV0(adjust);
|
|
return base->getV0(adjust);
|
|
}
|
|
|
|
float FlippedIcon::getV1(bool adjust /*=false*/) const {
|
|
if (vertical) return base->getV0(adjust);
|
|
return base->getV1(adjust);
|
|
}
|
|
|
|
float FlippedIcon::getV(double offset, bool adjust /*=false*/) const {
|
|
float diff = getV1(adjust) - getV0(adjust);
|
|
return getV0(adjust) +
|
|
(diff * ((float)offset / SharedConstants::WORLD_RESOLUTION));
|
|
}
|
|
|
|
std::wstring FlippedIcon::getName() const { return base->getName(); }
|
|
|
|
int FlippedIcon::getSourceWidth() const { return base->getSourceWidth(); }
|
|
|
|
int FlippedIcon::getSourceHeight() const { return base->getSourceHeight(); }
|
|
|
|
int FlippedIcon::getFlags() const { return base->getFlags(); }
|
|
|
|
void FlippedIcon::setFlags(int flags) { base->setFlags(flags); }
|