J2DScreen match

This commit is contained in:
Jasper St. Pierre
2023-10-11 22:46:30 -07:00
parent dba5833011
commit f1ee93c138
8 changed files with 212 additions and 61 deletions
+11 -5
View File
@@ -46,22 +46,28 @@ public:
void setBasePosition(J2DBasePosition position);
virtual ~J2DPane();
virtual u16 getTypeID() { return 16; }
virtual u16 getTypeID() { return 0x10; }
virtual void move(f32 x, f32 y);
virtual void add(f32 x, f32 y);
virtual void resize(f32 x, f32 y);
virtual void resize(f32 w, f32 h) {
mBounds.f.x = mBounds.i.x + w;
mBounds.f.y = mBounds.i.y + h;
}
virtual bool setConnectParent(bool connected);
virtual void calcMtx();
virtual void update();
virtual void drawSelf(f32 arg1, f32 arg2);
virtual void drawSelf(f32 arg1, f32 arg2, Mtx* mtx) {}
virtual void drawSelf(f32 x, f32 y);
virtual void drawSelf(f32 x, f32 y, Mtx* mtx) {}
virtual J2DPane* search(u32 tag);
virtual void makeMatrix(f32, f32);
f32 getWidth() const { return mBounds.getWidth(); }
f32 getHeight() const { return mBounds.getHeight(); }
JSUTree<J2DPane>* getFirstChild() { return mPaneTree.getFirstChild(); }
JSUTree<J2DPane>* getEndChild() { return mPaneTree.getEndChild(); }
const JSUTree<J2DPane>* getPaneTree() { return &mPaneTree; }
u8 getAlpha() const { return mAlpha; }
bool isConnectParent() const { return mIsConnectParent; }
public:
/* 0x04 */ u32 mMagic;
@@ -80,7 +86,7 @@ public:
/* 0xAC */ u8 mAlpha;
/* 0xAD */ u8 mDrawAlpha;
/* 0xAE */ u8 mInheritAlpha;
/* 0xAF */ u8 field_0xaf;
/* 0xAF */ u8 mIsConnectParent;
/* 0xB0 */ JSUTree<J2DPane> mPaneTree;
};
+4 -3
View File
@@ -2,6 +2,7 @@
#define J2DSCREEN_H
#include "JSystem/J2DGraph/J2DPane.h"
#include "JSystem/JUtility/TColor.h"
#include "dolphin/gx/GX.h"
class JKRArchive;
@@ -9,9 +10,9 @@ class JKRArchive;
class J2DScreen : public J2DPane {
public:
virtual ~J2DScreen();
virtual u16 getTypeID() { return 17; }
virtual u16 getTypeID() { return 0x08; }
virtual void calcMtx() { makeMatrix(mBounds.i.x, mBounds.i.y); }
virtual void drawSelf(f32 arg1, f32 arg2, Mtx* mtx);
virtual void drawSelf(f32 x, f32 y, Mtx* mtx);
virtual J2DPane* search(u32 tag);
virtual J2DPane* createPane(J2DPane::J2DScrnBlockHeader const & header, JSURandomInputStream * pStream, J2DPane * pParent);
@@ -26,7 +27,7 @@ protected:
private:
/* 0xCC */ bool mbClipToParent;
/* 0xCD */ u8 pad_0xcd[3];
/* 0xD0 */ GXColor mColor;
/* 0xD0 */ JUtility::TColor mColor;
};
STATIC_ASSERT(sizeof(J2DScreen) == 0xD4);
+48
View File
@@ -0,0 +1,48 @@
#ifndef J2DWINDOW_H
#define J2DWINDOW_H
#include "JSystem/J2DGraph/J2DPane.h"
#include "JSystem/JGeometry.h"
#include "JSystem/JUtility/TColor.h"
class JKRArchive;
class JUTTexture;
class JUTPalette;
class J2DWindow : public J2DPane {
public:
J2DWindow(J2DPane*, JSURandomInputStream*);
virtual ~J2DWindow();
virtual u16 getTypeID() { return 0x11; }
virtual void resize(f32 x, f32 y);
virtual void drawSelf(f32 x, f32 y);
virtual void drawSelf(f32 x, f32 y, Mtx* mtx);
void initinfo2();
void draw_private(const JGeometry::TBox2<f32>&, const JGeometry::TBox2<f32>&);
void setContentsColor(JUtility::TColor, JUtility::TColor, JUtility::TColor, JUtility::TColor);
void drawContents(const JGeometry::TBox2<f32>&);
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);
public:
/* 0x0CC */ JUTTexture * mpFrameTexture[4];
/* 0x0DC */ JUTTexture * mpContentsTexture;
/* 0x0E0 */ JGeometry::TBox2<f32> mWindowBox;
/* 0x0F0 */ JUTPalette * mpPalette;
/* 0x0F4 */ JUtility::TColor mColor[4];
/* 0x104 */ JUtility::TColor mFrameColor[2];
/* 0x10C */ s16 mTextureWidth;
/* 0x10E */ s16 mTextureHeight;
/* 0x110 */ u8 field_0x110;
/* 0x111 */ u8 field_0x111;
/* 0x112 */ u8 field_0x112;
/* 0x113 */ u8 field_0x113;
};
STATIC_ASSERT(sizeof(J2DWindow) == 0x114);
#endif /* J2DWINDOW_H */