mirror of
				https://github.com/isledecomp/isle.git
				synced 2025-10-27 02:14:18 +00:00 
			
		
		
		
	 d663e26321
			
		
	
	d663e26321
	
	
	
		
			
			* Use MxGeometry header * Fix comment --------- Co-authored-by: Christian Semmler <mail@csemmler.com>
		
			
				
	
	
		
			108 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			108 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef LEGOPOINTOFVIEWCONTROLLER_H
 | |
| #define LEGOPOINTOFVIEWCONTROLLER_H
 | |
| 
 | |
| #include "decomp.h"
 | |
| #include "mxcore.h"
 | |
| #include "mxgeometry.h"
 | |
| 
 | |
| #include <windows.h>
 | |
| 
 | |
| class Lego3DView;
 | |
| class LegoEntity;
 | |
| class LegoNavController;
 | |
| 
 | |
| //////////////////////////////////////////////////////////////////////////////
 | |
| //
 | |
| // LegoMouseController
 | |
| 
 | |
| // VTABLE: LEGO1 0x100d8dd8
 | |
| // SIZE 0x20
 | |
| class LegoMouseController : public MxCore {
 | |
| public:
 | |
| 	LegoMouseController();
 | |
| 	~LegoMouseController() override;
 | |
| 
 | |
| 	virtual void LeftDown(int, int);  // vtable+0x14
 | |
| 	virtual void LeftDrag(int, int);  // vtable+0x18
 | |
| 	virtual void LeftUp(int, int);    // vtable+0x1c
 | |
| 	virtual void RightDown(int, int); // vtable+0x20
 | |
| 	virtual void RightDrag(int, int); // vtable+0x24
 | |
| 	virtual void RightUp(int, int);   // vtable+0x28
 | |
| 
 | |
| 	BOOL GetIsButtonDown() { return m_isButtonDown; }
 | |
| 	MxDouble GetButtonX() { return m_buttonX; }
 | |
| 	MxDouble GetButtonY() { return m_buttonY; }
 | |
| 
 | |
| private:
 | |
| 	BOOL m_isButtonDown;  // 0x08
 | |
| 	undefined4 m_unk0x0c; // 0x0c
 | |
| 	MxDouble m_buttonX;   // 0x10
 | |
| 	MxDouble m_buttonY;   // 0x18
 | |
| };
 | |
| 
 | |
| // SYNTHETIC: LEGO1 0x100655b0
 | |
| // LegoMouseController::`scalar deleting destructor'
 | |
| 
 | |
| // VTABLE: LEGO1 0x100d8e08
 | |
| // SIZE 0x38
 | |
| class LegoPointOfViewController : public LegoMouseController {
 | |
| public:
 | |
| 	LegoPointOfViewController();
 | |
| 	~LegoPointOfViewController() override;
 | |
| 
 | |
| 	MxResult Tickle() override;               // vtable+0x08
 | |
| 	void LeftDown(int p_x, int p_y) override; // vtable+0x0c
 | |
| 	void LeftDrag(int p_x, int p_y) override; // vtable+0x10
 | |
| 
 | |
| 	// FUNCTION: LEGO1 0x10011e40
 | |
| 	void LeftUp(int p_x, int p_y) override
 | |
| 	{
 | |
| 		LegoMouseController::LeftUp(p_x, p_y);
 | |
| 		AffectPointOfView();
 | |
| 	}
 | |
| 	// vtable+0x14
 | |
| 
 | |
| 	// FUNCTION: LEGO1 0x10011e60
 | |
| 	void RightDown(int p_x, int p_y) override
 | |
| 	{
 | |
| 		LegoMouseController::RightDown(p_x, p_y);
 | |
| 		AffectPointOfView();
 | |
| 	}
 | |
| 	// vtable+0x20
 | |
| 
 | |
| 	// FUNCTION: LEGO1 0x10011e80
 | |
| 	void RightDrag(int p_x, int p_y) override
 | |
| 	{
 | |
| 		LegoMouseController::RightDrag(p_x, p_y);
 | |
| 		AffectPointOfView();
 | |
| 	}
 | |
| 	// vtable+0x24
 | |
| 
 | |
| 	// FUNCTION: LEGO1 0x10011ea0
 | |
| 	void RightUp(int p_x, int p_y) override
 | |
| 	{
 | |
| 		LegoMouseController::RightUp(p_x, p_y);
 | |
| 		AffectPointOfView();
 | |
| 	}                                             // vtable+0x28
 | |
| 	virtual void SetEntity(LegoEntity* p_entity); // vtable+0x2c
 | |
| 
 | |
| 	MxResult Create(Lego3DView* p_lego3DView);
 | |
| 	void OnViewSize(int p_width, int p_height);
 | |
| 
 | |
| 	LegoEntity* GetEntity() { return m_entity; }
 | |
| 	LegoNavController* GetNavController() { return m_nav; }
 | |
| 
 | |
| protected:
 | |
| 	void AffectPointOfView();
 | |
| 
 | |
| 	Lego3DView* m_lego3DView;  // 0x20
 | |
| 	LegoEntity* m_entity;      // 0x24
 | |
| 	MxDouble m_entityOffsetUp; // 0x28
 | |
| 	LegoNavController* m_nav;  // 0x30
 | |
| };
 | |
| 
 | |
| // SYNTHETIC: LEGO1 0x10065750
 | |
| // LegoPointOfViewController::`scalar deleting destructor'
 | |
| 
 | |
| #endif /* LEGOPOINTOFVIEWCONTROLLER_H */
 |