| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- diff -r b08c7c8fbf4b oxygine/src/Actor.cpp
- --- a/oxygine/src/Actor.cpp Thu Apr 11 19:02:02 2013 +0600
- +++ b/oxygine/src/Actor.cpp Thu Apr 11 19:20:22 2013 +0600
- @@ -247,6 +247,8 @@
- switch(event->type)
- {
- case TouchEvent::TOUCH_DOWN:
- + setPressed(me->index);
- + /*
- if (isDescendant(act))
- {
- if (event->phase == Event::phase_target)
- @@ -255,6 +257,11 @@
- //_pressed = me->id;
- //setPressed(true);
- }
- + else
- + {
- + int q=0;
- + }
- + */
- break;
- case TouchEvent::TOUCH_UP:
- {
- @@ -264,15 +271,18 @@
- {
- setPressed(0);
- //it is event from ROOT, convert to local space
- - Vector2 lp = convert_global2local(this, RootActor::instance, me->localPosition);
- - if (isDescendant(act))
- +
- + //if (isDescendant(act))
- + if (me->currentTarget != RootActor::instance)
- {
- + Vector2 lp = convert_global2local(this, RootActor::instance, me->localPosition);
- TouchEvent e(TouchEvent::CLICK, true, lp);
- e.index = me->index;
- dispatchEvent(&e);
- }
- else
- {
- + //it is event from Root outside of this actor
- dispatchEvent(event);
- }
- }
- @@ -383,8 +393,8 @@
- event->target = this;
-
-
- - if (event->type == TouchEvent::TOUCH_DOWN || event->type == TouchEvent::MOVE)
- - _onMouseEvent(event);
- + //if (event->type == TouchEvent::TOUCH_DOWN || event->type == TouchEvent::MOVE)
- + _onMouseEvent(event);
-
-
- dispatchEvent(event);
- diff -r b08c7c8fbf4b oxygine/src/Draggable.cpp
- --- a/oxygine/src/Draggable.cpp Thu Apr 11 19:02:02 2013 +0600
- +++ b/oxygine/src/Draggable.cpp Thu Apr 11 19:20:22 2013 +0600
- @@ -111,6 +111,7 @@
- case TouchEvent::TOUCH_UP:
- {
- _pressed = false;
- + event->stopPropagation();
- RootActor::instance->removeEventListeners(this);
- }
- break;
- diff -r b08c7c8fbf4b oxygine/src/SlidingActor.cpp
- --- a/oxygine/src/SlidingActor.cpp Thu Apr 11 19:02:02 2013 +0600
- +++ b/oxygine/src/SlidingActor.cpp Thu Apr 11 19:20:22 2013 +0600
- @@ -14,14 +14,14 @@
- _clip = initActor(new ClipRectActor,
- arg_attachTo = this);
-
- - _clip->addEventListener(TouchEvent::TOUCH_DOWN, CLOSURE(this, &SlidingActor::_newEvent));
- - _clip->addEventListener(TouchEvent::TOUCH_UP, CLOSURE(this, &SlidingActor::_newEvent));
- - _clip->addEventListener(TouchEvent::MOVE, CLOSURE(this, &SlidingActor::_newEvent));
- +
- }
-
- void SlidingActor::destroy()
- {
- _clip->removeChildren();
- + if (_content)
- + _content->removeEventListeners(this);
-
- _drag.destroy();
- _content = 0;
- @@ -69,6 +69,10 @@
-
- _clip->addChild(_content);
-
- + _content->addEventListener(TouchEvent::TOUCH_DOWN, CLOSURE(this, &SlidingActor::_newEvent));
- + _content->addEventListener(TouchEvent::TOUCH_UP, CLOSURE(this, &SlidingActor::_newEvent));
- + _content->addEventListener(TouchEvent::MOVE, CLOSURE(this, &SlidingActor::_newEvent));
- +
- updateDragBounds();
- }
-
- @@ -198,7 +202,7 @@
- {
- case TouchEvent::TOUCH_DOWN:
- _holded = event->target;
- - _downPos = te->localPosition;
- + _downPos = _content->local2global(te->localPosition);
- _down = true;
- break;
-
- @@ -213,7 +217,7 @@
-
- case TouchEvent::MOVE:
- {
- - Vector2 offset = _downPos - te->localPosition;
- + Vector2 offset = _downPos - _content->local2global(te->localPosition);
- float d = offset.dot(offset);
- if (_holded && (d >= _rad * _rad))
- {
|