summaryrefslogtreecommitdiff
path: root/include/d/pane/d_pane_class_alpha.h
blob: e2f8a8d04259125c1bd0d7744bc82ced19db631f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#ifndef D_PANE_D_PANE_CLASS_ALPHA_H
#define D_PANE_D_PANE_CLASS_ALPHA_H

#include "JSystem/J2DGraph/J2DPane.h"

class J2DPane;
class J2DScreen;
class JKRExpHeap;

class CPaneMgrAlpha {
public:
    /* 8025546C */ virtual ~CPaneMgrAlpha();
    /* 80255758 */ virtual void setAlpha(u8);

    /* 802553EC */ CPaneMgrAlpha();
    /* 802553FC */ CPaneMgrAlpha(J2DScreen*, u64, u8, JKRExpHeap*);
    /* 802554E0 */ void initiateAlpha(J2DPane*, JKRExpHeap*);
    /* 802555C8 */ void show();
    /* 80255608 */ void hide();
    /* 8025564C */ bool isVisible();
    /* 80255658 */ f32 rateCalc(s16, s16, u8);
    /* 802557D0 */ void setAlphaRate(f32);
    /* 80255828 */ f32 getAlphaRate();
    /* 80255878 */ bool alphaAnime(s16 timer, u8 startAlpha, u8 endAlpha, u8 calcType);
    /* 80255964 */ bool alphaAnimeLoop(s16, u8, u8, u8);
    /* 80255A60 */ void childPaneCount(J2DPane*);
    /* 80255ACC */ void childPaneGetAlpha(J2DPane*);
    /* 80255B5C */ void childPaneSetAlpha(J2DPane*, u8);

    J2DPane* getPanePtr() { return mPane; }
    u8 getAlpha() { return getPanePtr()->getAlpha(); }
    s16 getAlphaTimer() { return mAlphaTimer; }
    void alphaAnimeStart(s16 start) { mAlphaTimer = start; }
    u8 getInitAlpha() { return mInitAlpha; }

    /* 0x04 */ J2DPane* mPane;
    /* 0x08 */ JKRExpHeap* heap;
    /* 0x0C */ void* mpFirstStackAlpha;
    /* 0x10 */ u8* field_0x10;
    /* 0x14 */ s16 mChildPaneCount;
    /* 0x16 */ s16 mAlphaTimer;
    /* 0x18 */ u8 mInitAlpha;
    /* 0x19 */ u8 mFlags;
};

class CPaneMgrAlphaMorf : public CPaneMgrAlpha {
public:
    /* 80255C68 */ CPaneMgrAlphaMorf(J2DScreen*, u64, u8, JKRExpHeap*);
    /* 80255D48 */ void initiateAlphaMorf();
    /* 80255DD0 */ void setBackupAlpha();
    /* 80255E28 */ void setAlphaMorfRate(f32);
    /* 80255E98 */ void childPaneBackupAlpha(J2DPane*);
    /* 80255F28 */ void childPaneSetAlphaMorf(J2DPane*, f32);

    /* 80255CAC */ virtual ~CPaneMgrAlphaMorf();

private:
    /* 0x1C */ void* mpFirstSaveAlpha;
    /* 0x20 */ u8* field_0x20;
    /* 0x24 */ void* mpFirstGetAlpha;
    /* 0x28 */ u8* field_0x28;
};

#endif /* D_PANE_D_PANE_CLASS_ALPHA_H */