//----------------------------------------------------------------------------- // 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