isle/LEGO1/lego/sources/3dmanager/lego3dview.h
jonschz 07def56326
Implement Act2Actor::VTable0x70 (#1201)
* Implement draft of `Act2Actor::VTable0x70`

* Fix CI errors

* Implement `Act2Actor::FUN_100199f0`

* WIP: cleanup

* Address review comments

* Run formatter

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-09 22:05:08 +01:00

60 lines
1.2 KiB
C++

#ifndef _Lego3DView_h
#define _Lego3DView_h
#include "decomp.h"
#include "legoview1.h"
class ViewManager;
class ViewROI;
/////////////////////////////////////////////////////////////////////////////
// Lego3DView
// VTABLE: LEGO1 0x100dbf78
// SIZE 0xa8
class Lego3DView : public LegoView1 {
public:
Lego3DView();
~Lego3DView() override;
BOOL Create(const CreateStruct&, Tgl::Renderer*);
void Destroy() override; // vtable+0x08
BOOL Add(ViewROI&);
BOOL Remove(ViewROI&);
BOOL Moved(ViewROI&);
BOOL SetPointOfView(ViewROI&);
double Render(double p_und);
ViewROI* Pick(unsigned long x, unsigned long y);
ViewROI* GetPointOfView();
ViewManager* GetViewManager();
private:
ViewManager* m_pViewManager; // 0x88
double m_previousRenderTime; // 0x90
double m_unk0x98; // 0x98
ViewROI* m_pPointOfView; // 0xa0
};
// SYNTHETIC: LEGO1 0x100aaf10
// Lego3DView::`scalar deleting destructor'
/////////////////////////////////////////////////////////////////////////////
//
// Lego3DView implementation
// FUNCTION: BETA10 0x10011810
inline ViewManager* Lego3DView::GetViewManager()
{
return m_pViewManager;
}
inline ViewROI* Lego3DView::GetPointOfView()
{
return m_pPointOfView;
}
#endif /* _Lego3DView_h */