blob: ffcd87c19ec8a52da8eac0b363a3fa277408db00 [file] [log] [blame]
// 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<gfx::GpuFence> 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