project_files/HedgewarsMobile/Classes/OverlayViewController.h
author koda
Tue, 23 Aug 2011 03:46:17 +0200
changeset 5662 99083392cd4f
parent 5206 db775bddf771
child 6018 3b86826f6665
permissions -rw-r--r--
FREE AT LAST!!! SDL came around a (mostly) sane way for implementing rotation events, so we can scrap all the workaround code that has been added to workaround it!! Also this allows us to use proper (internal) multitasking handling and can simplify optional settings and other yet unexplored features. Yay!
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3829
81db3c85784b headers ftw, also right project file
koda
parents: 3792
diff changeset
     1
/*
81db3c85784b headers ftw, also right project file
koda
parents: 3792
diff changeset
     2
 * Hedgewars-iOS, a Hedgewars port for iOS devices
4976
088d40d8aba2 Happy 2011 :)
koda
parents: 4861
diff changeset
     3
 * Copyright (c) 2009-2011 Vittorio Giovara <vittorio.giovara@gmail.com>
3829
81db3c85784b headers ftw, also right project file
koda
parents: 3792
diff changeset
     4
 *
81db3c85784b headers ftw, also right project file
koda
parents: 3792
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
81db3c85784b headers ftw, also right project file
koda
parents: 3792
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
81db3c85784b headers ftw, also right project file
koda
parents: 3792
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
81db3c85784b headers ftw, also right project file
koda
parents: 3792
diff changeset
     8
 *
81db3c85784b headers ftw, also right project file
koda
parents: 3792
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
81db3c85784b headers ftw, also right project file
koda
parents: 3792
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
81db3c85784b headers ftw, also right project file
koda
parents: 3792
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
81db3c85784b headers ftw, also right project file
koda
parents: 3792
diff changeset
    12
 * GNU General Public License for more details.
81db3c85784b headers ftw, also right project file
koda
parents: 3792
diff changeset
    13
 *
81db3c85784b headers ftw, also right project file
koda
parents: 3792
diff changeset
    14
 * You should have received a copy of the GNU General Public License
81db3c85784b headers ftw, also right project file
koda
parents: 3792
diff changeset
    15
 * along with this program; if not, write to the Free Software
81db3c85784b headers ftw, also right project file
koda
parents: 3792
diff changeset
    16
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
81db3c85784b headers ftw, also right project file
koda
parents: 3792
diff changeset
    17
 *
81db3c85784b headers ftw, also right project file
koda
parents: 3792
diff changeset
    18
 * File created on 16/03/2010.
81db3c85784b headers ftw, also right project file
koda
parents: 3792
diff changeset
    19
 */
81db3c85784b headers ftw, also right project file
koda
parents: 3792
diff changeset
    20
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    21
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    22
#import <UIKit/UIKit.h>
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    23
3647
0d0df215fb52 making chat work... (keyboard support is heavily broken in sdl upstream)
koda
parents: 3646
diff changeset
    24
@class InGameMenuViewController;
3792
dd9345e74b66 help page for lobby
koda
parents: 3791
diff changeset
    25
@class HelpPageViewController;
3933
1a873262f5dd polishing the cocoa ammomenu a little, still requires work
koda
parents: 3922
diff changeset
    26
