mirror of
https://github.com/zeldaret/ss
synced 2026-08-07 18:22:24 -04:00
m_faders
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
#ifndef M_COLOR_H
|
||||
#define M_COLOR_H
|
||||
|
||||
#include <rvl/GX.h>
|
||||
|
||||
struct mColor {
|
||||
mColor() {
|
||||
rgba = 0xFFFFFFFF;
|
||||
}
|
||||
mColor(u8 red, u8 green, u8 blue, u8 alpha) {
|
||||
r = red;
|
||||
g = green;
|
||||
b = blue;
|
||||
a = alpha;
|
||||
}
|
||||
mColor(u32 color) {
|
||||
rgba = color;
|
||||
}
|
||||
|
||||
// The alternative is that GXColor is a union and this extends GXColor?
|
||||
operator GXColor &() {
|
||||
return reinterpret_cast<GXColor &>(*this);
|
||||
}
|
||||
|
||||
union {
|
||||
struct {
|
||||
u8 r;
|
||||
u8 g;
|
||||
u8 b;
|
||||
u8 a;
|
||||
};
|
||||
u32 rgba;
|
||||
};
|
||||
};
|
||||
#endif
|
||||
@@ -0,0 +1,21 @@
|
||||
#ifndef M_COLOR_FADER_H
|
||||
#define M_COLOR_FADER_H
|
||||
|
||||
#include <common.h>
|
||||
#include <m/m_color.h>
|
||||
#include <m/m_fader_base.h>
|
||||
|
||||
|
||||
class mColorFader_c : public mFaderBase_c {
|
||||
public:
|
||||
mColorFader_c(const mColor &color, EStatus status);
|
||||
virtual ~mColorFader_c();
|
||||
|
||||
virtual void setStatus(EStatus status) override;
|
||||
virtual u8 calc() override;
|
||||
virtual void draw() override;
|
||||
|
||||
u8 mAspectRatio;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,18 @@
|
||||
#ifndef M_FADER_H
|
||||
#define M_FADER_H
|
||||
|
||||
#include <m/m_fader_base.h>
|
||||
|
||||
class mFader_c {
|
||||
public:
|
||||
void draw();
|
||||
bool setFader(mFaderBase_c *fader);
|
||||
|
||||
bool isStatus(mFaderBase_c::EStatus status) {
|
||||
return mpFader->getStatus() == status;
|
||||
}
|
||||
|
||||
mFaderBase_c *mpFader;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
#ifndef M_FADER_BASE_H
|
||||
#define M_FADER_BASE_H
|
||||
|
||||
#include <common.h>
|
||||
#include <m/m_color.h>
|
||||
|
||||
|
||||
class mFaderBase_c {
|
||||
public:
|
||||
enum EStatus {
|
||||
FADED_OUT = 0,
|
||||
FADED_IN = 1,
|
||||
FADING_IN = 2,
|
||||
FADING_OUT = 3,
|
||||
};
|
||||
|
||||
enum EFlag {
|
||||
FLAG_1 = 1,
|
||||
FLAG_2 = 2,
|
||||
};
|
||||
|
||||
mFaderBase_c(const mColor &color, EStatus status);
|
||||
virtual ~mFaderBase_c();
|
||||
|
||||
virtual void setStatus(EStatus status) = 0;
|
||||
virtual EStatus getStatus() const;
|
||||
virtual bool fadeIn();
|
||||
virtual bool fadeOut();
|
||||
virtual u8 calc();
|
||||
virtual void draw() = 0;
|
||||
|
||||
void setFrame(u16 frame);
|
||||
void setColor(const mColor &color);
|
||||
|
||||
EStatus mStatus;
|
||||
u8 mFlag;
|
||||
u16 mFrame;
|
||||
u16 mElapsed;
|
||||
mColor mFaderColor;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user