ios stuff
This commit is contained in:
parent
6ec81a421e
commit
5cb87b3303
@ -6,12 +6,8 @@
|
||||
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
|
||||
//
|
||||
|
||||
#import <GLKit/GLKit.h>
|
||||
#import "include/Utils/IosApi/ObjC/GLKViewTemplate.h"
|
||||
|
||||
@interface CustomGLKView : GLKView
|
||||
|
||||
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
|
||||
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
|
||||
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
|
||||
@interface CustomGLKView : GLKViewTemplate
|
||||
|
||||
@end
|
||||
|
@ -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
|
5
Templates/SalmonUniversalTemplate/iOS/CustomGLKView.mm
Normal file
5
Templates/SalmonUniversalTemplate/iOS/CustomGLKView.mm
Normal file
@ -0,0 +1,5 @@
|
||||
#import "CustomGLKView.h"
|
||||
|
||||
@implementation CustomGLKView
|
||||
|
||||
@end
|
@ -6,9 +6,10 @@
|
||||
// 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
|
||||
|
||||
|
@ -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
|
20
Templates/SalmonUniversalTemplate/iOS/ViewController.mm
Normal file
20
Templates/SalmonUniversalTemplate/iOS/ViewController.mm
Normal 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
|
@ -1,55 +1,8 @@
|
||||
#include "include/Engine.h"
|
||||
#include "main_code.h"
|
||||
|
||||
TMyApplication* App;
|
||||
|
||||
|
||||
extern "C" void AppInit()
|
||||
void CustomAppInit()
|
||||
{
|
||||
CreateEngine();
|
||||
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));
|
||||
AppInit<TMyApplication>(480, 320);
|
||||
}
|
||||
|
@ -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 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);
|
||||
|
||||
void CustomAppInit();
|
@ -15,7 +15,7 @@
|
||||
4C49B2CC15B0991B003512CD /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4C49B2CA15B0991B003512CD /* InfoPlist.strings */; };
|
||||
4C49B2CE15B0991B003512CD /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C49B2CD15B0991B003512CD /* main.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 */; };
|
||||
4C49B2DF15B0991B003512CD /* ViewController_iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C49B2DD15B0991B003512CD /* ViewController_iPad.xib */; };
|
||||
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 */; };
|
||||
4C7C584B15C31E6500CAE4F4 /* libboost.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C7C584A15C31E6500CAE4F4 /* libboost.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 */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
@ -59,7 +59,7 @@
|
||||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
@ -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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
4CE6A9D115B2F979006A3965 /* assets */ = {isa = PBXFileReference; lastKnownFileType = folder; name = assets; path = ../assets; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
@ -149,12 +149,12 @@
|
||||
4C49B2D015B0991B003512CD /* AppDelegate.h */,
|
||||
4C49B2D115B0991B003512CD /* AppDelegate.m */,
|
||||
4C49B2D715B0991B003512CD /* ViewController.h */,
|
||||
4C49B2D815B0991B003512CD /* ViewController.m */,
|
||||
4C49B2D815B0991B003512CD /* ViewController.mm */,
|
||||
4C49B2DA15B0991B003512CD /* ViewController_iPhone.xib */,
|
||||
4C49B2DD15B0991B003512CD /* ViewController_iPad.xib */,
|
||||
4C49B2C815B0991B003512CD /* Supporting Files */,
|
||||
4CCC0ECA15B30D6A005432FB /* CustomGLKView.h */,
|
||||
4CCC0ECB15B30D6B005432FB /* CustomGLKView.m */,
|
||||
4CCC0ECB15B30D6B005432FB /* CustomGLKView.mm */,
|
||||
);
|
||||
name = Sources;
|
||||
sourceTree = "<group>";
|
||||
@ -295,9 +295,9 @@
|
||||
files = (
|
||||
4C49B2CE15B0991B003512CD /* main.m in Sources */,
|
||||
4C49B2D215B0991B003512CD /* AppDelegate.m in Sources */,
|
||||
4C49B2D915B0991B003512CD /* ViewController.m in Sources */,
|
||||
4C49B2D915B0991B003512CD /* ViewController.mm in Sources */,
|
||||
4C7AD44C15B1D77700A599F6 /* ios_api.cpp in Sources */,
|
||||
4CCC0ECC15B30D6B005432FB /* CustomGLKView.m in Sources */,
|
||||
4CCC0ECC15B30D6B005432FB /* CustomGLKView.mm in Sources */,
|
||||
4C74849815C5AF7C0056EC44 /* main_code.cpp in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user