GWT Query DropEvent: можно ли получить координаты падения?

Я использую плагин GWT и GWT Query для своего веб-приложения. У меня есть перетаскиваемое изображение и холст GWT, завернутый в Droppable. Мой код выглядит так:

final Canvas canvas = Canvas.createIfSupported();
    canvas.setHeight("340px");
    DroppableWidget<Canvas> test = new DroppableWidget<Canvas>(canvas);

    test.addDropHandler(new DropEventHandler() {
        @Override
        public void onDrop(DropEvent event) {
            Context2d context = canvas.getContext2d();
            Image img = new Image("image");
            ImageElement i = ImageElement.as(img.getElement());
            //get x and y coordinates out of the drop event
            context.drawImage(i, x, y);
        }

    });

Вопрос в том ... как мне получить эти координаты x и y из события перетаскивания, чтобы я мог рисовать изображение на холсте в месте перетаскивания?


person mdzh    schedule 13.03.2013    source источник


Ответы (1)


Сначала вы должны получить элемент изображения через DropEvent

ImageElement i = ImageElement.as(event.getDraggable());

После этого, если вы хотите знать, где перетаскивается перетаскиваемый объект (связанный с перетаскиваемым объектом), вы можете вычислить координату следующим образом:

Offest droppableOffset = $(event.getDroppable()).offset();
Offset draggableOffset = $(event.getDraggable()).offset();

int x = draggableOffset.left - droppableOffset.left;
int y = draggableOffset.top - droppableOffset.top;
person jdramaix    schedule 14.03.2013