summaryrefslogtreecommitdiff
path: root/include/JSystem/JUtility/JUTDbPrint.h
blob: 062020081502f05d8a79877756df7d43445a4b32 (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
#ifndef JUTDBPRINT_H
#define JUTDBPRINT_H

#include "JSystem/JUtility/JUTFont.h"

class JKRHeap;

// TODO: fix struct
/**
* @ingroup jsystem-jutility
* 
*/
struct unk_print {
    /* 0x00 */ unk_print* mNext;
    /* 0x04 */ s16 unk_0x04;
    /* 0x06 */ s16 unk_0x06;
    /* 0x08 */ s16 unk_0x08;
    /* 0x0A */ s16 unk_0x0A;
    /* 0x0C */ char unk_0x0C[0];
};

/**
* @ingroup jsystem-jutility
* 
*/
class JUTDbPrint {
public:
    /* 802E0148 */ JUTDbPrint(JUTFont*, JKRHeap*);
    /* 802E0190 */ static JUTDbPrint* start(JUTFont*, JKRHeap*);
    /* 802E0204 */ JUTFont* changeFont(JUTFont*);
    /* 802E021C */ void enter(int, int, int, char const*, int);
    /* 802E02DC */ void flush(int, int, int, int);
    /* 802E02A4 */ void flush();
    /* 802E0440 */ void drawString(int, int, int, u8 const*);

    static JUTDbPrint* getManager() { return sDebugPrint; }

    void setVisible(bool visible) { mVisible = visible; }
    JUTFont* getFont() const { return mFont; }

    static JUTDbPrint* sDebugPrint;

private:
    /* 0x00 */ unk_print* mFirst;
    /* 0x04 */ JUTFont* mFont;
    /* 0x08 */ JUtility::TColor mColor;
    /* 0x0C */ bool mVisible;
    /* 0x10 */ JKRHeap* mHeap;
};

#endif /* JUTDBPRINT_H */