#ifndef J2DGRAFCONTEXT_H #define J2DGRAFCONTEXT_H #include "JSystem/J2DGraph/J2DMatBlock.h" #include "JSystem/JGeometry.h" #include "JSystem/JUtility/TColor.h" #include "dolphin/mtx/mtx.h" #include "dolphin/types.h" class J2DGrafContext { public: /* 802E8B08 */ J2DGrafContext(f32, f32, f32, f32); /* 802E90C0 */ void scissor(JGeometry::TBox2 const&); void setColor(JUtility::TColor c) { this->setColor(c, c, c, c); } /* 802E9118 */ void setColor(JUtility::TColor, JUtility::TColor, JUtility::TColor, JUtility::TColor); /* 802E9234 */ void setLineWidth(u8); /* 802E9260 */ void fillBox(JGeometry::TBox2 const&); /* 802E9368 */ void drawFrame(JGeometry::TBox2 const&); /* 802E9488 */ void line(JGeometry::TVec2, JGeometry::TVec2); /* 802E9564 */ void lineTo(JGeometry::TVec2); void lineTo(f32 x, f32 y) { this->lineTo(JGeometry::TVec2(x, y)); } void moveTo(f32 x, f32 y) { this->moveTo(JGeometry::TVec2(x, y)); } void moveTo(JGeometry::TVec2 pos) { mPrevPos = pos; } /* 802E95D4 */ virtual ~J2DGrafContext() {} /* 802E90E4 */ virtual void place(JGeometry::TBox2 const&); /* 802E961C */ virtual void place(f32 x, f32 y, f32 width, f32 height) { JGeometry::TBox2 box(x, y, x + width, y + height); this->place(box); } /* 802E8BB4 */ virtual void setPort(); /* 802E8C44 */ virtual void setup2D(); /* 802E8E20 */ virtual void setScissor(); /* 802E9664 */ virtual s32 getGrafType() const { return 0; } /* 802E966C */ virtual void setLookat() {} public: /* 0x04 */ JGeometry::TBox2 mBounds; /* 0x14 */ JGeometry::TBox2 mScissorBounds; /* 0x24 */ JUtility::TColor mColorTL; /* 0x28 */ JUtility::TColor mColorTR; /* 0x2C */ JUtility::TColor mColorBR; /* 0x30 */ JUtility::TColor mColorBL; /* 0x34 */ u8 mLineWidth; /* 0x38 */ JGeometry::TVec2 mPrevPos; /* 0x40 */ Mtx44 mMtx44; /* 0x80 */ Mtx mPosMtx; /* 0xB0 */ J2DBlendInfo field_0xb0; /* 0xB3 */ J2DBlendInfo mLinePart; /* 0xB6 */ J2DBlendInfo mBoxPart; }; #endif /* J2DGRAFCONTEXT_H */