// every object for collision.
/*virtual*/ void Container::PointerMoved(Vector point)
{
+ if (!isTopLevelContainer)
+ {
+ // check for selection rectangle too
+
+
+ needUpdate = true;
+
+ for(std::vector<Object *>::iterator i=objects.begin(); i!=objects.end(); i++)
+ {
+ if ((*i)->HitTest(point))
+ {
+ state = OSSelected;
+ return;
+ }
+ }
+
+ state = OSInactive;
+ return;
+ }
+
// objectWasDragged = true;
//printf("CONTAINER: PointerMoved()\n");
/*virtual*/ bool Container::NeedsUpdate(void)
{
+ // If this is *not* a top level container, then we treat it as an
+ // aggregate object.
+ if (!isTopLevelContainer)
+ {
+ return needUpdate;
+ }
+
// Search through objects for one that needs an update; if one is found,
// return immediately.
for(std::vector<Object *>::iterator i=objects.begin(); i!=objects.end(); i++)