mirror of https://github.com/zeldaret/tp.git
53 lines
1.2 KiB
C++
53 lines
1.2 KiB
C++
#ifndef CAPTURESCREEN_H
|
|
#define CAPTURESCREEN_H
|
|
|
|
#include "JSystem/JFramework/JFWDisplay.h"
|
|
|
|
class CProjectionDivider {
|
|
public:
|
|
/* 0x00 */ f32 field_0x0;
|
|
/* 0x04 */ f32 field_0x4;
|
|
/* 0x08 */ f32 field_0x8;
|
|
/* 0x0C */ f32 field_0xc;
|
|
/* 0x10 */ f32 field_0x10;
|
|
/* 0x14 */ f32 field_0x14;
|
|
/* 0x18 */ s32 field_0x18;
|
|
/* 0x1C */ s32 field_0x1c;
|
|
|
|
CProjectionDivider(s32, s32);
|
|
virtual ~CProjectionDivider() {}
|
|
f32 calcDivRatioH(s32) const;
|
|
f32 calcDivRatioV(s32) const;
|
|
};
|
|
|
|
class CPerspDivider : public CProjectionDivider {
|
|
public:
|
|
CPerspDivider(const Mtx44&, s32, s32);
|
|
virtual ~CPerspDivider() {}
|
|
void divide(Mtx44&, s32, s32) const;
|
|
};
|
|
|
|
class COrthoDivider : public CProjectionDivider {
|
|
public:
|
|
COrthoDivider(const Mtx44&, s32, s32);
|
|
virtual ~COrthoDivider() {}
|
|
void divide(Mtx44&, s32, s32) const;
|
|
};
|
|
|
|
class CaptureScreen {
|
|
public:
|
|
CaptureScreen(const JFWDisplay*);
|
|
|
|
static int getAlignedWidthBytes(int);
|
|
static int getBmpBufferSize(int, int);
|
|
void makeBmpFromEfb(void*, int, int, int, int, int, int);
|
|
void openBmp(int, int);
|
|
void closeBmp();
|
|
void saveBmp(void*, u32);
|
|
|
|
/* 0x0 */ const JFWDisplay* mpDisplay;
|
|
/* 0x4 */ int field_0x4;
|
|
};
|
|
|
|
#endif /* CAPTURESCREEN_H */
|