/* * 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. */ #include <allegro5/allegro.h> #import <ObjFW/ObjFW.h> #import "keycodes.h" @interface OGKEvent: OFObject { ALLEGRO_EVENT event; } - (ALLEGRO_EVENT*)OGK_allegroEvent; @end @interface OGKCloseEvent: OGKEvent @end @interface OGKKeyboardEvent: OGKEvent @property (readonly, assign) int keycode; @end @interface OGKKeyPressEvent: OGKKeyboardEvent @end @interface OGKKeyReleaseEvent: OGKKeyboardEvent @end @interface OGKCharacterTypedEvent: OGKKeyboardEvent @property (readonly, assign) of_unichar_t character; @property (readonly, assign) unsigned modifiers; @property (readonly, assign) BOOL repeated; @end @interface OGKMouseEvent: OGKEvent @property (readonly, assign) of_point_t cursor; @property (readonly, assign) of_point_t wheel; @end @interface OGKMouseMovedEvent: OGKMouseEvent @property (readonly, assign) of_point_t deltaCursor, deltaWheel; @end @interface OGKMouseButtonEvent: OGKMouseEvent @property (readonly, assign) unsigned button; @end @interface OGKMouseButtonPressedEvent: OGKMouseButtonEvent @end @interface OGKMouseButtonReleasedEvent: OGKMouseButtonEvent @end