src/video/uikit/SDL_uikitview.h
author Alex Szpakowski <slime73@gmail.com>
Sun, 23 Nov 2014 23:23:47 -0400
branchiOS-improvements
changeset 9527 bbd9326ecacf
parent 9519 37ade10d4570
child 9529 4bf9830d8153
permissions -rw-r--r--
Cleaned up the iOS text input code, fixed the orientation of the view offset when the onscreen keyboard is shown in iOS 8+, and changed UIKit_SetTextInputRect to update the view offset if the keyboard is currently visible.
slouken@2765
     1
/*
slouken@5535
     2
  Simple DirectMedia Layer
slouken@8149
     3
  Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org>
slouken@2765
     4
slouken@5535
     5
  This software is provided 'as-is', without any express or implied
slouken@5535
     6
  warranty.  In no event will the authors be held liable for any damages
slouken@5535
     7
  arising from the use of this software.
slouken@2765
     8
slouken@5535
     9
  Permission is granted to anyone to use this software for any purpose,
slouken@5535
    10
  including commercial applications, and to alter it and redistribute it
slouken@5535
    11
  freely, subject to the following restrictions:
slouken@2765
    12
slouken@5535
    13
  1. The origin of this software must not be misrepresented; you must not
slouken@5535
    14
     claim that you wrote the original software. If you use this software
slouken@5535
    15
     in a product, an acknowledgment in the product documentation would be
slouken@5535
    16
     appreciated but is not required.
slouken@5535
    17
  2. Altered source versions must be plainly marked as such, and must not be
slouken@5535
    18
     misrepresented as being the original software.
slouken@5535
    19
  3. This notice may not be removed or altered from any source distribution.
slouken@2765
    20
*/
slouken@2765
    21
slouken@2765
    22
#import <UIKit/UIKit.h>
kees@5640
    23
#import "SDL_uikitviewcontroller.h"
slouken@2765
    24
slouken@6597
    25
#include "SDL_touch.h"
slouken@6597
    26
slouken@3487
    27
#if SDL_IPHONE_KEYBOARD
slime73@9510
    28
@interface SDL_uikitview : UIView <UITextFieldDelegate>
slouken@3487
    29
#else
slime73@9510
    30
@interface SDL_uikitview : UIView
slouken@3487
    31
#endif
slime73@9510
    32
slime73@9510
    33
@property (nonatomic, weak) SDL_uikitviewcontroller *viewcontroller;
slime73@9501
    34
slouken@6436
    35
- (CGPoint)touchLocation:(UITouch *)touch shouldNormalize:(BOOL)normalize;
slouken@2765
    36
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
slouken@2765
    37
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
slouken@2765
    38
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
slouken@2765
    39
slouken@2765
    40
#if SDL_IPHONE_KEYBOARD
slouken@2765
    41
- (void)showKeyboard;
slouken@2765
    42
- (void)hideKeyboard;
slime73@9527
    43
- (void)initKeyboard;
slime73@9527
    44
- (void)deinitKeyboard;
slime73@9527
    45
slime73@9527
    46
- (void)keyboardWillShow:(NSNotification *)notification;
slime73@9527
    47
- (void)keyboardWillHide:(NSNotification *)notification;
slime73@9527
    48
slime73@9527
    49
- (void)updateKeyboard;
slime73@9501
    50
slime73@9503
    51
@property (nonatomic, assign, getter=isKeyboardVisible) BOOL keyboardVisible;
slime73@9499
    52
@property (nonatomic, assign) SDL_Rect textInputRect;
slime73@9499
    53
@property (nonatomic, assign) int keyboardHeight;
slouken@6392
    54
slouken@6654
    55
SDL_bool UIKit_HasScreenKeyboardSupport(_THIS);
slouken@6654
    56
void UIKit_ShowScreenKeyboard(_THIS, SDL_Window *window);
slouken@6654
    57
void UIKit_HideScreenKeyboard(_THIS, SDL_Window *window);
slouken@6392
    58
SDL_bool UIKit_IsScreenKeyboardShown(_THIS, SDL_Window *window);
slouken@7962
    59
void UIKit_SetTextInputRect(_THIS, SDL_Rect *rect);
slouken@6392
    60
kees@6001
    61
#endif
slouken@2765
    62
slouken@2765
    63
@end
slouken@5133
    64
slouken@5133
    65
/* vi: set ts=4 sw=4 expandtab: */