src/video/uikit/SDL_uikitopenglview.h
author Alex Szpakowski <slime73@gmail.com>
Wed, 23 Jul 2014 03:05:31 -0300
branchiOS-improvements
changeset 9501 574db299498f
parent 9498 d02c27e3f698
child 9510 e19faa3b5d88
permissions -rw-r--r--
More cleanup of the iOS Objective-C code.
     1 /*
     2   Simple DirectMedia Layer
     3   Copyright (C) 1997-2014 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 #import <UIKit/UIKit.h>
    23 #import <OpenGLES/EAGL.h>
    24 #import <OpenGLES/ES1/gl.h>
    25 #import <OpenGLES/ES1/glext.h>
    26 #import "SDL_uikitview.h"
    27 /*
    28     This class wraps the CAEAGLLayer from CoreAnimation into a convenient UIView subclass.
    29     The view content is basically an EAGL surface you render your OpenGL scene into.
    30     Note that setting the view non-opaque will only work if the EAGL surface has an alpha channel.
    31  */
    32 @interface SDL_uikitopenglview : SDL_uikitview
    33 
    34 - (id)initWithFrame:(CGRect)frame
    35               scale:(CGFloat)scale
    36       retainBacking:(BOOL)retained
    37               rBits:(int)rBits
    38               gBits:(int)gBits
    39               bBits:(int)bBits
    40               aBits:(int)aBits
    41           depthBits:(int)depthBits
    42         stencilBits:(int)stencilBits
    43                sRGB:(BOOL)sRGB
    44        majorVersion:(int)majorVersion
    45          shareGroup:(EAGLSharegroup*)shareGroup;
    46 
    47 @property (nonatomic, retain, readonly) EAGLContext *context;
    48 
    49 /* The width and height of the drawable in pixels (as opposed to points.) */
    50 @property (nonatomic, readonly) int backingWidth;
    51 @property (nonatomic, readonly) int backingHeight;
    52 
    53 - (void)swapBuffers;
    54 - (void)setCurrentContext;
    55 
    56 - (void)updateFrame;
    57 
    58 - (void)setAnimationCallback:(int)interval
    59                     callback:(void (*)(void*))callback
    60                callbackParam:(void*)callbackParam;
    61 
    62 - (void)startAnimation;
    63 - (void)stopAnimation;
    64 
    65 - (void)doLoop:(CADisplayLink*)sender;
    66 
    67 @end
    68 
    69 /* vi: set ts=4 sw=4 expandtab: */