mirror of https://github.com/zeldaret/tp.git
130 lines
4.9 KiB
C++
130 lines
4.9 KiB
C++
#ifndef J2DWINDOW_H
|
|
#define J2DWINDOW_H
|
|
|
|
#include "JSystem/J2DGraph/J2DMaterial.h"
|
|
#include "JSystem/J2DGraph/J2DPane.h"
|
|
|
|
class JSURandomInputStream;
|
|
class JUTTexture;
|
|
|
|
enum J2DTextureBase {
|
|
TEXTUREBASE_0 = 0,
|
|
TEXTUREBASE_1 = 1,
|
|
TEXTUREBASE_2 = 2,
|
|
TEXTUREBASE_3 = 3,
|
|
};
|
|
|
|
enum J2DWindowMirror {
|
|
WINDOWMIRROR_39 = 39,
|
|
WINDOWMIRROR_114 = 114,
|
|
WINDOWMIRROR_141 = 141,
|
|
WINDOWMIRROR_216 = 216,
|
|
};
|
|
|
|
/**
|
|
* @ingroup jsystem-j2d
|
|
*
|
|
*/
|
|
class J2DWindow : public J2DPane {
|
|
public:
|
|
struct TMaterial {
|
|
/* 0x00 */ J2DMaterial* field_0x0;
|
|
/* 0x04 */ J2DMaterial* field_0x4;
|
|
/* 0x08 */ J2DMaterial* field_0x8;
|
|
/* 0x0C */ J2DMaterial* field_0xc;
|
|
/* 0x10 */ J2DMaterial* field_0x10;
|
|
}; // Size: 0x14
|
|
|
|
struct TContentsColor {
|
|
TContentsColor() {}
|
|
/* 0x0 */ JUtility::TColor field_0x0;
|
|
/* 0x4 */ JUtility::TColor field_0x4;
|
|
/* 0x8 */ JUtility::TColor field_0x8;
|
|
/* 0xC */ JUtility::TColor field_0xc;
|
|
}; // Size: 0x10
|
|
|
|
J2DWindow(J2DPane*, JSURandomInputStream*, J2DMaterial*);
|
|
J2DWindow(J2DPane*, JSURandomInputStream*, JKRArchive*);
|
|
J2DWindow();
|
|
J2DWindow(u64, const JGeometry::TBox2<f32>&, const char*, J2DTextureBase, const ResTLUT*);
|
|
void initiate(const ResTIMG*, const ResTIMG*, const ResTIMG*, const ResTIMG*, const ResTLUT*, J2DWindowMirror, const JGeometry::TBox2<f32>&);
|
|
void private_readStream(J2DPane*, JSURandomInputStream*, JKRArchive*);
|
|
void initinfo();
|
|
void initinfo2();
|
|
static J2DWindowMirror convertMirror(J2DTextureBase);
|
|
void draw_private(JGeometry::TBox2<f32> const&, JGeometry::TBox2<f32> const&);
|
|
void setContentsColor(JUtility::TColor, JUtility::TColor, JUtility::TColor,
|
|
JUtility::TColor);
|
|
void drawFrameTexture(JUTTexture*, f32, f32, f32, f32, u16, u16, u16, u16, bool);
|
|
void drawFrameTexture(JUTTexture*, f32, f32, bool, bool, bool);
|
|
void drawContentsTexture(f32, f32, f32, f32);
|
|
void setTevMode(JUTTexture*, JUtility::TColor, JUtility::TColor);
|
|
|
|
virtual ~J2DWindow();
|
|
/* vt 0x0C */ virtual u16 getTypeID() const { return 17; }
|
|
/* vt 0x18 */ virtual void resize(f32, f32);
|
|
/* vt 0x34 */ virtual void drawSelf(f32, f32);
|
|
/* vt 0x38 */ virtual void drawSelf(f32, f32, Mtx*);
|
|
/* vt 0x94 */ virtual void draw(JGeometry::TBox2<f32> const&);
|
|
/* vt 0x98 */ virtual void draw(JGeometry::TBox2<f32> const&, JGeometry::TBox2<f32> const&);
|
|
/* vt 0x9C */ virtual void draw(f32 left, f32 top, f32 width, f32 height) { draw(JGeometry::TBox2<f32>(left, top, left + width, top + height)); }
|
|
/* vt 0xA0 */ virtual bool setBlack(JUtility::TColor);
|
|
/* vt 0xA4 */ virtual bool setWhite(JUtility::TColor);
|
|
/* vt 0xA8 */ virtual bool setBlackWhite(JUtility::TColor, JUtility::TColor);
|
|
/* vt 0xAC */ virtual JUtility::TColor getBlack() const;
|
|
/* vt 0xB0 */ virtual JUtility::TColor getWhite() const;
|
|
/* vt 0xB4 */ virtual JUTTexture* getFrameTexture(u8, u8) const;
|
|
/* vt 0xB8 */ virtual JUTTexture* getContentsTexture(u8 param_1) const {
|
|
if (param_1 != 0) {
|
|
return NULL;
|
|
}
|
|
return field_0x110;
|
|
}
|
|
/* vt 0xBC */ virtual void getMaterial(J2DWindow::TMaterial& mat) const {
|
|
mat.field_0x0 = NULL;
|
|
mat.field_0x4 = NULL;
|
|
mat.field_0x8 = NULL;
|
|
mat.field_0xc = NULL;
|
|
mat.field_0x10 = NULL;
|
|
}
|
|
/* vt 0xC0 */ virtual J2DMaterial* getFrameMaterial(u8) const { return NULL; }
|
|
/* vt 0xC4 */ virtual J2DMaterial* getContentsMaterial() const { return NULL; }
|
|
/* vt 0xC8 */ virtual void drawContents(JGeometry::TBox2<f32> const&);
|
|
/* vt 0x4C */ virtual bool isUsed(const ResTIMG*);
|
|
/* vt 0x50 */ virtual bool isUsed(const ResFONT* font) { return J2DPane::isUsed(font); }
|
|
/* vt 0x58 */ virtual void rewriteAlpha() {}
|
|
|
|
bool isField0x145Set(u8 flag) { return field_0x145 & flag; }
|
|
|
|
void getContentsColor(TContentsColor& param_0) const {
|
|
param_0.field_0x0 = field_0x128;
|
|
param_0.field_0x4 = field_0x12C;
|
|
param_0.field_0x8 = field_0x130;
|
|
param_0.field_0xc = field_0x134;
|
|
}
|
|
void setContentsColor(JUtility::TColor param_0) {
|
|
setContentsColor(param_0, param_0, param_0, param_0);
|
|
}
|
|
|
|
protected:
|
|
/* 0x100 */ JUTTexture* field_0x100;
|
|
/* 0x104 */ JUTTexture* field_0x104;
|
|
/* 0x108 */ JUTTexture* field_0x108;
|
|
/* 0x10C */ JUTTexture* field_0x10c;
|
|
/* 0x110 */ JUTTexture* field_0x110;
|
|
/* 0x114 */ JGeometry::TBox2<f32> field_0x114;
|
|
/* 0x124 */ JUTPalette* mPalette;
|
|
/* 0x128 */ JUtility::TColor field_0x128;
|
|
/* 0x12C */ JUtility::TColor field_0x12C;
|
|
/* 0x130 */ JUtility::TColor field_0x130;
|
|
/* 0x134 */ JUtility::TColor field_0x134;
|
|
/* 0x138 */ JUtility::TColor mWhite;
|
|
/* 0x13C */ JUtility::TColor mBlack;
|
|
/* 0x140 */ s16 field_0x140;
|
|
/* 0x142 */ s16 field_0x142;
|
|
/* 0x144 */ u8 field_0x144;
|
|
/* 0x145 */ u8 field_0x145;
|
|
}; // Size: 0x148
|
|
|
|
#endif /* J2DWINDOW_H */
|