| // Copyright 2018 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "components/exo/wayland/server_util.h" |
| |
| #include "base/time/time.h" |
| #include "components/exo/data_offer.h" |
| #include "ui/display/display.h" |
| #include "ui/gfx/geometry/insets.h" |
| #include "ui/gfx/geometry/rect.h" |
| #include "ui/gfx/geometry/size.h" |
| |
| DEFINE_UI_CLASS_PROPERTY_TYPE(wl_resource*) |
| |
| namespace exo { |
| namespace wayland { |
| |
| namespace { |
| |
| // A property key containing the surface resource that is associated with |
| // window. If unset, no surface resource is associated with surface object. |
| DEFINE_UI_CLASS_PROPERTY_KEY(wl_resource*, kSurfaceResourceKey, nullptr) |
| |
| // A property key containing the data offer resource that is associated with |
| // data offer object. |
| DEFINE_UI_CLASS_PROPERTY_KEY(wl_resource*, kDataOfferResourceKey, nullptr) |
| |
| } // namespace |
| |
| uint32_t TimeTicksToMilliseconds(base::TimeTicks ticks) { |
| return (ticks - base::TimeTicks()).InMilliseconds(); |
| } |
| |
| uint32_t NowInMilliseconds() { |
| return TimeTicksToMilliseconds(base::TimeTicks::Now()); |
| } |
| |
| wl_resource* GetSurfaceResource(Surface* surface) { |
| return surface->GetProperty(kSurfaceResourceKey); |
| } |
| |
| void SetSurfaceResource(Surface* surface, wl_resource* resource) { |
| surface->SetProperty(kSurfaceResourceKey, resource); |
| } |
| |
| wl_resource* GetDataOfferResource(const DataOffer* data_offer) { |
| return data_offer->GetProperty(kDataOfferResourceKey); |
| } |
| |
| void SetDataOfferResource(DataOffer* data_offer, |
| wl_resource* data_offer_resource) { |
| data_offer->SetProperty(kDataOfferResourceKey, data_offer_resource); |
| } |
| |
| } // namespace wayland |
| } // namespace exo |