123
This commit is contained in:
83
Editor/Brush/BrushTool.h
Normal file
83
Editor/Brush/BrushTool.h
Normal file
@@ -0,0 +1,83 @@
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Crytek Engine Source File.
|
||||
// Copyright (C), Crytek Studios, 2001.
|
||||
// -------------------------------------------------------------------------
|
||||
// File name: BrushTool.h
|
||||
// Version: v1.00
|
||||
// Created: 11/1/2002 by Timur.
|
||||
// Compilers: Visual C++ 6.0
|
||||
// Description: Terrain modification tool.
|
||||
// -------------------------------------------------------------------------
|
||||
// History:
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef __BrushTool_h__
|
||||
#define __BrushTool_h__
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "..\EditTool.h"
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
class CBrushTool : public CEditTool
|
||||
{
|
||||
DECLARE_DYNCREATE(CBrushTool)
|
||||
public:
|
||||
CBrushTool();
|
||||
virtual ~CBrushTool();
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// CEditTool overrides.
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
virtual void BeginEditParams( IEditor *ie,int flags );
|
||||
virtual void EndEditParams();
|
||||
|
||||
virtual void Display( DisplayContext &dc );
|
||||
virtual bool MouseCallback( CViewport *view,EMouseEvent event,CPoint &point,int flags );
|
||||
|
||||
// Key down.
|
||||
virtual bool OnKeyDown( CViewport *view,uint nChar,uint nRepCnt,uint nFlags );
|
||||
virtual bool OnKeyUp( CViewport *view,uint nChar,uint nRepCnt,uint nFlags );
|
||||
|
||||
// Delete itself.
|
||||
virtual void Release() { delete this; };
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
private:
|
||||
void NewBrush( CViewport *view,CPoint point );
|
||||
void StretchBrush( CViewport* view,CPoint point );
|
||||
void CalcLastBrushSize();
|
||||
|
||||
// Specific mouse events handlers.
|
||||
bool OnLButtonDown( CViewport *view,UINT nFlags,CPoint point );
|
||||
bool OnLButtonUp( CViewport *view,UINT nFlags,CPoint point );
|
||||
bool OnMouseMove( CViewport *view,UINT nFlags,CPoint point );
|
||||
|
||||
//! Operation modes of this viewport.
|
||||
enum BrushOpMode
|
||||
{
|
||||
BrushNoMode = 0,
|
||||
BrushMoveMode,
|
||||
BrushCreateMode,
|
||||
BrushStretchMode,
|
||||
};
|
||||
|
||||
|
||||
IEditor *m_IEditor;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
//! Bounds of last selected brush or selection.
|
||||
BBox m_lastBrushBounds;
|
||||
|
||||
//! Current brush tool operation mode.
|
||||
BrushOpMode m_mode;
|
||||
bool m_bMouseCaptured;
|
||||
CPoint m_mouseDownPos;
|
||||
};
|
||||
|
||||
|
||||
#endif // __BrushTool_h__
|
||||
Reference in New Issue
Block a user