ios stuff

This commit is contained in:
Vladislav Khorev 2013-02-06 20:39:58 +00:00
parent 6ec81a421e
commit 5cb87b3303
9 changed files with 43 additions and 264 deletions

View File

@ -6,12 +6,8 @@
// Copyright (c) 2012 __MyCompanyName__. All rights reserved. // Copyright (c) 2012 __MyCompanyName__. All rights reserved.
// //
#import <GLKit/GLKit.h> #import "include/Utils/IosApi/ObjC/GLKViewTemplate.h"
@interface CustomGLKView : GLKView @interface CustomGLKView : GLKViewTemplate
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
@end @end

View File

@ -1,73 +0,0 @@
//
// CustomGLKView.m
// doublehitballs
//
// Created by vvv ооо on 15.07.12.
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//
#import "CustomGLKView.h"
#import "ios_api.h"
bool touchMoved = false;
CGPoint prev_loc;
@implementation CustomGLKView
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
CGPoint location = [[[touches allObjects] objectAtIndex:0] locationInView:self];
prev_loc = location;
touchMoved = false;
AppOnTapDown(location.x, self.bounds.size.height - location.y);
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
CGPoint location = [[[touches allObjects] objectAtIndex:0] locationInView:self];
CGPoint prevLocation = [[[touches allObjects] objectAtIndex:0] previousLocationInView:self];
if (abs(prev_loc.x - location.x) > 10 || abs(prev_loc.y - location.y) > 10)
{
touchMoved = true;
}
AppOnScroll(prevLocation.x - location.x, -(prevLocation.y - location.y));
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
CGPoint location = [[[touches allObjects] objectAtIndex:0] locationInView:self];
if (touchMoved)
{
AppOnTapUpAfterScroll(location.x, self.bounds.size.height - location.y);
}
else
{
AppOnTapUp(location.x, self.bounds.size.height - location.y);
}
}
@end

View File

@ -0,0 +1,5 @@
#import "CustomGLKView.h"
@implementation CustomGLKView
@end

View File

@ -6,9 +6,10 @@
// Copyright (c) 2012 __MyCompanyName__. All rights reserved. // Copyright (c) 2012 __MyCompanyName__. All rights reserved.
// //
#import <UIKit/UIKit.h>
#import <GLKit/GLKit.h>
@interface ViewController : GLKViewController #import "include/Utils/IosApi/ObjC/ViewControllerTemplate.h"
@interface ViewController : ViewControllerTemplate
@end @end

View File

@ -1,110 +0,0 @@
//
// ViewController.m
// doublehitballs
//
// Created by vvv ооо on 13.07.12.
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//
#import "ViewController.h"
#import "ios_api.h"
extern GLKView* defaultView;
@interface ViewController () {
}
@property (strong, nonatomic) EAGLContext *context;
@property (strong, nonatomic) GLKBaseEffect *effect;
- (void)setupGL;
- (void)tearDownGL;
@end
@implementation ViewController
@synthesize context = _context;
@synthesize effect = _effect;
- (void)viewDidLoad
{
[super viewDidLoad];
self.context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
if (!self.context) {
NSLog(@"Failed to create ES context");
}
GLKView *view = (GLKView *)self.view;
view.context = self.context;
view.drawableDepthFormat = GLKViewDrawableDepthFormat24;
defaultView = view;
[self setupGL];
}
- (void)viewDidUnload
{
[super viewDidUnload];
[self tearDownGL];
if ([EAGLContext currentContext] == self.context) {
[EAGLContext setCurrentContext:nil];
}
self.context = nil;
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Release any cached data, images, etc. that aren't in use.
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
/*
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
} else {
return YES;
}*/
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}
- (void)setupGL
{
[EAGLContext setCurrentContext:self.context];
AppInit();
}
- (void)tearDownGL
{
[EAGLContext setCurrentContext:self.context];
AppDeinit();
}
#pragma mark - GLKView and GLKViewController delegate methods
- (void)update
{
AppUpdate(self.timeSinceLastUpdate * 1000);
}
- (void)glkView:(GLKView *)view drawInRect:(CGRect)rect
{
AppDraw();
}
@end

View File

@ -0,0 +1,20 @@
#import "ViewController.h"
#import "ios_api.h"
@implementation ViewController
- (void) appInitCaller
{
CustomAppInit();
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}
@end

View File

@ -1,55 +1,8 @@
#include "include/Engine.h" #include "include/Engine.h"
#include "main_code.h" #include "main_code.h"
TMyApplication* App;
void CustomAppInit()
extern "C" void AppInit()
{ {
CreateEngine(); AppInit<TMyApplication>(480, 320);
App = new TMyApplication;
App->OuterInit(480, 320, 480, 320);
}
extern "C" void AppDeinit()
{
App->OuterDeinit();
delete App;
DestroyEngine();
}
extern "C" void AppUpdate(int dt)
{
App->OuterUpdate(dt);
}
extern "C" void AppDraw()
{
App->OuterDraw();
}
extern "C" void AppOnTapDown(int posx, int posy)
{
App->OuterOnTapDown(vec2(posx, posy));
}
extern "C" void AppOnTapUp(int posx, int posy)
{
App->OuterOnTapUp(vec2(posx, posy));
}
extern "C" void AppOnTapUpAfterScroll(int posx, int posy)
{
App->OuterOnTapUpAfterShift(vec2(posx, posy));
}
extern "C" void AppOnScroll(int shiftx, int shifty)
{
App->OuterOnMove(vec2(shiftx, shifty));
} }

