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