This commit is contained in:
parent
0e6c23803d
commit
a1e872c005
9 changed files with 144 additions and 264 deletions
|
@ -10,11 +10,16 @@
|
||||||
#include <gl\glut.h>
|
#include <gl\glut.h>
|
||||||
#include "GLEnabledView.h"
|
#include "GLEnabledView.h"
|
||||||
|
|
||||||
|
#include "MapEdit.h"
|
||||||
#include "MapEditDoc.h"
|
#include "MapEditDoc.h"
|
||||||
#include "MapEditView.h"
|
#include "MapEditView.h"
|
||||||
|
|
||||||
#include "Core.h"
|
#include "Core.h"
|
||||||
#include "Layer.h"
|
#include "Layer.h"
|
||||||
|
#include "LayerBack.h"
|
||||||
|
#include "LayerMid.h"
|
||||||
|
#include "LayerAction.h"
|
||||||
|
#include "LayerFore.h"
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -23,23 +28,26 @@
|
||||||
CCore::CCore()
|
CCore::CCore()
|
||||||
{
|
{
|
||||||
MouseMode=MOUSE_MODE_NONE;
|
MouseMode=MOUSE_MODE_NONE;
|
||||||
|
Layers[LAYER_TYPE_BACK]= new CLayerBack;
|
||||||
|
Layers[LAYER_TYPE_MID]= new CLayerMid;
|
||||||
|
Layers[LAYER_TYPE_ACTION]= new CLayerAction;
|
||||||
|
Layers[LAYER_TYPE_FORE]= new CLayerFore;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
CCore::~CCore()
|
CCore::~CCore()
|
||||||
{
|
{
|
||||||
|
for (int i=0; i<LAYER_TYPE_MAX; i++) delete Layers[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void CCore::Init(CMapEditView *Wnd)
|
void CCore::Init(CMapEditView *Wnd)
|
||||||
{
|
{
|
||||||
ParentWindow=Wnd;
|
ParentWindow=Wnd;
|
||||||
// ParentWindow->SetCapture();
|
|
||||||
// ParentWindow->SetCapture();
|
|
||||||
|
|
||||||
// TestLayer.Init();
|
ActiveLayer=0;
|
||||||
// UpdateView();
|
MapPos.x=MapPos.y=MapPos.z=0;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,106 +56,73 @@ void CCore::Init(CMapEditView *Wnd)
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void CCore::Render()
|
void CCore::Render()
|
||||||
{
|
{
|
||||||
TRACE0("HERE");
|
|
||||||
Layers[ActiveLayer].Render();
|
|
||||||
|
|
||||||
// if (RenderMode & RENDER_MODE_GFX) TestLayer.Render();
|
for (int i=0;i<LAYER_TYPE_MAX;i++)
|
||||||
// if (RenderMode & RENDER_MODE_POS) TestLayer.UpdateCursor(this);
|
{
|
||||||
// RenderMode=0;
|
Layers[i]->Render(MapPos);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void CCore::UpdateView(float XOfs,float YOfs,float ZOfs)
|
void CCore::UpdateView(float XOfs,float YOfs,float ZOfs)
|
||||||
{
|
{
|
||||||
// RenderMode|= RENDER_MODE_POS;
|
MapPos=MapPos+Vec(XOfs,YOfs,ZOfs);
|
||||||
// RenderMode|= RENDER_MODE_GFX;
|
if (MapPos.z>-1) MapPos.z=-1;
|
||||||
// ViewPos=ViewPos+Vec(XOfs,YOfs,ZOfs);
|
|
||||||
// if (ViewPos.z>-1) ViewPos.z=-1;
|
|
||||||
|
|
||||||
// ParentWindow->Redraw();
|
ParentWindow->Invalidate();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*** Control *****************************************************************/
|
/*** Control *****************************************************************/
|
||||||
/*****************************************************************************/
|
|
||||||
void CCore::SetMouseMode(MOUSE_MODE CurrentMode,MOUSE_MODE NewMode)
|
|
||||||
{
|
|
||||||
if (MouseMode==CurrentMode)
|
|
||||||
{
|
|
||||||
// ReleaseCapture();
|
|
||||||
MouseMode=NewMode;
|
|
||||||
// if (MouseMode!=MOUSE_MODE_NONE) ParentWindow->SetCapture(); // Set new capture
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void CCore::LButtonControl(UINT nFlags, CPoint &point,BOOL DownFlag)
|
void CCore::LButtonControl(UINT nFlags, CPoint &point,BOOL DownFlag)
|
||||||
{
|
{
|
||||||
// TestLayer.LButtonControl(nFlags,point,DownFlag);
|
// if (!(nFlags & (MK_MBUTTON | MK_RBUTTON))) Layers[ActiveLayer].MouseMsg(nFlags,point);
|
||||||
SetMouseMode(MOUSE_MODE_NONE,MOUSE_MODE_LMB);
|
|
||||||
TRACE0("LMB\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void CCore::MButtonControl(UINT nFlags, CPoint &point,BOOL DownFlag)
|
void CCore::MButtonControl(UINT nFlags, CPoint &point,BOOL DownFlag)
|
||||||
{
|
{
|
||||||
if (DownFlag)
|
// if (!(nFlags & (MK_LBUTTON | MK_RBUTTON))) Layers[ActiveLayer].MouseMsg(nFlags,point);
|
||||||
SetMouseMode(MOUSE_MODE_NONE,MOUSE_MODE_MMB);
|
|
||||||
else
|
|
||||||
SetMouseMode(MOUSE_MODE_MMB,MOUSE_MODE_NONE);
|
|
||||||
TRACE0("MMB\n");
|
|
||||||
/*
|
|
||||||
if (DownFlag)
|
|
||||||
{
|
|
||||||
LastMousePos=point;
|
|
||||||
ParentWindow->SetCapture();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ReleaseCapture();
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void CCore::RButtonControl(UINT nFlags, CPoint &point,BOOL DownFlag)
|
void CCore::RButtonControl(UINT nFlags, CPoint &point,BOOL DownFlag)
|
||||||
{
|
{
|
||||||
// TestLayer.RButtonControl(nFlags,point,DownFlag);
|
// if (!(nFlags & (MK_LBUTTON | MK_MBUTTON))) Layers[ActiveLayer].MouseMsg(nFlags,point);
|
||||||
SetMouseMode(MOUSE_MODE_NONE,MOUSE_MODE_RMB);
|
|
||||||
TRACE0("RMB\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void CCore::MouseWheel(UINT nFlags, short zDelta, CPoint &pt)
|
void CCore::MouseWheel(UINT nFlags, short zDelta, CPoint &pt)
|
||||||
{
|
{
|
||||||
if (zDelta<0)
|
|
||||||
{
|
|
||||||
UpdateView(0,0,+1.0f);
|
|
||||||
}
|
|
||||||
if (zDelta>0)
|
if (zDelta>0)
|
||||||
{
|
UpdateView(0,0,1.0f);
|
||||||
|
else
|
||||||
UpdateView(0,0,-1.0f);
|
UpdateView(0,0,-1.0f);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void CCore::MouseMove(UINT nFlags, CPoint &point,BOOL CaptureFlag)
|
void CCore::MouseMove(UINT nFlags, CPoint &point)
|
||||||
{
|
{
|
||||||
float XOfs=0;
|
float XOfs=0;
|
||||||
float YOfs=0;
|
float YOfs=0;
|
||||||
|
|
||||||
CurrentMousePos=point;
|
// check if active doc
|
||||||
|
if (theApp.GetCurrent()!=ParentWindow->GetDocument()) return;
|
||||||
|
|
||||||
if (CaptureFlag)
|
// Layers[ActiveLayer].MouseMsg(nFlags,point);
|
||||||
|
/*
|
||||||
|
// Handle Movement
|
||||||
|
CurrentMousePos=point;
|
||||||
{
|
{
|
||||||
float XS,YS;
|
float XS,YS;
|
||||||
RECT ThisRect;
|
RECT ThisRect;
|
||||||
|
|
||||||
ParentWindow->GetWindowRect(&ThisRect);
|
ParentWindow->GetWindowRect(&ThisRect);
|
||||||
|
|
||||||
XS=ViewPos.z/((ThisRect.right-ThisRect.left));
|
XS=MapPos.z/((ThisRect.right-ThisRect.left));
|
||||||
YS=ViewPos.z/((ThisRect.bottom-ThisRect.top));
|
YS=MapPos.z/((ThisRect.bottom-ThisRect.top));
|
||||||
|
|
||||||
XOfs=LastMousePos.x-CurrentMousePos.x;
|
XOfs=LastMousePos.x-CurrentMousePos.x;
|
||||||
YOfs=LastMousePos.y-CurrentMousePos.y;
|
YOfs=LastMousePos.y-CurrentMousePos.y;
|
||||||
|
@ -155,35 +130,24 @@ float YOfs=0;
|
||||||
|
|
||||||
XOfs*=XS;
|
XOfs*=XS;
|
||||||
YOfs*=YS;
|
YOfs*=YS;
|
||||||
|
|
||||||
|
// TRACE2("Move %i %i,",ThisRect.left,ThisRect.top);
|
||||||
|
// TRACE2("Move %i %i \n",ThisRect.right,ThisRect.bottom);
|
||||||
}
|
}
|
||||||
UpdateView(-XOfs,-YOfs,0);
|
UpdateView(-XOfs,-YOfs,0);
|
||||||
// if (nFlags & MK_LBUTTON) LButtonControl(nFlags,point,TRUE);
|
// if (nFlags & MK_LBUTTON) LButtonControl(nFlags,point,TRUE);
|
||||||
// if (nFlags & MK_RBUTTON) RButtonControl(nFlags,point,TRUE);
|
// if (nFlags & MK_RBUTTON) RButtonControl(nFlags,point,TRUE);
|
||||||
|
|
||||||
TRACE3("Move %i %i %i \n",point.x,point.y,CaptureFlag);
|
|
||||||
|
TRACE2("Move %i %i \n",point.x,point.y);
|
||||||
|
*/
|
||||||
|
MapPos.x+=0.01f;
|
||||||
|
UpdateView(0.01f,0,0);
|
||||||
|
//Render();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*** Layer Code **************************************************************/
|
/*** Layer Code **************************************************************/
|
||||||
/*****************************************************************************/
|
|
||||||
void CCore::LayerAdd(char *Name)
|
|
||||||
{
|
|
||||||
CLayer NewLayer;
|
|
||||||
|
|
||||||
if (!Name)
|
|
||||||
{
|
|
||||||
char DynName[32];
|
|
||||||
sprintf(DynName,"Layer%2d",Layers.size()+1);
|
|
||||||
Name=DynName;
|
|
||||||
}
|
|
||||||
|
|
||||||
NewLayer.SetName(Name);
|
|
||||||
// strcpy(NewLayer.Name,Name);
|
|
||||||
TRACE1("New Layer [%s]\n",Name);
|
|
||||||
Layers.push_back(NewLayer);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void CCore::LayerSetActive(int i)
|
void CCore::LayerSetActive(int i)
|
||||||
{
|
{
|
||||||
|
@ -196,50 +160,11 @@ int CCore::LayerGetActive()
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
int CCore::LayerGetCount()
|
CLayer *CCore::LayerGet(int i)
|
||||||
{
|
|
||||||
return(Layers.size());
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
CLayer &CCore::LayerGet(int i)
|
|
||||||
{
|
{
|
||||||
return(Layers[i]);
|
return(Layers[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
void CCore::LayerDelete(int Layer)
|
|
||||||
{
|
|
||||||
Layers.erase(Layers.begin() + Layer);
|
|
||||||
TRACE0("Delete Layer\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
void CCore::LayerMoveUp(int Layer)
|
|
||||||
{
|
|
||||||
CLayer Tmp;
|
|
||||||
|
|
||||||
Tmp=Layers[Layer];
|
|
||||||
Layers[Layer]=Layers[Layer-1];
|
|
||||||
Layers[Layer-1]=Tmp;
|
|
||||||
|
|
||||||
TRACE0("Layer Up \n");
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
void CCore::LayerMoveDown(int Layer)
|
|
||||||
{
|
|
||||||
CLayer Tmp;
|
|
||||||
|
|
||||||
Tmp=Layers[Layer];
|
|
||||||
Layers[Layer]=Layers[Layer+1];
|
|
||||||
Layers[Layer+1]=Tmp;
|
|
||||||
|
|
||||||
TRACE0("Layer Down\n");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -8,17 +8,20 @@
|
||||||
#include <Vector>
|
#include <Vector>
|
||||||
#include "gl3d.h"
|
#include "gl3d.h"
|
||||||
#include "Layer.h"
|
#include "Layer.h"
|
||||||
|
#include "LayerBack.h"
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
enum MOUSE_MODE
|
enum MOUSE_MODE
|
||||||
{
|
{
|
||||||
MOUSE_MODE_NONE=0,
|
MOUSE_MODE_NONE=0,
|
||||||
MOUSE_MODE_LMB,
|
MOUSE_MODE_LMB_EDIT,
|
||||||
MOUSE_MODE_MMB,
|
MOUSE_MODE_MMB_EDIT,
|
||||||
MOUSE_MODE_RMB,
|
MOUSE_MODE_RMB_EDIT,
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
class CMapEditView;
|
class CMapEditView;
|
||||||
class CCore
|
class CCore
|
||||||
|
@ -31,7 +34,7 @@ public:
|
||||||
void MButtonControl(UINT nFlags, CPoint &point,BOOL DownFlag);
|
void MButtonControl(UINT nFlags, CPoint &point,BOOL DownFlag);
|
||||||
void RButtonControl(UINT nFlags, CPoint &point,BOOL DownFlag);
|
void RButtonControl(UINT nFlags, CPoint &point,BOOL DownFlag);
|
||||||
void MouseWheel(UINT nFlags, short zDelta, CPoint &pt);
|
void MouseWheel(UINT nFlags, short zDelta, CPoint &pt);
|
||||||
void MouseMove(UINT nFlags, CPoint &point, BOOL CaptureFlag);
|
void MouseMove(UINT nFlags, CPoint &point);
|
||||||
|
|
||||||
// Blah
|
// Blah
|
||||||
void Init(CMapEditView *Wnd);
|
void Init(CMapEditView *Wnd);
|
||||||
|
@ -40,25 +43,18 @@ public:
|
||||||
void SetMouseMode(MOUSE_MODE CurrentMode,MOUSE_MODE NewMode);
|
void SetMouseMode(MOUSE_MODE CurrentMode,MOUSE_MODE NewMode);
|
||||||
|
|
||||||
// Layers
|
// Layers
|
||||||
void LayerAdd(char *Name=0);
|
|
||||||
void LayerSetActive(int Layer);
|
void LayerSetActive(int Layer);
|
||||||
int LayerGetActive();
|
int LayerGetActive();
|
||||||
int LayerGetCount();
|
CLayer *LayerGet(int i);
|
||||||
CLayer &LayerGet(int i);
|
|
||||||
void LayerDelete(int Layer);
|
|
||||||
void LayerMoveUp(int Layer);
|
|
||||||
void LayerMoveDown(int Layer);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
CMapEditView *ParentWindow;
|
CMapEditView *ParentWindow;
|
||||||
MOUSE_MODE MouseMode;
|
MOUSE_MODE MouseMode;
|
||||||
CPoint CurrentMousePos,LastMousePos;
|
CPoint CurrentMousePos,LastMousePos;
|
||||||
Vec ViewPos;
|
Vec MapPos;
|
||||||
|
|
||||||
|
CLayer *Layers[LAYER_TYPE_MAX];
|
||||||
std::vector<CLayer> Layers;
|
|
||||||
int ActiveLayer;
|
int ActiveLayer;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -22,46 +22,33 @@
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
CLayer::CLayer()
|
CLayer::CLayer()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
CLayer::~CLayer()
|
CLayer::~CLayer()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void CLayer::Init()
|
void CLayer::Render(Vec &MapPos)
|
||||||
{
|
{
|
||||||
|
TRACE1("%s\n",GetName());
|
||||||
|
|
||||||
}
|
float ZOfs=GetLayerZPos();
|
||||||
|
float XYDiv=GetLayerZPosDiv();
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
void CLayer::SetName(char *Str)
|
|
||||||
{
|
|
||||||
strcpy(Name,Str);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
/*****************************************************************************/
|
|
||||||
/*****************************************************************************/
|
|
||||||
void CLayer::Render()
|
|
||||||
{
|
|
||||||
glMatrixMode(GL_MODELVIEW);
|
glMatrixMode(GL_MODELVIEW);
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
|
glTranslatef(MapPos.x/XYDiv,MapPos.y/XYDiv,MapPos.z-ZOfs);
|
||||||
|
|
||||||
glBegin(GL_QUADS);
|
glBegin(GL_QUADS);
|
||||||
glColor3f(1,0,1);
|
SetTestColor();
|
||||||
BuildGLBox(-1,LayerWidth+1,-1,0,LayerZ,LayerZ+1); // Bottom
|
BuildGLBox(-1,LayerWidth+1,-1,0,0,0+1); // Bottom
|
||||||
BuildGLBox(-1,LayerWidth+1,LayerHeight+1,LayerHeight,LayerZ,LayerZ+1); // Top
|
BuildGLBox(-1,LayerWidth+1,LayerHeight+1,LayerHeight,0,0+1); // Top
|
||||||
BuildGLBox(-1,0,LayerHeight,0,LayerZ,LayerZ+1); // Left
|
BuildGLBox(-1,0,LayerHeight,0,0,0+1); // Left
|
||||||
BuildGLBox(LayerWidth,LayerWidth+1,LayerHeight,0,LayerZ,LayerZ+1); // Right
|
BuildGLBox(LayerWidth,LayerWidth+1,LayerHeight,0,0,0+1); // Right
|
||||||
glEnd();
|
glEnd();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*****************************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,17 @@
|
||||||
#include <Vector>
|
#include <Vector>
|
||||||
#include "gl3d.h"
|
#include "gl3d.h"
|
||||||
|
|
||||||
|
enum LAYER_TYPE
|
||||||
|
{
|
||||||
|
LAYER_TYPE_BACK=0,
|
||||||
|
LAYER_TYPE_MID,
|
||||||
|
LAYER_TYPE_ACTION,
|
||||||
|
LAYER_TYPE_FORE,
|
||||||
|
|
||||||
|
LAYER_TYPE_MAX
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
class CLayer
|
class CLayer
|
||||||
|
@ -15,28 +26,22 @@ class CLayer
|
||||||
public:
|
public:
|
||||||
CLayer();
|
CLayer();
|
||||||
~CLayer();
|
~CLayer();
|
||||||
// Blah
|
|
||||||
void Init();
|
|
||||||
void Render();
|
|
||||||
|
|
||||||
void SetName(char *Str);
|
|
||||||
char *GetName() {return(Name);}
|
// Virtual
|
||||||
|
virtual void Init()=0;
|
||||||
|
virtual char *GetName()=0;
|
||||||
|
virtual void Render(Vec &MapPos);
|
||||||
|
|
||||||
|
virtual float GetLayerZPosDiv()=0;
|
||||||
|
virtual float GetLayerZPos()=0;
|
||||||
|
virtual void SetTestColor()=0;
|
||||||
|
|
||||||
// Control
|
// Control
|
||||||
// void LButtonControl(UINT nFlags, CPoint &point,BOOL DownFlag);
|
|
||||||
// void MButtonControl(UINT nFlags, CPoint &point,BOOL DownFlag);
|
|
||||||
// void RButtonControl(UINT nFlags, CPoint &point,BOOL DownFlag);
|
|
||||||
// void MouseWheel(UINT nFlags, short zDelta, CPoint &pt);
|
|
||||||
// void MouseMove(UINT nFlags, CPoint &point, BOOL CaptureFlag);
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
|
||||||
char Name[32];
|
|
||||||
|
|
||||||
float LayerWidth,LayerHeight,LayerDepth;
|
|
||||||
float LayerX,LayerY,LayerZ;
|
|
||||||
|
|
||||||
|
|
||||||
|
protected:
|
||||||
|
float LayerWidth,LayerHeight;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -29,7 +29,7 @@ Type=0
|
||||||
BaseClass=CMDIChildWnd
|
BaseClass=CMDIChildWnd
|
||||||
HeaderFile=ChildFrm.h
|
HeaderFile=ChildFrm.h
|
||||||
ImplementationFile=ChildFrm.cpp
|
ImplementationFile=ChildFrm.cpp
|
||||||
LastObject=CChildFrame
|
LastObject=IDC_LAYERBAR_LIST
|
||||||
|
|
||||||
[CLS:CGLEnabledView]
|
[CLS:CGLEnabledView]
|
||||||
Type=0
|
Type=0
|
||||||
|
@ -171,10 +171,6 @@ Control4=IDOK,button,1342373889
|
||||||
[DLG:IDD_LAYERBAR (English (U.S.))]
|
[DLG:IDD_LAYERBAR (English (U.S.))]
|
||||||
Type=1
|
Type=1
|
||||||
Class=?
|
Class=?
|
||||||
ControlCount=5
|
ControlCount=1
|
||||||
Control1=IDC_LAYERBAR_NEW,button,1342242816
|
Control1=IDC_LAYERBAR_LIST,listbox,1352728833
|
||||||
Control2=IDC_LAYERBAR_DELETE,button,1342242816
|
|
||||||
Control3=IDC_LAYERBAR_UP,button,1342242816
|
|
||||||
Control4=IDC_LAYERBAR_DOWN,button,1342242816
|
|
||||||
Control5=IDC_LAYERBAR_LIST,listbox,1352728833
|
|
||||||
|
|
||||||
|
|
|
@ -89,14 +89,9 @@ LINK32=link.exe
|
||||||
# Begin Group "MapEditor"
|
# Begin Group "MapEditor"
|
||||||
|
|
||||||
# PROP Default_Filter ""
|
# PROP Default_Filter ""
|
||||||
# Begin Source File
|
# Begin Group "Layers"
|
||||||
|
|
||||||
SOURCE=.\Core.cpp
|
# PROP Default_Filter ""
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\Core.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\Layer.cpp
|
SOURCE=.\Layer.cpp
|
||||||
|
@ -107,6 +102,47 @@ SOURCE=.\Layer.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\LayerAction.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\LayerAction.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\LayerBack.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\LayerBack.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\LayerFore.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\LayerFore.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\LayerMid.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\LayerMid.h
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Core.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Core.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\utils.cpp
|
SOURCE=.\utils.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
|
@ -181,11 +181,7 @@ STYLE DS_MODALFRAME | WS_CHILD
|
||||||
EXSTYLE WS_EX_TOOLWINDOW
|
EXSTYLE WS_EX_TOOLWINDOW
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
PUSHBUTTON "New",IDC_LAYERBAR_NEW,5,5,20,15
|
LISTBOX IDC_LAYERBAR_LIST,5,5,80,85,LBS_NOINTEGRALHEIGHT |
|
||||||
PUSHBUTTON "Del",IDC_LAYERBAR_DELETE,25,5,20,15
|
|
||||||
PUSHBUTTON "Up",IDC_LAYERBAR_UP,45,5,20,15
|
|
||||||
PUSHBUTTON "Down",IDC_LAYERBAR_DOWN,65,5,20,15
|
|
||||||
LISTBOX IDC_LAYERBAR_LIST,5,25,80,65,LBS_NOINTEGRALHEIGHT |
|
|
||||||
WS_VSCROLL | WS_TABSTOP
|
WS_VSCROLL | WS_TABSTOP
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
|
@ -34,12 +34,7 @@ BEGIN_MESSAGE_MAP(CMapEditView, CGLEnabledView)
|
||||||
ON_WM_MOUSEWHEEL()
|
ON_WM_MOUSEWHEEL()
|
||||||
ON_WM_RBUTTONDOWN()
|
ON_WM_RBUTTONDOWN()
|
||||||
ON_WM_RBUTTONUP()
|
ON_WM_RBUTTONUP()
|
||||||
ON_BN_CLICKED(IDC_LAYERBAR_NEW, OnLayerbarNew)
|
|
||||||
ON_BN_CLICKED(IDC_LAYERBAR_DELETE, OnLayerbarDelete)
|
|
||||||
ON_BN_CLICKED(IDC_LAYERBAR_UP, OnLayerbarUp)
|
|
||||||
ON_BN_CLICKED(IDC_LAYERBAR_DOWN, OnLayerbarDown)
|
|
||||||
ON_WM_MOUSEMOVE()
|
ON_WM_MOUSEMOVE()
|
||||||
ON_WM_CAPTURECHANGED()
|
|
||||||
//}}AFX_MSG_MAP
|
//}}AFX_MSG_MAP
|
||||||
END_MESSAGE_MAP()
|
END_MESSAGE_MAP()
|
||||||
|
|
||||||
|
@ -129,64 +124,19 @@ void CMapEditView::UpdateAll()
|
||||||
UpdateLayerBar();
|
UpdateLayerBar();
|
||||||
|
|
||||||
}
|
}
|
||||||
/*********************************************************************************/
|
|
||||||
/*** Layer Commands **************************************************************/
|
|
||||||
/*********************************************************************************/
|
|
||||||
void CMapEditView::OnLayerbarNew()
|
|
||||||
{
|
|
||||||
Core.LayerAdd();
|
|
||||||
UpdateLayerBar();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*********************************************************************************/
|
|
||||||
void CMapEditView::OnLayerbarDelete()
|
|
||||||
{
|
|
||||||
int Sel=GetLayerCurSel();
|
|
||||||
|
|
||||||
if (Sel==-1) return;
|
|
||||||
Core.LayerDelete(Sel);
|
|
||||||
UpdateLayerBar();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*********************************************************************************/
|
|
||||||
void CMapEditView::OnLayerbarUp()
|
|
||||||
{
|
|
||||||
int Sel=GetLayerCurSel();
|
|
||||||
|
|
||||||
if (Sel==-1) return;
|
|
||||||
if (Sel>0)
|
|
||||||
{
|
|
||||||
Core.LayerMoveUp(Sel);
|
|
||||||
UpdateLayerBar();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/*********************************************************************************/
|
|
||||||
void CMapEditView::OnLayerbarDown()
|
|
||||||
{
|
|
||||||
int Sel=GetLayerCurSel();
|
|
||||||
if (Sel==-1) return;
|
|
||||||
if (Sel<GetLayerCount()-1)
|
|
||||||
{
|
|
||||||
Core.LayerMoveDown(GetLayerCurSel());
|
|
||||||
UpdateLayerBar();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*********************************************************************************/
|
/*********************************************************************************/
|
||||||
void CMapEditView::UpdateLayerBar()
|
void CMapEditView::UpdateLayerBar()
|
||||||
{
|
{
|
||||||
int LayerCount=Core.LayerGetCount();
|
|
||||||
CListBox *Dlg=(CListBox *)LayerBar->GetDlgItem(IDC_LAYERBAR_LIST);
|
CListBox *Dlg=(CListBox *)LayerBar->GetDlgItem(IDC_LAYERBAR_LIST);
|
||||||
int CurSel=Dlg->GetCurSel();
|
int CurSel=Dlg->GetCurSel();
|
||||||
|
|
||||||
Dlg->ResetContent();
|
Dlg->ResetContent();
|
||||||
|
|
||||||
for (int i=0;i<LayerCount;i++)
|
for (int i=0;i<LAYER_TYPE_MAX;i++)
|
||||||
{
|
{
|
||||||
CLayer &ThisLayer=Core.LayerGet(i);
|
CLayer *ThisLayer=Core.LayerGet(i);
|
||||||
Dlg->AddString(ThisLayer.GetName());
|
Dlg->AddString(ThisLayer->GetName());
|
||||||
}
|
}
|
||||||
Dlg->SetCurSel(CurSel);
|
Dlg->SetCurSel(CurSel);
|
||||||
|
|
||||||
|
@ -218,12 +168,6 @@ void CMapEditView::OnMButtonUp(UINT nFlags, CPoint point) {Core.MButtonContro
|
||||||
BOOL CMapEditView::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt) {Core.MouseWheel(nFlags,zDelta,pt) ;return(0);}
|
BOOL CMapEditView::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt) {Core.MouseWheel(nFlags,zDelta,pt) ;return(0);}
|
||||||
void CMapEditView::OnRButtonDown(UINT nFlags, CPoint point) {Core.RButtonControl(nFlags,point,TRUE);}
|
void CMapEditView::OnRButtonDown(UINT nFlags, CPoint point) {Core.RButtonControl(nFlags,point,TRUE);}
|
||||||
void CMapEditView::OnRButtonUp(UINT nFlags, CPoint point) {Core.RButtonControl(nFlags,point,FALSE);}
|
void CMapEditView::OnRButtonUp(UINT nFlags, CPoint point) {Core.RButtonControl(nFlags,point,FALSE);}
|
||||||
void CMapEditView::OnMouseMove(UINT nFlags, CPoint point) {Core.MouseMove(nFlags, point,GetCapture()==this);}
|
void CMapEditView::OnMouseMove(UINT nFlags, CPoint point) {Core.MouseMove(nFlags, point);}
|
||||||
|
|
||||||
|
|
||||||
void CMapEditView::OnCaptureChanged(CWnd *pWnd)
|
|
||||||
{
|
|
||||||
// TODO: Add your message handler code here
|
|
||||||
TRACE0("!!!!");
|
|
||||||
CGLEnabledView::OnCaptureChanged(pWnd);
|
|
||||||
}
|
|
||||||
|
|
|
@ -57,12 +57,7 @@ protected:
|
||||||
afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
|
afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
|
||||||
afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
|
afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
|
||||||
afx_msg void OnRButtonUp(UINT nFlags, CPoint point);
|
afx_msg void OnRButtonUp(UINT nFlags, CPoint point);
|
||||||
afx_msg void OnLayerbarNew();
|
|
||||||
afx_msg void OnLayerbarDelete();
|
|
||||||
afx_msg void OnLayerbarUp();
|
|
||||||
afx_msg void OnLayerbarDown();
|
|
||||||
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
|
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
|
||||||
afx_msg void OnCaptureChanged(CWnd *pWnd);
|
|
||||||
//}}AFX_MSG
|
//}}AFX_MSG
|
||||||
DECLARE_MESSAGE_MAP()
|
DECLARE_MESSAGE_MAP()
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Reference in a new issue