Line data Source code
1 0 : /* 2 : 3 : OOMouseInteractionMode.h 4 : 5 : 6 : Oolite 7 : Copyright (C) 2004-2013 Giles C Williams and contributors 8 : 9 : This program is free software; you can redistribute it and/or 10 : modify it under the terms of the GNU General Public License 11 : as published by the Free Software Foundation; either version 2 12 : of the License, or (at your option) any later version. 13 : 14 : This program is distributed in the hope that it will be useful, 15 : but WITHOUT ANY WARRANTY; without even the implied warranty of 16 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 : GNU General Public License for more details. 18 : 19 : You should have received a copy of the GNU General Public License 20 : along with this program; if not, write to the Free Software 21 : Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 22 : MA 02110-1301, USA. 23 : 24 : */ 25 : 26 : #import "OOCocoa.h" 27 : 28 : 29 : /* 30 : OOMouseInteractionMode 31 : Mouse interaction states, defined in game-centric terms. The precise 32 : semantics may vary across platforms. 33 : 34 : The primary distinction is between UI screens and flight screens. Flight 35 : screens are screens 1-4 when neither docked nor paused, or the break 36 : pattern screen. Every other screen is a UI screen, including screens 1-4 37 : when paused in flight. 38 : 39 : UI screens are divided between ones with clickable controls (like the 40 : star chart, outfitting screen and config screen), and ones without (like 41 : the manifest screen, system data screen and pause screen). 42 : 43 : Flight screens have two modes, one for mouse control enabled and one for 44 : mouse control disabled. 45 : */ 46 0 : typedef enum 47 : { 48 : MOUSE_MODE_UI_SCREEN_NO_INTERACTION, 49 : MOUSE_MODE_UI_SCREEN_WITH_INTERACTION, 50 : MOUSE_MODE_FLIGHT_NO_MOUSE_CONTROL, 51 : MOUSE_MODE_FLIGHT_WITH_MOUSE_CONTROL 52 : } OOMouseInteractionMode; 53 : 54 : 55 0 : NSString *OOStringFromMouseInteractionMode(OOMouseInteractionMode mode); 56 0 : BOOL OOMouseInteractionModeIsUIScreen(OOMouseInteractionMode mode); 57 0 : BOOL OOMouseInteractionModeIsFlightMode(OOMouseInteractionMode mode);