168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved.
268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)// found in the LICENSE file.
468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)#ifndef UI_BASE_DRAGDROP_DROP_TARGET_EVENT_H_
668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)#define UI_BASE_DRAGDROP_DROP_TARGET_EVENT_H_
768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)#include "ui/events/event.h"
968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)#include "ui/base/dragdrop/os_exchange_data.h"
1068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
1168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)namespace ui {
1268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)class UI_BASE_EXPORT DropTargetEvent : public LocatedEvent {
1468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) public:
1568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  DropTargetEvent(const OSExchangeData& data,
1668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)                  const gfx::Point& location,
1768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)                  const gfx::Point& root_location,
1868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)                  int source_operations);
1968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
2068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  const OSExchangeData& data() const { return data_; }
2168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  int source_operations() const { return source_operations_; }
2268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
2368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) private:
2468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  // Data associated with the drag/drop session.
2568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  const OSExchangeData& data_;
2668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
2768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  // Bitmask of supported DragDropTypes::DragOperation by the source.
2868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  int source_operations_;
2968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
3068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(DropTargetEvent);
3168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)};
3268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
3368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)}  // namespace ui
3468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
3568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)#endif  // UI_BASE_DRAGDROP_DROP_TARGET_EVENT_H_
3668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
37