[DEV] First good version for IOs
This commit is contained in:
parent
66b53f30f4
commit
26b3f52d3f
@ -287,7 +287,7 @@ void ewol::Context::setArchiveDir(int _mode, const char* _str) {
|
|||||||
ewol::Context::Context(int32_t _argc, const char* _argv[]) :
|
ewol::Context::Context(int32_t _argc, const char* _argv[]) :
|
||||||
m_previousDisplayTime(0),
|
m_previousDisplayTime(0),
|
||||||
m_input(*this),
|
m_input(*this),
|
||||||
#if defined(__TARGET_OS__Android)
|
#if (defined(__TARGET_OS__Android) || defined(__TARGET_OS__IOs))
|
||||||
m_displayFps(true),
|
m_displayFps(true),
|
||||||
#else
|
#else
|
||||||
m_displayFps(false),
|
m_displayFps(false),
|
||||||
|
@ -20,15 +20,23 @@
|
|||||||
@synthesize glView;
|
@synthesize glView;
|
||||||
|
|
||||||
- (void)applicationDidFinishLaunching:(UIApplication *)application {
|
- (void)applicationDidFinishLaunching:(UIApplication *)application {
|
||||||
|
CGRect screenBounds = [[UIScreen mainScreen] bounds];
|
||||||
CGRect screenBounds = [[UIScreen mainScreen] bounds];
|
CGFloat screenScale = [[UIScreen mainScreen] scale];
|
||||||
|
NSLog(@"Start with screeen bounds : %fx%f\n", screenBounds.size.width, screenBounds.size.height);
|
||||||
|
CGSize currentSize = CGSizeMake(screenBounds.size.width * screenScale, screenBounds.size.height * screenScale);
|
||||||
|
//screenBounds.size.width *= screenScale;
|
||||||
|
//screenBounds.size.height *= screenScale;
|
||||||
|
NSLog(@"Start with screeen bounds : %fx%f\n", screenBounds.size.width, screenBounds.size.height);
|
||||||
window = [[UIWindow alloc] initWithFrame:screenBounds];
|
window = [[UIWindow alloc] initWithFrame:screenBounds];
|
||||||
glView = [[[OpenglView alloc] initWithFrame:window.bounds] autorelease];;
|
window.contentMode = UIViewContentModeRedraw;
|
||||||
|
glView = [[OpenglView alloc] initWithFrame:window.bounds];
|
||||||
|
glView.contentMode = UIViewContentModeRedraw;
|
||||||
[window addSubview:glView];
|
[window addSubview:glView];
|
||||||
[window makeKeyAndVisible];
|
[window makeKeyAndVisible];
|
||||||
// Create interface of ewol here ....
|
// Create interface of ewol here ....
|
||||||
NSLog(@"CREATE EWOL interface creation\n");
|
NSLog(@"CREATE EWOL interface creation\n");
|
||||||
IOs::createInterface();
|
IOs::createInterface();
|
||||||
|
IOs::resize(currentSize.width, currentSize.height);
|
||||||
glView.animationInterval = 1.0 / 60.0;
|
glView.animationInterval = 1.0 / 60.0;
|
||||||
[glView startAnimation];
|
[glView startAnimation];
|
||||||
}
|
}
|
||||||
|
@ -135,25 +135,35 @@
|
|||||||
if ([platform isEqualToString:@"iPad4,2"]) return 264.0f; //@"iPad Air (Cellular)";
|
if ([platform isEqualToString:@"iPad4,2"]) return 264.0f; //@"iPad Air (Cellular)";
|
||||||
if ([platform isEqualToString:@"iPad4,4"]) return 326.0f; //@"iPad mini 2G (WiFi)";
|
if ([platform isEqualToString:@"iPad4,4"]) return 326.0f; //@"iPad mini 2G (WiFi)";
|
||||||
if ([platform isEqualToString:@"iPad4,5"]) return 326.0f; //@"iPad mini 2G (Cellular)";
|
if ([platform isEqualToString:@"iPad4,5"]) return 326.0f; //@"iPad mini 2G (Cellular)";
|
||||||
if ([platform isEqualToString:@"i386"]) return 326.0f; //@"Simulator";
|
if ([platform isEqualToString:@"i386"]) return 200.0f; //@"Simulator";
|
||||||
if ([platform isEqualToString:@"x86_64"]) return 326.0f; //@"Simulator";
|
if ([platform isEqualToString:@"x86_64"]) return 326.0f; //@"Simulator";
|
||||||
return 326.0f;
|
return 326.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)setNeedsDisplay {
|
||||||
|
EWOL_INFO("**** setNeedsDisplay:" << vec2(self.frame.size.width, self.frame.size.height));
|
||||||
|
// TODO : SIZE change ...
|
||||||
|
|
||||||
|
}
|
||||||
- (void)configureAspectRatio {
|
- (void)configureAspectRatio {
|
||||||
CGRect screenBounds = [[UIScreen mainScreen] bounds];
|
CGRect screenBounds = [[UIScreen mainScreen] bounds];
|
||||||
CGFloat screenScale = [[UIScreen mainScreen] scale];
|
CGFloat screenScale = [[UIScreen mainScreen] scale];
|
||||||
m_currentSize = CGSizeMake(screenBounds.size.width * screenScale, screenBounds.size.height * screenScale);
|
m_currentSize = CGSizeMake(screenBounds.size.width * screenScale, screenBounds.size.height * screenScale);
|
||||||
|
//self.frame.size = m_currentSize;
|
||||||
|
|
||||||
NSLog(@"**** screen size : %fx%f\n", m_currentSize.width, m_currentSize.height);
|
EWOL_INFO("**** screen size:" << vec2(m_currentSize.width, m_currentSize.height));
|
||||||
float ratio = [self getScreenPPP];
|
float ratio = [self getScreenPPP];
|
||||||
NSLog(@"**** pixel ratio : %f ppp \n", ratio);
|
EWOL_INFO("**** pixel ratio: " << ratio);
|
||||||
ewol::Dimension::setPixelRatio(vec2(1.0f/ratio, 1.0f/ratio), ewol::Dimension::Inch);
|
ewol::Dimension::setPixelRatio(vec2(1.0f/ratio, 1.0f/ratio), ewol::Dimension::Inch);
|
||||||
IOs::resize(m_currentSize.width, m_currentSize.height);
|
IOs::resize(m_currentSize.width, m_currentSize.height);
|
||||||
|
CGRect localBounds = [self bounds];
|
||||||
|
EWOL_INFO("**** localBounds:" << vec2(localBounds.size.width, localBounds.size.height));
|
||||||
|
|
||||||
}
|
}
|
||||||
- (void)setupLayer {
|
- (void)setupLayer {
|
||||||
_eaglLayer = (CAEAGLLayer*) self.layer;
|
_eaglLayer = (CAEAGLLayer*) self.layer;
|
||||||
|
CGFloat screenScale = [[UIScreen mainScreen] scale];
|
||||||
|
_eaglLayer.contentsScale = screenScale;
|
||||||
_eaglLayer.opaque = YES;
|
_eaglLayer.opaque = YES;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -181,7 +191,8 @@
|
|||||||
- (void)setupDepthBuffer {
|
- (void)setupDepthBuffer {
|
||||||
glGenRenderbuffers(1, &_depthRenderBuffer);
|
glGenRenderbuffers(1, &_depthRenderBuffer);
|
||||||
glBindRenderbuffer(GL_RENDERBUFFER, _depthRenderBuffer);
|
glBindRenderbuffer(GL_RENDERBUFFER, _depthRenderBuffer);
|
||||||
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT16, self.frame.size.width, self.frame.size.height);
|
CGFloat screenScale = [[UIScreen mainScreen] scale];
|
||||||
|
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT16, self.frame.size.width*screenScale, self.frame.size.height*screenScale);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)setupFrameBuffer {
|
- (void)setupFrameBuffer {
|
||||||
@ -212,8 +223,10 @@
|
|||||||
- (id)initWithFrame:(CGRect)frame
|
- (id)initWithFrame:(CGRect)frame
|
||||||
{
|
{
|
||||||
animationInterval = 1.0 / 60.0;
|
animationInterval = 1.0 / 60.0;
|
||||||
|
NSLog(@"INIT with size : %fx%f, %fx%f", frame.origin.x, frame.origin.y, frame.size.width, frame.size.height);
|
||||||
self = [super initWithFrame:frame];
|
self = [super initWithFrame:frame];
|
||||||
if (self) {
|
self.contentScaleFactor = 1.0f;
|
||||||
|
if (self) {
|
||||||
[self configureAspectRatio];
|
[self configureAspectRatio];
|
||||||
[self setupLayer];
|
[self setupLayer];
|
||||||
[self setupContext];
|
[self setupContext];
|
||||||
@ -230,7 +243,7 @@
|
|||||||
[EAGLContext setCurrentContext:_context];
|
[EAGLContext setCurrentContext:_context];
|
||||||
// Open GL draw : ...
|
// Open GL draw : ...
|
||||||
IOs::draw(true);
|
IOs::draw(true);
|
||||||
glFlush();
|
//glFlush();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -238,22 +251,28 @@
|
|||||||
UITouch *touch = [touches anyObject];
|
UITouch *touch = [touches anyObject];
|
||||||
touchLocation = [touch locationInView:self];
|
touchLocation = [touch locationInView:self];
|
||||||
CGRect localBounds = [self bounds];
|
CGRect localBounds = [self bounds];
|
||||||
EWOL_ERROR("touchesBegan: " << vec2(touchLocation.x, localBounds.size.height - touchLocation.y));
|
CGFloat screenScale = [[UIScreen mainScreen] scale];
|
||||||
IOs::setInputState(1, true, touchLocation.x, localBounds.size.height - touchLocation.y);
|
vec2 positionEvent(touchLocation.x*screenScale, (localBounds.size.height - touchLocation.y)*screenScale);
|
||||||
|
EWOL_ERROR("touchesBegan: " << positionEvent);
|
||||||
|
IOs::setInputState(1, true, positionEvent.x(), positionEvent.y());
|
||||||
}
|
}
|
||||||
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
|
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
|
||||||
UITouch *touch = [touches anyObject];
|
UITouch *touch = [touches anyObject];
|
||||||
touchLocation = [touch locationInView:self];
|
touchLocation = [touch locationInView:self];
|
||||||
CGRect localBounds = [self bounds];
|
CGRect localBounds = [self bounds];
|
||||||
EWOL_ERROR("touchesEnded: " << vec2(touchLocation.x, localBounds.size.height - touchLocation.y));
|
CGFloat screenScale = [[UIScreen mainScreen] scale];
|
||||||
IOs::setInputState(1, false, touchLocation.x, localBounds.size.height - touchLocation.y);
|
vec2 positionEvent(touchLocation.x*screenScale, (localBounds.size.height - touchLocation.y)*screenScale);
|
||||||
|
EWOL_ERROR("touchesEnded: " << positionEvent);
|
||||||
|
IOs::setInputState(1, false, positionEvent.x(), positionEvent.y());
|
||||||
}
|
}
|
||||||
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
|
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
|
||||||
UITouch *touch = [touches anyObject];
|
UITouch *touch = [touches anyObject];
|
||||||
touchLocation = [touch locationInView:self];
|
touchLocation = [touch locationInView:self];
|
||||||
CGRect localBounds = [self bounds];
|
CGRect localBounds = [self bounds];
|
||||||
EWOL_ERROR("touchesMoved: " << vec2(touchLocation.x, localBounds.size.height - touchLocation.y));
|
CGFloat screenScale = [[UIScreen mainScreen] scale];
|
||||||
IOs::setInputMotion(1, touchLocation.x, localBounds.size.height - touchLocation.y);
|
vec2 positionEvent(touchLocation.x*screenScale, (localBounds.size.height - touchLocation.y)*screenScale);
|
||||||
|
EWOL_ERROR("touchesMoved: " << positionEvent);
|
||||||
|
IOs::setInputMotion(1, positionEvent.x(), positionEvent.y());
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)layoutSubviews {
|
- (void)layoutSubviews {
|
||||||
|
@ -16,9 +16,7 @@
|
|||||||
@synthesize window=_window;
|
@synthesize window=_window;
|
||||||
|
|
||||||
- (BOOL)application:(MacOsAppDelegate *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
|
- (BOOL)application:(MacOsAppDelegate *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
|
||||||
|
OpenGLView *view=[[OpenGLView alloc]initWithFrame:[[NSScreen mainScreen] bounds]];
|
||||||
CGRect screenBounds = [[UIScreen mainScreen] bounds];
|
|
||||||
OpenGLView *view = [[[OpenGLView alloc]initWithFrame:screenBounds] autorelease];
|
|
||||||
// Override point for customization after application launch.
|
// Override point for customization after application launch.
|
||||||
[self.window addSubview:view];
|
[self.window addSubview:view];
|
||||||
[self.window makeKeyAndVisible];
|
[self.window makeKeyAndVisible];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user