src/video/uikit/SDL_uikitview.h
author Sam Lantinga <slouken@libsdl.org>
Tue, 15 Nov 2011 01:38:27 -0500
changeset 6079 d7135957b216
parent 6005 f5327bae25cb
child 6138 4c64952a58fb
permissions -rw-r--r--
Fixed issues with the touch coordinates in landscape mode.
In landscape mode the frame stays the same, and the transform property is modified with the appropriate rotation.
The touch coordinates are rotated by the transform, so if I want to normalize them by the frame rect, I have to transform the frame rect first.
slouken@2765
     1
/*
slouken@5535
     2
  Simple DirectMedia Layer
slouken@5535
     3
  Copyright (C) 1997-2011 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
jimtla@4677
    25
#define IPHONE_TOUCH_EFFICIENT_DANGEROUS
jimtla@4677
    26
#define FIXED_MULTITOUCH
jimtla@4677
    27
jim@4662
    28
#ifndef IPHONE_TOUCH_EFFICIENT_DANGEROUS
slouken@2765
    29
#define MAX_SIMULTANEOUS_TOUCHES 5
slouken@2765
    30
#endif
slouken@2765
    31
slouken@3487
    32
#if SDL_IPHONE_KEYBOARD
slouken@2765
    33
@interface SDL_uikitview : UIView<UITextFieldDelegate> {
slouken@3487
    34
#else
slouken@3487
    35
@interface SDL_uikitview : UIView {
slouken@3487
    36
#endif
slouken@4488
    37
jimtla@4677
    38
#ifdef FIXED_MULTITOUCH
slouken@5133
    39
    long touchId;
jim@4662
    40
#ifndef IPHONE_TOUCH_EFFICIENT_DANGEROUS
slouken@5133
    41
    UITouch *finger[MAX_SIMULTANEOUS_TOUCHES];
jim@4662
    42
#endif
slouken@4465
    43
#endif
slouken@2765
    44
slouken@2765
    45
#if SDL_IPHONE_KEYBOARD
slouken@5133
    46
    UITextField *textField;
slouken@5133
    47
    BOOL keyboardVisible;
kees@6001
    48
#endif
icculus@5520
    49
icculus@5520
    50
@public
icculus@5520
    51
    SDL_uikitviewcontroller *viewcontroller;
slouken@2765
    52
}
slouken@6079
    53
- (CGPoint)touchLocation:(UITouch *)touch;
slouken@2765
    54
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
slouken@2765
    55
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
slouken@2765
    56
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
slouken@2765
    57
slouken@2765
    58
#if SDL_IPHONE_KEYBOARD
slouken@2765
    59
- (void)showKeyboard;
slouken@2765
    60
- (void)hideKeyboard;
slouken@2765
    61
- (void)initializeKeyboard;
slouken@2765
    62
@property (readonly) BOOL keyboardVisible;
kees@6001
    63
#endif
slouken@2765
    64
slouken@2765
    65
@end
slouken@5133
    66
slouken@5133
    67
/* vi: set ts=4 sw=4 expandtab: */