| Index: ui/gfx/surface/accelerated_surface_win.h
|
| diff --git a/ui/gfx/surface/accelerated_surface_win.h b/ui/gfx/surface/accelerated_surface_win.h
|
| deleted file mode 100644
|
| index 8a8da98f576f7602562f598be2c71a59da394733..0000000000000000000000000000000000000000
|
| --- a/ui/gfx/surface/accelerated_surface_win.h
|
| +++ /dev/null
|
| @@ -1,124 +0,0 @@
|
| -// Copyright (c) 2012 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.
|
| -
|
| -#ifndef UI_GFX_SURFACE_ACCELERATED_SURFACE_WIN_H_
|
| -#define UI_GFX_SURFACE_ACCELERATED_SURFACE_WIN_H_
|
| -#pragma once
|
| -
|
| -#include <d3d9.h>
|
| -
|
| -#include "base/callback_forward.h"
|
| -#include "base/memory/ref_counted.h"
|
| -#include "base/synchronization/lock.h"
|
| -#include "base/synchronization/waitable_event.h"
|
| -#include "base/win/scoped_comptr.h"
|
| -#include "ui/gfx/native_widget_types.h"
|
| -#include "ui/gfx/size.h"
|
| -#include "ui/gfx/surface/surface_export.h"
|
| -
|
| -class PresentThread;
|
| -
|
| -class SURFACE_EXPORT AcceleratedPresenter
|
| - : public base::RefCountedThreadSafe<AcceleratedPresenter> {
|
| - public:
|
| - typedef base::Callback<void(bool)> CompletionTaskl;
|
| -
|
| - explicit AcceleratedPresenter(gfx::NativeWindow window);
|
| -
|
| - // Returns a thread safe reference to the presenter for the given window or
|
| - // null is no such presenter exists. The thread safe refptr ensures the
|
| - // presenter will not be destroyed. This can be called on any thread.
|
| - static scoped_refptr<AcceleratedPresenter> GetForWindow(
|
| - gfx::NativeWindow window);
|
| -
|
| - // Schedule a frame to be presented. The completion callback will be invoked
|
| - // when it is safe to write to the surface on another thread. The lock for
|
| - // this surface will be held while the completion callback runs. This can be
|
| - // called on any thread.
|
| - void AsyncPresentAndAcknowledge(
|
| - const gfx::Size& size,
|
| - int64 surface_handle,
|
| - const base::Callback<void(bool)>& completion_task);
|
| -
|
| - // Schedule the presenter to free all its resources. This can be called on any
|
| - // thread.
|
| - void Suspend();
|
| -
|
| - // Schedule the presenter to release its reference to the shared surface.
|
| - void ReleaseSurface();
|
| -
|
| - // The public member functions are called on the main thread.
|
| - bool Present();
|
| - bool CopyTo(const gfx::Size& size, void* buf);
|
| - void Invalidate();
|
| -
|
| - private:
|
| - friend class base::RefCountedThreadSafe<AcceleratedPresenter>;
|
| -
|
| - ~AcceleratedPresenter();
|
| -
|
| - // These member functions are called on the PresentThread with which the
|
| - // presenter has affinity.
|
| - void DoPresentAndAcknowledge(
|
| - const gfx::Size& size,
|
| - int64 surface_handle,
|
| - const base::Callback<void(bool)>& completion_task);
|
| - void DoSuspend();
|
| - void DoPresent(bool* presented);
|
| - bool DoRealPresent();
|
| - void DoReleaseSurface();
|
| -
|
| - // The thread with which this presenter has affinity.
|
| - PresentThread* const present_thread_;
|
| -
|
| - // The window that is presented to.
|
| - gfx::NativeWindow window_;
|
| -
|
| - // The lock is taken while any thread is calling the object, except those that
|
| - // simply post from the main thread to the present thread via the immutable
|
| - // present_thread_ member.
|
| - base::Lock lock_;
|
| -
|
| - // UI thread can wait on this event to ensure a present is finished.
|
| - base::WaitableEvent event_;
|
| -
|
| - // The current size of the swap chain. This is only accessed on the thread
|
| - // with which the surface has affinity.
|
| - gfx::Size size_;
|
| -
|
| - // This is a shared texture that is being presented from.
|
| - base::win::ScopedComPtr<IDirect3DTexture9> source_texture_;
|
| -
|
| - // The swap chain is presented to the child window. Copy semantics
|
| - // are used so it is possible to represent it to quickly validate the window.
|
| - base::win::ScopedComPtr<IDirect3DSwapChain9> swap_chain_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(AcceleratedPresenter);
|
| -};
|
| -
|
| -class SURFACE_EXPORT AcceleratedSurface {
|
| - public:
|
| - AcceleratedSurface(gfx::NativeWindow window);
|
| - ~AcceleratedSurface();
|
| -
|
| - // Synchronously present a frame with no acknowledgement.
|
| - bool Present();
|
| -
|
| - // Copies the surface data to |buf|. The image data is transformed so that it
|
| - // fits in |size|.
|
| - // Caller must ensure that |buf| is allocated with the size no less than
|
| - // |4 * size.width() * size.height()| bytes.
|
| - bool CopyTo(const gfx::Size& size, void* buf);
|
| -
|
| - // Temporarily release resources until a new surface is asynchronously
|
| - // presented. Present will not be able to represent the last surface after
|
| - // calling this and will return false.
|
| - void Suspend();
|
| -
|
| - private:
|
| - const scoped_refptr<AcceleratedPresenter> presenter_;
|
| - DISALLOW_COPY_AND_ASSIGN(AcceleratedSurface);
|
| -};
|
| -
|
| -#endif // UI_GFX_SURFACE_ACCELERATED_SURFACE_WIN_H_
|
|
|