4jcraft/targets/minecraft/world/FlippedIcon.cpp

58 lines
1.8 KiB
C++

#include "FlippedIcon.h"
#include "minecraft/SharedConstants.h"
#include "minecraft/world/Icon.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::string 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); }