1 /*
2   Simple DirectMedia Layer
3   Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4 
5   This software is provided 'as-is', without any express or implied
6   warranty.  In no event will the authors be held liable for any damages
7   arising from the use of this software.
8 
9   Permission is granted to anyone to use this software for any purpose,
10   including commercial applications, and to alter it and redistribute it
11   freely, subject to the following restrictions:
12 
13   1. The origin of this software must not be misrepresented; you must not
14      claim that you wrote the original software. If you use this software
15      in a product, an acknowledgment in the product documentation would be
16      appreciated but is not required.
17   2. Altered source versions must be plainly marked as such, and must not be
18      misrepresented as being the original software.
19   3. This notice may not be removed or altered from any source distribution.
20 */
21 
22 #if SDL_VIDEO_OPENGL_ES || SDL_VIDEO_OPENGL_ES2
23 
24 #import <UIKit/UIKit.h>
25 #import <OpenGLES/EAGL.h>
26 #import <OpenGLES/ES3/gl.h>
27 
28 #import "SDL_uikitview.h"
29 #include "SDL_uikitvideo.h"
30 
31 @interface SDL_uikitopenglview : SDL_uikitview
32 
33 - (instancetype)initWithFrame:(CGRect)frame
34                         scale:(CGFloat)scale
35                 retainBacking:(BOOL)retained
36                         rBits:(int)rBits
37                         gBits:(int)gBits
38                         bBits:(int)bBits
39                         aBits:(int)aBits
40                     depthBits:(int)depthBits
41                   stencilBits:(int)stencilBits
42                          sRGB:(BOOL)sRGB
43                  multisamples:(int)multisamples
44                       context:(EAGLContext *)glcontext;
45 
46 @property (nonatomic, readonly, weak) EAGLContext *context;
47 
48 /* The width and height of the drawable in pixels (as opposed to points.) */
49 @property (nonatomic, readonly) int backingWidth;
50 @property (nonatomic, readonly) int backingHeight;
51 
52 @property (nonatomic, readonly) GLuint drawableRenderbuffer;
53 @property (nonatomic, readonly) GLuint drawableFramebuffer;
54 @property (nonatomic, readonly) GLuint msaaResolveFramebuffer;
55 
56 - (void)swapBuffers;
57 
58 - (void)updateFrame;
59 
60 @end
61 
62 #endif // SDL_VIDEO_OPENGL_ES || SDL_VIDEO_OPENGL_ES2
63 
64 /* vi: set ts=4 sw=4 expandtab: */
65