note description: "A touch input device that can detect finger pressure" author: "Louis Marchand" date: "Thu, 16 Apr 2015 19:47:44 +0000" revision: "2.0" class interface GAME_TOUCH_DEVICE create make (a_number: INTEGER_32) -- Initialization of Current being the a_numbernd touch device in the system feature -- Access append_all_dollar_gesture_template (a_filename: READABLE_STRING_GENERAL) -- Save every dollar gesture templates loaded in the library -- inside the file located at a_filename. If it exists, the data will -- be added to the end. If it does not, it will be created. -- Note: The templates hashes are not saved in the file. You have to save -- them yourself for future utilisation -- (from GAME_DOLLAR_GESTURE_MANAGER) require -- from GAME_DOLLAR_GESTURE_MANAGER is_file_valid: attached (create {RAW_FILE}.make_with_name (a_filename)) as la_file implies ((la_file.exists implies la_file.is_access_writable) and (not la_file.exists implies la_file.is_creatable)) append_dollar_gesture_template (a_hash: INTEGER_64; a_filename: READABLE_STRING_GENERAL) -- Save the dollar gesture templates identified by a_hash -- inside the file located at a_filename. If it exists, the data will -- be added to the end. If it does not, it will be created. -- Note: The a_hash is not saved in the file. You have to save it -- yourself for future utilisation -- (from GAME_DOLLAR_GESTURE_MANAGER) require -- from GAME_DOLLAR_GESTURE_MANAGER is_file_valid: attached (create {RAW_FILE}.make_with_name (a_filename)) as la_file implies ((la_file.exists implies la_file.is_access_writable) and (not la_file.exists implies la_file.is_creatable)) clear_events -- Remove all events. -- (from GAME_TOUCH_DEVICE_EVENTS) ensure -- from GAME_EVENTS running_unchanged: is_events_running = old is_events_running dollar_gesture_actions: ACTION_SEQUENCE [NATURAL_32, GAME_DOLLAR_GESTURE] -- When a $1 gesture has been performed on Current, -- dollar_gesture is used to get the gesture informations -- (from GAME_TOUCH_DEVICE_EVENTS) require -- from GAME_TOUCH_DEVICE_EVENTS dollar_gesture_event_enable: events_controller.is_dollar_gesture_event_enable dollar_record_actions: ACTION_SEQUENCE [NATURAL_32, INTEGER_64] -- When a $1 gesture has been recorded on Current (using record_dollar_gesture), -- template_hash is used to get the hash of the gesture. This hash will be used -- to identified this tempate on future dollar_gesture_actions events -- (from GAME_TOUCH_DEVICE_EVENTS) require -- from GAME_TOUCH_DEVICE_EVENTS dollar_record_event_enable: events_controller.is_dollar_record_event_enable events_controller: GAME_EVENTS_CONTROLLER -- Manage every internal events finger_count: INTEGER_32 -- The number of fingers presently detect by Current finger_motion_actions: ACTION_SEQUENCE [NATURAL_32, GAME_FINGER_EVENT] -- When a finger has been moved on Current, finger_state is used to get finger information -- (from GAME_TOUCH_DEVICE_EVENTS) require -- from GAME_TOUCH_DEVICE_EVENTS finger_motion_event_enable: events_controller.is_finger_motion_event_enable finger_released_actions: ACTION_SEQUENCE [NATURAL_32, GAME_FINGER_EVENT] -- When a finger has been released on Current, finger_state is used to get finger information -- (from GAME_TOUCH_DEVICE_EVENTS) require -- from GAME_TOUCH_DEVICE_EVENTS finger_released_event_enable: events_controller.is_finger_released_event_enable finger_touched_actions: ACTION_SEQUENCE [NATURAL_32, GAME_FINGER_EVENT] -- When a finger has been pressed on Current, finger_state is used to get finger information -- (from GAME_TOUCH_DEVICE_EVENTS) require -- from GAME_TOUCH_DEVICE_EVENTS finger_touch_event_enable: events_controller.is_finger_touched_event_enable finger_with_number (a_number: INTEGER_32): GAME_FINGER_STATE -- Retreive a snapshot of the finger state at a_number in fingers require number_strictly_positive: a_number > 0 fingers: ARRAYED_LIST [GAME_FINGER_STATE] -- A snapshot of the states of every finger that is applied on Current fingers_gesture_actions: ACTION_SEQUENCE [NATURAL_32, GAME_FINGERS_GESTURE] -- When a fingers simple gesture has been performed on Current, -- fingers_gesture is used to get the gesture informations -- (from GAME_TOUCH_DEVICE_EVENTS) require -- from GAME_TOUCH_DEVICE_EVENTS fingers_gesture_event_enable: events_controller.is_fingers_gesture_event_enable Game_library: GAME_LIBRARY_CONTROLLER -- The main controller of the game library -- (from GAME_LIBRARY_SHARED) generating_type: TYPE [detachable GAME_TOUCH_DEVICE] -- Type of current object -- (type of which it is a direct instance) -- (from ANY) ensure -- from ANY generating_type_not_void: Result /= Void generator: STRING_8 -- Name of current object's generating class -- (base class of the type of which it is a direct instance) -- (from ANY) ensure -- from ANY generator_not_void: Result /= Void generator_not_empty: not Result.is_empty has_error: BOOLEAN -- Is the library has generate an error -- (from GAME_ERROR_MANAGER) index: INTEGER_64 -- The unique internal identifier of Current is_events_running: BOOLEAN assign set_is_running -- Is Current active -- (from GAME_EVENTS) last_error: READABLE_STRING_GENERAL -- The last error generate by the library -- (from GAME_SDL_ANY) last_loaded_dollar_gesture_template: INTEGER_32 -- How many dollar gesture template has been load on the last -- call of the load_dollar_gesture_template feature -- (from GAME_DOLLAR_GESTURE_MANAGER) last_saved_dollar_gesture_template: INTEGER_32 -- How many dollar gesture template has been save on the last -- call of the save_dollar_gesture_template, -- save_all_dollar_gesture_template, append_dollar_gesture_template -- or append_all_dollar_gesture_template feature -- (from GAME_DOLLAR_GESTURE_MANAGER) load_dollar_gesture_template (a_filename: READABLE_STRING_GENERAL) -- Load in Current every dollar gesture templates -- inside the file located at a_filename -- Note: The unique hash returned by the record_dollar_gesture -- feature has to be saved on the client side. -- (from GAME_DOLLAR_GESTURE_MANAGER) require -- from GAME_DOLLAR_GESTURE_MANAGER file_is_readable: attached (create {RAW_FILE}.make_with_name (a_filename)) as la_file implies (la_file.exists and then la_file.is_access_readable) record_dollar_gesture -- Start a $1 gesture recording. The recording will be finish when a dollar_record_actions event -- will trigger. -- (from GAME_TOUCH_DEVICE_EVENTS) run_events -- Put Current active. -- (from GAME_TOUCH_DEVICE_EVENTS) require -- from GAME_EVENTS run_not_already_running: not is_events_running ensure -- from GAME_EVENTS is_running: is_events_running save_all_dollar_gesture_template (a_filename: READABLE_STRING_GENERAL) -- Save every dollar gesture templates loaded in the library -- inside the file located at a_filename. If it exists, the file will be -- overwrited. -- Note: The templates hashes are not saved in the file. You have to save -- them yourself for future utilisation -- (from GAME_DOLLAR_GESTURE_MANAGER) require -- from GAME_DOLLAR_GESTURE_MANAGER is_file_creatable: (create {RAW_FILE}.make_with_name (a_filename)).is_creatable save_dollar_gesture_template (a_hash: INTEGER_64; a_filename: READABLE_STRING_GENERAL) -- Save the dollar gesture templates identified by a_hash -- inside the file located at a_filename. If it exists, the file will be -- overwrited. -- Note: The a_hash is not saved in the file. You have to save it -- yourself for future utilisation -- (from GAME_DOLLAR_GESTURE_MANAGER) require -- from GAME_DOLLAR_GESTURE_MANAGER is_file_creatable: (create {RAW_FILE}.make_with_name (a_filename)).is_creatable set_is_running (a_value: BOOLEAN) -- Assign to is_running the value of a_value -- (from GAME_EVENTS) ensure -- from GAME_EVENTS is_assign: is_events_running ~ a_value stop_events -- Put Current innactive. -- (from GAME_TOUCH_DEVICE_EVENTS) require -- from GAME_EVENTS stop_is_running: is_events_running ensure -- from GAME_EVENTS is_stopped: not is_events_running feature -- Comparison frozen deep_equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void -- or attached to isomorphic object structures? -- (from ANY) ensure -- from ANY instance_free: class shallow_implies_deep: standard_equal (a, b) implies Result both_or_none_void: (a = Void) implies (Result = (b = Void)) same_type: (Result and (a /= Void)) implies (b /= Void and then a.same_type (b)) symmetric: Result implies deep_equal (b, a) frozen equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void or attached -- to objects considered equal? -- (from ANY) ensure -- from ANY instance_free: class definition: Result = (a = Void and b = Void) or else ((a /= Void and b /= Void) and then a.is_equal (b)) frozen is_deep_equal alias "≡≡≡" (other: GAME_TOUCH_DEVICE): BOOLEAN -- Are Current and other attached to isomorphic object structures? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY shallow_implies_deep: standard_is_equal (other) implies Result same_type: Result implies same_type (other) symmetric: Result implies other.is_deep_equal (Current) is_equal (other: GAME_TOUCH_DEVICE): BOOLEAN -- Is other attached to an object considered -- equal to current object? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY symmetric: Result implies other ~ Current consistent: standard_is_equal (other) implies Result frozen standard_equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void or attached to -- field-by-field identical objects of the same type? -- Always uses default object comparison criterion. -- (from ANY) ensure -- from ANY instance_free: class definition: Result = (a = Void and b = Void) or else ((a /= Void and b /= Void) and then a.standard_is_equal (b)) frozen standard_is_equal alias "≜" (other: GAME_TOUCH_DEVICE): BOOLEAN -- Is other attached to an object of the same type -- as current object, and field-by-field identical to it? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY same_type: Result implies same_type (other) symmetric: Result implies other.standard_is_equal (Current) feature -- Status report conforms_to (other: ANY): BOOLEAN -- Does type of current object conform to type -- of other (as per Eiffel: The Language, chapter 13)? -- (from ANY) require -- from ANY other_not_void: other /= Void same_type (other: ANY): BOOLEAN -- Is type of current object identical to type of other? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY definition: Result = (conforms_to (other) and other.conforms_to (Current)) feature -- Duplication copy (other: GAME_TOUCH_DEVICE) -- Update current object using fields of object attached -- to other, so as to yield equal objects. -- (from ANY) require -- from ANY other_not_void: other /= Void type_identity: same_type (other) ensure -- from ANY is_equal: Current ~ other frozen deep_copy (other: GAME_TOUCH_DEVICE) -- Effect equivalent to that of: -- copy (other . deep_twin) -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY deep_equal: deep_equal (Current, other) frozen deep_twin: GAME_TOUCH_DEVICE -- New object structure recursively duplicated from Current. -- (from ANY) ensure -- from ANY deep_twin_not_void: Result /= Void deep_equal: deep_equal (Current, Result) frozen standard_copy (other: GAME_TOUCH_DEVICE) -- Copy every field of other onto corresponding field -- of current object. -- (from ANY) require -- from ANY other_not_void: other /= Void type_identity: same_type (other) ensure -- from ANY is_standard_equal: standard_is_equal (other) frozen standard_twin: GAME_TOUCH_DEVICE -- New object field-by-field identical to other. -- Always uses default copying semantics. -- (from ANY) ensure -- from ANY standard_twin_not_void: Result /= Void equal: standard_equal (Result, Current) frozen twin: GAME_TOUCH_DEVICE -- New object equal to Current -- twin calls copy; to change copying/twinning semantics, redefine copy. -- (from ANY) ensure -- from ANY twin_not_void: Result /= Void is_equal: Result ~ Current feature -- Basic operations frozen default: detachable GAME_TOUCH_DEVICE -- Default value of object's type -- (from ANY) frozen default_pointer: POINTER -- Default value of type POINTER -- (Avoid the need to write p.default for -- some p of type POINTER.) -- (from ANY) ensure -- from ANY instance_free: class default_rescue -- Process exception for routines with no Rescue clause. -- (Default: do nothing.) -- (from ANY) frozen do_nothing -- Execute a null action. -- (from ANY) ensure -- from ANY instance_free: class feature -- Output Io: STD_FILES -- Handle to standard file setup -- (from ANY) ensure -- from ANY instance_free: class io_not_void: Result /= Void out: STRING_8 -- New string containing terse printable representation -- of current object -- (from ANY) ensure -- from ANY out_not_void: Result /= Void print (o: detachable ANY) -- Write terse external representation of o -- on standard output. -- (from ANY) ensure -- from ANY instance_free: class frozen tagged_out: STRING_8 -- New string containing terse printable representation -- of current object -- (from ANY) ensure -- from ANY tagged_out_not_void: Result /= Void feature -- Platform Operating_environment: OPERATING_ENVIRONMENT -- Objects available from the operating system -- (from ANY) ensure -- from ANY instance_free: class operating_environment_not_void: Result /= Void invariant -- from ANY reflexive_equality: standard_is_equal (Current) reflexive_conformance: conforms_to (Current) end -- class GAME_TOUCH_DEVICE
Generated by ISE EiffelStudio