chromium/ui/ozone/public/gl_ozone.h

// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef UI_OZONE_PUBLIC_GL_OZONE_H_
#define UI_OZONE_PUBLIC_GL_OZONE_H_

#include <string>

#include "base/component_export.h"
#include "base/memory/scoped_refptr.h"
#include "ui/gfx/geometry/size.h"
#include "ui/gfx/native_pixmap.h"
#include "ui/gfx/native_widget_types.h"
#include "ui/gl/gl_display.h"
#include "ui/gl/gl_implementation.h"
#include "ui/gl/gpu_preference.h"
#include "ui/ozone/public/native_pixmap_gl_binding.h"

namespace gl {
class GLContext;
class GLShareGroup;
class GLSurface;
class Presenter;

struct GLContextAttribs;
struct GLVersionInfo;
}

namespace gfx {
class ColorSpace;
}

namespace ui {

// Interface that has all of the required methods for an Ozone platform to
// implement a GL implementation. Functions in gl_factory.h and gl_initializer.h
// will delegate to functions in this interface.
class COMPONENT_EXPORT(OZONE_BASE) GLOzone {};

}  // namespace ui

#endif  // UI_OZONE_PUBLIC_GL_OZONE_H_