ultimatepp/bazaar/MapCommon/PolygonItemEvents.cpp
Sc0rch 9959d8888c MapRender: First release (FormEditorCommon, FormEditorProperties, Map, MapBG, MapCommon, MapEditor, MapRenderTest.
git-svn-id: svn://ultimatepp.org/upp/trunk@4180 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2011-11-18 06:28:11 +00:00

43 lines
905 B
C++

#include "PolygonItem.h"
#include "IMapRender.h"
void PolygonItem::StatePerformed(dword state, const String& param)
{
if (state == PERFORM_SEARCH)
{
if (param.IsEmpty() || ToLower(GetName() + GetTags()).Find(ToLower(param)) < 0)
StateOff(STATE_FOUND);
else
StateOn (STATE_FOUND);
}
}
bool PolygonItem::ProcessLeftDown(Point p, dword keyflags)
{
bool sel = Contains(p);
if (sel)
{
_click = GetTopRender()->ViewToScene(p);
StatesOff(STATE_SELECTED);
StateOn(STATE_SELECTED);
}
return sel || IMapItem::ProcessLeftDown(p, keyflags);
}
bool PolygonItem::ProcessLeftUp(Point p, dword keyflags)
{
bool sel = Contains(p);
p = GetTopRender()->ViewToScene(p);
if (sel && !IsNull(_click))
{
if (abs(_click.x - p.x) < 5 && abs(_click.y - p.y) < 5)
WhenClick(this);
}
_click = Null;
return IMapItem::ProcessLeftUp(p, keyflags);
}