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

#include "JSystem/JUtility/JUTFont.h"

class JKRHeap;

// TODO: fix struct
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];
};

class JUTDbPrint {
public:
    JUTDbPrint(JUTFont*, JKRHeap*);
    static JUTDbPrint* start(JUTFont*, JKRHeap*);
    JUTFont* changeFont(JUTFont*);
    void enter(int, int, int, char const*, int);
    void flush(int, int, int, int);
    void flush();
    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 */