tge/engine/editor/editTSCtrl.h
2025-02-17 23:17:30 -06:00

104 lines
3.2 KiB
C++
Executable File

//-----------------------------------------------------------------------------
// Torque Game Engine
// Copyright (C) GarageGames.com, Inc.
//-----------------------------------------------------------------------------
#ifndef _EDITTSCTRL_H_
#define _EDITTSCTRL_H_
#ifndef _GUITSCONTROL_H_
#include "gui/core/guiTSControl.h"
#endif
struct Gui3DMouseEvent : public GuiEvent
{
Point3F vec;
Point3F pos;
};
class EditManager;
class EditTSCtrl : public GuiTSCtrl
{
private:
typedef GuiTSCtrl Parent;
// EditTSCtrl
void make3DMouseEvent(Gui3DMouseEvent & gui3Devent, const GuiEvent &event);
void getCursor(GuiCursor *&cursor, bool &showCursor, const GuiEvent &lastGuiEvent);
void onMouseUp(const GuiEvent & event);
void onMouseDown(const GuiEvent & event);
void onMouseMove(const GuiEvent & event);
void onMouseDragged(const GuiEvent & event);
void onMouseEnter(const GuiEvent & event);
void onMouseLeave(const GuiEvent & event);
void onRightMouseDown(const GuiEvent & event);
void onRightMouseUp(const GuiEvent & event);
void onRightMouseDragged(const GuiEvent & event);
bool onInputEvent(const InputEvent & event);
virtual void updateGuiInfo() {};
virtual void renderScene(const RectI &){};
void renderMissionArea();
// GuiTSCtrl
void renderWorld(const RectI & updateRect);
protected:
EditManager * mEditManager;
Gui3DMouseEvent mLastEvent;
public:
EditTSCtrl();
~EditTSCtrl();
// SimObject
bool onAdd();
//
bool mRenderMissionArea;
ColorI mMissionAreaFillColor;
ColorI mMissionAreaFrameColor;
//
ColorI mConsoleFrameColor;
ColorI mConsoleFillColor;
S32 mConsoleSphereLevel;
S32 mConsoleCircleSegments;
S32 mConsoleLineWidth;
static void initPersistFields();
static void consoleInit();
//
bool mConsoleRendering;
bool mRightMousePassThru;
// all editors will share a camera
static Point3F smCamPos;
static EulerF smCamRot;
static MatrixF smCamMatrix;
static F32 smVisibleDistance;
// GuiTSCtrl
bool processCameraQuery(CameraQuery * query);
// guiControl
virtual void onRender(Point2I offset, const RectI &updateRect);
virtual void on3DMouseUp(const Gui3DMouseEvent &){};
virtual void on3DMouseDown(const Gui3DMouseEvent &){};
virtual void on3DMouseMove(const Gui3DMouseEvent &){};
virtual void on3DMouseDragged(const Gui3DMouseEvent &){};
virtual void on3DMouseEnter(const Gui3DMouseEvent &){};
virtual void on3DMouseLeave(const Gui3DMouseEvent &){};
virtual void on3DRightMouseDown(const Gui3DMouseEvent &){};
virtual void on3DRightMouseUp(const Gui3DMouseEvent &){};
virtual void on3DRightMouseDragged(const Gui3DMouseEvent &){};
virtual void get3DCursor(GuiCursor *&cursor, bool &visible, const Gui3DMouseEvent &);
DECLARE_CONOBJECT(EditTSCtrl);
};
#endif