View File

@ -1,16 +1,3 @@
//
// Header.h
// doublehitballs
//
// Created by vvv ооо on 15.07.12.
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//
void AppInit();
void AppDeinit(); void CustomAppInit();
void AppUpdate(int dt);
void AppDraw();
void AppOnTapDown(int posx, int posy);
void AppOnTapUp(int posx, int posy);
void AppOnTapUpAfterScroll(int posx, int posy);
void AppOnScroll(int shiftx, int shifty);

View File

@ -15,7 +15,7 @@
4C49B2CC15B0991B003512CD /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4C49B2CA15B0991B003512CD /* InfoPlist.strings */; }; 4C49B2CC15B0991B003512CD /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4C49B2CA15B0991B003512CD /* InfoPlist.strings */; };
4C49B2CE15B0991B003512CD /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C49B2CD15B0991B003512CD /* main.m */; }; 4C49B2CE15B0991B003512CD /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C49B2CD15B0991B003512CD /* main.m */; };
4C49B2D215B0991B003512CD /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C49B2D115B0991B003512CD /* AppDelegate.m */; }; 4C49B2D215B0991B003512CD /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C49B2D115B0991B003512CD /* AppDelegate.m */; };
4C49B2D915B0991B003512CD /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C49B2D815B0991B003512CD /* ViewController.m */; }; 4C49B2D915B0991B003512CD /* ViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4C49B2D815B0991B003512CD /* ViewController.mm */; };
4C49B2DC15B0991B003512CD /* ViewController_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C49B2DA15B0991B003512CD /* ViewController_iPhone.xib */; }; 4C49B2DC15B0991B003512CD /* ViewController_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C49B2DA15B0991B003512CD /* ViewController_iPhone.xib */; };
4C49B2DF15B0991B003512CD /* ViewController_iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C49B2DD15B0991B003512CD /* ViewController_iPad.xib */; }; 4C49B2DF15B0991B003512CD /* ViewController_iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C49B2DD15B0991B003512CD /* ViewController_iPad.xib */; };
4C4C807515BA8F460037C6CE /* libsquirrel.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C4C807415BA8F460037C6CE /* libsquirrel.a */; }; 4C4C807515BA8F460037C6CE /* libsquirrel.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C4C807415BA8F460037C6CE /* libsquirrel.a */; };
@ -31,7 +31,7 @@
4C7AD44C15B1D77700A599F6 /* ios_api.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C7AD44B15B1D77700A599F6 /* ios_api.cpp */; }; 4C7AD44C15B1D77700A599F6 /* ios_api.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C7AD44B15B1D77700A599F6 /* ios_api.cpp */; };
4C7C584B15C31E6500CAE4F4 /* libboost.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C7C584A15C31E6500CAE4F4 /* libboost.a */; }; 4C7C584B15C31E6500CAE4F4 /* libboost.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C7C584A15C31E6500CAE4F4 /* libboost.a */; };
4CC971AC15C57DCE00359A2B /* libSalmon Engine.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C902A7815C5735700FBC901 /* libSalmon Engine.a */; }; 4CC971AC15C57DCE00359A2B /* libSalmon Engine.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C902A7815C5735700FBC901 /* libSalmon Engine.a */; };
4CCC0ECC15B30D6B005432FB /* CustomGLKView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CCC0ECB15B30D6B005432FB /* CustomGLKView.m */; }; 4CCC0ECC15B30D6B005432FB /* CustomGLKView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4CCC0ECB15B30D6B005432FB /* CustomGLKView.mm */; };
4CE6A9D215B2F979006A3965 /* assets in Resources */ = {isa = PBXBuildFile; fileRef = 4CE6A9D115B2F979006A3965 /* assets */; }; 4CE6A9D215B2F979006A3965 /* assets in Resources */ = {isa = PBXBuildFile; fileRef = 4CE6A9D115B2F979006A3965 /* assets */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
@ -59,7 +59,7 @@
4C49B2D015B0991B003512CD /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; }; 4C49B2D015B0991B003512CD /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
4C49B2D115B0991B003512CD /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; }; 4C49B2D115B0991B003512CD /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
4C49B2D715B0991B003512CD /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; }; 4C49B2D715B0991B003512CD /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
4C49B2D815B0991B003512CD /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; }; 4C49B2D815B0991B003512CD /* ViewController.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = ViewController.mm; sourceTree = "<group>"; };
4C49B2DB15B0991B003512CD /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ViewController_iPhone.xib; sourceTree = "<group>"; }; 4C49B2DB15B0991B003512CD /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ViewController_iPhone.xib; sourceTree = "<group>"; };
4C49B2DE15B0991B003512CD /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ViewController_iPad.xib; sourceTree = "<group>"; }; 4C49B2DE15B0991B003512CD /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ViewController_iPad.xib; sourceTree = "<group>"; };
4C4C807415BA8F460037C6CE /* libsquirrel.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsquirrel.a; path = "../../libs/SQUIRREL2_1_1_sqplus/build-ios/ios-device/libsquirrel.a"; sourceTree = "<group>"; }; 4C4C807415BA8F460037C6CE /* libsquirrel.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsquirrel.a; path = "../../libs/SQUIRREL2_1_1_sqplus/build-ios/ios-device/libsquirrel.a"; sourceTree = "<group>"; };
@ -77,7 +77,7 @@
4C7C584A15C31E6500CAE4F4 /* libboost.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libboost.a; path = "../../libs/boost_1_47_0/build-ios/ios-simulator/libboost.a"; sourceTree = "<group>"; }; 4C7C584A15C31E6500CAE4F4 /* libboost.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libboost.a; path = "../../libs/boost_1_47_0/build-ios/ios-simulator/libboost.a"; sourceTree = "<group>"; };
4C902A7015C5735500FBC901 /* Salmon Engine.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "Salmon Engine.xcodeproj"; path = "../../Engine/iOS/Salmon Engine/Salmon Engine.xcodeproj"; sourceTree = "<group>"; }; 4C902A7015C5735500FBC901 /* Salmon Engine.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "Salmon Engine.xcodeproj"; path = "../../Engine/iOS/Salmon Engine/Salmon Engine.xcodeproj"; sourceTree = "<group>"; };
4CCC0ECA15B30D6A005432FB /* CustomGLKView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CustomGLKView.h; sourceTree = "<group>"; }; 4CCC0ECA15B30D6A005432FB /* CustomGLKView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CustomGLKView.h; sourceTree = "<group>"; };
4CCC0ECB15B30D6B005432FB /* CustomGLKView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CustomGLKView.m; sourceTree = "<group>"; }; 4CCC0ECB15B30D6B005432FB /* CustomGLKView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CustomGLKView.mm; sourceTree = "<group>"; };
4CCC0ECD15B310FB005432FB /* ios_api.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ios_api.h; sourceTree = "<group>"; }; 4CCC0ECD15B310FB005432FB /* ios_api.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ios_api.h; sourceTree = "<group>"; };
4CE6A9D115B2F979006A3965 /* assets */ = {isa = PBXFileReference; lastKnownFileType = folder; name = assets; path = ../assets; sourceTree = "<group>"; }; 4CE6A9D115B2F979006A3965 /* assets */ = {isa = PBXFileReference; lastKnownFileType = folder; name = assets; path = ../assets; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
@ -149,12 +149,12 @@
4C49B2D015B0991B003512CD /* AppDelegate.h */, 4C49B2D015B0991B003512CD /* AppDelegate.h */,
4C49B2D115B0991B003512CD /* AppDelegate.m */, 4C49B2D115B0991B003512CD /* AppDelegate.m */,
4C49B2D715B0991B003512CD /* ViewController.h */, 4C49B2D715B0991B003512CD /* ViewController.h */,
4C49B2D815B0991B003512CD /* ViewController.m */, 4C49B2D815B0991B003512CD /* ViewController.mm */,
4C49B2DA15B0991B003512CD /* ViewController_iPhone.xib */, 4C49B2DA15B0991B003512CD /* ViewController_iPhone.xib */,
4C49B2DD15B0991B003512CD /* ViewController_iPad.xib */, 4C49B2DD15B0991B003512CD /* ViewController_iPad.xib */,
4C49B2C815B0991B003512CD /* Supporting Files */, 4C49B2C815B0991B003512CD /* Supporting Files */,
4CCC0ECA15B30D6A005432FB /* CustomGLKView.h */, 4CCC0ECA15B30D6A005432FB /* CustomGLKView.h */,
4CCC0ECB15B30D6B005432FB /* CustomGLKView.m */, 4CCC0ECB15B30D6B005432FB /* CustomGLKView.mm */,
); );
name = Sources; name = Sources;
sourceTree = "<group>"; sourceTree = "<group>";
@ -295,9 +295,9 @@
files = ( files = (
4C49B2CE15B0991B003512CD /* main.m in Sources */, 4C49B2CE15B0991B003512CD /* main.m in Sources */,
4C49B2D215B0991B003512CD /* AppDelegate.m in Sources */, 4C49B2D215B0991B003512CD /* AppDelegate.m in Sources */,
4C49B2D915B0991B003512CD /* ViewController.m in Sources */, 4C49B2D915B0991B003512CD /* ViewController.mm in Sources */,
4C7AD44C15B1D77700A599F6 /* ios_api.cpp in Sources */, 4C7AD44C15B1D77700A599F6 /* ios_api.cpp in Sources */,
4CCC0ECC15B30D6B005432FB /* CustomGLKView.m in Sources */, 4CCC0ECC15B30D6B005432FB /* CustomGLKView.mm in Sources */,
4C74849815C5AF7C0056EC44 /* main_code.cpp in Sources */, 4C74849815C5AF7C0056EC44 /* main_code.cpp in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;