4jcraft/Minecraft.World/Util/Icon.h
2026-03-13 17:06:56 -05:00

34 lines
1.1 KiB
C++

#pragma once
class Icon {
public:
static const int TYPE_TERRAIN = 0;
static const int TYPE_ITEM = 1;
static const int IS_GRASS_SIDE = 1;
static const int IS_GRASS_TOP = 2;
#ifdef __PSVITA__
// AP - alpha cut out is expensive on vita so we mark which icons require it
static const int IS_ALPHA_CUT_OUT = 4;
#endif
virtual ~Icon() {} // added by 4jcraft, needed for abstract class
virtual int getX() const = 0;
virtual int getY() const = 0;
virtual int getWidth() const = 0;
virtual int getHeight() const = 0;
virtual float getU0(bool adjust = false) const = 0;
virtual float getU1(bool adjust = false) const = 0;
virtual float getU(double offset, bool adjust = false) const = 0;
virtual float getV0(bool adjust = false) const = 0;
virtual float getV1(bool adjust = false) const = 0;
virtual float getV(double offset, bool adjust = false) const = 0;
virtual std::wstring getName() const = 0;
virtual int getSourceWidth() const = 0;
virtual int getSourceHeight() const = 0;
virtual int getFlags() const = 0; // 4J added
virtual void setFlags(int flags) = 0; // 4J added
};