@class AmmoMenuViewController;
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    27
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    28
@interface OverlayViewController : UIViewController {
3647
0d0df215fb52 making chat work... (keyboard support is heavily broken in sdl upstream)
koda
parents: 3646
diff changeset
    29
    // the timer that dims the overlay
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    30
    NSTimer *dimTimer;
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    31
3647
0d0df215fb52 making chat work... (keyboard support is heavily broken in sdl upstream)
koda
parents: 3646
diff changeset
    32
    // the in-game menu
3971
5c82ee165ed5 minor stuff
koda
parents: 3941
diff changeset
    33
    UIPopoverController *popoverController; // iPad only, never set on iPhone
3647
0d0df215fb52 making chat work... (keyboard support is heavily broken in sdl upstream)
koda
parents: 3646
diff changeset
    34
    InGameMenuViewController *popupMenu;
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    35
    BOOL isPopoverVisible;
3703
12d17c6e8855 halfway-through finishing the frontend with new graphics by Tiy + initial 'About' page set up
koda
parents: 3661
diff changeset
    36
3791
98072b3871c1 help page for ingame, some other fixes here and there
koda
parents: 3737
diff changeset
    37
    // the help menu
3792
dd9345e74b66 help page for lobby
koda
parents: 3791
diff changeset
    38
    HelpPageViewController *helpPage;
3791
98072b3871c1 help page for ingame, some other fixes here and there
koda
parents: 3737
diff changeset
    39
3933
1a873262f5dd polishing the cocoa ammomenu a little, still requires work
koda
parents: 3922
diff changeset
    40
    // the objc ammomenu
1a873262f5dd polishing the cocoa ammomenu a little, still requires work
koda
parents: 3922
diff changeset
    41
    AmmoMenuViewController *amvc;
1a873262f5dd polishing the cocoa ammomenu a little, still requires work
koda
parents: 3922
diff changeset
    42
    
3647
0d0df215fb52 making chat work... (keyboard support is heavily broken in sdl upstream)
koda
parents: 3646
diff changeset
    43
    // ths touch section
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    44
    CGFloat initialDistanceForPinching;
3651
7058ca178f3b switching hogs now works
koda
parents: 3650
diff changeset
    45
    CGPoint startingPoint;
3737
2ba6ac8a114b reworked the initialization functions, now it should be safe to update and no more need of spinning wheel at first launch
koda
parents: 3703
diff changeset
    46
    BOOL isAttacking;
3935
5ca27a0e9a63 made the new menu toggable
koda
parents: 3933
diff changeset
    47
    
3941
017b2b31e1c6 integrate nicely with external display
koda
parents: 3935
diff changeset
    48
    // dual head support
017b2b31e1c6 integrate nicely with external display
koda
parents: 3935
diff changeset
    49
    NSInteger initialScreenCount;
5174
f5294509783e initial refactoring of ObjcExports and OverlayViewController
koda
parents: 5166
diff changeset
    50
5175
a3da220dbb3f finish overlay refactoring and some leak annihilation
koda
parents: 5174
diff changeset
    51
    // various other widgets
5174
f5294509783e initial refactoring of ObjcExports and OverlayViewController
koda
parents: 5166
diff changeset
    52
    UIActivityIndicatorView *lowerIndicator;
f5294509783e initial refactoring of ObjcExports and OverlayViewController
koda
parents: 5166
diff changeset
    53
    UIActivityIndicatorView *savesIndicator;
5175
a3da220dbb3f finish overlay refactoring and some leak annihilation
koda
parents: 5174
diff changeset
    54
    UIButton *confirmButton;
a3da220dbb3f finish overlay refactoring and some leak annihilation
koda
parents: 5174
diff changeset
    55
    UISegmentedControl *grenadeTimeSegment;
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    56
}
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    57
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    58
@property (nonatomic,retain) id popoverController;
3647
0d0df215fb52 making chat work... (keyboard support is heavily broken in sdl upstream)
koda
parents: 3646
diff changeset
    59
@property (nonatomic,retain) InGameMenuViewController *popupMenu;
3792
dd9345e74b66 help page for lobby
koda
parents: 3791
diff changeset
    60
@property (nonatomic,retain) HelpPageViewController *helpPage;
3933
1a873262f5dd polishing the cocoa ammomenu a little, still requires work
koda
parents: 3922
diff changeset
    61
@property (nonatomic,retain) AmmoMenuViewController *amvc;
5174
f5294509783e initial refactoring of ObjcExports and OverlayViewController
koda
parents: 5166
diff changeset
    62
@property (nonatomic,retain) UIActivityIndicatorView *lowerIndicator;
f5294509783e initial refactoring of ObjcExports and OverlayViewController
koda
parents: 5166
diff changeset
    63
@property (nonatomic,retain) UIActivityIndicatorView *savesIndicator;
5175
a3da220dbb3f finish overlay refactoring and some leak annihilation
koda
parents: 5174
diff changeset
    64
@property (nonatomic,retain) UIButton *confirmButton;
a3da220dbb3f finish overlay refactoring and some leak annihilation
koda
parents: 5174
diff changeset
    65
@property (nonatomic,retain) UISegmentedControl *grenadeTimeSegment;
a3da220dbb3f finish overlay refactoring and some leak annihilation
koda
parents: 5174
diff changeset
    66
5166
d1eb1560b4d5 and now for something completely different, overlay refactoring!
koda
parents: 5155
diff changeset
    67
@property (assign) NSInteger initialScreenCount;
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    68
5175
a3da220dbb3f finish overlay refactoring and some leak annihilation
koda
parents: 5174
diff changeset
    69
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    70
-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    71
-(void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    72
-(void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    73
-(void) touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    74
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    75
-(IBAction) buttonReleased:(id) sender;
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    76
-(IBAction) buttonPressed:(id) sender;
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    77
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    78
-(void) showPopover;
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    79
-(void) dismissPopover;
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    80
-(void) dimOverlay;
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    81
-(void) activateOverlay;
5155
f2165724605c more refactoring, less warnings, less stuff kept around
koda
parents: 5154
diff changeset
    82
-(void) removeOverlay;
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    83
5174
f5294509783e initial refactoring of ObjcExports and OverlayViewController
koda
parents: 5166
diff changeset
    84
#define ANIMATION_DURATION 0.25
f5294509783e initial refactoring of ObjcExports and OverlayViewController
koda
parents: 5166
diff changeset
    85
#define CONFIRMATION_TAG 5959
f5294509783e initial refactoring of ObjcExports and OverlayViewController
koda
parents: 5166
diff changeset
    86
#define GRENADE_TAG 9595
f5294509783e initial refactoring of ObjcExports and OverlayViewController
koda
parents: 5166
diff changeset
    87
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    88
@end