// Copyright 2017 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 REMOTING_IOS_DISPLAY_EAGL_VIEW_H_
#define REMOTING_IOS_DISPLAY_EAGL_VIEW_H_

#import <UIKit/UIKit.h>

#include "base/memory/ref_counted.h"
#include "base/task/single_thread_task_runner.h"

// This is an OpenGL view implementation that allows and guarantees the content
// to be rendered and modified on a non-UI thread. Methods can be called from
// any thread.
@interface EAGLView : UIView

- (instancetype)initWithFrame:(CGRect)frame;

// |context| must be the current EAGLContext of |displayTaskRunner|'s thread.
- (void)startWithContext:(EAGLContext*)context;

- (void)stop;

// The thread to render the content. Must be set once immediately after the view
// is initialized.
@property(nonatomic) scoped_refptr<base::SingleThreadTaskRunner>
    displayTaskRunner;
@end

#endif  // REMOTING_IOS_DISPLAY_EAGL_VIEW_H_
