// Copyright (c) 2018 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_GL_EGL_TIMESTAMPS_H_
#define UI_GL_EGL_TIMESTAMPS_H_

#include "base/time/time.h"
#include "ui/gl/gl_export.h"

namespace gl {

// Interface to query EGL timestamps.
class GL_EXPORT EGLTimestampClient {
 public:
  virtual ~EGLTimestampClient() {}

  // Returns whether EGL Timestamps are supported or not.
  virtual bool IsEGLTimestampSupported() const = 0;

  // Returns false if the egl timestamps are pending for the given frame id. If
  // timestamps are pending, it means the frame is not yet done. Also returns
  // the presentation time, composite interval and presentation flags for a
  // frame as out parameters.
  virtual bool GetFrameTimestampInfoIfAvailable(
      base::TimeTicks* presentation_time,
      base::TimeDelta* composite_interval,
      uint32_t* presentation_flags,
      int frame_id) = 0;
};

}  // namespace gl

#endif  // UI_GL_EGL_TIMESTAMPS_H_
