// Copyright 2015 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 "ui/gl/gl_surface_overlay.h" #include "ui/gfx/geometry/rect.h" #include "ui/gfx/geometry/rect_f.h" #include "ui/gfx/gpu_fence.h" #include "ui/gfx/native_widget_types.h" #include "ui/gfx/overlay_transform.h" #include "ui/gl/gl_image.h" namespace gl { GLSurfaceOverlay::GLSurfaceOverlay(int z_order, gfx::OverlayTransform transform, GLImage* image, const gfx::Rect& bounds_rect, const gfx::RectF& crop_rect, bool enable_blend, std::unique_ptr gpu_fence) : z_order_(z_order), transform_(transform), image_(image), bounds_rect_(bounds_rect), crop_rect_(crop_rect), enable_blend_(enable_blend), gpu_fence_(std::move(gpu_fence)) {} GLSurfaceOverlay::GLSurfaceOverlay(GLSurfaceOverlay&& other) = default; GLSurfaceOverlay::~GLSurfaceOverlay() {} bool GLSurfaceOverlay::ScheduleOverlayPlane(gfx::AcceleratedWidget widget) { return image_->ScheduleOverlayPlane(widget, z_order_, transform_, bounds_rect_, crop_rect_, enable_blend_, std::move(gpu_fence_)); } void GLSurfaceOverlay::Flush() const { return image_->Flush(); } } // namespace gl