engine/editor/editTSCtrl.h
2024-01-07 04:36:33 +00:00

101 lines
2.9 KiB
C++

//-----------------------------------------------------------------------------
// V12 Engine
//
// Copyright (c) 2001 GarageGames.Com
// Portions Copyright (c) 2001 by Sierra Online, Inc.
//-----------------------------------------------------------------------------
#ifndef _EDITTSCTRL_H_
#define _EDITTSCTRL_H_
#ifndef _GUITSCONTROL_H_
#include "GUI/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 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);
virtual void updateGuiInfo() {};
virtual void renderScene(const RectI &){};
void renderMissionArea();
// GuiTSCtrl
void renderWorld(const RectI & updateRect);
protected:
EditManager * mEditManager;
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;
// 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, const RectI &, GuiControl *);
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 &){};
DECLARE_CONOBJECT(EditTSCtrl);
};
#endif