Add a proper build system.
This commit is contained in:
parent
167158b541
commit
9d65cc690e
14 changed files with 4845 additions and 23 deletions
119
tests/TestMain.m
Normal file
119
tests/TestMain.m
Normal file
|
@ -0,0 +1,119 @@
|
|||
/*
|
||||
* Copyright (c) 2012 Jonathan Schleifer <js@webkeks.org>
|
||||
*
|
||||
* This software is provided 'as-is', without any express or implied warranty.
|
||||
* In no event will the authors be held liable for any damages arising from the
|
||||
* use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute it
|
||||
* freely, subject to the following restrictions:
|
||||
*
|
||||
* 1.) The origin of this software must not be misrepresented; you must not
|
||||
* claim that you wrote the original software. If you use this software
|
||||
* in a product, an acknowledgment in the product documentation would be
|
||||
* appreciated but is not required.
|
||||
* 2.) Altered source versions must be plainly marked as such, and must not
|
||||
* be misrepresented as being the original software.
|
||||
* 3.) This notice may not be removed or altered from any source distribution.
|
||||
*/
|
||||
|
||||
#import "OGKDisplay.h"
|
||||
#import "OGKEvent.h"
|
||||
#import "OGKEventQueue.h"
|
||||
#import "OGKBitmap.h"
|
||||
#import "TestMain.h"
|
||||
|
||||
OF_APPLICATION_DELEGATE(TestMain)
|
||||
|
||||
@implementation TestMain
|
||||
- (void)display: (OGKDisplay*)display
|
||||
wasClosed: (OGKCloseEvent*)event
|
||||
{
|
||||
running = NO;
|
||||
}
|
||||
|
||||
- (void)keyWasPressed: (OGKKeyPressEvent*)event
|
||||
display: (OGKDisplay*)display
|
||||
{
|
||||
of_log(@"Pressed: %d", event.keycode);
|
||||
}
|
||||
|
||||
- (void)keyWasReleased: (OGKKeyReleaseEvent*)event
|
||||
display: (OGKDisplay*)display
|
||||
{
|
||||
of_log(@"Released: %d", event.keycode);
|
||||
}
|
||||
|
||||
- (void)mouseWasMoved: (OGKMouseMovedEvent*)event
|
||||
display: (OGKDisplay*)display
|
||||
{
|
||||
of_log(@"Mouse moved: X=%.f(%.f) Y=%.f(%.f) WX=%.f(%.f) WY=%.f(%.f)",
|
||||
event.cursor.x, event.deltaCursor.x,
|
||||
event.cursor.y, event.deltaCursor.y,
|
||||
event.wheel.x, event.deltaWheel.x,
|
||||
event.wheel.y, event.deltaWheel.y);
|
||||
|
||||
position = event.cursor;
|
||||
}
|
||||
|
||||
- (void)mouseButtonWasPressed: (OGKMouseButtonPressedEvent*)event
|
||||
display: (OGKDisplay*)display
|
||||
{
|
||||
of_log(@"Mouse button was pressed: %d (X=%.f Y=%.f WX=%.f WY=%.f)",
|
||||
event.button, event.cursor.x, event.cursor.y,
|
||||
event.wheel.x, event.wheel.y);
|
||||
}
|
||||
|
||||
- (void)mouseButtonWasReleased: (OGKMouseButtonPressedEvent*)event
|
||||
display: (OGKDisplay*)display
|
||||
{
|
||||
of_log(@"Mouse button was released: %d (X=%.f Y=%.f WX=%.f WY=%.f)",
|
||||
event.button, event.cursor.x, event.cursor.y,
|
||||
event.wheel.x, event.wheel.y);
|
||||
}
|
||||
|
||||
- (void)handleEvents
|
||||
{
|
||||
[eventQueue handleNextEvent];
|
||||
}
|
||||
|
||||
- (void)draw
|
||||
{
|
||||
[OGKBitmap clearToColor: OGK_COLOR_BLACK];
|
||||
[bitmap drawAtPosition: position];
|
||||
[display update];
|
||||
}
|
||||
|
||||
- (void)applicationDidFinishLaunching
|
||||
{
|
||||
ogk_display_flags_t flags = OGK_DISPLAY_FLAGS_RESIZABLE;
|
||||
|
||||
display = [[OGKDisplay alloc] initWithSize: of_dimension(640, 480)
|
||||
position: of_point(200, 200)
|
||||
flags: flags];
|
||||
display.size = of_dimension(800, 600);
|
||||
display.windowPosition = of_point(100, 100);
|
||||
display.windowTitle = @"ObjGameKit test";
|
||||
|
||||
of_log(@"Display is %.fx%.f at (%.f, %.f)",
|
||||
display.size.width, display.size.height,
|
||||
display.windowPosition.x, display.windowPosition.y);
|
||||
|
||||
eventQueue = [[OGKEventQueue alloc] init];
|
||||
eventQueue.delegate = self;
|
||||
|
||||
[eventQueue registerDisplay: display];
|
||||
[eventQueue registerKeyboard];
|
||||
[eventQueue registerMouse];
|
||||
|
||||
bitmap = [[OGKBitmap alloc] initWithFile: @"test.bmp"];
|
||||
|
||||
for (running = YES; running;) {
|
||||
@autoreleasepool {
|
||||
[self handleEvents];
|
||||
[self draw];
|
||||
}
|
||||
}
|
||||
}
|
||||
@end
|
Reference in a new issue