14ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 24ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 34ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch// found in the LICENSE file. 44ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch 54ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch#ifndef UI_GL_ANDROID_SURFACE_TEXTURE_TRACKER_H_ 64ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch#define UI_GL_ANDROID_SURFACE_TEXTURE_TRACKER_H_ 74ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch 84ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch#include "base/memory/ref_counted.h" 94ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch#include "ui/gl/gl_export.h" 104ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch 114ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdochnamespace gfx { 124ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch 134ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdochclass SurfaceTexture; 144ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch 154ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch// This interface is used to take ownership of preallocated surface textures 164ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch// with specific ids. 174ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdochclass GL_EXPORT SurfaceTextureTracker { 184ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch public: 194ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch static SurfaceTextureTracker* GetInstance(); 204ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch static void InitInstance(SurfaceTextureTracker* tracker); 214ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch 224ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch virtual scoped_refptr<SurfaceTexture> AcquireSurfaceTexture( 234ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch int primary_id, 244ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch int secondary_id) = 0; 254ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch 264ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch protected: 274ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch virtual ~SurfaceTextureTracker() {} 284ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch}; 294ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch 304ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch} // namespace gfx 314ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch 324ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch#endif // UI_GL_ANDROID_SURFACE_TEXTURE_TRACKER_H_ 33